summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luamplib/test-luamplib-latex.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/luatex/generic/luamplib/test-luamplib-latex.tex
Initial commit
Diffstat (limited to 'macros/luatex/generic/luamplib/test-luamplib-latex.tex')
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-latex.tex164
1 files changed, 164 insertions, 0 deletions
diff --git a/macros/luatex/generic/luamplib/test-luamplib-latex.tex b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
new file mode 100644
index 0000000000..237a289748
--- /dev/null
+++ b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
@@ -0,0 +1,164 @@
+\documentclass{article}
+\usepackage{luamplib}
+\usepackage{xcolor}
+\everymplib{ beginfig(0); }
+\everyendmplib{ endfig; }
+\mpliblegacybehavior{true}%
+\begin{document}
+\tracingcommands1
+A%
+\begin{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; %% actual <tab> to make sure it works
+\end{mplibcode}%
+B\par
+\everymplib{}\everyendmplib{}% reset toks
+A%
+\begin{mplibcode}
+verbatimtex \lower.2em etex
+beginfig(0);
+draw origin--(1cm,0) withcolor \mpcolor{teal};
+draw btex g etex withcolor \mpcolor{orange};
+draw btex\tracingcommands0
+ multi%
+ \begin{huge}line\end{huge}%
+ texcode
+ with \%
+ etex shifted (10,0);
+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;
+\end{mplibcode}%
+B\par
+A%
+\begin{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{red!70!blue};
+endfor;
+endfig;
+\end{mplibcode}%
+B\par\leavevmode
+\mplibcodeinherit{enable}%
+\mplibglobaltextext{enable}%
+\everymplib{ beginfig(0);}\everyendmplib{ endfig;}%
+\begin{mplibcode}
+ label(btex $\sqrt{2}$ etex, origin);
+ draw fullcircle scaled 20;
+ picture pic; pic := currentpicture;
+\end{mplibcode}%
+\begin{mplibcode}
+ currentpicture := pic scaled 2;
+\end{mplibcode}%
+\everymplib{}\everyendmplib{}%
+\mplibcodeinherit{disable}%
+\mplibglobaltextext{disable}\par
+\mplibsetformat{metafun}%
+\begin{mplibcode}
+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;
+\end{mplibcode}%
+
+\newbox\mympbox
+\begin{mplibcode}
+verbatimtex \global\setbox\mympbox etex
+beginfig(0);
+breadth=.667\mpdim\linewidth;
+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;
+\end{mplibcode}%
+\copy\mympbox
+\copy\mympbox
+\copy\mympbox
+\copy\mympbox
+
+\mplibnumbersystem{double}%
+\begin{mplibcode}
+beginfig(0);
+u := 10**5*(10**-4);
+draw unitsquare scaled u;
+endfig;
+\end{mplibcode}%
+\mplibsetformat{plain}%
+\begin{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;
+\end{mplibcode}%
+\mplibtextextlabel{enable}%
+\begin{mplibcode}
+beginfig(0);
+dotlabel.rt("$\sqrt2$",origin);
+endfig;
+\end{mplibcode}%
+\leavevmode
+\begin{mplibcode}
+ D := sqrt(2)**7;
+ beginfig(0);
+ draw fullcircle scaled D;
+ VerbatimTeX("\gdef\Dia{" & decimal D & "}");
+ endfig;
+\end{mplibcode}%
+diameter:\Dia bp.%
+\begin{mplibcode}
+ vardef rotatedlabel@#(expr str, loc, angl) =
+ draw thelabel@#(str, loc) rotatedaround(loc, angl)
+ enddef;
+
+ beginfig(1);
+ rotatedlabel.top(textext("Rotated!"), origin, 45);
+ endfig;
+\end{mplibcode}%
+\end{document}