diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:46:03 +0000 |
commit | 873660d1a83ece926fe7206288dda9c36b349c1b (patch) | |
tree | a48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex | |
parent | 2939242967231097459df0fc3150fabc2f639111 (diff) |
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex | 806 |
1 files changed, 806 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex new file mode 100644 index 00000000000..e953e2d28b1 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex @@ -0,0 +1,806 @@ +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.code.tex,v 1.2 2005/07/06 15:58:57 tantau Exp $ + +% Copyright 2005 by Till Tantau <tantau@cs.tu-berlin.de>. +% +% This program can be redistributed and/or modified under the terms +% of the GNU Public License, version 2. + + +% A square bracket shaped arrow + +\pgfarrowsdeclare{[}{]} +{ + \@tempdima=1pt% + \advance\@tempdima by1.25\pgflinewidth% + \pgfarrowsleftextend{-\@tempdima} + \pgfarrowsrightextend{.5\pgflinewidth} +} +{ + \@tempdima=2pt% + \advance\@tempdima by1.5\pgflinewidth% + \@tempdimb=\@tempdima% + \advance\@tempdimb by\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfsetbuttcap + \pgfpathmoveto{\pgfpoint{-.5\@tempdimb}{-\@tempdima}} + \pgfpathlineto{\pgfpoint{0pt}{-\@tempdima}} + \pgfpathlineto{\pgfpoint{0pt}{\@tempdima}} + \pgfpathlineto{\pgfpoint{-.5\@tempdimb}{\@tempdima}} + \pgfusepathqstroke +} + +\pgfarrowsdeclarereversed{]}{[}{[}{]} + + +% A round bracket shaped arrow + +\pgfarrowsdeclare{(}{)} +{ + \@tempdima=2pt% + \advance\@tempdima by1.5\pgflinewidth% + \@tempdimb=0.0625\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} + \@tempdimb=0.5\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} +} +{ + \@tempdima=2pt% + \advance\@tempdima by1.5\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfpathmoveto{\pgfpoint{-.5\@tempdima}{-\@tempdima}} + \pgfpathcurveto + {\pgfpoint{.25\@tempdima}{-.5\@tempdima}} + {\pgfpoint{.25\@tempdima}{.5\@tempdima}} + {\pgfpoint{-.5\@tempdima}{\@tempdima}} + \pgfusepathqstroke +} + +\pgfarrowsdeclarereversed{)}{(}{(}{)} + + + + +% A pointed bracket shaped arrow + +\pgfarrowsdeclare{angle 90}{angle 90} +{ + \@tempdima=0.3pt% + \advance\@tempdima by.25\pgflinewidth% + \@tempdimb=5.5\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=.5\@tempdima\advance\@tempdimb by0.707\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.3pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpoint{-5.5\@tempdima}{-6\@tempdima}} + \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{-5.5\@tempdima}{6\@tempdima}} + \pgfusepathqstroke +} + +\pgfarrowsdeclarereversed{angle 90 reversed}{angle 90 reversed}{angle 90}{angle 90} + + +\pgfarrowsdeclare{angle 60}{angle 60} +{ + \@tempdima=0.3pt% + \advance\@tempdima by.25\pgflinewidth% + \@tempdimb=7.29\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=.5\@tempdima\advance\@tempdimb by\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.3pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{150}{9\@tempdima}}} + \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-150}{9\@tempdima}}} + \pgfusepathqstroke +} + +\pgfarrowsdeclarereversed{angle 60 reversed}{angle 60 reversed}{angle 60}{angle 60} + + + +\pgfarrowsdeclare{angle 45}{angle 45} +{ + \@tempdima=0.3pt% + \advance\@tempdima by.25\pgflinewidth% + \@tempdimb=8.705\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=.5\@tempdima\advance\@tempdimb by1.28\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.3pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{157}{10\@tempdima}}} + \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-157}{10\@tempdima}}} + \pgfusepathqstroke +} + +\pgfarrowsdeclarereversed{angle 45 reversed}{angle 45 reversed}{angle 45}{angle 45} + + + +% A dot shaped arrow + +\pgfarrowsdeclare{*}{*} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \@tempdimb=5.5\@tempdima\advance\@tempdimb by\pgflinewidth + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=1.5\@tempdima\advance\@tempdimb by.5\pgflinewidth + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfpathcircle{\pgfpoint{-3\@tempdima}{0pt}}{4.5\@tempdima} + \pgfusepathqfillstroke +} + + +% An open dot shaped arrow + +\pgfarrowsdeclare{o}{o} +{ + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \@tempdimb=9\@tempdima\advance\@tempdimb by.5\pgflinewidth + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfpathcircle{\pgfpoint{4.5\@tempdima}{0bp}}{4.5\@tempdima} + \pgfusepathqstroke +} + + + +% A diamond shaped arrow + +\pgfarrowsdeclare{diamond}{diamond} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.275\pgflinewidth% + \@tempdimb=13\@tempdima\advance\@tempdimb by.5\pgflinewidth + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=1\@tempdima\advance\@tempdimb by.5\pgflinewidth + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.275\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundjoin + \pgfpathmoveto{\pgfpoint{1\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{-6\@tempdima}{4\@tempdima}} + \pgfpathlineto{\pgfpoint{-13\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{-6\@tempdima}{-4\@tempdima}} + \pgfpathclose + \pgfusepathqfillstroke +} + +\pgfarrowsdeclare{open diamond}{open diamond}%{{-.5bp}{14.5bp}} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.275\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=14\@tempdima\advance\@tempdimb by.5\pgflinewidth + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.275\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundjoin + \pgfpathmoveto{\pgfpoint{14\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{7\@tempdima}{4\@tempdima}} + \pgfpathlineto{\pgfpoint{0\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{7\@tempdima}{-4\@tempdima}} + \pgfpathclose + \pgfusepathqstroke +} + + + +% A triangle shaped arrow + +\pgfarrowsdeclare{triangle 90}{triangle 90} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \@tempdimb=5.5\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=.5\@tempdima\advance\@tempdimb by0.707\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpoint{-5.5\@tempdima}{-6\@tempdima}} + \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{-5.5\@tempdima}{6\@tempdima}} + \pgfpathclose + \pgfusepathqfillstroke +} + +\pgfarrowsdeclarereversed{triangle 90 reversed}{triangle 90 reversed}{triangle 90}{triangle 90} + + +\pgfarrowsdeclare{triangle 60}{triangle 60} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \@tempdimb=7.29\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=.5\@tempdima\advance\@tempdimb by\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{150}{9\@tempdima}}} + \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-150}{9\@tempdima}}} + \pgfpathclose + \pgfusepathqfillstroke +} + +\pgfarrowsdeclarereversed{triangle 60 reversed}{triangle 60 reversed}{triangle 60}{triangle 60} + + + + +\pgfarrowsdeclare{triangle 45}{triangle 45} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \@tempdimb=8.705\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=.5\@tempdima\advance\@tempdimb by1.28\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{157}{10\@tempdima}}} + \pgfpathlineto{\pgfpoint{0.5\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpointadd{\pgfpoint{0.5\@tempdima}{0pt}}{\pgfpointpolar{-157}{10\@tempdima}}} + \pgfpathclose + \pgfusepathqfillstroke +} + +\pgfarrowsdeclarereversed{triangle 45 reversed}{triangle 45 reversed}{triangle 45}{triangle 45} + + + + +\pgfarrowsdeclare{open triangle 90}{open triangle 90} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=6\@tempdima\advance\@tempdimb by0.707\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpoint{0\@tempdima}{-6\@tempdima}} + \pgfpathlineto{\pgfpoint{6\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{0\@tempdima}{6\@tempdima}} + \pgfpathclose + \pgfusepathqstroke +} + +\pgfarrowsdeclare{open triangle 90 reversed}{open triangle 90 reversed} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfarrowsleftextend{-.707\pgflinewidth} + \@tempdimb=6\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpoint{6\@tempdima}{-6\@tempdima}} + \pgfpathlineto{\pgfpoint{0\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{6\@tempdima}{6\@tempdima}} + \pgfpathclose + \pgfusepathqstroke +} + + + +\pgfarrowsdeclare{open triangle 60}{open triangle 60} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=7.794\@tempdima\advance\@tempdimb by\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointadd{\pgfpoint{7.794\@tempdima}{0pt}}{\pgfpointpolar{150}{9\@tempdima}}} + \pgfpathlineto{\pgfpoint{7.794\@tempdima}{0pt}} + \pgfpathlineto{\pgfpointadd{\pgfpoint{7.794\@tempdima}{0pt}}{\pgfpointpolar{-150}{9\@tempdima}}} + \pgfpathclose + \pgfusepathqstroke +} + + + +\pgfarrowsdeclare{open triangle 60 reversed}{open triangle 60 reversed} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfarrowsleftextend{-\pgflinewidth} + \@tempdimb=7.794\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointpolar{30}{9\@tempdima}} + \pgfpathlineto{\pgfpointorigin} + \pgfpathlineto{\pgfpointpolar{-30}{9\@tempdima}} + \pgfpathclose + \pgfusepathqstroke +} + + + +\pgfarrowsdeclare{open triangle 45}{open triangle 45} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=9.205\@tempdima\advance\@tempdimb by1.28\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointadd{\pgfpoint{9.205\@tempdima}{0pt}}{\pgfpointpolar{157}{10\@tempdima}}} + \pgfpathlineto{\pgfpoint{9.205\@tempdima}{0pt}} + \pgfpathlineto{\pgfpointadd{\pgfpoint{9.205\@tempdima}{0pt}}{\pgfpointpolar{-157}{10\@tempdima}}} + \pgfpathclose + \pgfusepathqstroke +} + + + +\pgfarrowsdeclare{open triangle 45 reversed}{open triangle 45 reversed} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfarrowsleftextend{-1.28\pgflinewidth} + \@tempdimb=9.205\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.5pt% + \advance\@tempdima by.25\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetmiterjoin + \pgfpathmoveto{\pgfpointpolar{23}{10\@tempdima}} + \pgfpathlineto{\pgfpointorigin} + \pgfpathlineto{\pgfpointpolar{-23}{10\@tempdima}} + \pgfpathclose + \pgfusepathqstroke +} + + + +% A less fleshy variant of LaTeX's orginal arrow type + +\pgfarrowsdeclare{latex'}{latex'} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfarrowsleftextend{-4\@tempdima} + \pgfarrowsrightextend{6\@tempdima} +} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfpathmoveto{\pgfpoint{6\@tempdima}{0\@tempdima}} + \pgfpathcurveto + {\pgfpoint{3.5\@tempdima}{.5\@tempdima}} + {\pgfpoint{-1\@tempdima}{1.5\@tempdima}} + {\pgfpoint{-4\@tempdima}{3.75\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-1.5\@tempdima}{1\@tempdima}} + {\pgfpoint{-1.5\@tempdima}{-1\@tempdima}} + {\pgfpoint{-4\@tempdima}{-3.75\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-1\@tempdima}{-1.5\@tempdima}} + {\pgfpoint{3.5\@tempdima}{-.5\@tempdima}} + {\pgfpoint{6\@tempdima}{0\@tempdima}} + \pgfusepathqfill +} + +\pgfarrowsdeclarereversed{latex' reversed}{latex' reversed}{latex'}{latex'} + + +% A rounded variant of the stealth arrow + +\pgfarrowsdeclare{stealth'}{stealth'} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \@tempdimb=6\@tempdima\advance\@tempdimb by.5\pgflinewidth% + \pgfarrowsleftextend{-\@tempdimb} + \@tempdimb=2\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundjoin + \pgfpathmoveto{\pgfpoint{2\@tempdima}{0\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-.5\@tempdima}{.5\@tempdima}} + {\pgfpoint{-3\@tempdima}{1.5\@tempdima}} + {\pgfpoint{-6\@tempdima}{3.25\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-3\@tempdima}{1\@tempdima}} + {\pgfpoint{-3\@tempdima}{-1\@tempdima}} + {\pgfpoint{-6\@tempdima}{-3.25\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-3\@tempdima}{-1.5\@tempdima}} + {\pgfpoint{-.5\@tempdima}{-.5\@tempdima}} + {\pgfpoint{2\@tempdima}{0\@tempdima}} + \pgfpathclose + \pgfusepathqfillstroke +} + +\pgfarrowsdeclarereversed{stealth' reversed}{stealth' reversed}{stealth'}{stealth'} + + + +% The two half of the $\to$ arrow + +\pgfarrowsdeclare{left to}{left to} +{ + \@tempdima=-0.84pt% + \advance\@tempdima by-1.3\pgflinewidth% + \@tempdimb=0.21pt% + \advance\@tempdimb by.625\pgflinewidth% + \pgfarrowsleftextend{\@tempdima} + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfsetlinewidth{0.8\pgflinewidth} + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfsetroundjoin + \pgfpathmoveto{\pgfpoint{-3\@tempdima}{4\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-2.75\@tempdima}{2.5\@tempdima}} + {\pgfpoint{0pt}{0.25\@tempdima}} + {\pgfpoint{0.75\@tempdima}{0pt}} + \pgfpathcurveto + {\pgfpoint{0.55\@tempdima}{-0.125\pgflinewidth}} + {\pgfpoint{0.5\@tempdima}{-0.125\pgflinewidth}} + {\pgfpoint{0.5\@tempdima}{-0.125\pgflinewidth}} + \pgfpathlineto{\pgfpoint{0pt}{-0.125\pgflinewidth}} + \pgfusepathqstroke +} + + +\pgfarrowsdeclare{right to}{right to} +{ + \@tempdima=-0.84pt% + \advance\@tempdima by-1.3\pgflinewidth% + \@tempdimb=0.21pt% + \advance\@tempdimb by.625\pgflinewidth% + \pgfarrowsleftextend{\@tempdima} + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfsetlinewidth{0.8\pgflinewidth} + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfsetroundjoin + \pgfpathmoveto{\pgfpoint{-3\@tempdima}{-4\@tempdima}} + \pgfpathcurveto + {\pgfpoint{-2.75\@tempdima}{-2.5\@tempdima}} + {\pgfpoint{0pt}{-0.25\@tempdima}} + {\pgfpoint{0.75\@tempdima}{0pt}} + \pgfpathcurveto + {\pgfpoint{0.55\@tempdima}{0.125\pgflinewidth}} + {\pgfpoint{0.5\@tempdima}{0.125\pgflinewidth}} + {\pgfpoint{0.5\@tempdima}{0.125\pgflinewidth}} + \pgfpathlineto{\pgfpoint{0pt}{0.125\pgflinewidth}} + \pgfusepathqstroke +} + + + +% The halfs of the $\to$ arrow reversed + +\pgfarrowsdeclare{left to reversed}{left to reversed} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfarrowsleftextend{-.1\pgflinewidth} + \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.9\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundjoin + \pgfsetbuttcap + \pgfpathmoveto{\pgfpoint{0.5\pgflinewidth}{0pt}} + \pgfpathlineto{\pgfpoint{-0.1\pgflinewidth}{0pt}} + \pgfusepathqstroke + \pgfsetroundcap + \pgfsetlinewidth{.8\pgflinewidth} + {\pgftransformxshift{0.625\pgflinewidth} + \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{4\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{0.25\@tempdima}}{\pgfpoint{0pt}{0.125\pgflinewidth}} + \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{4\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{0.25\@tempdima}}{\pgfpoint{0pt}{-0.125\pgflinewidth}} + } + \pgfusepathqstroke% +} + +\pgfarrowsdeclare{right to reversed}{right to reversed} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfarrowsleftextend{-.1\pgflinewidth} + \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.9\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.28pt% + \advance\@tempdima by.3\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundjoin + \pgfsetbuttcap + \pgfpathmoveto{\pgfpoint{0.5\pgflinewidth}{0pt}} + \pgfpathlineto{\pgfpoint{-0.1\pgflinewidth}{0pt}} + \pgfusepathqstroke + \pgfsetroundcap + \pgfsetlinewidth{.8\pgflinewidth} + {\pgftransformxshift{0.625\pgflinewidth} + \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{-4\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{-2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{-0.25\@tempdima}}{\pgfpoint{0pt}{-0.125\pgflinewidth}} + \pgfpathmoveto{\pgfpoint{3.75\@tempdima}{-4\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.5\@tempdima}{-2.5\@tempdima}}{\pgfpoint{0.75\@tempdima}{-0.25\@tempdima}}{\pgfpoint{0pt}{0.125\pgflinewidth}} + } + \pgfusepathqstroke% +} + + + +% A left hook + +\pgfarrowsdeclare{left hook}{left hook} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfpathmoveto{\pgfpoint{0\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{0.75\@tempdima}{0\@tempdima}} + \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{3\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{6\@tempdima}}{\pgfpoint{0.75\@tempdima}{6\@tempdima}} + \pgfusepathqstroke% +} + +\pgfarrowsdeclarereversed{left hook reversed}{left hook reversed}{left hook}{left hook} + + + +% A right hook + +\pgfarrowsdeclare{right hook}{right hook} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfpathmoveto{\pgfpoint{0\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{0.75\@tempdima}{0\@tempdima}} + \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{-1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{-3\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{-4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{-6\@tempdima}}{\pgfpoint{0.75\@tempdima}{-6\@tempdima}} + \pgfusepathqstroke% +} + +\pgfarrowsdeclarereversed{right hook reversed}{right hook reversed}{right hook}{right hook} + + +% Hooks in both directions + +\pgfarrowsdeclare{hooks}{hooks} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfarrowsleftextend{-.5\pgflinewidth} + \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.5\pgflinewidth% + \pgfarrowsrightextend{\@tempdimb} +} +{ + \@tempdima=0.4pt% + \advance\@tempdima by.2\pgflinewidth% + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfpathmoveto{\pgfpoint{0\@tempdima}{0\@tempdima}} + \pgfpathlineto{\pgfpoint{0.75\@tempdima}{0\@tempdima}} + \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{3\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{6\@tempdima}}{\pgfpoint{0.75\@tempdima}{6\@tempdima}} + \pgfpathmoveto{\pgfpoint{0.75\@tempdima}{0\@tempdima}} + \pgfpathcurveto{\pgfpoint{2.415\@tempdima}{0\@tempdima}}{\pgfpoint{3.75\@tempdima}{-1.665\@tempdima}}{\pgfpoint{3.75\@tempdima}{-3\@tempdima}} + \pgfpathcurveto{\pgfpoint{3.75\@tempdima}{-4.665\@tempdima}}{\pgfpoint{2.415\@tempdima}{-6\@tempdima}}{\pgfpoint{0.75\@tempdima}{-6\@tempdima}} + \pgfusepathqstroke% +} + +\pgfarrowsdeclarereversed{hooks reversed}{hooks reversed}{hooks}{hooks} + + + + +% Round cap + +\pgfarrowsdeclare{round cap}{round cap} +{\pgfarrowsleftextend{0pt}\pgfarrowsrightextend{\pgflinewidth}} +{ + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfpathmoveto{\pgfpointorigin} + \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0pt}} + \pgfusepathqstroke +} + + +% Butt cap + +\pgfarrowsdeclare{butt cap}{butt cap} +{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{.5\pgflinewidth}} +{ + \pgfsetdash{}{0pt} + \pgfsetbuttcap + \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0pt}} + \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0pt}} + \pgfusepathqstroke +} + + + +% 90 degrees cap + +\pgfarrowsdeclare{triangle 90 cap}{triangle 90 cap} +{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{1\pgflinewidth}} +{ + \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{\pgflinewidth}{0pt}} + \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}} + \pgfusepathqfill +} + + +% reversed 90 degrees cap + +\pgfarrowsdeclare{triangle 90 cap reversed}{triangle 90 cap reversed} +{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{1\pgflinewidth}} +{ + \pgfpathmoveto{\pgfpoint{1\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0\pgflinewidth}} + \pgfusepathqfill +} + + + +% fast + +\pgfarrowsdeclare{fast cap}{fast cap} +{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{2\pgflinewidth}} +{ + \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1\pgflinewidth}{0\pgflinewidth}} + \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}} + \pgfpathclose + \pgfpathmoveto{\pgfpoint{1\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{2\pgflinewidth}{0\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1\pgflinewidth}{-0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{0\pgflinewidth}} + \pgfpathclose + \pgfusepathqfill +} + + +\pgfarrowsdeclare{fast cap reversed}{fast cap reversed} +{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{2\pgflinewidth}} +{ + \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1\pgflinewidth}{.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{.5\pgflinewidth}{0\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}} + \pgfpathclose + \pgfpathmoveto{\pgfpoint{1.5\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{2\pgflinewidth}{0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{0\pgflinewidth}} + \pgfpathlineto{\pgfpoint{2\pgflinewidth}{-.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1.5\pgflinewidth}{-0.5\pgflinewidth}} + \pgfpathlineto{\pgfpoint{1\pgflinewidth}{0\pgflinewidth}} + \pgfpathclose + \pgfusepathqfill +} + + +\endinput |