我正在尝试排版一个包含假设的 IDN 域名(包含汉字和/或假名)的文档。我收到! Extra \else
来自 CJK 包的 Unicode 字符宏定义内部的错误。我设法将其缩减为以下测试用例:
\documentclass{article}
\usepackage{hyperref}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{song}
\nolinkurl{日本.example}
\end{CJK}
\end{document}
⟶
! Extra \else.
\CJK@XXX ...}\expandafter \CJK@ignorespaces \else
\csname u8:\string #1\stri...
l.7 \nolinkurl{日本.example}
?
这是使用 TeX Live 2020(pdfTeX 3.14159265-2.6-1.40.21、LaTeX2e <2020-02-02> 补丁级别 5、CJK 2015/04/18 4.1.4)的。
\usepackage{CJK}
如果我改为,错误就会消失,\usepackage{CJKutf8}
但是渲染是错误的:
有人可以建议一个解决方法吗?
注意:因为该文档最终可能会出现在 arXiv 上,所以 lualatex 不是一个选项,我只能使用经典的 pdflatex。