O que poderia dar errado se eu não usar * no meu comando \hyperref?

O que poderia dar errado se eu não usar * no meu comando \hyperref?

O manual Latex em wikibooks diz que você deve usar o \hyperrefcomando da seguinte forma:

We use \hyperref[mainlemma]{lemma \ref*{mainlemma} }.

Onde "mainlemma" é o nome do rótulo. Diz então:

Observe o * seguinte \refpara evitar hiperlinks aninhados.

Implementei esta linha no meu documento, uma vez com e outra sem *e não notei nenhuma diferença.

Então, qual poderia ser o mal em não usar o *?

Responder1

A questão principal é que sem usar a versão com estrela, o documento termina com um hiperlink aninhado. Como os visualizadores de PDF não possuem uma maneira consistente de lidar com hiperlinks aninhados, isso pode levar a resultados inesperados.

Para ilustrar isso, considere o MWE:

\documentclass{article}

\usepackage{hyperref}

\begin{document}

\section{Sample}
\label{sample}

\section{Another Sample}

\hyperref[sample]{section~\ref{sample}}

\end{document}

Neste okularé exibido como:

Ambos os hiperlinks em caixa

O uso de hidelinksou colorlinkspode parecer resolver isso:

\documentclass{article}

\usepackage[colorlinks]{hyperref}

\begin{document}

\section{Sample}
\label{sample}

\section{Another Sample}

\hyperref[sample]{section~\ref{sample}}

\end{document}

Nisto okularse parece com:

Links coloridos em vermelho

Mas se eu alterar okulara configuração de acessibilidade para que os links fiquem na borda, ele será exibido como

texto do link em vermelho ambos os links em caixa

Como os links internos e externos apontam para o mesmo local, os hiperlinks reais okularenviarão você para o mesmo local, mas podem confundir outros visualizadores de PDF. Se o link interno apontar para um local diferente do link externo, haverá ainda mais confusão. Isso pode acontecer quando \refé usado em um comando de seccionamento que termina no sumário.

Por exemplo:

\documentclass{article}

\usepackage[colorlinks]{hyperref}

\begin{document}

\tableofcontents

\section{Sample}
\label{sample}

\section{Another Sample Following on from section \ref{sample}}

\end{document}

Imagem do documento com índice

Agora, o índice tem um link aninhado, mas o destino desse link depende do visualizador de PDF e se você usou o formato PDF ou DVI para gerar seu documento. Se eu compilar pdflatexe depois visualizar o documento, okularse eu clicar no link interno, serei enviado para a seção 2, mas se eu visualizar o documento no evincelink interno, ele me enviará para a seção 1. Se eu construir o documento usando latex+ dvips+ ps2pdfo inverso acontece.

informação relacionada