如何计算首字母缩略词的总数(\usepackage{acro} 和 \usepackage{xassoccnt})?

如何计算首字母缩略词的总数(\usepackage{acro} 和 \usepackage{xassoccnt})?

如何计算首字母缩略词的总数(\usepackage{acro} 和 \usepackage{xassoccnt})?

梅威瑟:

\documentclass{article}
\usepackage{xassoccnt}
\setlength{\parindent}{0cm}
\usepackage{acro}
\acsetup{
    %   first-style=long-short,
    first-style=footnote,
    list/display=used,
    format/short=\bf
}
%
\DeclareAcronym{usa}{
    short=USA,
    long=United States of America,
}
\DeclareAcronym{eu}{
    short=EU,
    long=European Union,
}
\DeclareAcronym{ussr}{
    short=USSR,
    long=Union of Soviet Socialist Republics,
}
%
\NewTotalDocumentCounter{totacro}
\preto\ac{%
    \stepcounter{totacro}
}
% 
\begin{document}

There are \TotalValue{totacro} acronyms in this document

\hrulefill

\ac{usa}, \ac{usa}

\ac{eu}, \ac{eu}

\ac{ussr}, \ac{ussr}

\hrulefill

\printacronyms[heading=none, sort]
\end{document}

我得到的结果:

在此处输入图片描述

正确结果:

3本文档中的缩略词

答案1

在您的示例中,修补\DeclareAcronym将产生预期的效果,但我认为其目的是跟踪使用的缩写词。

您可以遍历所有首字母缩略词\AcroAcronymsMap并使用\acroifused<TF>/\acroifsingle<TF>命令进行适当的过滤,例如

\AcroAcronymsMap{
  \acroifusedT{#1}{
    \stepcounter{totacro}
  }
}

这将对文档中该点的使用状态进行操作。如果您正在使用该选项,您可能也single希望对此进行门控。\acroifsingleF

您可以通过包文档中“25.3. 模板定义中要使用的命令”中记录的宏进一步优化它以进行过滤或使用其他首字母缩写词属性。

\documentclass{article}
\usepackage{xassoccnt}
\NewTotalDocumentCounter{totacro}

\usepackage{acro}
\acsetup{
    first-style=footnote,
    list/display=used,
    format/short=\bfseries,
}

\DeclareAcronym{usa}{
    short=USA,
    long=United States of America,
}
\DeclareAcronym{eu}{
    short=EU,
    long=European Union,
}
\DeclareAcronym{ussr}{
    short=USSR,
    long=Union of Soviet Socialist Republics,
}

\begin{document}
There are \TotalValue{totacro} acronyms in this document

\hrulefill

\ac{usa}, \ac{usa}

\ac{eu}, \ac{eu}

\ac{ussr}, \ac{ussr}

\hrulefill

\printacronyms[heading=none, sort]

\AcroAcronymsMap{
  \acroifusedT{#1}{
    \stepcounter{totacro}
  }
}
\end{document}

相关内容