目前比较主流的Markup language,Markdown, Org, ReST和AsciiDoc等,都是按照西方国家的书写习惯打 字 带 空 格。来设计的,对付中文的书写不免会有点水土不服。比如粗体斜体标记符号必须和上下文用空格分开,软硬换行后换行出多出空格等。
问一下大家有没有见过适合中文书写的轻量markup呢。目前我只见过一个texinfo,能比较好的处理上面我提出的这些情况。
目前比较主流的Markup language,Markdown, Org, ReST和AsciiDoc等,都是按照西方国家的书写习惯打 字 带 空 格。来设计的,对付中文的书写不免会有点水土不服。比如粗体斜体标记符号必须和上下文用空格分开,软硬换行后换行出多出空格等。
问一下大家有没有见过适合中文书写的轻量markup呢。目前我只见过一个texinfo,能比较好的处理上面我提出的这些情况。
自己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
markdown 的粗体斜体标记不需要和上下文用空格隔开啊
真的吗真的吗真的吗
真的吗真的吗真的吗
真的吗***真的吗***真的吗
真的吗 真的吗 真的吗
这样解析是不是比较容易?用中文方式估计解析性能会下降很多啊