Автоматическое прерывание гиперссылки на знаках препинания

Автоматическое прерывание гиперссылки на знаках препинания

Как в приведенном ниже примере сделать так, чтобы гиперссылка, которая отображается как «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}

Это работает для команд latexthen dvipdf.

Редактировать: Странно, что компиляция с pdflatexтем же файлом не дает тот же результат. Вам нужно поместить эту строку

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

чтобы это работало.

Связанный контент