liuofficial 2020-02-22
参考资料:http://blog.sina.com.cn/s/blog_6ea58f530101aizw.html
功夫不负有心人,终于在经过艰苦卓绝的寻找之后,让我的Texpad实现了实时预览。此时的心情那叫一个澎湃:-)
先说一下我的解决方案(Texpad + CJK packages) Texpad是macos和ios上的一款LaTeX排版软件,这个软件的开发者基于TeX重写了一个TeX引擎,名为TexpadTeX,它的过人之处是做到了pdf实时预览,注意不是实时编译,速度相当之快~。CJK则是一款支持中日韩三国语言的包,我昨天一度认为CJK是一种过时的用法,现在的主流是xelatex+xeCJK,或者说CTeX。但是没想到这个包和Texpad擦出了别样的火花。
不多说了,看效果:
可见对中文的反应速度是相当快的。
文章到这里貌似应该结束了,只不过是一个好用的软件加上一串代码:
\documentclass{article} \usepackage{CJKutf8} \begin{document} \begin{CJK}{UTF8}{gbsn} 这是一个CJK例子,使用了UTF-8编码和gbsn字体。 \end{CJK} \end{document}
那为什么会我会花了这么久才找到解决方案呢? “TEX 是基于单字节编码的,因为 Knuth 当初开发 TEX 时没考虑那么远,也没有现成的标准可以借鉴。” 这就导致各种TeX编译引擎对中文的支持一言难尽,这也是ctex,xelatex出现的原因。在我使用的Texpad上,假如用常见的中文支持手段会发生什么呢?
手段1:调用ctex包,或者使用ctex内置的文档类
\documentclass[UTF8]{ctexart} \begin{document} 这是一个CTEX的utf-8编码例子,{\kaishu 这里是楷体显示},{\songti 这里是宋体显示},{\heiti 这里是黑体显示},{\fangsong 这里是仿宋显示}。 \end{document}
将会报错:
当前使用的引擎--实时预览引擎Texpadtex不支持ctex,实时预览梦破灭。
手段2:使用xeCJK包。
\documentclass{article} \usepackage{xeCJK} \setCJKmainfont{SimSun} \begin{document} 中文 \LaTeX 示例。 \end{document}
报错没有找到xeCJK.sty文件,我分析后认为不是少了这个文件这么简单。再加上xeCJK文档里有这么一句话,只支持xeLaTeX,实时预览梦再度破灭。
没有第三个手段了。值得一提的是对于这两个手段,假如在texpad中设置外置编译器为xelatex,仍可以完美运行。只不过实现不了实时预览,仅仅是auto保存,闲时编译预览而已。
你可能觉得只要这个开发商多提供一些对中文的支持就行了,我们就能用自己熟悉的手段调用中文了。遗憾的是我在这个软件提供的补充bundle里没有找到好的中文支持,而且在大陆地区下载很慢。只希望对中文的支持能够后续跟进吧。