我有这个文件:
% arara: pdflatex
\documentclass[11pt, openright,
% draft
]{book}
\begin{document}
Something
\end{document}
如果我想要最终版本和草稿版本,我必须运行arara
一次,重命名输出 pdf,取消注释draft
,然后arara
再次运行。
是否有可能做类似的事情:
% arara: pdflatex
% arara: pdflatex { pass-this-option-to-documentclass : draft , call-the-doc : _draft}
\documentclass[11pt, openright,
]{book}
\begin{document}
Something
\end{document}
并且一次性获得 PDF 草稿和最终版本?
答案1
arara 可以更改作业名称。我复制了一份 pdflatex.yaml,命名为 pdflatexX.yaml,并在标识符处更改了两个地方:
identifier: pdflatexX
并在草案规则中(我不认为它有用,我从不使用--draftmode):
- identifier: draft
flag: >
@{
joboption='--jobname=';
jobname=getBasename(file).concat('-draft');
return joboption.concat(jobname)
}
可以通过一些命令行定义来传递草稿选项,但我更喜欢一些 expl3 代码并简单地测试作业名称:
% arara: pdflatexX
% arara: pdflatexX: {draft: yes}
\RequirePackage{expl3}
\ExplSyntaxOn\makeatletter
\str_if_in:NnT \jobname {draft} {\def\@classoptionslist{draft}}
\ExplSyntaxOff\makeatother
\documentclass[11pt, openright]{book}
\usepackage{graphicx}
\begin{document}
Something \includegraphics{example-image-duck}
\end{document}
这会生成两个 pdf 文件——一个-draft
附加了使用草稿设置的名称。