问题描述
当写的论文足够复杂时,为论文建立词汇表 (glossaries)不仅必要而且显得专业。尤其是专业术语比较多时,建立词汇表能够让读者随时查阅相关的信息,减轻读者的记忆负担。
在 LATEX 中,你可以在论文完成后,从全文中找出较难的词汇,并记录它们的页码,并将它们一起统一放到词汇表中。我们是假定文档足够复杂的。这种建立词汇表的方式有以下缺点:
- 文档本身是经常变动的。当文档中删除、增加、或者调整词汇顺序时,词汇表中的词汇及其页码必须随之调整。手工做这项工作非常繁琐;
上述方法就违背了“能让计算机做的事情,就绝不让手工做”的原则。因此我们要利用 LATEX 中makeglossaries的方式。它的工作原理与makeindex类似。
方法
注意,本文给出的仅仅是一个使用glossaries的最基本的、简单的例子,关于glossaries的更加详细的、完整的讲解,请参见宏包glossaries用户手册。
\documentclass[UTF8]{ctexart}
%%%%%%词汇表%%%%%%%%%%%%
\usepackage{glossaries}
\makeglossaries
%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\section{词汇表举例}
\newglossaryentry{gloss}{
name=glossary,
description={A vocabulary with annotations for a particular subject},
plural=glossaries
}
\Glspl{gloss} are import for technical documents.
\newglossaryentry{sec}{
name=分节,
description={把文章分成章节},
}
\gls{sec}对于长文档很重要。
%产生词汇表
\printglossaries
\end{document}
上面命令\Glspl{gloss}
是对词汇项gloss(本身是一个label)的复数受字母大写引用。词汇表不仅要建立,而且还要在正文中使用这些词汇,命令\Glspl{gloss}
就是完成这样的工作的。命令\gls{sec}
本来时词汇的单数首字母小写引用,但由于sec中的词汇是中文,在这里就无所谓大小写了。
编译方法及运行结果
上面例子的编译方法为:
xelatex
makeglossaries
xelatex
xelatex
运行结果如下,首先看正文部分:
再来看词汇表部分:
从上面图中可以看出,已达到了预期的结果。但单词Glossary不是中文,这就需要将其设置为中文。关于该问题已超出本文的讨论范围,不在此赘述。