From c23682f2c0c9d6928d1a2d9f362b8b7ed708fb72 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 23 Nov 2020 22:01:18 +0000 Subject: pgf (23nov20) git-svn-id: svn://tug.org/texlive/trunk@56989 c570f23f-e606-0410-a88d-b1316a301751 --- .../shapes/pgflibraryshapes.geometric.code.tex | 2 +- .../generic/pgf/modules/pgfmoduleshapes.code.tex | 2 +- Master/texmf-dist/tex/generic/pgf/pgf.revision.tex | 8 ++-- .../tex/generic/pgf/systemlayer/pgfsys-dvips.def | 20 ++++++-- .../tex/generic/pgf/systemlayer/pgfsys-luatex.def | 8 ++-- .../tex/generic/pgf/utilities/pgffor.code.tex | 8 +++- .../tex/generic/pgf/utilities/pgfkeys.code.tex | 54 +++++++++++----------- .../tex/generic/pgf/utilities/pgfutil-latex.def | 8 +++- 8 files changed, 67 insertions(+), 43 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex index 6bc42863239..8ed52a51871 100644 --- a/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex @@ -163,7 +163,7 @@ \advance\pgf@x by0.707107\pgf@xa \advance\pgf@y by-0.707107\pgf@ya }% - \anchorborder{ + \anchorborder{% \edef\pgf@marshal{% \noexpand\pgfpointborderellipse {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}} diff --git a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex index 4e8cce59a4b..a22aca47575 100644 --- a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex @@ -1260,7 +1260,7 @@ \advance\pgf@x by0.707107\pgf@xa \advance\pgf@y by-0.707107\pgf@xa }% - \anchorborder{ + \anchorborder{% \pgf@xa=\pgf@x% \pgf@ya=\pgf@y% \edef\pgf@marshal{% diff --git a/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex b/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex index 8b87951e3b1..1c04a7bfd71 100644 --- a/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex +++ b/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex @@ -5,10 +5,10 @@ \catcode`\:=12 \catcode`\+=12 \catcode`\-=12 -\gdef\pgfrevision{3.1.6a} -\gdef\pgfversion{3.1.6a} -\gdef\pgfversiondatetime{2020-10-01 21:02:59 +0200} -\gdef\pgfrevisiondatetime{2020-10-01 21:02:59 +0200} +\gdef\pgfrevision{3.1.7} +\gdef\pgfversion{3.1.7} +\gdef\pgfversiondatetime{2020-11-23 12:12:00 +0100} +\gdef\pgfrevisiondatetime{2020-11-23 12:12:00 +0100} \gdef\pgf@glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3} \xdef\pgfversiondate{\expandafter\pgf@glob@TMPa\pgfversiondatetime\relax} \xdef\pgfrevisiondate{\expandafter\pgf@glob@TMPa\pgfrevisiondatetime\relax} diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def index 70f5ba28873..678fdd4d0bf 100644 --- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def +++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def @@ -474,15 +474,27 @@ \expandafter\xdef\csname pgfsmasktrans@#1\endcsname{% \noexpand\pgftransformcm{1}{0}{0}{1}{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}}% \edef\@tempa{\noexpand\pgfutil@insertatbegincurrentpagefrombox{% - % box coordinates (reference point and top) needed for distilling + % box coordinates (reference point and top) needed for ps2pdf \pgfsys@outerinvoke{currentpoint /pgf@refy exch def /pgf@refx exch def}% \hbox to 0pt {\hbox to \ifdim\ht#2>\ht\strutbox\ht#2\else\ht\strutbox\fi{\hss\pgfsys@outerinvoke{% /pgf@top pgf@refy currentpoint pop pgf@refx sub VResolution Resolution div mul sub def% }}\hss}% + % lower-right box corner coordinates for viewing + \hbox to 0pt {\hbox to \wd#2{\hss\pgfsys@outerinvoke{/pgf@right currentpoint pop def}}\hss}% + \hbox to 0pt {\hbox to \ifdim\dp#2>\dp\strutbox\dp#2\else\dp\strutbox\fi{\hss\pgfsys@outerinvoke{% + /pgf@bot pgf@refy currentpoint pop pgf@refx sub VResolution Resolution div mul add def% + }}\hss}% \pgfsys@outerinvoke{gsave - % translate box to upper left page corner, so we have the whole clipping path (i. e. - % page area) available for distilling, as outlying parts get clipped - clippath pathbbox newpath pop pop translate pgf@refx neg pgf@top neg translate + clippath pathbbox newpath pop pop translate + systemdict /pdfmark known {% + % for ps2pdf, translate box to upper-left page corner, so we have the whole clipping + % path (i. e. page area) available, as outlying parts get clipped + pgf@refx neg pgf@top neg translate% + } {% + % for viewing, however, we want to hide the box by moving it off-page; we do so by aligning + % the lower-right box corner with the upper-left page corner + pgf@right neg pgf@bot neg translate% + } ifelse % translate origin (0,0) to the reference point gsave pgf@refx pgf@refy translate mark /_objdef {pgfsmaskxform@\the\pgf@objectcount} diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def index 88adfd42d9d..b87edd0e6a1 100644 --- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def +++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def @@ -84,7 +84,7 @@ {% \pgf@parsefunc{#3}% \pgfmathparse{#2}% - \setbox\pgfutil@tempboxa=\hbox to\pgf@max{\vbox to\pgfmathresult pt{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% + \setbox\pgfutil@tempboxa=\hbox dir TLT to\pgf@max{\vbox to\pgfmathresult pt{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% \pgf@process{\pgfpoint{\pgf@max}{#2}}% \immediate\saveboxresource resources {% /Shading << /Sh << /ShadingType 2 @@ -101,7 +101,7 @@ {% \pgf@parsefunc{#3}% \pgfmathparse{#2}% - \setbox\pgfutil@tempboxa=\hbox to\pgfmathresult pt{\vbox to\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% + \setbox\pgfutil@tempboxa=\hbox dir TLT to\pgfmathresult pt{\vbox to\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% \pgf@process{\pgfpoint{#2}{\pgf@max}}% \immediate\saveboxresource resources {% /Shading << /Sh << /ShadingType 2 @@ -117,7 +117,7 @@ \def\pgfsys@radialshading#1#2#3{% {% \pgf@parsefunc{#3}% - \setbox\pgfutil@tempboxa=\hbox to2\pgf@max{\vbox to2\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% + \setbox\pgfutil@tempboxa=\hbox dir TLT to2\pgf@max{\vbox to2\pgf@max{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% \pgf@process{#2}% \pgf@xa=\pgf@x% \pgf@ya=\pgf@y% @@ -149,7 +149,7 @@ \pgf@yb=\pgf@y% \advance\pgf@x by-\pgf@xa% \advance\pgf@y by-\pgf@ya% - \setbox\pgfutil@tempboxa=\hbox to\pgf@x{\vbox to\pgf@y{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% + \setbox\pgfutil@tempboxa=\hbox dir TLT to\pgf@x{\vbox to\pgf@y{\vfil\pgfsys@invoke{/Sh sh}}\hfil}% \pgf@sys@bp@correct{\pgf@xa}% \pgf@sys@bp@correct{\pgf@ya}% \pgf@sys@bp@correct{\pgf@xb}% diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex index cdb77b31377..65b62b8cf98 100644 --- a/Master/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex @@ -79,10 +79,13 @@ \fi% } +\def\pgffor@expand@list@true{\let\pgffor@expand@list\edef} +\def\pgffor@expand@list@false{\let\pgffor@expand@list\def} \def\pgffor@macro@list#1{% \expandafter\pgffor@normal@list\expandafter{#1}} \def\pgffor@normal@list#1{% - \def\pgffor@values{#1, \pgffor@stop,}% + \pgffor@expand@list\pgffor@values{#1}% + \expandafter\def\expandafter\pgffor@values\expandafter{\pgffor@values, \pgffor@stop,}% \ifx\pgffor@values\pgffor@emptyvalues \def\pgffor@values{\pgffor@stop,}% \fi% @@ -619,6 +622,9 @@ count/.code=\pgffor@count@parse#1\pgffor@stop, parse/.is if=pgffor@assign@parse, parse/.default=false, + expand list/.is if=pgffor@expand@list@, + expand list/.default=true, + expand list=false, } \def\pgffor@assign@parse#1{% diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex index e32745317c5..db89141aca1 100644 --- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex @@ -178,7 +178,13 @@ % % \pgfkeysifdefined{/tikz/length}{key exists}{does not exist} -\long\def\pgfkeysifdefined#1#2#3{\ifcsname pgfk@#1\endcsname#2\else#3\fi} +\long\def\pgfkeysifdefined#1{% + \ifcsname pgfk@#1\endcsname + \expandafter\pgfkeys@firstoftwo + \else + \expandafter\pgfkeys@secondoftwo + \fi +} % Tests whether a key is assignable. For standard keys which just % store their value, this is identical to \pgfkeysifdefined. @@ -749,7 +755,7 @@ {% \pgfkeysgetvalue{\pgfkeyscurrentpath/.@args}{\pgfkeys@tempargs}% \pgfkeysgetvalue{\pgfkeyscurrentpath/.@body}{\pgfkeys@tempbody}% - \def\pgfkeys@marshal{\expandafter\gdef\expandafter\pgfkeys@global@temp\pgfkeys@tempargs}% + \def\pgfkeys@marshal{\expandafter\long\expandafter\gdef\expandafter\pgfkeys@global@temp\pgfkeys@tempargs}% \expandafter\pgfkeys@marshal\expandafter{\pgfkeys@tempbody}% }% \pgfkeysifdefined{\pgfkeyscurrentpath/.@@body}{% @@ -799,11 +805,7 @@ % Defining a value -\pgfkeys{/handlers/.initial/.code=% - \pgfkeyslet{\pgfkeyscurrentpath/.@cmd}\undefined - \pgfkeyslet{\pgfkeyscurrentpath/.@args}\undefined - \pgfkeyssetvalue{\pgfkeyscurrentpath}{#1}% -} +\pgfkeys{/handlers/.initial/.code=\pgfkeyssetvalue{\pgfkeyscurrentpath}{#1}} \pgfkeys{/handlers/.add/.code 2 args=\pgfkeysaddvalue{\pgfkeyscurrentpath}{#1}{#2}} \pgfkeys{/handlers/.prefix/.code=\pgfkeysaddvalue{\pgfkeyscurrentpath}{#1}{}} \pgfkeys{/handlers/.append/.code=\pgfkeysaddvalue{\pgfkeyscurrentpath}{}{#1}} @@ -1039,50 +1041,50 @@ \pgfkeys{ /errors/boolean expected/.code 2 args=% - { - \toks1={#1} - \toks2={#2} + {% + \toks1={#1}% + \toks2={#2}% \pgfkeys@error{% Boolean parameter of key '\the\toks1' must be 'true' or 'false', not '\the\toks2'. I am going to ignore it% - } + }% }, /errors/value required/.code 2 args=% - { - \toks1={#1} + {% + \toks1={#1}% \pgfkeys@error{% The key '\the\toks1' requires a value. I am going to ignore this key% - } + }% }, /errors/value forbidden/.code 2 args=% - { - \toks1={#1} - \toks2={#2} + {% + \toks1={#1}% + \toks2={#2}% \pgfkeys@error{% You may not specify a value for the key '\the\toks1'. I am going to ignore the value '\the\toks2' that you provided% - } + }% }, /errors/unknown choice value/.code 2 args=% - { - \toks1={#1} - \toks2={#2} + {% + \toks1={#1}% + \toks2={#2}% \pgfkeys@error{% Choice '\the\toks2' unknown in choice key '\the\toks1'. I am going to ignore this key% - } + }% }, /errors/unknown key/.code 2 args=% - { - \toks1={#1} - \toks2={#2} + {% + \toks1={#1}% + \toks2={#2}% \def\pgf@temp{#2}% \pgfkeys@error{% I do not know the key '\the\toks1'\ifx\pgf@temp\pgfkeysnovalue@text\space\else, to which you passed '\the\toks2', \fi and I am going to ignore it. Perhaps you misspelled it% - } + }% } } diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def index e2ed750368f..a21f3b4d633 100644 --- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def @@ -92,6 +92,9 @@ \AtBeginDocument{\AtEndDocument{\clearpage\the\pgfutil@everybye}} +% \@ifl@t@r is defined \@onlypremable so we have to save it here +\let\pgfutil@ifl@t@r=\@ifl@t@r + \def\pgfutil@insertatbegincurrentpagefrombox#1{% \edef\pgf@temp{\the\wd\pgfutil@abb}% \global\setbox\pgfutil@abb\hbox{% @@ -105,8 +108,9 @@ % % CF observed problems when placing patterns in XObjects without % this skip (dvipdfmx driver for pgfplots shader=interp) - \hskip-\pgf@temp\relax% + \hskip\dimexpr\pgfutil@ifl@t@r\fmtversion{2020/10/01}{2in-2\hoffset}{}-\pgf@temp\relax% #1% + \pgfutil@ifl@t@r\fmtversion{2020/10/01}{\hskip\dimexpr-2in-2\hoffset\relax}{}% }% } \newbox\pgfutil@abb% @@ -119,7 +123,7 @@ } \let\pgfutil@abe\pgfutil@empty% -\@ifl@t@r\fmtversion{2020/10/01}{% +\pgfutil@ifl@t@r\fmtversion{2020/10/01}{% \AddToHook{shipout/background}{% \put(\hoffset-1in,\voffset-1in){% \pgfutil@abe\unhbox\pgfutil@abb\pgfutil@abc\global\let\pgfutil@abc\pgfutil@empty -- cgit v1.2.3