texlive[56504] Master/texmf-dist: pict2e (1oct20)

commits+karl at tug.org commits+karl at tug.org
Thu Oct 1 23:06:11 CEST 2020


Revision: 56504
          http://tug.org/svn/texlive?view=revision&revision=56504
Author:   karl
Date:     2020-10-01 23:06:10 +0200 (Thu, 01 Oct 2020)
Log Message:
-----------
pict2e (1oct20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/pict2e/p2e-drivers.pdf
    trunk/Master/texmf-dist/doc/latex/pict2e/pict2e.pdf
    trunk/Master/texmf-dist/source/latex/pict2e/pict2e.dtx
    trunk/Master/texmf-dist/tex/latex/pict2e/pict2e.sty

Modified: trunk/Master/texmf-dist/doc/latex/pict2e/p2e-drivers.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/pict2e/pict2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/pict2e/pict2e.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/pict2e/pict2e.dtx	2020-10-01 21:05:52 UTC (rev 56503)
+++ trunk/Master/texmf-dist/source/latex/pict2e/pict2e.dtx	2020-10-01 21:06:10 UTC (rev 56504)
@@ -1,7 +1,5 @@
 % \iffalse meta-comment
 %
-%
-%
 % Copyright (C) 2003-2020
 % Rolf Niepraschk, Rolf.Niepraschk at gmx.de
 % Hubert Gaesslein, hubertjg at gmx.de
@@ -23,7 +21,7 @@
 %
 %<*package>
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{pict2e}[2020/08/16 v0.4a Improved picture commands (HjG,RN,JT)]
+\ProvidesPackage{pict2e}[2020/09/30 v0.4b Improved picture commands (HjG,RN,JT)]
 %</package>
 %
 %<*driver>
@@ -63,8 +61,9 @@
 % \fi
 %
 % \GetFileInfo{pict2e.sty}
-% \def\docdate{2020/08/16}
+% \def\docdate{2020/09/30}
 %
+% \CheckSum{2350}
 %
 % ^^A ========
 %
@@ -694,7 +693,7 @@
 %
 % \subsubsection{Driver options}
 %
-%  \begin{minipage}{.5\textwidth}
+%  \begin{minipage}{.55\textwidth}
 %  \begin{tabular}{@{}lc@{\qquad\qquad}lc@{}}
 %    driver  & notes  & driver   & notes\\ \hline
 %    dvips   &  x     & oztex    & (x) \\
@@ -2892,10 +2891,10 @@
 %     argument (RN,HjG)}
 % \changes{v0.2n}{2004/04/22}{Allow zero diameter (RN/HjG)}
 %    \begin{macrocode}
