最近在旅行,網路時斷時續,電也時斷時續,今天看W32TeX的changelog的時候,發現更新了一個markdown包(支援plain/ConTeXt/LaTeX)。地址在:CTAN: Package markdown。這個包是可以在TeX Live裡面更新的,這個包所帶來的便利全是基於Lua的,所以有時候也會想LuaTeX還是有用處的,但前提是你的機器效能足夠的好,這樣用起來才不會慢。
實際上,也有用TeX來渲染DocBook以及Groff等等的項目。可以說,只要腦洞大,還肯寫代碼,隨便什麼排版語言幾乎都可以轉換為和TeX等價的形式。但是以前這種項目其實是不成熟的,其原因主要是所依賴的底層TeX技術的演化速度落後作業系統的演化大約有十幾年的原因。但是現在好了,TeX的底層技術在LuaTeX項目開始就開始高速演化(雖然帶來了數百個bug)。所以這裡面提到的這個Markdown包是可以使用的,而且是推薦使用。
熟知我挖坑曆史的人肯定可以翻到我以前給我的TeX加前端的事情,那個實現是很簡單的,用了現成的Markdown庫開做IO層級的translate,這種東西其實是很簡單的。但是這會造成一些樣式上的處理的不足,所以暫時擱淺了。在IO上做處理是非常必要的,比如我最近加進代碼裡面的注釋:
Reference: * https://www.microsoft.com/en-us/Typography/OpenTypeSpecification.aspx * https://developer.apple.com/fonts/TrueType-Reference-Manual/ Name Syntax (TODO): example: \jfont\t=ot:simsun.ttc[1]:upjisr-h at 20pt \jfont\t=ot:yumin.ttf;'kana',jp90:upjisr-h at 20pt
這種文法基本是這個月要發布的OpenType支援的文法樣式,在解析上,需要JFM檔案作為CCJK語言字型的代理系統,作用就是用來做標點處理的,因為我們的OpenType之中是沒有現成的控制標點以及上下文標點對的feature的,理論上是可以實現的,但是這種東西是沒人做的。上面的文法裡面,只會解析最後一個:之後的字串。這部分代碼就是在IO上做的。
好了,說完了。出去趕火車。
作者:李阿玲
連結:https://zhuanlan.zhihu.com/p/21319488
來源:知乎