我尝试编译以下文档。如果我同时加载bidi
和hyperref
,Mittelbach 就不会被连字符连接。如果我注释掉其中一个,一切都会好起来。文件bst
在这里:http://celxj.org/downloads/unified.bst
\documentclass{scrbook}
\usepackage{natbib}
\bibliographystyle{unified}
\usepackage[hyphens]{url}
\urlstyle{same}
\usepackage{hyperref}
\usepackage{bidi}
\usepackage{filecontents}
\begin{filecontents}{SM.bib}
@book{GMS2013a,
Address = {Boston},
Author = {Frank Mittelbach and Michael Goossens},
Edition = {2},
Publisher = {Addison-Wesley},
Title = {The {\LaTeX} Companion},
Year = {2013}}
\end{filecontents}
\begin{document}
Xx There is a huge amount of packages that can be used for various purposes. \citet{GMS2013a} is a good
reference book.
\bibliography{SM}
\end{document}
答案1
更新2:Peter Breitenlohner 说道:
tex.web
解决方案可能是修改([40] Pre-hyphenation)中“潜在可连字符部分”的定义。
\hyphenation{first-word next-word last-word}
\showhyphens{start $ $firstword nextword nextword lastword$ $ end}
\bye
这似乎不是 bidi 的问题,而是 etex 的问题。尝试以下操作(不使用bidi
):
\documentclass{scrbook}
\usepackage{natbib}
\bibliographystyle{unified}
\usepackage[hyphens]{url}
\urlstyle{same}
\usepackage{hyperref}
%\usepackage{bidi}
\TeXXeTstate=1
\usepackage{filecontents}
\begin{filecontents}{SM.bib}
@book{GMS2013a,
Address = {Boston},
Author = {Frank Mittelbach and Michael Goossens},
Edition = {2},
Publisher = {Addison-Wesley},
Title = {The {\LaTeX} Companion},
Year = {2013}}
\end{filecontents}
\begin{document}
Xx There is a huge amount of packages that can be used for various purposes. \beginL\citet{GMS2013a}\endL{} is a good
reference book.
\bibliography{SM}
\end{document}
甚至一个更简单的例子:
\documentclass{scrbook}
\TeXXeTstate=1
\begin{document}
Xx There is a huge amount of packages that can be used for various purposes. \beginL Mittelbach \& Goossens\endL{} is a good
reference book.
\end{document}
另外,您在评论中所说的有关 bidi 手册和 hyperref 的内容与此无关。
更新:我已经向 e-tex 的作者报告了这个问题;希望他能解决这个问题。好吧,从我这边来说,除了等待他的回复之外,没有别的办法了。
答案2
TeXLive 源中已修复此问题。请参阅这次提交。因此请等待 texlive 2014 或从源代码构建 xetex。