我有一个 tex 文档,在本地编译时可以很好地呈现词汇表。但是,当使用 overleaf 时,定义为的条目\newacronym
被链接,但即使调用了,词汇表条目的摘要也不会输出\printGlossaries
。
overleaf 编译器中是否有一些隐藏设置可以启用词汇表?
编辑
按照要求:
该文件:
\documentclass{article}
\usepackage[acronym]{glossaries}
\makeglossaries
\newacronym{isp}{ISP}{internet service provider}
\begin{document}
A dummy glossary not showing up \gls{isp}.
\printglossary
\end{document}
答案1
overleaf 的支持告诉我它应该可以按预期工作,但当且仅当我的 tex 文档位于根文件夹中 - 而不是在子目录中。
答案2
尝试使用\printglossaries
(https://www.overleaf.com/learn/latex/Glossaries)
答案3
正如前一位发帖人所说,这是因为主文件不在根文件夹中。我添加了一个.latexmkrc
文件到根文件夹中作为解决方法。有了这个文件,我仍然可以把我的文件组织在子文件夹中,并且词汇表可以正确呈现。请根据您的需要进行调整。
免责声明:我不是专家,但这对我有用。
# Specify the main files
@default_files = ('paper.tex');
$pdflatex = 'pdflatex %O -interaction=nonstopmode -shell-escape %S';
# Specify the bibliography
$bibtex = 'bibtex %O %B';
$makeglossaries = 'makeglossaries %O %B';
# Continuous preview mode
$continuous_mode = 1;
# Output to PDF
$pdf_mode = 1;
# Keep auxiliary files
$clean_ext = "";
add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
$clean_ext .= " acr acn alg glo gls glg";
sub makeglossaries {
my ($base_name, $path) = fileparse( $_[0] );
my @args = ( "-q", "-d", $path, $base_name );
if ($silent) { unshift @args, "-q"; }
return system "makeglossaries", "-d", $path, $base_name;
}
# Silence warnings
$silent = 1;