\printglossary 在 Overleaf 社区服务器上无法本地运行

\printglossary 在 Overleaf 社区服务器上无法本地运行

我本地安装了 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。我尝试了这两种方法。两种方法都有效。我将它们复制到此处:

  1. 每个项目的配置: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\"");
}

清除所有缓存文件并重新编译。

  1. 对于整个实例:输入 docker 镜像(bin/shell在工具包目录中)。运行:mkdir -p /usr/local/lib/latexmk。在此目录中创建文件latexmkrc,内容与上一点相同。请记住,容器是临时的,因此您必须保存新容器。请参阅工具包文档.清除所有生成的文件并重新编译。

相关内容