1. 简介
术语表(Glossary)是按字母顺序排列的术语及其定义的列表。与创建参考文献类似,LaTeX 也支持通过特定包自动创建术语表。
在本教程中,我们将逐步讲解如何在 LaTeX 文档中创建术语表。
2. 准备工作
2.1. 前提条件
目前常用的用于创建术语表的 LaTeX 包有两个:*nomencl* 和 *glossaries*。这两个包支持缩写词、多术语表,并能配合多语言使用(通过 babel 或 *polyglossia*)。
和使用其他 LaTeX 包一样,我们需要使用 \usepackage
命令来加载 nomencl
或 glossaries
包。如果需要用到一些依赖包(如 hyperref
、babel
、polyglossia
、inputenc
、fontenc
),则这些包必须在 glossaries
之前加载。
2.2. 术语表生成流程
生成术语表的标准流程如下:
- 加载术语表所需包
- 调用命令生成术语表结构
- 定义术语及其定义
- 在文档中插入术语
- 输出术语表
接下来,我们将以 glossaries
包为例,逐步讲解如何实现上述流程。
3. 使用 glossaries
包
3.1. 详细步骤
首先,我们需要加载 glossaries
包:
\usepackage{glossaries}
接着,使用 \makeglossaries
命令来生成术语表结构:
\makeglossaries
然后,使用 \newglossaryentry
定义术语及其定义:
\newglossaryentry{latex}{name=latex, description={LaTeX 是一个文档排版系统}}
参数说明如下:
latex
:术语的标签(label),用于后续引用name=latex
:术语的显示名称,建议使用小写description={...}
:术语的定义内容
在文档中插入术语时,可以使用 \gls{}
命令:
在这一句中插入自定义术语 \gls{latex}。
该命令会以小写形式输出术语,如 \gls{latex}
输出 latex
。
如需首字母大写或复数形式,可使用以下命令:
% 标准形式
\gls{<label>}
% 首字母大写
\Gls{<label>}
% 复数形式
\glspl{<label>}
% 首字母大写 + 复数
\Glspl{<label>}
最后,使用 \printglossaries
命令输出术语表:
\printglossaries
3.2. 基本示例
下面是一个完整的示例:
\begin{document}
\section{包含术语表的章节}
% 定义术语
\newglossaryentry{fondue}{
name=fondue,
description={是一种瑞士菜肴,由在便携炉上加热的奶酪锅组成,通常用蜡烛或酒精灯加热}
}
\newglossaryentry{raclette}{
name=raclette,
description={是一种瑞士菜肴,通过加热奶酪并刮下融化部分,再搭配肉类或蔬菜食用}
}
% 插入术语
\Gls{fondue} 是一道非常受欢迎的菜肴,常与 \gls{raclette} 搭配出现。
% 输出术语表
\printglossaries
\end{document}
生成效果如下:
可以看到,使用 \Gls{}
会首字母大写,而 \gls{}
则是小写。
3.3. 缩写词(Acronyms)
缩写词与普通术语略有不同,通常在第一次出现时显示全称和缩写,后续只显示缩写。
要启用缩写词支持,需在加载包时添加 acronym
选项:
\usepackage[acronym]{glossaries}
定义缩写词使用 \newacronym
命令:
\newacronym{e2e}{E2E}{End to End}
参数说明如下:
e2e
:标签,用于引用E2E
:缩写形式,建议全大写End to End
:全称
要输出缩写词列表,使用以下命令:
\printglossary[type=\acronymtype]
⚠️ 注意:如果你使用 Overleaf 等在线平台,可能需要先调用一次 \printglossary
再调用 \printglossary[type=\acronymtype]
,否则缩写词列表可能无法正确生成。首次编译后可删除第一个 \printglossary
。
示例代码如下:
\documentclass{article}
\usepackage[acronym,nomain]{glossaries}
\makeglossaries
\begin{document}
\section*{使用缩写词的章节}
% 定义缩写词
\newacronym{e2e}{E2E}{End To End}
% 使用缩写词
\begin{itemize}
\item \verb+\acrlong{e2e}+ 输出:\acrlong{e2e}
\item \verb+\acrshort{e2e}+ 输出:\acrshort{e2e}
\item \verb+\acrfull{e2e}+ 输出:\acrfull{e2e}
\end{itemize}
% 输出缩写词表
\printglossary[type=\acronymtype]
\end{document}
生成效果如下:
3.4. 自定义术语表标题
默认情况下,术语表标题为 “Glossary”,缩写词列表为 “Acronyms”。你可以通过以下方式自定义标题:
\printglossary[title=术语表, toctitle=术语表(目录项)]
title
:页面上显示的标题toctitle
:目录中显示的标题
若希望术语表出现在目录中,需在加载包时添加 toc
选项:
\usepackage[toc]{glossaries}
示例:
\begin{document}
\tableofcontents
\section{包含术语表的章节}
% 定义术语
\newglossaryentry{fondue}{
name=fondue,
description={是一种瑞士菜肴,由在便携炉上加热的奶酪锅组成,通常用蜡烛或酒精灯加热}
}
\newglossaryentry{raclette}{
name=raclette,
description={是一种瑞士菜肴,通过加热奶酪并刮下融化部分,再搭配肉类或蔬菜食用}
}
% 插入术语
\Gls{fondue} 是一道非常受欢迎的菜肴,常与 \gls{raclette} 搭配出现。
% 输出术语表
\printglossary[type=\acronymtype, title=术语表, toctitle=术语表(目录项)]
\end{document}
生成效果如下:
可以看到标题已改为“术语表”,目录项也更新为“术语表(目录项)”。
4. 总结 ✅
本文介绍了如何使用 glossaries
包在 LaTeX 中创建术语表和缩写词列表。我们讲解了术语表的生成流程、基本术语定义、缩写词处理方式以及标题的自定义方法。
掌握了这些内容后,你就可以在自己的 LaTeX 文档中轻松添加术语表,提升文档的专业性和可读性。