如果我在下面注释掉\RecordChanges
它,它就会编译并运行,否则我会得到:
Package glossaries Warning: No file defined for glossary `[' on input line 13.
! Extra \endcsname.
\@@do@wrglossary ...\csname glo@#1@type\endcsname
]{\string \glossaryentry {...
l.13 A \gls{sample}
entry
以下是最小示例:
\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage{doc}
\usepackage{glossaries}
\RecordChanges
\makeglossaries
\newglossaryentry{sample}{name={sample}, description={a sample entry}}
\begin{document}
A \gls{sample} entry
Plurals: \glspl{sample}.
\printglossaries
\end{document}
答案1
该命令\RecordChanges
很简单\makeglossary
。但是在加载后发出该命令glossaries
会使系统陷入不稳定状态。
因此,让两个包一起运行的正确方法不仅是按照后者包的文档所述doc
先加载,而且还要发出glossaries
\RecordChanges
前加载中glossaries
。
我也会加载hyperref
。doc
因此,这是一个有效的组合:
\documentclass{article}
\usepackage{doc}
\RecordChanges
\usepackage[colorlinks]{hyperref}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{sample}{name={sample}, description={a sample entry}}
\begin{document}
A \gls{sample} entry
Plurals: \glspl{sample}.
\printglossaries
\end{document}
也许glossaries
可以使用其他一些技巧来实现\RecordChanges
在加载之前或之后进行发行,但我会把这留给 Nicola Talbot 作为练习。;-)