用于 Beamer 中的 Minted 的框架

用于 Beamer 中的 Minted 的框架

我遇到了tex通过\inputminted铸造包。当我尝试用 在代码周围添加一个框架时,frame=single我收到很多有关缺失$、缺失}和缺失的错误\item

MWE 是一个自引用tex文件,其内容如下:

% this is: frames_for_minted_in_beamer.tex
\documentclass{beamer}

\usepackage{minted}

\begin{document}
\begin{frame}[fragile]
    \inputminted[%
        label=frames_for_minted_in_beamer.tex,%
        % frame=single,% this does not work
    ]{latex}{./frames_for_minted_in_beamer.tex}
\end{frame}
\end{document}

这里出了什么问题?

谢谢你的帮助,弗朗兹

答案1

问题在于标签中使用的特殊字符。使用样式frame=single将在顶部排版标签,未转义的数学字符(例如)_将导致错误。

你可以通过以下方式逃避它们:

% !TeX program = txs:///arara
% arara: pdflatex: {synctex: on, interaction: nonstopmode, shell: yes}

% this is: frames_for_minted_in_beamer.tex
\documentclass{beamer}

\usepackage{minted}

\begin{document}
\begin{frame}[fragile]
    \inputminted[%
        label=frames\_for\_minted\_in\_beamer.tex,%
        frame=single,% this does not work
    ]{latex}{test.tex}
\end{frame}
\end{document}

或者使用该tcolorbox包绘制一个没有标签的简单框架:

% !TeX program = txs:///arara
% arara: pdflatex: {synctex: on, interaction: nonstopmode, shell: yes}

\documentclass{beamer}

\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
\tcbset{listing engine=minted,colback=white,sharp corners}

\begin{document}
\begin{frame}[fragile=singleslide]
\tcbinputlisting{minted language=latex,listing file=test.tex,label=test}
\end{frame}
\end{document}

相关内容