![Никаких границ гиперссылок для любых видов записей глоссариев, но все равно гиперссылки](https://rvso.com/image/328836/%D0%9D%D0%B8%D0%BA%D0%B0%D0%BA%D0%B8%D1%85%20%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%20%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA%20%D0%B4%D0%BB%D1%8F%20%D0%BB%D1%8E%D0%B1%D1%8B%D1%85%20%D0%B2%D0%B8%D0%B4%D0%BE%D0%B2%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B5%D0%B9%20%D0%B3%D0%BB%D0%BE%D1%81%D1%81%D0%B0%D1%80%D0%B8%D0%B5%D0%B2%2C%20%D0%BD%D0%BE%20%D0%B2%D1%81%D0%B5%20%D1%80%D0%B0%D0%B2%D0%BD%D0%BE%20%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8.png)
Я хотел бы иметь поведение hyperref по умолчанию для всех ссылок, за исключением ссылок из глоссариев: для них они должны оставаться ссылками, но без границ.
Я начал экспериментировать с \hypersetup{linkbordercolor = white...
параметрами, но когда увидел, что на \cref также влияют параметры link*, я попробовал более конкретные команды:
\renewcommand*{\glstextformat}[1]{\hypersetup{linkbordercolor = white}{#1}\hypersetup{linkbordercolor = black}}
или
\renewcommand*{\glsentryfmt}{
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenentryfmt]{\glslabel}\hypersetup{linkbordercolor = black}%
}
Но эти renewcommands ничего не делают
ОБНОВЛЯТЬ
Я использовал внешние файлы для записей глоссариев, и на самом деле это были аббревиатуры, а не обычные записи. Поэтому мое решение и то, что было дано, не работали из-за смеси аббревиатур и обычных записей. Я, наконец, нашел решение, которое, я надеюсь, является правильным; так что если бы вы могли его просмотреть, я был бы очень признателен. Спасибо:
\usepackage[linkbordercolor={black}]{hyperref}
[...]
\defglsentryfmt{%
\ifglsacronym%
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenacfmt]{\glslabel} %
\else
\hypersetup{linkbordercolor = white}\glshyperlink[\glsgenentryfmt]{\glslabel}%
\fi
}
решение1
У меня это работает сразу после установки — группировка \glsentryfmt
не требует сброса цвета рамки ссылки после \glslabel
использования.
\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}
ОбновлятьВерсия, которая использует \thepagecolor
(для редких случаев небелых цветов страницы)
\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}