¿Cómo contar el número total de siglas (\usepackage{acro} & \usepackage{xassoccnt})?

¿Cómo contar el número total de siglas (\usepackage{acro} & \usepackage{xassoccnt})?

¿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:

ingrese la descripción de la imagen aquí

Resultado correcto:

Hay3acrónimos en este documento

Respuesta1

La aplicación de parches \DeclareAcronymtendrá 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 \AcroAcronymsMapy 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 singledesee 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}

información relacionada