我在用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}