texlive[72954] Master/texmf-dist: luamplib (24nov24)
commits+karl at tug.org
commits+karl at tug.org
Sun Nov 24 21:52:41 CET 2024
Revision: 72954
https://tug.org/svn/texlive?view=revision&revision=72954
Author: karl
Date: 2024-11-24 21:52:41 +0100 (Sun, 24 Nov 2024)
Log Message:
-----------
luamplib (24nov24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/luatex/luamplib/NEWS
trunk/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
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 2024-11-24 20:52:14 UTC (rev 72953)
+++ trunk/Master/texmf-dist/doc/luatex/luamplib/NEWS 2024-11-24 20:52:41 UTC (rev 72954)
@@ -1,5 +1,11 @@
History of the luamplib package
+2024/11/25 2.35.1
+ * cope with 'TEX(char13)': remove everything from char13 to the end of
+ input string (https://tug.org/pipermail/metapost/2024-November/003572.html)
+
+ * (WIP) avoid internal command names of tagpdf/kernel code (#151)
+
2024/11/12 2.35.0
* even under \mplibtextextlabel{true}, the original 'infont' operator will
be used when the character slot of the text argument is less than 32, or is
Modified: trunk/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx
===================================================================
--- trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx 2024-11-24 20:52:14 UTC (rev 72953)
+++ trunk/Master/texmf-dist/source/luatex/luamplib/luamplib.dtx 2024-11-24 20:52:41 UTC (rev 72954)
@@ -85,7 +85,7 @@
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{luamplib.drv}%
- [2024/11/12 v2.35.0 Interface for using the mplib library]%
+ [2024/11/25 v2.35.1 Interface for using the mplib library]%
\documentclass{ltxdoc}
\usepackage{metalogo,multicol,xspace}
\usepackage[x11names]{xcolor}
@@ -155,7 +155,7 @@
% \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\
% Current Maintainer: Kim Dohyun\\
% Support: \url{https://github.com/lualatex/luamplib}}
-% \date{2024/11/12 v2.35.0}
+% \date{2024/11/25 v2.35.1}
%
% \maketitle
%
@@ -243,13 +243,15 @@
% and outlinetext is supported by our own alternative |mpliboutlinetext|
% (see \hyperlink{mpliboutlinetext}{below \S\,1.2}).
%
-% \leavevmode\llap{\textcolor{red}{☞}\kern1.2\parindent}\relax
-% Among these, transparency (|texdoc metafun| \S\,8.2) is so simple that you can apply it to an object,
-% with \emph{plain} format as well,
+% \begin{description}
+% \item[transparency]
+% (|texdoc metafun| \S\,8.2) Transparency is so simple that you can apply it to an object,
+% with \emph{plain} format as well as \emph{metafun},
% just by appending |withprescript| |"tr_transparency=|\hskip0pt\relax|<number>"| to the sentence.
% ($0 \le \hbox{\emph{<number>}} \le 1$)
%
-% One thing worth mentioning about shading (|texdoc metafun| \S\,8.3) is:
+% \item[shading]
+% (|texdoc metafun| \S\,8.3) One thing worth mentioning about shading is:
% when a color expression is given in string type,
% it is regarded by luamplib as
% a color expression of \TeX\ side.
@@ -256,8 +258,10 @@
% For instance, when |withshadecolors("orange", 2/3red)| is given, the first color |"orange"| will be
% interpreted as a \pkg{color}, \pkg{xcolor} or \pkg{l3color}'s expression.
%
+% \item[transparency group]
% \hypertarget{metafunformat}{}\relax
-% As for transparency group, the current \emph{metafun} document \S\,8.8 is not correct.
+% (|texdoc metafun| \S\,8.8)
+% As for transparency group, the current \emph{metafun} document is not correct.
% The true syntax is:
%\begin{verbatim}
% draw <picture>|<path> asgroup <string>
@@ -267,6 +271,7 @@
% cannot properly render the isolated or knockout effect.
% Transparency group is available with \emph{plain} format as well, with extended functionality.
% See \hyperlink{transparencygroup}{below \S\,1.2}.
+% \end{description}
%
% \paragraph{\cs{mplibnumbersystem\{scaled\textbar double\textbar decimal\}}}
% Users can choose |numbersystem| option.
@@ -552,7 +557,7 @@
% \item[|alt=...|] sets an alternative text of the figure as given.
% This key is needed for ordinary \metapost figures.
% You can give alternative text within \metapost code as well:
-% |verbatimtex| |\mplibalttext{...}| |etex;|
+% |VerbatimTeX| |("\mplibalttext{...}");|
% \item[|artifact|] starts an |artifact| MC (marked content).
% BBox info will not be added.
% This key is intended for decorative figures which have no semantic quality.
@@ -561,7 +566,7 @@
% This key is intended for figures which can be represented by a character or
% a small sequence of characters.
% You can give actual text within \metapost code as well:
-% |verbatimtex| |\mplibactualtext{...}| |etex;|
+% |VerbatimTeX| |("\mplibactualtext{...}");|
% \item[|text|] starts an |artifact| MC and enables tagging on textext
% (the same as |btex| |...| |etex|) boxes.
% Horizontal mode is forced by \cs{noindent} command. BBox info will not be added.
@@ -1092,8 +1097,8 @@
luatexbase.provides_module {
name = "luamplib",
- version = "2.35.0",
- date = "2024/11/12",
+ version = "2.35.1",
+ date = "2024/11/25",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -1572,8 +1577,9 @@
local textext_fmt = 'image(addto currentpicture doublepath unitsquare \z
xscaled %f yscaled %f shifted (0,-%f) \z
withprescript "mplibtexboxid=%i:%f:%f")'
-local function process_tex_text (str)
+local function process_tex_text (str, maketext)
if str then
+ if not maketext then str = str:gsub("\r.-$","") end
local global = (has_instancename or luamplib.globaltextext or luamplib.codeinherit)
and "\\global" or ""
local tex_box_id
@@ -1798,6 +1804,7 @@
:gsub("%%.-\n", "")
:gsub("%%.-$", "")
:gsub("%zPerCent%z", "\\%%")
+ :gsub("\r.-$", "")
:gsub("%s+", " ")
end
luamplib.legacyverbatimtex = true
@@ -1820,7 +1827,7 @@
end
end
else
- return process_tex_text(str)
+ return process_tex_text(str, true) -- bool is for 'char13'
end
end
return ""
@@ -3732,18 +3739,16 @@
local trgroup = pdfetcs.tr_group
trgroup.shifts[name] = { get_macro'MPllx', get_macro'MPlly' }
local whd
- local tagpdf = is_defined'picture at tag@bbox at attribute'
+ local urx, ury = wd/factor, (ht+dp)/factor
if pdfmode then
attr = tableconcat(attr) :gsub(decimals,rmzeros)
local index = tex.saveboxresource(boxid, attr, res, true, grtype)
token.set_macro("luamplib.group."..name, tableconcat{
- "\\prependtomplibbox\\hbox\\bgroup",
- tagpdf and "\\luamplibtaggingbegin\\setbox\\mplibscratchbox\\hbox\\bgroup" or "",
+ "\\mplibstarttoPDF{0}{0}{",urx,"}{",ury,"}",
"\\useboxresource ", index,
- tagpdf and "\\egroup\\luamplibtaggingBBox\\unhbox\\mplibscratchbox\\luamplibtaggingend" or "",
- "\\egroup",
+ "\\mplibstoptoPDF",
}, "global")
- whd = format("%.3f %.3f 0", wd/factor, (ht+dp)/factor) :gsub(decimals,rmzeros)
+ whd = format("%.3f %.3f 0", urx, ury) :gsub(decimals,rmzeros)
else
trgroup.cnt = (trgroup.cnt or 0) + 1
local objname = format("@mplibtrgr%s", trgroup.cnt)
@@ -3759,18 +3764,15 @@
"\\special{pdf:econtent}}",
}
token.set_macro("luamplib.group."..name, tableconcat{
- "\\prependtomplibbox\\hbox\\bgroup",
- tagpdf and "\\luamplibtaggingbegin" or "",
+ "\\mplibstarttoPDF{0}{0}{",urx,"}{",ury,"}",
"\\setbox\\mplibscratchbox\\hbox{\\special{pdf:uxobj ", objname, "}}",
"\\wd\\mplibscratchbox ", wd, "sp",
"\\ht\\mplibscratchbox ", ht, "sp",
"\\dp\\mplibscratchbox ", dp, "sp",
- tagpdf and "\\luamplibtaggingBBox" or "",
"\\box\\mplibscratchbox",
- tagpdf and "\\luamplibtaggingend" or "",
- "\\egroup",
+ "\\mplibstoptoPDF",
}, "global")
- whd = format("%.3f %.3f %.3f", wd/factor, ht/factor, dp/factor) :gsub(decimals,rmzeros)
+ whd = format("%.3f %.3f %.3f", urx, ht/factor, dp/factor) :gsub(decimals,rmzeros)
end
info("w/h/d of group '%s': %s", name, whd)
end
@@ -4199,7 +4201,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/11/12 v2.35.0 mplib package for LuaTeX]
+ [2024/11/25 v2.35.1 mplib package for LuaTeX]
\fi
\ifdefined\newluafunction\else
\input ltluatex
@@ -4712,7 +4714,7 @@
\def\luamplibtagtextbegin#1{}
\let\luamplibtagtextend\relax
\ifcsname SuspendTagging\endcsname\else\endinput\fi
-\ifcsname picture at tag@bbox at attribute\endcsname \else
+\ifcsname ver at tagpdf.sty\endcsname \else
\ExplSyntaxOn
\keys_define:nn{luamplib/notag}
{
@@ -4741,24 +4743,33 @@
\let\mplibstoptoPDForiginal\mplibstoptoPDF
\let\mplibputtextboxoriginal\mplibputtextbox
\ExplSyntaxOn
-\tl_new:N \l__tag_luamplib_alt_tl
-\tl_new:N \l__tag_luamplib_alt_dflt_tl
-\tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure}
-\tl_new:N \l__tag_luamplib_actual_tl
-\tl_new:N \l__tag_luamplib_struct_tl
-\tl_set:Nn\l__tag_luamplib_struct_tl {Figure}
-\bool_new:N \l__tag_luamplib_usetext_bool
-\bool_set_false:N \l__tag_luamplib_usetext_bool
+\tl_new:N \l__luamplib_tag_alt_tl
+\tl_new:N \l__luamplib_tag_alt_dflt_tl
+\tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure}
+\tl_new:N \l__luamplib_tag_actual_tl
+\tl_new:N \l__luamplib_tag_struct_tl
+\tl_set:Nn\l__luamplib_tag_struct_tl {Figure}
+\bool_new:N \l__luamplib_tag_usetext_bool
+\bool_new:N \l__luamplib_tag_BBox_bool
+\bool_set_true:N \l__luamplib_tag_BBox_bool
+\seq_new:N\l__luamplib_tag_bboxcorr_seq
+\bool_new:N\l__luamplib_tag_bboxcorr_bool
+\bool_new:N \l__luamplib_tag_debug_bool
+\tl_new:N \l__luamplib_BBox_label_tl
+\tl_new:N \l__luamplib_BBox_llx_tl
+\tl_new:N \l__luamplib_BBox_lly_tl
+\tl_new:N \l__luamplib_BBox_urx_tl
+\tl_new:N \l__luamplib_BBox_ury_tl
\cs_set_nopar:Npn \luamplibtagtextbegin #1
{
- \bool_if:NTF \l__tag_luamplib_usetext_bool
+ \bool_if:NTF \l__luamplib_tag_usetext_bool
{
\tag_mc_end_push:
+ \tag_mc_begin:n{}
\tag_struct_begin:n{tag=NonStruct,stash}
- \tag_if_active:T {
- \expandafter\xdef\csname luamplib.tagbox.#1\endcsname{\tag_get:n{struct_num}}
- }
- \tag_mc_begin:n{}
+ \def\myboxnum{#1}
+ \edef\mystructnum{\tag_get:n{struct_num}}
+ \edef\statebeforebox{\inteval{\tag_get:n{struct_counter}+\tag_get:n{mc_counter}}}
}
{
\tag_if_active:TF
@@ -4769,10 +4780,19 @@
}
\cs_set_nopar:Npn \luamplibtagtextend
{
- \bool_if:NTF \l__tag_luamplib_usetext_bool
+ \bool_if:NTF \l__luamplib_tag_usetext_bool
{
+ \edef\stateafterbox{\inteval{\tag_get:n{struct_counter}+\tag_get:n{mc_counter}}}
+ \tag_if_active:T {
+ \int_compare:nNnTF
+ {\stateafterbox}
+ =
+ {\statebeforebox}
+ { \cs_gset_nopar:cpe {luamplib.notagbox.\myboxnum} {\mystructnum} }
+ { \cs_gset_nopar:cpe {luamplib.tagbox.\myboxnum} {\mystructnum} }
+ }
+ \tag_struct_end:
\tag_mc_end:
- \tag_struct_end:
\tag_mc_begin_pop:n{}
}
{
@@ -4789,7 +4809,7 @@
\cs_set_nopar:Npn \mplibputtextbox #1
{
\vbox to 0pt{\vss\hbox to 0pt{%
- \bool_if:NTF \l__tag_luamplib_usetext_bool
+ \bool_if:NTF \l__luamplib_tag_usetext_bool
{
\ResumeTagging{luamplib.puttextbox}
\tag_mc_end:
@@ -4796,14 +4816,17 @@
\cs_if_exist:cTF {luamplib.tagbox.#1}
{
\tag_struct_use_num:n {\csname luamplib.tagbox.#1\endcsname}
- \raise\dp#1\copy#1\hss
+ \raise\dp#1\copy#1
}
{
- \msg_warning:nnn{luamplib}{figure-text-reuse}{#1}
+ \cs_if_exist:cF {luamplib.notagbox.#1}
+ {
+ \msg_warning:nnn{luamplib}{figure-text-reuse}{#1}
+ }
\tag_mc_begin:n{}
\chardef\mplibtmpnum=#1\relax
\tag_mc_reset_box:N \mplibtmpnum
- \raise\dp#1\copy#1\hss
+ \raise\dp#1\copy#1
\tag_mc_end:
}
\tag_mc_begin:n{artifact}
@@ -4811,9 +4834,9 @@
{
\chardef\mplibtmpnum=#1\relax
\tag_mc_reset_box:N \mplibtmpnum
- \raise\dp#1\copy#1\hss
+ \raise\dp#1\copy#1
}
- }}
+ \hss}}
}
\cs_new_nopar:Npn \__luamplib_tagging_begin_figure:
{
@@ -4820,15 +4843,15 @@
\tag_if_active:T
{
\tag_mc_end_push:
- \tl_if_empty:NT\l__tag_luamplib_alt_tl
+ \tl_if_empty:NT\l__luamplib_tag_alt_tl
{
- \msg_warning:nne{luamplib}{alt-text-missing}{\l__tag_luamplib_alt_dflt_tl}
- \tl_set:Ne\l__tag_luamplib_alt_tl {\l__tag_luamplib_alt_dflt_tl}
+ \msg_warning:nne{luamplib}{alt-text-missing}{\l__luamplib_tag_alt_dflt_tl}
+ \tl_set:Ne\l__luamplib_tag_alt_tl {\l__luamplib_tag_alt_dflt_tl}
}
\tag_struct_begin:n
{
- tag=\l__tag_luamplib_struct_tl,
- alt=\l__tag_luamplib_alt_tl,
+ tag=\l__luamplib_tag_struct_tl,
+ alt=\l__luamplib_tag_alt_tl,
}
\tag_mc_begin:n{}
}
@@ -4850,7 +4873,7 @@
\tag_struct_begin:n
{
tag=Span,
- actualtext=\l__tag_luamplib_actual_tl,
+ actualtext=\l__luamplib_tag_actual_tl,
}
\tag_mc_begin:n{}
}
@@ -4878,15 +4901,15 @@
{
,alt .code:n =
{
- \bool_set_true:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
- \tl_set:Ne\l__tag_luamplib_alt_tl{\text_purify:n{#1}}
+ \bool_set_true:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
+ \tl_set:Ne\l__luamplib_tag_alt_tl{\text_purify:n{#1}}
}
,actualtext .code:n =
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
- \tl_set:Ne\l__tag_luamplib_actual_tl{\text_purify:n{#1}}
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
+ \tl_set:Ne\l__luamplib_tag_actual_tl{\text_purify:n{#1}}
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_actualtext:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_actualtext:
\tag_if_active:T {\noindent}
@@ -4893,24 +4916,19 @@
}
,artifact .code:n =
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
}
,text .code:n =
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_true:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_true:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
\tag_if_active:T {\noindent}
}
- ,correct-BBox .code:n =
- {
- \bool_set_true:N \l__tag_graphic_bboxcorr_bool
- \seq_set_split:Nnn\l__tag_graphic_bboxcorr_seq{~}{#1~0pt~0pt~0pt~0pt}
- }
,tag .code:n =
{
\str_case:nnF {#1}
@@ -4917,15 +4935,15 @@
{
{artifact}
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
}
{text}
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_true:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_true:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
\tag_if_active:T {\noindent}
@@ -4936,11 +4954,16 @@
}
}
{
- \tl_set:Nn\l__tag_luamplib_struct_tl{#1}
+ \tl_set:Nn\l__luamplib_tag_struct_tl{#1}
}
}
+ ,correct-BBox .code:n =
+ {
+ \bool_set_true:N \l__luamplib_tag_bboxcorr_bool
+ \seq_set_split:Nnn \l__luamplib_tag_bboxcorr_seq{~}{#1~0pt~0pt~0pt~0pt}
+ }
,debug .code:n =
- { \bool_set_true:N \l__tag_graphic_debug_bool }
+ { \bool_set_true:N \l__luamplib_tag_debug_bool }
,instance .code:n =
{ \tl_gset:Nn \currentmpinstancename {#1} }
,instancename .meta:n = { instance = {#1} }
@@ -4949,7 +4972,115 @@
}
\cs_new_nopar:Npn \luamplibtaggingBBox
{
- \let\@picbox\mplibscratchbox \picture at tag@bbox at attribute
+ \bool_lazy_and:nnT
+ {\tag_if_active_p:}
+ {\l__luamplib_tag_BBox_bool}
+ {
+ \tl_set:Ne \l__luamplib_BBox_label_tl {luamplib.BBox.\tag_get:n{struct_num}}
+ \tex_savepos:D
+ \property_record:ee{\l__luamplib_BBox_label_tl}{xpos,ypos,abspage}
+ \tl_set:Ne \l__luamplib_BBox_llx_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__luamplib_BBox_label_tl}{xpos}{0}sp }
+ }
+ \tl_set:Ne \l__luamplib_BBox_lly_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__luamplib_BBox_label_tl}{ypos}{0}sp - \dp\mplibscratchbox }
+ }
+ \tl_set:Ne \l__luamplib_BBox_urx_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \l__luamplib_BBox_llx_tl bp + \wd\mplibscratchbox }
+ }
+ \tl_set:Ne \l__luamplib_BBox_ury_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \l__luamplib_BBox_lly_tl bp + \ht\mplibscratchbox + \dp\mplibscratchbox }
+ }
+ \bool_if:NT \l__luamplib_tag_bboxcorr_bool
+ {
+ \tl_set:Ne \l__luamplib_BBox_llx_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_llx_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {1} }
+ }
+ }
+ \tl_set:Ne \l__luamplib_BBox_lly_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_lly_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {2} }
+ }
+ }
+ \tl_set:Ne \l__luamplib_BBox_urx_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_urx_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {3} }
+ }
+ }
+ \tl_set:Ne \l__luamplib_BBox_ury_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_ury_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {4} }
+ }
+ }
+ }
+ \prop_gput:cne
+ { g__tag_struct_\tag_get:n{struct_num}_prop }
+ {A}
+ {
+ << /O /Layout /BBox [
+ \l__luamplib_BBox_llx_tl\c_space_tl
+ \l__luamplib_BBox_lly_tl\c_space_tl
+ \l__luamplib_BBox_urx_tl\c_space_tl
+ \l__luamplib_BBox_ury_tl
+ ] >>
+ }
+ \bool_if:NT \l__luamplib_tag_debug_bool
+ {
+ \iow_log:e
+ {
+ luamplib/tag/debug:~BBox~of~structure~\tag_get:n{struct_num}~is~
+ \l__luamplib_BBox_llx_tl\c_space_tl
+ \l__luamplib_BBox_lly_tl\c_space_tl
+ \l__luamplib_BBox_urx_tl\c_space_tl
+ \l__luamplib_BBox_ury_tl
+ }
+ \use:e
+ {
+ \exp_not:N\AddToHookNext{shipout/foreground}
+ {
+ \exp_not:N\int_compare:nNnT
+ {\exp_not:N\g_shipout_readonly_int}
+ =
+ {\property_ref:een{\l__luamplib_BBox_label_tl}{abspage}{0}}
+ {
+ \exp_not:N\put
+ (\l__luamplib_BBox_llx_tl bp, \dim_eval:n{\l__luamplib_BBox_lly_tl bp -\paperheight})
+ {
+ \exp_not:N\opacity_select:n{0.5} \exp_not:N\color_select:n{red}
+ \exp_not:N\rule
+ {\dim_eval:n {\l__luamplib_BBox_urx_tl bp - \l__luamplib_BBox_llx_tl bp}}
+ {\dim_eval:n {\l__luamplib_BBox_ury_tl bp - \l__luamplib_BBox_lly_tl bp}}
+ }
+ }
+ }
+ }
+ }
+ }
}
\cs_set_nopar:Npn \mplibstarttoPDF #1 #2 #3 #4
{
@@ -5000,7 +5131,7 @@
\tl_gset_eq:NN \currentmpinstancename \c_empty_tl
\keys_set:nn{luamplib/tag}{#1}
\tl_if_empty:NF \currentmpinstancename
- { \tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure~\currentmpinstancename} }
+ { \tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure~\currentmpinstancename} }
\mplibtmptoks{}\ltxdomplibcode
}
\RenewDocumentCommand\mpfig{s O{}}
@@ -5016,7 +5147,7 @@
}
\keys_set:nn{luamplib/tag}{#2}
\tl_if_empty:NF \mpfiginstancename
- { \tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure~\mpfiginstancename} }
+ { \tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure~\mpfiginstancename} }
\mplibmainmpfig
}
}
@@ -5029,17 +5160,17 @@
Using~the~default~value~'##1'~instead.
}
\keys_set:nn{luamplib/tag}{#1}
- \tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure~#2}
+ \tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure~#2}
\csname luamplib.group.#2\endcsname
\endgroup
}
\cs_new_nopar:Npn \mplibalttext #1
{
- \tl_set:Ne \l__tag_luamplib_alt_tl {\text_purify:n{#1}}
+ \tl_set:Ne \l__luamplib_tag_alt_tl {\text_purify:n{#1}}
}
\cs_new_nopar:Npn \mplibactualtext #1
{
- \tl_set:Ne \l__tag_luamplib_actual_tl {\text_purify:n{#1}}
+ \tl_set:Ne \l__luamplib_tag_actual_tl {\text_purify:n{#1}}
}
\ExplSyntaxOff
% \end{macrocode}
Modified: trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua 2024-11-24 20:52:14 UTC (rev 72953)
+++ trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.lua 2024-11-24 20:52:41 UTC (rev 72954)
@@ -11,8 +11,8 @@
luatexbase.provides_module {
name = "luamplib",
- version = "2.35.0",
- date = "2024/11/12",
+ version = "2.35.1",
+ date = "2024/11/25",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -371,8 +371,9 @@
local textext_fmt = 'image(addto currentpicture doublepath unitsquare \z
xscaled %f yscaled %f shifted (0,-%f) \z
withprescript "mplibtexboxid=%i:%f:%f")'
-local function process_tex_text (str)
+local function process_tex_text (str, maketext)
if str then
+ if not maketext then str = str:gsub("\r.-$","") end
local global = (has_instancename or luamplib.globaltextext or luamplib.codeinherit)
and "\\global" or ""
local tex_box_id
@@ -558,6 +559,7 @@
:gsub("%%.-\n", "")
:gsub("%%.-$", "")
:gsub("%zPerCent%z", "\\%%")
+ :gsub("\r.-$", "")
:gsub("%s+", " ")
end
luamplib.legacyverbatimtex = true
@@ -580,7 +582,7 @@
end
end
else
- return process_tex_text(str)
+ return process_tex_text(str, true) -- bool is for 'char13'
end
end
return ""
@@ -2317,18 +2319,16 @@
local trgroup = pdfetcs.tr_group
trgroup.shifts[name] = { get_macro'MPllx', get_macro'MPlly' }
local whd
- local tagpdf = is_defined'picture at tag@bbox at attribute'
+ local urx, ury = wd/factor, (ht+dp)/factor
if pdfmode then
attr = tableconcat(attr) :gsub(decimals,rmzeros)
local index = tex.saveboxresource(boxid, attr, res, true, grtype)
token.set_macro("luamplib.group."..name, tableconcat{
- "\\prependtomplibbox\\hbox\\bgroup",
- tagpdf and "\\luamplibtaggingbegin\\setbox\\mplibscratchbox\\hbox\\bgroup" or "",
+ "\\mplibstarttoPDF{0}{0}{",urx,"}{",ury,"}",
"\\useboxresource ", index,
- tagpdf and "\\egroup\\luamplibtaggingBBox\\unhbox\\mplibscratchbox\\luamplibtaggingend" or "",
- "\\egroup",
+ "\\mplibstoptoPDF",
}, "global")
- whd = format("%.3f %.3f 0", wd/factor, (ht+dp)/factor) :gsub(decimals,rmzeros)
+ whd = format("%.3f %.3f 0", urx, ury) :gsub(decimals,rmzeros)
else
trgroup.cnt = (trgroup.cnt or 0) + 1
local objname = format("@mplibtrgr%s", trgroup.cnt)
@@ -2344,18 +2344,15 @@
"\\special{pdf:econtent}}",
}
token.set_macro("luamplib.group."..name, tableconcat{
- "\\prependtomplibbox\\hbox\\bgroup",
- tagpdf and "\\luamplibtaggingbegin" or "",
+ "\\mplibstarttoPDF{0}{0}{",urx,"}{",ury,"}",
"\\setbox\\mplibscratchbox\\hbox{\\special{pdf:uxobj ", objname, "}}",
"\\wd\\mplibscratchbox ", wd, "sp",
"\\ht\\mplibscratchbox ", ht, "sp",
"\\dp\\mplibscratchbox ", dp, "sp",
- tagpdf and "\\luamplibtaggingBBox" or "",
"\\box\\mplibscratchbox",
- tagpdf and "\\luamplibtaggingend" or "",
- "\\egroup",
+ "\\mplibstoptoPDF",
}, "global")
- whd = format("%.3f %.3f %.3f", wd/factor, ht/factor, dp/factor) :gsub(decimals,rmzeros)
+ whd = format("%.3f %.3f %.3f", urx, ht/factor, dp/factor) :gsub(decimals,rmzeros)
end
info("w/h/d of group '%s': %s", name, whd)
end
Modified: trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty 2024-11-24 20:52:14 UTC (rev 72953)
+++ trunk/Master/texmf-dist/tex/luatex/luamplib/luamplib.sty 2024-11-24 20:52:41 UTC (rev 72954)
@@ -11,7 +11,7 @@
\ifcsname ProvidesPackage\endcsname
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/11/12 v2.35.0 mplib package for LuaTeX]
+ [2024/11/25 v2.35.1 mplib package for LuaTeX]
\fi
\ifdefined\newluafunction\else
\input ltluatex
@@ -418,7 +418,7 @@
\def\luamplibtagtextbegin#1{}
\let\luamplibtagtextend\relax
\ifcsname SuspendTagging\endcsname\else\endinput\fi
-\ifcsname picture at tag@bbox at attribute\endcsname \else
+\ifcsname ver at tagpdf.sty\endcsname \else
\ExplSyntaxOn
\keys_define:nn{luamplib/notag}
{
@@ -447,24 +447,33 @@
\let\mplibstoptoPDForiginal\mplibstoptoPDF
\let\mplibputtextboxoriginal\mplibputtextbox
\ExplSyntaxOn
-\tl_new:N \l__tag_luamplib_alt_tl
-\tl_new:N \l__tag_luamplib_alt_dflt_tl
-\tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure}
-\tl_new:N \l__tag_luamplib_actual_tl
-\tl_new:N \l__tag_luamplib_struct_tl
-\tl_set:Nn\l__tag_luamplib_struct_tl {Figure}
-\bool_new:N \l__tag_luamplib_usetext_bool
-\bool_set_false:N \l__tag_luamplib_usetext_bool
+\tl_new:N \l__luamplib_tag_alt_tl
+\tl_new:N \l__luamplib_tag_alt_dflt_tl
+\tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure}
+\tl_new:N \l__luamplib_tag_actual_tl
+\tl_new:N \l__luamplib_tag_struct_tl
+\tl_set:Nn\l__luamplib_tag_struct_tl {Figure}
+\bool_new:N \l__luamplib_tag_usetext_bool
+\bool_new:N \l__luamplib_tag_BBox_bool
+\bool_set_true:N \l__luamplib_tag_BBox_bool
+\seq_new:N\l__luamplib_tag_bboxcorr_seq
+\bool_new:N\l__luamplib_tag_bboxcorr_bool
+\bool_new:N \l__luamplib_tag_debug_bool
+\tl_new:N \l__luamplib_BBox_label_tl
+\tl_new:N \l__luamplib_BBox_llx_tl
+\tl_new:N \l__luamplib_BBox_lly_tl
+\tl_new:N \l__luamplib_BBox_urx_tl
+\tl_new:N \l__luamplib_BBox_ury_tl
\cs_set_nopar:Npn \luamplibtagtextbegin #1
{
- \bool_if:NTF \l__tag_luamplib_usetext_bool
+ \bool_if:NTF \l__luamplib_tag_usetext_bool
{
\tag_mc_end_push:
+ \tag_mc_begin:n{}
\tag_struct_begin:n{tag=NonStruct,stash}
- \tag_if_active:T {
- \expandafter\xdef\csname luamplib.tagbox.#1\endcsname{\tag_get:n{struct_num}}
- }
- \tag_mc_begin:n{}
+ \def\myboxnum{#1}
+ \edef\mystructnum{\tag_get:n{struct_num}}
+ \edef\statebeforebox{\inteval{\tag_get:n{struct_counter}+\tag_get:n{mc_counter}}}
}
{
\tag_if_active:TF
@@ -475,10 +484,19 @@
}
\cs_set_nopar:Npn \luamplibtagtextend
{
- \bool_if:NTF \l__tag_luamplib_usetext_bool
+ \bool_if:NTF \l__luamplib_tag_usetext_bool
{
+ \edef\stateafterbox{\inteval{\tag_get:n{struct_counter}+\tag_get:n{mc_counter}}}
+ \tag_if_active:T {
+ \int_compare:nNnTF
+ {\stateafterbox}
+ =
+ {\statebeforebox}
+ { \cs_gset_nopar:cpe {luamplib.notagbox.\myboxnum} {\mystructnum} }
+ { \cs_gset_nopar:cpe {luamplib.tagbox.\myboxnum} {\mystructnum} }
+ }
+ \tag_struct_end:
\tag_mc_end:
- \tag_struct_end:
\tag_mc_begin_pop:n{}
}
{
@@ -495,7 +513,7 @@
\cs_set_nopar:Npn \mplibputtextbox #1
{
\vbox to 0pt{\vss\hbox to 0pt{%
- \bool_if:NTF \l__tag_luamplib_usetext_bool
+ \bool_if:NTF \l__luamplib_tag_usetext_bool
{
\ResumeTagging{luamplib.puttextbox}
\tag_mc_end:
@@ -502,14 +520,17 @@
\cs_if_exist:cTF {luamplib.tagbox.#1}
{
\tag_struct_use_num:n {\csname luamplib.tagbox.#1\endcsname}
- \raise\dp#1\copy#1\hss
+ \raise\dp#1\copy#1
}
{
- \msg_warning:nnn{luamplib}{figure-text-reuse}{#1}
+ \cs_if_exist:cF {luamplib.notagbox.#1}
+ {
+ \msg_warning:nnn{luamplib}{figure-text-reuse}{#1}
+ }
\tag_mc_begin:n{}
\chardef\mplibtmpnum=#1\relax
\tag_mc_reset_box:N \mplibtmpnum
- \raise\dp#1\copy#1\hss
+ \raise\dp#1\copy#1
\tag_mc_end:
}
\tag_mc_begin:n{artifact}
@@ -517,9 +538,9 @@
{
\chardef\mplibtmpnum=#1\relax
\tag_mc_reset_box:N \mplibtmpnum
- \raise\dp#1\copy#1\hss
+ \raise\dp#1\copy#1
}
- }}
+ \hss}}
}
\cs_new_nopar:Npn \__luamplib_tagging_begin_figure:
{
@@ -526,15 +547,15 @@
\tag_if_active:T
{
\tag_mc_end_push:
- \tl_if_empty:NT\l__tag_luamplib_alt_tl
+ \tl_if_empty:NT\l__luamplib_tag_alt_tl
{
- \msg_warning:nne{luamplib}{alt-text-missing}{\l__tag_luamplib_alt_dflt_tl}
- \tl_set:Ne\l__tag_luamplib_alt_tl {\l__tag_luamplib_alt_dflt_tl}
+ \msg_warning:nne{luamplib}{alt-text-missing}{\l__luamplib_tag_alt_dflt_tl}
+ \tl_set:Ne\l__luamplib_tag_alt_tl {\l__luamplib_tag_alt_dflt_tl}
}
\tag_struct_begin:n
{
- tag=\l__tag_luamplib_struct_tl,
- alt=\l__tag_luamplib_alt_tl,
+ tag=\l__luamplib_tag_struct_tl,
+ alt=\l__luamplib_tag_alt_tl,
}
\tag_mc_begin:n{}
}
@@ -556,7 +577,7 @@
\tag_struct_begin:n
{
tag=Span,
- actualtext=\l__tag_luamplib_actual_tl,
+ actualtext=\l__luamplib_tag_actual_tl,
}
\tag_mc_begin:n{}
}
@@ -584,15 +605,15 @@
{
,alt .code:n =
{
- \bool_set_true:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
- \tl_set:Ne\l__tag_luamplib_alt_tl{\text_purify:n{#1}}
+ \bool_set_true:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
+ \tl_set:Ne\l__luamplib_tag_alt_tl{\text_purify:n{#1}}
}
,actualtext .code:n =
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
- \tl_set:Ne\l__tag_luamplib_actual_tl{\text_purify:n{#1}}
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
+ \tl_set:Ne\l__luamplib_tag_actual_tl{\text_purify:n{#1}}
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_actualtext:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_actualtext:
\tag_if_active:T {\noindent}
@@ -599,24 +620,19 @@
}
,artifact .code:n =
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
}
,text .code:n =
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_true:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_true:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
\tag_if_active:T {\noindent}
}
- ,correct-BBox .code:n =
- {
- \bool_set_true:N \l__tag_graphic_bboxcorr_bool
- \seq_set_split:Nnn\l__tag_graphic_bboxcorr_seq{~}{#1~0pt~0pt~0pt~0pt}
- }
,tag .code:n =
{
\str_case:nnF {#1}
@@ -623,15 +639,15 @@
{
{artifact}
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_false:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_false:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
}
{text}
{
- \bool_set_false:N \l__tag_graphic_BBox_bool
- \bool_set_true:N \l__tag_luamplib_usetext_bool
+ \bool_set_false:N \l__luamplib_tag_BBox_bool
+ \bool_set_true:N \l__luamplib_tag_usetext_bool
\cs_set_eq:NN \luamplibtaggingbegin \__luamplib_tagging_begin_artifact:
\cs_set_eq:NN \luamplibtaggingend \__luamplib_tagging_end_artifact:
\tag_if_active:T {\noindent}
@@ -642,11 +658,16 @@
}
}
{
- \tl_set:Nn\l__tag_luamplib_struct_tl{#1}
+ \tl_set:Nn\l__luamplib_tag_struct_tl{#1}
}
}
+ ,correct-BBox .code:n =
+ {
+ \bool_set_true:N \l__luamplib_tag_bboxcorr_bool
+ \seq_set_split:Nnn \l__luamplib_tag_bboxcorr_seq{~}{#1~0pt~0pt~0pt~0pt}
+ }
,debug .code:n =
- { \bool_set_true:N \l__tag_graphic_debug_bool }
+ { \bool_set_true:N \l__luamplib_tag_debug_bool }
,instance .code:n =
{ \tl_gset:Nn \currentmpinstancename {#1} }
,instancename .meta:n = { instance = {#1} }
@@ -655,7 +676,115 @@
}
\cs_new_nopar:Npn \luamplibtaggingBBox
{
- \let\@picbox\mplibscratchbox \picture at tag@bbox at attribute
+ \bool_lazy_and:nnT
+ {\tag_if_active_p:}
+ {\l__luamplib_tag_BBox_bool}
+ {
+ \tl_set:Ne \l__luamplib_BBox_label_tl {luamplib.BBox.\tag_get:n{struct_num}}
+ \tex_savepos:D
+ \property_record:ee{\l__luamplib_BBox_label_tl}{xpos,ypos,abspage}
+ \tl_set:Ne \l__luamplib_BBox_llx_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__luamplib_BBox_label_tl}{xpos}{0}sp }
+ }
+ \tl_set:Ne \l__luamplib_BBox_lly_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__luamplib_BBox_label_tl}{ypos}{0}sp - \dp\mplibscratchbox }
+ }
+ \tl_set:Ne \l__luamplib_BBox_urx_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \l__luamplib_BBox_llx_tl bp + \wd\mplibscratchbox }
+ }
+ \tl_set:Ne \l__luamplib_BBox_ury_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \l__luamplib_BBox_lly_tl bp + \ht\mplibscratchbox + \dp\mplibscratchbox }
+ }
+ \bool_if:NT \l__luamplib_tag_bboxcorr_bool
+ {
+ \tl_set:Ne \l__luamplib_BBox_llx_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_llx_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {1} }
+ }
+ }
+ \tl_set:Ne \l__luamplib_BBox_lly_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_lly_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {2} }
+ }
+ }
+ \tl_set:Ne \l__luamplib_BBox_urx_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_urx_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {3} }
+ }
+ }
+ \tl_set:Ne \l__luamplib_BBox_ury_tl
+ {
+ \fp_eval:n
+ {
+ \l__luamplib_BBox_ury_tl
+ +
+ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__luamplib_tag_bboxcorr_seq {4} }
+ }
+ }
+ }
+ \prop_gput:cne
+ { g__tag_struct_\tag_get:n{struct_num}_prop }
+ {A}
+ {
+ << /O /Layout /BBox [
+ \l__luamplib_BBox_llx_tl\c_space_tl
+ \l__luamplib_BBox_lly_tl\c_space_tl
+ \l__luamplib_BBox_urx_tl\c_space_tl
+ \l__luamplib_BBox_ury_tl
+ ] >>
+ }
+ \bool_if:NT \l__luamplib_tag_debug_bool
+ {
+ \iow_log:e
+ {
+ luamplib/tag/debug:~BBox~of~structure~\tag_get:n{struct_num}~is~
+ \l__luamplib_BBox_llx_tl\c_space_tl
+ \l__luamplib_BBox_lly_tl\c_space_tl
+ \l__luamplib_BBox_urx_tl\c_space_tl
+ \l__luamplib_BBox_ury_tl
+ }
+ \use:e
+ {
+ \exp_not:N\AddToHookNext{shipout/foreground}
+ {
+ \exp_not:N\int_compare:nNnT
+ {\exp_not:N\g_shipout_readonly_int}
+ =
+ {\property_ref:een{\l__luamplib_BBox_label_tl}{abspage}{0}}
+ {
+ \exp_not:N\put
+ (\l__luamplib_BBox_llx_tl bp, \dim_eval:n{\l__luamplib_BBox_lly_tl bp -\paperheight})
+ {
+ \exp_not:N\opacity_select:n{0.5} \exp_not:N\color_select:n{red}
+ \exp_not:N\rule
+ {\dim_eval:n {\l__luamplib_BBox_urx_tl bp - \l__luamplib_BBox_llx_tl bp}}
+ {\dim_eval:n {\l__luamplib_BBox_ury_tl bp - \l__luamplib_BBox_lly_tl bp}}
+ }
+ }
+ }
+ }
+ }
+ }
}
\cs_set_nopar:Npn \mplibstarttoPDF #1 #2 #3 #4
{
@@ -706,7 +835,7 @@
\tl_gset_eq:NN \currentmpinstancename \c_empty_tl
\keys_set:nn{luamplib/tag}{#1}
\tl_if_empty:NF \currentmpinstancename
- { \tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure~\currentmpinstancename} }
+ { \tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure~\currentmpinstancename} }
\mplibtmptoks{}\ltxdomplibcode
}
\RenewDocumentCommand\mpfig{s O{}}
@@ -722,7 +851,7 @@
}
\keys_set:nn{luamplib/tag}{#2}
\tl_if_empty:NF \mpfiginstancename
- { \tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure~\mpfiginstancename} }
+ { \tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure~\mpfiginstancename} }
\mplibmainmpfig
}
}
@@ -735,17 +864,17 @@
Using~the~default~value~'##1'~instead.
}
\keys_set:nn{luamplib/tag}{#1}
- \tl_set:Nn\l__tag_luamplib_alt_dflt_tl {metapost~figure~#2}
+ \tl_set:Nn\l__luamplib_tag_alt_dflt_tl {metapost~figure~#2}
\csname luamplib.group.#2\endcsname
\endgroup
}
\cs_new_nopar:Npn \mplibalttext #1
{
- \tl_set:Ne \l__tag_luamplib_alt_tl {\text_purify:n{#1}}
+ \tl_set:Ne \l__luamplib_tag_alt_tl {\text_purify:n{#1}}
}
\cs_new_nopar:Npn \mplibactualtext #1
{
- \tl_set:Ne \l__tag_luamplib_actual_tl {\text_purify:n{#1}}
+ \tl_set:Ne \l__luamplib_tag_actual_tl {\text_purify:n{#1}}
}
\ExplSyntaxOff
\endinput
More information about the tex-live-commits
mailing list.