我希望有人能帮忙。我正在尝试生成一个带有词汇表的文档。我正在使用 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 中,请尝试将其删除,看看问题是否有任何变化。如果没有,则该包对于示例来说就不需要了。)