![如何将 tex 格式的字符串作为参数传递给 metapost 宏?](https://linux22.com/image/408122/%E5%A6%82%E4%BD%95%E5%B0%86%20tex%20%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E7%BB%99%20metapost%20%E5%AE%8F%EF%BC%9F.png)
例如我想传递字符串\huge$p_2f_1$
宏
vardef macro(expr point, lab)=
label(btex lab, point);
enddef;
答案1
标签btex ... etex
将它们之间的 TeX 表达式转换为图片,而不是字符串。
你可以使用类似这样的东西
vardef macro(expr point, lab)=
label(lab, point);
enddef;
进而
macro(origin, btex your TeX code etex);
或者,假设您正在使用 LuaLaTeX 并luamplib
使用选项\mplibtextextlabel{enable}
,那么的文本参数label
确实应该是一个字符串,当您使用上面的宏时,您可以输入如下内容:
macro(origin, "your TeX code");