pdflatex、CJKutf8 和 hyperref 包中的“额外 \else”以及 \nolinkurl 内的汉字

pdflatex、CJKutf8 和 hyperref 包中的“额外 \else”以及 \nolinkurl 内的汉字

我正在尝试排版一个包含假设的 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}但是渲染是错误的:

<code>{\global\let}{\global\let}.示例</code>

有人可以建议一个解决方法吗?

注意:因为该文档最终可能会出现在 arXiv 上,所以 lualatex 不是一个选项,我只能使用经典的 pdflatex。

相关内容