Dada una lista de comandos de compilación de Arara, ¿en qué paso debo usar la opción "shell: sí"?

Dada una lista de comandos de compilación de Arara, ¿en qué paso debo usar la opción "shell: sí"?

En caso de que necesite ejecutar una lista de comandos de compilación compleja con arara, sé que synctex: yessolo es necesario en el último paso, por ejemplo:

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

Pero si necesito la shell : yesopción, por ejemplo porque estoy usando tikzexternalize, ¿en qué punto debo ponerla?

Aquí un 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}

Respuesta1

Guardé su archivo como test.tex(y eliminé el prefijo de los archivos de figuras, pero es irrelevante).

Entonces corrí

pdflatex -shell-escape test
pdflatex test

lo cual no dio ningún problema. La segunda ejecución emite el mensaje.

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

lo que confirma mi afirmación.

Por lo tanto, concluyo que shell: yessólo es necesario para la primera ejecución del lote, lo que lleva a

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

Tendrías problemas si alguna imagen de TikZ contiene \refo \cite, pero esto es independiente araray ejecutar siempre pdflatexcon la -shell-escapeopción no lo solucionará.

Por otro lado, otros paquetes que necesitan -shell-escapepueden comportarse de manera diferente, por lo que me temo que no existe una regla general.

información relacionada