summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/coordsys/coordsys.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/coordsys/coordsys.dtx')
-rw-r--r--Master/texmf-dist/source/latex/coordsys/coordsys.dtx202
1 files changed, 130 insertions, 72 deletions
diff --git a/Master/texmf-dist/source/latex/coordsys/coordsys.dtx b/Master/texmf-dist/source/latex/coordsys/coordsys.dtx
index 9249a7d662f..1221d4950f1 100644
--- a/Master/texmf-dist/source/latex/coordsys/coordsys.dtx
+++ b/Master/texmf-dist/source/latex/coordsys/coordsys.dtx
@@ -1,6 +1,6 @@
% \iffalse
% This is the coordsys package, coordsys.dtx
-% Copyright 2000--04 by Mogens Lemvig Hansen.
+% Copyright 2000--06 by Mogens Lemvig Hansen.
%
% Run first coordsys.ins then this file, coordsys.dtx,
% through LaTeX and read the documentation in coordsys.dvi
@@ -20,9 +20,29 @@
\usepackage{url,varioref,color,coordsys,logsys}
\IfFileExists{eepic.sty}{\usepackage{epic,eepic}}{\relax}
\CodelineIndex%\EnableCrossrefs
-\OnlyDescription
+%\OnlyDescription
\MakeShortVerb{\"}
\makeatletter
+\DoNotIndex{\@circlefnt, \@empty, \@ifpackageloaded, \@ifstar,
+\@tempcnta, \@tempcntb, \@tempdima, \@tempdimb, \@tempdimc,
+\@wholewidth, \\, \addtocounter, \addtolength, \advance,
+\afterassignment, \arabic, \baselineskip, \char,
+\color@begingroup, \color@endgroup, \colorbox, \count@,
+\DeclareOption, \def, \divide, \edef, \ensuremath,
+\ExecuteOptions, \fontdimen, \frac, \hbox, \hfill, \hrule, \hskip,
+\hspace, \hss,
+\if, \else, \fi, \ifdim, \fi, \ifnum, \fi, \ifx, \repeat,
+\ignorespaces, \leaders, \leavevmode, \let, \line, \lineskip,
+\loop, \makebox, \mbox, \MessageBreak, \multiply, \multiput, \n,
+\NeedsTeXFormat, \newcommand, \newif, \next, \offinterlineskip,
+\p@, \PackageError, \PackageWarning, \PassOptionsToPackage,
+\phantom, \ProcessOptions, \providecommand, \ProvidesPackage,
+\put, \raisebox, \relax, \renewcommand, \RequirePackage, \rule,
+\scriptsize, \setcounter, \setlength, \settodepth, \settoheight,
+\settowidth, \space, \stepcounter, \string, \t, \textfont, \the,
+\thicklines, \thinlines, \unitlength, \value, \vbox, \vector,
+\vee, \vfill, \vrule, \vskip, \vss, \wedge, \width, \z@}
+
\newcommand{\nextlinelabel}[2][1]{\@bsphack
\@tempcnta\c@CodelineNo
\advance\@tempcnta#1\relax
@@ -375,7 +395,7 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \def\fileversion{1.3} \def\filedate{2004/11/15} \def\docdate{\filedate}
+% \def\fileversion{1.4} \def\filedate{2006/02/03} \def\docdate{\filedate}
% \title{The \textsf{coordsys} and \textsf{logsys} Packages\thanks{This
% file describes version \fileversion, \filedate.}}
% \author{\copyright\ Mogens Lemvig Hansen\thanks{%
@@ -409,7 +429,8 @@
%
% \subsection{One Dimension}
% \DescribeMacro{\numbline}
-% The "\numbline" command typesets a number line. For example,
+% The "\numbline" command typesets a number line.\index{number line|(usage}
+% For example,
% \begin{quote}
% \begin{verbatim}
% \begin{picture}(200,20)(-75,-15)
@@ -469,7 +490,7 @@
% "\vnumbline*"\oarg{spacing}\marg{from}\marg{to}
% \end{quote}
% The syntax is similar to that of the "\numbline" command
-% \vpageref[above]{numblinesyntax}.
+% \vpageref[above]{numblinesyntax}.\index{number line|)usage}
% \begin{quote}
% \begin{minipage}{.2\linewidth}
% \begin{picture}(20,100)(-17,20)
@@ -486,7 +507,8 @@
%
% \subsection{Two Dimensions}
% \DescribeMacro{\coordsys}
-% Use the "\coordsys" command to typeset coordinate systems.
+% Use the "\coordsys"\index{coordinate system>with intersecting axes|usage}
+% command to typeset coordinate systems.
% \begin{quote}
% \begin{picture}(200,110)(-50,-50)
% \coordsys(-50,-50)(150,60)
@@ -517,7 +539,8 @@
% styles. All the coordinate-system-drawing commands have similar syntax.
%
% \DescribeMacro{\fcoordsys}\DescribeMacro{\fcoordsys*}
-% The "\fcoordsys" command typesets framed coordinate systems; that is, the
+% The "\fcoordsys"\index{coordinate system>framed|usage}
+% command typesets framed coordinate systems; that is, the
% axes are at the left and bottom edges of the system.
% \begin{quote}
% "\fcoordsys"\oarg{h-spacing}\oarg{v-spacing}\parg{ll}\parg{ur}\\
@@ -533,7 +556,8 @@
% \end{quote}
%
% \DescribeMacro{\bcoordsys}\DescribeMacro{\bcoordsys*}
-% The "\bcoordsys" command typesets boxed coordinate systems.
+% The "\bcoordsys"\index{coordinate system>boxed|usage}
+% command typesets boxed coordinate systems.
% \begin{quote}
% "\bcoordsys"\oarg{h-spacing}\oarg{v-spacing}\parg{ll}\parg{ur}\\
% "\bcoordsys*"\oarg{h-spacing}\oarg{v-spacing}\parg{ll}\parg{ur}
@@ -566,7 +590,8 @@
% part of the \textsf{amsmath} package).
%
% \DescribeMacro{\coordgrid}
-% The "\coordgrid" command typesets a coordinate grid.
+% The "\coordgrid"\index{grid|(usage}\index{grid>dotted|usage}
+% command typesets a coordinate grid.
% \begin{quote}
% \begin{picture}(300, 125)
% \coordgrid(0,0)(300,125)
@@ -586,16 +611,19 @@
% \end{picture}
% \end{quote}
% If you load the \textsf{color} package before the \textsf{coordsys}
-% package, the labels will be printed on a white background.
+% package, the labels will be printed on a
+% white background.\index{labels>background of|usage}
%
% Typesetting pretty grids with dotted lines is not easy.
-% If a grid does come out ugly, try to increase "\unitlength"
+% If a grid does come out ugly,\index{grid>ugly|usage}
+% try to increase "\unitlength"
% to allow for more dots between the lines.
% You may also reduce the size of the dots;
% see the "\gridstyle" command \vpageref[below]{gridstyle}.
% \DescribeMacro{\coordgrid*}
% Alternatively you can use the "\coordgrid*" command which
-% typesets a coordinate grid with solid lines. You could then use the
+% typesets a coordinate grid with solid lines.\index{grid>solid|usage}
+% You could then use the
% \textsf{color} package to colour the grid, say, gray; again, see
% the "\gridstyle" command \vpageref[below]{gridstyle}.
%
@@ -607,11 +635,12 @@
% typeset coordinate grids with a syntax similar to that of
% the "\coordsys" command \vpageref[above]{coordsyssyntax}.
% The starred version uses solid lines;
-% the un-starred version uses dotted lines.
+% the un-starred version uses dotted lines.\index{grid|)usage}
%
% \DescribeMacro{\gridstyle}\label{gridstyle}
% The default size of the dots is the with of "\thinlines"
-% and "\thicklines". If you intend to print your grids at a
+% and "\thicklines".\index{grid>size of dots|usage}\index{grid>style|(usage}
+% If you intend to print your grids at a
% sufficiently high resolution, you should reduce the size of the
% dots by issuing a "\gridstyle" command. On my 600\,dpi printer,
% these sizes look nice for points:
@@ -637,7 +666,8 @@
% \end{picture}
% \end{quote}
%
-% If you make grids for the screen, I recommend using colour. For example,
+% If you make grids for the screen, I recommend using
+% colour.\index{grid>coloured|usage} For example,
% \begin{quote}
% \begin{verbatim}
% \definecolor{gray}{gray}{0.5}
@@ -664,13 +694,15 @@
% \meta{thick declaration}.
% The current "\gridstyle" applies to all types of grids:
% dotted, solid, regular, or logarithmic.
-% The default style is "\gridstyle{\thinlines}{\thicklines}".\label{defaultgridstyle}
+% The default style is
+% "\gridstyle{\thinlines}{\thicklines}".\label{defaultgridstyle}\index{grid>style|)usage}
%
%
% \subsection{Bells and Whistles}
% \subsubsection{Manual Labels}
% \DescribeMacro{\sethlabel}\DescribeMacro{\setvlabel}
-% All the number-line and coordinate-system commands format the labels using
+% All the number-line and coordinate-system commands format the
+% labels\index{labels>manual|usage}\index{manual labels|usage} using
% the commands "\sethlabel" (for labels on horizontal axes) and
% "\setvlabel" (for labels on vertical axes). If you set labels manually,
% you should use the same commands for a uniform appearance.
@@ -701,8 +733,9 @@
% \subsubsection{Thick Tick Density}
% \DescribeMacro{\hthickratio}
% \DescribeMacro{\vthickratio}
-% By default every fifth tick mark is thick. You can change that by
-% redefining
+% By default every fifth tick mark is
+% thick.\index{thick ticks|usage}\index{ticks>ratio of thick|usage}
+% You can change that by redefining
% the commands "\hthickratio" and "\vthickratio".
% \begin{quote}
% \begin{verbatim}
@@ -718,7 +751,8 @@
%
% \subsubsection{Different Scales on the Two Axes}
% \DescribeMacro{\rescaleby}
-% LaTeX\ (the \textsf{picture} environment) does not support different scales
+% LaTeX\ (the \textsf{picture} environment) does not support different
+% scales\index{labels>re-scaled|usage}\index{scaling labels|usage}
% on the two axes; "\unitlength" is used for both the
% horizontal and the vertical direction.
% However, you may create the \emph{appearance} of different scales by
@@ -740,12 +774,15 @@
% \end{quote}
% That is,
% \begin{quote}
-% "\rescaleby"\oarg{opt}\marg{num}\marg{den}\marg{cmd}
+% "\rescaleby"\oarg{symb}\marg{num}\marg{den}\marg{cmd}
% \end{quote}
-% multiplies the labels by $\frac{\meta{num}}{\meta{den}}$;
-% both \meta{num} and \meta{den} should be positive integers.
-% If the optional argument is present, each label will also
-% be multiplied by \meta{opt} (which may be a non-integer).
+% multiplies the labels by $\frac{\meta{num}}{\meta{den}}\meta{symb}$;
+% both \meta{num} and \meta{den} must be integers;
+% and \meta{den} must be positive.\footnote{Multiplying the labels by
+% a negative number does not reverse the arrows, so I suggest using
+% boxed coordinate systems in that case.}
+% The optional argument, if present, represents a symbolic
+% (non-numeric) scale factor; see the example below.
% The last argument, \meta{cmd}, must be one of "\hlabel"
% or "\vlabel".
%
@@ -776,7 +813,7 @@
% As you can affect the width of the dots or lines of a
% "\coordgrid" with a "\gridstyle" command,
% so you can affect the width of the tick marks with a
-% "\tickstyle" command:
+% "\tickstyle"\index{ticks>style of|usage} command:
% \begin{quote}
% "\tickstyle"\marg{thin declaration}\marg{thick declaration}
% \end{quote}
@@ -793,7 +830,8 @@
% \texttt{\textbackslash tickstyle}.}
%
% \DescribeMacro{\ticklength}
-% The "\ticklength" command controls the length of the tick marks.
+% The "\ticklength" command controls the length of the
+% tick marks.\index{ticks>length of|usage}
% \begin{quote}
% \begin{verbatim}
% \tickstyle{\thinlines\renewcommand{\ticklength}{4pt}}
@@ -808,7 +846,8 @@
% Note that the \emph{command} "\ticklength" must be changed with
% "\renewcommand".
%
-% If you prefer tick marks just on the outside of the coordinate axes, load
+% If you prefer tick marks\index{ticks>style of|usage}
+% just on the outside of the coordinate axes, load
% \textsf{coordsys} with the \textsf{outside} option.
% \begin{quote}
% \begin{verbatim}
@@ -838,7 +877,8 @@
%
% \subsection{One Dimension}
% \DescribeMacro{\logline}
-% The "\logline" command typesets a horizontal, logarithmic number line.
+% The "\logline" command typesets a horizontal, logarithmic number
+% line.\index{number line>logarithmic|(usage}
% \begin{quote}
% \begin{verbatim}
% \logline{-60}{210}
@@ -873,7 +913,8 @@
% The "\logline" command only typesets an axis; it does not change the
% way \LaTeX\ and the \textsf{picture} environment interprets coordinates.
% The equation below gives the relationship between the coordinate to
-% "\put", $x_p$, and the apparent coordinate, $x_a$.
+% "\put", $x_p$, and the apparent coordinate,
+% $x_a$.\index{labels>logarithmic|usage}
% \[
% x_p = \meta{spacing} \log_{10} x_a.
% \]
@@ -899,12 +940,13 @@
% "\vlogline*"\oarg{spacing}\marg{from}\marg{to}
% \end{quote}
% The syntax is similar to that of the "\logline" command
-% \vpageref[above]{loglinesyntax}.
+% \vpageref[above]{loglinesyntax}.\index{number line>logarithmic|)usage}
%
%
% \subsection{Two Dimensions}
% \DescribeMacro{\logsys}
-% Use the "\logsys" command to typeset logarithmic coordinate systems.
+% Use the "\logsys"\index{coordinate system>logarithmic|(usage}
+% command to typeset logarithmic coordinate systems.
% \begin{quote}
% \begin{picture}(220,125)(-70,-65)
% \logsys[5](-50,-50)(150,60)
@@ -980,7 +1022,8 @@
% thick tick marks (powers of $10$) on the vertical axis;
% the default is 50 units.
% The starred version omits the labels.
-% All the arguments must be integers.
+% All the arguments must be
+% integers.\index{coordinate system>logarithmic|)usage}
%
% \DescribeMacro{\loggrid}
% \DescribeMacro{\loggrid*}
@@ -988,7 +1031,8 @@
% \DescribeMacro{\semiloggrid*}
% \DescribeMacro{\logloggrid}
% \DescribeMacro{\logloggrid*}
-% The "\loggrid", "\loggrid*", "\semiloggrid",
+% The "\loggrid",\index{grid>logarithmic|(usage}
+% "\loggrid*", "\semiloggrid",
% "\semiloggrid*", "\logloggrid", and "\logloggrid*" commands
% typeset logarithmic grids.
% \begin{quote}
@@ -1019,7 +1063,7 @@
% thick tick marks (the powers of $10$) on logarithmic axes.
% The starred versions use solid lines;
% the un-starred versions use dotted lines.
-% All the arguments must be integers.
+% All the arguments must be integers.\index{grid>logarithmic|)usage}
%
%
% \section{Filling the Coordinate Systems}
@@ -1111,7 +1155,8 @@
%
%
% \subsection{Curves}
-% For plotting curves I recommend the \textsf{epic} and
+% For plotting curves\index{curves|(usage}
+% I recommend the \textsf{epic} and
% \textsf{eepic} packages.\footnote{Both are old \LaTeX209 packages that work
% fine in \LaTeXe. The \textsf{eepic} package re-implements the \textsf{epic}
% package making use of \textsc{PostScript}. The \textsf{eepic} package
@@ -1119,14 +1164,14 @@
% I especially like \textsf{(e)epic}'s "\putfile" command which allows
% you to calculate your plot with some external program, export the points to
% plot to a text file, and import that file to have \LaTeX\ draw the plot.
-% For external program I use Maple.
+% For external program I use Maple.\index{curves>with Maple|usage}
% The \textsf{coordsys} package includes a piece of
% Maple code that exports a Maple plot in the form "\putfile" expects.
% You can therefore take advantage of Maple adaptive plotting
% algorithm\footnote{Maple cleverly calculates more points where the curve
% wiggles.} in your \LaTeX\ plots.
%
-% Here is how it works:
+% Here is how it works:\index{putfile|usage}
% In Maple, read in the file \url{putfile} which is part of the
% \textsf{coordsys} package.
% \begin{verbatim}
@@ -1196,14 +1241,15 @@
%
% To draw a curve that requires (or looks best with) different scales on
% the two axes, you can use the "scale" option to
-% "putfile" in Maple:
+% "putfile"\index{curves>scaled|(usage}\index{putfile>scale|(usage}
+% in Maple:
% \begin{verbatim}
% > plot( (x+2)*(x-1)*(x-2), x=-3..4 );
% > putfile( "cubic.put", %, scale=[10, 1] );
% \end{verbatim}
% Now all the $x$-coordinates in "cubic.put" are $10$ times larger
% than they should be. Thus re-scale the horizontal labels
-% by~$\frac{1}{10}$.
+% by~$\frac{1}{10}$.\index{labels>re-scaled|(usage}\index{scaling labels|(usage}
% \begin{quote}
% \begin{verbatim}
% \rescaleby{1}{10}{\hlabel}
@@ -1268,7 +1314,8 @@
% \fi
% \end{quote}
%
-% If the plot contains more than one curve, "putfile" generates
+% If the plot contains more than one curve,
+% "putfile"\index{putfile>multiple curves|usage} generates
% one file for each. You can of course specify multiple curves
% directly, but they can also be the result of the "discont"
% option to "plot".
@@ -1316,7 +1363,10 @@
% \fi
% \end{quote}
%
-% For logarithmic plots scaling is almost always necessary. Consider the
+% For logarithmic plots
+% scaling\index{curves>logarithmic|usage}\index{scaling labels>logarithmic|usage}
+% is almost always necessary.
+% Consider the
% graph of $y=\frac{1}{1+e^{-x}}$ for $x$ running from $-10$ to $10$.
% The $y$-coordinates extend over five powers of $10$, so scale by $4$
% to make it comparable to the range of $x$-coordinates.
@@ -1355,8 +1405,10 @@
% \end{picture}
% \fi
% \end{quote}
+% \index{curves>scaled|)usage}\index{putfile>scale|)usage}%
+% \index{labels>re-scaled|)usage}\index{scaling labels|)usage}
%
-% Use the "putfile" command as follows:
+% Use the "putfile" command as follows:\index{putfile>syntax|usage}
% \begin{quote}
% "putfile(" \meta{filename}"," \meta{PLOT structure} [","
% \meta{options} ] ");"
@@ -1369,7 +1421,7 @@
% as is. (So if you do not want "putfile" to meddle with your filename,
% give it in a set.)
%
-% The only possible option is
+% The only possible option is\index{putfile>scale|(usage}
% \begin{quote}
% "scale" "=" "[" \meta{number}"," \meta{number} "]"
% \end{quote}
@@ -1389,11 +1441,11 @@
% you should use the optional \meta{spacing} argument to
% the command that draws the coordinate system, say
% "\logsys[30]("\dots
-% \end{itemize}
+% \end{itemize}\index{putfile>scale|)usage}\index{curves|)usage}
%
%
% \section{Installation}
-% Extract the \url{.sty} files from
+% Extract\index{installation|usage} the \url{.sty} files from
% the \url{.dtx} file by running \url:coordsys.ins: through \LaTeX.
% Then generate the documentation for the \textsf{coordsys} and
% \textsf{logsys} packages
@@ -1435,17 +1487,21 @@
%
% \section{Acknowledgements}
% Thank you to Scott Pakin
-% (\url{pakin@uiuc.edu}) for his input on the implementation of Euclid's
+% for his input on the implementation of Euclid's
% algorithm.
%
% Thank you to Svend Daugaard Pedersen
-% (\url{Svend@DaugaardPedersen.dk})
% for catching an error in the logarithmic systems
% and for suggestions that led to "\gridstyle".
%
-% Thank you to Staffan Lundberg who found an error in my understanding
+% Thank you to Staffan Lundberg
+% who found an error in my understanding
% of Maple's structured types and thus prompted me to polish the
-% Maple code for "pufile".
+% Maple code for "putfile".
+%
+% Thank you to Jan Hegewald
+% whose questions led to an improved description and implementation
+% of "\rescaleby".
%
%
% \StopEventually{
@@ -1460,7 +1516,7 @@
% \begin{macrocode}
%<*coordsys>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{coordsys}[2004/11/15 version 1.3]
+\ProvidesPackage{coordsys}[2006/02/03 version 1.4]
% \end{macrocode}
%
% \subsubsection{Declaration of Options}
@@ -1606,18 +1662,18 @@
% which should be either "\hlabel" or "\vlabel".
% After
% \begin{quote}
-% "\rescaleby"\oarg{opt}\marg{num}\marg{den}"{\hlabel}"
+% "\rescaleby"\oarg{symb}\marg{num}\marg{den}"{\hlabel}"
% \end{quote}
% the result of "\hlabel"\marg{x} should be
-% $\frac{\meta{num}\times \meta{x}}{\meta{den}} \meta{opt}$.
+% $\frac{\meta{num}\times \meta{x}}{\meta{den}} \meta{symb}$.
% \begin{macrocode}
\newcommand{\rescaleby}[4][]{\renewcommand{#4}[1]{{%
\count@=##1\relax
- \ifnum\count@<0\count@=-\count@\fi
\ifnum\count@=0\relax
\@tempcntb=1\relax
\else
\multiply\count@ #2\relax
+ \ifnum\count@<0\count@=-\count@\fi
\@EuclidGCD{\count@}{#3}%
\count@=##1\relax
\multiply\count@ #2\relax
@@ -2337,6 +2393,7 @@
\def\coordsys@c{}%
\fi\fi\fi
% \end{macrocode}
+% \begin{macro}{\coordsys@w}\begin{macro}{\coordsys@h}
% Finally, "\put" the pieces down. Here "\coordsys@w" is the vertical
% coordinate of the last typeset horizontal axis (usually~$0$),
% and "\interval@line" is defined by "\intervalthickness" below.
@@ -2350,7 +2407,7 @@
\fi
\next}
% \end{macrocode}
-% \end{macro}
+% \end{macro}\end{macro}\end{macro}
%
% \begin{macro}{\vinterval}
% \begin{macro}{\vinterv@l}
@@ -2450,6 +2507,7 @@
% \end{macro}\end{macro}
%
% \begin{macro}{\intervalthickness}
+% \begin{macro}{interval@line}\begin{macro}{\vinterval@line}
% The "\intervalthickness" command defines the two commands "\interval@line"
% and "\vinterval@line" that draw the thick line indicating the interval.
% \begin{macrocode}
@@ -2476,7 +2534,7 @@
}%
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}\end{macro}\end{macro}
%
% Then a few defaults for "\interval" and "\vinterval".
% \begin{macrocode}
@@ -2490,7 +2548,7 @@
% \begin{macrocode}
%<*euclid>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{euclidgcd}[2004/11/15 version 1.3]
+\ProvidesPackage{euclidgcd}[2006/02/03 version 1.4]
\newcommand{\EuclidGCD}[2]{%
\@EuclidGCD{#1}{#2}%
\the\@tempcnta}
@@ -2536,7 +2594,7 @@
% \begin{macrocode}
%<*logsys>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{logsys}[2004/11/15 version 1.3]
+\ProvidesPackage{logsys}[2006/02/03 version 1.4]
% \end{macrocode}
%
% \subsubsection{Options}
@@ -2551,7 +2609,7 @@
% \subsubsection{Package Loading}
% The \textsf{logsys} package extends the \textsf{coordsys} package.
% \begin{macrocode}
-\RequirePackage{coordsys}[2004/11/15]
+\RequirePackage{coordsys}[2006/02/03]
% \end{macrocode}
%
% \subsubsection{Main Code}
@@ -3034,8 +3092,8 @@
%<*putfile>
putfile := proc(fn::{string, list(string), set(string)},
P::specfunc(anything, PLOT) )
- option `Copyright 2000-04 by Mogens Lemvig Hansen`;
- description "version 1.0";
+ option `Copyright 2000-06 by Mogens Lemvig Hansen`;
+ description "version 1.1";
local L, fns, i, V, scl, FH, ttl, pt, path, ext;
global StringTools;
% \end{macrocode}
@@ -3118,7 +3176,7 @@ putfile := proc(fn::{string, list(string), set(string)},
% Finally, extract the title, if any.
% The title will be included as a comment.
% Since the title could be a multi-line string, we must insert "%" characters
-% before any new-lines.
+% after any new-lines.
% \begin{macrocode}
ttl := select(type, [op(P)], 'specfunc'('anything', 'TITLE'));
if nops(ttl) = 1 then
@@ -3140,8 +3198,8 @@ putfile := proc(fn::{string, list(string), set(string)},
if scl <> [1,1] then fprintf(FH, "%% scaled %a\n", scl) fi;
V := [ map2(op, 1, L[i]), map2(op, 2, L[i]) ];
V := map( u-> min(op(u))..max(op(u)), V );
- fprintf(FH, "%% horizontal range: %f..%f\n", op(V[1]));
- fprintf(FH, "%% vertical range: %f..%f\n", op(V[2]));
+ fprintf(FH, "%% horizontal range: %f .. %f\n", op(V[1]));
+ fprintf(FH, "%% vertical range: %f .. %f\n", op(V[2]));
for pt in L[i] do
fprintf(FH, "%f \t%f\n", op(pt));
od;
@@ -3163,8 +3221,8 @@ end;
% "putfile/grabcurves" will flatten to one sequence of \meta{curve}s
% \begin{macrocode}
`putfile/grabcurves` := proc(x)
- option `Copyright 2000-04 by Mogens Lemvig Hansen`;
- description "version 1.0";
+ option `Copyright 2000-06 by Mogens Lemvig Hansen`;
+ description "version 1.1";
local L;
if op(0, x) = 'CURVES' then
L := [ op(x) ];
@@ -3182,8 +3240,8 @@ end;
% \begin{macrocode}
`putfile/cleancurve` := proc(CC::list, V::list)
local C, B, pts, pt, m, i;
- option `Copyright 2004 by Mogens Lemvig Hansen`;
- description "version 1.0";
+ option `Copyright 2004-06 by Mogens Lemvig Hansen`;
+ description "version 1.1";
% \end{macrocode}
% Remove any non-numeric points.
% \begin{macrocode}
@@ -3233,13 +3291,13 @@ end;
% \begin{macrocode}
pts := [pts];
if C[i-1][1] < C[i][1] then
- pts := sort(pts, (u,v)->evab(u[1]<v[1]));
+ pts := sort(pts, (u,v)->evalb(u[1]<v[1]));
elif C[i-1][1] > C[i][1] then
- pts := sort(pts, (u,v)->evab(u[1]>v[1]));
+ pts := sort(pts, (u,v)->evalb(u[1]>v[1]));
elif C[i-1][2] < C[i][2] then
- pts := sort(pts, (u,v)->evab(u[2]<v[2]));
+ pts := sort(pts, (u,v)->evalb(u[2]<v[2]));
elif C[i-1][2] > C[i][2] then
- pts := sort(pts, (u,v)->evab(u[2]>v[2]));
+ pts := sort(pts, (u,v)->evalb(u[2]>v[2]));
else
error "cannot happen";
fi;