頭字語 (\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}
得られた結果:
正しい結果:
がある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}