![自 2011 年起,TeXLive 2012 下是否更改为 xeCJK?](https://linux22.com/image/258924/%E8%87%AA%202011%20%E5%B9%B4%E8%B5%B7%EF%BC%8CTeXLive%202012%20%E4%B8%8B%E6%98%AF%E5%90%A6%E6%9B%B4%E6%94%B9%E4%B8%BA%20xeCJK%EF%BC%9F.png)
从 2011 年春末开始,我在所有文档中定期使用几行代码,从而可以生成包含常规罗马文本、IPA 和所有(或几乎所有)Unicode CJK 平面的文档。下面的 MWE 说明了我一直在使用的 xeCJK 代码块:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage[fallback]{xeCJK}[2011/05/01] % ver 2.3.19
\setromanfont{TeX Gyre Termes}
\setsansfont[Scale=MatchLowercase]{Doulos SIL}
\setCJKmainfont{HAN NOM A}
\setCJKfallbackfamilyfont{rm}{HAN NOM B}
\begin{document}
Plain Roman script is here.
And some IPA: [\textsf{ɕy̆an₃₄ ʈʂʅ₄₄ jɵu̯₅₂ ɕy̆an₃₄}]
最後一句:玄之又
答案1
看来您使用的是 的最新版本 (SVN 4332) expl3
。因此请在线更新您的 TeX Live 2012 以使用 的最新版本 (3.1.0) xeCJK
。如果没有可用的更新,请将以下代码放入您的序言中。
\xeCJKsetup{CJKglue=\hspace{0pt plus .08 \baselineskip }}
这都是我的失误。我\c_zero_skip
在 的旧版本中用错了方法xeCJK
。但同时,实际上\c_zero_skip
是dim
的旧版本中的寄存器,expl3
而不是skip
它应有的寄存器。最新版本expl3
已更正了它。因此会引发错误。