如何使用 Rubber 与 Makeglossaries?

如何使用 Rubber 与 Makeglossaries?

有没有办法使用橡胶makeglossaries

我找到了一个简单案例的解决方案。在这种情况下,您必须将 rubber 指令添加到 latex 文档中myDoc.tex

% rubber: onchange myDoc.glo 'makeglossaries myDoc'

但是当您想在首字母缩略词描述中使用词汇表条目的链接时,如下例所示:

\newglossaryentry{test}
{
  name={test},
  description={big description of the test)},
}
\newacronym[description={\gls{test}}]{t}{t}{test}

\gls{t}

您必须更频繁地编译它(参见glossaries手册,第 16 页):

latex myDoc
makeglossaries myDoc
latex myDoc
makeglossaries myDoc
latex myDoc

我尝试了一些橡胶指令和规则,但无法使其发挥作用。

还有谁有想法吗?

答案1

只需向 myDoc.tex 添加以下附加指令

% rubber: watch myDoc.glo

即使如此,仍然存在一个问题,如果您重命名 glossaryentry(例如从“test”到“test2”),您必须在调用 rubber 之前手动运行 makeglossaries,因为 myDoc.gls 仍然包含旧条目“test”。

另一个副作用是,如果你使用 --into 编译到不同的目录中,则必须将该目录添加到指令中。因此调用

rubber --into=tmp myDoc.tex

需要这些指令:

% rubber: onchange tmp/myDoc.glo 'makeglossaries myDoc'
% rubber: watch tmp/myDoc.glo

相关内容