该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}