summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/curve2e
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/curve2e')
-rw-r--r--Master/texmf-dist/source/latex/curve2e/curve2e.dtx119
1 files changed, 46 insertions, 73 deletions
diff --git a/Master/texmf-dist/source/latex/curve2e/curve2e.dtx b/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
index 1a6ab647d6d..9792a852247 100644
--- a/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
+++ b/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
@@ -5,8 +5,8 @@
\keepsilent
\preamble
______________________________________________________
- The curve2e package for LaTeX and XeLATeX
- Copyright (C) 2010 Claudio Beccari
+ The curve2e package for LaTeX and XeLaTeX
+ Copyright (C) 2005-2012 Claudio Beccari
All rights reserved
License information appended
@@ -14,7 +14,7 @@
\endpreamble
\postamble
-Copyright 2005-2011 Claudio Beccari
+Copyright 2005-2012 Claudio Beccari
Distributable under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
@@ -57,13 +57,13 @@ and the derived files curve2e.sty and curve2e.pdf.
%</driver>
%<+package>\ProvidesPackage{curve2e}%
%<*package>
- [2011/07/28 v.1.31 Extension package for pict2e]
+ [2012/03/05 v.1.40 Extension package for pict2e]
%</package>
%<*driver>
\documentclass{ltxdoc}
\hfuzz 10pt
\usepackage{multicol}
-\usepackage[ansinew]{inputenc}
+\usepackage[utf8]{inputenc}
\usepackage{curve2e}
\GetFileInfo{curve2e.dtx}
\title{The extension package \textsf{curve2e}\thanks{Version number
@@ -80,16 +80,20 @@ and the derived files curve2e.sty and curve2e.pdf.
%</driver>
% \fi
%
-% \CheckSum{2304}
+% \CheckSum{2264}
% \begin{abstract}
% This file documents the |curve2e| extension package to the recent
% implementation of the |pict2e| bundle that has been described by Lamport
% himself in the second edition of his \LaTeX\ handbook.
%
-% Please take notice that in August 2009 a new updated version of the package
+% Please take notice that in April 2011 a new updated version of the package
% |pict2e| has been released that incorporates some of the commands defined in
% this package; apparently there are no conflicts, but only the advanced features
-% of |curve2e| remain available for extending the above package.
+% of |curve2e| remain available for extending the above package. Moreover
+% the |xetex.def| driver was introduced so that certian commands previously
+% defined in this extension not only become unnnecessary, but also would produce
+% errors when the program is used under XeLaTeX. Therefore these commands were
+% either eliminated or corrected.
%
% This extension redefines a couple of commands and introduces some more drawing
% facilities that allow to draw circular arcs and arbitrary curves with the
@@ -105,7 +109,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% beginnings in 1994. The dummy package was just issuing an info message that
% simply announced the temporary unavailability of the real package.
%
-% Eventually G��lein and Niepraschk implemented what Lamport himself had already
+% Eventually Gäßlein and Niepraschk implemented what Lamport himself had already
% documented in the second edition of his \LaTeX\ handbook, that is a \LaTeX\
% package that contained the macros capable of removing all the limitations
% contained in the standard commands of the original \texttt{picture}
@@ -150,9 +154,10 @@ and the derived files curve2e.sty and curve2e.pdf.
% \begin{enumerate}
% \item commands for setting the line terminations are introduced; the user can
% chose between square or rounded caps; the default is set to rounded caps (now
-% available also with |pict2e|);
-% \item commands for specifying the way two lines or curves join to one nanother;
-% ^^A
+% available also with |pict2e|); the 2011 upgrade of |pict2e| made these commands
+% superfluous and redefined the internal special commands for the drivers, so that
+% I deicided to completely eliminate these definitions and relay on those produced
+% by |pict2e|;
% \item the |\line| macro is redefined so as to allow integer and fractional
% direction coefficients, but maintaining the same syntax as in the original
% \texttt{picture} environment (now available also with |pict2e|);
@@ -182,15 +187,15 @@ and the derived files curve2e.sty and curve2e.pdf.
% \item a new macro |\Arc| is defined in order to draw an arc with arbitrary
% radius and arbitrary angle amplitude; this amplitude is specified in
% sexagesimal degrees, not in radians; the same functionality is now achieved with
-% the |\arc| macro of |pict2e|, which provides also the strar version |\arc*| that
+% the |\arc| macro of |pict2e|, which provides also the star version |\arc*| that
% fills up the interior of the generated circular arc. It must be noticed that
% the syntax is slighltly different, so that it's reasonable that both commands,
-% in spite of producing identical arcs, might be more comfortable with this or that
+% in spite of producing identical arcs, might be more comfortable with this or that
% syntax.
% \item two new macros are defined in order to draw circular arcs with one
% arrow at one or both ends;
% \item a new macro |\Curve| is defined so as to draw arbitrary curved lines
-% by means of third order B�zier splines; the |\Curve| macro requires only the
+% by means of third order Bézier splines; the |\Curve| macro requires only the
% curve nodes and the direction of the tangents at each node.
% \end{enumerate}
%
@@ -208,7 +213,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% \texttt{pict2e} package or even become a part of it.
%
% For this reason I suppose that every enhancement should be submitted to
-% G��lein and Niepraschk who are the prime maintainers of \texttt{pict2e};
+% Gäßlein and Niepraschk who are the prime maintainers of \texttt{pict2e};
% they only can decide whether or not to incorporate new macros in their package.
%
% \section{Summary of modifications and new commands}
@@ -221,24 +226,12 @@ and the derived files curve2e.sty and curve2e.pdf.
% either \LaTeX\ or PostScript styled, because it is assumed that if you use this
% package you are not interested in using the original \LaTeX\ commands. See the
% |pict2e| documentation in order to use the correct options |pict2e| can receive.
-% \item New commands are offered the user in order to control the line terminators
-% and the line joins; specifically:
-% \begin{itemize}
-% \item |\roundcap|: the line is terminated with a semicircle;
-% \item |\squarecap|: the line is terminated with a half square;
-% \item |\roundjoin|: two lines are joined with a rounded join;
-% \item |\beveljoin|: two lines are joined with a bevel join;
-% \item |\miterjoin|: two lines are terminated with a miter join.
-% \end{itemize}
-% All the above commands should respect the intended range; but since they act at
-% the PostScript or PDF level, not at \TeX\ level, it might be necessary to issue
-% the necessary command in order to restore the previous terminator or join.
% \item The commands |\linethickness|, |\thicklines|, |\thinlines| together with
% |\defaultlinethickness| always redefine the internal |\@wholewidth| and
% |\@halfwidth|
-% so that the latter always refer to a full width and to a half of it in this
+% so that the former always refer to a full width and the latter to a half of it in this
% way: if you issue the command |\defaultlinewidth{2pt}| all thin lines will be
-% drawn with a thickenes of 1\,pt while if a drawing command directly refers to the
+% drawn with a thickeness of 1\,pt while if a drawing command directly refers to the
% internal value |\@wholewidth|, its line will be drawn with a thickness of 2\,pt.
% If one issues the declaration |\thinlines| all lines will be drawn with a 1\,pt
% width, but if a command refers to the internal value |\@halfwidth| the line will
@@ -249,10 +242,10 @@ and the derived files curve2e.sty and curve2e.pdf.
% |thicklines| are declarations that do not take arguments; on the opposite the
% other two commands follow the standard syntax:
% \begin{flushleft}
-% |\linethickness|\marg{dimensioned value}\\
-% |\defaultlinewidth|\marg{dimensioned value}
+% |\linethickness|\marg{dimension value}\\
+% |\defaultlinewidth|\marg{dimension value}
% \end{flushleft}
-% where \meta{dimensioned value} means a length specification complete of its units
+% where \meta{dimension value} means a length specification complete of its units
% or a dimensional expression.
% \item Straight lines and vectors are redefined in such a way that fractional slope
% coefficients may be specified; the zero length line does not produce errors and is
@@ -451,7 +444,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% \end{itemize}}
%
% \item General curves can be drawn with the |pict2e| macro |\curve| but it requires
-% the specification of the B�zier third order spline control points; sometimes it's
+% the specification of the Bézier third order spline control points; sometimes it's
% better to be very specific with the control points and there is no other means to
% do a decent graph; sometimes the curves to be drawn are not so tricky and a
% general set of macros can be defined so as to compute the control points, while
@@ -516,15 +509,15 @@ and the derived files curve2e.sty and curve2e.pdf.
% curves of various kinds. |PSTricks| and |tikz/pgf| are the most powerful ones. But
% there are also the package |curves| that is intended to draw almost anything by
% using little dots or other symbols partially superimposed to one another. It used
-% only quadratic B�zier curves and the curve tracing is eased by specifying only the
+% only quadratic Bézier curves and the curve tracing is eased by specifying only the
% curve nodes, without specifying the control nodes; with a suitable option to the
% package call it is possible to reduce the memory usage by using short straight
% segments drawn with the PostScript facilities offered by the |dvips| driver.
%
% Another package |ebezier| performs about the same as |curve2e| but draws its
-% B�zier curves by using little dots partially superimposed to one another. The
+% Bézier curves by using little dots partially superimposed to one another. The
% documentation is quite interesting but since it explains very clearly what exactly
-% are the B�zier splines, it appears that |ebezier| should be used only for dvi
+% are the Bézier splines, it appears that |ebezier| should be used only for dvi
% output without recourse to PostScript machinery.
%
% \section{Acknowledgements}
@@ -536,7 +529,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% possible any numeric overflow; many Josef's ideas are incorporated in the macro
% that is implemented in this package, although the macro used by Josef is slightly
% different from this one. Both versions aim at a better accuracy and at widening
-% the operand ranges.
+% the operand ranges. Some of the work we did together was incorporated in |pict2e| 2009.
%
% Daniele Degiorgi spotted a fault in the kernel definition of |\linethickness|
% that heavily influenced also |curve2e|; see below.
@@ -549,7 +542,7 @@ and the derived files curve2e.sty and curve2e.pdf.
%
% \StopEventually{%
% \begin{thebibliography}{9}
-% \bibitem{pict2e} G��lein H., Niepraschk R., and Tkadlec J.
+% \bibitem{pict2e} Gäßlein H., Niepraschk R., and Tkadlec J.
% \emph{The \texttt{pict2e}
% package}, 2009, PDF document attached to the ``new'' \texttt{pict2e} bundle; the
% bundle may be downloaded from any CTAN archive or one of their mirrors.
@@ -563,35 +556,13 @@ and the derived files curve2e.sty and curve2e.pdf.
% make sure that a sufficiently recent version is used.
% \begin{macrocode}
\RequirePackage{color}
-\RequirePackageWithOptions{pict2e}[2004/06/01]
-% \end{macrocode}
-% Next we define the line terminators and joins; the following definitions work
-% correctly if the \texttt{dvips} or the \texttt{pdftex} driver are specified;
-% probably other modes should be added so as to be consistent with \texttt{pict2e}:
-% |\providecommand| is used instead of the low level command |\def| in order to
-% avoid redefinitions of |pict2e| macros.
-% \begin{macrocode}
-\ifcase\pIIe@mode\relax
-\or %Postscript
- \providecommand\roundcap{\special{ps:: 1 setlinecap}}%
- \providecommand\squarecap{\special{ps:: 0 setlinecap}}%
- \providecommand\roundjoin{\special{ps:: 1 setlinejoin}}%
- \providecommand\beveljoin{\special{ps:: 2 setlinejoin}}%
- \providecommand\miterjoin{\special{ps:: 0 setlinejoin}}%
-\or %pdf
- \@ifundefined{XeTeXrevision}{}
- {\def\pdfliteral#1{\special{pdf: literal #1}}}%
- \providecommand\roundcap{\pdfliteral{1 J}}%
- \providecommand\squarecap{\pdfliteral{0 J}}%
- \providecommand\roundjoin{\pdfliteral{1 j}}%
- \providecommand\beveljoin{\pdfliteral{2 j}}%
- \providecommand\miterjoin{\pdfliteral{0 j}}%
-\fi
+\RequirePackageWithOptions{pict2e}[2011/04/01]
% \end{macrocode}
%
-% The next macros are just for debugging. With the \texttt{tracing} package it
+% The next macros are just for debugging. With the \texttt{trace} package it
% would probably be better to define other macros, but this is not for the
-% users, but for the developers.
+% developers, not the users.
+
% \begin{macrocode}
\def\TRON{\tracingcommands\tw@ \tracingmacros\tw@}%
\def\TROF{\tracingcommands\z@ \tracingmacros\z@}%
@@ -727,8 +698,10 @@ and the derived files curve2e.sty and curve2e.pdf.
% then it is multiplied by two in order to have the increment from one dash to the
% next, and finally the number of patterns is obtained by integer dividing the magic
% odd number by 2 and increasing it by 1. A simple |\multiput| completes the job,
-% but in order to use the various vectors and numbers within a group and to throw the result outside the group while restoring all the intermediate counters and registers, a service macro is
-% created with an expanded definition and then this service macro is executed.
+% but in order to use the various vectors and numbers within a group and to throw
+% the result outside the group while restoring all the intermediate counters and
+% registers, a service macro is created with an expanded definition and then this
+% service macro is executed.
% \begin{macrocode}
\ifx\Dline\undefined
\def\Dline(#1,#2)(#3,#4)#5{%
@@ -1329,7 +1302,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% starting point; clockwise if it's negative.
%
% It's necessary to determine the end point and the control points of the
-% B�zier spline(s) that make up the circular arc.
+% Bézier spline(s) that make up the circular arc.
%
% The end point is obtained from the rotation of the starting point around the
% center; but the \texttt{pict2e} command |\pIIe@rotate| is such that the
@@ -1632,7 +1605,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% \end{macrocode}
% If the remaining aperture is not zero it continues tracing the rest of the arc.
% Here we need the extrema of the arc and the coordinates of the control points
-% of the B�zier cubic spline that traces the arc. The control points lay on the
+% of the Bézier cubic spline that traces the arc. The control points lay on the
% perpendicular to the vectors that join the arc center to the starting
% and end points respectively. Their distance $K$ from the adjacent nodes is
% determined with the formula
@@ -1838,7 +1811,7 @@ and the derived files curve2e.sty and curve2e.pdf.
% \subsection{General curves}
% Now we define a macro for tracing a general, not necessarily circular arc.
% This macro resorts to a general triplet of macros with which it is possible
-% to draw almost anything. It traces a single B�zier spline from a first point
+% to draw almost anything. It traces a single Bézier spline from a first point
% where the tangent direction is specified to a second point where again it is
% specified the tangent direction. Actually this is a special (possibly useless)
% case where the general |\curve| macro could do the same or a better job. In
@@ -1856,10 +1829,10 @@ and the derived files curve2e.sty and curve2e.pdf.
% The first macro initializes the drawing and the third one strokes it; the
% real work is done by the second macro. The first macro initializes the
% drawing but also memorizes the starting direction; the second macro traces
-% the current B�zier arc reaching the destination point with the specified
+% the current Bézier arc reaching the destination point with the specified
% direction, but memorizes this direction as the one with which to start the
% next arc. The overall curve is then always smooth because the various
-% B�zier arcs join with continuous tangents. If a cusp is desired it is
+% Bézier arcs join with continuous tangents. If a cusp is desired it is
% necessary to change the memorized direction at the end of the arc before the
% cusp and before the start of the next arc; this is better than stroking the
% curve before the cusp and then starting another curve, because the curve
@@ -2089,7 +2062,7 @@ and the derived files curve2e.sty and curve2e.pdf.
{\@XCPuno\unitlength}{\@YCPuno\unitlength}%
{\@XPuno\unitlength}{\@YPuno\unitlength}%
% \end{macrocode}
-% It does not have to stroke the curve because other B�zier splines might still
+% It does not have to stroke the curve because other Bézier splines might still
% be added to the path. On the opposite it memorizes the final point as the
% initial point of the next spline
% \begin{macrocode}