diff options
author | Karl Berry <karl@freefriends.org> | 2016-09-03 01:25:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-09-03 01:25:14 +0000 |
commit | 2e03ce1ab48d0df8278421f3c58e89e063e51e3b (patch) | |
tree | 4705e4e10e8d841428d7aa8871fb01cf53a73aca /Master/texmf-dist | |
parent | 3f1f836612a33595683361deac1863bf8011b89a (diff) |
pst-arrow (2sep16)
git-svn-id: svn://tug.org/texlive/trunk@41980 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-arrow/Changes | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-arrow/README | 16 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib | 113 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf | bin | 0 -> 198705 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex | 851 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex | 624 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty | 11 |
7 files changed, 1623 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-arrow/Changes b/Master/texmf-dist/doc/generic/pst-arrow/Changes new file mode 100644 index 00000000000..c0ef09abf92 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-arrow/Changes @@ -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 diff --git a/Master/texmf-dist/doc/generic/pst-arrow/README b/Master/texmf-dist/doc/generic/pst-arrow/README new file mode 100644 index 00000000000..a56e1bfbab3 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-arrow/README @@ -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 $ diff --git a/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib b/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib new file mode 100644 index 00000000000..1b365d52aea --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.bib @@ -0,0 +1,113 @@ +@STRING{tugboat = {TUGboat} } +@STRING{beiprogramm = {{\TeX}-Beiprogramm} } +@STRING{bretter = {Bretter, die die Welt bedeuten} } +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } +@STRING{editorial = {Editorial} } +@STRING{fremdebuehne = {Von fremden B{\"u}hnen} } +@STRING{fundus = {Aus dem Fundus} } +@STRING{hinterbuehne = {Hinter der B{\"u}hne} } +@STRING{leserbrief = {Leserbrief(e)} } +@STRING{magazin = {Magazin} } +@STRING{rezension = {Rezensionen} } +@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} } +@STRING{theaterkasse = {Von der Theaterkasse} } +@STRING{theatertage = {{\TeX}-Theatertage} } + +@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} +} + +@Book{PSTricks-E, + author = {Herbert Vo\ss}, + title = {{\PST} {G}raphics for \LaTeX}, + edition = {1}, + publisher = {UIT}, + year = {2011}, + address = {Cambridge} +} + +@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} +} + +@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} +} + +@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.} +} + +@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} +} + +@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} +} + +@Book{PostScript, + Author = {Kollock, Nikolai G.}, + Title = {PostScript richtig eingesetzt: vom {K}onzept zum + praktischen {E}insatz}, + Publisher = {IWT}, + Address = {Vaterstetten}, + year = 1989, +} + +@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 +} + +@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 +} + +@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 +} + diff --git a/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf b/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf Binary files differnew file mode 100644 index 00000000000..4abb2df2c95 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex b/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex new file mode 100644 index 00000000000..bc5980c0f26 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-arrow/pst-arrow-doc.tex @@ -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} + diff --git a/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex b/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex new file mode 100644 index 00000000000..7e14839b368 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex @@ -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@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@addfams{pst-arrow} +% +\def\psBigArrow{\pst@object{psBigArrow}} +\def\psBigArrow@i(#1)(#2){% + \addbefore@par{doublesep=1cm} + \begin@ClosedObj + \pssetlength\pst@dimm{\psdoublesep} + \pst@getcoor{#1}\pst@tempA + \pst@getcoor{#2}\pst@tempB + \addto@pscode{ + /Width \pst@number\pst@dimm def + \pst@tempA % x y + \pst@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@tempA + translate + rotate + 0 0 moveto + 0 Width 2 div rlineto % | + \pst@tempB \pst@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@tempB \pst@tempA Pyth2 neg Width 1.5 mul add 0 rlineto + closepath + }% + \end@ClosedObj +} +% the original table +% \def\pst@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@arrowtable{\pst@arrowtable,v-v,V-V,f-f,F-F,t-t,T-T} + +% Vee arrow +\define@key[psset]{pst-arrow}{veearrowlength}[3mm]{\pst@getlength{#1}\psk@veearrowlength} +\psset[pst-arrow]{veearrowlength=3mm} % default projected length +\define@key[psset]{pst-arrow}{veearrowangle}[30]{\pst@getangle{#1}\psk@veearrowangle} +\psset[pst-arrow]{veearrowangle=30} % default angle +\define@key[psset]{pst-arrow}{veearrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@veearrowlinewidth} +\psset[pst-arrow]{veearrowlinewidth=0.35mm} % default vee arrow line width + +% Filled vee arrow +\define@key[psset]{pst-arrow}{filledveearrowlength}[3mm]{\pst@getlength{#1}\psk@filledveearrowlength} +\psset[pst-arrow]{filledveearrowlength=3mm} % default projected length +\define@key[psset]{pst-arrow}{filledveearrowangle}[15]{\pst@getangle{#1}\psk@filledveearrowangle} +\psset[pst-arrow]{filledveearrowangle=15} % default angle +\define@key[psset]{pst-arrow}{filledveearrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@filledveearrowlinewidth} +\psset[pst-arrow]{filledveearrowlinewidth=0.35mm} % default vee arrow line width +\define@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@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@v}{% + false false \psk@veearrowangle \psk@veearrowlength \psk@veearrowlinewidth \tx@VeeArrow} +\@namedef{psas@V}{% + false true \psk@veearrowangle \psk@veearrowlength \psk@veearrowlinewidth \tx@VeeArrow} +\@namedef{psas@f}{% + true false \psk@filledveearrowangle \psk@filledveearrowlength \psk@filledveearrowlinewidth \tx@VeeArrow} +\@namedef{psas@F}{% + true true \psk@filledveearrowangle \psk@filledveearrowlength \psk@filledveearrowlinewidth \tx@VeeArrow} + +% And An another arrowhead +% architectural tick / oblique arrow + +% Tick arrow +\define@key[psset]{pst-arrow}{tickarrowlength}[1.5mm]{\pst@getlength{#1}\psk@tickarrowlength} +\psset[pst-arrow]{tickarrowlength=1.5mm} % default projected length +\define@key[psset]{pst-arrow}{tickarrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@tickarrowlinewidth} +\psset[pst-arrow]{tickarrowlinewidth=0.35mm} % default tick arrow line width + +\pst@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@t}{ false \psk@tickarrowlength \psk@tickarrowlinewidth \tx@TickArrow } +\@namedef{psas@T}{ true \psk@tickarrowlength \psk@tickarrowlinewidth \tx@TickArrow } +% +% HookLeft/RightArrow +\newdimen\pshooklength +\newdimen\pshookwidth +\define@key[psset]{pst-arrow}{hooklength}[3mm]{\pssetlength\pshooklength{#1}} +\define@key[psset]{pst-arrow}{hookwidth}[1mm]{\pssetlength\pshookwidth{#1}} +%\psset{hooklength=3mm,hookwidth=1mm} +% +\edef\pst@arrowtable{\pst@arrowtable,H-H,h-h} % add new arrow +\def\tx@RHook{RHook } % PostScript name +\def\tx@Rhook{Rhook } % PostScript name +\@namedef{psas@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@number\pshooklength + \pst@number\pshookwidth + \tx@RHook +} +\@namedef{psas@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@arrowlength \psk@arrowsize \tx@Rhook +} +% New parameter "arrowfill", with default as "true" +\define@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@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@number\pslinewidth \pst@arrowscale\space div SLW \fi + w neg h moveto + 0 0 L w h L w neg a neg rlineto + \ifpsArrowFill gsave + \tx@setStrokeTransparency + fill + grestore \else gsave closepath stroke grestore \fi + grestore + 0 h a sub moveto +}> +% +\define@key[psset]{pst-arrow}{nArrowsA}[2]{\def\psk@nArrowsA{#1}} +\define@key[psset]{pst-arrow}{nArrowsB}[2]{\def\psk@nArrowsB{#1}} +\define@key[psset]{pst-arrow}{nArrows}[2]{\def\psk@nArrowsA{#1}\def\psk@nArrowsB{#1}} +\psset{nArrows=2} +% +\@namedef{psas@>>}{% + \psk@nArrowsA\space 1 sub { + false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow + 0 h a sub T + } repeat + gsave + newpath + false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow + CP + grestore + moveto +} +% +\@namedef{psas@<<}{% + true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow + 0 h neg a add T + \psk@nArrowsB\space 2 sub { + false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow + 0 h neg a add T + } repeat + false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@Arrow + 0 h a 5 mul 2 div sub moveto +} +% +% DG addition begin - Dec. 18/19, 1997 and Oct. 11, 2002 +% Adapted from \psset@arrows +\define@key[psset]{pst-arrow}{ArrowInside}{% + \def\pst@tempArrow{#1}% + \ifx\pst@tempArrow\@empty \def\psk@ArrowInside{} % + \else% + \begingroup% + \pst@activearrows% + \xdef\pst@tempg{<#1}% + \endgroup% + \expandafter\psset@@ArrowInside\pst@tempg\@empty-\@empty\@nil% + \if@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@tempg{##2}}% + \expandafter\next\pst@arrowtable,#1-#1,\@nil + \@ifundefined{psas@#2}% + {\@pstfalse\def\psk@ArrowInside{}}% + {\def\psk@ArrowInside{#2}}% +} +% Default value empty +\psset{ArrowInside={}} +% Modified version of \pst@addarrowdef +\def\pst@addarrowdef{% + \addto@pscode{% + /ArrowA { + \ifx\psk@arrowA\@empty + \pst@oplineto + \else + \pst@arrowdef{A} + moveto + \fi + } def + /ArrowB { \ifx\psk@arrowB\@empty \else \pst@arrowdef{B} \fi } def +% DG addition + /ArrowInside { + \ifx\psk@ArrowInside\@empty \else \pst@arrowdefA{Inside} \fi + } def + }% +} +% Adapted from \pst@arrowdef +\def\pst@arrowdefA#1{% + \ifnum\pst@repeatarrowsflag>\z@ /Arrow#1c [ 6 2 roll ] cvx def Arrow#1c\fi + \tx@BeginArrow + \psk@arrowscale + \@nameuse{psas@\@nameuse{psk@Arrow#1}} + \tx@EndArrow% +} +% ArrowInsidePos parameter (default value 0.5) +\define@key[psset]{pst-arrow}{ArrowInsidePos}[0.5]{\pst@checknum{#1}\psk@ArrowInsidePos}% +%\psset{ArrowInsidePos=0.5} +% +% +% Redefinition of the PostScript /Line macro to print the intermediate +% arrow on each segment of the line +% +\define@key[psset]{pst-arrow}{ArrowInsideNo}[1]{\pst@checknum{#1}\psk@ArrowInsideNo}% hv 20031001 +\define@key[psset]{pst-arrow}{ArrowInsideOffset}[0]{\pst@checknum{#1}\psk@ArrowInsideOffset}% hv 20031001 +%\psset{ArrowInsideNo=1,ArrowInsideOffset=0} +% +\def\arrowType@H{H} +\pst@def{Line}< + NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if + (\psk@ArrowInside) length 0 gt { + \ifx\psk@arrowA\arrowType@H % do we have a Hook arrow at the beginning? + \pst@number\pshooklength % yes + \else + \psk@arrowsize\space CLW mul add dup \psk@arrowlength\space mul exch \psk@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@ArrowInsidePos\space 1 gt { + /Alpha y2 y1 sub x2 x1 sub Atan def + /ArrowPos \psk@ArrowInsideOffset\space def + /dArrowPos \psk@ArrowInsidePos\space abs def +% /Length x2 x1 sub y2 y1 sub Pyth def + \psk@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@ArrowInsideOffset\space def + /dArrowPos \psk@ArrowInsideNo 1 gt {% + 1.0 \psk@ArrowInsideNo 1.0 add div + }{\psk@ArrowInsidePos } ifelse def + \psk@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@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@ArrowInsidePos\space 1 gt { + /Alpha y12 y11 sub x12 x11 sub atan def + /ArrowPos \psk@ArrowInsideOffset\space def + /Length x12 x11 sub y12 y11 sub Pyth def + /dArrowPos \psk@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@ArrowInsideOffset\space def + /dArrowPos \psk@ArrowInsideNo\space 1 gt {% + 1.0 \psk@ArrowInsideNo\space 1.0 add div + }{ \psk@ArrowInsidePos } ifelse def + \psk@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@def{OpenBezier}<{% + /dArrowPos \psk@ArrowInsideNo 1 gt {% + 1.0 \psk@ArrowInsideNo 1.0 add div + }{ \psk@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@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@ArrowInsideOffset\space def + /loopNo \psk@ArrowInsidePos\space 1 gt {% + CurveLength \psk@ArrowInsidePos\space div cvi + }{ \psk@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@def{NCLine}<{% + NCCoor + tx@Dict begin + ArrowA CP 4 2 roll ArrowB + 4 copy + /y2 ED /x2 ED /y1 ED /x1 ED + x1 y1 + \psk@ArrowInsidePos\space 1 gt { + /Alpha y2 y1 sub x2 x1 sub atan def + /ArrowPos \psk@ArrowInsideOffset\space def + /Length x2 x1 sub y2 y1 sub Pyth def + /dArrowPos \psk@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@ArrowInsideOffset\space def + /dArrowPos \psk@ArrowInsideNo 1 gt {% + 1.0 \psk@ArrowInsideNo 1.0 add div + }{ \psk@ArrowInsidePos } ifelse def + \psk@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@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@Dict begin + ArrowA + end + xB2 yB2 xB1 yB1 + tx@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@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@ArrowInsideNo 1 gt {% + 1.0 \psk@ArrowInsideNo 1.0 add div + }{ \psk@ArrowInsidePos } ifelse def + /ArrowPos \psk@ArrowInsideOffset\space def + /loopNo \psk@ArrowInsidePos\space 1 gt {% + CurveLength \psk@ArrowInsidePos\space div cvi + }{ \psk@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@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 diff --git a/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty b/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty new file mode 100644 index 00000000000..5082e6afdd2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pst-arrow/pst-arrow.sty @@ -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 |