连字符不适用于 hyperref 和 xeCJK(hyperref 不添加空格)

连字符不适用于 hyperref 和 xeCJK(hyperref 不添加空格)

hyperref加载时,LaTeX 会对拉丁文本进行连字。但hyperref加载后,此功能将停止工作。 在此处输入图片描述 在此处输入图片描述

有没有办法来解决这个问题?

\documentclass{scrbook}

\usepackage{xeCJK}
%\setCJKmainfont{SimSun}

\usepackage{natbib}
\bibliographystyle{unified}

\usepackage{hyperref}

\usepackage{filecontents}

\begin{filecontents}{bibliography.bib}
  @Book{          Grewendorf88a,
    address = {Tübingen},
    author  = {Günther Grewendorf},
    number  = {33},
    publisher   = {Gunter Narr Verlag},
    series  = {Studien zur deutschen Grammatik},
Langid = {german},
    title       = {{Aspekte der deutschen Syntax: Eine
    Rektions"=Bindungs"=Analyse}},
    year        = {1988}
}    \end{filecontents}


\begin{document}

除此除此除此之外,有些作者尝试将表中的中心语位置与特征值联系起来(如\citealp[52]{Grewendorf88a})。在德语中,带有介词和名词的结构,其中心语位于补语之前:

此除此除此之外,有些作者尝试将表中的中心语位置与特征值联系起来(如\citealp[52]{Grewendorf88a})。在德语中,带有介词和名词的结构,其中心语位于补语之前:

此除此之外,有些作者尝试将表中的中心语位置与特征值联系起来(如\citealp[52]{Grewendorf88a})。在德语中,带有介词和名词的结构,其中心语位于补语之前:


\bibliography{bibliography}
\end{document}

编辑: 我找到了差异和原因:未hyperref加载包时,cite 命令会在引用前产生一个空格。因此xeCJK会检测到一个单独的拉丁词并允许使用连字符。hyperref加载后,不会插入空格,也不会使用连字符。问题:两种情况不应该相同吗?有解决办法吗?CJK 检查中文/拉丁字符并在拉丁字符前插入空格。我猜是hyperref在名称周围添加了一个链接命令(例如示例中的 Grewendorf),因此 xeCJK 无法再看到拉丁字符。这是正确的吗?如果是这样,该怎么办?

相关内容