texlive[41980] Master: pst-arrow (2sep16)

commits+karl at tug.org commits+karl at tug.org
Sat Sep 3 03:25:15 CEST 2016


Revision: 41980
          http://tug.org/svn/texlive?view=revision&revision=41980
Author:   karl
Date:     2016-09-03 03:25:14 +0200 (Sat, 03 Sep 2016)
Log Message:
-----------
pst-arrow (2sep16)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/generic/pst-arrow/
    trunk/Master/texmf-dist/doc/generic/pst-arrow/Changes
    trunk/Master/texmf-dist/doc/generic/pst-arrow/README
    trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib
    trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf
    trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex
    trunk/Master/texmf-dist/tex/generic/pst-arrow/
    trunk/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex
    trunk/Master/texmf-dist/tex/latex/pst-arrow/
    trunk/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty
    trunk/Master/tlpkg/tlpsrc/pst-arrow.tlpsrc

Added: trunk/Master/texmf-dist/doc/generic/pst-arrow/Changes
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-arrow/Changes	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pst-arrow/Changes	2016-09-03 01:25:14 UTC (rev 41980)
@@ -0,0 +1,8 @@
+%% $Id: Changes 330 2016-09-01 19:02:44Z herbert $
+%%
+pst-arrow.sty ----------- 
+ v. 0.01 2016-09-09  initial version
+
+
+pst-arrow.tex ----------- (hv)
+ v. 0.01 2016-09-09  initial version

Added: trunk/Master/texmf-dist/doc/generic/pst-arrow/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-arrow/README	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pst-arrow/README	2016-09-03 01:25:14 UTC (rev 41980)
@@ -0,0 +1,16 @@
+pst-arrow redefines a lot of the pstricks macros.  
+
+pst-arrow.tex: the TeX file
+pst-arrow.sty: the corresponding LaTeX file
+pst-arrow-doc.tex: the included doc file
+
+Save the files pst-arrow.sty|tex in a directory, 
+which is part of your  local TeX tree. 
+Then do not forget to run texhash to update this tree.
+For more information  see the documentation of your LaTeX distribution 
+on installing packages into your local TeX system or read the 
+TeX Frequently Asked Questions:
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+
+# $Id: README 329 2016-09-01 19:01:53Z herbert $


