有时,文章是用英语以外的语言写的,一些重要术语后面会附上相应的英语单词,文章最后还会附上“词汇表”。以虚构语言“Reversed-English”为例:
这是由以下 LaTeX 源生成的:
\documentclass{article}
\begin{document}
\section{Noitcudortni}
Siht elcitra si nettirw ni \textbf{desrever Hsilgne} (reversed English).
\(0\) si a \textbf{larutan rebmun} (natural number).
\section*{Yrassolg}
\noindent \textbf{desrever Hsilgne} Reversed English.
\noindent \textbf{larutan rebmun} Natural number.
\end{document}
在词汇表中,我手动列出了术语,这很耗时、容易出错,而且很容易过时。我如何才能使这个过程自动化?我可以\term{desrever Hsilgne}{reversed English}
在文本中写一些类似的东西,\textbf{desrever Hsilgne} (English)
然后这个单词就会自动出现在词汇表中吗?
以下对我来说是理想的,但我需要您的帮助\term
和\MakeGlossaryContent
宏:
\documentclass{article}
\begin{document}
\section{Noitcudortni}
Siht elcitra si nettirw ni \term{desrever Hsilgne}{reversed English}.
\(0\) si a \term{larutan rebmun}{natural number}.
\MakeGlossaryContents
\end{document}
任何帮助都将受到赞赏。
答案1
您(在本例中是我)可以使用该glossaries
包或该glossaries-extra
包:
\documentclass{article}
\usepackage[automake]{glossaries-extra}
\makeglossaries
% Automate the process
\newcommand*{\newentry}[4]{%
\newglossaryentry{#1}%
{%
name = {#2},%
first = {\textbf{#2} (#3)},%
description = {#4}%
}%
}
\newentry{reversed-english}
{Desrever Hsilgne} % name
{reversed English} % first use description in parentheses
{Reversed English.} % description in glossary
\newentry{natural-number}
{larutan rebmun}
{natural number}
{Natural number.}
\begin{document}
\section{Noitcudortni}
Siht elcitra si nettirw ni \gls{reversed-english}.
\(0\) si a \gls{natural-number}.
\printglossary[title = {Yrassolg}]
\end{document}
导致: