通过 bibtex 使用词汇表

通过 bibtex 使用词汇表

我希望有人能帮忙。我正在尝试生成一个带有词汇表的文档。我正在使用 TexnicCenter。当没有 bibtex 文件时它似乎可以工作,但当有 bibtex 文件时则不行,甚至当删除 bibtex 文件时也不行。我已修改后处理器以包含 makeglossaries。这是一个 MWE:

\documentclass[a4paper,10pt]{report}
\usepackage{textcomp}

\linespread{1.6}
\usepackage{graphicx}
\usepackage{float}
\graphicspath{images/}
\usepackage{amsmath}
\usepackage{appendix}
\usepackage{subfig}
\usepackage{rotating}
\usepackage{lscape} % or {pdflscape}
\usepackage{longtable}
\usepackage[section]{placeins}
\usepackage{hyperref}
\usepackage[xindy]{glossaries} \include{litrev.gls}
\makeglossaries
\makeindex
\usepackage{makeidx}
\begin{document}
\include{litrev.glo}
\gls{hrt}
\gls{usa}
\Section{Introduction:}

\gls{usa}


\printindex
\printglossary
\end{document}

然后我通过 latex 运行它,然后运行 ​​makeglossaries litrev。

此时,我的 .glg 文件中出现以下错误:

* 无法执行:'xindy -L english -I xindy -M "litrev" -t "litrev.glg" -o "litrev.gls" "litrev.glo"' *

状况报告:

打开日志文件“litrev.glg”错误:打开日志文件“litrev.glg”失败!

我希望这些都是相关信息。如能得到任何帮助,我将不胜感激。

非常感谢。

答案1

.glo和 文件都不应.gls明确输入到文档中。.glo文件在文档构建期间打开以进行输出,glossaries包将信息写入其中,然后由索引应用程序使用。文件.glo包含索引语法,而不是 LaTeX 语法。文件由(或).gls隐式加载。虽然文件包含用于打印词汇表的 LaTeX 命令,但在加载文件之前必须设置其他信息,因此不应简单地将文件输入到文档中。\printglossary\printglossaries.gls\printglossary.gls

如果要在主文档之外的单独文件中定义条目,请为该文件指定标准.tex扩展名。例如,创建一个名为的文件,litrev.tex其中包含您的\newglossaryentry命令:

\newglossaryentry{sample}{name={sample},description={a sample entry
with a citation~\cite{article-minimal}}}

在您的文档中,此文件通过 加载\loadglsentries。例如:

% arara: pdflatex: { synctex: on }
% arara: makeglossaries
% arara: pdflatex: { synctex: on }
% arara: bibtex
% arara: pdflatex: { synctex: on }
% arara: pdflatex: { synctex: on }
\documentclass[a4paper,10pt]{report}

\usepackage{hyperref}
\usepackage[xindy]{glossaries}

\makeglossaries

% load entry definitions from file:
\loadglsentries{litrev}

\begin{document}

Use an entry: \gls{sample}.

\printglossary

\bibliographystyle{plain}
\bibliography{xampl}
\end{document}

这些%arara:指令不是必需的,但它们向您展示了文档构建的顺序。

(提示:如果您不知道某个包是否应该包含在 MWE 中,请尝试将其删除,看看问题是否有任何变化。如果没有,则该包对于示例来说就不需要了。)

相关内容