如何设置acro包中printacronyms页面列的宽度

如何设置acro包中printacronyms页面列的宽度

我使用 acro 包来管理缩写和其他符号。因此,我为这些首字母缩略词定义了一个类,并希望以图形列表的样式为每个类创建一个列表。

我面临的问题是,页数太多,导致首字母缩略词列表中的水平框溢出。此列的宽度似乎可以很好地处理两位数的数字,但之后就太小了。我找到了选项 list-short-width 来调整缩写的大小,但找不到类似的页面选项。

我的问题是:如何调整列表中此列的大小?

该问题至少在 acro v2.8 和 v2.9 中重现过。重现该问题的最小工作示例是:

\documentclass[a4paper]{article}
%\usepackage[version=2]{acro} % Use this for newer versions of acro
\usepackage{acro}

\acsetup{
  list-short-width = 4.2em,
  list-style = lof,
  macros = true,
  xspace = true,
  pages = first,
  page-style=plain
}

\newcommand{\listofabbreviations}[1][List of Abbreviations]{\printacronyms[include-classes=abbrev,name=#1]}

\newcommand{\abbr}[3]{
\DeclareAcronym{#1}{
  short = #2 ,
  long  = #3 ,
  first-style=default ,
  class = abbrev
}}

\abbr{FA}{FA}{First Abbreviation}
\abbr{ABCDE}{ABCDE}{My Abc Song}
\abbr{AO}{AO}{Alpha and Omega}

\begin{document}
\FA
\newpage
\setcounter{page}{42}
\ABCDE
\newpage
\setcounter{page}{999}
\AO
\newpage 

\listofabbreviations

\end{document} 

这将导致 Overfull \hbox (6.72215pt too wide) detected at line 40

问题截图

这个问题类似于同样未得到解答的页边距标有避免页码的缩略词列表(acro 包),尽管并不完全相同。

答案1

lof在 的列表样式中acro(2.x 和 3.x 版本),条目都以 书写\@dottedtocline。表格列表和图形列表也使用 来表示其条目。 以的宽度\@dottedtocline设置页码。\hbox\@pnumwidth

该类article定义

\newcommand\@pnumwidth{1.55em}

所以你需要做的就是选择一个更大的值。使用

\makeatletter
\renewcommand*\@pnumwidth{1.8em}
\makeatother

我明白了

在此处输入图片描述

相关内容