From ac768be5ab2e638802806ac364ca4402e8e9935e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 24 Feb 2008 18:22:07 +0000 Subject: pgf 2.0, third try git-svn-id: svn://tug.org/texlive/trunk@6747 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/pgf/compatibility/pgfarrows.sty | 19 + .../tex/latex/pgf/compatibility/pgfautomata.sty | 315 +++++++++ .../pgf/compatibility/pgfcomp-version-0-65.sty | 719 +++++++++++++++++++++ .../tex/latex/pgf/compatibility/pgfheaps.sty | 107 +++ .../latex/pgf/compatibility/pgflibraryarrows.sty | 16 + .../latex/pgf/compatibility/pgflibraryautomata.sty | 16 + .../pgf/compatibility/pgflibraryplothandlers.sty | 17 + .../pgf/compatibility/pgflibraryplotmarks.sty | 17 + .../latex/pgf/compatibility/pgflibraryshapes.sty | 18 + .../latex/pgf/compatibility/pgflibrarysnakes.sty | 17 + .../compatibility/pgflibrarytikzbackgrounds.sty | 17 + .../pgf/compatibility/pgflibrarytikztrees.sty | 17 + .../tex/latex/pgf/compatibility/pgfnodes.sty | 19 + .../tex/latex/pgf/compatibility/pgfshade.sty | 19 + 14 files changed, 1333 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgfarrows.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgfautomata.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgfheaps.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryarrows.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryautomata.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryshapes.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarysnakes.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgfnodes.sty create mode 100644 Master/texmf-dist/tex/latex/pgf/compatibility/pgfshade.sty (limited to 'Master/texmf-dist/tex/latex/pgf/compatibility') diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgfarrows.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfarrows.sty new file mode 100644 index 00000000000..2c0a90b4fa5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfarrows.sty @@ -0,0 +1,19 @@ +% Copyright 2006 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. + +\RequirePackage{pgfrcs} + +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/latex/pgf/compatibility/pgfarrows.sty,v 1.3 2006/10/11 15:22:27 tantau Exp $ + +\RequirePackage{pgf} + +\PackageWarning{pgfarrows}{This package is obsolete. pgf.sty will load + arrow management automatically} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgfautomata.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfautomata.sty new file mode 100644 index 00000000000..965fa30fed7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfautomata.sty @@ -0,0 +1,315 @@ +% Copyright 2006 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. + +\RequirePackage{pgfrcs} + +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/latex/pgf/compatibility/pgfautomata.sty,v 1.3 2006/10/11 15:22:27 tantau Exp $ + + +\RequirePackage{pgf} + +\PackageWarning{pgfautomata}{This package is obsolete.} + +\ProcessOptions + +% +% Package for drawing finite automata. +% + + +\newdimen\pgf@stateradius +\newdimen\pgf@mooreradius +\newdimen\pgf@doublethickness +\newdimen\pgf@statebackoff + + + + +% Automaton environment - setup of certain drawing parameters like arrows. +% +% Example: +% +% \begin{pgfpicture}{-2cm}{-2cm}{2cm}{2cm}% +% \begin{pgfautomaton} +% \pgfstaterejecting{q1}{\pgforigin}{$q_1$} +% \pgfstateaccepting{q2}{\pgfstaterelative[east]{q1}{1cm}}{$q_2$} +% \pgfstateaccepting{q3}{\pgfstaterelative[east]{q2}{1cm}}{$q_3$} +% +% \pgfstateconnect{q1}{q2}[.5]{$0$} +% \pgfstateconnect{q2}{q3}[.5]{$1$} +% \pgfstateloop{q1}{90}{$1$} +% \pgfstateloop{q2}{90}{$1$} +% \end{pgfautomaton} +% \end{pgfpicture} + +\def\pgfautomaton{\begin{pgfscope}% + \pgfsetendarrow{\pgfarrowto}% + \pgfnodesetsepend{4pt}\ignorespaces} +\def\endpgfautomaton{\end{pgfscope}} + + + +% Set the outer state radius to #1. +% +% #1 = new state radius. +% +% Example: +% +% \pgfsetstateradius{10pt} + +\def\pgfsetstateradius#1{\setlength\pgf@stateradius{#1}\ignorespaces} + +\pgfsetstateradius{1em} + + + +% Set the state radius for Moore states to #1. +% +% #1 = new state radius. +% +% Example: +% +% \pgfsetstatemooreradius{10pt} + +\def\pgfsetstatemooreradius#1{\setlength\pgf@mooreradius{#1}\ignorespaces} + +\pgfsetstatemooreradius{2em} + + + +% Set the distance between the outer and the inner circle in an +% accepting state. +% +% #1 = new distance radius. +% +% Example: +% +% \pgfsetstatecircledistance{1.2pt} + +\def\pgfsetstatecircledistance#1{\setlength\pgf@doublethickness{#1}\ignorespaces} + +\pgfsetstatecircledistance{1.6pt} + + + +% Set the distance between a connecting line and a label to #1. +% +% #1 = new distance +% +% Example: +% +% \pgfsetstatelabeldistance{4pt} + +\def\pgfsetstatelabeldistance#1{\setlength\pgf@statebackoff{#1}\ignorespaces} + +\pgfsetstatelabeldistance{4pt} + + +% Draws an accepting state #1 with name #3 at position #2. +% +% #1 = a name +% #2 = a point +% #3 = a text +% +% Example: +% +% \pgfstateaccepting{q1}{\pgfxy(1,1)}{$q_1$} + +\def\pgfstateaccepting#1#2#3{% + \pgfnodecircle{#1}[stroke]{#2}{\pgf@stateradius}% + \pgfputat{#2}{\pgfbox[center,center]{#3}}% + {% + \pgf@xa=\pgf@stateradius% + \advance\pgf@xa by-\pgf@doublethickness% + \pgfcircle[stroke]{#2}{\pgf@xa}}\ignorespaces} + + +% Draws a rejecting state #1 with name #3 at position #2. +% +% #1 = a name +% #2 = a point +% #3 = a text +% +% Example: +% +% \pgfstaterejecting{q2}{\pgfstatedirection[n]{q1}}{$q_2$} + +\def\pgfstaterejecting#1#2#3{% + \pgfnodecircle{#1}[stroke]{#2}{\pgf@stateradius}% + \pgfputat{#2}{\pgfbox[center,center]{#3}}\ignorespaces} + + +% Draws a Moore state #1 with name #3 and output #4 at position #2. +% +% #1 = a name +% #2 = a point +% #3 = a text +% #4 = an output text +% +% Example: +% +% \pgfstatemoore{q}{\pgfxy(1,1)}{$q_1$}{$0,1$} + +\def\pgfstatemoore#1#2#3#4{% + \pgfnodecircle{#1}[stroke]{#2}{\pgf@mooreradius}% + \begin{pgftranslate}{#2}% + \begin{pgfscope}% + \pgfsetdash{{2pt}{1pt}}{0pt}% + \pgfmoveto{\pgfpoint{-\pgf@mooreradius}{0cm}}% + \pgflineto{\pgfpoint{\pgf@mooreradius}{0cm}}% + \pgfqstroke% + \end{pgfscope}% + \pgfputat{\pgfpoint{0cm}{0.4\pgf@mooreradius}}{\pgfbox[center,base]{#3}}% + \pgfputat{\pgfpoint{0cm}{-0.2\pgf@mooreradius}}{\pgfbox[center,top]{#4}}% + \end{pgftranslate}\ignorespaces} + + + + +% Connect states #1 and #2 and draw #4 above label, #3-th part of the +% way from #1 to #2. +% +% #1 = a start state +% #2 = an end state +% #3 = a fraction of the distance between the two +% #4 = a label +% +% Example: +% +% \pgfstateconnect{q1}{q2}[.5]{$0$} + +\def\pgfstateconnect#1#2[#3]#4{% + \pgfnodeconnline{#1}{#2}% + \pgfnodelabel{#1}{#2}[#3][\pgf@statebackoff]% + {\pgfbox[center,bottom]{#4}}\ignorespaces} + + + +% Connect states #1 and #2 and draw #4 above label, #3-th part of the +% way from #1 to #2. +% +% #1 = a start state +% #2 = an end state +% #3 = a fraction of the distance between the two +% #4 = a label +% +% Example: +% +% \pgfstateconnectrotated{q1}{q2}[.5]{$0$} + +\def\pgfstateconnectrotated#1#2[#3]#4{% + \pgfnodeconnline{#1}{#2}% + \pgfnodelabelrotated{#1}{#2}[#3][\pgf@statebackoff]% + {\pgfbox[center,bottom]{#4}}\ignorespaces} + + + +% Connect state #1 with itself with label #3 and a loop going in +% direction #2. +% +% #1 = a state +% #2 = an angle +% #3 = a label +% +% Example: +% +% \pgfstateloop{q1}{90}{$0$} + +\def\pgfstateloop#1#2#3{% + \c@pgf@counta=#2\relax% + \c@pgf@countb=#2\relax% + \advance\c@pgf@counta by15\relax% + \advance\c@pgf@countb by-15\relax% + \pgfnodeconncurve{#1}{#1}{\the\c@pgf@counta}{\the\c@pgf@countb}{2\pgf@stateradius}{2\pgf@stateradius}% + \pgfputat{\pgfnodeborder{#1}{#2}{2.25\pgf@stateradius}}{\pgfbox[center,center]{#3}}\ignorespaces} + + + +% Connect states #1 and #2 and draw #4 above label, #3-th part of the +% way from #1 to #2. +% +% #1 = a start state +% #2 = an end state +% #3 = a start angle +% #4 = an end angle +% +% Example: +% +% \pgfstatecurve{q1}{q2}{10}{-10} + +\def\pgfstatecurve#1#2#3#4{% + \pgfnodeconncurve{#1}{#2}{#3}{#4}{2\pgf@stateradius}{2\pgf@stateradius}\ignorespaces} + + + +% Give a position relative to some state. +% +% #1 = a direction +% #2 = a state +% #3 = a distance +% +% Example: +% +% \pgfstaterelative[east]{q2}{1cm} + +\def\pgfstaterelative{\pgfnoderelative} + + + +% Draw an initial state by drawing an inleading line. +% +% #1 = a state +% #2 = a direction leading into the state (n,s,e,w) +% #3 = a label (for example ``start'') +% +% Example: +% +% \pgfstateinitial{q1}[w]{start} + +\def\pgfstateinitial#1[#2]#3{{% + \pgfmoveto{\pgfrelative{\pgfnodeborder{#1}{\pgfdirection{#2}}{-2pt}}% + {\pgfpolar{\pgfdirection{#2}}{1.5\pgf@stateradius}}}% + \pgflineto{\pgfnodeborder{#1}{\pgfdirection{#2}}{\pgf@nodesepend}}% + \pgfstroke% + \edef\temp{[\csname pgf@statepos\pgfdirection{#2}\endcsname]}% + \pgfputat{\pgfrelative{\pgfnodeborder{#1}{\pgfdirection{#2}}{0pt}}% + {\pgfpolar{\pgfdirection{#2}}{1.5\pgf@stateradius}}}% + {\expandafter\pgfbox\temp{#3}}}\ignorespaces} + +\expandafter\def\csname pgf@statepos0\endcsname{left,center} +\expandafter\def\csname pgf@statepos90\endcsname{center,bottom} +\expandafter\def\csname pgf@statepos180\endcsname{right,center} +\expandafter\def\csname pgf@statepos270\endcsname{center,top} + + + +% Draw an final state by drawing an outleading line. +% +% #1 = a state +% #2 = a direction leading out of the state (valid directions are +% n,s,e,w) +% #3 = a label (for example ``exit'') +% +% Example: +% +% \pgfstatefinal{q1}[right]{accept} + +\def\pgfstatefinal#1[#2]#3{{% + \pgfmoveto{\pgfnodeborder{#1}{\pgfdirection{#2}}{\pgf@nodesepstart}}% + \pgflineto{\pgfrelative{\pgfnodeborder{#1}{\pgfdirection{#2}}{-\pgf@nodesepend}}% + {\pgfpolar{\pgfdirection{#2}}{1.5\pgf@stateradius}}}% + \pgfstroke% + \edef\tempb{[\csname pgf@statepos\pgfdirection{#2}\endcsname]}% + \pgfputat{\pgfrelative{\pgfnodeborder{#1}{\pgfdirection{#2}}{0pt}}% + {\pgfpolar{\pgfdirection{#2}}{1.5\pgf@stateradius}}}% + {\expandafter\pgfbox\tempb{#3}}}\ignorespaces} + + + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty new file mode 100644 index 00000000000..09f6fda3149 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty @@ -0,0 +1,719 @@ +% Copyright 2006 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. + +\RequirePackage{pgfrcs} + +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/latex/pgf/compatibility/pgfcomp-version-0-65.sty,v 1.7 2007/07/03 07:52:35 tantau Exp $ + +\def\pgfdirection#1{\csname pgf@direction#1\endcsname} + +\def\pgf@directionn{90} +\def\pgf@directionnorth{90} +\def\pgf@directionabove{90} +\def\pgf@directions{270} +\def\pgf@directionsouth{270} +\def\pgf@directionbelow{270} +\def\pgf@directionw{180} +\def\pgf@directionwest{180} +\def\pgf@directionleft{180} +\def\pgf@directione{0} +\def\pgf@directioneast{0} +\def\pgf@directionright{0} +\def\pgf@directionne{45} +\def\pgf@directionse{315} +\def\pgf@directionnw{135} +\def\pgf@directionsw{-135} + + +\def\pgfpictureboxed#1#2#3#4{% + \pgfpicture{#1}{#2}{#3}{#4}% + \pgfmoveto{\pgfpoint{#1}{#2}}% + \pgflineto{\pgfpoint{#1}{#4}}% + \pgflineto{\pgfpoint{#3}{#4}}% + \pgflineto{\pgfpoint{#3}{#2}}% + \pgfclosestroke\ignorespaces} +\def\endpgfpictureboxed{\endpgfpicture} + +\def\pgfxyline(#1,#2)(#3,#4){% + \pgfmoveto{\pgfxy(#1,#2)}% + \pgflineto{\pgfxy(#3,#4)}% + \pgfstroke} + +\def\pgfxycurve(#1,#2)(#3,#4)(#5,#6)(#7,#8){% + \pgfmoveto{\pgfxy(#1,#2)}% + \pgfbezier{\pgfxy(#3,#4)}{\pgfxy(#5,#6)}{\pgfxy(#7,#8)}% + \pgfstroke} + +\def\pgfline#1#2{% + \pgfmoveto{#1}% + \pgflineto{#2}% + \pgfstroke} + +\let\pgflineto=\pgfpathlineto +\let\pgfmoveto=\pgfpathmoveto +\let\pgfcurveto=\pgfpathcurveto +\let\pgfbezier=\pgfpathcurveto +\let\pgfarc=\pgfpatharc + +\def\pgfzerocircle#1{\pgfcircle{\pgforigin}{#1}} +\def\pgfzeroellipse#1#2{\pgfellipse{\pgforigin}{#1}{#2}} +\def\pgfeofill{{\pgfseteorule\pgfsys@flushpath\pgfsys@fill}\pgf@resetpathsizes\ignorespaces} +\def\pgfeofillstroke{{\pgfseteorule\pgfsys@flushpath\pgfsys@fillstroke}\pgf@resetpathsizes\ignorespaces} +\def\pgf@perform@eofill{\pgfeofill} +\def\pgf@perform@eofillstroke{\pgfeofillstroke} +\let\pgfdiff=\pgfpointdiff +\let\pgfrelative=\pgfpointadd +\let\pgfpartway=\pgfpointlineattime +\let\pgfbackoff=\pgfpointlineatdistance +\def\pgflabel#1#2#3#4{% + % First, calculate base point + \pgfpointlineattime{#1}{#2}{#3}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgf@process{#2}% + \pgf@xa=\pgf@x% xb/yb = start point + \pgf@ya=\pgf@y% + \pgf@process{#3}% + \advance\pgf@x by-\pgf@xa% + \advance\pgf@y by-\pgf@ya% + \pgf@process{\pgfpointnormalised{}}% x/y = normalised vector + \setlength\pgf@ya{#4}% + \pgf@xa=-\pgf@ya\relax% + \pgf@xa=\pgf@sys@tonumber{\pgf@y}\pgf@xa% + \pgf@ya=\pgf@sys@tonumber{\pgf@x}\pgf@ya% + \pgf@x=\pgf@xb\relax% + \pgf@y=\pgf@yb\relax% + \advance\pgf@x by\pgf@xa\relax% + \advance\pgf@y by\pgf@ya\relax% + \ignorespaces} +\let\pgfnormalise=\pgfpointnormalised +\let\pgfpolar=\pgfpointpolar +\let\pgforigin=\pgfpointorigin +\let\pgfclosepath=\pgfpathclose + +\def\pgfxy(#1,#2){\pgfpointxy{#1}{#2}} +\def\pgfxyz(#1,#2,#3){\pgfpointxyz{#1}{#2}{#3}} +\newcommand\pgfgrid[3][]{\pgfpathgrid[#1]{#2}{#3}\pgfqstroke} +\newcommand\pgfellipse[4][]{% + \pgfpathellipse{#2}{#3}{#4}% + \csname pgf@perform@#1\endcsname\ignorespaces +} +\newcommand\pgfcircle[3][]{\pgfellipse[#1]{#2}{\pgfpoint{#3}{0pt}}{\pgfpoint{0pt}{#3}}} +\newcommand\pgfrect[3][]{% + \pgfpathrectangle{#2}{#3}% + \csname pgf@perform@#1\endcsname% +} +\def\pgf@perform@stroke{\pgfqstroke} +\def\pgf@perform@fill{\pgffill} +\def\pgf@perform@fillstroke{\pgffillstroke} +\def\pgf@perform@clip{\pgfclip} + +\def\pgfsincos#1{% + \pgfmathparse{#1}% + \pgfmathcos@{#1}\pgf@y\pgfmathresult pt% + \pgfmathsin@{#1}\pgf@x\pgfmathresult pt% +} + +\let\pgfdegree=\pgfsincos + +\newenvironment{pgfmagnify}[2]{\pgflowlevelscope{\pgftransformcm{#1}{0}{0}{#2}{\pgfpointorigin}}}{\endpgflowlevelscope} +\newenvironment{pgftranslate}[1]{\pgflowlevelscope{\pgftransformshift{#1}}}{\endpgflowlevelscope} +\newcommand{\pgftranslateto}[1]{\pgflowlevel{\pgftransformshift{#1}}} +\newenvironment{pgfrotateby}[1]{% + \pgf@process{#1}% + \pgf@xa=-\pgf@x% + \edef\pgf@temp{\noexpand\pgflowlevelscope{\noexpand\pgftransformcm{\pgf@sys@tonumber{\pgf@y}}{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@xa}}{\pgf@sys@tonumber{\pgf@y}}{\noexpand\pgfpointorigin}}}% + \pgf@temp} +{\endpgflowlevelscope} + +\long\def\pgfputat#1#2{\begin{pgftranslate}{#1}#2\end{pgftranslate}} +\def\pgfputlabelrotated#1#2#3#4#5{% + \pgflabel{#1}{#2}{#3}{#4}% + \pgfputat{}{% + \pgf@process{#2}% + \pgf@xa=\pgf@x% xb/yb = start point + \pgf@ya=\pgf@y% + \pgf@process{#3}% + \advance\pgf@x by-\pgf@xa% + \advance\pgf@y by-\pgf@ya% + \pgfnormalise{}% x/y = normalised vector + \pgf@ya=-\pgf@y% + \pgfsys@transformcm{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@y}}{\pgf@sys@tonumber{\pgf@ya}}{\pgf@sys@tonumber{\pgf@x}}{0pt}{0pt}% + #5}% + \ignorespaces} +\def\pgfqcurveto#1#2#3#4#5#6{\pgfpathqcurveto{#1bp}{#2bp}{#3bp}{#4bp}{#5bp}{#6bp}} +\let\pgfqbezier=\pgfqcurveto +\def\pgfqlineto#1#2{\pgfpathqlineto{#1bp}{#2bp}} +\def\pgfqmoveto#1#2{\pgfpathqmoveto{#1bp}{#2bp}} +\let\pgfqstroke=\pgfusepathqstroke + +\def\pgfstroke{\pgfusepath{stroke}} +\def\pgfclip{\pgfusepath{clip}} +\def\pgffill{\pgfusepath{fill}} +\def\pgfclosestroke{\pgfpathclose\pgfusepath{stroke}} +\def\pgffillstroke{\pgfusepath{fill,stroke}} +\def\pgfstrokeclip{\pgfusepath{clip,stroke}} +\def\pgffillclip{\pgfusepath{clip,stroke}} +\def\pgfclosestrokeclip{\pgfpathclose\pgfusepath{stroke,clip}} +\def\pgffillstrokeclip{\pgfusepath{stroke,fill,clip}} +\def\pgfclearendarrow{\pgfsetendarrow{}} +\def\pgfclearstartarrow{\pgfsetstartarrow{}} + +\def\pgfputarrow#1#2#3{\pgflowlevelobj{\pgftransformarrow{#1}{#2}}{\pgfsys@setdash{}{0pt}#3}} + +\def\pgfsetstartarrow#1{\def\pgf@startarrow{#1}\def\pgf@shorten@start{\pgf@x=0.0pt}} +\def\pgfsetendarrow#1{\def\pgf@endarrow{#1}\def\pgf@shorten@end{\pgf@x=0.0pt}} + +\def\pgfdefarrow#1#2#3#4{% + \pgfdefobject{pgf@#1}{#2}{#3}{\pgfsys@setlinewidth{1bp}#4}% + \expandafter\gdef\csname#1\endcsname{% + \pgf@x=\pgflinewidth% + \pgf@y=\pgflinewidth% + \pgfuseobjectmagnify{pgf@#1}\ignorespaces}} +\def\pgfdefarrowabs#1#2#3#4{% + \pgfdefobject{pgf@#1}{#2}{#3}{\pgfarrowlinewidthscale{1}#4}% + \expandafter\gdef\csname#1\endcsname{% + \pgfuseobject{pgf@#1}\ignorespaces} + } +\def\pgfarrowlinewidthscale#1{\pgfsys@setlinewidth{#1bp}\ignorespaces} +\pgfdefarrow{pgfarrowsingle}{\pgfpoint{-7pt}{-5pt}}{\pgfpoint{3pt}{5pt}}{% + \pgfqmoveto{2}{0} + \pgfqlineto{-6}{4} + \pgfqlineto{-3}{0} + \pgfqlineto{-6}{-4} + \pgfusepathqfill} +\def\pgfarrowswap#1{\pgflowlevelobj{\pgftransformxscale{-1}}{#1}} +\def\pgfarrowcombine#1#2{% + #1% + \pgflowlevelobj{\pgftransformshift{\pgfpoint{-7\pgflinewidth}{0pt}}}{#2}} +\def\pgfarrowcombineloose#1#2{#1\pgflowlevelobj{\pgftransformshift{\pgfpoint{-14\pgflinewidth}{0pt}}}{#2}} +\def\pgfarrowdouble#1{\pgfarrowcombine{#1}{#1}} +\def\pgfarrowtriple#1{% + #1% + \pgflowlevelobj{\pgftransformshift{\pgfpoint{-7\pgflinewidth}{0pt}}}{#1}% + \pgflowlevelobj{\pgftransformshift{\pgfpoint{-14\pgflinewidth}{0pt}}}{#1}} +\pgfdefarrow{pgfarrowto}{\pgfpoint{-4pt}{-5pt}}{\pgfpoint{2pt}{5pt}}{% + \pgfarrowlinewidthscale{0.8} + \pgfsetdash{}{0pt} + \pgfsetroundcap + \pgfsetroundjoin + \pgfqmoveto{-3}{4} + \pgfqcurveto{-2.75}{2.5}{0}{0.25}{0.75}{0} + \pgfqcurveto{0}{-0.25}{-2.75}{-2.5}{-3}{-4} + \pgfusepathqstroke} +\pgfdefarrow{pgfarrowbar}{\pgfpoint{-1pt}{-6pt}}{\pgfpoint{1pt}{6pt}}{% + \pgfsetdash{}{0pt} + \pgfqmoveto{0}{-5} + \pgfqlineto{0}{5} + \pgfusepathqstroke} +\pgfdefarrow{pgfarrowsquare}{\pgfpoint{-4pt}{-6pt}}{\pgfpoint{1pt}{6pt}}{% + \pgfsetdash{}{0pt} + \pgfqmoveto{-3}{-5} + \pgfqlineto{0}{-5} + \pgfqlineto{0}{5} + \pgfqlineto{-3}{5} + \pgfusepathqstroke} +\pgfdefarrow{pgfarrowround}{\pgfpoint{-3pt}{-6pt}}{\pgfpoint{2pt}{6pt}}{% + \pgfsetdash{}{0pt} + \pgfqmoveto{-2}{-5} + \pgfqcurveto{1}{-3}{1}{3}{-2}{5} + \pgfusepathqstroke} +\pgfdefarrow{pgfarrowpointed}{\pgfpoint{-6pt}{-6pt}}{\pgfpoint{2pt}{6pt}}{% + \pgfsetdash{}{0pt} + \pgfqmoveto{-4.5}{-5} + \pgfqlineto{0.5}{0} + \pgfqlineto{-4.5}{5} + \pgfusepathqstroke} +\pgfdefarrow{pgfarrowdot}{\pgfpoint{-7pt}{-4pt}}{\pgfpoint{2pt}{4pt}}{% + \pgfsys@transformshift{-2.5bp}{0bp}% + \pgfsetdash{}{0pt} + \pgfpathqcircle{3bp} + \pgfusepathqfillstroke} +\pgfdefarrow{pgfarrowdiamond}{\pgfpoint{-12pt}{-4pt}}{\pgfpoint{2pt}{4pt}}{% + \pgfsetdash{}{0pt} + \pgfqmoveto{1}{0} + \pgfqlineto{-5}{3} + \pgfqlineto{-11}{0} + \pgfqlineto{-5}{-3} + \pgfpathclose + \pgfusepathqfillstroke} +\def\pgfarrowcircle#1{% + \pgfsetdash{}{0pt} + \setlength\pgf@xa{#1}% + \pgf@xb=\pgf@xa% + \advance\pgf@xa by-0.5\pgflinewidth + \begin{pgflowlevelscope}{\pgftransformshift{\pgfpoint{-\pgf@xa}{0pt}}}% + \pgfpathqcircle{\pgf@sys@tonumber{\pgf@xb}bp} + \pgfusepathqfillstroke + \end{pgflowlevelscope}} +\def\pgfarrowtriangle#1{% + \pgfsetdash{}{0pt} + \begin{pgfscope}% + \setlength\pgf@xa{#1}% + \pgf@ya=0.577\pgf@xa% + \advance\pgf@xb by-\pgflinewidth% + \pgfpathmoveto{\pgfpoint{-\pgf@xa}{-\pgf@ya}}% + \pgfpathlineto{\pgfpoint{\pgflinewidth}{0pt}}% + \pgfpathlineto{\pgfpoint{-\pgf@xa}{\pgf@ya}}% + \pgfpathclose% + \pgfusepathqfillstroke% + \end{pgfscope}} +\def\pgfarrowlargepointed#1{% + \pgfsetdash{}{0pt} + \begin{pgfscope}% + \setlength\pgf@xa{#1}% + \pgfpathmoveto{\pgfpoint{-\pgf@xa}{-\pgf@xa}} + \pgfpathlineto{\pgfpointorigin} + \pgfpathlineto{\pgfpoint{-\pgf@xa}{\pgf@xa}} + \pgfusepathqstroke + \end{pgfscope}} + +\newcommand\pgfcorner[3][sw]{% + \pgf@process{#2}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{#3}% + \ifdim\pgf@xa<\pgf@x% + \pgf@xb=\pgf@x% + \pgf@x=\pgf@xa% + \pgf@xa=\pgf@xb% + \fi% + \ifdim\pgf@ya<\pgf@y% + \pgf@yb=\pgf@y% + \pgf@y=\pgf@ya% + \pgf@ya=\pgf@yb% + \fi% + \csname pgf@corner@#1\endcsname\relax% +} +\def\pgf@corner@se{\pgf@x=\pgf@xa} +\def\pgf@corner@ne{\pgf@x=\pgf@xa\pgf@y=\pgf@ya} +\def\pgf@corner@nw{\pgf@y=\pgf@ya} +\def\pgf@corner@sw{} +\def\pgf@corner@s{\pgf@x=.5\pgf@x\advance\pgf@x by.5\pgf@xa} +\def\pgf@corner@n{\pgf@x=.5\pgf@x\advance\pgf@x by.5\pgf@xa\pgf@y=\pgf@ya} +\def\pgf@corner@w{\pgf@y=.5\pgf@y\advance\pgf@y by.5\pgf@ya} +\def\pgf@corner@e{\pgf@y=.5\pgf@y\advance\pgf@y by.5\pgf@ya\pgf@x=\pgf@xa} + +% Defines a circle node of name #1 at position #3 of radius #4. +% +% #1 = a name +% #2 = ``stroke'' or ``fill'' or ``fillstroke'' or ``virtual'' (= draw +% nothing) +% #3 = a point +% #4 = a radius +% +% Example: +% +% \pgfnodecircle{mynode}[stroke]{\pgfxy(1,1)}{2cm} + +\def\pgfnodecircle#1[#2]#3#4{% + \pgf@process{#3}% + \expandafter\def\csname pgfno@#1\endcsname{\pgf@backoffcircle{#4}}% + \expandafter\def\csname pgfnob@#1\endcsname{\pgf@anglecircle{#4}}% + \expandafter\edef\csname pgfnom@#1\endcsname{\noexpand\pgf@x=\pgf@sys@tonumber{\pgf@x}pt\noexpand\pgf@y=\pgf@sys@tonumber{\pgf@y}pt}% + \expandafter\ifx\csname pgf@@#2\endcsname\pgf@@virtual% + \else% + \pgfcircle[#2]{\csname pgfnom@#1\endcsname}{#4}% + \fi\ignorespaces} + +\def\pgf@@virtual{} + + +% Defines a rectangular node of name #1 with center at position #3 and +% width/height vector #4 +% +% #1 = a name +% #2 = ``stroke'' or ``fill'' or ``fillstroke'' or ``virtual'' (= draw +% nothing) +% #3 = a center +% #4 = width/height vector +% +% Example: +% +% \pgfnoderect{mynode}[stroke]{\pgfxy(1,1)}{\pgfxy(2,2)} + +\def\pgfnoderect#1[#2]#3#4{% + \pgf@process{#3}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{#4}% + \pgf@x=.5\pgf@x% + \pgf@y=.5\pgf@y% + \expandafter\edef\csname pgfno@#1\endcsname{\noexpand\pgf@backoffrect% + {\pgf@sys@tonumber{\pgf@x}pt}{\pgf@sys@tonumber{\pgf@y}pt}}% + \expandafter\edef\csname pgfnob@#1\endcsname{\noexpand\pgf@anglerect% + {\pgf@sys@tonumber{\pgf@x}pt}{\pgf@sys@tonumber{\pgf@y}pt}}% + \expandafter\edef\csname + pgfnom@#1\endcsname{\noexpand\pgf@x=\pgf@sys@tonumber{\pgf@xa}pt\noexpand\pgf@y=\pgf@sys@tonumber{\pgf@ya}pt}% + \expandafter\ifx\csname pgf@@#2\endcsname\pgf@@virtual% + \else% + \advance\pgf@xa by-\pgf@x% + \advance\pgf@ya by-\pgf@y% + \edef\pgf@temp{\noexpand\pgf@x=\pgf@sys@tonumber{\pgf@xa}pt\noexpand\pgf@y=\pgf@sys@tonumber{\pgf@ya}pt}% + \pgfrect[#2]{\pgf@temp}{#4}% + \fi\ignorespaces} + + +% Defines a rectangular node of name #1 with center at position #3 +% contaning a box #4 +% +% #1 = a name +% #2 = ``stroke'' or ``fill'' or ``fillstroke'' or ``virtual'' (= draw +% nothing) +% #3 = a center +% #4 = TeX text that will be boxed +% #5 = a horizontal border offset +% #6 = a vertical border offset +% +% Example: +% +% \pgfnodebox{mynode}[stroke]{\pgfxy(1,1)}{start}{2pt}{2pt} + +\def\pgfnodebox#1[#2]#3#4#5#6{% + \pgf@makehbox{#4}% + \pgf@x=\wd\pgf@hbox% + \pgf@y=\ht\pgf@hbox% + \advance\pgf@y by \dp\pgf@hbox% + \addtolength\pgf@x{#5}% + \addtolength\pgf@x{#5}% + \addtolength\pgf@y{#6}% + \addtolength\pgf@y{#6}% + \edef\pgf@boxsize{\noexpand\pgf@x=\the\pgf@x\noexpand\pgf@y=\the\pgf@y}% + \csname pgf@haligncompcenter\endcsname% + \csname pgf@valigncompcenter\endcsname% + \wd\pgf@hbox=0pt% + \pgfputat{#3}{% + \pgfsys@hbox\pgf@hbox}% + \pgfnoderect{#1}[#2]{#3}{\pgf@boxsize}\ignorespaces} + + + + +% Retrieves the center of #1. +% +% #1 = a node name +% +% Example: +% +% \pgfpathmoveto{\pgfnodecenter{mynode}} + +\def\pgfnodecenter#1{% + \expandafter\ifx\csname pgfnom@#1\endcsname\relax% + \GenericError{\space\space\space\@spaces\@spaces\@spaces}% + {PGF Error: Node "#1" undefined.}{}{\@ehc}% + \pgfpoint{0pt}{0pt}% + \else\csname pgfnom@#1\endcsname\fi\ignorespaces} + + + +% Returns a position relative to the center of #1. +% +% #1 = a node name +% #2 = a direction (see \pgfdirection) +% #3 = a distance +% +% Example: +% +% \pgfpathmoveto{\pgfnoderelative{mynode}[north]{1cm}} + +\def\pgfnoderelative#1[#2]#3{% + \pgfrelative{\pgfnodecenter{#1}}{\pgfpolar{\pgfdirection{#2}}{#3}}\ignorespaces} + + + +% Retrieves a border point of #1 at angle #2 and distance #3 from +% border. +% +% #1 = a node name +% #2 = an angle +% #3 = a distance from the border +% +% Example: +% +% \pgfpathmoveto{\pgfnodeborder{first}{30}{0pt}} +% \pgfpathlineto{\pgfnodeborder{second}{180}{2pt}} +% \pgfstroke + +\def\pgfnodeborder#1#2#3{% + \csname pgfnob@#1\endcsname{#3}{#2}{\pgfnodecenter{#1}}\ignorespaces} + + + +% Gives the beginning of a connection of #2 and #3, taking a +% separation distance of #1 into account. +% +% #1 = a separation distance +% #2 = a node name +% #3 = a second node name +% +% Example: +% +% \pgfpathmoveto{\pgfnodeconnstart{first}{second}} +% \pgfpathlineto{\pgfnodeconnstart{second}{first}} + +\def\pgfnodeconnstart[#1]#2#3{% + \csname pgfno@#2\endcsname[#1]{\pgfnodecenter{#2}}{\pgfnodecenter{#3}}% + \ignorespaces} + + + +\newdimen\pgf@nodesepstart +\newdimen\pgf@nodesepend + +% Sets the node separation for starts of lines. +% +% #1 = a distance +% +% Example: +% +% \pgfnodesetsepstart{2pt} + +\def\pgfnodesetsepstart#1{\setlength\pgf@nodesepstart{#1}\ignorespaces} + +\pgfnodesetsepstart{0pt} + + +% Sets the node separation for end of lines. +% +% #1 = a distance +% +% Example: +% +% \pgfnodesetsepend{2pt} + +\def\pgfnodesetsepend#1{\setlength\pgf@nodesepend{#1}\ignorespaces} + +\pgfnodesetsepend{0pt} + + + + +% Draws a line from #1 to #2. +% +% #1 = a node name +% #2 = a second node name +% +% Example: +% +% \pgfnodeconnline{first}{second} + +\def\pgfnodeconnline#1#2{% + \pgfpathmoveto{\pgfnodeconnstart[\pgf@nodesepstart]{#1}{#2}}% + \pgfpathlineto{\pgfnodeconnstart[\pgf@nodesepend]{#2}{#1}}% + \pgfstroke% + \ignorespaces} + + + +% Draws a curve from #1 to #2. The starting angle at #1 is #3 and the +% length to the first support point is #5. The starting angle at #2 +% is #4 and the length to the second support point is #6. +% +% #1 = a node name +% #2 = a second node name +% #3 = angle at first node +% #4 = angle at second node +% #5 = distance to support point at first node +% #6 = distance to support point at second node +% +% Example: +% +% \pgfnodeconncurve{first}{second}{10}{-10}{1cm}{1cm} + +\def\pgfnodeconncurve#1#2#3#4#5#6{% + \pgfpathmoveto{\pgfnodeborder{#1}{#3}{\pgf@nodesepstart}}% + \pgfpathcurveto{\pgfnodeborder{#1}{#3}{#5}}{\pgfnodeborder{#2}{#4}{#6}}% + {\pgfnodeborder{#2}{#4}{\pgf@nodesepend}}% + \pgfstroke\ignorespaces} + + + + +% Put a label on a line from #1 to #2. +% +% #1 = a node name +% #2 = a second node name +% #3 = fraction of way from #1 to #2 +% #4 = vertical offset +% #5 = label +% +% Example: +% +% \pgfnodelabel{first}{second}[.5][2pt]{\pgfbox[center,base]{owns}} + +\def\pgfnodelabel#1#2[#3][#4]#5{% + \pgfputat{\pgflabel% + {#3}% + {\pgfnodeconnstart[\pgf@nodesepstart]{#1}{#2}}% + {\pgfnodeconnstart[\pgf@nodesepend]{#2}{#1}}% + {#4}}% + {#5}\ignorespaces} + + +% Put a rotated label on a line from #1 to #2. +% +% #1 = a node name +% #2 = a second node name +% #3 = fraction of way from #1 to #2 +% #4 = vertical offset +% #5 = label +% +% Example: +% +% \pgfnodelabelrotated{first}{second}[.5][2pt]{\pgfbox[center,base]{owns}} + +\def\pgfnodelabelrotated#1#2[#3][#4]#5{% + \pgfputlabelrotated% + {#3}% + {\pgfnodeconnstart[\pgf@nodesepstart]{#1}{#2}}% + {\pgfnodeconnstart[\pgf@nodesepend]{#2}{#1}}% + {#4}% + {#5}\ignorespaces} + + + +% Internals + +\def\pgf@backoffcircle#1[#2]#3#4{% + % Calculate backoff for a circle of radius + % #1 and offset separation #2. #3 is the center of the circle, #4 + % is the target point. + \setlength\pgf@x{#1}% + \addtolength\pgf@x{#2}% + \edef\pgf@temp{{\pgf@sys@tonumber{\pgf@x}pt}}% + \expandafter\pgfbackoff\pgf@temp{#3}{#4}\ignorespaces} + +\def\pgf@mult#1#2#3{#1=#2#3} + +\def\pgf@anglecircle#1#2#3#4{% + % Calculate border point. #1 is radius, #2 is additional backoff, #3 + % is an angle, #4 is the center of the circle. + \pgfsincos{#3}% + \setlength\pgf@xa{#1}% + \addtolength\pgf@xa{#2}% + \pgf@ya=\pgf@xa\relax% + \pgf@mult{\pgf@xa}{\pgf@sys@tonumber{\pgf@x}}{\pgf@xa}% + \pgf@mult{\pgf@ya}{\pgf@sys@tonumber{\pgf@y}}{\pgf@ya}% + \pgf@process{#4}% + \advance\pgf@y by\pgf@xa\relax% + \advance\pgf@x by\pgf@ya\ignorespaces} + +\def\pgf@backoffrect#1#2[#3]#4#5{% + % Calculate backoff for a rect with half width #1, + % half height #2, offset separation #3. #4 is the center of the rect, #5 + % is the target point. + \pgfdiff{#4}{#5}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \setlength\pgf@xb{#1}% + \setlength\pgf@yb{#2}% + \addtolength\pgf@xb{#3}% + \addtolength\pgf@yb{#3}% + \ifnum\pgf@xa<0\relax% move into first quadrant + \pgf@x=-\pgf@x% + \fi% + \ifnum\pgf@ya<0\relax% + \pgf@y=-\pgf@y% + \fi% + \c@pgf@counta=\pgf@x% + \c@pgf@countb=\pgf@y% + \divide\c@pgf@counta by 256\relax% + \divide\c@pgf@countb by 256\relax% + \ifnum\c@pgf@countb<\c@pgf@counta% + \ifnum\c@pgf@counta<1\relax% + \pgf@y=\pgf@yb\relax% + \pgf@x=0pt\relax% + \else% + \pgf@y=16\pgf@y% + \divide\pgf@y by \c@pgf@counta% + \pgf@y=16\pgf@y% + \pgf@mult{\pgf@y}{\pgf@sys@tonumber{\pgf@xb}}{\pgf@y}% + \ifnum\pgf@y<\pgf@yb% + \pgf@x=\pgf@xb% + \else% rats, calculate intersection on upper side + \ifnum\c@pgf@countb<1\relax% + \pgf@x=\pgf@xb\relax% + \pgf@y=0pt\relax% + \else% + \pgf@x=16\pgf@x% + \divide\pgf@x by \c@pgf@countb% + \pgf@x=16\pgf@x% + \pgf@mult{\pgf@x}{\pgf@sys@tonumber{\pgf@yb}}{\pgf@x}% + \pgf@y=\pgf@yb% + \fi% + \fi% + \fi% + \else% + \ifnum\c@pgf@countb<1\relax% + \pgf@x=\pgf@xb\relax% + \pgf@y=0pt\relax% + \else% + \pgf@x=16\pgf@x% + \divide\pgf@x by \c@pgf@countb% + \pgf@x=16\pgf@x% + \pgf@mult{\pgf@x}{\pgf@sys@tonumber{\pgf@yb}}{\pgf@x}% + \ifnum\pgf@x<\pgf@xb% + \pgf@y=\pgf@yb% + \else% + \ifnum\c@pgf@counta<1\relax% + \pgf@y=\pgf@yb\relax% + \pgf@x=0pt\relax% + \else% + \pgf@y=16\pgf@y% + \divide\pgf@y by \c@pgf@counta% + \pgf@y=16\pgf@y% + \pgf@mult{\pgf@y}{\pgf@sys@tonumber{\pgf@xb}}{\pgf@y}% + \pgf@x=\pgf@xb% + \fi% + \fi% + \fi% + \fi% + \ifnum\pgf@xa<0\relax\pgf@x=-\pgf@x\fi% + \ifnum\pgf@ya<0\relax\pgf@y=-\pgf@y\fi% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{#4}% + \advance\pgf@x by\pgf@xa% + \advance\pgf@y by\pgf@ya\ignorespaces} + +\def\pgf@anglerect#1#2#3#4#5{% + % Calculate border point. #1/#2 is half width/height, #3 is additional backoff, #4 + % is an angle, #5 is the center of the rect. + \pgfsincos{#4}% + \pgf@xa=100\pgf@x% + \pgf@ya=100\pgf@y% + \pgf@process{#5}% + \advance\pgf@x by\pgf@ya% + \advance\pgf@y by\pgf@xa% + \edef\pgf@temp{{\noexpand\pgf@x=\the\pgf@x\noexpand\pgf@y=\the\pgf@y}}% + \expandafter\pgf@caller\pgf@temp{#1}{#2}{#3}{#5}\ignorespaces} + +\def\pgf@caller#1#2#3#4#5{\pgf@backoffrect{#2}{#3}[#4]{#5}{#1}} + +\long\def\pgfbox[#1,#2]#3{% + \pgf@makehbox{#3}% + \csname pgf@haligncomp#1\endcsname% + \csname pgf@valigncomp#2\endcsname% + \wd\pgf@hbox=0pt% + \ht\pgf@hbox=0pt% + \dp\pgf@hbox=0pt% + \pgfqbox{\pgf@hbox}% + \ignorespaces} + +\def\pgf@haligncompleft{}% do nothing +\def\pgf@haligncompcenter{\setbox\pgf@hbox=\hbox{\hskip-.5\wd\pgf@hbox\box\pgf@hbox}} +\def\pgf@haligncompright{\setbox\pgf@hbox=\hbox{\hskip-\wd\pgf@hbox\box\pgf@hbox}} +\def\pgf@valigncompbase{}% do nothing +\def\pgf@valigncompbottom{\setbox\pgf@hbox=\hbox{\raise\dp\pgf@hbox\box\pgf@hbox}} +\def\pgf@valigncompcenter{% + \setbox\pgf@hbox=\hbox{\raise.5\dp\pgf@hbox\hbox{\lower.5\ht\pgf@hbox\box\pgf@hbox}}}% +\def\pgf@valigncomptop{\setbox\pgf@hbox=\hbox{\lower\ht\pgf@hbox\box\pgf@hbox}} + + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgfheaps.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfheaps.sty new file mode 100644 index 00000000000..9d4a1324025 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfheaps.sty @@ -0,0 +1,107 @@ +% Copyright 2006 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. + +\RequirePackage{pgfrcs} + +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/latex/pgf/compatibility/pgfheaps.sty,v 1.3 2006/10/11 15:22:27 tantau Exp $ + +\RequirePackage{pgf} + +\PackageWarning{pgfheaps}{This package is obsolete.} + +\ProcessOptions + +% +% Package for drawing heap diagrams. +% + +\newdimen\pgf@heapx +\newdimen\pgf@heapy + + + + +% Construct the path of a heap. +% +% #1 = Position of heap label. +% #2 = Position of left base +% #3 = Position of right base +% +% Example: +% +% \pgfheappath{\pgfxy(1,0)}{\pgfxy(-1,0)}{\pgfxy(1,0)} +% \pgffill + +\def\pgfheappath#1#2#3{% + \pgfdiff{#2}{#3}% + \pgf@heapx=-.25\pgf@x% + \pgf@heapy=-.25\pgf@y% + \pgfmoveto{#2}% + \pgfbezier% + {\pgfpartway{0.5}{#2}{\pgfrelative{#1}{\pgfpoint{\pgf@heapx}{\pgf@heapy}}}}% + {\pgfrelative{#1}{\pgfpoint{\pgf@heapx}{\pgf@heapy}}}% + {#1}% + \pgf@heapx=-\pgf@heapx% + \pgf@heapy=-\pgf@heapy% + \pgfbezier% + {\pgfrelative{#1}{\pgfpoint{\pgf@heapx}{\pgf@heapy}}}% + {\pgfpartway{0.5}{#3}{\pgfrelative{#1}{\pgfpoint{\pgf@heapx}{\pgf@heapy}}}}% + {#3}% + \ignorespaces} + + +% Draw a heap label. +% +% #1 = Position of heap label. +% #2 = Label text. +% +% Example: +% +% \pgfheaplabel{\pgfxy(1,0)}{Class P} + +\def\pgfheaplabel#1#2{% + \setbox\pgf@hbox=\hbox{\pgfinterruptpicture#2\endpgfinterruptpicture}% + \pgf@heapy=\ht\pgf@hbox% + \pgfputat{\pgfrelative{#1}{\pgfpoint{0pt}{-2\pgf@heapy}}}{\pgfbox[center,base]{#2}}% + \ignorespaces} + + +% Draw a labeled heap. +% +% #1 = Position of heap label. +% #2 = Position of left base +% #3 = Position of right base +% #4 = Label text. +% +% Example: +% +% \pgfheaplabeled{\pgfxy(1,0)}{\pgfxy(-1,0)}{\pgfxy(1,0)}{Class P} + +\def\pgfheaplabeled#1#2#3#4{% + \pgfheaplabel{#1}{#4}% + \pgfheappath{#1}{#2}{#3}% + \pgfstroke% + \ignorespaces} + + + +% Draw a labeled heap. +% +% #1 = Height of the label +% #2 = Left and right extension of the base. +% #3 = Label text. +% +% Example: +% +% \pgfheaplabeledcentered{1cm}{1cm}{Class P} + +\def\pgfheaplabeledcentered#1#2#3{% + \pgfheaplabeled{\pgfpoint{0pt}{#1}}{\pgfpoint{-#2}{0pt}}{\pgfpoint{#2}{0pt}}{#3}\ignorespaces} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryarrows.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryarrows.sty new file mode 100644 index 00000000000..875bbf02641 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryarrows.sty @@ -0,0 +1,16 @@ +% Copyright 2006 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. + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{arrows} instead} + +\RequirePackage{pgfcore} + +\input{pgflibraryarrows.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryautomata.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryautomata.sty new file mode 100644 index 00000000000..29d6655da3a --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryautomata.sty @@ -0,0 +1,16 @@ +% Copyright 2006 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. + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{automata} instead} + +\RequirePackage{pgfcore} + +\input{pgflibrarytikzautomata.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty new file mode 100644 index 00000000000..1510046e7d0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty @@ -0,0 +1,17 @@ +% Copyright 2006 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. + + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{plothandlers} instead} + +\RequirePackage{pgfcore} + +\input{pgflibraryplothandlers.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty new file mode 100644 index 00000000000..2f1ca05e07d --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty @@ -0,0 +1,17 @@ +% Copyright 2006 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. + + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{plotmarks} instead} + +\RequirePackage{pgfcore} + +\input{pgflibraryplotmarks.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryshapes.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryshapes.sty new file mode 100644 index 00000000000..c11f25ff009 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibraryshapes.sty @@ -0,0 +1,18 @@ +% Copyright 2006 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. + + + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{shapes} instead} + +\RequirePackage{pgfcore} + +\input{pgflibraryshapes.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarysnakes.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarysnakes.sty new file mode 100644 index 00000000000..5d0484f7c79 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarysnakes.sty @@ -0,0 +1,17 @@ +% Copyright 2006 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. + + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{snakes} instead} + +\RequirePackage{pgfcore} + +\input{pgflibrarysnakes.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty new file mode 100644 index 00000000000..584f81434fd --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty @@ -0,0 +1,17 @@ +% Copyright 2006 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. + + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{backgrounds} instead} + +\RequirePackage{tikz} + +\input{pgflibrarytikzbackgrounds.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty new file mode 100644 index 00000000000..6a6f05d624f --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty @@ -0,0 +1,17 @@ +% Copyright 2006 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. + + +\PackageWarning{pgf}{This package is obsolete. Use \noexpand\usetikzlibrary{trees} instead} + +\RequirePackage{tikz} + +\input{pgflibrarytikztrees.code.tex} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgfnodes.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfnodes.sty new file mode 100644 index 00000000000..1308cc761b2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfnodes.sty @@ -0,0 +1,19 @@ +% Copyright 2006 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. + +\RequirePackage{pgfrcs} + +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/latex/pgf/compatibility/pgfnodes.sty,v 1.3 2006/10/11 15:22:27 tantau Exp $ + +\RequirePackage{pgf} + +\PackageWarning{pgfnodes}{This package is obsolete. pgf.sty will load + node management automatically} + +\endinput diff --git a/Master/texmf-dist/tex/latex/pgf/compatibility/pgfshade.sty b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfshade.sty new file mode 100644 index 00000000000..373fbb06837 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgf/compatibility/pgfshade.sty @@ -0,0 +1,19 @@ +% Copyright 2006 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. + +\RequirePackage{pgfrcs} + +\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/latex/pgf/compatibility/pgfshade.sty,v 1.3 2006/10/11 15:22:27 tantau Exp $ + +\RequirePackage{pgf} + +\PackageWarning{pgfshade}{This package is obsolete. pgf.sty will load + shade management automatically} + +\endinput -- cgit v1.2.3