LaTeX glossaries术语表无法显示问题求助(附最小示例)
解决TeXstudio+TeXLive2019中glossaries术语表无法显示的问题
我来帮你排查这个glossaries术语表不显示的问题,从你给出的错误信息来看,核心问题出在UNC路径不支持以及由此引发的makeindex找不到必要文件的问题,下面是一步步的解决方案:
1. 优先解决UNC路径问题
错误日志里明确提到:
CMD.EXE以上述指定路径作为当前目录启动。不支持UNC路径,将Windows目录设为当前目录。
Windows的CMD环境不支持把网络共享的UNC路径(比如\\xxx\xxxx\users\xxx\Documents\Bericht\Latex这种格式)作为工作目录,这会导致makeglossaries脚本找不到你的项目辅助文件(比如.glo、.aux)和样式文件,进而触发调用makeindex失败的错误。
解决方法:把你的LaTeX项目文件夹从网络共享位置移动到本地磁盘(比如C:\Users\你的用户名\Documents\LaTeX_Projects),确保项目路径是本地路径而非UNC路径。
2. 确保正确的编译流程
即使切换到latexmk,也需要确保它正确调用了makeglossaries。如果手动编译,完整的流程应该是:
- 第一步:用pdfLaTeX(或LaTeX)编译主文档,生成必要的辅助文件(
.glo、.aux等) - 第二步:运行命令
makeglossaries main(这里main是你的主文档文件名,不带后缀) - 第三步:再次用pdfLaTeX编译两次,确保术语表的引用和内容都能正确渲染
3. 检查TeXLive的glossaries包完整性
打开TeX Live Manager(TeXLive 2019自带的工具),搜索glossaries包,确认它已经完整安装。如果有缺失,直接点击安装即可。
4. 自定义TeXstudio的编译序列(可选)
为了让TeXstudio自动完成完整的编译流程,你可以添加自定义命令:
- 打开TeXstudio,点击「选项」→「配置TeXstudio」→「构建」
- 在「用户命令」区域,点击添加按钮,新增一个命令:
- 名称:
makeglossaries - 命令内容:
makeglossaries.exe "%"
- 名称:
- 然后在「构建序列」里,把这个
makeglossaries命令插入到「pdfLaTeX」之后,再追加两次「pdfLaTeX」,这样编译时会自动执行完整的术语表生成流程。
验证用的最小工作示例
你的原代码本身没有问题,这里整理一下格式方便测试:
\documentclass{scrbook} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{hyperref} \usepackage[]{glossaries} \makeglossaries \newacronym{lvm}{LVM}{Logical Volume Manager} \newglossaryentry{computer} { name=computer, description={is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format} } \begin{document} \section{Test} first : \gls{lvm} second : \gls{lvm} \glsaddall \printglossaries \end{document}
把这个代码放在本地路径下,按照正确的编译流程执行,应该就能正常显示术语表了。
内容的提问来源于stack exchange,提问作者brettsperrholz




