我正在做一个大项目(3 卷,每卷约 500 页),我用它bib2gls
管理我的词汇表。为了节省编译时间,我开始使用arara
条件语句,例如如何告诉 Arara 跳过多余的步骤?但是我无法弄清楚如何传递条件,bib2gls
仅当我在文档中添加词汇表条目的另一个实例时才运行\gls{example}
。
我尝试添加% arara: bib2gls if changed ('glg') || changed ('glstex')
假设我之前已经运行过,因此和都MyDoc.glg
已经MyDoc.glstex
存在。我不明白它是如何bib2gls
工作的,但我注意到在运行后MyDoc.glstex
添加信息会发生变化。所以我在这里迷路了。example
bib2gls
我将不胜感激任何能够解决我的问题的想法或见解bib2gls
。
编辑:MWE
MyDoc.tex
:
% arara: xelatex
% arara: biber if missing('bbl') || found('log', 'Citation')
% arara: --> || changed (toFile('MyBibliography.bib'))
% arara: bib2gls if missing('glstex') || changed ('glg')
% arara: --> || changed ('glstex') || changed (toFile('MyGlos.bib'))
% arara: xelatex until !found('log', '\\(?(R|r)e\\)?run (to get|LaTeX)')
\documentclass{book}
\usepackage[backend=biber, style=numeric]{biblatex}
\usepackage{csquotes}
\usepackage[colorlinks]{hyperref}
\usepackage[record,index,postdot]{glossaries-extra}
\usepackage{glossary-bookindex}
\setglossarystyle{bookindex}
\renewcommand{\glsxtrbookindexcols}{3}
\newglossary{ind}{ing}{ige}{My Index}
\GlsXtrLoadResources[
src=MyGloss,
type=ind,
]
\addbibresource{MyBibliography.bib}
\begin{document}
Test \gls{hi} as seen in~\cite{blah}
\printunsrtglossary[type=ind, style=bookindex]
\printbibliography
\end{document}
MyGloss.bib
:
@index{hi,
name = {Hello World!},
}
@index{foo,
name = {Foo},
}
MyBlibliography.bib
:
@book{blah,
author = {The Author},
publisher = {Publisher},
title = {An imortant book},
year = {2020}
}