В руководстве Latex на wikibooks говорится, что команду следует использовать \hyperref
следующим образом:
We use \hyperref[mainlemma]{lemma \ref*{mainlemma} }.
Где "mainlemma" — это имя метки. Затем он говорит:
Обратите внимание на
*
after\ref
, чтобы избежать вложенных гиперссылок.
Я реализовал эту строку в своем документе, один раз с , а другой без , *
и не заметил никакой разницы.
Так какой же вред может быть в том, чтобы не использовать *
?
решение1
Ключевая проблема в том, что без использования версии со звездочкой документ оказывается с вложенной гиперссылкой. Поскольку просмотрщики PDF не имеют единого способа работы с вложенными гиперссылками, это может привести к неожиданным результатам.
Чтобы проиллюстрировать это, рассмотрим MWE:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\section{Sample}
\label{sample}
\section{Another Sample}
\hyperref[sample]{section~\ref{sample}}
\end{document}
В okular
этом отображается как:
Использование hidelinks
or colorlinks
может, по-видимому, решить эту проблему:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\begin{document}
\section{Sample}
\label{sample}
\section{Another Sample}
\hyperref[sample]{section~\ref{sample}}
\end{document}
Выглядит это okular
примерно так:
Но если я изменю okular
настройки доступности так, чтобы ссылки были рамочными, то они будут отображаться как
Поскольку и внутренняя, и внешняя ссылки указывают на одно и то же место, фактические гиперссылки в okular
отправят вас в одно и то же место, но это может сбить с толку других пользователей, просматривающих PDF. Если внутренняя ссылка указывает на другое место, чем внешняя ссылка, то путаницы будет еще больше. Это может произойти, когда \ref
используется в команде секционирования, которая попадает в оглавление.
Например:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\begin{document}
\tableofcontents
\section{Sample}
\label{sample}
\section{Another Sample Following on from section \ref{sample}}
\end{document}
Теперь в оглавлении есть вложенная ссылка, но куда эта ссылка вас приведет, зависит от просмотрщика PDF и от того, использовали ли вы формат PDF или DVI для создания документа. Если я скомпилирую с помощью pdflatex
и затем просматриваю документ с помощью , okular
если я нажму на внутреннюю ссылку, я буду отправлен в раздел 2, но если я просматриваю документ во evince
внутренней ссылке, я буду отправлен в раздел 1. Если я создам документ с помощью latex
++ dvips
, ps2pdf
произойдет обратное.