我使用 glossaries-extra。我写了一份包含几个首字母缩略词和定义的报告。第一次使用它时,我在脚注中显示了定义。但我经常遇到首字母缩略词引用定义的情况,反之亦然,如下所示:
\newacronym[first=Machine Virtuelle (VM)]{vm}{VM}{\Gls{glossary:vm}}
\newglossaryentry{glossary:vm}
{
name={Machine virtuelle},
description={definiton ... \cite{wiki:vm}.},
text={machine virtuelle},
}
该首字母缩略词在文件中首次使用,出现在脚注中。但定义也应该出现在脚注中,因为该定义也是因为该首字母缩略词而首次使用。但这里的情况并非如此:
与定义相对应的标签 26 存在,但后面的脚注中却没有出现。为什么?定义 26 在哪里?
这是我做的词汇表额外配置:
\usepackage[acronym, numberedsection, nonumberlist, automake]{glossaries-extra} % To make a glossary
\glstocfalse
\glsenablehyper
\setglossarystyle{altlistgroup}
\setabbreviationstyle{short-postfootnote}
\ProvideDocumentCommand{\printglossdef}{o m}{\footnote{#1: #2}}
\GlsXtrEnableEntryUnitCounting{general}{0}{page} % Count the number of occurrences per unit, per page of the general group
\GlsXtrEnableEntryUnitCounting{abbreviation}{0}{page} % Count the number of occurrences per unit, per page of the general group
% If this is the first occurrence of the label
% then delete the hyperlink to the glossary
% otherwise
\renewcommand{\glslinkcheckfirsthyperhook}{%
\glsxtrifwasfirstuse%
{\setkeys{glslink}{hyper=false}}%
}
% If this is the first occurrence of the label
% then a footnote is added with the description linked to the tag
% otherwise do nothing
\renewcommand{\glsxtrpostlink}{%
\glsxtrifwasfirstuse%
{\printglossdef[\glsentryname{\glslabel}]{\glsentrydesc{\glslabel}}}%
{}%
}
目的是使这个定义出现在脚注中,与首字母缩略词或子脚注处于同一级别。
感谢您的帮助。
编辑
我解释了我的问题。定义和缩写词会自动出现在脚注中。在某些情况下,定义包含缩写词。从逻辑上讲,定义会出现在脚注中,缩写词会跟在后面。但事实并非如此,不会导致编译错误。
我已附加我创建并使用的模板的链接。 https://github.com/Thorkel-dev/latex.git
解决方案
根据评论,这是在另一个问题中找到的解决方案:如何强制嵌套脚注的编号遵循主脚注