我正在尝试在附录中列出变量定义,并尝试制作glossaries
和使用acronyms
包,但我不知道该怎么做。我不需要在文本中引用符号,只需列出一个变量及其定义,如下所示:
变量列表:
米 物体的质量
λ 位移绝对值
答案1
虽然晚了,但仍然有用:带有glossaries
包的解决方案。
\documentclass{article}
\usepackage{bm}
\usepackage[toc,symbols]{glossaries}
\newglossaryentry{mass}{%
name={\ensuremath{m}},
description={The mass of the object},
type=symbols
}
\newglossaryentry{disp}{%
name={\ensuremath{\bm\lambda}},
description={The absolute displacement},
type=symbols
}
\makeglossaries
\begin{document}
\section{Normal section}
The \gls{mass} of the Sun can be determined by the centripetal force being given by the gravitional force and the orbiting period of the Earth.
The \gls{disp} can not be used alone for determing the solar mass.
\appendix
\printglossary[numberedsection,type=symbols,style=list,nogroupskip]
\end{document}
更新
\documentclass{article}
\usepackage{bm}
\usepackage[toc,symbols,nomain]{glossaries}
\newcommand{\listofsymbolsname}{List of Symbols}
\newglossaryentry{mass}{%
name={\ensuremath{m}},
description={The mass of the object},
type=symbols
}
\newglossaryentry{disp}{%
name={\ensuremath{\bm\lambda}},
description={The absolute displacement},
type=symbols
}
\makeglossaries
\begin{document}
\section{Normal section}
The \gls{mass} of the Sun can be determined by the centripetal force being given by the gravitional force and the orbiting period of the Earth.
The \gls{disp} can not be used alone for determing the solar mass.
\appendix
\printglossary[title=\listofsymbolsname,type=symbols,style=list,nogroupskip]
\end{document}
答案2
正如您自己发现的那样,至少有两个软件包可以帮助您。
acronym
和glossaries
。
我想补充一下 -nomencl
我没有使用过 package arconym
,所以我把它放在一边。 Christian Hupfer 曾谈到过 package glossaries
。所以我想专注于 package nomencl
。
幕后
许多处理首字母缩略词和词汇表的软件包都使用makeindex
和 Co. 来准备和构建包含词汇表的部分。这通常意味着,
- 你必须添加一个包,
- 定义一些格式样式,
- 插入缩写并解释它们
- 运行 LaTeX,
- 运行 Makeindex 或其他版本,然后再次运行 LaTeX。
包裹nomencl
该包nomencl
是一个使用旧方法makeindex
以某种方式对您的首字母缩略词进行排序的包。它还定义了自己的 Makeindex 样式 ( nomencl.ist
),当您运行 Makeindex 时,您必须使用该样式。
通过加载包,您将能够使用 -command\nomenclature
引入缩写词并立即给出其解释。还有一个可选参数,您可以将其用于排序原因。
您还必须添加命令makenomenclature
,它将打开一个附加文件,其中包含 -command 的内容\nomenclature
。该文件稍后将由 Makeindex 解析。如果您不使用此命令,则不会有文件,因此 Makeindex 将无法执行任何操作。
最后但同样重要的一点是,您必须发出\printnomenclature
-command 才能打印出排序的首字母缩略词列表。
运行 LaTeX 后,您必须像这样运行 Makeindex(假设您的 LaTeX 文件是main.tex
:
makeindex main.nlo -s nomencl.ist -o main.nls
当然,之后您必须通过再次运行 LaTeX 来完成该过程。
\nomenclature
除非您两次指定相同的缩写词,否则包将打印 -command 的每次出现。它将创建类似于description
-environment 的内容,其中缩写词作为标签打印,其解释则打印在后面。它不会引用使用缩写词的页面。
(因此,我认为,这正是您正在寻找的解决方案。)
这是使用 -package 的示例和结果nomencl
。
\documentclass{article}
\usepackage{bm}
\usepackage{nomencl}
%% Use the package nomencl
\makenomenclature
\begin{document}
\section{Normal section}
The $m$\nomenclature{$m$}{The mass of the object} of the Sun can
be determined by the centripetal force being given by the gravitional
force and the orbiting period of the Earth.
The $\bm{\lambda}$\nomenclature{$\bm{\lambda}$}{The absolute
displacement} can not be used alone for determing the solar mass.
\appendix
%% This is the right place, to print the list of used acronyms.
\printnomenclature
\end{document}
包裹glossaries
该软件包还使用 Makeindex 来编辑和排序首字母缩略词列表和缩写。这次,您可以自由选择旧的处理器makeindex
本身或较新的xindy
处理器。后者能够支持 8 位输入,即任何类型的变音符号和其他重音字符,如 öäüeøå... 这在当今可能会派上用场。这次,您必须\makeglossaries
在序言中添加命令。
此包的主要区别在于,您可以定义要在文档前言中使用的首字母缩略词,正如 Christian 所解释的那样。您可以使用命令\newglossarentry
和键=值对列表来执行此操作。
定义它们之后,您可以在文档中通过不同的命令使用它们,例如\gls
(小写字母,单数形式)或\Gls
(以大写字母开头的单数形式)\glspl
或(小写复数形式)和\Glspl
(大写复数形式)。这次,命令\[gG]ls*
还保存页码,以便从首字母缩略词列表中反向引用文本。
再次,你必须运行 LaTeX,然后(再次假设main.tex
)
制作词汇表主要
它反过来会makeindex
在xindy
幕后运行。
之后,您必须再次运行 LaTeX。
如果您调用了该包,hyperref
之后glossaries
您将能够单击首字母缩略词列表中的页码;它们将链接到您文本中的用法。
简历
从您的问题来看:nomencl
如果首字母缩略词列表中不能有页码,则包将是您的解决方案。在第一次运行时,它可能更容易使用。
否则,深入研究软件包glossaries
提供的强大选项将是一个明智的决定。它可能比 更复杂一些,nomencl
但从长远来看,它可能非常值得付出努力。