我正在写论文,想打印首字母缩略词列表。但是,对于那些我仅称之为缩写形式的缩略词(例如 CPU),超链接不会以颜色显示。对于那些“正常”称为缩写形式的缩略词,即其完整形式,首字母缩略词会正确显示。
这就是我想做的
\documentclass{book}
\usepackage{hyperref}
\usepackage[usenames,dvipsnames,table,xcdraw]{xcolor}
\hypersetup{
bookmarksnumbered=true,
plainpages=false,
pdfborder={0 0 0},
colorlinks,
breaklinks=true,
linkcolor=Sepia,
urlcolor=NavyBlue,
citecolor=Sepia,
}
\usepackage[printonlyused]{acronym}
\newcommand*\acronymname{Acronyms}
\newcommand*\acronymbiggest{zk-SNARK}
\newcommand*\acronymfile{acros.tex}
\def\printacronyms{%
\chapter*{\acronymname}
\begin{acronym}[\acronymbiggest] % the biggest acronym
\input{\acronymfile}
\end{acronym}
}
\title{}
\author{}
\date{}
\begin{document}
\printacronyms
Test
% \acf{CPU} % => The hyperlink is colored
% \acs{CPU} % => The hyperlink is NOT colored
\end{document}
在acros.tex
文件中,我有这一行\acro{CPU}{Central Processing Unit}
。
有人知道我该如何解决这个问题吗?提前谢谢
答案1
首字母缩略词会从列表创建指向首字母缩略词“主要”用途的链接。如果您只使用简短版本,它不知道该使用哪一个。您可以选择其中一个用途作为目标并手动放置标签:
\documentclass{book}
\usepackage{hyperref}
\usepackage{xcolor}
\hypersetup{colorlinks}
\usepackage[printonlyused]{acronym}
\makeatletter
\newcommand\ACplacelabel{\AC@placelabel}
\makeatother
\begin{document}
\begin{acronym}[MWE]
\acro{CPU}{Central Processing Unit} %linked
\acro{MWE}{Minimal Working Example} %no link
\end{acronym}
\acs{MWE}
\ACplacelabel{CPU}\acs{CPU} %
\end{document}