summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pstricks/examples/changes.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/examples/changes.tex662
1 files changed, 662 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex b/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex
new file mode 100644
index 00000000000..d431a41be2c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pstricks/examples/changes.tex
@@ -0,0 +1,662 @@
+%% BEGIN changes.tex
+%%
+%% Changes listing for PSTricks.
+%% Run with LaTeX, with or without the NFSS.
+%%
+%% Change these for a4 paper:
+%\def\paperwidth{8.5in}
+%\def\paperheight{11in}
+
+\def\FileVersion{0.93a}
+\def\FileDate{March 12, 1993}
+
+\documentclass[11pt,a4paper]{article}
+\usepackage[T1]{fontenc}
+
+%% PAGE PARAMETERS
+
+\usepackage{fancybox}
+% Paragraphs are marked by large space rather than indentation:
+\parindent 0pt
+\parskip 6pt plus 1pt minus 1pt
+
+% No headers, 1in top margin
+\usepackage[dvips]{geometry}
+\geometry{tmargin=0pt,bmargin=3.3cm,headheight=0pt,headsep=0pt,
+textheight=9in, footskip=.625in}
+\usepackage[scaled]{luximono}
+\usepackage{mathpazo}
+
+
+% Now adjust for different paper size:
+\newdimen\mydim
+\mydim=\paperwidth
+\advance\mydim-8.5in
+\divide\mydim 2
+\advance\oddsidemargin \mydim
+\advance\evensidemargin \mydim
+\mydim=\paperheight
+\advance\mydim-11in
+\divide\mydim 2
+\advance\topmargin \mydim
+
+%% OTHER
+
+\renewcommand{\EveryVerbatimLine}[2]{}
+
+% Short meta (works in verbatim. Can't use < for other purposes.
+\catcode`\<=13 \def<#1>{{\rm\it #1\/}} % <meta> (works in verbatim)
+
+% Short verbatim.
+\catcode`\"=13
+\def"{\verb"}
+
+\catcode`\@=12 % In case I'm using AmS-LaTeX
+
+\begin{document}
+
+\begin{center}
+{\large\bfseries Changes listing for PSTricks}\\[6pt]
+ Version \FileVersion\\
+ \FileDate\\[6pt]
+ Timothy Van Zandt\\
+ tvz@Princeton.EDU
+\end{center}
+
+ The PSTricks package is still preliminary. The features list
+ and user interface are unlikely to change much in the short term, but
+ the internal code is not stable.
+
+\section{VERSION 0.93 and 0.93a}
+
+ There have been substantial changes (hopefully for the last time).
+
+ This section describes the changes from 0.92 to 0.93a. The only differencea
+between 0.93 and 0.93a are that a bug in "\nccircle" was fixed, and the
+features in "\pst-old.tex" where either incorporated into the main files
+("\Rput", "\Lput", "\Mput", "\Polar" and "\Cartesian") or eliminated entirely
+("\NewPsput", "\OldPsput" and the old "\pscustom" commands). What is described
+\subsection{Incompatible changes}
+
+ {\bf
+ These changes may require modification to files prepared with version 0.92.
+Sorry about the inconvenience. To avoid letting new changes catch you by
+surprise, get on the PSTricks mailing list.}
+\begin{enumerate}
+
+\item
+ "\SpecialCoor" has changed completely. See User's Guide for details. Most of
+these changes were announced shortly after the release of v0.92, but
+"pst-beta.tex" users should note that raw PostScript coordinates are now
+delimited by "!" rather than by ":".
+
+ {\bfseries How to fix files:} Search for "\SpecialCoor" in your file. Change the
+old syntax to the new syntax according to this table:
+ \begin{center}
+ \begin{tabular}{ccl}
+ {\em Old} & {\em New} & {\em Type}\\[2pt]
+ "(c<x>,<y>)" & "(<x>,<y>)" & Cartesian.\\
+ "(p<r>,<a>)" & "(<r>;<a>)" & Polar.\\
+ "(n{<node>})" & "(<node>)" & Center of <node>.\\
+ "(N[<par>]{<node>})" & "([<par>]<node>)" & Relative to <node>.\\
+ "(m{<coor1>}{<coor2>})" & "(<coor1>|<coor2>)" & Mixed.
+ \end{tabular}
+ \end{center}
+In addition, if you used the syntax "(:<ps>)" from "pst-beta.tex" for raw
+postscript code, search for "(:" and replace by "(!".
+
+\item
+ Angles can no longer be specified by "{<x>,<y>}". "\SpecialCoor" lets you
+use coordinates as angles, but they must be enclosed in "()". E.g.,
+"{(<x>,<y>)}". See User's Guide for details.
+
+ {\bfseries How to fix files:} Add the parentheses "()" to angles given by
+"{<x>,<y>}" and and precede this usage by "\SpecialCoor". However, there is no
+easy way to search for "{<x>,<y>}" (unless you are good at using Unix's
+regular expressions). On the other hand, you probably didn't use this features
+much, and it will be easier to just wait for the old usage to cause errors.
+
+\item
+ The
+\begin{LVerbatim}
+ arrowsize=<dim num1 num2 num3>
+\end{LVerbatim}
+parameter has been replaced by
+\begin{LVerbatim}
+ arrowsize=<dim num1>
+ arrowlength=<num2>
+ arrowinset=<num3>
+\end{LVerbatim}
+
+ {\bfseries How to fix files:}
+ Search for "arrowsize", and break up your parameter change. You can also
+just do nothing, because if you use the old syntax for "arrowsize", <num2> and
+<num3> will simply be ignored.
+
+\item
+ The
+\begin{LVerbatim}
+ tbarsize=<dim num1 num2>
+\end{LVerbatim}
+parameter has been replaced by
+\begin{LVerbatim}
+ tbarsize=<dim num1>
+ bracketlength=<num2> % For square brackets.
+ rbracketlength=<num2> % For round brackets.
+\end{LVerbatim}
+
+ {\bfseries How to fix files:}
+ Search for "tbarsize", and break up your parameter change. You can also just
+do nothing, because if you use the old syntax for "tbarsize", <num2> will
+simply be ignored.
+
+\item
+ "\pscustom" has changed substantially. E.g., (i) there is no "(x,y)"
+argument, (ii) plots ("\psplot", etc.) no longer run backwards, and (iii) the
+treatment of the currentpoint is much different. Also, most of the special
+commands for use only within "\pscustom" have changed. See the User's Guide
+for details.
+
+ {\bfseries How to fix files:}
+ You must search for each use of "\pscustom", and make the following changes:
+ \begin{itemize}
+ \item Replace "\pscustom"'s old "(<x>,<y>)" argument by "\moveto(<x>,<y>)"
+at the beginning of "\pscustom"'s main argument.
+
+ \item Make the following substitutions inside "\pscustom"'s main argument:
+ \begin{center}
+ \begin{tabular}{ll}
+ {\em Old} & {\em New}\\[2pt]
+ "\pscode" & "\code"\\
+ "\pscoor" & "\coor"\\
+ "\psdim" & "\dim"\\
+ "\psmove" & "\moveto"\\
+ "\psclosepath" & "\closepath"\\
+ "\psgroup{<stuff>}" & "\gsave" <stuff> "\grestore"\\
+ "\psstroke" & "\stroke"\\
+ "\psfill" & "\fill"
+ \end{tabular}
+ \end{center}
+ You can instead define, e.g.,
+ \begin{quote}
+ "\def\pscode{\code}" , or\\
+ "\newcommand{\pscode}{\code}"
+ \end{quote}
+ and
+ \begin{quote}
+ "\def\psgroup#1{\gsave #1 \grestore}" , or\\
+ "\newcommand{\psgroup}{\gsave #1 \grestore}"
+ \end{quote}
+
+ \item Check the output from your "\pscustom" command. If, after making the
+above changes, things come out differently than inspected, it is probably
+because the plot commands run ``forwards'' rather than ``backwards'', or
+because of the new way that "\pscustom" treats the current point. Fix these on
+a case-by-case basis.
+ \end{itemize}
+
+\item
+ "\listplot", "\psplot" and "\parametricplot" no longer have an "(<x>,<y>)"
+argument. Use the "origin" parameter instead.
+
+ {\bfseries How to fix files:}
+ Search for "\listplot", "\psplot" and "\parametricplot". Replace any
+"(<x>,<y>)" argument by the parameter change "[origin={<x>,<y>}]".
+
+\item
+ To suppress labels with "\psaxes", use "labels=none/x/y", rather than
+setting "Dx" and "Dy" to empty values.
+
+ {\bfseries How to fix files:}
+ Search for "=}", "=," and "=]". Remove the "Dx=," and other such parameter
+settings you find, and replace instead by "labels=none/x/y", depending on
+whether you want no labels, labels on the x-axes only, or labels on the y-axis
+only.
+
+\item
+ The "\scalebox" macro should use a space rather than a comma to separate the
+x and y scaling factors, when two scaling factors are given.
+
+ {\bfseries How to fix files:}
+ Wait to get error about bad numbers, or search for "\scalebox" and replace
+"\scalebox{<num1>,<num2>}" by "\scalebox{<num1> <num2>}".
+
+\item
+ The "dblframewidth" parameter is gone, because "\psdblframebox" is now just
+a variant of "\psframebox" with "doubleline=true". The width of each frame is
+now just "linewidth"
+
+ {\bfseries How to fix files:}
+ Search for "dblframewidth" and replace the parameter setting be a
+"linewidth" parameter setting.
+
+\item
+ The "\OldPsput" and "\Newpsput" commands are gone. These were originally
+devised to retain compatibility with an older version of PSTricks that had a
+"\psput" command instead of "\rput".
+
+ {\bfseries How to fix files:}
+ If you used "\psput" with the new syntax, then search for "\psput" and
+replace by "\rput".
+
+ If you used "\psput" with the old syntax, then either search for "\psput"
+commands and replace with "\rput" commands with the new syntax, or put the
+following in a file so that the "\OldPsput" command defines "\psput" with the
+old syntax:
+\begingroup\catcode`\<=12
+\begin{LVerbatim}
+ \def\old@psput{\begingroup\old@psput@}
+ \def\old@psput@{%
+ \def\refpoint@x{.5}\def\refpoint@y{.5}%
+ \pst@ifstar{\@ifnextchar[%
+ {\old@psput@i}{\def\pst@rot{}\old@psput@ii}}}
+ \def\old@psput@i[#1]{\pst@getangle{#1}\pst@rot\old@psput@ii}
+ \def\old@psput@ii{\@ifnextchar<{\old@psput@iii}{\old@psput@iv}}
+ \def\old@psput@iii<#1>{\pst@@getref\old@psput@iv[#1]}
+ \def\old@psput@iv{%
+ \@ifnextchar({\end@psput\rput@i}{\end@psput\rput@i(0,0)}}
+ \def\OldPsput{\let\psput\old@psput}
+ \def\NewPsput{\let\psput\rput}
+\end{LVerbatim}
+\endgroup
+
+\end{enumerate}
+
+
+\subsection{New files with old stuff}
+
+Remember to input these files when needed. To have these files loaded
+automatically, put an "\input" command after "\customization" in the
+configuration file ("pstricks.con").
+
+\begin{description}
+
+\item[pst-node]
+ All the node stuff has been put in "pst-node.tex" / "pst-node.sty".
+
+\item[pst-plot]
+ The plot commands ("\psplot", etc.) and the "\psaxes" command have been put
+in "pst-plot.tex" / "pst-plot.sty". ("pst-plot.tex" automatically loads
+"multido.tex", which is required by the axes macros.) There are also some
+variants of "\listplot", "\fileplot" and "\dataplot", that are less likely to
+exceed PostScript operand stack limits.
+
+\item[colortab]
+ The table coloring commands have been put in "colortab.tex" /
+"colortab.sty". This is no longer PSTricks specific, but most of the old stuff
+works the same as before. The only exception is that "\omit{}" is not needed
+when a column is not to be colored. The documentation for "colortab.tex" is in
+"colortab.doc". There are also some new features:
+\begin{itemize}
+\item
+ "\SP" and "\RP": These let "\LCC" ... "\ECC" work with nested arrays or
+"\multicolumns" when using Mittelbach's array.sty. See "colortab.doc" for
+details.
+
+\item
+ "LColors", "\LC", "\LCi", "\LCii", "\LCiii", "\LCz", for shading the cells
+in the "longtable" environment. See "colortab.doc" for details.
+
+umns when using Mittelbach's array.sty. See "colortab.doc" for details.
+
+\item
+ "LColors", "\LC", "\LCi", "\LCii", "\LCiii", "\LCz", for shading the cells
+in the "longtable" environment. See "colortab.doc" for details.
+\end{itemize}
+
+\end{description}
+
+\subsection{Obsolete but retained features}
+
+ The features listed below are obsolete and are documented in footnotes.
+
+\begin{itemize}
+\item
+ "\Polar": Use "\SpecialCoor" and "(r;a)" instead.
+
+\item
+ "\Cartesian(x,y)" Use "\psset{xunit=x,yunit=y}" instead.
+
+\item
+ "\Rput": Use "\uput" instead.
+
+\item
+ "\Lput" and "\Mput": Use "\aput", "\bput", "\Aput" and "\Bput" instead.
+
+\end{itemize}
+
+\subsection{New features}
+
+This is a partial listing. See also the next section on new files.
+
+\begin{itemize}
+
+\item
+ "\uput": Replaces "\Rput".
+
+\item
+ "\aput", "\bput", "\Aput", "\Bput": Replace "\Lput" and "\Mput".
+
+\item
+ "\clipbox" has optional argument "[<dim>]" that sets the clippath distance
+<dim> from box. E.g., "\clipbox[1pt]{foo}".
+
+\item
+ "\newpsstyle": E.g.,
+\begin{LVerbatim}
+ \newpsstyle{foo}{linewidth=5pt,linestyle=dashed}
+ \psline[style=foo](4,5)
+\end{LVerbatim}
+
+\item
+ "\PSTricksOff" suppresses the PostScript. Useful for printing or previewing
+drafts of your document with a non-PostScript driver.
+
+\item
+ New arrow styles: {\catcode`\<=12 \tt
+ >-<, <<->>, >>-<<. |*-|* }.
+
+\item
+ Many new features for the "\pscustom" command.
+
+\item
+ "dimen" parameter (for controlling whether dimensions for "\psframe",
+"\pscircle", "\pswedge" and "\psellipse" refer to the inside, outside or
+middle of the boundary.
+
+\item
+ "bordercolor" parameter.
+
+\item
+ "doubleline", "doublesep" and "doublecolor" parameters.
+
+\item
+ "ticks" and "labels" parameters, for suppressing ticks and labels with
+"\psaxes".
+
+\item
+ "shadow" and "shadowangle" parameters.
+
+\item
+ Shadow parameters now apply to all graphics objects.
+
+\item
+ "\psmathboxtrue", "\psmathboxfalse", for controling whether box
+ macros preserve math mode.
+
+\item
+ "\pslongbox": For making box environment out of box commands.
+
+\item
+ "\psverbboxtrue", "\psverbboxfalse": For controlling whether verbatim
+ text is allowed in box commands.
+
+\end{itemize}
+
+\subsection{New files with new stuff}
+
+\begin{description}
+
+\item[pst-coil]
+ Contains "\pscoil", "\psCoil", "\pszigzag", "\nccoil" and "\nczigzag". Uses
+"pst-coil.pro" (optionally).
+
+\item[pst2eps]
+ Contains "\TeXtoEPS", to make it easier to convert \TeX\ boxes to EPS files
+with dvips, and "\PSTtoEPS", for creating EPS files directly from PSTricks
+graphics.
+
+\item[textpath]
+ Contains "\pstextpath" command, for typesetting text along a path. Use
+"textpath.pro".
+
+\item[gradient]
+ "gradient" fillstyle. Uses "gradient.pro".
+
+\item[charpath]
+ Contains "\pscharpath" command, for stroking and filling character paths.
+Also, "\pscharclip" ... "\endpscharclip" sets clipping path as well.
+
+\item[piecharts.sh]
+ A sh/awk script by Denis Girou for converting data to PSTricks piecharts.
+
+\end{description}
+
+\subsection{Bug fixes}
+
+This list is incomplete.
+
+\begin{itemize}
+
+\item
+ "\scalebox" and "\scaleboxto" now work when the vertical scaling factor
+ is less than 1.
+
+\item
+ "\lput" and company now work with dvips 4.90 and later.
+
+\item
+ "\multips" can now be nested.
+
+\item
+ "\psclip" fixed.
+
+\item
+ "\clipbox" and clip option for "\pspicture" fixed.
+
+\end{itemize}
+
+\subsection{Other changes}
+
+In some cases, there is a small chance these will require that you modify old
+files.
+
+\begin{itemize}
+
+\item
+ Specifying "\rput"'s <refpoint> argument as, e.g., "[.3,1]" rather than
+"[br]" is now an undocumented feature.
+
+\item
+ All arguments to "\psplot", "\listplot" and "\parametric" plot are passed
+on directly as PostScript.
+
+\item
+ Dictionaries when including raw PostScript have changed. See appendix of
+User's Guide for details.
+
+\item
+ "\psset{unit=dim}" always changes "\psunit", "\psxunit" and "\psyunit". To
+change only "\psunit", use "runit=dim".
+
+\item
+ "border" parameter affects closed curves.
+
+\item The "hatchsep" parameter now refers to the width of the space between
+the lines, rather than the distance between the middle of the lines.
+\end{itemize}
+
+\renewcommand{\EveryVerbatimLine}{}
+\renewcommand{\VerbatimFont}{\small\tt}
+\renewcommand{\VerbatimFuzz}{2cm}
+
+\section{VERSION 0.92}
+
+\subsection{Incompatible changes}
+
+\begin{Verbatim}
+ ! V0.91 had two curve interpolation algorithsm: \pscurve and \psdoodle
+ (and variants). These have been merged into a single algorithm retaining
+ the names \pscurve, etc. Now the three curvature parameter has three
+ numbers:
+ num1 num2 num3
+ When num3 is 0 (the default), you get the old \psdoodle algorithm, and
+ and num1 and num2 act just like the old doodature parameter. When
+ num3=-1, you get the old \pscurve algorithm, but positive values are
+ usually nicer.
+
+ If you have used \pscurve or its variants, the shape of the curves
+ will change under 0.92. If you have also used the curvature
+ parameter, you will get errors because the old curvature parameter is
+ a single number and the new curvature parameter consists of 3 numbers.
+
+ If you have used \psdoodle or its variants, then you can either search
+ and replace doodle->curve and your use of doodature (which had 2 numbers)
+ to curvature (which has 3 number), or you can put the following in the
+ customization section of pstricks.con:
+ \let\psdoodle\pscurve
+ \let\psedoodle\psecurve
+ \let\pscdoodle\psccurve
+ \def\psset@doodature#1{\psset@curvature{#1 0}}
+
+ ! In \psdblframebox: The inner frame now has \pslinewidth, and the outer
+ frame now has width (dblframewidth x \pslinewidth), where dblframewidth is
+ a new graphics parameter whose default value is 2.
+
+ ! The angle, angleA and angleB parameters no longer apply to
+ \ncarc, and the default values have been changed to 0. For
+ \ncarc, the angle is now controlled by the arcangle, arcangleA
+ and arcangleB parameters. The default is still 8.
+
+ ! \multido has been off-loaded to the file multido.tex. The syntax has
+ been changed to make it consistent with \psmultiput and LaTeX's
+ \multiput: The variable declarations are now the first argument
+ and the number of repetitions are now the second argument. Also,
+ for number variables, the initial value and increment must now
+ have the same number of digits to the right of the decimal,
+ unless the initial value is an integer. There is no * version.
+ Instead, the contents is never grouped, and there is even a variant
+ that doesn't group the whole macro. See multido.ps, which is distributed
+ with PSTricks, for details.
+
+ ! 'diamond', 'diamond*', and 'x' dotstyles are gone. Use dotangle
+ parameter instead.
+\end{Verbatim}
+
+\subsection{New features}
+
+\begin{Verbatim}
+ + New dot style: |.
+
+ + New graphics objects: \pscustom.
+
+ + New box framing macros: \psovalbox, \pscirclebox.
+
+ + New box scaling macro: \scaleboxto.
+
+ + New nodes: \ovalnode, \circlenode.
+
+ + New node connection: \ncdiagg.
+
+ + New loop macro: \multips.
+
+ + New graphics parameters: dotscale, dotangle, dblframewidth.
+
+ + New arrow styles: c and C.
+
+ + \SpecialCoor allows using nodes as coordinates and mixing
+ coordinates.
+\end{Verbatim}
+
+\subsection{Other changes}
+
+\begin{Verbatim}
+ * arrowscale parameter allows non-square scaling.
+
+ * Documentation has been greatly improved.
+
+ * A bug that caused problems with Arbortext's dvips (previously
+ listed in pstricks.bug) was fixed.
+
+ * Memory stats with LaTeX's article style:
+ 43290 words of memory
+ 2895 multiletter control sequences
+\end{Verbatim}
+
+\section{VERSION 0.91}
+
+\subsection{Incompatible changes}
+
+\begin{Verbatim}
+ ! \dbox and \rotate eliminated.
+
+ ! \psput replaced by \rput, with new syntax:
+ OLD: \psput[angle]<ref point>(x,y){stuff}
+ NEW: \rput[ref point]{angle}(x,y){stuff}
+ \OldPsput sets up \psput with the old syntax (this may disappear some
+ day; keep it in a safe place if you expect to need it for a long time).
+
+ ! System for specifying angles for nested rotations with \psput has changed.
+ OLD: p0{angle}, p1{angle}, p2{angle}, etc.
+ NEW: *angle works like p0{angle}; p1{angle} capability eliminated.
+ N, S, E and W have same meaning as before.
+
+ ! enddotsize parameter changed to dotsize.
+
+ ! For specifying the origin as the baseline for the \pspicture
+ environment, leave the optional argument [] empty (rather than
+ [o]).
+
+ ! B is not allowed as the y-coordinate when setting the reference point
+ in \rput using coordinates. E.g., [Bl] and [B] are OK, but [.3,B] is
+ not.
+
+\end{Verbatim}
+
+\subsection{New features}
+
+\begin{Verbatim}
+ + cornersize parameter added, for specifying whether radius of corners
+ in \psframe and related box macros is given in relative terms (using
+ framearc) or absolute terms (using linearc).
+
+ + \psclip and \clipbox macros added.
+
+ + \Cartesian and \Polar commands added, for switching coordinate
+ systems.
+
+ + border=dim parameter added, for giving appearance of one line
+ crossing over another.
+
+ + showpoints=bool parameter added. If true, a dot is placed at appropriate
+ coordinates.
+
+ + \psdots graphics object added.
+
+ + \psarc graphics object added.
+
+ + \parabola graphics object added.
+
+ + \pscurve, \psccurve, \psecurve, \psdoodle, \psedoodle, and \pscdoodle
+ graphics objects added.
+
+ + \qline and \qdisk graphics objects added.
+
+ + \psplot, \parametericplot and \listplot graphics objects added.
+
+ + node connection (e.g., tree) macros added!!
+\end{Verbatim}
+
+\subsection{Other changes}
+
+\begin{Verbatim}
+ * \sunpatch not needed anymore.
+
+ * PostScript header file (if being used) is included at the beginning,
+ rather than on demand.
+
+ * In spite of the many new features, the input file is smaller in bytes,
+ and runs significantly faster (at least if used with a header file).
+ The macros use up slightly more words of memory, and significantly
+ more command sequences. Here are the stats with LaTeX's article
+ style:
+ 41586 words of memory
+ 2966 multiletter control sequences
+\end{Verbatim}
+
+\section{VERSION 0.9}
+
+Much internal code was changed, and additional features were added.
+
+\end{document}
+%% END changes.tex