Open MilkFather opened 4 years ago
ruby 包会引入 CJK 包,CJK 包与 xeCJK 冲突。暂时的解决方法是
%!TEX TS-program=xelatex
\documentclass{article}
\usepackage[UTF8]{ctex}
\ExplSyntaxOn
\ctex_at_begin_package:nn { ruby }
{ \tl_set:cn { ver@CJK.sty } { 9999/99/99 } }
\ctex_at_end_package:nn { ruby }
{ \cs_undefine:c { ver@CJK.sty } }
\ExplSyntaxOff
\usepackage{ruby}
\begin{document}
\ruby{四种脱氧核糖核苷酸}{AGCT}
\end{document}
这样能保证编译不出错。但是由于 CJK 包和 xeCJK 的实现不同,效果并不完全一致,长期目标是完全兼容 ruby。
感谢。这个workaround确实有用。
xe 下似乎可用 pxrubica
……希望将来能在 xpinyin
下扩展 ruby 功能
\documentclass{ctexart}
\usepackage{pxrubrica}
\begin{document}
\ruby{{四种脱氧核糖核苷酸}}{ACGT}
\end{document}
ctex包与cjk当中的ruby产生了冲突。使用的ctex包的版本为2.5.2 (4819efe),使用了 TeXLive 2020 (具体而言是XeLaTeX),操作系统为macOS 10.15。
如果同时引入ctex和ruby,XeLaTeX在编译文档时将会报错(LaTeX Error: Command \CJKglue already defined.)。如果文档中只含有英文,则报错后仍然可以生成可读的PDF文档;如果文档中含有中文字符,则无法生成文档。
以下是产生错误的一个例子:
这是对应的终端输出: