summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/curve2e/curve2e.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/curve2e/curve2e.dtx')
-rw-r--r--macros/latex/contrib/curve2e/curve2e.dtx230
1 files changed, 134 insertions, 96 deletions
diff --git a/macros/latex/contrib/curve2e/curve2e.dtx b/macros/latex/contrib/curve2e/curve2e.dtx
index 396d8e6000..342761876f 100644
--- a/macros/latex/contrib/curve2e/curve2e.dtx
+++ b/macros/latex/contrib/curve2e/curve2e.dtx
@@ -6,7 +6,7 @@
\keepsilent
\preamble
- Copyright (C) 2005--2021 Claudio Beccari all rights reserved.
+ Copyright (C) 2005--2023 Claudio Beccari all rights reserved.
License information appended
\endpreamble
@@ -46,7 +46,7 @@ README.txt and curve2e-v161.sty.
%<+package>\ProvidesPackage{curve2e}%
%<+readme>File README.txt for package curve2e
%<*package|readme>
- [2021-01-12 v.2.2.15 Extension package for pict2e]
+ [2023-01-01 v.2.2.22 Extension package for pict2e]
%</package|readme>
%<*driver>
\documentclass{ltxdoc}\errorcontextlines=9
@@ -107,16 +107,16 @@ README.txt and curve2e-v161.sty.
\providecommand\setfontsize{}
-\DeclareRobustCommand\setfontsize[2][1.2]{%
-\linespread{#1}\fontsize{#2}{#2}\selectfont}
+\RenewDocumentCommand\setfontsize{O{1.2} m}{%
+\fontsize{#2}{\fpeval{#1*#2}}\selectfont}
\newwrite\example@out
\ProvideDocumentEnvironment{Esempio}{ O{\footnotesize} D(){0.50}}
% All definitions and assignments are local
% #1 := Lates 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
-% Syntax: \begin{Esempio}[<>size command](<code box percentage width>)
+% column gap for the resulting compiled code
+% Syntax: \begin{Esempio}[<size command>](<code box percentage width>)
%
{\par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip
%\def\Corpo{#1}
@@ -161,7 +161,7 @@ README.txt and curve2e-v161.sty.
%</driver>
% \fi
%
-% \CheckSum{5584}
+% \CheckSum{5602}
% \begin{abstract}
% This file documents the |curve2e| extension package to the |pict2e|
% bundle implementation; the latter was described by Lamport
@@ -171,7 +171,7 @@ README.txt and curve2e-v161.sty.
% package |pict2e| has been released that incorporates some of the
% commands defined in early versions of this package; apparently there
% are no conflicts, but only the advanced features of |curve2e| remain
-% available for extending the above package.
+% available for extending the above improved package.
%
% This extension redefines some commands and introduces some more
% drawing facilities that allow to draw circular arcs and arbitrary
@@ -188,7 +188,7 @@ README.txt and curve2e-v161.sty.
%
% Package \texttt{pict2e} was announced in issue 15 of \texttt{latexnews}
% around December 2003; it was specified that the new package would
-% replace the dummy one that has been accompanying every release of
+% replace the dummy one that was been accompanying every release of
% \LaTeXe\ since its beginnings in 1994. The dummy package was just
% issuing an info message that simply announced the temporary
% unavailability of the real package.
@@ -251,22 +251,24 @@ README.txt and curve2e-v161.sty.
% This specific extension package |curve2e| adds the following features.
% \begin{enumerate}
% \item Point coordinates my be specified in both cartesian and polar
-% form: internally they are handled as cartesian coordinates, but the
-% user can specify his/her points also in polar form. In order to avoid
+% form: internally they are handled as cartesian coordinates, but
+% users can specify their points also in polar form. In order to avoid
% confusion with other graphic packages, |curve2e| uses the usual comma
% separated couple \meta{$x,y$} of integer or fractional numbers for
-% cartesian coordinates, and the couple \meta{$\theta$}:\meta{$\rho$} for
-% polar coordinates (the angle preceding the radius).
+% cartesian coordinates, and the colon separated pair
+% \meta{$\theta$}:\meta{$\rho$} for polar coordinates (the angle preceding
+% the radius).
% All graphic object commands accept polar or cartesian coordinates at
-% the choice of the user who may use for each object the formalism s/he
+% the choice of users who may use for each object the formalism they
% prefers. Also the |put| and |\multiput| commands have been redefined so
-% as to accept cartesian or polar coordinates.
+% as to accept cartesian or polar coordinates. The same holds true for the
+% low level |pict2e| commands \cs{moveto}, \cs{lineto}, and \cs{curveto}.
%
% Of course the user must pay attention to the meaning of cartesian
-% vs. polar coordinates. Both imply a displacement with respect the
+% vs. polar coordinates. Both imply a displacement with respect to the
% actual origin of the axes. So when a circle is placed at coordinates
-% $a,b$ with a normal |\put| command, the circle is placed exactly in
-% that point; with a normal |\put| command the same happens if
+% $a,b$ with a normal |\put| command, the circle center is placed exactly
+% is that point; with a normal |\put| command the same happens if
% coordinates $\alpha{:}\rho$ are specified.
% But if the |\put| command is nested into another |\put| command, the
% current origin of the axes is displaced — this is obvious and the
@@ -274,7 +276,7 @@ README.txt and curve2e-v161.sty.
% is specified so that its ending point is at a specific distance and in
% specific direction from its starting point, polar coordinates appear to
% be the most convenient to use; in this case, though, the origin of the
-% axes become the stating point of the segment, therefore the segment
+% axes becomes the starting point of the segment, therefore the segment
% might be drawn in a strange way. Attention has been
% paid to avoid such misinterpretation, but maybe some unusual
% situation may not have come to my mind; feedback is very welcome.
@@ -282,7 +284,7 @@ README.txt and curve2e-v161.sty.
%^^A
%\item Most if not all cartesian coordinate pairs and slope pairs are
% treated as \emph{ordered pairs}, that is \emph{complex numbers}; in
-% practice the user does not notice any difference from what s/he was
+% practice users do not notice any difference from what they were
% used to, but all the mathematical treatment to be applied to these
% entities is coded as complex number operations, since complex numbers
% may be viewed non only as ordered pairs, but also as vectors or as
@@ -363,8 +365,9 @@ README.txt and curve2e-v161.sty.
% reasonable that these commands, in spite of producing identical arcs,
% might be more comfortable with this or that syntax.
%^^A
-% \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.
%^^A
% \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
@@ -432,10 +435,25 @@ README.txt and curve2e-v161.sty.
% that John Hobby implemented for the \MF\ and \MP\ programs.
%
% For these reasons I suppose that every enhancement should be submitted
-% to Gäßlein, Niepraschk, and Tkadlec who are the prime maintainers of
-% \texttt{pict2e}; they are the only ones who can decide whether or not
-% to incorporate new macros in their package.
-%
+% to Niepraschk, who is the maintainer of \texttt{pict2e}; he is the only
+% one who can decide whether or not to incorporate new macros in the
+% |pict2e| package.
+%
+% \textbf{Warning}\quad In 2020 the \LaTeX\ Project Team upgraded the
+% \LaTeX\ native |picture| environment so that all information concerning
+% lengths (line and vector lengths, coordinates, et cetera) may be
+% expressed with dimension expressions such as |0.71\textwidth|,
+% |\parindent + 5mm|, |\circle{1ex}|, and so on. With such dimensional
+% specifications, the information does not depend anymore on
+% |\unitlength|; therefore such dimensional forms do not scale by
+% changing the value of |\unitlength|.
+% |pict2e| in 2020-09-30 was correspondingly upgraded to version~0.4b.
+% Apparently such upgrades do not have any influence on |curve2e|
+% workings, or, at least, when no explicit dimensions are used; this
+% applies in particular when the |\AutoGrid| or the |GraphGrid| macros
+% are used; also he coordinates processing should be done with real
+% numbers, not with dimensions. Nevertheless feedback is welcome if
+% some corrections are needed.
%
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \section{Acknowledgements}
@@ -446,13 +464,13 @@ README.txt and curve2e-v161.sty.
% correct them.
%
% Josef Tkadlec and the author collaborated extensively in order to make
-% a better real long division so as to get correctly the quotient
+% a better real long-division so as to get correctly the quotient
% fractional part and to avoid as much as possible any numeric overflow;
% many Josef's ideas are incorporated in the macro that was implemented
% in the previous versions of this package, although the macro used by
% Josef was slightly different. Both versions aim/aimed at a better
% accuracy and at widening the operand ranges. In this version we
-% abandoned our long division macro, and substituted it with the
+% abandoned our long-division macro, and substituted it with the
% floating point division provided by the |xfp| package.
%
% Daniele Degiorgi spotted a fault in the kernel definition of
@@ -468,8 +486,8 @@ README.txt and curve2e-v161.sty.
%
% Some others users spotted other “features” that did not produce the
% desired results; they have been acknowledged by footnotes in
-% correspondence with the corrections that were made tanks their
-% contribution.
+% correspondence with the corrections that were made thanks their
+% feedback.
%
% \StopEventually{%
% \begin{thebibliography}{9}
@@ -499,7 +517,7 @@ README.txt and curve2e-v161.sty.
% Here we load also the |xparse| and |xfp| packages because we use their
% functionalities; but we do load them only if they are not already
% loaded with or without options; nevertheless we warn the user who wants
-% to load them explicitly, to do this action before loading
+% to load them explicitly: do this action before loading
% \texttt{curve2e}.
% The |xfp| package is absolutely required; if this package is not found
% in the \TeX\ system installation, the loading of this new |curve2e| is
@@ -526,12 +544,12 @@ README.txt and curve2e-v161.sty.
\MessageBreak%
***************************************\MessageBreak%
Version 1.61 of curve2e has been loaded\MessageBreak%
- instead of the current version\MessageBreak%
+ instead of the current version \MessageBreak%
***************************************\MessageBreak}%
\endinput
}
% \end{macrocode}
-% Since we already loaded package|xfp| or at least we explicitly load it
+% Since we already loaded package |xfp| or at least we explicitly load it
% in our preamble, we add, if not already defined by the package, three
% new commands that allow to make floating point tests, and two
% “while” cycles\footnote{Thanks to Brian Dunn who spotted a bug in
@@ -541,11 +559,11 @@ README.txt and curve2e-v161.sty.
\ExplSyntaxOn
\AtBeginDocument{%
\ProvideExpandableDocumentCommand\fptest{m m m}{%
- \fp_compare:nTF{#1}{#2}{#3}}
+ \fp_compare:nTF{#1}{#2}{#3}\ignorespaces}
\ProvideExpandableDocumentCommand\fpdowhile{m m}{%
- \fp_do_while:nn{#1}{#2}}
+ \fp_do_while:nn{#1}{#2}\ignorespaces}
\ProvideExpandableDocumentCommand\fpwhiledo{m m}{%
- \fp_while_do:nn{#1}{#2}}
+ \fp_while_do:nn{#1}{#2}\ignorespaces}
}
\ExplSyntaxOff
@@ -593,8 +611,9 @@ README.txt and curve2e-v161.sty.
% line.\footnote{Thanks to Daniele
% Degiorgi \texttt{degiorgi@inf.ethz.ch}).
% This feature should have been eliminated
-% from the \LaTeXe\ <2020.0202> patch level 4
-% update.}
+% from the \LaTeXe\ <2020.02.02> patch level 4
+% update. This glitch has bee eliminated
+% according to the LaTeX Newsletter Nr.~32.}
% \begin{macrocode}
\gdef\linethickness#1{%
\@wholewidth#1\@halfwidth.5\@wholewidth\ignorespaces}%
@@ -846,7 +865,7 @@ README.txt and curve2e-v161.sty.
% but through an optional argument to the macro, it may be set to any
% desired size; remember that 1\,pt is about one third of a millimeter;
% sometimes it might be too small; 1\,mm is a very black dot, therefore
-% the user must pay attention when s/he specifies the dot diameter,
+% users must pay attention when they specify the dot diameter,
% so as not to exaggerate in either direction.
% The syntax is as follows:
%\begin{flushleft}
@@ -1254,7 +1273,7 @@ README.txt and curve2e-v161.sty.
% 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 s/he is
+% supposed to be a debugging aid and users should know what they are
% doing; nevertheless it is advisable to displace the grid by means of a
% |\put| command so that its grid lines coincide with graph
% coordinates that are multiples of~10. Missing to do so the readings
@@ -1302,7 +1321,7 @@ README.txt and curve2e-v161.sty.
% in this way it is easier to replace |\GraphGrid| with |\AutoGrid| if
% it is desired to do so. The opposite action, of course is not so simple
% if the |\AutoGrid| command is not followed by one or two arguments
-% as |\GraphGrid| requires. Approximately |\AutoGrid| may be viewed as
+% as |\GraphGrid| requires. Approximately |\AutoGrid| may be viewed as
% a |\GraphGrid| version were both arguments are optional.
% \begin{macrocode}
\def\@picture(#1,#2)(#3,#4){%
@@ -1363,19 +1382,19 @@ README.txt and curve2e-v161.sty.
%
% Some commands such as \cs{legenda} (legend), \cs{Zbox}, and \cs{Pbox}
% have been always used in the documentation of this package and its
-% siblings; but we used them in many other documents; therefore we thought
-% it was useful to have them available with the general user of
+% siblings; but we used them in many other documents; therefore we
+% thought it was useful to have them available with the general user of
% \pack{curve2e}.
%
%Their commands follow the following syntax.
%\begin{flushleft}\ttfamily\obeylines
-%|\Pbox|\parg{coordinates}\oarg{position}\marg{text}\oarg{dot diameter}\meta{\texttt{*}}\aarg{angle}
+%|\Pbox|\parg{coordinates}\oarg{position}\marg{formula}\oarg{dot diameter}\meta{\texttt{*}}\aarg{angle}
%|\Zbox|\parg{coordinates}\oarg{position}\marg{formula}\oarg{dot diameter}
%|\legenda|\parg{coordinates}\marg{formula}
%\end{flushleft}
%
% These commands have similar but different functionalities; the most
-% general one si |\Pbox|, while the others are simplified versions that
+% general one is |\Pbox|, while the others are simplified versions that
% have a simpler syntax, and a subset of the |\Pbox| functionalities.
% While we describe the arguments of |\Pbox| we emphasise the small
% differences with the other two commands.
@@ -1384,20 +1403,23 @@ README.txt and curve2e-v161.sty.
% form) of the reference point of the “label”; for |\legenda| it is the
% lower left corner of the framed legend contents. They are delimited
% with the usual matched parentheses, and their default value is
-% \texttt{(0,0)}, therefore either the user specifies other coordinates,
-% or uses the |\put| command to place the legend where he prefers.
-%%
-%\item[\meta{position}] is the optional position of the “label” contents
-% relative the the reference point; the default is \texttt{cc} so that
+% \texttt{(0,0)}, therefore either users specify other coordinates,
+% or use the |\put| command to place the legend where they prefer.
+%
+%\item[\meta{position}] is the optional position of the reference point
+% relative to the “label” contents: this means that if the “label”
+% should be NE relative to the visible (or invisible) dot it labels,
+% the \meta{position} codes should be \texttt{tr} (top and right); the
+% default \meta{position} is \texttt{cc} so that
% the “label” is vertically and horizontally centred at the reference
-% point; actually these position parameters should always specified if
+% point; actually these position parameters should always be specified if
% the dot diameter is positive (therefore visible), otherwise the
-% “label” and the dot overwrite eachother.
+% “label” and the dot overwrite each other.
%%
-%\item[\meta{text} \textnormal{or} \meta{formula}] may be almost
-% anything; where the argument is called \meta{formula} math mode
-% is the default; otherwise it is plain \meta{text}; in any case
-% it can be replaced by a box or a parbox, so that actually this
+%\item[\meta{formula}] may be almost anything; \meta{formula} means
+% that the argument is typeset in math mode; if some text is desired
+% the argument must be surrounded by a matched couple of dollar signs;
+% in any case it is possible to enter text mode by using a box (for example through a |\hbox| or a |\parbox|) so that actually this
% mandatory argument may contain almost anything.
%%
%\item[\meta{dot diameter}] the dot diameter default value is positive;
@@ -1450,13 +1472,16 @@ README.txt and curve2e-v161.sty.
\providecommand\Zbox{}
\RenewDocumentCommand\Zbox{R(){0,0} O{cc} m O{1}}{%
-\put(#1){\makebox(0,0)[#2]{\fboxrule=0pt\fboxsep=3pt\fbox{$#3$}}\makebox(0,0)[cc]{\circle*{#4}}}\ignorespaces}
+\put(#1){\makebox(0,0)[#2]{\fboxrule=0pt\fboxsep=3pt\fbox{$#3$}}%
+\makebox(0,0)[cc]{\circle*{#4}}}\ignorespaces}
\providecommand\legenda{}
-\RenewDocumentCommand\legenda{ D(){0,0} m}{\put(#1){\setbox3333\hbox{$#2$}%
- \dimen3333\dimexpr\wd3333*\p@/\unitlength +3\p@\relax
- \edef\@tempA{\strip@pt\dimen3333}%
- \framebox(\@tempA,7){\box3333}}\ignorespaces}
+\newbox\legendbox
+\RenewDocumentCommand\legenda{ D(){0,0} m}{\put(#1){%
+ \setbox\legendbox\hbox{$\relax#2\relax$}%
+ \edef\@tempA{\fpeval{(\wd\legendbox + 3\p@)/\unitlength}}%
+ \edef\@tempB{\fpeval{(\ht\legendbox+\dp\legendbox+3\p@)/\unitlength}}%
+ \framebox(\@tempA,\@tempB){\box\legendbox}}\ignorespaces}
% \end{macrocode}
@@ -1768,8 +1793,8 @@ Computations go on, but the results may be meaningless}}{%
%\[
%(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
+% Even the imaginary unit is indicated with $\mathrm{i}$ by
+% mathematicians and with $\mathrm{j}$ by engineers. In spite of
% these differences, such objects, the \emph{complex numbers}, are used
% without any problem by both mathematicians and engineers.
%
@@ -1790,7 +1815,7 @@ Computations go on, but the results may be meaningless}}{%
% \]
%
% The magnitude of a vector is determined by taking the positive square
-% root of the sum of the squared real and the imaginary parts (often called \emph{Pitagorean sum}); see further on.
+% root of the sum of the squared real and imaginary parts (often called \emph{Pitagorean sum}); 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
@@ -1868,9 +1893,19 @@ Computations go on, but the results may be meaningless}}{%
% 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.
+% fourth is the direction of the difference. Please notice the difference
+% between |\ModAndDirOfVect| and |\DistanceAndDirOfVect|; the former
+% computes the modulus and the direction of a complex number, that is a
+% vector with its tail in the origin of the axes; the latter measures
+% the length of the difference of two complex numbers; in a way
+% |\ModAndDirOfVect| \meta{vector}| to |\meta{macro}| and |\meta{versor}
+% produces the same result as
+% |\DistanceAndDirOfVect| \meta{vector}| minus {0,0} to |\meta{macro}| and |\meta{versor}.
+% Actually |\DistanceAndDirOfVect| yields the distance of two complex
+% numbers and the direction of their difference.
% The service macro |\SubVect| executes the difference of two complex
-% numbers and is described further on.
+% numbers and is described further on; its code implements just this
+% statement.
% \begin{macrocode}
\def\DistanceAndDirOfVect#1minus#2to#3and#4{%
\SubVect#2from#1to\@tempa
@@ -1943,7 +1978,7 @@ Computations go on, but the results may be meaningless}}{%
% allowed the following two forms:
%\begin{flushleft}\ttfamily
%\cs{MultVect}\meta{first factor} by \meta{second factor} to \meta{output macro}\\
-%\cs{MultVect}\meta{first factor} by $\star*$ \meta{second factor} to \meta{output macro}\\
+%\cs{MultVect}\meta{first factor} by $\star$ \meta{second factor} to \meta{output macro}\\
%\end{flushleft}
%
% With the availability of the |xparse| package and its special argument
@@ -1952,11 +1987,11 @@ Computations go on, but the results may be meaningless}}{%
% \emph{after} and \emph{before}; its syntax allows the following four
% forms:
%\begin{flushleft}
-%\cs{Multvect}\marg{first factor}\marg{second factor}\meta{output macro}
-%\cs{Multvect}\marg{first factor}$\star*$\marg{second factor}\meta{output macro}
-%\cs{Multvect}\marg{first factor}\marg{second factor}$\star*$\meta{output macro}
-%\cs{Multvect}\marg{first factor}$\star*$\marg{second factor}\meta{output macro}
-%\cs{Multvect}\marg{first factor}$\star*$\marg{second factor}$\star*$\meta{output macro}
+%\cs{Multvect}\marg{first factor}\marg{second factor}\meta{output macro}\\
+%\cs{Multvect}\marg{first factor}$\star$\marg{second factor}\meta{output macro}\\
+%\cs{Multvect}\marg{first factor}\marg{second factor}$\star$\meta{output macro}\\
+%\cs{Multvect}\marg{first factor}$\star$\marg{second factor}\meta{output macro}\\
+%\cs{Multvect}\marg{first factor}$\star$\marg{second factor}$\star$\meta{output macro}
%\end{flushleft}
%
% Nevertheless we maintain a sort of interface between the old syntax
@@ -2134,7 +2169,7 @@ Computations go on, but the results may be meaningless}}{%
\Numero\@gradi\@tdA
\SubVect\@pPun from\@Cent to\@V
\AddVect\@V and\@Cent to\@sPun
- \Multvect{\@V}{0,-1.3333333to}\@V
+ \Multvect{\@V}{0,-1.3333333}\@V
\if\Segno-\ScaleVect\@V by-1to\@V\fi
\AddVect\@pPun and\@V to\@pcPun
\AddVect\@sPun and\@V to\@scPun
@@ -2223,11 +2258,12 @@ Computations go on, but the results may be meaningless}}{%
% We exploit much of the above definitions for the |\Arc| macro for
% drawing circular arcs with an arrow at one or both ends; the first
% macro |\VerctorArc| draws an arrow at the ending point of the arc; the
-% second macro |\VectorARC| draws arrows at both ends; the arrows have
-% the same shape as those for vectors; actually they are drawn by putting
-% a vector of zero length at the proper arc end(s), therefore they are
-% styled as traditional \LaTeX\ or PostScript arrows according to the
-% specific option to the \texttt{pict2e} package.
+% second macro |\VectorARC| (alias |\VVectorArc|) draws arrows at both
+% ends; the arrows tips have the same shape as those for vectors;
+% actually they are drawn by putting a vector of zero length at the
+% proper arc end(s), therefore they are styled as traditional \LaTeX\ or
+% PostScript arrows according to the specific option to the
+% \texttt{pict2e} package.
%
% But the arc drawing done here shortens it so as not to overlap on the
% arrow tip(s); the only arrow tip (or both tips) are also lightly tilted in
@@ -2263,6 +2299,7 @@ Computations go on, but the results may be meaningless}}{%
\@VARC(#1)(#2)%
\fi
\endgroup\ignorespaces}%
+\let\VVectorArc\VectorARC
% \end{macrocode}
%
% The single arrow tiped arc is defined with the following long macro where
@@ -2577,10 +2614,10 @@ Computations go on, but the results may be meaningless}}{%
% separated pair of values, that not necessarily indicate a unit vector,
% since the macro provides to normalise it to unity; \meta{$K_0$} and
% \meta{$K_1$} are the distances of the control points from their
-% respective node points; they must be positive integers or fractional
-% numbers. If \meta{$K_1$} is a number, it must be enclosed in curly braces,
-% while if it is a macro name (containing the desired fractional or
-% integer value) there is no need for braces.
+% respective node points; they must be integers or fractional positive
+% numbers. If \meta{$K_1$} is a number, it must be enclosed in curly
+% braces, while if it is a macro name (containing the desired fractional
+% or integer value) there is no need for braces.
%
% This macro uses the input information in order to activate the internal
% |pict2e| macro |\pIIe@curveto| with the proper arguments, and to save
@@ -2668,7 +2705,7 @@ Computations go on, but the results may be meaningless}}{%
%\begin{flushleft}
% \meta{direction\texttt{\upshape;}tension factors}
%\end{flushleft}
-% where \emph{direction} contains a pair of fractional number that not
+% where \emph{direction} contains a pair of fractional numbers that not
% necessarily refer to the components of a unit vector direction, but
% simply to a vector with the desired orientation (polar form is OK); the
% information contained from the semicolon (included) to the rest of the
@@ -2727,10 +2764,10 @@ Computations go on, but the results may be meaningless}}{%
% the end point. Notice that if the directions of two successive nodes are
% identical, it is necessary to draw a line, not a third order
% spline\footnote{Many thanks to John Hillas who spotted this bug, that
-% passed unnoticed fora long time, because it is a very unusual situation.};
+% passed unnoticed for long time, because it is a very unusual situation.};
% therefore it is necessary to make a suitable test that is more
% comfortable to do after the chord has been rotated to be horizontal;
-% in facts, if the two directions are equal, the vertical componente
+% in facts, if the two directions are equal, the vertical components
% of the directions are both vanishing values; probably, instead of
% testing with respect to zero, it might be advisable to test the
% absolute value with respect to a small number such as, for example,
@@ -2847,7 +2884,7 @@ Computations go on, but the results may be meaningless}}{%
\StartCurveAt#1WithDir{#2}%
\@ifnextchar\lp@r\@Curve{%
\PackageWarning{curve2e}{%
- Curve specifications must contain at least two nodes!\Messagebreak
+ Curve specifications must contain at least two nodes!\MessageBreak
Please, control your \string\Curve\space specifications\MessageBreak}}}
\def\@Curve(#1)<#2>{%
\CurveTo#1WithDir{#2}%
@@ -2912,7 +2949,7 @@ Computations go on, but the results may be meaningless}}{%
\@ifnextchar\lp@r\@Qurve{%
\PackageWarning{curve2e}{%
Quadratic curve specifications must contain at least
- two nodes!\Messagebreak
+ two nodes!\MessageBreak
Please, control your Qurve specifications\MessageBreak}}}%
\def\@Qurve(#1)<#2>{\QurveTo#1WithDir{#2}%
@@ -3093,8 +3130,8 @@ Computations go on, but the results may be meaningless}}{%
\ignorespaces}
% \end{macrocode}
%
-% An example of usage is shown at the left in
-% figure~16\footnote{The commands \cs{legenda},
+% An example of usage is shown at the left in figure~16 of the user manual
+% |curve2e-manual.pdf| file\footnote{The commands \cs{legenda},
% \cs{Pall} and \cs{Zbox} are specifically defined in the preamble of
% this document; they must be used within a \texttt{picture} environment.
% \cs{legenda} draws a framed legend made up of a single (short) math
@@ -3133,7 +3170,7 @@ Computations go on, but the results may be meaningless}}{%
% \section{Conclusion}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% I believe that the set of new macros provided by this package can
-% really help the user to draw his/her diagrams with more agility; it
+% really help users to draw their diagrams with more agility; it
% will be the accumulated experience to decide if this is true.
%
% As a personal experience I found very comfortable to draw ellipses and
@@ -3141,10 +3178,10 @@ Computations go on, but the results may be meaningless}}{%
% areas, but also to create “legends” with coloured backgrounds and
% borders. But this is just an application of the functionality
% implemented in this package. In 2020 I added to CTAN another
-% specialized package, |euclideangeometry.sty| with its manual
+% specialised package, |euclideangeometry.sty| with its manual
% |euclideangeometry-man.pdf| that uses the facilities of |curve2e|
-% to draw complex diagrams that plot curves and others that solve some
-% geometrical problems dealing with ellipses.
+% to draw complex diagrams that plot curves, and other facilities that
+% solve some geometrical problems dealing with ellipses.
%
%\iffalse
%</package>
@@ -3176,7 +3213,8 @@ README.txt
If you install curve2e without using your TeX system package handler,
Compile curve2e.dtx and curve2e-manual.tex two or three times until
-all labels and citation keys are completely resolved. Then move the primary and derived files as follows:
+all labels and citation keys are completely resolved. Then move the
+primary and derived files as follows:
Move curve2e.dtx and curve2e-manual.tex to ROOT/source/latex/curve2e/
Move curve2e.pdf and curve2e-manual.pdf to ROOT/doc/latex/curve2e/
@@ -4084,7 +4122,7 @@ claudio dot beccari at gmail dot com
\StartCurveAt#1WithDir{#2}%
\@ifnextchar\lp@r\@Curve{%
\PackageWarning{curve2e}{%
- Curve specifications must contain at least two nodes!\Messagebreak
+ Curve specifications must contain at least two nodes!\MessageBreak
Please, control your Curve specifications\MessageBreak}}}
\def\@Curve(#1)<#2>{%
\CurveTo#1WithDir{#2}%
@@ -4099,7 +4137,7 @@ claudio dot beccari at gmail dot com
\@ifnextchar\lp@r\@Qurve{%
\PackageWarning{curve2e}{%
Quadratic curve specifications must contain at least
- two nodes!\Messagebreak
+ two nodes!\MessageBreak
Please, control your Qurve specifications\MessageBreak}}}%
\def\@Qurve(#1)<#2>{\QurveTo#1WithDir{#2}%
\@ifnextchar\lp@r\@Qurve{%