如何计算首字母缩略词的总数(\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}