\lstdefinelanguage{MetaPost}{ morecomment=[l]{\%}, morestring=[b]", %keywords % Yellow keywords={ if,% fi,% for,% forsuffixes,% forever,% endfor,% while,% input,% addto,% clip,% cutdraw,% draw,% drawarrow,% drawdblarrow,% fill,% filldraw,% interim,% let,% loggingall,% newinternal,% pickup,% save,% setbounds,% shipout,% show,% showdependencies,% showtoken,% showvariable,% special,% tracingall,% tracingnone,% undraw,% unfill,% unfilldraw,% boxit,% boxjoin,% bpath,% buildcycle,% circleit,% dashpattern,% decr,% dotlabel,% dotlabels,% drawboxed,% drawboxes,% drawoptions,% drawunboxed,% fixpos,% fixsize,% incr,% label,% labels,% max,% min,% thelabel}% %Name:MetaPost Begin / End % Before:0~Alpha % After:0~Alpha % Enabled:1MetaPost % Strict Priority:0 % Priority:1 % Color:5122 % Case Sensitive:1 % % Yellow ,morekeywords=[1]{ beginfig,% endfig,% end}% % %Name:MetaPost TeX % Before:0~Alpha % After:0~Alpha % Enabled:1MetaPost % Strict Priority:0 % Priority:1 % Color:5121 % Case Sensitive:1 % Yellow,% ,morekeywords=[2]{ btex,% etex,% defaultfont,% fontsize,% verbatimtex}% % % %variables % bluish green ,morekeywords=[3]{ ahangle,% ahlength,% bboxmargin,% charcode,% circmargin,% day,% defaultdx,% defaultdy,% defaultpen,% defaultscale,% labeloffset,% linecap,% linejoin,% miterlimit,% month,% pausing,% prologues,% showstopping,% time,% tracingcapsules,% tracingchoices,% tracingcommands,% tracingequations,% tracinglostchars,% tracingmacros,% tracingonline,% tracingoutput,% tracingrestores,% tracingspecs,% tracingstats,% tracingtitles,% truecorners,% warningcheck,% year,% background,% currentpen,% currentpicture,% cuttings,% defaultfont,% extra_beginfig,% extra_endfig}% % %Name:MetaPost Constants % Before:0~Alpha % After:0~Alpha % Enabled:1MetaPost % Strict Priority:0 % Priority:1 % Color:1025 % Case Sensitive:1 % % red ,morekeywords=[4]{ beveled,% black,% blue,% bp,% butt,% cc,% cm,% dd,% ditto,% down,% epsilon,% evenly,% false,% fullcircle,% green,% halfcircle,% identity,% in,% infinity,% left,% mitered,% mm,% nullpicture,% origin,% pc,% pencircle,% pensquare,% pt,% quartercircle,% red,% right,% rounded,% squared,% true,% unitsquare,% up,% white,% withdots}% % %Name:MetaPost Positions % Before:1Point % After:0~Alpha % Enabled:1MetaPost % Strict Priority:0 % Priority:1 % Color:1027 % Case Sensitive:1 % % purple ,morekeywords=[5]{ bot,% lft,% ulft,% llft,% rt,% urt,% lrt,% top,% dx,% dy,% nw,% n,% ne,% w,% e,% sw,% s,% se}% % %Name:MetaPost Operators % Before:0~Alpha % After:0~Alpha % Enabled:1MetaPost % Strict Priority:0 % Priority:1 % Color:1029 % Case Sensitive:1 % % purple ,morekeywords=[6]{ ++,% +-+,% abs,% and,% angle,% arclength,% arctime,% ASCII,% bbox,% bluepart,% boolean,% ceiling,% center,% char,% color,% cosd,% cutafter,% cutbefore,% cycle,% decimal,% dir,% direction,% directionpoint,% directiontime,% div,% dotprod,% floor,% fontsize,% greenpart,% hex,% infont,% intersectionpoint,% intersectiontimes,% inverse,% known,% length,% llcorner,% lrcorner,% makepath,% makepen,% mexp,% mlog,% mod,% normaldeviate,% not ,% numeric,% oct,% odd,% or,% pair,% path,% pen,% penoffset,% picture,% point,% postcontrol,% precontrol,% redpart,% reverse,% rotated,% round,% scaled,% shifted,% sind,% slanted,% sqrt,% str,% string,% subpath,% substring,% transform,% transformed,% ulcorner,% uniformdeviate,% unitvektor,% unknown,% urcorner,% whatever,% xpart,% xscaled,% xxpart,% xypart,% ypart,% yscaled,% yxpart,% yypart,% zscaled,% exitif,% exitunless,% upto,% downto,% step,% until,% withcolor,% dashed,% lft,% rt,% top,% bot}% } \lstset{language=MetaPost, keywordstyle=\color{orange}, keywordstyle=[1]\color{orange}, keywordstyle=[2]\color{orange}, keywordstyle=[3]\color{bluegreen}, keywordstyle=[4]\color{purple}, keywordstyle=[5]\color{purple}, commentstyle=\color{blue}, stringstyle=\color{red}, basicstyle=\ttfamily } %Name:MetaPost Begin / End % Yellow 1 %Name:MetaPost TeX % Yellow,% 2 %variables % bluish green 3 %Name:MetaPost Constants % red 4 %Name:MetaPost Positions % purple 5 %Name:MetaPost Operators % purple 6