在我的序言中,我调用xeCJK
和ruby
来为日文字符添加注音文本。我正在使用进行编译xetex
。
有人在之前的帖子中提到过该ruby
调用CJK
会导致编译错误(但文档看起来不错)。
我该如何避免这种情况?的文档xeCJK
是用中文写的,所以我看不懂,也找不到的ruby
文档(虽然有很多关于编程语言的内容)。
在我们继续之前,这里是所要求的 MWE。
\documentclass{article}
\usepackage{ruby}
\usepackage{xeCJK}
%\setCJKmainfont{MS Mincho}
%\setCJKsansfont{MS Gothic}
%\setmainfont{Times New Roman}
%\setsansfont{Calibri}
\begin{document}
%\ruby{日}{に}\\
%\ruby{本}{hon}\\
%語\\
Latin text.\\
\textsf{Latin text.}
\end{document}
注释在那里,这样您就可以尝试一下,看看错误是否会根据不同类型的输入而改变。
我收到的第一个错误(带有注释)是:
"xparse/command-already-defined"! See the LaTeX3 documentation for further information.
xeCJK
交换和的顺序ruby
不会产生错误!为什么?
有没有比ruby
这更好的方案绝不是否存在冲突,xeCJK
或者选择更不容易出错的包?
答案1
您可以通过加载 ruby 来避免错误后xecjk。
请注意,这是作弊行为:你只是阻止 xecjk探测您正在加载 cjk。您很可能会遇到其他冲突 —— ruby 和 cjk 不是为 xelatex 编写的。但如果您按照此答案所示调整 \ruby 命令,它可能会起作用:https://tex.stackexchange.com/a/178858/2388