summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-coil/pst-coil-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-coil/pst-coil-doc.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pst-coil/pst-coil-doc.tex452
1 files changed, 452 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-coil/pst-coil-doc.tex b/Master/texmf-dist/doc/generic/pst-coil/pst-coil-doc.tex
new file mode 100644
index 00000000000..d32006bf87e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-coil/pst-coil-doc.tex
@@ -0,0 +1,452 @@
+\documentclass[english]{article}
+%
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+\listfiles
+\usepackage[scaled]{luximono}
+\usepackage{lmodern}
+\usepackage{xspace}
+\usepackage[bottom]{footmisc}
+\usepackage{tabularx}
+\usepackage{longtable}
+\usepackage[NewCommands,NewParameters]{ragged2e}
+\usepackage[dvipsnames]{pstricks}
+\usepackage{pst-node}% muss _nach_ pst-grad geladen werden
+\usepackage{pst-coil}
+\definecolor{hellgelb}{rgb}{1,1,0.8}
+%
+\def\PST{{\texttt{PSTricks}}\xspace}
+\def\PDF{{\texttt{PDF}}\xspace}
+\def\pst{{\texttt{pstricks}}\xspace}
+\def\PS{PostScript\xspace}
+\newcommand*\CMD[1]{{\UrlFont\texttt{\textbackslash #1}}}
+%
+\def\tIndex#1{\index{#1@{\UrlFont\texttt{#1}}}}
+\def\cIndex#1{\index{#1@\CMD{#1}}}
+\def\pIndex#1{\index{Parameter@\textbf{Parameter}!{\UrlFont\texttt{#1}}}}
+\def\ppIndex#1{\index{Parameter@\textbf{Parameter}!{#1}}}
+\def\sIndex#1{\index{Syntax@\textbf{Syntax}!\CMD{#1}}}
+\def\csIndex#1{\sIndex{#1}\cIndex{#1}}
+\def\PIndex#1{\index{Paket@\textbf{Paket}!\texttt{#1}}}
+\def\mIndex#1{\texttt{#1}\tIndex{#1}\pIndex{#1}}
+%
+\pretolerance=500
+\tolerance=1000
+\hbadness=3000
+\vbadness=3000
+\hyphenpenalty=400
+
+\usepackage{showexpl}% not a real PSTricks package
+\usepackage{babel}
+\usepackage{makeidx}
+\makeindex
+\usepackage[dvips,colorlinks,linktocpage]{hyperref} % PDF-support
+%
+\renewcommand{\ttdefault}{ul9}% Luxi Mono
+\lstset{keywordstyle=\small\fontfamily{ul9}\bfseries}
+\lstset{language=PSTricks,moredelim=**[is][\bf\color{blue}]{§}{§}}% oder andere Begrenzer
+%
+
+\begin{document}
+%
+\title{\texttt{pst-coil}:\newline Coils, springs and zigzag lines}
+\author{Herbert Voß\thanks{Thanks to Eugene Ressler for translating this documentation!}}
+\maketitle
+
+\begin{abstract}
+\index{Paket@\textbf{Paket}!\texttt{pst-coil}}Coils, springs and zigzag curves
+do not really count to the ordinary when creating graphics. They are of some
+importance though when dealing with the creation of coilish connections. They
+can also be used for node connections which will be shown
+at the end of this chapter.
+
+The parameters especially for the \verb+coil+ variants are only easy to
+understand when keeping in mind that three dimensional helixes are dealt with,
+which are only projected onto the two dimensional paper plane. This will be
+elaborated on at the corresponding places.
+\end{abstract}
+
+\tableofcontents
+
+\clearpage
+% ---------------------------------------------------------------------------------------
+\section{Parameters}\label{sec:pstcoil:parameter}
+% ---------------------------------------------------------------------------------------
+Table~\ref{tab:pst-coil:parameter} shows a compilation of the special parameters
+valid for \verb+pst-coil+.
+
+\begin{longtable}{@{}>{\ttfamily}l>{\ttfamily}l>{\ttfamily}l@{}}
+\caption{Compilation of all parameters for \texttt{pst-coil}}\label{tab:pst-coil:parameter}\\[-5pt]
+\textrm{name} & \textrm{value} & \textrm{default}\\\hline
+\endfirsthead
+\textrm{name} & \textrm{value} & \textrm{default}\\\hline
+\endhead
+coilwidth & <value[unit]> & 1cm\\
+coilheight & <value> & 1\\
+coilarm & <value[unit]> & 0.5cm\\
+coilarmA & <value[unit]> & 0.5cm\\
+coilarmB & <value[unit]> & 0.5cm\\
+coilaspect & <angle> & 45\\
+coilinc & <angle> & 45\\
+\end{longtable}
+\tIndex{coilwidth}\tIndex{coilheight}\tIndex{coilarm}\tIndex{coilaspect}\tIndex{coilinc}%
+\pIndex{coilwidth}\pIndex{coilheight}\pIndex{coilarm}\pIndex{coilaspect}\pIndex{coilinc}%
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{coilwidth}}\label{subsec:pstcoil:coilwidth}
+% ---------------------------------------------------------------------------------------
+\tIndex{coilwidth}\verb+coilwidth+ denotes the diameter\index{diameter} of the
+coil resp. the height of a zigzag line\index{zigzag line}\index{coil}. The
+diameter corresponds to the height with a perpendicular parallel projection
+transverse to the length.
+
+\medskip\noindent
+\begin{minipage}{5cm}
+\begin{pspicture}(0,-5)(5,5)
+\pscoil(0,4)(3.5,4)
+{
+\psset{linewidth=0.2pt}
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(4.5,3.5)(4.5,4.5)
+\psline[linestyle=dashed](3.25,4.5)(4.5,4.5)
+\psline[linestyle=dashed](2.75,3.5)(4.5,3.5)
+}
+\uput*[0](3.5,4){coilwidth}
+\pscoil[coilwidth=0.75cm](0,2.6)(3.6,2.6)
+\uput*[0](3.5,2.6){0.75cm}
+\pscoil[coilwidth=0.5cm](0,1.8)(3.5,1.8)
+\uput*[0](3.5,1.8){0.50cm}
+\pscoil[coilwidth=0.25cm](0,1.2)(3.5,1.2)
+\uput*[0](3.5,1.2){0.25cm}
+\pscoil*[coilwidth=0.5cm](0,0.5)(3.5,0.5)
+\uput*[0](3.5,0.5){0.50cm}
+% zigzag
+\pszigzag(0,-4)(3.5,-4)
+{
+\psset{linewidth=0.2pt}
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(4.5,-3.5)(4.5,-4.5)
+\psline[linestyle=dashed](3.25,-4.5)(4.5,-4.5)
+\psline[linestyle=dashed](2.75,-3.5)(4.5,-3.5)
+}
+\uput*[0](3.5,-4){coilwidth}
+\pszigzag[coilwidth=0.75cm](0,-2.6)(3.6,-2.6)
+\uput*[0](3.5,-2.6){0.75cm}
+\pszigzag[coilwidth=0.5cm](0,-1.8)(3.5,-1.8)
+\uput*[0](3.5,-1.8){0.50cm}
+\pszigzag[coilwidth=0.25cm](0,-1.2)(3.5,-1.2)
+\uput*[0](3.5,-1.2){0.25cm}
+\pszigzag*[coilwidth=0.5cm](0,-0.5)(3.5,-0.5)
+\uput*[0](3.5,-0.5){0.50cm}
+\end{pspicture}
+\end{minipage}\hfill%
+\begin{minipage}{\linewidth-5cm-1em}
+\begin{lstlisting}
+\begin{pspicture}(0,-5)(5,5)
+\pscoil(0,4)(3.5,4)
+{\psset{linewidth=0.2pt}
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(4.5,3.5)(4.5,4.5)
+\psline[linestyle=dashed](3.25,4.5)(4.5,4.5)
+\psline[linestyle=dashed](2.75,3.5)(4.5,3.5)}
+\uput*[0](3.5,4){coilwidth}
+\pscoil[coilwidth=0.75cm](0,2.6)(3.6,2.6)
+\uput*[0](3.5,2.6){0.75cm}
+\pscoil[coilwidth=0.5cm](0,1.8)(3.5,1.8)
+\uput*[0](3.5,1.8){0.50cm}
+\pscoil[coilwidth=0.25cm](0,1.2)(3.5,1.2)
+\uput*[0](3.5,1.2){0.25cm}
+\pscoil*[coilwidth=0.5cm](0,0.5)(3.5,0.5)
+\uput*[0](3.5,0.5){0.50cm}
+% zigzag
+\pszigzag(0,-4)(3.5,-4)
+
+[ ... ]
+\end{lstlisting}
+\end{minipage}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{coilheight}}\label{subsec:pstcoil:coilheight}
+% ---------------------------------------------------------------------------------------
+\tIndex{coilheight}\verb+coilheight+ is in contrast to \verb+coilwidth+ no
+length but only a factor, whereat the distance between two
+windings\index{winding} resp. jags is composed as follows:
+\begin{equation}dx = coilheight\cdot coilwidth \end{equation}
+
+As can be seen in the following example, not the same physical distance is
+yielded. This is caused by the internal three dimensional
+representation\index{three dimensional representation} of the coil; it is not
+seen under an angle of $90$° but $45$°. (section~\ref{subsec:pstcoil:coilaspect})
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(0,-4)(5,5)
+\pscoil(0,4)(3.5,4)
+{\psset{linewidth=0.2pt}
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(4.5,3.5)(4.5,4.5)
+\psline[linestyle=dashed](3.25,4.5)(4.5,4.5)
+\psline[linestyle=dashed](2.75,3.5)(4.5,3.5)
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(1.75,3.2)(2.5,3.2)
+\uput[-90](2.15,3){\footnotesize\texttt{coilheight$\times$coilwidth}}}
+\uput*[0](3.5,4){coilwidth}
+\pscoil[coilheight=0.75](0,1.5)(3.6,1.5)
+\uput*[0](3.5,1.5){0.75}
+\pscoil[coilheight=0.5](0,0)(3.5,0)
+\uput*[0](3.5,0){0.50}
+\pscoil[coilheight=1.25](0,-1.5)(3.5,-1.5)
+\uput*[0](3.5,-1.5){1.25}
+\pscoil*[coilheight=0.5](0,-3)(3.5,-3)
+\uput*[0](3.5,-3){0.50}
+\end{pspicture}
+\end{LTXexample}
+
+
+\medskip\noindent
+\begin{LTXexample}[width=5cm]
+\begin{pspicture}(0,-4)(5,5)
+\pszigzag(0,4)(3.5,4)
+{ \psset{linewidth=0.2pt}
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(4.5,3.5)(4.5,4.5)
+\psline[linestyle=dashed](2.5,4.5)(4.5,4.5)
+\psline[linestyle=dashed](2.75,3.5)(4.5,3.5)
+\psline[arrowscale=2,tbarsize=3mm]{|<->|}(1.75,3.2)(2.75,3.2)
+\uput[-90](2.15,3){\footnotesize\texttt{coilheight$\times$coilwidth}} }
+\uput*[0](3.5,4){coilwidth}
+\pszigzag[coilheight=0.75](0,1.5)(3.6,1.5)
+\uput*[0](3.5,1.5){0.75}
+\pszigzag[coilheight=0.5](0,0)(3.5,0)
+\uput*[0](3.5,0){0.50}
+\pszigzag[coilheight=1.25](0,-1.5)(3.5,-1.5)
+\uput*[0](3.5,-1.5){1.25}
+\pszigzag*[coilheight=0.5](0,-3)(3.5,-3)
+\uput*[0](3.5,-3){0.50}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{coilarm}, \texttt{coilarmA} and \texttt{coilarmB}}\label{subsec:pstcoil:coilarm}
+% ---------------------------------------------------------------------------------------
+\tIndex{coilarm}\tIndex{coilarmA}\tIndex{coilarmB}\verb+coilarm+ denotes the
+part of a straight line made left and right. Negative values are possible, but
+do not make a lot of sense as a rule. As can be gathered from the example, the
+coil is lenghtened by a negative value in this case, so that the part of a
+straight line is led back to the specified starting point resp. endpoint and
+consequently has a negative ``direction''{}. This parameter is not available for
+\CMD{psCoil}.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4.5)
+\pscoil(0,4)(4,4)
+\psset{coilwidth=0.5}
+\pscoil[coilarm=0](0,3)(4,3)
+\pscoil[coilarmA=1cm,coilarmB=0.2cm](0,2)(4,2)
+\pscoil[coilarm=-10pt](0,1)(4,1)
+\end{pspicture}
+\end{LTXexample}
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4.5)
+\pszigzag(0,4)(4,4)
+\psset{coilwidth=0.5}
+\pszigzag[coilarm=0](0,3)(4,3)
+\pszigzag[coilarmA=1cm,coilarmB=0.2cm](0,2)(4,2)
+\pszigzag[coilarm=-10pt](0,1)(4,1)
+\end{pspicture}
+\end{LTXexample}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{coilaspect}}\label{subsec:pstcoil:coilaspect}
+% ---------------------------------------------------------------------------------------
+\tIndex{coilaspect}In section~\ref{subsec:pstcoil:coilheight} the three
+dimensional representation of the coil has been pointed out already. If it was
+regarded right-angled to its axis, the windings would not be recognizable. With
+\verb+coilaspect+ this ``perspective''{} can be influenced, which is only
+possible for the ``coil''{} variants of course. \verb+coilaspect=0+ yields a
+sine curve.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4.5)
+\pscoil(0,4)(4,4)
+\psset{coilwidth=0.75}
+\pscoil[coilaspect=0](0,3)(4,3)
+\pscoil[coilaspect=30,coilheight=0.3](0,2)(4,2)
+\pscoil[coilaspect=-30,coilheight=0.3](0,1)(4,1)
+\end{pspicture}
+\end{LTXexample}
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\texttt{coilinc}}\label{subsec:pstcoil:coilinc}
+% ---------------------------------------------------------------------------------------
+\tIndex{coilinc}The curve is drawn with the \verb+lineto+ procedure of \PS,
+whereat \verb+coilinc+ specifies the rotation angle in the angular measure at
+which the next point is calculated. It has already been mentioned that the
+calculation is done as a three dimensional coil and is projected onto the two
+dimensional plane only in the end.
+
+\verb+coilinc+ does also not make sense for zigzag lines, so that this parameter
+again only is available for the \verb+coil+ variant. Large angles result in a
+polygon line, small angles in harmonic progressions with increased calculation
+effort.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4.5)
+\psset{coilwidth=0.8}
+\pscoil(0,4)(4,4)
+\psset{coilinc=0}
+\pscoil[coilinc=5](0,3)(4,3)
+\pscoil[coilinc=30](0,2)(4,2)
+\pscoil[coilinc=60](0,1)(4,1)
+\end{pspicture}
+\end{LTXexample}
+
+
+% ---------------------------------------------------------------------------------------
+\section{Makros}\label{sec:pstcoil:makros}
+% ---------------------------------------------------------------------------------------
+\verb+pst-coil+ defines three macros, which make the creation of coil or zigzag
+shaped lines possible.\index{zigzag line}
+\begin{verbatim}
+\pscoil[<parameters>](<x1,y1>)
+\pscoil[<parameters>](<x0,y0>)(<x1,y1>)
+\pscoil[<parameters>]{<arrows>}(<x0,y0>)(<x1,y1>)
+\pscoil*[<parameters>](<x1,y1>)
+\pscoil*[<parameters>](<x0,y0>)(<x1,y1>)
+\pscoil*[<parameters>]{<arrows>}(<x0,y0>)(<x1,y1>)
+\psCoil[<parameters>]{<angle1>}{<angle2>}
+\psCoil*[<parameters>]{<angle1>}{<angle2>}
+\pszigzag[<parameters>](<x1,y1>)
+\pszigzag[<parameters>](<x0,y0>)(<x1,y1>)
+\pszigzag[<parameters>]{<arrows>}(<x0,y0>)(<x1,y1>)
+\pszigzag*[<parameters>](<x1,y1>)
+\pszigzag*[<parameters>](<x0,y0>)(<x1,y1>)
+\pszigzag*[<parameters>]{<arrows>}(<x0,y0>)(<x1,y1>)
+\end{verbatim}
+\csIndex{pscoil}\csIndex{psCoil}\csIndex{pszigzag}
+
+\begin{itemize}
+\item If only one coordinate pair is specified, the first point is automatically
+ set to the origin of ordinates $(0,0)$.
+\item Arrows may be set with the own parameter or with the optional parameter
+ with \verb+arrows=<arrows>+.
+\item For \verb+psCoil+ the coils are principally drawn without ``arms''{}.
+\end{itemize}
+
+
+The asterisk version are in principle pointless, since they do not allow a
+meaningful representation. Some could be seen with the description of
+parameters, but will not be described further in the following.
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\CMD{pscoil}}\label{subsec:pstcoil:pscoil}
+% ---------------------------------------------------------------------------------------
+Since \verb+pscoil+ is nothing but a polygon line, also all parameters are
+available which aplly for lines.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4)
+\pscoil[coilarm=.5cm,linewidth=1.5pt,coilwidth=.5cm]{|->}(4,3)
+\pscoil[linecolor=red,coilheight=0.25](3,4)(3,1)
+\pscoil[doubleline=true,linecolor=cyan,coilheight=0.75](0,4)(3,0)
+\end{pspicture}
+\end{LTXexample}
+
+% ---------------------------------------------------------------------------------------
+\subsection{\CMD{psCoil}}\label{subsec:pstcoil:psCoil}
+% ---------------------------------------------------------------------------------------
+\verb+\psCoil+ draws starting at the current point to the angle $\alpha$ an
+invisible line and then from $\alpha$ to $\beta$ a helix.
+\verb+\rput+\cIndex{rput} has to be used if they are to be placed at a
+particular position. The advantage is that with \verb+psCoil+ the number of
+helixes to draw can be specified exactly.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4)
+\psCoil[linewidth=1.5pt,coilwidth=.5cm]{1800}{3600}
+\rput{-90}(3,4){\psCoil[linecolor=red,coilheight=0.25]{0}{3600}}
+\rput{-45}(0,3.5){\psCoil[doubleline=true,linecolor=cyan,coilheight=0.75]{100}{2700}}
+\end{pspicture}
+\end{LTXexample}
+
+
+
+% ---------------------------------------------------------------------------------------
+\subsection{\CMD{pszigzag}}\label{subsec:pstcoil:zigzag}
+% ---------------------------------------------------------------------------------------
+\cIndex{pszigzag}This macro represents the two dimensional variant and is
+correspondly easy to use. Especially the \verb+linearc+ option can bring good
+results for \verb+\pszigzag+. The specification of the ``arm length''{} is not
+absolute here, since the line is principally ended in the geometrical middle and
+then led to the specified arm length.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,4)
+\pszigzag[coilarm=.5cm,linewidth=1.5pt,coilwidth=.5cm]{|->}(4,3)
+\pszigzag[linecolor=red,coilheight=0.2](3,4)(3,1)
+\pszigzag[doubleline=true,linecolor=cyan,coilheight=0.75](0,4)(3,0)
+\end{pspicture}
+\end{LTXexample}
+
+
+% ---------------------------------------------------------------------------------------
+\section{Node connections}\label{sec:pstcoil:knotenverbindungen}
+% ---------------------------------------------------------------------------------------
+Prerequisite for this macro is that \verb+pst-node+\tIndex{pst-node}
+is loaded, then the following node connections are
+available:
+%
+\begin{verbatim}
+\nccoil[<parameters>]{<nodeA>}{<nodeB>}
+\nccoil[<parameters>]{<arrows>}{<nodeA>}{<nodeB>}
+\nccoil*[<parameters>]{<nodeA>}{<nodeB>}
+\nccoil*[<parameters>]{<arrows>}{<nodeA>}{<nodeB>}
+\nczigzag[<parameters>]{<nodeA>}{<nodeB>}
+\nczigzag[<parameters>]{<arrows>}{<nodeA>}{<nodeB>}
+\nczigzag*[<parameters>]{<nodeA>}{<nodeB>}
+\nczigzag*[<parameters>]{<arrows>}{<nodeA>}{<nodeB>}
+\pccoil[<parameters>](<nodeA>)(<nodeB>)
+\pccoil[<parameters>]{<arrows>}(<nodeA>)(<nodeB>)
+\pccoil*[<parameters>](<nodeA>)(<nodeB>)
+\pccoil*[<parameters>]{<arrows>}(<nodeA>)(<nodeB>)
+\pczigzag[<parameters>](<nodeA>)(<nodeB>)
+\pczigzag[<parameters>]{<arrows>}(<nodeA>)(<nodeB>)
+\pczigzag*[<parameters>](<nodeA>)(<nodeB>)
+\pczigzag*[<parameters>]{<arrows>}(<nodeA>)(<nodeB>)
+\end{verbatim}
+
+These connections behave completely analogue to those dealt with the
+package \verb+pst-node+ so that
+no further explanations are needed here.
+
+\medskip\noindent
+\begin{LTXexample}[width=4cm]
+\begin{pspicture}(4,3)
+\cnode(0.5,0.5){0.5}{A}
+\cnode[fillstyle=solid,fillcolor=lightgray](3.5,2.5){0.5}{B}
+\nccoil[coilwidth=0.4,coilaspect=35,coilheight=0.5]{<->}{A}{B}
+\end{pspicture}
+\end{LTXexample}
+
+
+\nocite{*}
+\bgroup
+\raggedright
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\printindex
+
+
+\end{document}