diff options
author | Karl Berry <karl@freefriends.org> | 2013-02-18 23:43:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-02-18 23:43:32 +0000 |
commit | b6d19726223b2c38cafc53ce388116c33db29f9f (patch) | |
tree | ffb9991eff80cfbaa91ee2a7725193f03c6c2103 /Master/texmf-dist/tex | |
parent | 0215784026487c71c14c5c80ff66a05af143b888 (diff) |
flowchart (18feb13)
git-svn-id: svn://tug.org/texlive/trunk@29153 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/flowchart/flowchart.sty | 296 |
1 files changed, 296 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/flowchart/flowchart.sty b/Master/texmf-dist/tex/latex/flowchart/flowchart.sty new file mode 100644 index 00000000000..347da322261 --- /dev/null +++ b/Master/texmf-dist/tex/latex/flowchart/flowchart.sty @@ -0,0 +1,296 @@ +%% +%% 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} +[2013/01/28 3.2 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'. |