使用LaTeX acro包生成缩写列表时PDF仅显示标题无内容的问题咨询
问题原因与解决方法
这个问题的核心是acro包的默认行为逻辑:它默认只会在缩写列表中显示已经被实际使用过(通过\ac/\acf等命令调用激活)的缩写。你的代码里把\printacronyms放在了\ac{uxo}之前,这时候执行打印列表命令时,uxo这个缩写还没有被标记为“已使用”,所以acro不会把它加入到输出列表里——虽然你已经声明了它,但它还没被“激活”。
另外顺便提一句:你代码里long = Unexploded Ordenances有个拼写错误,正确的应该是Unexploded Ordnances(Ordnance是军械/弹药的标准拼写)。
下面是三种可行的解决方法:
方法1:调整命令顺序,先使用缩写再打印列表
把\ac{uxo}移到\printacronyms前面,这样在生成列表前,缩写已经被激活,就会显示出来:
\documentclass[13pt, titlepage]{article} \usepackage{acro} \begin{document} \DeclareAcronym{uxo}{ short = UXO , long = Unexploded Ordnances , tag = abbrev } \ac{uxo} % 先调用缩写,标记为已使用 \printacronyms[include=abbrev, name=Abkürzungsverzeichnis] \end{document}
方法2:强制标记缩写为已使用
在\DeclareAcronym中添加used = true参数,不管是否调用过缩写,都会让它出现在列表里:
\DeclareAcronym{uxo}{ short = UXO , long = Unexploded Ordnances , tag = abbrev, used = true % 强制激活缩写,直接加入列表 }
方法3:让打印命令包含未使用的缩写
修改\printacronyms的参数,添加include-unused选项,这样所有标记为abbrev的缩写,无论是否被使用,都会被打印:
\printacronyms[include=abbrev, include-unused, name=Abkürzungsverzeichnis]
内容的提问来源于stack exchange,提问作者tomthecom
相关产品推荐
相关产品推荐

