summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/pstricks/psd-spec.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/pstricks/psd-spec.tex')
-rw-r--r--Master/texmf-dist/source/generic/pstricks/psd-spec.tex500
1 files changed, 0 insertions, 500 deletions
diff --git a/Master/texmf-dist/source/generic/pstricks/psd-spec.tex b/Master/texmf-dist/source/generic/pstricks/psd-spec.tex
deleted file mode 100644
index 1b7e205a311..00000000000
--- a/Master/texmf-dist/source/generic/pstricks/psd-spec.tex
+++ /dev/null
@@ -1,500 +0,0 @@
-%% BEGIN psd-spec.tex
-
-\part{Special Tricks\label{P-special}}
-
-\Section{Coils and zigzags}
-
-\File{pst-coil}
-The file "pst-coil.tex"/"pst-coil.sty" (and optionally the header file
-"pst-coil.pro") defines the following graphics objects for coils and zigzags:
-\begin{Ex}
- \object \pscoil`*[par]{arrows}\c0'\c1
- \object \psCoil`*[par]'{angle1}{angle2}
- \object \pszigzag`*[par]{arrows}\c0'\c1
-\end{Ex}
-
- These graphics objects use the following parameters:
-\begin{Ex}
- \Par{coilwidth=dim}
- \Par{coilheight=num}
- \Par{coilarm=dim}
- \Par{coilaspect=angle}
- \Par{coilinc=angle}
-\end{Ex}
-
-All coil and zigzag objects draw a coil or zigzag whose width (diameter) is
-\p{coilwidth}, and with the distance along the axes for each period (360
-degrees) equal to
-\begin{quote}
- \p{coilheight} x \p{coilwidth}.
-\end{quote}
-
-Both \n\pscoil{} and \n\psCoil{} draw a ``3D'' coil, projected onto the xz-axes.
-The center of the 3D coil lies on the yz-plane at angle p{coilaspect} to the
-z-axis. The coil is drawn with PostScript's "lineto", joining points that lie
-at angle \p{coilinc} from each other along the coil. Hence, increasing
-\p{coilinc} makes the curve smoother but the printing slower. \n\pszigzag\
-does not use the \p{coilaspect} and \p{coilinc} parameters.
-
-\n\pscoil{} and \n\pszigzag{} connect \c0 and \c1, starting and ending with
-straight line segments of length \p{coilarmA} and \p{coilarmB}, resp. Setting
-\p{coilarm} is the same as setting \p{coilarmA} and \p{coilarmB}.
-
-Here is an example of \n\pscoil:
-\begin{MEx}(4,2)
- \pscoil[coilarm=.5cm,linewidth=1.5pt,coilwidth=.5cm]{<-|}(4,2)
-\end{MEx}
-
-Here is an example of \n\pszigzag:
-\begin{MEx}[0,-.5](4,.5)
- \pszigzag[coilarm=.5,linearc=.1]{<->}(4,0)
-\end{MEx}
-Note that \n\pszigzag{} uses the \p{linearc} parameters, and that the beginning
-and ending segments may be longer than \p{coilarm} to take up slack.
-
-\n\psCoil{} just draws the coil horizontally from <angle1> to <angle2>. Use
-\n\rput{} to rotate and translate the coil, if desired. \n\psCoil{} does not use
-the \p{coilarm} parameter. For example, with \p{coilaspect=0} we get a sine
-curve:
-\begin{MEx}[0,-.375](4,.375)
- \psCoil[coilaspect=0,coilheight=1.33,
- coilwidth=.75,linewidth=1.5pt]{0}{1440}
-\end{MEx}
-
-\File{pst-node}
-"pst-coil.tex" also contains coil and zigzag node connections. You must also
-load "pst-node.tex" / "pst-node.sty" to use these. The node connections are:
-\begin{Ex}
- \object \nccoil`*[par]{arrows}'{nodeA}{nodeB}
- \object \nczigzag`*[par]{arrows}'{nodeA}{nodeB}
- \object \pccoil`*[par]{arrows}'\c1\c2
- \object \pczigzag`*[par]{arrows}'\c1\c2
-\end{Ex}
-The end points are chosen the same as for \n\ncline{} and \n\pcline, and
-otherwise these commands work like \n\pscoil{} and \n\pszigzag. For example:
-\begin{MEx}(4,3)
- \cnode(.5,.5){.5}{A}
- \cnode[fillstyle=solid,fillcolor=lightgray](3.5,2.5){.5}{B}
- \nccoil[coilwidth=.3]{<->}{A}{B}
-\end{MEx}
-
-
-\Section{Special coordinates\label{S-SpecialCoor}}
-
-The command
- \Mac \SpecialCoor
-enables a special feature that lets you specify coordinates in a variety of
-ways, in addition to the usual Cartesian coordinates.\footnote{%
-There is an obsolete command \n\Polar\MainIndex\Polar{} that causes
-coordinates in the form "(<r>,<a>)" to be interpreted as polar coordinates.
-The use of \n\Polar{} is not recommended because it does not allow one to mix
-Cartesian and polar coordinates the way \n\SpecialCoor{} does, and because it
-is not as apparent when examining an input file whether, e.g., "(3,2)" is a
-Cartesian or polar coordinate. The command for undoing \n\Polar{} is
-\n\Cartesian\MainIndex\Cartesian. It has an optional argument for setting the
-default units. I.e.,
-\begin{LVerb*}
- \Cartesian(<x>,<y>)
-\end{LVerb*}
-has the effect of
-\begin{LVerb*}
- \psset{xunit=<x>,yunit=<y>}
-\end{LVerb*}
-\n\Cartesian{} can be used for this purpose without using \n\Polar.}
-Processing is slightly slower and less robust, which is why this feature is
-available on demand rather than by default, but you probably won't notice the
-difference.
-
-Here are the coordinates you can use:
-\begin{description}
- \vitem"(<x>,<y>)" The usual Cartesian coordinate. E.g., "(3,4)".
- \vitem"(<r>;<a>)" Polar coordinate, with radius $r$ and angle $a$. The
-default unit for $r$ is \p{unit}. E.g., "(3;110)".
- \vitem"(<node>)" The center of <node>. E.g., "(A)".
- \vitem"([<par>]<node>)" The position relative to <node> determined using the
-\p{angle}, \p{nodesep} and \p{offset} parameters. E.g., "([angle=45]A)".
- \vitem"(!<ps>)" Raw PostScript code. <ps> should expand to a coordinate pair.
-The units \p{xunit} and \p{yunit} are used. For example, if I want to use a
-polar coordinate $(3,110)$ that is scaled along with \p{xunit} and \p{yunit},
-I can write
-\begin{LVerb}
- (!3 110 cos mul 3 110 sin mul)
-\end{LVerb}
- \vitem"(<coor1>|<coor2>)" The $x$ coordinate from <coor1> and the $y$
-coordinate from <coor2>. <coor1> and <coor2> can be any other coordinates for
-use with \n\SpecialCoor. For example, "(A|1in;30)".
-\end{description}
-
-\n\SpecialCoor{} also lets you specify angles in several ways:
-\begin{description}
-\vitem"<num>" A number, as usual, with units given by the \n\degrees{} command.
-\vitem"(<coor>)" A coordinate, indicating where the angle points to. Be sure
-to include the "()", in addition to whatever other delimiters the angle
-argument uses. For example, the following are two ways to draw an arc of .8
-inch radius from 0 to 135 degrees:
-\begin{MEx}(3,2)
- \SpecialCoor
- \psarc(0,0){.8in}{0}{135}
- \psarc(0,0){.8in}{0}{(-1,1)}
-\end{MEx}
-\vitem"!<ps>" Raw PostScript code. <ps> should expand to a number. The same
-units are used as with <num>.
-\end{description}
-
-\newbox\specialbox
-\setbox\specialbox=\hbox{%
- \bfseries
- \begin{tabular}{|c|c|l|}
- \hline
- \emph{Coordinate} & \emph{Example} & \emph{Description} \\[2pt]
- "(<x>,<y>)" & "(3,4)" & Cartesian coordinate.\\
- "(<r>;<a>)" & "(3;110)" & Polar coordinate.\\
- "(<node>)" & "(A)" & Center of <node>.\\
- "([<par>]<node>)" & "([angle=45]A)" & Relative to <node>.\\
- "(!<ps>)" & "(!5 3.3 2 exp)" & Raw PostScript.\\
- "(<coor1>|<coor2>)" & "(A|1in;30)" & Combination.\\
- \hline\hline
- \emph{Angle} & \emph{Example} & \emph{Description} \\[2pt]
- "<num>" & "45" & Angle.\\
- "(<coor>)" & "(-1,1)" & Coordinate (vector).\\
- "!<ps>" & "!33 sqrt" & Raw PostScript.\\
- \hline
- \end{tabular}}%
-\addtoquickref{center}{%
- {\large\textbf{Special coordinates and angles}}\par
- \leavevmode\box\specialbox}
-
-The command
- \Mac \NormalCoor
-disables the \n\SpecialCoor{} features.
-
-\Section{Overlays\label{S-overlays}}
-
-Overlays are mainly of interest for making slides, and the overlay macros
-described in this section are mainly of interest to \TeX{} macro writers who
-want to implement overlays in a slide macro package. For example, the
-"seminar.sty" package, a \LaTeX{} style for notes and slides, uses PSTricks to
-implement overlays.
-
-Overlays are made by creating an "\hbox" and then outputting the box several
-times, printing different material in the box each time. The box is created by
-the commands
- \Mac \overlaybox < stuff >\Main\endoverlaybox
-\LaTeX{} users can instead write:
-\begin{LVerb*}
- \begin{overlaybox} <stuff> \end{overlaybox}
-\end{LVerb*}
-
-The material for overlay <string> should go within the scope of the command
- \Mac \psoverlay{string}
-<string> can be any string, after expansion. Anything not in the scope of any
-\n\psoverlay{} command goes on overlay "main", and material within the scope of
-{\UsageFont "\psoverlay{all}"} goes on all the overlays. \n\psoverlay\
-commands can be nested and can be used in math mode.
-
-The command
- \Mac \putoverlaybox{string}
-then prints overlay <string>.
-
-Here is an example:
-\begin{example}
- \overlaybox
- \psoverlay{all}
- \psframebox[framearc=.15,linewidth=1.5pt]{%
- \psoverlay{main}
- \parbox{3.5cm}{\raggedright
- Foam Cups Damage Environment {\psoverlay{one} Less than
- Paper Cups,} Study Says.}}
- \endoverlaybox
-
- \putoverlaybox{main} \hspace{.5in} \putoverlaybox{one}
-\end{example}
-
-\begin{drivers} Overlays use \n\pstVerb{} and \n\pstverbscale.\end{drivers}
-
-\section{The gradient fill style}
-
-\File{pst-grad}
-The file "pst-grad.tex"/"pst-grad.sty", along with the PostScript header file
-"pst-grad.pro", defines the "gradient" \p{fillstyle}, for gradiated shading.
-This \p{fillstyle} uses the following parameters:
-\begin{description}
- \pitem[gradbegin=color] The starting and ending color.
- \pitem[gradend=color] The color at the midpoint.
- \pitem[gradlines=int] The number of lines. More lines means finer
-gradiation, but slower printing.
- \pitem[gradmidpoint=num] The position of the midpoint, as a fraction of the
-distance from top to bottom. <num> should be between 0 and 1.
- \pitem[gradangle=angle] The image is rotated by <angle>.
-\end{description}
-
-\p{gradbegin} and \p{gradend} should preferably be "rgb" colors, but grays and
-"cmyk" colors should also work. The definitions of the colors "gradbegin" and
-"gradend" are:
-\begin{LVerb}
- \newrgbcolor{gradbegin}{0 .1 .95}
- \newrgbcolor{gradend}{0 1 1}
-\end{LVerb}
-Here are two ways to change the gradient colors:
-\begin{LVerb}
- \newrgbcolor{gradbegin}{1 .4 0}
-\end{LVerb}
-and
-\begin{LVerb}
- \psset{gradbegin=blue}
-\end{LVerb}
-
-Try this example:
-\begin{LVerb}
- \psframe[fillstyle=gradient,gradangle=45](10,-20)
-\end{LVerb}
-
-% D.G. modification begin - Mar. 7, 2003
-%\section{Adding color to tables\label{S-colortab}}
-
-%\File{colortab}
-%The file "colortab.tex"/"colortab.sty" contains macros that, when used with
-%color commands such as those in PSTricks, let you color the cells and lines in
-%tables. See "colortab.doc" for more information.
-% D.G. modification end
-
-\Section{Typesetting text along a path}
-
-\File{pst-text}
-The file "pst-text.tex"/"pst-text.sty" defines the command \n\pstextpath, for
-typesetting text along a path. It is a remarkable trick, but there are some
-caveats:
-
-\begin{itemize}\label{tp-res}
- \item "pst-text.tex" only works with certain DVI-to-PS drivers. Here is what
-is currently known:
-\begin{itemize}
- \item It works with Rokicki's "dvips".
- \item ``Does not work'' means that it has no effect, for better or for worse.
- \item This may work with other drivers. The requirement is that the driver
- only use PostScript's "show" operator, unbound and unloaded, to show
- characters.
-\end{itemize}
-
- \item You must also have installed the PostScript header file "pst-text.pro",
- and \n\pstheader{} must be properly defined in "pstricks.con" for your
- driver.
-
- \item Like other PSTricks that involve rotating text, this works best with
- PostScript (outline) fonts.
-
- \item PostScript rendering with "pst-text.tex" is slow.
-\end{itemize}
-
-Because of all this, no samples are shown here. However, there is a test file
-"tp-test.tex" and PostScript output "tp-test.ps" that are distributed with
-PSTricks.
-
-Here is the command:
- \Mac \pstextpath`[pos](x,y)'{graphics object}{text}
-
-<text> is placed along the path, from beginning to end, defined by the
-PSTricks graphics object. (This object otherwise behaves normally. Set
-\p{linestyle=none} if you don't want it to appear.)
-
-<text> can only contain characters. No TeX{} rules, no PSTricks, and no other
-"\special"'s. (These things don't cause errors; they just don't work right.)
-Math mode is OK, but math operators that are built from several characters
-(e.g., large integral signs) may break. Entire boxes (e.g., "\parbox") are OK
-too, but this is mainly for amusement.
-
-<pos> is either
-\begin{center}
- \begin{tabular}{cl}
- l & justify on beginning of path\\
- c & center on path\\
- r & justify on end of path.
- \end{tabular}
-\end{center}
-The default is "l".
-
-"(<x>,<y>)" is an offset. Characters are shifted distance <x> along path, and
-are shifted up by <y>. ``Up'' means with respect to the path, at whatever
-point on the path corresponding to the middle of the character. "(<x>,<y>)"
-must be Cartesian coordinates. Both coordinates use \n\psunit{} as the default.
-The default coordinate is "(0,\TPoffset)", where \n\TPoffset{} a command whose
-default value is "-.7ex". This value leads to good spacing of the characters.
-Remember that "ex" units are for the font in effect when \n\pstextpath{}
-occurs, not inside the <text> argument.
-
-More things you might want to know:
-\begin{itemize}
- \item Like with "\rput" and the graphics objects, it is up to you to leave
-space for "\pstextpath".
- \item Results are unpredictable if <text> is wider than length of path.
- \item "\pstextpath" leaves the typesetting to \TeX. It just intercepts the
-"show" operator to remap the coordinate system.
-\end{itemize}
-
-\Section{Stroking and filling character paths}
-
-\File{pst-char}
-The file "pst-char.tex"/"pst-char.sty" defines the command:
- \Mac \pscharpath`*[par]'{text}
-It strokes and fills the <text> character paths using the PSTricks
-\p{linestyle} and \p{fillstyle}.
-
-The restrictions on DVI-to-PS drivers listed on page \pageref{tp-res} for
-"\pstextpath" apply to "\pscharpath". Furthermore, only outline (PostScript)
-fonts are affected.
-
-Sample input and output files "chartest.tex" and "chartest.ps" are distributed
-with PSTricks.
-
-With the optional "*", the character path is not removed from the PostScript
-environment at the end. This is mainly for special hacks. For example, you can
-use "\pscharpath*" in the first argument of "\pstextpath", and thus typeset
-text along the character path of some other text. See the sample file
-"denis1.tex". (However, you cannot combine "\pscharpath" and "\pstextpath" in
-any other way. E.g., you cannot typeset character outlines along a path, and
-then fill and stroke the outlines with "\pscharpath".)
-
-The command
- \Mac \pscharclip`*[par]'{text} ... \Main \endpscharclip
-works just like \n\pscharpath, but it also sets the clipping path to the
-character path. You may want to position this clipping path using \n\rput{}
-\emph{inside} \n\pscharclip's argument. Like \n\psclip{} and \n\endpsclip,
-\n\pscharclip{} and \n\endpscharclip{} should come on the same page and should
-be properly nested with respect to \TeX{} groups (unless \n\AltClipMode{} is
-in effect). The file "denis2.tex" contains a sample of \n\pscharclip.
-
-
-\section{Importing EPS files}
-
-PSTricks does not come with any facility for including Encapsulated PostScript
-files, because there are other very good and well-tested macros for exactly
-that, specially the "graphicx" package for \LaTeX, usable also with \TeX.
-
-What PSTricks \emph{is} good for is embellishing your EPS picture. You can
-include an EPS file in in the argument of \n\rput, as in
-\begin{LVerb}
- \rput(3,3){\epsfbox{myfile.eps}}
-\end{LVerb}
-and hence you can include an EPS file in the \n\pspicture{} environment. Turn
-on \n\psgrid, and you can find the coordinates for whatever graphics or text
-you want to add. This works even when the picture has a weird bounding box,
-because with the arguments to \n\pspicture{} you control the bounding box from
-\TeX's point of view.
-
-This isn't always the best way to work with an EPS file, however. If the
-PostScript file's bounding box is the size you want the resulting picture to
-be, after your additions, then try
-\begin{LVerb*}
- \hbox{<picture objects> \includegraphics{<file.eps>}
-\end{LVerb*}
-This will put all your picture objects at the lower left corner of the EPS
-file.
-
-If you need to determine the bounding box of an EPS file, then you can try of
-the automatic bounding box calculating programs, such as "bbfig" (distributed
-with Rokicki's "dvips"). However, all such programs are easily fooled; the
-only sure way to determine the bounding box is visually. \n\psgrid{} is a good
-tool for this.
-
-\Section{Exporting EPS files}
-
-\File{pst-eps}
-You must load "pst-eps.tex" or "pst-eps.sty" to use the PSTricks macros
-described in this section.
-
-If you want to export an EPS file that contains both graphics and text, then
-you need to be using a DVI-to-PS driver that suports such a feature. If you
-just want to export pure graphics, then you can use the \n\PSTricksEPS{}
-command. Both of these options are described in this section.
-
-Newer versions of Rokicki's "dvips" support an "-E" option for creating EPS
-files from \TeX{} ".dvi" files. E.g.,
-\[
- dvips foo.dvi -E -o foo.eps
-\]
-Your document should be a single page. "dvips" will find a tight bounding box
-that just encloses the printed characters on the page. This works best with
-outline (PostScript) fonts, so that the EPS file is scalable and resolution
-independent.
-
-There are two inconvenient aspects of this method. You may want a different
-bounding box than the one calculated by "dvips" (in particular, "dvips"
-ignores all the PostScript generated by PSTricks when calculating the bounding
-box), and you may have to go out of your way to turn off any headers and
-footers that would be added by output routines.
-
-PSTricks contains an environment that tries to get around these two problems:
-\begin{Ex}
- \object \TeXtoEPS
- " "<stuff>\\
- \object \endTeXtoEPS
-\end{Ex}
-This is all that should appear in your document, but headers and whatever that
-would normally be added by output routines are ignored. "dvips" will again try
-to find a tight bounding box, but it will treat <stuff> as if there was a
-frame around it. Thus, the bounding box will be sure to include <stuff>, but
-might be larger if there is output outside the boundaries of this box. If the
-bounding box still isn't right, then you will have to edit the
-\begin{LVerb*}
- %%BoundingBox <llx lly urx ury>
-\end{LVerb*}
-specification in the EPS file by hand.
-
-If your goal is to make an EPS file for inclusion in other documents, then
-"dvips -E" is the way to go. However, it can also be useful to generate an EPS
-file from PSTricks graphics objects and include it in the same document,%
-\footnote{See the preceding section on importing EPS files.}
-rather than just including the PSTricks graphics directly, because \TeX{} gets
-involved with processing the PSTricks graphics only when the EPS file is
-initially created or updated. Hence, you can edit your file and preview the
-graphics, without having to process all the PSTricks graphics each time you
-correct a typo. This speed-up can be significant with complex graphics such as
-"\pslistplot"'s with a lot of data.
-
-To create an EPS file from PSTricks graphics objects, use
- \Mac \PSTtoEPS`[par]'{file}{graphics objects}
-The file is created immediately, and hence you can include it in the same
-document (after the \n\PSTtoEPS{} command) and as many times as you want.
-Unlike with "dvips -E", only pure graphics objects are processed (e.g.,
-"\rput" commands have no effect).
-
-\n\PSTtoEPS{} cannot calculate the bounding box of the EPS file. You have to
-specify it yourself, by setting the following parameters:
-\begin{Ex}
- \Par{bbllx=dim}
- \Par{bblly=dim}
- \Par{bburx=dim}
- \Par{bbury=dim}
-\end{Ex}
-Note that if the EPS file is only to be included in a PSTricks picture with
-\n\rput\, you might as well leave the default bounding box.
-
-\n\PSTricksEPS{} also uses the following parameters:
-\begin{description}
- \pitem[makeeps=none/new/all/all*]
- This parameter determines which \n\PSTtoEPS\ commands just skip over their arguments, and which create files, as follows:
- \begin{description}
- \vitem"none" No files are created.
- \vitem"new" Only those files not found {\em anywhere on the system\/} are created.
- \vitem"all" All files are created.
- \vitem"all*" All files are created, but you are asked for approval before existing files are deleted.
- \end{description}
-
- \pitem[headerfile=files]
- This parameter is for specifying PostScript header files that are to be
-included in the EPS file. The argument should contain one or more file names,
-separated by commas. If you have more than one file, however, the entire list
-must be enclosed in braces "{}".
-
- \pitem[headers=none/all/user]
- When "none", no header files are included. When "all", the header files used
-by PSTricks plus the header files specified by the \p{headerfile} parameter
-are included. When "user", only the header files specified by the
-\p{headerfile} parameter are included. If the EPS file is to be included in a
-\TeX{} document that uses the same PSTricks macros and hence loads the relevant
-PSTricks header files anyway (in particular, if the EPS file is to be included
-in the same document), then \p{headers} should be "none" or "user".
-\end{description}
-
-\endinput
-%% END psd-spec.tex