问题:当我在 TS 上使用 pdflatex 时,MKDoc.tex 中的第 11 行未定义控制序列。当我在 TS 按钮上运行 Makeindex 时,idx 和 ind 文件有零字节
在主文档 MkDoc 中我遇到了几个错误
line 35 at \gls{bdc}
line 37 at \gls{IEEE}
line 39 at \Gls{latex}
line 42 at \printglossaries
我使用序言作为 MkDoc.tex 的输入。序言文件已使用词汇表包。
如何解决这个问题?我不明白这是怎么回事。这是我的 MWE。真实的例子。
\documentclass{article}
\usepackage [utf8] {inputenc}
%\usepackage{hyperref}
\usepackage{inputenc}
\usepackage{fontenc}
\usepackage{glossaries}
\include{Preamble_MK2}
% OPTION 2 must make glossaries before each new entry
\makeglossaries
\begin{document}
\newglossaryentry{bdc}
{
name=bdc,description={Borneo Development Coporation}
}
\newglossaryentry{latex}
{
name=latex,description={Is a mark up language suitable for scientific documents}
}
\newglossaryentry{IEEE}
{
name=IEEE,description={Institute of Electrical Electronic Engineers }
}
\title{How to create a glossary of terms}
\makeindex % in order to create the .idx file
%\begin{document}
\make title
In Sarawak \gls{bdc} plays a key role in the development\\
\gls{IEEE} plays the professional membership organisation for engineers
The \Gls{latex} typesetting is suitable for documents that include \gls{maths}\\
\printglossaries
\end{document}
答案1
您的 MWE 中存在一些问题,这些已经在评论中暴露出来了。另一个问题是,您的问题中有一个\include{Preamble_MK2}
,但没有一个文件Preamble_MK2.tex
(而且,它必须是\input
,而不是\include
)。
省略不相关的代码(在好的 MWE 中应该如此),这是最小的在职的例子:
\documentclass{article}
\usepackage{glossaries}
\newglossaryentry{bdc}
{name=bdc,
description={Borneo Development Coporation}}
\newglossaryentry{latex}
{name=\LaTeX{},
description={Is a mark up language suitable for scientific documents}}
\newglossaryentry{IEEE}
{name=IEEE,description={Institute of Electrical Electronic Engineers}}
\newglossaryentry{maths}
{name=maths,description={A complex thing}}
\makeglossaries
\begin{document}
In Sarawak \gls{bdc} plays a key role in the development.
\gls{IEEE} plays the professional membership organisation for engineers.
The \Gls{latex} typesetting is suitable for documents that include \gls{maths}.
\printglossaries
\end{document}
请注意,您必须编译MkDoc.tex
,然后运行 makeglossaries MkDoc
,然后再次编译一到两次。请参阅编译顺序:引用词汇表。在更复杂的文档中,您还必须执行其他辅助工具,如makeindex
或bibtex
。在这种情况下,只需使用:
pdflatex MkDoc.tex
makeglossaries MkDoc
pdflatex MkDoc.tex
这可以在系统提示符下进行,也可以配置你的 LaTeX 编辑器(抱歉,我不使用 TeXshop)或使用阿拉拉。在上面链接的问题中,您有一个使用 arara 的示例。