texlive[41977] Master/texmf-dist: pstricks-add (2sep16)
commits+karl at tug.org
commits+karl at tug.org
Sat Sep 3 03:23:21 CEST 2016
Revision: 41977
http://tug.org/svn/texlive?view=revision&revision=41977
Author: karl
Date: 2016-09-03 03:23:21 +0200 (Sat, 03 Sep 2016)
Log Message:
-----------
pstricks-add (2sep16)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/generic/pstricks-add/Changes
trunk/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf
trunk/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex
trunk/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
Modified: trunk/Master/texmf-dist/doc/generic/pstricks-add/Changes
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks-add/Changes 2016-09-03 01:23:02 UTC (rev 41976)
+++ trunk/Master/texmf-dist/doc/generic/pstricks-add/Changes 2016-09-03 01:23:21 UTC (rev 41977)
@@ -1,4 +1,4 @@
-%% $Id: Changes 315 2016-08-08 15:20:00Z herbert $
+%% $Id: Changes 331 2016-09-01 19:16:02Z herbert $
%%
pstricks-add.pro -----------
0.23 2009-12-17 - add RGBtoGRAY and WavelengthToGRAY
@@ -39,6 +39,7 @@
pstricks-add.tex ----------- (hv)
+ v 3.82 2016-09-01 - moved arrow macros to new package pst-arrow
v 3.81 2016-08-08 - added \psOlympicRings
v 3.80 2016-04-25 - moved node definitions into pst-node
v 3.79 2016-02-09 - added optional argument randInit to intialize
Modified: trunk/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex 2016-09-03 01:23:02 UTC (rev 41976)
+++ trunk/Master/texmf-dist/doc/generic/pstricks-add/pstricks-add-doc.tex 2016-09-03 01:23:21 UTC (rev 41977)
@@ -1,8 +1,9 @@
-%% $Id: pstricks-add-doc.tex 318 2016-08-08 16:54:19Z herbert $
+%% $Id: pstricks-add-doc.tex 327 2016-09-01 18:59:35Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings,
headexclude,footexclude,oneside]{pst-doc}
\listfiles
+\addbibresource{pstricks-add-doc.bib}
\makeatletter
%\RequirePackage{ltxcmds}[2010/01/28]
%\@ifpackagelater{ltxcmds}{2010/03/09}{}{%
@@ -3904,805 +3905,8 @@
-\clearpage
-%--------------------------------------------------------------------------------------
-\section{Arrows}
-%--------------------------------------------------------------------------------------
-\subsection{Definition}
-%--------------------------------------------------------------------------------------
-\LPack{pstricks-add} defines the following "`arrows"':
-\begin{center}
- \bgroup
- \def\myline#1{\psline[linecolor=red,linewidth=0.5pt,arrowscale=1.5]{#1}(0,1ex)(1.3,1ex)}%
- \psset{arrowscale=1.5}
- \begin{tabular}{@{} c @{\qquad} p{3cm} l @{}}%
- Value & Example & Name \\[2pt]\hline
- \Lnotation{-} & \myline{-} & None\\
- \Lnotation{<->} & \myline{<->} & Arrowheads.\\
- \Lnotation{>-<} & \myline{>-<} & Reverse arrowheads.\\
- \Lnotation{<{<}-{>}>} & \myline{<<->>} & Double arrowheads.\\
- \Lnotation{{>}>-{<}<} & \myline{>>-<<} & Double reverse arrowheads.\\
- \Lnotation{{|}-{|}} & \myline{|-|} & T-bars, flush to endpoints.\\
- \Lnotation{{|}*-{|}*} & \myline{|*-|*} & T-bars, centered on endpoints.\\
- \Lnotation{[-]} & \myline{[-]} & Square brackets.\\
- \Lnotation{]-[} & \myline{]-[} & Reversed square brackets.\\
- \Lnotation{(-)} & \myline{(-)} & Rounded brackets.\\
- \Lnotation{)-(} & \myline{)-(} & Reversed rounded brackets.\\
- \Lnotation{o-o} & \myline{o-o} & Circles, centered on endpoints.\\
- \Lnotation{*-*} & \myline{*-*} & Disks, centered on endpoints.\\
- \Lnotation{oo-oo} & \myline{oo-oo} & Circles, flush to endpoints.\\
- \Lnotation{**-**} & \myline{**-**} & Disks, flush to endpoints.\\
- \Lnotation{{|}<->{|}} & \myline{|<->|} & T-bars and arrows.\\
- \Lnotation{{|}>-<{|}} & \myline{|>-<|} & T-bars and reverse arrows.\\
- \Lnotation{h-h{|}} & \myline{h-h} & left/right hook arrows.\\
- \Lnotation{H-H{|}} & \myline{H-H} & left/right hook arrows.\\
- \Lnotation{v-v|} & \myline{v-v} & left/right inside vee arrows.\\
- \Lnotation{V-V|} & \myline{V-V} & left/right outside vee arrows.\\
- \Lnotation{f-f|} & \myline{f-f} & left/right inside filled arrows.\\
- \Lnotation{F-F|} & \myline{F-F} & left/right outside filled arrows.\\
- \Lnotation{t-t|} & \myline{t-t} & left/right inside slash arrows.\\[5pt]
- \Lnotation{T-T|} & \myline{T-T} & left/right outside slash arrows.\\
- \end{tabular}
- \egroup
-\end{center}
-
-
-You can also mix and match, e.g., \Lnotation{->}, \Lnotation{*-)} and \Lnotation{[->} are all valid values
-of the \Lkeyword{arrows} parameter. The parameter can be set with
-
-\begin{BDef}
-\Lcs{psset}\Largb{arrows=<type>}
-\end{BDef}
-
-\noindent or for some macros with a special option, like\\[5pt]
-\noindent\verb|\psline[<general options>]{<arrow type>}(A)(B)|\\
-\noindent\verb/\psline[linecolor=red,linewidth=2pt]{|->}(0,0)(0,2)/ \ \psline[linecolor=red,linewidth=2pt]{|->}(0,0)(0,2)
-
-\subsection{Multiple arrows}
-There are two new options which are only valid for the arrow type \verb+<<+ or \verb+>>+.
-\verb+nArrow+ sets both, the \verb+nArrowA+ and the \verb+nArrowB+ parameter. The meaning
-is declared in the following tables. Without setting one of these parameters the behaviour
-is like the one described in the old PSTricks manual.
-
-\begin{center}
-\begin{tabular}{@{}lc@{}}%
- Value & Meaning \\[2pt]\hline
- \Lnotation{-{>}>} & \ -A \\
- \Lnotation{{<}<-{>}>} & A-A\\
- \Lnotation{{<}<-} & A-\ \\
- \Lnotation{{>}>-} & B-\ \\
- \Lnotation{-{<}<} & \ -B\\
- \Lnotation{{>}>-{<}<} & B-B\\
- \Lnotation{{>}>-{>}>} & B-A\\
- \Lnotation{{<}<-{<}<} & A-B
- \end{tabular}
-\end{center}
-
-
-
-
-\begin{center}
- \bgroup
- \psset{linecolor=red,linewidth=1pt,arrowscale=2}%
- \begin{tabular}{lp{2.8cm}}%
- Value & Example \\[2pt]\hline
- \verb+\psline{->>}(0,1ex)(2.3,1ex)+ & \psline{->>}(0,1ex)(2.3,1ex) \\
- \verb+\psline[nArrowsA=3]{->>}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=3]{->>}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=5]{->>}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=5]{->>}(0,1ex)(2.3,1ex)\\
- \verb+\psline{<<-}(0,1ex)(2.3,1ex)+ & \psline{<<-}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=3]{<<-}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=3]{<<-}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=5]{<<-}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=5]{<<-}(0,1ex)(2.3,1ex)\\
- \verb+\psline{<<->>}(0,1ex)(2.3,1ex)+ & \psline{<<->>}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=3]{<<->>}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=3]{<<->>}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=5]{<<->>}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=5]{<<->>}(0,1ex)(2.3,1ex)\\
- \verb+\psline{<<-|}(0,1ex)(2.3,1ex)+ & \psline{<<-|}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=3]{<<-<<}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=3]{<<-<<}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=5]{<<-o}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=5]{<<-o}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=3,nArrowsB=4]{<<-<<}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=3,nArrowsB=4]{<<-<<}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=3,nArrowsB=4]{>>->>}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=3,nArrowsB=4]{>>->>}(0,1ex)(2.3,1ex)\\
- \verb+\psline[nArrowsA=1,nArrowsB=4]{>>->>}(0,1ex)(2.3,1ex)+ & \psline[nArrowsA=1,nArrowsB=4]{>>->>}(0,1ex)(2.3,1ex)\\
- \end{tabular}
- \egroup
-\end{center}
-
-
-
-\subsection{\texttt{hookarrow}}
-%\begin{LTXexample}
-\bgroup
-\psset{arrowsize=8pt,arrowlength=1,linewidth=1pt,nodesep=2pt,shortput=tablr}
-\large
-\begin{psmatrix}[colsep=12mm,rowsep=10mm]
- & & $R_2$ \\
- & & 0 & & $R_3$\\
-$e_b:S$ & 1 & & 1 & 0 \\
- & & 0 \\
- & & $R_1$ \\
-\end{psmatrix}
-\ncline{h-}{1,3}{2,3}<{$e_{r2}$}>{$f_{r2}$}
-\ncline{-h}{2,3}{3,2}<{$e_1$}
-\ncline{-h}{3,1}{3,2}^{$e_s$}_{$f_{s}$}
-\ncline{-h}{3,2}{4,3}>{$e_3$}<{$f_3$}
-\ncline{-h}{4,3}{3,4}>{$e_4$}<{$f_4$}
-\ncline{-h}{3,4}{2,3}>{$e_2$}<{$f_2$}
-\ncline{-h}{3,4}{3,5}^{$e_5$}
-\ncline{-h}{3,5}{2,5}<{$e_{r3}$}>{$f_{r3}$}
-\ncline{-h}{4,3}{5,3}<{$e_{r1}$}>{$f_{r1}$}
-%\end{LTXexample}
-\egroup
-
-\begin{lstlisting}
-\psset{arrowsize=8pt,arrowlength=1,linewidth=1pt,nodesep=2pt,shortput=tablr}
-\large
-\begin{psmatrix}[colsep=12mm,rowsep=10mm]
- & & $R_2$ \\
- & & 0 & & $R_3$\\
-$e_b:S$ & 1 & & 1 & 0 \\
- & & 0 \\
- & & $R_1$ \\
-\end{psmatrix}
-\ncline{h-}{1,3}{2,3}<{$e_{r2}$}>{$f_{r2}$}\ncline{-h}{2,3}{3,2}<{$e_1$}
-\ncline{-h}{3,1}{3,2}^{$e_s$}_{$f_{s}$} \ncline{-h}{3,2}{4,3}>{$e_3$}<{$f_3$}
-\ncline{-h}{4,3}{3,4}>{$e_4$}<{$f_4$} \ncline{-h}{3,4}{2,3}>{$e_2$}<{$f_2$}
-\ncline{-h}{3,4}{3,5}^{$e_5$}
-\ncline{-h}{3,5}{2,5}<{$e_{r3}$}>{$f_{r3}$}
-\ncline{-h}{4,3}{5,3}<{$e_{r1}$}>{$f_{r1}$}
-\end{lstlisting}
-
-
-
-\subsection{\texttt{hookrightarrow} and \texttt{hookleftarrow}}
-This is another type of arrow and is abbreviated with \Lnotation{H}.
-The length and width of the hook is set by the new options
-\Lkeyword{hooklength} and \Lkeyword{hookwidth}, which are by default set
-to
-%
-\begin{BDef}
-\Lcs{psset}\Largb{hooklength=3mm,hookwidth=1mm}
-\end{BDef}
-%
-If the line begins with a right hook then the line ends with a left hook and vice versa:
-
-\begin{LTXexample}[width=3cm]
-\begin{pspicture}(3,4)
-\psline[linewidth=5pt,linecolor=blue,hooklength=5mm,hookwidth=-3mm]{H->}(0,3.5)(3,3.5)
-\psline[linewidth=5pt,linecolor=red,hooklength=5mm,hookwidth=3mm]{H->}(0,2.5)(3,2.5)
-\psline[linewidth=5pt,hooklength=5mm,hookwidth=3mm]{H-H}(0,1.5)(3,1.5)
-\psline[linewidth=1pt]{H-H}(0,0.5)(3,0.5)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=7.25cm]
-$\begin{psmatrix}
-E&W_i(X)&&Y\\
-&&W_j(X)
-\psset{arrows=->,nodesep=3pt,linewidth=2pt}
-\everypsbox{\scriptstyle}
-\ncline[linecolor=red,arrows=H->,%
- hooklength=4mm,hookwidth=2mm]{1,1}{1,2}
-\ncline{1,2}{1,4}^{\tilde{t}}
-\ncline{1,2}{2,3}<{W_{ij}}
-\ncline{2,3}{1,4}>{\tilde{s}}
-\end{psmatrix}$
-\end{LTXexample}
-
-
-%--------------------------------------------------------------------------------------
-\subsection{\nxLkeyword{ArrowInside} Option}
-%--------------------------------------------------------------------------------------
-
-It is now possible to have arrows inside lines and not only at the
-beginning or the end. The new defined options
-
-\psset{arrowscale=2,linecolor=red,unit=1cm,linewidth=1.5pt}
-\begin{longtable}{l|>{\RaggedRight}p{8.5cm}|p{2.2cm}}
-Name & Example & Output\\\hline
-\endfirsthead
-Name & Example & Output\\\hline
-\endhead
-\Lkeyword{ArrowInside} &
- \texttt{\textbackslash psline[ArrowInside=->](0,0)(2,0)} &
- \psline[ArrowInside=->](0,0.1)(2,0.1) \\
-\Lkeyword{ArrowInsidePos} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsidePos=0.25](0,0)(2,0)}
-& \psline[ArrowInside=->, ArrowInsidePos=0.25](0,0.1)(2,0.1) \\
-\Lkeyword{ArrowInsidePos} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsidePos=10](0,0)(2,0)}
-& \psline[ArrowInside=->, ArrowInsidePos=10](0,0.1)(2,0.1) \\
-\Lkeyword{ArrowInsideNo} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsideNo=2](0,0)(2,0)}
-& \psline[ArrowInside=->, ArrowInsideNo=2](0,0.1)(2,0.1) \\
-\Lkeyword{ArrowInsideOffset} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsideNo=2,\%}\newline
- \hspace*{20pt}\texttt{ArrowInsideOffset=0.1](0,0)(2,0)}
-& \psline[ArrowInside=->, ArrowInsideNo=2,ArrowInsideOffset=0.1](0,0.1)(2,0.1) \\
-%
-\Lkeyword{ArrowInside} & \texttt{\textbackslash psline[ArrowInside=->]\{->\}(0,0)(2,0)} &
- \psline[ArrowInside=->]{->}(0,0)(2,0)\\
-\Lkeyword{ArrowInsidePos} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsidePos=0.25]\{->\}(0,0)(2,0)}
- & \psline[ArrowInside=->, ArrowInsidePos=0.25]{->}(0,0)(2,0) \\
-\Lkeyword{ArrowInsidePos} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsidePos=10]\{->\}(0,0)(2,0)}
- & \psline[ArrowInside=->, ArrowInsidePos=10]{->}(0,0)(2,0) \\
-\Lkeyword{ArrowInsideNo} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsideNo=2]\{->\}(0,0)(2,0)}
- & \psline[ArrowInside=->, ArrowInsideNo=2]{->}(0,0)(2,0) \\
-\Lkeyword{ArrowInsideOffset} & \texttt{\textbackslash psline[ArrowInside=->,\%}
- \hspace*{20pt}\texttt{ArrowInsideNo=2,\%}\newline
- \hspace*{20pt}\texttt{ArrowInsideOffset=0.1]\{->\}(0,0)(2,0)}
- & \psline[ArrowInside=->, ArrowInsideNo=2,ArrowInsideOffset=0.1]{->}(0,0)(2,0) \\
-%
-\Lkeyword{ArrowFill} & \texttt{\textbackslash psline[ArrowFill=false,\%}
- \hspace*{20pt}\texttt{arrowinset=0]\{->\}(0,0)(2,0)} &
- \psline[ArrowFill=false,arrowinset=0]{->}(0,0)(2,0)\\
-\Lkeyword{ArrowFill} & \texttt{\textbackslash psline[ArrowFill=false,\%}
- \hspace*{20pt}\texttt{arrowinset=0]\{<<->>\}(0,0)(2,0)} &
- \psline[ArrowFill=false,arrowinset=0]{<<->>}(0,0)(2,0)\\
-\Lkeyword{ArrowFill} & \texttt{\textbackslash psline[ArrowInside=->,\%}\newline
- \hspace*{20pt}\texttt{arrowinset=0,\%}\newline
- \hspace*{20pt}\texttt{ArrowFill=false,\%}\newline
- \hspace*{20pt}\texttt{ArrowInsideNo=2,\%}\newline
- \hspace*{20pt}\texttt{ArrowInsideOffset=0.1]\{->\}(0,0)(2,0)}
- & \psline[ArrowInside=->, ArrowFill=false,ArrowInsideNo=2,ArrowInsideOffset=0.1]{->}(0,0)(2,0) \\
-\end{longtable}
-
-\medskip
-Without the default arrow definition there is only the one inside
-the line, defined by the type and the position. The position is
-relative to the length of the whole line. $0.25$ means at $25\%$
-of the line length. The peak of the arrow gets the coordinates
-which are calculated by the macro. If you want arrows with an
-absolute position difference, then choose a value greater than
-\verb|1|, e.\,g. \verb|10| which places an arrow every 10~pt. The
-default unit \verb|pt| cannot be changed.
-
-\medskip
-\noindent
-\begin{tabularx}{\linewidth}{@{\color{red}\vrule width 2pt}lX@{}}
-& The \Lkeyword{ArrowInside} takes only arrow definitions like \Lnotation{->} into account.
-Arrows from right to left (\Lnotation{<-}) are not possible and ignored. If you need
-such arrows, change the order of the pairs of coordinates for the line or curve macro.
-\end{tabularx}
-
-%--------------------------------------------------------------------------------------
-\subsection{\nxLkeyword{ArrowFill} Option}
-%--------------------------------------------------------------------------------------
-
-By default all arrows are filled polygons. With the option
-\Lkeyset{ArrowFill=false} there are ''white`` arrows. Only for the
-beginning/end arrows are they empty, the inside arrows are
-overpainted by the line.
-
-
-\psset{arrowscale=1}
-\begin{LTXexample}[width=3.5cm]
-\psset{arrowscale=2.5}
-\psline[linecolor=red,arrowinset=0]{<->}(-1,0)(2,0)
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\psset{arrowscale=2.5}
-\psline[linecolor=red,arrowinset=0,ArrowFill=false]{<->}(-1,0)(2,0)
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\psset{arrowscale=2.5}
-\psline[linecolor=red,arrowinset=0,arrowsize=0.2,
- ArrowFill=false]{<->}(-1,0)(2,0)
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\psline[linecolor=blue,arrowscale=4,
- ArrowFill]{>>->>}(-1,0)(2,0)
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\psline[linecolor=blue,arrowscale=4,
- ArrowFill=false]{>>->>}(-1,0)(2,0)
-\rule{3cm}{0pt}\\[30pt]
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\psline[linecolor=blue,arrowscale=4,
- ArrowFill]{>|->|}(-1,0)(2,0)
-\end{LTXexample}
-
-\begin{LTXexample}[width=3.5cm]
-\psline[linecolor=blue,arrowscale=4,
- ArrowFill=false]{>|->|}(-1,0)(2,0)%
-\end{LTXexample}
-
-
-\subsection{Big Arrows}
-
-\begin{LTXexample}[width=5cm]
-\begin{pspicture}(5,5)
-\psset{doublesep=1cm}
-\psBigArrow[fillstyle=solid,
- fillcolor=blue!30,linecolor=blue](0,3)(5,3)
-\psBigArrow[fillstyle=solid,opacity=0.3,
- fillcolor=red,linecolor=red](0.5,0.5)(5,5)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-
-%--------------------------------------------------------------------------------------
-\subsection{Examples}
-%--------------------------------------------------------------------------------------
-
-All examples are printed with \verb|\psset{arrowscale=2,linecolor=red}|.
-\subsubsection{\nxLcs{psline}}
-
-\bigskip
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=->]{|<->|}(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=-|]{|-|}(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=->,ArrowInsideNo=2]{->}(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=->,ArrowInsideNo=2,ArrowInsideOffset=0.1]{->}(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=-*]{->}(0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=-*,ArrowInsidePos=0.25]{->}(0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=-*,ArrowInsidePos=0.25,ArrowInsideNo=2]{->}%
- (0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=->, ArrowInsidePos=0.25]{->}%
- (0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[linestyle=none,ArrowInside=->,ArrowInsidePos=0.25]{->}%
- (0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=-<, ArrowInsidePos=0.75]{->}%
- (0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true,ArrowInside=-*}
-\psline(0,0)(2,1)(3,0)(4,0)(6,2)
-\psset{linestyle=none}
-\psline[ArrowInsidePos=0](0,0)(2,1)(3,0)(4,0)(6,2)
-\psline[ArrowInsidePos=1](0,0)(2,1)(3,0)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,5)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=->,ArrowInsidePos=20](0,0)(3,0)%
- (3,3)(1,3)(1,5)(5,5)(5,0)(7,0)(6,3)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,2)
-\psset{arrowscale=2,ArrowFill=true}
-\psline[ArrowInside=-|]{<->}(0,2)(2,0)(3,2)(4,0)(6,2)
-\end{pspicture}
-\end{LTXexample}
-
-
-%--------------------------------------------------------------------------------------
-\subsubsection{\nxLcs{pspolygon}}
-%--------------------------------------------------------------------------------------
-% Polygons (\pspolygon macro)
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,3)
-\psset{arrowscale=2}
-\pspolygon[ArrowInside=-|](0,0)(3,3)(6,3)(6,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,3)
-\psset{arrowscale=2}
-\pspolygon[ArrowInside=->,ArrowInsidePos=0.25]%
- (0,0)(3,3)(6,3)(6,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,3)
-\psset{arrowscale=2}
-\pspolygon[ArrowInside=->,ArrowInsideNo=4]%
- (0,0)(3,3)(6,3)(6,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,3)
-\psset{arrowscale=2}
-\pspolygon[ArrowInside=->,ArrowInsideNo=4,%
- ArrowInsideOffset=0.1](0,0)(3,3)(6,3)(6,1)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,3)
-\psset{arrowscale=2}
- \pspolygon[ArrowInside=-|](0,0)(3,3)(6,3)(6,1)
- \psset{linestyle=none,ArrowInside=-*}
- \pspolygon[ArrowInsidePos=0](0,0)(3,3)(6,3)(6,1)
- \pspolygon[ArrowInsidePos=1](0,0)(3,3)(6,3)(6,1)
- \psset{ArrowInside=-o}
- \pspolygon[ArrowInsidePos=0.25](0,0)(3,3)(6,3)(6,1)
- \pspolygon[ArrowInsidePos=0.75](0,0)(3,3)(6,3)(6,1)
-\end{pspicture}
-\end{LTXexample}
-
-\psset{linestyle=solid}
-
-\begin{LTXexample}[width=6.5cm]
-\begin{pspicture}(6,5)
-\psset{arrowscale=2}
- \pspolygon[ArrowInside=->,ArrowInsidePos=20]%
- (0,0)(3,0)(3,3)(1,3)(1,5)(5,5)(5,0)(7,0)(6,3)
-\end{pspicture}
-\end{LTXexample}
-
-
-%--------------------------------------------------------------------------------------
-\subsubsection{\nxLcs{psbezier}}
-%--------------------------------------------------------------------------------------
-% Bezier curves (\psbezier macro)
-
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}(3,3)
-\psset{arrowscale=2}
- \psbezier[ArrowInside=-|](0,1)(1,0)(2,1)(3,3)
- \psset{linestyle=none,ArrowInside=-o}
- \psbezier[ArrowInsidePos=0.25](0,1)(1,0)(2,1)(3,3)
- \psbezier[ArrowInsidePos=0.75](0,1)(1,0)(2,1)(3,3)
- \psset{linestyle=none,ArrowInside=-*}
- \psbezier[ArrowInsidePos=0](0,1)(1,0)(2,1)(3,3)
- \psbezier[ArrowInsidePos=1](0,1)(1,0)(2,1)(3,3)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-\resetOptions
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}(4,3)
-\psset{arrowscale=2}
-\psbezier[ArrowInside=->,showpoints]%
- {*-*}(0,0)(2,3)(3,0)(4,2)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}(4,3)
-\psset{arrowscale=2}
- \psbezier[ArrowInside=->,showpoints=true,
- ArrowInsideNo=2](0,0)(2,3)(3,0)(4,2)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}(4,3)
-\psset{arrowscale=2}
- \psbezier[ArrowInside=->,showpoints=true,
- ArrowInsideNo=2,ArrowInsideOffset=-0.2]%
- {->}(0,0)(2,3)(3,0)(4,2)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}(5,3)
-\psset{arrowscale=2}
- \psbezier[ArrowInsideNo=9,ArrowInside=-|,%
- showpoints=true]{*-*}(0,0)(1,3)(3,0)(5,3)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}(4,3)
-\psset{arrowscale=2}
- \psset{ArrowInside=-|}
- \psbezier[ArrowInsidePos=0.25,showpoints=true]{*-*}(2,3)(3,0)(4,2)
- \psset{linestyle=none}
- \psbezier[ArrowInsidePos=0.75](0,0)(2,3)(3,0)(4,2)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}(5,6)
-\psset{arrowscale=2}
- \pnode(3,4){A}\pnode(5,6){B}\pnode(5,0){C}
- \psbezier[ArrowInside=->,%
- showpoints=true](A)(B)(C)
- \psset{linestyle=none,ArrowInside=-<}
- \psbezier[ArrowInsideNo=4](0,0)(A)(B)(C)
- \psset{ArrowInside=-o}
- \psbezier[ArrowInsidePos=0.1](0,0)(A)(B)(C)
- \psbezier[ArrowInsidePos=0.9](0,0)(A)(B)(C)
- \psset{ArrowInside=-*}
- \psbezier[ArrowInsidePos=0.3](0,0)(A)(B)(C)
- \psbezier[ArrowInsidePos=0.7](0,0)(A)(B)(C)
-\end{pspicture}
-\end{LTXexample}
-
-\psset{linestyle=solid}
-
-\begin{LTXexample}[pos=t]
-\begin{pspicture}(-3,-5)(15,5)
- \psbezier[ArrowInsideNo=19,%
- ArrowInside=->,ArrowFill=false,%
- showpoints=true]{->}(-3,0)(5,-5)(8,5)(15,-5)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-%--------------------------------------------------------------------------------------
-\subsubsection{\nxLcs{pcline}}
-%--------------------------------------------------------------------------------------
-These examples need the package \verb|pst-node|.
-
-% Lines (\pcline macro)
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,1)
-\psset{arrowscale=2}
-\pcline[ArrowInside=->](0,0)(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,1)
-\psset{arrowscale=2}
-\pcline[ArrowInside=->]{<->}(0,0)(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,1)
-\psset{arrowscale=2}
-\pcline[ArrowInside=-|,ArrowInsidePos=0.75]{|-|}(0,0)(2,1)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=2.5cm]
-\psset{arrowscale=2}
-\pcline[ArrowInside=->,ArrowInsidePos=0.65]{*-*}(0,0)(2,0)
-\naput[labelsep=0.3]{\large$g$}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=2.5cm]
-\psset{arrowscale=2}
-\pcline[ArrowInside=->,ArrowInsidePos=10]{|-|}(0,0)(2,0)
-\naput[labelsep=0.3]{\large$l$}
-\end{LTXexample}
-
-
-
-%--------------------------------------------------------------------------------------
-\subsubsection{\nxLcs{pccurve}}
-%--------------------------------------------------------------------------------------
-These examples also need the package \verb|pst-node|.
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,2)
-\psset{arrowscale=2}
-\pccurve[ArrowInside=->,ArrowInsidePos=0.65,showpoints=true]{*-*}(0,0)(2,2)
-\naput[labelsep=0.3]{\large$h$}
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=2.5cm]
-\begin{pspicture}(2,2)
-\psset{arrowscale=2}
-\pccurve[ArrowInside=->,ArrowInsideNo=3,showpoints=true]{|->}(0,0)(2,2)
-\naput[labelsep=0.3]{\large$i$}
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}(4,4)
-\psset{arrowscale=2}
-\pccurve[ArrowInside=->,ArrowInsidePos=20]{|-|}(0,0)(4,4)
-\naput[labelsep=0.3]{\large$k$}
-\end{pspicture}
-\end{LTXexample}
-
-\clearpage
-
-\subsection{Special arrows \texttt{v--V},\texttt{t--T}, and \texttt{f--F}}
-
-Possible optional arguments are
-
-\psset{linecolor=black}
-
-\begin{center}
-\begin{tabular}{@{}l|l@{}}\toprule
-\emph{name} & \emph{meaning}\\\hline
-\Lkeyword{veearrowlength} & default is 3mm\\
-\Lkeyword{veearrowangle} & default is 30\\
-\Lkeyword{veearrowlinewidth} & default is 0.35mm\\
-\Lkeyword{filledveearrowlength} & default is 3mm\\
-\Lkeyword{filledveearrowangle} & default is 15\\
-\Lkeyword{filledveearrowlinewidth} & default is 0.35mm\\
-\Lkeyword{tickarrowlength} & default is 1.5mm\\
-\Lkeyword{tickarrowlinewidth} & default is 0.35mm\\
-\Lkeyword{arrowlinestyle} & default is solid\\\bottomrule
-\end{tabular}
-\end{center}
-
-
-\begin{LTXexample}[width=4cm]
-\psset{unit=5mm}
-\begin{pspicture}(4,6)
- \psset{dimen=middle,arrows=c-c,
- arrowscale=2,linewidth=.25mm}
- \psline[linecolor=red,linewidth=.05mm](0,0)(0,6)
- \psline[linecolor=red,linewidth=.05mm](4,0)(4,6)
- \psline{v-v}(0,6)(4,6)
- \psline{v-V}(0,4)(4,4)
- \psline{V-v}(0,2)(4,2)
- \psline{V-V}(0,0)(4,0)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=4cm]
-\psset{unit=5mm}
-\begin{pspicture}(4,6)
- \psset{dimen=middle,arrows=c-c,
- arrowscale=2,linewidth=.25mm}
- \psline[linecolor=red,linewidth=.05mm](0,0)(0,6)
- \psline[linecolor=red,linewidth=.05mm](4,0)(4,6)
- \psline{f-f}(0,6)(4,6)
- \psline{f-F}(0,4)(4,4)
- \psline{F-f}(0,2)(4,2)
- \psline{F-F}(0,0)(4,0)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=4cm]
-\psset{unit=5mm}
-\begin{pspicture}(4,6)
- \psset{dimen=middle,arrows=c-c,linewidth=.25mm}
- \psline[linecolor=red,linewidth=.05mm](0,0)(0,6)
- \psline[linecolor=red,linewidth=.05mm](4,0)(4,6)
- \psline{t-t}(0,6)(4,6)
- \psline{t-T}(0,4)(4,4)
- \psline{T-t}(0,2)(4,2)
- \psline{T-T}(0,0)(4,0)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t,vsep=5mm]
-\psset{unit=5mm}
- \begin{pspicture}(10,6)
- \psset{dimen=middle,arrows=c-c,arrowscale=2,linewidth=.25mm,
- arrowlinestyle=dashed,dash=1.5pt 1pt}
- \psline[linecolor=red,linewidth=.05mm](0,0)(0,6)
- \psline[linecolor=red,linewidth=.05mm](4,0)(4,6)
- \psline{v-v}(0,6)(4,6) \psline{v-V}(0,4)(4,4)
- \psline{V-v}(0,2)(4,2) \psline{V-V}(0,0)(4,0)
- \psline[linecolor=red,linewidth=.05mm](6,0)(6,6)
- \psline[linecolor=red,linewidth=.05mm](10,0)(10,6)
- \psset{arrowlinestyle=dotted,dotsep=0.8pt}
- \psline{v-v}(6,6)(10,6) \psline{v-V}(6,4)(10,4)
- \psline{V-v}(6,2)(10,2) \psline{V-V}(6,0)(10,0)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t,vsep=5mm]
-\psset{unit=5mm}
- \begin{pspicture}(10,7)
- \psset{dimen=middle,arrows=c-c,arrowscale=2,linewidth=.25mm,
- arrowlinestyle=dashed,dash=1.5pt 1pt}
- \psline[linecolor=red,linewidth=.05mm](0,0)(0,6)
- \psline[linecolor=red,linewidth=.05mm](4,0)(4,6)
- \psline{t-t}(0,6)(4,6) \psline{t-T}(0,4)(4,4)
- \psline{T-t}(0,2)(4,2) \psline{T-T}(0,0)(4,0)
- \psline[linecolor=red,linewidth=.05mm](6,0)(6,6)
- \psline[linecolor=red,linewidth=.05mm](10,0)(10,6)
- \psset{arrowlinestyle=dotted,dotsep=0.8pt}
- \psline{t-t}(6,6)(10,6) \psline{t-T}(6,4)(10,4)
- \psline{T-t}(6,2)(10,2) \psline{T-T}(6,0)(10,0)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-
-
-
-\subsection{Special arrow option \texttt{arrowLW}}
-
-Only for the arrowtype \Lnotation{o} and \Lnotation{*} it is possible to
-set the arrowlinewidth with the optional keyword \Lkeyword{arrowLW}.
-When scaling an arrow by the keyword \Lkeyword{arrowscale} the width
-of the borderline is also scaled. With the optional argument
-\Lkeyword{arrowLW} the line width can be set separately and is not
-taken into account by the scaling value.
-
-\begin{LTXexample}[width=4cm]
-\begin{pspicture}(4,6)
-\psline[arrowscale=3,arrows=*-o](0,5)(4,5)
-\psline[arrowscale=3,arrows=*-o,
- arrowLW=0.5pt](0,3)(4,3)
-\psline[arrowscale=3,arrows=*-o,
- arrowLW=0.3333\pslinewidth](0,1)(4,1)
-\end{pspicture}
-\end{LTXexample}
-
-
-
\section{Ticks and other marks along a curve}
\subsection{Quick overview}
@@ -5399,8 +4603,7 @@
\nocite{*}
\bgroup
\RaggedRight
-\bibliographystyle{plain}
-\bibliography{pstricks-add-doc}
+\printbibliography
\egroup
\printindex
Modified: trunk/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex 2016-09-03 01:23:02 UTC (rev 41976)
+++ trunk/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex 2016-09-03 01:23:21 UTC (rev 41977)
@@ -1,4 +1,4 @@
-%% $Id: pstricks-add.tex 317 2016-08-08 16:49:34Z herbert $
+%% $Id: pstricks-add.tex 327 2016-09-01 18:59:35Z herbert $
%%
%% This is file `pstricks-add.tex',
%%
@@ -25,13 +25,14 @@
\ifx\PSTricksLoaded\endinput\else \input pstricks \fi
\ifx\PSTplotLoaded\endinput\else \input pst-plot \fi
\ifx\PSTnodesLoaded\endinput\else \input pst-node \fi
+\ifx\PSTarrowLoaded\endinput\else \input pst-arrow \fi
\ifx\PSTthreeDLoaded\endinput\else\input pst-3d \fi
\ifx\MultidoLoaded\endinput\else \input multido \fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
\ifx\PSTmathLoaded\endinput\else \input pst-math \fi
%
-\def\fileversion{3.81}
-\def\filedate{2016/08/08}
+\def\fileversion{3.82}
+\def\filedate{2016/09/01}
\message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -339,586 +340,6 @@
/x1 ED
1 index 0 eq {pop pop ParallelogramA } { OvalFrame } ifelse}>
%
-%
-% -------------- the arrow part -------------
-%
-\def\psBigArrow{\pst at object{psBigArrow}}
-\def\psBigArrow at i(#1)(#2){%
- \addbefore at par{doublesep=1cm}
- \begin at ClosedObj
- \pssetlength\pst at dimm{\psdoublesep}
- \pst at getcoor{#1}\pst at tempA
- \pst at getcoor{#2}\pst at tempB
- \addto at pscode{
- /Width \pst at number\pst at dimm def
- \pst at tempA % x y
- \pst at tempB % x y
- exch % x y y x
- 4 -1 roll % y y x x
- sub % y y dx
- 3 1 roll % dx y y
- sub % dx dy
- exch % dy dx
- atan neg % alpha
- \pst at tempA
- translate
- rotate
- 0 0 moveto
- 0 Width 2 div rlineto % |
- \pst at tempB \pst at tempA Pyth2 Width 1.5 mul sub 0 rlineto
- 0 Width 1.5 div rlineto
- Width 1.5 mul dup neg rlineto
- Width 1.5 mul neg dup rlineto
- 0 Width 1.5 div rlineto
- \pst at tempB \pst at tempA Pyth2 neg Width 1.5 mul add 0 rlineto
- closepath
- }%
- \end at ClosedObj
-}
-% the original table
-% \def\pst at arrowtable{,<->,<<->>,>-<,>>-<<,(-),[-],)-(,]-[,|>-<|}
-%
-% v : Vee arrow (inside) v,V,f and F by Christophe FOUREY
-% V : Vee arrow (outside)
-% f : Filled vee arrow (inside)
-% F : Filled vee arrow (outside)
-\edef\pst at arrowtable{\pst at arrowtable,v-v,V-V,f-f,F-F,t-t,T-T}
-
-% Vee arrow
-\define at key[psset]{pstricks-add}{veearrowlength}[3mm]{\pst at getlength{#1}\psk at veearrowlength}
-\psset[pstricks-add]{veearrowlength=3mm} % default projected length
-\define at key[psset]{pstricks-add}{veearrowangle}[30]{\pst at getangle{#1}\psk at veearrowangle}
-\psset[pstricks-add]{veearrowangle=30} % default angle
-\define at key[psset]{pstricks-add}{veearrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at veearrowlinewidth}
-\psset[pstricks-add]{veearrowlinewidth=0.35mm} % default vee arrow line width
-
-% Filled vee arrow
-\define at key[psset]{pstricks-add}{filledveearrowlength}[3mm]{\pst at getlength{#1}\psk at filledveearrowlength}
-\psset[pstricks-add]{filledveearrowlength=3mm} % default projected length
-\define at key[psset]{pstricks-add}{filledveearrowangle}[15]{\pst at getangle{#1}\psk at filledveearrowangle}
-\psset[pstricks-add]{filledveearrowangle=15} % default angle
-\define at key[psset]{pstricks-add}{filledveearrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at filledveearrowlinewidth}
-\psset[pstricks-add]{filledveearrowlinewidth=0.35mm} % default vee arrow line width
-\define at key[psset]{pstricks-add}{arrowlinestyle}[solid]{%
- \@ifundefined{psls@#1}%
- {\@pstrickserr{Line style `#1' not defined}\@eha}%
- {\def\psarrowlinestyle{#1}}}
-\psset[pstricks-add]{arrowlinestyle=solid} % default
-\pst at def{VeeArrow}<%
- 1 setlinecap % round caps
- 1 setlinejoin % round join
- setlinewidth % vee arrow line width
- /y ED % projected length
- 2 div /a ED % angle (divide by 2)
- /t ED % false = inside, true = outside
- a sin a cos div y mul /x ED % perpendicular length : x=tan(a).y
- t { 1 -1 scale } if % if outside : symmetry
- x neg y moveto % point #1
- 0 0 L % point #2
- x y L % point #3
- { closepath gsave fill grestore } if % if filled : close and fill
- \@nameuse{psls@\psarrowlinestyle}
- stroke % draw line
- 0 t { y 2 mul } { 0 } ifelse moveto> % if outside : twice longer line
-
-% VeeArrow : filled? outside? (total) angle (projected) length (arrow) line width
-
-\@namedef{psas at v}{%
- false false \psk at veearrowangle \psk at veearrowlength \psk at veearrowlinewidth \tx at VeeArrow}
-\@namedef{psas at V}{%
- false true \psk at veearrowangle \psk at veearrowlength \psk at veearrowlinewidth \tx at VeeArrow}
-\@namedef{psas at f}{%
- true false \psk at filledveearrowangle \psk at filledveearrowlength \psk at filledveearrowlinewidth \tx at VeeArrow}
-\@namedef{psas at F}{%
- true true \psk at filledveearrowangle \psk at filledveearrowlength \psk at filledveearrowlinewidth \tx at VeeArrow}
-
-% And An another arrowhead
-% architectural tick / oblique arrow
-
-% Tick arrow
-\define at key[psset]{pstricks-add}{tickarrowlength}[1.5mm]{\pst at getlength{#1}\psk at tickarrowlength}
-\psset[pstricks-add]{tickarrowlength=1.5mm} % default projected length
-\define at key[psset]{pstricks-add}{tickarrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at tickarrowlinewidth}
-\psset[pstricks-add]{tickarrowlinewidth=0.35mm} % default tick arrow line width
-
-\pst at def{TickArrow}<%
- 1 setlinecap % round caps
- 1 setlinejoin % round join
- setlinewidth % tick line width
- /y ED % projected length
- /t ED % false = normal, true = reversed
- t { 1 -1 scale } if % if reversed : symmetry
- y neg y moveto % point #1
- y y neg L % point #2
- \@nameuse{psls@\psarrowlinestyle}
- stroke % draw line
- 0 0 moveto> % origin
-
-\@namedef{psas at t}{ false \psk at tickarrowlength \psk at tickarrowlinewidth \tx at TickArrow }
-\@namedef{psas at T}{ true \psk at tickarrowlength \psk at tickarrowlinewidth \tx at TickArrow }
-%
-% HookLeft/RightArrow
-\newdimen\pshooklength
-\newdimen\pshookwidth
-\define at key[psset]{pstricks-add}{hooklength}[3mm]{\pssetlength\pshooklength{#1}}
-\define at key[psset]{pstricks-add}{hookwidth}[1mm]{\pssetlength\pshookwidth{#1}}
-%\psset{hooklength=3mm,hookwidth=1mm}
-%
-\edef\pst at arrowtable{\pst at arrowtable,H-H,h-h} % add new arrow
-\def\tx at RHook{RHook } % PostScript name
-\def\tx at Rhook{Rhook } % PostScript name
-\@namedef{psas at H}{%
- /RHook {
- /x ED % hook width
- /y ED % hook length
- /z CLW 2 div def % save it
- x y moveto % goto first point
- x 0 0 0 0 y
- curveto % draw Bezier
- stroke
- 0 y moveto % define current point
- } def
- \pst at number\pshooklength
- \pst at number\pshookwidth
- \tx at RHook
-}
-\@namedef{psas at h}{%
- /Rhook {
- CLW mul % size * CLW
- add dup % +length size*CLW+length size*CLW+length
- 2 div /w ED % (size*CLW+length)/2 -> w
- mul dup /h ED mul % (size*CLW+length)
- /a ED
- w neg h abs moveto 0 0 L
- gsave
- stroke grestore
- } def
- 0 \psk at arrowlength \psk at arrowsize \tx at Rhook
-}
-% New parameter "arrowfill", with default as "true"
-\define at boolkey[psset]{pstricks-add}[ps]{ArrowFill}[true]{}
-%
-% Modification of the PostScript macro Arrow to choose to fill or not the arrow
-% (it require to restore the current linewidth, despite of the scaling)
-\pst at def{Arrow}<{%
- CLW mul add dup 2 div
- /w ED mul dup
- /h ED mul
- /a ED { 0 h T 1 -1 scale } if
- gsave
- \ifpsArrowFill\else\pst at number\pslinewidth \pst at arrowscale\space div SLW \fi
- w neg h moveto
- 0 0 L w h L w neg a neg rlineto
- \ifpsArrowFill gsave
- \tx at setStrokeTransparency
- fill
- grestore \else gsave closepath stroke grestore \fi
- grestore
- 0 h a sub moveto
-}>
-%
-\define at key[psset]{pstricks-add}{nArrowsA}[2]{\def\psk at nArrowsA{#1}}
-\define at key[psset]{pstricks-add}{nArrowsB}[2]{\def\psk at nArrowsB{#1}}
-\define at key[psset]{pstricks-add}{nArrows}[2]{\def\psk at nArrowsA{#1}\def\psk at nArrowsB{#1}}
-\psset{nArrows=2}
-%
-\@namedef{psas@>>}{%
- \psk at nArrowsA\space 1 sub {
- false \psk at arrowinset \psk at arrowlength \psk at arrowsize \tx at Arrow
- 0 h a sub T
- } repeat
- gsave
- newpath
- false \psk at arrowinset \psk at arrowlength \psk at arrowsize \tx at Arrow
- CP
- grestore
- moveto
-}
-%
-\@namedef{psas@<<}{%
- true \psk at arrowinset \psk at arrowlength \psk at arrowsize \tx at Arrow
- 0 h neg a add T
- \psk at nArrowsB\space 2 sub {
- false \psk at arrowinset \psk at arrowlength \psk at arrowsize \tx at Arrow
- 0 h neg a add T
- } repeat
- false \psk at arrowinset \psk at arrowlength \psk at arrowsize \tx at Arrow
- 0 h a 5 mul 2 div sub moveto
-}
-%
-% DG addition begin - Dec. 18/19, 1997 and Oct. 11, 2002
-% Adapted from \psset at arrows
-\define at key[psset]{pstricks-add}{ArrowInside}{%
- \def\pst at tempArrow{#1}%
- \ifx\pst at tempArrow\@empty \def\psk at ArrowInside{} %
- \else%
- \begingroup%
- \pst at activearrows%
- \xdef\pst at tempg{<#1}%
- \endgroup%
- \expandafter\psset@@ArrowInside\pst at tempg\@empty-\@empty\@nil%
- \if at pst\else\@pstrickserr{Bad intermediate arrow specification: #1}\@ehpa\fi%
- \fi%
-}
-% Adapted from \psset@@arrows
-\def\psset@@ArrowInside#1-#2\@empty#3\@nil{%
- \@psttrue
- \def\next##1,#1-##2,##3\@nil{\def\pst at tempg{##2}}%
- \expandafter\next\pst at arrowtable,#1-#1,\@nil
- \@ifundefined{psas@#2}%
- {\@pstfalse\def\psk at ArrowInside{}}%
- {\def\psk at ArrowInside{#2}}%
-}
-% Default value empty
-\psset{ArrowInside={}}
-% Modified version of \pst at addarrowdef
-\def\pst at addarrowdef{%
- \addto at pscode{%
- /ArrowA {
- \ifx\psk at arrowA\@empty
- \pst at oplineto
- \else
- \pst at arrowdef{A}
- moveto
- \fi
- } def
- /ArrowB { \ifx\psk at arrowB\@empty \else \pst at arrowdef{B} \fi } def
-% DG addition
- /ArrowInside {
- \ifx\psk at ArrowInside\@empty \else \pst at arrowdefA{Inside} \fi
- } def
- }%
-}
-% Adapted from \pst at arrowdef
-\def\pst at arrowdefA#1{%
- \ifnum\pst at repeatarrowsflag>\z@ /Arrow#1c [ 6 2 roll ] cvx def Arrow#1c\fi
- \tx at BeginArrow
- \psk at arrowscale
- \@nameuse{psas@\@nameuse{psk at Arrow#1}}
- \tx at EndArrow%
-}
-% ArrowInsidePos parameter (default value 0.5)
-\define at key[psset]{pstricks-add}{ArrowInsidePos}[0.5]{\pst at checknum{#1}\psk at ArrowInsidePos}%
-%\psset{ArrowInsidePos=0.5}
-%
-%
-% Redefinition of the PostScript /Line macro to print the intermediate
-% arrow on each segment of the line
-%
-\define at key[psset]{pstricks-add}{ArrowInsideNo}[1]{\pst at checknum{#1}\psk at ArrowInsideNo}% hv 20031001
-\define at key[psset]{pstricks-add}{ArrowInsideOffset}[0]{\pst at checknum{#1}\psk at ArrowInsideOffset}% hv 20031001
-%\psset{ArrowInsideNo=1,ArrowInsideOffset=0}
-%
-\def\arrowType at H{H}
-\pst at def{Line}<
- NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if
- (\psk at ArrowInside) length 0 gt {
- \ifx\psk at arrowA\arrowType at H % do we have a Hook arrow at the beginning?
- \pst at number\pshooklength % yes
- \else
- \psk at arrowsize\space CLW mul add dup \psk at arrowlength\space mul exch \psk at arrowinset mul neg add
- \fi
- /arrowlength exch def
- 4 copy % copy all four values for the arrow line
- /y1 ED /x1 ED /y2 ED /x2 ED % save them
- /Alpha y2 y1 sub x2 x1 sub Atan def % the gradient of the line
-% 2 copy /y1 ED /x1 ED ArrowA x1 y1
- ArrowA % draw arrowA
- x1 Alpha cos arrowlength mul add % dx add
- y1 Alpha sin arrowlength mul add % dy add, to get the current point at the end of the arrow tip
- /n n 1 sub def
- n {
- 4 copy
- /y1 ED /x1 ED /y2 ED /x2 ED
- x1 y1
- \psk at ArrowInsidePos\space 1 gt {
- /Alpha y2 y1 sub x2 x1 sub Atan def
- /ArrowPos \psk at ArrowInsideOffset\space def
- /dArrowPos \psk at ArrowInsidePos\space abs def
-% /Length x2 x1 sub y2 y1 sub Pyth def
- \psk at ArrowInsideNo\space cvi {
- /ArrowPos ArrowPos dArrowPos add def
-% ArrowPos Length gt { exit } if
- x1 Alpha cos ArrowPos mul add
- y1 Alpha sin ArrowPos mul add
- ArrowInside
- pop pop
- } repeat
- }{
- /ArrowPos \psk at ArrowInsideOffset\space def
- /dArrowPos \psk at ArrowInsideNo 1 gt {%
- 1.0 \psk at ArrowInsideNo 1.0 add div
- }{\psk at ArrowInsidePos } ifelse def
- \psk at ArrowInsideNo\space cvi {
- /ArrowPos ArrowPos dArrowPos add def
- x2 x1 sub ArrowPos mul x1 add
- y2 y1 sub ArrowPos mul y1 add
- ArrowInside
- pop pop
- } repeat
- } ifelse
- pop pop Lineto
- } repeat
- }{ ArrowA /n n 2 sub def n { Lineto } repeat } ifelse
- CP 4 2 roll ArrowB L pop pop } if >
-%
-% Redefinition of the PostScript /Polygon macro to print the intermediate
-% arrow on each segment of the line
-\pst at def{Polygon}<{%
- NArray n 2 eq { 0 0 /n 3 def } if
- n 3 lt {
- n { pop pop } repeat
- }{
- n 3 gt { CheckClosed } if
- n 2 mul -2 roll
- /y0 ED
- /x0 ED
- /y1 ED
- /x1 ED
- /xx1 x1 def
- /yy1 y1 def
- x1 y1
- /x1 x0 x1 add 2 div def
- /y1 y0 y1 add 2 div def
- x1 y1 moveto
- /n n 2 sub def
- /drawArrows {
- x11 y11
- \psk at ArrowInsidePos\space 1 gt {
- /Alpha y12 y11 sub x12 x11 sub atan def
- /ArrowPos \psk at ArrowInsideOffset\space def
- /Length x12 x11 sub y12 y11 sub Pyth def
- /dArrowPos \psk at ArrowInsidePos\space abs def
- {
- /ArrowPos ArrowPos dArrowPos add def
- ArrowPos Length gt { exit } if
- x11 Alpha cos ArrowPos mul add
- y11 Alpha sin ArrowPos mul add
- currentdict /ArrowInside known { ArrowInside } if
- pop pop
- } loop
- }{
- /ArrowPos \psk at ArrowInsideOffset\space def
- /dArrowPos \psk at ArrowInsideNo\space 1 gt {%
- 1.0 \psk at ArrowInsideNo\space 1.0 add div
- }{ \psk at ArrowInsidePos } ifelse def
- \psk at ArrowInsideNo\space cvi {
- /ArrowPos ArrowPos dArrowPos add def
- x12 x11 sub ArrowPos mul x11 add
- y12 y11 sub ArrowPos mul y11 add
- currentdict /ArrowInside known { ArrowInside } if
- pop pop
- } repeat
- } ifelse
- pop pop Lineto
- } def
- n {
- 4 copy
- /y11 ED /x11 ED /y12 ED /x12 ED
- drawArrows
- } repeat
- x1 y1 x0 y0
- 6 4 roll
- 2 copy
- /y11 ED /x11 ED /y12 y0 def /x12 x0 def
- drawArrows
- /y11 y0 def /x11 x0 def /y12 yy1 def /x12 xx1 def
- drawArrows
- pop pop
- closepath
- } ifelse %
-}>
-%
-%
-% Redefinition of the PostScript /OpenBezier macro to print the intermediate
-% arrow
-\pst at def{OpenBezier}<{%
- /dArrowPos \psk at ArrowInsideNo 1 gt {%
- 1.0 \psk at ArrowInsideNo 1.0 add div
- }{ \psk at ArrowInsidePos } ifelse def
- BezierNArray
- n 1 eq { pop pop
- }{ 2 copy
- /y0 ED /x0 ED
- ArrowA
- n 4 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat
- 6 2 roll
- 4 2 roll
- ArrowB
- /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED
- /cx x1 x0 sub 3 mul def
- /cy y1 y0 sub 3 mul def
- /bx x2 x1 sub 3 mul cx sub def
- /by y2 y1 sub 3 mul cy sub def
- /ax x3 x0 sub cx sub bx sub def
- /ay y3 y0 sub cy sub by sub def
- /getValues {
- ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add
- ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add
- ax t 3 exp mul bx t t mul mul add cx t mul add x0 add
- ay t 3 exp mul by t t mul mul add cy t mul add y0 add
- } def
- /getdL {
- getValues
- 3 -1 roll sub 3 1 roll sub Pyth
- } def
- /CurveLength {
- /u 0 def
- /du 0.01 def
- 0 100 {
- /t0 u def
- /u u du add def
- /t u def
- getdL add
- } repeat } def
- /GetArrowPos {
- /ende \psk at ArrowInsidePos\space 1 gt
- {ArrowPos}
- {ArrowPos CurveLength mul} ifelse def
- /u 0 def
- /du 0.01 def
- /sum 0 def
- { /t0 u def
- /u u du add def
- /t u def
- /sum getdL sum add def
- sum ende gt {exit} if
- } loop u
- } def
- /ArrowPos \psk at ArrowInsideOffset\space def
- /loopNo \psk at ArrowInsidePos\space 1 gt {%
- CurveLength \psk at ArrowInsidePos\space div cvi
- }{ \psk at ArrowInsideNo } ifelse def
- loopNo cvi {
- /ArrowPos ArrowPos dArrowPos add def
- /t GetArrowPos def
- /t0 t 0.95 mul def
- getValues
- ArrowInside pop pop pop pop
- } repeat
- x1 y1 x2 y2 x3 y3 curveto
- } ifelse
-}>
-%
-% Redefinition of the PostScript /NCLine macro to print the intermediate
-% arrow of the line
-\pst at def{NCLine}<{%
- NCCoor
- tx at Dict begin
- ArrowA CP 4 2 roll ArrowB
- 4 copy
- /y2 ED /x2 ED /y1 ED /x1 ED
- x1 y1
- \psk at ArrowInsidePos\space 1 gt {
- /Alpha y2 y1 sub x2 x1 sub atan def
- /ArrowPos \psk at ArrowInsideOffset\space def
- /Length x2 x1 sub y2 y1 sub Pyth def
- /dArrowPos \psk at ArrowInsidePos\space abs def
- {%
- /ArrowPos ArrowPos dArrowPos add def
- ArrowPos Length gt { exit } if
- x1 Alpha cos ArrowPos mul add
- y1 Alpha sin ArrowPos mul add
- ArrowInside
- pop pop
- } loop
- }{%
- /ArrowPos \psk at ArrowInsideOffset\space def
- /dArrowPos \psk at ArrowInsideNo 1 gt {%
- 1.0 \psk at ArrowInsideNo 1.0 add div
- }{ \psk at ArrowInsidePos } ifelse def
- \psk at ArrowInsideNo\space cvi {
- /ArrowPos ArrowPos dArrowPos add def
- x2 x1 sub ArrowPos mul x1 add
- y2 y1 sub ArrowPos mul y1 add
- ArrowInside
- pop pop
- } repeat
- } ifelse
- pop pop lineto pop pop
- end%
-}>
-%
-\pst at def{NCCurve}<{%
- GetEdgeA GetEdgeB
- xA1 xB1 sub yA1 yB1 sub
- Pyth 2 div dup 3 -1 roll mul
- /ArmA ED
- mul
- /ArmB ED
- /ArmTypeA 0 def
- /ArmTypeB 0 def
- GetArmA GetArmB
- xA2 yA2 xA1 yA1
- 2 copy
- /y0 ED /x0 ED
- tx at Dict begin
- ArrowA
- end
- xB2 yB2 xB1 yB1
- tx at Dict begin
- ArrowB
- end
- /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED
- /cx x1 x0 sub 3 mul def
- /cy y1 y0 sub 3 mul def
- /bx x2 x1 sub 3 mul cx sub def
- /by y2 y1 sub 3 mul cy sub def
- /ax x3 x0 sub cx sub bx sub def
- /ay y3 y0 sub cy sub by sub def
- /getValues {
- ax t0 3 exp mul bx t0 t0 mul mul add cx t0 mul add x0 add
- ay t0 3 exp mul by t0 t0 mul mul add cy t0 mul add y0 add
- ax t 3 exp mul bx t t mul mul add cx t mul add x0 add
- ay t 3 exp mul by t t mul mul add cy t mul add y0 add
- } def
- /getdL {
- getValues
- 3 -1 roll sub 3 1 roll sub Pyth
- } def
- /CurveLength {
- /u 0 def
- /du 0.01 def
- 0 100 {
- /t0 u def
- /u u du add def
- /t u def
- getdL add
- } repeat } def
- /GetArrowPos {
- /ende \psk at ArrowInsidePos\space 1 gt {ArrowPos}{ArrowPos CurveLength mul} ifelse def
- /u 0 def
- /du 0.01 def
- /sum 0 def
- {
- /t0 u def
- /u u du add def
- /t u def
- /sum getdL sum add def
- sum ende gt {exit} if
- } loop u
- } def
- /dArrowPos \psk at ArrowInsideNo 1 gt {%
- 1.0 \psk at ArrowInsideNo 1.0 add div
- }{ \psk at ArrowInsidePos } ifelse def
- /ArrowPos \psk at ArrowInsideOffset\space def
- /loopNo \psk at ArrowInsidePos\space 1 gt {%
- CurveLength \psk at ArrowInsidePos\space div cvi
- }{ \psk at ArrowInsideNo } ifelse def
- loopNo cvi {
- /ArrowPos ArrowPos dArrowPos add def
- /t GetArrowPos def
- /t0 t 0.95 mul def
- getValues
- ArrowInside pop pop pop pop
- } repeat
- x1 y1 x2 y2 x3 y3 curveto
- /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] cvx def
- /LPutPos { t LPutVar BezierMidpoint } def
- /HPutPos { { HPutLines } HPutCurve } def
- /VPutPos { { VPutLines } HPutCurve } def
-}>
-%
\def\parseRP#1;#2;#3\@nil{%check whether arg of refpt contains ;
\def\arg at A{#1}\def\arg at B{#2}}
%
@@ -2587,10 +2008,6 @@
\def\pst at linetype{0}%
% \pstScalePoints(1,1){}{}%
\psset[pstricks-add]{%
- hooklength=3mm, hookwidth=1mm,
- ArrowFill=true,
- ArrowInside={}, ArrowInsidePos=0.5,
- ArrowInsideNo=1, ArrowInsideOffset=0,
randomPoints=1000,color=false,
whichabs={},whichord={},
plotfuncx={},plotfuncy={},buildvector=false,
More information about the tex-live-commits
mailing list