例如我想传递字符串\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");