Eliminación de hiperreferencia para comandos con acrónimos destacados

Eliminación de hiperreferencia para comandos con acrónimos destacados

En el paquete de acrónimos, los comandos destacados \ac* y \acp* omiten el acrónimo de la lista de acrónimos con la opción "printonlyused". Mi problema es que las siglas insertadas de esta manera siguen siendo enlaces de hiperreferencia en archivos PDF creados con pdflatex. Me gustaría tener acrónimos sin enlaces si se insertan con los comandos destacados y, por lo tanto, no están en la tabla de acrónimos. ¿Cómo haría esto?

En el siguiente ejemplo, pdflatex crea tres páginas, una página ficticia 1, la tabla de acrónimos en la página 2 y dos acrónimos utilizados en la página 3. El primer acrónimo enlaza correctamente con la tabla de acrónimos. Sin embargo, el comando destacado también es una hiperreferencia. En mis pruebas, todos los comandos destacados produjeron enlaces de hiperreferencia a la página 1, que no tiene nada que ver con las siglas.

\documentclass{article}

\PassOptionsToPackage{printonlyused}{acronym}
\usepackage{acronym}
\usepackage{hyperref}

\begin{document}
the initial page

\newpage
the acronym page

\begin{acronym}
  \acro{AAA}{Aaa Abb Acc}
  \acro{TMN}{This Means Nothing}
\end{acronym}

\newpage
\ac{AAA}
\ac*{TMN}

\end{document}

Respuesta1

Para versiones destacadas de sus comandos , acronymllame a . \AC@starredtruePodemos usar esto para redefinir \AC@hyperlinky producir solo un hipervínculo si se usa una versión sin estrella. Sin hyperref \AC@hyperlinkesencialmente es lo mismo que \@secondoftwoy con hyperrefél es \letal \hyperlinkprincipio el documento. Esto significa que la redefinición debe hacerse con el \AtBeginDocumentgancho.

La siguiente definición permite \AC@hyperlinksu uso \@secondoftwoen versiones destacadas y \hyperlinken versiones no destacadas.

\documentclass{article}

\usepackage[printonlyused]{acronym}
\usepackage{hyperref}

\makeatletter
\AtBeginDocument{%
  \renewcommand*\AC@hyperlink{%
    \ifAC@starred
      \expandafter\@secondoftwo
    \else
      \expandafter\hyperlink
    \fi
  }%
}
\makeatother

\begin{document}
the initial page

\newpage
the acronym page

\begin{acronym}
  \acro{AAA}{Aaa Abb Acc}
  \acro{TMN}{This Means Nothing}
\end{acronym}

\newpage
\ac{AAA}
\ac*{TMN}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada