有没有适合中文输入习惯的markup language

目前比较主流的Markup language,Markdown, Org, ReST和AsciiDoc等,都是按照西方国家的书写习惯打 字 带 空 格。来设计的,对付中文的书写不免会有点水土不服。比如粗体斜体标记符号必须和上下文用空格分开,软硬换行后换行出多出空格等。

问一下大家有没有见过适合中文书写的轻量markup呢。目前我只见过一个texinfo,能比较好的处理上面我提出的这些情况。

2 个赞

自己hack下吧!

\input texinfo
@documentencoding UTF-8
@documentlanguage zh
@settitle 测试输入中文
If you want to seperate them

@c 下面一行将正常显示,不用在格式化符号之间插入空格
中文斜体@emph{斜体}中文粗体@strong{粗体}

English@emph{emphasize}English@strong{strong}

换行
应该合在一起

@c Be care of trailling space
If you want to seperate them 
Add space manually

@bye

其实texinfo的优势在于它不多管闲事,这样就相对好控制。而且Emacs对texinfo默认有很完备的快捷键。编辑起来不会很累

同感,我以前也抱怨过,HTML 合并行时也会加一个空格,各种 Markdown 等语言或实现时不时会要求加空格,或许一定程度能在 Parser 层面解决。

中文直接使用最终的格式比较可靠,比如 HTML、PDF、富文本格式(DOC)等。

texinfo已经很接近理想格式了,其实我就是觉得似乎没有静态页面生成器可以直接支持texinfo,有点不方便而已。另外就是texinfo似乎不能自定义@begin ... @end ...的macro,让我有一点点不爽

HTML 合并行加空格是 parser 的bug。最新的 CSS 草案已经有针对 CJK 文字的规定,但目前我只看到 Firefox 支持了。

https://9.obelus.net/2018/04/15/cjk-markdown-whitespace-and-newline.html

1 个赞

markdown 的粗体斜体标记不需要和上下文用空格隔开啊

真的吗真的吗真的吗

真的吗真的吗真的吗

真的吗***真的吗***真的吗

真的吗 真的吗 真的吗

这样解析是不是比较容易?用中文方式估计解析性能会下降很多啊