![Metapost 中数学表达式的字体](https://linux22.com/image/315222/Metapost%20%E4%B8%AD%E6%95%B0%E5%AD%A6%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E5%AD%97%E4%BD%93.png)
我尝试创建一个包含数学字体的 Metapost 图形,例如:
beginfig(1);
label.urt(btex $\mathfrak{b}$ etex,(100,0));
label(btex $\mathcal{X}_{\eta}$ etex,(-15,55));
endfig;
end
运行“mpost filename”会出现“无法制作 mpx 文件”的情况。原因是包含的字体。我应该怎么做才能让它工作?谢谢,Eilon
答案1
另一种方法:使用latexmp
包及其textext
宏。与传统标志相反btex…etex
,它允许您在标签内使用循环。
input latexmp;
setupLaTeXMP(packages="amssymb");
beginfig(1);
label.urt(textext("$\mathfrak{b}$"),(100,0));
for i = 1 upto 5:
label(textext("$\mathcal{X}_{" & decimal i & "\eta}$"),(-15i,55));
endfor
endfig;
end.
缺点是你必须运行程序两次才能显示标签。为了避免这种情况,你可以将包变量设置mode
为rerun
:
setupLaTeXMP(packages="amssymb", mode=rerun);
有一些限制,详细说明在非常精心制作的文档。
答案2
尝试
verbatimtex
%&latex
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
etex;
prologues:=3;
beginfig(1);
label.urt(btex $\mathfrak{b}$ etex,(100,0));
label(btex $\mathcal{X}_{\eta}$ etex,(-15,55));
endfig;
end.