% Copyright 2018 by Till Tantau % % This file may be distributed and/or modified % % 1. under the LaTeX Project Public License and/or % 2. under the GNU Public License. % % See the file doc/generic/pgf/licenses/LICENSE for more details. \ProvidesFileRCS{pgflibraryarrows.code.tex} % A square bracket shaped arrow \pgfarrowsdeclare{square bracket}{square bracket} { \pgfutil@tempdima=1pt% \advance\pgfutil@tempdima by1.25\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdima} \pgfarrowsrightextend{+.5\pgflinewidth} } { \pgfutil@tempdima=2pt% \advance\pgfutil@tempdima by1.5\pgflinewidth% \pgfutil@tempdimb=\pgfutil@tempdima% \advance\pgfutil@tempdimb by\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfsetbuttcap \pgfpathmoveto{\pgfqpoint{-.5\pgfutil@tempdimb}{-1\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0pt}{-1\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0pt}{\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-.5\pgfutil@tempdimb}{\pgfutil@tempdima}} \pgfusepathqstroke }% \pgfdeclarearrow{name=[-], means=square bracket}% \pgfarrowsdeclarereversed{]}{[}{[}{]}% % A round bracket shaped arrow \pgfarrowsdeclare{(}{)} { \pgfutil@tempdima=2pt% \advance\pgfutil@tempdima by1.5\pgflinewidth% \pgfutil@tempdimb=0.0625\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} \pgfutil@tempdimb=0.5\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} } { \pgfutil@tempdima=2pt% \advance\pgfutil@tempdima by1.5\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfpathmoveto{\pgfqpoint{-.5\pgfutil@tempdima}{-1\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{.25\pgfutil@tempdima}{-.5\pgfutil@tempdima}} {\pgfqpoint{.25\pgfutil@tempdima}{.5\pgfutil@tempdima}} {\pgfqpoint{-.5\pgfutil@tempdima}{\pgfutil@tempdima}} \pgfusepathqstroke }% \pgfarrowsdeclarereversed{)}{(}{(}{)}% % A pointed bracket shaped arrow \pgfarrowsdeclare{angle 90}{angle 90} { \pgfutil@tempdima=0.3pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfutil@tempdimb=5.5\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by0.707\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.3pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfsetmiterjoin \pgfpathmoveto{\pgfqpoint{-5.5\pgfutil@tempdima}{-6\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-5.5\pgfutil@tempdima}{6\pgfutil@tempdima}} \pgfusepathqstroke }% \pgfarrowsdeclarereversed{angle 90 reversed}{angle 90 reversed}{angle 90}{angle 90}% \pgfarrowsdeclare{angle 60}{angle 60} { \pgfutil@tempdima=0.3pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfutil@tempdimb=7.29\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.3pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfsetmiterjoin \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{150}{9\pgfutil@tempdima}}} \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}} \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{-150}{9\pgfutil@tempdima}}} \pgfusepathqstroke }% \pgfarrowsdeclarereversed{angle 60 reversed}{angle 60 reversed}{angle 60}{angle 60}% \pgfarrowsdeclare{angle 45}{angle 45} { \pgfutil@tempdima=0.3pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfutil@tempdimb=8.705\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by1.28\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.3pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfsetmiterjoin \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{157}{10\pgfutil@tempdima}}} \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{-157}{10\pgfutil@tempdima}}} \pgfusepathqstroke }% \pgfarrowsdeclarereversed{angle 45 reversed}{angle 45 reversed}{angle 45}{angle 45}% % A dot shaped arrow \pgfarrowsdeclare{*}{*} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfutil@tempdimb=7.5\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=1.5\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfsetdash{}{+0pt} \pgfpathcircle{\pgfqpoint{-3\pgfutil@tempdima}{0pt}}{+4.5\pgfutil@tempdima} \pgfusepathqfillstroke }% % An open dot shaped arrow \pgfarrowsdeclare{o}{o} { \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfutil@tempdimb=9\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfsetdash{}{+0pt} \pgfpathcircle{\pgfqpoint{4.5\pgfutil@tempdima}{0bp}}{4.5\pgfutil@tempdima} \pgfusepathqstroke }% % A diamond shaped arrow \pgfarrowsdeclare{diamond}{diamond} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.275\pgflinewidth% \pgfutil@tempdimb=13\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=1\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.275\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{1\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-6\pgfutil@tempdima}{4\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-13\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-6\pgfutil@tempdima}{-4\pgfutil@tempdima}} \pgfpathclose \pgfusepathqfillstroke }% \pgfarrowsdeclare{open diamond}{open diamond}%{{-.5bp}{14.5bp}} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.275\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=14\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.275\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{14\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{7\pgfutil@tempdima}{4\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{7\pgfutil@tempdima}{-4\pgfutil@tempdima}} \pgfpathclose \pgfusepathqstroke }% % A square shaped arrow \newdimen\arrowsize \pgfarrowsdeclare{square}{square} { \arrowsize=0.4pt \advance\arrowsize by.275\pgflinewidth% \pgfarrowsleftextend{-7\arrowsize-.5\pgflinewidth} \advance\arrowsize by.5\pgflinewidth \pgfarrowsrightextend{+\arrowsize} } { \arrowsize=0.4pt \advance\arrowsize by.275\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{1\arrowsize}{4\arrowsize}} \pgfpathlineto{\pgfqpoint{-7\arrowsize}{4\arrowsize}} \pgfpathlineto{\pgfqpoint{-7\arrowsize}{-4\arrowsize}} \pgfpathlineto{\pgfqpoint{1\arrowsize}{-4\arrowsize}} \pgfpathclose \pgfusepathqfillstroke }% % A open square shaped arrow \pgfarrowsdeclare{open square}{open square}%{{-.5bp}{8.5bp}} { \arrowsize=0.4pt \advance\arrowsize by.275\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \advance\arrowsize by7\arrowsize \advance\arrowsize by.5\pgflinewidth \pgfarrowsrightextend{+\arrowsize} } { \arrowsize=0.4pt \advance\arrowsize by.275\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{8\arrowsize}{4\arrowsize}} \pgfpathlineto{\pgfqpoint{0\arrowsize}{4\arrowsize}} \pgfpathlineto{\pgfqpoint{0\arrowsize}{-4\arrowsize}} \pgfpathlineto{\pgfqpoint{8\arrowsize}{-4\arrowsize}} \pgfpathclose \pgfusepathqstroke }% % A triangle shaped arrow \pgfarrowsdeclare{triangle 90}{triangle 90} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfutil@tempdimb=5.5\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by0.707\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfqpoint{-5.5\pgfutil@tempdima}{-6\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-5.5\pgfutil@tempdima}{6\pgfutil@tempdima}} \pgfpathclose \pgfusepathqfillstroke }% \pgfarrowsdeclarereversed{triangle 90 reversed}{triangle 90 reversed}{triangle 90}{triangle 90}% \pgfarrowsdeclare{triangle 60}{triangle 60} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfutil@tempdimb=7.29\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{150}{9\pgfutil@tempdima}}} \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{-150}{9\pgfutil@tempdima}}} \pgfpathclose \pgfusepathqfillstroke }% \pgfarrowsdeclarereversed{triangle 60 reversed}{triangle 60 reversed}{triangle 60}{triangle 60}% \pgfarrowsdeclare{triangle 45}{triangle 45} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfutil@tempdimb=8.705\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=.5\pgfutil@tempdima\advance\pgfutil@tempdimb by1.28\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{157}{10\pgfutil@tempdima}}} \pgfpathlineto{\pgfqpoint{0.5\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfpointadd{\pgfqpoint{0.5\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{-157}{10\pgfutil@tempdima}}} \pgfpathclose \pgfusepathqfillstroke }% \pgfarrowsdeclarereversed{triangle 45 reversed}{triangle 45 reversed}{triangle 45}{triangle 45}% \pgfarrowsdeclare{open triangle 90}{open triangle 90} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=6\pgfutil@tempdima\advance\pgfutil@tempdimb by0.707\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{-6\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{6\pgfutil@tempdima}} \pgfpathclose \pgfusepathqstroke }% \pgfarrowsdeclare{open triangle 90 reversed}{open triangle 90 reversed}% { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfarrowsleftextend{+-.707\pgflinewidth} \pgfutil@tempdimb=6\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfqpoint{6\pgfutil@tempdima}{-6\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{6\pgfutil@tempdima}{6\pgfutil@tempdima}} \pgfpathclose \pgfusepathqstroke }% \pgfarrowsdeclare{open triangle 60}{open triangle 60} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=7.794\pgfutil@tempdima\advance\pgfutil@tempdimb by\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfpointadd{\pgfqpoint{7.794\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{150}{9\pgfutil@tempdima}}} \pgfpathlineto{\pgfqpoint{7.794\pgfutil@tempdima}{0pt}} \pgfpathlineto{\pgfpointadd{\pgfqpoint{7.794\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{-150}{9\pgfutil@tempdima}}} \pgfpathclose \pgfusepathqstroke }% \pgfarrowsdeclare{open triangle 60 reversed}{open triangle 60 reversed} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfarrowsleftextend{+-\pgflinewidth} \pgfutil@tempdimb=7.794\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfqpointpolar{30}{9\pgfutil@tempdima}} \pgfpathlineto{\pgfpointorigin} \pgfpathlineto{\pgfqpointpolar{-30}{9\pgfutil@tempdima}} \pgfpathclose \pgfusepathqstroke }% \pgfarrowsdeclare{open triangle 45}{open triangle 45} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=9.205\pgfutil@tempdima\advance\pgfutil@tempdimb by1.28\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfpointadd{\pgfqpoint{9.205\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{157}{10\pgfutil@tempdima}}} \pgfpathlineto{\pgfqpoint{9.205\pgfutil@tempdima}{0pt}} \pgfpathlineto{\pgfpointadd{\pgfqpoint{9.205\pgfutil@tempdima}{0pt}}{\pgfqpointpolar{-157}{10\pgfutil@tempdima}}} \pgfpathclose \pgfusepathqstroke }% \pgfarrowsdeclare{open triangle 45 reversed}{open triangle 45 reversed} { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfarrowsleftextend{+-1.28\pgflinewidth} \pgfutil@tempdimb=9.205\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.5pt% \advance\pgfutil@tempdima by.25\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetmiterjoin \pgfpathmoveto{\pgfqpointpolar{23}{10\pgfutil@tempdima}} \pgfpathlineto{\pgfpointorigin} \pgfpathlineto{\pgfqpointpolar{-23}{10\pgfutil@tempdima}} \pgfpathclose \pgfusepathqstroke }% % A less fleshy variant of LaTeX's ordinal arrow type \pgfarrowsdeclare{latex'}{latex'} { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfarrowsleftextend{+-4\pgfutil@tempdima} \pgfarrowsrightextend{+6\pgfutil@tempdima} } { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfpathmoveto{\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{3.5\pgfutil@tempdima}{.5\pgfutil@tempdima}} {\pgfqpoint{-1\pgfutil@tempdima}{1.5\pgfutil@tempdima}} {\pgfqpoint{-4\pgfutil@tempdima}{3.75\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-1.5\pgfutil@tempdima}{1\pgfutil@tempdima}} {\pgfqpoint{-1.5\pgfutil@tempdima}{-1\pgfutil@tempdima}} {\pgfqpoint{-4\pgfutil@tempdima}{-3.75\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-1\pgfutil@tempdima}{-1.5\pgfutil@tempdima}} {\pgfqpoint{3.5\pgfutil@tempdima}{-.5\pgfutil@tempdima}} {\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathclose \pgfusepathqfill }% \pgfarrowsdeclarereversed{latex' reversed}{latex' reversed}{latex'}{latex'}% % A rounded variant of the stealth arrow \pgfarrowsdeclare{stealth'}{stealth'} { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfutil@tempdimb=6\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth% \pgfarrowsleftextend{+-\pgfutil@tempdimb} \pgfutil@tempdimb=2\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{2\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-.5\pgfutil@tempdima}{.5\pgfutil@tempdima}} {\pgfqpoint{-3\pgfutil@tempdima}{1.5\pgfutil@tempdima}} {\pgfqpoint{-6\pgfutil@tempdima}{3.25\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-3\pgfutil@tempdima}{1\pgfutil@tempdima}} {\pgfqpoint{-3\pgfutil@tempdima}{-1\pgfutil@tempdima}} {\pgfqpoint{-6\pgfutil@tempdima}{-3.25\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-3\pgfutil@tempdima}{-1.5\pgfutil@tempdima}} {\pgfqpoint{-.5\pgfutil@tempdima}{-.5\pgfutil@tempdima}} {\pgfqpoint{2\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathclose \pgfusepathqfillstroke }% \pgfarrowsdeclarereversed{stealth' reversed}{stealth' reversed}{stealth'}{stealth'}% % The two half of the $\to$ arrow \pgfarrowsdeclare{left to}{left to} { \pgfutil@tempdima=-0.84pt% \advance\pgfutil@tempdima by-1.3\pgflinewidth% \pgfutil@tempdimb=0.21pt% \advance\pgfutil@tempdimb by.625\pgflinewidth% \pgfarrowsleftextend{+\pgfutil@tempdima} \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfsetlinewidth{0.8\pgflinewidth} \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-2.75\pgfutil@tempdima}{2.5\pgfutil@tempdima}} {\pgfqpoint{0pt}{0.25\pgfutil@tempdima}} {\pgfqpoint{0.75\pgfutil@tempdima}{0pt}} \pgfpathcurveto {\pgfqpoint{0.55\pgfutil@tempdima}{-0.125\pgflinewidth}} {\pgfqpoint{0.5\pgfutil@tempdima}{-0.125\pgflinewidth}} {\pgfqpoint{0.5\pgfutil@tempdima}{-0.125\pgflinewidth}} \pgfpathlineto{\pgfqpoint{0pt}{-0.125\pgflinewidth}} \pgfusepathqstroke }% \pgfarrowsdeclare{right to}{right to} { \pgfutil@tempdima=-0.84pt% \advance\pgfutil@tempdima by-1.3\pgflinewidth% \pgfutil@tempdimb=0.21pt% \advance\pgfutil@tempdimb by.625\pgflinewidth% \pgfarrowsleftextend{+\pgfutil@tempdima} \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfsetlinewidth{0.8\pgflinewidth} \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfsetroundjoin \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-2.75\pgfutil@tempdima}{-2.5\pgfutil@tempdima}} {\pgfqpoint{0pt}{-0.25\pgfutil@tempdima}} {\pgfqpoint{0.75\pgfutil@tempdima}{0pt}} \pgfpathcurveto {\pgfqpoint{0.55\pgfutil@tempdima}{0.125\pgflinewidth}} {\pgfqpoint{0.5\pgfutil@tempdima}{0.125\pgflinewidth}} {\pgfqpoint{0.5\pgfutil@tempdima}{0.125\pgflinewidth}} \pgfpathlineto{\pgfqpoint{0pt}{0.125\pgflinewidth}} \pgfusepathqstroke }% % The halfs of the $\to$ arrow reversed \pgfarrowsdeclare{left to reversed}{left to reversed} { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfarrowsleftextend{+-.1\pgflinewidth} \pgfutil@tempdimb=3.75\pgfutil@tempdima\advance\pgfutil@tempdimb by0.9\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfsetbuttcap \pgfpathmoveto{\pgfqpoint{0.5\pgflinewidth}{0pt}} \pgfpathlineto{\pgfqpoint{-0.1\pgflinewidth}{0pt}} \pgfusepathqstroke \pgfsetroundcap \pgfsetlinewidth{.8\pgflinewidth} {\pgftransformxshift{0.625\pgflinewidth} \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{4\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.5\pgfutil@tempdima}{2.5\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{0.25\pgfutil@tempdima}}{\pgfqpoint{0pt}{0.125\pgflinewidth}} \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{4\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.5\pgfutil@tempdima}{2.5\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{0.25\pgfutil@tempdima}}{\pgfqpoint{0pt}{-0.125\pgflinewidth}} } \pgfusepathqstroke% }% \pgfarrowsdeclare{right to reversed}{right to reversed} { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfarrowsleftextend{+-.1\pgflinewidth} \pgfutil@tempdimb=3.75\pgfutil@tempdima\advance\pgfutil@tempdimb by0.9\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.28pt% \advance\pgfutil@tempdima by.3\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundjoin \pgfsetbuttcap \pgfpathmoveto{\pgfqpoint{0.5\pgflinewidth}{0pt}} \pgfpathlineto{\pgfqpoint{-0.1\pgflinewidth}{0pt}} \pgfusepathqstroke \pgfsetroundcap \pgfsetlinewidth{.8\pgflinewidth} {\pgftransformxshift{0.625\pgflinewidth} \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{-4\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.5\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{-0.25\pgfutil@tempdima}}{\pgfqpoint{0pt}{-0.125\pgflinewidth}} \pgfpathmoveto{\pgfqpoint{3.75\pgfutil@tempdima}{-4\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.5\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{-0.25\pgfutil@tempdima}}{\pgfqpoint{0pt}{0.125\pgflinewidth}} } \pgfusepathqstroke% }% % A left hook \pgfarrowsdeclare{left hook}{left hook} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=3.75\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{1.665\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{3\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.75\pgfutil@tempdima}{4.665\pgfutil@tempdima}}{\pgfqpoint{2.415\pgfutil@tempdima}{6\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{6\pgfutil@tempdima}} \pgfusepathqstroke% }% \pgfarrowsdeclarereversed{left hook reversed}{left hook reversed}{left hook}{left hook}% % A right hook \pgfarrowsdeclare{right hook}{right hook} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=3.75\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{-1.665\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{-3\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.75\pgfutil@tempdima}{-4.665\pgfutil@tempdima}}{\pgfqpoint{2.415\pgfutil@tempdima}{-6\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{-6\pgfutil@tempdima}} \pgfusepathqstroke% }% \pgfarrowsdeclarereversed{right hook reversed}{right hook reversed}{right hook}{right hook}% % Hooks in both directions \pgfarrowsdeclare{hooks}{hooks} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfarrowsleftextend{+-.5\pgflinewidth} \pgfutil@tempdimb=3.75\pgfutil@tempdima\advance\pgfutil@tempdimb by0.5\pgflinewidth% \pgfarrowsrightextend{+\pgfutil@tempdimb} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.2\pgflinewidth% \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfpathmoveto{\pgfqpoint{0\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{1.665\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{3\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.75\pgfutil@tempdima}{4.665\pgfutil@tempdima}}{\pgfqpoint{2.415\pgfutil@tempdima}{6\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{6\pgfutil@tempdima}} \pgfpathmoveto{\pgfqpoint{0.75\pgfutil@tempdima}{0\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{2.415\pgfutil@tempdima}{0\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{-1.665\pgfutil@tempdima}}{\pgfqpoint{3.75\pgfutil@tempdima}{-3\pgfutil@tempdima}} \pgfpathcurveto{\pgfqpoint{3.75\pgfutil@tempdima}{-4.665\pgfutil@tempdima}}{\pgfqpoint{2.415\pgfutil@tempdima}{-6\pgfutil@tempdima}}{\pgfqpoint{0.75\pgfutil@tempdima}{-6\pgfutil@tempdima}} \pgfusepathqstroke% }% \pgfarrowsdeclarereversed{hooks reversed}{hooks reversed}{hooks}{hooks}% % An arrow that looks like a serif of the computer modern font \pgfarrowsdeclare{serif cm}{serif cm} { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.45\pgflinewidth% \pgfarrowsleftextend{+-.75\pgfutil@tempdima} \pgfarrowsrightextend{+.04\pgflinewidth} } { \pgfutil@tempdima=0.4pt% \advance\pgfutil@tempdima by.45\pgflinewidth% \pgftransformxshift{.04\pgflinewidth} \pgfpathmoveto{\pgfqpoint{-.75\pgfutil@tempdima}{.5\pgflinewidth}} \pgfpathcurveto {\pgfqpoint{-.375\pgfutil@tempdima}{.5\pgflinewidth}} {\pgfqpoint{-.375\pgfutil@tempdima}{.7\pgflinewidth}} {\pgfqpoint{-.375\pgfutil@tempdima}{1.95\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{0pt}{1.95\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-.04\pgflinewidth}{.5\pgfutil@tempdima}} {\pgfqpoint{-.04\pgflinewidth}{-.5\pgfutil@tempdima}} {\pgfqpoint{0pt}{-1.95\pgfutil@tempdima}} \pgfpathlineto{\pgfqpoint{-.375\pgfutil@tempdima}{-1.95\pgfutil@tempdima}} \pgfpathcurveto {\pgfqpoint{-.375\pgfutil@tempdima}{-.7\pgflinewidth}} {\pgfqpoint{-.375\pgfutil@tempdima}{-.5\pgflinewidth}} {\pgfqpoint{-.75\pgfutil@tempdima}{-.5\pgflinewidth}} \pgfpathclose \pgfusepathqfill }% % Round cap \pgfarrowsdeclare{round cap}{round cap} {\pgfarrowsleftextend{+0pt}\pgfarrowsrightextend{+\pgflinewidth}} { \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfpathmoveto{\pgfpointorigin} \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0pt}} \pgfusepathqstroke }% % Butt cap \pgfarrowsdeclare{butt cap}{butt cap} {\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+.5\pgflinewidth}} { \pgfsetdash{}{+0pt} \pgfsetbuttcap \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0pt}} \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0pt}} \pgfusepathqstroke }% % 90 degrees cap \pgfarrowsdeclare{triangle 90 cap}{triangle 90 cap} {\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+\pgflinewidth}} { \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{\pgflinewidth}{0pt}} \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}} \pgfpathclose \pgfusepathqfill }% % reversed 90 degrees cap \pgfarrowsdeclare{triangle 90 cap reversed}{triangle 90 cap reversed} {\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+\pgflinewidth}} { \pgfpathmoveto{\pgfqpoint{1\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0\pgflinewidth}} \pgfpathclose \pgfusepathqfill }% % fast \pgfarrowsdeclare{fast cap}{fast cap} {\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+2\pgflinewidth}} { \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{0\pgflinewidth}} \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}} \pgfpathclose \pgfpathmoveto{\pgfqpoint{1\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{0\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{-0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{0\pgflinewidth}} \pgfpathclose \pgfusepathqfill }% \pgfarrowsdeclare{fast cap reversed}{fast cap reversed} {\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+2\pgflinewidth}} { \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{.5\pgflinewidth}{0\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{-.1\pgflinewidth}{-0.5\pgflinewidth}} \pgfpathclose \pgfpathmoveto{\pgfqpoint{1.5\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{0\pgflinewidth}} \pgfpathlineto{\pgfqpoint{2\pgflinewidth}{-.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1.5\pgflinewidth}{-0.5\pgflinewidth}} \pgfpathlineto{\pgfqpoint{1\pgflinewidth}{0\pgflinewidth}} \pgfpathclose \pgfusepathqfill }% % Mathematical arrows % The arrow tip of an \implies arrow, to be used with an inner line. % % Example: % % \pgfsetarrow{-implies} % \pgfsetlinewidth{1.8pt} % \pgfsetinnerlinewidth{1pt} \pgfarrowsdeclare{implies}{implies} { \pgfmathsetlength{\pgfutil@tempdima}{.25\pgflinewidth+.25*\pgfinnerlinewidth}% \pgfmathsetlength{\pgfutil@tempdimb}{.5\pgflinewidth-.5*\pgfinnerlinewidth}% \pgfarrowsrightextend{2.06\pgfutil@tempdima+.5\pgfutil@tempdimb} \pgfarrowsleftextend{-1.36\pgfutil@tempdima-.5\pgfutil@tempdimb} } { \pgfmathsetlength{\pgfutil@tempdima}{.25\pgflinewidth+.25*\pgfinnerlinewidth}% \pgfmathsetlength{\pgfutil@tempdimb}{.5\pgflinewidth-.5*\pgfinnerlinewidth}% \pgftransformxshift{.06\pgfutil@tempdima} \pgfsetlinewidth{\pgfutil@tempdimb} \pgfsetdash{}{+0pt} \pgfsetroundcap \pgfsetroundjoin \pgfpathmoveto{\pgfpoint{-1.4\pgfutil@tempdima}{2.65\pgfutil@tempdima}} \pgfpathcurveto {\pgfpoint{-0.75\pgfutil@tempdima}{1.25\pgfutil@tempdima}} {\pgfpoint{1\pgfutil@tempdima}{0.05\pgfutil@tempdima}} {\pgfpoint{2\pgfutil@tempdima}{0pt}} \pgfpathcurveto {\pgfpoint{1\pgfutil@tempdima}{-0.05\pgfutil@tempdima}} {\pgfpoint{-.75\pgfutil@tempdima}{-1.25\pgfutil@tempdima}} {\pgfpoint{-1.4\pgfutil@tempdima}{-2.65\pgfutil@tempdima}} \pgfusepathqstroke }% \endinput