arara コンパイル コマンドのリストがある場合、どのステップで「shell : yes」オプションを使用すればよいですか?

arara コンパイル コマンドのリストがある場合、どのステップで「shell : yes」オプションを使用すればよいですか?

複雑なコンパイル コマンド リストを で実行する必要がある場合、最後のステップでのみ が必要であるararaことがわかります。次に例を示します。synctex: yes

% arara: pdflatex
% arara: frontespizio
% arara: biber
% arara: pdflatex
% arara: pdflatex: { synctex: yes }

しかしshell : yes、たとえば を使用しているためにオプションが必要な場合はtikzexternalize、どの時点でオプションを配置すればよいでしょうか?

ここに mwe があります:

% arara: pdflatex: { shell : yes }
% arara: biber
% arara: pdflatex: { shell : yes }
% arara: pdflatex: { shell : yes , synctex: yes }
\documentclass[11pt,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[british]{babel} 

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix={Figures/}] % activate!

\usepackage[style=authoryear-icomp, backend=biber,hyperref=true]{biblatex} 
\usepackage{csquotes} 
\usepackage{hyperref} 

\addbibresource{biblatex-examples.bib} 

\begin{document}

    \begin{tikzpicture}
        \fill[green] (0,0) rectangle (1,1);
    \end{tikzpicture}

    \cite{aristotle:rhetoric}
    \printbibliography

\end{document}

答え1

ファイルを次のように保存しましたtest.tex(図ファイルのプレフィックスは削除しましたが、これは無関係です)。

それから私は走った

pdflatex -shell-escape test
pdflatex test

問題はなかった。2回目の実行では、次のメッセージが表示される。

===== Image 'test-figure0' is up-to-date. ======

それは私の発言を裏付けるものです。

したがって、shell: yes最初のバッチ実行にのみ必要であり、

% arara: pdflatex { shell: yes }
% arara: frontespizio
% arara: biber
% arara: pdflatex
% arara: pdflatex: { synctex: yes }

\ref一部の TikZ 画像にまたは が含まれている場合は問題が発生します\citeが、これは とは無関係でありarara、常にオプションpdflatexを指定して実行しても-shell-escape問題は解決されません。

一方、他のパッケージでは-shell-escape動作が異なる場合があるため、一般的なルールはありません。

関連情報