texlive[52499] Master/texmf-dist: curve2e (23oct19)
commits+karl at tug.org
commits+karl at tug.org
Wed Oct 23 23:38:48 CEST 2019
Revision: 52499
http://tug.org/svn/texlive?view=revision&revision=52499
Author: karl
Date: 2019-10-23 23:38:48 +0200 (Wed, 23 Oct 2019)
Log Message:
-----------
curve2e (23oct19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/curve2e/README.txt
trunk/Master/texmf-dist/doc/latex/curve2e/curve2e.pdf
trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
trunk/Master/texmf-dist/tex/latex/curve2e/curve2e-v161.sty
trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty
Modified: trunk/Master/texmf-dist/doc/latex/curve2e/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/curve2e/README.txt 2019-10-23 21:36:24 UTC (rev 52498)
+++ trunk/Master/texmf-dist/doc/latex/curve2e/README.txt 2019-10-23 21:38:48 UTC (rev 52499)
@@ -10,7 +10,7 @@
%% License information appended
%%
File README.txt for package curve2e
- [2019-10-17 v.2.0.3 Extension package for pict2e]
+ [2019-10-21 v.2.0.4 Extension package for pict2e]
@@ -22,8 +22,8 @@
curve2e-v161.sty
ltxdoc.cfg
-curve2e.dtx is the documented TeX source file of file curve2e.sty; you get
-both curve2e.sty and curve2e.pdf by running pdflatex on curve2e.dtx.
+curve2e.dtx is the documented TeX source file of file curve2e.sty; you
+get both curve2e.sty and curve2e.pdf by running pdflatex on curve2e.dtx.
The ltxdoc.cfg file customises the way the documentation file is typeset.
This .cfg file is not subject to the LPPL licence.
@@ -37,11 +37,12 @@
specified in the second edition of his LaTeX manual.
This further extension allows to draw lines and vectors with any non
-integer slope parameters, to draw dashed lined of any slope, to draw arcs
+integer slope parameters, to draw dashed lines of any slope, to draw arcs
and curved vectors, to draw curves where just the interpolating nodes are
-specified together with the slopes at the nodes; closed paths of any shape
-can be filled with color; all coordinates are treated as ordered pairs,
-i.e. 'complex numbers'; coordinates may be expressed also in polar form.
+specified together with the slopes at the nodes; closed paths of any
+shape can be filled with color; all coordinates are treated as ordered
+pairs, i.e. 'complex numbers'; coordinates may be expressed also in
+polar form.
Some of these features have been incorporated in the 2011 version of
pict2e; therefore this package avoids any modification to the original
pict2e commands.
@@ -48,7 +49,10 @@
Curve2e now accepts polar coordinates in addition to the usual cartesian
ones; several macros have been upgraded and a new macro for tracing cubic
-Bezier splines with their control nodes specified in polar form is available. The same applies to quadratic Bezier splines.
+Bezier splines with their control nodes specified in polar form is
+available. The same applies to quadratic Bezier splines. The multiput
+command has been completely modified in a backwards compatible way, as
+to manipulate the increment components.
This version solves a conflict with package eso-pic.
@@ -102,7 +106,7 @@
%%
%% This work consists of file curve2e.dtx, and the derived files
%% curve2e.sty and curve2e.pdf, plus the auxiliary derived files
-%% README.txt and manifest.txt.
+%% README.txt and curve2e-v161.sty.
%%
%%
%% End of file `README.txt'.
Modified: trunk/Master/texmf-dist/doc/latex/curve2e/curve2e.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx 2019-10-23 21:36:24 UTC (rev 52498)
+++ trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx 2019-10-23 21:38:48 UTC (rev 52499)
@@ -22,7 +22,7 @@
This work consists of file curve2e.dtx, and the derived files
curve2e.sty and curve2e.pdf, plus the auxiliary derived files
-README.txt and manifest.txt.
+README.txt and curve2e-v161.sty.
\endpostamble
\askforoverwritefalse
@@ -47,7 +47,7 @@
%<+package>\ProvidesPackage{curve2e}%
%<+readme>File README.txt for package curve2e
%<*package|readme>
- [2019-10-17 v.2.0.3 Extension package for pict2e]
+ [2019-10-21 v.2.0.4 Extension package for pict2e]
%</package|readme>
%<*driver>
\documentclass{ltxdoc}\errorcontextlines=9
@@ -104,7 +104,7 @@
%</driver>
% \fi
%
-% \CheckSum{5571}
+% \CheckSum{5569}
% \begin{abstract}
% This file documents the |curve2e| extension package to the |pict2e|
% bundle implementation that has been described by Lamport
@@ -2231,22 +2231,22 @@
}
% \end{macrocode}
% In order to avoid problems with divisions by zero, or with numbers that
-% yield results to large to be used as multipliers of lengths, it would be
-% preferable that the above code be preceded or followed by some tests and
-% possible messages. Actually we decided to avoid such tests and messages,
-% because the internal L3 functions already provide some. This is what it
-% was done in the previous versions of this package, when the |\fpeval| L3
-% function was not available.
+% yield results to large to be used as multipliers of lengths, it would
+% be preferable that the above code be preceded or followed by some tests
+% and possible messages. Actually we decided to avoid such tests and
+% messages, because the internal L3 functions already provide some. This
+% is what it was done in the previous versions of this package, when the
+% |\fpeval| L3 function was not available.
%
-% Notice that operands |#1| and |#2| may be integer numbers or fractional,
-% or mixed numbers. They may be also dimensions, but while dimensions in
-% printer points (72.27pt=1in) are handled as assumed, when different
-% units are used, the length must be enclosed in parentheses:
+% Notice that operands |#1| and |#2| may be integer numbers or
+% fractional, or mixed numbers. They may be also dimensions, but while
+% dimensions in printer points (72.27pt=1in) are handled as assumed, when
+% different units are used, the length must be enclosed in parentheses:
%\begin{verbatim}
%\DividE(1mm)by(3mm) to\result
%\end{verbatim}
-% yields correctly |\result=0.33333333|. Without parentheses the result is
-% unpredictable.
+% yields correctly |\result=0.33333333|. Without parentheses the result
+% is unpredictable.
%
% For backward compatibility we need an alias.
% \begin{macrocode}
@@ -2262,12 +2262,13 @@
\def\MultiplY#1by#2to#3{\edef#3{\fpeval{#1 * #2}}}\relax
\let\MultiplyFN\MultiplY
% \end{macrocode}
-% but with multiplication it is better to avoid computations with lengths.
+% but with multiplication it is better to avoid computations with
+% lengths.
%
-% The next macro uses the \verb|\strip at pt| \LaTeX\ kernel macro to get the
-% numerical value of a measure in points. One has to call |\Numero| with
-% a control sequence and a dimension; the dimension value in points is
-% assigned to the control sequence.
+% The next macro uses the \verb|\strip at pt| \LaTeX\ kernel macro to get
+% the numerical value of a measure in points. One has to call |\Numero|
+% with a control sequence and a dimension; the dimension value in points
+% is assigned to the control sequence.
% \begin{macrocode}
\unless\ifdefined\Numero
\def\Numero#1#2{\bgroup\dimen3254=#2\relax
@@ -2447,20 +2448,20 @@
% in the mathematical sense of an ordered pair of real numbers; it can be
% viewed as a vector joining the origin of the coordinate axes to the
% coordinates indicated by the ordered pair; it can be interpreted as a
-% roto-amplification operator that scales its operand and rotates it about
-% a pivot point; besides the usual conventional representation used by the
-% mathematicians where the ordered pair is enclosed in round parentheses
-% (which is in perfect agreement with the standard code used by the
-% |picture| environment) there is the other conventional representation
-% used by the engineers that stresses the roto-amplification nature of a
-% complex number:
+% roto-amplification operator that scales its operand and rotates it
+% about a pivot point; besides the usual conventional representation used
+% by the mathematicians where the ordered pair is enclosed in round
+% parentheses (which is in perfect agreement with the standard code used
+% by the |picture| environment) there is the other conventional
+% representation used by the engineers that stresses the
+% roto-amplification nature of a complex number:
%\[
%(x, y) = x + \mathrm{j}y =M \mathrm{e}^{\mathrm{j}\theta}
%\]
% Even the imaginary unit is indicated with $\mathrm{i}$ by the
-% mathematicians and with $\mathrm{j}$ by the engineers. In spite of these
-% differences, these objects, the \emph{complex numbers}, are used without
-% any problem by both mathematicians and engineers.
+% mathematicians and with $\mathrm{j}$ by the engineers. In spite of
+% these differences, these objects, the \emph{complex numbers}, are used
+% without any problem by both mathematicians and engineers.
%
% The important point is that these objects can be summed, subtracted,
% multiplied, divided, raised to any power (integer, fractional, positive
@@ -2470,21 +2471,22 @@
% doing some of these operations.
%
% In facts we need macros for summing, subtracting, multiplying, dividing
-% complex numbers, for determining their directions (unit vectors); a unit
-% vector is the complex number divided by its magnitude so that the result
-% is the cartesian or polar form of the Euler's formula
+% complex numbers, for determining their directions (unit vectors); a
+% unit vector is the complex number divided by its magnitude so that the
+% result is the cartesian or polar form of the Euler's formula
% \[
% \mathrm{e}^{\mathrm{j}\phi} = \cos\phi+\mathrm{j}\sin\phi
% \]
%
-% The magnitude of a vector is determined by taking a ‘clever’ square root
-% of a function of the real and the imaginary parts; see further on.
+% The magnitude of a vector is determined by taking a ‘clever’ square
+% root of a function of the real and the imaginary parts; see further on.
%
% It's better to represent each complex number with one control sequence;
% this implies frequent assembling and disassembling the pair of real
% numbers that make up a complex number. These real components are
-% assembled into the defining control sequence as a couple of coordinates,
-% i.e.\ two comma separated integer or fractional signed decimal numbers.
+% assembled into the defining control sequence as a couple of
+% coordinates, i.e.\ two comma separated integer or fractional signed
+% decimal numbers.
%
% For assembling two real numbers into a complex number we use the
% following elementary macro:
@@ -2496,8 +2498,8 @@
\def\CopyVect#1to#2{\edef#2{#1}\ignorespaces}%
% \end{macrocode}
% The magnitude is determined with the macro |\ModOfVect| with delimited
-% arguments; as usual it is assumed that the results are retrieved by means
-% of control sequences, not used directly.
+% arguments; as usual it is assumed that the results are retrieved by
+% means of control sequences, not used directly.
%
% In the preceding version of package |curve2e| the magnitude $M$ was
% determined by taking the moduli of the real and imaginary parts, by
@@ -2507,16 +2509,18 @@
% \[
% M = \sqrt{a^2+b^2} = \vert a\vert\sqrt{1+(b/a)^2}
% \]
-% In this way the radicand never exceeds 2 and it was quite easy to get its
-% square root by means of the Newton iterative process; due to the
+% In this way the radicand never exceeds 2 and it was quite easy to get
+% its square root by means of the Newton iterative process; due to the
% quadratic convergence, five iterations were more than sufficient. When
-% one of the components was zero, the Newton iterative process was skipped.
+% one of the components was zero, the Newton iterative process was
+% skipped.
% With the availability of the |xfp| package and its floating point
% algorithms it is much easier to compute the magnitude of a complex
% number; since these algorithms allow to use very large numbers, it is
% not necessary to normalise the complex number components to the largest
-% one; therefore the code is much simpler than the ne used for implementing
-% the Newton method in the previous versions of this package.
+% one; therefore the code is much simpler than the one used for
+% implementing the Newton method in the previous versions of this
+% package.
% \begin{macrocode}
\def\ModOfVect#1to#2{\GetCoord(#1)\t at X\t at Y
\edef#2{\fpeval{sqrt(\t at X*\t at X + \t at Y*\t at Y)}}\relax
@@ -2524,16 +2528,16 @@
% \end{macrocode}
%
% Since the macro for determining the magnitude of a vector is available,
-% we can now normalize the vector to its magnitude, therefore getting the
+% we can now normalise the vector to its magnitude, therefore getting the
% Cartesian form of the direction vector. If by any chance the direction
% of the null vector is requested, the output is again the null vector,
-% without normalization.
+% without normalisation.
% \begin{macrocode}
\def\DirOfVect#1to#2{\GetCoord(#1)\t at X\t at Y
\ModOfVect#1to\@tempa
\unless\ifdim\@tempa\p@=\z@
- \DividE\t at X\p@ by\@tempa to\t at X
- \DividE\t at Y\p@ by\@tempa to\t at Y
+ \DividE\t at X by\@tempa to\t at X
+ \DividE\t at Y by\@tempa to\t at Y
\fi
\MakeVectorFrom\t at X\t at Y to#2\ignorespaces}%
% \end{macrocode}
@@ -2541,9 +2545,9 @@
% A cumulative macro uses the above ones to determine with one call both
% the magnitude and the direction of a complex number. The first argument
% is the input complex number, the second its magnitude, and the third is
-% again a complex number normalised to unit magnitude (unless the input was
-% the null complex number); remember always that output quantities must be
-% specified with control sequences to be used at a later time.
+% again a complex number normalised to unit magnitude (unless the input
+% was the null complex number); remember always that output quantities
+% must be specified with control sequences to be used at a later time.
% \begin{macrocode}
\def\ModAndDirOfVect#1to#2and#3{%
\GetCoord(#1)\t at X\t at Y
@@ -2550,12 +2554,12 @@
\ModOfVect#1to#2%
\DirOfVect#1to#3\ignorespaces}%
% \end{macrocode}
-% The next macro computes the magnitude and the direction of the difference
-% of two complex numbers; the first input argument is the minuend, the
-% second is the subtrahend; the output quantities are the third argument
-% containing the magnitude of the difference and the fourth is the
-% direction of the difference.
-% The service macro |\SubVect| executes the difference of two complex
+% The next macro computes the magnitude and the direction of the
+% difference of two complex numbers; the first input argument is the
+% minuend, the second is the subtrahend; the output quantities are the
+% third argument containing the magnitude of the difference and the
+% fourth is the direction of the difference.
+% The service macro |\SubVect| executes the difference of two complex
% numbers and is described further on.
% \begin{macrocode}
\def\DistanceAndDirOfVect#1minus#2to#3and#4{%
@@ -2562,8 +2566,8 @@
\SubVect#2from#1to\@tempa
\ModAndDirOfVect\@tempa to#3and#4\ignorespaces}%
% \end{macrocode}
-% We now have two macros intended to fetch just the real or, respectively,
-% the imaginary part of the input complex number.
+% We now have two macros intended to fetch just the real or,
+% respectively, the imaginary part of the input complex number.
% \begin{macrocode}
\def\XpartOfVect#1to#2{%
\GetCoord(#1)#2\@tempa\ignorespaces}%
@@ -2571,8 +2575,8 @@
\def\YpartOfVect#1to#2{%
\GetCoord(#1)\@tempa#2\ignorespaces}%
% \end{macrocode}
-% With the next macro we create a direction vector (second argument) from a
-% given angle (first argument, in degrees).
+% With the next macro we create a direction vector (second argument) from
+% a given angle (first argument, in degrees).
% \begin{macrocode}
\def\DirFromAngle#1to#2{%
\CosOf#1to\t at X
@@ -2580,8 +2584,9 @@
\MakeVectorFrom\t at X\t at Y to#2\ignorespaces}%
% \end{macrocode}
%
-% Sometimes it is necessary to scale a vector by an arbitrary real factor;
-% this implies scaling both the real and imaginary part of the input given vector.
+% Sometimes it is necessary to scale a vector by an arbitrary real
+% factor; this implies scaling both the real and imaginary part of the
+% input given vector.
% \begin{macrocode}
\def\ScaleVect#1by#2to#3{\GetCoord(#1)\t at X\t at Y
\edef\t at X{\fpeval{#2 * \t at X}}\relax
@@ -2620,13 +2625,19 @@
% For the multiplication we need to split the operation according to the
% fact that we want to multiply by the second operand or by the complex
% conjugate of the second operand; it would be nice if we could use the
-% usual postfixed asterisk notation for the complex conjugate, but we could
-% not find a simple means for doing so; therefore we use the prefixed
-% notation, that is I put the asterisk before the second operand. The first
-% part of the multiplication macro just takes care of the multiplicand and
-% then checks for the asterisk; if there is no asterisk it calls a second
-% service macro that performs a regular complex multiplication, otherwise
-% it calls a third service macro that executes the conjugate
+% usual postfixed asterisk notation for the complex conjugate, but we
+% could not find a simple means for doing so\footnote{Actually the simple
+% means do exist now through the use of the \texttt{xparse} package, but
+% they became available only when the syntax of this
+% \texttt{\string\MultVect} macro had been already in use for a long
+% time; changing the position of the asterisk at this moment, would mean
+% to render the new definition incompatible with the existing source
+% document files.}; therefore we use the prefixed notation, that is we
+% put the asterisk \emph{before} the second operand. The first part of
+% the multiplication macro just takes care of the multiplicand and then
+% checks for the asterisk; if there is no asterisk it calls a second
+% (service) macro that performs a regular complex multiplication,
+% otherwise it calls a third service macro that executes the conjugate
% multiplication.
% \begin{macrocode}
\def\MultVect#1by{\@ifstar{\@ConjMultVect#1by}{\@MultVect#1by}}%
@@ -2646,7 +2657,12 @@
%
% The division of two complex numbers implies scaling down the dividend
% by the magnitude of the divisor and by rotating the dividend scaled
-% vector by the opposite direction of the divisor; therefore:
+% vector by the conjugate direction of the divisor;
+%\[
+% \frac{\vec{N}}{\vec{D}}= \frac{\vec{N}}{M\vec{u}}=
+% \frac{\vec{N}}{M}\vec{u}^{\mkern2mu\star}
+%\]
+%therefore:
% \begin{macrocode}
\def\DivVect#1by#2to#3{\ModAndDirOfVect#2to\@Mod and\@Dir
\edef\@Mod{\fpeval{1 / \@Mod}}\relax
@@ -3741,8 +3757,8 @@
curve2e-v161.sty
ltxdoc.cfg
-curve2e.dtx is the documented TeX source file of file curve2e.sty; you get
-both curve2e.sty and curve2e.pdf by running pdflatex on curve2e.dtx.
+curve2e.dtx is the documented TeX source file of file curve2e.sty; you
+get both curve2e.sty and curve2e.pdf by running pdflatex on curve2e.dtx.
The ltxdoc.cfg file customises the way the documentation file is typeset.
This .cfg file is not subject to the LPPL licence.
@@ -3756,11 +3772,12 @@
specified in the second edition of his LaTeX manual.
This further extension allows to draw lines and vectors with any non
-integer slope parameters, to draw dashed lined of any slope, to draw arcs
+integer slope parameters, to draw dashed lines of any slope, to draw arcs
and curved vectors, to draw curves where just the interpolating nodes are
-specified together with the slopes at the nodes; closed paths of any shape
-can be filled with color; all coordinates are treated as ordered pairs,
-i.e. 'complex numbers'; coordinates may be expressed also in polar form.
+specified together with the slopes at the nodes; closed paths of any
+shape can be filled with color; all coordinates are treated as ordered
+pairs, i.e. 'complex numbers'; coordinates may be expressed also in
+polar form.
Some of these features have been incorporated in the 2011 version of
pict2e; therefore this package avoids any modification to the original
pict2e commands.
@@ -3768,7 +3785,10 @@
Curve2e now accepts polar coordinates in addition to the usual cartesian
ones; several macros have been upgraded and a new macro for tracing cubic
-Bezier splines with their control nodes specified in polar form is available. The same applies to quadratic Bezier splines.
+Bezier splines with their control nodes specified in polar form is
+available. The same applies to quadratic Bezier splines. The multiput
+command has been completely modified in a backwards compatible way, as
+to manipulate the increment components.
This version solves a conflict with package eso-pic.
Modified: trunk/Master/texmf-dist/tex/latex/curve2e/curve2e-v161.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/curve2e/curve2e-v161.sty 2019-10-23 21:36:24 UTC (rev 52498)
+++ trunk/Master/texmf-dist/tex/latex/curve2e/curve2e-v161.sty 2019-10-23 21:38:48 UTC (rev 52499)
@@ -898,7 +898,7 @@
%%
%% This work consists of file curve2e.dtx, and the derived files
%% curve2e.sty and curve2e.pdf, plus the auxiliary derived files
-%% README.txt and manifest.txt.
+%% README.txt and curve2e-v161.sty.
%%
%%
%% End of file `curve2e-v161.sty'.
Modified: trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty 2019-10-23 21:36:24 UTC (rev 52498)
+++ trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty 2019-10-23 21:38:48 UTC (rev 52499)
@@ -11,7 +11,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2016/01/01]
\ProvidesPackage{curve2e}%
- [2019-10-17 v.2.0.3 Extension package for pict2e]
+ [2019-10-21 v.2.0.4 Extension package for pict2e]
@@ -296,8 +296,8 @@
\def\DirOfVect#1to#2{\GetCoord(#1)\t at X\t at Y
\ModOfVect#1to\@tempa
\unless\ifdim\@tempa\p@=\z@
- \DividE\t at X\p@ by\@tempa to\t at X
- \DividE\t at Y\p@ by\@tempa to\t at Y
+ \DividE\t at X by\@tempa to\t at X
+ \DividE\t at Y by\@tempa to\t at Y
\fi
\MakeVectorFrom\t at X\t at Y to#2\ignorespaces}%
\def\ModAndDirOfVect#1to#2and#3{%
@@ -723,7 +723,7 @@
%%
%% This work consists of file curve2e.dtx, and the derived files
%% curve2e.sty and curve2e.pdf, plus the auxiliary derived files
-%% README.txt and manifest.txt.
+%% README.txt and curve2e-v161.sty.
%%
%%
%% End of file `curve2e.sty'.
More information about the tex-live-commits
mailing list