打开或关闭中文换行符

打开或关闭中文换行符

我正在排版一份中文文档,单词之间留有空格,以便于学习者阅读。因此,我排版的大部分文档的单词之间没有换行符。因为中文单词通常很短,所以这通常不会造成什么大问题。

但是,在我的文档的某些部分,我需要使用中文换行符,如 \XeTeXlinebreaklocale“zh”(或类似)所定义,以避免框过满。基本上,这些都是中文文本的常规段落,如果不启用此选项,它们根本不会中断。但是,这似乎是一个特定于文档的参数,我无法在文档的某些部分轻松更改。

关于如何解决这个问题,您有什么想法吗?

我在下面的评论中补充道,我想输入不带空格的中文文本,如“我喜欢学中文”,在这种情况下,换行符将使用中文语言环境,以及空格分隔的中文(非标准)“我喜欢学中文”,在这种情况下,单词中间不允许有换行符(或可能只允许非常高的容忍度)。

如果我仅打开 \XeTeXlinebreaklocale "zh"(或者我相信使用 CJK 包),所有单词将根据中文规则被断开,在这种情况下,我可能会将“我喜欢学中文”中的“中文”断开为两行。

答案1

如果您使用多段中文,请使用我们的xeCJK套餐。

如需完全中文文档,请使用我们的文档或捆绑包ctex。它基于xeCJK

我在之前的问题中已经解释过这个话题:

如何在 LaTeX 中输入中文?

当然要xeCJK解决断行问题。你不需要用\XeTeXlinebreaklocale;xeCJK并且xeCJK也不会改变\XeTeXlinebreaklocale


如果你使用,则不需要关心换行符区域设置

\XeTeXlinebreaklocale "zh"

据我所知,它与西方语言无关。同样,使用时xeCJK也不需要关闭它。非 CJK 文本将不受影响。使用xeCJK,可以更轻松地设置中文字体而无需更改西方文本,并且标点符号的效果会更好。

仅出于完整性考虑,我会说您可以使用\makexeCJKactive\makexeCJKinactive来打开和关闭的功能xeCJK

注意:与某些语言的软件包xeCJK不完全兼容。如果您遇到更多问题,请提出更多问题或与我联系。(我目前是 的主要维护者。)polyglossiaxeCJK


对于更新的问题,请参阅先前的问题:

如何使用 XeCJK 在韩语单词之间写空格?

您可以在中使用spacenospace选项xeCJK,以及\CJKspace\CJKnospace选项,就像CJK包中所做的那样。

我认为,即使你习惯在中文字符之间留有空格,也不建议抑制\CJKspace中文字符之间的换行符。如果你坚持,你可以改变\CJKglue空。你可以阅读的文件xeCJK如果您不确定选项和命令。

毕竟,一个例子:

\documentclass{article}
\usepackage{xeCJK}[2011/05/20]
\setCJKmainfont{SimSun}
\begin{document}
在普通文字之间没有空格
可以避免源代码折行造成
的问题。

\CJKspace
如果 需要 也 可以 保留 空格。
这 对于 汉语 分词 研究 或许 是 有益的。
\end{document}

相关内容