-      \@defaultunitsset\@tempdima{#1}\unitlength
-      \ifdim\@tempdima<\z@ \pIIe at badcircarg \fi
-      \divide\@tempdima\tw@
-      \pIIe at circle\@tempdima
+      \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+      \ifdim\pIIe at tempdima<\z@ \pIIe at badcircarg \fi
+      \divide\pIIe at tempdima\tw@
+      \pIIe at circle\pIIe at tempdima
 %    \end{macrocode}
 % With the current state of affairs, we could use
 % \cmd{\pIIe at drawGraph} directly; but that would possibly be a case of
@@ -3062,8 +3061,8 @@
 % This is now re-implemented in terms of \cmd{@defaultunitsset}.
 %    \begin{macrocode}
   \newcommand*\pIIe at defaultUL[2]{%
-    \@defaultunitsset\dimen@{#2}\unitlength
-    \edef#1{\the\dimen@}}
+    \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+    \edef#1{\the\pIIe at tempdima}}
 %    \end{macrocode}
 % Hence, we could\slash should omit the unnecessary argument!?)
 % \changes{v0.2h}{2004/01/07}{Check for negative or zero radius
@@ -3120,16 +3119,16 @@
 %    \end{macrocode}
 % In analogy to circles, we need only half of the size value.
 %    \begin{macrocode}
-    \@defaultunitsset\@ovxx{#1}\unitlength \divide\@ovxx\tw@
-    \@defaultunitsset\@ovyy{#2}\unitlength \divide\@ovyy\tw@
-    \@tempdimc \ifdim\@ovyy>\@ovxx \@ovxx \else \@ovyy \fi
-    \ifdim\pIIe at maxovalrad<\@tempdimc \@tempdimc\pIIe at maxovalrad\relax \fi
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength \divide\pIIe at tempdima\tw@
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength \divide\pIIe at tempdimb\tw@
+    \pIIe at tempdimc \ifdim\pIIe at tempdimb>\pIIe at tempdima \pIIe at tempdima \else \pIIe at tempdimb \fi
+    \ifdim\pIIe at maxovalrad<\pIIe at tempdimc \pIIe at tempdimc\pIIe at maxovalrad\relax \fi
 %    \end{macrocode}
 % Subtract the radius of the corners to get coordinates for the
 % straight line segments.
 %    \begin{macrocode}
-    \@xdim\@ovxx \advance\@xdim-\@tempdimc
-    \@ydim\@ovyy \advance\@ydim-\@tempdimc
+    \pIIe at tempdimd\pIIe at tempdima \advance\pIIe at tempdimd-\pIIe at tempdimc
+    \pIIe at tempdime\pIIe at tempdimb \advance\pIIe at tempdime-\pIIe at tempdimc
 %    \end{macrocode}
 % Determine which parts of the oval we have to draw.
 %    \begin{macrocode}
@@ -3152,7 +3151,8 @@
 % Bits 3 and 0 set? (SE/NE)
 %    \begin{macrocode}
     \ifnum9=\@tempcnta
-      \pIIe at qoval\z@{-\@ovyy}{\@xdim}{-\@ovyy}\thr@@\@tempdimc\@ovxx\z@
+      \pIIe at qoval\z@{-\pIIe at tempdimb}{\pIIe at tempdimd}{-\pIIe at tempdimb}%
+        \thr@@\pIIe at tempdimc\pIIe at tempdima\z@
 %    \end{macrocode}
 % Bit 0 set! (NE)
 %    \begin{macrocode}
@@ -3161,19 +3161,23 @@
 %    \end{macrocode}
 % Bit 0 set? (NE)
 %    \begin{macrocode}
-    \pIIe at qoval\@ovxx\z@\@ovxx\@ydim\z@\@tempdimc\z@\@ovyy
+    \pIIe at qoval\pIIe at tempdima\z@\pIIe at tempdima\pIIe at tempdime%
+      \z@\pIIe at tempdimc\z@\pIIe at tempdimb
 %    \end{macrocode}
 % Bit 1 set? (NW)
 %    \begin{macrocode}
-    \pIIe at qoval\z@\@ovyy{-\@xdim}\@ovyy\@ne\@tempdimc{-\@ovxx}\z@
+    \pIIe at qoval\z@\pIIe at tempdimb{-\pIIe at tempdimd}\pIIe at tempdimb%
+      \@ne\pIIe at tempdimc{-\pIIe at tempdima}\z@
 %    \end{macrocode}
 % Bit 2 set? (SW)
 %    \begin{macrocode}
-    \pIIe at qoval{-\@ovxx}\z@{-\@ovxx}{-\@ydim}\tw@\@tempdimc\z@{-\@ovyy}%
+    \pIIe at qoval{-\pIIe at tempdima}\z@{-\pIIe at tempdima}{-\pIIe at tempdime}%
+      \tw@\pIIe at tempdimc\z@{-\pIIe at tempdimb}%
 %    \end{macrocode}
 % Bit 3 set? (SE)
 %    \begin{macrocode}
-    \pIIe at qoval\z@{-\@ovyy}{\@xdim}{-\@ovyy}\thr@@\@tempdimc\@ovxx\z@
+    \pIIe at qoval\z@{-\pIIe at tempdimb}{\pIIe at tempdimd}{-\pIIe at tempdimb}%
+      \thr@@\pIIe at tempdimc\pIIe at tempdima\z@
 %    \end{macrocode}
 % Now we've finished, draw the oval and finally close the group opened
 % by \cmd{\oval} above.
@@ -3255,31 +3259,31 @@
 %    \begin{macrocode}
       \@killglue
       \begingroup
-      \@defaultunitsset\@ovxx{#2}\unitlength
-      \@defaultunitsset\@ovyy{#3}\unitlength
-      \@defaultunitsset\@ovdx{#4}\unitlength
-      \@defaultunitsset\@ovdy{#5}\unitlength
-      \@defaultunitsset\@xdim{#6}\unitlength
-      \@defaultunitsset\@ydim{#7}\unitlength
+      \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+      \@defaultunitsset\pIIe at tempdimb{#3}\unitlength
+      \@defaultunitsset\pIIe at tempdimc{#4}\unitlength
+      \@defaultunitsset\pIIe at tempdimd{#5}\unitlength
+      \@defaultunitsset\pIIe at tempdime{#6}\unitlength
+      \@defaultunitsset\pIIe at tempdimf{#7}\unitlength
 %    \end{macrocode}
 % \noindent
 % \BigIndent $P_1 = P_m + 1/3 (P_0 - P_m)$
 %    \begin{macrocode}
-      \pIIe at bezier@QtoC\@ovxx\@ovdx\@ovro
-      \pIIe at bezier@QtoC\@ovyy\@ovdy\@ovri
+      \pIIe at bezier@QtoC\pIIe at tempdima\pIIe at tempdimc\@ovro
+      \pIIe at bezier@QtoC\pIIe at tempdimb\pIIe at tempdimd\@ovri
 %    \end{macrocode}
 % \BigIndent $P_2 = P_m + 1/3 (P_3 - P_m)$
 %    \begin{macrocode}
-      \pIIe at bezier@QtoC\@xdim\@ovdx\@clnwd
-      \pIIe at bezier@QtoC\@ydim\@ovdy\@clnht
+      \pIIe at bezier@QtoC\pIIe at tempdime\pIIe at tempdimc\@clnwd
+      \pIIe at bezier@QtoC\pIIe at tempdimf\pIIe at tempdimd\@clnht
 %    \end{macrocode}
 % \BigIndent $(P_{0x},P_{0y})$
 %    \begin{macrocode}
-      \pIIe at moveto\@ovxx\@ovyy
+      \pIIe at moveto\pIIe at tempdima\pIIe at tempdimb
 %    \end{macrocode}
 % \BigIndent $(P_{1x},P_{1y})$\quad$(P_{2x},P_{2y})$\quad$(P_{3x},P_{3y})$
 %    \begin{macrocode}
-      \pIIe at curveto\@ovro\@ovri\@clnwd\@clnht\@xdim\@ydim
+      \pIIe at curveto\@ovro\@ovri\@clnwd\@clnht\pIIe at tempdime\pIIe at tempdimf
       \pIIe at strokeGraph
       \endgroup
       \ignorespaces
@@ -3310,10 +3314,17 @@
 % \label{sec:implementation:circle-arcs}
 %
 % We need some auxiliary dimensions.
+% \changes{v0.4b}{2020/09/30}{More auxiliary dimensions}
+% \changes{v0.4b}{2020/09/30}{Use of fewer system dimension registers}
 %    \begin{macrocode}
   \ifx\undefined\@arclen \newdimen\@arclen \fi
   \ifx\undefined\@arcrad \newdimen\@arcrad \fi
-  \ifx\undefined\@tempdimd \newdimen\@tempdimd \fi
+  \ifx\undefined\pIIe at tempdima \newdimen\pIIe at tempdima \fi
+  \ifx\undefined\pIIe at tempdimb \newdimen\pIIe at tempdimb \fi
+  \ifx\undefined\pIIe at tempdimc \newdimen\pIIe at tempdimc \fi
+  \ifx\undefined\pIIe at tempdimd \newdimen\pIIe at tempdimd \fi
+  \ifx\undefined\pIIe at tempdime \newdimen\pIIe at tempdime \fi
+  \ifx\undefined\pIIe at tempdimf \newdimen\pIIe at tempdimf \fi
 %    \end{macrocode}
 % \begin{macro}{\pIIe at arc}
 % \#1: 0 (implicit) if we connect arc with a current point, 1 if we start
@@ -3394,11 +3405,11 @@
 % Coordinates of the second control point:
 %    \begin{macrocode}
       \@tempdimc \UseSin{#6}\@linelen \advance\@tempdimc \@tempdima
-      \@tempdimd-\UseCos{#6}\@linelen \advance\@tempdimd \@tempdimb
+      \pIIe at tempdimd-\UseCos{#6}\@linelen \advance\pIIe at tempdimd \@tempdimb
 %    \end{macrocode}
 % Adding the second control point and the endpoint to the path
 %    \begin{macrocode}
-      \pIIe at add@nums\@tempdimc\@tempdimd
+      \pIIe at add@nums\@tempdimc\pIIe at tempdimd
       \pIIe at add@CP\@tempdima\@tempdimb
       \pIIe at addtoGraph\pIIe at curveto@op
     \fi
@@ -3416,14 +3427,13 @@
     {\@ifstar{\@tempswatrue\pIIe at arc@}{\@tempswafalse\pIIe at arc@}}
   \newcommand*\pIIe at arc@[2][0,360]{\pIIe at arc@@(#1){#2}}
   \def\pIIe at arc@@(#1,#2)#3{%
+    \@defaultunitsset\pIIe at tempdima{#3}\unitlength
     \if at tempswa
       \pIIe at moveto\z@\z@
-      \@defaultunitsset\@tempdimc{#3}\unitlength
-      \pIIe at arc{\z@}{\z@}{\@tempdimc}{#1}{#2}%
+      \pIIe at arc{\z@}{\z@}{\pIIe at tempdima}{#1}{#2}%
       \pIIe at closepath\pIIe at fillGraph
     \else
-      \@defaultunitsset\@tempdimc{#3}\unitlength
-      \pIIe at arc[1]{\z@}{\z@}{\@tempdimc}{#1}{#2}%
+      \pIIe at arc[1]{\z@}{\z@}{\pIIe at tempdima}{#1}{#2}%
       \pIIe at strokeGraph
     \fi}
   \ifx\undefined\arc
@@ -3450,16 +3460,16 @@
   \def\Line(#1,#2)(#3,#4){\polyline(#1,#2)(#3,#4)}
   \def\polyline(#1,#2){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at moveto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@polyline}{\PackageWarning{pict2e}%
       {Polygonal lines require at least two vertices!}%
     \ignorespaces}}
   \def\@polyline(#1,#2){%
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at lineto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at lineto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@polyline}{\pIIe at strokeGraph\ignorespaces}}
   \def\Vector(#1,#2)(#3,#4){\polyvector(#1,#2)(#3,#4)}
   \def\polyvector(#1,#2){%
@@ -3471,23 +3481,23 @@
 %    \end{macrocode}
 % See the similar definition for \cmd{\vector} (\ref{sec:implementation:vector})
 %    \begin{macrocode}
-    \@defaultunitsset\@xdim{#1}\unitlength
-    \@defaultunitsset\@tempdima{#3}\unitlength 
-    \@defaultunitsset\@ydim{#2}\unitlength
-    \@defaultunitsset\@tempdimb{#4}\unitlength 
-    \advance\@tempdima-\@xdim \advance\@tempdimb-\@ydim
-    \ifdim\@tempdima=\z@ \@linelen\@tempdimb \else
-      \ifdim\@tempdimb=\z@ \@linelen\@tempdima \else
-        \pIIe at pyth\@tempdima\@tempdimb\@linelen
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \@defaultunitsset\pIIe at tempdimc{#3}\unitlength
+    \@defaultunitsset\pIIe at tempdimd{#4}\unitlength
+    \advance\pIIe at tempdimc-\pIIe at tempdima \advance\pIIe at tempdimd-\pIIe at tempdimb
+    \ifdim\pIIe at tempdimc=\z@ \@linelen\pIIe at tempdimd \else
+      \ifdim\pIIe at tempdimd=\z@ \@linelen\pIIe at tempdimc \else
+        \pIIe at pyth\pIIe at tempdimc\pIIe at tempdimd\@linelen
       \fi
     \fi
     \ifdim\@linelen<\z@ \@linelen-\@linelen\fi
-    \pIIe at divide{\@tempdima}\@linelen\@ovxx
-    \pIIe at divide{\@tempdimb}\@linelen\@ovyy
+    \pIIe at divide{\pIIe at tempdimc}\@linelen\pIIe at tempdime
+    \pIIe at divide{\pIIe at tempdimd}\@linelen\pIIe at tempdimf
 %    \end{macrocode}
 % Note the shift to the previous point in addition to the rotation.
 %    \begin{macrocode}
-    \pIIe at concat\@ovxx\@ovyy{-\@ovyy}\@ovxx\@xdim\@ydim
+    \pIIe at concat\pIIe at tempdime\pIIe at tempdimf{-\pIIe at tempdimf}\pIIe at tempdime\pIIe at tempdima\pIIe at tempdimb
     \pIIe at vector \pIIe at fillGraph 
     \@ifnextchar\lp at r{\@polyvector(#3,#4)}{\endgroup\ignorespaces}}
   \def\polygon{%
@@ -3495,16 +3505,16 @@
     \@ifstar{\begingroup\@tempswatrue\@polygon}%
       {\begingroup\@tempswafalse\@polygon}}
   \def\@polygon(#1,#2){%
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at moveto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@@polygon}{\PackageWarning{pict2e}%
       {Polygons require at least two vertices!}%
     \ignorespaces}}
   \def\@@polygon(#1,#2){%
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at lineto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at lineto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@@polygon}{\pIIe at closepath
       \if at tempswa\pIIe at fillGraph\else\pIIe at strokeGraph\fi
       \endgroup
@@ -3530,33 +3540,33 @@
 %    \begin{macrocode}
   \def\moveto(#1,#2){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at moveto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \ignorespaces}
   \def\lineto(#1,#2){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at lineto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at lineto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \ignorespaces}
   \def\curveto(#1,#2)(#3,#4)(#5,#6){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \@defaultunitsset\@tempdima{#3}\unitlength
-    \@defaultunitsset\dimen@{#4}\unitlength
-    \@defaultunitsset\@ovxx{#5}\unitlength
-    \@defaultunitsset\@ovyy{#6}\unitlength
-    \pIIe at curveto{\@tempdimc}{\@tempdimb}{\@tempdima}{\dimen@}%
-      {\@ovxx}{\@ovyy}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \@defaultunitsset\pIIe at tempdimc{#3}\unitlength
+    \@defaultunitsset\pIIe at tempdimd{#4}\unitlength
+    \@defaultunitsset\pIIe at tempdime{#5}\unitlength
+    \@defaultunitsset\pIIe at tempdimf{#6}\unitlength
+    \pIIe at curveto{\pIIe at tempdima}{\pIIe at tempdimb}{\pIIe at tempdimc}%
+      {\pIIe at tempdimd}{\pIIe at tempdime}{\pIIe at tempdimf}%
     \ignorespaces}
   \newcommand*\circlearc[6][0]{%
     \@killglue
-    \@defaultunitsset\@tempdimc{#2}\unitlength
-    \@defaultunitsset\@tempdimb{#3}\unitlength
-    \@defaultunitsset\@tempdima{#4}\unitlength
-    \pIIe at arc[#1]{\@tempdimc}{\@tempdimb}{\@tempdima}{#5}{#6}%
+    \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#3}\unitlength
+    \@defaultunitsset\pIIe at tempdimc{#4}\unitlength
+    \pIIe at arc[#1]{\pIIe at tempdima}{\pIIe at tempdimb}{\pIIe at tempdimc}{#5}{#6}%
     \ignorespaces}
   \def\closepath{\pIIe at closepath}
   \def\strokepath{\pIIe at strokeGraph}
@@ -3642,17 +3652,17 @@
     \def\pIIe@@cbezier#1)#2(#3)#4(#5)#6({\@cbezier#1)(#3)(#5)(}%
     \def\@cbezier[#1](#2,#3)(#4,#5)(#6,#7)(#8,#9){%
       \@killglue
-      \@defaultunitsset\@tempdimc{#2}\unitlength
-      \@defaultunitsset\@tempdimb{#3}\unitlength
-      \pIIe at moveto{\@tempdimc}{\@tempdimb}%
-      \@defaultunitsset\@tempdimc{#4}\unitlength
-      \@defaultunitsset\@tempdimb{#5}\unitlength
-      \@defaultunitsset\@tempdima{#6}\unitlength
-      \@defaultunitsset\dimen@{#7}\unitlength
-      \@defaultunitsset\@ovxx{#8}\unitlength
-      \@defaultunitsset\@ovyy{#9}\unitlength
-      \pIIe at curveto{\@tempdimc}{\@tempdimb}%
-        {\@tempdima}{\dimen@}{\@ovxx}{\@ovyy}%
+      \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+      \@defaultunitsset\pIIe at tempdimb{#3}\unitlength
+      \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
+      \@defaultunitsset\pIIe at tempdima{#4}\unitlength
+      \@defaultunitsset\pIIe at tempdimb{#5}\unitlength
+      \@defaultunitsset\pIIe at tempdimc{#6}\unitlength
+      \@defaultunitsset\pIIe at tempdimd{#7}\unitlength
+      \@defaultunitsset\pIIe at tempdime{#8}\unitlength
+      \@defaultunitsset\pIIe at tempdimf{#9}\unitlength
+      \pIIe at curveto{\pIIe at tempdima}{\pIIe at tempdimb}{\pIIe at tempdimc}%
+        {\pIIe at tempdimd}{\pIIe at tempdime}{\pIIe at tempdimf}%
       \pIIe at strokeGraph
       \ignorespaces}%
   }

Modified: trunk/Master/texmf-dist/tex/latex/pict2e/pict2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pict2e/pict2e.sty	2020-10-01 21:05:52 UTC (rev 56503)
+++ trunk/Master/texmf-dist/tex/latex/pict2e/pict2e.sty	2020-10-01 21:06:10 UTC (rev 56504)
@@ -24,7 +24,7 @@
 %% This work consists of all files listed in `manifest.txt'.
 %% 
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{pict2e}[2020/08/16 v0.4a Improved picture commands (HjG,RN,JT)]
+\ProvidesPackage{pict2e}[2020/09/30 v0.4b Improved picture commands (HjG,RN,JT)]
 \edef\Gin at codes{%
  \catcode`\noexpand\^^A\the\catcode`\^^A\relax
  \catcode`\noexpand\"\the\catcode`\"\relax
@@ -494,10 +494,10 @@
     \def\@circle#1{\begingroup \@tempswafalse\pIIe at circ{#1}}
     \def\@dot#1{\begingroup \@tempswatrue\pIIe at circ{#1}}
   \newcommand*\pIIe at circ[1]{%
-      \@defaultunitsset\@tempdima{#1}\unitlength
-      \ifdim\@tempdima<\z@ \pIIe at badcircarg \fi
-      \divide\@tempdima\tw@
-      \pIIe at circle\@tempdima
+      \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+      \ifdim\pIIe at tempdima<\z@ \pIIe at badcircarg \fi
+      \divide\pIIe at tempdima\tw@
+      \pIIe at circle\pIIe at tempdima
       \if at tempswa \pIIe at fillGraph \else \buttcap \pIIe at strokeGraph \fi
     \endgroup}
   \newcommand*\pIIe at circle[1]{%
@@ -527,8 +527,8 @@
       {The radius of a circle, dot, arc or oval corner must be greater than zero.}}%
   \newcommand*\maxovalrad{20pt}
   \newcommand*\pIIe at defaultUL[2]{%
-    \@defaultunitsset\dimen@{#2}\unitlength
-    \edef#1{\the\dimen@}}
+    \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+    \edef#1{\the\pIIe at tempdima}}
   \newcommand*\pIIe at def@UL{}
   \def\pIIe at def@UL#1\relax#2#3{%
     \edef#2{\the\dimen@}}
@@ -540,23 +540,28 @@
       \ifdim\pIIe at maxovalrad<\z@ \pIIe at badcircarg \fi
       \pIIe at oval}
   \def\@oval(#1,#2)[#3]{%
-    \@defaultunitsset\@ovxx{#1}\unitlength \divide\@ovxx\tw@
-    \@defaultunitsset\@ovyy{#2}\unitlength \divide\@ovyy\tw@
-    \@tempdimc \ifdim\@ovyy>\@ovxx \@ovxx \else \@ovyy \fi
-    \ifdim\pIIe at maxovalrad<\@tempdimc \@tempdimc\pIIe at maxovalrad\relax \fi
-    \@xdim\@ovxx \advance\@xdim-\@tempdimc
-    \@ydim\@ovyy \advance\@ydim-\@tempdimc
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength \divide\pIIe at tempdima\tw@
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength \divide\pIIe at tempdimb\tw@
+    \pIIe at tempdimc \ifdim\pIIe at tempdimb>\pIIe at tempdima \pIIe at tempdima \else \pIIe at tempdimb \fi
+    \ifdim\pIIe at maxovalrad<\pIIe at tempdimc \pIIe at tempdimc\pIIe at maxovalrad\relax \fi
+    \pIIe at tempdimd\pIIe at tempdima \advance\pIIe at tempdimd-\pIIe at tempdimc
+    \pIIe at tempdime\pIIe at tempdimb \advance\pIIe at tempdime-\pIIe at tempdimc
     \pIIe at get@quadrants{#3}%
     \ifnum15=\@tempcnta \pIIe at buttcap \fi
     \@tempswatrue
     \ifnum9=\@tempcnta
-      \pIIe at qoval\z@{-\@ovyy}{\@xdim}{-\@ovyy}\thr@@\@tempdimc\@ovxx\z@
+      \pIIe at qoval\z@{-\pIIe at tempdimb}{\pIIe at tempdimd}{-\pIIe at tempdimb}%
+        \thr@@\pIIe at tempdimc\pIIe at tempdima\z@
       \@tempcnta\@ne
     \fi
-    \pIIe at qoval\@ovxx\z@\@ovxx\@ydim\z@\@tempdimc\z@\@ovyy
-    \pIIe at qoval\z@\@ovyy{-\@xdim}\@ovyy\@ne\@tempdimc{-\@ovxx}\z@
-    \pIIe at qoval{-\@ovxx}\z@{-\@ovxx}{-\@ydim}\tw@\@tempdimc\z@{-\@ovyy}%
-    \pIIe at qoval\z@{-\@ovyy}{\@xdim}{-\@ovyy}\thr@@\@tempdimc\@ovxx\z@
+    \pIIe at qoval\pIIe at tempdima\z@\pIIe at tempdima\pIIe at tempdime%
+      \z@\pIIe at tempdimc\z@\pIIe at tempdimb
+    \pIIe at qoval\z@\pIIe at tempdimb{-\pIIe at tempdimd}\pIIe at tempdimb%
+      \@ne\pIIe at tempdimc{-\pIIe at tempdima}\z@
+    \pIIe at qoval{-\pIIe at tempdima}\z@{-\pIIe at tempdima}{-\pIIe at tempdime}%
+      \tw@\pIIe at tempdimc\z@{-\pIIe at tempdimb}%
+    \pIIe at qoval\z@{-\pIIe at tempdimb}{\pIIe at tempdimd}{-\pIIe at tempdimb}%
+      \thr@@\pIIe at tempdimc\pIIe at tempdima\z@
     \pIIe at strokeGraph
     \endgroup}
   \newcommand*\pIIe at qoval[8]{%
@@ -577,18 +582,18 @@
     \ifnum #1=\z@
       \@killglue
       \begingroup
-      \@defaultunitsset\@ovxx{#2}\unitlength
-      \@defaultunitsset\@ovyy{#3}\unitlength
-      \@defaultunitsset\@ovdx{#4}\unitlength
-      \@defaultunitsset\@ovdy{#5}\unitlength
-      \@defaultunitsset\@xdim{#6}\unitlength
-      \@defaultunitsset\@ydim{#7}\unitlength
-      \pIIe at bezier@QtoC\@ovxx\@ovdx\@ovro
-      \pIIe at bezier@QtoC\@ovyy\@ovdy\@ovri
-      \pIIe at bezier@QtoC\@xdim\@ovdx\@clnwd
-      \pIIe at bezier@QtoC\@ydim\@ovdy\@clnht
-      \pIIe at moveto\@ovxx\@ovyy
-      \pIIe at curveto\@ovro\@ovri\@clnwd\@clnht\@xdim\@ydim
+      \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+      \@defaultunitsset\pIIe at tempdimb{#3}\unitlength
+      \@defaultunitsset\pIIe at tempdimc{#4}\unitlength
+      \@defaultunitsset\pIIe at tempdimd{#5}\unitlength
+      \@defaultunitsset\pIIe at tempdime{#6}\unitlength
+      \@defaultunitsset\pIIe at tempdimf{#7}\unitlength
+      \pIIe at bezier@QtoC\pIIe at tempdima\pIIe at tempdimc\@ovro
+      \pIIe at bezier@QtoC\pIIe at tempdimb\pIIe at tempdimd\@ovri
+      \pIIe at bezier@QtoC\pIIe at tempdime\pIIe at tempdimc\@clnwd
+      \pIIe at bezier@QtoC\pIIe at tempdimf\pIIe at tempdimd\@clnht
+      \pIIe at moveto\pIIe at tempdima\pIIe at tempdimb
+      \pIIe at curveto\@ovro\@ovri\@clnwd\@clnht\pIIe at tempdime\pIIe at tempdimf
       \pIIe at strokeGraph
       \endgroup
       \ignorespaces
@@ -601,7 +606,12 @@
     #3\@tempdimc}
   \ifx\undefined\@arclen \newdimen\@arclen \fi
   \ifx\undefined\@arcrad \newdimen\@arcrad \fi
-  \ifx\undefined\@tempdimd \newdimen\@tempdimd \fi
+  \ifx\undefined\pIIe at tempdima \newdimen\pIIe at tempdima \fi
+  \ifx\undefined\pIIe at tempdimb \newdimen\pIIe at tempdimb \fi
+  \ifx\undefined\pIIe at tempdimc \newdimen\pIIe at tempdimc \fi
+  \ifx\undefined\pIIe at tempdimd \newdimen\pIIe at tempdimd \fi
+  \ifx\undefined\pIIe at tempdime \newdimen\pIIe at tempdime \fi
+  \ifx\undefined\pIIe at tempdimf \newdimen\pIIe at tempdimf \fi
   \newcommand*\pIIe at arc[6][0]{%
     \@arcrad #4\relax
     \ifdim \@arcrad<\z@ \pIIe at badcircarg \else
@@ -648,8 +658,8 @@
       \@tempdima \UseCos{#6}\@arcrad \advance\@tempdima #2\relax
       \@tempdimb \UseSin{#6}\@arcrad \advance\@tempdimb #3\relax
       \@tempdimc \UseSin{#6}\@linelen \advance\@tempdimc \@tempdima
-      \@tempdimd-\UseCos{#6}\@linelen \advance\@tempdimd \@tempdimb
-      \pIIe at add@nums\@tempdimc\@tempdimd
+      \pIIe at tempdimd-\UseCos{#6}\@linelen \advance\pIIe at tempdimd \@tempdimb
+      \pIIe at add@nums\@tempdimc\pIIe at tempdimd
       \pIIe at add@CP\@tempdima\@tempdimb
       \pIIe at addtoGraph\pIIe at curveto@op
     \fi
@@ -658,14 +668,13 @@
     {\@ifstar{\@tempswatrue\pIIe at arc@}{\@tempswafalse\pIIe at arc@}}
   \newcommand*\pIIe at arc@[2][0,360]{\pIIe at arc@@(#1){#2}}
   \def\pIIe at arc@@(#1,#2)#3{%
+    \@defaultunitsset\pIIe at tempdima{#3}\unitlength
     \if at tempswa
       \pIIe at moveto\z@\z@
-      \@defaultunitsset\@tempdimc{#3}\unitlength
-      \pIIe at arc{\z@}{\z@}{\@tempdimc}{#1}{#2}%
+      \pIIe at arc{\z@}{\z@}{\pIIe at tempdima}{#1}{#2}%
       \pIIe at closepath\pIIe at fillGraph
     \else
-      \@defaultunitsset\@tempdimc{#3}\unitlength
-      \pIIe at arc[1]{\z@}{\z@}{\@tempdimc}{#1}{#2}%
+      \pIIe at arc[1]{\z@}{\z@}{\pIIe at tempdima}{#1}{#2}%
       \pIIe at strokeGraph
     \fi}
   \ifx\undefined\arc
@@ -677,16 +686,16 @@
   \def\Line(#1,#2)(#3,#4){\polyline(#1,#2)(#3,#4)}
   \def\polyline(#1,#2){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at moveto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@polyline}{\PackageWarning{pict2e}%
       {Polygonal lines require at least two vertices!}%
     \ignorespaces}}
   \def\@polyline(#1,#2){%
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at lineto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at lineto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@polyline}{\pIIe at strokeGraph\ignorespaces}}
   \def\Vector(#1,#2)(#3,#4){\polyvector(#1,#2)(#3,#4)}
   \def\polyvector(#1,#2){%
@@ -695,20 +704,20 @@
       \PackageWarning{pict2e}%
       {Polygonal vectors require at least two vertices!}\ignorespaces}}
   \def\@polyvector(#1,#2)(#3,#4){%
-    \@defaultunitsset\@xdim{#1}\unitlength
-    \@defaultunitsset\@tempdima{#3}\unitlength
-    \@defaultunitsset\@ydim{#2}\unitlength
-    \@defaultunitsset\@tempdimb{#4}\unitlength
-    \advance\@tempdima-\@xdim \advance\@tempdimb-\@ydim
-    \ifdim\@tempdima=\z@ \@linelen\@tempdimb \else
-      \ifdim\@tempdimb=\z@ \@linelen\@tempdima \else
-        \pIIe at pyth\@tempdima\@tempdimb\@linelen
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \@defaultunitsset\pIIe at tempdimc{#3}\unitlength
+    \@defaultunitsset\pIIe at tempdimd{#4}\unitlength
+    \advance\pIIe at tempdimc-\pIIe at tempdima \advance\pIIe at tempdimd-\pIIe at tempdimb
+    \ifdim\pIIe at tempdimc=\z@ \@linelen\pIIe at tempdimd \else
+      \ifdim\pIIe at tempdimd=\z@ \@linelen\pIIe at tempdimc \else
+        \pIIe at pyth\pIIe at tempdimc\pIIe at tempdimd\@linelen
       \fi
     \fi
     \ifdim\@linelen<\z@ \@linelen-\@linelen\fi
-    \pIIe at divide{\@tempdima}\@linelen\@ovxx
-    \pIIe at divide{\@tempdimb}\@linelen\@ovyy
-    \pIIe at concat\@ovxx\@ovyy{-\@ovyy}\@ovxx\@xdim\@ydim
+    \pIIe at divide{\pIIe at tempdimc}\@linelen\pIIe at tempdime
+    \pIIe at divide{\pIIe at tempdimd}\@linelen\pIIe at tempdimf
+    \pIIe at concat\pIIe at tempdime\pIIe at tempdimf{-\pIIe at tempdimf}\pIIe at tempdime\pIIe at tempdima\pIIe at tempdimb
     \pIIe at vector \pIIe at fillGraph
     \@ifnextchar\lp at r{\@polyvector(#3,#4)}{\endgroup\ignorespaces}}
   \def\polygon{%
@@ -716,16 +725,16 @@
     \@ifstar{\begingroup\@tempswatrue\@polygon}%
       {\begingroup\@tempswafalse\@polygon}}
   \def\@polygon(#1,#2){%
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at moveto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@@polygon}{\PackageWarning{pict2e}%
       {Polygons require at least two vertices!}%
     \ignorespaces}}
   \def\@@polygon(#1,#2){%
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at lineto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at lineto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \@ifnextchar\lp at r{\@@polygon}{\pIIe at closepath
       \if at tempswa\pIIe at fillGraph\else\pIIe at strokeGraph\fi
       \endgroup
@@ -732,33 +741,33 @@
       \ignorespaces}}
   \def\moveto(#1,#2){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at moveto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \ignorespaces}
   \def\lineto(#1,#2){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \pIIe at lineto{\@tempdimc}{\@tempdimb}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \pIIe at lineto{\pIIe at tempdima}{\pIIe at tempdimb}%
     \ignorespaces}
   \def\curveto(#1,#2)(#3,#4)(#5,#6){%
     \@killglue
-    \@defaultunitsset\@tempdimc{#1}\unitlength
-    \@defaultunitsset\@tempdimb{#2}\unitlength
-    \@defaultunitsset\@tempdima{#3}\unitlength
-    \@defaultunitsset\dimen@{#4}\unitlength
-    \@defaultunitsset\@ovxx{#5}\unitlength
-    \@defaultunitsset\@ovyy{#6}\unitlength
-    \pIIe at curveto{\@tempdimc}{\@tempdimb}{\@tempdima}{\dimen@}%
-      {\@ovxx}{\@ovyy}%
+    \@defaultunitsset\pIIe at tempdima{#1}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#2}\unitlength
+    \@defaultunitsset\pIIe at tempdimc{#3}\unitlength
+    \@defaultunitsset\pIIe at tempdimd{#4}\unitlength
+    \@defaultunitsset\pIIe at tempdime{#5}\unitlength
+    \@defaultunitsset\pIIe at tempdimf{#6}\unitlength
+    \pIIe at curveto{\pIIe at tempdima}{\pIIe at tempdimb}{\pIIe at tempdimc}%
+      {\pIIe at tempdimd}{\pIIe at tempdime}{\pIIe at tempdimf}%
     \ignorespaces}
   \newcommand*\circlearc[6][0]{%
     \@killglue
-    \@defaultunitsset\@tempdimc{#2}\unitlength
-    \@defaultunitsset\@tempdimb{#3}\unitlength
-    \@defaultunitsset\@tempdima{#4}\unitlength
-    \pIIe at arc[#1]{\@tempdimc}{\@tempdimb}{\@tempdima}{#5}{#6}%
+    \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+    \@defaultunitsset\pIIe at tempdimb{#3}\unitlength
+    \@defaultunitsset\pIIe at tempdimc{#4}\unitlength
+    \pIIe at arc[#1]{\pIIe at tempdima}{\pIIe at tempdimb}{\pIIe at tempdimc}{#5}{#6}%
     \ignorespaces}
   \def\closepath{\pIIe at closepath}
   \def\strokepath{\pIIe at strokeGraph}
@@ -785,17 +794,17 @@
     \def\pIIe@@cbezier#1)#2(#3)#4(#5)#6({\@cbezier#1)(#3)(#5)(}%
     \def\@cbezier[#1](#2,#3)(#4,#5)(#6,#7)(#8,#9){%
       \@killglue
-      \@defaultunitsset\@tempdimc{#2}\unitlength
-      \@defaultunitsset\@tempdimb{#3}\unitlength
-      \pIIe at moveto{\@tempdimc}{\@tempdimb}%
-      \@defaultunitsset\@tempdimc{#4}\unitlength
-      \@defaultunitsset\@tempdimb{#5}\unitlength
-      \@defaultunitsset\@tempdima{#6}\unitlength
-      \@defaultunitsset\dimen@{#7}\unitlength
-      \@defaultunitsset\@ovxx{#8}\unitlength
-      \@defaultunitsset\@ovyy{#9}\unitlength
-      \pIIe at curveto{\@tempdimc}{\@tempdimb}%
-        {\@tempdima}{\dimen@}{\@ovxx}{\@ovyy}%
+      \@defaultunitsset\pIIe at tempdima{#2}\unitlength
+      \@defaultunitsset\pIIe at tempdimb{#3}\unitlength
+      \pIIe at moveto{\pIIe at tempdima}{\pIIe at tempdimb}%
+      \@defaultunitsset\pIIe at tempdima{#4}\unitlength
+      \@defaultunitsset\pIIe at tempdimb{#5}\unitlength
+      \@defaultunitsset\pIIe at tempdimc{#6}\unitlength
+      \@defaultunitsset\pIIe at tempdimd{#7}\unitlength
+      \@defaultunitsset\pIIe at tempdime{#8}\unitlength
+      \@defaultunitsset\pIIe at tempdimf{#9}\unitlength
+      \pIIe at curveto{\pIIe at tempdima}{\pIIe at tempdimb}{\pIIe at tempdimc}%
+        {\pIIe at tempdimd}{\pIIe at tempdime}{\pIIe at tempdimf}%
       \pIIe at strokeGraph
       \ignorespaces}%
   }



More information about the tex-live-commits mailing list.