Ich baue außerhalb des Quellcodes, daher sieht mein Build-Befehl so aus
pdflatex -shell-escape --halt-on-error -output-directory="/tmp/build" book.tex
Ich habe minted zur Syntaxhervorhebung verwendet
\newcommand{\mintedoptions}{cachedir=/tmp/mint}
\usepackage[\mintedoptions]{minted}
\begin{document}
\inputminted{c}{program.c}
\end{document}
So weit hat es gut funktioniert, aber als ich versuchte, es einzuführen, \begin{minted}{c}...\end{minted}
erhielt ich diesen Fehler:
! Package minted Error: Missing Pygments output; \inputminted was
probably given a file that does not exist--otherwise, you may need
the outputdir package option, or may be using an incompatible build tool.
Dieses Problem hatgelöst, ich habe den Fix auf mein Dokument angewendet
\newcommand{\mintedoptions}{cachedir=/tmp/mint,outputdir=/tmp/build}
jetzt wird das Dokument anscheinend korrekt kompiliert, aber der erstellte Cache scheint nicht genutzt zu werden - die Kompilierung ist sehr langsam, weil alle erstellten Codeschnipsel jedes Mal von Grund auf neu kompiliert werden
Wie kann ich das Ausgabeverzeichnis angeben und den Cache weiterhin verwenden?
Hier ist ein vollständiges MWE
\documentclass[a4paper,10pt]{scrbook}
\newcommand{\mintedoptions}{cachedir=/tmp/mint2,outputdir=/tmp/xxx}
\usepackage[\mintedoptions]{minted}
\begin{document}
\inputminted{c}{program.c}
\begin{minted}{c}
int main ();
\end{minted}
\end{document}
Zusammengestellt mit
mkdir /tmp/xxx && pdflatex -shell-escape --halt-on-error -output-directory="/tmp/xxx" mwe.tex