我想verbatimtex
在 中使用metapost
并编译它lualatex
。后面是一小段代码。但失败了。我在 google 上搜索并verbatimtex
在这里和那里添加了块,但没有成功。请帮忙。谢谢。
\RequirePackage{luatex85}
verbatimtex
%&latex
\documentclass{article}
\usepackage{luamplib}
\mplibtextextlabel{enable}
\begin{document}
etex
\begin{mplibcode}
beginfig(1);
z0 = (0,0); z1 = (sqrt(3)*cm,0);
z2 = (sqrt(3)*cm,1cm);
draw z0--z1--z2--cycle;
label.bot(btex $\sqrt{3}$ etex, 1/2[z0,z1]);
label.rt(btex $\frac{1}{2}$ etex, 1/2[z1,z2]);
label.top(btex 1 etex, 1/2[z0,z2]);
endfig;
\end{mplibcode}
verbatimtex
\end{document}
etex
end;
答案1
MetaPost 已集成在 Lua(La)TeX 中,因此在大多数情况下verbatimtex… etex
是无用的。不过,如果您希望图片居中、向左或向右对齐等等,您可能需要使用它,在每张图片前插入执行此操作\leavevmode
所需的命令。
请参阅下文,以及luamplib
文档了解更多详细信息,尤其是第 2 页。
%\RequirePackage{luatex85} % Needed mostly for the standalone class
\documentclass{article}
\usepackage{luamplib}
%\mplibtextextlabel{enable} % Not needed here since you use btex… etex
\everymplib{verbatimtex \leavevmode etex; beginfig(1);}
\everyendmplib{endfig;}
\begin{document}
Here is a picture:
\begin{center}
\begin{mplibcode}
z0 = (0,0); z1 = (sqrt(3)*cm,0);
z2 = (sqrt(3)*cm,1cm);
draw z0--z1--z2--cycle;
label.bot(btex $\sqrt{3}$ etex, 1/2[z0,z1]);
label.rt(btex $\frac{1}{2}$ etex, 1/2[z1,z2]);
label.top(btex 1 etex, 1/2[z0,z2]);
\end{mplibcode}
\end{center}
\end{document}