一段时间以来,我一直在文档中成功使用 CJK 脚本,但今天它突然无法正常工作。我今天通过 TeX Live 更新了一些软件包,最近我重新安装了我经常使用的 CJK 字体。但是,即使我切换到我从未接触过且之前运行良好的 CJK 字体(如下例所示),它也无法正确编译。问题在于 CJK 标点符号后面的间距;根据字体的不同,空格要么变成带有黑色边框的白色方框,要么显示为 XX.XXpt(其中 X 是数字)。有人知道我做错了什么吗?非常感谢!
文档:
\documentclass[utf8,12pt,letterpaper]{report}
\usepackage{setspace}
\usepackage{xltxtra}
\usepackage[fallback]{xeCJK}
\usepackage{fontspec}
\usepackage{xeCJK}
\setmainfont[Ligatures={Common,TeX},Numbers={OldStyle}]{LinLibertineO}
\setCJKmainfont{HanaMinA}
\setCJKfallbackfamilyfont{\CJKrmdefault}{NanumMyeongjo}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
\usepackage[french,german,american]{babel}
\usepackage{csquotes}
\title{Title}
\author{Author}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
Some English, with punctuation.
試試,寫一點中文。可不可以?不性啦。
\end{document}
日志包含以下内容:
Overfull \hbox (65.9998pt too wide) in paragraph at lines 24--26
\EU1/HanaMinA(0)/m/n/12 ÂØ´ ‰∏Ä Èªû ‰∏≠ Êñá„ÄÇ| minus4.0082pt ÂèØ ‰∏ç ÂèØ ‰ª•Ôº
ü| minus1.58507pt
这和它有关系吗?
我读完了整个日志,但没有看到任何/错误/消息,而且我认为它太长了,不适合在这里发布。
我将非常感激任何能得到的帮助。
答案1
realscripts
该问题是由 加载的包引起的xltxtra
。包末尾有以下一些代码realscripts
。
% Until these are available in expl3:
% \begin{macrocode}
\cs_set:Nn \dim_max:nn {
\dim_compare:nTF {#1>#2} {#1} {#2}
}
\cs_set:Nn \dim_min:nn {
\dim_compare:nTF {#2>#1} {#1} {#2}
}
% \end{macrocode}
和\dim_max:nn
都是\dim_min:nn
在 expl3 中以前就有的。它们再次被重新定义realscripts
。但这种修改并不合适,因为它没有在输入流中留下最大值或最小值的计算结果。它最终会破坏我们的工作。