动态定义词汇表条目?

动态定义词汇表条目?

我在用glossaries包装和辛迪生成波斯语词汇表。我是否必须单独定义要包含在词汇表中的单词?

我尝试定义一个命令,当我想在文档中显示条目时,该命令会动态定义条目,但一无​​所获,因为 xindy 不会扩展命令。这是一个 MWE,它打印我想要的内容,但不会在词汇表中显示任何内容。也许我应该重新定义newglossaryentry

\documentclass{article}
\usepackage{glossaries}
\makeglossaries

\newcommand{\glos}[2]{%
\newglossaryentry{#2}{name={#2},description={#1}}#1\footnote{\Gls{#2}}}

\begin{document}
\maketitle

The \glos{Latex language}{latex} typesetting markup language is
specially suitable for documents that include \glos{Mathematics}{math}.

\printglossaries

\end{document}

有什么解决方法吗?我可以\index通过定义以下内容来做同样的事情:

\newcommand{\myidx}[1]{#1\index{#1}}

这是我通常用来获取输出的命令列表:

xelatex myfile
xindy -L persian-variant1 -C utf8 -M texindy myfile.idx
xindy -L persian-variant1 -C utf8 -I xindy -M myfile.xdy -t myfile.glg -o myfile.gls myfile.glo
xindy -L persian-variant1 -C utf8 -I xindy -M myfile.xdy -t myfile.blg -o myfile.bls myfile.blo
xindy -L english -C utf8 -I xindy -M myfile.xdy -t myfile.alg -o myfile.acr myfile.acn
xelatex myfile
xelatex myfile

答案1

为了使用,xindy必须说\usepackage[xindy]{glossaries}

这是要遵循的管道(假设.tex文件名为foo.tex

pdflatex foo

制作词汇表 foo

pdflatex foo

pdflatex foo % 可能需要第三次运行

但是,不建议在文档正文中定义词汇表条目。

\documentclass{article}
\usepackage[xindy]{glossaries}
\makeglossaries


\newcommand{\glos}[2]{%
\newglossaryentry{#2}{name={#2},description={#1}}#1\footnote{\Gls{#2}}}

\begin{document}

The \glos{Latex language}{latex} typesetting markup language is
specially suitable for documents that include \glos{Mathematics}{math}.

\printglossaries

\end{document}

相关内容