让超链接在标点符号处自动断开

让超链接在标点符号处自动断开

在下面的例子中,如何让打印为“doi:10.2307/1968102”的超链接在任何标点符号处自动中断,即:,. 或 /?

注意:我正在直接从 .tex 文件编译为 PDF,因此该breakurl包不起作用。

\documentclass{article}

\usepackage{hyperref}
\urlstyle{same}

\begin{document}

\begin{thebibliography}{9}

\bibitem{1}
N. Wiener, \emph{Tauberian theorems}, Ann. of Math. (2) \textbf{33} (1932),
\href{http://dx.doi.org/10.2307/1968102}{doi:10.2307/1968102}.

\end{thebibliography}

\end{document}

编辑:好的,看来如果我应用\nolinkurl到的第二个参数\href,我就会得到我想要的行为:

\documentclass{article}

\usepackage{hyperref}
\urlstyle{same}

\begin{document}

\begin{thebibliography}{9}

\bibitem{1}
N. Wiener, \emph{Tauberian theorems}, Ann. of Math. (2) \textbf{33} (1932),
\href{http://dx.doi.org/10.2307/1968102}{\nolinkurl{doi:10.2307/1968102}}.

\end{thebibliography}

\end{document}

答案1

breakurl套餐可解决您的问题

\documentclass{article}

\usepackage{hyperref}
\usepackage{breakurl}
\begin{document}

\begin{thebibliography}{9}

\bibitem{1}
N. Wiener, \emph{Tauberian theorems}, Ann. of Math. (2) \textbf{33} (1932),
\renewcommand\UrlFont{\rmfamily}
\burlalt{http://dx.doi.org/10.2307/1968102}{doi:10.2307/1968102}.
\href{http://dx.doi.org/10.2307/1968102}{doi:10.2307/1968102}.

\end{thebibliography}

\end{document}

这对于latexthendvipdf命令有效。

编辑: 奇怪的是,使用pdflatex同一个文件进行编译不会产生相同的输出。你必须把这一行

\burlalt{doi:10.2307/1968102}{http://dx.doi.org/10.2307/1968102}

使其工作。

相关内容