%% %% This is file `flowchart.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% flowchart.dtx (with options: `package') %% %% Copyright (C) 2013 by Adrian P Robson %% adrian.robson@nepsweb.co.uk %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% %% This work has the LPPL maintenance status `maintained'. %% The Current Maintainer of this work is Adrian Robson. %% %% This work consists of the files flowchart.dtx and %% flowchart.ins %% and the derived files flowchart.sty and %% flowchart.pdf %% \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{flowchart} [2015/03/19 3.3 Flowchart shapes for TikZ] \RequirePackage{makeshape} \RequirePackage{tikz} \usetikzlibrary{shapes} \def\band{10pt} \def\predprocAnchorpath{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \advance\pgf@xa by \band \mincorrect{\pgf@xa}{\pgfshapeminwidth} \advance\pgf@xa\pgfshapeouterxsep \mincorrect{\pgf@ya}{\pgfshapeminheight} \advance\pgf@ya\pgfshapeouterysep \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}} \pgfpathlineto{\pgfpoint{\pgf@xa}{-\pgf@ya}} \pgfpathlineto{\pgfpoint{-\pgf@xa}{-\pgf@ya}} \pgfpathlineto{\pgfpoint{-\pgf@xa}{\pgf@ya}} \pgfpathclose } \def\predprocBackground{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \advance\pgf@xa by \band \mincorrect{\pgf@xa}{\pgfshapeminwidth} \mincorrect{\pgf@ya}{\pgfshapeminheight} \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}} \pgfpathlineto{\pgfpoint{\pgf@xa}{-\pgf@ya}} \pgfpathlineto{\pgfpoint{-\pgf@xa}{-\pgf@ya}} \pgfpathlineto{\pgfpoint{-\pgf@xa}{\pgf@ya}} \pgfpathclose \advance\pgf@xa by -\band \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}} \pgfpathlineto{\pgfpoint{\pgf@xa}{-\pgf@ya}} \pgfpathmoveto{\pgfpoint{-\pgf@xa}{\pgf@ya}} \pgfpathlineto{\pgfpoint{-\pgf@xa}{-\pgf@ya}} } \pgfdeclareshape{predproc}{ \setpaths{\predprocAnchorpath}{\predprocBackground} \savedanchor{\northeast}{ \pgf@x = \ctbnex \advance\pgf@x by \band \mincorrect{\pgf@x}{\pgfshapeminwidth} \advance\pgf@x\pgfshapeouterxsep \pgf@y = \ctbney \mincorrect{\pgf@y}{\pgfshapeminheight} \advance\pgf@y\pgfshapeouterysep } \anchor{north}{ \northeast \pgf@x=0pt } \anchor{north east}{ \northeast } \anchor{east}{ \northeast \pgf@y=0pt } \anchor{south east}{ \northeast \pgf@y=-\pgf@y } \anchor{south}{ \northeast \pgf@x=0pt \pgf@y=-\pgf@y } \anchor{south west}{ \northeast \pgf@x=-\pgf@x \pgf@y=-\pgf@y } \anchor{west}{ \northeast \pgf@x=-\pgf@x \pgf@y=0pt } \anchor{north west}{ \northeast \pgf@x=-\pgf@x } } \def\storagepath{ \pgf@xa=\pgf@x \pgf@ya=\pgf@y \pgf@xb=-\pgf@xa \pgf@yb=-\pgf@ya \advance\pgf@xb by \pgf@xc \pgfpathmoveto{\pgfpoint{\pgf@xb}{\pgf@yb}} \pgfpatharc{210}{150}{2*\pgf@ya} \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}} \pgfpatharc{150}{210}{2*\pgf@ya} \pgfpathclose } \def\arcoffset#1#2{ \pgfmathsetlength#1{0.134*2*#2} } \def\storageParams{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \mincorrect{\pgf@ya}{\pgfshapeminheight} \arcoffset{\pgf@xc}{\pgf@ya} \advance\pgf@xa by \pgf@xc \mincorrect{\pgf@xa}{\pgfshapeminwidth} \pgf@x=\pgf@xa \pgf@y=\pgf@ya } \def\storageParamsOuter{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \mincorrect{\pgf@ya}{\pgfshapeminheight} \advance\pgf@ya\pgfshapeouterysep \arcoffset{\pgf@xc}{\pgf@ya} \advance\pgf@xa by \pgf@xc \mincorrect{\pgf@xa}{\pgfshapeminwidth} \advance\pgf@xa\pgfshapeouterxsep \pgf@x=\pgf@xa \pgf@y=\pgf@ya } \def\storageAnchorpath{ \storageParamsOuter \storagepath } \def\storageBackground{ \storageParams \storagepath } \pgfdeclareshape{storage}{ \setpaths{\storageAnchorpath}{\storageBackground} \savedanchor{\northeast}{ \storageParamsOuter } \savedanchor{\northeastArc}{ \storageParamsOuter \advance\pgf@x by -\pgf@xc } \anchor{north}{ \northeast \pgf@x=0pt } \anchor{north east}{ \northeast } \anchor{east}{ \northeastArc \pgf@y=0pt } \anchor{south east}{ \northeast \pgf@y=-\pgf@y } \anchor{south}{ \northeast \pgf@x=0pt \pgf@y=-\pgf@y } \anchor{south west}{ \northeastArc \pgf@x=-\pgf@x \pgf@y=-\pgf@y } \anchor{west}{ \northeast \pgf@x=-\pgf@x \pgf@y=0pt } \anchor{north west}{ \northeastArc \pgf@x=-\pgf@x } \anchor{east r}{ \northeast \pgf@y=0pt } \anchor{north west r}{ \northeast \pgf@x=-\pgf@x } \anchor{south west r}{ \northeast \pgf@x=-\pgf@x \pgf@y=-\pgf@y } } \pgfdeclareshape{process}{ \inheritsavedanchors[from=rectangle] \inheritanchor[from=rectangle]{center} \inheritanchor[from=rectangle]{text} \inheritanchor[from=rectangle]{north} \inheritanchor[from=rectangle]{north east} \inheritanchor[from=rectangle]{east} \inheritanchor[from=rectangle]{south east} \inheritanchor[from=rectangle]{south} \inheritanchor[from=rectangle]{south west} \inheritanchor[from=rectangle]{west} \inheritanchor[from=rectangle]{north west} \inheritbackgroundpath[from=rectangle] \inheritanchorborder[from=rectangle] } \def\decisionrefout{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \pgf@xb=\ctbnex \pgf@yb=\ctbney \advance\pgf@xa by \pgf@yb \mincorrect{\pgf@xa}{\pgfshapeminwidth} \advance\pgf@xa by \pgfshapeouterxsep \advance\pgf@ya by \pgf@xb \mincorrect{\pgf@ya}{\pgfshapeminheight} \advance\pgf@ya by \pgfshapeouterysep } \def\decisionref{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \pgf@xb=\ctbnex \pgf@yb=\ctbney \advance\pgf@xa by \pgf@yb \mincorrect{\pgf@xa}{\pgfshapeminwidth} \advance\pgf@ya by \pgf@xb \mincorrect{\pgf@ya}{\pgfshapeminheight} } \def\decisionpath{ \def\refx{\pgf@xa} \def\refy{\pgf@ya} \pgfpathmoveto{\pgfpoint{0}{\refy}} \pgfpathlineto{\pgfpoint{\refx}{0}} \pgfpathlineto{\pgfpoint{0}{-\refy}} \pgfpathlineto{\pgfpoint{-\refx}{0}} \pgfpathclose } \def\decisionanchor{ \decisionrefout \decisionpath } \def\decisionborder{ \decisionref \decisionpath } \pgfdeclareshape{decision}{ \setpaths{\decisionanchor}{\decisionborder} \savedanchor{\north}{ \decisionrefout \pgf@x = 0pt \pgf@y = \pgf@ya } \savedanchor{\east}{ \decisionrefout \pgf@x = \pgf@xa \pgf@y = 0pt } \savedanchor{\northeast}{ \decisionrefout \divide\pgf@xa by 2 \divide\pgf@ya by 2 \pgf@x = \pgf@xa \pgf@y = \pgf@ya } \anchor{north}{ \north } \anchor{north east}{ \northeast } \anchor{east}{ \east } \anchor{south east}{ \northeast \pgf@y=-\pgf@y } \anchor{south}{ \north \pgf@y=-\pgf@y } \anchor{south west}{ \northeast \pgf@x=-\pgf@x \pgf@y=-\pgf@y } \anchor{west}{ \east \pgf@x=-\pgf@x } \anchor{north west}{ \northeast \pgf@x=-\pgf@x } } \def\terminalrefneout{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \advance\pgf@xa by \pgf@ya \mincorrect{\pgf@xa}{\pgfshapeminwidth} \advance\pgf@xa\pgfshapeouterxsep \mincorrect{\pgf@ya}{\pgfshapeminheight} \advance\pgf@ya\pgfshapeouterysep \advance\pgf@xa by -\pgf@ya } \def\terminalrefne{ \pgf@xa=\ctbnex \pgf@ya=\ctbney \advance\pgf@xa by \pgf@ya \mincorrect{\pgf@xa}{\pgfshapeminwidth} \mincorrect{\pgf@ya}{\pgfshapeminheight} \advance\pgf@xa by -\pgf@ya } \def\terminalpath{ \def\refx{\pgf@xa} \def\refy{\pgf@ya} \def\radius{\refy} \pgfpathmoveto{\pgfpoint{\refx}{\refy}} \pgfpathlineto{\pgfpoint{-\refx}{\refy}} \pgfpatharc{90}{270}{\radius} \pgfpathlineto{\pgfpoint{\refx}{-\refy}} \pgfpatharc{270}{360}{\radius} \pgfpatharc{0}{90}{\radius} \pgfpathclose } \def\terminalanchor{ \terminalrefneout \terminalpath } \def\terminalborder{ \terminalrefne \terminalpath } \pgfdeclareshape{terminal}{ \setpaths{\terminalanchor}{\terminalborder} \savedanchor{\northeast}{ \terminalrefneout \pgf@x = \pgf@xa \pgf@y = \pgf@ya } \savedanchor{\northeastBB}{ \terminalrefneout \advance \pgf@xa by \pgf@ya \pgf@x = \pgf@xa \pgf@y = \pgf@ya } \anchor{north}{ \northeast \pgf@x=0pt } \anchor{north east}{ \northeast } \anchor{east}{ \northeastBB \pgf@y=0pt } \anchor{south east}{ \northeast \pgf@y=-\pgf@y } \anchor{south}{ \northeast \pgf@x=0pt \pgf@y=-\pgf@y } \anchor{south west}{ \northeast \pgf@x=-\pgf@x \pgf@y=-\pgf@y } \anchor{west}{ \northeastBB \pgf@x=-\pgf@x \pgf@y=0pt } \anchor{north west}{ \northeast \pgf@x=-\pgf@x } \anchor{north east r}{\northeastBB} \anchor{south east r}{\northeastBB \pgf@y=-\pgf@y} \anchor{south west r}{\northeastBB \pgf@x=-\pgf@x \pgf@y=-\pgf@y} \anchor{north west r}{\northeastBB \pgf@x=-\pgf@x} } \endinput %% %% End of file `flowchart.sty'.