texlive[61587] Master/texmf-dist: luamplib (12jan22)
commits+karl at tug.org
commits+karl at tug.org
Wed Jan 12 22:19:47 CET 2022
Revision: 61587
http://tug.org/svn/texlive?view=revision&revision=61587
Author: karl
Date: 2022-01-12 22:19:46 +0100 (Wed, 12 Jan 2022)
Log Message:
-----------
luamplib (12jan22)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/luatex/luamplib/NEWS
trunk/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
trunk/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex
trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx
trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua
trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty
Modified: trunk/Master/texmf-dist/doc/luatex/luamplib/NEWS
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luamplib/NEWS 2022-01-12 21:19:30 UTC (rev 61586)
+++ trunk/Master/texmf-dist/doc/luatex/luamplib/NEWS 2022-01-12 21:19:46 UTC (rev 61587)
@@ -1,5 +1,11 @@
History of the luamplib package
+2022/01/12 2.23.0
+ In parellel with the functionality introduced at previous version,
+ \everymplib (\everyendmplib as well, of course) supports
+ optional argument of named MetaPost instance, affecting only those
+ mplibcode environments of the same name.
+
2022/01/09 2.22.0
* Sergey Slyusarev (@jemmybutton) has suggested and contributed
a new feature for LaTeX mplibcode environment, which now supports
Modified: trunk/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex 2022-01-12 21:19:30 UTC (rev 61586)
+++ trunk/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex 2022-01-12 21:19:46 UTC (rev 61587)
@@ -169,12 +169,13 @@
\vskip 2\baselineskip
\mplibcodeinherit{disable}%
+\everymplib[instanceOne]{beginfig(1);}
+\everyendmplib[instanceOne]{endfig;}
+
\begin{mplibcode}[instanceOne]
-beginfig(1);
a := 1cm;
draw fullcircle scaled a;
draw btex a circle with $d=a$ etex shifted (a,0);
-endfig;
\end{mplibcode}%
Current instance name is: \currentmpinstancename \vskip 2\baselineskip
@@ -213,10 +214,8 @@
Current instance name is: \currentmpinstancename (should be empty) \vskip 2\baselineskip
\begin{mplibcode}[instanceOne]
-beginfig(1);
draw unitsquare scaled a;
draw btex a square with side $=a$, inherited from the same instance etex shifted (3/2a, 1/2a);
-endfig;
\end{mplibcode}%
Current instance name is: \currentmpinstancename \vskip 2\baselineskip
Modified: trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx
===================================================================
--- trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx 2022-01-12 21:19:30 UTC (rev 61586)
+++ trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx 2022-01-12 21:19:46 UTC (rev 61587)
@@ -85,7 +85,7 @@
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{luamplib.drv}%
- [2022/01/09 v2.22.0 Interface for using the mplib library]%
+ [2022/01/12 v2.23.0 Interface for using the mplib library]%
\documentclass{ltxdoc}
\usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace}
\usepackage[x11names]{xcolor}
@@ -153,7 +153,7 @@
% \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\
% Maintainer: LuaLaTeX Maintainers ---
% Support: \email{lualatex-dev at tug.org}}
-% \date{2022/01/09 v2.22.0}
+% \date{2022/01/12 v2.23.0}
%
% \maketitle
%
@@ -269,9 +269,9 @@
%
% \paragraph{\cs{everymplib}, \cs{everyendmplib}}
% Since v2.3, new macros \cs{everymplib} and \cs{everyendmplib} redefine
-% token lists \cs{everymplibtoks} and \cs{everyendmplibtoks} respectively,
+% the lua table containing MetaPost code
% which will
-% be automatically inserted at the beginning and ending of each mplib code.
+% be automatically inserted at the beginning and ending of each |mplibcode|.
% \begin{verbatim}
% \everymplib{ beginfig(0); }
% \everyendmplib{ endfig; }
@@ -374,6 +374,17 @@
% \item When an instance names is set,
% respective |\currentmpinstancename| is set.
% \end{itemize}
+% In parellel with this functionality, v2.23 and after supports
+% optional argument of instance name for \cs{everymplib} and
+% \cs{everyendmplib}, affecting only those |mplibcode| environments
+% of the same name.
+% Unnamed \cs{everymplib} affects not only those instances with no name,
+% but also those with name but with no corresponding \cs{everymplib}.
+% Syntax is:
+% \begin{verbatim}
+% \everymplib[instanceName]{...}
+% \everyendmplib[instanceName]{...}
+% \end{verbatim}
%
% \paragraph{\cs{mplibglobaltextext}}
% To inherit |btex ... etex| labels as well as metapost variables,
@@ -435,8 +446,8 @@
luatexbase.provides_module {
name = "luamplib",
- version = "2.22.0",
- date = "2022/01/09",
+ version = "2.23.0",
+ date = "2022/01/12",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -1258,6 +1269,9 @@
end
end
+luamplib.everymplib = { [""] = "" }
+luamplib.everyendmplib = { [""] = "" }
+
local function process_mplibcode (data, instancename)
% \end{macrocode}
%
@@ -1265,8 +1279,10 @@
% \begin{macrocode}
legacy_mplibcode_reset()
- local everymplib = texgettoks'everymplibtoks' or ''
- local everyendmplib = texgettoks'everyendmplibtoks' or ''
+ local everymplib = luamplib.everymplib[instancename] or
+ luamplib.everymplib[""]
+ local everyendmplib = luamplib.everyendmplib[instancename] or
+ luamplib.everyendmplib[""]
data = format("\n%s\n%s\n%s\n",everymplib, data, everyendmplib)
data = data:gsub("\r","\n")
@@ -2040,7 +2056,7 @@
\else
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2022/01/09 v2.22.0 mplib package for LuaTeX]
+ [2022/01/12 v2.23.0 mplib package for LuaTeX]
\ifx\newluafunction\@undefined
\input ltluatex
\fi
@@ -2124,7 +2140,7 @@
}
\long\def\mplibdocode#1\endmplibcode{%
\endgroup
- \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===])}%
+ \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===],"")}%
\endgroup
}
\else
@@ -2186,30 +2202,47 @@
\newtoks\mplibtmptoks
% \end{macrocode}
%
-% \cs{everymplib} \& \cs{everyendmplib}: macros redefining
-% \cs{everymplibtoks} \& \cs{everyendmplibtoks} respectively
+% \cs{everymplib} \& \cs{everyendmplib}: macros resetting
+% |luamplib.every(end)mplib| tables
%
% \begin{macrocode}
-\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}%
-}
+\ifcsname ver at luamplib.sty\endcsname
+ \newcommand\mplibdoeverymplib[2][]{%
+ \endgroup
+ \directlua{
+ luamplib.everymplib["#1"] = [===[\unexpanded{#2}]===]
+ }%
+ }
+ \newcommand\mplibdoeveryendmplib[2][]{%
+ \endgroup
+ \directlua{
+ luamplib.everyendmplib["#1"] = [===[\unexpanded{#2}]===]
+ }%
+ }
+\else
+ \long\def\mplibdoeverymplib#1{%
+ \endgroup
+ \directlua{
+ luamplib.everymplib[""] = [===[\unexpanded{#1}]===]
+ }%
+ }
+ \long\def\mplibdoeveryendmplib#1{%
+ \endgroup
+ \directlua{
+ luamplib.everyendmplib[""] = [===[\unexpanded{#1}]===]
+ }%
+ }
+\fi
% \end{macrocode}
%
% Allow \TeX\ dimen/color macros. Now |runscript| does the job,
Modified: trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua 2022-01-12 21:19:30 UTC (rev 61586)
+++ trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua 2022-01-12 21:19:46 UTC (rev 61587)
@@ -11,8 +11,8 @@
luatexbase.provides_module {
name = "luamplib",
- version = "2.22.0",
- date = "2022/01/09",
+ version = "2.23.0",
+ date = "2022/01/12",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -642,11 +642,16 @@
end
end
+luamplib.everymplib = { [""] = "" }
+luamplib.everyendmplib = { [""] = "" }
+
local function process_mplibcode (data, instancename)
legacy_mplibcode_reset()
- local everymplib = texgettoks'everymplibtoks' or ''
- local everyendmplib = texgettoks'everyendmplibtoks' or ''
+ local everymplib = luamplib.everymplib[instancename] or
+ luamplib.everymplib[""]
+ local everyendmplib = luamplib.everyendmplib[instancename] or
+ luamplib.everyendmplib[""]
data = format("\n%s\n%s\n%s\n",everymplib, data, everyendmplib)
data = data:gsub("\r","\n")
Modified: trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty 2022-01-12 21:19:30 UTC (rev 61586)
+++ trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty 2022-01-12 21:19:46 UTC (rev 61587)
@@ -14,7 +14,7 @@
\else
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2022/01/09 v2.22.0 mplib package for LuaTeX]
+ [2022/01/12 v2.23.0 mplib package for LuaTeX]
\ifx\newluafunction\@undefined
\input ltluatex
\fi
@@ -58,7 +58,7 @@
}
\long\def\mplibdocode#1\endmplibcode{%
\endgroup
- \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===])}%
+ \directlua{luamplib.process_mplibcode([===[\unexpanded{#1}]===],"")}%
\endgroup
}
\else
@@ -110,26 +110,43 @@
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}%
-}
+\ifcsname ver at luamplib.sty\endcsname
+ \newcommand\mplibdoeverymplib[2][]{%
+ \endgroup
+ \directlua{
+ luamplib.everymplib["#1"] = [===[\unexpanded{#2}]===]
+ }%
+ }
+ \newcommand\mplibdoeveryendmplib[2][]{%
+ \endgroup
+ \directlua{
+ luamplib.everyendmplib["#1"] = [===[\unexpanded{#2}]===]
+ }%
+ }
+\else
+ \long\def\mplibdoeverymplib#1{%
+ \endgroup
+ \directlua{
+ luamplib.everymplib[""] = [===[\unexpanded{#1}]===]
+ }%
+ }
+ \long\def\mplibdoeveryendmplib#1{%
+ \endgroup
+ \directlua{
+ luamplib.everyendmplib[""] = [===[\unexpanded{#1}]===]
+ }%
+ }
+\fi
\def\mpdim#1{ mplibdimen("#1") }
\def\mpcolor#1#{\domplibcolor{#1}}
\def\domplibcolor#1#2{ mplibcolor("#1{#2}") }
More information about the tex-live-commits
mailing list.