\input luaotfload.sty \input miniltx \input color \definecolor{orange}{cmyk}{0,.5,1,0} \input luamplib.sty \mpliblegacybehavior{true}% \everymplib{ beginfig(0); }\everyendmplib{ endfig; } \tracingcommands1 A% \mplibcode %% test all printable ascii chars in comments %% ( 2 < F P Z d n x %% ) 3 = G Q [ e o y %% * 4 > H R \ f p z %% ! + 5 ? I S ] g q { %% " , 6 @ J T ^ h r | %% # - 7 A K U _ i s } %% $ . 8 B L V ` j t ~ %% % / 9 C M W a k u DEL %% & 0 : D N X b l v %% ยด 1 ; E O Y c m w fill fullcircle scaled 20; \endmplibcode B\par \everymplib{}\everyendmplib{}% reset toks A% \mplibcode verbatimtex \lower.2em etex beginfig(0); draw origin--(1cm,0) withcolor red; draw btex g etex withcolor blue; draw btex\tracingcommands0 multi line tex code 100 \% color etex shifted (20,0); draw textext("\tracingcommands0 textext 50\% color") shifted (10,-10) withcolor .5white; draw bbox currentpicture; endfig; beginfig(18); numeric u; u = 1cm; draw (0,2u)--(0,0)--(4u,0); pickup pencircle scaled 1pt; draw (0,0){up} for i=1 upto 8: ..(i/2,sqrt(i/2))*u endfor; label.lrt(btex $\sqrt x$ etex, (3,sqrt 3)*u); label.bot(btex $x$ etex, (2u,0)); label.lft(btex $y$ etex, (0,u)); endfig; \endmplibcode B\par A% \mplibcode beginfig(2); numeric u; u=1cm; z1=-z2=(-u,0); for i = 1 upto 3: draw z1..(0, i*u)..z2; label.top(TEX("$e_{" & decimal(i) & "}$"), (0, i*u)) withcolor \mpcolor{orange}; endfor; endfig; \endmplibcode B\par\mplibforcehmode \mplibcodeinherit{enable}% \mplibglobaltextext{enable}% \everymplib{ beginfig(0);}\everyendmplib{ endfig;}% \mplibcode label(btex $\sqrt{2}$ etex, origin); draw fullcircle scaled 20; picture pic; pic := currentpicture; \endmplibcode \mplibcode currentpicture := pic scaled 2; \endmplibcode \mplibnoforcehmode \everymplib{}\everyendmplib{}% \mplibcodeinherit{disable}% \mplibglobaltextext{disable}\par \mplibsetformat{metafun}% \mplibcode message "Hello World!"; verbatimtex \moveright 0.4\hsize etex beginfig(0); path p; p:= fullcircle scaled 2cm yshifted .5cm; fill p withcolor transparent("normal", 0.5, red); fill p rotated 120 withcolor transparent("normal", 0.5, green); fill p rotated 240 withcolor transparent("normal", 0.5, blue); endfig; verbatimtex \leavevmode etex picture p; p := btex MetaPost etex scaled 2; beginfig(1); linear_shade(bbox p,0,blue,.7white); draw p withcolor white; endfig; verbatimtex \kern10pt etex beginfig(2); circular_shade(bbox p,0,blue,.7white); draw p withcolor white; endfig; \endmplibcode \newbox\mympbox \def\prependtomplibbox{\global\setbox\mympbox}% \mplibcode %verbatimtex \global\setbox\mympbox etex beginfig(0); breadth=.667\mpdim\hsize; height=2pt; x1=0; x2=x6=.333x4; x5=x3=.667x4; x4=breadth; y1=y4=height/2; y2=y3=height; y5=y6=0; fill z1--z2--z3--z4--z5--z6--cycle; endfig; \endmplibcode \copy\mympbox \copy\mympbox \copy\mympbox \copy\mympbox \mplibnoforcehmode \mplibnumbersystem{double}% \mplibcode beginfig(0); u := 10**5*(10**-4); draw unitsquare scaled u; endfig; \endmplibcode \mplibsetformat{plain}% \mplibcode input graph; beginfig(0); draw begingraph(100,100); gdraw (10,10)--(30,35)--(50,25)--(70,80)--(90,90); autogrid(otick.bot,); for y=20,40,60,80: grid.lft(format("%e",1000y), y) withcolor .85white; endfor endgraph; endfig; \endmplibcode \mplibtextextlabel{enable}% \mplibcode beginfig(0); dotlabel.rt("$\sqrt2$",origin); endfig; \endmplibcode \leavevmode \mplibcode D := sqrt(2)**7; beginfig(0); draw fullcircle scaled D; VerbatimTeX("\gdef\Dia{" & decimal D & "}"); endfig; \endmplibcode diameter:\Dia bp.% \mplibcode vardef rotatedlabel@#(expr str, loc, angl) = draw thelabel@#(str, loc) rotatedaround(loc, angl) enddef; beginfig(1); rotatedlabel.top(textext("Rotated!"), origin, 45); endfig; \endmplibcode \par \mplibcode beginfig(1) % in dvi mode, not work for type1 font draw mplibgraphictext "\bf Funny" fakebold 2 % fontspec option drawcolor blue fillcolor .5[red,white] scaled 3 rotated 30 ; picture p; p:=mplibgraphictext "\it xyz" fillcolor .7white; draw p scaled 3 shifted (40,0); endfig; \endmplibcode \par \mplibsetformat{metafun}% \mplibcode beginfig(1) fill unitsquare xyscaled (\mpdim\hsize, 1cm) withshademethod "linear" withshadevector (0,1) withshadestep ( withshadefraction .5 withshadecolors (red,blue) ) withshadestep ( withshadefraction 1 withshadecolors (blue,green) ) ; endfig; \endmplibcode \leavevmode \mpfig picture Q, u, e; Q := mplibglyph "Q" of "texgyrepagella-bolditalic.otf" scaled .1; u := mplibglyph "u" of "texgyrepagella-bolditalic.otf" scaled .1 shifted lrcorner Q; e := mplibglyph "e" of "texgyrepagella-bolditalic.otf" scaled .1 shifted lrcorner u; i:=0; totallen := length Q + length u + length e; for pic=Q, u, e: for item within pic: i:=i+1; fill pathpart item if i < totallen: withpostscript "collect"; fi endfor endfor withshademethod "linear" withshadedirection (0.5,2.5) withshadecolors (.7red,.7yellow) ; \endmpfig \everymplib[@mpfig]{ drawoptions(withcolor mplibrgbtexcolor"orange"); }% \mpfig* input boxes \endmpfig \mpfig circleit.a(btex\tracingcommands0 Box 1 etex); drawboxed(a); \endmpfig \tracingcommands0 \vskip 2\baselineskip \mplibcodeinherit{disable} \everymplib[instanceOne]{beginfig(1);} \everyendmplib[instanceOne]{endfig;} \mplibcode[instanceOne] picture TeX; TeX := btex \TeX etex; a := 1cm; draw fullcircle scaled a; draw btex a circle with $d=a$ etex shifted (a,0); draw TeX; \endmplibcode Current instance name is: \currentmpinstancename \vskip 2\baselineskip \mplibcode[instanceTwo] beginfig(1); if not known a: draw btex code is not inherited from an instance with a different name etex; else: errmessage("Variable was inherited from a different instance"); fi; endfig; \endmplibcode Current instance name is: \currentmpinstancename \vskip 2\baselineskip \mplibcode beginfig(1); if not known a: draw btex code is not inherited if instance name is not listed etex; else: errmessage("Variable was inherited from a different instance"); fi; a := 1cm; endfig; \endmplibcode Current instance name is: \currentmpinstancename (should be empty) \vskip 2\baselineskip \mplibcode beginfig(1); if not known a: draw btex code is not inherited if mplibcodeinherit is disabled and instance name is not explicitly set etex; else: errmessage("Variable was inherited when code inheritance is turned off and instance name is not set"); fi; endfig; \endmplibcode Current instance name is: \currentmpinstancename (should be empty) \vskip 2\baselineskip \mplibcode[instanceOne] draw unitsquare scaled a; draw btex a square with side $=a$, inherited from the same instance etex shifted (3/2a, 1/2a); draw TeX; \endmplibcode Current instance name is: \currentmpinstancename \vskip 2\baselineskip \bye