自定义词汇表生成的首字母缩略词的首次使用

自定义词汇表生成的首字母缩略词的首次使用

我使用该包管理我的首字母缩略词glossaries。我的最小示例如下:

\documentclass[ngerman]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[acronym,shortcuts]{glossaries}
\makeglossaries

\begin{document}

\newacronym{max}{max.}{maximal}
\printglossary[type=\acronymtype]

Der \ac{max} Genuss (\textit{should be} maximale (max.) \textit{on first use})   \newline
Ein \ac{max} Genuss (\textit{should be} maximaler (max.) \textit{on first use})  \newline
Den \ac{max} Genuss (\textit{should be} maximalen (max.) \textit{on first use})  \newline
Der \ac{max} Genuss (maximale)

\end{document}

该缩写的基本形式是最大. 首次使用时glossaries输出基本形式 (缩写) = 最大 (max.)。遗憾的是,在德语中,你不能确定第一次使用时是否需要基本形式。因为的定义\newacronym等于

\newglossaryentry{⟨label ⟩}{type=\acronymtype, 
name={ ⟨abbrv ⟩}, 
description={⟨long ⟩}, 
text={⟨abbrv ⟩}, 
first={⟨long ⟩ (⟨abbrv ⟩)}, 
plural={⟨abbrv ⟩\glspluralsuffix}, 
firstplural={ long \glspluralsuffix\space (abbrv \glspluralsuffix)}, 
⟨key-val list ⟩} 

我可以重新定义参数⟨long ⟩的 -partfirst为所需的输出。在这个 MWE 中,它可以正常工作,因为我知道最大是第一个。但我的实际文件要大得多,而且我事先并不知道哪一个是第一个使用的修改。因此,在完成时,我必须搜索整个文档,看看所有首字母缩略词的第一次使用是否正确。

因此,我正在寻找一种方法来实现他的修改,例如最大,最大,最大,最大,...首次使用时且仅在首次使用时,如\acfirst{max}{way it is displayed if it's the first use}

我已经尝试处理这些user1, ... ,user6条目,但是这会修改每个用途,而不仅仅是第一次。

这个问题与这个,但不幸的是,这个问题不太容易解决。

答案1

这似乎有效:

\newcommand{\newacronymgerman}[6]{%
  \newacronym{#1}{#2}{\protect\gchoose{#3}{#4}{#5}{#6}}}
\newcommand{\acg}[2][N]{\csname choose#1\endcsname\ac{#2}\chooseN}
\newcommand{\chooseN}{\renewcommand\gchoose[4]{##1}}
\newcommand{\chooseA}{\renewcommand\gchoose[4]{##2}}
\newcommand{\chooseD}{\renewcommand\gchoose[4]{##3}}
\newcommand{\chooseG}{\renewcommand\gchoose[4]{##4}}
\newcommand{\gchoose}[4]{#1}

\newacronymgerman{<name>}{<abbrev>}{<Nom>}{<Akk>}{<Dat>}{<Gen>}

在第一个参数中输入首字母缩略词符号名称,在第二个参数中输入首字母缩略词,在其余四个参数中输入 Nominativ、Akkusativ、Dativ 和 Genitiv 的形式。然后,您可以使用

 \acg[<case>]{<name>}

其中<case>代表N(默认)、ADG我希望您也不需要复数形式。

相关内容