Latex 中的缩写/首字母缩略词列表。几个问题

Latex 中的缩写/首字母缩略词列表。几个问题

我想要一份论文中的缩写列表。我的论文由多个部分组成,这些部分使用“include”命令包含在最终文档中。论文的不同部分有时会引入相同的缩写。但是,我不想在整个论文的层面上保留缩写,而是在所包含部分的层面上保留缩写。

有两个包常用于缩写:nomencl 和 glossaries。两者都存在问题。

Nomencl:我不能有重复的缩写,因此我必须将它们保持在论文级别,这很复杂且令人分心。我希望不同的部分尽可能独立。

词汇表:词汇表与 natbib 配合使用效果不佳,例如 \gls{SOM}\citep{Kohonen2001} 导致 (SOM) (Kohonen, 2001),这被认为是不好的风格。如果它能产生 (SOM; Kohonen, 2001),那就更好了。因此,我的想法是以类似于 nomencl 的方式使用词汇表包。仅为缩写列表定义首字母缩略词,但不在文本中使用 \gls、glspl 等。但是,要打印列表中的首字母缩略词,必须使用 /glsaddall 明确添加它们,但此命令不适用于包含的文档中定义的首字母缩略词。我认为这是一个错误。

因此,我认为最好的办法是坚持使用 nomencl,并以某种方式强制它忽略所包含文档中首字母缩略词的重新定义。这可能吗?

或者,对于我的用例(需要缩写列表,多个包含的文档),您会建议什么方法?

答案1

目前还不清楚您是否希望每次使用首字母缩略词时都引用该引文,还是只希望引用特定实例。如果您尝试重新定义现有首字母缩略词,也不清楚您希望发生什么。假设引用的特定实例和尝试定义现有首字母缩略词时的重置,您可以按如下方式实现此目的。首先是主 tex 文件:

\documentclass{book}

\usepackage{natbib}
\usepackage{etoolbox}
\usepackage[acronym,smallcaps]{glossaries}

\makeglossaries

\newcommand*{\provideacronym}[4][]{%
  \ifglsentryexists{#2}%
  {%
    \glsreset{#2}%
  }%
  {%
    \newacronym[#1]{#2}{#3}{#4}%
  }%
}

\newcommand*{\provideglossaryentry}[2]{%
  \ifglsentryexists{#1}%
  {}%
  {%
     \newglossaryentry{#1}{#2}%
  }%
}

\renewcommand*{\acronymfont}[1]{#1}

\defglsdisplayfirst[acronym]{%
  #1 \ifstrempty{#4}{(#3)}{\citep[#3;][]{#4}}%
}

\defglsdisplay[acronym]{%
  #1\ifstrempty{#4}{}{ \citep{#4}}%
}

\title{Sample Thesis}
\author{A.N. Other}

\begin{document}
\maketitle

\include{sample1}

\include{sample2}

\printglossaries

\bibliographystyle{plainnat}
\bibliography{xampl}
\end{document}

现在是第一章(sample1.tex):

\chapter{First Sample Chapter}

\provideacronym{abc}{ABC}{Sample Acronym 1}%
\provideacronym{xyz}{XYZ}{Sample Acronym 2}%
\provideglossaryentry{sample}{name=sample,description=An example}%

An acronym: \gls{abc}. A \gls{sample}.
Sample acronym with a citation 
\gls{xyz}[article-minimal].
Another instance with a citation
\gls{xyz}[article-minimal].

第二章(sample2.tex):

\chapter{Second Sample Chapter}

\provideacronym{abc}{ABC}{Sample Acronym 1}%
\provideglossaryentry{sample2}{name=another sample,description=Another example}%

An acronym: \gls{abc}. \Gls{sample2}.
Sample acronym with a citation 
\gls{abc}[article-minimal].
Another instance with a citation
\gls{abc}[article-minimal].

相关内容