如何計算首字母縮寫的總數(\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}

相關內容