¿Cómo contar el número total de siglas (\usepackage{acro} & \usepackage{xassoccnt})?
MWE:
\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}
El resultado que obtengo:
Resultado correcto:
Hay3acrónimos en este documento
Respuesta1
La aplicación de parches \DeclareAcronym
tendrá el efecto deseado en su ejemplo, pero supongo que el objetivo es realizar un seguimiento de las siglas utilizadas.
Puede iterar sobre todos los acrónimos \AcroAcronymsMap
y utilizar los comandos \acroifused<TF>
/ \acroifsingle<TF>
para filtrar según corresponda, por ejemplo
\AcroAcronymsMap{
\acroifusedT{#1}{
\stepcounter{totacro}
}
}
que funcionará en el estado usado en ese punto del documento. Si está utilizando la opción, probablemente también single
desee bloquear esto .\acroifsingleF
Puede refinar esto aún más para filtrar o usar otras propiedades de acrónimo a través de las macros documentadas en "25.3. Comandos que se usarán en definiciones de plantilla" en la documentación del paquete.
\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}