Metapost:在 vardef 中定义

Metapost:在 vardef 中定义

在 中label.top("foo", origin)top是标签后缀。我可以label suffix通过函数调用传递吗?鉴于suffix qqaa

vardef (suffix qqaa)foo (expr ...)
  label.qqaa("whatever", origin);
enddef;

我不知道(suffix qqaa)应该把函数放在哪里。而且我不知道如何调用foo来传递标签后缀。

我们可以在vardef中定义一个变量,例如vardef foo (expr ..., position)。然后position根据判断if else给标签赋予正确的后缀。但如果能直接传递标签后缀会方便得多。

目的是让用户能够灵活地定义核心功能之外的标签位置。

相关内容