minted 与 beamerswitch 之间的交互

minted 与 beamerswitch 之间的交互

beamerswitch软件包允许对同一文档进行多次并行编译,通常用于生成文章和幻灯片版本。我希望将其与结合使用minted,以便幻灯片(和文本)包含一些源代码。但是,似乎这两个软件包都以不兼容的方式处理辅助文件。这是一个 MWE:

\documentclass[
  article,
  alsobeamer,
]{beamerswitch}

\usepackage{minted}

\begin{document}

\begin{frame}[fragile]{Test}

\begin{minted}{OCaml}
  type 'a tree = 
    | Leaf 
    | Node of 'a * 'a tree * 'a tree
\end{minted}

\end{frame}

\end{document}

主编译按预期成功,并生成了具有正确 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,
or may be using frozencache with a missing file.

我尝试使用 明确设置minted的缓存目录\usepackage[cachedir=_minted-mwe]{minted},但似乎没有帮助。可能有更智能的类似方法可以完成,但我不知道是什么。

答案1

文档beamerswitch第 6 页有一个关于如何为生成的进程启用 shell 逃逸的示例:

\newcommand*{\SpawnedCompiler}{latexmk -silent -shell-escape -interaction=nonstopmode}
\documentclass[
  article,
  alsobeamer,
]{beamerswitch}

\usepackage{minted}

\begin{document}

\begin{frame}[fragile]{Test}

\begin{minted}{OCaml}
  type 'a tree = 
    | Leaf 
    | Node of 'a * 'a tree * 'a tree
\end{minted}

\end{frame}

\end{document}

在此处输入图片描述

相关内容