我正在使用Acro v3.5包用于我的 LaTeX 文件,以在文档开头创建缩写列表。在此列表中,我包括每个缩写的第一次出现(包含超链接)。但是,我想将列表中显示的页面更改为解释缩写的页面,而不是第一次出现。
我找不到任何选项来覆盖包装手册,而只发现 pages/display 的可用选项为第一的,全部或者没有任何(手册中的第 10.2 节)。有人知道是否有办法覆盖 Acro 生成的缩写列表中显示的页面吗?
我添加了一个如下所示的 MWE。在这里,您可以看到生成了一个文件,其中首字母缩略词列表中引用了第 1 页,但是,我希望将其更改为第 2 页。需要注意的是,我使用的是 Overleaf,因此我不确定这是否会在当前状态下通过任何编译器运行。提前谢谢您!
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{acro}
\usepackage{lipsum}
\usepackage[hidelinks]{hyperref}
%acro setup
\acsetup{
make-links = true ,
pages / display = first ,
pages / name = true ,
short-plural-ending = {}
}
%Assigning the acronym to be used with \ac
\DeclareAcronym{DLS}{
short = DLS ,
long = Dynamic Light Scattering
}
\begin{document}
\chapter*{List of Abbreviations}
The following lists define the various abbreviations and symbols used throughout the thesis. The page where the acronym is first used or defined is provided as well.
\printacronyms[name=Abbreviations , heading=section* , template=toc]
\setcounter{page}{0}
\chapter{Introduction}
\textbf{\Ac{DLS} is a very useful technique. Its properties are further explained in section 1.1.}
\lipsum
\section{DLS}
\textbf{\Acf{DLS} works as following:} \lipsum[2]
\end{document}
答案1
您可以定义列表模板使用特定的标签而不是第一页,如下所示,检查标签是否ac:<ID>
存在,如果是,则用于\pageref
标记的页面 - 当然您必须将标签`ac:放在您想要引用的页面上:
\ifcsname r@ac:\AcronymID\endcsname
\pageref{ac:\AcronymID}%
\else
\acropages{}{}%
\fi
如果不存在标签,模板仍使用首字母缩略词的第一页。
这是一个完整的例子:
\documentclass{report}
\usepackage{acro}
\usepackage{lipsum}
\DeclareAcronym{DLS}{
short = DLS ,
long = Dynamic Light Scattering
}
\RenewAcroTemplate[list]{toc}{%
\acroheading
\acropreamble
\acronopagerange
\acroneedpages
\acronymsmapF{%
\contentsline{chapter}{\acrowrite{short}}{}{}
\contentsline{section}{%
\acrowrite{list}%
\acroifanyT{foreign,extra}{ (}%
\acrowrite{foreign}%
\acroifallT{foreign,extra}{, }%
\acrowrite{extra}%
\acroifanyT{foreign,extra}{)}%
}{%
\ifcsname r@ac:\AcronymID\endcsname
\pageref{ac:\AcronymID}%
\else
\acropages{}{}%
\fi
}{}%
}{\AcroRerun}%
}
\begin{document}
\chapter*{List of Abbreviations}
The following lists define the various abbreviations and symbols used
throughout the thesis. The page where the acronym is first used or defined is
provided as well.
\printacronyms[name=Abbreviations , heading=section* , template=toc]
\setcounter{page}{0}
\chapter{Introduction}
\textbf{\Ac{DLS} is a very useful technique. Its properties are further
explained in section~\ref{sec:dls}.}
\lipsum
\section{DLS}\label{sec:dls}
\textbf{\Acf{DLS} works as following:}\label{ac:DLS} \lipsum[2]
\end{document}