%% %% This is file `luamplib.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% luamplib.dtx (with options: `package') %% %% See source file 'luamplib.dtx' for licencing and contact information. %% \bgroup\expandafter\expandafter\expandafter\egroup \expandafter\ifx\csname selectfont\endcsname\relax \input ltluatex \else \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{luamplib} [2021/08/03 v2.20.9 mplib package for LuaTeX] \ifx\newluafunction\@undefined \input ltluatex \fi \fi \directlua{require("luamplib")} \ifx\pdfoutput\undefined \let\pdfoutput\outputmode \protected\def\pdfliteral{\pdfextension literal} \fi \ifx\pdfliteral\undefined \protected\def\pdfliteral{\pdfextension literal} \fi \def\mplibsetformat#1{\directlua{luamplib.setformat("#1")}} \ifnum\pdfoutput>0 \let\mplibtoPDF\pdfliteral \else \def\mplibtoPDF#1{\special{pdf:literal direct #1}} \ifcsname PackageWarning\endcsname \PackageWarning{luamplib}{take dvipdfmx path, no support for other dvi tools currently.} \else \write128{} \write128{luamplib Warning: take dvipdfmx path, no support for other dvi tools currently.} \write128{} \fi \fi \def\mplibforcehmode{\let\prependtomplibbox\leavevmode} \def\mplibnoforcehmode{\let\prependtomplibbox\relax} \mplibnoforcehmode \def\mplibsetupcatcodes{% %catcode`\{=12 %catcode`\}=12 \catcode`\#=12 \catcode`\^=12 \catcode`\~=12 \catcode`\_=12 \catcode`\&=12 \catcode`\$=12 \catcode`\%=12 \catcode`\^^M=12 } \def\mplibputtextbox#1{\vbox to 0pt{\vss\hbox to 0pt{\raise\dp#1\copy#1\hss}}} \unless\ifcsname ver@luamplib.sty\endcsname \def\mplibcode{% \begingroup \begingroup \mplibsetupcatcodes \mplibdocode } \long\def\mplibdocode#1\endmplibcode{% \endgroup \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===])}% \endgroup } \else \newenvironment{mplibcode}{% \mplibtmptoks{}\ltxdomplibcode }{} \def\ltxdomplibcode{% \begingroup \mplibsetupcatcodes \ltxdomplibcodeindeed } \def\mplib@mplibcode{mplibcode} \long\def\ltxdomplibcodeindeed#1\end#2{% \endgroup \mplibtmptoks\expandafter{\the\mplibtmptoks#1}% \def\mplibtemp@a{#2}% \ifx\mplib@mplibcode\mplibtemp@a \directlua{luamplib.process_mplibcode([===[\the\mplibtmptoks]===])}% \end{mplibcode}% \else \mplibtmptoks\expandafter{\the\mplibtmptoks\end{#2}}% \expandafter\ltxdomplibcode \fi } \fi \def\mplibshowlog#1{\directlua{ local s = string.lower("#1") if s == "enable" or s == "true" or s == "yes" then luamplib.showlog = true else luamplib.showlog = false end }} \def\mpliblegacybehavior#1{\directlua{ local s = string.lower("#1") if s == "enable" or s == "true" or s == "yes" then luamplib.legacy_verbatimtex = true else luamplib.legacy_verbatimtex = false end }} \def\mplibverbatim#1{\directlua{ local s = string.lower("#1") if s == "enable" or s == "true" or s == "yes" then luamplib.verbatiminput = true else luamplib.verbatiminput = false end }} \newtoks\mplibtmptoks \newtoks\everymplibtoks \newtoks\everyendmplibtoks \protected\def\everymplib{% \begingroup \mplibsetupcatcodes \mplibdoeverymplib } \long\def\mplibdoeverymplib#1{% \endgroup \everymplibtoks{#1}% } \protected\def\everyendmplib{% \begingroup \mplibsetupcatcodes \mplibdoeveryendmplib } \long\def\mplibdoeveryendmplib#1{% \endgroup \everyendmplibtoks{#1}% } \def\mpdim#1{ mplibdimen("#1") } \def\mpcolor#1#{\domplibcolor{#1}} \def\domplibcolor#1#2{ mplibcolor("#1{#2}") } \def\mplibnumbersystem#1{\directlua{ local t = "#1" if t == "binary" then t = "decimal" end luamplib.numbersystem = t }} \def\mplibmakenocache#1{\mplibdomakenocache #1,*,} \def\mplibdomakenocache#1,{% \ifx\empty#1\empty \expandafter\mplibdomakenocache \else \ifx*#1\else \directlua{luamplib.noneedtoreplace["#1.mp"]=true}% \expandafter\expandafter\expandafter\mplibdomakenocache \fi \fi } \def\mplibcancelnocache#1{\mplibdocancelnocache #1,*,} \def\mplibdocancelnocache#1,{% \ifx\empty#1\empty \expandafter\mplibdocancelnocache \else \ifx*#1\else \directlua{luamplib.noneedtoreplace["#1.mp"]=false}% \expandafter\expandafter\expandafter\mplibdocancelnocache \fi \fi } \def\mplibcachedir#1{\directlua{luamplib.getcachedir("\unexpanded{#1}")}} \def\mplibtextextlabel#1{\directlua{ local s = string.lower("#1") if s == "enable" or s == "true" or s == "yes" then luamplib.textextlabel = true else luamplib.textextlabel = false end }} \def\mplibcodeinherit#1{\directlua{ local s = string.lower("#1") if s == "enable" or s == "true" or s == "yes" then luamplib.codeinherit = true else luamplib.codeinherit = false end }} \def\mplibglobaltextext#1{\directlua{ local s = string.lower("#1") if s == "enable" or s == "true" or s == "yes" then luamplib.globaltextext = true else luamplib.globaltextext = false end }} \ifx\mplibscratchbox\undefined \newbox\mplibscratchbox \fi \def\mplibstarttoPDF#1#2#3#4{% \prependtomplibbox \hbox\bgroup \xdef\MPllx{#1}\xdef\MPlly{#2}% \xdef\MPurx{#3}\xdef\MPury{#4}% \xdef\MPwidth{\the\dimexpr#3bp-#1bp\relax}% \xdef\MPheight{\the\dimexpr#4bp-#2bp\relax}% \parskip0pt% \leftskip0pt% \parindent0pt% \everypar{}% \setbox\mplibscratchbox\vbox\bgroup \noindent } \def\mplibstoptoPDF{% \egroup % \setbox\mplibscratchbox\hbox % {\hskip-\MPllx bp% \raise-\MPlly bp% \box\mplibscratchbox}% \setbox\mplibscratchbox\vbox to \MPheight {\vfill \hsize\MPwidth \wd\mplibscratchbox0pt% \ht\mplibscratchbox0pt% \dp\mplibscratchbox0pt% \box\mplibscratchbox}% \wd\mplibscratchbox\MPwidth \ht\mplibscratchbox\MPheight \box\mplibscratchbox \egroup } \def\mplibtextext#1#2#3#4#5{% \begingroup \setbox\mplibscratchbox\hbox {\font\temp=#1 at #2bp% \temp #3}% \setbox\mplibscratchbox\hbox {\hskip#4 bp% \raise#5 bp% \box\mplibscratchbox}% \wd\mplibscratchbox0pt% \ht\mplibscratchbox0pt% \dp\mplibscratchbox0pt% \box\mplibscratchbox \endgroup } \openin0=luamplib.cfg \ifeof0 \else \closein0 \input luamplib.cfg \fi \endinput %% %% End of file `luamplib.sty'.