Acro:如何覆盖缩写列表中提到的页面?

Acro:如何覆盖缩写列表中提到的页面?

我正在使用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}

相关内容