summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-01-05 21:19:14 +0000
committerKarl Berry <karl@freefriends.org>2023-01-05 21:19:14 +0000
commit0ffc23457d825ac13dc8945225da1a15cf10c421 (patch)
tree9c3a69c5e95ad8e7b72a08d8e47b6d3d1672a152 /Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
parentba51dd67803a9f23ee7a42f1a89f26c19d5b7ba9 (diff)
curve2e (5jan23)
git-svn-id: svn://tug.org/texlive/trunk@65469 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex')
-rw-r--r--Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex158
1 files changed, 108 insertions, 50 deletions
diff --git a/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex b/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
index e53535f1b9b..5b3c08c6977 100644
--- a/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
+++ b/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
@@ -1,6 +1,6 @@
% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
-\documentclass[a4paper]{article}
+\documentclass[a4paper]{article}\errorcontextlines=100
\hfuzz 10pt
\usepackage[utf8]{inputenc}
\usepackage{lmodern,textcomp}
@@ -68,11 +68,13 @@
% All definitions and assignments are local
% #1 := Latex font size command or \setfontsize{<size>}
% %2 := \textwidth percentage for the code box; the complement, less the
-% column gap for the result dedicata al codice
+% column gap for the compiled result
+%
% Syntax: \begin{Esempio}[<size command>](<code box percentage width>)
+%
% Warning: No extra space is put before and/or after the display; this
% environment is assumed to be used within a figure environment
-% that already provides its on vertical spaces. Should this
+% that already provides its own vertical spaces. Should this
% environment be used between paragraphs, the user should manually
% provide a convenient amount of space above and below it.
% Remember: This environment sets itself in vertical mode
@@ -121,21 +123,22 @@
\tableofcontents
\end{multicols}
-\begin{abstract}
+\begin{abstract}\setfontsize{9.5}
This file contains the user manual of the \pack{curve2e} extension package to the \pack{pict2e} bundle; the latter was described by Lamport himself in the 1994 second edition of his \LaTeX\ handbook.
Please take notice that on April 2011 a package \pack{pict2e} upgraded version has been released that incorporates some of the commands defined in early versions of this package \pack{curve2e}; apparently there are no conflicts, because this package contains only the advanced features that extend the above package.
-Since this extension redefines some commands and introduces some more drawing facilities (that allow to draw circular arcs and arbitrary curves with the minimum of user intervention) the user needs a user manual that contains several actual examples. The software available to show the code and its result after compilation is incompatible with the usual \LaTeX\ |ltxdoc| class for code documentation, therefore a separate user manual has been made available. If the user wants to explore the \pack{curve2e} code and its documentation s/he has available the |curve2e.pdf| file.
+Since this extension redefines some commands and introduces some more drawing facilities (that allow to draw circular arcs and arbitrary curves with the minimum of user intervention) the user needs a user manual that contains several actual examples; this auxiliary manual is contained in file |curve2e-manual.pdf|. The software available to show the drawing code and its result after compilation is incompatible with the usual
+\LaTeX\ |ltxdoc| class for code documentation, therefore a separate user manual has been made available. If the user wants to explore the \pack{curve2e} code and its documentation s/he has available the |curve2e.pdf| file. Either file is readable by entering in a terminal window the command |texdoc curve2e-manual| or |texdoc curve2e.pdf|; please do not forget the extension when you want to read the code documentation.
\end{abstract}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Installation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-If \TeX\ system was installed with a \TeX~Live or a MiK\TeX\ complete and updated distribution this packageis already installed; in order to verify open a terminal or command prompt window and use it to enter the \texttt{texdoc curve2e-manual}; as soon as the command is executed a screen window should open displaying this manual. If this does not happen, either you misspelt the command (it happens more often than not), or your installation is not complete and updated.
+If \TeX\ system was installed with a \TeX~Live or a MiK\TeX\ complete and updated distribution this package is already installed; in order to verify open a terminal or command prompt window and use it to enter the \texttt{texdoc curve2e-manual}; as soon as the command is executed a screen window should open displaying this manual. If this does not happen, either you misspelt the command (it happens more often than not), or your installation is not complete and updated.
I suggest you to use your computer installation facilities to install this bundle. Otherwise, download this curve2e.zip package from one of the CTAN (Comprehensive TeX Archive Network) archives, to your downloads folder.
-Before doing anything else verify if you have a personal \texttt{texmf} tree; if not, create one reading you distribution instruction; let us assume that your personal |texmf| archive is in |HOME/texmf| (on Windows change the slash with a backslash) and |HOME| is a path starting from the root of you hard disk and going though several other folders. On Windows~10 it might be |C:\Users\YourName|; on Linux it might simply be |~|; on Mac it would be |~/\Library|, but sometimes the |HOME| might be different, especially o Windows platforms. Create the following subfolders:
+Before doing anything else verify if you have a \emph{personal} \texttt{texmf} tree; if not, create one reading you distribution instruction; let us assume that your personal |texmf| archive is in |HOME/texmf| (on Windows change the slash with a backslash) and |HOME| is a path starting from the root of you hard disk and going though several other folders. On Windows~10 it might be |C:\Users\YourName|; on Linux it might simply be |~|; on Mac it would be |~/\Library|, but sometimes the |HOME| might be different, especially on Windows platforms. Create the following subfolders:
\begin{enumerate}[noitemsep]
\item |HOME/texmf/source/latex/curve2e/|
\item |HOME/texmf/doc/latex/curve2e/|
@@ -150,7 +153,7 @@ Clear the |.../source/latex/curve2e/| folder from the auxiliary files, all those
If your \TeX\ system is correctly set up, your files in your personal tree should be immediately usable; probably you have to create the file-name database with MiK\TeX; in this case read the documentation of your MiK\TeX\ installation to discover how to~do~it.
-Remember to delete all these subfolders if you decide to install a complete updated version of your favourite distribution, and you'd better keep it updated approximately once every 7 or 10 days. This is much simpler than to struggle with these manual operations.
+Remember to delete all these subfolders if you decide to install a complete updated version of your favourite distribution, and you'd better keep it updated approximately once every 7 or 10 days. This is much simpler than to struggle with these manual operations.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Package \pack{pict2e} and this extension \pack{curve2e}}
@@ -271,14 +274,15 @@ Remember to delete all these subfolders if you decide to install a complete upda
user can chose between square or rounded caps; the default is set to
rounded caps; now this feature is directly available with \pack{pict2e}.
%
- \item Commands for specifying the way two lines or curves join to one
- another.
+ \item Commands for specifying the way two straight or curves lines
+ join to one another.
%
\item Originally the |\line| macro was redefined so as to allow large
(up to three digits) integer direction coefficients, but maintaining
the same syntax as in the original \texttt{picture} environment; now
\pack{pict2e} removes the integer number limitations and allows
- fractional values, initially implemented by \pack{curve2e}.
+ fractional values, initially implemented by \pack{curve2e}; direction
+ coefficients may be specified in polar form.
%
\item A new macro |\Line| was originally defined by \pack{curve2e} so
as to avoid the need to specify the horizontal projection of inclined
@@ -318,8 +322,9 @@ Remember to delete all these subfolders if you decide to install a complete upda
analogy with |\LIne|; |\VECTOR| joins two specified points (without
using the |\put| command) with the arrow pointing to the second point.
|\VVECTOR| may be available if used with a sufficiently recent \LaTeX\
- kernel version; is draws a vector, with arrow tips at both ends,
- between two given points
+ kernel version; is draws a vector between two given points, with arrow
+ tips at both ends.
+
%
\item A new macro |\polyline| for drawing polygonal lines is defined
that accepts from two vertices up to an arbitrary (reasonably limited)
@@ -341,13 +346,14 @@ Remember to delete all these subfolders if you decide to install a complete upda
amplitude is specified in sexagesimal degrees, not in radians; a
similar functionality is now achieved with the |\arc| macro of
\pack{pict2e}, which provides also the starred version |\arc*| that
- fills up with the current color the sector generated by circular arc.
+ fills up with the current color the sector generated by a circular arc.
It must be noticed that the syntax is slightly different, so that it's
reasonable that these commands, in spite of producing identical arcs,
might be more comfortable with this or that syntax.
%
- \item Two new macros |\VectorArc| and |\VectorARC| are defined in order
- to draw circular arcs with an arrow at one or both ends.
+ \item Two new macros |\VectorArc| and |\VectorARC| (alias |\VVectorArc|)
+ are defined in order to draw circular arcs with an arrow at one or both
+ ends.
%
\item A new macro |\Curve| is defined so as to draw arbitrary curved
lines by means of cubic Bézier splines; the |\Curve| macro requires
@@ -355,7 +361,7 @@ Remember to delete all these subfolders if you decide to install a complete upda
node. The starred version fills up the interior of the curve with the
current color.
%
- \item the above |\Curve| macro is a recursive macro that can draw an
+ \item The above |\Curve| macro is a recursive macro that can draw an
unlimited (reasonably limited) number of connected Bézier spline arcs
with% continuous tangents except for cusps; these arcs require only the
specification of the tangent direction at the interpolation nodes.
@@ -395,7 +401,7 @@ Remember to delete all these subfolders if you decide to install a complete upda
believed to be more efficient than those defined by the \texttt{trig}
package; in any case the macro names were sufficiently different to
accommodate both definition sets in the same \LaTeX\ run. With the
- progress of the \LaTeX\,3 language, package \pack{xfp} has become
+ progress of the \LaTeX3 language, package \pack{xfp} has become
available, by which any sort of calculations can be done with floating
point decimal numbers; therefore the most common algebraic, irrational
and transcendental functions can be computed in the background with the
@@ -431,13 +437,13 @@ Remember to delete all these subfolders if you decide to install a complete upda
|color| and \pack{pict2e}; it passes to the latter one any possible
option that it can receive; actually the only options that make sense
for \pack{pict2e} are those concerning the arrow tip shapes, either
- \LaTeX\ or PostScript styled, because it is assumed that if this
- package is used, the original \LaTeX\ commands are of no interest: see
- the \pack{pict2e} documentation in order to find the correct options
+ \LaTeX\ (default) or PostScript styled, because it is assumed that if
+ this package is used, the original \LaTeX\ commands are of no interest:
+ see the \pack{pict2e} documentation in order to find the correct options
\pack{pict2e} can receive. If the user wants to use the \pack{xcolor}
package, it has to load it \emph{before} \pack{curve2e}.
%%
-\item Since they are used very much in the following examples, we recall some commands to label certain drawing elements, such as points, lines, arcs, and similar lines, ad to insert legends in some figures. They are \cs{legenda}, \cs{Zbox} and \cs{Pbox}; their syntax is the following:
+\item Since they are used very much in the following examples, we recall some commands to label certain drawing elements, such as points, lines, arcs, and similar lines, and to insert legends in some figures. They are \cs{legenda}, \cs{Zbox} and \cs{Pbox}; their syntax is the following:
\begin{flushleft}\ttfamily\obeylines
|\legenda|\parg{coordinates}\marg{formula}
|\Zbox|\parg{coordinates}\oarg{position}\marg{formula}\oarg{dot diameter}
@@ -496,7 +502,7 @@ They are described in any up to date documentation of package \pack{curve2e}.
$(3+25,4+15)$; the command |\segment(3,4)(28,19)| achieves the same
result without the need of using the |\put| command. Therefore |\LIne|
is just for internal usage, rather than a user command. Now
- \pack{curve2e} has available also the “arc vectors” with the arrow tip
+ \pack{curve2e} has available also the “arc vectors” with the arrow tips
at one or at both ends.
The same applies to the vector commands |\Vector| and |\VECTOR| and
@@ -716,16 +722,17 @@ They are described in any up to date documentation of package \pack{curve2e}.
\item Arcs can be drawn as simple circular arcs, or with one or two
arrows at their ends (curved vectors); the syntax is:
\begin{flushleft}
- \cs{Arc}\parg{center}\parg{starting point}\marg{angle}\\
+ \cs{Arc}\parg{center}\parg{starting point}\marg{angle}\\
\cs{VectorArc}\parg{center}\parg{starting point}\marg{angle}\\
\cs{VectorARC}\parg{center}\parg{starting point}\marg{angle}\\
+\cs{VVectorArc}\parg{center}\parg{starting point}\marg{angle}\\
\end{flushleft}
If the angle is specified numerically it must be enclosed in braces,
while if it is specified with a control sequence the braces (curly
brackets) are not necessary. The above macro |\Arc| draws a simple
circular arc without arrows; |\VectorArc| draws an arc with an arrow
- tip at the ending point; |\VectorARC| draws an arc with arrow tips at
- both ends; see figure~\ref{fig:arcs}.
+ tip at the ending point; |\VectorARC| (alias |\VVectorArc|) draws an
+ arc with arrow tips at both ends; see figure~\ref{fig:arcs}.
\begin{figure}
\begin{Esempio}[\small]%
\unitlength=0.5mm
@@ -736,15 +743,64 @@ They are described in any up to date documentation of package \pack{curve2e}.
\VectorArc(0,20)(15,10){60}
\put(20,20){\makebox(0,0)[l]{$60^\circ$}}
\VectorARC(60,20)(60,0){-180}
+ \VVectorArc(50,20)(60,20){90}
\end{picture}
\end{Esempio}
\caption{Arcs and curved vectors}\label{fig:arcs}
\end{figure}
%%
+ \item The available commands allow to create the drawings necessary to prove some geometrical theorems; for example let us prove the Pitagora's theorem. Figure~\ref{fig:pitagora} displays a right triangle with its hypothenuse laying horizontal; its vertices are labelled \textsf{A}, \textsf{B}, and \textsf{C}, being \textsf{A} the right angle vertex. The height relative to the hypothenuse intersects this side in point \textsf{H}, and divides the whole triangle \textsf{ABC}, in two similar smaller ones \textsf{AHC}, and\textsf{ABH}. Segments \textsf{CH}, and\textsf{HB}, add to the whole hypothenuse length. Figure~\ref{fig:pitagora} displays also the square \textsf{CBDE}, built on the hypothenuse and divided in two rectangles \textsf{CHFE}, and \textsf{HBDF}, where \textsf{HF} is the continuation of the height line.
+
+The lengths of the original right triangle sides are $a, b, c$ as marked on the figure; Point \textsf{H} divides the hypothenuse of length $c$ in two shorter segments of lengths $d, e$, respectively, as marked in the figure
+
+Since the three triangles are similar, we can set up the relationships between their sides:
+\begin{align*}
+d : a = a : c &\Longrightarrow d = a^2/c\\
+e : b = b : c &\Longrightarrow e = b^2/c
+\end{align*}
+
+Therefore rectangle \textsf{CHFE} area equals $ c\cdot d = c\cdot a^2/c = a^2$. Similarly rectangle \textsf{HBDF} area equals $ c\cdot e = c\cdot b^2/c = b^2$. The square built on the hypothenuse has an area equal to $c^2$; therefore it is
+\begin{equation*}
+c^2 = a^2 + b^2
+\end{equation*}
+which proves the Pitagora's theorem.
+
+\begin{figure}
+\centering
+\begin{Esempio}
+\unitlength=1mm
+\begin{picture}(70,80)(-10,-50)
+\AutoGrid
+\thicklines
+\polygon(0,0)(50,0)(18,24)
+\thinlines
+\polyline(0,0)(0,-50)(50,-50)(50,0)
+\Pbox(0,0)[r]{C}[0.75ex]
+\Pbox(18,0)[tr]{H}[0.75ex]
+\Pbox(50,0)[l]{B}[0.75ex]
+\Pbox(18,24)[b]{A}[0.75ex]
+\Pbox(0,-50)[br]{E}[0.75ex]
+\Pbox(50,-50)[bl]{D}[0.75ex]
+\Pbox(18,-50)[br]{F}[0.75ex]
+\Zbox(10,12)[br]{a}[0]
+\Zbox(33,12)[bl]{b}[0]
+\Zbox(25,0)[t]{c}[0]
+\Zbox(9,0)[b]{d}[0]
+\Zbox(30,0)[b]{e}[0]
+\Zbox(50,-25)[r]{c}[0]
+\Zbox(25,-50)[b]{c}[0]
+\Zbox(0,-25)[l]{c}[0]
+\Dashline(18,24)(18,-50){1.5}
+\end{picture}
+\end{Esempio}
+\caption{Geometrical construction to prove Pitagora's theorem}
+\label{fig:pitagora}
+\end{figure}
+
\item A multitude of commands have been defined in order to manage
complex numbers; actually complex numbers are represented as a comma
separated pair of fractional numbers; internally these macros use
- cartesian we use only the cartesian form, and output, unless
+ only the cartesian form, and output, unless
differently specified is also in cartesian form; but input can be in
polar form. They are used to address specific points in the drawing
plane, but also as operators so as to scale and rotate other objects.
@@ -808,7 +864,7 @@ They are described in any up to date documentation of package \pack{curve2e}.
with the current color.
\item \cs{CurveBetween} draws a single cubic Bézier spline between two
- given nodes and with two given directions vectors.
+ given nodes and with two given direction vectors.
\item \cs{CBezierBetween} draws a single cubic Bézier spline between
two given nodes, with two given direction versors along which the
@@ -823,7 +879,7 @@ with the current color.
%\def\y(#1){(13*cos(#1)-5*cos(2*#1)-2*cos(3*#1)-cos(4*#1))/16}
% Varrebbe a penda di provarle con curve2e
%
- \begin{figure}[!htp]
+ \begin{figure}[!htbp]
\begin{Esempio}[\small]%
\unitlength=8mm\relax
\begin{picture}(5,5)
@@ -874,7 +930,7 @@ with the current color.
algorithms are not used, the parameter value appears to mean the
opposite of tension.
A couple of comma separated tension values may be optionally used, they
- are separated with a semicolon form the direction vector,
+ are separated with a semicolon from the direction vector,
and they apply to the arc terminating with the last node; their
specification must precede any possible change of tangent according to
this syntax\footnote{The tension may be specified only for cubic
@@ -979,7 +1035,7 @@ with the current color.
shown in figure~\ref{fig:curva-due-punti}. Notice the effect of
changing the directions at both or a the end nodes of a single cubic
spline. The directions are conveniently expressed with unit vectors
- described by polar coordinates.
+ described by polar coordinates. The |\CurveBetween| macro is built on |\CbezierTp| ; this ltter file is very complicated to describe and its use is reserved to experienced users; its syntax is described in the code documentation file |cureve2e.pdf|; the reader is encouraged to examine it in case s/he is willing to use it.
\begin{figure}\centering\unitlength=0.004\textwidth
\begin{picture}(220,120)(-50,-20)
@@ -1056,8 +1112,8 @@ with the current color.
\CbezierBetween0,0And10,0 WithDirs45:1And-45:1UsingDists12And{1}
\end{picture}
\end{minipage}
-\caption{Comparison between similar arcs drawn with \cs{CurveBetween} (black)
- and \cs{CbezierTo} (red)}
+\caption{Comparison between similar arcs drawn with \cs{CurveBetween} with the default tension values (black)
+ and with several tension values specified (red)}
\label{fig:Cbezier}
\end{figure}
@@ -1069,7 +1125,7 @@ with the current color.
horizontal base line of the frame. Increasing the parameter value
to~4.5, the curved becomes taller and taller, until it wraps itself
displaying an evident loop. We would say that the value of ~2 is a
- reasonable maximum and increasing that value is just to
+ reasonable maximum one and that increasing that value is just to
obtain special effects.
\begin{figure}[!htb]\centering
@@ -1142,7 +1198,7 @@ with the current color.
\label{fig:sinewave}
\end{figure}
- In figure~\ref{fig:quadratic-arcs} some lines drawn are shown; they are
+ In figure~\ref{fig:quadratic-arcs} some lines are shown; they are
drawn with quadratic splines by means of the |\Qurve| macro. In the
left there are some open and closed curves inscribed within a square.
On the right a “real" circle is compared to a quadratic spline circle;
@@ -1225,14 +1281,14 @@ with the current color.
On page~\pageref{pag:multiput} we show the code for the figure shown
there. The red grid is nothing new, except that it displays the
traditional |\multiput| used in this code, shown in a previous example,
- produces exactly the same result. But the for “graphs” on the grid, it
- display an alignment of black dots along the diagonal of the grid
- (again traditional |\multiput| rendered with the new version);
- a number of blue dots along a parabola; another number of magenta
- dots alined along a half sine wave; a number of little green squares
- aligned along a $-15~\circ$ line starting from the center of the grid;
- notice the polar values that are used as polar relative coordinate
- increments.
+ produces exactly the same result. But for what concerns the four
+ “graphs” on the grid, it displays an alignment of black dots along the
+ diagonal of the grid (again traditional |\multiput| rendered with the
+ new version); a number of blue dots along a parabola; another number of
+ magenta coloured dots alined along a half sine wave; a number of little
+ green squares aligned along a $-15~\circ$ sloping line starting from
+ the center of the grid; notice the polar values that are used as polar
+ relative coordinate increments.
\noindent\begin{figure}[!htb]
\begin{minipage}{0.45\linewidth}
@@ -1287,8 +1343,8 @@ with the current color.
A new command |\xmultiput| (not available with the previous versions
of \pack{curve2e}) extended with respect to the original |\multiput| is
defined by using some L3 functions; in particular the cycling
- counter is accessible to the \LaTeX\ commands and it is stepped
- forward from~1 to the value specified in the proper command argument
+ counter is accessible to the \LaTeX\ commands and it is stepped
+ up from~1 to the value specified in the proper command argument
(in the original command it starts from that value and is stepped down
to zero). See the figure on page~\ref{pag:orologio} to inspect its
usage. It is important to notice that if the command|\rotatebox|
@@ -1338,12 +1394,12 @@ with the current color.
documented in the latter package. The syntax of such new commands
is the following
\begin{flushleft}\obeylines
- \cs{fptext}\marg{test}\marg{true}\marg{false}
- \cs{fpdowhile}\meta{test}\meta{operations to be repeated}
- \cs{fpwhiledo}\meta{test}\meta{operations to be repeated}
+ \cs{fptest}\marg{test}\marg{true}\marg{false}
+ \cs{fpdowhile}\marg{test}\marg{operations to be repeated}
+ \cs{fpwhiledo}\marg{test}\marg{operations to be repeated}
\end{flushleft}
The macro |\fptest| requires two further arguments that contain
- what to do if the \meta{test} is true, and what to do of the
+ what to do if the \meta{test} is true, and what to do if the
\meta{test} is false.
The \meta{test} is a logical expressions that connects math relation
expressions, even floating point ones, by means of \emph{logical
@@ -1436,7 +1492,7 @@ y = f_2(t)
\end{flushleft}
where \meta{$P_{\mathrm{out}}$} is a macro that gets
defined with the cartesian coordinates of the computed output
- point. Arguments \meta{in} (the $t$ parameter) and \meta{out} (the computed coordinates) need not be enclosed within braces if they are given as macros; actually the code shown in figure~\ref{fig:lissajous} shows such procedure that renders the input code simpler to read.
+ point. Arguments \meta{in} (the $t$ parameter) and \meta{$P_\mathrm{out}$} (the computed coordinates) need not be enclosed within braces if they are given as macros; actually the code shown in figure~\ref{fig:lissajous} shows such procedure that renders the input code simpler to read.
After this definition the diagram is plotted in
figure~\ref{fig:lissajous}.
@@ -1564,6 +1620,8 @@ y = f_2(t)
Daniele Degiorgi spotted a fault in the kernel definition of
|\linethickness| that heavily influenced also \pack{curve2e}; see in
the code documentation \file{curve2e.pdf} file.
+
+ Many thanks to Domenicus van der Wijst who spotted a sneaky bug in the updated |\Arc| macro; for arcs non wider that $180^\circ$ it worked properly, while for larger angle apertures it produced syntax errors. It was just a typo, but very sneaky.
Thanks also to Jin-Hwan Cho and Juho Lee who suggested a small but
crucial modification in order to have \pack{curve2e} work smoothly