![如何在 metapost 中使用 minted](https://linux22.com/image/452256/%E5%A6%82%E4%BD%95%E5%9C%A8%20metapost%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20minted.png)
当我尝试使用 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}
行是独立的,并且同一行上没有任何内容。