Я собираю из исходного кода, поэтому моя команда сборки выглядит так:
pdflatex -shell-escape --halt-on-error -output-directory="/tmp/build" book.tex
Я использую minted для подсветки синтаксиса
\newcommand{\mintedoptions}{cachedir=/tmp/mint}
\usepackage[\mintedoptions]{minted}
\begin{document}
\inputminted{c}{program.c}
\end{document}
Все работало нормально, но когда я попытался ввести данные, \begin{minted}{c}...\end{minted}
возникла следующая ошибка:
! 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.
Эта проблема имеетбыла решена, я применил исправление к моему документу
\newcommand{\mintedoptions}{cachedir=/tmp/mint,outputdir=/tmp/build}
теперь документ компилируется, по-видимому, правильно, но отредактированный кэш, похоже, не используется — компиляция очень медленная, поскольку все отредактированные фрагменты кода каждый раз перекомпилируются с нуля
Как указать outputdir и продолжать использовать кэш?
Вот полный 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}
Скомпилировано с
mkdir /tmp/xxx && pdflatex -shell-escape --halt-on-error -output-directory="/tmp/xxx" mwe.tex