![连字符不适用于 hyperref 和 xeCJK(hyperref 不添加空格)](https://linux22.com/image/374882/%E8%BF%9E%E5%AD%97%E7%AC%A6%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20hyperref%20%E5%92%8C%20xeCJK%EF%BC%88hyperref%20%E4%B8%8D%E6%B7%BB%E5%8A%A0%E7%A9%BA%E6%A0%BC%EF%BC%89.png)
未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 无法再看到拉丁字符。这是正确的吗?如果是这样,该怎么办?