我正在用德语写一篇论文,不知道如何让词汇表为我服务。德语中有 4 种不同的格,根据我想要使用的性别、格、单数/复数和定/不定形式的组合,我必须使用不同形式的名词和形容词。我的问题基本上是,如何定义在首字母缩略词列表中使用的标准形式,但对长形式(在第一次使用首字母缩略词的地方)使用语法正确的形式?
我已经进行了很多小时的研究和反复试验,但还没有完全实现我想要的结果。这里描述了一个原则:自定义词汇表生成的首字母缩略词的首次使用我喜欢这个想法,但不幸的是,如果我只使用名词作为首字母缩略词的基础,那么这很容易,因为那样我只有四种不同的形式。如果我使用形容词和名词的组合,我会得到非常多的形式,这意味着在首字母缩略词列表中定义所有这些形式需要做大量工作。
另一项提议(见在其他语言中使用词汇表包。) 是使用\glslink
或\glsdisp
并在使用首字母缩略词的所有地方定义其形式。虽然这很简单,但它并没有像我希望的那样工作,因为它只显示长格式,而且似乎没有设置“首次使用”标志。
我实际上正在考虑一种与第二个建议非常相似的方法,但是使用\gls
,因此它将在第一次使用时显示短格式和长格式,之后只显示长格式。我已经尝试根据自己的需要修改第一个示例,但我并不完全理解那里的所有命令,所以我很困惑。
为了说明起见,我想要的是类似这样的东西:\gls{<label>}{<apperance at this point in the text as long form in case of first use>}
编辑:这是我发布的第二个链接中的示例:
\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>}
现在我想将其更改为在输入时不使用任何预定义 (Nom、Akk、Dat、Gen) 形式,\acg
而是在文本中使用它的地方将实际形式作为参数给出\acg
。它实际上应该非常简单,但由于我不理解示例中的所有命令(即使经过数小时的查找),我无法自己完成。
编辑:
一个例子是:
- 我有点老了r曼恩。(我是个老人。)
- 我是老人的丈夫。 (我是那位老人。)
- 我看到老女人n曼恩西文。(我看到了老人的妻子。)
- 我给了他nMann ein Buch。(我给老人一本书。)
- 我们是老男人。 (我们都是老人。)
- 你是老女人nMänner。(你们是老男人的妻子。)
- 我住在老地方n方式n我的书。 (我把我的书送给了老人家)。
另一个例子:
- 这是一条小路s善良。(这是个小孩。)
- 这就是小种类。 (这是小孩子。)
- 小头发的颜色n种类西文ist braun。(孩子的头发是棕色的。)
- 我爱你们nKind ein Buch vor。(我给孩子读一本书。)
- 我们是小孩子。 (我们都是小孩子。)
- 我们是小nKinder。(我们是小孩子。)
- 这是小头发rKinder。(这是小孩子的头发颜色。)
- 我很小n金德nein Buch vor.(我给小孩子们读一本书。)
在这些情况下,我仅列出了“alter Mann”(阳性)和“kleines Kind”(中性)需要不同后缀形式的情况。在这两种情况下,不同形式已经因情况而异,而对于阴性词,还会有其他形式。
在这个特定情况下(第一个示例),我希望在我的词汇表中使用“alter Mann”,但在文本中使用类似于的内容Ich bin der \gls[alte Mann]{aM}.
来生成第二个示例句子。我担心,事先为每个首字母缩略词定义所有可能的形式(定义首字母缩略词时)会花很长时间,但也许这就是我必须做的?!
答案1
我看不出缩写词与您的问题有何关联,但\newglossaryentry
可以使用 来添加新键\glsaddkey
,其中指定新键、默认值(如果尚未分配该键)以及可用于稍后访问该键提供的信息的各种命令。(这些命令类似于\glsentrytext
、\Glsentrytext
、\glstext
和等命令,\Glstext
因此\GLStext
不受首次使用标志的约束。)
为了简洁起见,我只定义了阳性情况。你可以对其他性别和复数情况应用类似的方法。为了简洁起见,我也只定义了一个术语。我可能犯了语法错误,但这应该能让你了解如何添加新键的一般要点:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{glossaries}
\makeglossaries
% Without article:
% masculine nominative
\glsaddkey
{mnominative}% key
{}% default value
{\glsentrymnominative}% no link cs
{\Glsentrymnominative}% no link ucfirst cs
{\glsmnom}% link cs
{\Glsmnom}% link ucfirst cs
{\GLSmnom}% link all caps cs
% masculine accusative
\glsaddkey
{maccusative}% key
{}% default value
{\glsentrymaccusative}% no link cs
{\Glsentrymaccusative}% no link ucfirst cs
{\glsmacc}% link cs
{\Glsmacc}% link ucfirst cs
{\GLSmacc}% link all caps cs
% masculine genitive
\glsaddkey
{mgenitive}% key
{}% default value
{\glsentrymgenitive}% no link cs
{\Glsentrymgenitive}% no link ucfirst cs
{\glsmgen}% link cs
{\Glsmgen}% link ucfirst cs
{\GLSmgen}% link all caps cs
% masculine dative
\glsaddkey
{mdative}% key
{}% default value
{\glsentrymdative}% no link cs
{\Glsentrymdative}% no link ucfirst cs
{\glsmdat}% link cs
{\Glsmdat}% link ucfirst cs
{\GLSmdat}% link all caps cs
% With definite article:
% masculine nominative
\glsaddkey
{mdefnominative}% key
{der \glsentrymnominative{\glslabel}}% default value
{\glsentrymdefnominative}% no link cs
{\Glsentrymdefnominative}% no link ucfirst cs
{\glsmdefnom}% link cs
{\Glsmdefnom}% link ucfirst cs
{\GLSmdefnom}% link all caps cs
% masculine accusative
\glsaddkey
{mdefaccusative}% key
{des \glsentrymaccusative{\glslabel}}% default value
{\glsentrymdefaccusative}% no link cs
{\Glsentrymdefaccusative}% no link ucfirst cs
{\glsmdefacc}% link cs
{\Glsmdefacc}% link ucfirst cs
{\GLSmdefacc}% link all caps cs
% masculine genitive
\glsaddkey
{mdefgenitive}% key
{dem \glsentrymgenitive{\glslabel}}% default value
{\glsentrymdefgenitive}% no link cs
{\Glsentrymdefgenitive}% no link ucfirst cs
{\glsmdefgen}% link cs
{\Glsmdefgen}% link ucfirst cs
{\GLSmdefgen}% link all caps cs
% masculine dative
\glsaddkey
{mdefdative}% key
{den \glsentrymdative{\glslabel}}% default value
{\glsentrymdefdative}% no link cs
{\Glsentrymdefdative}% no link ucfirst cs
{\glsmdefdat}% link cs
{\Glsmdefdat}% link ucfirst cs
{\GLSmdefdat}% link all caps cs
% With indefinite article:
% masculine nominative
\glsaddkey
{mindefnominative}% key
{ein \glsentrymnominative{\glslabel}}% default value
{\glsentrymindefnominative}% no link cs
{\Glsentrymindefnominative}% no link ucfirst cs
{\glsmindefnom}% link cs
{\Glsmindefnom}% link ucfirst cs
{\GLSmindefnom}% link all caps cs
% masculine accusative
\glsaddkey
{mindefaccusative}% key
{eines \glsentrymaccusative{\glslabel}}% default value
{\glsentrymindefaccusative}% no link cs
{\Glsentrymindefaccusative}% no link ucfirst cs
{\glsmindefacc}% link cs
{\Glsmindefacc}% link ucfirst cs
{\GLSmindefacc}% link all caps cs
% masculine genitive
\glsaddkey
{mindefgenitive}% key
{einem \glsentrymgenitive{\glslabel}}% default value
{\glsentrymindefgenitive}% no link cs
{\Glsentrymindefgenitive}% no link ucfirst cs
{\glsmindefgen}% link cs
{\Glsmindefgen}% link ucfirst cs
{\GLSmindefgen}% link all caps cs
% masculine dative
\glsaddkey
{mindefdative}% key
{einen \glsentrymdative{\glslabel}}% default value
{\glsentrymindefdative}% no link cs
{\Glsentrymindefdative}% no link ucfirst cs
{\glsmindefdat}% link cs
{\Glsmindefdat}% link ucfirst cs
{\GLSmindefdat}% link all caps cs
\newglossaryentry{alt}%
{%
name={Alt},% how it appears in the glossary
text={alt},% predicative
plural={alt},% predicative plural
description={old},% description
% without article
mnominative={alter},% nominative
maccusative={alten},% accusative
mgenitive={altem},% genitive
mdative={alten},% dative
% with definite article
mdefnominative={der alte},% nominative
mdefgenitive={dem alten}% genitive
}
\begin{document}
Ich bin \glsmindefnom{alt} Mann.
Ich bin \glsmdefnom{alt} Mann.
Ich sehe die Frau \glsmdefacc{alt} Mannes.
Ich gebe \glsmdefgen{alt} Mann ein Buch.
\printglossaries
\end{document}
得出的结果为: