Если вам нужно запустить сложный список команд компиляции с помощью arara
, я знаю, что это synctex: yes
необходимо только на последнем шаге, например:
% arara: pdflatex
% arara: frontespizio
% arara: biber
% arara: pdflatex
% arara: pdflatex: { synctex: yes }
Но если мне нужна эта shell : yes
опция, например, потому что я использую tikzexternalize
, в какой точке/точках мне ее следует разместить?
Вот пример:
% 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
что не дало никаких проблем. Второй запуск выдает сообщение
===== Image 'test-figure0' is up-to-date. ======
что подтверждает мое заявление.
Таким образом, я прихожу к выводу, что shell: yes
это необходимо только для первого запуска партии, что приводит к
% arara: pdflatex { shell: yes }
% arara: frontespizio
% arara: biber
% arara: pdflatex
% arara: pdflatex: { synctex: yes }
У вас могут возникнуть проблемы, если какая-либо картинка TikZ содержит \ref
или \cite
, но это не зависит от arara
и постоянный запуск pdflatex
с этой -shell-escape
опцией не исправит ситуацию.
С другой стороны, другие пакеты, которым это необходимо, -shell-escape
могут вести себя по-другому, поэтому, боюсь, общего правила не существует.