Property changes on: trunk/Master/texmf-dist/doc/generic/pst-arrow/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib	2016-09-03 01:25:14 UTC (rev 41980)
@@ -0,0 +1,113 @@
+ at STRING{tugboat	= {TUGboat} }
+ at STRING{beiprogramm	= {{\TeX}-Beiprogramm} }
+ at STRING{bretter	= {Bretter, die die Welt bedeuten} }
+ at STRING{dtk		= {{D}ie {\TeX}nische {K}om{\"o}die} }
+ at STRING{editorial	= {Editorial} }
+ at STRING{fremdebuehne	= {Von fremden B{\"u}hnen} }
+ at STRING{fundus		= {Aus dem Fundus} }
+ at STRING{hinterbuehne	= {Hinter der B{\"u}hne} }
+ at STRING{leserbrief	= {Leserbrief(e)} }
+ at STRING{magazin	= {Magazin} }
+ at STRING{rezension	= {Rezensionen} }
+ at STRING{schonimmer	= {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} }
+ at STRING{theaterkasse	= {Von der Theaterkasse} }
+ at STRING{theatertage	= {{\TeX}-Theatertage} }
+
+ at Book{PSTricks2,
+  author	= {Herbert Vo\ss},
+  title		= {{\PST} {G}rafik f\"ur \TeX{} und \LaTeX},
+  edition	= {7},
+  publisher	= {DANTE -- Lehmanns},
+  year		= {2016},
+  address	= {Heidelberg/Berlin}
+}
+
+ at Book{PSTricks-E,
+  author	= {Herbert Vo\ss},
+  title		= {{\PST} {G}raphics for \LaTeX},
+  edition	= {1},
+  publisher	= {UIT},
+  year		= {2011},
+  address	= {Cambridge}
+}
+
+ at Book{companion04,
+  author	= {Frank Mittelbach and Michel Goosens et al},
+  title		= {The {\LaTeX} {C}ompanion},
+  edition	= {second},
+  publisher	= {Addison-Wesley Publishing Company},
+  year		= {2004},
+  address	= {Boston}
+}
+
+ at Book{unbound,
+  author	= {Alan Hoenig},
+  title		= {\TeX{} {U}nbound: \LaTeX{} \& \TeX{} {S}trategies, {F}onts, {G}raphics, and {M}ore},
+  publisher	= {Oxford University Press},
+  year		= {1998},
+  address	= {London}
+}
+
+ at Book{tlgc2,
+  author	= {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}},
+  title		= {The {\LaTeX} {G}raphics {C}ompanion},
+  publisher	= {{Addison-Wesley Publishing Company}},
+  edition	= 2,
+  year		= {2007},
+  address	= {Reading, Mass.}
+}
+
+ at Article{girou:01:,
+  author	= {Denis Girou},
+  title		= {Pr\'esentation de {PST}ricks},
+  journal	= {Cahier {GUT}enberg},
+  year		= 1994,
+  volume	= {16},
+  month		= apr,
+  pages		= {21--70}
+}
+
+ at Article{girou:02:,
+  author	= {{Timothy Van} Zandt and Denis Girou},
+  title		= {Inside {PST}ricks},
+  journal	= TUGboat,
+  year		= 1994,
+  volume	= {15},
+  month		= sep,
+  pages		= {239--246}
+}
+
+ at Book{PostScript,
+  Author         = {Kollock, Nikolai G.},
+  Title          = {PostScript richtig eingesetzt: vom {K}onzept zum
+                   praktischen {E}insatz},
+  Publisher      = {IWT},
+  Address        = {Vaterstetten},
+  year           = 1989,
+}
+
+ at online{pstricks,
+  Title          = {PSTricks - {\PS} macros for generic {\TeX}},
+  Author         = {{Timothy Van} Zandt},
+  Organization   = {\TeX\ Users Group},
+  url        = {http://www.tug.org/application/PSTricks},
+  urldate={2016-08-21},
+  year           = 1993
+}
+
+ at ctan{pst-plot,
+  Title          = {\texttt{pst-plot}: Plotting two dimensional functions and data},
+  Author         = {{Timothy Van} Zandt and Herbert Voß},
+  Organization   = {CTAN},
+  url        = {graphics/pstricks/generic/pst-plot.tex},
+  year           = 2016
+}
+
+ at ctan{multido,
+  Title          = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+  Author         = {{Timothy Van} Zandt},
+  Organization   = {CTAN},
+  url        = {/graphics/pstricks/generic/multido.tex},
+  year           = 1997
+}
+


Property changes on: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf	2016-09-03 01:24:10 UTC (rev 41979)
+++ trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf	2016-09-03 01:25:14 UTC (rev 41980)

Property changes on: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex	2016-09-03 01:25:14 UTC (rev 41980)
@@ -0,0 +1,851 @@
+%% $Id: pst-arrow-doc.tex 328 2016-09-01 19:00:31Z herbert $
+\documentclass[11pt,english,BCOR10mm,DIV14,bibliography=totoc,parskip=false,smallheadings
+    headexclude,footexclude,twoside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{pst-node,pst-arrow}
+\let\pstArrowFV\fileversion
+\lstset{preset=\centering,pos=l,wide=false,vsep=5mm,language=PSTricks,%width=0.5\linewidth,
+    morekeywords={multidipole,parallel},basicstyle=\footnotesize\ttfamily}
+%
+\def\bgImage{\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}
+}
+
+\begin{document}
+
+\title{\texttt{pst-arrow}}
+\subtitle{A PSTricks package for drawing arrows; v.\pstArrowFV}
+\author{Herbert Voß}
+%\docauthor{Herbert Vo\ss}
+\date{\today}
+\maketitle
+
+\tableofcontents
+
+\begin{abstract}
+\noindent
+The \LPack{pstricks} related package provides more arrow types.
+
+%\vfill\noindent
+%Thanks to: \\
+%    Jean-C\^ome Charpentier.
+\end{abstract}
+
+%--------------------------------------------------------------------------------------
+\section{Arrows}
+%--------------------------------------------------------------------------------------
+\LPack{pst-arrow} defines the following "`arrows"':
+
+  \def\myline#1{\psline[linecolor=red,linewidth=0.5pt,arrowscale=1.5]{#1}(0,1ex)(1.3,1ex)}%
+  \psset{arrowscale=1.5}
+  \begin{longtable}{@{} 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.\\
+    \hline
+  \end{longtable}
+
+
+\psset{arrowscale=1}
+
+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\\\hline
+  \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)\\\hline
+  \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.
+
+
+\begin{LTXexample}[width=3.5cm]
+\psline[arrowscale=2.5,linecolor=red,arrowinset=0]{<->}(-1,0)(2,0)
+\end{LTXexample}
+
+\psset{arrowscale=1}
+\begin{LTXexample}[width=3.5cm]
+\psline[arrowscale=2.5,linecolor=red,arrowinset=0,ArrowFill=false]{<->}(-1,0)(2,0)
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\psline[arrowscale=2.5,linecolor=red,arrowinset=0,arrowsize=0.2,
+  ArrowFill=false]{<->}(-1,0)(2,0)
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\psline[arrowscale=2.5,linecolor=blue,arrowscale=4,ArrowFill]{>>->>}(-1,0)(2,0)
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\psline[linecolor=blue,arrowscale=3,ArrowFill=false]{>>->>}(-1,0)(2,0)
+\end{LTXexample}
+
+\begin{LTXexample}[width=3.5cm]
+\psline[linecolor=blue,arrowscale=3,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}
+
+
+\clearpage
+
+%--------------------------------------------------------------------------------------
+\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}
+
+
+\clearpage
+
+
+%--------------------------------------------------------------------------------------
+\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}
+
+
+
+\resetArrowOptions
+\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]
+\psset{unit=0.75}
+\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}
+
+
+\psset{unit=1cm}
+
+%--------------------------------------------------------------------------------------
+\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}
+
+
+\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{List of all optional arguments for \texttt{pst-arrow}}
+
+\xkvview{family=pst-arrow,columns={key,type,default}}
+
+
+\bgroup
+\raggedright
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\printindex
+\end{document}
+


Property changes on: trunk/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex	2016-09-03 01:25:14 UTC (rev 41980)
@@ -0,0 +1,624 @@
+%% $Id: pst-arrow.tex 328 2016-09-01 19:00:31Z herbert $
+%%
+%% This is file `pst-arrow.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-arrow.tex'
+%%
+%% Herbert Voss <hvoss at tug.org>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%%   `pst-arrow' is a PSTricks package for additional arrows 
+%%
+\csname PSTarrowLoaded\endcsname
+\let\PSTarrowLoaded\endinput
+%
+% Requires some packages
+\ifx\PSTricksLoaded\endinput\else\input pstricks \fi
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
+%
+\def\fileversion{0.01}
+\def\filedate{2016/09/01}
+\message{`pst-arrow' v\fileversion, \filedate\space (dr,hv)}
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst at addfams{pst-arrow}
+%
+\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]{pst-arrow}{veearrowlength}[3mm]{\pst at getlength{#1}\psk at veearrowlength}
+\psset[pst-arrow]{veearrowlength=3mm} % default projected length
+\define at key[psset]{pst-arrow}{veearrowangle}[30]{\pst at getangle{#1}\psk at veearrowangle}
+\psset[pst-arrow]{veearrowangle=30} % default angle
+\define at key[psset]{pst-arrow}{veearrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at veearrowlinewidth}
+\psset[pst-arrow]{veearrowlinewidth=0.35mm} % default vee arrow line width
+
+% Filled vee arrow
+\define at key[psset]{pst-arrow}{filledveearrowlength}[3mm]{\pst at getlength{#1}\psk at filledveearrowlength}
+\psset[pst-arrow]{filledveearrowlength=3mm} % default projected length
+\define at key[psset]{pst-arrow}{filledveearrowangle}[15]{\pst at getangle{#1}\psk at filledveearrowangle}
+\psset[pst-arrow]{filledveearrowangle=15} % default angle
+\define at key[psset]{pst-arrow}{filledveearrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at filledveearrowlinewidth}
+\psset[pst-arrow]{filledveearrowlinewidth=0.35mm} % default vee arrow line width
+\define at key[psset]{pst-arrow}{arrowlinestyle}[solid]{%
+  \@ifundefined{psls@#1}%
+    {\@pstrickserr{Line style `#1' not defined}\@eha}%
+    {\def\psarrowlinestyle{#1}}}
+\psset[pst-arrow]{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]{pst-arrow}{tickarrowlength}[1.5mm]{\pst at getlength{#1}\psk at tickarrowlength}
+\psset[pst-arrow]{tickarrowlength=1.5mm} % default projected length
+\define at key[psset]{pst-arrow}{tickarrowlinewidth}[0.35mm]{\pst at getlength{#1}\psk at tickarrowlinewidth}
+\psset[pst-arrow]{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]{pst-arrow}{hooklength}[3mm]{\pssetlength\pshooklength{#1}}
+\define at key[psset]{pst-arrow}{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]{pst-arrow}[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]{pst-arrow}{nArrowsA}[2]{\def\psk at nArrowsA{#1}}
+\define at key[psset]{pst-arrow}{nArrowsB}[2]{\def\psk at nArrowsB{#1}}
+\define at key[psset]{pst-arrow}{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]{pst-arrow}{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]{pst-arrow}{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]{pst-arrow}{ArrowInsideNo}[1]{\pst at checknum{#1}\psk at ArrowInsideNo}% hv 20031001
+\define at key[psset]{pst-arrow}{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\resetArrowOptions{%
+  \def\pst at linetype{0}%
+  \psset[pst-arrow]{%
+    hooklength=3mm, hookwidth=1mm,
+    ArrowFill=true,
+    ArrowInside={}, ArrowInsidePos=0.5,
+    ArrowInsideNo=1, ArrowInsideOffset=0,
+}}
+%
+\resetArrowOptions
+%
+\catcode`\@=\PstAtCode\relax
+%
+%% END: pst-arrow.tex
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty	2016-09-03 01:25:14 UTC (rev 41980)
@@ -0,0 +1,11 @@
+%% $Id: pst-arrow.sty 328 2016-09-01 19:00:31Z herbert $
+%
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-arrow}[2016/09/01 v. 0.01 package wrapper for 
+  pst-arrow.tex (hv)]
+\input{pst-arrow.tex}
+\ProvidesFile{pst-arrow.tex}
+\InputIfFileExists{pst-arrow.cfg}{%
+    \PackageInfo{pst-arrow}{Local config file pst-arrow.cfg used}
+}{}
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2016-09-03 01:24:10 UTC (rev 41979)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2016-09-03 01:25:14 UTC (rev 41980)
@@ -474,7 +474,7 @@
     prosper protex protocol przechlewski-book
     psbao pseudocode psfrag psfrag-italian psfragx
     psgo psizzl pslatex psnfss pspicture
-    pst-2dplot pst-3d pst-3dplot pst-abspos pst-am pst-asr pst-bar
+    pst-2dplot pst-3d pst-3dplot pst-abspos pst-am pst-arrow pst-asr pst-bar
     pst-barcode pst-bezier pst-blur pst-bspline
     pst-calendar pst-cie pst-circ pst-coil pst-cox pst-dbicons pst-diffraction
     pst-electricfield pst-eps pst-eucl pst-eucl-translation-bg pst-exa

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2016-09-03 01:24:10 UTC (rev 41979)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2016-09-03 01:25:14 UTC (rev 41980)
@@ -862,6 +862,7 @@
  'pst-3d',      "&MAKEpst",
  'pst-3dplot',  "&MAKEpst",
  'pst-abspos',  "&MAKEpst",
+ 'pst-arrow',  "&MAKEpst",
  'pst-am',      "&MAKEpst",
  'pst-asr',     "&MAKEpst",
  'pst-bar',     "&MAKEpst",

Modified: trunk/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc	2016-09-03 01:24:10 UTC (rev 41979)
+++ trunk/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc	2016-09-03 01:25:14 UTC (rev 41980)
@@ -17,6 +17,7 @@
 depend pst-3d
 depend pst-3dplot
 depend pst-abspos
+depend pst-arrow
 depend pst-am
 depend pst-asr
 depend pst-bar

Added: trunk/Master/tlpkg/tlpsrc/pst-arrow.tlpsrc
===================================================================


More information about the tex-live-commits mailing list