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

문제가 없었습니다. 두 번째 실행에서는 메시지가 발행됩니다.

===== 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는 다르게 동작할 수 있으므로 일반적인 규칙은 없습니다.

관련 정보