我本地安装了 Overleaf 社区版。定义的首字母缩略词可以被识别 - 可以通过 \acrshort{} 和 \acrfull{} 打印,但即使我使用 Overleaf 文档中词汇表的示例,词汇表也无法打印。
\documentclass{article}
\usepackage[acronym]{glossaries}
\makeglossaries
\newacronym{gcd}{GCD}{Greatest Common Divisor}
\newacronym{lcm}{LCM}{Least Common Multiple}
\begin{document}
Given a set of numbers, there are elementary methods to compute
its \acrlong{gcd}, which is abbreviated \acrshort{gcd}. This process
is similar to that used for the \acrfull{lcm}.
\clearpage
\printglossary[type=\acronymtype]
\end{document}
我已清除缓存,包已安装,文件位于项目的根文件夹中。此代码在网页版上有效,但在本地无效。
答案1
我遇到了同样的问题。我的设置:通过工具包安装本地 Overleaf 3.2.2 实例。我找到了一个解决方法docker overleaf github。我尝试了这两种方法。两种方法都有效。我将它们复制到此处:
- 每个项目的配置:
latexmkrc
在项目中创建文件,添加以下内容:
# Fix generating of glossaries
# Source: https://github.com/overleaf/docker-image/issues/6#issuecomment-282931678
add_cus_dep('glo', 'gls', 0, 'makeglo2gls');
sub makeglo2gls {
system("makeindex -s '$_[0]'.ist -t '$_[0]'.glg -o '$_[0]'.gls '$_[0]'.glo");
}
add_cus_dep('acn', 'acr', 0, 'makeacn2acr');
sub makeacn2acr {
system("makeindex -s \"$_[0].ist\" -t \"$_[0].alg\" -o \"$_[0].acr\" \"$_[0].acn\"");
}
清除所有缓存文件并重新编译。
- 对于整个实例:输入 docker 镜像(
bin/shell
在工具包目录中)。运行:mkdir -p /usr/local/lib/latexmk
。在此目录中创建文件latexmkrc
,内容与上一点相同。请记住,容器是临时的,因此您必须保存新容器。请参阅工具包文档.清除所有生成的文件并重新编译。