CJK 间距突然不再起作用

CJK 间距突然不再起作用

一段时间以来,我一直在文档中成功使用 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。但这种修改并不合适,因为它没有在输入流中留下最大值或最小值的计算结果。它最终会破坏我们的工作。

相关内容