词汇表在不同平台上不起作用

词汇表在不同平台上不起作用

我正在写我的硕士论文。当我在 Ubuntu 上编译并运行 Tex 文件时,一切正常。当我在 OSX 和 Windows 上执行此操作时,它返回错误:

Package glossaries Error: Glossary entry `...' has not been defined.

对于所有\gls{}插入的条目。

我确实按照控制台中的 makeindex 程序进行操作。(makeindex main_body.glo -s main_body.ist -t main_body.glg -o main_body.gls)。

有什么提示吗?提前谢谢您。

最小工作示例

\documentclass[11pt,a4paper,bibtotoc,idxtotoc,headsepline,footsepline,
               footexclude,BCOR12mm,DIV13]{scrbook}
\input{components/info}
% include settings
\input{components/settings}
% include commands
\input{components/commands}

\makeindex
\makeglossary

\begin{document}    
    \frontmatter        
    \input{components/cover}
    \clearemptydoublepage
    \input{components/titlepage}
    \input{components/abstract}
    \tableofcontents
    \input{components/outline}
    \part[Introduction, Motivation and Backdrop]{Introduction, Motivation and Backdrop}     

    \part[Handbook and its Application]{Handbook and its Application}
    \part*{Appendix}
    \addcontentsline{toc}{part}{Appendix}

    \input{chapters/7_Glossary/Acronyms}
    \input{chapters/7_Glossary/Glossary}
    \glsaddall
    \printglossaries
    \addcontentsline{toc}{chapter}{Glossary and Acronyms}

    \clearemptydoublepage

    \bibliography{bibliography/literature}

\end{document}

答案1

这与平台无关。差异是由于使用不同版本的glossaries包造成的。您基本上是在定义之前使用条目。以下是 MWE:

\documentclass{article}

\usepackage{glossaries}

\makeglossaries

\begin{document}

\gls{sample}

\newglossaryentry{sample}{name={sample},description={an example}}
\printglossary

\end{document}

第一次编译此文档时,会出现以下错误:

! Package glossaries Error: Glossary entry `sample' has not been defined.

使用旧版本(3.08a 之前)glossaries,您将总是尝试使用尚未定义的条目时,会出现此错误。使用较新版本的glossaries,第一次运行 LaTeX 时会出现错误,但后续运行不会出现错误(除非删除文件.glsdefs)。因此,我怀疑您的 Ubuntu 平台使用的是较新的 版本glossaries,因此它似乎可以工作,而您的其他平台使用的是较旧的 3.08a 之前的版本,因此它无法工作。

最简单的,受到推崇的,解决方案是在序言中定义所有条目。

相关内容