如何在 metapost 中使用 minted

如何在 metapost 中使用 minted

当我尝试使用 minted 和 metapost 时(使用 luamplib)

\begin{mplibcode}
beginfig(3);
    picture P;
    P = thelabel(btex \vbox{\begin{minted}{c++}
        int main() { return 0; } 
    \end{minted}} etex); 
    
    fill bbox P withcolor (1, 1, 31/32) draw P; draw bbox P;
endfig;
\end{mplibcode}

我收到这个错误

! Argument of \FV@BeginScanning has an extra }.
<inserted text> 
\par 
l.38     \end{mplibcode}

我怎样才能摆脱它?

答案1

这是一种(确实相当麻烦的)方法。

\documentclass{article}
\usepackage{luamplib}
\usepackage{minted}
\newbox\mintybox
\begin{document}
\setbox\mintybox=\vbox{\hsize=3in
\begin{minted}{c++}
   int main() { return 0; } 
\end{minted}
}
\[
\begin{mplibcode}
    beginfig(1); 
    picture P;
    P = thelabel(btex \box\mintybox etex, origin); 
    fill bbox P withcolor (1, 1, 31/32);
    draw P; 
    draw bbox P;
    endfig ; 
\end{mplibcode}
\]

\end{document}

编译它lualatex -shell-escape <yourfile.tex>得到以下内容:

在此处输入图片描述

笔记:您需要确保该\end{minted}行是独立的,并且同一行上没有任何内容。

相关内容