summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/curve2e
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-01-06 03:01:05 +0000
committerNorbert Preining <norbert@preining.info>2020-01-06 03:01:05 +0000
commit9d0c8699c4a9f01ec5cc8aeb7e3b14956b3d51c1 (patch)
tree570162c5a6220ea63dffe4e5471f477e99e77c99 /macros/latex/contrib/curve2e
parentd703bc2777b69363e791c0ec50045947b1a399da (diff)
CTAN sync 202001060301
Diffstat (limited to 'macros/latex/contrib/curve2e')
-rw-r--r--macros/latex/contrib/curve2e/README.txt25
-rw-r--r--macros/latex/contrib/curve2e/curve2e.dtx93
-rw-r--r--macros/latex/contrib/curve2e/curve2e.pdfbin703517 -> 710384 bytes
3 files changed, 74 insertions, 44 deletions
diff --git a/macros/latex/contrib/curve2e/README.txt b/macros/latex/contrib/curve2e/README.txt
index 84e7fecffb..1d74851d13 100644
--- a/macros/latex/contrib/curve2e/README.txt
+++ b/macros/latex/contrib/curve2e/README.txt
@@ -6,11 +6,11 @@
%%
%% curve2e.dtx (with options: `readme')
%%
-%% Copyright (C) 2005--2019 Claudio Beccari all rights reserved.
+%% Copyright (C) 2005--2020 Claudio Beccari all rights reserved.
%% License information appended
%%
File README.txt for package curve2e
- [2019-12-06 v.2.0.7 Extension package for pict2e]
+ [2020-01-05 v.2.0.8 Extension package for pict2e]
@@ -24,7 +24,9 @@ ltxdoc.cfg
curve2e.dtx is the documented TeX source file of file curve2e.sty; you
get curve2e.sty, curve2e.pdf, and curve2e-v161.sty by running pdflatex
on curve2e.dtx. The ltxdoc.cfg file customises the way the documentation
-file is typeset. This specific .cfg file is part of the ltxdoc package functionality and it is supposed to be configured for each specifica other bundle.
+file is typeset. This specific .cfg file is part of the ltxdoc package
+functionality and it is supposed to be configured for each specific
+other bundle.
README.txt, this file, contains general information.
@@ -41,7 +43,7 @@ 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.
+coordinates may be expressed also in polar form. Coordinates may be specified with macros, so that editing any drawing is rendered much simpler: any point specified with a macro is modified only once in the macro definition.
Some of these features have been incorporated in the 2011 version of
pict2e; therefore this package avoids any modification to the original
pict2e commands.
@@ -49,9 +51,12 @@ pict2e commands.
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. The \multiput
+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 in a configurable way.
+to manipulate the increment components in a configurable way. A new
+xmultiput command has been defined that is more configurable than the
+original one; both \multiput and \xmultiput are backwards compatible with
+the original picture environment definition.
This version solves a conflict with package eso-pic.
@@ -71,10 +76,10 @@ have an older or a basic/incomplete installation of the TeX system,
such L3 functions might not be available. This is why this
package checks the presence of the developer interface; in case
such interface is not available it falls back to the previous version
-renamed curve2e-v161.sty, which is part of this bundle, and that must
-not be renamed in any way. The compatibility mentioned above implies
-that the user macros remain the same, but their implementation requires
-the L3 interface.
+renamed curve2e-v161.sty, which is part of this bundle; this order
+package name must not be modified in any way. The compatibility mentioned
+above implies that the user macros remain the same, but their
+implementation requires the L3 interface.
The package has the LPPL status of author maintained.
diff --git a/macros/latex/contrib/curve2e/curve2e.dtx b/macros/latex/contrib/curve2e/curve2e.dtx
index d850055244..2bf4c5af2d 100644
--- a/macros/latex/contrib/curve2e/curve2e.dtx
+++ b/macros/latex/contrib/curve2e/curve2e.dtx
@@ -6,7 +6,7 @@
\keepsilent
\preamble
- Copyright (C) 2005--2019 Claudio Beccari all rights reserved.
+ Copyright (C) 2005--2020 Claudio Beccari all rights reserved.
License information appended
\endpreamble
@@ -47,7 +47,7 @@ README.txt and curve2e-v161.sty.
%<+package>\ProvidesPackage{curve2e}%
%<+readme>File README.txt for package curve2e
%<*package|readme>
- [2019-12-06 v.2.0.7 Extension package for pict2e]
+ [2020-01-05 v.2.0.8 Extension package for pict2e]
%</package|readme>
%<*driver>
\documentclass{ltxdoc}\errorcontextlines=9
@@ -110,7 +110,7 @@ README.txt and curve2e-v161.sty.
%</driver>
% \fi
%
-% \CheckSum{5592}
+% \CheckSum{5600}
% \begin{abstract}
% This file documents the |curve2e| extension package to the |pict2e|
% bundle implementation; the latter was described by Lamport
@@ -476,7 +476,7 @@ README.txt and curve2e-v161.sty.
% \begin{verbatim}
% \unitlength=.5mm
% \begin{picture}(60,20)
-% \put(0,0){\GraphGrid(80,20)}
+% \GraphGrid(80,20)
% \put(0,0){\vector(1.5,2.3){10}}
% \put(20,0){\Vector(10,15.33333)}
% \VECTOR(40,0)(50,15.33333)
@@ -488,7 +488,7 @@ README.txt and curve2e-v161.sty.
% \begin{minipage}{.48\textwidth}\centering
% \unitlength=.5mm
% \begin{picture}(60,20)
-% \put(0,0){\GraphGrid(80,20)}
+% \GraphGrid(80,20)
% \put(0,0){\vector(1.5,2.3){10}}
% \put(20,0){\Vector(10,15.33333)}
% \VECTOR(40,0)(50,15.33333)
@@ -538,7 +538,7 @@ README.txt and curve2e-v161.sty.
%\begin{minipage}{0.55\textwidth}
%\begin{verbatim}
%\begin{picture}(40,30)
-%\put(0,0){\GraphGrid(40,30)}
+%\GraphGrid(40,30)
%\Zbox(40,0)[l]{40,0}[1]
%\Zbox(90:30)[bc]{90{:}30}[1]
%\Zbox(60:30)[bc]{60{:}30}[1]
@@ -551,7 +551,7 @@ README.txt and curve2e-v161.sty.
%\hfill
%\begin{minipage}{0.4\textwidth}
%\begin{picture}(40,30)
-%\put(0,0){\GraphGrid(40,30)}
+%\GraphGrid(40,30)
%\Zbox(40,0)[l]{40,0}[1]
%\Zbox(90:30)[bc]{90{:}30}[1]
%\Zbox(60:30)[bc]{60{:}30}[1]
@@ -614,7 +614,7 @@ README.txt and curve2e-v161.sty.
% \begin{verbatim}
% \unitlength=1mm
% \begin{picture}(40,40)
-% \put(0,0){\GraphGrid(40,40)}
+% \GraphGrid(40,40)
% \Dashline(0,0)(40,10){4}
% \put(0,0){\circle*{2}}
% \Dashline(40,10)(0,25){4}
@@ -631,7 +631,7 @@ README.txt and curve2e-v161.sty.
% \begin{minipage}{.48\textwidth}\centering
% \unitlength=1mm
% \begin{picture}(40,40)
-% \put(0,0){\GraphGrid(40,40)}
+% \GraphGrid(40,40)
% \Dashline(0,0)(40,10){4}
% \put(0,0){\circle*{2}}
% \Dashline(40,10)(0,25){4}
@@ -653,7 +653,7 @@ README.txt and curve2e-v161.sty.
%\begin{minipage}{0.55\textwidth}
%\begin{verbatim}
%\begin{picture}(40,30)
-%\put(0,0){\GraphGrid(40,30)}
+%\GraphGrid(40,30)
%\Dashline(0,0)(40,10){2}\Dashline(0,0)(40,20){2}
%\Dashline(0,0)(40,30){2}\Dashline(0,0)(30,30){2}
%\Dashline(0,0)(20,30){2}\Dashline(0,0)(10,30){2}
@@ -668,7 +668,7 @@ README.txt and curve2e-v161.sty.
%\hfill
%\begin{minipage}{0.4\textwidth}\raggedleft
%\begin{picture}(40,30)
-%\put(0,0){\GraphGrid(40,30)}
+%\GraphGrid(40,30)
%\Dashline(0,0)(40,10){2}
%\Dashline(0,0)(40,20){2}
%\Dashline(0,0)(40,30){2}
@@ -701,7 +701,7 @@ README.txt and curve2e-v161.sty.
%\begin{minipage}{0.55\textwidth}
%\begin{verbatim}
%\begin{picture}(40,30)
-%\put(0,0){\GraphGrid(40,30)}
+%\GraphGrid(40,30)
%\Dotline(0,0)(40,10){1.5}\Dotline(0,0)(40,20){1.5}
%\Dotline(0,0)(40,30){1.5}\Dotline(0,0)(30,30){1.5}
%\Dotline(0,0)(20,30){1.5}\Dotline(0,0)(10,30){1.5}
@@ -715,7 +715,7 @@ README.txt and curve2e-v161.sty.
%\hfill
%\begin{minipage}{0.4\textwidth}\raggedleft
%\begin{picture}(40,30)
-%\put(0,0){\GraphGrid(40,30)}
+%\GraphGrid(40,30)
%\Dotline(0,0)(40,10){1.5}
%\Dotline(0,0)(40,20){1.5}
%\Dotline(0,0)(40,30){1.5}
@@ -731,7 +731,7 @@ README.txt and curve2e-v161.sty.
%\end{minipage}
%\caption{Different length dotted lines with the same nominal dot gap;
% again notice the relative polar coordinates for the dotted lines
-% starting at thhe grid lower right vertex.}
+% starting at the grid lower right vertex.}
%\label{fig:dottedlines}
%\end{figure}
%^^A
@@ -787,7 +787,7 @@ README.txt and curve2e-v161.sty.
% \begin{verbatim}
% \unitlength=0.5mm
% \begin{picture}(60,40)
-% \put(0,0){\GraphGrid(60,40)}
+% \GraphGrid(60,40)
% \Arc(0,20)(30,0){60}
% \VECTOR(0,20)(30,0)\VECTOR(0,20)(32.5,36)
% \VectorArc(0,20)(15,10){60}
@@ -800,7 +800,7 @@ README.txt and curve2e-v161.sty.
% \begin{minipage}{.48\textwidth}\centering
% \unitlength=0.5mm
% \begin{picture}(60,40)
-% \put(0,0){\GraphGrid(60,40)}
+% \GraphGrid(60,40)
% \Arc(0,20)(30,0){60}
% \VECTOR(0,20)(30,0)\VECTOR(0,20)(32.5,36)
% \VectorArc(0,20)(15,10){60}
@@ -1336,7 +1336,7 @@ README.txt and curve2e-v161.sty.
%\begin{Verbatim}[fontsize=\setfontsize{8}]
%\unitlength=0.01\linewidth
%\begin{picture}(100,100)
-%\put(0,0){\GraphGrid(100,100)}
+%\GraphGrid(100,100)
%\multiput(0,0)(10,10){11}{\circle*{2}}
%\color{blue!70!white}
%\multiput(0,0)(10,0){11}{\circle*{2}}%
@@ -1360,7 +1360,7 @@ README.txt and curve2e-v161.sty.
%\begin{minipage}{0.45\linewidth}
%\unitlength=0.01\linewidth
%\begin{picture}(100,100)
-%\put(0,0){\GraphGrid(100,100)}
+%\GraphGrid(100,100)
%\multiput(0,0)(10,10){11}{\circle*{2}}
%\color{blue!70!white}
%\multiput(0,0)(10,0){11}{\circle*{2}}%
@@ -1398,7 +1398,7 @@ README.txt and curve2e-v161.sty.
%\begin{verbatim}
%\unitlength=0.0095\linewidth
%\begin{picture}(100,100)
-%\put(0,0){\GraphGrid(100,100)}
+%\GraphGrid(100,100)
%\put(50,50){\thicklines\circle{100}}
%\xmultiput[50,50](60:40)(-30:1){12}%
% {\makebox(0,0){\circle*{2}}}%
@@ -1415,7 +1415,7 @@ README.txt and curve2e-v161.sty.
%\begin{minipage}{0.45\textwidth}\raggedleft
%\unitlength=0.0095\linewidth
%\begin{picture}(100,100)
-%\put(0,0){\GraphGrid(100,100)}
+%\GraphGrid(100,100)
%\put(50,50){\thicklines\circle{100}}
%\xmultiput[50,50](60:40)(-30:1){12}%
% {\makebox(0,0){\circle*{2}}}[\MultVect\R by\D to\R]%
@@ -1577,7 +1577,7 @@ README.txt and curve2e-v161.sty.
% in our preamble, we add, if not already defined by the package, the two
% new commands that allow to make floating point tests, and to implement
% a “while” cycle\footnote{Thanks to Brian Dunn who spotted a bug in
-% the previous definitions.}
+% the previous version definitions.}
% \begin{macrocode}
%
\ExplSyntaxOn
@@ -1753,8 +1753,8 @@ README.txt and curve2e-v161.sty.
% specific slopes.
%
% It is necessary to redefine the low level macros \cs{moveto},
-% \cs{lineto}, and \cs{curveto}, because their original definition
-% accepts only cartesian coordinates. We proceed the same as for the
+% \cs{lineto}, and \cs{curveto}, because their original definitions
+% accept only cartesian coordinates. We proceed the same as for the
% \cs{put} command.
% \begin{macrocode}
\let\originalmoveto\moveto
@@ -2360,8 +2360,8 @@ README.txt and curve2e-v161.sty.
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{The red service grid}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% The next command is very useful for debugging while editing one's
-% drawing; it draws a red grid with square meshes that are ten drawing
+% The next command is handy for debugging while editing one's
+% drawing; it draws a red grid with square meshes that are ten drawing
% units apart; there is no graduation along the grid, since it is
% supposed to be a debugging aid and the user should know what he/she is
% doing; nevertheless it is advisable to displace the grid by means of a
@@ -2369,14 +2369,34 @@ README.txt and curve2e-v161.sty.
% coordinates that are multiples of 10. Missing to do so the readings
% become cumbersome. The |\RoundUp| macro provides to increase the
% grid dimensions to integer multiples of ten.
+% Actually the new definition of this command does not need a |put|
+% command (although it is not prohibited to use it) because its syntax
+% now is the following one
+%\begin{flushleft}
+%\cs{GraphGrid}\parg{ll corner offset}\parg{grid dimensions}
+%\end{flushleft}
+% where the first argument is optional: if it is missing, the lower
+% left corner is put at the origin of the canvas coordinates. Of course
+% also the lower left corner offset is recommended to be specified with
+% coordinates that are integer multiples of~10; this is particularly
+% important when the |picture| environment offset is specified wit non
+% integer multiple of~10 values.
+% Actually, since both arguments are delimited with round parentheses,
+% a single argument is assumed to contain the grid dimensions, while
+% if both arguments are given, the first one is the lower left corner
+% offset, and the second one the grid dimensions.
% \begin{macrocode}
-\def\GraphGrid(#1,#2){\bgroup\textcolor{red}{\linethickness{.1\p@}%
+\def\Gr@phGrid(#1,#2){\bgroup\textcolor{red}{\linethickness{.1\p@}%
\RoundUp#1modulo10to\@GridWd \RoundUp#2modulo10to\@GridHt
\@tempcnta=\@GridWd \divide\@tempcnta10\relax \advance\@tempcnta\@ne
\multiput(0,0)(10,0){\@tempcnta}{\line(0,1){\@GridHt}}%
\@tempcnta=\@GridHt \divide\@tempcnta10\advance\@tempcnta\@ne
\multiput(0,0)(0,10){\@tempcnta}{\line(1,0){\@GridWd}}\thinlines}%
\egroup\ignorespaces}
+\NewDocumentCommand\GraphGrid{r() d()}{%
+\IfValueTF{#2}{\put(#1){\Gr@phGrid(#2)}}%
+ {\put(0,0){\Gr@phGrid(#1)}}}
+
% \end{macrocode}
% Rounding up is useful because also the grid margins fall on coordinates
% multiples of 10. It resorts to the |\Integer| macro that will be
@@ -4090,7 +4110,9 @@ ltxdoc.cfg
curve2e.dtx is the documented TeX source file of file curve2e.sty; you
get curve2e.sty, curve2e.pdf, and curve2e-v161.sty by running pdflatex
on curve2e.dtx. The ltxdoc.cfg file customises the way the documentation
-file is typeset. This specific .cfg file is part of the ltxdoc package functionality and it is supposed to be configured for each specifica other bundle.
+file is typeset. This specific .cfg file is part of the ltxdoc package
+functionality and it is supposed to be configured for each specific
+other bundle.
README.txt, this file, contains general information.
@@ -4107,7 +4129,7 @@ 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.
+coordinates may be expressed also in polar form. Coordinates may be specified with macros, so that editing any drawing is rendered much simpler: any point specified with a macro is modified only once in the macro definition.
Some of these features have been incorporated in the 2011 version of
pict2e; therefore this package avoids any modification to the original
pict2e commands.
@@ -4115,9 +4137,12 @@ pict2e commands.
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. The \multiput
+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 in a configurable way.
+to manipulate the increment components in a configurable way. A new
+xmultiput command has been defined that is more configurable than the
+original one; both \multiput and \xmultiput are backwards compatible with
+the original picture environment definition.
This version solves a conflict with package eso-pic.
@@ -4137,10 +4162,10 @@ have an older or a basic/incomplete installation of the TeX system,
such L3 functions might not be available. This is why this
package checks the presence of the developer interface; in case
such interface is not available it falls back to the previous version
-renamed curve2e-v161.sty, which is part of this bundle, and that must
-not be renamed in any way. The compatibility mentioned above implies
-that the user macros remain the same, but their implementation requires
-the L3 interface.
+renamed curve2e-v161.sty, which is part of this bundle; this order
+package name must not be modified in any way. The compatibility mentioned
+above implies that the user macros remain the same, but their
+implementation requires the L3 interface.
The package has the LPPL status of author maintained.
diff --git a/macros/latex/contrib/curve2e/curve2e.pdf b/macros/latex/contrib/curve2e/curve2e.pdf
index 3838751099..cd2c9f9c77 100644
--- a/macros/latex/contrib/curve2e/curve2e.pdf
+++ b/macros/latex/contrib/curve2e/curve2e.pdf
Binary files differ