我在用着
\definecolor{citeC}{rgb}{0.00,0.32,0}
\definecolor{refC}{rgb}{0,0,0.75}
\usepackage[pdftex,colorlinks=true,urlcolor=refC,linkcolor=refC,citecolor=citeC]{hyperref}
\usepackage[acronym,nonumberlist]{glossaries}
对于我的首字母缩略词。当我定义一个示例首字母缩略词时,即
\newacronym{UBL}{UBL}{Urban Boundary Layer}
然后第一次使用它
\gls{UBL}
这将创建如下超链接
它从整个单词“城市边界层”和首字母缩略词“(UBL)”链接。是否有可能只从首字母缩略词本身进行链接?例如:
我希望我的链接有颜色,但我不想整个单词都有颜色。所以我认为最好的方法是从首字母缩略词的第一部分中删除超链接?我该怎么做?
答案1
最简单的方法是使用glossaries-extra
扩展包。如果nohyperfirst
设置了该属性,这将在第一次使用时关闭超链接。long-postshort-user
然后可以使用缩写样式,将短部分放在超链接中(\glsxtruserparen
仅在第一次使用时使用,将短部分放在括号中)。后续使用行为正常。
梅威瑟:
\documentclass{article}
\usepackage{color}
\definecolor{refC}{rgb}{0,0,0.75}
\usepackage[colorlinks,linkcolor=refC]{hyperref}
\usepackage[acronym,nonumberlist]{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-postshort-user}
\glssetcategoryattribute{acronym}{nohyperfirst}{true}
\renewcommand*{\glsxtruserparen}[2]{%
\glsxtrfullsep{#2}% space between long part and parenthetical material
(\glshyperlink[#1]{#2})%
}
\newacronym{UBL}{UBL}{Urban Boundary Layer}
\begin{document}
First: \gls{UBL}.
Next: \gls{UBL}.
\printglossaries
\end{document}
(如果您收到未定义的缩写样式或未定义的控制序列错误,则需要更新您的版本glossaries-extra
。)