将文档和词汇表一起打包会导致问题

将文档和词汇表一起打包会导致问题

如果我在下面注释掉\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

我也会加载hyperrefdoc因此,这是一个有效的组合:

\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 作为练习。;-)

相关内容