Sem bordas de hiperlink para qualquer tipo de entrada de glossário, mas ainda hiperreferenciado

Sem bordas de hiperlink para qualquer tipo de entrada de glossário, mas ainda hiperreferenciado

Eu gostaria de ter o comportamento padrão do hyperref para todos os links, exceto os dos glossários: para eles, ainda deveriam ser links, mas sem bordas

Comecei a brincar com \hypersetup{linkbordercolor = white...opções mas quando vi que o \cref também foi impactado pelas opções link* tentei comandos mais específicos:

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

ou

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

Mas esses comandos de renovação não fazem nada

ATUALIZAR

Eu estava usando arquivos externos para entradas de glossários e, na verdade, eram siglas e não entradas regulares. Portanto, minha solução e a fornecida não estavam funcionando devido à mistura de siglas e entradas regulares. Finalmente encontrei uma solução que -espero- esteja correta; então, se você pudesse revisá-lo, eu agradeceria muito. Thx:

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

[...]

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

Responder1

Isso funciona imediatamente para mim - o agrupamento de \glsentryfmtnão requer uma redefinição da cor do linkborder após o \glslabeluso.

\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}

insira a descrição da imagem aqui

AtualizarUma versão que utiliza \thepagecolor(para o caso raro de cores de página não brancas)

\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}

informação relacionada