在 ConTeXt Metapost 中使用 sans 作为默认字体

在 ConTeXt Metapost 中使用 sans 作为默认字体

在 ConTeXt 中使用 metapost 时,我希望所有标签默认为 sans。哪个选项可以配置它,我应该使用哪个环境来传递它(MPinclusions?)

我知道这个帖子但并不完全了解如何实现它(我在家里使用 lmtx 进行编译,在学校使用 mkiv 进行编译)。

\setuppapersize [S3]
\setupbodyfont[sans]


\startreusableMPgraphic{Label}
label ("Typeset in \METAFUN\ ",origin);
% this is what I do know, making the code less readable
% and error-prone, waisting also my time…
% label ("{\ss Typeset in \METAFUN\ }",origin);
\stopreusableMPgraphic

\starttext

Typeset by \CONTEXT\

\blank[big]
\reuseMPgraphic{Label}

\stoptext

输出:ConTeXt 中的 sans,METAPOST 中的 serif

答案1

以下内容适用于 LMTX 和 MkIV:

\setuppapersize[S3]
%%% From meta-ini.mkxl
\definefontsynonym[MetafunDefault][Sans*default]

%%% Already set. You can choose another font as default.
%\startMPinitializations 
%defaultfont:="\truefontname{MetafunDefault}";
%\stopMPinitializations

\startreusableMPgraphic{Label}
label ("Typeset in \METAFUN\ ",origin);
\stopreusableMPgraphic

\starttext
Typeset by \CONTEXT

\blank[big]
\reuseMPgraphic{Label}

\stoptext

在此处输入图片描述

答案2

你也可以textext在字符串周围使用它。

在下面的例子中,我还添加了and\setupbodyfont内部,因为它允许与主文档中完全不同的设置。\startMPenvironment\stopMPenvironment

\setupbodyfont[termes,ss,12pt]

\startMPenvironment
\setupbodyfont[termes,ss,8pt]
\stopMPenvironment


\startreusableMPgraphic{Label}
label (textext("Typeset in \METAFUN\ "),origin);
\stopreusableMPgraphic

\startTEXpage[offset=3bp]

Typeset by \CONTEXT\

\blank[big]
\reuseMPgraphic{Label}

\stopTEXpage

大量无衬线文字

相关内容