Keine Hyperlink-Grenzen für Glossareinträge aller Art, aber trotzdem hyperverwiesen

Keine Hyperlink-Grenzen für Glossareinträge aller Art, aber trotzdem hyperverwiesen

Ich möchte das Standardverhalten von Hyperref für alle Links außer denen aus Glossaren haben: Für sie sollten es immer noch Links sein, aber ohne Ränder

Ich begann mit den Optionen herumzuspielen \hypersetup{linkbordercolor = white..., aber als ich sah, dass \cref auch von den Link*-Optionen beeinflusst wurde, probierte ich spezifischere Befehle aus:

\renewcommand*{\glstextformat}[1]{\hypersetup{linkbordercolor  = white}{#1}\hypersetup{linkbordercolor  = black}}

oder

\renewcommand*{\glsentryfmt}{
\hypersetup{linkbordercolor  = white}\glshyperlink[\glsgenentryfmt]{\glslabel}\hypersetup{linkbordercolor  = black}%
}

Aber diese Erneuerungsbefehle bewirken nichts

AKTUALISIEREN

Ich habe externe Dateien für Glossareinträge verwendet und tatsächlich handelte es sich dabei um Akronyme, nicht um normale Einträge. Meine Lösung und die angegebene funktionierten also aufgrund der Mischung aus Akronymen und normalen Einträgen nicht. Ich habe schließlich eine Lösung gefunden, die – so hoffe ich – richtig ist. Wenn Sie sie also überprüfen könnten, wäre ich Ihnen sehr dankbar. Danke:

\usepackage[linkbordercolor={black}]{hyperref} 

[...]

\defglsentryfmt{% 
\ifglsacronym%
\hypersetup{linkbordercolor  = white}\glshyperlink[\glsgenacfmt]{\glslabel} %
\else
\hypersetup{linkbordercolor  = white}\glshyperlink[\glsgenentryfmt]{\glslabel}%
\fi
}

Antwort1

Dies funktioniert bei mir sofort – die Gruppierung \glsentryfmterfordert kein Zurücksetzen der Linkrahmenfarbe, nachdem \glslabelverwendet wurde.

\documentclass{article}

\usepackage{xcolor}
\usepackage[linkbordercolor={black}]{hyperref} 
\usepackage{cleveref}
\usepackage{glossaries}

\newglossaryentry{foo}{%
  name={Foo},
  description={A foobar}
}

\renewcommand*{\glsentryfmt}{%
  \hypersetup{linkbordercolor  = white}\glshyperlink[\glsgenentryfmt]{\glslabel}%
}

\makeglossaries

\begin{document}
\section{Foo} \label{FOO}

In \Cref{FOO} we saw that \gls{foo}

\clearpage

\printglossaries
\end{document}

Bildbeschreibung hier eingeben

AktualisierenEine Version, die \thepagecolor(für den seltenen Fall nicht-weißer Seitenfarben) verwendet

\documentclass{article}

\usepackage{xcolor}
\usepackage{pagecolor}
\usepackage[linkbordercolor={black}]{hyperref}
\usepackage{cleveref}
\usepackage{glossaries}

\newglossaryentry{foo}{%
  name={Foo},
  description={A foobar}
}


\makeatletter
\renewcommand*{\glsentryfmt}{%
  \hypersetup{linkbordercolor  = \thepagecolor}\glshyperlink[\glsgenentryfmt]{\glslabel}%
}
\makeatother

\makeglossaries

\begin{document}
\pagecolor{yellow}

\section{Foo} \label{FOO}

In \Cref{FOO} we saw that \gls{foo}

\clearpage

\printglossaries
\end{document}

verwandte Informationen