我正在尝试弄清楚如何使用而不IEEEtran
在使用glossaries
(pdf)latex 编译期间遇到错误。
这是我的 MWE:
% arara: pdflatex: {synctex: yes}
% arara: makeglossaries
% arara: pdflatex: {synctex: yes}
% arara: pdflatex: {synctex: yes}
% \documentclass{article}
\documentclass{IEEEtran}
\usepackage{glossaries}
\makeglossaries
\newglossaryentry{elite}{name={elite},description={This is an elite glossary}}
\newglossaryentry{master}{name={master},description={This is a master glossary}}
\begin{document}
Test of first glossary entry: \gls{elite}
Test of second glossary entry: \gls{master}
\printglossaries
\end{document}
上述代码在用作article
文档类或仅使用一个条目时运行良好,这使我相信这个错误与有关IEEEtran
。
以下是我从(pdf)latex 得到的错误:
(./doc.gls
! Undefined control sequence.
\glsgroupskip ...glsnogroupskip \else \indexspace
\fi
1.5 ...r[]{page}\glsnumberformat{1}}}\glsgroupskip
当我排除 时,我的原始文件和 MWE 中的一切都正常工作\printglossaries
。
非常感谢您的帮助!
答案1
正如错误消息所示,该类IEEEtran
没有提供定义,\indexspace
因此您需要提供它,例如使用的定义article.cls
:
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
完整示例:
% arara: pdflatex: {synctex: yes}
% arara: makeglossaries
% arara: pdflatex: {synctex: yes}
% arara: pdflatex: {synctex: yes}
%\documentclass{article}
\documentclass{IEEEtran}
\usepackage{glossaries}
\makeatletter
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
\makeatother
\makeglossaries
\newglossaryentry{elite}{name={elite},description={This is an elite glossary}}
\newglossaryentry{master}{name={master},description={This is a master glossary}}
\begin{document}
Test of first glossary entry: \gls{elite}
Test of second glossary entry: \gls{master}
\printglossaries
\end{document}
输出: