我如何才能看到现有数学符号的定义?

我如何才能看到现有数学符号的定义?

我想创建一个类似于\doublebarwedge包中的符号mathabx,用三角形代替楔形。因为我想使用这两个符号,所以它们应该尽可能相似(关于大小、高度、间距等)。这就是为什么我想看看符号\doublebarwedge是如何定义的。我在包文档中找不到任何东西。

这不是重复的:请参阅下面 David Charlisle 的评论。

答案1

mathabx 字体随 METAFONT 源代码一起发布。双杠楔形符号的相关源代码可在文件中找到,mathabx/source/mathltkl.mf内容如下:

beginchar(wedge_eqq,12u#+2appr#,asc_height#,0);% strange choice
  "Wedge-equal sign";
  pickup tiny.nib;
  top y2r=x_height; bot y1r=0; y1r=y1l=y3r=y3l;
  x2r=good.x 0.5w;
  x3r-x2r=x2r-x1r=hround((y2r-y1r+o)/sqrt3);% see wedge sign (+o)
  x1l-x1r=diag_width(rth-tiny,z2r-z1r);
  x3r-x3l=diag_width(rth-tiny,z2r-z3r);
  z2l-z1l=whatever*(z2r-z1r); z2l-z3l=whatever*(z2r-z3r);
  pos4(rth,90); pos5(rth,90); pos6(rth,90); pos7(rth,90);
  y4r=y5r=y2r; y6=y7=y4+spread1;
  lft x4=min(Appr,lft x1r); x5-x3r=x1r-x4; x4=x6; x5=x7;
  filldraw stroke z1e--z2e--z3e; filldraw stroke z4e..z5e;
  filldraw stroke z6e..z7e; penlabels(1,2,3,4,5,6,7);
endchar;

为了创建匹配的三角形,你只需要将第一filldraw stroke条指令更改为

   filldraw stroke z1e--z2e--z3e--z1e; % Close the drawing path

当然,您需要围绕最终源代码,使用驱动文件和宏包构建一个 METAFONT 基础结构(从 mathabx 包的结构中很容易掌握;有“驱动文件”,例如matha10.mf,宏文件mathbase.mf,最后是字符源,例如mathsymb.mf。重命名所有更改的文件并将其插入在一起。如果您自己无法正确理解,请随时在此网站上提问)。

相关内容