无法在 Latex 中生成词汇表

无法在 Latex 中生成词汇表

我无法使用该glossaries软件包打印词汇表和缩写目录。它生成一个空白页,我在其中调用\makeglossaries。我怀疑 biber、babel 或我的构建目录可能会干扰它。

我的main.tex样子是这样的:

\documentclass{report}
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[english,ngerman]{babel}
\usepackage{biblatex}
\usepackage[xindy]{glossaries}

\setacronymstyle{long-short}
\shorthandoff{"}
\makeglossaries

\addbibresource{head/bibliography.bib}
\loadglsentries{head/glossary}

\begin{document}
    ...40 pages of actual content about \gls{acr:ipd} and 
    \gls{BIM} and even more \gls{acr:ipd}...
    \printglossaries
    \printbibliography
\end{document}

glossary.tex目录中head

\newglossaryentry{BIM}{name={Building Information Modeling},description={3D and shit. \lipsum}}
\newacronym{acr:ipd}{IPD}{Integrated Project Delivery}

为了简洁起见,我确信不相关的包被省略了。

我已将 TexStudio 配置为运行以下序列:

pdflatex.exe -src -synctex=1 -interaction=nonstopmode -aux-directory=build main.tex
makeglossaries.exe -d build main
biber.exe --input_directory build --output_directory build main
pdflatex.exe -src -synctex=1 -interaction=nonstopmode -aux-directory=build main.tex
pdflatex.exe -src -synctex=1 -interaction=nonstopmode -aux-directory=build main.tex

问题似乎是 makeglossaries 实际上什么都没做。它只记录

makeglossaries version 4.41 (2018-07-23)
Changed to 'build'

当我手动运行 makeglossaries 时,没有文件发生更改。我已手动将 Perl 目录添加到 ENV;可从我的工作目录访问它。我已尝试根据文档切换到 xindy 并返回,但无济于事。我已切换 biber 和 makeglossaries 的顺序。build每次尝试后我都会删除该目录。

出了什么问题?

更新:我已确认 makeglossaries 确实不执行任何操作。在单独的目录中运行 MWE 可获得所需的结果,并且 makeglossaries 的控制台输出更为详细。

答案1

事实证明,makeglossaries问题出在脚本上。它什么都没做。不知道为什么。幸运的是,它除了调用Xindy或 之外,不应该做太多事情Makeindex。我通过使用名为 的文件绕过它解决了这个问题build.bat

pdflatex.exe -src -synctex=1 -interaction=nonstopmode -aux-directory=build main.tex
xindy  -L german -C din5007-utf8 -I xindy -M "build\main" -t "build\main.glg" -o "build\main.gls" "build\main.glo"
biber.exe --input_directory build --output_directory build main
pdflatex.exe -src -synctex=1 -interaction=nonstopmode -aux-directory=build main.tex
pdflatex.exe -src -synctex=1 -interaction=nonstopmode -aux-directory=build main.tex

因为我喜欢使用 TexStudio,所以我将第二行设置为配置中的 makeglossaries 命令并继续我的常规构建序列。

相关内容