summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-06-17 23:22:38 +0000
committerKarl Berry <karl@freefriends.org>2007-06-17 23:22:38 +0000
commit5c5c7843fbd37c6960799b6e1a32d5948966316c (patch)
treeea73f6b5ba799656992ebe2f34beccd2555f1342 /Master/texmf-dist/tex/generic/pgf
parentf0c1f4cdb9fad83f293fd91d194538425f9f7633 (diff)
pgf 1.18 (15jun07)
git-svn-id: svn://tug.org/texlive/trunk@4459 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf')
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseimage.code.tex170
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasematrix.code.tex634
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasepatterns.code.tex10
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex49
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseshapes.code.tex116
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasesnakes.code.tex16
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex5
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex140
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex8
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoremath.code.tex271
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex144
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex16
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex225
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex123
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex24
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex46
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz.code.tex379
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex808
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex108
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex66
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex116
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.arrows.code.tex12
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex573
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.geometric.code.tex1229
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.misc.code.tex70
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex165
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.symbols.code.tex50
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex232
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex12
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcalendar.code.tex458
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcoordinatesystems.code.tex24
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzfolding.code.tex143
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmatrix.code.tex129
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex91
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.arrows.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex8
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.geometric.code.tex23
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.misc.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.multipart.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.symbols.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex16
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex10
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathbase.code.tex263
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex194
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathoperations.code.tex781
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex912
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathrnd.code.tex213
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathtrig.code.tex1932
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex198
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg11
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def13
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def106
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def25
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def8
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def18
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex33
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex9
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfcalendar.code.tex723
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfexternal.tex32
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex12
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def62
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def17
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def56
69 files changed, 10249 insertions, 2182 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseimage.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseimage.code.tex
index 11d0ec2cda1..b83c41b3f96 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseimage.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseimage.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbaseimage.code.tex,v 1.5 2006/10/16 22:32:58 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbaseimage.code.tex,v 1.7 2007/05/31 10:31:50 tantau Exp $
% Declare an image
@@ -235,4 +235,172 @@
+
+
+
+
+
+% The external read/write mechanism is used as follows:
+%
+% In your document, you put a number or all of your pgfpicture (or
+% tikzpicture) environments inside a pair of \beginpgfexternal and
+% \endpgfexternal. The \beginpgfexternal gets one parameter called the
+% graphics name.
+%
+% Once this is done, the next step is to declare the names of your
+% graphics in the document at the beginning using the
+% \pgfdeclaregraphicname command.
+%
+% Now, when you typeset your document, each time a \beginpgfexternal
+% command is encountered, it will be checked whether the corresponding
+% graphics file exists. If this is the case, it will be included and
+% the code between \beginpgfexternal and \endpgfexternal is
+% ignored. Otherwise, the code is executed normally.
+%
+% Things change when you run tex on your file with the \jobname set to
+% the name of a decalred graphics name. In this case, only your
+% graphic will be typeset, the rest of the document will be "thrown away".
+% To be more precise, everything is gobbled up to the beginning
+% of the first \beginpgfexternal with the given graphics name. Then,
+% the content of the "environment" is put in a box (this "environment"
+% need not contain a graphics, it may contain anything that can be put
+% in a box). Then a single page is output whose size is exactly the
+% size of the picture.
+%
+% So, once you have run tex repeatedly, each time with the jobname set
+% to each of the graphics, you can then run tex on the whole document
+% and this will cause all graphics to be included rather than begin
+% typeset.
+%
+% Finally, once all the graphics have been created, you can also say
+% \input pgfexternal.tex instead of including pgf/TikZ.
+
+
+
+% Tells pgf which jobname is the name of the real file
+%
+% #1 = name
+%
+% Description:
+%
+% This command is used to tell pgf that the file named #1 should be
+% typeset normally. If \jobname is not equal to #1, only
+% the graphic called \jobname will be typeset.
+%
+% Example:
+%
+% \pgfrealjobname{survey}
+
+\def\pgfrealjobname#1{%
+ \edef\pgf@tempa{\expandafter\string\csname #1\endcsname}%
+ \edef\pgf@tempb{\expandafter\string\csname\jobname\endcsname}%
+ \ifx\pgf@tempa\pgf@tempb%
+ \else%
+ \pgf@external@grabshipouttrue
+ \fi%
+}
+
+
+\newif\ifpgf@external@grabshipout
+\newbox\pgfexternal@startupbox
+
+\AtBeginDocument{%
+ \ifpgf@external@grabshipout
+ \global\let\pgfexternal@originalshipout=\shipout%
+ \global\def\shipout{\setbox\pgfpic=}
+ \maxdeadcycles=10000%
+ % Ok, gather everything we have seen up to now in a box. This box
+ % will contain any specials that have been used.
+ {%
+ \output{\global\setbox\pgfexternal@startupbox=\vbox{\csname @begindvi\endcsname\unvbox255}}%
+ \hbox{}\eject%
+ }%
+ \fi%
+}
+
+
+% "Environment" for an external graphic.
+%
+% #1 = graphic name
+%
+% Example:
+%
+% \beginpgfgraphicnamed{main-graphic2}
+% \begin{tikzpicture}
+% ...
+% \end{tikzpicture}
+% \endpgfgraphicnamed
+
+\def\pgf@externalbegin#1{%
+ % First, check whether we wish to grab this graphic:
+ \let\pgf@next=\pgf@external@normal%
+ \ifpgf@external@grabshipout
+ \edef\pgf@tempa{\expandafter\string\csname #1\endcsname}%
+ \edef\pgf@tempb{\expandafter\string\csname\jobname\endcsname}%
+ \ifx\pgf@tempa\pgf@tempb%
+ \let\pgf@next=\pgf@external@grab%
+ \fi%
+ \fi%
+ \pgf@next{#1}%
+}
+
+
+\AtBeginDocument{
+ \let\beginpgfgraphicnamed=\pgf@externalbegin% overwrite definition of pgfexternal.tex if necessary
+ \let\endpgfgraphicnamed=\unskip
+}
+
+
+% Normal operation: Include an external graphic instead of the
+% picture, if such an external picture exists.
+\def\pgf@external@normal#1{%
+ \let\pgf@filename=\pgfutil@empty%
+ \expandafter\pgf@findfile\pgfsys@imagesuffixlist:+{#1}%
+ \ifx\pgf@filename\pgfutil@empty%
+ % Ok, no such image... Just typeset the picture normally.
+ \let\pgf@next=\relax%
+ \else%
+ \let\pgf@next=\pgf@replacepicturebygraphic%
+ \fi%
+ \pgf@next%
+}
+
+\long\def\pgf@replacepicturebygraphic#1\endpgfgraphicnamed{\includegraphics{\pgf@filename}\unskip}
+
+
+% Grab operation: If jobname matches the graphic name, typeset this
+% picture normall.
+
+\def\pgf@external@grab#1{%
+ \setbox\pgfpic=\hbox\bgroup\bgroup%
+ \let\endpgfgraphicnamed=\pgf@externalend%
+}
+
+\def\pgf@externalend{%
+ \unskip\egroup\egroup%
+ {%
+ \parindent0pt%
+ \leftmargin0pt%
+ \rightmargin0pt%
+ \dimen0\ht\pgfpic%
+ \advance\dimen0\dp\pgfpic%
+ \pgfsys@papersize{\the\wd\pgfpic}{\the\dimen0}%
+ \setbox0=\vbox{%
+ \kern -1truein%
+ \hbox{%
+ \kern -1truein%
+ \hbox to0pt{%
+ \wd\pgfexternal@startupbox=0pt%
+ \ht\pgfexternal@startupbox=0pt%
+ \dp\pgfexternal@startupbox=0pt%
+ \box\pgfexternal@startupbox%
+ \pgfsys@atbegindocument\hss}%
+ \box\pgfpic%
+ \kern 1truein}%
+ \kern1truein}%
+ \pgfexternal@originalshipout\box0%
+ }%
+}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasematrix.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasematrix.code.tex
new file mode 100644
index 00000000000..d72f2206aa7
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasematrix.code.tex
@@ -0,0 +1,634 @@
+% 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.
+
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbasematrix.code.tex,v 1.11 2007/03/09 17:49:32 tantau Exp $
+
+
+\newif\ifpgfmatrix
+\newif\ifpgf@matrix@correct@call
+
+\newif\ifpgf@matrix@fixed
+
+\newcount\pgfmatrixcurrentrow
+
+\newcount\pgfmatrixcurrentcolumn
+\newcount\pgf@matrix@numberofcolumns
+
+\let\pgf@matrix@cell=\pgfnodeparttextbox % alias
+\let\pgf@matrix@box=\pgf@matrix@cell % alias
+
+
+% Sets the default row or column sep
+%
+% #1 = default row or column sep list
+%
+% Description:
+%
+% Sets the macro \pgfmatrixrowsep or \pgfmatrixcolumnsep to #1.
+%
+% Example:
+%
+% \pgfsetmatrixrowsep{5pt}
+
+\def\pgfsetmatrixrowsep#1{\def\pgfmatrixrowsep{#1}}
+\def\pgfsetmatrixcolumnsep#1{\def\pgfmatrixcolumnsep{#1}}
+
+\def\pgfmatrixrowsep{0pt}
+\def\pgfmatrixcolumnsep{0pt}
+
+
+
+% The pgfmatrix command creates a node that contains a matrix. Like
+% the \pgfnode command, it is to be used inside a pgfpicture
+% environment.
+%
+% #1 = shape type
+% #2 = anchor
+% #3 = name for later reference
+% #4 = path usage command
+% #5 = inner shift
+% #6 = startup code
+% #7 = the matrix code (may contain verbatim stuff)
+%
+% Description:
+%
+% This command creates a node that contains a matrix. For
+% each cell of the matrix, drawing commands may be given. These
+% commands will create a cell picture and a bounding box is computed
+% for each cell picture. The cell picture is then placed inside the
+% cell. The position inside the cell is computed according to the
+% following rules:
+%
+% 1. In each column, the origins of the cell pictures are all on a
+% vertical line.
+% 2. In each row, the origins of the cell pictures are all on a
+% horizontal line.
+% 3. All cells in the same row have the same height and depth.
+% 4. All cells in the same column have the same width.
+% 5. The size of cells are chosen minimal such that the boxes fit into
+% the cells and still meet the above requirement.
+%
+% Next, the whole resulting matrix, which is given as #7, is placed
+% inside a node whose name is given as #3, whose shape is #1, and
+% whose anchor is #1. This means that the resulting node is shifted
+% such that the given anchor lies at the origin. Then, as for a normal
+% node, the #4 path usage command is used for the node.
+%
+% The parameter #5 is an additional negative shift for the node. Normally, such
+% a shift could be given beforehand (that is, the shift could be
+% preapplied to the current transformation matrix). However, when #5
+% is evaluated, you can refer to temporary positions of nodes inside
+% the matrix. In detail, the following happens: When the matrix has
+% been typeset, all nodes in the matrix temporarily get assigned their
+% positions in the matrix box. The origin of this coordinate system is
+% at the left baseline end of the matrix box, which corresponds to the
+% text anchor. The position #5 is then interpreted inside this
+% coordinate system and then used for shifting.
+%
+% The idea behind using the parameter #5 is the following: If you
+% specify "text" as anchor #2 and specify \pgfpointanchor{inner
+% node}{some anchor} for parameter #5, where inner node is a node that
+% is created in the matrix, then the whole matrix will be shifted such
+% that inner node.some anchor lies at the origin of the whole picture.
+%
+% At the beginning and at the end of each cell, the macros
+% \pgfmatrixbegincode and \pgfmatrixendcode are called. Inside these
+% macros you can use \pgfmatrixcurrentcolumn and \pgfmatrixcurrentrow
+% to access the current row and column.
+%
+% Before each column except for the first, an extra space given by the
+% macro \pgfmatrixcolumnsep is added. Additionally, an extra space
+% given by the optional argument of the \pgfmatrixnextcell commands in
+% the first line are added, which may vary between columns. Between
+% rows, an extra space given by the macro \pgfmatrixrowsep is
+% added. You can also change this value for each row by using a \gdef.
+%
+% Inside the matrix, \\ must be used to end every line ***including
+% the last***. You can pass an optional parameter to \\ as in \\[2pt]
+% to give an additional space after this particular line.
+%
+% The usage of \\ at the end of the matrix is imporant since this
+% command is used to find the end of the matrix. What happens is that
+% \\ followed by a closing brace ends the matrix.
+%
+% Inside the matrix, you must use \pgfmatrixnextcell to separate
+% columns. The reason is that two columns are used internally for
+% every single column shown. The macro \pgfmatrixnextcell is yields
+% (more or less) two && (and some further trickery).
+%
+% The parameter #6 is executed at the beginning of the matrix
+% group. It is inside the protecting group of the matrix, but outside
+% the matrix itself. It can be used for different purposes: 1) It can be
+% used to simplify the next cell macro. 2) It can be used to issue an
+% \aftergroup command. 3) It can be used to setup local settings. For
+% example, by setting #6 to \let\&=\pgfmatrixnextcell you can use \&
+% instead of \pgfmatrixnextcell. You can also set the catcode of & to
+% active.
+%
+%
+% Example:
+%
+% \begin{tikzpicture}
+%
+% \draw (0,0) circle (1mm); % b.north will lie on the center of this circle
+%
+% \pgfmatrix{rectangle}{text}{mymatrix}{\pgfusepath{}}{\pgfpointanchor{b}{north}}{\let\&=\pgfmatrixnextcell}
+% {
+% \draw (0,0) circle (1cm); \& \node (a) [draw] {Hallo}; \\
+% \node (b) [draw] {Welt}; \& \draw (0,0) circle (5mm); \\
+% }
+%
+% \draw [->] (a) -- (b);
+%
+% \end{tikzpicture}
+
+\def\pgfmatrix#1#2#3#4#5#6{%
+ \ifpgfmatrix%
+ \PackageError{pgf}{You cannot nest pgfmatrix environments, yet}{}
+ \fi%
+ \bgroup%
+ #6%
+ \def\pgf@matrix@par@shape{#1}%
+ \def\pgf@matrix@par@anchor{#2}%
+ \def\pgf@matrix@par@name{#3}%
+ \def\pgf@matrix@par@usage{#4}%
+ \def\pgf@matrix@par@shift{#5}%
+ % the matrix must have a name:
+ \ifx\pgf@matrix@par@name\pgfutil@empty%
+ \def\pgf@matrix@par@name{pgf@matrix@internal}%
+ \fi%
+ \pgfmatrixcurrentrow=0\relax%
+ \pgfmatrixcurrentcolumn=0\relax%
+ \pgf@matrix@numberofcolumns=0\relax%
+ \let\\=\pgf@matrix@eol%
+ \tabskip=0pt%
+ \offinterlineskip%
+ \pgfmatrixtrue%
+ \let\pgf@matrix@node@list=\pgfutil@empty%
+ \expandafter\let\csname pgf@matrix@column@finish@1\endcsname=\pgfutil@empty%
+ \let\pgf@matrix@row@finish=\pgfutil@empty%
+ %
+ % Get rid of bgroup
+ %
+ \afterassignment\pgf@matrix@cont\let\pgf@next=%
+}
+\def\pgf@matrix@cont{%
+ \setbox\pgf@matrix@box=\hbox\bgroup\vbox\bgroup%
+ \halign\bgroup%
+ \pgf@matrix@init@row%
+ \pgf@matrix@step@column%
+ {%
+ \pgf@matrix@startcell%
+ ##%
+ \pgf@matrix@endcell%
+ }%
+ &%
+ ##\pgf@matrix@padding&&%
+ \pgf@matrix@step@column%
+ {%
+ \pgf@matrix@startcell%
+ ##%
+ \pgf@matrix@endcell%
+ }&%
+ ##\pgf@matrix@padding%
+ \cr%
+}
+
+\def\pgf@end@matrix{%
+ \egroup\egroup%
+ \egroup%
+ %
+ % If there are named nodes, we must adjust their coordinates.
+ %
+ \ifx\pgf@matrix@node@list\pgfutil@empty%
+ \else%
+ % Ok, this means we got a lot of work to do...
+ \pgf@matrix@compute@origin%
+ \pgf@matrix@shift@nodes@initial%
+ \fi%
+ %
+ % Compute additional shift
+ %
+ \pgftransformresetnontranslations%
+ \pgftransformshift{\pgf@process{\pgftransformreset\pgf@matrix@par@shift\pgf@x=-\pgf@x\pgf@y=-\pgf@y}}%
+ %
+ % Create node
+ %
+ \pgfmultipartnode{\pgf@matrix@par@shape}{\pgf@matrix@par@anchor}{\pgf@matrix@par@name}{\pgf@matrix@par@usage}%
+ %
+ % If there are named nodes, we must adjust their coordinates, again.
+ %
+ \ifx\pgf@matrix@node@list\pgfutil@empty%
+ \else%
+ {%
+ \pgftransformreset%
+ \pgf@process{\pgfpointanchor{\pgf@matrix@par@name}{text}}%
+ \xdef\pgf@matrix@offset{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
+ \pgf@matrix@shift@nodes@secondary{\pgf@matrix@offset}%
+ }%
+ \fi%
+}
+
+
+
+
+% Ending a cell
+%
+% #1 = (optional) spacing between previous and next column. This
+% parameter only has an effect in the first row.
+%
+% Description:
+%
+% This command ends a cell of a matrix.
+%
+% Example:
+%
+% \pgfmatrix{rectangle}{text}{mymatrix}{\pgfusepath{}}{\pgfpointanchor{b}{north}}{}
+% {
+% \draw (0,0) circle (1cm); \pgfmatrixnextcell[1cm] \node (a) [draw] {Hallo}; \\
+% \node (b) [draw] {Welt}; \pgfmatrixnextcell \draw (0,0) circle (5mm); \\
+% }
+
+\def\pgfmatrixnextcell{%
+ % if the cell contains nothing, the following \let will be at the
+ % beginning (macro expansion has stopped here since neither \omit
+ % nor \span was found)
+ \let\pgf@matrix@signal@cell@end=\pgf@matrix@signal@cell@end%
+ \pgfutil@ifnextchar[{\pgf@matrix@cell@cont}{\pgf@matrix@cell@cont[0pt]}}%}
+
+\def\pgf@matrix@cell@cont[#1]{%
+ \ifnum\pgfmatrixcurrentcolumn<\pgf@matrix@numberofcolumns%
+ \else%
+ {%
+ \global\pgf@matrix@fixedfalse%
+ \pgf@x=0pt%
+ \pgf@matrix@addtolength{\pgf@x}{\pgfmatrixcolumnsep}%
+ \pgf@matrix@addtolength{\pgf@x}{#1}%
+ \ifpgf@matrix@fixed%
+ \expandafter\pgfutil@g@addto@macro\csname pgf@matrix@column@finish@\the\pgfmatrixcurrentcolumn\endcsname%
+ {\global\pgf@picmaxx=0pt}%
+ \fi%
+ \advance\pgfmatrixcurrentcolumn by1\relax % only temporary for the following:
+ \expandafter\xdef\csname pgf@matrix@column@sep@\the\pgfmatrixcurrentcolumn\endcsname{\the\pgf@x}%
+ \ifpgf@matrix@fixed%
+ \expandafter\gdef\csname pgf@matrix@column@finish@\the\pgfmatrixcurrentcolumn\endcsname{\global\pgf@picminx=0pt}%
+ \else%
+ \expandafter\global\expandafter\let\csname pgf@matrix@column@finish@\the\pgfmatrixcurrentcolumn\endcsname=\pgfutil@empty%
+ \fi%
+ }%
+ \fi%
+ &\pgf@matrix@correct@calltrue&%
+}%
+
+
+\def\pgf@matrix@fixed@text{between origins}
+\def\pgf@matrix@natural@text{between borders}
+
+\def\pgf@matrix@addtolength#1#2{\edef\pgf@temp{#2}\expandafter\pgf@matrix@addtolength@\expandafter#1#2,\pgf@stop}
+\def\pgf@matrix@addtolength@#1#2,#3\pgf@stop{%
+ \def\pgf@temp{#2}%
+ \ifx\pgf@temp\pgfutil@empty%
+ \else%
+ \ifx\pgf@temp\pgf@matrix@fixed@text%
+ \global\pgf@matrix@fixedtrue%
+ \else%
+ \ifx\pgf@temp\pgf@matrix@natural@text%
+ \global\pgf@matrix@fixedfalse%
+ \else%
+ \pgfmathaddtolength{#1}{#2}%
+ \fi%
+ \fi%
+ \fi%
+ \def\pgf@temp{#3}%
+ \ifx\pgf@temp\pgfutil@empty%
+ \else%
+ \pgf@matrix@addtolength@#1#3\pgf@stop%
+ \fi%
+}
+
+
+
+% Init a line
+
+\def\pgf@matrix@init@row{%
+ \relax%
+ \global\advance\pgfmatrixcurrentrow by 1\relax%
+ \global\pgfmatrixcurrentcolumn=0\relax%
+ \expandafter\gdef\csname pgf@matrix@maxy\the\pgfmatrixcurrentrow\endcsname{0pt}%
+ \expandafter\gdef\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname{0pt}%
+}
+
+
+
+% Step the row column number
+
+\def\pgf@matrix@step@column{%
+ \relax%
+ \global\advance\pgfmatrixcurrentcolumn by1\relax%
+}
+
+
+
+% Start a cell
+
+\def\pgf@matrix@startcell{%
+ %
+ % Step 1: Init the list of nodes for this cell
+ %
+ \let\pgf@nodecallback=\pgf@matrix@nodecallback%
+ %
+ % Step 2: Setup the bounding box
+ %
+ \pgfinterruptboundingbox%
+ %
+ % Step 3: Reset the transformation matrix
+ %
+ \pgftransformreset%
+ %
+ % Step 4: Collect everything in a cell box
+ %
+ \setbox\pgf@matrix@cell=\hbox\bgroup\bgroup%
+ \pgfsys@beginpicture%
+ \normalbaselines%
+ % Find out whether the cell is empty:
+ \pgfutil@ifnextchar\let%
+ {% ok, candidate, check following symbol
+ \afterassignment\pgf@matrix@empty@check\let\pgf@next=% get rid of \let
+ }%
+ {% no, not empty
+ \pgf@matrix@empty@cell@false%
+ \pgfmatrixbegincode%
+ }%
+}
+
+\def\pgf@matrix@empty@check{%
+ \pgfutil@ifnextchar\pgf@matrix@signal@cell@end%
+ {% Bingo!
+ \pgf@matrix@empty@cell@true%
+ \pgfmatrixemptycode%
+ \let% reinserted
+ }%
+ {% Nope!
+ \pgf@matrix@empty@cell@false%
+ \pgfmatrixbegincode%
+ \let% reinserted
+ }
+}%
+
+\newif\ifpgf@matrix@empty@cell@
+
+
+% End a cell
+
+\def\pgf@matrix@endcell{%
+ \ifpgf@matrix@empty@cell@%
+ \else%
+ \expandafter\pgfmatrixendcode%
+ \fi
+ \pgfsys@endpicture%
+ \csname pgf@matrix@column@finish@\the\pgfmatrixcurrentcolumn\endcsname%
+ \pgf@matrix@row@finish%
+ \egroup\egroup%
+ % Special case of the empty picture
+ \ifdim\pgf@picmaxx=-16000pt\relax%
+ \pgf@picmaxx=0pt\relax%
+ \pgf@picminx=0pt\relax%
+ \pgf@picmaxy=0pt\relax%
+ \pgf@picminy=0pt\relax%
+ \fi%
+ %
+ % Step 5: Horizontal gap
+ %
+ \ifnum\pgfmatrixcurrentcolumn>1\relax%
+ \pgf@y=\csname pgf@matrix@column@sep@\the\pgfmatrixcurrentcolumn\endcsname\relax%
+ \advance\pgf@picminx by-\pgf@y%
+ \fi%
+ %
+ % Step 6: Protocol and adjust height and depth
+ %
+ % Step 6.1: Protocol...
+ %
+ \ifdim\pgf@picmaxy>\csname pgf@matrix@maxy\the\pgfmatrixcurrentrow\endcsname%
+ \expandafter\xdef\csname pgf@matrix@maxy\the\pgfmatrixcurrentrow\endcsname{\the\pgf@picmaxy}%
+ \fi%
+ \ifdim\pgf@picminy<\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname%
+ \expandafter\xdef\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname{\the\pgf@picminy}%
+ \fi%
+ %
+ % Step 6.2: and setup.
+ %
+ \ht\pgf@matrix@cell=\pgf@picmaxy%
+ \dp\pgf@matrix@cell=-\pgf@picminy%
+ %
+ % Step 7: Protocol and adjust left and right width
+ %
+ % Step 7.1: Protocol...
+ %
+ \ifnum\pgfmatrixcurrentcolumn>\pgf@matrix@numberofcolumns\relax%
+ \expandafter\xdef\csname pgf@matrix@maxx\the\pgfmatrixcurrentcolumn\endcsname{\the\pgf@picmaxx}%
+ \expandafter\xdef\csname pgf@matrix@minx\the\pgfmatrixcurrentcolumn\endcsname{\the\pgf@picminx}%
+ \global\pgf@matrix@numberofcolumns=\pgfmatrixcurrentcolumn\relax%
+ \else%
+ \ifdim\pgf@picmaxx>\csname pgf@matrix@maxx\the\pgfmatrixcurrentcolumn\endcsname%
+ \expandafter\xdef\csname pgf@matrix@maxx\the\pgfmatrixcurrentcolumn\endcsname{\the\pgf@picmaxx}%
+ \fi%
+ \ifdim\pgf@picminx<\csname pgf@matrix@minx\the\pgfmatrixcurrentcolumn\endcsname%
+ \expandafter\xdef\csname pgf@matrix@minx\the\pgfmatrixcurrentcolumn\endcsname{\the\pgf@picminx}%
+ \fi%
+ \fi%
+ %
+ % Step 7.2: and setup.
+ %
+ \xdef\pgf@matrix@paddingskip{\the\pgf@picmaxx}%
+ %
+ % Step 8: Put in the box now
+ %
+ \hfil\hskip-\pgf@picminx%
+ \wd\pgf@matrix@cell=0pt%
+ \box\pgf@matrix@cell%
+ %
+ % Step 9: End bounding box
+ \endpgfinterruptboundingbox%
+}
+
+% Default code for the start and end code
+\let\pgfmatrixbegincode=\relax
+\let\pgfmatrixendcode=\relax
+\let\pgfmatrixemptycode=\relax
+
+
+% The following callback is called for every node that is produced
+% inside a cell
+
+\def\pgf@matrix@nodecallback#1{%
+ \def\pgf@temp{#1}%
+ \ifx\pgf@temp\pgfutil@empty%
+ \else%
+ \xdef\pgf@matrix@node@list{\pgf@matrix@node@list,{#1}}%
+ \expandafter\xdef\csname pgf@matrix@node@location@#1\endcsname{{\the\pgfmatrixcurrentrow}{\the\pgfmatrixcurrentcolumn}}%
+ \fi%
+}
+
+
+
+% Padding code
+
+\def\pgf@matrix@padding{%
+ \ifpgf@matrix@correct@call%
+ \else%
+ \PackageError{pgfbasematrix}{Single ampersand used with wrong
+ catcode}{}%
+ \fi%
+ \hskip\pgf@matrix@paddingskip\hfil%
+}
+
+
+% Compute the real positions of the origins
+
+% We must now compute the real positions of the origins of all the
+% small pictures. To this end, we need to compute prefix sums. After
+% the procedure is done, the minx and the maxy will contain the origin
+% positions.
+
+\def\pgf@matrix@compute@origin{%
+ %
+ % Inverse prefix sum on the vertical positions
+ %
+ {%
+ \ifnum\pgfmatrixcurrentrow>0\relax%
+ \expandafter\gdef\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname{0pt}%
+ \fi
+ \c@pgf@counta=\pgfmatrixcurrentrow\relax%
+ \loop%
+ \ifnum\c@pgf@counta>1\relax%
+ \pgf@y=\csname pgf@matrix@miny\the\c@pgf@counta\endcsname\relax%
+ \advance\pgf@y by\csname pgf@matrix@maxy\the\c@pgf@counta\endcsname\relax
+ \advance\c@pgf@counta by-1\relax%
+ \pgf@ya=\csname pgf@matrix@miny\the\c@pgf@counta\endcsname\relax%
+ \advance\pgf@y by-\pgf@ya\relax%
+ \expandafter\xdef\csname pgf@matrix@miny\the\c@pgf@counta\endcsname{\the\pgf@y}%
+ \repeat%
+ }%
+ %
+ % Prefix sum on the horizontal positions
+ %
+ {%
+ \ifnum\pgf@matrix@numberofcolumns>0\relax%
+ \pgf@x=\csname pgf@matrix@minx1\endcsname\relax%
+ \pgf@x=-\pgf@x%
+ \expandafter\xdef\csname pgf@matrix@minx1\endcsname{\the\pgf@x}%
+ \fi
+ \c@pgf@counta=1\relax%
+ \loop%
+ \ifnum\c@pgf@counta<\pgf@matrix@numberofcolumns\relax%
+ \pgf@x=\csname pgf@matrix@minx\the\c@pgf@counta\endcsname\relax%
+ \advance\pgf@x by\csname pgf@matrix@maxx\the\c@pgf@counta\endcsname\relax%
+ \advance\c@pgf@counta by1\relax%
+ \pgf@xa=\csname pgf@matrix@minx\the\c@pgf@counta\endcsname\relax%
+ \advance\pgf@x by-\pgf@xa\relax%
+ \expandafter\xdef\csname pgf@matrix@minx\the\c@pgf@counta\endcsname{\the\pgf@x}%
+ \repeat%
+ }%
+}
+
+
+% Shift the nodes to their origins
+
+% The following procedure shifts all nodes in
+% \pgf@matrix@node@list to their location inside a temporary
+% picture. This picture will later be shifted again to its final
+% position in the real picture.
+
+\def\pgf@matrix@shift@nodes@initial{%
+ {%
+ \pgfutil@for\pgf@matrix@node@name:=\pgf@matrix@node@list\do{%
+ \ifx\pgf@matrix@node@name\pgfutil@empty%
+ \else%
+ \expandafter\ifx\csname pgf@matrix@node@visited@\pgf@matrix@node@name\endcsname\relax%
+ \pgf@shift@node{\pgf@matrix@node@name}{%
+ \pgf@x=\csname pgf@matrix@minx%
+ \expandafter\expandafter\expandafter\pgfutil@secondoftwo\csname pgf@matrix@node@location@\pgf@matrix@node@name\endcsname\endcsname%
+ \pgf@y=\csname pgf@matrix@miny%
+ \expandafter\expandafter\expandafter\pgfutil@firstoftwo\csname pgf@matrix@node@location@\pgf@matrix@node@name\endcsname\endcsname%
+ }%
+ \expandafter\let\csname pgf@matrix@node@visited@\pgf@matrix@node@name\endcsname=\pgfutil@empty%
+ \fi%
+ \fi%
+ }%
+ }%
+}
+
+
+% The second shifting, done in the following procedure, shifts all
+% nodes to their real positions inside the real picture.
+
+\def\pgf@matrix@shift@nodes@secondary#1{%
+ \pgfutil@for\pgf@matrix@node@name:=\pgf@matrix@node@list\do{%
+ \ifx\pgf@matrix@node@name\pgfutil@empty%
+ \else%
+ \expandafter\ifx\csname pgf@matrix@node@visited@\pgf@matrix@node@name\endcsname\relax%
+ \pgf@shift@node{\pgf@matrix@node@name}{#1}%
+ \expandafter\let\csname pgf@matrix@node@visited@\pgf@matrix@node@name\endcsname=\pgfutil@empty%
+ \fi%
+ \fi%
+ }%
+}
+
+
+% End of line
+\def\pgf@matrix@eol{%
+ % if the cell contains nothing, the following \let will be at the
+ % beginning (macro expansion has stopped here since neither \omit
+ % nor \span was found)
+ \let\pgf@matrix@signal@cell@end=\pgf@matrix@signal@cell@end%
+ &\pgf@matrix@correct@calltrue%
+ \global\pgf@matrix@fixedfalse%
+ \pgf@y=0pt%
+ \pgf@matrix@addtolength\pgf@y{\pgfmatrixrowsep}%
+ \pgfutil@ifnextchar[{\pgf@matrix@eol@skip}{\pgf@matrix@finish@line}%
+}
+
+\def\pgf@matrix@signal@cell@end{\pgf@matrix@signal@cell@end}
+% exact definition does not matter, only needs to be unique.
+
+\def\pgf@matrix@eol@skip[#1]{%
+ \pgf@matrix@addtolength\pgf@y{#1}%
+ \pgf@matrix@finish@line%
+}
+
+\def\pgf@matrix@finish@line{%
+ \global\pgf@y=\pgf@y%
+ \pgf@ya=-\pgf@y%
+ \global\advance\pgf@ya by\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname%
+ \expandafter\xdef\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname{\the\pgf@ya}%
+ \@ifnextchar\egroup{\cr\pgf@end@matrix}{\pgf@matrix@no@eom@found}%
+}
+
+\def\pgf@matrix@eom@found{%
+ \cr%
+ \pgf@end@matrix%
+}
+
+\def\pgf@matrix@no@eom@found{%
+ \cr%
+ \noalign{\vskip\pgf@y%
+ \ifpgf@matrix@fixed%
+ \vskip\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname% unskip
+ \vskip\pgf@y%
+ \pgf@y=-\pgf@y%
+ \expandafter\xdef\csname pgf@matrix@miny\the\pgfmatrixcurrentrow\endcsname{\the\pgf@y}%
+ \gdef\pgf@matrix@row@finish{\global\pgf@picmaxy=0pt}%
+ \else%
+ \global\let\pgf@matrix@row@finish=\pgfutil@empty%
+ \fi%
+ }%
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasepatterns.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasepatterns.code.tex
index 816f50c0d19..199d38e3b7b 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasepatterns.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasepatterns.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbasepatterns.code.tex,v 1.9 2006/10/16 22:32:58 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbasepatterns.code.tex,v 1.10 2007/02/05 11:23:22 tantau Exp $
% Creates a new uncolored pattern
@@ -112,10 +112,10 @@
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
% Now, build a name for the pattern
- \@tempcnta=\pgf@pattern@number%
- \advance\@tempcnta by1\relax%
- \xdef\pgf@pattern@number{\the\@tempcnta}%
- \expandafter\xdef\csname pgf@pattern@name@#1\endcsname{\the\@tempcnta}%
+ \pgfutil@tempcnta=\pgf@pattern@number%
+ \advance\pgfutil@tempcnta by1\relax%
+ \xdef\pgf@pattern@number{\the\pgfutil@tempcnta}%
+ \expandafter\xdef\csname pgf@pattern@name@#1\endcsname{\the\pgfutil@tempcnta}%
\expandafter\gdef\csname pgf@pattern@type@#1\endcsname{#6}%
\xdef\pgf@marshal{\noexpand\pgfsys@declarepattern
{\csname pgf@pattern@name@#1\endcsname}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex
index 9ca915d5981..3e019c5feec 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbaseplot.code.tex,v 1.5 2006/10/16 22:32:58 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbaseplot.code.tex,v 1.7 2007/05/02 14:08:27 tantau Exp $
% PGF's plotting interface works as follows:
@@ -198,10 +198,11 @@
\endgroup%
}
+\let\pgf@savedpar=\par%
\def\pgf@partext{\par}
\def\pgf@readxyfile{%
\read1 to \pgf@temp%
- \let\par=\@@par%
+ \let\par=\pgf@savedpar%
\edef\pgf@temp{\pgf@temp}%
\ifx\pgf@temp\pgfutil@empty%
\else\ifx\pgf@temp\pgf@partext%
@@ -294,15 +295,15 @@
\def\pgf@plotgnuplot[#1]#2{%
\pgf@resample@plottrue%
% Check, whether it is up-to-date
- \openin\@inputcheck=#1.gnuplot
- \ifeof\@inputcheck%
+ \openin\pgfutil@inputcheck=#1.gnuplot
+ \ifeof\pgfutil@inputcheck%
\else%
- \read\@inputcheck to\pgf@temp% ignored
- \read\@inputcheck to\pgf@plot@line%
+ \read\pgfutil@inputcheck to\pgf@temp% ignored
+ \read\pgfutil@inputcheck to\pgf@plot@line%
\edef\pgf@plot@code{#2\space}%
\ifx\pgf@plot@code\pgf@plot@line%
- \openin\@inputcheck=#1.table
- \ifeof\@inputcheck%
+ \openin\pgfutil@inputcheck=#1.table
+ \ifeof\pgfutil@inputcheck%
\else%
\pgf@resample@plotfalse%
\fi%
@@ -320,5 +321,37 @@
+% This producer handler plots a function using pgf's mathematical engine.
+%
+% #1 = variable
+% #2 = domain for the variable
+% #3 = point, typically defined in terms of the value of the variable
+%
+% Description:
+%
+% This producer will iterate the variable #1 over all variables in #2
+% (using the \foreach statement). For each value, a plot coordinate
+% #3 is created.
+%
+% Note that this command is pretty slow.
+%
+% Example:
+%
+% \pgfplothandlerlineto
+% \pgfplotfunction{\x}{0,0.1,...,3.141}{\pgfpointxy{\x}{sin(\x)}}
+
+\def\pgfplotfunction#1#2#3{%
+ \pgfplotstreamstart%
+ \foreach#1in{#2}%
+ {%
+ \pgf@process{#3}%
+ \edef\pgf@marshal{\noexpand\pgfplotstreampoint{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}}%
+ \pgf@marshal%
+ }
+ \pgfplotstreamend%
+}
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseshapes.code.tex
index 5535010cbbb..dc9f660d0c2 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseshapes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbaseshapes.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbaseshapes.code.tex,v 1.16 2006/10/16 22:32:58 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbaseshapes.code.tex,v 1.19 2007/06/07 07:41:10 tantau Exp $
\newbox\pgfnodeparttextbox
@@ -28,12 +28,12 @@
% pgf's transformation matrix prior to calling this command.
%
% When this command is called, the shape-specific TeX boxes of the
-% node must be have been setup correctly.
+% node must have been setup correctly.
%
% Example:
%
% \pgftransformshift{\pgfpoint{1cm}{1cm}}
-% \pgfmultipartnode{rectangle}{center}{Hello}{hellonode}{\pgfusepath{stroke}}
+% \pgfmultipartnode{rectangle}{center}{hellonode}{\pgfusepath{stroke}}
\def\pgfmultipartnode#1#2#3#4{%
\pgfutil@ifundefined{pgf@sh@s@#1}%
@@ -79,11 +79,31 @@
{\csname pgf@sh@fg@#1\endcsname#4}%
\pgfutil@ifundefined{pgf@sh@ffg@#1}{}%
{{\pgfscope\csname pgf@sh@ffg@#1\endcsname\endpgfscope}}%
+ \pgf@nodecallback{#3}%
}%
}%
}
+\def\pgf@shift@node#1#2{%
+ % This internal command shifts the recorded coordinates for node #1
+ % by the vector #2. It is used to
+ % correct the position of the node if the recorded coordinate
+ % happens to be wrong
+ {%
+ \pgfsettransform{\csname pgf@sh@nt@#1\endcsname}%
+ \pgf@process{#2}%
+ \advance\pgf@pt@x by\pgf@x%
+ \advance\pgf@pt@y by\pgf@y%
+ \pgfgettransform{\pgf@temp}%
+ \expandafter\xdef\csname pgf@sh@nt@#1\endcsname{\pgf@temp}%
+ }%
+}
+
+\let\pgf@nodecallback=\pgfutil@gobble
+
+
+
% Creates a node
%
% #1 = shape type
@@ -120,7 +140,7 @@
\pgf@process{#2}%
\edef\pgf@sh@marshal{%
\noexpand\pgfutil@g@addto@macro\noexpand\pgf@sh@savedpoints{%
- \noexpand\def\noexpand#1{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \noexpand\def\noexpand#1{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
}}%
\pgf@sh@marshal%
}
@@ -139,8 +159,8 @@
\def\pgf@sh@reanchor#1#2{%
\pgfutil@ifundefined{pgf@anchor@#1@#2}%
{%
- \pgflatex@setcounter{pgf@counta}{#2}%
- \csname pgf@anchor@#1@border\endcsname{\pgfpointpolar{\c@pgf@counta}{1pt}}%
+ \pgfmathsetcounter{pgf@counta}{#2}%
+ \csname pgf@anchor@#1@border\endcsname{\pgfqpointpolar{\c@pgf@counta}{1pt}}%
}%
{\csname pgf@anchor@#1@#2\endcsname}%
}
@@ -243,7 +263,7 @@
\pgf@process{\pgf@shape@interpictureshift{#1}}%%
\advance\pgf@xa by-\pgf@x%
\advance\pgf@ya by-\pgf@y%
- \csname pgf@anchor@\csname pgf@sh@ns@#1\endcsname @border\endcsname{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+ \csname pgf@anchor@\csname pgf@sh@ns@#1\endcsname @border\endcsname{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
\pgfsettransform{\csname pgf@sh@nt@#1\endcsname}%
\pgf@pos@transform{\pgf@x}{\pgf@y}%
\global\pgf@x=\pgf@x%
@@ -523,9 +543,9 @@
%
% First, is width < minimum width?
\pgf@x=\the\wd\pgfnodeparttextbox%
- \setlength\pgf@xc{\pgfshapeinnerxsep}%
+ \pgfmathsetlength\pgf@xc{\pgfshapeinnerxsep}%
\advance\pgf@x by 2\pgf@xc%
- \setlength\pgf@xb{\pgfshapeminwidth}%
+ \pgfmathsetlength\pgf@xb{\pgfshapeminwidth}%
\ifdim\pgf@x<\pgf@xb%
% yes, too small. Enlarge...
\pgf@x=\pgf@xb%
@@ -533,16 +553,16 @@
% Now, calculate right border: .5\wd\pgfnodeparttextbox + .5 \pgf@x + outer sep
\pgf@x=.5\pgf@x%
\advance\pgf@x by.5\wd\pgfnodeparttextbox%
- \setlength\pgf@xa{\pgfshapeouterxsep}%
+ \pgfmathsetlength\pgf@xa{\pgfshapeouterxsep}%
\advance\pgf@x by\pgf@xa%
% Calculate y
%
% First, is height+depth < minimum height?
\pgf@y=\ht\pgfnodeparttextbox%
\advance\pgf@y by\dp\pgfnodeparttextbox%
- \setlength\pgf@yc{\pgfshapeinnerysep}%
+ \pgfmathsetlength\pgf@yc{\pgfshapeinnerysep}%
\advance\pgf@y by 2\pgf@yc%
- \setlength\pgf@yb{\pgfshapeminheight}%
+ \pgfmathsetlength\pgf@yb{\pgfshapeminheight}%
\ifdim\pgf@y<\pgf@yb%
% yes, too small. Enlarge...
\pgf@y=\pgf@yb%
@@ -551,7 +571,7 @@
\pgf@y=.5\pgf@y%
\advance\pgf@y by-.5\dp\pgfnodeparttextbox%
\advance\pgf@y by.5\ht\pgfnodeparttextbox%
- \setlength\pgf@ya{\pgfshapeouterysep}%
+ \pgfmathsetlength\pgf@ya{\pgfshapeouterysep}%
\advance\pgf@y by\pgf@ya%
}
@@ -560,9 +580,9 @@
%
% First, is width < minimum width?
\pgf@x=\wd\pgfnodeparttextbox%
- \setlength\pgf@xc{\pgfshapeinnerxsep}%
+ \pgfmathsetlength\pgf@xc{\pgfshapeinnerxsep}%
\advance\pgf@x by 2\pgf@xc%
- \setlength\pgf@xb{\pgfshapeminwidth}%
+ \pgfmathsetlength\pgf@xb{\pgfshapeminwidth}%
\ifdim\pgf@x<\pgf@xb%
% yes, too small. Enlarge...
\pgf@x=\pgf@xb%
@@ -570,16 +590,16 @@
% Now, calculate left border: .5\wd\pgfnodeparttextbox - .5 \pgf@x - outer sep
\pgf@x=-.5\pgf@x%
\advance\pgf@x by.5\wd\pgfnodeparttextbox%
- \setlength\pgf@xa{\pgfshapeouterxsep}%
+ \pgfmathsetlength\pgf@xa{\pgfshapeouterxsep}%
\advance\pgf@x by-\pgf@xa%
% Calculate y
%
% First, is height+depth < minimum height?
\pgf@y=\ht\pgfnodeparttextbox%
\advance\pgf@y by\dp\pgfnodeparttextbox%
- \setlength\pgf@yc{\pgfshapeinnerysep}%
+ \pgfmathsetlength\pgf@yc{\pgfshapeinnerysep}%
\advance\pgf@y by 2\pgf@yc%
- \setlength\pgf@yb{\pgfshapeminheight}%
+ \pgfmathsetlength\pgf@yb{\pgfshapeminheight}%
\ifdim\pgf@y<\pgf@yb%
% yes, too small. Enlarge...
\pgf@y=\pgf@yb%
@@ -588,7 +608,7 @@
\pgf@y=-.5\pgf@y%
\advance\pgf@y by-.5\dp\pgfnodeparttextbox%
\advance\pgf@y by.5\ht\pgfnodeparttextbox%
- \setlength\pgf@ya{\pgfshapeouterysep}%
+ \pgfmathsetlength\pgf@ya{\pgfshapeouterysep}%
\advance\pgf@y by-\pgf@ya%
}
@@ -605,7 +625,7 @@
\advance\pgf@x by \pgf@xa%
\advance\pgf@y by \pgf@ya%
}
- \anchor{mid}{\pgf@anchor@rectangle@center\setlength\pgf@y{.5ex}}
+ \anchor{mid}{\pgf@anchor@rectangle@center\pgfmathsetlength\pgf@y{.5ex}}
\anchor{base}{\pgf@anchor@rectangle@center\pgf@y=0pt}
\anchor{north}{
\pgf@process{\southwest}%
@@ -628,7 +648,7 @@
\pgf@y=.5\pgf@y%
\advance\pgf@y by \pgf@ya%
}
- \anchor{mid west}{\southwest\setlength\pgf@y{.5ex}}
+ \anchor{mid west}{\southwest\pgfmathsetlength\pgf@y{.5ex}}
\anchor{base west}{\southwest\pgf@y=0pt}
\anchor{north west}{
\southwest
@@ -643,7 +663,7 @@
\pgf@y=.5\pgf@y%
\advance\pgf@y by \pgf@ya%
}
- \anchor{mid east}{\northeast\setlength\pgf@y{.5ex}}
+ \anchor{mid east}{\northeast\pgfmathsetlength\pgf@y{.5ex}}
\anchor{base east}{\northeast\pgf@y=0pt}
\anchor{north east}{\northeast}
\anchor{south east}{
@@ -667,8 +687,8 @@
\advance\pgf@ya by\pgf@yc%
\edef\pgf@marshal{%
\noexpand\pgfpointborderrectangle
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}
- {\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}
+ {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}%
}%
\pgf@process{\pgf@marshal}%
\advance\pgf@x by\pgf@xa%
@@ -690,8 +710,8 @@
% Special current bounding box rectangle:
\expandafter\def\csname pgf@sh@ns@current bounding box\endcsname{rectangle}
\expandafter\def\csname pgf@sh@np@current bounding box\endcsname{%
- \def\southwest{\pgfpoint{\pgf@picminx}{\pgf@picminy}}%
- \def\northeast{\pgfpoint{\pgf@picmaxx}{\pgf@picmaxy}}%
+ \def\southwest{\pgfqpoint{\pgf@picminx}{\pgf@picminy}}%
+ \def\northeast{\pgfqpoint{\pgf@picmaxx}{\pgf@picmaxy}}%
}
\expandafter\def\csname pgf@sh@nt@current bounding box\endcsname{{1}{0}{0}{1}{0pt}{0pt}}
\expandafter\def\csname pgf@sh@pi@current bounding box\endcsname{\pgfpictureid}
@@ -700,8 +720,8 @@
% Special current path bounding box rectangle:
\expandafter\def\csname pgf@sh@ns@current path bounding box\endcsname{rectangle}
\expandafter\def\csname pgf@sh@np@current path bounding box\endcsname{%
- \def\southwest{\pgfpoint{\pgf@pathminx}{\pgf@pathminy}}%
- \def\northeast{\pgfpoint{\pgf@pathmaxx}{\pgf@pathmaxy}}%
+ \def\southwest{\pgfqpoint{\pgf@pathminx}{\pgf@pathminy}}%
+ \def\northeast{\pgfqpoint{\pgf@pathmaxx}{\pgf@pathmaxy}}%
}
\expandafter\def\csname pgf@sh@nt@current path bounding box\endcsname{{1}{0}{0}{1}{0pt}{0pt}}
\expandafter\def\csname pgf@sh@pi@current path bounding box\endcsname{\pgfpictureid}
@@ -710,8 +730,8 @@
% Special current page bounding box rectangle:
\expandafter\def\csname pgf@sh@ns@current page\endcsname{rectangle}
\expandafter\def\csname pgf@sh@np@current page\endcsname{%
- \def\southwest{\pgfpoint{0pt}{0pt}}%
- \def\northeast{\pgfpoint{\paperwidth}{\paperheight}}%
+ \def\southwest{\pgfqpoint{0pt}{0pt}}%
+ \def\northeast{\pgfqpoint{\paperwidth}{\paperheight}}%
}
\expandafter\def\csname pgf@sh@nt@current page\endcsname{{1}{0}{0}{1}{0pt}{0pt}}
\expandafter\def\csname pgf@sh@pi@current page\endcsname{pgfpageorigin}
@@ -739,18 +759,18 @@
%
\pgf@ya=.5\ht\pgfnodeparttextbox%
\advance\pgf@ya by.5\dp\pgfnodeparttextbox%
- \setlength\pgf@yb{\pgfshapeinnerysep}%
+ \pgfmathsetlength\pgf@yb{\pgfshapeinnerysep}%
\advance\pgf@ya by\pgf@yb%
%
% Caculate ``width radius''
%
\pgf@xa=.5\wd\pgfnodeparttextbox%
- \setlength\pgf@xb{\pgfshapeinnerxsep}%
+ \pgfmathsetlength\pgf@xb{\pgfshapeinnerxsep}%
\advance\pgf@xa by\pgf@xb%
%
% Calculate length of radius vector:
%
- \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
+ \pgf@process{\pgfpointnormalised{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
\ifdim\pgf@x>\pgf@y%
\c@pgf@counta=\pgf@x%
\ifnum\c@pgf@counta=0\relax%
@@ -775,8 +795,8 @@
% If necessary, adjust radius so that the size requirements are
% met:
%
- \setlength{\pgf@xb}{\pgfshapeminwidth}%
- \setlength{\pgf@yb}{\pgfshapeminheight}%
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeminwidth}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeminheight}%
\ifdim\pgf@x<.5\pgf@xb%
\pgf@x=.5\pgf@xb%
\fi%
@@ -786,8 +806,8 @@
%
% Now, add larger of outer sepearations.
%
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
\ifdim\pgf@xb<\pgf@yb%
\advance\pgf@x by\pgf@yb%
\else%
@@ -799,14 +819,14 @@
% Anchors
%
\anchor{center}{\centerpoint}
- \anchor{mid}{\centerpoint\setlength\pgf@y{.5ex}}
+ \anchor{mid}{\centerpoint\pgfmathsetlength\pgf@y{.5ex}}
\anchor{base}{\centerpoint\pgf@y=0pt}
\anchor{north}{\centerpoint\advance\pgf@y by\radius}
\anchor{south}{\centerpoint\advance\pgf@y by-\radius}
\anchor{west}{\centerpoint\advance\pgf@x by-\radius}
\anchor{east}{\centerpoint\advance\pgf@x by\radius}
- \anchor{mid west}{\centerpoint\advance\pgf@x by-\radius\setlength\pgf@y{.5ex}}
- \anchor{mid east}{\centerpoint\advance\pgf@x by\radius\setlength\pgf@y{.5ex}}
+ \anchor{mid west}{\centerpoint\advance\pgf@x by-\radius\pgfmathsetlength\pgf@y{.5ex}}
+ \anchor{mid east}{\centerpoint\advance\pgf@x by\radius\pgfmathsetlength\pgf@y{.5ex}}
\anchor{base west}{\centerpoint\advance\pgf@x by-\radius\pgf@y=0pt}
\anchor{base east}{\centerpoint\advance\pgf@x by\radius\pgf@y=0pt}
\anchor{north west}{
@@ -838,8 +858,8 @@
\pgf@ya=\pgf@y%
\edef\pgf@marshal{%
\noexpand\pgfpointborderellipse
- {\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}
- {\noexpand\pgfpoint{\radius}{\radius}}%
+ {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}
+ {\noexpand\pgfqpoint{\radius}{\radius}}%
}%
\pgf@marshal%
\pgf@xa=\pgf@x%
@@ -853,15 +873,15 @@
% Background path
%
\backgroundpath{
- \@tempdima=\radius%
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
+ \pgfutil@tempdima=\radius%
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
\ifdim\pgf@xb<\pgf@yb%
- \advance\@tempdima by-\pgf@yb%
+ \advance\pgfutil@tempdima by-\pgf@yb%
\else%
- \advance\@tempdima by-\pgf@xb%
+ \advance\pgfutil@tempdima by-\pgf@xb%
\fi%
- \pgfpathcircle{\centerpoint}{\@tempdima}%
+ \pgfpathcircle{\centerpoint}{\pgfutil@tempdima}%
}
}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasesnakes.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasesnakes.code.tex
index e20b2ca3c9e..5259624c57a 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasesnakes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfbasesnakes.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbasesnakes.code.tex,v 1.10 2006/10/16 22:32:58 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfbasesnakes.code.tex,v 1.11 2007/03/09 17:49:32 tantau Exp $
\newdimen\pgfsnakeremainingdistance
\newdimen\pgfsnakecompleteddistance
@@ -174,9 +174,9 @@
}
\def\pgf@snake@invoke#1#2{%
- \setlength\pgf@xa{#2}%
+ \pgfmathsetlength\pgf@xa{#2}%
{%
- \edef\pgf@marshal{\noexpand\pgfpathsnakealongvector{#1}{\the\pgf@xa}{\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}}%
+ \edef\pgf@marshal{\noexpand\pgfpathsnakealongvector{#1}{\the\pgf@xa}{\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}}%
\pgf@marshal%
}%
\advance\pgfsnakecompleteddistance by\pgf@xa%
@@ -246,7 +246,7 @@
\expandafter\let\expandafter\pgf@snake@current@state\expandafter=\csname pgf@snake@@#1@initial\endcsname%
\def\pgf@snake@name{#1}%
\pgfsnakecompleteddistance=0pt%
- \setlength\pgfsnakeremainingdistance{#2}%
+ \pgfmathsetlength\pgfsnakeremainingdistance{#2}%
\pgf@snake@run%
% Last step:
{%
@@ -289,7 +289,7 @@
\csname pgf@snake@@\pgf@snake@name @\pgf@snake@current@state @code\endcsname%
}%
% next, do transformation and update
- \setlength{\pgf@xa}{\pgf@snake@width}%
+ \pgfmathsetlength{\pgf@xa}{\pgf@snake@width}%
\advance\pgfsnakeremainingdistance by-\pgf@xa%
\advance\pgfsnakecompleteddistance by\pgf@xa%
% Next iteration:
@@ -310,7 +310,7 @@
\def\pgf@snake@switch@if#1to #2\pgf@stop{%
\ifx\pgf@snake@next\relax%
- \setlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@x{#1}%
\ifdim\pgfsnakeremainingdistance<\pgf@x%
\def\pgf@snake@current@state{#2}%
\let\pgf@snake@next=\pgf@snake@run%
@@ -328,7 +328,7 @@
\pgfdeclaresnake{lineto}{final}
{
\state{final}
- { \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}} }
+ { \pgfpathlineto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}} }
}
@@ -341,7 +341,7 @@
\pgfdeclaresnake{moveto}{final}
{
\state{final}
- { \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}} }
+ { \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}} }
}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
index 80e932c4571..8cbb060e1c1 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
@@ -7,11 +7,12 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcore.code.tex,v 1.4 2006/10/11 15:22:25 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcore.code.tex,v 1.5 2007/03/09 17:49:32 tantau Exp $
\newif\ifpgf@draftmode
-\input pgfcoremath.code.tex
+\input pgfmath.code.tex
+
\input pgfcorepoints.code.tex
\input pgfcorepathconstruct.code.tex
\input pgfcorepathusage.code.tex
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
index bbbe9580b26..bdf4906c1be 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorearrows.code.tex,v 1.6 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorearrows.code.tex,v 1.8 2007/06/07 07:41:10 tantau Exp $
% Sets the end arrow
@@ -186,8 +186,8 @@
}%
}
-\def\pgfarrowsleftextend#1{\setlength\pgf@xa{#1}}
-\def\pgfarrowsrightextend#1{\setlength\pgf@xb{#1}}
+\def\pgfarrowsleftextend#1{\pgfmathsetlength\pgf@xa{#1}}
+\def\pgfarrowsrightextend#1{\pgfmathsetlength\pgf@xb{#1}}
\def\pgf@arrows@repeat#1#2{%
\edef\pgf@arrows@marshal{\noexpand\let\expandafter\noexpand\csname#2\endcsname=\expandafter\noexpand\csname#1\endcsname}%
@@ -283,7 +283,7 @@
{\expandafter\noexpand\csname pgf@arrow@code@#7\endcsname}%
\noexpand\endpgfscope%
{%
- \noexpand\setlength\pgf@x{#1}%
+ \noexpand\pgfmathsetlength\pgf@x{#1}%
\noexpand\pgf@process{\expandafter\noexpand\csname pgf@arrow@left@#7\endcsname}%
\noexpand\pgf@process{\expandafter\noexpand\csname pgf@arrow@right@#5\endcsname}%
\pgf@x=-\pgf@x%
@@ -293,7 +293,7 @@
\pgf@arrows@repeat{pgf@arrow@right@#7}{pgf@arrow@right@#3}%
\expandafter\def\csname pgf@arrow@left@#3\endcsname{%
\pgf@process{%
- \setlength\pgf@y{#1}%
+ \pgfmathsetlength\pgf@y{#1}%
\advance\pgf@x by\pgf@y%
\pgf@process{\csname pgf@arrow@left@#7\endcsname}%
\pgf@process{\csname pgf@arrow@right@#5\endcsname}%
@@ -317,7 +317,7 @@
\expandafter\edef\csname pgf@arrow@code@#3\endcsname{%
\noexpand\pgfscope%
{%
- \noexpand\setlength\pgf@x{#1}%
+ \noexpand\pgfmathsetlength\pgf@x{#1}%
\pgf@process{\expandafter\noexpand\csname pgf@arrow@left@#7\endcsname}%
\pgf@process{\expandafter\noexpand\csname pgf@arrow@right@#5\endcsname}%
\noexpand\pgflowlevel{\noexpand\pgftransformxshift{\pgf@x}}%
@@ -329,7 +329,7 @@
\pgf@arrows@repeat{pgf@arrow@left@#7}{pgf@arrow@left@#3}%
\expandafter\def\csname pgf@arrow@right@#3\endcsname{%
\pgf@process{%
- \setlength\pgf@y{#1}%
+ \pgfmathsetlength\pgf@y{#1}%
\advance\pgf@x by\pgf@y%
\pgf@process{\csname pgf@arrow@left@#7\endcsname}%
\pgf@process{\csname pgf@arrow@right@#5\endcsname}%
@@ -373,18 +373,18 @@
\pgfarrowsdeclare{stealth}{stealth}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfarrowsleftextend{-3\@tempdima}
- \pgfarrowsrightextend{5\@tempdima}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfarrowsleftextend{+-3\pgfutil@tempdima}
+ \pgfarrowsrightextend{+5\pgfutil@tempdima}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfpathmoveto{\pgfpoint{5\@tempdima}{0pt}}
- \pgfpathlineto{\pgfpoint{-3\@tempdima}{4\@tempdima}}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfpathmoveto{\pgfqpoint{5\pgfutil@tempdima}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}}
\pgfpathlineto{\pgfpointorigin}
- \pgfpathlineto{\pgfpoint{-3\@tempdima}{-4\@tempdima}}
+ \pgfpathlineto{\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}}
\pgfusepathqfill
}
@@ -399,57 +399,57 @@
\pgfarrowsdeclare{to}{to}
{
- \@tempdima=-0.84pt%
- \advance\@tempdima by-1.3\pgflinewidth%
- \@tempdimb=0.21pt%
- \advance\@tempdimb by.625\pgflinewidth%
- \pgfarrowsleftextend{\@tempdima}
- \pgfarrowsrightextend{\@tempdimb}
+ \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}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
\pgfsetlinewidth{0.8\pgflinewidth}
- \pgfsetdash{}{0pt}
+ \pgfsetdash{}{+0pt}
\pgfsetroundcap
\pgfsetroundjoin
- \pgfpathmoveto{\pgfpoint{-3\@tempdima}{4\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{-2.75\@tempdima}{2.5\@tempdima}}
- {\pgfpoint{0pt}{0.25\@tempdima}}
- {\pgfpoint{0.75\@tempdima}{0pt}}
+ {\pgfqpoint{-2.75\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
+ {\pgfqpoint{0pt}{0.25\pgfutil@tempdima}}
+ {\pgfqpoint{0.75\pgfutil@tempdima}{0pt}}
\pgfpathcurveto
- {\pgfpoint{0pt}{-0.25\@tempdima}}
- {\pgfpoint{-2.75\@tempdima}{-2.5\@tempdima}}
- {\pgfpoint{-3\@tempdima}{-4\@tempdima}}
+ {\pgfqpoint{0pt}{-0.25\pgfutil@tempdima}}
+ {\pgfqpoint{-2.75\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
+ {\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}}
\pgfusepathqstroke
}
\pgfarrowsdeclare{to reversed}{to reversed}
{
- \@tempdima=-0.21pt%
- \advance\@tempdima by-0.475\pgflinewidth%
- \@tempdimb=0.98pt%
- \advance\@tempdimb by1.45\pgflinewidth%
- \pgfarrowsleftextend{\@tempdima}
- \pgfarrowsrightextend{\@tempdimb}
+ \pgfutil@tempdima=-0.21pt%
+ \advance\pgfutil@tempdima by-0.475\pgflinewidth%
+ \pgfutil@tempdimb=0.98pt%
+ \advance\pgfutil@tempdimb by1.45\pgflinewidth%
+ \pgfarrowsleftextend{+\pgfutil@tempdima}
+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfsetlinewidth{0.8\pgflinewidth}
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfsetlinewidth{+0.8\pgflinewidth}
+ \pgfsetdash{}{+0pt}
\pgfsetroundcap
\pgfsetroundjoin
- \pgfpathmoveto{\pgfpoint{3.5\@tempdima}{4\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{3.5\pgfutil@tempdima}{4\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{3.25\@tempdima}{2.5\@tempdima}}
- {\pgfpoint{0.5\@tempdima}{0.25\@tempdima}}
- {\pgfpoint{-0.25\@tempdima}{0\@tempdima}}
+ {\pgfqpoint{3.25\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
+ {\pgfqpoint{0.5\pgfutil@tempdima}{0.25\pgfutil@tempdima}}
+ {\pgfqpoint{-0.25\pgfutil@tempdima}{0\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{0.5\@tempdima}{-0.25\@tempdima}}
- {\pgfpoint{3.25\@tempdima}{-2.5\@tempdima}}
- {\pgfpoint{3.5\@tempdima}{-4\@tempdima}}
+ {\pgfqpoint{0.5\pgfutil@tempdima}{-0.25\pgfutil@tempdima}}
+ {\pgfqpoint{3.25\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
+ {\pgfqpoint{3.5\pgfutil@tempdima}{-4\pgfutil@tempdima}}
\pgfusepathqstroke
}
@@ -463,24 +463,24 @@
\pgfarrowsdeclare{latex}{latex}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfarrowsleftextend{-1\@tempdima}
- \pgfarrowsrightextend{9\@tempdima}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfarrowsleftextend{+-1\pgfutil@tempdima}
+ \pgfarrowsrightextend{+9\pgfutil@tempdima}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfpathmoveto{\pgfpoint{9\@tempdima}{0pt}}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfpathmoveto{\pgfqpoint{9\pgfutil@tempdima}{0pt}}
\pgfpathcurveto
- {\pgfpoint{6.3333\@tempdima}{.5\@tempdima}}
- {\pgfpoint{2\@tempdima}{2\@tempdima}}
- {\pgfpoint{-1\@tempdima}{3.75\@tempdima}}
- \pgfpathlineto{\pgfpoint{-1\@tempdima}{-3.75\@tempdima}}
+ {\pgfqpoint{6.3333\pgfutil@tempdima}{.5\pgfutil@tempdima}}
+ {\pgfqpoint{2\pgfutil@tempdima}{2\pgfutil@tempdima}}
+ {\pgfqpoint{-1\pgfutil@tempdima}{3.75\pgfutil@tempdima}}
+ \pgfpathlineto{\pgfqpoint{-1\pgfutil@tempdima}{-3.75\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{2\@tempdima}{-2\@tempdima}}
- {\pgfpoint{6.3333\@tempdima}{-.5\@tempdima}}
- {\pgfpoint{9\@tempdima}{0pt}}
+ {\pgfqpoint{2\pgfutil@tempdima}{-2\pgfutil@tempdima}}
+ {\pgfqpoint{6.3333\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
+ {\pgfqpoint{9\pgfutil@tempdima}{0pt}}
\pgfusepathqfill
}
\pgfarrowsdeclarereversed{latex reversed}{latex reversed}{latex}{latex}
@@ -495,16 +495,16 @@
\pgfarrowsdeclare{|}{|}
{
- \pgfarrowsleftextend{-0.25\pgflinewidth}
- \pgfarrowsrightextend{.75\pgflinewidth}
+ \pgfarrowsleftextend{+-0.25\pgflinewidth}
+ \pgfarrowsrightextend{+.75\pgflinewidth}
}
{
- \@tempdima=2pt%
- \advance\@tempdima by1.5\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=2pt%
+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetrectcap
- \pgfpathmoveto{\pgfpoint{0.25\pgflinewidth}{-\@tempdima}}
- \pgfpathlineto{\pgfpoint{0.25\pgflinewidth}{\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{0.25\pgflinewidth}{-\pgfutil@tempdima}}
+ \pgfpathlineto{\pgfqpoint{0.25\pgflinewidth}{\pgfutil@tempdima}}
\pgfusepathqstroke
}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
index 236dc6a80cb..38f60266178 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex,v 1.6 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex,v 1.7 2007/03/09 17:49:32 tantau Exp $
% Globals
@@ -23,7 +23,7 @@
% \pgfsetlinewidth{3pt}
\def\pgfsetlinewidth#1{%
- \setlength\pgflinewidth{#1}%
+ \pgfmathsetlength\pgflinewidth{#1}%
\global\pgflinewidth=\pgflinewidth%
\pgfsys@setlinewidth{\the\pgflinewidth}%
\ignorespaces}
@@ -57,7 +57,7 @@
\def\pgf@temp{}%
\def\pgf@next{\pgf@strip}%
\pgf@strip#1{pgf@stop}%
- \setlength\pgf@x{#2}%
+ \pgfmathsetlength\pgf@x{#2}%
\pgfsys@setdash{\pgf@temp}{\the\pgf@x}%
\ignorespaces}
@@ -66,7 +66,7 @@
\ifx\pgf@@temp\pgf@stop%
\let\pgf@next=\relax%
\else%
- \setlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@x{#1}%
\ifx\pgf@temp\pgfutil@empty%
\edef\pgf@temp{\the\pgf@x}%
\else%
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoremath.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoremath.code.tex
deleted file mode 100644
index 2a0187b13a8..00000000000
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoremath.code.tex
+++ /dev/null
@@ -1,271 +0,0 @@
-% 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.
-
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoremath.code.tex,v 1.3 2006/10/15 15:54:25 tantau Exp $
-
-
-% Mathematical stuff
-
-
-% Internal registers
-\ifx\pgflatex@setcounter\@undefined
- \def\pgflatex@setcounter{\setcounter}
-\fi
-
-\newcount\c@pgf@counta
-\newcount\c@pgf@countb
-\newcount\c@pgf@countc
-\newcount\c@pgf@countd
-
-
-% Internal setting function
-\def\pgf@setmath#1#2{\edef\pgf@temp{#2pt}\csname pgf@#1\endcsname=\pgf@temp}
-
-
-% Calculate sin of a degree
-%
-% #1 = degree
-%
-% x = sin of #1
-%
-% Example:
-%
-% \pgfsin{30}
-
-\def\pgfsin#1{%
- \pgf@setcounter{pgf@counta}{#1}\relax%
- \c@pgf@countb=90%
- \advance\c@pgf@countb by-\c@pgf@counta%
- \ifnum\c@pgf@countb>179%
- \advance\c@pgf@countb by-360%
- \else%
- \ifnum\c@pgf@countb<-179%
- \advance\c@pgf@countb by360%
- \fi\fi%
- \ifnum\c@pgf@countb<0\relax%
- \c@pgf@countb=-\c@pgf@countb%
- \fi%
- \pgf@setmath{x}{\csname pgf@cos\the\c@pgf@countb\endcsname}}
-
-
-% Calculate cos of a degree
-%
-% #1 = degree
-%
-% x = cos of #1
-%
-% Example:
-%
-% \pgfcos{30}
-
-\def\pgfcos#1{%
- \pgf@setcounter{pgf@counta}{#1}%
- \ifnum\c@pgf@counta>179%
- \advance\c@pgf@counta by-360%
- \else%
- \ifnum\c@pgf@counta<-179%
- \advance\c@pgf@counta by360%
- \fi\fi%
- \ifnum\c@pgf@counta<0\relax%
- \c@pgf@counta=-\c@pgf@counta%
- \fi%
- \pgf@setmath{x}{\csname pgf@cos\the\c@pgf@counta\endcsname}}
-
-
-
-% Calculate sin and cos of a degree
-%
-% #1 = degree
-%
-% x = cos of #1
-% y = sin of #1
-%
-% Example:
-%
-% \pgfcos{30}
-
-\def\pgfsincos#1{%
- \pgf@setcounter{pgf@counta}{#1}%
- \ifnum\c@pgf@counta>179%
- \advance\c@pgf@counta by-360%
- \else%
- \ifnum\c@pgf@counta<-179%
- \advance\c@pgf@counta by360%
- \fi\fi\relax%
- \c@pgf@countb=\c@pgf@counta\relax%
- \ifnum\c@pgf@counta<0\relax%
- \c@pgf@counta=-\c@pgf@counta%
- \fi\relax%
- \pgf@setmath{y}{\csname pgf@cos\the\c@pgf@counta\endcsname}%
- \c@pgf@counta=90%
- \advance\c@pgf@counta by-\c@pgf@countb\relax%
- \ifnum\c@pgf@counta>179%
- \advance\c@pgf@counta by-360%
- \else%
- \ifnum\c@pgf@counta<-179%
- \advance\c@pgf@counta by360%
- \fi\fi\relax%
- \ifnum\c@pgf@counta<0\relax%
- \c@pgf@counta=-\c@pgf@counta%
- \fi\relax%
- \pgf@setmath{x}{\csname pgf@cos\the\c@pgf@counta\endcsname}}
-
-
-% Internal tables
-
-\def\pgf@def#1#2#3{\expandafter\def\csname pgf@#1#2\endcsname{#3}}
-\pgf@def{cos}{0}{1} \pgf@def{cos}{1}{0.999848}
-\pgf@def{cos}{2}{0.999391} \pgf@def{cos}{3}{0.99863}
-\pgf@def{cos}{4}{0.997564} \pgf@def{cos}{5}{0.996195}
-\pgf@def{cos}{6}{0.994522} \pgf@def{cos}{7}{0.992546}
-\pgf@def{cos}{8}{0.990268} \pgf@def{cos}{9}{0.987688}
-\pgf@def{cos}{10}{0.984808} \pgf@def{cos}{11}{0.981627}
-\pgf@def{cos}{12}{0.978148} \pgf@def{cos}{13}{0.97437}
-\pgf@def{cos}{14}{0.970296} \pgf@def{cos}{15}{0.965926}
-\pgf@def{cos}{16}{0.961262} \pgf@def{cos}{17}{0.956305}
-\pgf@def{cos}{18}{0.951057} \pgf@def{cos}{19}{0.945519}
-\pgf@def{cos}{20}{0.939693} \pgf@def{cos}{21}{0.93358}
-\pgf@def{cos}{22}{0.927184} \pgf@def{cos}{23}{0.920505}
-\pgf@def{cos}{24}{0.913545} \pgf@def{cos}{25}{0.906308}
-\pgf@def{cos}{26}{0.898794} \pgf@def{cos}{27}{0.891007}
-\pgf@def{cos}{28}{0.882948} \pgf@def{cos}{29}{0.87462}
-\pgf@def{cos}{30}{0.866025} \pgf@def{cos}{31}{0.857167}
-\pgf@def{cos}{32}{0.848048} \pgf@def{cos}{33}{0.838671}
-\pgf@def{cos}{34}{0.829038} \pgf@def{cos}{35}{0.819152}
-\pgf@def{cos}{36}{0.809017} \pgf@def{cos}{37}{0.798636}
-\pgf@def{cos}{38}{0.788011} \pgf@def{cos}{39}{0.777146}
-\pgf@def{cos}{40}{0.766044} \pgf@def{cos}{41}{0.75471}
-\pgf@def{cos}{42}{0.743145} \pgf@def{cos}{43}{0.731354}
-\pgf@def{cos}{44}{0.71934} \pgf@def{cos}{45}{0.707107}
-\pgf@def{cos}{46}{0.694658} \pgf@def{cos}{47}{0.681998}
-\pgf@def{cos}{48}{0.669131} \pgf@def{cos}{49}{0.656059}
-\pgf@def{cos}{50}{0.642788} \pgf@def{cos}{51}{0.62932}
-\pgf@def{cos}{52}{0.615661} \pgf@def{cos}{53}{0.601815}
-\pgf@def{cos}{54}{0.587785} \pgf@def{cos}{55}{0.573576}
-\pgf@def{cos}{56}{0.559193} \pgf@def{cos}{57}{0.544639}
-\pgf@def{cos}{58}{0.529919} \pgf@def{cos}{59}{0.515038}
-\pgf@def{cos}{60}{0.5} \pgf@def{cos}{61}{0.48481}
-\pgf@def{cos}{62}{0.469472} \pgf@def{cos}{63}{0.45399}
-\pgf@def{cos}{64}{0.438371} \pgf@def{cos}{65}{0.422618}
-\pgf@def{cos}{66}{0.406737} \pgf@def{cos}{67}{0.390731}
-\pgf@def{cos}{68}{0.374607} \pgf@def{cos}{69}{0.358368}
-\pgf@def{cos}{70}{0.34202} \pgf@def{cos}{71}{0.325568}
-\pgf@def{cos}{72}{0.309017} \pgf@def{cos}{73}{0.292372}
-\pgf@def{cos}{74}{0.275637} \pgf@def{cos}{75}{0.258819}
-\pgf@def{cos}{76}{0.241922} \pgf@def{cos}{77}{0.224951}
-\pgf@def{cos}{78}{0.207912} \pgf@def{cos}{79}{0.190809}
-\pgf@def{cos}{80}{0.173648} \pgf@def{cos}{81}{0.156434}
-\pgf@def{cos}{82}{0.139173} \pgf@def{cos}{83}{0.121869}
-\pgf@def{cos}{84}{0.104528} \pgf@def{cos}{85}{0.0871557}
-\pgf@def{cos}{86}{0.0697565} \pgf@def{cos}{87}{0.052336}
-\pgf@def{cos}{88}{0.0348995} \pgf@def{cos}{89}{0.0174524}
-\pgf@def{cos}{90}{0} \pgf@def{cos}{91}{-0.0174524}
-\pgf@def{cos}{92}{-0.0348995} \pgf@def{cos}{93}{-0.052336}
-\pgf@def{cos}{94}{-0.0697565} \pgf@def{cos}{95}{-0.0871557}
-\pgf@def{cos}{96}{-0.104528} \pgf@def{cos}{97}{-0.121869}
-\pgf@def{cos}{98}{-0.139173} \pgf@def{cos}{99}{-0.156434}
-\pgf@def{cos}{100}{-0.173648} \pgf@def{cos}{101}{-0.190809}
-\pgf@def{cos}{102}{-0.207912} \pgf@def{cos}{103}{-0.224951}
-\pgf@def{cos}{104}{-0.241922} \pgf@def{cos}{105}{-0.258819}
-\pgf@def{cos}{106}{-0.275637} \pgf@def{cos}{107}{-0.292372}
-\pgf@def{cos}{108}{-0.309017} \pgf@def{cos}{109}{-0.325568}
-\pgf@def{cos}{110}{-0.34202} \pgf@def{cos}{111}{-0.358368}
-\pgf@def{cos}{112}{-0.374607} \pgf@def{cos}{113}{-0.390731}
-\pgf@def{cos}{114}{-0.406737} \pgf@def{cos}{115}{-0.422618}
-\pgf@def{cos}{116}{-0.438371} \pgf@def{cos}{117}{-0.45399}
-\pgf@def{cos}{118}{-0.469472} \pgf@def{cos}{119}{-0.48481}
-\pgf@def{cos}{120}{-0.5} \pgf@def{cos}{121}{-0.515038}
-\pgf@def{cos}{122}{-0.529919} \pgf@def{cos}{123}{-0.544639}
-\pgf@def{cos}{124}{-0.559193} \pgf@def{cos}{125}{-0.573576}
-\pgf@def{cos}{126}{-0.587785} \pgf@def{cos}{127}{-0.601815}
-\pgf@def{cos}{128}{-0.615661} \pgf@def{cos}{129}{-0.62932}
-\pgf@def{cos}{130}{-0.642788} \pgf@def{cos}{131}{-0.656059}
-\pgf@def{cos}{132}{-0.669131} \pgf@def{cos}{133}{-0.681998}
-\pgf@def{cos}{134}{-0.694658} \pgf@def{cos}{135}{-0.707107}
-\pgf@def{cos}{136}{-0.71934} \pgf@def{cos}{137}{-0.731354}
-\pgf@def{cos}{138}{-0.743145} \pgf@def{cos}{139}{-0.75471}
-\pgf@def{cos}{140}{-0.766044} \pgf@def{cos}{141}{-0.777146}
-\pgf@def{cos}{142}{-0.788011} \pgf@def{cos}{143}{-0.798636}
-\pgf@def{cos}{144}{-0.809017} \pgf@def{cos}{145}{-0.819152}
-\pgf@def{cos}{146}{-0.829038} \pgf@def{cos}{147}{-0.838671}
-\pgf@def{cos}{148}{-0.848048} \pgf@def{cos}{149}{-0.857167}
-\pgf@def{cos}{150}{-0.866025} \pgf@def{cos}{151}{-0.87462}
-\pgf@def{cos}{152}{-0.882948} \pgf@def{cos}{153}{-0.891007}
-\pgf@def{cos}{154}{-0.898794} \pgf@def{cos}{155}{-0.906308}
-\pgf@def{cos}{156}{-0.913545} \pgf@def{cos}{157}{-0.920505}
-\pgf@def{cos}{158}{-0.927184} \pgf@def{cos}{159}{-0.93358}
-\pgf@def{cos}{160}{-0.939693} \pgf@def{cos}{161}{-0.945519}
-\pgf@def{cos}{162}{-0.951057} \pgf@def{cos}{163}{-0.956305}
-\pgf@def{cos}{164}{-0.961262} \pgf@def{cos}{165}{-0.965926}
-\pgf@def{cos}{166}{-0.970296} \pgf@def{cos}{167}{-0.97437}
-\pgf@def{cos}{168}{-0.978148} \pgf@def{cos}{169}{-0.981627}
-\pgf@def{cos}{170}{-0.984808} \pgf@def{cos}{171}{-0.987688}
-\pgf@def{cos}{172}{-0.990268} \pgf@def{cos}{173}{-0.992546}
-\pgf@def{cos}{174}{-0.994522} \pgf@def{cos}{175}{-0.996195}
-\pgf@def{cos}{176}{-0.997564} \pgf@def{cos}{177}{-0.99863}
-\pgf@def{cos}{178}{-0.999391} \pgf@def{cos}{179}{-0.999848}
-\pgf@def{cos}{180}{-1}
-
-
-
-\pgf@def{cosfrac}{0}{1}
-\pgf@def{cosfrac}{1}{0.99995} \pgf@def{cosfrac}{2}{0.9998}
-\pgf@def{cosfrac}{3}{0.99955} \pgf@def{cosfrac}{4}{0.999201}
-\pgf@def{cosfrac}{5}{0.998752} \pgf@def{cosfrac}{6}{0.998205}
-\pgf@def{cosfrac}{7}{0.997559} \pgf@def{cosfrac}{8}{0.996815}
-\pgf@def{cosfrac}{9}{0.995974} \pgf@def{cosfrac}{10}{0.995037}
-\pgf@def{cosfrac}{11}{0.994004} \pgf@def{cosfrac}{12}{0.992877}
-\pgf@def{cosfrac}{13}{0.991656} \pgf@def{cosfrac}{14}{0.990342}
-\pgf@def{cosfrac}{15}{0.988936} \pgf@def{cosfrac}{16}{0.987441}
-\pgf@def{cosfrac}{17}{0.985856} \pgf@def{cosfrac}{18}{0.984183}
-\pgf@def{cosfrac}{19}{0.982424} \pgf@def{cosfrac}{20}{0.980581}
-\pgf@def{cosfrac}{21}{0.978653} \pgf@def{cosfrac}{22}{0.976644}
-\pgf@def{cosfrac}{23}{0.974555} \pgf@def{cosfrac}{24}{0.972387}
-\pgf@def{cosfrac}{25}{0.970143} \pgf@def{cosfrac}{26}{0.967823}
-\pgf@def{cosfrac}{27}{0.965429} \pgf@def{cosfrac}{28}{0.962964}
-\pgf@def{cosfrac}{29}{0.960429} \pgf@def{cosfrac}{30}{0.957826}
-\pgf@def{cosfrac}{31}{0.955157} \pgf@def{cosfrac}{32}{0.952424}
-\pgf@def{cosfrac}{33}{0.949629} \pgf@def{cosfrac}{34}{0.946773}
-\pgf@def{cosfrac}{35}{0.943858} \pgf@def{cosfrac}{36}{0.940887}
-\pgf@def{cosfrac}{37}{0.937862} \pgf@def{cosfrac}{38}{0.934784}
-\pgf@def{cosfrac}{39}{0.931655} \pgf@def{cosfrac}{40}{0.928477}
-\pgf@def{cosfrac}{41}{0.925252} \pgf@def{cosfrac}{42}{0.921982}
-\pgf@def{cosfrac}{43}{0.918669} \pgf@def{cosfrac}{44}{0.915315}
-\pgf@def{cosfrac}{45}{0.911922} \pgf@def{cosfrac}{46}{0.90849}
-\pgf@def{cosfrac}{47}{0.905024} \pgf@def{cosfrac}{48}{0.901523}
-\pgf@def{cosfrac}{49}{0.89799} \pgf@def{cosfrac}{50}{0.894427}
-\pgf@def{cosfrac}{51}{0.890835} \pgf@def{cosfrac}{52}{0.887217}
-\pgf@def{cosfrac}{53}{0.883573} \pgf@def{cosfrac}{54}{0.879905}
-\pgf@def{cosfrac}{55}{0.876216} \pgf@def{cosfrac}{56}{0.872506}
-\pgf@def{cosfrac}{57}{0.868777} \pgf@def{cosfrac}{58}{0.865031}
-\pgf@def{cosfrac}{59}{0.861269} \pgf@def{cosfrac}{60}{0.857493}
-\pgf@def{cosfrac}{61}{0.853704} \pgf@def{cosfrac}{62}{0.849903}
-\pgf@def{cosfrac}{63}{0.846092} \pgf@def{cosfrac}{64}{0.842271}
-\pgf@def{cosfrac}{65}{0.838444} \pgf@def{cosfrac}{66}{0.834609}
-\pgf@def{cosfrac}{67}{0.83077} \pgf@def{cosfrac}{68}{0.826927}
-\pgf@def{cosfrac}{69}{0.82308} \pgf@def{cosfrac}{70}{0.819232}
-\pgf@def{cosfrac}{71}{0.815383} \pgf@def{cosfrac}{72}{0.811534}
-\pgf@def{cosfrac}{73}{0.807687} \pgf@def{cosfrac}{74}{0.803842}
-\pgf@def{cosfrac}{75}{0.8} \pgf@def{cosfrac}{76}{0.796162}
-\pgf@def{cosfrac}{77}{0.792329} \pgf@def{cosfrac}{78}{0.788502}
-\pgf@def{cosfrac}{79}{0.784682} \pgf@def{cosfrac}{80}{0.780869}
-\pgf@def{cosfrac}{81}{0.777064} \pgf@def{cosfrac}{82}{0.773268}
-\pgf@def{cosfrac}{83}{0.769481} \pgf@def{cosfrac}{84}{0.765705}
-\pgf@def{cosfrac}{85}{0.761939} \pgf@def{cosfrac}{86}{0.758185}
-\pgf@def{cosfrac}{87}{0.754443} \pgf@def{cosfrac}{88}{0.750714}
-\pgf@def{cosfrac}{89}{0.746997} \pgf@def{cosfrac}{90}{0.743294}
-\pgf@def{cosfrac}{91}{0.739605} \pgf@def{cosfrac}{92}{0.735931}
-\pgf@def{cosfrac}{93}{0.732272} \pgf@def{cosfrac}{94}{0.728628}
-\pgf@def{cosfrac}{95}{0.724999} \pgf@def{cosfrac}{96}{0.721387}
-\pgf@def{cosfrac}{97}{0.717792} \pgf@def{cosfrac}{98}{0.714213}
-\pgf@def{cosfrac}{99}{0.710651} \pgf@def{cosfrac}{100}{0.707107}
-
-
-
-\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
index ad0a8fff031..2886ffa8a53 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex,v 1.6 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex,v 1.9 2007/06/07 07:41:10 tantau Exp $
\newdimen\pgf@path@lastx
@@ -218,8 +218,8 @@
% \pgfstroke
\def\pgfpatharc#1#2#3{%
- \pgf@setcounter{pgf@countc}{#1}%
- \pgf@setcounter{pgf@countd}{#2}%
+ \pgfmathsetcounter{pgf@countc}{#1}%
+ \pgfmathsetcounter{pgf@countd}{#2}%
\ifnum\c@pgf@countc>360\relax%
\advance\c@pgf@countc by-360\relax%
\fi%
@@ -233,21 +233,21 @@
\advance\c@pgf@countd by360\relax%
\fi%
\loop%
- \@tempcnta=\c@pgf@countc\relax%
- \advance\@tempcnta by-\c@pgf@countd\relax%
- \ifnum\@tempcnta<0\relax%
- \@tempcnta=-\@tempcnta\relax%
+ \pgfutil@tempcnta=\c@pgf@countc\relax%
+ \advance\pgfutil@tempcnta by-\c@pgf@countd\relax%
+ \ifnum\pgfutil@tempcnta<0\relax%
+ \pgfutil@tempcnta=-\pgfutil@tempcnta\relax%
\fi%
- \ifnum\@tempcnta>90\relax%
+ \ifnum\pgfutil@tempcnta>90\relax%
\ifnum\c@pgf@countd>\c@pgf@countc\relax%
- \@tempcnta=\c@pgf@countc\relax%
- \advance\@tempcnta by 90\relax%
- \expandafter\pgf@arc\expandafter{\expandafter\c@pgf@countc\expandafter}\expandafter{\the\@tempcnta}{#3}%
+ \pgfutil@tempcnta=\c@pgf@countc\relax%
+ \advance\pgfutil@tempcnta by 90\relax%
+ \expandafter\pgf@arc\expandafter{\expandafter\c@pgf@countc\expandafter}\expandafter{\the\pgfutil@tempcnta}{#3}%
\advance\c@pgf@countc by 90\relax%
\else
- \@tempcnta=\c@pgf@countc\relax%
- \advance\@tempcnta by -90\relax%
- \expandafter\pgf@arc\expandafter{\expandafter\c@pgf@countc\expandafter}\expandafter{\the\@tempcnta}{#3}%
+ \pgfutil@tempcnta=\c@pgf@countc\relax%
+ \advance\pgfutil@tempcnta by -90\relax%
+ \expandafter\pgf@arc\expandafter{\expandafter\c@pgf@countc\expandafter}\expandafter{\the\pgfutil@tempcnta}{#3}%
\advance\c@pgf@countc by -90\relax%
\fi%
\repeat%
@@ -256,53 +256,53 @@
}
\def\pgf@arc#1#2#3{%
- \pgfutil@in@/{#3}%
+ \pgfutil@in@{and }{#3}%
\ifpgfutil@in@%
\pgf@@arc{#1}{#2}#3\@@%
\else
- \pgf@@arc{#1}{#2}#3/#3\@@%
+ \pgf@@arc{#1}{#2}#3and #3\@@%
\fi%
}
-\def\pgf@@arc#1#2#3/#4\@@{%
- \setlength{\@tempdima}{#3}%
- \setlength{\@tempdimb}{#4}%
- \@tempcnta=#1\relax%
- \@tempcntb=#2\relax%
- \advance\@tempcntb by-\@tempcnta\relax%
- \ifnum\@tempcntb<0\relax%
- \@tempcntb=-\@tempcntb\relax%
+\def\pgf@@arc#1#2#3and #4\@@{%
+ \pgfmathsetlength{\pgfutil@tempdima}{#3}%
+ \pgfmathsetlength{\pgfutil@tempdimb}{#4}%
+ \pgfutil@tempcnta=#1\relax%
+ \pgfutil@tempcntb=#2\relax%
+ \advance\pgfutil@tempcntb by-\pgfutil@tempcnta\relax%
+ \ifnum\pgfutil@tempcntb<0\relax%
+ \pgfutil@tempcntb=-\pgfutil@tempcntb\relax%
\fi%
- \ifnum\@tempcntb>85\relax% hackery to correct the control points
- \@tempdima=0.0555\@tempdima\relax%
- \@tempdimb=0.0555\@tempdimb\relax%
+ \ifnum\pgfutil@tempcntb>85\relax% hackery to correct the control points
+ \pgfutil@tempdima=0.0555\pgfutil@tempdima\relax%
+ \pgfutil@tempdimb=0.0555\pgfutil@tempdimb\relax%
\else%
- \ifnum\@tempcntb>75\relax%
- \@tempdima=0.055\@tempdima\relax%
- \@tempdimb=0.055\@tempdimb\relax%
+ \ifnum\pgfutil@tempcntb>75\relax%
+ \pgfutil@tempdima=0.055\pgfutil@tempdima\relax%
+ \pgfutil@tempdimb=0.055\pgfutil@tempdimb\relax%
\else%
- \ifnum\@tempcntb>60\relax%
- \@tempdima=0.0545\@tempdima\relax%
- \@tempdimb=0.0545\@tempdimb\relax%
+ \ifnum\pgfutil@tempcntb>60\relax%
+ \pgfutil@tempdima=0.0545\pgfutil@tempdima\relax%
+ \pgfutil@tempdimb=0.0545\pgfutil@tempdimb\relax%
\else%
- \@tempdima=0.054\@tempdima\relax%
- \@tempdimb=0.054\@tempdimb\relax%
+ \pgfutil@tempdima=0.054\pgfutil@tempdima\relax%
+ \pgfutil@tempdimb=0.054\pgfutil@tempdimb\relax%
\fi%
\fi%
\fi
- \@tempdima=\@tempcntb\@tempdima\relax%
- \divide\@tempdima by 9\relax%
- \@tempdimb=\@tempcntb\@tempdimb\relax%
- \divide\@tempdimb by 9\relax%
- %.. controls +(\@tempcnta+90:\@tempdima) and +(\@tempcntb-90:\@tempdima) .. +(-(#1:#3)+(#2:#3))%
+ \pgfutil@tempdima=\pgfutil@tempcntb\pgfutil@tempdima\relax%
+ \divide\pgfutil@tempdima by 9\relax%
+ \pgfutil@tempdimb=\pgfutil@tempcntb\pgfutil@tempdimb\relax%
+ \divide\pgfutil@tempdimb by 9\relax%
+ %.. controls +(\pgfutil@tempcnta+90:\pgfutil@tempdima) and +(\pgfutil@tempcntb-90:\pgfutil@tempdima) .. +(-(#1:#3)+(#2:#3))%
% store first support vector in xa/ya:
- \@tempcnta=#1\relax%
+ \pgfutil@tempcnta=#1\relax%
\ifnum#2>#1\relax%
- \advance\@tempcnta by 90\relax%
+ \advance\pgfutil@tempcnta by 90\relax%
\else%
- \advance\@tempcnta by -90\relax%
+ \advance\pgfutil@tempcnta by -90\relax%
\fi%
- \pgfpointtransformed{\pgfpointpolar{\@tempcnta}{\@tempdima/\@tempdimb}}%
+ \pgfpointtransformed{\pgfpointpolar{\pgfutil@tempcnta}{\pgfutil@tempdima and \pgfutil@tempdimb}}%
\advance\pgf@x by-\pgf@pt@x%
\advance\pgf@y by-\pgf@pt@y%
\pgf@xa=\pgf@path@lastx%
@@ -310,24 +310,24 @@
\advance\pgf@xa by \pgf@x%
\advance\pgf@ya by \pgf@y%
% store target in xb/yb:
- \@tempcnta=#1\relax%
- \pgfpointtransformed{\pgfpointpolar{\@tempcnta}{#3/#4}}%
+ \pgfutil@tempcnta=#1\relax%
+ \pgfpointtransformed{\pgfpointpolar{\pgfutil@tempcnta}{#3and #4}}%
\pgf@xb=\pgf@path@lastx%
\pgf@yb=\pgf@path@lasty%
\advance\pgf@xb by -\pgf@x%
\advance\pgf@yb by -\pgf@y%
- \@tempcnta=#2\relax%
- \pgfpointtransformed{\pgfpointpolar{\@tempcnta}{#3/#4}}%
+ \pgfutil@tempcnta=#2\relax%
+ \pgfpointtransformed{\pgfpointpolar{\pgfutil@tempcnta}{#3and #4}}%
\advance\pgf@xb by \pgf@x%
\advance\pgf@yb by \pgf@y%
% store second support xc/yc:
- \@tempcnta=#2\relax%
+ \pgfutil@tempcnta=#2\relax%
\ifnum#2>#1\relax%
- \advance\@tempcnta by -90\relax%
+ \advance\pgfutil@tempcnta by -90\relax%
\else%
- \advance\@tempcnta by 90\relax%
+ \advance\pgfutil@tempcnta by 90\relax%
\fi%
- \pgfpointtransformed{\pgfpointpolar{\@tempcnta}{\@tempdima/\@tempdimb}}%
+ \pgfpointtransformed{\pgfpointpolar{\pgfutil@tempcnta}{\pgfutil@tempdima and \pgfutil@tempdimb}}%
\advance\pgf@x by-\pgf@pt@x%
\advance\pgf@y by-\pgf@pt@y%
\pgf@xc=\pgf@xb\relax%
@@ -554,12 +554,12 @@
\pgf@yb=\pgf@y%
\advance\pgf@xa by\pgf@xb%
\advance\pgf@ya by\pgf@yb%
- \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
- \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}%
- \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}%
- \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}%
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@ya}}%
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@yb}}%
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@yb}}%
\pgfpathclose%
- \pgfpathmoveto{\pgfpoint{\pgf@xb}{\pgf@yb}}%
+ \pgfpathmoveto{\pgfqpoint{\pgf@xb}{\pgf@yb}}%
}
% Append a rectangle to the current path
@@ -579,7 +579,7 @@
\pgf@process{#1}%
\advance\pgf@xc by-\pgf@x%
\advance\pgf@yc by-\pgf@y%
- \pgfpathrectangle{#1}{\pgfpoint{\pgf@xc}{\pgf@yc}}%
+ \pgfpathrectangle{#1}{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
}
@@ -601,8 +601,8 @@
% \pgfsetlinewidth{0.4pt}
% \pgfgrid[stepx=1cm,stepy=1cm]{\pgfxy(0,0)}{\pgfxy(3,2)}
-\define@key{pgfbase}{stepx}{\setlength{\pgf@x}{#1}\relax}
-\define@key{pgfbase}{stepy}{\setlength{\pgf@y}{#1}\relax}
+\define@key{pgfbase}{stepx}{\pgfmathsetlength{\pgf@x}{#1}\relax}
+\define@key{pgfbase}{stepy}{\pgfmathsetlength{\pgf@y}{#1}\relax}
\define@key{pgfbase}{step}{\pgf@process{#1}}
\def\pgfpathgrid{\pgfutil@ifnextchar[{\pgf@pathgrid}{\pgf@pathgrid[]}}
@@ -774,9 +774,9 @@
\pgf@pt@x=\pgf@path@lastx%
\pgf@pt@y=\pgf@path@lasty%
\pgfpathcurveto%
- {\pgfpoint{.1125\pgf@xc}{.225\pgf@yc}}% found by trial and error
- {\pgfpoint{.5\pgf@xc}{\pgf@yc}}% found by trial and error
- {\pgfpoint{\pgf@xc}{\pgf@yc}}%
+ {\pgfqpoint{.1125\pgf@xc}{.225\pgf@yc}}% found by trial and error
+ {\pgfqpoint{.5\pgf@xc}{\pgf@yc}}% found by trial and error
+ {\pgfqpoint{\pgf@xc}{\pgf@yc}}%
}%
\fi%
}%
@@ -787,9 +787,9 @@
\pgf@pt@x=\pgf@path@lastx%
\pgf@pt@y=\pgf@path@lasty%
\pgfpathcurveto%
- {\pgfpoint{.5\pgf@xc}{0\pgf@yc}}% found by trial and error
- {\pgfpoint{.8875\pgf@xc}{.775\pgf@yc}}% found by trial and error
- {\pgfpoint{\pgf@xc}{\pgf@yc}}%
+ {\pgfqpoint{.5\pgf@xc}{0\pgf@yc}}% found by trial and error
+ {\pgfqpoint{.8875\pgf@xc}{.775\pgf@yc}}% found by trial and error
+ {\pgfqpoint{\pgf@xc}{\pgf@yc}}%
}%
\fi%
}%
@@ -822,9 +822,9 @@
\pgf@pt@x=\pgf@path@lastx% evil trickery to transform to the last point
\pgf@pt@y=\pgf@path@lasty%
\pgfpathcurveto%
- {\pgfpoint{.31830988618\pgf@xc}{.5\pgf@yc}}% found by trial and error
- {\pgfpoint{.63502822294\pgf@xc}{\pgf@yc}}% found by trial and error
- {\pgfpoint{\pgf@xc}{\pgf@yc}}%
+ {\pgfqpoint{.31831\pgf@xc}{.5\pgf@yc}}% found by trial and error
+ {\pgfqpoint{.63503\pgf@xc}{\pgf@yc}}% found by trial and error
+ {\pgfqpoint{\pgf@xc}{\pgf@yc}}%
}%
}
@@ -847,9 +847,9 @@
\pgf@pt@x=\pgf@path@lastx% evil trickery to transform to the last point
\pgf@pt@y=\pgf@path@lasty%
\pgfpathcurveto%
- {\pgfpoint{.36497177706\pgf@xc}{0pt}}% found by trial and error
- {\pgfpoint{.68169011382\pgf@xc}{.5\pgf@yc}}% found by trial and error
- {\pgfpoint{\pgf@xc}{\pgf@yc}}%
+ {\pgfqpoint{.36497\pgf@xc}{0pt}}% found by trial and error
+ {\pgfqpoint{.68169\pgf@xc}{.5\pgf@yc}}% found by trial and error
+ {\pgfqpoint{\pgf@xc}{\pgf@yc}}%
}%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
index a913b30d52a..072585ba3a8 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex,v 1.5 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex,v 1.6 2007/03/09 17:49:32 tantau Exp $
@@ -103,7 +103,7 @@
}
\def\pgf@extractprocessorfirst#1#2#3#4{%
- \def\pgfpointfirstonpath{\pgfpoint{#2}{#3}}%
+ \def\pgfpointfirstonpath{\pgfqpoint{#2}{#3}}%
\ifx#4\pgf@stop%
% pretty short path...
\let\pgfpointsecondonpath=\pgfpointfirstonpath%
@@ -126,7 +126,7 @@
\pgf@next#1%
}
\def\pgf@@extractprocessorsecond#1#2#3#4{%
- \def\pgfpointsecondonpath{\pgfpoint{#2}{#3}}%
+ \def\pgfpointsecondonpath{\pgfqpoint{#2}{#3}}%
\let\pgfpointsecondlastonpath=\pgfpointfirstonpath%
\let\pgfpointlastonpath=\pgfpointsecondonpath%
\ifx#4\pgf@stop%
@@ -149,7 +149,7 @@
}
\def\pgf@@extractprocessorother#1#2#3#4{%
\let\pgfpointsecondlastonpath=\pgfpointlastonpath%
- \def\pgfpointlastonpath{\pgfpoint{#2}{#3}}%
+ \def\pgfpointlastonpath{\pgfqpoint{#2}{#3}}%
\ifx#4\pgf@stop%
% end!
\let\next=\pgfutil@gobble%
@@ -330,8 +330,8 @@
%
\edef\pgf@marshal%
{\noexpand\pgfpointlineatdistance{\pgfprocess@savex}%
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}%
- {\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}%
+ {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}}%
\pgf@process{\pgf@marshal}%
\pgf@xa=\pgf@x% save start point of added curve
\pgf@ya=\pgf@y%
@@ -342,8 +342,8 @@
%
\edef\pgf@marshal%
{\noexpand\pgfpointlineatdistance{\pgfprocess@savey}%
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}%
- {\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}%
+ {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}}%
\pgf@process{\pgf@marshal}%
\pgf@xc=\pgf@x% save end point of added curve
\pgf@yc=\pgf@y%
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
index c7d20093db9..e7d918f5210 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepathusage.code.tex,v 1.7 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepathusage.code.tex,v 1.8 2007/03/09 17:49:32 tantau Exp $
% Stroke/fill/clip/etc. the current path. Depending on the options,
@@ -128,8 +128,8 @@
% \pgfpathmoveto{\pgfpointorigin}
% \pgfpathlineto{\pgfpoint{11pt}{0pt}
-\def\pgfsetshortenstart#1{\setlength\pgf@shorten@start@additional{#1}}
-\def\pgfsetshortenend#1{\setlength\pgf@shorten@end@additional{#1}}
+\def\pgfsetshortenstart#1{\pgfmathsetlength\pgf@shorten@start@additional{#1}}
+\def\pgfsetshortenend#1{\pgfmathsetlength\pgf@shorten@end@additional{#1}}
\newif\ifpgf@drawarrows
@@ -183,8 +183,8 @@
\global\advance\pgf@x by\pgf@xa%
\global\advance\pgf@y by\pgf@ya%
}%
- \edef\pgfpointfirstonpath{\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}%
- \edef\pgfpointsecondonpath{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \edef\pgfpointfirstonpath{\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}%
+ \edef\pgfpointsecondonpath{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
{%
\pgf@x=0pt%
\pgf@shorten@end%
@@ -197,8 +197,8 @@
\global\advance\pgf@x by\pgf@xa%
\global\advance\pgf@y by\pgf@ya%
}%
- \edef\pgfpointlastonpath{\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}%
- \edef\pgfpointsecondlastonpath{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \edef\pgfpointlastonpath{\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}%
+ \edef\pgfpointsecondlastonpath{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
\pgfprocesspathreplacestartandend{\pgf@arrowpath}{\pgfpointfirstonpath}{\pgfpointlastonpath}%
\pgfsyssoftpath@setcurrentpath\pgf@arrowpath%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
index 3f2a26be578..0edcd6d7b2c 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepoints.code.tex,v 1.7 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorepoints.code.tex,v 1.9 2007/04/19 11:57:08 tantau Exp $
\newdimen\pgf@picminx
\newdimen\pgf@picmaxx
@@ -23,27 +23,6 @@
\def\pgf@process#1{{#1\global\pgf@x=\pgf@x\global\pgf@y=\pgf@y}}
-\newdimen\pgf@tempdim
-\def\pgf@setlength#1#2{% these will be used only when \nullfont is active
- \begingroup% keep font setting local
- \pgf@selectfontorig% restore font
- \pgf@setlengthorig\pgf@tempdim{#2}% calculate dimension (possibly using calc)
- \global\pgf@tempdim\pgf@tempdim% make dimension global
- \endgroup%
- #1=\pgf@tempdim\relax}
-\def\pgf@addtolength#1#2{%
- \begingroup% keep font setting local
- \pgf@selectfontorig% restore font
- \pgf@tempdim#1\relax%
- \pgf@addtolengthorig\pgf@tempdim{#2}% calculate dimension (possibly using calc)
- \global\pgf@tempdim\pgf@tempdim% make dimension global
- \endgroup%
- #1=\pgf@tempdim\relax}
-\newcount\c@pgf@tempcount
-\def\pgf@setcounter#1#2{%
- \pgflatex@setcounter{pgf@tempcount}{#2}% makes change global!
- \csname c@#1\endcsname=\c@pgf@tempcount\relax}
-\def\pgf@selectfont{\pgf@selectfontorig\nullfont}
@@ -60,8 +39,8 @@
% \pgfpathmoveto{\pgfpoint{2pt+3cm}{3cm}}
\def\pgfpoint#1#2{%
- \setlength\pgf@x{#1}%
- \setlength\pgf@y{#2}\ignorespaces}
+ \pgfmathsetlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@y{#2}\ignorespaces}
% Quickly a point
@@ -89,7 +68,7 @@
%
% \pgfpathmoveto{\pgfpointorigin}
-\def\pgfpointorigin{\pgfpoint{0pt}{0pt}\ignorespaces}
+\def\pgfpointorigin{\pgf@x=0pt\pgf@y=\pgf@x\ignorespaces}
@@ -321,7 +300,7 @@
\advance\pgf@x by-\pgf@xb\relax%
\advance\pgf@y by-\pgf@yb\relax%
\pgf@process{\pgfpointnormalised{}}% x/y = normalised vector
- \setlength\pgf@xa{#1}%
+ \pgfmathsetlength\pgf@xa{#1}%
\pgf@ya=\pgf@xa\relax%
\pgf@xa=\pgf@sys@tonumber{\pgf@x}\pgf@xa%
\pgf@ya=\pgf@sys@tonumber{\pgf@y}\pgf@ya%
@@ -353,8 +332,9 @@
% \pgfpathmoveto{\pgfpointcurveattime{0.5}{\pgfpointxy{0}{1}}{\pgfpointxy{1}{1}}{\pgfpointxy{1}{1}}{\pgfpointxy{2}{3}}}
\def\pgfpointcurveattime#1#2#3#4#5{%
- \def\pgf@time@s{#1}%
- \pgf@x=#1pt%
+ \pgfmathparse{#1}%
+ \let\pgf@time@s=\pgfmathresult%
+ \pgf@x=\pgfmathresult pt%
\pgf@x=-\pgf@x%
\advance\pgf@x by 1pt%
\edef\pgf@time@t{\pgf@sys@tonumber{\pgf@x}}%
@@ -406,8 +386,8 @@
% A polar coordinate
%
% #1 = a degree
-% #2 = a radius -- either a dimension or two dimensions separated by a
-% slash.
+% #2 = a radius -- either a dimension or two dimensions separated by
+% " and ".
%
% x = (first dimension in #2) * cos(#1)
% y = (second dimension in #2) * sin(#2)
@@ -415,26 +395,41 @@
% Example:
%
% \pgfpathmoveto{\pgfpointpolar{30}{1cm}}
-% \pgfpathlineto{\pgfpointpolar{30}{1cm/2cm}}
+% \pgfpathlineto{\pgfpointpolar{30}{1cm and 2cm}}
\def\pgfpointpolar#1#2{%
- \pgfsincos{#1}%
- \pgfutil@in@/{#2}%
+ \pgfutil@in@{and }{#2}%
\ifpgfutil@in@%
\pgf@polar@#2\@@%
\else%
- \pgf@polar@#2/#2\@@%
+ \pgf@polar@#2 and #2\@@%
\fi%
- \pgf@xa=\pgf@sys@tonumber{\pgf@x}\pgf@xa%
- \pgf@ya=\pgf@sys@tonumber{\pgf@y}\pgf@ya%
- \pgf@y=\pgf@xa\relax%
- \pgf@x=\pgf@ya\ignorespaces}
+ \pgfmathparse{#1}%
+ \let\pgfpoint@angle=\pgfmathresult%
+ \pgfmathcos@{\pgfpoint@angle}%
+ \pgf@x=\pgfmathresult\pgf@x%
+ \pgfmathsin@{\pgfpoint@angle}%
+ \pgf@y=\pgfmathresult\pgf@y%
+}
-\def\pgf@polar@#1/#2\@@{%
- \setlength{\pgf@xa}{#2}%
- \setlength{\pgf@ya}{#1}%
+\def\pgf@polar@#1and #2\@@{%
+ \pgfmathsetlength{\pgf@y}{#2}%
+ \pgfmathsetlength{\pgf@x}{#1}%
}
+% Quick version of the polar coordinate method
+
+\def\pgfqpointpolar#1#2{%
+ \pgf@x=#2%
+ \pgf@y=\pgf@x%
+ \pgfmathcos@{#1}%
+ \pgf@x=\pgfmathresult\pgf@x%
+ \pgfmathsin@{#1}%
+ \pgf@y=\pgfmathresult\pgf@y\relax%
+}
+
+
+
% A polar coordinate in the xy plane.
%
@@ -449,21 +444,26 @@
% \pgfpathmoveto{\pgfpointpolarxy{30}{2}}
\def\pgfpointpolarxy#1#2{%
- \pgfsincos{#1}%
- \pgfutil@in@/{#2}%
+ \pgfutil@in@{and }{#2}%
\ifpgfutil@in@%
\pgf@polarxy@#2\@@%
\else%
- \pgf@polarxy@#2/#2\@@%
+ \pgf@polarxy@#2and #2\@@%
\fi%
+ \pgfmathparse{#1}%
+ \let\pgfpoint@angle=\pgfmathresult%
+ \pgfmathcos@{\pgfpoint@angle}%
+ \pgf@xa=\pgfmathresult\pgf@xa%
+ \pgfmathsin@{\pgfpoint@angle}%
+ \pgf@ya=\pgfmathresult\pgf@ya%
\pgf@x=\pgf@sys@tonumber{\pgf@xa}\pgf@xx%
\advance\pgf@x by \pgf@sys@tonumber{\pgf@ya}\pgf@yx%
\pgf@y=\pgf@sys@tonumber{\pgf@xa}\pgf@xy%
\advance\pgf@y by \pgf@sys@tonumber{\pgf@ya}\pgf@yy}
-\def\pgf@polarxy@#1/#2\@@{%
- \pgf@xa=#1\pgf@y%
- \pgf@ya=#2\pgf@x%
+\def\pgf@polarxy@#1and #2\@@{%
+ \pgfmathsetlength{\pgf@xa}{#1}%
+ \pgfmathsetlength{\pgf@ya}{#2}%
}
@@ -482,8 +482,9 @@
\def\pgfpointcylindrical#1#2#3{%
\pgfpointpolarxy{#1}{#2}%
- \advance\pgf@x by #3\pgf@zx%
- \advance\pgf@y by #3\pgf@zy}
+ \pgfmathparse{#3}%
+ \advance\pgf@x by \pgfmathresult\pgf@zx%
+ \advance\pgf@y by \pgfmathresult\pgf@zy}
% A spherical coordinate.
@@ -499,18 +500,26 @@
% \pgfpathmoveto{\pgfpointspherical{30}{30}{2}}
\def\pgfpointspherical#1#2#3{%
- \pgfsincos{#1}%
- \pgf@xb=\pgf@sys@tonumber{\pgf@y}\pgf@xx%
- \advance\pgf@xb by \pgf@sys@tonumber{\pgf@x}\pgf@yx%
- \pgf@yb=\pgf@sys@tonumber{\pgf@y}\pgf@xy%
- \advance\pgf@yb by \pgf@sys@tonumber{\pgf@x}\pgf@yy%
- \pgfsincos{#2}%
- \pgf@xc=\pgf@sys@tonumber{\pgf@y}\pgf@xb%
- \advance\pgf@xc by \pgf@sys@tonumber{\pgf@x}\pgf@zx%
- \pgf@yc=\pgf@sys@tonumber{\pgf@y}\pgf@yb%
- \advance\pgf@yc by \pgf@sys@tonumber{\pgf@x}\pgf@zy%
- \pgf@x=#3\pgf@xc%
- \pgf@y=#3\pgf@yc%
+ \pgfmathparse{#1}%
+ \let\pgfpoint@angle=\pgfmathresult%
+ \pgfmathsin@{\pgfpoint@angle}%
+ \pgf@xb=\pgfmathresult\pgf@xx%
+ \pgf@yb=\pgfmathresult\pgf@xy%
+ \pgfmathcos@{\pgfpoint@angle}%
+ \advance\pgf@xb by \pgfmathresult\pgf@yx%
+ \advance\pgf@yb by \pgfmathresult\pgf@yy%
+ %
+ \pgfmathparse{#2}%
+ \let\pgfpoint@angle=\pgfmathresult%
+ \pgfmathcos@{\pgfpoint@angle}%
+ \pgf@xc=\pgfmathresult\pgf@xb%
+ \pgf@yc=\pgfmathresult\pgf@yb%
+ \pgfmathsin@{\pgfpoint@angle}%
+ \advance\pgf@xc by \pgfmathresult\pgf@zx%
+ \advance\pgf@yc by \pgfmathresult\pgf@zy%
+ \pgfmathparse{#3}%
+ \pgf@x=\pgfmathresult\pgf@xc%
+ \pgf@y=\pgfmathresult\pgf@yc\relax%
}
@@ -542,10 +551,15 @@
% \pgfpathlineto{\pgfpointxy{0}{1}}
% \pgfclosestroke
-\def\pgfpointxy#1#2{\pgf@x=#1\pgf@xx%
- \advance\pgf@x by #2\pgf@yx%
- \pgf@y=#1\pgf@xy%
- \advance\pgf@y by #2\pgf@yy}
+\def\pgfpointxy#1#2{%
+ \pgfmathparse{#1}%
+ \let\pgftemp@x=\pgfmathresult%
+ \pgfmathparse{#2}%
+ \let\pgftemp@y=\pgfmathresult%
+ \pgf@x=\pgftemp@x\pgf@xx%
+ \advance\pgf@x by \pgftemp@y\pgf@yx%
+ \pgf@y=\pgftemp@x\pgf@xy%
+ \advance\pgf@y by \pgftemp@y\pgf@yy}
% Store the vector #1 * x-vec + #2 * y-vec + #3 * z-vec
@@ -581,12 +595,18 @@
% \pgfline{\pgfpointxyz{0}{1}{1}}{\pgfpointxyz{1}{1}{1}}
\def\pgfpointxyz#1#2#3{%
- \pgf@x=#1\pgf@xx%
- \advance\pgf@x by #2\pgf@yx%
- \advance\pgf@x by #3\pgf@zx%
- \pgf@y=#1\pgf@xy%
- \advance\pgf@y by #2\pgf@yy%
- \advance\pgf@y by #3\pgf@zy}
+ \pgfmathparse{#1}%
+ \let\pgftemp@x=\pgfmathresult%
+ \pgfmathparse{#2}%
+ \let\pgftemp@y=\pgfmathresult%
+ \pgfmathparse{#3}%
+ \let\pgftemp@z=\pgfmathresult%
+ \pgf@x=\pgftemp@x\pgf@xx%
+ \advance\pgf@x by \pgftemp@y\pgf@yx%
+ \advance\pgf@x by \pgftemp@z\pgf@zx%
+ \pgf@y=\pgftemp@x\pgf@xy%
+ \advance\pgf@y by \pgftemp@y\pgf@yy%
+ \advance\pgf@y by \pgftemp@z\pgf@zy}
@@ -688,7 +708,7 @@
\pgf@y=0pt\relax%
\else%
\divide\c@pgf@countb by \c@pgf@counta%
- \pgf@setmath{x}{\csname pgf@cosfrac\the\c@pgf@countb\endcsname}%
+ \pgf@x=\csname pgf@cosfrac\the\c@pgf@countb\endcsname pt%
\pgf@xc=8192pt%
\divide\pgf@xc by\c@pgf@counta%
\pgf@y=\pgf@sys@tonumber{\pgf@xc}\pgf@ya%
@@ -719,7 +739,7 @@
\pgf@x=0pt\relax%
\else%
\divide\c@pgf@countb by \c@pgf@counta%
- \pgf@setmath{y}{\csname pgf@cosfrac\the\c@pgf@countb\endcsname}%
+ \pgf@y=\csname pgf@cosfrac\the\c@pgf@countb\endcsname pt%
\pgf@xc=8192pt%
\divide\pgf@xc by\c@pgf@counta%
\pgf@x=\pgf@sys@tonumber{\pgf@xc}\pgf@xa%
@@ -728,7 +748,8 @@
\ifdim\pgf@ya<0pt%
\pgf@y=-\pgf@y%
\fi%
- \fi\ignorespaces}
+ \fi\ignorespaces%
+}
@@ -919,4 +940,60 @@
#1=\pgf@y\relax}
+
+\def\pgf@def#1#2#3{\expandafter\def\csname pgf@#1#2\endcsname{#3}}
+\pgf@def{cosfrac}{0}{1}
+\pgf@def{cosfrac}{1}{0.99995} \pgf@def{cosfrac}{2}{0.9998}
+\pgf@def{cosfrac}{3}{0.99955} \pgf@def{cosfrac}{4}{0.999201}
+\pgf@def{cosfrac}{5}{0.998752} \pgf@def{cosfrac}{6}{0.998205}
+\pgf@def{cosfrac}{7}{0.997559} \pgf@def{cosfrac}{8}{0.996815}
+\pgf@def{cosfrac}{9}{0.995974} \pgf@def{cosfrac}{10}{0.995037}
+\pgf@def{cosfrac}{11}{0.994004} \pgf@def{cosfrac}{12}{0.992877}
+\pgf@def{cosfrac}{13}{0.991656} \pgf@def{cosfrac}{14}{0.990342}
+\pgf@def{cosfrac}{15}{0.988936} \pgf@def{cosfrac}{16}{0.987441}
+\pgf@def{cosfrac}{17}{0.985856} \pgf@def{cosfrac}{18}{0.984183}
+\pgf@def{cosfrac}{19}{0.982424} \pgf@def{cosfrac}{20}{0.980581}
+\pgf@def{cosfrac}{21}{0.978653} \pgf@def{cosfrac}{22}{0.976644}
+\pgf@def{cosfrac}{23}{0.974555} \pgf@def{cosfrac}{24}{0.972387}
+\pgf@def{cosfrac}{25}{0.970143} \pgf@def{cosfrac}{26}{0.967823}
+\pgf@def{cosfrac}{27}{0.965429} \pgf@def{cosfrac}{28}{0.962964}
+\pgf@def{cosfrac}{29}{0.960429} \pgf@def{cosfrac}{30}{0.957826}
+\pgf@def{cosfrac}{31}{0.955157} \pgf@def{cosfrac}{32}{0.952424}
+\pgf@def{cosfrac}{33}{0.949629} \pgf@def{cosfrac}{34}{0.946773}
+\pgf@def{cosfrac}{35}{0.943858} \pgf@def{cosfrac}{36}{0.940887}
+\pgf@def{cosfrac}{37}{0.937862} \pgf@def{cosfrac}{38}{0.934784}
+\pgf@def{cosfrac}{39}{0.931655} \pgf@def{cosfrac}{40}{0.928477}
+\pgf@def{cosfrac}{41}{0.925252} \pgf@def{cosfrac}{42}{0.921982}
+\pgf@def{cosfrac}{43}{0.918669} \pgf@def{cosfrac}{44}{0.915315}
+\pgf@def{cosfrac}{45}{0.911922} \pgf@def{cosfrac}{46}{0.90849}
+\pgf@def{cosfrac}{47}{0.905024} \pgf@def{cosfrac}{48}{0.901523}
+\pgf@def{cosfrac}{49}{0.89799} \pgf@def{cosfrac}{50}{0.894427}
+\pgf@def{cosfrac}{51}{0.890835} \pgf@def{cosfrac}{52}{0.887217}
+\pgf@def{cosfrac}{53}{0.883573} \pgf@def{cosfrac}{54}{0.879905}
+\pgf@def{cosfrac}{55}{0.876216} \pgf@def{cosfrac}{56}{0.872506}
+\pgf@def{cosfrac}{57}{0.868777} \pgf@def{cosfrac}{58}{0.865031}
+\pgf@def{cosfrac}{59}{0.861269} \pgf@def{cosfrac}{60}{0.857493}
+\pgf@def{cosfrac}{61}{0.853704} \pgf@def{cosfrac}{62}{0.849903}
+\pgf@def{cosfrac}{63}{0.846092} \pgf@def{cosfrac}{64}{0.842271}
+\pgf@def{cosfrac}{65}{0.838444} \pgf@def{cosfrac}{66}{0.834609}
+\pgf@def{cosfrac}{67}{0.83077} \pgf@def{cosfrac}{68}{0.826927}
+\pgf@def{cosfrac}{69}{0.82308} \pgf@def{cosfrac}{70}{0.819232}
+\pgf@def{cosfrac}{71}{0.815383} \pgf@def{cosfrac}{72}{0.811534}
+\pgf@def{cosfrac}{73}{0.807687} \pgf@def{cosfrac}{74}{0.803842}
+\pgf@def{cosfrac}{75}{0.8} \pgf@def{cosfrac}{76}{0.796162}
+\pgf@def{cosfrac}{77}{0.792329} \pgf@def{cosfrac}{78}{0.788502}
+\pgf@def{cosfrac}{79}{0.784682} \pgf@def{cosfrac}{80}{0.780869}
+\pgf@def{cosfrac}{81}{0.777064} \pgf@def{cosfrac}{82}{0.773268}
+\pgf@def{cosfrac}{83}{0.769481} \pgf@def{cosfrac}{84}{0.765705}
+\pgf@def{cosfrac}{85}{0.761939} \pgf@def{cosfrac}{86}{0.758185}
+\pgf@def{cosfrac}{87}{0.754443} \pgf@def{cosfrac}{88}{0.750714}
+\pgf@def{cosfrac}{89}{0.746997} \pgf@def{cosfrac}{90}{0.743294}
+\pgf@def{cosfrac}{91}{0.739605} \pgf@def{cosfrac}{92}{0.735931}
+\pgf@def{cosfrac}{93}{0.732272} \pgf@def{cosfrac}{94}{0.728628}
+\pgf@def{cosfrac}{95}{0.724999} \pgf@def{cosfrac}{96}{0.721387}
+\pgf@def{cosfrac}{97}{0.717792} \pgf@def{cosfrac}{98}{0.714213}
+\pgf@def{cosfrac}{99}{0.710651} \pgf@def{cosfrac}{100}{0.707107}
+
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
index a3bb4b05cef..286ac78c216 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorescopes.code.tex,v 1.20 2006/10/23 08:38:17 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcorescopes.code.tex,v 1.24 2007/06/07 07:41:10 tantau Exp $
% Globals
@@ -150,7 +150,7 @@
\def\pgf@text@options{#1}%
\pgf@maketext\pgf@after@text}
\def\pgf@after@text{%
- {
+ {%
\def\pgf@text@hshift{center}%
\def\pgf@text@vshift{center}%
\def\pgf@marshal{\setkeys{pgfbox}}%
@@ -158,13 +158,13 @@
\csname pgf@halign\pgf@text@hshift\endcsname%
\csname pgf@valign\pgf@text@vshift\endcsname%
% Protocol sizes:
- \pgf@process{\pgfpointtransformed{\pgfpoint{0pt}{\dp\pgf@hbox}}}%
+ \pgf@process{\pgfpointtransformed{\pgfqpoint{0pt}{\dp\pgf@hbox}}}%
\pgf@protocolsizes{\pgf@x}{\pgf@y}%
- \pgf@process{\pgfpointtransformed{\pgfpoint{\wd\pgf@hbox}{\dp\pgf@hbox}}}%
+ \pgf@process{\pgfpointtransformed{\pgfqpoint{\wd\pgf@hbox}{\dp\pgf@hbox}}}%
\pgf@protocolsizes{\pgf@x}{\pgf@y}%
- \pgf@process{\pgfpointtransformed{\pgfpoint{0pt}{\ht\pgf@hbox}}}%
+ \pgf@process{\pgfpointtransformed{\pgfqpoint{0pt}{\ht\pgf@hbox}}}%
\pgf@protocolsizes{\pgf@x}{\pgf@y}%
- \pgf@process{\pgfpointtransformed{\pgfpoint{\wd\pgf@hbox}{\ht\pgf@hbox}}}%
+ \pgf@process{\pgfpointtransformed{\pgfqpoint{\wd\pgf@hbox}{\ht\pgf@hbox}}}%
\pgf@protocolsizes{\pgf@x}{\pgf@y}%
\pgfqboxsynced{\pgf@hbox}%
}%
@@ -182,12 +182,12 @@
\define@key{pgfbox}{rotate}{\pgftransformrotate{#1}}
\def\pgf@halignleft{}% do nothing
-\def\pgf@haligncenter{\pgftransformxshift{-.5\wd\pgf@hbox}}
-\def\pgf@halignright{\pgftransformxshift{-\wd\pgf@hbox}}%
+\def\pgf@haligncenter{\pgftransformxshift{+-.5\wd\pgf@hbox}}
+\def\pgf@halignright{\pgftransformxshift{+-\wd\pgf@hbox}}%
\def\pgf@valignbase{}% do nothing
-\def\pgf@valignbottom{\pgftransformyshift{\dp\pgf@hbox}}%
-\def\pgf@valigncenter{\pgftransformyshift{.5\dp\pgf@hbox}\pgftransformyshift{-.5\ht\pgf@hbox}}%
-\def\pgf@valigntop{\pgftransformyshift{-\ht\pgf@hbox}}%
+\def\pgf@valignbottom{\pgftransformyshift{+\dp\pgf@hbox}}%
+\def\pgf@valigncenter{\pgftransformyshift{+.5\dp\pgf@hbox}\pgftransformyshift{+-.5\ht\pgf@hbox}}%
+\def\pgf@valigntop{\pgftransformyshift{+-\ht\pgf@hbox}}%
% Internal function for creating a hbox.
@@ -237,6 +237,7 @@
\pgfpicturetrue%
\global\advance\pgf@picture@serial@count by1\relax%
\edef\pgfpictureid{pgfid\the\pgf@picture@serial@count}%
+ \let\pgf@nodecallback=\pgfutil@gobble%
\pgf@picmaxx=-16000pt\relax%
\pgf@picminx=16000pt\relax%
\pgf@picmaxy=-16000pt\relax%
@@ -245,10 +246,10 @@
\pgf@resetpathsizes%
\pgfutil@ifnextchar\bgroup\pgf@oldpicture\pgf@picture}
\def\pgf@oldpicture#1#2#3#4{%
- \setlength\pgf@picminx{#1}%
- \setlength\pgf@picminy{#2}%
- \setlength\pgf@picmaxx{#3}%
- \setlength\pgf@picmaxy{#4}%
+ \pgfmathsetlength\pgf@picminx{#1}%
+ \pgfmathsetlength\pgf@picminy{#2}%
+ \pgfmathsetlength\pgf@picmaxx{#3}%
+ \pgfmathsetlength\pgf@picmaxy{#4}%
\pgf@relevantforpicturesizefalse%
\pgf@picture}
@@ -309,7 +310,22 @@
\box\pgf@layerbox@main%
}
+\def\pgf@selectfont{\pgf@selectfontorig\nullfont}
+\def\pgf@setlength#1#2{% these will be used only when \nullfont is active
+ \begingroup% keep font setting local
+ \pgfutil@selectfont% restore font
+ \pgf@setlengthorig#1{#2}% calculate dimension (possibly using calc)
+ \expandafter%
+ \endgroup%
+ \expandafter#1\expandafter=\the#1\relax}
+\def\pgf@addtolength#1#2{%
+ \begingroup% keep font setting local
+ \pgfutil@selectfont% restore font
+ \pgf@addtolengthorig#1{#2}% calculate dimension (possibly using calc)
+ \expandafter%
+ \endgroup%
+ \expandafter#1\expandafter=\the#1\relax}
% Sets the baseline at the y-coordinate of a given point
@@ -409,6 +425,47 @@
+% Interrupt bounding box
+%
+% Description:
+%
+% The environment can be used to temporarily setup a new bounding box
+% computation. The bounding box will be made empty at the beginning of
+% the environment and will be reset to its old value after the
+% environment.
+%
+% Example:
+%
+% \begin{pgfinterruptboundinbox}
+% \pgfmoveto{\pgfpoint{1cm}{0cm}}
+% \pgfmoveto{\pgfpoint{1cm}{1cm}}
+% \pgfusepath{stroke}
+% \end{pgfinterruptboundinbox}
+
+\def\pgfinterruptboundingbox
+{%
+ \begingroup%
+ \edef\pgf@interrupt@savemaxx{\the\pgf@picmaxx}%
+ \edef\pgf@interrupt@saveminx{\the\pgf@picminx}%
+ \edef\pgf@interrupt@savemaxy{\the\pgf@picmaxy}%
+ \edef\pgf@interrupt@saveminy{\the\pgf@picminy}%
+ \pgf@picmaxx=-16000pt\relax%
+ \pgf@picminx=16000pt\relax%
+ \pgf@picmaxy=-16000pt\relax%
+ \pgf@picminy=16000pt\relax%
+}
+\def\endpgfinterruptboundingbox
+{%
+ \global\pgf@picmaxx=\pgf@interrupt@savemaxx%
+ \global\pgf@picmaxy=\pgf@interrupt@savemaxy%
+ \global\pgf@picminx=\pgf@interrupt@saveminx%
+ \global\pgf@picminy=\pgf@interrupt@saveminy%
+ \endgroup%
+}
+
+
+
+
% Interrupts a picture
%
@@ -450,30 +507,24 @@
\def\pgfinterruptpicture
{%
\begingroup%
- \edef\pgf@interrupt@savemaxx{\the\pgf@picmaxx}%
- \edef\pgf@interrupt@saveminx{\the\pgf@picminx}%
- \edef\pgf@interrupt@savemaxy{\the\pgf@picmaxy}%
- \edef\pgf@interrupt@saveminy{\the\pgf@picminy}%
- \pgftransformreset%
- \pgfinterruptpath%
- \ifx\pgf@setlengthorig\@undefined%
- \else%
- \let\setlength\pgf@setlengthorig%
- \let\addtolength\pgf@addtolengthorig%
- \let\selectfont\pgf@selectfontorig%
- \fi%
- \selectfont%
- \pgfpicturefalse%
- \pgf@savelayers%
+ \pgfinterruptboundingbox%
+ \pgftransformreset%
+ \pgfinterruptpath%
+ \ifx\pgf@selectfontorig\@undefined%
+ \else%
+ \let\setlength\pgf@setlengthorig%
+ \let\addtolength\pgf@addtolengthorig%
+ \let\selectfont\pgf@selectfontorig%
+ \fi%
+ \pgfutil@selectfont%
+ \pgfpicturefalse%
+ \pgf@savelayers%
}
\def\endpgfinterruptpicture
{%
- \pgf@restorelayers%
- \endpgfinterruptpath%
- \global\pgf@picmaxx=\pgf@interrupt@savemaxx%
- \global\pgf@picmaxy=\pgf@interrupt@savemaxy%
- \global\pgf@picminx=\pgf@interrupt@saveminx%
- \global\pgf@picminy=\pgf@interrupt@saveminy%
+ \pgf@restorelayers%
+ \endpgfinterruptpath%
+ \endpgfinterruptboundingbox%
\endgroup%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
index e7d4c0a8081..05142e8c0db 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoreshade.code.tex,v 1.7 2006/10/16 22:32:58 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoreshade.code.tex,v 1.8 2007/03/09 17:49:32 tantau Exp $
%
% Parsing functions
@@ -42,7 +42,7 @@
\xdef\pgf@psfuncs{\pgf@psfuncs}%
}
\def\pgf@parsefirst[rgb(#1)=(#2,#3,#4)#5]{%
- \setlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@x{#1}%
\edef\pgf@sys@shading@start@pos{\the\pgf@x}%
\pgf@sys@bp@correct\pgf@x%
\edef\pgf@doma{\pgf@sys@tonumber{\pgf@x}}%
@@ -55,7 +55,7 @@
\edef\pgf@firstcolor{\pgf@rgb}}
\def\pgf@parselastdom[rgb(#1)=(#2,#3,#4); {%
\pgfutil@ifnextchar]{%
- \setlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@x{#1}%
\edef\pgf@sys@shading@end@pos{\the\pgf@x}%
\pgf@max=\pgf@x\relax%
\pgf@sys@bp@correct\pgf@x%
@@ -75,12 +75,12 @@
<< /FunctionType 2 /Domain [\pgf@doma\space\pgf@domb] /C0
[\pgf@prevcolor] /C1 [\pgf@rgb] /N 1 >> }%
\edef\pgf@psfuncs{\pgf@prevx\space \pgf@rgb\space \pgf@prevcolor\space pgfshade \pgf@psfuncs}%
- \setlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@x{#1}%
\edef\pgf@sys@shading@ranges{\pgf@sys@shading@ranges{{\pgf@sys@prevpos}{\the\pgf@x}{\pgf@sys@prevcolor}{\pgf@sys@rgb}}}%
\edef\pgf@sys@prevpos{\the\pgf@x}%
\let\pgf@sys@prevcolor=\pgf@sys@rgb%
\pgfutil@gobble}{%
- \setlength\pgf@x{#1}%
+ \pgfmathsetlength\pgf@x{#1}%
\pgf@getrgbtuplewithmixin{#2}{#3}{#4}%
\edef\pgf@sys@shading@ranges{\pgf@sys@shading@ranges{{\pgf@sys@prevpos}{\the\pgf@x}{\pgf@sys@prevcolor}{\pgf@sys@rgb}}}%
\edef\pgf@sys@prevpos{\the\pgf@x}%
@@ -397,15 +397,19 @@
\pgfsys@clipnext%
\pgfsys@discardpath%
% Compute new transformation matrix:
- \pgf@process{\pgfsincos{#2}}%
- \pgf@xa=-\pgf@x%
\pgfsys@transformcm{1}{0}{0}{1}{\pgf@xb}{\pgf@yb}%
\pgfsys@transformcm%
{\pgf@sys@tonumber{\pgf@xc}}{0}%
{0}{\pgf@sys@tonumber{\pgf@yc}}{0pt}{0pt}%
- \pgfsys@transformcm%
- {\pgf@sys@tonumber{\pgf@y}}{\pgf@sys@tonumber{\pgf@x}}%
- {\pgf@sys@tonumber{\pgf@xa}}{\pgf@sys@tonumber{\pgf@y}}{0pt}{0pt}%
+ \pgfmathparse{#2}%
+ \let\pgfshade@angle=\pgfmathresult%
+ \pgfmathsin@{\pgfshade@angle}%
+ \let\pgfshade@sin=\pgfmathresult%
+ \pgfmathcos@{\pgfshade@angle}%
+ \let\pgfshade@cos=\pgfmathresult%
+ \pgf@x=\pgfshade@sin pt%
+ \pgf@xa=-\pgf@x%
+ \pgfsys@transformcm{\pgfshade@cos}{\pgfshade@sin}{\pgf@sys@tonumber{\pgf@xa}}{\pgfshade@cos}{0pt}{0pt}%
\ifx\pgf@shade@extra@transform\pgfutil@empty%
\else%
\pgflowlevel{\pgf@shade@extra@transform}%
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
index 54eff0c9c0e..4a9a23f0d2c 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoretransformations.code.tex,v 1.4 2006/10/11 15:22:25 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcoretransformations.code.tex,v 1.6 2007/06/07 07:41:10 tantau Exp $
% Position transformations
@@ -120,24 +120,24 @@
% Matrix = (aa ab
% ba bb)
{%
- \@tempdima=\pgf@pt@aa pt%
- \@tempdima=\pgf@pt@bb\@tempdima% aa * bb
- \@tempdimb=\pgf@pt@ba pt%
- \@tempdimb=\pgf@pt@ab\@tempdimb% ba * ab
- \advance\@tempdima by -\@tempdimb% aa*bb - ba*ab
+ \pgfutil@tempdima=\pgf@pt@aa pt%
+ \pgfutil@tempdima=\pgf@pt@bb\pgfutil@tempdima% aa * bb
+ \pgfutil@tempdimb=\pgf@pt@ba pt%
+ \pgfutil@tempdimb=\pgf@pt@ab\pgfutil@tempdimb% ba * ab
+ \advance\pgfutil@tempdima by -\pgfutil@tempdimb% aa*bb - ba*ab
% Invert
- \@tempdima=.125\@tempdima%
- \c@pgf@counta=\@tempdima\relax% 8192*determinant
- \@tempdima=8192pt%
- \divide\@tempdima by\c@pgf@counta%
- \pgf@x=\pgf@pt@bb\@tempdima% bb/(det A)
+ \pgfutil@tempdima=.125\pgfutil@tempdima%
+ \c@pgf@counta=\pgfutil@tempdima\relax% 8192*determinant
+ \pgfutil@tempdima=8192pt%
+ \divide\pgfutil@tempdima by\c@pgf@counta%
+ \pgf@x=\pgf@pt@bb\pgfutil@tempdima% bb/(det A)
\xdef\pgf@new@pt@aa{\pgf@sys@tonumber{\pgf@x}}%
- \pgf@x=\pgf@pt@aa\@tempdima% aa/(det A)
+ \pgf@x=\pgf@pt@aa\pgfutil@tempdima% aa/(det A)
\xdef\pgf@new@pt@bb{\pgf@sys@tonumber{\pgf@x}}%
- \@tempdima=-\@tempdima%
- \pgf@x=\pgf@pt@ba\@tempdima% -ba/(det A)
+ \pgfutil@tempdima=-\pgfutil@tempdima%
+ \pgf@x=\pgf@pt@ba\pgfutil@tempdima% -ba/(det A)
\xdef\pgf@new@pt@ba{\pgf@sys@tonumber{\pgf@x}}%
- \pgf@x=\pgf@pt@ab\@tempdima% -ab/(det A)
+ \pgf@x=\pgf@pt@ab\pgfutil@tempdima% -ab/(det A)
\xdef\pgf@new@pt@ab{\pgf@sys@tonumber{\pgf@x}}%
}%
\expandafter\def\expandafter\pgf@pt@aa\expandafter{\pgf@new@pt@aa}%
@@ -358,11 +358,15 @@
% \pgftransformrotate{30}
\def\pgftransformrotate#1{%
- \pgfsincos{#1}%
+ \pgfmathparse{#1}%
+ \let\pgftransform@angle=\pgfmathresult%
+ \pgfmathsin@{\pgftransform@angle}%
+ \let\pgftransform@sin=\pgfmathresult%
+ \pgfmathcos@{\pgftransform@angle}%
+ \let\pgftransform@cos=\pgfmathresult%
+ \pgf@x=\pgftransform@sin pt%
\pgf@xa=-\pgf@x%
- \pgftransformcm%
- {\pgf@sys@tonumber{\pgf@y}}{\pgf@sys@tonumber{\pgf@x}}%
- {\pgf@sys@tonumber{\pgf@xa}}{\pgf@sys@tonumber{\pgf@y}}{\pgfpointorigin}%
+ \pgftransformcm{\pgftransform@cos}{\pgftransform@sin}{\pgf@sys@tonumber{\pgf@xa}}{\pgftransform@cos}{\pgfpointorigin}%
}
@@ -463,7 +467,7 @@
%
\def\pgftransformcurveattime#1#2#3#4#5{%
\pgfpointcurveattime{#1}{#2}{#3}{#4}{#5}%
- \pgftransformshift{\pgfpoint{\pgf@x}{\pgf@y}}%
+ \pgftransformshift{\pgfqpoint{\pgf@x}{\pgf@y}}%
\ifpgfresetnontranslationattime%
\pgftransformresetnontranslations%
\fi%
@@ -515,7 +519,7 @@
\pgf@ya=-\pgf@y%
\pgftransformcm%
{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@y}}%
- {\pgf@sys@tonumber{\pgf@ya}}{\pgf@sys@tonumber{\pgf@x}}{\pgfpoint{0pt}{0pt}}%
+ {\pgf@sys@tonumber{\pgf@ya}}{\pgf@sys@tonumber{\pgf@x}}{\pgfqpoint{0pt}{0pt}}%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz.code.tex
index 740dacf6794..805f27bcad6 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz.code.tex,v 1.68 2006/10/17 08:16:28 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz.code.tex,v 1.87 2007/06/07 07:41:10 tantau Exp $
% Always-present libraries:
@@ -65,7 +65,7 @@
% Draw options
\tikzoption{line width}{\tikz@semiaddlinewidth{#1}}%
-\def\tikz@semiaddlinewidth#1{\tikz@addoption{\pgfsetlinewidth{#1}}\setlength\pgflinewidth{#1}}
+\def\tikz@semiaddlinewidth#1{\tikz@addoption{\pgfsetlinewidth{#1}}\pgfmathsetlength\pgflinewidth{#1}}
\tikzoption{cap}{\tikz@addoption{\csname pgfset#1cap\endcsname}}
\tikzoption{join}{\tikz@addoption{\csname pgfset#1join\endcsname}}
@@ -111,7 +111,7 @@
\tikz@addmode{\tikz@mode@doubletrue}%
\fi}
\tikzoption{double distance}{%
- \setlength{\pgf@x}{#1}%
+ \pgfmathsetlength{\pgf@x}{#1}%
\edef\tikz@double@width@distance{\the\pgf@x}%
\tikz@addmode{\tikz@mode@doubletrue}}
@@ -203,7 +203,8 @@
\tikzoption{xshift}{\tikz@addtransform{\pgftransformxshift{#1}}}
\tikzoption{yshift}{\tikz@addtransform{\pgftransformyshift{#1}}}
\tikzoption{cm}{\tikz@addtransform{\tikz@parse@cm#1\relax}}
-\tikzoption{reset cm}{\tikz@addtransform{\pgftransformreset}}
+\tikzoption{reset cm}[]{\tikz@addtransform{\pgftransformreset}}
+\tikzoption{shift only}[]{\tikz@addtransform{\pgftransformresetnontranslations}}
\def\tikz@parse@cm#1,#2,#3,#4,{%
\def\tikz@p@cm{{#1}{#2}{#3}{#4}}%
@@ -453,6 +454,8 @@
\tikzoption{shape}{\edef\tikz@shape{#1}}
+\tikzoption{nodes}{\tikzstyle{every node}+=[#1]}
+
\tikzoption{inner sep}{\def\pgfshapeinnerxsep{#1}\def\pgfshapeinnerysep{#1}}
\tikzoption{inner xsep}{\def\pgfshapeinnerxsep{#1}}
\tikzoption{inner ysep}{\def\pgfshapeinnerysep{#1}}
@@ -533,7 +536,7 @@
\def\tikz@test{#3}%
\ifx\tikz@test\pgfutil@empty%
\else%
- \setlength{\pgf@x}{#3}%
+ \pgfmathsetlength{\pgf@x}{#3}%
\pgf@x=#2\pgf@x\relax%
\edef\tikz@marshal{\noexpand\tikz@addtransform{%
\expandafter\noexpand\csname pgftransform#1shift\endcsname{\the\pgf@x}}}%
@@ -690,7 +693,7 @@
\def\tikz@set@parabola@bend#1{\def\tikz@parabola@bend{#1}}
% Axis options
-\tikzoption{domain}{\def\tikz@plot@domain{#1}}
+\tikzoption{domain}{\def\tikz@plot@domain{#1}\expandafter\tikz@plot@samples@recalc\tikz@plot@domain\relax}
\tikzoption{range}{\def\tikz@plot@range{#1}}
% Plot options
@@ -708,9 +711,12 @@
\tikzoption{prefix}{\def\tikz@plot@prefix{#1}}
\tikzoption{id}{\def\tikz@plot@id{#1}}
-\tikzoption{samples}{\def\tikz@plot@sampels{#1}}
+\tikzoption{samples}{\def\tikz@plot@samples{#1}\expandafter\tikz@plot@samples@recalc\tikz@plot@domain\relax}
+\tikzoption{samples at}{\def\tikz@plot@samplesat{#1}}
\tikzoption{parametric}[true]{\csname tikz@plot@parametric#1\endcsname}
+\tikzoption{variable}{\def\tikz@plot@var{#1}}
+
\tikzoption{only marks}[]{\let\tikz@plot@handler\pgfplothandlerdiscard}
\tikzoption{mark}{\def\tikz@plot@mark{#1}}
@@ -728,8 +734,19 @@
\let\tikz@plot@handler=\pgfplothandlerlineto
\let\tikz@plot@mark=\pgfutil@empty
-\def\tikz@plot@sampels{25}
+\def\tikz@plot@samples{25}
\def\tikz@plot@domain{-5:5}
+\def\tikz@plot@var{\x}
+\def\tikz@plot@samplesat{-5,-4.6,...,5}
+\def\tikz@plot@samples@recalc#1:#2\relax{%
+ \pgfmathparse{#1}%
+ \let\tikz@temp@start=\pgfmathresult%
+ \pgfmathparse{#2}%
+ \let\tikz@temp@end=\pgfmathresult%
+ \pgfmathparse{\tikz@temp@start+(\tikz@temp@end-\tikz@temp@start)/\tikz@plot@samples}%
+ \edef\tikz@plot@samplesat{\tikz@temp@start,\pgfmathresult,...,\tikz@temp@end}%
+}
+
\def\tikz@plot@prefix{\jobname.}
\def\tikz@plot@id{pgf-plot}
@@ -751,13 +768,15 @@
\tikzoption{parent anchor}{\def\tikzparentanchor{.#1}\ifx\tikzparentanchor\tikz@border@text\let\tikzparentanchor\pgfutil@empty\fi}
\tikzoption{child anchor}{\def\tikzchildanchor{.#1}\ifx\tikzchildanchor\tikz@border@text\let\tikzchildanchor\pgfutil@empty\fi}
-\tikzoption{level distance}{\setlength\tikzleveldistance{#1}}
-\tikzoption{sibling distance}{\setlength\tikzsiblingdistance{#1}}
+\tikzoption{level distance}{\pgfmathsetlength\tikzleveldistance{#1}}
+\tikzoption{sibling distance}{\pgfmathsetlength\tikzsiblingdistance{#1}}
\tikzoption{growth function}{\let\tikz@grow=#1}
+\tikzoption{growth parent anchor}{\def\tikz@growth@anchor{#1}}
\tikzoption{grow}{\tikz@set@growth{#1}\edef\tikz@special@level{\the\tikztreelevel}}%
\tikzoption{grow'}{\tikz@set@growth{#1}\tikz@swap@growth\edef\tikz@special@level{\the\tikztreelevel}}%
+\def\tikz@growth@anchor{center}
\def\tikz@special@level{-1}% never
@@ -812,8 +831,8 @@
\pgf@xc=.5\tikzsiblingdistance%
\c@pgf@counta=\tikznumberofchildren%
\advance\c@pgf@counta by1\relax%
- \@tempdima=\c@pgf@counta\pgf@xc%
- \pgftransformshift{\pgfpointpolar{\tikz@angle@grow@left}{\@tempdima}}%
+ \pgfutil@tempdima=\c@pgf@counta\pgf@xc%
+ \pgftransformshift{\pgfpointpolar{\tikz@angle@grow@left}{\pgfutil@tempdima}}%
\pgftransformshift{\pgfpointpolar{\tikz@angle@grow@right}{\tikznumberofcurrentchild\tikzsiblingdistance}}%
\fi%
}
@@ -837,12 +856,12 @@
\fi%
\fi}
-\tikzoption{segment amplitude}{\setlength{\pgfsnakesegmentamplitude}{#1}}
-\tikzoption{segment length}{\setlength{\pgfsnakesegmentlength}{#1}}
-\tikzoption{segment angle}{\def\pgfsnakesegmentangle{#1}}
-\tikzoption{segment aspect}{\def\pgfsnakesegmentaspect{#1}}
+\tikzoption{segment amplitude}{\pgfmathsetlength{\pgfsnakesegmentamplitude}{#1}}
+\tikzoption{segment length}{\pgfmathsetlength{\pgfsnakesegmentlength}{#1}}
+\tikzoption{segment angle}{\pgfmathparse{#1}\let\pgfsnakesegmentangle=\pgfmathresult}
+\tikzoption{segment aspect}{\pgfmathparse{#1}\let\pgfsnakesegmentaspect=\pgfmathresult}
-\tikzoption{segment object length}{\def\pgfsnakesegmentobjectlength{#1}}
+\tikzoption{segment object length}{\pgfmathparse{#1}\edef\pgfsnakesegmentobjectlength{\pgfmathresult pt}}
\tikzoption{raise snake}{\def\pgf@snake@raise{\pgftransformyshift{#1}}}
\tikzoption{mirror snake}[true]{%
@@ -881,6 +900,21 @@
\def\tikz@mainsnakelength{\pgfsnakeremainingdistance}
+% Matrix options
+\tikzoption{matrix}[true]{\csname tikz@is@matrix#1\endcsname}
+
+\tikzoption{matrix anchor}{\def\tikz@matrix@anchor{#1}}
+
+\tikzoption{column sep}{\def\pgfmatrixcolumnsep{#1}}
+\tikzoption{row sep}{\def\pgfmatrixrowsep{#1}}
+
+\tikzoption{cells}{\tikzstyle{every cell}+=[#1]}
+
+\tikzoption{ampersand replacement}{\def\tikz@ampersand@replacement{#1}}
+
+\newif\iftikz@is@matrix
+\let\tikz@matrix@anchor=\pgfutil@empty
+\let\tikz@ampersand@replacement=\pgfutil@empty
% Execute option
@@ -892,6 +926,9 @@
\tikzoption{execute at end to}{\expandafter\def\expandafter\tikz@atend@to\expandafter{\tikz@atend@to#1}}
\tikzoption{execute at begin node}{\expandafter\def\expandafter\tikz@atbegin@node\expandafter{\tikz@atbegin@node#1}}
\tikzoption{execute at end node}{\expandafter\def\expandafter\tikz@atend@node\expandafter{\tikz@atend@node#1}}
+\tikzoption{execute at begin cell}{\expandafter\def\expandafter\tikz@atbegin@cell\expandafter{\tikz@atbegin@cell#1}}
+\tikzoption{execute at end cell}{\expandafter\def\expandafter\tikz@atend@cell\expandafter{\tikz@atend@cell#1}}
+\tikzoption{execute at empty cell}{\expandafter\def\expandafter\tikz@at@emptycell\expandafter{\tikz@at@emptycell#1}}
\let\tikz@atbegin@picture=\pgfutil@empty
\let\tikz@atend@picture=\pgfutil@empty
@@ -901,6 +938,9 @@
\let\tikz@atend@to=\pgfutil@empty
\let\tikz@atbegin@node=\pgfutil@empty
\let\tikz@atend@node=\pgfutil@empty
+\let\tikz@atbegin@cell=\pgfutil@empty
+\let\tikz@atend@cell=\pgfutil@empty
+\let\tikz@at@emptycell=\pgfutil@empty
@@ -957,6 +997,8 @@
\tikzstyle{every child}= []
\tikzstyle{every child node}= []
\tikzstyle{every to}= []
+\tikzstyle{every cell}= []
+\tikzstyle{every matrix}= []
\tikzstyle{every edge}= [draw]
\tikzstyle{every label}= [draw=none,fill=none]
\tikzstyle{every pin}= [draw=none,fill=none]
@@ -1206,6 +1248,8 @@
\let\tikz@origuseasboundingbox=\useasboundingbox%
\let\tikz@orignode=\node%
\let\tikz@origcoordinate=\coordinate%
+ \let\tikz@origmatrix=\matrix%
+ \let\tikz@origcalendar=\calendar%
%
\tikz@deactivatthings%
%
@@ -1226,7 +1270,12 @@
\def\useasboundingbox{\path[use as bounding box]}
\def\node{\path node}
\def\coordinate{\path coordinate}
+ \def\matrix{\path node[matrix]}
+ \def\calendar{\tikz@lib@cal@calendar}%
}
+\ifx\tikz@lib@cal@calendar\@undefined
+\def\tikz@lib@cal@calendar{\PackageError{tikz}{You need to load the calendar library}{}}
+\fi
\def\tikz@uninstallcommands{%
\ifnum\the\catcode`\;=\active\relax\expandafter\let\tikz@activesemicolon=\tikz@origsemi\fi%
@@ -1248,6 +1297,8 @@
\let\useasboundingbox=\tikz@origuseasboundingbox%
\let\node=\tikz@orignode%
\let\coordinate=\tikz@origcoordinate%
+ \let\matrix=\tikz@origmatrix%
+ \let\calendar=\tikz@origcalendar%
}
@@ -1281,8 +1332,10 @@
% settings.
\def\tikz@command@path{%
+ \let\tikz@signal@path=\tikz@signal@path% for detection at begin of matrix cell
\pgfutil@ifnextchar[{\tikz@check@earg}%]
{\pgfutil@ifnextchar<{\tikz@doopt}{\tikz@@command@path}}}
+\def\tikz@signal@path{\tikz@signal@path}%
\def\tikz@check@earg[#1]{%
\pgfutil@ifnextchar<{\tikz@swap@args[#1]}{\tikz@@command@path[#1]}}
\def\tikz@swap@args[#1]<#2>{\tikz@command@path<#2>[#1]}
@@ -1546,7 +1599,7 @@
\def\tikz@expand{%
\advance\tikz@expandcount by -1%
\ifnum\tikz@expandcount<0\relax%
- \PackageError{tikz}{Giving up on this path}{}%
+ \PackageError{tikz}{Giving up on this path. Did you forget a semicolon?}{}%
\let\@next=\tikz@finish%
\else%
\let\@next=\tikz@@expand
@@ -1589,11 +1642,22 @@
\def\tikz@foreach{%
\def\pgffor@beginhook{\setbox\tikz@figbox=\box\tikz@tempbox\expandafter\tikz@scan@next@command\@firstofone}%
- \def\pgffor@endhook{\pgfextra{\global\setbox\tikz@tempbox=\copy\tikz@figbox\pgfutil@gobble}}%
- \def\pgffor@afterhook{\setbox\tikz@figbox=\box\tikz@tempbox\tikz@scan@next@command}%
+ \def\pgffor@endhook{\pgfextra{%
+ \xdef\tikz@foreach@save@lastx{\the\tikz@lastx}%
+ \xdef\tikz@foreach@save@lasty{\the\tikz@lasty}%
+ \xdef\tikz@foreach@save@lastxsaved{\the\tikz@lastxsaved}%
+ \xdef\tikz@foreach@save@lastysaved{\the\tikz@lastysaved}%
+ \global\setbox\tikz@tempbox=\copy\tikz@figbox\pgfutil@gobble}}%
+ \def\pgffor@afterhook{%
+ \tikz@lastx=\tikz@foreach@save@lastx%
+ \tikz@lasty=\tikz@foreach@save@lasty%
+ \tikz@lastxsaved=\tikz@foreach@save@lastxsaved%
+ \tikz@lastysaved=\tikz@foreach@save@lastysaved%
+ \setbox\tikz@figbox=\box\tikz@tempbox\tikz@scan@next@command}%
\global\setbox\tikz@tempbox=\copy\tikz@figbox%
\foreach}
+
% Syntax for againpath:
% \againpath \somepathname
@@ -1753,7 +1817,10 @@
% snake or lineto?
\def\tikz@path@lineto#1{%
\iftikz@snaked%
- \pgfpathsnakesto{\tikz@presnake,{\tikz@snake}{\tikz@mainsnakelength},\tikz@postsnake}{#1}%
+ {
+ \pgfsyssoftpathmovetorelevantfalse%
+ \pgfpathsnakesto{\tikz@presnake,{\tikz@snake}{\tikz@mainsnakelength},\tikz@postsnake}{#1}%
+ }
\else%
\pgfpathlineto{#1}%
\fi%
@@ -2074,7 +2141,10 @@
\tikz@path@lineto{\pgfqpoint{\pgf@xa}{\tikz@lasty}}%
\tikz@path@lineto{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}%
\tikz@path@lineto{\pgfqpoint{\tikz@lastx}{\pgf@ya}}%
- \tikz@path@close{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
+ \iftikz@snaked%
+ \tikz@path@lineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
+ \fi%
+ \pgfpathclose%
\pgfpathmoveto{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}%
\def\pgfstrokehook{}%
\tikz@scan@next@command%
@@ -2133,8 +2203,9 @@
\tikz@setkeys{#1}%
\pgfutil@ifnextchar f{\tikz@plot@f}%
{\pgfutil@ifnextchar c{\tikz@plot@scan@points}%
- {\PackageError{tikz}{Cannot parse this plotting data}{}%
- \endgroup}}}
+ {\pgfutil@ifnextchar ({\tikz@plot@expression}{%
+ \PackageError{tikz}{Cannot parse this plotting data}{}%
+ \endgroup}}}}
\def\tikz@plot@f f{\pgfutil@ifnextchar i{\tikz@plot@file}{\tikz@plot@function}}
\def\tikz@plot@file ile#1{\def\tikz@plot@data{\pgfplotxyfile{#1}}\tikz@@@plot}%
@@ -2157,12 +2228,12 @@
\else%
\iftikz@plot@parametric%
\def\tikz@plot@data{\pgfplotgnuplot[\tikz@plot@filename]{%
- set samples \tikz@plot@sampels;
+ set samples \tikz@plot@samples;
set parametric;
plot [t=\tikz@plot@domain] #1}}%
\else%
\def\tikz@plot@data{\pgfplotgnuplot[\tikz@plot@filename]{%
- set samples \tikz@plot@sampels;
+ set samples \tikz@plot@samples;
plot [x=\tikz@plot@domain] #1}}%
\fi%
\fi%
@@ -2175,6 +2246,11 @@
{}%
}
+\def\tikz@plot@expression(#1){%
+ \edef\tikz@plot@data{\noexpand\pgfplotfunction{\expandafter\noexpand\tikz@plot@var}{\tikz@plot@samplesat}}%
+ \expandafter\def\expandafter\tikz@plot@data\expandafter{\tikz@plot@data{\tikz@scan@one@point\pgfutil@firstofone(#1)}}%
+ \tikz@@@plot%
+}
\def\tikz@@@plot{%
\def\pgfplotlastpoint{\pgfpointorigin}%
@@ -2359,30 +2435,23 @@
}
\def\tikz@@@arcto@check@slashand(#1:#2:#3){%
- \pgfutil@in@{/}{#3}%
+ \pgfutil@in@{ and }{#3}%
\ifpgfutil@in@%
- \tikz@parse@arc@replace@slash@and(#1:#2:#3)%
+ \tikz@parse@arc@and(#1:#2:#3)%
\else%
- \pgfutil@in@{ and }{#3}%
- \ifpgfutil@in@%
- \tikz@parse@arc@and(#1:#2:#3)%
- \else%
- \tikz@parse@arc@and(#1:#2:#3 and #3)%
- \fi%
+ \tikz@parse@arc@and(#1:#2:#3 and #3)%
\fi%
}
-\def\tikz@parse@arc@replace@slash@and(#1:#2:#3/#4){\tikz@parse@arc@and(#1:#2:#3 and #4)}
-
\def\tikz@parse@arc@and(#1:#2:#3 and #4){%
\tikz@checkunit{#3}%
\iftikz@isdimension%
- \tikz@@@arcfinal{\pgfpatharc{#1}{#2}{#3/#4}}
- {\pgfpointpolar{#1}{#3/#4}}
- {\pgfpointpolar{#2}{#3/#4}}%
+ \tikz@@@arcfinal{\pgfpatharc{#1}{#2}{#3 and #4}}
+ {\pgfpointpolar{#1}{#3 and #4}}
+ {\pgfpointpolar{#2}{#3 and #4}}%
\else%
\tikz@@@arcfinal{\pgfpatharcaxes{#1}{#2}{\pgfpointxy{#3}{0}}{\pgfpointxy{0}{#4}}}
- {\pgfpointpolarxy{#1}{#3/#4}}{\pgfpointpolarxy{#2}{#3/#4}}%
+ {\pgfpointpolarxy{#1}{#3 and #4}}{\pgfpointpolarxy{#2}{#3 and #4}}%
\fi%
}
@@ -2429,6 +2498,7 @@
\begingroup%
\let\tikz@fig@name=\pgfutil@empty%
\begingroup%
+ \tikz@is@matrixfalse%
\let\nodepart=\tikz@nodepart%
\let\tikz@options=\pgfutil@empty%
\let\tikz@after@node=\pgfutil@empty%
@@ -2463,6 +2533,14 @@
\def\tikz@shape{rectangle}}%
{}%
\tikz@every@style{every \tikz@shape\space node}%
+ \iftikz@is@matrix%
+ \let\tikz@next=\tikz@do@matrix%
+ \else%
+ \let\tikz@next=\tikz@do@fig%
+ \fi%
+ \tikz@next%
+}
+\def\tikz@do@fig{%
\setbox\pgfnodeparttextbox=\hbox%
\bgroup%
\tikz@every@style{every text node part}%
@@ -2506,66 +2584,179 @@
\fi%
\endpgfinterruptpicture%
\egroup%
- \pgfutil@ifnextchar c{\tikz@fig@mustbenamed}%
- {\pgfutil@ifnextchar[{\tikz@fig@mustbenamed}%
- {\pgfutil@ifnextchar t{\tikz@fig@mustbenamed}
- {\pgfutil@ifnextchar e{\tikz@fig@mustbenamed}
- {\ifx\tikz@after@node\pgfutil@empty\expandafter\tikz@fig@continue\else\expandafter\tikz@fig@mustbenamed\fi}}}}}%}
-\def\tikz@fig@mustbenamed{%
- \ifx\tikz@fig@name\pgfutil@empty%
- % Assign a dummy name
- \global\advance\tikz@fig@count by1\relax
- \edef\tikz@fig@name{tikz@f@\the\tikz@fig@count}%
- \fi%
- \tikz@fig@continue%
+ \pgfutil@ifnextchar c{\tikz@fig@mustbenamed\tikz@fig@continue}%
+ {\pgfutil@ifnextchar[{\tikz@fig@mustbenamed\tikz@fig@continue}%
+ {\pgfutil@ifnextchar t{\tikz@fig@mustbenamed\tikz@fig@continue}
+ {\pgfutil@ifnextchar e{\tikz@fig@mustbenamed\tikz@fig@continue}
+ {\ifx\tikz@after@node\pgfutil@empty\expandafter\tikz@fig@continue\else\expandafter\tikz@fig@mustbenamed\expandafter\tikz@fig@continue\fi}}}}}%}
+
+\def\tikz@do@matrix{%
+ \tikz@every@style{every matrix}%
+ \tikz@node@transformations%
+ \tikz@fig@mustbenamed%
+ \setbox\tikz@figbox=\hbox\bgroup%
+ \setbox\pgfutil@tempboxa=\copy\tikz@figbox%
+ \unhbox\pgfutil@tempboxa%
+ \hbox\bgroup\bgroup%
+ \pgfinterruptpath%
+ \pgfscope%
+ \tikz@options%
+ \setbox\tikz@figbox=\box\voidb@x%
+ \let\tikzmatrixname=\tikz@fig@name%
+ \edef\tikz@m@anchor{\ifx\tikz@matrix@anchor\pgfutil@empty\tikz@anchor\else\tikz@matrix@anchor\fi}%
+ \expandafter\pgfutil@in@\expandafter{\expandafter.\expandafter}\expandafter{\tikz@m@anchor}%
+ \ifpgfutil@in@%
+ \expandafter\tikz@matrix@split\tikz@m@anchor\relax%
+ \else%
+ \def\tikz@matrix@shift{\pgfpointorigin}%
+ \fi%
+ \let\tikz@transform=\relax%
+ \pgfmatrix%
+ {\tikz@shape}%
+ {\tikz@m@anchor}%
+ {\tikz@fig@name}%
+ {%
+ \pgfutil@tempdima=\pgflinewidth%
+ {\begingroup\tikz@finish}%
+ \global\pgflinewidth=\pgfutil@tempdima%
+ }%
+ {\tikz@matrix@shift}%
+ {%
+ \tikz@matrix@make@active@ampersand%
+ \def\pgfmatrixbegincode{%
+ \pgfsys@beginscope%
+ \tikz@common@matrix@code%
+ \tikz@atbegin@cell%
+ }%
+ \def\tikz@common@matrix@code{%
+ \let\tikz@options=\pgfutil@empty%
+ \let\tikz@mode=\pgfutil@empty%
+ \tikz@every@style{every cell}%
+ \tikz@every@style{column \the\pgfmatrixcurrentcolumn}%
+ \ifodd\pgfmatrixcurrentcolumn%
+ \tikz@every@style{every odd column}%
+ \else%
+ \tikz@every@style{every even column}%
+ \fi%
+ \tikz@every@style{row \the\pgfmatrixcurrentrow}%
+ \ifodd\pgfmatrixcurrentrow%
+ \tikz@every@style{every odd row}%
+ \else%
+ \tikz@every@style{every even row}%
+ \fi%
+ \tikz@every@style{row \the\pgfmatrixcurrentrow\space column \the\pgfmatrixcurrentcolumn}%
+ \tikz@options%
+ }%
+ \def\pgfmatrixendcode{%
+ \tikz@atend@cell%
+ \pgfsys@endscope%
+ }%
+ \def\pgfmatrixemptycode{%
+ \pgfsys@beginscope%
+ \tikz@common@matrix@code%
+ \tikz@at@emptycell%
+ \pgfsys@endscope%
+ }%
+ \aftergroup\tikz@do@matrix@cont}%
+ \bgroup%
+}
+\def\tikz@do@matrix@cont{%
+ \endpgfscope
+ \endpgfinterruptpath%
+ \egroup\egroup%
+ \egroup%
+ %
+ \tikz@node@finish%
+}
+
+{%
+ \catcode`\&=13
+ \gdef\tikz@matrix@make@active@ampersand{%
+ \ifx\tikz@ampersand@replacement\pgfutil@empty%
+ \catcode`\&=13%
+ \let&=\pgfmatrixnextcell%
+ \else%
+ \expandafter\let\tikz@ampersand@replacement=\pgfmatrixnextcell%
+ \fi%
+ }%
+}%
+
+
+\def\tikz@matrix@split#1.#2\relax{%
+ \def\tikz@m@anchor{text}%
+ \def\tikz@matrix@shift{\pgfpointanchor{#1}{#2}}%
}
+
\def\tikz@fig@continue{%
\ifx\tikz@text@width\pgfutil@empty%
\else%
- \setlength{\pgf@x}{\tikz@text@width}%
+ \pgfmathsetlength{\pgf@x}{\tikz@text@width}%
\wd\pgfnodeparttextbox=\pgf@x%
\fi%
\ifx\tikz@text@height\pgfutil@empty%
\else%
- \setlength{\pgf@x}{\tikz@text@height}%
+ \pgfmathsetlength{\pgf@x}{\tikz@text@height}%
\ht\pgfnodeparttextbox=\pgf@x%
\fi%
\ifx\tikz@text@depth\pgfutil@empty%
\else%
- \setlength{\pgf@x}{\tikz@text@depth}%
+ \pgfmathsetlength{\pgf@x}{\tikz@text@depth}%
\dp\pgfnodeparttextbox=\pgf@x%
\fi%
- % Possibly, we are ``online''
- \ifx\tikz@time\pgfutil@empty%
- \pgftransformshift{\tikz@node@at}%
- \iftikz@fullytransformed%
- \else%
- \pgftransformresetnontranslations
- \fi%
- \else%
- \tikz@do@auto@anchor%
- \tikz@timer%
- \fi%
- % Invoke local transformations
- \tikz@transform%
+ %
+ % Node transformation
+ %
+ \tikz@node@transformations
+ %
\setbox\tikz@figbox=\hbox{%
- \setbox\@tempboxa=\copy\tikz@figbox%
- \unhbox\@tempboxa%
+ \setbox\pgfutil@tempboxa=\copy\tikz@figbox%
+ \unhbox\pgfutil@tempboxa%
\hbox{{%
\pgfinterruptpath%
\pgfscope%
\tikz@options%
\setbox\tikz@figbox=\box\voidb@x%
\pgfmultipartnode{\tikz@shape}{\tikz@anchor}{\tikz@fig@name}{%
- \@tempdima=\pgflinewidth%
+ \pgfutil@tempdima=\pgflinewidth%
{\begingroup\tikz@finish}%
- \global\pgflinewidth=\@tempdima%
+ \global\pgflinewidth=\pgfutil@tempdima%
}%
\endpgfscope
\endpgfinterruptpath%
}}%
}%
- %
+ %
+ \tikz@node@finish%
+}
+
+
+\def\tikz@fig@mustbenamed{%
+ \ifx\tikz@fig@name\pgfutil@empty%
+ % Assign a dummy name
+ \global\advance\tikz@fig@count by1\relax
+ \edef\tikz@fig@name{tikz@f@\the\tikz@fig@count}%
+ \fi%
+}
+
+\def\tikz@node@transformations{
+ %
+ % Possibly, we are ``online''
+ %
+ \ifx\tikz@time\pgfutil@empty%
+ \pgftransformshift{\tikz@node@at}%
+ \iftikz@fullytransformed%
+ \else%
+ \pgftransformresetnontranslations%
+ \fi%
+ \else%
+ \tikz@do@auto@anchor%
+ \tikz@timer%
+ \fi%
+ % Invoke local transformations
+ \tikz@transform%
+}
+
+\def\tikz@node@finish{%
\global\let\tikz@last@fig@name=\tikz@fig@name%
\global\let\tikz@after@node@smuggle=\tikz@after@node%
\global\let\tikz@afternodepathoptions@smuggle=\tikz@afternodepathoptions%
@@ -2585,6 +2776,8 @@
}
\let\tikz@fig@continue@orig=\tikz@fig@continue
+
+
% Syntax for parts of nodes:
% node ... {... \nodepart{name} ... \nodepart{name} ...}
@@ -2742,7 +2935,7 @@
\tikz@transform%
\let\tikzparentnode=\tikz@last@fig@name%
% Transform to center of node
- \pgftransformshift{\pgfpointanchor{\tikzparentnode}{center}}%
+ \pgftransformshift{\pgfpointanchor{\tikzparentnode}{\tikz@growth@anchor}}%
\tikznumberofcurrentchild=0\relax%
\tikz@children@list%
\global\setbox\tikz@tempbox=\copy\tikz@figbox%
@@ -2973,7 +3166,7 @@
\tikzdeclarecoordinatesystem{xyz polar}
{%
\tikz@orig@setkeys{tikzcskeys}{angle=0,radius=0,#1}%
- \pgfpointpolarxy{\tikz@cs@angle}{\tikz@cs@xradius/\tikz@cs@yradius}%
+ \pgfpointpolarxy{\tikz@cs@angle}{\tikz@cs@xradius and \tikz@cs@yradius}%
}
\tikzaliascoordinatesystem{xy polar}{xyz polar}
@@ -3021,6 +3214,33 @@
\pgfqpoint{\the\pgf@xb}{\the\pgf@ya}
}
+\tikzdeclarecoordinatesystem{barycentric}
+{%
+ {%
+ \pgf@xa=0pt% point
+ \pgf@ya=0pt%
+ \pgf@xb=0pt% sum
+ \tikz@bary@dolist#1,=,%
+ \pgfmathparse{1/\the\pgf@xb}%
+ \global\pgf@x=\pgfmathresult\pgf@xa%
+ \global\pgf@y=\pgfmathresult\pgf@ya%
+ }%
+}
+
+\def\tikz@bary@dolist#1=#2,{%
+ \def\tikz@temp{#1}%
+ \ifx\tikz@temp\pgfutil@empty%
+ \else
+ \pgf@process{\pgfpointanchor{#1}{center}}%
+ \pgfmathparse{#2}%
+ \advance\pgf@xa by\pgfmathresult\pgf@x%
+ \advance\pgf@ya by\pgfmathresult\pgf@y%
+ \advance\pgf@xb by\pgfmathresult pt%
+ \expandafter\tikz@bary@dolist%
+ \fi%
+}
+
+
\tikz@orig@define@key{tikzcskeys}{x}{\def\tikz@cs@x{#1}}
\tikz@orig@define@key{tikzcskeys}{y}{\def\tikz@cs@y{#1}}
\tikz@orig@define@key{tikzcskeys}{z}{\def\tikz@cs@z{#1}}
@@ -3168,9 +3388,8 @@
\newif\iftikz@isdimension
\def\tikz@checkunit#1{%
- \@tempdima\z@%
- \afterassignment\tikz@@checkunit%
- \@tempdima#1\@tempdima\tikz@unique%
+ \pgfmathparse{#1}%
+ \let\iftikz@isdimension=\ifpgfmathunitsdeclared%
}
\def\tikz@@checkunit{\pgfutil@ifnextchar\tikz@unique{\tikz@checkunit@number}{\tikz@checkunit@dimension}}
\def\tikz@checkunit@number\tikz@unique{\tikz@isdimensionfalse}
@@ -3193,9 +3412,9 @@
\def\tikz@@@parse@polar#1(#2:#3 and #4){%
\tikz@checkunit{#3}%
\iftikz@isdimension%
- \def\tikz@next{#1{\pgfpointpolar{#2}{#3/#4}}}%
+ \def\tikz@next{#1{\pgfpointpolar{#2}{#3 and #4}}}%
\else%
- \def\tikz@next{#1{\pgfpointpolarxy{#2}{#3/#4}}}%
+ \def\tikz@next{#1{\pgfpointpolarxy{#2}{#3 and #4}}}%
\fi%
\tikz@next%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
index a0b9a108d60..9de07884dd5 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
@@ -7,30 +7,30 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.code.tex,v 1.5 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryarrows.code.tex,v 1.7 2007/06/07 07:41:11 tantau Exp $
% A square bracket shaped arrow
\pgfarrowsdeclare{[}{]}
{
- \@tempdima=1pt%
- \advance\@tempdima by1.25\pgflinewidth%
- \pgfarrowsleftextend{-\@tempdima}
- \pgfarrowsrightextend{.5\pgflinewidth}
+ \pgfutil@tempdima=1pt%
+ \advance\pgfutil@tempdima by1.25\pgflinewidth%
+ \pgfarrowsleftextend{+-\pgfutil@tempdima}
+ \pgfarrowsrightextend{+.5\pgflinewidth}
}
{
- \@tempdima=2pt%
- \advance\@tempdima by1.5\pgflinewidth%
- \@tempdimb=\@tempdima%
- \advance\@tempdimb by\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=2pt%
+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
+ \advance\pgfutil@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}}
+ \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
}
@@ -41,23 +41,23 @@
\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}
+ \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}
}
{
- \@tempdima=2pt%
- \advance\@tempdima by1.5\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=2pt%
+ \advance\pgfutil@tempdima by1.5\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetroundcap
- \pgfpathmoveto{\pgfpoint{-.5\@tempdima}{-\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{-.5\pgfutil@tempdima}{-1\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{.25\@tempdima}{-.5\@tempdima}}
- {\pgfpoint{.25\@tempdima}{.5\@tempdima}}
- {\pgfpoint{-.5\@tempdima}{\@tempdima}}
+ {\pgfqpoint{.25\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
+ {\pgfqpoint{.25\pgfutil@tempdima}{.5\pgfutil@tempdima}}
+ {\pgfqpoint{-.5\pgfutil@tempdima}{\pgfutil@tempdima}}
\pgfusepathqstroke
}
@@ -70,22 +70,22 @@
\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}
+ \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}
}
{
- \@tempdima=0.3pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.3pt%
+ \advance\pgfutil@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}}
+ \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
}
@@ -94,22 +94,22 @@
\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}
+ \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}
}
{
- \@tempdima=0.3pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.3pt%
+ \advance\pgfutil@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}}}
+ \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
}
@@ -119,22 +119,22 @@
\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}
+ \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}
}
{
- \@tempdima=0.3pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.3pt%
+ \advance\pgfutil@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}}}
+ \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
}
@@ -146,18 +146,18 @@
\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}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@tempdima by.2\pgflinewidth%
+ \pgfutil@tempdimb=5.5\pgfutil@tempdima\advance\pgfutil@tempdimb by\pgflinewidth
+ \pgfarrowsleftextend{+-\pgfutil@tempdimb}
+ \pgfutil@tempdimb=1.5\pgfutil@tempdima\advance\pgfutil@tempdimb by.5\pgflinewidth
+ \pgfarrowsrightextend{+\pgfutil@tempdimb}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.2\pgflinewidth%
- \pgfsetdash{}{0pt}
- \pgfpathcircle{\pgfpoint{-3\@tempdima}{0pt}}{4.5\@tempdima}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{+0pt}
+ \pgfpathcircle{\pgfqpoint{-3\pgfutil@tempdima}{0pt}}{+4.5\pgfutil@tempdima}
\pgfusepathqfillstroke
}
@@ -166,17 +166,17 @@
\pgfarrowsdeclare{o}{o}
{
- \pgfarrowsleftextend{-.5\pgflinewidth}
- \@tempdima=0.4pt%
- \advance\@tempdima by.2\pgflinewidth%
- \@tempdimb=9\@tempdima\advance\@tempdimb by.5\pgflinewidth
- \pgfarrowsrightextend{\@tempdimb}
+ \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}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.2\pgflinewidth%
- \pgfsetdash{}{0pt}
- \pgfpathcircle{\pgfpoint{4.5\@tempdima}{0bp}}{4.5\@tempdima}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@tempdima by.2\pgflinewidth%
+ \pgfsetdash{}{+0pt}
+ \pgfpathcircle{\pgfqpoint{4.5\pgfutil@tempdima}{0bp}}{4.5\pgfutil@tempdima}
\pgfusepathqstroke
}
@@ -186,43 +186,43 @@
\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}
+ \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}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.275\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@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}}
+ \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}}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.275\pgflinewidth%
- \pgfarrowsleftextend{-.5\pgflinewidth}
- \@tempdimb=14\@tempdima\advance\@tempdimb by.5\pgflinewidth
- \pgfarrowsrightextend{\@tempdimb}
+ \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}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.275\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@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}}
+ \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
}
@@ -233,21 +233,21 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}
+ \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
}
@@ -257,21 +257,21 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}}
+ \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
}
@@ -283,21 +283,21 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}}
+ \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
}
@@ -309,40 +309,40 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}
+ \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}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfarrowsleftextend{-.707\pgflinewidth}
- \@tempdimb=6\@tempdima\advance\@tempdimb by0.5\pgflinewidth%
- \pgfarrowsrightextend{\@tempdimb}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}
+ \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
}
@@ -351,20 +351,20 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}}
+ \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
}
@@ -373,20 +373,20 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetmiterjoin
- \pgfpathmoveto{\pgfpointpolar{30}{9\@tempdima}}
+ \pgfpathmoveto{\pgfqpointpolar{30}{9\pgfutil@tempdima}}
\pgfpathlineto{\pgfpointorigin}
- \pgfpathlineto{\pgfpointpolar{-30}{9\@tempdima}}
+ \pgfpathlineto{\pgfqpointpolar{-30}{9\pgfutil@tempdima}}
\pgfpathclose
\pgfusepathqstroke
}
@@ -395,20 +395,20 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@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}}}
+ \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
}
@@ -417,20 +417,20 @@
\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}
+ \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}
}
{
- \@tempdima=0.5pt%
- \advance\@tempdima by.25\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.5pt%
+ \advance\pgfutil@tempdima by.25\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetmiterjoin
- \pgfpathmoveto{\pgfpointpolar{23}{10\@tempdima}}
+ \pgfpathmoveto{\pgfqpointpolar{23}{10\pgfutil@tempdima}}
\pgfpathlineto{\pgfpointorigin}
- \pgfpathlineto{\pgfpointpolar{-23}{10\@tempdima}}
+ \pgfpathlineto{\pgfqpointpolar{-23}{10\pgfutil@tempdima}}
\pgfpathclose
\pgfusepathqstroke
}
@@ -441,27 +441,27 @@
\pgfarrowsdeclare{latex'}{latex'}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfarrowsleftextend{-4\@tempdima}
- \pgfarrowsrightextend{6\@tempdima}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfarrowsleftextend{+-4\pgfutil@tempdima}
+ \pgfarrowsrightextend{+6\pgfutil@tempdima}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfpathmoveto{\pgfpoint{6\@tempdima}{0\@tempdima}}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfpathmoveto{\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{3.5\@tempdima}{.5\@tempdima}}
- {\pgfpoint{-1\@tempdima}{1.5\@tempdima}}
- {\pgfpoint{-4\@tempdima}{3.75\@tempdima}}
+ {\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
- {\pgfpoint{-1.5\@tempdima}{1\@tempdima}}
- {\pgfpoint{-1.5\@tempdima}{-1\@tempdima}}
- {\pgfpoint{-4\@tempdima}{-3.75\@tempdima}}
+ {\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
- {\pgfpoint{-1\@tempdima}{-1.5\@tempdima}}
- {\pgfpoint{3.5\@tempdima}{-.5\@tempdima}}
- {\pgfpoint{6\@tempdima}{0\@tempdima}}
+ {\pgfqpoint{-1\pgfutil@tempdima}{-1.5\pgfutil@tempdima}}
+ {\pgfqpoint{3.5\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
+ {\pgfqpoint{6\pgfutil@tempdima}{0\pgfutil@tempdima}}
\pgfusepathqfill
}
@@ -472,31 +472,31 @@
\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}
+ \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}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetroundjoin
- \pgfpathmoveto{\pgfpoint{2\@tempdima}{0\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{2\pgfutil@tempdima}{0\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{-.5\@tempdima}{.5\@tempdima}}
- {\pgfpoint{-3\@tempdima}{1.5\@tempdima}}
- {\pgfpoint{-6\@tempdima}{3.25\@tempdima}}
+ {\pgfqpoint{-.5\pgfutil@tempdima}{.5\pgfutil@tempdima}}
+ {\pgfqpoint{-3\pgfutil@tempdima}{1.5\pgfutil@tempdima}}
+ {\pgfqpoint{-6\pgfutil@tempdima}{3.25\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{-3\@tempdima}{1\@tempdima}}
- {\pgfpoint{-3\@tempdima}{-1\@tempdima}}
- {\pgfpoint{-6\@tempdima}{-3.25\@tempdima}}
+ {\pgfqpoint{-3\pgfutil@tempdima}{1\pgfutil@tempdima}}
+ {\pgfqpoint{-3\pgfutil@tempdima}{-1\pgfutil@tempdima}}
+ {\pgfqpoint{-6\pgfutil@tempdima}{-3.25\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{-3\@tempdima}{-1.5\@tempdima}}
- {\pgfpoint{-.5\@tempdima}{-.5\@tempdima}}
- {\pgfpoint{2\@tempdima}{0\@tempdima}}
+ {\pgfqpoint{-3\pgfutil@tempdima}{-1.5\pgfutil@tempdima}}
+ {\pgfqpoint{-.5\pgfutil@tempdima}{-.5\pgfutil@tempdima}}
+ {\pgfqpoint{2\pgfutil@tempdima}{0\pgfutil@tempdima}}
\pgfpathclose
\pgfusepathqfillstroke
}
@@ -509,60 +509,60 @@
\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}
+ \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}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
\pgfsetlinewidth{0.8\pgflinewidth}
- \pgfsetdash{}{0pt}
+ \pgfsetdash{}{+0pt}
\pgfsetroundcap
\pgfsetroundjoin
- \pgfpathmoveto{\pgfpoint{-3\@tempdima}{4\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{4\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{-2.75\@tempdima}{2.5\@tempdima}}
- {\pgfpoint{0pt}{0.25\@tempdima}}
- {\pgfpoint{0.75\@tempdima}{0pt}}
+ {\pgfqpoint{-2.75\pgfutil@tempdima}{2.5\pgfutil@tempdima}}
+ {\pgfqpoint{0pt}{0.25\pgfutil@tempdima}}
+ {\pgfqpoint{0.75\pgfutil@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}}
+ {\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}
{
- \@tempdima=-0.84pt%
- \advance\@tempdima by-1.3\pgflinewidth%
- \@tempdimb=0.21pt%
- \advance\@tempdimb by.625\pgflinewidth%
- \pgfarrowsleftextend{\@tempdima}
- \pgfarrowsrightextend{\@tempdimb}
+ \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}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
\pgfsetlinewidth{0.8\pgflinewidth}
- \pgfsetdash{}{0pt}
+ \pgfsetdash{}{+0pt}
\pgfsetroundcap
\pgfsetroundjoin
- \pgfpathmoveto{\pgfpoint{-3\@tempdima}{-4\@tempdima}}
+ \pgfpathmoveto{\pgfqpoint{-3\pgfutil@tempdima}{-4\pgfutil@tempdima}}
\pgfpathcurveto
- {\pgfpoint{-2.75\@tempdima}{-2.5\@tempdima}}
- {\pgfpoint{0pt}{-0.25\@tempdima}}
- {\pgfpoint{0.75\@tempdima}{0pt}}
+ {\pgfqpoint{-2.75\pgfutil@tempdima}{-2.5\pgfutil@tempdima}}
+ {\pgfqpoint{0pt}{-0.25\pgfutil@tempdima}}
+ {\pgfqpoint{0.75\pgfutil@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}}
+ {\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
}
@@ -572,56 +572,56 @@
\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}
+ \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}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetroundjoin
\pgfsetbuttcap
- \pgfpathmoveto{\pgfpoint{0.5\pgflinewidth}{0pt}}
- \pgfpathlineto{\pgfpoint{-0.1\pgflinewidth}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-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}}
+ \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}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfarrowsleftextend{-.1\pgflinewidth}
- \@tempdimb=3.75\@tempdima\advance\@tempdimb by0.9\pgflinewidth%
- \pgfarrowsrightextend{\@tempdimb}
+ \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}
}
{
- \@tempdima=0.28pt%
- \advance\@tempdima by.3\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.28pt%
+ \advance\pgfutil@tempdima by.3\pgflinewidth%
+ \pgfsetdash{}{+0pt}
\pgfsetroundjoin
\pgfsetbuttcap
- \pgfpathmoveto{\pgfpoint{0.5\pgflinewidth}{0pt}}
- \pgfpathlineto{\pgfpoint{-0.1\pgflinewidth}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-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}}
+ \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%
}
@@ -632,21 +632,21 @@
\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}
+ \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}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.2\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@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{\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%
}
@@ -658,21 +658,21 @@
\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}
+ \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}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.2\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@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{\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%
}
@@ -683,24 +683,24 @@
\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}
+ \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}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.2\pgflinewidth%
- \pgfsetdash{}{0pt}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@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}}
+ \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%
}
@@ -711,30 +711,30 @@
\pgfarrowsdeclare{serif cm}{serif cm}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.45\pgflinewidth%
- \pgfarrowsleftextend{-.75\@tempdima}
- \pgfarrowsrightextend{.04\pgflinewidth}
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@tempdima by.45\pgflinewidth%
+ \pgfarrowsleftextend{+-.75\pgfutil@tempdima}
+ \pgfarrowsrightextend{+.04\pgflinewidth}
}
{
- \@tempdima=0.4pt%
- \advance\@tempdima by.45\pgflinewidth%
+ \pgfutil@tempdima=0.4pt%
+ \advance\pgfutil@tempdima by.45\pgflinewidth%
\pgftransformxshift{.04\pgflinewidth}
- \pgfpathmoveto{\pgfpoint{-.75\@tempdima}{.5\pgflinewidth}}
+ \pgfpathmoveto{\pgfqpoint{-.75\pgfutil@tempdima}{.5\pgflinewidth}}
\pgfpathcurveto
- {\pgfpoint{-.375\@tempdima}{.5\pgflinewidth}}
- {\pgfpoint{-.375\@tempdima}{.7\pgflinewidth}}
- {\pgfpoint{-.375\@tempdima}{1.95\@tempdima}}
- \pgfpathlineto{\pgfpoint{0pt}{1.95\@tempdima}}
+ {\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
- {\pgfpoint{-.04\pgflinewidth}{.5\@tempdima}}
- {\pgfpoint{-.04\pgflinewidth}{-.5\@tempdima}}
- {\pgfpoint{0pt}{-1.95\@tempdima}}
- \pgfpathlineto{\pgfpoint{-.375\@tempdima}{-1.95\@tempdima}}
+ {\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
- {\pgfpoint{-.375\@tempdima}{-.7\pgflinewidth}}
- {\pgfpoint{-.375\@tempdima}{-.5\pgflinewidth}}
- {\pgfpoint{-.75\@tempdima}{-.5\pgflinewidth}}
+ {\pgfqpoint{-.375\pgfutil@tempdima}{-.7\pgflinewidth}}
+ {\pgfqpoint{-.375\pgfutil@tempdima}{-.5\pgflinewidth}}
+ {\pgfqpoint{-.75\pgfutil@tempdima}{-.5\pgflinewidth}}
\pgfpathclose
\pgfusepathqfill
}
@@ -744,12 +744,12 @@
% Round cap
\pgfarrowsdeclare{round cap}{round cap}
-{\pgfarrowsleftextend{0pt}\pgfarrowsrightextend{\pgflinewidth}}
+{\pgfarrowsleftextend{+0pt}\pgfarrowsrightextend{+\pgflinewidth}}
{
- \pgfsetdash{}{0pt}
+ \pgfsetdash{}{+0pt}
\pgfsetroundcap
\pgfpathmoveto{\pgfpointorigin}
- \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
\pgfusepathqstroke
}
@@ -757,12 +757,12 @@
% Butt cap
\pgfarrowsdeclare{butt cap}{butt cap}
-{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{.5\pgflinewidth}}
+{\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+.5\pgflinewidth}}
{
- \pgfsetdash{}{0pt}
+ \pgfsetdash{}{+0pt}
\pgfsetbuttcap
- \pgfpathmoveto{\pgfpoint{-.1\pgflinewidth}{0pt}}
- \pgfpathlineto{\pgfpoint{0.5\pgflinewidth}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{-.1\pgflinewidth}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0.5\pgflinewidth}{0pt}}
\pgfusepathqstroke
}
@@ -771,13 +771,13 @@
% 90 degrees cap
\pgfarrowsdeclare{triangle 90 cap}{triangle 90 cap}
-{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{1\pgflinewidth}}
+{\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+\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}}
+ \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}}
\pgfusepathqfill
}
@@ -785,13 +785,13 @@
% reversed 90 degrees cap
\pgfarrowsdeclare{triangle 90 cap reversed}{triangle 90 cap reversed}
-{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{1\pgflinewidth}}
+{\pgfarrowsleftextend{+-.1\pgflinewidth}\pgfarrowsrightextend{+\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}}
+ \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}}
\pgfusepathqfill
}
@@ -800,40 +800,40 @@
% fast
\pgfarrowsdeclare{fast cap}{fast cap}
-{\pgfarrowsleftextend{-.1\pgflinewidth}\pgfarrowsrightextend{2\pgflinewidth}}
+{\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}}
+ \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{\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}}
+ \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}}
+{\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}}
+ \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{\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}}
+ \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
}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
index aebb9fb5ce6..92352856dbe 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
@@ -7,78 +7,78 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarypatterns.code.tex,v 1.7 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarypatterns.code.tex,v 1.8 2007/03/09 17:49:32 tantau Exp $
% Lines in different directions
-\pgfdeclarepatternformonly{horizontal lines}{\pgfpointorigin}{\pgfpoint{100pt}{1pt}}{\pgfpoint{100pt}{3pt}}%
+\pgfdeclarepatternformonly{horizontal lines}{\pgfpointorigin}{\pgfqpoint{100pt}{1pt}}{\pgfqpoint{100pt}{3pt}}%
{
\pgfsetlinewidth{0.4pt}
- \pgfpathmoveto{\pgfpoint{0pt}{0.5pt}}
- \pgfpathlineto{\pgfpoint{100pt}{0.5pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0.5pt}}
+ \pgfpathlineto{\pgfqpoint{100pt}{0.5pt}}
\pgfusepath{stroke}
}
-\pgfdeclarepatternformonly{vertical lines}{\pgfpointorigin}{\pgfpoint{1pt}{100pt}}{\pgfpoint{3pt}{100pt}}%
+\pgfdeclarepatternformonly{vertical lines}{\pgfpointorigin}{\pgfqpoint{1pt}{100pt}}{\pgfqpoint{3pt}{100pt}}%
{
\pgfsetlinewidth{0.4pt}
- \pgfpathmoveto{\pgfpoint{0.5pt}{0pt}}
- \pgfpathlineto{\pgfpoint{0.5pt}{100pt}}
+ \pgfpathmoveto{\pgfqpoint{0.5pt}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0.5pt}{100pt}}
\pgfusepath{stroke}
}
-\pgfdeclarepatternformonly{north east lines}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+\pgfdeclarepatternformonly{north east lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{
\pgfsetlinewidth{0.4pt}
- \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
- \pgfpathlineto{\pgfpoint{3.1pt}{3.1pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfqpoint{3.1pt}{3.1pt}}
\pgfusepath{stroke}
}
-\pgfdeclarepatternformonly{north west lines}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+\pgfdeclarepatternformonly{north west lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{
\pgfsetlinewidth{0.4pt}
- \pgfpathmoveto{\pgfpoint{0pt}{3pt}}
- \pgfpathlineto{\pgfpoint{3.1pt}{-0.1pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{3pt}}
+ \pgfpathlineto{\pgfqpoint{3.1pt}{-0.1pt}}
\pgfusepath{stroke}
}
% Crossed lines in different directions
-\pgfdeclarepatternformonly{grid}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+\pgfdeclarepatternformonly{grid}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{
\pgfsetlinewidth{0.4pt}
- \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
- \pgfpathlineto{\pgfpoint{0pt}{3.1pt}}
- \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
- \pgfpathlineto{\pgfpoint{3.1pt}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{3.1pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfqpoint{3.1pt}{0pt}}
\pgfusepath{stroke}
}
-\pgfdeclarepatternformonly{crosshatch}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{4pt}{4pt}}{\pgfpoint{3pt}{3pt}}%
+\pgfdeclarepatternformonly{crosshatch}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{4pt}{4pt}}{\pgfqpoint{3pt}{3pt}}%
{
\pgfsetlinewidth{0.4pt}
- \pgfpathmoveto{\pgfpoint{3.1pt}{0pt}}
- \pgfpathlineto{\pgfpoint{0pt}{3.1pt}}
- \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
- \pgfpathlineto{\pgfpoint{3.1pt}{3.1pt}}
+ \pgfpathmoveto{\pgfqpoint{3.1pt}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{3.1pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
+ \pgfpathlineto{\pgfqpoint{3.1pt}{3.1pt}}
\pgfusepath{stroke}
}
% Dotted regions
-\pgfdeclarepatternformonly{dots}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{1pt}{1pt}}{\pgfpoint{3pt}{3pt}}%
+\pgfdeclarepatternformonly{dots}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{1pt}{1pt}}{\pgfqpoint{3pt}{3pt}}%
{
- \pgfpathcircle{\pgfpoint{0pt}{0pt}}{.5pt}
+ \pgfpathcircle{\pgfqpoint{0pt}{0pt}}{.5pt}
\pgfusepath{fill}
}
-\pgfdeclarepatternformonly{crosshatch dots}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{2.5pt}{2.5pt}}{\pgfpoint{3pt}{3pt}}%
+\pgfdeclarepatternformonly{crosshatch dots}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{2.5pt}{2.5pt}}{\pgfqpoint{3pt}{3pt}}%
{
- \pgfpathcircle{\pgfpoint{0pt}{0pt}}{.5pt}
- \pgfpathcircle{\pgfpoint{1.5pt}{1.5pt}}{.5pt}
+ \pgfpathcircle{\pgfqpoint{0pt}{0pt}}{.5pt}
+ \pgfpathcircle{\pgfqpoint{1.5pt}{1.5pt}}{.5pt}
\pgfusepath{fill}
}
@@ -87,28 +87,28 @@
% Star shaped patterns
-\pgfdeclarepatternformonly{fivepointed stars}{\pgfpointorigin}{\pgfpoint{3mm}{3mm}}{\pgfpoint{3mm}{3mm}}%
+\pgfdeclarepatternformonly{fivepointed stars}{\pgfpointorigin}{\pgfqpoint{3mm}{3mm}}{\pgfqpoint{3mm}{3mm}}%
{
- \pgftransformshift{\pgfpoint{1mm}{1mm}}
- \pgfpathmoveto{\pgfpointpolar{18}{1mm}}
- \pgfpathlineto{\pgfpointpolar{162}{1mm}}
- \pgfpathlineto{\pgfpointpolar{306}{1mm}}
- \pgfpathlineto{\pgfpointpolar{90}{1mm}}
- \pgfpathlineto{\pgfpointpolar{234}{1mm}}
+ \pgftransformshift{\pgfqpoint{1mm}{1mm}}
+ \pgfpathmoveto{\pgfqpointpolar{18}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{162}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{306}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{90}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{234}{1mm}}
\pgfpathclose%
\pgfusepath{fill}
}
-\pgfdeclarepatternformonly{sixpointed stars}{\pgfpointorigin}{\pgfpoint{3mm}{3mm}}{\pgfpoint{3mm}{3mm}}%
+\pgfdeclarepatternformonly{sixpointed stars}{\pgfpointorigin}{\pgfqpoint{3mm}{3mm}}{\pgfqpoint{3mm}{3mm}}%
{
- \pgftransformshift{\pgfpoint{1mm}{1mm}}
- \pgfpathmoveto{\pgfpointpolar{30}{1mm}}
- \pgfpathlineto{\pgfpointpolar{150}{1mm}}
- \pgfpathlineto{\pgfpointpolar{270}{1mm}}
+ \pgftransformshift{\pgfqpoint{1mm}{1mm}}
+ \pgfpathmoveto{\pgfqpointpolar{30}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{150}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{270}{1mm}}
\pgfpathclose%
- \pgfpathmoveto{\pgfpointpolar{-30}{1mm}}
- \pgfpathlineto{\pgfpointpolar{-270}{1mm}}
- \pgfpathlineto{\pgfpointpolar{-150}{1mm}}
+ \pgfpathmoveto{\pgfqpointpolar{-30}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{-270}{1mm}}
+ \pgfpathlineto{\pgfqpointpolar{-150}{1mm}}
\pgfpathclose%
\pgfsetnonzerorule
\pgfusepath{fill}
@@ -118,19 +118,19 @@
% Bricks
-\pgfdeclarepatternformonly{bricks}{\pgfpoint{-1pt}{-1pt}}{\pgfpoint{5mm}{5mm}}{\pgfpoint{4mm}{4mm}}%
+\pgfdeclarepatternformonly{bricks}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{5mm}{5mm}}{\pgfqpoint{4mm}{4mm}}%
{
\pgfsetlinewidth{0.8pt}
- \pgfpathmoveto{\pgfpoint{0mm}{1mm}}
- \pgfpathlineto{\pgfpoint{4mm}{1mm}}
- \pgfpathmoveto{\pgfpoint{0mm}{3mm}}
- \pgfpathlineto{\pgfpoint{4mm}{3mm}}
- \pgfpathmoveto{\pgfpoint{1mm}{0mm}}
- \pgfpathlineto{\pgfpoint{1mm}{1mm}}
- \pgfpathmoveto{\pgfpoint{3mm}{1mm}}
- \pgfpathlineto{\pgfpoint{3mm}{3mm}}
- \pgfpathmoveto{\pgfpoint{1mm}{3mm}}
- \pgfpathlineto{\pgfpoint{1mm}{4mm}}
+ \pgfpathmoveto{\pgfqpoint{0mm}{1mm}}
+ \pgfpathlineto{\pgfqpoint{4mm}{1mm}}
+ \pgfpathmoveto{\pgfqpoint{0mm}{3mm}}
+ \pgfpathlineto{\pgfqpoint{4mm}{3mm}}
+ \pgfpathmoveto{\pgfqpoint{1mm}{0mm}}
+ \pgfpathlineto{\pgfqpoint{1mm}{1mm}}
+ \pgfpathmoveto{\pgfqpoint{3mm}{1mm}}
+ \pgfpathlineto{\pgfqpoint{3mm}{3mm}}
+ \pgfpathmoveto{\pgfqpoint{1mm}{3mm}}
+ \pgfpathlineto{\pgfqpoint{1mm}{4mm}}
\pgfusepath{stroke}
}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
index 0a1572cd894..a0f504431eb 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplothandlers.code.tex,v 1.8 2006/10/16 22:32:59 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplothandlers.code.tex,v 1.9 2007/03/09 17:49:32 tantau Exp $
\newif\ifpgf@plot@started
@@ -36,22 +36,22 @@
\pgf@process{#1}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
- \pgf@plot@first@action{\pgfpoint{\pgf@xa}{\pgf@ya}}%
- \xdef\pgf@plot@curveto@first{\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}%
+ \pgf@plot@first@action{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
+ \xdef\pgf@plot@curveto@first{\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}%
\global\let\pgf@plot@curveto@first@support=\pgf@plot@curveto@first%
\global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@second%
}
\def\pgf@plot@curveto@handler@second#1{%
\pgf@process{#1}%
- \xdef\pgf@plot@curveto@second{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \xdef\pgf@plot@curveto@second{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
\global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@third%
\global\pgf@plot@startedtrue%
}
\def\pgf@plot@curveto@handler@third#1{%
\pgf@process{#1}%
- \xdef\pgf@plot@curveto@current{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \xdef\pgf@plot@curveto@current{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
% compute difference vector:
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
@@ -72,12 +72,12 @@
\advance\pgf@xc by\pgf@xa%
\advance\pgf@yc by\pgf@ya%
\edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@curveto@first@support}%
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@curveto@second}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@curveto@second}}%
{\pgf@marshal}%
% Prepare next:
\global\let\pgf@plot@curveto@first=\pgf@plot@curveto@second%
\global\let\pgf@plot@curveto@second=\pgf@plot@curveto@current%
- \xdef\pgf@plot@curveto@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ \xdef\pgf@plot@curveto@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}%
}
\def\pgf@plot@curveto@handler@finish{%
@@ -125,14 +125,14 @@
\pgf@process{#1}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
- \xdef\pgf@plot@closedcurve@initial{\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}%
+ \xdef\pgf@plot@closedcurve@initial{\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}%
\global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@second%
\global\pgf@plot@startedfalse%
}
\def\pgf@plot@closedcurve@handler@second#1{%
\pgf@process{#1}%
- \xdef\pgf@plot@closedcurve@after@initial{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \xdef\pgf@plot@closedcurve@after@initial{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
{\pgfpathmoveto{}}%
\global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@third%
}
@@ -140,7 +140,7 @@
\def\pgf@plot@closedcurve@handler@third#1{%
\global\pgf@plot@startedtrue%
\pgf@process{#1}%
- \xdef\pgf@plot@closedcurve@current{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \xdef\pgf@plot@closedcurve@current{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
% compute difference vector:
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
@@ -162,14 +162,14 @@
\advance\pgf@yc by\pgf@ya%
\global\let\pgf@plot@closedcurve@first=\pgf@plot@closedcurve@after@initial%
\global\let\pgf@plot@closedcurve@second=\pgf@plot@closedcurve@current%
- \xdef\pgf@plot@closedcurve@after@initial@presupport{\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}%
- \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ \xdef\pgf@plot@closedcurve@after@initial@presupport{\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}%
+ \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}%
\global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@fourth%
}
\def\pgf@plot@closedcurve@handler@fourth#1{%
\pgf@process{#1}%
- \xdef\pgf@plot@closedcurve@current{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}%
+ \xdef\pgf@plot@closedcurve@current{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}%
% compute difference vector:
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
@@ -190,12 +190,12 @@
\advance\pgf@xc by\pgf@xa%
\advance\pgf@yc by\pgf@ya%
\edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}%
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}%
{\pgf@marshal}%
% Prepare next:
\global\let\pgf@plot@closedcurve@first=\pgf@plot@closedcurve@second%
\global\let\pgf@plot@closedcurve@second=\pgf@plot@closedcurve@current%
- \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}%
}
\def\pgf@plot@closedcurve@handler@finish{%
@@ -224,9 +224,9 @@
\advance\pgf@xc by\pgf@xa%
\advance\pgf@yc by\pgf@ya%
\edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}%
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}%
{\pgf@marshal}%
- \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}%
%
% second, draw line from last point to start:
%
@@ -251,12 +251,12 @@
\advance\pgf@xc by\pgf@xa%
\advance\pgf@yc by\pgf@ya%
\edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}%
- {\noexpand\pgfpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@initial}}%
+ {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@initial}}%
{\pgf@marshal}%
%
% third, draw line from first to second point:
%
- \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgfpoint{\the\pgf@xc}{\the\pgf@yc}}%
+ \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}%
{\noexpand\pgf@plot@closedcurve@after@initial@presupport}{\noexpand\pgf@plot@closedcurve@after@initial}}%
{\pgf@marshal}%
\pgfpathclose%
@@ -288,8 +288,8 @@
\pgf@process{#1}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgf@ya}}%
- \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgf@ya}}%
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
}
@@ -314,8 +314,8 @@
\pgf@process{#1}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
- \pgfpathmoveto{\pgfpoint{\pgf@xa}{0pt}}%
- \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
}
@@ -344,7 +344,7 @@
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
\pgfpathmoveto{\pgfpointorigin}%
- \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@ya}}%
+ \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
}
@@ -461,7 +461,7 @@
%
% \pgfsetplotmarksize{1pt}
-\def\pgfsetplotmarksize#1{\setlength\pgfplotmarksize{#1}}
+\def\pgfsetplotmarksize#1{\pgfmathsetlength\pgfplotmarksize{#1}}
\newdimen\pgfplotmarksize
\pgfplotmarksize=2pt
@@ -491,10 +491,10 @@
\pgfdeclareplotmark{+}
{%
- \pgfpathmoveto{\pgfpoint{-\pgfplotmarksize}{0pt}}
- \pgfpathlineto{\pgfpoint{\pgfplotmarksize}{0pt}}
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
\pgfusepathqstroke
}
@@ -503,10 +503,10 @@
\pgfdeclareplotmark{x}
{%
- \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
\pgfusepathqstroke
}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
index a821e6f65cf..e20805d50a1 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplotmarks.code.tex,v 1.4 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryplotmarks.code.tex,v 1.5 2007/03/09 17:49:32 tantau Exp $
% A stroked circle mark
@@ -24,12 +24,12 @@
\pgfdeclareplotmark{asterisk}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpointpolar{30}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{210}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpointpolar{-30}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-210}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpointpolar{30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{210}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpointpolar{-30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-210}{\pgfplotmarksize}}
\pgfusepathqstroke
}
@@ -38,11 +38,11 @@
\pgfdeclareplotmark{star}
{%
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{18}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{-54}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{234}{\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpointpolar{162}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfqpointpolar{18}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfqpointpolar{-54}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfqpointpolar{234}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfqpointpolar{162}{\pgfplotmarksize}}
\pgfusepathqstroke
}
@@ -52,20 +52,20 @@
\pgfdeclareplotmark{oplus}
{%
\pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
- \pgfpathmoveto{\pgfpoint{-\pgfplotmarksize}{0pt}}
- \pgfpathlineto{\pgfpoint{\pgfplotmarksize}{0pt}}
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
\pgfusepathqstroke
}
\pgfdeclareplotmark{oplus*}
{%
\pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
- \pgfpathmoveto{\pgfpoint{-\pgfplotmarksize}{0pt}}
- \pgfpathlineto{\pgfpoint{\pgfplotmarksize}{0pt}}
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
\pgfusepathqfillstroke
}
@@ -75,20 +75,20 @@
\pgfdeclareplotmark{otimes}
{%
\pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
- \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
\pgfusepathqstroke
}
\pgfdeclareplotmark{otimes*}
{%
\pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize}
- \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
- \pgfpathmoveto{\pgfpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}}
\pgfusepathqfillstroke
}
@@ -97,8 +97,8 @@
\pgfdeclareplotmark{|}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
\pgfusepathqstroke
}
@@ -108,8 +108,8 @@
\pgfdeclareplotmark{-}
{%
- \pgfpathmoveto{\pgfpoint{\pgfplotmarksize}{0pt}}
- \pgfpathlineto{\pgfpoint{-\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-\pgfplotmarksize}{0pt}}
\pgfusepathqstroke
}
@@ -118,7 +118,7 @@
\pgfdeclareplotmark{square}
{%
- \pgfpathrectangle{\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}{\pgfpoint{2\pgfplotmarksize}{2\pgfplotmarksize}}%
+ \pgfpathrectangle{\pgfqpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}{\pgfqpoint{2\pgfplotmarksize}{2\pgfplotmarksize}}%
\pgfusepathqstroke
}
@@ -126,7 +126,7 @@
\pgfdeclareplotmark{square*}
{%
- \pgfpathrectangle{\pgfpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}{\pgfpoint{2\pgfplotmarksize}{2\pgfplotmarksize}}%
+ \pgfpathrectangle{\pgfqpoint{-\pgfplotmarksize}{-\pgfplotmarksize}}{\pgfqpoint{2\pgfplotmarksize}{2\pgfplotmarksize}}%
\pgfusepathqfillstroke
}
@@ -135,9 +135,9 @@
\pgfdeclareplotmark{triangle}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-30}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-150}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-150}{\pgfplotmarksize}}
\pgfpathclose
\pgfusepathqstroke
}
@@ -147,9 +147,9 @@
\pgfdeclareplotmark{triangle*}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-30}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-150}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-30}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-150}{\pgfplotmarksize}}
\pgfpathclose
\pgfusepathqfillstroke
}
@@ -160,10 +160,10 @@
\pgfdeclareplotmark{diamond}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.75\pgfplotmarksize}{0pt}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{-.75\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.75\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-.75\pgfplotmarksize}{0pt}}
\pgfpathclose
\pgfusepathqstroke
}
@@ -173,10 +173,10 @@
\pgfdeclareplotmark{diamond*}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{.75\pgfplotmarksize}{0pt}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfplotmarksize}}
- \pgfpathlineto{\pgfpoint{-.75\pgfplotmarksize}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{.75\pgfplotmarksize}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpoint{-.75\pgfplotmarksize}{0pt}}
\pgfpathclose
\pgfusepathqfillstroke
}
@@ -187,11 +187,11 @@
\pgfdeclareplotmark{pentagon}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{18}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-54}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{234}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{162}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{18}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-54}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{234}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{162}{\pgfplotmarksize}}
\pgfpathclose
\pgfusepathqstroke
}
@@ -200,11 +200,11 @@
\pgfdeclareplotmark{pentagon*}
{%
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{18}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{-54}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{234}{\pgfplotmarksize}}
- \pgfpathlineto{\pgfpointpolar{162}{\pgfplotmarksize}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{18}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{-54}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{234}{\pgfplotmarksize}}
+ \pgfpathlineto{\pgfqpointpolar{162}{\pgfplotmarksize}}
\pgfpathclose
\pgfusepathqfillstroke
}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.arrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.arrows.code.tex
new file mode 100644
index 00000000000..2f81d04742f
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.arrows.code.tex
@@ -0,0 +1,12 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.arrows.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
index a6965b60e3b..fecbb7df710 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.code.tex
@@ -7,573 +7,12 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.code.tex,v 1.9 2006/10/11 15:22:26 tantau Exp $
-
-\pgfdeclareshape{ellipse}
-%
-% Draws a circle around the text
-%
-{
- \savedanchor\centerpoint{%
- \pgf@x=.5\wd\pgfnodeparttextbox%
- \pgf@y=.5\ht\pgfnodeparttextbox%
- \advance\pgf@y by-.5\dp\pgfnodeparttextbox%
- }
- \savedanchor\radius{%
- %
- % Caculate ``height radius''
- %
- \pgf@y=.5\ht\pgfnodeparttextbox%
- \advance\pgf@y by.5\dp\pgfnodeparttextbox%
- \setlength\pgf@yb{\pgfshapeinnerysep}%
- \advance\pgf@y by\pgf@yb%
- %
- % Caculate ``width radius''
- %
- \pgf@x=.5\wd\pgfnodeparttextbox%
- \setlength\pgf@xb{\pgfshapeinnerxsep}%
- \advance\pgf@x by\pgf@xb%
- %
- % Adjust
- %
- \pgf@x=1.4142136\pgf@x%
- \pgf@y=1.4142136\pgf@y%
- %
- % Adjust hieght, if necessary
- %
- \setlength\pgf@yc{\pgfshapeminheight}%
- \ifdim\pgf@y<.5\pgf@yc%
- \pgf@y=.5\pgf@yc%
- \fi%
- %
- % Adjust width, if necessary
- %
- \setlength\pgf@xc{\pgfshapeminwidth}%
- \ifdim\pgf@x<.5\pgf@xc%
- \pgf@x=.5\pgf@xc%
- \fi%
- %
- % Add outer sep
- %
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \advance\pgf@x by\pgf@xb%
- \advance\pgf@y by\pgf@yb%
- }
-
- %
- % Anchors
- %
- \anchor{center}{\centerpoint}
- \anchor{mid}{\centerpoint\setlength\pgf@y{.5ex}}
- \anchor{base}{\centerpoint\pgf@y=0pt}
- \anchor{north}
- {
- \pgf@process{\radius}
- \pgf@ya=\pgf@y%
- \pgf@process{\centerpoint}
- \advance\pgf@y by\pgf@ya
- }
- \anchor{south}
- {
- \pgf@process{\radius}
- \pgf@ya=\pgf@y%
- \pgf@process{\centerpoint}
- \advance\pgf@y by-\pgf@ya
- }
- \anchor{west}
- {
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@process{\centerpoint}
- \advance\pgf@x by-\pgf@xa
- }
- \anchor{mid west}
- {%
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@process{\centerpoint}
- \advance\pgf@x by-\pgf@xa%
- \setlength\pgf@y{.5ex}
- }
- \anchor{base west}
- {%
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@process{\centerpoint}
- \advance\pgf@x by-\pgf@xa%
- \pgf@y=0pt
- }
- \anchor{north west}
- {
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgf@process{\centerpoint}
- \advance\pgf@x by-0.707107\pgf@xa
- \advance\pgf@y by0.707107\pgf@ya
- }
- \anchor{south west}
- {
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgf@process{\centerpoint}
- \advance\pgf@x by-0.707107\pgf@xa
- \advance\pgf@y by-0.707107\pgf@ya
- }
- \anchor{east}
- {%
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@process{\centerpoint}
- \advance\pgf@x by\pgf@xa
- }
- \anchor{mid east}
- {%
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@process{\centerpoint}
- \advance\pgf@x by\pgf@xa%
- \setlength\pgf@y{.5ex}
- }
- \anchor{base east}
- {%
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@process{\centerpoint}
- \advance\pgf@x by\pgf@xa%
- \pgf@y=0pt
- }
- \anchor{north east}
- {
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgf@process{\centerpoint}
- \advance\pgf@x by0.707107\pgf@xa
- \advance\pgf@y by0.707107\pgf@ya
- }
- \anchor{south east}
- {
- \pgf@process{\radius}
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgf@process{\centerpoint}
- \advance\pgf@x by0.707107\pgf@xa
- \advance\pgf@y by-0.707107\pgf@ya
- }
- \anchorborder{
- \edef\pgf@marshal{%
- \noexpand\pgfpointborderellipse
- {\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}
- {\noexpand\radius}%
- }%
- \pgf@marshal%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \centerpoint%
- \advance\pgf@x by\pgf@xa%
- \advance\pgf@y by\pgf@ya%
- }
-
- %
- % Background path
- %
- \backgroundpath
- {
- \pgf@process{\radius}%
- \@tempdima=\pgf@x%
- \@tempdimb=\pgf@y%
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \advance\@tempdima by-\pgf@xb%
- \advance\@tempdimb by-\pgf@yb%
- \pgfpathellipse{\centerpoint}{\pgfpoint{\@tempdima}{0pt}}{\pgfpoint{0pt}{\@tempdimb}}%
- }
-}
-
-
-
-
-% Set the recommended shape aspect ratio
-%
-% #1 = aspect ratio
-%
-% Example:
-%
-% \pgfsetshapeminwidth{1.5}
-
-\def\pgfsetshapeaspect#1{%
- \def\pgfshapeaspect{#1}%
- % Invert
- \@tempdima=#1pt%
- \@tempdima=.125\@tempdima%
- \c@pgf@counta=\@tempdima\relax% 8192*determinant
- \@tempdima=8192pt%
- \divide\@tempdima by\c@pgf@counta%
- \edef\pgfshapeaspectinverse{\pgf@sys@tonumber{\@tempdima}}
-}
-\pgfsetshapeaspect{1}
-
-
-
-\pgfdeclareshape{diamond}
-{
- \savedanchor\outernortheast{%
- %
- % Calculate width and height of the inner rectangle
- %
- \pgf@xa=.5\wd\pgfnodeparttextbox%
- \setlength\pgf@xc{\pgfshapeinnerxsep}%
- \advance\pgf@xa by\pgf@xc%
- \pgf@ya=.5\ht\pgfnodeparttextbox%
- \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
- \setlength\pgf@yc{\pgfshapeinnerysep}%
- \advance\pgf@ya by\pgf@yc%
- %
- % Calculate width and height of diamond
- %
- \pgf@x=\pgf@xa%
- \advance\pgf@x by\pgfshapeaspect\pgf@ya%
- \pgf@y=\pgfshapeaspectinverse\pgf@xa%
- \advance\pgf@y by\pgf@ya%
- %
- % Check against minimum height/width
- %
- \setlength\pgf@xb{\pgfshapeminwidth}%
- \ifdim\pgf@x<\pgf@xb%
- % yes, too small. Enlarge...
- \pgf@x=\pgf@xb%
- \fi%
- \setlength\pgf@yb{\pgfshapeminheight}%
- \ifdim\pgf@y<\pgf@yb%
- % yes, too small. Enlarge...
- \pgf@y=\pgf@yb%
- \fi%
- %
- % Add outer border
- %
- \setlength\pgf@xa{\pgfshapeouterxsep}%
- \advance\pgf@x by\pgf@xa%
- \setlength\pgf@ya{\pgfshapeouterysep}%
- \advance\pgf@y by\pgf@ya%
- }
- \savedanchor\text{%
- \pgf@x=-.5\wd\pgfnodeparttextbox%
- \pgf@y=-.5\ht\pgfnodeparttextbox%
- \advance\pgf@y by.5\dp\pgfnodeparttextbox%
- }
-
- %
- % Anchors
- %
- \anchor{text}{\text}%
- \anchor{center}{\pgfpointorigin}%
- \anchor{mid}{%
- \pgf@process{\text}%
- \pgf@x=0pt%
- \setlength\pgf@ya{.5ex}
- \advance\pgf@y by\pgf@ya%
- }
- \anchor{base}{\pgf@process{\text}\pgf@x=0pt }
- \anchor{north}{\pgf@process{\outernortheast}\pgf@x=0pt}
- \anchor{south}{\pgf@process{\outernortheast}\pgf@x=0pt\pgf@y=-\pgf@y}
- \anchor{west}{\pgf@process{\outernortheast}\pgf@x=-\pgf@x\pgf@y=0pt}
- \anchor{north west}{\pgf@process{\outernortheast}\pgf@x=-.5\pgf@x\pgf@y=.5\pgf@y}
- \anchor{south west}{\pgf@process{\outernortheast}\pgf@x=-.5\pgf@x\pgf@y=-.5\pgf@y}
- \anchor{east}{\pgf@process{\outernortheast}\pgf@y=0pt}
- \anchor{north east}{\pgf@process{\outernortheast}\pgf@x=.5\pgf@x\pgf@y=.5\pgf@y}
- \anchor{south east}{\pgf@process{\outernortheast}\pgf@x=.5\pgf@x\pgf@y=-.5\pgf@y}
- \anchorborder{%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \pgf@process{\outernortheast}%
- \ifdim\pgf@xa>0pt%
- \else%
- \pgf@x=-\pgf@x%
- \fi%
- \ifdim\pgf@ya>0pt%
- \else%
- \pgf@y=-\pgf@y%
- \fi%
- \edef\pgf@marshal{%
- \noexpand\pgfpointintersectionoflines
- {\noexpand\pgfpointorigin}
- {\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}
- {\noexpand\pgfpoint{\the\pgf@x}{0pt}}
- {\noexpand\pgfpoint{0pt}{\the\pgf@y}}%
- }%
- \pgf@process{\pgf@marshal}%
- }
-
- %
- % Background path
- %
- \backgroundpath{
- \pgf@process{\outernortheast}%
- \pgf@xc=\pgf@x%
- \pgf@yc=\pgf@y%
- \setlength{\pgf@xa}{\pgfshapeouterxsep}%
- \setlength{\pgf@ya}{\pgfshapeouterysep}%
- \advance\pgf@xc by-1.414213\pgf@xa%
- \advance\pgf@yc by-1.414213\pgf@ya%
- \pgfpathmoveto{\pgfpoint{\pgf@xc}{0pt}}%
- \pgfpathlineto{\pgfpoint{0pt}{\pgf@yc}}%
- \pgfpathlineto{\pgfpoint{-\pgf@xc}{0pt}}%
- \pgfpathlineto{\pgfpoint{0pt}{-\pgf@yc}}%
- \pgfpathclose%
- }
-}
-
-
-
-\newbox\pgfnodepartlowerbox
-
-%
-% A circle that is split in the middle into an upper and a lower part.
-%
-% This node consists of two parts: The upper (main) part is shown in
-% the upper half of the circle. The second part is the (optional)
-% lower part.
-%
-% Parts: text, lower
-
-\pgfdeclareshape{circle split}
-{
- %
- % Node parts
- %
- \nodeparts{text,lower}
-
- %
- % Anchors
- %
- \savedanchor\centerpoint{%
- \pgf@x=.5\wd\pgfnodeparttextbox%
- \setlength{\pgf@y}{\pgfshapeinnerysep}%
- \pgf@y=-\pgf@y%
- \advance\pgf@y by-\dp\pgfnodeparttextbox%
- \advance\pgf@y by-.5\pgflinewidth%
- }%
- \savedanchor\loweranchor{%
- \pgf@x=-.5\wd\pgfnodepartlowerbox%
- \advance\pgf@x by.5\wd\pgfnodeparttextbox%
- \setlength{\pgf@y}{\pgfshapeinnerysep}%
- \pgf@y=-2\pgf@y%
- \advance\pgf@y by-\ht\pgfnodepartlowerbox%
- \advance\pgf@y by-.5\pgflinewidth%
- \advance\pgf@y by-\dp\pgfnodeparttextbox%
- \advance\pgf@y by-.5\pgflinewidth%
- }
-
- \saveddimen\radius{%
- %
- % Caculate ``height radius''
- %
- \pgf@ya=.5\ht\pgfnodeparttextbox%
- \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
- \advance\pgf@ya by.5\ht\pgfnodepartlowerbox%
- \advance\pgf@ya by.5\dp\pgfnodepartlowerbox%
- \advance\pgf@ya by.5\pgflinewidth%
- \setlength\pgf@yb{\pgfshapeinnerysep}%
- \advance\pgf@ya by2\pgf@yb%
- %
- % Caculate ``width radius''
- %
- \pgf@xa=.5\wd\pgfnodeparttextbox%
- \ifdim\pgf@xa<.5\wd\pgfnodepartlowerbox%
- \pgf@xa=.5\wd\pgfnodepartlowerbox%
- \fi%
- \setlength\pgf@xb{\pgfshapeinnerxsep}%
- \advance\pgf@xa by\pgf@xb%
- %
- % Calculate length of radius vector:
- %
- \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
- \ifdim\pgf@x>\pgf@y%
- \c@pgf@counta=\pgf@x%
- \ifnum\c@pgf@counta=0\relax%
- \else%
- \divide\c@pgf@counta by 255\relax%
- \pgf@xa=16\pgf@xa\relax%
- \divide\pgf@xa by\c@pgf@counta%
- \pgf@xa=16\pgf@xa\relax%
- \fi%
- \else%
- \c@pgf@counta=\pgf@y%
- \ifnum\c@pgf@counta=0\relax%
- \else%
- \divide\c@pgf@counta by 255\relax%
- \pgf@ya=16\pgf@ya\relax%
- \divide\pgf@ya by\c@pgf@counta%
- \pgf@xa=16\pgf@ya\relax%
- \fi%
- \fi%
- \pgf@x=\pgf@xa%
- %
- % If necessary, adjust radius so that the size requirements are
- % met:
- %
- \setlength{\pgf@xb}{\pgfshapeminwidth}%
- \setlength{\pgf@yb}{\pgfshapeminheight}%
- \ifdim\pgf@x<.5\pgf@xb%
- \pgf@x=.5\pgf@xb%
- \fi%
- \ifdim\pgf@x<.5\pgf@yb%
- \pgf@x=.5\pgf@yb%
- \fi%
- %
- % Now, add larger of outer sepearations.
- %
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \ifdim\pgf@xb<\pgf@yb%
- \advance\pgf@x by\pgf@yb%
- \else%
- \advance\pgf@x by\pgf@xb%
- \fi%
- }
-
- %
- % Anchors
- %
- \inheritanchorborder[from=circle]
- \inheritanchor[from=circle]{north}
- \inheritanchor[from=circle]{north west}
- \inheritanchor[from=circle]{north east}
- \inheritanchor[from=circle]{center}
- \inheritanchor[from=circle]{west}
- \inheritanchor[from=circle]{east}
- \inheritanchor[from=circle]{mid}
- \inheritanchor[from=circle]{mid west}
- \inheritanchor[from=circle]{mid east}
- \inheritanchor[from=circle]{base}
- \inheritanchor[from=circle]{base west}
- \inheritanchor[from=circle]{base east}
- \inheritanchor[from=circle]{south}
- \inheritanchor[from=circle]{south west}
- \inheritanchor[from=circle]{south east}
- \anchor{lower}{\loweranchor}
-
- %
- % Background path
- %
- \inheritbackgroundpath[from=circle]
- \beforebackgroundpath{
- \@tempdima=\radius%
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \ifdim\pgf@xb<\pgf@yb%
- \advance\@tempdima by-\pgf@yb%
- \else%
- \advance\@tempdima by-\pgf@xb%
- \fi%
- \advance\@tempdima by-.5\pgflinewidth%
- \pgfsetshortenstart{0pt}%
- \pgfsetshortenend{0pt}%
- \pgfsetarrows{-}%
- \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfpoint{-\@tempdima}{0pt}}}%
- \pgfpathlineto{\pgfpointadd{\centerpoint}{\pgfpoint{\@tempdima}{0pt}}}%
- \pgfusepath{stroke}%
- }
-}
-
-
-
-\pgfdeclareshape{cross out}
-{
- \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
- \inheritanchorborder[from=rectangle]
- \inheritanchor[from=rectangle]{north}
- \inheritanchor[from=rectangle]{north west}
- \inheritanchor[from=rectangle]{north east}
- \inheritanchor[from=rectangle]{center}
- \inheritanchor[from=rectangle]{west}
- \inheritanchor[from=rectangle]{east}
- \inheritanchor[from=rectangle]{mid}
- \inheritanchor[from=rectangle]{mid west}
- \inheritanchor[from=rectangle]{mid east}
- \inheritanchor[from=rectangle]{base}
- \inheritanchor[from=rectangle]{base west}
- \inheritanchor[from=rectangle]{base east}
- \inheritanchor[from=rectangle]{south}
- \inheritanchor[from=rectangle]{south west}
- \inheritanchor[from=rectangle]{south east}
- \foregroundpath{
- % store lower right in xa/ya and upper right in xb/yb
- \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
- \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
- \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
- \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
- \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@yb}}
- \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
- }
-}
-
-
-\pgfdeclareshape{strike out}
-{
- \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
- \inheritanchorborder[from=rectangle]
- \inheritanchor[from=rectangle]{north}
- \inheritanchor[from=rectangle]{north west}
- \inheritanchor[from=rectangle]{north east}
- \inheritanchor[from=rectangle]{center}
- \inheritanchor[from=rectangle]{west}
- \inheritanchor[from=rectangle]{east}
- \inheritanchor[from=rectangle]{mid}
- \inheritanchor[from=rectangle]{mid west}
- \inheritanchor[from=rectangle]{mid east}
- \inheritanchor[from=rectangle]{base}
- \inheritanchor[from=rectangle]{base west}
- \inheritanchor[from=rectangle]{base east}
- \inheritanchor[from=rectangle]{south}
- \inheritanchor[from=rectangle]{south west}
- \inheritanchor[from=rectangle]{south east}
- \foregroundpath{
- \pgfpathmoveto{\southwest}
- \pgfpathlineto{\northeast}
- }
-}
-
-
-\pgfdeclareshape{forbidden sign}
-{
- \inheritsavedanchors[from=circle] % this is nearly a circle
- \inheritanchorborder[from=circle]
- \inheritanchor[from=circle]{north}
- \inheritanchor[from=circle]{north west}
- \inheritanchor[from=circle]{north east}
- \inheritanchor[from=circle]{center}
- \inheritanchor[from=circle]{west}
- \inheritanchor[from=circle]{east}
- \inheritanchor[from=circle]{mid}
- \inheritanchor[from=circle]{mid west}
- \inheritanchor[from=circle]{mid east}
- \inheritanchor[from=circle]{base}
- \inheritanchor[from=circle]{base west}
- \inheritanchor[from=circle]{base east}
- \inheritanchor[from=circle]{south}
- \inheritanchor[from=circle]{south west}
- \inheritanchor[from=circle]{south east}
- \inheritbackgroundpath[from=circle]
- \foregroundpath{
- \centerpoint%
- \pgf@xc=\pgf@x%
- \pgf@yc=\pgf@y%
- \@tempdima=\radius%
- \setlength{\pgf@xb}{\pgfshapeouterxsep}%
- \setlength{\pgf@yb}{\pgfshapeouterysep}%
- \ifdim\pgf@xb<\pgf@yb%
- \advance\@tempdima by-\pgf@yb%
- \else%
- \advance\@tempdima by-\pgf@xb%
- \fi%
- \pgfpathmoveto{\pgfpointadd{\pgfpoint{\pgf@xc}{\pgf@yc}}{\pgfpoint{-0.707107\@tempdima}{-0.707107\@tempdima}}}
- \pgfpathlineto{\pgfpointadd{\pgfpoint{\pgf@xc}{\pgf@yc}}{\pgfpoint{0.707107\@tempdima}{0.707107\@tempdima}}}
- }
-}
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.code.tex,v 1.12 2007/06/08 11:24:59 tantau Exp $
+\usepgflibrary{shapes.geometric}
+\usepgflibrary{shapes.misc}
+\usepgflibrary{shapes.symbols}
+\usepgflibrary{shapes.arrows}
+\usepgflibrary{shapes.multipart}
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.geometric.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.geometric.code.tex
new file mode 100644
index 00000000000..802c85a41b9
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.geometric.code.tex
@@ -0,0 +1,1229 @@
+% Copyright 2006 by Till Tantau and Mark Wibrow
+%
+% 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[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.geometric.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\pgfdeclareshape{ellipse}
+%
+% Draws a circle around the text
+%
+{
+ \savedanchor\centerpoint{%
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \pgf@y=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\dp\pgfnodeparttextbox%
+ }
+ \savedanchor\radius{%
+ %
+ % Caculate ``height radius''
+ %
+ \pgf@y=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y by.5\dp\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf@yb{\pgfshapeinnerysep}%
+ \advance\pgf@y by\pgf@yb%
+ %
+ % Caculate ``width radius''
+ %
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf@xb{\pgfshapeinnerxsep}%
+ \advance\pgf@x by\pgf@xb%
+ %
+ % Adjust
+ %
+ \pgf@x=1.4142136\pgf@x%
+ \pgf@y=1.4142136\pgf@y%
+ %
+ % Adjust hieght, if necessary
+ %
+ \pgfmathsetlength\pgf@yc{\pgfshapeminheight}%
+ \ifdim\pgf@y<.5\pgf@yc%
+ \pgf@y=.5\pgf@yc%
+ \fi%
+ %
+ % Adjust width, if necessary
+ %
+ \pgfmathsetlength\pgf@xc{\pgfshapeminwidth}%
+ \ifdim\pgf@x<.5\pgf@xc%
+ \pgf@x=.5\pgf@xc%
+ \fi%
+ %
+ % Add outer sep
+ %
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
+ \advance\pgf@x by\pgf@xb%
+ \advance\pgf@y by\pgf@yb%
+ }
+
+ %
+ % Anchors
+ %
+ \anchor{center}{\centerpoint}
+ \anchor{mid}{\centerpoint\pgfmathsetlength\pgf@y{.5ex}}
+ \anchor{base}{\centerpoint\pgf@y=0pt}
+ \anchor{north}
+ {
+ \pgf@process{\radius}
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@y by\pgf@ya
+ }
+ \anchor{south}
+ {
+ \pgf@process{\radius}
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@y by-\pgf@ya
+ }
+ \anchor{west}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-\pgf@xa
+ }
+ \anchor{mid west}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-\pgf@xa%
+ \pgfmathsetlength\pgf@y{.5ex}
+ }
+ \anchor{base west}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-\pgf@xa%
+ \pgf@y=0pt
+ }
+ \anchor{north west}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-0.707107\pgf@xa
+ \advance\pgf@y by0.707107\pgf@ya
+ }
+ \anchor{south west}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by-0.707107\pgf@xa
+ \advance\pgf@y by-0.707107\pgf@ya
+ }
+ \anchor{east}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by\pgf@xa
+ }
+ \anchor{mid east}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by\pgf@xa%
+ \pgfmathsetlength\pgf@y{.5ex}
+ }
+ \anchor{base east}
+ {%
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by\pgf@xa%
+ \pgf@y=0pt
+ }
+ \anchor{north east}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by0.707107\pgf@xa
+ \advance\pgf@y by0.707107\pgf@ya
+ }
+ \anchor{south east}
+ {
+ \pgf@process{\radius}
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\centerpoint}
+ \advance\pgf@x by0.707107\pgf@xa
+ \advance\pgf@y by-0.707107\pgf@ya
+ }
+ \anchorborder{
+ \edef\pgf@marshal{%
+ \noexpand\pgfpointborderellipse
+ {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}
+ {\noexpand\radius}%
+ }%
+ \pgf@marshal%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \centerpoint%
+ \advance\pgf@x by\pgf@xa%
+ \advance\pgf@y by\pgf@ya%
+ }
+
+ %
+ % Background path
+ %
+ \backgroundpath
+ {
+ \pgf@process{\radius}%
+ \pgfutil@tempdima=\pgf@x%
+ \pgfutil@tempdimb=\pgf@y%
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
+ \advance\pgfutil@tempdima by-\pgf@xb%
+ \advance\pgfutil@tempdimb by-\pgf@yb%
+ \pgfpathellipse{\centerpoint}{\pgfqpoint{\pgfutil@tempdima}{0pt}}{\pgfqpoint{0pt}{\pgfutil@tempdimb}}%
+ }
+}
+
+
+
+
+% Set the recommended shape aspect ratio
+%
+% #1 = aspect ratio
+%
+% Example:
+%
+% \pgfsetshapeminwidth{1.5}
+
+\def\pgfsetshapeaspect#1{%
+ \def\pgfshapeaspect{#1}%
+ % Invert
+ \pgfutil@tempdima=#1pt%
+ \pgfutil@tempdima=.125\pgfutil@tempdima%
+ \c@pgf@counta=\pgfutil@tempdima\relax% 8192*determinant
+ \pgfutil@tempdima=8192pt%
+ \divide\pgfutil@tempdima by\c@pgf@counta%
+ \edef\pgfshapeaspectinverse{\pgf@sys@tonumber{\pgfutil@tempdima}}
+}
+\pgfsetshapeaspect{1}
+
+
+
+\pgfdeclareshape{diamond}
+{
+ \savedanchor\outernortheast{%
+ %
+ % Calculate width and height of the inner rectangle
+ %
+ \pgf@xa=.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf@xc{\pgfshapeinnerxsep}%
+ \advance\pgf@xa by\pgf@xc%
+ \pgf@ya=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf@yc{\pgfshapeinnerysep}%
+ \advance\pgf@ya by\pgf@yc%
+ %
+ % Calculate width and height of diamond
+ %
+ \pgf@x=\pgf@xa%
+ \advance\pgf@x by\pgfshapeaspect\pgf@ya%
+ \pgf@y=\pgfshapeaspectinverse\pgf@xa%
+ \advance\pgf@y by\pgf@ya%
+ %
+ % Check against minimum height/width
+ %
+ \pgfmathsetlength\pgf@xb{\pgfshapeminwidth}%
+ \ifdim\pgf@x<\pgf@xb%
+ % yes, too small. Enlarge...
+ \pgf@x=\pgf@xb%
+ \fi%
+ \pgfmathsetlength\pgf@yb{\pgfshapeminheight}%
+ \ifdim\pgf@y<\pgf@yb%
+ % yes, too small. Enlarge...
+ \pgf@y=\pgf@yb%
+ \fi%
+ %
+ % Add outer border
+ %
+ \pgfmathsetlength\pgf@xa{\pgfshapeouterxsep}%
+ \advance\pgf@x by\pgf@xa%
+ \pgfmathsetlength\pgf@ya{\pgfshapeouterysep}%
+ \advance\pgf@y by\pgf@ya%
+ }
+ \savedanchor\text{%
+ \pgf@x=-.5\wd\pgfnodeparttextbox%
+ \pgf@y=-.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y by.5\dp\pgfnodeparttextbox%
+ }
+
+ %
+ % Anchors
+ %
+ \anchor{text}{\text}%
+ \anchor{center}{\pgfpointorigin}%
+ \anchor{mid}{%
+ \pgf@process{\text}%
+ \pgf@x=0pt%
+ \pgfmathsetlength\pgf@ya{.5ex}
+ \advance\pgf@y by\pgf@ya%
+ }
+ \anchor{base}{\pgf@process{\text}\pgf@x=0pt }
+ \anchor{north}{\pgf@process{\outernortheast}\pgf@x=0pt}
+ \anchor{south}{\pgf@process{\outernortheast}\pgf@x=0pt\pgf@y=-\pgf@y}
+ \anchor{west}{\pgf@process{\outernortheast}\pgf@x=-\pgf@x\pgf@y=0pt}
+ \anchor{north west}{\pgf@process{\outernortheast}\pgf@x=-.5\pgf@x\pgf@y=.5\pgf@y}
+ \anchor{south west}{\pgf@process{\outernortheast}\pgf@x=-.5\pgf@x\pgf@y=-.5\pgf@y}
+ \anchor{east}{\pgf@process{\outernortheast}\pgf@y=0pt}
+ \anchor{north east}{\pgf@process{\outernortheast}\pgf@x=.5\pgf@x\pgf@y=.5\pgf@y}
+ \anchor{south east}{\pgf@process{\outernortheast}\pgf@x=.5\pgf@x\pgf@y=-.5\pgf@y}
+ \anchorborder{%
+ \pgf@xa=\pgf@x%
+ \pgf@ya=\pgf@y%
+ \pgf@process{\outernortheast}%
+ \ifdim\pgf@xa>0pt%
+ \else%
+ \pgf@x=-\pgf@x%
+ \fi%
+ \ifdim\pgf@ya>0pt%
+ \else%
+ \pgf@y=-\pgf@y%
+ \fi%
+ \edef\pgf@marshal{%
+ \noexpand\pgfpointintersectionoflines
+ {\noexpand\pgfpointorigin}
+ {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}
+ {\noexpand\pgfqpoint{\the\pgf@x}{0pt}}
+ {\noexpand\pgfqpoint{0pt}{\the\pgf@y}}%
+ }%
+ \pgf@process{\pgf@marshal}%
+ }
+
+ %
+ % Background path
+ %
+ \backgroundpath{
+ \pgf@process{\outernortheast}%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgfmathsetlength{\pgf@xa}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@ya}{\pgfshapeouterysep}%
+ \advance\pgf@xc by-1.414213\pgf@xa%
+ \advance\pgf@yc by-1.414213\pgf@ya%
+ \pgfpathmoveto{\pgfqpoint{\pgf@xc}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{0pt}{\pgf@yc}}%
+ \pgfpathlineto{\pgfqpoint{-\pgf@xc}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgf@yc}}%
+ \pgfpathclose%
+ }
+}
+
+
+
+
+% \pgfsetstarpoints
+%
+% Set the number of points on a star.
+%
+\def\pgfsetstarpoints#1{%
+ \pgfmathsetcounter{pgf@counta}{#1}%
+ \edef\pgfstarpoints{\the\c@pgfmath@counta}}
+\pgfsetstarpoints{5}
+
+% \pgfsetstarpointheight
+%
+% Set the height of the points (this is the
+% distance between the outer and inner point
+% radii).
+%
+\def\pgfsetstarpointheight#1{%
+ \pgfmathparse{#1}%
+ \edef\pgfstarpointheight{\pgfmathresult pt}}
+\pgfsetstarpointheight{12pt}
+
+% \pgfsetstarpointratio
+%
+% Set the ratio between the outer and
+% inner point radii.
+%
+\def\pgfsetstarpointratio#1{%
+ \pgfmathparse{#1}%
+ \edef\pgfstarpointratio{\pgfmathresult}%
+ \def\pgfstarpointheight{-16383pt}% If negative, the ratio is used.
+}
+\pgfsetstarpointratio{1.75}
+
+% \pgfsetstarrrotate
+%
+% Set the angle of rotation of the star
+% border. This can be decimal.
+%
+\def\pgfsetstarrotate#1{%
+ \pgfmathparse{#1}%
+ \edef\pgfstarrotate{\pgfmathresult}}%
+\pgfsetstarrotate{0}
+
+% Shape star.
+%
+\pgfdeclareshape{star}{%
+ \saveddimen{\points}{\pgf@x\pgfstarpoints pt}%
+ \saveddimen{\pointratio}{\pgf@x\pgfstarpointratio pt}%
+ \saveddimen{\rotate}{\pgf@x\pgfstarrotate pt}%
+ \saveddimen{\pointheight}{\pgf@x\pgfstarpointheight}%
+ \saveddimen{\minimumsize}{%
+ \pgfmathsetlength\pgf@x{\pgfshapeminwidth}%
+ \pgfmathsetlength\pgf@y{\pgfshapeminheight}%
+ \ifdim\pgf@y>\pgf@x%
+ \pgf@x\pgf@y%
+ \fi}%
+ \saveddimen{\outersep}{%
+ \pgfmathsetlength\pgf@x{\pgfshapeouterxsep}%
+ \pgfmathsetlength\pgf@y{\pgfshapeouterysep}%
+ \ifdim\pgf@y>\pgf@x%
+ \pgf@x\pgf@y%
+ \fi}%
+ \savedanchor{\centerpoint}{%
+ \pgf@x.5\wd\pgfnodeparttextbox%
+ \pgf@y.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y-.5\dp\pgfnodeparttextbox%
+ }%
+ \saveddimen{\innerpointradius}{%
+ %
+ % The innerpoint radius is the radius of the circle which
+ % can safely encompass the node textbox.
+ %
+ \pgfmathsetlength\pgf@x{\pgfshapeinnerxsep}%
+ \advance\pgf@x.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf@y{\pgfshapeinnerysep}%
+ \advance\pgf@y.5\ht\pgfnodeparttextbox%
+ \ifdim\pgf@y>\pgf@x%
+ \pgf@x\pgf@y%
+ \fi%
+ \pgfmathveclen@{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@x}}%
+ \pgf@x\pgfmathresult pt\relax%
+ }%
+ %
+ \anchor{center}{\centerpoint}%
+ \anchor{mid}{\centerpoint\pgfmathsetlength\pgf@y{.5ex}}%
+ \anchor{base}{\centerpoint\pgf@y=0pt}%
+ \anchor{north}{\pgf@anchor@star@border{\pgfpoint{+0pt}{+\outerpointradius}}}%
+ \anchor{south}{\pgf@anchor@star@border{\pgfpoint{+0pt}{+-\outerpointradius}}}%
+ \anchor{east}{\pgf@anchor@star@border{\pgfpoint{+\outerpointradius}{+0pt}}}%
+ \anchor{west}{\pgf@anchor@star@border{\pgfpoint{+-\outerpointradius}{+0pt}}}%
+ \anchor{north east}{\pgf@anchor@star@border{\pgfpoint{+\outerpointradius}{+\outerpointradius}}}%
+ \anchor{north west}{\pgf@anchor@star@border{\pgfpoint{+-\outerpointradius}{+\outerpointradius}}}%
+ \anchor{south east}{\pgf@anchor@star@border{\pgfpoint{+\outerpointradius}{+-\outerpointradius}}}%
+ \anchor{south west}{\pgf@anchor@star@border{\pgfpoint{+-\outerpointradius}{+-\outerpointradius}}}%
+ %
+ \backgroundpath{%
+ %
+ % Redefine stuff for ease of use.
+ %
+ \pgf@x\points%
+ \c@pgf@counta\pgf@x%
+ \divide\c@pgf@counta65536\relax%
+ \edef\points{\the\c@pgf@counta}%
+ \pgf@x\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@x}}%
+ \pgf@x\pointratio%
+ \edef\pointratio{\pgf@sys@tonumber{\pgf@x}}%
+ %
+ % Calculate radii.
+ %
+ \pgf@x\innerpointradius\relax%
+ \edef\innerradius{\the\pgf@x}%
+ \pgf@xa\pointheight\relax%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgf@x\pointratio\pgf@x%
+ \else%
+ \advance\pgf@x\pgf@xa%
+ \fi%
+ \pgf@xb\pgf@x%
+ \pgf@xc\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xc%
+ \pgf@x.5\pgf@xc%
+ \fi%
+ \edef\outerradius{\the\pgf@x}%
+ \ifdim\pgf@x>\pgf@xb%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgfmathreciprocal{\pointratio}%
+ \pgf@xc\pgfmathresult\pgf@x\relax%
+ \edef\innerradius{\the\pgf@xc}%
+ \else%
+ \pgf@xc\pgf@x\relax%
+ \advance\pgf@xc-\pointheight%
+ \edef\innerradius{\the\pgf@xc}%
+ \fi%
+ \fi%
+ %
+ % Get the total number of points (inner + outer)...
+ %
+ \c@pgf@counta\points%
+ \advance\c@pgf@counta\c@pgf@counta%
+ \edef\numpoints{\the\c@pgf@counta}%
+ %
+ % ...and hence the angle between points.
+ %
+ \pgf@x360pt\relax%
+ \divide\pgf@x\c@pgf@counta%
+ \edef\staranglestep{\the\pgf@x}%
+ %
+ % Start at 90 degrees (star always points up)...
+ %
+ \pgf@x90pt\relax%
+ %
+ % ...unless rotation is applied.
+ %
+ \pgf@xa\rotate pt\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\starangle{\the\pgf@x}%
+ \let\starradius=\outerradius%
+ %
+ % Move to first point.
+ %
+ \pgfpathmoveto{%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\starangle}{+\starradius}}%
+ }%
+ \def\staranchorname{pgf@anchor@star@outer point}%
+ \pgfmathloop%
+ %
+ % Create anchors. Manually \xdef as \gdef is normally used by \anchor.
+ %
+ \c@pgf@counta\pgfmathcounter\relax%
+ \advance\c@pgf@counta1\relax%
+ \divide\c@pgf@counta2\relax%
+ \expandafter\xdef\csname\staranchorname\space\the\c@pgf@counta\endcsname{%
+ \noexpand\pgf@lib@shapesstaranchor{\pgfmathcounter}%
+ }%
+ \ifnum\pgfmathcounter=\numpoints\relax% Stop.
+ \else%
+ \ifodd\pgfmathcounter%
+ \let\starradius\innerradius%
+ \def\staranchorname{pgf@anchor@star@inner point}%
+ \else%
+ \let\starradius\outerradius%
+ \def\staranchorname{pgf@anchor@star@outer point}%
+ \fi%
+ \pgf@x\starangle\relax%
+ \advance\pgf@x\staranglestep\relax%
+ \edef\starangle{\the\pgf@x}%
+ \pgfpathlineto{%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\starangle}{+\starradius}}%
+ }%
+ \repeatpgfmathloop%
+ \pgfpathclose%
+ }%
+ %
+ \anchorborder{%
+ %
+ % Save x and y.
+ %
+ \pgf@xa\pgf@x%
+ \pgf@ya\pgf@y%
+ %
+ % Redefine stuff for ease of use.
+ %
+ \pgf@x\points%
+ \c@pgf@counta\pgf@x%
+ \divide\c@pgf@counta65536\relax%
+ \edef\points{\the\c@pgf@counta}%
+ \pgf@x\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@x}}%
+ \pgf@x\pointratio%
+ \edef\pointratio{\pgf@sys@tonumber{\pgf@x}}%
+ %
+ % Calculate the location of the external
+ % point relative to the node center.
+ %
+ \centerpoint%
+ \advance\pgf@xa\pgf@x%
+ \advance\pgf@ya\pgf@y%
+ \edef\externalx{\the\pgf@xa}%
+ \edef\externaly{\the\pgf@ya}%
+ \pgf@process{\pgfpointdiff{\centerpoint}{\pgfpoint{+\externalx}{+\externaly}}}%
+ %
+ % First approximate the angle of the external point...
+ %
+ \pgf@xa\pgf@x%
+ \pgf@ya\pgf@y%
+ \pgf@xb\pgf@x%
+ \pgf@yb\pgf@y%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgf@xa-\pgf@xa%
+ \fi%
+ \ifdim\pgf@ya<0pt\relax%
+ \pgf@ya-\pgf@ya%
+ \fi%
+ \ifdim\pgf@ya>\pgf@xa%
+ \pgf@x\pgf@xa%
+ \pgf@y\pgf@ya%
+ \else%
+ \pgf@x\pgf@ya%
+ \pgf@y\pgf@xa%
+ \fi%
+ \ifdim\pgf@y=0pt\relax%
+ \pgf@x0pt%
+ \else%
+ \pgfmathreciprocal@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgf@x\pgfmathresult\pgf@x%
+ \fi%
+ \multiply\pgf@x1000\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgf@counta\the\pgf@x\relax\pgfmath@%
+ \expandafter\pgf@x\csname pgfmath@atan@\the\c@pgf@counta\endcsname pt\relax%
+ \ifdim\pgfmath@ya>\pgfmath@xa\relax%
+ \pgf@x-\pgf@x%
+ \advance\pgf@x90pt%
+ \fi%
+ \ifdim\pgf@xb<0pt%
+ \ifdim\pgf@yb>0pt%
+ \pgf@x-\pgf@x%
+ \fi%
+ \advance\pgf@x180pt\relax%
+ \else%
+ \ifdim\pgf@yb<0pt%
+ \pgf@x-\pgf@x%
+ \advance\pgf@x360pt\relax%
+ \fi\fi%
+ %
+ % ...then adjust, as star points start at 90 degrees...
+ %
+ \advance\pgf@x-90pt\relax%
+ \ifdim\pgf@x<0pt\relax%
+ \advance\pgf@x360pt\relax%
+ \fi%
+ %
+ % ...and also for rotation.
+ %
+ \advance\pgf@x-\rotate pt\relax%
+ \ifdim\pgf@x<0pt\relax%
+ \advance\pgf@x360pt\relax%
+ \fi%
+ %
+ % Now, locate the start and end points on the star border segment...
+ %
+ \c@pgf@counta\points\relax%
+ \pgf@y180pt\relax%
+ \divide\pgf@y\c@pgf@counta\relax%
+ \pgfmathreciprocal@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgf@x\pgfmathresult\pgf@x%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgf@counta\the\pgf@x\relax\pgfmath@%
+ %
+ % ...and hence, the start and end angles of the star border segment.
+ %
+ \pgf@x\pgf@y%
+ \multiply\pgf@x\c@pgf@counta%
+ \advance\pgf@x90pt%
+ \advance\pgf@x\rotate pt\relax%
+ \edef\firstangle{\the\pgf@x}%
+ \advance\c@pgf@counta1\relax%
+ \pgf@x\pgf@y%
+ \multiply\pgf@x\c@pgf@counta%
+ \advance\pgf@x\rotate pt\relax%
+ \advance\pgf@x90pt%
+ \edef\secondangle{\the\pgf@x}%
+ %
+ % Get the radii and add the outer sep...
+ %
+ \pgf@x\innerpointradius\relax%
+ \edef\innerradius{\the\pgf@x}%
+ \pgf@xa\pointheight\relax%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgf@x\pointratio\pgf@x%
+ \else%
+ \advance\pgf@x\pgf@xa%
+ \fi%
+ \pgf@xb\pgf@x%
+ \pgf@xc\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xc%
+ \pgf@x.5\pgf@xc%
+ \fi%
+ \edef\outerradius{\the\pgf@x}%
+ \ifdim\pgf@x>\pgf@xb%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgfmathreciprocal{\pointratio}%
+ \pgf@xc\pgfmathresult\pgf@x\relax%
+ \edef\innerradius{\the\pgf@xc}%
+ \else%
+ \pgf@xc\pgf@x\relax%
+ \advance\pgf@xc-\pgf@xb%
+ \edef\innerradius{\the\pgf@xc}%
+ \fi%
+ \fi%
+ \pgf@xa\outersep\relax%
+ \pgf@x\outerradius\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\outerradius{\the\pgf@x}%
+ \pgf@x\innerradius\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\innerradius{\the\pgf@x}%
+ \ifodd\c@pgf@counta%
+ \let\firstradii\outerradius%
+ \let\secondradii\innerradius%
+ \else%
+ \let\firstradii\innerradius%
+ \let\secondradii\outerradius%
+ \fi%
+ %
+ % ...and calculate the point on the intersection of
+ % the line from the external point to \centerpoint and
+ % the relevant segment of the star border.
+ %
+ \pgfpointintersectionoflines{\centerpoint}{\pgfpoint{+\externalx}{+\externaly}}%
+ {%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\firstangle}{+\firstradii}}%
+ }%
+ {%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\secondangle}{+\secondradii}}%
+ }%
+ }%
+}%
+
+
+% \pgf@lib@shapesstaranchor
+%
+% Used internally to calculate inner point and
+% outer point anchor positions 'on line'.
+%
+\def\pgf@lib@shapesstaranchor#1{%
+ %
+ % Redefine stuff for ease of use.
+ %
+ \pgf@x\points%
+ \c@pgf@counta\pgf@x%
+ \divide\c@pgf@counta65536\relax%
+ \edef\points{\the\c@pgf@counta}%
+ \pgf@x\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@x}}%
+ \pgf@x\pointratio%
+ \edef\pointratio{\pgf@sys@tonumber{\pgf@x}}%
+ %
+ % Caculate radii.
+ %
+ \pgf@x\innerpointradius%
+ \edef\innerradius{\the\pgf@x}%
+ \pgf@xa\pointheight\relax%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgf@x\pointratio\pgf@x%
+ \else%
+ \advance\pgf@x\pgf@xa%
+ \fi%
+ \pgf@xb\pgf@x%
+ \pgf@xc\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xc%
+ \pgf@x.5\pgf@xc%
+ \fi%
+ \edef\outerradius{\the\pgf@x}%
+ \ifdim\pgf@x>\pgf@xb%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgfmathreciprocal{\pointratio}%
+ \pgf@xc\pgfmathresult\pgf@x\relax%
+ \edef\innerradius{\the\pgf@xc}%
+ \else%
+ \pgf@xc\pgf@x\relax%
+ \advance\pgf@xc-\pgf@xb%
+ \edef\innerradius{\the\pgf@xc}%
+ \fi%
+ \fi%
+ %
+ % Add the outer sep.
+ %
+ \pgf@xa\outersep%
+ \pgf@x\outerradius\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\outerradius{\the\pgf@x}%
+ \pgf@x\innerradius\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\innerradius{\the\pgf@x}%
+ %
+ % Calculate the angle.
+ %
+ \c@pgf@counta\points%
+ \pgf@x180pt\relax%
+ \divide\pgf@x\c@pgf@counta%
+ \c@pgf@counta#1\relax%
+ \advance\c@pgf@counta-1\relax%
+ \multiply\pgf@x\c@pgf@counta%
+ \pgf@xa\rotate pt\relax%
+ \advance\pgf@x\pgf@xa%
+ \advance\pgf@x90pt\relax%
+ \edef\starangle{\the\pgf@x}%
+ \ifodd\c@pgf@counta%
+ \let\starradius\innerradius%
+ \else%
+ \let\starradius\outerradius%
+ \fi%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{\starangle}{\starradius}}%
+}%
+
+
+% \pgfsetpolygonsides
+%
+% Set the number of sides on a polygon.
+%
+\def\pgfsetpolygonsides#1{%
+ \pgfmathsetcounter{pgf@counta}{#1}%
+ \edef\pgfpolygonsides{\the\c@pgfmath@counta}}
+\pgfsetpolygonsides{6}
+
+% \pgfsetpolygonrotate
+%
+% Set the angle of rotation of the polygon
+% border. This can be decimal.
+%
+\def\pgfsetpolygonrotate#1{%
+ \pgfmathparse{#1}%
+ \edef\pgfpolygonrotate{\pgfmathresult}}%
+\pgfsetpolygonrotate{0}
+
+
+% Regular polygon shape.
+%
+%
+\pgfdeclareshape{regular polygon}{%
+ %
+ % Saved dimensions.
+ %
+ \saveddimen{\sides}{\pgf@x\pgfpolygonsides pt}%
+ \saveddimen{\rotate}{\pgf@x\pgfpolygonrotate pt}%
+ \saveddimen{\minimumsize}{%
+ \pgfmathsetlength\pgf@x{\pgfshapeminwidth}%
+ \pgfmathsetlength\pgf@y{\pgfshapeminheight}%
+ \ifdim\pgf@y>\pgf@x%
+ \pgf@x\pgf@y%
+ \fi}%
+ \saveddimen{\outersep}{%
+ \pgfmathsetlength\pgf@x{\pgfshapeouterxsep}%
+ \pgfmathsetlength\pgf@y{\pgfshapeouterysep}%
+ \ifdim\pgf@y>\pgf@x%
+ \pgf@x\pgf@y%
+ \fi}%
+ \saveddimen{\radius}{%
+ %
+ % The radius calculated here is the radius of the circle which
+ % can safely encompass the node textbox. This corresponds to the
+ % distance from the centre of the polygon to the mid-point of the
+ % of the sides of the polygon. The desired radius for the corners
+ % of the polygon has to calculated `on-line' as the saved dimen
+ % \sides is not available here.
+ %
+ \pgfmathsetlength\pgf@x{\pgfshapeinnerxsep}%
+ \advance\pgf@x.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength\pgf@y{\pgfshapeinnerysep}%
+ \advance\pgf@y.5\ht\pgfnodeparttextbox%
+ \ifdim\pgf@y>\pgf@x%
+ \pgf@x\pgf@y%
+ \fi%
+ \pgfmathveclen@{\pgf@sys@tonumber{\pgf@x}}{\pgf@sys@tonumber{\pgf@x}}%
+ \pgf@x\pgfmathresult pt\relax%
+ }%
+
+ %
+ % Saved anchors.
+ %
+ \savedanchor{\centerpoint}{%
+ \pgf@x.5\wd\pgfnodeparttextbox%
+ \pgf@y.5\ht\pgfnodeparttextbox%
+ \advance\pgf@y-.5\dp\pgfnodeparttextbox%
+ }%
+
+ %
+ % Other anchors.
+ %
+ \anchor{center}{\centerpoint}%
+ \anchor{mid}{\centerpoint\pgfmathsetlength\pgf@y{.5ex}}%
+ \anchor{base}{\centerpoint\pgf@y=0pt}%
+ \anchor{north}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+0pt}{+\radius}}}%
+ \anchor{south}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+0pt}{+-\radius}}}%
+ \anchor{east}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+\radius}{+0pt}}}%
+ \anchor{west}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+-\radius}{+0pt}}}%
+ \anchor{north east}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+\radius}{+\radius}}}%
+ \anchor{north west}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+-\radius}{+\radius}}}%
+ \anchor{south east}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+\radius}{+-\radius}}}%
+ \anchor{south west}{\csname pgf@anchor@regular polygon@border\endcsname{\pgfpoint{+-\radius}{+-\radius}}}%
+
+ %
+ % Background path.
+ %
+ \backgroundpath{%
+ %
+ % Redefine some stuff for ease of use.
+ %
+ \pgf@x\sides%
+ \c@pgf@counta\pgf@x%
+ \divide\c@pgf@counta65536\relax%
+ \edef\sides{\the\c@pgf@counta}%
+ \pgf@x\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@x}}%
+ %
+ % Get the inner angle.
+ %
+ \pgf@y360pt\relax%
+ \divide\pgf@y\sides%
+ \edef\polygonanglestep{\the\pgf@y}%
+ %
+ % Now recalculate the polygon *corner* radius.
+ %
+ \pgf@y.5\pgf@y%
+ \pgfmathcos@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgfmathreciprocal@{\pgfmathresult}%
+ \pgf@x\radius\relax%
+ \pgf@x\pgfmathresult\pgf@x%
+ \pgf@xa\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xa%
+ \pgf@x.5\pgf@xa%
+ \fi%
+ \edef\polygonradius{\the\pgf@x}%
+ %
+ % Every polygon is drawn so that a side is at the bottom...
+ %
+ \pgf@x90pt\relax%
+ \ifodd\sides%
+ \else%
+ \advance\pgf@x-\pgf@y%
+ \fi%
+ %
+ % ...unless rotation is applied.
+ %
+ \pgf@xa\rotate pt\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\polygonangle{\the\pgf@x}%
+ %
+ % Move to first point.
+ %
+ \pgfpathmoveto{%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\polygonangle}{+\polygonradius}}%
+ }%
+ \pgfmathloop%
+ %
+ % Create anchors. Manually \xdef as \gdef is normally used by \anchor.
+ %
+ \expandafter\xdef\csname pgf@anchor@regular polygon@corner\space\pgfmathcounter\endcsname{%
+ \noexpand\pgf@lib@shapescorneranchor{\pgfmathcounter}%
+ }%
+ \expandafter\xdef\csname pgf@anchor@regular polygon@side\space\pgfmathcounter\endcsname{%
+ \noexpand\pgf@lib@shapessideanchor{\pgfmathcounter}%
+ }%
+ \ifnum\pgfmathcounter=\sides\relax% Stop.
+ \else%
+ \pgf@x\polygonangle\relax%
+ \advance\pgf@x\polygonanglestep\relax%
+ \edef\polygonangle{\the\pgf@x}%
+ \pgfpathlineto{%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\polygonangle}{+\polygonradius}}%
+ }%
+ \repeatpgfmathloop%
+ \pgfpathclose%
+ }%
+
+ %
+ % Anchor border.
+ %
+ \anchorborder{%
+ %
+ % Save the external point.
+ %
+ \pgf@xa\pgf@x%
+ \pgf@ya\pgf@y%
+ \centerpoint%
+ \advance\pgf@xa\pgf@x%
+ \advance\pgf@ya\pgf@y%
+ \edef\externalx{\the\pgf@xa}%
+ \edef\externaly{\the\pgf@ya}%
+ \pgf@process{\pgfpointdiff{\centerpoint}{\pgfpoint{+\externalx}{+\externaly}}}%
+ %
+ % Approximate the angle of the external point...
+ %
+ \pgf@xa\pgf@x%
+ \pgf@ya\pgf@y%
+ \pgf@xb\pgf@x%
+ \pgf@yb\pgf@y%
+ \ifdim\pgf@xa<0pt\relax%
+ \pgf@xa-\pgf@xa%
+ \fi%
+ \ifdim\pgf@ya<0pt\relax%
+ \pgf@ya-\pgf@ya%
+ \fi%
+ \ifdim\pgf@ya>\pgf@xa%
+ \pgf@x\pgf@xa%
+ \pgf@y\pgf@ya%
+ \else%
+ \pgf@x\pgf@ya%
+ \pgf@y\pgf@xa%
+ \fi%
+ \ifdim\pgf@y=0pt\relax%
+ \pgf@x0pt%
+ \else%
+ \pgfmathreciprocal@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgf@x\pgfmathresult\pgf@x%
+ \fi%
+ \multiply\pgf@x1000\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgf@counta\the\pgf@x\relax\pgfmath@%
+ \expandafter\pgf@x\csname pgfmath@atan@\the\c@pgf@counta\endcsname pt\relax%
+ \ifdim\pgfmath@ya>\pgfmath@xa\relax%
+ \pgf@x-\pgf@x%
+ \advance\pgf@x90pt%
+ \fi%
+ \ifdim\pgf@xb<0pt%
+ \ifdim\pgf@yb>0pt%
+ \pgf@x-\pgf@x%
+ \fi%
+ \advance\pgf@x180pt\relax%
+ \else%
+ \ifdim\pgf@yb<0pt%
+ \pgf@x-\pgf@x%
+ \advance\pgf@x360pt\relax%
+ \fi\fi%
+ %
+ % ...(redefine stuff for ease of use)...
+ %
+ \pgf@y\sides%
+ \c@pgf@counta\pgf@y%
+ \divide\c@pgf@counta65536\relax%
+ \edef\sides{\the\c@pgf@counta}%
+ \pgf@y\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@y}}%
+ %
+ % ...now adjust angle, for the number of polygon sides...
+ %
+ \advance\pgf@x-90pt\relax%
+ \pgf@xa180pt\relax%
+ \divide\pgf@xa\sides%
+ %
+ % ...and for if the there is an even number of sides...
+ %
+ \ifodd\sides%
+ \else%
+ \advance\pgf@x\pgf@xa%
+ \fi%
+ \ifdim\pgf@x<0pt\relax%
+ \advance\pgf@x360pt\relax%
+ \fi%
+ %
+ % ...and also for rotation.
+ %
+ \advance\pgf@x-\rotate pt\relax%
+ \ifdim\pgf@x<0pt\relax%
+ \advance\pgf@x360pt\relax%
+ \fi%
+ %
+ % Now, locate the start and end points on the polygon border segment...
+ %
+ \c@pgf@counta\sides\relax%
+ \pgf@y360pt\relax%
+ \divide\pgf@y\c@pgf@counta\relax%
+ \pgfmathreciprocal@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgf@x\pgfmathresult\pgf@x%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgf@counta\the\pgf@x\relax\pgfmath@%
+ %
+ % ...and hence, the start and end angles of the polygon border segment.
+ %
+ \pgf@x\pgf@y%
+ \multiply\pgf@x\c@pgf@counta%
+ \advance\pgf@x90pt%
+ \ifodd\sides%
+ \else%
+ \advance\pgf@x-\pgf@xa%
+ \fi%
+ \advance\pgf@x\rotate pt\relax%
+ \edef\firstangle{\the\pgf@x}%
+ \advance\c@pgf@counta1\relax%
+ \pgf@x\pgf@y%
+ \multiply\pgf@x\c@pgf@counta%
+ \advance\pgf@x\rotate pt\relax%
+ \advance\pgf@x90pt%
+ \ifodd\sides%
+ \else%
+ \advance\pgf@x-\pgf@xa%
+ \fi%
+ \edef\secondangle{\the\pgf@x}%
+ %
+ % Get the inner angle.
+ %
+ \pgf@y360pt\relax%
+ \divide\pgf@y\sides%
+ %
+ % Now recalculate the polygon *corner* radius...
+ %
+ \pgf@y.5\pgf@y%
+ \pgfmathcos@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgfmathreciprocal@{\pgfmathresult}%
+ \pgf@x\radius\relax%
+ \pgf@x\pgfmathresult\pgf@x%
+ \edef\polygonradius{\the\pgf@x}%
+ %
+ % ...and add the outer sep to the corner radius...
+ %
+ \pgf@xa\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xa%
+ \pgf@x.5\pgf@xa%
+ \fi%
+ \pgf@xa\outersep\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\radius{\the\pgf@x}%
+ %
+ % ...and calculate the point on the intersection of
+ % the line from the external point to \centerpoint and
+ % the segment of the star border.
+ %
+ \pgfpointintersectionoflines{\centerpoint}{\pgfpoint{+\externalx}{+\externaly}}%
+ {%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\firstangle}{+\radius}}%
+ }%
+ {%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{+\secondangle}{+\radius}}%
+ }%
+ }%
+}%
+
+
+% \pgf@lib@shapespolygoncorneranchor
+%
+% Used internally to calculate corner anchor positions.
+%
+\def\pgf@lib@shapescorneranchor#1{%
+ %
+ % Redefine stuff for ease of use.
+ %
+ \pgf@y\sides%
+ \c@pgf@counta\pgf@y%
+ \divide\c@pgf@counta65536\relax%
+ \edef\sides{\the\c@pgf@counta}%
+ \pgf@y\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@y}}%
+ %
+ % Get the inner angle.
+ %
+ \pgf@y360pt\relax%
+ \divide\pgf@y\sides\relax%
+ \edef\polgonanglestep{\pgf@sys@tonumber{\pgf@y}}%
+ %
+ % Recalculate the polygon corner radius...
+ %
+ \pgf@y.5\pgf@y%
+ \pgfmathcos@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgfmathreciprocal@{\pgfmathresult}%
+ \pgf@x\radius\relax%
+ \pgf@x\pgfmathresult\pgf@x%
+ \edef\polygonradius{\the\pgf@x}%
+ %
+ % ...adjust for minimum size...
+ %
+ \pgf@xa\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xa%
+ \pgf@x.5\pgf@xa%
+ \fi%
+ %
+ % ...and add the outer sep.
+ %
+ \pgf@xa\outersep\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\polygonradius{\the\pgf@x}%
+ %
+ % Calculate the angle.
+ %
+ \c@pgf@counta#1\relax%
+ \advance\c@pgf@counta-1\relax%
+ \pgf@x2.0\pgf@y%
+ \multiply\pgf@x\c@pgf@counta%
+ \pgf@xa\rotate pt\relax%
+ \advance\pgf@x\pgf@xa%
+ \advance\pgf@x90pt\relax%
+ \ifodd\sides%
+ \else%
+ \advance\pgf@x-\pgf@y%
+ \fi%
+ \edef\polygonangle{\the\pgf@x}%
+ \pgfpointadd{\centerpoint}%
+ {\pgfpointpolar{\polygonangle}{\polygonradius}}%
+}%
+
+% \pgf@lib@shapespolygonsideanchor
+%
+% Used internally to calculate side anchor positions.
+%
+\def\pgf@lib@shapessideanchor#1{%
+ %
+ % Redefine stuff for ease of use.
+ %
+ \pgf@y\sides%
+ \c@pgf@counta\pgf@y%
+ \divide\c@pgf@counta65536\relax%
+ \edef\sides{\the\c@pgf@counta}%
+ \pgf@y\rotate%
+ \edef\rotate{\pgf@sys@tonumber{\pgf@y}}%
+ %
+ % Get the inner angle.
+ %
+ \pgf@y360pt\relax%
+ \divide\pgf@y\sides\relax%
+ \edef\polygonanglestep{\the\pgf@y}%
+ %
+ % Recalculate the polygon corner radius...
+ %
+ \pgf@y.5\pgf@y%
+ \pgfmathcos@{\pgf@sys@tonumber{\pgf@y}}%
+ \pgfmathreciprocal@{\pgfmathresult}%
+ \pgf@x\radius\relax%
+ \pgf@x\pgfmathresult\pgf@x%
+ %
+ % ...adjust for minimum size...
+ %
+ \pgf@xa\minimumsize\relax%
+ \ifdim\pgf@x<.5\pgf@xa%
+ \pgf@x.5\pgf@xa%
+ \fi%
+ %
+ % and add the outer sep.
+ %
+ \pgf@xa\outersep\relax%
+ \advance\pgf@x\pgf@xa%
+ \edef\polygonradius{\the\pgf@x}%
+ %
+ % Calculate the angle.
+ %
+ \pgf@y\polygonanglestep%
+ \c@pgf@counta#1\relax%
+ \advance\c@pgf@counta-1\relax%
+ \pgf@x\polygonanglestep pt\relax%
+ \multiply\pgf@x\c@pgf@counta%
+ \pgf@xa\rotate pt\relax%
+ \advance\pgf@x\pgf@xa%
+ \advance\pgf@x90pt\relax%
+ \ifodd\sides%
+ \else%
+ \advance\pgf@x-.5\pgf@y%
+ \fi%
+ \edef\firstangle{\the\pgf@x}%
+ \advance\pgf@x\pgf@y%
+ \edef\secondangle{\the\pgf@x}%
+ \pgfpointlineattime{0.5}{%
+ \pgfpointadd{\centerpoint}{\pgfpointpolar{+\firstangle}{+\polygonradius}}%
+ }{%
+ \pgfpointadd{\centerpoint}{\pgfpointpolar{+\secondangle}{+\polygonradius}}%
+ }%
+}%
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.misc.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.misc.code.tex
new file mode 100644
index 00000000000..6dcd610f612
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.misc.code.tex
@@ -0,0 +1,70 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.misc.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+
+\pgfdeclareshape{cross out}
+{
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+ % store lower right in xa/ya and upper right in xb/yb
+ \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@ya}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@yb}}
+ \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@yb}}
+ \pgfpathlineto{\pgfqpoint{\pgf@xb}{\pgf@ya}}
+ }
+}
+
+
+\pgfdeclareshape{strike out}
+{
+ \inheritsavedanchors[from=rectangle] % this is nearly a rectangle
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{north west}
+ \inheritanchor[from=rectangle]{north east}
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \inheritanchor[from=rectangle]{mid}
+ \inheritanchor[from=rectangle]{mid west}
+ \inheritanchor[from=rectangle]{mid east}
+ \inheritanchor[from=rectangle]{base}
+ \inheritanchor[from=rectangle]{base west}
+ \inheritanchor[from=rectangle]{base east}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{south west}
+ \inheritanchor[from=rectangle]{south east}
+ \foregroundpath{
+ \pgfpathmoveto{\southwest}
+ \pgfpathlineto{\northeast}
+ }
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex
new file mode 100644
index 00000000000..2299d9520c8
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex
@@ -0,0 +1,165 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.multipart.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\newbox\pgfnodepartlowerbox
+
+%
+% A circle that is split in the middle into an upper and a lower part.
+%
+% This node consists of two parts: The upper (main) part is shown in
+% the upper half of the circle. The second part is the (optional)
+% lower part.
+%
+% Parts: text, lower
+
+\pgfdeclareshape{circle split}
+{
+ %
+ % Node parts
+ %
+ \nodeparts{text,lower}
+
+ %
+ % Anchors
+ %
+ \savedanchor\centerpoint{%
+ \pgf@x=.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength{\pgf@y}{\pgfshapeinnerysep}%
+ \pgf@y=-\pgf@y%
+ \advance\pgf@y by-\dp\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ }%
+ \savedanchor\loweranchor{%
+ \pgf@x=-.5\wd\pgfnodepartlowerbox%
+ \advance\pgf@x by.5\wd\pgfnodeparttextbox%
+ \pgfmathsetlength{\pgf@y}{\pgfshapeinnerysep}%
+ \pgf@y=-2\pgf@y%
+ \advance\pgf@y by-\ht\pgfnodepartlowerbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ \advance\pgf@y by-\dp\pgfnodeparttextbox%
+ \advance\pgf@y by-.5\pgflinewidth%
+ }
+
+ \saveddimen\radius{%
+ %
+ % Caculate ``height radius''
+ %
+ \pgf@ya=.5\ht\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\dp\pgfnodeparttextbox%
+ \advance\pgf@ya by.5\ht\pgfnodepartlowerbox%
+ \advance\pgf@ya by.5\dp\pgfnodepartlowerbox%
+ \advance\pgf@ya by.5\pgflinewidth%
+ \pgfmathsetlength\pgf@yb{\pgfshapeinnerysep}%
+ \advance\pgf@ya by2\pgf@yb%
+ %
+ % Caculate ``width radius''
+ %
+ \pgf@xa=.5\wd\pgfnodeparttextbox%
+ \ifdim\pgf@xa<.5\wd\pgfnodepartlowerbox%
+ \pgf@xa=.5\wd\pgfnodepartlowerbox%
+ \fi%
+ \pgfmathsetlength\pgf@xb{\pgfshapeinnerxsep}%
+ \advance\pgf@xa by\pgf@xb%
+ %
+ % Calculate length of radius vector:
+ %
+ \pgf@process{\pgfpointnormalised{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
+ \ifdim\pgf@x>\pgf@y%
+ \c@pgf@counta=\pgf@x%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@xa=16\pgf@xa\relax%
+ \divide\pgf@xa by\c@pgf@counta%
+ \pgf@xa=16\pgf@xa\relax%
+ \fi%
+ \else%
+ \c@pgf@counta=\pgf@y%
+ \ifnum\c@pgf@counta=0\relax%
+ \else%
+ \divide\c@pgf@counta by 255\relax%
+ \pgf@ya=16\pgf@ya\relax%
+ \divide\pgf@ya by\c@pgf@counta%
+ \pgf@xa=16\pgf@ya\relax%
+ \fi%
+ \fi%
+ \pgf@x=\pgf@xa%
+ %
+ % If necessary, adjust radius so that the size requirements are
+ % met:
+ %
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeminwidth}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeminheight}%
+ \ifdim\pgf@x<.5\pgf@xb%
+ \pgf@x=.5\pgf@xb%
+ \fi%
+ \ifdim\pgf@x<.5\pgf@yb%
+ \pgf@x=.5\pgf@yb%
+ \fi%
+ %
+ % Now, add larger of outer sepearations.
+ %
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\pgf@x by\pgf@yb%
+ \else%
+ \advance\pgf@x by\pgf@xb%
+ \fi%
+ }
+
+ %
+ % Anchors
+ %
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \anchor{lower}{\loweranchor}
+
+ %
+ % Background path
+ %
+ \inheritbackgroundpath[from=circle]
+ \beforebackgroundpath{
+ \pgfutil@tempdima=\radius%
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\pgfutil@tempdima by-\pgf@yb%
+ \else%
+ \advance\pgfutil@tempdima by-\pgf@xb%
+ \fi%
+ \advance\pgfutil@tempdima by-.5\pgflinewidth%
+ \pgfsetshortenstart{0pt}%
+ \pgfsetshortenend{0pt}%
+ \pgfsetarrows{-}%
+ \pgfpathmoveto{\pgfpointadd{\centerpoint}{\pgfqpoint{-1\pgfutil@tempdima}{0pt}}}%
+ \pgfpathlineto{\pgfpointadd{\centerpoint}{\pgfqpoint{\pgfutil@tempdima}{0pt}}}%
+ \pgfusepath{stroke}%
+ }
+}
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.symbols.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.symbols.code.tex
new file mode 100644
index 00000000000..50ee3ec9c6b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshapes.symbols.code.tex
@@ -0,0 +1,50 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibraryshapes.symbols.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\pgfdeclareshape{forbidden sign}
+{
+ \inheritsavedanchors[from=circle] % this is nearly a circle
+ \inheritanchorborder[from=circle]
+ \inheritanchor[from=circle]{north}
+ \inheritanchor[from=circle]{north west}
+ \inheritanchor[from=circle]{north east}
+ \inheritanchor[from=circle]{center}
+ \inheritanchor[from=circle]{west}
+ \inheritanchor[from=circle]{east}
+ \inheritanchor[from=circle]{mid}
+ \inheritanchor[from=circle]{mid west}
+ \inheritanchor[from=circle]{mid east}
+ \inheritanchor[from=circle]{base}
+ \inheritanchor[from=circle]{base west}
+ \inheritanchor[from=circle]{base east}
+ \inheritanchor[from=circle]{south}
+ \inheritanchor[from=circle]{south west}
+ \inheritanchor[from=circle]{south east}
+ \inheritbackgroundpath[from=circle]
+ \foregroundpath{
+ \centerpoint%
+ \pgf@xc=\pgf@x%
+ \pgf@yc=\pgf@y%
+ \pgfutil@tempdima=\radius%
+ \pgfmathsetlength{\pgf@xb}{\pgfshapeouterxsep}%
+ \pgfmathsetlength{\pgf@yb}{\pgfshapeouterysep}%
+ \ifdim\pgf@xb<\pgf@yb%
+ \advance\pgfutil@tempdima by-\pgf@yb%
+ \else%
+ \advance\pgfutil@tempdima by-\pgf@xb%
+ \fi%
+ \pgfpathmoveto{\pgfpointadd{\pgfqpoint{\pgf@xc}{\pgf@yc}}{\pgfqpoint{-0.707107\pgfutil@tempdima}{-0.707107\pgfutil@tempdima}}}
+ \pgfpathlineto{\pgfpointadd{\pgfqpoint{\pgf@xc}{\pgf@yc}}{\pgfqpoint{0.707107\pgfutil@tempdima}{0.707107\pgfutil@tempdima}}}
+ }
+}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
index f9795dc4a99..dde1a6db64c 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarysnakes.code.tex,v 1.14 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarysnakes.code.tex,v 1.15 2007/03/09 17:49:32 tantau Exp $
\newdimen\pgfsnakesegmentamplitude
@@ -29,47 +29,47 @@
\pgfdeclaresnake{snake}{initial}
{
- \state{initial}[switch if less than=.625\pgfsnakesegmentlength to final,
- width=.3125\pgfsnakesegmentlength,
+ \state{initial}[switch if less than=+.625\pgfsnakesegmentlength to final,
+ width=+.3125\pgfsnakesegmentlength,
next state=down]
{
\pgfpathcurveto
- {\pgfpoint{.125\pgfsnakesegmentlength}{0pt}}
- {\pgfpoint{.1875\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- {\pgfpoint{.3125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.125\pgfsnakesegmentlength}{0pt}}
+ {\pgfqpoint{.1875\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.3125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
}
- \state{down}[switch if less than=.8125\pgfsnakesegmentlength to end down,
- width=.5\pgfsnakesegmentlength,
+ \state{down}[switch if less than=+.8125\pgfsnakesegmentlength to end down,
+ width=+.5\pgfsnakesegmentlength,
next state=up]
{
- \pgfpathcosine{\pgfpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
- \pgfpathsine{\pgfpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathcosine{\pgfqpoint{.25\pgfsnakesegmentlength}{-1\pgfsnakesegmentamplitude}}
+ \pgfpathsine{\pgfqpoint{.25\pgfsnakesegmentlength}{-1\pgfsnakesegmentamplitude}}
}
- \state{up}[switch if less than=.8125\pgfsnakesegmentlength to end up,
- width=.5\pgfsnakesegmentlength,
+ \state{up}[switch if less than=+.8125\pgfsnakesegmentlength to end up,
+ width=+.5\pgfsnakesegmentlength,
next state=down]
{
- \pgfpathcosine{\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- \pgfpathsine{\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathcosine{\pgfqpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathsine{\pgfqpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
}
- \state{end down}[width=.3125\pgfsnakesegmentlength,
+ \state{end down}[width=+.3125\pgfsnakesegmentlength,
next state=final]
{
\pgfpathcurveto
- {\pgfpoint{.125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- {\pgfpoint{.1875\pgfsnakesegmentlength}{0pt}}
- {\pgfpoint{.3125\pgfsnakesegmentlength}{0pt}}
+ {\pgfqpoint{.125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.1875\pgfsnakesegmentlength}{0pt}}
+ {\pgfqpoint{.3125\pgfsnakesegmentlength}{0pt}}
}
- \state{end up}[width=.3125\pgfsnakesegmentlength,
+ \state{end up}[width=+.3125\pgfsnakesegmentlength,
next state=final]
{
\pgfpathcurveto
- {\pgfpoint{.125\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
- {\pgfpoint{.1875\pgfsnakesegmentlength}{0pt}}
- {\pgfpoint{.3125\pgfsnakesegmentlength}{0pt}}
+ {\pgfqpoint{.125\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.1875\pgfsnakesegmentlength}{0pt}}
+ {\pgfqpoint{.3125\pgfsnakesegmentlength}{0pt}}
}
\state{final}
- { \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}} }
+ { \pgfpathlineto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}} }
}
@@ -81,20 +81,20 @@
\pgfdeclaresnake{zigzag}{up}
{
- \state{up}[width=.5\pgfsnakesegmentlength,%
+ \state{up}[width=+.5\pgfsnakesegmentlength,%
next state=down]
{
- \pgfpathlineto{\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{.5\pgfsnakesegmentlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{.5\pgfsnakesegmentlength}{0pt}}
}
- \state{down}[width=.5\pgfsnakesegmentlength,%
+ \state{down}[width=+.5\pgfsnakesegmentlength,%
next state=up]
{
- \pgfpathlineto{\pgfpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{.5\pgfsnakesegmentlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{.25\pgfsnakesegmentlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{.5\pgfsnakesegmentlength}{0pt}}
}
\state{final}
- { \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}} }
+ { \pgfpathlineto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}} }
}
@@ -105,14 +105,14 @@
\pgfdeclaresnake{saw}{initial}
{
- \state{initial}[width=\pgfsnakesegmentlength]
+ \state{initial}[width=+\pgfsnakesegmentlength]
{
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentlength}{0pt}}
}
\state{final}
{
- \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -127,7 +127,7 @@
1.5\pgfsnakesegmentlength+%
\pgfsnakesegmentaspect\pgfsnakesegmentamplitude+%
\pgfsnakesegmentaspect\pgfsnakesegmentamplitude to last,
- width=\pgfsnakesegmentlength]
+ width=+\pgfsnakesegmentlength]
{
\pgfpathcurveto
{\pgfpoint@oncoil{0 }{ 0.555}{1}}
@@ -161,7 +161,7 @@
}
\state{final}
{
- \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -180,20 +180,20 @@
\pgfdeclaresnake{bumps}{initial}
{
- \state{initial}[width=.5\pgfsnakesegmentlength]
+ \state{initial}[width=+.5\pgfsnakesegmentlength]
{
\pgfpathcurveto
- {\pgfpoint{0pt}{.555\pgfsnakesegmentamplitude}}
- {\pgfpoint{0.11125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- {\pgfpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{0pt}{.555\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{0.11125\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.25\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
\pgfpathcurveto
- {\pgfpoint{.38875\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
- {\pgfpoint{.5\pgfsnakesegmentlength}{.5\pgfsnakesegmentamplitude}}
- {\pgfpoint{.5\pgfsnakesegmentlength}{0\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.38875\pgfsnakesegmentlength}{\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.5\pgfsnakesegmentlength}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.5\pgfsnakesegmentlength}{0\pgfsnakesegmentamplitude}}
}
\state{final}
{
- \pgfpathlineto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -205,29 +205,29 @@
\pgfdeclaresnake{expanding waves}{initial}
{
- \state{initial}[width=\pgfsnakesegmentlength,next state=wave]
+ \state{initial}[width=+\pgfsnakesegmentlength,next state=wave]
{}
- \state{wave}[switch if less than=\pgfsnakesegmentlength to last,
- width=\pgfsnakesegmentlength]
+ \state{wave}[switch if less than=+\pgfsnakesegmentlength to last,
+ width=+\pgfsnakesegmentlength]
{
\pgfpathmoveto{
\pgfpointadd
- {\pgfpoint{-\pgfsnakecompleteddistance}{0pt}}%
- {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}}}%
- \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}%
+ {\pgfqpoint{-\pgfsnakecompleteddistance}{0pt}}%
+ {\pgfpointpolar{\pgfsnakesegmentangle}{+\pgfsnakecompleteddistance}}}%
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{+\pgfsnakecompleteddistance}%
}
- \state{last}[width=0pt,next state=final]
+ \state{last}[width=+0pt,next state=final]
{
\pgfpathmoveto{
\pgfpointadd
- {\pgfpoint{-\pgfsnakecompleteddistance}{0pt}}%
- {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}}}%
- \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecompleteddistance}%
+ {\pgfqpoint{-\pgfsnakecompleteddistance}{0pt}}%
+ {\pgfpointpolar{\pgfsnakesegmentangle}{+\pgfsnakecompleteddistance}}}%
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{+\pgfsnakecompleteddistance}%
}
\state{final}
{
- \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -241,16 +241,16 @@
{
\state{wave}[width=\pgfsnakesegmentlength]
{
- \pgftransformxshift{\pgfsnakesegmentlength}
+ \pgftransformxshift{+\pgfsnakesegmentlength}
\pgfpathmoveto{
\pgfpointadd
- {\pgfpoint{-\pgfsnakesegmentobjectlength}{0pt}}%
- {\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakesegmentobjectlength}}}%
- \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakesegmentobjectlength}%
+ {\pgfqpoint{-\pgfsnakesegmentobjectlength}{0pt}}%
+ {\pgfpointpolar{\pgfsnakesegmentangle}{+\pgfsnakesegmentobjectlength}}}%
+ \pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{+\pgfsnakesegmentobjectlength}%
}
\state{final}
{
- \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -261,24 +261,24 @@
\pgfdeclaresnake{triangles}{triangle}
{
- \state{triangle}[switch if less than=\pgfsnakesegmentlength to last,
- width=\pgfsnakesegmentlength]
+ \state{triangle}[switch if less than=+\pgfsnakesegmentlength to last,
+ width=+\pgfsnakesegmentlength]
{
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{0pt}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentobjectlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfsnakesegmentamplitude}}
\pgfpathclose
}
- \state{last}[width=\pgfsnakesegmentobjectlength,next state=final]
+ \state{last}[width=+\pgfsnakesegmentobjectlength,next state=final]
{
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{0pt}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentobjectlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfsnakesegmentamplitude}}
\pgfpathclose
}
\state{final}
{
- \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -290,24 +290,24 @@
\pgfdeclaresnake{crosses}{crosses}
{
- \state{crosses}[switch if less than=\pgfsnakesegmentlength to last,
- width=\pgfsnakesegmentlength]
+ \state{crosses}[switch if less than=+\pgfsnakesegmentlength to last,
+ width=+\pgfsnakesegmentlength]
{
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{-\pgfsnakesegmentamplitude}}
- \pgfpathmoveto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentobjectlength}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentobjectlength}{\pgfsnakesegmentamplitude}}
}
\state{last}[width=\pgfsnakesegmentobjectlength,next state=final]
{
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{-\pgfsnakesegmentamplitude}}
- \pgfpathmoveto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{\pgfsnakesegmentobjectlength}{\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentobjectlength}{-1\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{\pgfsnakesegmentobjectlength}{\pgfsnakesegmentamplitude}}
}
\state{final}
{
- \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -319,16 +319,16 @@
\pgfdeclaresnake{ticks}{ticks}
{
- \state{ticks}[width=\pgfsnakesegmentlength]
+ \state{ticks}[width=+\pgfsnakesegmentlength]
{
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfsnakesegmentamplitude}}
}
\state{final}
{
- \pgfpathmoveto{\pgfpoint{0pt}{\pgfsnakesegmentamplitude}}
- \pgfpathlineto{\pgfpoint{0pt}{-\pgfsnakesegmentamplitude}}
- \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{0pt}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfqpoint{0pt}{-\pgfsnakesegmentamplitude}}
+ \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -339,20 +339,20 @@
\pgfdeclaresnake{border}{tick}
{
- \state{tick}[switch if less than=\pgfsnakesegmentlength to last,
- width=\pgfsnakesegmentlength]
+ \state{tick}[switch if less than=+\pgfsnakesegmentlength to last,
+ width=+\pgfsnakesegmentlength]
{
\pgfpathmoveto{\pgfpointorigin}
- \pgfpathlineto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpointpolar{\pgfsnakesegmentangle}{+\pgfsnakesegmentamplitude}}
}
- \state{last}[width=\pgfsnakesegmentamplitude,next state=final]
+ \state{last}[width=+\pgfsnakesegmentamplitude,next state=final]
{
\pgfpathmoveto{\pgfpointorigin}
- \pgfpathlineto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakesegmentamplitude}}
+ \pgfpathlineto{\pgfpointpolar{\pgfsnakesegmentangle}{+\pgfsnakesegmentamplitude}}
}
\state{final}
{
- \pgfpathmoveto{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ \pgfpathmoveto{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
}
@@ -365,32 +365,32 @@
\pgfdeclaresnake{brace}{brace}
{
- \state{brace}[width=\pgfsnakeremainingdistance,next state=final]
+ \state{brace}[width=+\pgfsnakeremainingdistance,next state=final]
{
- \pgfpathmoveto{\pgfpoint{0pt}{0pt}}
+ \pgfpathmoveto{\pgfpointorigin}
\pgfpathcurveto
- {\pgfpoint{.15\pgfsnakesegmentamplitude}{.3\pgfsnakesegmentamplitude}}
- {\pgfpoint{.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
- {\pgfpoint{\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.15\pgfsnakesegmentamplitude}{.3\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
{
- \pgftransformxshift{\pgfsnakesegmentaspect\pgfsnakeremainingdistance}
- \pgfpathlineto{\pgfpoint{-\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ \pgftransformxshift{+\pgfsnakesegmentaspect\pgfsnakeremainingdistance}
+ \pgfpathlineto{\pgfqpoint{-\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
\pgfpathcurveto
- {\pgfpoint{-.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
- {\pgfpoint{-.15\pgfsnakesegmentamplitude}{.7\pgfsnakesegmentamplitude}}
- {\pgfpoint{0\pgfsnakesegmentamplitude}{1\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{-.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{-.15\pgfsnakesegmentamplitude}{.7\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{0\pgfsnakesegmentamplitude}{1\pgfsnakesegmentamplitude}}
\pgfpathcurveto
- {\pgfpoint{.15\pgfsnakesegmentamplitude}{.7\pgfsnakesegmentamplitude}}
- {\pgfpoint{.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
- {\pgfpoint{\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.15\pgfsnakesegmentamplitude}{.7\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
}
{
- \pgftransformxshift{\pgfsnakeremainingdistance}
- \pgfpathlineto{\pgfpoint{-\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ \pgftransformxshift{+\pgfsnakeremainingdistance}
+ \pgfpathlineto{\pgfqpoint{-\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
\pgfpathcurveto
- {\pgfpoint{-.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
- {\pgfpoint{-.15\pgfsnakesegmentamplitude}{.3\pgfsnakesegmentamplitude}}
- {\pgfpoint{0pt}{0pt}}
+ {\pgfqpoint{-.5\pgfsnakesegmentamplitude}{.5\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{-.15\pgfsnakesegmentamplitude}{.3\pgfsnakesegmentamplitude}}
+ {\pgfqpoint{0pt}{0pt}}
}
}
\state{final}
@@ -407,13 +407,13 @@
\pgfdeclaresnake{bent}{bent}
{
- \state{bent}[width=\pgfsnakeremainingdistance,next state=final]
+ \state{bent}[width=+\pgfsnakeremainingdistance,next state=final]
{
\pgfpathcurveto
- {\pgfpoint{\pgfsnakesegmentaspect\pgfsnakeremainingdistance}{\pgfsnakesegmentamplitude}}
- {\pgfpointadd{\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
- {\pgfpoint{-\pgfsnakesegmentaspect\pgfsnakeremainingdistance}{\pgfsnakesegmentamplitude}}}
- {\pgfpoint{\pgfsnakeremainingdistance}{0pt}}
+ {\pgfqpoint{\pgfsnakesegmentaspect\pgfsnakeremainingdistance}{\pgfsnakesegmentamplitude}}
+ {\pgfpointadd{\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
+ {\pgfqpoint{-\pgfsnakesegmentaspect\pgfsnakeremainingdistance}{\pgfsnakesegmentamplitude}}}
+ {\pgfqpoint{\pgfsnakeremainingdistance}{0pt}}
}
\state{final}
{}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
index 6fa6b9963cc..5ae08cdf634 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex,v 1.3 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzbackgrounds.code.tex,v 1.5 2007/04/11 13:04:15 tantau Exp $
% Layers
@@ -27,7 +27,7 @@
\define@key{tikz}{inner frame sep}{\def\tikz@framexsep{#1}\def\tikz@frameysep{#1}}
\define@key{tikz}{inner frame xsep}{\def\tikz@framexsep{#1}}
-\define@key{tikz}{inerr frame ysep}{\def\tikz@frameysep{#1}}
+\define@key{tikz}{inner frame ysep}{\def\tikz@frameysep{#1}}
\def\tikz@framexsep{1ex}
\def\tikz@frameysep{1ex}
@@ -66,8 +66,8 @@
\pgf@yb=\pgf@picminy%
\pgf@xc=\pgf@picmaxx%
\pgf@yc=\pgf@picmaxy%
- \setlength{\pgf@x}{\tikz@framexsep}%
- \setlength{\pgf@y}{\tikz@frameysep}%
+ \pgfmathsetlength{\pgf@x}{\tikz@framexsep}%
+ \pgfmathsetlength{\pgf@y}{\tikz@frameysep}%
\advance\pgf@xb by-\pgf@x%
\advance\pgf@yb by-\pgf@y%
\advance\pgf@xc by\pgf@x%
@@ -76,8 +76,8 @@
\edef\tikz@bg@miny{\the\pgf@yb}%
\edef\tikz@bg@maxx{\the\pgf@xc}%
\edef\tikz@bg@maxy{\the\pgf@yc}%
- \setlength{\pgf@x}{\tikz@outerframexsep}%
- \setlength{\pgf@y}{\tikz@outerframeysep}%
+ \pgfmathsetlength{\pgf@x}{\tikz@outerframexsep}%
+ \pgfmathsetlength{\pgf@y}{\tikz@outerframeysep}%
\advance\pgf@xb by-\pgf@x%
\advance\pgf@yb by-\pgf@y%
\advance\pgf@xc by\pgf@x%
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcalendar.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcalendar.code.tex
new file mode 100644
index 00000000000..ec8cc93531b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcalendar.code.tex
@@ -0,0 +1,458 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzcalendar.code.tex,v 1.12 2007/03/09 17:49:32 tantau Exp $
+
+
+\pgfutil@usemodule{pgfcalendar}
+
+
+%
+% General options (these options affect all calendars typeset unsind \calendar):
+%
+% Start, end, and code executed for each current date
+%
+
+\tikzoption{dates}{\tikz@lib@cal@parse#1\relax}
+\def\tikz@lib@cal@parse#1to#2\relax{%
+ \def\tikz@lib@cal@start{#1}
+ \def\tikz@lib@cal@end{#2}%
+}
+\tikzoption{execute at begin day scope}{\expandafter\def\expandafter\tikz@atbegin@day\expandafter{\tikz@atbegin@day#1}}
+\tikzoption{execute at end day scope}{%
+ \def\pgf@temp{#1}%
+ \expandafter\expandafter\expandafter\def%
+ \expandafter\expandafter\expandafter\tikz@atend@day%
+ \expandafter\expandafter\expandafter{\expandafter\pgf@temp\tikz@atend@day}}
+\tikzoption{execute before day scope}{\expandafter\def\expandafter\tikz@before@day\expandafter{\tikz@before@day#1}}
+\tikzoption{execute after day scope}{\expandafter\def\expandafter\tikz@after@day\expandafter{\tikz@after@day#1}}
+
+\let\tikz@atbegin@day=\pgfutil@empty
+\let\tikz@atend@day=\pgfutil@empty
+\let\tikz@before@day=\pgfutil@empty
+\let\tikz@after@day=\pgfutil@empty
+
+
+
+%
+% Options affecting some calendars:
+%
+
+%
+% Shifts and skips
+%
+
+% Shift between days
+
+\tikzoption{day xshift}{\def\tikz@lib@cal@xshift{#1}}
+\tikzoption{day yshift}{\def\tikz@lib@cal@yshift{#1}}
+
+\def\tikz@lib@cal@yshift{3ex}
+\def\tikz@lib@cal@xshift{3.5ex}
+
+
+% Shift between months
+
+\tikzoption{month xshift}{\def\tikz@lib@cal@month@xshift{#1}}
+\tikzoption{month yshift}{\def\tikz@lib@cal@month@yshift{#1}}
+
+\def\tikz@lib@cal@month@yshift{9ex}
+\def\tikz@lib@cal@month@xshift{9ex}
+
+
+
+
+% Templates for typesetting days, month, years
+
+\tikzoption{day code}{\def\tikzdaycode{#1}}
+\tikzoption{day text}{\def\tikzdaytext{#1}}
+\tikzoption{days}{\tikzstyle{every day}+=[#1]}
+\tikzstyle{every day}=[anchor=base east]
+
+\tikzoption{month code}{\def\tikzmonthcode{#1}}
+\tikzoption{month text}{\def\tikzmonthtext{#1}}
+\tikzstyle{every month}=[]
+
+\tikzoption{year code}{\def\tikzyearcode{#1}}
+\tikzoption{year text}{\def\tikzyeartext{#1}}
+\tikzstyle{every year}=[]
+
+\def\tikzdaycode{\node[name=\pgfcalendarsuggestedname,every day]{\tikzdaytext};}
+\def\tikzmonthcode{\node[every month]{\tikzmonthtext};}
+\def\tikzyearcode{\node[every year]{\tikzyeartext};}
+
+\def\tikzdaytext{\%d-}
+\def\tikzmonthtext{\%mt}
+\def\tikzyeartext{\%y0}
+
+
+% Internal option for storing the "width" of a calendar as a number of
+% days
+
+\tikzoption{tikz@lib@cal@width}{\def\tikz@lib@cal@width{#1}}
+
+\def\tikz@lib@cal@width{1}
+
+%
+% Days on a line
+%
+
+\tikzstyle{day list downward}=[%
+ execute before day scope={
+ \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}
+ {%
+ % On first of month, except when first date in calendar.
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@month@yshift}%
+ \pgftransformyshift{-\pgf@y}
+ }%
+ }{}%
+ },
+ execute after day scope={\pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}\pgftransformyshift{-\pgf@y}},
+ tikz@lib@cal@width=1
+]
+\tikzstyle{day list upward}=[%
+ execute before day scope={
+ \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}
+ {%
+ % On first of month, except when first date in calendar.
+ \pgftransformyshift{\tikz@lib@cal@month@yshift}%
+ }%
+ }{}%
+ },
+ execute after day scope={\pgftransformyshift\tikz@lib@cal@yshift},
+ tikz@lib@cal@width=1
+]
+\tikzstyle{day list right}=[%
+ execute before day scope={
+ \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}
+ {%
+ % On first of month, except when first date in calendar.
+ \pgftransformxshift{\tikz@lib@cal@month@xshift}%
+ }%
+ }{}%
+ },
+ execute after day scope={\pgftransformxshift\tikz@lib@cal@xshift},
+ tikz@lib@cal@width=30% not quite right, but close enough in most cases...
+]
+
+\tikzstyle{day list left}=[%
+ execute before day scope={
+ \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}
+ {%
+ % On first of month, except when first date in calendar.
+ \pgfmathsetlength{\pgf@x}{\tikz@lib@cal@month@xshift}
+ \pgftransformxshift{-\pgf@x}%
+ }%
+ }{}%
+ },
+ execute after day scope={
+ \pgfmathsetlength{\pgf@x}{\tikz@lib@cal@xshift}
+ \pgftransformxshift{-\pgf@x}%
+ },
+ tikz@lib@cal@width=30% not quite right, but close enough in most cases...
+]
+
+
+
+%
+% Week list
+%
+
+\tikzstyle{week list}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}
+ {%
+ % On first of month, except when first date in calendar.
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@month@yshift}%
+ \pgftransformyshift{-\pgf@y}
+ }%
+ }{}%
+ },
+ execute at begin day scope={%
+ \pgfmathsetlength\pgf@x{\tikz@lib@cal@xshift}%
+ \pgf@x=\pgfcalendarcurrentweekday\pgf@x%
+ \pgftransformxshift{\pgf@x}%
+ },
+ execute after day scope={%
+ \ifdate{Sunday}{%
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
+ \pgftransformyshift{-\pgf@y}
+ }{}%
+ },
+ tikz@lib@cal@width=7
+]
+
+
+
+%
+% Month list
+%
+
+\tikzstyle{month list}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}
+ {%
+ % On first of month, except when first date in calendar.
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@month@yshift}%
+ \pgftransformyshift{-\pgf@y}
+ }%
+ }{}%
+ \ifdate{day of month=1}
+ {%
+ \edef\tikz@lib@cal@month@list@start{\pgfcalendarcurrentweekday}%
+ }{}%
+ \ifdate{equals=\pgfcalendarbeginiso}%
+ {%
+ % Computer day of week for start of month
+ {%
+ \c@pgf@counta=\pgfcalendarcurrentjulian%
+ \advance\c@pgf@counta by-\pgfcalendarcurrentday%
+ \advance\c@pgf@counta by1\relax%
+ \pgfcalendarjuliantoweekday{\c@pgf@counta}{\c@pgf@countb}%
+ \xdef\pgf@temp{\the\c@pgf@countb}%
+ }%
+ \let\tikz@lib@cal@month@list@start=\pgf@temp%
+ }{}%
+ },
+ execute at begin day scope={%
+ \pgfmathsetlength\pgf@xa{\tikz@lib@cal@xshift}%
+ \pgf@xb=\pgfcalendarcurrentday\pgf@xa%
+ \advance\pgf@xb by\tikz@lib@cal@month@list@start\pgf@xa%
+ \advance\pgf@xb by-\pgf@xa\relax%
+ \pgftransformxshift{\pgf@xb}%
+ },
+ tikz@lib@cal@width=37
+]
+
+
+
+
+%
+% Month labels
+%
+
+\tikzstyle{month label left}=[%
+ execute before day scope={\ifdate{day of month=1}{\tikzmonthcode}{}},
+ set style={{every month}+=[anchor=base east,xshift=-3.5ex]}
+]
+
+\tikzstyle{month label left vertical}=[%
+ execute before day scope={\ifdate{day of month=1}{\tikzmonthcode}{}},
+ set style={{every month}+=[anchor=base east,xshift=-4.5ex,yshift=2.25ex,rotate=90]}
+]
+
+\tikzstyle{month label right}=[%
+execute before day scope={\ifdate{day of month=1}{%
+ {%
+ \pgfmathsetlength{\pgf@xa}{\tikz@lib@cal@xshift}%
+ \pgftransformxshift{\tikz@lib@cal@width\pgf@xa}%
+ \pgftransformxshift{-\pgf@xa}%
+ \tikzmonthcode%
+ }}{}},
+ set style={{every month}+=[anchor=base west,xshift=1ex]}
+]
+
+\tikzstyle{month label right vertical}=[%
+ execute before day scope={\ifdate{day of month=1}{%
+ {%
+ \pgfmathsetlength{\pgf@xa}{\tikz@lib@cal@xshift}%
+ \pgftransformxshift{\tikz@lib@cal@width\pgf@xa}%
+ \pgftransformxshift{-\pgf@xa}%
+ \tikzmonthcode%
+ }}{}},
+ set style={{every month}+=[anchor=base west,xshift=2ex,yshift=2.25ex,rotate=-90]}
+]
+
+\tikzstyle{month label above centered}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{%
+ {
+ \pgfmathsetlength{\pgf@xa}{\tikz@lib@cal@xshift}%
+ \pgf@xb=\tikz@lib@cal@width\pgf@xa%
+ \advance\pgf@xb by-\pgf@xa%
+ \pgf@xb=.5\pgf@xb%
+ \pgftransformxshift{\pgf@xb}%
+ \pgftransformxshift{-1.5ex}%
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
+ \pgftransformyshift{1.25\pgf@y}
+ \tikzmonthcode%
+ }
+ }{}},
+ set style={{every month}+=[anchor=base]}
+]
+
+\tikzstyle{month label above left}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{%
+ {
+ \pgftransformxshift{-3.25ex}%
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
+ \pgftransformyshift{1.25\pgf@y}
+ \tikzmonthcode%
+ }
+ }{}},
+ set style={{every month}+=[anchor=base west]}
+]
+
+
+
+\tikzstyle{month label above right}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{%
+ {
+ \pgfmathsetlength{\pgf@xa}{\tikz@lib@cal@xshift}%
+ \pgf@xb=\tikz@lib@cal@width\pgf@xa%
+ \advance\pgf@xb by-\pgf@xa%
+ \pgftransformxshift{\pgf@xb}%
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
+ \pgftransformyshift{1.25\pgf@y}
+ \tikzmonthcode%
+ }
+ }{}},
+ set style={{every month}+=[anchor=base east]}
+]
+
+\tikzstyle{month label below centered}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{%
+ {
+ \pgfmathsetlength{\pgf@xa}{\tikz@lib@cal@xshift}%
+ \pgf@xb=\tikz@lib@cal@width\pgf@xa%
+ \advance\pgf@xb by-\pgf@xa%
+ \pgf@xb=.5\pgf@xb%
+ \pgftransformxshift{\pgf@xb}%
+ \pgftransformxshift{-1.5ex}%
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
+ \pgftransformyshift{-1.25\pgf@y}
+ \tikzmonthcode%
+ }
+ }{}},
+ set style={{every month}+=[anchor=base]}
+]
+
+\tikzstyle{month label below left}=[%
+ execute before day scope={%
+ \ifdate{day of month=1}{%
+ {
+ \pgftransformxshift{-3.25ex}%
+ \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
+ \pgftransformyshift{-1.25\pgf@y}
+ \tikzmonthcode%
+ }
+ }{}},
+ set style={{every month}+=[anchor=base west]}
+]
+
+
+
+%
+% Code of the actual \calendar command (tikz.code.tex contains \let\calendar=\tikz@lib@cal@calendar):
+%
+
+\def\tikz@lib@cal@calendar{%
+ \begingroup%
+ \let\tikz@lib@cal@ifs=\pgfutil@empty%
+ \tikz@expandcount=1000\relax%
+ \tikz@setkeys{name=,at={(0,0)}}%
+ \let\%=\pgfcalendarshorthand%
+ \tikz@every@style{every calendar}%
+ \tikz@lib@cal@scanner%
+}
+
+\def\tikz@lib@cal@scanner{%
+ \afterassignment\tikz@lib@cal@handle\let\@let@token=%
+}
+
+\def\tikz@lib@cal@handle{%
+ \let\@next=\tikz@lib@cal@expand%
+ \ifx\@let@token;%
+ \let\@next=\tikz@lib@cal@stop%
+ \else%
+ \ifx\@let@token(%)
+ \let\@next=\tikz@lib@cal@name%
+ \else%
+ \ifx\@let@token a%
+ \let\@next=\tikz@lib@cal@at%
+ \else%
+ \ifx\@let@token[%
+ \let\@next=\tikz@lib@cal@option%
+ \else%
+ \ifx\@let@token i%
+ \let\@next=\tikz@lib@cal@if%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \@next%
+}
+\def\tikz@lib@cal@expand{%
+ \advance\tikz@expandcount by -1%
+ \ifnum\tikz@expandcount<0\relax%
+ \PackageError{tikz}{Giving up on this calendar}{}%
+ \let\@next=\tikz@lib@cal@end%
+ \else%
+ \let\@next=\tikz@lib@cal@@expand
+ \fi%
+ \@next}
+
+\def\tikz@lib@cal@@expand{\expandafter\tikz@lib@cal@scanner\@let@token}
+
+
+\def\tikz@lib@cal@name#1){%
+ \tikz@setkeys{name=#1}%
+ \tikz@lib@cal@scanner%
+}
+\def\tikz@lib@cal@at t#1(#2){%
+ \tikz@setkeys{at={(#2)}}%
+ \tikz@lib@cal@scanner%
+}
+\def\tikz@lib@cal@option#1]{%
+ \tikz@setkeys{#1}%
+ \tikz@lib@cal@scanner%
+}
+\def\tikz@lib@cal@if f#1(#2){%
+ \pgfutil@ifnextchar[{\tikz@lib@cal@if@opt{#2}}{\tikz@lib@cal@if@code{#2}}}%}
+
+\def\tikz@lib@cal@if@opt#1[#2]{\tikz@lib@cal@if@code{#1}{\tikz@setkeys{#2}}}
+\def\tikz@lib@cal@if@code#1#2{%
+ \pgfutil@ifnextchar e{\tikz@lib@cal@if@else{#1}{#2}}{\tikz@lib@cal@if@else{#1}{#2}else{}}}
+
+\def\tikz@lib@cal@if@else#1#2else{%
+ \pgfutil@ifnextchar[{\tikz@lib@cal@if@else@opt{#1}{#2}}{\tikz@lib@cal@if@else@code{#1}{#2}}}%}
+\def\tikz@lib@cal@if@else@opt#1#2[#3]{\tikz@lib@cal@if@else@code{#1}{#2}{\tikz@setkeys{#3}}}
+\def\tikz@lib@cal@if@else@code#1#2#3{%
+ \expandafter\def\expandafter\tikz@lib@cal@ifs\expandafter{\tikz@lib@cal@ifs\ifdate{#1}{#2}{#3}}%
+ \tikz@lib@cal@scanner%
+}
+\def\tikz@lib@cal@stop{%
+ \pgftransformshift{\tikz@node@at}%
+ \expandafter\pgfcalendar\expandafter{\tikz@fig@name}{\tikz@lib@cal@start}{\tikz@lib@cal@end}%
+ {%
+ \tikz@before@day%
+ \scope%
+ \tikz@atbegin@day%
+ \tikz@lib@cal@ifs%
+ \tikzdaycode%
+ \tikz@atend@day%
+ \endscope%
+ \tikz@after@day%
+ }%
+ \endgroup%
+}
+
+\tikzoption{if}{%
+ \let\tikz@lib@cal@scanner@orig=\tikz@lib@cal@scanner%
+ \let\tikz@lib@cal@scanner=\relax%
+ \tikz@lib@cal@if f#1\relax%
+ \let\tikz@lib@cal@scanner=\tikz@lib@cal@scanner@orig}
+
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcoordinatesystems.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcoordinatesystems.code.tex
new file mode 100644
index 00000000000..68659de8138
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzcoordinatesystems.code.tex
@@ -0,0 +1,24 @@
+% Copyright 2007 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[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzmatrix.code.tex,v 1.5 2007/01/08 10:42:19 tantau Exp $
+
+
+
+% Barycentric coordinates
+%
+% Usage: the argument of the coordinate system expression should be a
+% list of comma-separated pairs of the form node=number. For each
+% node, the center anchors is weighted by the number.
+%
+% Exampe: (barycentric cs:a=1,b=1,c=1) yields the weighted middle of
+% the three points a.center, b.center, c.center.
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzfolding.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzfolding.code.tex
new file mode 100644
index 00000000000..25ae5d3e39b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzfolding.code.tex
@@ -0,0 +1,143 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzfolding.code.tex,v 1.3 2007/03/09 17:49:32 tantau Exp $
+
+
+%
+% Length of a standard line in a folding
+%
+
+\tikzoption{folding line length}{\pgfmathsetlength\tikz@lib@fold@length{#1}}
+\newdimen\tikz@lib@fold@length
+\tikz@lib@fold@length=2cm
+
+
+\def\tikz@lib@fold@pentagon#1#2#3#4#5#6{%
+ \begin{scope}[xshift=.5\tikz@lib@fold@length,yshift=0.68819\tikz@lib@fold@length]
+ #1
+ \end{scope}
+ \begin{scope}[shift={(108:\tikz@lib@fold@length)},shift={(36:\tikz@lib@fold@length)},rotate=-36]
+ #2
+ \end{scope}
+ \begin{scope}[xshift=\tikz@lib@fold@length,shift={(72:\tikz@lib@fold@length)},rotate=-108]
+ #3
+ \end{scope}
+ \begin{scope}[xshift=\tikz@lib@fold@length,rotate=180]
+ #4
+ \end{scope}
+ \begin{scope}[rotate=108]
+ #5
+ \end{scope}
+ \begin{scope}[shift={(108:\tikz@lib@fold@length)},rotate=36]
+ #6
+ \end{scope}
+}
+
+
+\def\tikz@lib@fold@path{\draw[every fold](0,0) -- (\tikz@lib@fold@length,0pt);}
+\def\tikz@lib@fold@cut@path{\draw[every cut](0,0) -- (\tikz@lib@fold@length,0pt);}
+\def\tikz@lib@fold@ear@path{
+ \draw[every fold](0,0) -- (\tikz@lib@fold@length,0pt);
+ \draw[every cut] (0,0) -- (.5\tikz@lib@fold@length,.2\tikz@lib@fold@length) --(\tikz@lib@fold@length,0pt);}
+
+\tikzstyle{every cut}=[]
+\tikzstyle{every fold}=[help lines]
+
+\tikzoption{face 1}{\def\tikz@lib@fold@face@A{#1}}
+\tikzoption{face 2}{\def\tikz@lib@fold@face@B{#1}}
+\tikzoption{face 3}{\def\tikz@lib@fold@face@C{#1}}
+\tikzoption{face 4}{\def\tikz@lib@fold@face@D{#1}}
+\tikzoption{face 5}{\def\tikz@lib@fold@face@E{#1}}
+\tikzoption{face 6}{\def\tikz@lib@fold@face@F{#1}}
+\tikzoption{face 7}{\def\tikz@lib@fold@face@G{#1}}
+\tikzoption{face 8}{\def\tikz@lib@fold@face@H{#1}}
+\tikzoption{face 9}{\def\tikz@lib@fold@face@I{#1}}
+\tikzoption{face 10}{\def\tikz@lib@fold@face@J{#1}}
+\tikzoption{face 11}{\def\tikz@lib@fold@face@K{#1}}
+\tikzoption{face 12}{\def\tikz@lib@fold@face@L{#1}}
+
+\let\tikz@lib@fold@face@A=\pgfutil@empty
+\let\tikz@lib@fold@face@B=\pgfutil@empty
+\let\tikz@lib@fold@face@C=\pgfutil@empty
+\let\tikz@lib@fold@face@D=\pgfutil@empty
+\let\tikz@lib@fold@face@E=\pgfutil@empty
+\let\tikz@lib@fold@face@F=\pgfutil@empty
+\let\tikz@lib@fold@face@G=\pgfutil@empty
+\let\tikz@lib@fold@face@H=\pgfutil@empty
+\let\tikz@lib@fold@face@I=\pgfutil@empty
+\let\tikz@lib@fold@face@J=\pgfutil@empty
+\let\tikz@lib@fold@face@K=\pgfutil@empty
+\let\tikz@lib@fold@face@L=\pgfutil@empty
+
+\def\tikzfoldingdodecahedron#1[#2]#3;{%
+ \begingroup%
+ \tikz@setkeys{#2}%
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@A}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@B}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@C}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@path}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@ear@path}
+ }
+ {\tikz@lib@fold@ear@path}
+ {\tikz@lib@fold@path}
+ {\tikz@lib@fold@ear@path}
+ {\tikz@lib@fold@ear@path}
+ }
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@D}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@E}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@path}{\tikz@lib@fold@cut@path}{\tikz@lib@fold@ear@path}
+ }
+ {\tikz@lib@fold@ear@path}
+ {\tikz@lib@fold@path}
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@cut@path}
+ }
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@F}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@G}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@path}{\tikz@lib@fold@cut@path}{\tikz@lib@fold@ear@path}
+ }
+ {\tikz@lib@fold@ear@path}
+ {\tikz@lib@fold@path}
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@cut@path}
+ }
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@H}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@I}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@ear@path}{\tikz@lib@fold@path}{\tikz@lib@fold@cut@path}{\tikz@lib@fold@ear@path}
+ }
+ {\tikz@lib@fold@ear@path}
+ {\tikz@lib@fold@path}
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@cut@path}
+ }
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@J}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@K}
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@path}
+ {\tikz@lib@fold@cut@path}
+ {
+ \tikz@lib@fold@pentagon{\tikz@lib@fold@face@L}{\tikz@lib@fold@cut@path}{\tikz@lib@fold@cut@path}{\tikz@lib@fold@path}{\tikz@lib@fold@cut@path}{\tikz@lib@fold@cut@path}
+ }
+ }
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@path}
+ {\tikz@lib@fold@cut@path}
+ {\tikz@lib@fold@cut@path}
+ }
+ \endgroup
+}
+
+
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmatrix.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmatrix.code.tex
new file mode 100644
index 00000000000..afb1393dffe
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmatrix.code.tex
@@ -0,0 +1,129 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzmatrix.code.tex,v 1.5 2007/01/08 10:42:19 tantau Exp $
+
+
+% A matrix of nodes contains a node in each cell.
+
+\tikzstyle{matrix of nodes}=[%
+ matrix,%
+ cells={anchor=base},%
+ nodes={%
+ execute at begin node=,%
+ execute at end node=,
+ name=\tikzmatrixname-\the\pgfmatrixcurrentrow-\the\pgfmatrixcurrentcolumn%
+ },
+ execute at begin cell=\tikz@lib@matrix@start@cell,%
+ execute at end cell=\tikz@lib@matrix@end@cell,%
+ execute at empty cell=\tikz@lib@matrix@empty@cell
+]
+
+\def\tikz@lib@matrix@empty@cell{\iftikz@lib@matrix@empty\node{};\fi}
+
+\newif\iftikz@lib@matrix@plain
+
+\def\tikz@lib@matrix@start@cell{%
+ \pgfutil@ifnextchar|{\tikz@lib@matrix@with@options}{\tikz@lib@matrix@normal@start@cell}}
+
+\def\tikz@lib@matrix@with@options|#1|{\tikz@lib@matrix@plainfalse\node#1\bgroup}
+
+
+\def\tikz@lib@matrix@normal@start@cell{\pgfutil@ifnextchar\let{\tikz@lib@matrix@check}{\tikz@lib@matrix@plainfalse\node\bgroup}}%
+
+\def\tikz@lib@matrix@check#1{% evil hackery to find out about start of path
+ \pgfutil@ifnextchar\tikz@signal@path{\tikz@lib@matrix@plaintrue\let}{\tikz@lib@matrix@plainfalse\node\bgroup\let}%
+}
+
+\def\tikz@lib@matrix@end@cell{%
+ \iftikz@lib@matrix@plain%
+ \else%
+ \expandafter\egroup\expandafter;%
+ \fi%
+}
+
+% Fill empty nodes in a matrix of nodes
+
+\newif\iftikz@lib@matrix@empty
+
+\tikzoption{nodes in empty cells}[true]{\csname tikz@lib@matrix@empty#1\endcsname}
+
+
+% Same as a matrix of nodes, but switch on math mode in each cell
+\tikzstyle{matrix of math nodes}=[%
+ matrix of nodes,
+ nodes={%
+ execute at begin node=$,%
+ execute at end node=$%
+ }%
+]
+
+
+
+% Provide a delimiter
+
+\tikzoption{left delimiter}{\tikz@add@after@node@path{\tikz@delimiter%
+ {south east}%
+ {south west}%
+ {every delimiter,every left delimiter}%
+ {south}%
+ {north}%
+ {#1}%
+ {.}%
+ {\pgf@y}}}
+
+\tikzoption{right delimiter}{\tikz@add@after@node@path{\tikz@delimiter%
+ {south west}%
+ {south east}%
+ {every delimiter,every right delimiter}%
+ {south}%
+ {north}%
+ {.}%
+ {#1}%
+ {\pgf@y}}}
+
+\tikzoption{above delimiter}{\tikz@add@after@node@path{\tikz@delimiter%
+ {south east}%
+ {north west}%
+ {every delimiter,every above delimiter,rotate=-90}%
+ {west}%
+ {east}%
+ {#1}%
+ {.}%
+ {\pgf@x}}}
+
+\tikzoption{below delimiter}{\tikz@add@after@node@path{\tikz@delimiter%
+ {south west}%
+ {south west}%
+ {every delimiter,every below delimiter,rotate=-90}%
+ {west}%
+ {east}%
+ {.}%
+ {#1}%
+ {\pgf@x}}}
+
+\def\tikz@delimiter#1#2#3#4#5#6#7#8{%
+ \bgroup
+ \pgfextra{\let\tikz@save@last@fig@name=\tikz@last@fig@name}%
+ node[outer sep=0pt,inner sep=0pt,draw=none,fill=none,anchor=#1,at=(\tikz@last@fig@name.#2),#3]
+ {%
+ {\nullfont\pgf@process{\pgfpointdiff{\pgfpointanchor{\tikz@last@fig@name}{#4}}{\pgfpointanchor{\tikz@last@fig@name}{#5}}}}%
+ $\left#6\vcenter{\hrule height .5#8 depth .5#8 width0pt}\right#7$%
+ }
+ \pgfextra{\global\let\tikz@last@fig@name=\tikz@save@last@fig@name}%
+ \egroup%
+}
+
+\tikzstyle{every delimiter}=[]
+\tikzstyle{every left delimiter}=[]
+\tikzstyle{every right delimiter}=[]
+\tikzstyle{every above delimiter}=[]
+\tikzstyle{every below delimiter}=[]
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex
index b7ec179de63..a370789d2f0 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex,v 1.17 2006/10/17 18:57:25 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzmindmap.code.tex,v 1.21 2007/06/07 07:41:11 tantau Exp $
@@ -24,36 +24,36 @@
\pgftransformxshift{-\pgfsnakecirclestartradius}%
\pgfpathmoveto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
\pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}
- \@tempcnta=-\pgfsnakesegmentangle\relax
- \advance\@tempcnta by90\relax
- \setlength\@tempdima{\pgfsnakecirclestartradius}
- \setlength\@tempdimb{\pgfsnakesegmentamplitude}
+ \pgfutil@tempcnta=-\pgfsnakesegmentangle\relax
+ \advance\pgfutil@tempcnta by90\relax
+ \pgfmathsetlength\pgfutil@tempdima{\pgfsnakecirclestartradius}
+ \pgfmathsetlength\pgfutil@tempdimb{\pgfsnakesegmentamplitude}
\pgfpathcurveto
{\pgfpointadd
{\pgfpointpolar{-\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
- {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
- {\pgfpoint{1.25\@tempdima}{-.5\@tempdimb}}
- {\pgfpoint{1.5\@tempdima}{-.5\@tempdimb}}
- \pgfpathlineto{\pgfpoint{1.5\@tempdima}{.5\@tempdimb}}
- \@tempcnta=\pgfsnakesegmentangle\relax
- \advance\@tempcnta by-90\relax
+ {\pgfpointpolar{\the\pgfutil@tempcnta}{.25\pgfutil@tempdima}}}
+ {\pgfqpoint{1.25\pgfutil@tempdima}{-.5\pgfutil@tempdimb}}
+ {\pgfqpoint{1.5\pgfutil@tempdima}{-.5\pgfutil@tempdimb}}
+ \pgfpathlineto{\pgfpoint{1.5\pgfutil@tempdima}{.5\pgfutil@tempdimb}}
+ \pgfutil@tempcnta=\pgfsnakesegmentangle\relax
+ \advance\pgfutil@tempcnta by-90\relax
\pgfpathcurveto
- {\pgfpoint{1.25\@tempdima}{.5\@tempdimb}}
+ {\pgfpoint{1.25\pgfutil@tempdima}{.5\pgfutil@tempdimb}}
{\pgfpointadd
{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
- {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
+ {\pgfpointpolar{\the\pgfutil@tempcnta}{.25\pgfutil@tempdima}}}
{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecirclestartradius}}
\pgfpathclose
}
}
\state{bar}[width=0pt,next state=end]
{
- \setlength\@tempdima{\pgfsnakecirclestartradius}%
- \setlength\@tempdimb{\pgfsnakecircleendradius}%
- \setlength\pgf@xc{\pgfsnakesegmentamplitude}%
+ \pgfmathsetlength\pgfutil@tempdima{\pgfsnakecirclestartradius}%
+ \pgfmathsetlength\pgfutil@tempdimb{\pgfsnakecircleendradius}%
+ \pgfmathsetlength\pgf@xc{\pgfsnakesegmentamplitude}%
\pgfpathrectangle
- {\pgfpoint{.5\@tempdima}{-.5\pgf@xc}}
- {\pgfpoint{\pgfsnakeremainingdistance+-.5\@tempdimb+-.5\@tempdima}{\pgf@xc}}
+ {\pgfqpoint{.5\pgfutil@tempdima}{-.5\pgf@xc}}
+ {\pgfpoint{\pgfsnakeremainingdistance+-.5\pgfutil@tempdimb+-.5\pgfutil@tempdima}{\pgf@xc}}
}
\state{end}[width=0pt,next state=final]
{
@@ -63,24 +63,24 @@
\pgftransformxshift{-\pgfsnakecircleendradius}%
\pgfpathmoveto{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
\pgfpatharc{\pgfsnakesegmentangle}{-\pgfsnakesegmentangle}{\pgfsnakecircleendradius}
- \@tempcnta=-\pgfsnakesegmentangle\relax
- \advance\@tempcnta by90\relax
- \setlength\@tempdima{\pgfsnakecircleendradius}
- \setlength\@tempdimb{\pgfsnakesegmentamplitude}%
+ \pgfutil@tempcnta=-\pgfsnakesegmentangle\relax
+ \advance\pgfutil@tempcnta by90\relax
+ \pgfmathsetlength\pgfutil@tempdima{\pgfsnakecircleendradius}
+ \pgfmathsetlength\pgfutil@tempdimb{\pgfsnakesegmentamplitude}%
\pgfpathcurveto
{\pgfpointadd
{\pgfpointpolar{-\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
- {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
- {\pgfpoint{1.25\@tempdima}{-.5\@tempdimb}}
- {\pgfpoint{1.5\@tempdima}{-.5\@tempdimb}}
- \pgfpathlineto{\pgfpoint{1.5\@tempdima}{.5\@tempdimb}}
- \@tempcnta=\pgfsnakesegmentangle\relax
- \advance\@tempcnta by-90\relax
+ {\pgfpointpolar{\the\pgfutil@tempcnta}{.25\pgfutil@tempdima}}}
+ {\pgfqpoint{1.25\pgfutil@tempdima}{-.5\pgfutil@tempdimb}}
+ {\pgfqpoint{1.5\pgfutil@tempdima}{-.5\pgfutil@tempdimb}}
+ \pgfpathlineto{\pgfpoint{1.5\pgfutil@tempdima}{.5\pgfutil@tempdimb}}
+ \pgfutil@tempcnta=\pgfsnakesegmentangle\relax
+ \advance\pgfutil@tempcnta by-90\relax
\pgfpathcurveto
- {\pgfpoint{1.25\@tempdima}{.5\@tempdimb}}
+ {\pgfpoint{1.25\pgfutil@tempdima}{.5\pgfutil@tempdimb}}
{\pgfpointadd
{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
- {\pgfpointpolar{\the\@tempcnta}{.25\@tempdima}}}
+ {\pgfpointpolar{\the\pgfutil@tempcnta}{.25\pgfutil@tempdima}}}
{\pgfpointpolar{\pgfsnakesegmentangle}{\pgfsnakecircleendradius}}
\pgfpathclose
}
@@ -316,5 +316,36 @@
every annotation]
\tikzstyle{every annotation}=[]
+
+
+\tikz@orig@define@key{tikz@mm@anno}{title}{\def\tikzmindmapinserttitle{#1}}
+\tikz@orig@define@key{tikz@mm@anno}{number}{\def\tikzmindmapinsertnumber{#1}}
+\tikz@orig@define@key{tikz@mm@anno}{url}{\def\tikz@mm@url{#1}}
+\tikz@orig@define@key{tikz@mm@anno}{date}{\def\tikz@mm@date{#1}}
+
+\def\tikz@mindmap@annotation[#1]{%
+ {%
+ \let\tikz@mm@at=\pgfutil@empty%
+ \let\tikz@mm@name=\pgfutil@empty%
+ \let\tikzmindmapinserttitle=\pgfutil@empty%
+ \let\tikzmindmapinsertnumber=\pgfutil@empty%
+ \tikz@orig@setkeys*{tikz@mm@anno}{#1}%
+ \edef\tikz@marshal{%
+ \noexpand\node%
+ [%
+ \XKV@rm,%
+ annotation,%
+ ]%
+ {%
+ \ifx\tikz@mm@url\pgfutil@empty\else%
+ \fi%
+ }%
+ }%
+ %
+ }%
+ \pgfutil@ifnextchar;{\pgfutil@gobble}{}%
+}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex
index 375713fa933..172f9b991d1 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzpetri.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzpetri.code.tex,v 1.4 2006/10/17 08:16:28 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzpetri.code.tex,v 1.5 2007/03/09 17:49:32 tantau Exp $
% Styles for places:
@@ -64,8 +64,8 @@
\def\tikz@grow@tokens{%
- \setlength{\pgf@xa}{\tikz@token@distance}%
- \setlength{\pgf@ya}{\tikz@token@distance}%
+ \pgfmathsetlength{\pgf@xa}{\tikz@token@distance}%
+ \pgfmathsetlength{\pgf@ya}{\tikz@token@distance}%
\pgf@xc=0pt%
\pgf@yc=0pt%
\csname tikz@grow@tokens@placer@\the\tikznumberofchildren @\the\tikznumberofcurrentchild\endcsname%
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.arrows.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.arrows.code.tex
new file mode 100644
index 00000000000..d96884ab716
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.arrows.code.tex
@@ -0,0 +1,14 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.arrows.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\usepgflibrary{shapes.arrows}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex
index ef4dcca2a7b..0ad52cfb429 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.code.tex
@@ -7,8 +7,12 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.code.tex,v 1.2 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.code.tex,v 1.3 2007/06/08 11:24:59 tantau Exp $
-\usepgflibrary{shapes}
+\usetikzlibrary{shapes.geometric}
+\usetikzlibrary{shapes.misc}
+\usetikzlibrary{shapes.symbols}
+\usetikzlibrary{shapes.arrows}
+\usetikzlibrary{shapes.multipart}
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.geometric.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.geometric.code.tex
new file mode 100644
index 00000000000..76e2e2967b9
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.geometric.code.tex
@@ -0,0 +1,23 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.geometric.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+
+\tikzoption{star points}{\pgfsetstarpoints{#1}}
+\tikzoption{star rotate}{\pgfsetstarrotate{#1}}
+\tikzoption{star point height}{\pgfsetstarpointheight{#1}}
+\tikzoption{star point ratio}{\pgfsetstarpointratio{#1}}
+
+\tikzoption{regular polygon sides}{\pgfsetpolygonsides{#1}}
+\tikzoption{regular polygon rotate}{\pgfsetpolygonrotate{#1}}
+
+\usepgflibrary{shapes.geometric}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.misc.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.misc.code.tex
new file mode 100644
index 00000000000..92d9102c986
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.misc.code.tex
@@ -0,0 +1,14 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.misc.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\usepgflibrary{shapes.misc}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.multipart.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.multipart.code.tex
new file mode 100644
index 00000000000..f9f29dbaea3
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.multipart.code.tex
@@ -0,0 +1,14 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.multipart.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\usepgflibrary{shapes.multipart}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.symbols.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.symbols.code.tex
new file mode 100644
index 00000000000..9760b07fc8b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikzshapes.symbols.code.tex
@@ -0,0 +1,14 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikzshapes.symbols.code.tex,v 1.1 2007/06/08 11:24:59 tantau Exp $
+
+\usepgflibrary{shapes.symbols}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex
index 6e8cf9e0690..6c720fdc95f 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztopaths.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztopaths.code.tex,v 1.5 2006/10/16 22:32:59 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztopaths.code.tex,v 1.7 2007/06/07 07:41:11 tantau Exp $
% Straight to
@@ -177,7 +177,7 @@
%
% Calculate length of second to first vector:
%
- \pgf@process{\pgfpointnormalised{\pgfpoint{\pgf@xa}{\pgf@ya}}}%
+ \pgf@process{\pgfpointnormalised{\pgfqpoint{\pgf@xa}{\pgf@ya}}}%
\ifdim\pgf@x>\pgf@y%
\c@pgf@counta=\pgf@x%
\ifnum\c@pgf@counta=0\relax%
@@ -201,19 +201,19 @@
\pgf@xa=\tikz@to@out@looseness\pgf@x%
\pgf@xb=\tikz@to@in@looseness\pgf@x%
% Adjust as necessary
- \setlength{\pgf@ya}{\tikz@to@out@min}
+ \pgfmathsetlength{\pgf@ya}{\tikz@to@out@min}
\ifdim\pgf@xa<\pgf@ya%
\pgf@xa=\pgf@ya%
\fi%
- \setlength{\pgf@ya}{\tikz@to@out@max}
+ \pgfmathsetlength{\pgf@ya}{\tikz@to@out@max}
\ifdim\pgf@xa>\pgf@ya%
\pgf@xa=\pgf@ya%
\fi%
- \setlength{\pgf@ya}{\tikz@to@in@min}
+ \pgfmathsetlength{\pgf@ya}{\tikz@to@in@min}
\ifdim\pgf@xb<\pgf@ya%
\pgf@xb=\pgf@ya%
\fi%
- \setlength{\pgf@ya}{\tikz@to@in@max}
+ \pgfmathsetlength{\pgf@ya}{\tikz@to@in@max}
\ifdim\pgf@xb>\pgf@ya%
\pgf@xb=\pgf@ya%
\fi%
@@ -275,7 +275,7 @@
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgfpointshapeborder{\tikztostart}{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
- \xdef\tikz@tofrom@smuggle{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}
+ \xdef\tikz@tofrom@smuggle{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}
}%
\let\tikz@first@point=\tikz@tofrom@smuggle%
\tikz@first@point%
@@ -302,7 +302,7 @@
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
\pgfpointshapeborder{\tikztotarget}{\pgfqpoint{\pgf@xc}{\pgf@yc}}%
- \xdef\tikz@toto@smuggle{\noexpand\pgfpoint{\the\pgf@x}{\the\pgf@y}}
+ \xdef\tikz@toto@smuggle{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}
}%
\let\tikz@second@point=\tikz@toto@smuggle%
}%
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
index 841b534fed3..cba3a725ad1 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytikztrees.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztrees.code.tex,v 1.7 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/libraries/pgflibrarytikztrees.code.tex,v 1.8 2007/03/09 17:49:32 tantau Exp $
@@ -49,7 +49,7 @@
\advance\pgf@xa by\pgf@xc%
\advance\pgf@ya by\pgf@yb%
\advance\pgf@ya by\pgf@yc%
- \edef\pgf@temp{\noexpand\pgftransformshift{\noexpand\pgfpoint{\the\pgf@xa}{\the\pgf@ya}}}%
+ \edef\pgf@temp{\noexpand\pgftransformshift{\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}}%
\pgf@temp%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
new file mode 100644
index 00000000000..e4c83128140
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
@@ -0,0 +1,10 @@
+% Copyright 2007 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.
+
+\input pgfmathcalc.code.tex
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathbase.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathbase.code.tex
new file mode 100644
index 00000000000..8228c389c7c
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathbase.code.tex
@@ -0,0 +1,263 @@
+% Copyright 2007 by Mark Wibrow
+%
+% 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.
+%
+% This file provides basic macros for converting between bases.
+%
+% Version 0.0 08/03/2007
+
+% \pgfmathbasetodec
+%
+% Convert a representation of an integer from
+% the spcified base to base 10.
+%
+% #1 - a macro to store the result.
+% #2 - the representation of a number (i.e. not a register)
+% #3 - the current base.
+%
+% e.g.
+%
+% \pgfmathbasetodec\mynumber{10111}{2}
+%
+% \mynumber <- 23
+%
+\def\pgfmathbasetodec#1#2#3{%
+ \pgfmath@checknumber{#2}%
+ \pgfmath@checkbase{#3}%
+ \def\pgfmath@base{#3}%
+ \def\pgfmath@macro{#1}%
+ \c@pgfmath@counta1\relax%
+ \def\pgfmath@reversed{}%
+ \expandafter\pgfmathbasetodec@#2\pgfmathbasetodec}
+
+\def\pgfmathbasetodec@#1{%
+ \ifx\pgfmathbasetodec#1%
+ \c@pgfmath@countb0%
+ \divide\c@pgfmath@counta by\pgfmath@base\relax%
+ \expandafter\pgfmathbasetodec@@%
+ \else%
+ \edef\pgfmath@reversed{\pgfmath@reversed#1}%
+ \expandafter\multiply\expandafter\c@pgfmath@counta\pgfmath@base\relax%
+ \expandafter\pgfmathbasetodec@%
+ \fi}
+
+\def\pgfmathbasetodec@@{\expandafter\pgfmathbasetodec@@@\pgfmath@reversed\pgfmathbasetodec}
+
+\def\pgfmathbasetodec@@@#1{%
+ \ifx\pgfmathbasetodec#1\relax%
+ \expandafter\edef\pgfmath@macro{\the\c@pgfmath@countb}%
+ \let\pgfmath@next\pgfmathbasetodec@@@@%
+ \else%
+ \chardef\pgfmath@charnum`#1\relax%
+ \c@pgfmath@countc\pgfmath@charnum%
+ \ifnum\c@pgfmath@countc>96\relax%
+ \advance\c@pgfmath@countc-87\relax%
+ \else
+ \ifnum\c@pgfmath@countc>64\relax%
+ \advance\c@pgfmath@countc-55\relax%
+ \else
+ \advance\c@pgfmath@countc-48\relax%
+ \fi\fi%
+ \ifnum\c@pgfmath@countc<\pgfmath@base\relax%
+ \multiply\c@pgfmath@countc\c@pgfmath@counta\relax%
+ \advance\c@pgfmath@countb\c@pgfmath@countc%
+ \divide\c@pgfmath@counta by\pgfmath@base\relax%
+ \let\pgfmath@next\pgfmathbasetodec@@@%
+ \else
+ \pgfmath@error{Digit `#1' invalid for base \pgfmath@base}%
+ \let\pgfmath@next\relax%
+ \fi%
+ \fi%
+ \pgfmath@next}
+\def\pgfmathbasetodec@@@@{%
+ \expandafter\pgfmath@ensurenumberlength\expandafter{\pgfmath@macro}%
+}
+
+% \pgfmathdectobase
+%
+% Convert a representation of an integer from
+% base 10 to the spcified base. Letters for bases
+% greater than 10 are in lowercase.
+%
+% #1 - a macro to store the result.
+% #2 - a number in base 10 (in a macro, not a register)
+% #3 - the required base.
+%
+% e.g.
+%
+% \pgfmathdectobase\mynumber{127}{16}
+%
+% \mynumber <- 7f
+%
+\def\pgfmathdectobase#1#2#3{%
+ \pgfmath@checknumber{#2}%
+ \pgfmath@checkbase{#3}%
+ \c@pgfmath@counta#2\relax%
+ \def#1{}%
+ \pgfmathloop
+ \ifnum\c@pgfmath@counta>0\relax%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \divide\c@pgfmath@countb#3\relax%
+ \multiply\c@pgfmath@countb-#3\relax%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \edef#1{\csname pgfmath@lowercase digit@\the\c@pgfmath@countb\endcsname#1}%
+ \divide\c@pgfmath@counta#3\relax%
+ \repeatpgfmathloop%
+ \pgfmath@ensurenumberlength{#1}}
+
+% \pgfmathdectoBase
+%
+% Convert a representation of an integer from
+% base 10 to the spcified base. Letters for bases
+% greater than 10 are in uppercase.
+%
+% #1 - a macro to store the result.
+% #2 - a number in base 10 (in a macro, not a register)
+% #3 - the required base.
+%
+% e.g.
+%
+% \pgfmathdectoBase\mynumber{127}{16}
+%
+% \mynumber <- 7F
+%
+\def\pgfmathdectoBase#1#2#3{%
+ \pgfmath@checkbase{#3}%
+ \pgfmath@checknumber{#2}%
+ \c@pgfmath@counta#2\relax%
+ \def#1{}%
+ \pgfmathloop
+ \ifnum\c@pgfmath@counta>0\relax%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \divide\c@pgfmath@countb#3\relax%
+ \multiply\c@pgfmath@countb-#3\relax%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \edef#1{\csname pgfmath@uppercase digit@\the\c@pgfmath@countb\endcsname#1}%
+ \divide\c@pgfmath@counta#3\relax%
+ \repeatpgfmathloop%
+ \pgfmath@ensurenumberlength{#1}}
+
+\def\pgfmath@createdigits{%
+ \def\pgfmath@digitstyle{lowercase digit}%
+ \c@pgfmath@counta0\relax%
+ \pgfmath@createdigits@0123456789abcdefghijklmnopqrstuvwxyz\pgfmath@createdigits%
+ \def\pgfmath@digitstyle{uppercase digit}%
+ \c@pgfmath@counta0\relax%
+ \pgfmath@createdigits@0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\pgfmath@createdigits}
+
+\def\pgfmath@createdigits@#1{%
+ \ifx\pgfmath@createdigits#1\relax%
+ \else%
+ \expandafter\pgfmath@def\expandafter{\pgfmath@digitstyle}{\the\c@pgfmath@counta}{#1}%
+ \advance\c@pgfmath@counta1\relax%
+ \expandafter\pgfmath@createdigits@%
+ \fi}
+\pgfmath@createdigits
+
+% \pgfmathbasetobase
+%
+% Convert a representation of an integer from
+% between the specified bases. Letters for target
+% bases greater than 10 are in lppercase.
+%
+% #1 - a macro to store the result.
+% #2 - a number (in a macro, not a register)
+% #3 - the source base.
+% #4 - the target base.
+%
+% e.g.
+%
+% \pgfmathbasetobase\mynumber{4321}{5}{9}
+%
+% \mynumber <- 721
+%
+\def\pgfmathbasetobase#1#2#3#4{%
+ \pgfmathbasetodec{\pgfmath@temp}{#2}{#3}%
+ \pgfmathdectobase{#1}{\pgfmath@temp}{#4}
+}
+
+% \pgfmathbasetobase
+%
+% Convert a representation of an integer from
+% between the specified bases. Letters for target
+% bases greater than 10 are in lppercase.
+%
+% #1 - a macro to store the result.
+% #2 - a number (in a macro, not a register)
+% #3 - the source base.
+% #4 - the target base.
+%
+% e.g.
+%
+% \pgfmathbasetobase\mynumber{1234}{5}{12}
+%
+% \mynumber <- 142
+%
+\def\pgfmathbasetoBase#1#2#3#4{%
+ \pgfmathbasetodec{\pgfmath@temp}{#2}{#3}%
+ \pgfmathdectoBase{#1}{\pgfmath@temp}{#4}
+}
+
+\def\pgfmath@checkbase#1{%
+ \ifnum#1<2\relax%
+ \pgfmath@error{Cannot process numbers in base `#1'.}%
+ \else%
+ \ifnum#1>36\relax%
+ \pgfmath@error{Cannot process numbers in base `#1'.}%
+ \fi\fi}
+
+\def\pgfmath@checknumber#1{%
+ \expandafter\pgfmath@checknumber@#1\pgfmath@}
+\def\pgfmath@checknumber@#1#2\pgfmath@{%
+ \ifx#1-%
+ \pgfmath@error{Cannot process negative numbers.}%
+ \fi}
+
+
+% \pgfmath@ensurenumberlength
+%
+% Internal macro for making a representation of a number have
+% a specific length, byt prefixing zeros to the number.
+%
+% #1 - a macro contatining a representation of an integer.
+% #2 - the number of digits to ensure.
+%
+% e.g.
+%
+% \foo <- 7FF
+%
+% \pgfmathsetnumberlength{8}%
+% \pgfmath@ensurenumberlength\foo
+%
+% \foo <- 000007FF
+%
+\def\pgfmath@ensurenumberlength#1{%
+ \def\pgfmath@tempa{#1}%
+ \expandafter\c@pgfmath@counta\pgfmath@basenumberlength\relax%
+ \expandafter\pgfmath@ensurenumberlength@#1\pgfmath@ensurenumberlength}
+\def\pgfmath@ensurenumberlength@#1{%
+ \ifx\pgfmath@ensurenumberlength#1\relax%
+ \expandafter\pgfmath@ensurenumberlength@@%
+ \else%
+ \advance\c@pgfmath@counta-1\relax%
+ \expandafter\pgfmath@ensurenumberlength@
+ \fi}
+
+\def\pgfmath@ensurenumberlength@@{%
+ \edef\pgfmath@tempb{\pgfmath@tempa}%
+ \pgfmath@ensurenumberlength@@@}
+\def\pgfmath@ensurenumberlength@@@{%
+ \ifnum\c@pgfmath@counta>0\relax%
+ \advance\c@pgfmath@counta-1\relax%
+ \edef\pgfmath@tempb{0\pgfmath@tempb}%
+ \expandafter\pgfmath@ensurenumberlength@@@%
+ \fi%
+ \expandafter\edef\pgfmath@tempa{\pgfmath@tempb}}
+
+\def\pgfmathsetbasenumberlength#1{\def\pgfmath@basenumberlength{#1}}
+\pgfmathsetbasenumberlength{1}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
new file mode 100644
index 00000000000..8cf9bbd26b5
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
@@ -0,0 +1,194 @@
+% Copyright 2007 by Mark Wibrow
+%
+% 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.
+
+% This file loads all the parsing, functions and operator stuff
+%
+% Version 0.0 08/03/2007
+
+\input pgfmathutil.code.tex
+\input pgfmathparser.code.tex
+\input pgfmathoperations.code.tex
+\input pgfmathbase.code.tex
+
+
+% \pgfmathsetlength, \pgfmathaddtolength
+%
+% #1 = dimension register
+% #2 = expression
+%
+% Description:
+%
+% These functions work similar to \setlength and \addtolength. Only,
+% they allow #2 to contain an expression, which is evaluated before
+% assignment. Furthermore, the font is setup before the assignment is
+% done, so that dimensions like 1em are evaluated correctly.
+%
+% If #2 starts with "+", then a simple assignment is done (but the
+% font is still setup). This is orders of magnitude faster than a
+% parsed assignment.
+
+\def\pgfmathsetlength#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ % Ok, quick version:
+ \begingroup%
+ \pgfutil@selectfont%
+ \pgfmath@x#2\unskip%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+ #1\pgfmathresult pt\relax%
+ }%
+ {%
+ \pgfmathparse{#2}#1\pgfmathresult pt\relax%
+}%
+}
+\def\pgfmathaddtolength#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ \begingroup%
+ \pgfutil@selectfont%
+ \pgfmath@x#1\relax%
+ \advance\pgfmath@x#2\unskip%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+ #1\pgfmathresult pt\relax%
+ }%
+ {\pgfmathparse{#2}\advance#1\pgfmathresult pt\relax}%
+}
+
+% Not really needed and does not work in plain TeX:
+%\def\pgfmathnewcounter#1{%
+% \expandafter\let\expandafter\pgfmath@register\csname c@#1\endcsname%
+% \expandafter\ifx\pgfmath@register\relax%
+% \expandafter\newcount\csname c@#1\endcsname%
+% \csname c@#1\endcsname0\relax%
+% \expandafter\def\csname the#1\endcsname{\expandafter\the\csname c@#1\endcsname}%
+% \else% Do nothing.
+% \fi}%
+
+% \pgfmathsetcounter, \pgfmathaddtocounter
+%
+% Results of parsing are truncated.
+%
+\def\pgfmathsetcounter#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ \csname c@#1\endcsname=#2\relax%
+ }%
+ {%
+ \pgfmath@ifundefined{c@#1}{\pgfmath@error{No counter named '#1' is known}{}}{%
+ \pgfmathparse{#2}%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \csname c@#1\endcsname\pgfmathresult\relax\pgfmath@%
+ }%
+ }%
+}
+
+\def\pgfmathaddtocounter#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ \advance\csname c@#1\endcsname by#2\relax%
+ }%
+ {%
+ \pgfmath@ifundefined{c@#1}{\pgfmath@error{No counter named '#1' is known}{}}{%
+ \edef\pgfmath@addtocountertemp{\expandafter\the\csname c@#1\endcsname}%
+ \pgfmathparse{#2}%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \csname c@#1\endcsname\pgfmathresult\relax\pgfmath@%
+ \expandafter\advance\csname c@#1\endcsname\pgfmath@addtocountertemp%
+ }%
+ }%
+}
+
+% \pgfmathsetcount, \pgfmathaddtocount
+%
+% Results of parsing are truncated.
+%
+\def\pgfmathsetcount#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ #1#2\relax%
+ }%
+ {%
+ \pgfmathparse{#2}%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ #1\pgfmathresult\relax\pgfmath@%
+ }%
+}
+
+\def\pgfmathaddtocount#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ \advance#1 by#2\relax%
+ }%
+ {%
+ \edef\pgfmath@addtocounttemp{\the#1}%
+ \pgfmathparse{#2}%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ #1\pgfmathresult\relax\pgfmath@%
+ \advance#1\pgfmath@addtocounttemp%
+ }%
+}
+
+\def\pgfmathsetmacro#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ \begingroup%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \pgfmath@x#2pt\relax\pgfmath@%
+ \edef#1{\pgfmath@tonumber{\pgfmath@x}}%
+ \pgfmath@smuggleone{#1}
+ \endgroup%
+ }%
+ {%
+ \pgfmathparse{#2}%
+ \edef#1{\pgfmathresult}%
+ }%
+}
+
+\def\pgfmathtruncatemacro#1#2{%
+ \expandafter\pgfmath@onquick#2\pgfmath@%
+ {%
+ \begingroup%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \c@pgfmath@counta#2\relax\pgfmath@%
+ \edef#1{\the\c@pgfmath@counta}%
+ \pgfmath@smuggleone{#1}
+ \endgroup%
+ }%
+ {%
+ \pgfmathparse{#2}%
+ \edef#1{\pgfmathresult}%
+ }%
+}
+
+% Check whether a given parameter starts with quick.
+%
+% The command should be followed by nonempty text, ending with
+% \pgfmath@ as a stop-token. Then should follow
+%
+% #1 = code to execute if text starts with +
+% #2 = code to execute if text does not
+%
+% Example:
+%
+% \pgfmath@onquick+0pt\pgfmath@{is quick}{is slow}
+
+\def\pgfmath@onquick{%
+ \afterassignment\pgfmath@afterquick%
+ \let\pgfmath@next=%
+}
+
+\def\pgfmath@afterquick#1\pgfmath@{%
+ \ifx\pgfmath@next+%
+ \expandafter\pgfmath@firstoftwo%
+ \else%
+ \expandafter\pgfmath@secondoftwo%
+ \fi%
+} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathoperations.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathoperations.code.tex
new file mode 100644
index 00000000000..e5d1be605c1
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathoperations.code.tex
@@ -0,0 +1,781 @@
+% Copyright 2007 by Mark Wibrow
+%
+% 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.
+
+% This file defines the mathematical functions and operators.
+%
+% Version 0.0 08/03/2007
+
+% This file defines the mathematical functions and operators.
+%
+% Adding/redefining extra operators/functions:
+%
+% Each operator/function XXX has two forms:
+%
+%
+% \pgfmathXXX#1... a public version which evaluates any
+% arguments passed to it and passes the
+% results on to...
+%
+% \pgfmathXXX@#1... a non-public version which performs
+% required calculation on arguments which
+% must have already been evaluated (i.e.
+% *without* dimensions).
+%
+% If a function XXX is to be included in the parser, it is
+% recommended, for consistency, that where possible, the
+% pgfmathparser file should define the macro \pgfmath@parseXXX.
+% The parser should (ideally) then call \pgfmathXXX@.
+%
+% It is recommend that the pgfmath versions of the pgf dimension
+% and count registers be used, i.e., \pgfmath@x for \pgfmath@x,
+% \c@pgfmath@counta for c@pgfmath@counta, and so on. These are currently
+% \let to their pgf equivalents, but it may be necessary to change
+% this.
+%
+% It is also recommened that all calculations (where necessary)
+% take place within a TeX group. \pgfmath@returnone#1 makes and
+% expanded version of #1 global and stores this in \pgfmathresult
+% after the group is ended.
+%
+
+\input pgfmathtrig.code.tex% Load the trig. stuff.
+\input pgfmathrnd.code.tex% Load the random stuff.
+
+
+% \pgfmathadd
+%
+% Add #1 and #2.
+%
+\def\pgfmathadd#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@adda{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@addb{\pgfmathresult}%
+ \pgfmathadd@{\pgfmath@adda}{\pgfmath@addb}}
+\def\pgfmathadd@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \advance\pgfmath@x by\pgfmath@y%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathsubtract
+%
+% Subtract #2 from #1.
+%
+\def\pgfmathsubtract#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@subtracta{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@subtractb{\pgfmathresult}%
+ \pgfmathsubtract@{\pgfmath@subtracta}{\pgfmath@subtractb}}
+
+\def\pgfmathsubtract@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \advance\pgfmath@x by-\pgfmath@y%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathmultiply
+%
+% Multiply #1 by #2.
+%
+\def\pgfmathmultiply#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@multiplya{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@multiplyb{\pgfmathresult}%
+ \pgfmathmultiply@{\pgfmath@multiplya}{\pgfmath@multiplyb}}
+\def\pgfmathmultiply@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@x#2\pgfmath@x%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathdivide
+%
+% Divide #1 by #2.
+%
+\def\pgfmathdivide#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@dividea{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@divideb{\pgfmathresult}%
+ \pgfmathdivide@{\pgfmath@dividea}{\pgfmath@divideb}}
+\def\pgfmathdivide@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ % If #2 is an integer use TeX arithmatic.
+ \expandafter\pgfmath@xa#2pt\relax%
+ \afterassignment\pgfmath@xa%
+ \expandafter\c@pgfmath@counta\the\pgfmath@xa\relax%
+ \ifdim\pgfmath@xa=0pt\relax%
+ \ifnum\c@pgfmath@counta=0\relax%
+ \pgfmath@error{Division by zero.}{}%
+ \fi%
+ \divide\pgfmath@x\c@pgfmath@counta%
+ \else%
+ \pgfmathreciprocal@{#2}%
+ \pgfmath@x=\pgfmathresult\pgfmath@x%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathgreaterthan
+%
+% 1.0 if #1 > #2. Otherwise 0.0
+%
+\def\pgfmathgreaterthan#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@greaterthana{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@greaterthanb{\pgfmathresult}%
+ \pgfmathgreaterthan@{\pgfmath@greaterthana}{\pgfmath@greaterthanb}}
+\def\pgfmathgreaterthan@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \advance\pgfmath@x-\pgfmath@y%
+ \ifdim\pgfmath@x>0pt\relax%
+ \pgfmath@x1pt\relax%
+ \else%
+ \pgfmath@x0pt\relax%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathlessthan
+%
+% 1.0 if #1< #2. Otherwise 0.0
+%
+\def\pgfmathlessthan#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@lessthana{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@lessthanb{\pgfmathresult}%
+ \pgfmathlessthan@{\pgfmath@lessthana}{\pgfmath@lessthanb}}
+\def\pgfmathlessthan@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \advance\pgfmath@x-\pgfmath@y\relax%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@x1pt\relax%
+ \else%
+ \pgfmath@x0pt\relax%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathequalto
+%
+% 1.0 if #1 = #2. Otherwise 0.0
+%
+\def\pgfmathequalto#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@equaltoa{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@equaltob{\pgfmathresult}%
+ \pgfmathadd@{\pgfmath@equaltoa}{\pgfmath@equaltob}}
+\def\pgfmathequalto@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \advance\pgfmath@x-\pgfmath@y%
+ \ifdim\pgfmath@x=0pt\relax%
+ \pgfmath@x1pt\relax%
+ \else%
+ \pgfmath@x0pt\relax%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathreciprocal
+%
+% 1 / #1
+%
+\def\pgfmathreciprocal#1{%
+ \pgfmathparse{#1}%
+ \pgfmathreciprocal@{\pgfmathresult}}
+\def\pgfmathreciprocal@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \ifdim\pgfmath@x=0pt\relax%
+ \pgfmath@error{Division by zero.}{}%
+ \fi%
+ \edef\pgfmath@reciprocaltemp{\pgfmath@tonumber{\pgfmath@x}}%
+ \expandafter\pgfmathreciprocal@@\pgfmath@reciprocaltemp00000\pgfmath@}
+\def\pgfmathreciprocal@@#1.#2#3#4#5#6#7\pgfmath@{%
+ \c@pgfmath@counta#2#3#4#5#6\relax%
+ % If the number is an integer, use TeX arithmatic.
+ \ifnum\c@pgfmath@counta=0\relax%
+ \pgfmath@x1pt\relax%
+ \divide\pgfmath@x#1\relax%
+ \else%
+ \c@pgfmath@counta#1#2#3#4#5#6\relax%
+ \c@pgfmath@countb1000000000\relax%
+ \divide\c@pgfmath@countb\c@pgfmath@counta%
+ \c@pgfmath@counta\c@pgfmath@countb%
+ \divide\c@pgfmath@counta10000\relax%
+ \pgfmath@x\c@pgfmath@counta pt\relax%
+ \multiply\c@pgfmath@counta-10000\relax%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \pgfmath@y\c@pgfmath@countb pt\relax%
+ \pgfmath@y.1\pgfmath@y% Yes! This way is more accurate. Go figure...
+ \pgfmath@y.1\pgfmath@y%
+ \pgfmath@y.1\pgfmath@y%
+ \pgfmath@y.1\pgfmath@y%
+ \advance\pgfmath@x\pgfmath@y%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup
+}
+
+
+% \pgfmathabs
+%
+% Calculate |#1|
+%
+\def\pgfmathabs#1{%
+ \pgfmathparse{#1}%
+ \pgfmathabsolute@{\pgfmathresult}}
+\def\pgfmathabs@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@x=-\pgfmath@x%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathmod
+%
+% Calculate #1 mod #2.
+%
+\def\pgfmathmod#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@moda{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@modb{\pgfmathresult}%
+ \pgfmathmod@{\pgfmath@mod@a}{\pgfmath@modb}%
+}
+\def\pgfmathmod@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \pgfmath@xa\pgfmath@x%
+ \expandafter\pgfmath@xb#2pt\relax%
+ \c@pgfmath@counta=\pgfmath@xa%
+ \c@pgfmath@countb=\pgfmath@xb%
+ \divide\c@pgfmath@counta\c@pgfmath@countb%
+ \multiply\pgfmath@xb\c@pgfmath@counta%
+ \advance\pgfmath@x-\pgfmath@xb%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathsqrt
+%
+% Square-root of #1.
+%
+%
+\def\pgfmathsqrt#1{%
+ \pgfmathparse{#1}%
+ \pgfmathsqrt{\pgfmathresult}}
+\def\pgfmathsqrt@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \ifdim\pgfmath@x>9999pt\relax%
+ \def\pgfmath@zeros{0}%
+ \def\pgfmath@targetiterations{3}%
+ \else%
+ \ifdim\pgfmath@x>999pt\relax%
+ \def\pgfmath@zeros{}%
+ \def\pgfmath@targetiterations{2}%
+ \else%
+ \ifdim\pgfmath@x>99pt\relax%
+ \def\pgfmath@zeros{0}%
+ \def\pgfmath@targetiterations{2}%
+ \else%
+ \ifdim\pgfmath@x>9pt\relax%
+ \def\pgfmath@zeros{}%
+ \def\pgfmath@targetiterations{1}%
+ \else%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@error{Cannot calculate the square-root of the negative number `#1'}{}%
+ \else%
+ \def\pgfmath@zeros{0}%
+ \def\pgfmath@targetiterations{1}%
+ \fi\fi\fi\fi\fi%
+ \edef\pgfmath@temp{\pgfmath@zeros\pgfmath@tonumber{\pgfmath@x}}%
+ \expandafter\pgfmath@sqrt@\pgfmath@temp\pgfmath@%
+}
+\def\pgfmath@sqrt@#1.#2\pgfmath@{\pgfmath@@sqrt@#1#2\pgfmath@empty\pgfmath@empty\pgfmath@}
+
+\def\pgfmath@@sqrt@#1#2{%
+ \c@pgfmath@countb#1#2\relax%
+ \ifnum\c@pgfmath@countb>35\relax%
+ \ifnum\c@pgfmath@countb>63\relax%
+ \ifnum\c@pgfmath@countb>80\relax%
+ \c@pgfmath@counta9\relax%
+ \else%
+ \c@pgfmath@counta8\relax%
+ \fi%
+ \else%
+ \ifnum\c@pgfmath@countb>48\relax%
+ \c@pgfmath@counta7\relax%
+ \else%
+ \c@pgfmath@counta6\relax%
+ \fi%
+ \fi%
+ \else%
+ \ifnum\c@pgfmath@countb>15\relax%
+ \ifnum\c@pgfmath@countb>24\relax%
+ \c@pgfmath@counta5\relax%
+ \else%
+ \c@pgfmath@counta4\relax%
+ \fi%
+ \else%
+ \ifnum\c@pgfmath@countb>3\relax%
+ \ifnum\c@pgfmath@countb>8\relax%
+ \c@pgfmath@counta3\relax%
+ \else%
+ \c@pgfmath@counta2\relax%
+ \fi%
+ \else%
+ \ifnum\c@pgfmath@countb>0\relax%
+ \c@pgfmath@counta1\relax%
+ \else%
+ \c@pgfmath@counta0\relax%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \edef\pgfmath@root{\the\c@pgfmath@counta}%
+ \edef\pgfmath@rootspecial{\the\c@pgfmath@counta}%
+ \multiply\c@pgfmath@counta-\c@pgfmath@counta\relax%
+ \advance\c@pgfmath@counta#1#2\relax%
+ \edef\pgfmath@remainder{\the\c@pgfmath@counta}%
+ \pgfmath@@@sqrt@%
+}
+
+\def\pgfmath@@@sqrt@#1#2{%
+ \ifx\pgfmath@empty#1%
+ \edef\pgfmath@remainder{\pgfmath@remainder00}%
+ \def\pgfmath@tokens{\pgfmath@empty\pgfmath@empty}%
+ \else%
+ \ifx\pgfmath@empty#2%
+ \edef\pgfmath@remainder{\pgfmath@remainder#10}%
+ \def\pgfmath@tokens{\pgfmath@empty\pgfmath@empty}%
+ \else%
+ \edef\pgfmath@remainder{\pgfmath@remainder#1#2}%
+ \def\pgfmath@tokens{}%
+ \fi\fi%
+ \c@pgfmath@counta\pgfmath@rootspecial\relax%
+ \multiply\c@pgfmath@counta20\relax%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \multiply\c@pgfmath@countb6\relax%
+ \advance\c@pgfmath@countb36\relax%
+ \c@pgfmath@countc\c@pgfmath@counta\relax%
+ \multiply\c@pgfmath@countc2\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \advance\c@pgfmath@countb-\c@pgfmath@countc%
+ \advance\c@pgfmath@countb-20\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \advance\c@pgfmath@countb-\c@pgfmath@countc%
+ \advance\c@pgfmath@countb-12\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \advance\c@pgfmath@countb-\c@pgfmath@counta%
+ \advance\c@pgfmath@countb-3\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \def\pgfmath@digit{0}%
+ \else%
+ \def\pgfmath@digit{1}%
+ \fi%
+ \else%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \advance\c@pgfmath@countb5\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \def\pgfmath@digit{2}%
+ \else%
+ \def\pgfmath@digit{3}%
+ \fi%
+ \fi%
+ \else%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \advance\c@pgfmath@countb9\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \def\pgfmath@digit{4}%
+ \else%
+ \def\pgfmath@digit{5}%
+ \fi%
+ \fi%
+ \else%
+ \advance\c@pgfmath@countb\c@pgfmath@countc%
+ \advance\c@pgfmath@countb28\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \advance\c@pgfmath@countb-\c@pgfmath@counta%
+ \advance\c@pgfmath@countb-15\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \def\pgfmath@digit{6}%
+ \else%
+ \def\pgfmath@digit{7}%
+ \fi%
+ \else%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \advance\c@pgfmath@countb17\relax%
+ \ifnum\c@pgfmath@countb>\pgfmath@remainder\relax%
+ \def\pgfmath@digit{8}%
+ \else%
+ \def\pgfmath@digit{9}%
+ \fi%
+ \fi%
+ \fi%
+ \edef\pgfmath@rootspecial{\pgfmath@rootspecial\pgfmath@digit}%
+ \advance\c@pgfmath@counta\pgfmath@digit\relax%
+ \multiply\c@pgfmath@counta-\pgfmath@digit\relax%
+ \advance\c@pgfmath@counta\pgfmath@remainder\relax%
+ \edef\pgfmath@remainder{\the\c@pgfmath@counta}%
+ \c@pgfmath@counta\pgfmath@targetiterations\relax%
+ \advance\c@pgfmath@counta-1\relax%
+ \edef\pgfmath@targetiterations{\the\c@pgfmath@counta}%
+ \ifnum\c@pgfmath@counta=0\relax%
+ \edef\pgfmath@root{\pgfmath@root.\pgfmath@digit}%
+ \else%
+ \edef\pgfmath@root{\pgfmath@root\pgfmath@digit}%
+ \fi%
+ \ifnum\c@pgfmath@counta=-4\relax%
+ \let\pgfmath@next\pgfmath@sqrt@end%
+ \else%
+ \let\pgfmath@next\pgfmath@@@sqrt@%
+ \fi%
+ \expandafter\pgfmath@next\pgfmath@tokens%
+}
+
+\def\pgfmath@sqrt@end#1\pgfmath@{%
+ \edef\pgfmathresult{\pgfmath@root}%
+ \pgfmath@smuggleone\pgfmathresult%
+ \endgroup}
+
+% \pgfmathpow
+%
+% Calculates #1 ^ #2
+%
+% #2 is expected to be an integer.
+%
+\def\pgfmathpow#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@powera{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@powerb{\pgfmathresult}%
+ \pgfmathpow@{\pgfmath@powera}{\pgfmath@powerb}}
+\def\pgfmathpow@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@xa#1pt\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta#2\relax\pgfmath@
+ % If #2 is negative, take the reciprocal of #1
+ % and the absolute value of #2, and carry on.
+ %
+ \ifnum\c@pgfmath@counta<0\relax%
+ \c@pgfmath@counta-\c@pgfmath@counta%
+ \pgfmathreciprocal@{#1}%
+ \pgfmath@xa\pgfmathresult pt\relax%
+ \fi%
+ \pgfmath@x=1pt\relax%
+ \pgfmathloop%
+ \ifnum\c@pgfmath@counta>0\relax%
+ \ifodd\c@pgfmath@counta%
+ \pgfmath@x\pgfmath@tonumber{\pgfmath@x}\pgfmath@xa%
+ \fi
+ \ifnum\c@pgfmath@counta>1\relax%
+ \pgfmath@xa=\pgfmath@tonumber{\pgfmath@xa}\pgfmath@xa%
+ \fi%
+ \divide\c@pgfmath@counta by 2\relax%
+ \repeatpgfmathloop%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+
+% \pgfmathround
+%
+% Half-up rounding.
+%
+\def\pgfmathround#1{%
+ \pgfmathparse{#1}%
+ \pgfmathround@{\pgfmathresult}}
+\def\pgfmathround@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \afterassignment\pgfmath@xa%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax%
+ \pgfmath@xb\pgfmath@x%
+ \ifdim\pgfmath@xb<0pt\relax%
+ \ifdim\pgfmath@xa<0.5pt\relax%
+ \else%
+ \advance\c@pgfmath@counta-1\relax%
+ \fi%
+ \else%
+ \ifdim\pgfmath@xa<0.5pt\relax%
+ \else%
+ \advance\c@pgfmath@counta1\relax%
+ \fi%
+ \fi%
+ \pgfmath@returnone\c@pgfmath@counta%
+ \endgroup%
+}%
+
+% \pgfmathfloor
+%
+% Floor function.
+%
+\def\pgfmathfloor#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathfloor@\expandafter{\pgfmathresult}}
+\def\pgfmathfloor@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@%
+ \pgfmath@x\c@pgfmath@counta pt\relax%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup
+}%
+
+% \pgfmathceil
+%
+% Ceiling function.
+%
+\def\pgfmathceil#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathceil@\expandafter{\pgfmathresult}}
+\def\pgfmathceil@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@%
+ \pgfmath@y\pgfmath@x%
+ \advance\pgfmath@y-\c@pgfmath@counta pt\relax%
+ \pgfmath@x\c@pgfmath@counta pt\relax%
+ \ifdim\pgfmath@y>0pt\relax%
+ \advance\pgfmath@x1pt\relax%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}%
+
+% \pgfmathexp
+%
+% A Maclaurens expansion for e^#1.
+% 0 <= #1 < ln(16384).
+%
+\def\pgfmathexp#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathexp@\expandafter{\pgfmathresult}}
+\def\pgfmathexp@#1{%
+ \begingroup%
+ \pgfmath@x1pt\relax%
+ \pgfmath@xa1pt\relax%
+ \pgfmath@xb\pgfmath@x%
+ \pgfmathloop%
+ \pgfmath@xc\pgfmathcounter pt\relax%
+ \c@pgfmath@counta\pgfmath@xc%
+ \divide\c@pgfmath@counta65536\relax%
+ \pgfmath@xc1pt\relax%
+ \divide\pgfmath@xc\c@pgfmath@counta%
+ \pgfmath@xa\pgfmath@tonumber{\pgfmath@xc}\pgfmath@xa%
+ \expandafter\pgfmath@xa#1\pgfmath@xa%
+ \advance\pgfmath@x\pgfmath@xa%
+ \ifdim\pgfmath@x=\pgfmath@xb%
+ \else%
+ \pgfmath@xb\pgfmath@x%
+ \repeatpgfmathloop%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+
+
+% \pgfmathvectorlength
+%
+% Calcluate the Eulidean length of a 2D vector.
+%
+% This based on polynomial approximation co-efficents
+% contributed by Rouben Rostamian.
+%
+% #1 - the x component of the vector.
+% #2 - the y component of the vector.
+%
+% P(x) = c0 + x^2 * (c1 + x^2 * (c2 + x^2 * ( c3 + c4 * x^2)))
+\def\pgfmath@cE{-0.01019}
+\def\pgfmath@cD{0.04453}
+\def\pgfmath@cC{-0.11951}
+\def\pgfmath@cB{0.49936}
+\def\pgfmath@cA{1.00001}
+
+\def\pgfmathveclen#1#2{%
+ \pgfmathparse{#1}\edef\pgfmath@vecx{\pgfmathresult}%
+ \pgfmathparse{#2}\edef\pgfmath@vecy{\pgfmathresult}%
+ \pgfmathveclen@{\pgfmath@vecx}{\pgfmath@vecy}%
+}
+\def\pgfmathveclen@#1#2{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \pgfmath@xa\pgfmath@x%
+ \ifdim\pgfmath@xa=0pt\relax%
+ \pgfmath@xa\pgfmath@y%
+ \fi%
+ \ifdim\pgfmath@xa=0pt\relax%
+ \else%
+ \ifdim\pgfmath@x<0pt\relax\pgfmath@x-\pgfmath@x\fi%
+ \ifdim\pgfmath@y<0pt\relax\pgfmath@y-\pgfmath@y\fi%
+ \ifdim\pgfmath@x>\pgfmath@y%
+ \pgfmath@xa\pgfmath@x%
+ \pgfmath@x\pgfmath@y%
+ \pgfmath@y\pgfmath@xa%
+ \fi%
+ % We use a scaling factor to reduce errors.
+ \ifdim\pgfmath@y>10000pt\relax%
+ \c@pgfmath@counta1500\relax%
+ \else%
+ \ifdim\pgfmath@y>1000pt\relax%
+ \c@pgfmath@counta150\relax%
+ \else%
+ \ifdim\pgfmath@y>100pt\relax%
+ \c@pgfmath@counta50\relax%
+ \else%
+ \c@pgfmath@counta1\relax%
+ \fi%
+ \fi%
+ \fi%
+ \divide\pgfmath@x by\c@pgfmath@counta\relax%
+ \divide\pgfmath@y by\c@pgfmath@counta\relax%
+ \pgfmathreciprocal@{\pgfmath@tonumber{\pgfmath@y}}%
+ \pgfmath@x=\pgfmathresult\pgfmath@x%
+ \pgfmath@xa=\pgfmath@tonumber{\pgfmath@x}\pgfmath@x%
+ \edef\pgfmath@xsq{\pgfmath@tonumber{\pgfmath@xa}}%
+ \pgfmath@x=\pgfmath@cE\pgfmath@xa%
+ \advance\pgfmath@x by\pgfmath@cD pt\relax%
+ \pgfmath@x=\pgfmath@xsq\pgfmath@x%
+ \advance\pgfmath@x by\pgfmath@cC pt\relax%
+ \pgfmath@x=\pgfmath@xsq\pgfmath@x%
+ \advance\pgfmath@x by\pgfmath@cB pt\relax%
+ \pgfmath@x=\pgfmath@xsq\pgfmath@x%
+ \advance\pgfmath@x by\pgfmath@cA pt\relax%
+ \ifdim\pgfmath@y<0pt\relax%
+ \pgfmath@y=-\pgfmath@y%
+ \fi%
+ \pgfmath@x=\pgfmath@tonumber{\pgfmath@y}\pgfmath@x%
+ % Invert the scaling factor.
+ \multiply\pgfmath@x by\c@pgfmath@counta\relax%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathmax
+%
+% Return the maximum of #1 or #2
+%
+\def\pgfmathmax#1#2{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \pgfmathparse@{#2}\edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathmax@{\pgfmath@firstoperand}{\pgfmath@secondoperand}}
+\def\pgfmathmax@#1#2{%
+ \begingroup
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \ifdim\pgfmath@x>\pgfmath@y%
+ \pgfmath@returnone\pgfmath@x%
+ \else%
+ \pgfmath@returnone\pgfmath@y%
+ \fi%
+ \endgroup}
+
+% \pgfmathmax
+%
+% Return the minimim of #1 or #2
+%
+\def\pgfmathmin#1#2{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \pgfmathparse@{#2}\edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathmin@{\pgfmath@firstoperand}{\pgfmath@secondoperand}}
+\def\pgfmathmin@#1#2{%
+ \begingroup
+ \expandafter\pgfmath@x#1pt\relax%
+ \expandafter\pgfmath@y#2pt\relax%
+ \ifdim\pgfmath@x<\pgfmath@y%
+ \pgfmath@returnone\pgfmath@x%
+ \else%
+ \pgfmath@returnone\pgfmath@y%
+ \fi%
+ \endgroup%
+}
+
+% \pgfmathscientific
+%
+% Return the value of #1e#2
+%
+% e.g. \pgfmathscientific{1.23456789123}{4}
+%
+% defines \pgfmathresult as 12345.67891
+%
+% NB This arguments *are not parsed*, as the long mantissa would be lost.
+%
+\def\pgfmathscientific#1#2{%
+ \begingroup%
+ \edef\pgfmath@sci@exponent{#2}%
+ \pgfmath@x#1pt\relax%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \edef\pgfmath@sci@sign{-}%
+ \edef\pgfmath@temp{\pgfmath@gobbleone#1}%
+ \else%
+ \edef\pgfmath@sci@sign{+}%
+ \edef\pgfmath@temp{#1}%
+ \fi%
+ \expandafter\pgfmath@scientific@@\pgfmath@temp00000000000\pgfmath@}
+
+\def\pgfmath@scientific@@#1.#2#3#4#5#6{%
+ \edef\pgfmath@sci@int{#1}%
+ \edef\pgfmath@sci@mantissaA{#2#3#4#5#6}%
+ \pgfmath@scientific@@@}
+
+\def\pgfmath@scientific@@@#1#2#3#4#5#6\pgfmath@{%
+ \edef\pgfmath@sci@mantissaB{#1#2#3#4#5}%
+ \c@pgfmath@counta\pgfmath@sci@exponent\relax%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \ifnum\c@pgfmath@counta<0\relax%
+ \c@pgfmath@counta-\c@pgfmath@counta%
+ \fi%
+ \pgfmathpow@{10}{\the\c@pgfmath@counta}%
+ \afterassignment\pgfmath@gobbletilpgfmath@
+ \c@pgfmath@countc\pgfmathresult\relax\pgfmath@
+ \edef\pgfmath@sci@factor{\the\c@pgfmath@countc}%
+ \ifnum\c@pgfmath@countb<0\relax%
+ % xE-y: easy...
+ \pgfmath@x\pgfmath@sci@int.\pgfmath@sci@mantissaA pt\relax%
+ \divide\pgfmath@x\pgfmath@sci@factor\relax%
+ \else%
+ % xE+y:
+ % Must do this way so as not lose digits in a long mantissa. Sigh...
+ \c@pgfmath@counta\pgfmath@sci@int%
+ \c@pgfmath@countb\pgfmath@sci@mantissaA%
+ \multiply\c@pgfmath@counta\pgfmath@sci@factor\relax%
+ \multiply\c@pgfmath@countb\pgfmath@sci@factor\relax%
+ \c@pgfmath@countc\c@pgfmath@countb%
+ \divide\c@pgfmath@countb100000\relax%
+ \advance\c@pgfmath@counta\c@pgfmath@countb%
+ \multiply\c@pgfmath@countb100000\relax%
+ \advance\c@pgfmath@countc-\c@pgfmath@countb%
+ \c@pgfmath@countb\pgfmath@sci@mantissaB\relax%
+ \multiply\c@pgfmath@countb\pgfmath@sci@factor\relax%
+ \divide\c@pgfmath@countb100000\relax%
+ \advance\c@pgfmath@countc\c@pgfmath@countb%
+ \advance\c@pgfmath@countc100000\relax%
+ \edef\pgfmath@sci@result{\pgfmath@sci@sign\the\c@pgfmath@counta.\expandafter\pgfmath@gobbleone\the\c@pgfmath@countc pt}%
+ \pgfmath@x\pgfmath@sci@result\relax%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
new file mode 100644
index 00000000000..809de3879ff
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
@@ -0,0 +1,912 @@
+% This file parses/evaluates a decimal expression.
+%
+% (c) 2007 Mark Wibrow
+%
+% but subject to the LaTeX Project Public License,
+% (http://www.latex-project.org/lppl.txt)
+%
+% and the GNU Public License,
+% (http://www.gnu.org/licenses/gpl.txt)
+
+% \pgfmathparse, \pgfmathqparse
+%
+% Evaluates a decimal expression.
+%
+% #1 - the expression.
+%
+% returns
+%
+% x = the result as a dimension.
+%
+% E.g.
+% \pgfmathparse{3pt*2cm+1.5}
+% \pgfmathqparse{3pt*2cm+1.5pt}
+%
+% Every number in \pgfmathqparse *must*
+% specify a unit.
+%
+\newif\ifpgfmath@quickparse
+
+\def\pgfmathparse{%
+ \pgfmath@quickparsefalse%
+ \pgfmathparse@}
+
+\def\pgfmathqparse{%
+ \pgfmath@quickparsetrue%
+ \pgfmathparse@}
+
+\def\pgfmathparse@#1{%
+ \begingroup%
+ % Reinstall correct font, so that dimensions like 1em are correct
+ \pgfutil@selectfont%
+ \edef\pgfmath@temp{#1}%
+ \pgfmath@resetparsingparameters%
+ \global\pgfmathunitsdeclaredfalse%
+ \ifpgfmath@quickparse%
+ \let\pgfmath@parseoperand\pgfmath@quickparseoperand%
+ \else%
+ \let\pgfmath@parseoperand\pgfmath@parseoperand%
+ \fi%
+ \let\pgfmath@parsepostgroup\pgfmath@parseoperator%
+ \expandafter\pgfmath@parse@\pgfmath@temp @@@@@@@@@@@\pgfmath@empty}
+
+
+% \pgfmath@resetparsingparameters
+%
+% Reset the stack at the begining of the parse/group.
+%
+\def\pgfmath@resetparsingparameters{%
+ \pgfmath@stack{\pgfmath@empty\pgfmath@empty\pgfmath@empty\pgfmath@empty}%
+ \def\pgfmath@stacknextoperator{\pgfmath@empty}% Will not work with \let
+}
+% \pgfmath@parse@
+%
+% Start parsing. Expect one of
+% 1) the end of the parse
+% 2) the start of a group
+% 3) a (possible) operand.
+%
+\def\pgfmath@parse@#1{%
+ \def\pgfmath@token{}%
+ \ifx#1@%
+ \let\pgfmath@parsenext\pgfmath@endparse%
+ \else%
+ \ifx#1(%
+ \let\pgfmath@parsenext\pgfmath@startparsegroup%
+ \else%
+ \edef\pgfmath@token{#1}%
+ \let\pgfmath@parsenext\pgfmath@parseoperand%
+ \fi\fi%
+ \pgfmath@parsenext%
+}
+
+% If no TeX units are declared *at any point* in the parse
+% the result is scaled by \pgfmathresultunitscale.
+\newif\ifpgfmathunitsdeclared
+\def\pgfmathsetresultunitscale#1{\def\pgfmathresultunitscale{#1}}
+\def\pgfmathresultunitscale{1}
+
+% \pgfmath@endparse
+%
+% Everything stops here.
+%
+\def\pgfmath@endparse#1\pgfmath@empty{%
+ \pgfmath@processalloperations%
+ \pgfmath@stackpop{\pgfmathresult}%
+ \begingroup%
+ \ifpgfmathunitsdeclared%
+ \pgfmath@x1pt\relax%
+ \else%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \pgfmath@x\pgfmathresultunitscale pt\relax\pgfmath@%
+ \fi%
+ \expandafter\pgfmath@x\pgfmathresult\pgfmath@x%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+ \pgfmath@smuggleone{\pgfmathresult}%
+ \endgroup%
+}
+
+% \pgfmath@startparsegroup
+%
+% When opening ( is scanned start a new group.
+%
+\def\pgfmath@startparsegroup{%
+ \begingroup%
+ \let\pgfmath@parsepostgroup\pgfmath@parseoperator%
+ \pgfmath@resetparsingparameters%
+ \pgfmath@parse@}
+
+% \pgfmath@endparsegroup
+%
+% When closing ) is scanned, processes all waiting
+% operations (within the group) and close the group.
+%
+\def\pgfmath@endparsegroup{%
+ \pgfmath@processalloperations%
+ \pgfmath@stackpop{\pgfmathresult}%
+ \expandafter\pgfmath@x\pgfmathresult pt\relax%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+ \pgfmath@parsepostgroup%
+}
+
+% \pgfmath@parseoperator
+%
+% An operator is expected here.
+% Or the end of the parse or parse group.
+%
+\def\pgfmath@parseoperator#1{%
+ \def\pgfmath@token{}%
+ % Push the operand in \pgfmathresult on to the stack.
+ \expandafter\pgfmath@stackpushoperand\expandafter{\pgfmathresult}%
+ \ifx#1@%
+ \let\pgfmath@parsenext\pgfmath@endparse%
+ \else%
+ \ifx#1+%
+ \let\pgfmath@parsenext\pgfmath@parseadd%
+ \else%
+ \ifx#1-%
+ \let\pgfmath@parsenext\pgfmath@parsesubtract%
+ \else%
+ \ifx#1*%
+ \let\pgfmath@parsenext\pgfmath@parsemultiply%
+ \else%
+ \ifx#1/%
+ \let\pgfmath@parsenext\pgfmath@parsedivide%
+ \else
+ \ifx#1)%
+ \let\pgfmath@parsenext\pgfmath@endparsegroup%
+ \else%
+ \ifx#1r%
+ \let\pgfmath@parsenext\pgfmath@parseradians%
+ \else%
+ \ifx#1>%
+ \let\pgfmath@parsenext\pgfmath@parsegreaterthan%
+ \else%
+ \ifx#1<%
+ \let\pgfmath@parsenext\pgfmath@parselessthan%
+ \else%
+ \if#1=%
+ \let\pgfmath@parsenext\pgfmath@parseequalto%
+ \else%
+ \if#1^%
+ \let\pgfmath@parsenext\pgfmath@parsepower%
+ \else%
+ \pgfmath@error{Unknown operator `#1'}%
+ \let\pgfmath@parsenext\relax%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \pgfmath@parsenext%
+}
+
+% Use a \toks register as a stack.
+\newtoks\pgfmath@stack
+
+% \pgfmath@stackpushoperator
+%
+% Push an operator (actually its macro e.g., \pgfmathadd@)
+% on to the stack. And keep track of it using the macro
+% \pgfmath@stacknextoperator.
+%
+\def\pgfmath@stackpushoperator#1{%
+ \edef\pgfmath@temp{\noexpand#1\the\pgfmath@stack}%
+ \expandafter\pgfmath@stack\expandafter{\pgfmath@temp}%
+ \def\pgfmath@stacknextoperator{#1}}% <- Must \def. Cannot \let.
+
+% \pgfmath@stackpushoperand
+%
+% Push an operand (i.e. a number) on the stack. It is
+% put within a TeX group to make popping a lot simpler.
+%
+\def\pgfmath@stackpushoperand#1{%
+ \edef\pgfmath@temp{{#1}\the\pgfmath@stack}%
+ \expandafter\pgfmath@stack\expandafter{\pgfmath@temp}%
+}
+
+% \pgfmath@stackpeek
+%
+% Peek (i.e. without removal) at the top of the stack.
+%
+\def\pgfmath@stackpeek{\expandafter\pgfmath@stackpeek@\the\pgfmath@stack\pgfmath@}
+\def\pgfmath@stackpeek@#1#2\pgfmath@{#1}%
+
+% \pgfmath@stackpop
+%
+% Pop (i.e. remove) the top of the stack into #1.
+%
+\def\pgfmath@stackpop#1{\expandafter\pgfmath@stackpop@\expandafter#1\the\pgfmath@stack\pgfmath@}
+\def\pgfmath@stackpop@#1#2#3\pgfmath@{\edef#1{#2}\pgfmath@stack{#3}}%
+
+% \pgfmath@stackpopoperation
+%
+% Remove and perform an operation from the stack.
+%
+\def\pgfmath@stackpopoperation{%
+ \expandafter\pgfmath@stackpopoperation@\the\pgfmath@stack\pgfmath@%
+}
+\def\pgfmath@stackpopoperation@#1#2#3#4#5\pgfmath@{%
+ \ifx\pgfmath@empty#1\relax%
+ \pgfmath@stack{\pgfmath@empty\pgfmath@empty\pgfmath@empty\pgfmath@empty}%
+ \else%
+ \ifx\pgfmath@empty#2\relax%
+ \pgfmath@stack{{#1}\pgfmath@empty\pgfmath@empty\pgfmath@empty\pgfmath@empty}%
+ \else%
+ #2{#3}{#1}%
+ \pgfmath@stack{#4#5}%
+ \expandafter\pgfmath@stackpushoperand\expandafter{\pgfmathresult}%
+ \fi\fi%
+ \def\pgfmath@stacknextoperator{#4}}
+
+% \pgfmath@processalloperations
+%
+% Process all operation in the stack. The
+% overall result is at the top of the stack.
+%
+\def\pgfmath@processalloperations{%
+ \expandafter\pgfutil@in@\pgfmath@stacknextoperator{\pgfmath@empty}%
+ \ifpgfutil@in@%
+ \let\pgfmath@processnext\relax%
+ \else%
+ \pgfmath@stackpopoperation%
+ \let\pgfmath@processnext\pgfmath@processalloperations%
+ \fi%
+ \pgfmath@processnext}
+
+% \pgfmath@processoperationsuntil
+%
+% Process operations in the stack, until the specified
+% operation/s is/are encountered. The overall result is
+% at the top of the stack.
+%
+\def\pgfmath@processoperationsuntil#1{%
+ \expandafter\pgfutil@in@\pgfmath@stacknextoperator{#1\pgfmath@empty}%
+ \ifpgfutil@in@%
+ \let\pgfmath@processnext\pgfmath@processoperationsuntil@end%
+ \else%
+ \pgfmath@stackpopoperation%
+ \let\pgfmath@processnext\pgfmath@processoperationsuntil%
+ \fi%
+ \pgfmath@processnext{#1}}
+\def\pgfmath@processoperationsuntil@end#1{}
+
+
+% OK. Now the operators are parsed.
+% These correspond to the + - / * ^ < > = mod and r operators
+%
+\def\pgfmath@parseadd{%
+ % If no operator has been assigned (i.e. + is the first operator scanned),
+ % do nothing, except add addition to the stack.
+ \ifx\pgfmath@stacknextoperator\pgfmath@empty%
+ \else%
+ % Empty the process stack up to any inequalities.
+ \pgfmath@processoperationsuntil{\pgfmathequalto@\pgfmathlessthan@\pgfmathgreaterthan@}%
+ \fi%
+ \pgfmath@stackpushoperator{\pgfmathadd@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parsesubtract{%
+ % If no operator has been assigned (i.e. - is the first operator scanned),
+ % do nothing, except add subtract to the stack.
+ \ifx\pgfmath@stacknextoperator\pgfmath@empty%
+ \else%
+ % Empty the process stack up to any inequalities.
+ \pgfmath@processoperationsuntil{\pgfmathequalto@\pgfmathlessthan@\pgfmathgreaterthan@}%
+ \fi%
+ \pgfmath@stackpushoperator{\pgfmathsubtract@}%
+ \pgfmath@parse@}
+
+
+\def\pgfmath@parsemultiply{%
+ % If no operator has been assigned (i.e. * is the first operator scanned),
+ % do nothing, except push multiply onto the stack.
+ \ifx\pgfmath@stacknextoperator\pgfmath@empty%
+ \else%
+ % Process all operations up to inequalites or addition/subtraction
+ \pgfmath@processoperationsuntil{\pgfmathequalto@\pgfmathlessthan@\pgfmathgreaterthan@%
+ \pgfmathadd@\pgfmathsubtract@}%
+ \fi%
+ \pgfmath@stackpushoperator{\pgfmathmultiply@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parsedivide{%
+ % If no operator has been assigned (i.e. / is the first operator scanned),
+ % do nothing, except push divide onto the stack.
+ \ifx\pgfmath@stacknextoperator\pgfmath@empty%
+ \else%
+ % Process all operations up to inequalites or addition/subtraction
+ \pgfmath@processoperationsuntil{\pgfmathequalto@\pgfmathlessthan@\pgfmathgreaterthan@%
+ \pgfmathadd@\pgfmathsubtract@}%
+ \fi%
+ \pgfmath@stackpushoperator{\pgfmathdivide@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parsegreaterthan{%
+ % On scanning an equality/inequality operator everything up to
+ % (but not including) the operator is evaluated...
+ \pgfmath@processalloperations%
+ % ...and the operation pushed onto the stack.
+ \pgfmath@stackpushoperator{\pgfmathgreaterthan@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parselessthan{%
+ \pgfmath@processalloperations%
+ \pgfmath@stackpushoperator{\pgfmathlessthan@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parseequalto={%
+ \pgfmath@processalloperations%
+ \pgfmath@stackpushoperator{\pgfmathequalto@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parsepower{%
+ % Easy, just push power onto the stack.
+ \pgfmath@stackpushoperator{\pgfmathpow@}%
+ \pgfmath@parse@}
+
+\def\pgfmath@parseradians{%
+ % Actually this is a post-fix function...
+ \ifx\pgfmath@primaryoperation\pgfmath@empty%
+ \else%
+ \pgfmath@processoperationsuntil{\pgfmathequalto@\pgfmathlessthan@\pgfmathgreaterthan@%
+ \pgfmathadd@\pgfmathsubtract@}%
+ \fi%
+ \pgfmath@stackpop{\pgfmath@temp}%
+ \pgfmathdeg@{\pgfmath@temp}%
+ % ...so processing returns to \pgfmath@parseoperator
+ \pgfmath@parseoperator}
+
+\newcount\c@pgfmath@parsecounta
+\newcount\c@pgfmath@parsecountb
+\newcount\c@pgfmath@parsecountc
+\newdimen\pgfmath@parsex
+
+% \pgfmath@quickparseoperand
+%
+% An operand can *only* be a dimension.
+%
+\def\pgfmath@quickparseoperand{%
+ \afterassignment\pgfmath@quickparseoperand@%
+ \pgfmath@parsex\pgfmath@token}
+\def\pgfmath@quickparseoperand@{%
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}
+ \pgfmath@parseoperator%
+}
+
+% \pgfmath@parseoperand
+%
+% An operand can be an ASCII number (with or without dimensions, with
+% or without a decimal point), a TeX register (count, dimen or skip,
+% which may have expanded with \the), or a function e.g. sin(X).
+%
+% It is assumed that after \edef-ing, the only unexpanded tokens are registers.
+%
+\def\pgfmath@parseoperand{%
+ \def\pgfmath@sign{}%
+ \expandafter\pgfmath@parseoperandsign\pgfmath@token}
+\def\pgfmath@parseoperandsign#1{%
+ \pgfmath@in@#1{-+}%
+ \ifpgfmath@in@
+ % I suppose there are (silly) people who might complain if
+ % they can't say 2---5, or 3+-----7. Just for them...
+ \edef\pgfmath@sign{\pgfmath@sign#1}%
+ \expandafter\pgfmath@parseoperandsign%
+ \else%
+ \expandafter\pgfmath@parsenumberorfunction\expandafter#1%
+ \fi%
+}
+
+
+\newif\ifpgfmath@dimen@
+
+\def\pgfmath@ifregisterdimen@#1\pgfmath@{%
+ \pgfmath@in@{p}{#1}%
+ \ifpgfmath@in@%
+ \pgfmath@dimen@true%
+ \else%
+ \pgfmath@dimen@false%
+ \fi}
+
+
+\def\pgfmath@parsenumberorfunction#1{%
+ \let\pgfmath@parsenext\pgfmath@parsenumberorfunction@simple%
+ \ifx#1\wd\let\pgfmath@parsenext\pgfmath@boxdimen\fi%
+ \ifx#1\ht\let\pgfmath@parsenext\pgfmath@boxdimen\fi%
+ \ifx#1\dp\let\pgfmath@parsenext\pgfmath@boxdimen\fi%
+ \pgfmath@parsenext#1%
+}
+
+\def\pgfmath@boxdimen#1#2{%
+ \pgfmath@parsex=#1#2%
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \global\pgfmathunitsdeclaredtrue% a dimension has units
+ \pgfmath@parseoperator%
+}
+
+\def\pgfmath@parsenumberorfunction@simple#1{%
+ \expandafter\ifcat#1\relax%
+ % So, a TeX register.
+ \afterassignment\pgfmath@ifregisterdimen@%
+ \pgfmath@parsex\pgfmath@sign#1pt\relax\pgfmath@%
+ \ifpgfmath@dimen@%
+ % A dimension! So stop scanning operand here.
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \global\pgfmathunitsdeclaredtrue% a dimension has units
+ \def\pgfmath@temp{}%
+ \let\pgfmath@parsenext\pgfmath@parseoperator%
+ \else%
+ % A count! Expand it, but carry on as usual as it might
+ % be immediately followed by a dimension.
+ \ifdim\pgfmath@parsex<0pt\relax%
+ \edef\pgfmath@sign{\pgfmath@sign-}%
+ \pgfmath@parsex-\pgfmath@parsex%
+ \fi%
+ \edef\pgfmath@temp{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \let\pgfmath@parsenext\pgfmath@parsenumberorfunction@%
+ \fi%
+ \else%
+ % Could be a number or a function...?
+ \edef\pgfmath@temp{#1}%
+ \let\pgfmath@parsenext\pgfmath@parsenumberorfunction@%
+ \fi%
+ \expandafter\pgfmath@parsenext\pgfmath@temp%
+}%
+
+\def\pgfmath@parsenumberorfunction@#1{%
+ \pgfmath@in@{#1}{.0123456789}%
+ \ifpgfmath@in@%
+ \let\pgfmath@parsenext\pgfmath@parsenumber%
+ \else%
+ \let\pgfmath@parsenext\pgfmath@parsefunction%
+ \fi%
+ \pgfmath@parsenext#1%
+}%
+
+\def\pgfmath@parsenumber{%
+ % Consider the number 3.14159
+ % 3 is parsed by assignment to a, then '.' is absorbed and 14159
+ % parsed by assignement to b (actually b=114159, see below).
+ \c@pgfmath@parsecountc0\relax%
+ \afterassignment\pgfmath@parsedecimalpoint%
+ \c@pgfmath@parsecounta0}
+
+\def\pgfmath@parsedecimalpoint#1{%
+ \ifx#1.% Is there a decimal point? If not, see if there are any units.
+ \let\pgfmath@parsenext\pgfmath@parsemantissa%
+ \else%
+ \c@pgfmath@parsecountb10\relax% The first digit of b is gobbled (see below).
+ \let\pgfmath@parsenext\pgfmath@parseunits%
+ \fi%
+ \pgfmath@parsenext#1}
+
+
+
+% We would like to assign the following number (which is the mantisse)
+% to a number. However, for a very long mantisse as in 3.141592653589793238462643
+% this will fail since the number becomes too large.
+%
+% Because of this, we have to do some ``magic'': We scan 9 tokens and
+% then do an assignment with a guard after 9 tokens so that the
+% assigment cannot fail.
+%
+\def\pgfmath@parsemantissa.#1#2#3#4#5#6#7#8#9{%
+ \afterassignment\pgfmath@checkforguard%
+ % Consider the number: 2.005
+ % 2 is assigned to a, but b will be assigned 5, which is *not right*.
+ % So using 1 here hereresults in b=1005. The first digit is then
+ % gobbled later, when expanded with \the.
+ \c@pgfmath@parsecountb1#1#2#3#4#5#6#7#8#9\relax}%
+
+\def\pgfmath@checkforguard{%
+ \pgfutil@ifnextchar\relax%
+ {%
+ % Ok, this is a looong mantisse. Start gobbling all following
+ % numbers
+ \pgfmath@gobblemantisse%
+ }%
+ {%
+ \pgfmath@removeguard%
+ }%
+}
+
+\def\pgfmath@gobblemantisse\relax#1#2#3#4#5#6#7#8#9{%
+ \afterassignment\pgfmath@checkforguard%
+ \c@pgfmath@parsecountc0#1#2#3#4#5#6#7#8#9\relax% these digits are ignored
+}
+
+\def\pgfmath@removeguard#1\relax{\pgfmath@parseunits#1}
+
+
+
+
+\def\pgfmath@parseunits#1{%
+ % Here the extra first digit in b is gobbled.
+ \edef\pgfmath@resulttemp{%
+ \pgfmath@sign\the\c@pgfmath@parsecounta.\expandafter\pgfmath@gobbleone\the\c@pgfmath@parsecountb}%
+ % Check whether #1 is a \dp, \wd, or \ht
+ \let\pgfmath@parsenext=\pgfmath@parseunits@simple%
+ \ifx#1\wd\let\pgfmath@parsenext=\pgfmath@parseunits@boxdimen\fi%
+ \ifx#1\ht\let\pgfmath@parsenext=\pgfmath@parseunits@boxdimen\fi%
+ \ifx#1\dp\let\pgfmath@parsenext=\pgfmath@parseunits@boxdimen\fi%
+ \pgfmath@parsenext#1%
+}
+
+\def\pgfmath@parseunits@boxdimen#1#2{%
+ \pgfmath@parsex=#1#2%
+ \pgfmath@parsex\pgfmath@resulttemp\pgfmath@parsex%
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \global\pgfmathunitsdeclaredtrue% a dimension has units
+ \pgfmath@parseoperator%
+}
+
+\def\pgfmath@parseunits@simple#1{%
+ % Now check if #1 is actually a register.
+ \ifcat#1\relax%
+ \afterassignment\pgfmath@ifregisterdimen@%
+ \pgfmath@parsex#1pt\relax\pgfmath@%
+ \pgfmath@parsex\pgfmath@resulttemp\pgfmath@parsex%
+ \ifpgfmath@dimen@% If it's a dimen stop scanning operand here.
+ \global\pgfmathunitsdeclaredtrue% a dimension has units
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \let\pgfmath@parsenext\pgfmath@parseoperator%
+ \else
+ \edef\pgfmath@resulttemp{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \let\pgfmath@parsenext\pgfmath@parseunits@%
+ \fi%
+ \expandafter\pgfmath@parsenext%
+ \else%
+ \expandafter\pgfmath@parseunits@\expandafter#1%
+ \fi}
+
+\def\pgfmath@parseunits@#1#2{%
+ % Check if #1 is an operator, or the character `@' indicating the end of the parse.
+ \pgfmath@in@#1{@+-*/^r<>=()}%
+ \ifpgfmath@in@%
+ \edef\pgfmath@tokens{#1#2}%
+ \edef\pgfmathresult{\pgfmath@resulttemp}%
+ \let\pgfmath@parsenext\pgfmath@parseoperator%
+ \else%
+ \pgfmath@in@#1{Ee}% e+0X
+ \ifpgfmath@in@%
+ % Oh no! It might be and em or an ex...
+ \pgfmath@in@#2{mx}%
+ \ifpgfmath@in@%
+ \global\pgfmathunitsdeclaredtrue%
+ \pgfmath@parsex\pgfmath@resulttemp#1#2\relax%
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \edef\pgfmath@tokens{}%
+ \let\pgfmath@parsenext\pgfmath@parseoperator%
+ \else%
+ \edef\pgfmath@tokens{#2}%
+ \let\pgfmath@parsenext\pgfmath@parsescientific%
+ \fi%
+ \else
+ % Anything else *should* be a TeX unit.
+ \global\pgfmathunitsdeclaredtrue%
+ \pgfmath@parsex\pgfmath@resulttemp#1#2\relax%
+ \edef\pgfmathresult{\pgfmath@tonumber{\pgfmath@parsex}}%
+ \edef\pgfmath@tokens{}%
+ \let\pgfmath@parsenext\pgfmath@parseoperator%
+ \fi\fi%
+ \expandafter\pgfmath@parsenext\pgfmath@tokens%
+}
+
+% Parse 'Scientific' notation in the form xEyy
+%
+\def\pgfmath@parsescientific{%
+ \afterassignment\pgfmath@parsescientific@%
+ \c@pgfmath@parsecounta}
+
+\def\pgfmath@parsescientific@{%
+ \edef\pgfmath@parsesci@temp{\pgfmath@resulttemp\the\c@pgfmath@parsecountc}%
+ \expandafter\pgfmathscientific\expandafter{\pgfmath@parsesci@temp}%
+ {\the\c@pgfmath@parsecounta}%
+ \edef\pgfmath@resulttemp{\pgfmathresult}%
+ \pgfmath@parseunits@}
+
+
+% OK. Now the fun stuff. We parse functions here. Note that
+% *no* calulations are done in the following macros. All the
+% mathematics is done in pgfmathoperations.code and friends.
+%
+% Functions dealt with here are:
+%
+% round(X) 'half-up' rounding.
+% floor(X) floor function.
+% ciel(X) ceiling function.
+% abs(X) absolute function.
+%
+% exp(X) e^X (0 <= X <~= 9.7).
+%
+% sin(X) sine function.
+% cos(X) cosine function.
+% tan(X) tan function.
+% asin(X) arcsine of X (in radians) -1 <= X <= 1
+% acos(X) arccosine of X (in radians) -1 <= X <= 1
+% atan(X) arctangent of X (in radians) -1 <= X <= 1
+% veclen(X,Y) the length Z where Z^2 = X^2 + Y^2
+% mod(X,Y) X modulo Y
+% max(X,Y) the maximum of X or Y
+% min(X,Y) the minimum of X or Y
+%
+% NB veclen, mod, max, and min *cannot* be nested.
+%
+% deg(X) converts X to degrees (X in radians)
+% rad(X) converts X to radians (X in degrees)
+%
+% rnd generate pseudo-random number X (0 <= X <= 1).
+% rand generate pseudo-random number X (1 <= X <= -1).
+% sqrt(X) square root.
+%
+% pi the constant PI.
+
+\def\pgfmath@parsefunction{%
+ \def\pgfmath@parsedfunctionname{}%
+ \futurelet\pgfmath@parsetoken\pgfmath@parsefunction@@}
+\def\pgfmath@parsefunction@@#1{%
+ \pgfmath@in@#1{()@+-*/^<>=}% A function name ends with one of these...
+ \ifpgfmath@in@%
+ \let\pgfmath@parsefunctionnext\pgfmath@parsefunction@end%
+ \else%
+ \ifx\pgfmath@parsetoken\pgfutil@sptoken% ...or a space.
+ \let\pgfmath@parsefunctionnext\pgfmath@parsefunction@end%
+ \else%
+ \let\pgfmath@parsefunctionnext\pgfmath@parsefunction@continue%
+ \fi\fi%
+ \pgfmath@parsefunctionnext#1}
+
+\def\pgfmath@parsefunction@end#1{%
+ \expandafter\ifx\csname pgfmath@parsefunction@\pgfmath@parsedfunctionname\endcsname\relax%
+ \pgfmath@reportunknownfunction%
+ \let\pgfmath@parsefunctionnext\relax%
+ \else%
+ \let\pgfmath@parsefunctionnext\pgfmath@executeparsefunction@%
+ \fi%
+ \pgfmath@parsefunctionnext#1}
+
+\def\pgfmath@parsefunction@continue#1{%
+ \edef\pgfmath@parsedfunctionname{\pgfmath@parsedfunctionname#1}%
+ \futurelet\pgfmath@parsetoken\pgfmath@parsefunction@@}
+
+\def\pgfmath@executeparsefunction@{\csname pgfmath@parsefunction@\pgfmath@parsedfunctionname\endcsname}
+
+
+\def\pgfmath@reportunknownfunction{%
+ \pgfmath@error{Unknown function `\pgfmath@parsedfunctionname'}{}%
+}
+
+% \pgfmath@postfunction
+%
+% In scanning a function e.g. sin(40), we subvert the normal parsing
+% group mechanism by messing around with \pgfmath@parsepostgroup, so
+% that after scanning ), the parser doesn't scan for an operator, but
+% returns to the macros scanning the function.
+% Here the mechanism is restored, and the value of the function is
+% stored along with the approprate sign, which was saved earlier.
+%
+\def\pgfmath@postfunction{%
+ \let\pgfmath@parsepostgroup\pgfmath@parseoperator%
+ \edef\pgfmathresult{\pgfmath@sign\pgfmathresult}%
+ \pgfmath@parseoperator}
+
+
+% \pgfmath@parsefunction@abs
+%
+\def\pgfmath@parsefunction@abs{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@abs@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@abs@{%
+ \expandafter\pgfmathabs@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@sqrt
+%
+\def\pgfmath@parsefunction@sqrt{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@sqrt@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@sqrt@{%
+ \expandafter\pgfmathsqrt@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@round
+%
+\def\pgfmath@parsefunction@round{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@round@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@round@{%
+ \expandafter\pgfmathround@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@floor
+%
+\def\pgfmath@parsefunction@floor{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@floor@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@floor@{%
+ \expandafter\pgfmathfloor@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@ceil
+%
+\def\pgfmath@parsefunction@ceil{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@ceil@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@ceil@{%
+ \expandafter\pgfmathceil@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@sin
+%
+\def\pgfmath@parsefunction@sin{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@sin@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@sin@{%
+ \expandafter\pgfmathsin@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@cos
+%
+\def\pgfmath@parsefunction@cos{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@cos@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@cos@{%
+ \expandafter\pgfmathcos@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@asin
+%
+\def\pgfmath@parsefunction@asin{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@asin@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@asin@{%
+ \expandafter\pgfmathasin@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@acos
+%
+\def\pgfmath@parsefunction@acos{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@acos@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@acos@{%
+ \expandafter\pgfmathacos@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction}
+
+% \pgfmath@parsefunction@atan
+%
+\def\pgfmath@parsefunction@atan{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@atan@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@atan@{%
+ \expandafter\pgfmathatan@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@tan
+%
+\def\pgfmath@parsefunction@tan{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@tan@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@tan@{%
+ \expandafter\pgfmathtan@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@rad
+%
+\def\pgfmath@parsefunction@rad{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@rad@%
+ \pgfmath@parse@}
+\def\pgfmath@parsefunction@rad@{%
+ \expandafter\pgfmathrad@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction}%
+
+% \pgfmath@parsefunction@rad
+%
+\def\pgfmath@parsefunction@deg{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@deg@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@deg@{%
+ \expandafter\pgfmathdeg@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction}%
+
+% \pgfmath@parsefunction@rnd
+%
+\def\pgfmath@parsefunction@rnd{%
+ \expandafter\pgfmathrnd%
+ \expandafter\pgfmath@postfunction}
+
+% \pgfmath@parsefunction@rand
+%
+\def\pgfmath@parsefunction@rand{%
+ \expandafter\pgfmathrand%
+ \expandafter\pgfmath@postfunction}%
+
+% \pgfmath@parsefunction@exp
+%
+\def\pgfmath@parsefunction@exp{%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@exp@%
+ \expandafter\pgfmath@parse@}
+\def\pgfmath@parsefunction@exp@{%
+ \expandafter\pgfmathexp@\expandafter{\pgfmathresult}%
+ \pgfmath@postfunction%
+}
+
+% \pgfmath@parsefunction@pi
+%
+\def\pgfmath@parsefunction@pi{%
+ \pgfmathpi%
+ \pgfmath@postfunction%
+}
+
+
+% \pgfmath@parsefunction@veclen
+%
+\def\pgfmath@parsefunction@veclen{%
+ \expandafter\pgfmath@parsefunction@veclen@}
+\def\pgfmath@parsefunction@veclen@(#1,{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@veclen@@
+ \pgfmath@startparsegroup}
+\def\pgfmath@parsefunction@veclen@@{%
+ \edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathveclen@{\pgfmath@firstoperand}{\pgfmath@secondoperand}%
+ \pgfmath@postfunction}
+
+% \pgfmath@parsefunction@mod
+%
+\def\pgfmath@parsefunction@mod{%
+ \expandafter\pgfmath@parsefunction@mod@}
+\def\pgfmath@parsefunction@mod@(#1,{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@mod@@
+ \pgfmath@startparsegroup}
+\def\pgfmath@parsefunction@mod@@{%
+ \edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathmod@{\pgfmath@firstoperand}{\pgfmath@secondoperand}%
+ \pgfmath@postfunction}
+
+% \pgfmath@parsefunction@max
+%
+\def\pgfmath@parsefunction@max{%
+ \expandafter\pgfmath@parsefunction@max@}
+\def\pgfmath@parsefunction@max@(#1,{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@max@@
+ \pgfmath@startparsegroup}
+\def\pgfmath@parsefunction@max@@{%
+ \edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathmax@{\pgfmath@firstoperand}{\pgfmath@secondoperand}%
+ \pgfmath@postfunction}
+
+% \pgfmath@parsefunction@min
+%
+\def\pgfmath@parsefunction@min{%
+ \expandafter\pgfmath@parsefunction@min@}
+\def\pgfmath@parsefunction@min@(#1,{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@min@@
+ \pgfmath@startparsegroup}
+\def\pgfmath@parsefunction@min@@{%
+ \edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathmin@{\pgfmath@firstoperand}{\pgfmath@secondoperand}%
+ \pgfmath@postfunction}
+
+% \pgfmath@parsefunction@pow
+%
+\def\pgfmath@parsefunction@pow{%
+ \expandafter\pgfmath@parsefunction@pow@}
+\def\pgfmath@parsefunction@pow@(#1,{%
+ \pgfmathparse@{#1}\edef\pgfmath@firstoperand{\pgfmathresult}%
+ \let\pgfmath@parsepostgroup\pgfmath@parsefunction@pow@@
+ \pgfmath@startparsegroup}
+\def\pgfmath@parsefunction@pow@@{%
+ \edef\pgfmath@secondoperand{\pgfmathresult}%
+ \pgfmathpow@{\pgfmath@firstoperand}{\pgfmath@secondoperand}%
+ \pgfmath@postfunction} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathrnd.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathrnd.code.tex
new file mode 100644
index 00000000000..ba54bfd6cdb
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathrnd.code.tex
@@ -0,0 +1,213 @@
+% Copyright 2007 by Mark Wibrow
+%
+% 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.
+
+% This file defines the pesudorandom numbers.
+%
+% Version 0.0 08/03/2007
+
+% Pseudo-random number generation.
+%
+% See:
+% \book@{pressetal1992,
+% author = {William H. Press and Brian P. Flannery and Saul A.
+% Teukolsky and William T. Vetterling},
+% title = {Numerical Recipies in C},
+% edition = {Second},
+% publisher = {Cambridge University Press}
+% }
+%
+% See also, the documentation for the lcg package by Erich Janka:
+% (http://www.ctan.org/tex-archive/macros/latex/contrib/lcg/lcg.pdf)
+%
+\def\pgfmath@rnd@m{2147483647}% LaTeX Maximum.
+
+\begingroup
+\c@pgfmath@counta=\time%
+\multiply\c@pgfmath@counta by\year%
+\xdef\pgfmath@rnd@z{\the\c@pgfmath@counta}% The seed.
+\endgroup
+
+% \pgfmathsetseed
+%
+% Explictly set the seed for the generator
+%
+% #1 -> the new seed.
+%
+
+\def\pgfmathsetseed#1{\pgfmathparse{#1}\expandafter\pgfmath@setseed\pgfmathresult\relax}%
+\def\pgfmath@setseed#1.#2\relax{\def\pgfmath@rnd@z{#1}}%
+
+% Alternative paramaters - see Press et al (1992) p278-279,
+% for discussion.
+%
+% a=16807 q=127773 r=2836
+% a=48271 q=4488 r=3399
+%
+\def\pgfmath@rnd@a{69621}
+\def\pgfmath@rnd@r{23902}
+\def\pgfmath@rnd@q{30845}
+
+% \pgfmathgeneratepseudorandomnumber
+%
+% A linear congruency generator for generating
+% pseudo-random numbers. Generates numbers in
+% the range 1 - 2^31-1.
+%
+\def\pgfmathgeneratepseudorandomnumber{%
+ \begingroup%
+ \c@pgfmath@counta=\pgfmath@rnd@z%
+ \c@pgfmath@countb=\pgfmath@rnd@z%
+ \c@pgfmath@countc=\pgfmath@rnd@q%
+ \divide\c@pgfmath@counta by\c@pgfmath@countc%
+ \multiply\c@pgfmath@counta by-\c@pgfmath@countc%
+ \advance\c@pgfmath@counta by\c@pgfmath@countb
+ \c@pgfmath@countc=\pgfmath@rnd@a%
+ \multiply\c@pgfmath@counta by\c@pgfmath@countc%
+ \c@pgfmath@countc=\pgfmath@rnd@q%
+ \divide\c@pgfmath@countb by\c@pgfmath@countc%
+ \c@pgfmath@countc=\pgfmath@rnd@r%
+ \multiply\c@pgfmath@countb by\c@pgfmath@countc%
+ \advance\c@pgfmath@counta by-\c@pgfmath@countb%
+ \ifnum\c@pgfmath@counta<0\relax%
+ \c@pgfmath@countb=\pgfmath@rnd@m%
+ \advance\c@pgfmath@counta by\c@pgfmath@countb%
+ \fi%
+ \xdef\pgfmath@rnd@z{\the\c@pgfmath@counta}%
+ \endgroup%
+ \edef\pgfmathresult{\pgfmath@rnd@z}%
+}
+
+% \pgfmathrnd
+%
+% Generates a pseudo-random number between 0 and 1.
+%
+\def\pgfmathrnd{%
+ \begingroup%
+ \pgfmathgeneratepseudorandomnumber%
+ \c@pgfmath@counta\pgfmathresult%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \divide\c@pgfmath@countb100001\relax% To get one.
+ \multiply\c@pgfmath@countb-100001\relax%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \advance\c@pgfmath@countb1000000\relax%
+ \expandafter\pgfmathrnd@\the\c@pgfmath@countb\pgfmath@%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}%
+
+\def\pgfmathrnd@#1#2#3\pgfmath@{%
+ \edef\pgfmath@temp{#2.#3}%
+ \pgfmath@x=\pgfmath@temp pt\relax%
+}%
+
+% \pgfmathrand
+%
+% Generates a pseudo-random number between -1 and 1.
+%
+\def\pgfmathrand{%
+ \begingroup%
+ \pgfmathgeneratepseudorandomnumber%
+ \c@pgfmath@counta\pgfmathresult%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \divide\c@pgfmath@countb200001\relax%
+ \multiply\c@pgfmath@countb-200001\relax%
+ \advance\c@pgfmath@countb\c@pgfmath@counta%
+ \advance\c@pgfmath@countb-100000\relax%
+ \ifnum\c@pgfmath@countb<0\relax%
+ \advance\c@pgfmath@countb-1000000\relax%
+ \else%
+ \advance\c@pgfmath@countb1000000\relax%
+ \fi%
+ \expandafter\pgfmathrand@\the\c@pgfmath@countb\pgfmath@%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}%
+
+\def\pgfmathrand@#1#2#3#4\pgfmath@{%
+ \ifx#1-%
+ \edef\pgfmath@temp{-#3.#4}%
+ \else%
+ \edef\pgfmath@temp{#2.#3#4}%
+ \fi%
+ \pgfmath@x=\pgfmath@temp pt\relax%
+}%
+
+% \pgfmathrandominteger
+%
+% Return a 'randomly' selected integer in the range #2 - #3 (inclusive).
+%
+% #1 - a macro to store the integer (not a count register).
+% #2 - the lower limit of the range.
+% #3 - the upper limit of the range.
+%
+\def\pgfmathrandominteger#1#2#3{%
+ \begingroup%
+ \pgfmathgeneratepseudorandomnumber%
+ \c@pgfmath@counta#2\relax%
+ \c@pgfmath@countb#3\relax%
+ \c@pgfmath@countc\c@pgfmath@countb%
+ % OK. Maybe #2 > #3.
+ \ifnum\c@pgfmath@counta>\c@pgfmath@countb\relax%
+ \c@pgfmath@countc\c@pgfmath@countb%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \c@pgfmath@counta\c@pgfmath@countc%
+ \fi%
+ \advance\c@pgfmath@countc1\relax%
+ \advance\c@pgfmath@countc-\c@pgfmath@counta%
+ \c@pgfmath@counta\pgfmathresult\relax%
+ \c@pgfmath@countb\c@pgfmath@counta%
+ \divide\c@pgfmath@countb\c@pgfmath@countc%
+ \multiply\c@pgfmath@countb-\c@pgfmath@countc%
+ \advance\c@pgfmath@counta\c@pgfmath@countb%
+ \advance\c@pgfmath@counta#2\relax%
+ \edef\pgfmathresult{\the\c@pgfmath@counta}%
+ \pgfmath@smuggleone{\pgfmathresult}%
+ \endgroup%
+ \edef#1{\pgfmathresult}%
+}
+
+% \pgfmathdeclarerandomlist
+%
+% Create a list to be used with \pgfmathrandomelement.
+%
+% #1 - the name of the list
+% #2 - a list of comma separated elements.
+%
+\def\pgfmathdeclarerandomlist#1#2{%
+ \def\pgfmath@randomlistname{#1}%
+ \begingroup%
+ \c@pgfmath@counta=1\relax%
+ % {} is a possible random element so (locally)
+ % redefine \pgfmath@empty.
+ \def\pgfmath@empty{pgfmath@empty}%
+ \expandafter\pgfmath@scanrandomlist#2{pgfmath@empty}}
+\def\pgfmath@scanrandomlist#1{%
+ \def\pgfmath@scanneditem{#1}%
+ \ifx\pgfmath@scanneditem\pgfmath@empty%
+ \advance\c@pgfmath@counta-1\relax%
+ \expandafter\xdef\csname pgfmath@randomlist@\pgfmath@randomlistname\endcsname{\the\c@pgfmath@counta}%
+ \endgroup%
+ \else%
+ \expandafter\gdef\csname pgfmath@randomlist@\pgfmath@randomlistname @\the\c@pgfmath@counta\endcsname{#1}%
+ \advance\c@pgfmath@counta1\relax%
+ \expandafter\pgfmath@scanrandomlist%
+ \fi}
+
+% \pgfmathrandomitem
+%
+% Return a 'randomly' selected element from a list.
+%
+% #1 - a macro to store the item.
+% #2 - the name of the list.
+%
+\def\pgfmathrandomitem#1#2{%
+ \pgfmath@ifundefined{pgfmath@randomlist@#2}{\pgfmath@error{Unknown random list `#2'}}{%
+ \edef\pgfmath@randomlistlength{\csname pgfmath@randomlist@#2\endcsname}%
+ \pgfmathrandominteger{\pgfmath@randomtemp}{1}{\pgfmath@randomlistlength}%
+ \def#1{\csname pgfmath@randomlist@#2@\pgfmath@randomtemp\endcsname}}} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathtrig.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathtrig.code.tex
new file mode 100644
index 00000000000..dd38f36f37b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathtrig.code.tex
@@ -0,0 +1,1932 @@
+% Copyright 2007 by Mark Wibrow
+%
+% 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.
+
+% This file defines the trigonometric functions/operations.
+%
+% Much of this file is based on ideas and code (particularly
+% \pgfcoremath.code.tex) due to Till Tantau
+%
+% Version 0.0 08/03/2007
+
+% \pgfmathpi
+%
+\def\pgfmathpi{\edef\pgfmathresult{\pgfmath@pi}}
+\def\pgfmath@pi{3.14159}
+
+% \pgfmathradians
+%
+% Convert #1 from radians to degrees (accurate to 1 deg).
+%
+\def\pgfmathradians#1{%
+ \pgfmathparse{#1}%
+ \pgfmathradians@{\pgfmathresult}}
+\def\pgfmathradians@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \pgfmath@x57.29577\pgfmath@x\relax% 57.29577 = 360/(2*pi)
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}%
+
+% \pgfmathdeg
+%
+% Convert #1 from radians to degrees.
+%
+\def\pgfmathdeg#1{%
+ \pgfmathparse{#1}%
+ \pgfmathdeg@{\pgfmathresult}}
+\def\pgfmathdeg@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \pgfmath@x57.29577\pgfmath@x\relax% 57.29577 = 360/(2*pi)
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}%
+
+% \pgfmathrad
+%
+% Convert #1 from degrees to radians.
+%
+\def\pgfmathrad#1{%
+ \pgfmathparse{#1}%
+ \pgfmathrad@{\pgfmathresult}}
+\def\pgfmathrad@#1{%
+ \begingroup%
+ \expandafter\pgfmath@x#1pt\relax%
+ \pgfmath@x3.14159\pgfmath@x%
+ \divide\pgfmath@x180\relax%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}%
+
+% \pgfmathsin
+%
+% Calculate the sine of #1 (in degrees).
+%
+\def\pgfmathsin#1{%
+ \pgfmathparse{#1}%
+ \pgfmathsin@{\pgfmathresult}}
+\def\pgfmathsin@#1{%
+ % Let #1 = a.b
+ % Then sin(#1) \approx (1-b)*cos(a) + b*cos(a+1)
+ %
+ \begingroup%
+ \pgfmath@x#1pt\relax%
+ \advance\pgfmath@x-90pt\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@
+ \divide\c@pgfmath@counta360\relax%
+ \multiply\c@pgfmath@counta-360\relax%
+ \advance\pgfmath@x\c@pgfmath@counta pt\relax%
+ \ifdim\pgfmath@x<0pt\relax\pgfmath@x-\pgfmath@x\fi%
+ \ifdim\pgfmath@x<180pt\relax%
+ \else
+ \pgfmath@x-\pgfmath@x%
+ \advance\pgfmath@x360pt\relax%
+ \fi%
+ % Now 0 <= x < 179. So split x into integer and decimal...
+ %
+ \afterassignment\pgfmath@xa%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax%
+ %
+ % ...if #1 is an integer, don't do anything fancy.
+ \ifdim\pgfmath@xa=0pt%
+ \expandafter\pgfmath@x\csname pgfmath@cos@\the\c@pgfmath@counta\endcsname pt\relax%
+ \else%
+ \pgfmath@x-\pgfmath@xa%
+ \advance\pgfmath@x1pt\relax%
+ \expandafter\pgfmath@x\csname pgfmath@cos@\the\c@pgfmath@counta\endcsname\pgfmath@x%
+ \advance\c@pgfmath@counta1\relax%
+ \expandafter\advance\expandafter\pgfmath@x\csname pgfmath@cos@\the\c@pgfmath@counta\endcsname\pgfmath@xa%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup
+}
+
+% \pgfmathcos
+%
+% Calculate the cosine of #1 (in degrees).
+%
+\def\pgfmathcos#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathcos@\expandafter{\pgfmathresult}}
+\def\pgfmathcos@#1{%
+ % Let x = a.b
+ % Then cos(x) \approx (1-b)*cos(a) + b*cos(a+1)
+ %
+ \begingroup%
+ \pgfmath@x#1pt\relax%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@%
+ \divide\c@pgfmath@counta360\relax%
+ \multiply\c@pgfmath@counta-360\relax%
+ \advance\pgfmath@x\c@pgfmath@counta pt\relax%
+ \ifdim\pgfmath@x<0pt\relax\pgfmath@x-\pgfmath@x\fi%
+ \ifdim\pgfmath@x<180pt\relax%
+ \else%
+ \pgfmath@x-\pgfmath@x%
+ \advance\pgfmath@x360pt\relax%
+ \fi%
+ % Now 0 <= x < 179. So split x into integer and decimal...
+ %
+ \afterassignment\pgfmath@xa%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax%
+ %
+ % ...if #1 is an integer, don't do anything fancy.
+ \ifdim\pgfmath@xa=0pt%
+ \expandafter\pgfmath@x\csname pgfmath@cos@\the\c@pgfmath@counta\endcsname pt%
+ \else%
+ \pgfmath@x-\pgfmath@xa%
+ \advance\pgfmath@x1pt\relax%
+ \expandafter\pgfmath@x\csname pgfmath@cos@\the\c@pgfmath@counta\endcsname\pgfmath@x%
+ \advance\c@pgfmath@counta1\relax%
+ \ifnum\c@pgfmath@counta=181\relax\c@pgfmath@counta179\relax\fi%
+ \expandafter\advance\expandafter\pgfmath@x\csname pgfmath@cos@\the\c@pgfmath@counta\endcsname\pgfmath@xa%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+
+% \pgfmathsincos
+%
+% Calculate the sin and cosine of #1 (in degrees).
+%
+\def\pgfmathsincos#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathcos@\expandafter{\pgfmathresult}}
+\def\pgfmathsincos@#1{%
+ \pgfmathsin@{#1}\edef\pgfmathresulty{\pgfmathresult}%
+ \pgfmathcos@{#1}\edef\pgfmathresultx{\pgfmathresult}%
+}
+% \pgfmathtan
+%
+% Calculate the cotangent of #1 (in degrees).
+%
+\def\pgfmathtan#1{%
+ \pgfmathparse{#1}%
+ \pgfmathtan@{\pgfmathresult}}
+\def\pgfmathtan@#1{%
+ \begingroup%
+ \pgfmathcos@{#1}%
+ \expandafter\pgfmathreciprocal@\expandafter{\pgfmathresult}%
+ \edef\pgfmath@tantemp{\pgfmathresult}%
+ \pgfmathsin@{#1}%
+ \pgfmath@x\pgfmathresult pt\relax%
+ \pgfmath@x\pgfmath@tantemp\pgfmath@x%
+ % Adjust to 4 decimal places. This gets rid of some annoyingly tiny errors.
+ \afterassignment\pgfmath@x%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax%
+ \ifdim\pgfmath@x<.0001pt\relax%
+ \pgfmath@x0pt\relax%
+ \fi%
+ \advance\pgfmath@x\c@pgfmath@counta pt%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+
+% \pgfmathasin
+%
+% The asin of #1
+%
+\def\pgfmathasin#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathasin@\expandafter{\pgfmathresult}}
+\def\pgfmathasin@#1{%
+ \begingroup%
+ \pgfmath@x#1pt\relax%
+ \pgfmath@xa\pgfmath@x%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \fi%
+ \pgfmath@x1000\pgfmath@x%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@%
+ \expandafter\pgfmath@x\csname pgfmath@asin@\the\c@pgfmath@counta\endcsname pt\relax%
+ \ifdim\pgfmath@xa<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathacos
+%
+% The acos of #1
+%
+\def\pgfmathacos#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathacos@\expandafter{\pgfmathresult}}
+\def\pgfmathacos@#1{%
+ \begingroup%
+ \pgfmath@x#1pt\relax%
+ \pgfmath@xa\pgfmath@x%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \fi%
+ \pgfmath@x1000\pgfmath@x%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@%
+ \expandafter\pgfmath@x\csname pgfmath@acos@\the\c@pgfmath@counta\endcsname pt\relax%
+ \ifdim\pgfmath@xa<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+% \pgfmathasin
+%
+% The atan of #1
+%
+\def\pgfmathatan#1{%
+ \pgfmathparse{#1}%
+ \expandafter\pgfmathatan@\expandafter{\pgfmathresult}}
+\def\pgfmathatan@#1{%
+ \begingroup%
+ \pgfmath@x#1pt\relax%
+ \pgfmath@xa\pgfmath@x%
+ \ifdim\pgfmath@x<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \fi%
+ \pgfmath@xb\pgfmath@x%
+ \ifdim\pgfmath@x>1pt\relax%
+ \edef\pgfmath@temp{\pgfmath@tonumber{\pgfmath@x}}%
+ \pgfmathreciprocal@{\pgfmath@temp}%
+ \pgfmath@x\pgfmathresult pt\relax%
+ \fi%
+ \pgfmath@x1000\pgfmath@x%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@%
+ \ifdim\pgfmath@xb>1pt\relax%
+ \expandafter\pgfmath@x\expandafter-\csname pgfmath@atan@\the\c@pgfmath@counta\endcsname pt\relax%
+ \advance\pgfmath@x90pt%
+ \else%
+ \expandafter\pgfmath@x\csname pgfmath@atan@\the\c@pgfmath@counta\endcsname pt\relax%
+ \fi%
+ \ifdim\pgfmath@xa<0pt\relax%
+ \pgfmath@x-\pgfmath@x%
+ \fi%
+ \pgfmath@returnone\pgfmath@x%
+ \endgroup%
+}
+
+
+\def\pgfmath@def#1#2#3{\expandafter\def\csname pgfmath@#1@#2\endcsname{#3}}
+\pgfmath@def{cos}{0}{1.00000} \pgfmath@def{cos}{1}{0.99985}
+\pgfmath@def{cos}{2}{0.99939} \pgfmath@def{cos}{3}{0.99863}
+\pgfmath@def{cos}{4}{0.99756} \pgfmath@def{cos}{5}{0.99619}
+\pgfmath@def{cos}{6}{0.99452} \pgfmath@def{cos}{7}{0.99255}
+\pgfmath@def{cos}{8}{0.99027} \pgfmath@def{cos}{9}{0.98769}
+\pgfmath@def{cos}{10}{0.98481} \pgfmath@def{cos}{11}{0.98163}
+\pgfmath@def{cos}{12}{0.97815} \pgfmath@def{cos}{13}{0.97437}
+\pgfmath@def{cos}{14}{0.97030} \pgfmath@def{cos}{15}{0.96593}
+\pgfmath@def{cos}{16}{0.96126} \pgfmath@def{cos}{17}{0.95630}
+\pgfmath@def{cos}{18}{0.95106} \pgfmath@def{cos}{19}{0.94552}
+\pgfmath@def{cos}{20}{0.93969} \pgfmath@def{cos}{21}{0.93358}
+\pgfmath@def{cos}{22}{0.92718} \pgfmath@def{cos}{23}{0.92050}
+\pgfmath@def{cos}{24}{0.91355} \pgfmath@def{cos}{25}{0.90631}
+\pgfmath@def{cos}{26}{0.89879} \pgfmath@def{cos}{27}{0.89101}
+\pgfmath@def{cos}{28}{0.88295} \pgfmath@def{cos}{29}{0.87462}
+\pgfmath@def{cos}{30}{0.86603} \pgfmath@def{cos}{31}{0.85717}
+\pgfmath@def{cos}{32}{0.84805} \pgfmath@def{cos}{33}{0.83867}
+\pgfmath@def{cos}{34}{0.82904} \pgfmath@def{cos}{35}{0.81915}
+\pgfmath@def{cos}{36}{0.80902} \pgfmath@def{cos}{37}{0.79864}
+\pgfmath@def{cos}{38}{0.78801} \pgfmath@def{cos}{39}{0.77715}
+\pgfmath@def{cos}{40}{0.76604} \pgfmath@def{cos}{41}{0.75471}
+\pgfmath@def{cos}{42}{0.74314} \pgfmath@def{cos}{43}{0.73135}
+\pgfmath@def{cos}{44}{0.71934} \pgfmath@def{cos}{45}{0.70711}
+\pgfmath@def{cos}{46}{0.69466} \pgfmath@def{cos}{47}{0.68200}
+\pgfmath@def{cos}{48}{0.66913} \pgfmath@def{cos}{49}{0.65606}
+\pgfmath@def{cos}{50}{0.64279} \pgfmath@def{cos}{51}{0.62932}
+\pgfmath@def{cos}{52}{0.61566} \pgfmath@def{cos}{53}{0.60182}
+\pgfmath@def{cos}{54}{0.58779} \pgfmath@def{cos}{55}{0.57358}
+\pgfmath@def{cos}{56}{0.55919} \pgfmath@def{cos}{57}{0.54464}
+\pgfmath@def{cos}{58}{0.52992} \pgfmath@def{cos}{59}{0.51504}
+\pgfmath@def{cos}{60}{0.50000} \pgfmath@def{cos}{61}{0.48481}
+\pgfmath@def{cos}{62}{0.46947} \pgfmath@def{cos}{63}{0.45399}
+\pgfmath@def{cos}{64}{0.43837} \pgfmath@def{cos}{65}{0.42262}
+\pgfmath@def{cos}{66}{0.40674} \pgfmath@def{cos}{67}{0.39073}
+\pgfmath@def{cos}{68}{0.37461} \pgfmath@def{cos}{69}{0.35837}
+\pgfmath@def{cos}{70}{0.34202} \pgfmath@def{cos}{71}{0.32557}
+\pgfmath@def{cos}{72}{0.30902} \pgfmath@def{cos}{73}{0.29237}
+\pgfmath@def{cos}{74}{0.27564} \pgfmath@def{cos}{75}{0.25882}
+\pgfmath@def{cos}{76}{0.24192} \pgfmath@def{cos}{77}{0.22495}
+\pgfmath@def{cos}{78}{0.20791} \pgfmath@def{cos}{79}{0.19081}
+\pgfmath@def{cos}{80}{0.17365} \pgfmath@def{cos}{81}{0.15643}
+\pgfmath@def{cos}{82}{0.13917} \pgfmath@def{cos}{83}{0.12187}
+\pgfmath@def{cos}{84}{0.10453} \pgfmath@def{cos}{85}{0.08716}
+\pgfmath@def{cos}{86}{0.06976} \pgfmath@def{cos}{87}{0.05234}
+\pgfmath@def{cos}{88}{0.03490} \pgfmath@def{cos}{89}{0.01745}
+\pgfmath@def{cos}{90}{0.00000} \pgfmath@def{cos}{91}{-0.01745}
+\pgfmath@def{cos}{92}{-0.03490} \pgfmath@def{cos}{93}{-0.05234}
+\pgfmath@def{cos}{94}{-0.06976} \pgfmath@def{cos}{95}{-0.08716}
+\pgfmath@def{cos}{96}{-0.10453} \pgfmath@def{cos}{97}{-0.12187}
+\pgfmath@def{cos}{98}{-0.13917} \pgfmath@def{cos}{99}{-0.15643}
+\pgfmath@def{cos}{100}{-0.17365} \pgfmath@def{cos}{101}{-0.19081}
+\pgfmath@def{cos}{102}{-0.20791} \pgfmath@def{cos}{103}{-0.22495}
+\pgfmath@def{cos}{104}{-0.24192} \pgfmath@def{cos}{105}{-0.25882}
+\pgfmath@def{cos}{106}{-0.27564} \pgfmath@def{cos}{107}{-0.29237}
+\pgfmath@def{cos}{108}{-0.30902} \pgfmath@def{cos}{109}{-0.32557}
+\pgfmath@def{cos}{110}{-0.34202} \pgfmath@def{cos}{111}{-0.35837}
+\pgfmath@def{cos}{112}{-0.37461} \pgfmath@def{cos}{113}{-0.39073}
+\pgfmath@def{cos}{114}{-0.40674} \pgfmath@def{cos}{115}{-0.42262}
+\pgfmath@def{cos}{116}{-0.43837} \pgfmath@def{cos}{117}{-0.45399}
+\pgfmath@def{cos}{118}{-0.46947} \pgfmath@def{cos}{119}{-0.48481}
+\pgfmath@def{cos}{120}{-0.50000} \pgfmath@def{cos}{121}{-0.51504}
+\pgfmath@def{cos}{122}{-0.52992} \pgfmath@def{cos}{123}{-0.54464}
+\pgfmath@def{cos}{124}{-0.55919} \pgfmath@def{cos}{125}{-0.57358}
+\pgfmath@def{cos}{126}{-0.58779} \pgfmath@def{cos}{127}{-0.60182}
+\pgfmath@def{cos}{128}{-0.61566} \pgfmath@def{cos}{129}{-0.62932}
+\pgfmath@def{cos}{130}{-0.64279} \pgfmath@def{cos}{131}{-0.65606}
+\pgfmath@def{cos}{132}{-0.66913} \pgfmath@def{cos}{133}{-0.68200}
+\pgfmath@def{cos}{134}{-0.69466} \pgfmath@def{cos}{135}{-0.70711}
+\pgfmath@def{cos}{136}{-0.71934} \pgfmath@def{cos}{137}{-0.73135}
+\pgfmath@def{cos}{138}{-0.74314} \pgfmath@def{cos}{139}{-0.75471}
+\pgfmath@def{cos}{140}{-0.76604} \pgfmath@def{cos}{141}{-0.77715}
+\pgfmath@def{cos}{142}{-0.78801} \pgfmath@def{cos}{143}{-0.79864}
+\pgfmath@def{cos}{144}{-0.80902} \pgfmath@def{cos}{145}{-0.81915}
+\pgfmath@def{cos}{146}{-0.82904} \pgfmath@def{cos}{147}{-0.83867}
+\pgfmath@def{cos}{148}{-0.84805} \pgfmath@def{cos}{149}{-0.85717}
+\pgfmath@def{cos}{150}{-0.86603} \pgfmath@def{cos}{151}{-0.87462}
+\pgfmath@def{cos}{152}{-0.88295} \pgfmath@def{cos}{153}{-0.89101}
+\pgfmath@def{cos}{154}{-0.89879} \pgfmath@def{cos}{155}{-0.90631}
+\pgfmath@def{cos}{156}{-0.91355} \pgfmath@def{cos}{157}{-0.92050}
+\pgfmath@def{cos}{158}{-0.92718} \pgfmath@def{cos}{159}{-0.93358}
+\pgfmath@def{cos}{160}{-0.93969} \pgfmath@def{cos}{161}{-0.94552}
+\pgfmath@def{cos}{162}{-0.95106} \pgfmath@def{cos}{163}{-0.95630}
+\pgfmath@def{cos}{164}{-0.96126} \pgfmath@def{cos}{165}{-0.96593}
+\pgfmath@def{cos}{166}{-0.97030} \pgfmath@def{cos}{167}{-0.97437}
+\pgfmath@def{cos}{168}{-0.97815} \pgfmath@def{cos}{169}{-0.98163}
+\pgfmath@def{cos}{170}{-0.98481} \pgfmath@def{cos}{171}{-0.98769}
+\pgfmath@def{cos}{172}{-0.99027} \pgfmath@def{cos}{173}{-0.99255}
+\pgfmath@def{cos}{174}{-0.99452} \pgfmath@def{cos}{175}{-0.99619}
+\pgfmath@def{cos}{176}{-0.99756} \pgfmath@def{cos}{177}{-0.99863}
+\pgfmath@def{cos}{178}{-0.99939} \pgfmath@def{cos}{179}{-0.99985}
+\pgfmath@def{cos}{180}{-1.00000} \pgfmath@def{cos}{181}{-0.99985}
+
+\pgfmath@def{cosfrac}{0}{1.00000} \pgfmath@def{cosfrac}{1}{0.99995}
+\pgfmath@def{cosfrac}{2}{0.99980} \pgfmath@def{cosfrac}{3}{0.99955}
+\pgfmath@def{cosfrac}{4}{0.99920} \pgfmath@def{cosfrac}{5}{0.99875}
+\pgfmath@def{cosfrac}{6}{0.99820} \pgfmath@def{cosfrac}{7}{0.99755}
+\pgfmath@def{cosfrac}{8}{0.99681} \pgfmath@def{cosfrac}{9}{0.99597}
+\pgfmath@def{cosfrac}{10}{0.99503} \pgfmath@def{cosfrac}{11}{0.99400}
+\pgfmath@def{cosfrac}{12}{0.99287} \pgfmath@def{cosfrac}{13}{0.99165}
+\pgfmath@def{cosfrac}{14}{0.99034} \pgfmath@def{cosfrac}{15}{0.98893}
+\pgfmath@def{cosfrac}{16}{0.98744} \pgfmath@def{cosfrac}{17}{0.98585}
+\pgfmath@def{cosfrac}{18}{0.98418} \pgfmath@def{cosfrac}{19}{0.98242}
+\pgfmath@def{cosfrac}{20}{0.98058} \pgfmath@def{cosfrac}{21}{0.97865}
+\pgfmath@def{cosfrac}{22}{0.97664} \pgfmath@def{cosfrac}{23}{0.97455}
+\pgfmath@def{cosfrac}{24}{0.97238} \pgfmath@def{cosfrac}{25}{0.97014}
+\pgfmath@def{cosfrac}{26}{0.96782} \pgfmath@def{cosfrac}{27}{0.96542}
+\pgfmath@def{cosfrac}{28}{0.96296} \pgfmath@def{cosfrac}{29}{0.96042}
+\pgfmath@def{cosfrac}{30}{0.95782} \pgfmath@def{cosfrac}{31}{0.95515}
+\pgfmath@def{cosfrac}{32}{0.95242} \pgfmath@def{cosfrac}{33}{0.94962}
+\pgfmath@def{cosfrac}{34}{0.94677} \pgfmath@def{cosfrac}{35}{0.94385}
+\pgfmath@def{cosfrac}{36}{0.94088} \pgfmath@def{cosfrac}{37}{0.93786}
+\pgfmath@def{cosfrac}{38}{0.93478} \pgfmath@def{cosfrac}{39}{0.93165}
+\pgfmath@def{cosfrac}{40}{0.92847} \pgfmath@def{cosfrac}{41}{0.92525}
+\pgfmath@def{cosfrac}{42}{0.92198} \pgfmath@def{cosfrac}{43}{0.91866}
+\pgfmath@def{cosfrac}{44}{0.91531} \pgfmath@def{cosfrac}{45}{0.91192}
+\pgfmath@def{cosfrac}{46}{0.90849} \pgfmath@def{cosfrac}{47}{0.90502}
+\pgfmath@def{cosfrac}{48}{0.90152} \pgfmath@def{cosfrac}{49}{0.89799}
+\pgfmath@def{cosfrac}{50}{0.89442} \pgfmath@def{cosfrac}{51}{0.89083}
+\pgfmath@def{cosfrac}{52}{0.88721} \pgfmath@def{cosfrac}{53}{0.88357}
+\pgfmath@def{cosfrac}{54}{0.87990} \pgfmath@def{cosfrac}{55}{0.87621}
+\pgfmath@def{cosfrac}{56}{0.87250} \pgfmath@def{cosfrac}{57}{0.86877}
+\pgfmath@def{cosfrac}{58}{0.86503} \pgfmath@def{cosfrac}{59}{0.86126}
+\pgfmath@def{cosfrac}{60}{0.85749} \pgfmath@def{cosfrac}{61}{0.85370}
+\pgfmath@def{cosfrac}{62}{0.84990} \pgfmath@def{cosfrac}{63}{0.84609}
+\pgfmath@def{cosfrac}{64}{0.84227} \pgfmath@def{cosfrac}{65}{0.83844}
+\pgfmath@def{cosfrac}{66}{0.83460} \pgfmath@def{cosfrac}{67}{0.83077}
+\pgfmath@def{cosfrac}{68}{0.82692} \pgfmath@def{cosfrac}{69}{0.82308}
+\pgfmath@def{cosfrac}{70}{0.81923} \pgfmath@def{cosfrac}{71}{0.81538}
+\pgfmath@def{cosfrac}{72}{0.81153} \pgfmath@def{cosfrac}{73}{0.80768}
+\pgfmath@def{cosfrac}{74}{0.80384} \pgfmath@def{cosfrac}{75}{0.80000}
+\pgfmath@def{cosfrac}{76}{0.79616} \pgfmath@def{cosfrac}{77}{0.79232}
+\pgfmath@def{cosfrac}{78}{0.78850} \pgfmath@def{cosfrac}{79}{0.78468}
+\pgfmath@def{cosfrac}{80}{0.78086} \pgfmath@def{cosfrac}{81}{0.77706}
+\pgfmath@def{cosfrac}{82}{0.77326} \pgfmath@def{cosfrac}{83}{0.76948}
+\pgfmath@def{cosfrac}{84}{0.76570} \pgfmath@def{cosfrac}{85}{0.76193}
+\pgfmath@def{cosfrac}{86}{0.75818} \pgfmath@def{cosfrac}{87}{0.75444}
+\pgfmath@def{cosfrac}{88}{0.75071} \pgfmath@def{cosfrac}{89}{0.74699}
+\pgfmath@def{cosfrac}{90}{0.74329} \pgfmath@def{cosfrac}{91}{0.73960}
+\pgfmath@def{cosfrac}{92}{0.73593} \pgfmath@def{cosfrac}{93}{0.73227}
+\pgfmath@def{cosfrac}{94}{0.72862} \pgfmath@def{cosfrac}{95}{0.72499}
+\pgfmath@def{cosfrac}{96}{0.72138} \pgfmath@def{cosfrac}{97}{0.71779}
+\pgfmath@def{cosfrac}{98}{0.71421} \pgfmath@def{cosfrac}{99}{0.71065}
+\pgfmath@def{cosfrac}{100}{0.70710}
+
+% Oh No! Some really loooooong tables.
+\pgfmath@def{atan}{0}{0.00000} \pgfmath@def{atan}{1}{0.05729}
+\pgfmath@def{atan}{2}{0.11459} \pgfmath@def{atan}{3}{0.17188}
+\pgfmath@def{atan}{4}{0.22918} \pgfmath@def{atan}{5}{0.28647}
+\pgfmath@def{atan}{6}{0.34377} \pgfmath@def{atan}{7}{0.40106}
+\pgfmath@def{atan}{8}{0.45835} \pgfmath@def{atan}{9}{0.51564}
+\pgfmath@def{atan}{10}{0.57293} \pgfmath@def{atan}{11}{0.63022}
+\pgfmath@def{atan}{12}{0.68751} \pgfmath@def{atan}{13}{0.74480}
+\pgfmath@def{atan}{14}{0.80208} \pgfmath@def{atan}{15}{0.85937}
+\pgfmath@def{atan}{16}{0.91665} \pgfmath@def{atan}{17}{0.97393}
+\pgfmath@def{atan}{18}{1.03121} \pgfmath@def{atan}{19}{1.08848}
+\pgfmath@def{atan}{20}{1.14576} \pgfmath@def{atan}{21}{1.20303}
+\pgfmath@def{atan}{22}{1.26030} \pgfmath@def{atan}{23}{1.31757}
+\pgfmath@def{atan}{24}{1.37483} \pgfmath@def{atan}{25}{1.43209}
+\pgfmath@def{atan}{26}{1.48935} \pgfmath@def{atan}{27}{1.54661}
+\pgfmath@def{atan}{28}{1.60386} \pgfmath@def{atan}{29}{1.66111}
+\pgfmath@def{atan}{30}{1.71835} \pgfmath@def{atan}{31}{1.77560}
+\pgfmath@def{atan}{32}{1.83284} \pgfmath@def{atan}{33}{1.89007}
+\pgfmath@def{atan}{34}{1.94730} \pgfmath@def{atan}{35}{2.00453}
+\pgfmath@def{atan}{36}{2.06175} \pgfmath@def{atan}{37}{2.11897}
+\pgfmath@def{atan}{38}{2.17619} \pgfmath@def{atan}{39}{2.23340}
+\pgfmath@def{atan}{40}{2.29061} \pgfmath@def{atan}{41}{2.34781}
+\pgfmath@def{atan}{42}{2.40500} \pgfmath@def{atan}{43}{2.46220}
+\pgfmath@def{atan}{44}{2.51938} \pgfmath@def{atan}{45}{2.57657}
+\pgfmath@def{atan}{46}{2.63374} \pgfmath@def{atan}{47}{2.69092}
+\pgfmath@def{atan}{48}{2.74808} \pgfmath@def{atan}{49}{2.80524}
+\pgfmath@def{atan}{50}{2.86240} \pgfmath@def{atan}{51}{2.91955}
+\pgfmath@def{atan}{52}{2.97669} \pgfmath@def{atan}{53}{3.03383}
+\pgfmath@def{atan}{54}{3.09097} \pgfmath@def{atan}{55}{3.14809}
+\pgfmath@def{atan}{56}{3.20521} \pgfmath@def{atan}{57}{3.26232}
+\pgfmath@def{atan}{58}{3.31943} \pgfmath@def{atan}{59}{3.37653}
+\pgfmath@def{atan}{60}{3.43363} \pgfmath@def{atan}{61}{3.49071}
+\pgfmath@def{atan}{62}{3.54779} \pgfmath@def{atan}{63}{3.60487}
+\pgfmath@def{atan}{64}{3.66193} \pgfmath@def{atan}{65}{3.71899}
+\pgfmath@def{atan}{66}{3.77604} \pgfmath@def{atan}{67}{3.83308}
+\pgfmath@def{atan}{68}{3.89012} \pgfmath@def{atan}{69}{3.94715}
+\pgfmath@def{atan}{70}{4.00417} \pgfmath@def{atan}{71}{4.06118}
+\pgfmath@def{atan}{72}{4.11819} \pgfmath@def{atan}{73}{4.17518}
+\pgfmath@def{atan}{74}{4.23217} \pgfmath@def{atan}{75}{4.28915}
+\pgfmath@def{atan}{76}{4.34612} \pgfmath@def{atan}{77}{4.40308}
+\pgfmath@def{atan}{78}{4.46004} \pgfmath@def{atan}{79}{4.51698}
+\pgfmath@def{atan}{80}{4.57392} \pgfmath@def{atan}{81}{4.63084}
+\pgfmath@def{atan}{82}{4.68776} \pgfmath@def{atan}{83}{4.74467}
+\pgfmath@def{atan}{84}{4.80157} \pgfmath@def{atan}{85}{4.85846}
+\pgfmath@def{atan}{86}{4.91534} \pgfmath@def{atan}{87}{4.97221}
+\pgfmath@def{atan}{88}{5.02907} \pgfmath@def{atan}{89}{5.08592}
+\pgfmath@def{atan}{90}{5.14276} \pgfmath@def{atan}{91}{5.19959}
+\pgfmath@def{atan}{92}{5.25641} \pgfmath@def{atan}{93}{5.31322}
+\pgfmath@def{atan}{94}{5.37002} \pgfmath@def{atan}{95}{5.42681}
+\pgfmath@def{atan}{96}{5.48359} \pgfmath@def{atan}{97}{5.54035}
+\pgfmath@def{atan}{98}{5.59711} \pgfmath@def{atan}{99}{5.65385}
+\pgfmath@def{atan}{100}{5.71059} \pgfmath@def{atan}{101}{5.76731}
+\pgfmath@def{atan}{102}{5.82402} \pgfmath@def{atan}{103}{5.88072}
+\pgfmath@def{atan}{104}{5.93741} \pgfmath@def{atan}{105}{5.99409}
+\pgfmath@def{atan}{106}{6.05075} \pgfmath@def{atan}{107}{6.10741}
+\pgfmath@def{atan}{108}{6.16405} \pgfmath@def{atan}{109}{6.22068}
+\pgfmath@def{atan}{110}{6.27729} \pgfmath@def{atan}{111}{6.33390}
+\pgfmath@def{atan}{112}{6.39049} \pgfmath@def{atan}{113}{6.44707}
+\pgfmath@def{atan}{114}{6.50364} \pgfmath@def{atan}{115}{6.56019}
+\pgfmath@def{atan}{116}{6.61673} \pgfmath@def{atan}{117}{6.67326}
+\pgfmath@def{atan}{118}{6.72978} \pgfmath@def{atan}{119}{6.78628}
+\pgfmath@def{atan}{120}{6.84277} \pgfmath@def{atan}{121}{6.89924}
+\pgfmath@def{atan}{122}{6.95571} \pgfmath@def{atan}{123}{7.01216}
+\pgfmath@def{atan}{124}{7.06859} \pgfmath@def{atan}{125}{7.12501}
+\pgfmath@def{atan}{126}{7.18142} \pgfmath@def{atan}{127}{7.23781}
+\pgfmath@def{atan}{128}{7.29419} \pgfmath@def{atan}{129}{7.35056}
+\pgfmath@def{atan}{130}{7.40691} \pgfmath@def{atan}{131}{7.46324}
+\pgfmath@def{atan}{132}{7.51957} \pgfmath@def{atan}{133}{7.57587}
+\pgfmath@def{atan}{134}{7.63217} \pgfmath@def{atan}{135}{7.68844}
+\pgfmath@def{atan}{136}{7.74471} \pgfmath@def{atan}{137}{7.80095}
+\pgfmath@def{atan}{138}{7.85719} \pgfmath@def{atan}{139}{7.91340}
+\pgfmath@def{atan}{140}{7.96961} \pgfmath@def{atan}{141}{8.02579}
+\pgfmath@def{atan}{142}{8.08196} \pgfmath@def{atan}{143}{8.13812}
+\pgfmath@def{atan}{144}{8.19426} \pgfmath@def{atan}{145}{8.25038}
+\pgfmath@def{atan}{146}{8.30649} \pgfmath@def{atan}{147}{8.36258}
+\pgfmath@def{atan}{148}{8.41866} \pgfmath@def{atan}{149}{8.47472}
+\pgfmath@def{atan}{150}{8.53076} \pgfmath@def{atan}{151}{8.58679}
+\pgfmath@def{atan}{152}{8.64280} \pgfmath@def{atan}{153}{8.69879}
+\pgfmath@def{atan}{154}{8.75477} \pgfmath@def{atan}{155}{8.81073}
+\pgfmath@def{atan}{156}{8.86667} \pgfmath@def{atan}{157}{8.92260}
+\pgfmath@def{atan}{158}{8.97851} \pgfmath@def{atan}{159}{9.03440}
+\pgfmath@def{atan}{160}{9.09027} \pgfmath@def{atan}{161}{9.14613}
+\pgfmath@def{atan}{162}{9.20197} \pgfmath@def{atan}{163}{9.25779}
+\pgfmath@def{atan}{164}{9.31359} \pgfmath@def{atan}{165}{9.36938}
+\pgfmath@def{atan}{166}{9.42515} \pgfmath@def{atan}{167}{9.48090}
+\pgfmath@def{atan}{168}{9.53663} \pgfmath@def{atan}{169}{9.59235}
+\pgfmath@def{atan}{170}{9.64804} \pgfmath@def{atan}{171}{9.70372}
+\pgfmath@def{atan}{172}{9.75938} \pgfmath@def{atan}{173}{9.81502}
+\pgfmath@def{atan}{174}{9.87064} \pgfmath@def{atan}{175}{9.92624}
+\pgfmath@def{atan}{176}{9.98182} \pgfmath@def{atan}{177}{10.03739}
+\pgfmath@def{atan}{178}{10.09294} \pgfmath@def{atan}{179}{10.14846}
+\pgfmath@def{atan}{180}{10.20397} \pgfmath@def{atan}{181}{10.25946}
+\pgfmath@def{atan}{182}{10.31493} \pgfmath@def{atan}{183}{10.37037}
+\pgfmath@def{atan}{184}{10.42580} \pgfmath@def{atan}{185}{10.48121}
+\pgfmath@def{atan}{186}{10.53660} \pgfmath@def{atan}{187}{10.59197}
+\pgfmath@def{atan}{188}{10.64732} \pgfmath@def{atan}{189}{10.70265}
+\pgfmath@def{atan}{190}{10.75796} \pgfmath@def{atan}{191}{10.81325}
+\pgfmath@def{atan}{192}{10.86852} \pgfmath@def{atan}{193}{10.92377}
+\pgfmath@def{atan}{194}{10.97900} \pgfmath@def{atan}{195}{11.03420}
+\pgfmath@def{atan}{196}{11.08939} \pgfmath@def{atan}{197}{11.14456}
+\pgfmath@def{atan}{198}{11.19970} \pgfmath@def{atan}{199}{11.25483}
+\pgfmath@def{atan}{200}{11.30993} \pgfmath@def{atan}{201}{11.36501}
+\pgfmath@def{atan}{202}{11.42007} \pgfmath@def{atan}{203}{11.47511}
+\pgfmath@def{atan}{204}{11.53013} \pgfmath@def{atan}{205}{11.58512}
+\pgfmath@def{atan}{206}{11.64010} \pgfmath@def{atan}{207}{11.69505}
+\pgfmath@def{atan}{208}{11.74998} \pgfmath@def{atan}{209}{11.80489}
+\pgfmath@def{atan}{210}{11.85977} \pgfmath@def{atan}{211}{11.91464}
+\pgfmath@def{atan}{212}{11.96948} \pgfmath@def{atan}{213}{12.02430}
+\pgfmath@def{atan}{214}{12.07910} \pgfmath@def{atan}{215}{12.13388}
+\pgfmath@def{atan}{216}{12.18863} \pgfmath@def{atan}{217}{12.24336}
+\pgfmath@def{atan}{218}{12.29807} \pgfmath@def{atan}{219}{12.35275}
+\pgfmath@def{atan}{220}{12.40741} \pgfmath@def{atan}{221}{12.46205}
+\pgfmath@def{atan}{222}{12.51667} \pgfmath@def{atan}{223}{12.57126}
+\pgfmath@def{atan}{224}{12.62583} \pgfmath@def{atan}{225}{12.68038}
+\pgfmath@def{atan}{226}{12.73490} \pgfmath@def{atan}{227}{12.78940}
+\pgfmath@def{atan}{228}{12.84388} \pgfmath@def{atan}{229}{12.89833}
+\pgfmath@def{atan}{230}{12.95276} \pgfmath@def{atan}{231}{13.00717}
+\pgfmath@def{atan}{232}{13.06155} \pgfmath@def{atan}{233}{13.11590}
+\pgfmath@def{atan}{234}{13.17024} \pgfmath@def{atan}{235}{13.22455}
+\pgfmath@def{atan}{236}{13.27883} \pgfmath@def{atan}{237}{13.33309}
+\pgfmath@def{atan}{238}{13.38733} \pgfmath@def{atan}{239}{13.44154}
+\pgfmath@def{atan}{240}{13.49573} \pgfmath@def{atan}{241}{13.54989}
+\pgfmath@def{atan}{242}{13.60403} \pgfmath@def{atan}{243}{13.65814}
+\pgfmath@def{atan}{244}{13.71223} \pgfmath@def{atan}{245}{13.76630}
+\pgfmath@def{atan}{246}{13.82034} \pgfmath@def{atan}{247}{13.87435}
+\pgfmath@def{atan}{248}{13.92834} \pgfmath@def{atan}{249}{13.98230}
+\pgfmath@def{atan}{250}{14.03624} \pgfmath@def{atan}{251}{14.09015}
+\pgfmath@def{atan}{252}{14.14404} \pgfmath@def{atan}{253}{14.19790}
+\pgfmath@def{atan}{254}{14.25174} \pgfmath@def{atan}{255}{14.30555}
+\pgfmath@def{atan}{256}{14.35933} \pgfmath@def{atan}{257}{14.41309}
+\pgfmath@def{atan}{258}{14.46682} \pgfmath@def{atan}{259}{14.52053}
+\pgfmath@def{atan}{260}{14.57421} \pgfmath@def{atan}{261}{14.62787}
+\pgfmath@def{atan}{262}{14.68149} \pgfmath@def{atan}{263}{14.73510}
+\pgfmath@def{atan}{264}{14.78867} \pgfmath@def{atan}{265}{14.84222}
+\pgfmath@def{atan}{266}{14.89575} \pgfmath@def{atan}{267}{14.94924}
+\pgfmath@def{atan}{268}{15.00271} \pgfmath@def{atan}{269}{15.05615}
+\pgfmath@def{atan}{270}{15.10957} \pgfmath@def{atan}{271}{15.16296}
+\pgfmath@def{atan}{272}{15.21632} \pgfmath@def{atan}{273}{15.26966}
+\pgfmath@def{atan}{274}{15.32297} \pgfmath@def{atan}{275}{15.37625}
+\pgfmath@def{atan}{276}{15.42950} \pgfmath@def{atan}{277}{15.48273}
+\pgfmath@def{atan}{278}{15.53593} \pgfmath@def{atan}{279}{15.58910}
+\pgfmath@def{atan}{280}{15.64224} \pgfmath@def{atan}{281}{15.69536}
+\pgfmath@def{atan}{282}{15.74845} \pgfmath@def{atan}{283}{15.80151}
+\pgfmath@def{atan}{284}{15.85454} \pgfmath@def{atan}{285}{15.90755}
+\pgfmath@def{atan}{286}{15.96052} \pgfmath@def{atan}{287}{16.01347}
+\pgfmath@def{atan}{288}{16.06640} \pgfmath@def{atan}{289}{16.11929}
+\pgfmath@def{atan}{290}{16.17215} \pgfmath@def{atan}{291}{16.22499}
+\pgfmath@def{atan}{292}{16.27780} \pgfmath@def{atan}{293}{16.33058}
+\pgfmath@def{atan}{294}{16.38333} \pgfmath@def{atan}{295}{16.43605}
+\pgfmath@def{atan}{296}{16.48875} \pgfmath@def{atan}{297}{16.54142}
+\pgfmath@def{atan}{298}{16.59405} \pgfmath@def{atan}{299}{16.64666}
+\pgfmath@def{atan}{300}{16.69924} \pgfmath@def{atan}{301}{16.75179}
+\pgfmath@def{atan}{302}{16.80431} \pgfmath@def{atan}{303}{16.85680}
+\pgfmath@def{atan}{304}{16.90927} \pgfmath@def{atan}{305}{16.96170}
+\pgfmath@def{atan}{306}{17.01411} \pgfmath@def{atan}{307}{17.06648}
+\pgfmath@def{atan}{308}{17.11883} \pgfmath@def{atan}{309}{17.17114}
+\pgfmath@def{atan}{310}{17.22343} \pgfmath@def{atan}{311}{17.27569}
+\pgfmath@def{atan}{312}{17.32792} \pgfmath@def{atan}{313}{17.38012}
+\pgfmath@def{atan}{314}{17.43228} \pgfmath@def{atan}{315}{17.48442}
+\pgfmath@def{atan}{316}{17.53653} \pgfmath@def{atan}{317}{17.58861}
+\pgfmath@def{atan}{318}{17.64066} \pgfmath@def{atan}{319}{17.69268}
+\pgfmath@def{atan}{320}{17.74467} \pgfmath@def{atan}{321}{17.79663}
+\pgfmath@def{atan}{322}{17.84855} \pgfmath@def{atan}{323}{17.90045}
+\pgfmath@def{atan}{324}{17.95232} \pgfmath@def{atan}{325}{18.00416}
+\pgfmath@def{atan}{326}{18.05596} \pgfmath@def{atan}{327}{18.10774}
+\pgfmath@def{atan}{328}{18.15949} \pgfmath@def{atan}{329}{18.21120}
+\pgfmath@def{atan}{330}{18.26289} \pgfmath@def{atan}{331}{18.31454}
+\pgfmath@def{atan}{332}{18.36616} \pgfmath@def{atan}{333}{18.41775}
+\pgfmath@def{atan}{334}{18.46931} \pgfmath@def{atan}{335}{18.52084}
+\pgfmath@def{atan}{336}{18.57234} \pgfmath@def{atan}{337}{18.62381}
+\pgfmath@def{atan}{338}{18.67525} \pgfmath@def{atan}{339}{18.72665}
+\pgfmath@def{atan}{340}{18.77803} \pgfmath@def{atan}{341}{18.82937}
+\pgfmath@def{atan}{342}{18.88068} \pgfmath@def{atan}{343}{18.93196}
+\pgfmath@def{atan}{344}{18.98321} \pgfmath@def{atan}{345}{19.03443}
+\pgfmath@def{atan}{346}{19.08562} \pgfmath@def{atan}{347}{19.13677}
+\pgfmath@def{atan}{348}{19.18789} \pgfmath@def{atan}{349}{19.23898}
+\pgfmath@def{atan}{350}{19.29004} \pgfmath@def{atan}{351}{19.34107}
+\pgfmath@def{atan}{352}{19.39206} \pgfmath@def{atan}{353}{19.44303}
+\pgfmath@def{atan}{354}{19.49396} \pgfmath@def{atan}{355}{19.54486}
+\pgfmath@def{atan}{356}{19.59572} \pgfmath@def{atan}{357}{19.64656}
+\pgfmath@def{atan}{358}{19.69736} \pgfmath@def{atan}{359}{19.74813}
+\pgfmath@def{atan}{360}{19.79887} \pgfmath@def{atan}{361}{19.84958}
+\pgfmath@def{atan}{362}{19.90025} \pgfmath@def{atan}{363}{19.95089}
+\pgfmath@def{atan}{364}{20.00150} \pgfmath@def{atan}{365}{20.05208}
+\pgfmath@def{atan}{366}{20.10262} \pgfmath@def{atan}{367}{20.15313}
+\pgfmath@def{atan}{368}{20.20361} \pgfmath@def{atan}{369}{20.25406}
+\pgfmath@def{atan}{370}{20.30447} \pgfmath@def{atan}{371}{20.35485}
+\pgfmath@def{atan}{372}{20.40520} \pgfmath@def{atan}{373}{20.45551}
+\pgfmath@def{atan}{374}{20.50579} \pgfmath@def{atan}{375}{20.55604}
+\pgfmath@def{atan}{376}{20.60626} \pgfmath@def{atan}{377}{20.65644}
+\pgfmath@def{atan}{378}{20.70659} \pgfmath@def{atan}{379}{20.75670}
+\pgfmath@def{atan}{380}{20.80679} \pgfmath@def{atan}{381}{20.85684}
+\pgfmath@def{atan}{382}{20.90685} \pgfmath@def{atan}{383}{20.95684}
+\pgfmath@def{atan}{384}{21.00678} \pgfmath@def{atan}{385}{21.05670}
+\pgfmath@def{atan}{386}{21.10658} \pgfmath@def{atan}{387}{21.15643}
+\pgfmath@def{atan}{388}{21.20625} \pgfmath@def{atan}{389}{21.25603}
+\pgfmath@def{atan}{390}{21.30578} \pgfmath@def{atan}{391}{21.35549}
+\pgfmath@def{atan}{392}{21.40517} \pgfmath@def{atan}{393}{21.45482}
+\pgfmath@def{atan}{394}{21.50444} \pgfmath@def{atan}{395}{21.55402}
+\pgfmath@def{atan}{396}{21.60356} \pgfmath@def{atan}{397}{21.65307}
+\pgfmath@def{atan}{398}{21.70255} \pgfmath@def{atan}{399}{21.75200}
+\pgfmath@def{atan}{400}{21.80140} \pgfmath@def{atan}{401}{21.85078}
+\pgfmath@def{atan}{402}{21.90012} \pgfmath@def{atan}{403}{21.94943}
+\pgfmath@def{atan}{404}{21.99870} \pgfmath@def{atan}{405}{22.04794}
+\pgfmath@def{atan}{406}{22.09715} \pgfmath@def{atan}{407}{22.14632}
+\pgfmath@def{atan}{408}{22.19546} \pgfmath@def{atan}{409}{22.24456}
+\pgfmath@def{atan}{410}{22.29362} \pgfmath@def{atan}{411}{22.34266}
+\pgfmath@def{atan}{412}{22.39166} \pgfmath@def{atan}{413}{22.44062}
+\pgfmath@def{atan}{414}{22.48955} \pgfmath@def{atan}{415}{22.53845}
+\pgfmath@def{atan}{416}{22.58731} \pgfmath@def{atan}{417}{22.63613}
+\pgfmath@def{atan}{418}{22.68492} \pgfmath@def{atan}{419}{22.73368}
+\pgfmath@def{atan}{420}{22.78240} \pgfmath@def{atan}{421}{22.83109}
+\pgfmath@def{atan}{422}{22.87974} \pgfmath@def{atan}{423}{22.92836}
+\pgfmath@def{atan}{424}{22.97694} \pgfmath@def{atan}{425}{23.02549}
+\pgfmath@def{atan}{426}{23.07400} \pgfmath@def{atan}{427}{23.12248}
+\pgfmath@def{atan}{428}{23.17092} \pgfmath@def{atan}{429}{23.21933}
+\pgfmath@def{atan}{430}{23.26770} \pgfmath@def{atan}{431}{23.31604}
+\pgfmath@def{atan}{432}{23.36434} \pgfmath@def{atan}{433}{23.41261}
+\pgfmath@def{atan}{434}{23.46084} \pgfmath@def{atan}{435}{23.50904}
+\pgfmath@def{atan}{436}{23.55720} \pgfmath@def{atan}{437}{23.60532}
+\pgfmath@def{atan}{438}{23.65341} \pgfmath@def{atan}{439}{23.70147}
+\pgfmath@def{atan}{440}{23.74949} \pgfmath@def{atan}{441}{23.79747}
+\pgfmath@def{atan}{442}{23.84542} \pgfmath@def{atan}{443}{23.89334}
+\pgfmath@def{atan}{444}{23.94122} \pgfmath@def{atan}{445}{23.98906}
+\pgfmath@def{atan}{446}{24.03687} \pgfmath@def{atan}{447}{24.08464}
+\pgfmath@def{atan}{448}{24.13238} \pgfmath@def{atan}{449}{24.18008}
+\pgfmath@def{atan}{450}{24.22774} \pgfmath@def{atan}{451}{24.27537}
+\pgfmath@def{atan}{452}{24.32296} \pgfmath@def{atan}{453}{24.37052}
+\pgfmath@def{atan}{454}{24.41804} \pgfmath@def{atan}{455}{24.46553}
+\pgfmath@def{atan}{456}{24.51298} \pgfmath@def{atan}{457}{24.56040}
+\pgfmath@def{atan}{458}{24.60778} \pgfmath@def{atan}{459}{24.65512}
+\pgfmath@def{atan}{460}{24.70243} \pgfmath@def{atan}{461}{24.74970}
+\pgfmath@def{atan}{462}{24.79693} \pgfmath@def{atan}{463}{24.84413}
+\pgfmath@def{atan}{464}{24.89130} \pgfmath@def{atan}{465}{24.93842}
+\pgfmath@def{atan}{466}{24.98551} \pgfmath@def{atan}{467}{25.03257}
+\pgfmath@def{atan}{468}{25.07959} \pgfmath@def{atan}{469}{25.12657}
+\pgfmath@def{atan}{470}{25.17352} \pgfmath@def{atan}{471}{25.22043}
+\pgfmath@def{atan}{472}{25.26731} \pgfmath@def{atan}{473}{25.31414}
+\pgfmath@def{atan}{474}{25.36095} \pgfmath@def{atan}{475}{25.40771}
+\pgfmath@def{atan}{476}{25.45444} \pgfmath@def{atan}{477}{25.50114}
+\pgfmath@def{atan}{478}{25.54780} \pgfmath@def{atan}{479}{25.59442}
+\pgfmath@def{atan}{480}{25.64100} \pgfmath@def{atan}{481}{25.68755}
+\pgfmath@def{atan}{482}{25.73406} \pgfmath@def{atan}{483}{25.78054}
+\pgfmath@def{atan}{484}{25.82698} \pgfmath@def{atan}{485}{25.87338}
+\pgfmath@def{atan}{486}{25.91975} \pgfmath@def{atan}{487}{25.96608}
+\pgfmath@def{atan}{488}{26.01237} \pgfmath@def{atan}{489}{26.05863}
+\pgfmath@def{atan}{490}{26.10485} \pgfmath@def{atan}{491}{26.15103}
+\pgfmath@def{atan}{492}{26.19718} \pgfmath@def{atan}{493}{26.24329}
+\pgfmath@def{atan}{494}{26.28937} \pgfmath@def{atan}{495}{26.33541}
+\pgfmath@def{atan}{496}{26.38141} \pgfmath@def{atan}{497}{26.42737}
+\pgfmath@def{atan}{498}{26.47330} \pgfmath@def{atan}{499}{26.51919}
+\pgfmath@def{atan}{500}{26.56505} \pgfmath@def{atan}{501}{26.61086}
+\pgfmath@def{atan}{502}{26.65665} \pgfmath@def{atan}{503}{26.70239}
+\pgfmath@def{atan}{504}{26.74810} \pgfmath@def{atan}{505}{26.79377}
+\pgfmath@def{atan}{506}{26.83941} \pgfmath@def{atan}{507}{26.88500}
+\pgfmath@def{atan}{508}{26.93057} \pgfmath@def{atan}{509}{26.97609}
+\pgfmath@def{atan}{510}{27.02158} \pgfmath@def{atan}{511}{27.06703}
+\pgfmath@def{atan}{512}{27.11244} \pgfmath@def{atan}{513}{27.15782}
+\pgfmath@def{atan}{514}{27.20316} \pgfmath@def{atan}{515}{27.24846}
+\pgfmath@def{atan}{516}{27.29373} \pgfmath@def{atan}{517}{27.33896}
+\pgfmath@def{atan}{518}{27.38415} \pgfmath@def{atan}{519}{27.42931}
+\pgfmath@def{atan}{520}{27.47443} \pgfmath@def{atan}{521}{27.51951}
+\pgfmath@def{atan}{522}{27.56455} \pgfmath@def{atan}{523}{27.60956}
+\pgfmath@def{atan}{524}{27.65453} \pgfmath@def{atan}{525}{27.69947}
+\pgfmath@def{atan}{526}{27.74437} \pgfmath@def{atan}{527}{27.78923}
+\pgfmath@def{atan}{528}{27.83405} \pgfmath@def{atan}{529}{27.87884}
+\pgfmath@def{atan}{530}{27.92359} \pgfmath@def{atan}{531}{27.96830}
+\pgfmath@def{atan}{532}{28.01297} \pgfmath@def{atan}{533}{28.05761}
+\pgfmath@def{atan}{534}{28.10221} \pgfmath@def{atan}{535}{28.14678}
+\pgfmath@def{atan}{536}{28.19130} \pgfmath@def{atan}{537}{28.23579}
+\pgfmath@def{atan}{538}{28.28025} \pgfmath@def{atan}{539}{28.32466}
+\pgfmath@def{atan}{540}{28.36904} \pgfmath@def{atan}{541}{28.41338}
+\pgfmath@def{atan}{542}{28.45769} \pgfmath@def{atan}{543}{28.50196}
+\pgfmath@def{atan}{544}{28.54619} \pgfmath@def{atan}{545}{28.59038}
+\pgfmath@def{atan}{546}{28.63454} \pgfmath@def{atan}{547}{28.67865}
+\pgfmath@def{atan}{548}{28.72274} \pgfmath@def{atan}{549}{28.76678}
+\pgfmath@def{atan}{550}{28.81079} \pgfmath@def{atan}{551}{28.85476}
+\pgfmath@def{atan}{552}{28.89869} \pgfmath@def{atan}{553}{28.94259}
+\pgfmath@def{atan}{554}{28.98645} \pgfmath@def{atan}{555}{29.03027}
+\pgfmath@def{atan}{556}{29.07405} \pgfmath@def{atan}{557}{29.11780}
+\pgfmath@def{atan}{558}{29.16151} \pgfmath@def{atan}{559}{29.20519}
+\pgfmath@def{atan}{560}{29.24882} \pgfmath@def{atan}{561}{29.29242}
+\pgfmath@def{atan}{562}{29.33598} \pgfmath@def{atan}{563}{29.37951}
+\pgfmath@def{atan}{564}{29.42299} \pgfmath@def{atan}{565}{29.46644}
+\pgfmath@def{atan}{566}{29.50986} \pgfmath@def{atan}{567}{29.55323}
+\pgfmath@def{atan}{568}{29.59657} \pgfmath@def{atan}{569}{29.63987}
+\pgfmath@def{atan}{570}{29.68314} \pgfmath@def{atan}{571}{29.72636}
+\pgfmath@def{atan}{572}{29.76955} \pgfmath@def{atan}{573}{29.81270}
+\pgfmath@def{atan}{574}{29.85582} \pgfmath@def{atan}{575}{29.89890}
+\pgfmath@def{atan}{576}{29.94194} \pgfmath@def{atan}{577}{29.98494}
+\pgfmath@def{atan}{578}{30.02791} \pgfmath@def{atan}{579}{30.07084}
+\pgfmath@def{atan}{580}{30.11373} \pgfmath@def{atan}{581}{30.15658}
+\pgfmath@def{atan}{582}{30.19940} \pgfmath@def{atan}{583}{30.24218}
+\pgfmath@def{atan}{584}{30.28492} \pgfmath@def{atan}{585}{30.32763}
+\pgfmath@def{atan}{586}{30.37030} \pgfmath@def{atan}{587}{30.41293}
+\pgfmath@def{atan}{588}{30.45552} \pgfmath@def{atan}{589}{30.49808}
+\pgfmath@def{atan}{590}{30.54060} \pgfmath@def{atan}{591}{30.58308}
+\pgfmath@def{atan}{592}{30.62553} \pgfmath@def{atan}{593}{30.66794}
+\pgfmath@def{atan}{594}{30.71031} \pgfmath@def{atan}{595}{30.75264}
+\pgfmath@def{atan}{596}{30.79494} \pgfmath@def{atan}{597}{30.83720}
+\pgfmath@def{atan}{598}{30.87942} \pgfmath@def{atan}{599}{30.92160}
+\pgfmath@def{atan}{600}{30.96375} \pgfmath@def{atan}{601}{31.00586}
+\pgfmath@def{atan}{602}{31.04794} \pgfmath@def{atan}{603}{31.08997}
+\pgfmath@def{atan}{604}{31.13197} \pgfmath@def{atan}{605}{31.17393}
+\pgfmath@def{atan}{606}{31.21586} \pgfmath@def{atan}{607}{31.25775}
+\pgfmath@def{atan}{608}{31.29960} \pgfmath@def{atan}{609}{31.34141}
+\pgfmath@def{atan}{610}{31.38319} \pgfmath@def{atan}{611}{31.42493}
+\pgfmath@def{atan}{612}{31.46663} \pgfmath@def{atan}{613}{31.50829}
+\pgfmath@def{atan}{614}{31.54992} \pgfmath@def{atan}{615}{31.59151}
+\pgfmath@def{atan}{616}{31.63306} \pgfmath@def{atan}{617}{31.67458}
+\pgfmath@def{atan}{618}{31.71606} \pgfmath@def{atan}{619}{31.75750}
+\pgfmath@def{atan}{620}{31.79891} \pgfmath@def{atan}{621}{31.84028}
+\pgfmath@def{atan}{622}{31.88161} \pgfmath@def{atan}{623}{31.92290}
+\pgfmath@def{atan}{624}{31.96416} \pgfmath@def{atan}{625}{32.00538}
+\pgfmath@def{atan}{626}{32.04656} \pgfmath@def{atan}{627}{32.08771}
+\pgfmath@def{atan}{628}{32.12882} \pgfmath@def{atan}{629}{32.16989}
+\pgfmath@def{atan}{630}{32.21092} \pgfmath@def{atan}{631}{32.25192}
+\pgfmath@def{atan}{632}{32.29288} \pgfmath@def{atan}{633}{32.33381}
+\pgfmath@def{atan}{634}{32.37469} \pgfmath@def{atan}{635}{32.41554}
+\pgfmath@def{atan}{636}{32.45636} \pgfmath@def{atan}{637}{32.49713}
+\pgfmath@def{atan}{638}{32.53787} \pgfmath@def{atan}{639}{32.57857}
+\pgfmath@def{atan}{640}{32.61924} \pgfmath@def{atan}{641}{32.65987}
+\pgfmath@def{atan}{642}{32.70046} \pgfmath@def{atan}{643}{32.74101}
+\pgfmath@def{atan}{644}{32.78153} \pgfmath@def{atan}{645}{32.82201}
+\pgfmath@def{atan}{646}{32.86246} \pgfmath@def{atan}{647}{32.90286}
+\pgfmath@def{atan}{648}{32.94323} \pgfmath@def{atan}{649}{32.98357}
+\pgfmath@def{atan}{650}{33.02386} \pgfmath@def{atan}{651}{33.06412}
+\pgfmath@def{atan}{652}{33.10435} \pgfmath@def{atan}{653}{33.14453}
+\pgfmath@def{atan}{654}{33.18468} \pgfmath@def{atan}{655}{33.22479}
+\pgfmath@def{atan}{656}{33.26487} \pgfmath@def{atan}{657}{33.30491}
+\pgfmath@def{atan}{658}{33.34491} \pgfmath@def{atan}{659}{33.38488}
+\pgfmath@def{atan}{660}{33.42481} \pgfmath@def{atan}{661}{33.46470}
+\pgfmath@def{atan}{662}{33.50455} \pgfmath@def{atan}{663}{33.54437}
+\pgfmath@def{atan}{664}{33.58416} \pgfmath@def{atan}{665}{33.62390}
+\pgfmath@def{atan}{666}{33.66361} \pgfmath@def{atan}{667}{33.70328}
+\pgfmath@def{atan}{668}{33.74292} \pgfmath@def{atan}{669}{33.78252}
+\pgfmath@def{atan}{670}{33.82208} \pgfmath@def{atan}{671}{33.86161}
+\pgfmath@def{atan}{672}{33.90110} \pgfmath@def{atan}{673}{33.94055}
+\pgfmath@def{atan}{674}{33.97997} \pgfmath@def{atan}{675}{34.01935}
+\pgfmath@def{atan}{676}{34.05869} \pgfmath@def{atan}{677}{34.09800}
+\pgfmath@def{atan}{678}{34.13727} \pgfmath@def{atan}{679}{34.17650}
+\pgfmath@def{atan}{680}{34.21570} \pgfmath@def{atan}{681}{34.25486}
+\pgfmath@def{atan}{682}{34.29398} \pgfmath@def{atan}{683}{34.33307}
+\pgfmath@def{atan}{684}{34.37212} \pgfmath@def{atan}{685}{34.41114}
+\pgfmath@def{atan}{686}{34.45012} \pgfmath@def{atan}{687}{34.48906}
+\pgfmath@def{atan}{688}{34.52797} \pgfmath@def{atan}{689}{34.56684}
+\pgfmath@def{atan}{690}{34.60567} \pgfmath@def{atan}{691}{34.64447}
+\pgfmath@def{atan}{692}{34.68323} \pgfmath@def{atan}{693}{34.72195}
+\pgfmath@def{atan}{694}{34.76064} \pgfmath@def{atan}{695}{34.79930}
+\pgfmath@def{atan}{696}{34.83791} \pgfmath@def{atan}{697}{34.87649}
+\pgfmath@def{atan}{698}{34.91504} \pgfmath@def{atan}{699}{34.95354}
+\pgfmath@def{atan}{700}{34.99202} \pgfmath@def{atan}{701}{35.03045}
+\pgfmath@def{atan}{702}{35.06885} \pgfmath@def{atan}{703}{35.10721}
+\pgfmath@def{atan}{704}{35.14554} \pgfmath@def{atan}{705}{35.18383}
+\pgfmath@def{atan}{706}{35.22209} \pgfmath@def{atan}{707}{35.26031}
+\pgfmath@def{atan}{708}{35.29849} \pgfmath@def{atan}{709}{35.33664}
+\pgfmath@def{atan}{710}{35.37475} \pgfmath@def{atan}{711}{35.41282}
+\pgfmath@def{atan}{712}{35.45086} \pgfmath@def{atan}{713}{35.48886}
+\pgfmath@def{atan}{714}{35.52683} \pgfmath@def{atan}{715}{35.56476}
+\pgfmath@def{atan}{716}{35.60266} \pgfmath@def{atan}{717}{35.64052}
+\pgfmath@def{atan}{718}{35.67834} \pgfmath@def{atan}{719}{35.71613}
+\pgfmath@def{atan}{720}{35.75388} \pgfmath@def{atan}{721}{35.79160}
+\pgfmath@def{atan}{722}{35.82928} \pgfmath@def{atan}{723}{35.86692}
+\pgfmath@def{atan}{724}{35.90453} \pgfmath@def{atan}{725}{35.94211}
+\pgfmath@def{atan}{726}{35.97965} \pgfmath@def{atan}{727}{36.01715}
+\pgfmath@def{atan}{728}{36.05461} \pgfmath@def{atan}{729}{36.09204}
+\pgfmath@def{atan}{730}{36.12944} \pgfmath@def{atan}{731}{36.16680}
+\pgfmath@def{atan}{732}{36.20412} \pgfmath@def{atan}{733}{36.24141}
+\pgfmath@def{atan}{734}{36.27866} \pgfmath@def{atan}{735}{36.31588}
+\pgfmath@def{atan}{736}{36.35306} \pgfmath@def{atan}{737}{36.39021}
+\pgfmath@def{atan}{738}{36.42732} \pgfmath@def{atan}{739}{36.46440}
+\pgfmath@def{atan}{740}{36.50144} \pgfmath@def{atan}{741}{36.53844}
+\pgfmath@def{atan}{742}{36.57541} \pgfmath@def{atan}{743}{36.61234}
+\pgfmath@def{atan}{744}{36.64924} \pgfmath@def{atan}{745}{36.68611}
+\pgfmath@def{atan}{746}{36.72293} \pgfmath@def{atan}{747}{36.75973}
+\pgfmath@def{atan}{748}{36.79648} \pgfmath@def{atan}{749}{36.83321}
+\pgfmath@def{atan}{750}{36.86989} \pgfmath@def{atan}{751}{36.90654}
+\pgfmath@def{atan}{752}{36.94316} \pgfmath@def{atan}{753}{36.97974}
+\pgfmath@def{atan}{754}{37.01629} \pgfmath@def{atan}{755}{37.05280}
+\pgfmath@def{atan}{756}{37.08928} \pgfmath@def{atan}{757}{37.12572}
+\pgfmath@def{atan}{758}{37.16212} \pgfmath@def{atan}{759}{37.19849}
+\pgfmath@def{atan}{760}{37.23483} \pgfmath@def{atan}{761}{37.27113}
+\pgfmath@def{atan}{762}{37.30740} \pgfmath@def{atan}{763}{37.34363}
+\pgfmath@def{atan}{764}{37.37982} \pgfmath@def{atan}{765}{37.41598}
+\pgfmath@def{atan}{766}{37.45211} \pgfmath@def{atan}{767}{37.48820}
+\pgfmath@def{atan}{768}{37.52426} \pgfmath@def{atan}{769}{37.56028}
+\pgfmath@def{atan}{770}{37.59627} \pgfmath@def{atan}{771}{37.63222}
+\pgfmath@def{atan}{772}{37.66814} \pgfmath@def{atan}{773}{37.70402}
+\pgfmath@def{atan}{774}{37.73987} \pgfmath@def{atan}{775}{37.77568}
+\pgfmath@def{atan}{776}{37.81146} \pgfmath@def{atan}{777}{37.84720}
+\pgfmath@def{atan}{778}{37.88291} \pgfmath@def{atan}{779}{37.91859}
+\pgfmath@def{atan}{780}{37.95423} \pgfmath@def{atan}{781}{37.98983}
+\pgfmath@def{atan}{782}{38.02540} \pgfmath@def{atan}{783}{38.06094}
+\pgfmath@def{atan}{784}{38.09644} \pgfmath@def{atan}{785}{38.13191}
+\pgfmath@def{atan}{786}{38.16734} \pgfmath@def{atan}{787}{38.20274}
+\pgfmath@def{atan}{788}{38.23811} \pgfmath@def{atan}{789}{38.27344}
+\pgfmath@def{atan}{790}{38.30873} \pgfmath@def{atan}{791}{38.34399}
+\pgfmath@def{atan}{792}{38.37922} \pgfmath@def{atan}{793}{38.41441}
+\pgfmath@def{atan}{794}{38.44957} \pgfmath@def{atan}{795}{38.48469}
+\pgfmath@def{atan}{796}{38.51979} \pgfmath@def{atan}{797}{38.55484}
+\pgfmath@def{atan}{798}{38.58986} \pgfmath@def{atan}{799}{38.62485}
+\pgfmath@def{atan}{800}{38.65980} \pgfmath@def{atan}{801}{38.69472}
+\pgfmath@def{atan}{802}{38.72961} \pgfmath@def{atan}{803}{38.76446}
+\pgfmath@def{atan}{804}{38.79928} \pgfmath@def{atan}{805}{38.83406}
+\pgfmath@def{atan}{806}{38.86881} \pgfmath@def{atan}{807}{38.90353}
+\pgfmath@def{atan}{808}{38.93821} \pgfmath@def{atan}{809}{38.97285}
+\pgfmath@def{atan}{810}{39.00747} \pgfmath@def{atan}{811}{39.04205}
+\pgfmath@def{atan}{812}{39.07659} \pgfmath@def{atan}{813}{39.11111}
+\pgfmath@def{atan}{814}{39.14558} \pgfmath@def{atan}{815}{39.18003}
+\pgfmath@def{atan}{816}{39.21444} \pgfmath@def{atan}{817}{39.24882}
+\pgfmath@def{atan}{818}{39.28316} \pgfmath@def{atan}{819}{39.31747}
+\pgfmath@def{atan}{820}{39.35175} \pgfmath@def{atan}{821}{39.38599}
+\pgfmath@def{atan}{822}{39.42020} \pgfmath@def{atan}{823}{39.45438}
+\pgfmath@def{atan}{824}{39.48852} \pgfmath@def{atan}{825}{39.52263}
+\pgfmath@def{atan}{826}{39.55670} \pgfmath@def{atan}{827}{39.59074}
+\pgfmath@def{atan}{828}{39.62475} \pgfmath@def{atan}{829}{39.65873}
+\pgfmath@def{atan}{830}{39.69267} \pgfmath@def{atan}{831}{39.72658}
+\pgfmath@def{atan}{832}{39.76045} \pgfmath@def{atan}{833}{39.79429}
+\pgfmath@def{atan}{834}{39.82810} \pgfmath@def{atan}{835}{39.86188}
+\pgfmath@def{atan}{836}{39.89562} \pgfmath@def{atan}{837}{39.92933}
+\pgfmath@def{atan}{838}{39.96300} \pgfmath@def{atan}{839}{39.99665}
+\pgfmath@def{atan}{840}{40.03025} \pgfmath@def{atan}{841}{40.06383}
+\pgfmath@def{atan}{842}{40.09737} \pgfmath@def{atan}{843}{40.13088}
+\pgfmath@def{atan}{844}{40.16436} \pgfmath@def{atan}{845}{40.19781}
+\pgfmath@def{atan}{846}{40.23122} \pgfmath@def{atan}{847}{40.26459}
+\pgfmath@def{atan}{848}{40.29794} \pgfmath@def{atan}{849}{40.33125}
+\pgfmath@def{atan}{850}{40.36453} \pgfmath@def{atan}{851}{40.39778}
+\pgfmath@def{atan}{852}{40.43099} \pgfmath@def{atan}{853}{40.46417}
+\pgfmath@def{atan}{854}{40.49732} \pgfmath@def{atan}{855}{40.53044}
+\pgfmath@def{atan}{856}{40.56352} \pgfmath@def{atan}{857}{40.59657}
+\pgfmath@def{atan}{858}{40.62959} \pgfmath@def{atan}{859}{40.66257}
+\pgfmath@def{atan}{860}{40.69553} \pgfmath@def{atan}{861}{40.72845}
+\pgfmath@def{atan}{862}{40.76133} \pgfmath@def{atan}{863}{40.79419}
+\pgfmath@def{atan}{864}{40.82701} \pgfmath@def{atan}{865}{40.85980}
+\pgfmath@def{atan}{866}{40.89256} \pgfmath@def{atan}{867}{40.92528}
+\pgfmath@def{atan}{868}{40.95798} \pgfmath@def{atan}{869}{40.99064}
+\pgfmath@def{atan}{870}{41.02326} \pgfmath@def{atan}{871}{41.05586}
+\pgfmath@def{atan}{872}{41.08842} \pgfmath@def{atan}{873}{41.12095}
+\pgfmath@def{atan}{874}{41.15345} \pgfmath@def{atan}{875}{41.18592}
+\pgfmath@def{atan}{876}{41.21836} \pgfmath@def{atan}{877}{41.25076}
+\pgfmath@def{atan}{878}{41.28313} \pgfmath@def{atan}{879}{41.31547}
+\pgfmath@def{atan}{880}{41.34777} \pgfmath@def{atan}{881}{41.38005}
+\pgfmath@def{atan}{882}{41.41229} \pgfmath@def{atan}{883}{41.44450}
+\pgfmath@def{atan}{884}{41.47668} \pgfmath@def{atan}{885}{41.50882}
+\pgfmath@def{atan}{886}{41.54094} \pgfmath@def{atan}{887}{41.57302}
+\pgfmath@def{atan}{888}{41.60507} \pgfmath@def{atan}{889}{41.63709}
+\pgfmath@def{atan}{890}{41.66908} \pgfmath@def{atan}{891}{41.70103}
+\pgfmath@def{atan}{892}{41.73296} \pgfmath@def{atan}{893}{41.76485}
+\pgfmath@def{atan}{894}{41.79671} \pgfmath@def{atan}{895}{41.82854}
+\pgfmath@def{atan}{896}{41.86034} \pgfmath@def{atan}{897}{41.89210}
+\pgfmath@def{atan}{898}{41.92383} \pgfmath@def{atan}{899}{41.95554}
+\pgfmath@def{atan}{900}{41.98721} \pgfmath@def{atan}{901}{42.01885}
+\pgfmath@def{atan}{902}{42.05046} \pgfmath@def{atan}{903}{42.08203}
+\pgfmath@def{atan}{904}{42.11358} \pgfmath@def{atan}{905}{42.14509}
+\pgfmath@def{atan}{906}{42.17657} \pgfmath@def{atan}{907}{42.20802}
+\pgfmath@def{atan}{908}{42.23944} \pgfmath@def{atan}{909}{42.27083}
+\pgfmath@def{atan}{910}{42.30219} \pgfmath@def{atan}{911}{42.33352}
+\pgfmath@def{atan}{912}{42.36481} \pgfmath@def{atan}{913}{42.39607}
+\pgfmath@def{atan}{914}{42.42731} \pgfmath@def{atan}{915}{42.45851}
+\pgfmath@def{atan}{916}{42.48968} \pgfmath@def{atan}{917}{42.52082}
+\pgfmath@def{atan}{918}{42.55193} \pgfmath@def{atan}{919}{42.58300}
+\pgfmath@def{atan}{920}{42.61405} \pgfmath@def{atan}{921}{42.64507}
+\pgfmath@def{atan}{922}{42.67605} \pgfmath@def{atan}{923}{42.70701}
+\pgfmath@def{atan}{924}{42.73793} \pgfmath@def{atan}{925}{42.76882}
+\pgfmath@def{atan}{926}{42.79968} \pgfmath@def{atan}{927}{42.83051}
+\pgfmath@def{atan}{928}{42.86131} \pgfmath@def{atan}{929}{42.89208}
+\pgfmath@def{atan}{930}{42.92282} \pgfmath@def{atan}{931}{42.95353}
+\pgfmath@def{atan}{932}{42.98421} \pgfmath@def{atan}{933}{43.01485}
+\pgfmath@def{atan}{934}{43.04547} \pgfmath@def{atan}{935}{43.07605}
+\pgfmath@def{atan}{936}{43.10661} \pgfmath@def{atan}{937}{43.13713}
+\pgfmath@def{atan}{938}{43.16763} \pgfmath@def{atan}{939}{43.19809}
+\pgfmath@def{atan}{940}{43.22853} \pgfmath@def{atan}{941}{43.25893}
+\pgfmath@def{atan}{942}{43.28930} \pgfmath@def{atan}{943}{43.31964}
+\pgfmath@def{atan}{944}{43.34996} \pgfmath@def{atan}{945}{43.38024}
+\pgfmath@def{atan}{946}{43.41049} \pgfmath@def{atan}{947}{43.44071}
+\pgfmath@def{atan}{948}{43.47090} \pgfmath@def{atan}{949}{43.50106}
+\pgfmath@def{atan}{950}{43.53119} \pgfmath@def{atan}{951}{43.56130}
+\pgfmath@def{atan}{952}{43.59137} \pgfmath@def{atan}{953}{43.62141}
+\pgfmath@def{atan}{954}{43.65142} \pgfmath@def{atan}{955}{43.68140}
+\pgfmath@def{atan}{956}{43.71135} \pgfmath@def{atan}{957}{43.74127}
+\pgfmath@def{atan}{958}{43.77116} \pgfmath@def{atan}{959}{43.80102}
+\pgfmath@def{atan}{960}{43.83086} \pgfmath@def{atan}{961}{43.86066}
+\pgfmath@def{atan}{962}{43.89043} \pgfmath@def{atan}{963}{43.92017}
+\pgfmath@def{atan}{964}{43.94988} \pgfmath@def{atan}{965}{43.97957}
+\pgfmath@def{atan}{966}{44.00922} \pgfmath@def{atan}{967}{44.03884}
+\pgfmath@def{atan}{968}{44.06844} \pgfmath@def{atan}{969}{44.09800}
+\pgfmath@def{atan}{970}{44.12754} \pgfmath@def{atan}{971}{44.15704}
+\pgfmath@def{atan}{972}{44.18652} \pgfmath@def{atan}{973}{44.21597}
+\pgfmath@def{atan}{974}{44.24538} \pgfmath@def{atan}{975}{44.27477}
+\pgfmath@def{atan}{976}{44.30413} \pgfmath@def{atan}{977}{44.33346}
+\pgfmath@def{atan}{978}{44.36276} \pgfmath@def{atan}{979}{44.39203}
+\pgfmath@def{atan}{980}{44.42127} \pgfmath@def{atan}{981}{44.45048}
+\pgfmath@def{atan}{982}{44.47966} \pgfmath@def{atan}{983}{44.50882}
+\pgfmath@def{atan}{984}{44.53794} \pgfmath@def{atan}{985}{44.56704}
+\pgfmath@def{atan}{986}{44.59610} \pgfmath@def{atan}{987}{44.62514}
+\pgfmath@def{atan}{988}{44.65415} \pgfmath@def{atan}{989}{44.68313}
+\pgfmath@def{atan}{990}{44.71208} \pgfmath@def{atan}{991}{44.74100}
+\pgfmath@def{atan}{992}{44.76989} \pgfmath@def{atan}{993}{44.79876}
+\pgfmath@def{atan}{994}{44.82759} \pgfmath@def{atan}{995}{44.85640}
+\pgfmath@def{atan}{996}{44.88517} \pgfmath@def{atan}{997}{44.91392}
+\pgfmath@def{atan}{998}{44.94264} \pgfmath@def{atan}{999}{44.97133}
+\pgfmath@def{atan}{1000}{45.00000}
+
+\pgfmath@def{asin}{0}{0.00000} \pgfmath@def{asin}{1}{0.05729}
+\pgfmath@def{asin}{2}{0.11459} \pgfmath@def{asin}{3}{0.17188}
+\pgfmath@def{asin}{4}{0.22918} \pgfmath@def{asin}{5}{0.28648}
+\pgfmath@def{asin}{6}{0.34377} \pgfmath@def{asin}{7}{0.40107}
+\pgfmath@def{asin}{8}{0.45837} \pgfmath@def{asin}{9}{0.51566}
+\pgfmath@def{asin}{10}{0.57296} \pgfmath@def{asin}{11}{0.63026}
+\pgfmath@def{asin}{12}{0.68756} \pgfmath@def{asin}{13}{0.74486}
+\pgfmath@def{asin}{14}{0.80216} \pgfmath@def{asin}{15}{0.85946}
+\pgfmath@def{asin}{16}{0.91677} \pgfmath@def{asin}{17}{0.97407}
+\pgfmath@def{asin}{18}{1.03138} \pgfmath@def{asin}{19}{1.08868}
+\pgfmath@def{asin}{20}{1.14599} \pgfmath@def{asin}{21}{1.20330}
+\pgfmath@def{asin}{22}{1.26060} \pgfmath@def{asin}{23}{1.31791}
+\pgfmath@def{asin}{24}{1.37523} \pgfmath@def{asin}{25}{1.43254}
+\pgfmath@def{asin}{26}{1.48985} \pgfmath@def{asin}{27}{1.54717}
+\pgfmath@def{asin}{28}{1.60449} \pgfmath@def{asin}{29}{1.66181}
+\pgfmath@def{asin}{30}{1.71913} \pgfmath@def{asin}{31}{1.77645}
+\pgfmath@def{asin}{32}{1.83377} \pgfmath@def{asin}{33}{1.89110}
+\pgfmath@def{asin}{34}{1.94843} \pgfmath@def{asin}{35}{2.00576}
+\pgfmath@def{asin}{36}{2.06309} \pgfmath@def{asin}{37}{2.12042}
+\pgfmath@def{asin}{38}{2.17776} \pgfmath@def{asin}{39}{2.23510}
+\pgfmath@def{asin}{40}{2.29244} \pgfmath@def{asin}{41}{2.34978}
+\pgfmath@def{asin}{42}{2.40713} \pgfmath@def{asin}{43}{2.46447}
+\pgfmath@def{asin}{44}{2.52182} \pgfmath@def{asin}{45}{2.57918}
+\pgfmath@def{asin}{46}{2.63653} \pgfmath@def{asin}{47}{2.69389}
+\pgfmath@def{asin}{48}{2.75125} \pgfmath@def{asin}{49}{2.80861}
+\pgfmath@def{asin}{50}{2.86598} \pgfmath@def{asin}{51}{2.92335}
+\pgfmath@def{asin}{52}{2.98072} \pgfmath@def{asin}{53}{3.03810}
+\pgfmath@def{asin}{54}{3.09547} \pgfmath@def{asin}{55}{3.15285}
+\pgfmath@def{asin}{56}{3.21024} \pgfmath@def{asin}{57}{3.26763}
+\pgfmath@def{asin}{58}{3.32502} \pgfmath@def{asin}{59}{3.38241}
+\pgfmath@def{asin}{60}{3.43981} \pgfmath@def{asin}{61}{3.49721}
+\pgfmath@def{asin}{62}{3.55461} \pgfmath@def{asin}{63}{3.61202}
+\pgfmath@def{asin}{64}{3.66943} \pgfmath@def{asin}{65}{3.72685}
+\pgfmath@def{asin}{66}{3.78427} \pgfmath@def{asin}{67}{3.84169}
+\pgfmath@def{asin}{68}{3.89912} \pgfmath@def{asin}{69}{3.95655}
+\pgfmath@def{asin}{70}{4.01398} \pgfmath@def{asin}{71}{4.07142}
+\pgfmath@def{asin}{72}{4.12886} \pgfmath@def{asin}{73}{4.18631}
+\pgfmath@def{asin}{74}{4.24376} \pgfmath@def{asin}{75}{4.30122}
+\pgfmath@def{asin}{76}{4.35868} \pgfmath@def{asin}{77}{4.41614}
+\pgfmath@def{asin}{78}{4.47361} \pgfmath@def{asin}{79}{4.53108}
+\pgfmath@def{asin}{80}{4.58856} \pgfmath@def{asin}{81}{4.64604}
+\pgfmath@def{asin}{82}{4.70353} \pgfmath@def{asin}{83}{4.76102}
+\pgfmath@def{asin}{84}{4.81852} \pgfmath@def{asin}{85}{4.87602}
+\pgfmath@def{asin}{86}{4.93353} \pgfmath@def{asin}{87}{4.99104}
+\pgfmath@def{asin}{88}{5.04855} \pgfmath@def{asin}{89}{5.10608}
+\pgfmath@def{asin}{90}{5.16360} \pgfmath@def{asin}{91}{5.22113}
+\pgfmath@def{asin}{92}{5.27867} \pgfmath@def{asin}{93}{5.33621}
+\pgfmath@def{asin}{94}{5.39376} \pgfmath@def{asin}{95}{5.45132}
+\pgfmath@def{asin}{96}{5.50887} \pgfmath@def{asin}{97}{5.56644}
+\pgfmath@def{asin}{98}{5.62401} \pgfmath@def{asin}{99}{5.68158}
+\pgfmath@def{asin}{100}{5.73917} \pgfmath@def{asin}{101}{5.79675}
+\pgfmath@def{asin}{102}{5.85435} \pgfmath@def{asin}{103}{5.91195}
+\pgfmath@def{asin}{104}{5.96955} \pgfmath@def{asin}{105}{6.02716}
+\pgfmath@def{asin}{106}{6.08478} \pgfmath@def{asin}{107}{6.14240}
+\pgfmath@def{asin}{108}{6.20003} \pgfmath@def{asin}{109}{6.25767}
+\pgfmath@def{asin}{110}{6.31531} \pgfmath@def{asin}{111}{6.37296}
+\pgfmath@def{asin}{112}{6.43062} \pgfmath@def{asin}{113}{6.48828}
+\pgfmath@def{asin}{114}{6.54595} \pgfmath@def{asin}{115}{6.60362}
+\pgfmath@def{asin}{116}{6.66130} \pgfmath@def{asin}{117}{6.71899}
+\pgfmath@def{asin}{118}{6.77669} \pgfmath@def{asin}{119}{6.83439}
+\pgfmath@def{asin}{120}{6.89210} \pgfmath@def{asin}{121}{6.94981}
+\pgfmath@def{asin}{122}{7.00754} \pgfmath@def{asin}{123}{7.06527}
+\pgfmath@def{asin}{124}{7.12301} \pgfmath@def{asin}{125}{7.18075}
+\pgfmath@def{asin}{126}{7.23850} \pgfmath@def{asin}{127}{7.29626}
+\pgfmath@def{asin}{128}{7.35403} \pgfmath@def{asin}{129}{7.41181}
+\pgfmath@def{asin}{130}{7.46959} \pgfmath@def{asin}{131}{7.52738}
+\pgfmath@def{asin}{132}{7.58518} \pgfmath@def{asin}{133}{7.64298}
+\pgfmath@def{asin}{134}{7.70079} \pgfmath@def{asin}{135}{7.75862}
+\pgfmath@def{asin}{136}{7.81644} \pgfmath@def{asin}{137}{7.87428}
+\pgfmath@def{asin}{138}{7.93213} \pgfmath@def{asin}{139}{7.98998}
+\pgfmath@def{asin}{140}{8.04784} \pgfmath@def{asin}{141}{8.10571}
+\pgfmath@def{asin}{142}{8.16359} \pgfmath@def{asin}{143}{8.22148}
+\pgfmath@def{asin}{144}{8.27937} \pgfmath@def{asin}{145}{8.33727}
+\pgfmath@def{asin}{146}{8.39519} \pgfmath@def{asin}{147}{8.45311}
+\pgfmath@def{asin}{148}{8.51104} \pgfmath@def{asin}{149}{8.56898}
+\pgfmath@def{asin}{150}{8.62692} \pgfmath@def{asin}{151}{8.68488}
+\pgfmath@def{asin}{152}{8.74284} \pgfmath@def{asin}{153}{8.80082}
+\pgfmath@def{asin}{154}{8.85880} \pgfmath@def{asin}{155}{8.91679}
+\pgfmath@def{asin}{156}{8.97479} \pgfmath@def{asin}{157}{9.03280}
+\pgfmath@def{asin}{158}{9.09082} \pgfmath@def{asin}{159}{9.14885}
+\pgfmath@def{asin}{160}{9.20689} \pgfmath@def{asin}{161}{9.26494}
+\pgfmath@def{asin}{162}{9.32300} \pgfmath@def{asin}{163}{9.38107}
+\pgfmath@def{asin}{164}{9.43914} \pgfmath@def{asin}{165}{9.49723}
+\pgfmath@def{asin}{166}{9.55533} \pgfmath@def{asin}{167}{9.61343}
+\pgfmath@def{asin}{168}{9.67155} \pgfmath@def{asin}{169}{9.72968}
+\pgfmath@def{asin}{170}{9.78781} \pgfmath@def{asin}{171}{9.84596}
+\pgfmath@def{asin}{172}{9.90412} \pgfmath@def{asin}{173}{9.96229}
+\pgfmath@def{asin}{174}{10.02047} \pgfmath@def{asin}{175}{10.07865}
+\pgfmath@def{asin}{176}{10.13685} \pgfmath@def{asin}{177}{10.19506}
+\pgfmath@def{asin}{178}{10.25328} \pgfmath@def{asin}{179}{10.31151}
+\pgfmath@def{asin}{180}{10.36976} \pgfmath@def{asin}{181}{10.42801}
+\pgfmath@def{asin}{182}{10.48627} \pgfmath@def{asin}{183}{10.54455}
+\pgfmath@def{asin}{184}{10.60283} \pgfmath@def{asin}{185}{10.66113}
+\pgfmath@def{asin}{186}{10.71944} \pgfmath@def{asin}{187}{10.77775}
+\pgfmath@def{asin}{188}{10.83608} \pgfmath@def{asin}{189}{10.89443}
+\pgfmath@def{asin}{190}{10.95278} \pgfmath@def{asin}{191}{11.01114}
+\pgfmath@def{asin}{192}{11.06952} \pgfmath@def{asin}{193}{11.12791}
+\pgfmath@def{asin}{194}{11.18631} \pgfmath@def{asin}{195}{11.24472}
+\pgfmath@def{asin}{196}{11.30314} \pgfmath@def{asin}{197}{11.36158}
+\pgfmath@def{asin}{198}{11.42002} \pgfmath@def{asin}{199}{11.47848}
+\pgfmath@def{asin}{200}{11.53695} \pgfmath@def{asin}{201}{11.59544}
+\pgfmath@def{asin}{202}{11.65393} \pgfmath@def{asin}{203}{11.71244}
+\pgfmath@def{asin}{204}{11.77096} \pgfmath@def{asin}{205}{11.82949}
+\pgfmath@def{asin}{206}{11.88804} \pgfmath@def{asin}{207}{11.94660}
+\pgfmath@def{asin}{208}{12.00517} \pgfmath@def{asin}{209}{12.06375}
+\pgfmath@def{asin}{210}{12.12235} \pgfmath@def{asin}{211}{12.18096}
+\pgfmath@def{asin}{212}{12.23958} \pgfmath@def{asin}{213}{12.29821}
+\pgfmath@def{asin}{214}{12.35686} \pgfmath@def{asin}{215}{12.41552}
+\pgfmath@def{asin}{216}{12.47420} \pgfmath@def{asin}{217}{12.53288}
+\pgfmath@def{asin}{218}{12.59159} \pgfmath@def{asin}{219}{12.65030}
+\pgfmath@def{asin}{220}{12.70903} \pgfmath@def{asin}{221}{12.76777}
+\pgfmath@def{asin}{222}{12.82653} \pgfmath@def{asin}{223}{12.88529}
+\pgfmath@def{asin}{224}{12.94408} \pgfmath@def{asin}{225}{13.00287}
+\pgfmath@def{asin}{226}{13.06168} \pgfmath@def{asin}{227}{13.12051}
+\pgfmath@def{asin}{228}{13.17935} \pgfmath@def{asin}{229}{13.23820}
+\pgfmath@def{asin}{230}{13.29707} \pgfmath@def{asin}{231}{13.35595}
+\pgfmath@def{asin}{232}{13.41484} \pgfmath@def{asin}{233}{13.47375}
+\pgfmath@def{asin}{234}{13.53268} \pgfmath@def{asin}{235}{13.59162}
+\pgfmath@def{asin}{236}{13.65057} \pgfmath@def{asin}{237}{13.70954}
+\pgfmath@def{asin}{238}{13.76852} \pgfmath@def{asin}{239}{13.82752}
+\pgfmath@def{asin}{240}{13.88654} \pgfmath@def{asin}{241}{13.94556}
+\pgfmath@def{asin}{242}{14.00461} \pgfmath@def{asin}{243}{14.06367}
+\pgfmath@def{asin}{244}{14.12274} \pgfmath@def{asin}{245}{14.18183}
+\pgfmath@def{asin}{246}{14.24093} \pgfmath@def{asin}{247}{14.30005}
+\pgfmath@def{asin}{248}{14.35919} \pgfmath@def{asin}{249}{14.41834}
+\pgfmath@def{asin}{250}{14.47751} \pgfmath@def{asin}{251}{14.53669}
+\pgfmath@def{asin}{252}{14.59589} \pgfmath@def{asin}{253}{14.65510}
+\pgfmath@def{asin}{254}{14.71433} \pgfmath@def{asin}{255}{14.77358}
+\pgfmath@def{asin}{256}{14.83284} \pgfmath@def{asin}{257}{14.89212}
+\pgfmath@def{asin}{258}{14.95142} \pgfmath@def{asin}{259}{15.01073}
+\pgfmath@def{asin}{260}{15.07006} \pgfmath@def{asin}{261}{15.12940}
+\pgfmath@def{asin}{262}{15.18876} \pgfmath@def{asin}{263}{15.24814}
+\pgfmath@def{asin}{264}{15.30754} \pgfmath@def{asin}{265}{15.36695}
+\pgfmath@def{asin}{266}{15.42638} \pgfmath@def{asin}{267}{15.48582}
+\pgfmath@def{asin}{268}{15.54529} \pgfmath@def{asin}{269}{15.60477}
+\pgfmath@def{asin}{270}{15.66426} \pgfmath@def{asin}{271}{15.72378}
+\pgfmath@def{asin}{272}{15.78331} \pgfmath@def{asin}{273}{15.84286}
+\pgfmath@def{asin}{274}{15.90243} \pgfmath@def{asin}{275}{15.96201}
+\pgfmath@def{asin}{276}{16.02161} \pgfmath@def{asin}{277}{16.08123}
+\pgfmath@def{asin}{278}{16.14087} \pgfmath@def{asin}{279}{16.20053}
+\pgfmath@def{asin}{280}{16.26020} \pgfmath@def{asin}{281}{16.31989}
+\pgfmath@def{asin}{282}{16.37960} \pgfmath@def{asin}{283}{16.43933}
+\pgfmath@def{asin}{284}{16.49908} \pgfmath@def{asin}{285}{16.55884}
+\pgfmath@def{asin}{286}{16.61863} \pgfmath@def{asin}{287}{16.67843}
+\pgfmath@def{asin}{288}{16.73825} \pgfmath@def{asin}{289}{16.79809}
+\pgfmath@def{asin}{290}{16.85795} \pgfmath@def{asin}{291}{16.91783}
+\pgfmath@def{asin}{292}{16.97773} \pgfmath@def{asin}{293}{17.03764}
+\pgfmath@def{asin}{294}{17.09758} \pgfmath@def{asin}{295}{17.15753}
+\pgfmath@def{asin}{296}{17.21751} \pgfmath@def{asin}{297}{17.27750}
+\pgfmath@def{asin}{298}{17.33751} \pgfmath@def{asin}{299}{17.39755}
+\pgfmath@def{asin}{300}{17.45760} \pgfmath@def{asin}{301}{17.51767}
+\pgfmath@def{asin}{302}{17.57776} \pgfmath@def{asin}{303}{17.63788}
+\pgfmath@def{asin}{304}{17.69801} \pgfmath@def{asin}{305}{17.75816}
+\pgfmath@def{asin}{306}{17.81833} \pgfmath@def{asin}{307}{17.87852}
+\pgfmath@def{asin}{308}{17.93874} \pgfmath@def{asin}{309}{17.99897}
+\pgfmath@def{asin}{310}{18.05923} \pgfmath@def{asin}{311}{18.11950}
+\pgfmath@def{asin}{312}{18.17980} \pgfmath@def{asin}{313}{18.24011}
+\pgfmath@def{asin}{314}{18.30045} \pgfmath@def{asin}{315}{18.36081}
+\pgfmath@def{asin}{316}{18.42119} \pgfmath@def{asin}{317}{18.48159}
+\pgfmath@def{asin}{318}{18.54201} \pgfmath@def{asin}{319}{18.60246}
+\pgfmath@def{asin}{320}{18.66292} \pgfmath@def{asin}{321}{18.72341}
+\pgfmath@def{asin}{322}{18.78392} \pgfmath@def{asin}{323}{18.84445}
+\pgfmath@def{asin}{324}{18.90500} \pgfmath@def{asin}{325}{18.96557}
+\pgfmath@def{asin}{326}{19.02617} \pgfmath@def{asin}{327}{19.08678}
+\pgfmath@def{asin}{328}{19.14742} \pgfmath@def{asin}{329}{19.20809}
+\pgfmath@def{asin}{330}{19.26877} \pgfmath@def{asin}{331}{19.32948}
+\pgfmath@def{asin}{332}{19.39021} \pgfmath@def{asin}{333}{19.45096}
+\pgfmath@def{asin}{334}{19.51174} \pgfmath@def{asin}{335}{19.57253}
+\pgfmath@def{asin}{336}{19.63335} \pgfmath@def{asin}{337}{19.69420}
+\pgfmath@def{asin}{338}{19.75507} \pgfmath@def{asin}{339}{19.81596}
+\pgfmath@def{asin}{340}{19.87687} \pgfmath@def{asin}{341}{19.93781}
+\pgfmath@def{asin}{342}{19.99877} \pgfmath@def{asin}{343}{20.05975}
+\pgfmath@def{asin}{344}{20.12076} \pgfmath@def{asin}{345}{20.18179}
+\pgfmath@def{asin}{346}{20.24285} \pgfmath@def{asin}{347}{20.30393}
+\pgfmath@def{asin}{348}{20.36503} \pgfmath@def{asin}{349}{20.42616}
+\pgfmath@def{asin}{350}{20.48731} \pgfmath@def{asin}{351}{20.54849}
+\pgfmath@def{asin}{352}{20.60969} \pgfmath@def{asin}{353}{20.67091}
+\pgfmath@def{asin}{354}{20.73216} \pgfmath@def{asin}{355}{20.79344}
+\pgfmath@def{asin}{356}{20.85474} \pgfmath@def{asin}{357}{20.91607}
+\pgfmath@def{asin}{358}{20.97742} \pgfmath@def{asin}{359}{21.03879}
+\pgfmath@def{asin}{360}{21.10019} \pgfmath@def{asin}{361}{21.16162}
+\pgfmath@def{asin}{362}{21.22307} \pgfmath@def{asin}{363}{21.28455}
+\pgfmath@def{asin}{364}{21.34605} \pgfmath@def{asin}{365}{21.40758}
+\pgfmath@def{asin}{366}{21.46913} \pgfmath@def{asin}{367}{21.53071}
+\pgfmath@def{asin}{368}{21.59232} \pgfmath@def{asin}{369}{21.65395}
+\pgfmath@def{asin}{370}{21.71561} \pgfmath@def{asin}{371}{21.77730}
+\pgfmath@def{asin}{372}{21.83901} \pgfmath@def{asin}{373}{21.90075}
+\pgfmath@def{asin}{374}{21.96252} \pgfmath@def{asin}{375}{22.02431}
+\pgfmath@def{asin}{376}{22.08613} \pgfmath@def{asin}{377}{22.14797}
+\pgfmath@def{asin}{378}{22.20985} \pgfmath@def{asin}{379}{22.27175}
+\pgfmath@def{asin}{380}{22.33368} \pgfmath@def{asin}{381}{22.39563}
+\pgfmath@def{asin}{382}{22.45762} \pgfmath@def{asin}{383}{22.51963}
+\pgfmath@def{asin}{384}{22.58167} \pgfmath@def{asin}{385}{22.64374}
+\pgfmath@def{asin}{386}{22.70583} \pgfmath@def{asin}{387}{22.76795}
+\pgfmath@def{asin}{388}{22.83011} \pgfmath@def{asin}{389}{22.89229}
+\pgfmath@def{asin}{390}{22.95449} \pgfmath@def{asin}{391}{23.01673}
+\pgfmath@def{asin}{392}{23.07900} \pgfmath@def{asin}{393}{23.14129}
+\pgfmath@def{asin}{394}{23.20362} \pgfmath@def{asin}{395}{23.26597}
+\pgfmath@def{asin}{396}{23.32835} \pgfmath@def{asin}{397}{23.39076}
+\pgfmath@def{asin}{398}{23.45320} \pgfmath@def{asin}{399}{23.51567}
+\pgfmath@def{asin}{400}{23.57817} \pgfmath@def{asin}{401}{23.64070}
+\pgfmath@def{asin}{402}{23.70326} \pgfmath@def{asin}{403}{23.76585}
+\pgfmath@def{asin}{404}{23.82847} \pgfmath@def{asin}{405}{23.89112}
+\pgfmath@def{asin}{406}{23.95380} \pgfmath@def{asin}{407}{24.01651}
+\pgfmath@def{asin}{408}{24.07926} \pgfmath@def{asin}{409}{24.14203}
+\pgfmath@def{asin}{410}{24.20483} \pgfmath@def{asin}{411}{24.26766}
+\pgfmath@def{asin}{412}{24.33053} \pgfmath@def{asin}{413}{24.39343}
+\pgfmath@def{asin}{414}{24.45635} \pgfmath@def{asin}{415}{24.51931}
+\pgfmath@def{asin}{416}{24.58230} \pgfmath@def{asin}{417}{24.64532}
+\pgfmath@def{asin}{418}{24.70838} \pgfmath@def{asin}{419}{24.77146}
+\pgfmath@def{asin}{420}{24.83458} \pgfmath@def{asin}{421}{24.89773}
+\pgfmath@def{asin}{422}{24.96092} \pgfmath@def{asin}{423}{25.02413}
+\pgfmath@def{asin}{424}{25.08738} \pgfmath@def{asin}{425}{25.15066}
+\pgfmath@def{asin}{426}{25.21397} \pgfmath@def{asin}{427}{25.27732}
+\pgfmath@def{asin}{428}{25.34070} \pgfmath@def{asin}{429}{25.40411}
+\pgfmath@def{asin}{430}{25.46756} \pgfmath@def{asin}{431}{25.53103}
+\pgfmath@def{asin}{432}{25.59455} \pgfmath@def{asin}{433}{25.65809}
+\pgfmath@def{asin}{434}{25.72167} \pgfmath@def{asin}{435}{25.78529}
+\pgfmath@def{asin}{436}{25.84894} \pgfmath@def{asin}{437}{25.91262}
+\pgfmath@def{asin}{438}{25.97634} \pgfmath@def{asin}{439}{26.04009}
+\pgfmath@def{asin}{440}{26.10388} \pgfmath@def{asin}{441}{26.16770}
+\pgfmath@def{asin}{442}{26.23155} \pgfmath@def{asin}{443}{26.29545}
+\pgfmath@def{asin}{444}{26.35937} \pgfmath@def{asin}{445}{26.42333}
+\pgfmath@def{asin}{446}{26.48733} \pgfmath@def{asin}{447}{26.55136}
+\pgfmath@def{asin}{448}{26.61543} \pgfmath@def{asin}{449}{26.67954}
+\pgfmath@def{asin}{450}{26.74368} \pgfmath@def{asin}{451}{26.80786}
+\pgfmath@def{asin}{452}{26.87207} \pgfmath@def{asin}{453}{26.93632}
+\pgfmath@def{asin}{454}{27.00061} \pgfmath@def{asin}{455}{27.06493}
+\pgfmath@def{asin}{456}{27.12929} \pgfmath@def{asin}{457}{27.19369}
+\pgfmath@def{asin}{458}{27.25812} \pgfmath@def{asin}{459}{27.32259}
+\pgfmath@def{asin}{460}{27.38710} \pgfmath@def{asin}{461}{27.45165}
+\pgfmath@def{asin}{462}{27.51623} \pgfmath@def{asin}{463}{27.58086}
+\pgfmath@def{asin}{464}{27.64552} \pgfmath@def{asin}{465}{27.71022}
+\pgfmath@def{asin}{466}{27.77496} \pgfmath@def{asin}{467}{27.83973}
+\pgfmath@def{asin}{468}{27.90455} \pgfmath@def{asin}{469}{27.96940}
+\pgfmath@def{asin}{470}{28.03429} \pgfmath@def{asin}{471}{28.09922}
+\pgfmath@def{asin}{472}{28.16419} \pgfmath@def{asin}{473}{28.22921}
+\pgfmath@def{asin}{474}{28.29426} \pgfmath@def{asin}{475}{28.35935}
+\pgfmath@def{asin}{476}{28.42448} \pgfmath@def{asin}{477}{28.48965}
+\pgfmath@def{asin}{478}{28.55486} \pgfmath@def{asin}{479}{28.62011}
+\pgfmath@def{asin}{480}{28.68540} \pgfmath@def{asin}{481}{28.75073}
+\pgfmath@def{asin}{482}{28.81610} \pgfmath@def{asin}{483}{28.88152}
+\pgfmath@def{asin}{484}{28.94697} \pgfmath@def{asin}{485}{29.01247}
+\pgfmath@def{asin}{486}{29.07801} \pgfmath@def{asin}{487}{29.14359}
+\pgfmath@def{asin}{488}{29.20921} \pgfmath@def{asin}{489}{29.27487}
+\pgfmath@def{asin}{490}{29.34058} \pgfmath@def{asin}{491}{29.40633}
+\pgfmath@def{asin}{492}{29.47212} \pgfmath@def{asin}{493}{29.53795}
+\pgfmath@def{asin}{494}{29.60383} \pgfmath@def{asin}{495}{29.66975}
+\pgfmath@def{asin}{496}{29.73571} \pgfmath@def{asin}{497}{29.80171}
+\pgfmath@def{asin}{498}{29.86776} \pgfmath@def{asin}{499}{29.93386}
+\pgfmath@def{asin}{500}{30.00000} \pgfmath@def{asin}{501}{30.06618}
+\pgfmath@def{asin}{502}{30.13240} \pgfmath@def{asin}{503}{30.19867}
+\pgfmath@def{asin}{504}{30.26499} \pgfmath@def{asin}{505}{30.33135}
+\pgfmath@def{asin}{506}{30.39775} \pgfmath@def{asin}{507}{30.46420}
+\pgfmath@def{asin}{508}{30.53070} \pgfmath@def{asin}{509}{30.59724}
+\pgfmath@def{asin}{510}{30.66383} \pgfmath@def{asin}{511}{30.73046}
+\pgfmath@def{asin}{512}{30.79714} \pgfmath@def{asin}{513}{30.86386}
+\pgfmath@def{asin}{514}{30.93063} \pgfmath@def{asin}{515}{30.99745}
+\pgfmath@def{asin}{516}{31.06432} \pgfmath@def{asin}{517}{31.13123}
+\pgfmath@def{asin}{518}{31.19819} \pgfmath@def{asin}{519}{31.26519}
+\pgfmath@def{asin}{520}{31.33225} \pgfmath@def{asin}{521}{31.39935}
+\pgfmath@def{asin}{522}{31.46650} \pgfmath@def{asin}{523}{31.53370}
+\pgfmath@def{asin}{524}{31.60094} \pgfmath@def{asin}{525}{31.66824}
+\pgfmath@def{asin}{526}{31.73558} \pgfmath@def{asin}{527}{31.80298}
+\pgfmath@def{asin}{528}{31.87042} \pgfmath@def{asin}{529}{31.93791}
+\pgfmath@def{asin}{530}{32.00545} \pgfmath@def{asin}{531}{32.07304}
+\pgfmath@def{asin}{532}{32.14068} \pgfmath@def{asin}{533}{32.20837}
+\pgfmath@def{asin}{534}{32.27611} \pgfmath@def{asin}{535}{32.34391}
+\pgfmath@def{asin}{536}{32.41175} \pgfmath@def{asin}{537}{32.47964}
+\pgfmath@def{asin}{538}{32.54759} \pgfmath@def{asin}{539}{32.61559}
+\pgfmath@def{asin}{540}{32.68363} \pgfmath@def{asin}{541}{32.75173}
+\pgfmath@def{asin}{542}{32.81989} \pgfmath@def{asin}{543}{32.88809}
+\pgfmath@def{asin}{544}{32.95635} \pgfmath@def{asin}{545}{33.02466}
+\pgfmath@def{asin}{546}{33.09302} \pgfmath@def{asin}{547}{33.16144}
+\pgfmath@def{asin}{548}{33.22991} \pgfmath@def{asin}{549}{33.29843}
+\pgfmath@def{asin}{550}{33.36701} \pgfmath@def{asin}{551}{33.43564}
+\pgfmath@def{asin}{552}{33.50433} \pgfmath@def{asin}{553}{33.57307}
+\pgfmath@def{asin}{554}{33.64186} \pgfmath@def{asin}{555}{33.71071}
+\pgfmath@def{asin}{556}{33.77962} \pgfmath@def{asin}{557}{33.84858}
+\pgfmath@def{asin}{558}{33.91759} \pgfmath@def{asin}{559}{33.98666}
+\pgfmath@def{asin}{560}{34.05579} \pgfmath@def{asin}{561}{34.12498}
+\pgfmath@def{asin}{562}{34.19422} \pgfmath@def{asin}{563}{34.26352}
+\pgfmath@def{asin}{564}{34.33287} \pgfmath@def{asin}{565}{34.40229}
+\pgfmath@def{asin}{566}{34.47176} \pgfmath@def{asin}{567}{34.54129}
+\pgfmath@def{asin}{568}{34.61087} \pgfmath@def{asin}{569}{34.68052}
+\pgfmath@def{asin}{570}{34.75022} \pgfmath@def{asin}{571}{34.81998}
+\pgfmath@def{asin}{572}{34.88981} \pgfmath@def{asin}{573}{34.95969}
+\pgfmath@def{asin}{574}{35.02963} \pgfmath@def{asin}{575}{35.09963}
+\pgfmath@def{asin}{576}{35.16969} \pgfmath@def{asin}{577}{35.23981}
+\pgfmath@def{asin}{578}{35.30999} \pgfmath@def{asin}{579}{35.38023}
+\pgfmath@def{asin}{580}{35.45054} \pgfmath@def{asin}{581}{35.52090}
+\pgfmath@def{asin}{582}{35.59133} \pgfmath@def{asin}{583}{35.66182}
+\pgfmath@def{asin}{584}{35.73237} \pgfmath@def{asin}{585}{35.80299}
+\pgfmath@def{asin}{586}{35.87366} \pgfmath@def{asin}{587}{35.94440}
+\pgfmath@def{asin}{588}{36.01521} \pgfmath@def{asin}{589}{36.08607}
+\pgfmath@def{asin}{590}{36.15700} \pgfmath@def{asin}{591}{36.22800}
+\pgfmath@def{asin}{592}{36.29906} \pgfmath@def{asin}{593}{36.37018}
+\pgfmath@def{asin}{594}{36.44137} \pgfmath@def{asin}{595}{36.51263}
+\pgfmath@def{asin}{596}{36.58395} \pgfmath@def{asin}{597}{36.65533}
+\pgfmath@def{asin}{598}{36.72679} \pgfmath@def{asin}{599}{36.79831}
+\pgfmath@def{asin}{600}{36.86989} \pgfmath@def{asin}{601}{36.94155}
+\pgfmath@def{asin}{602}{37.01327} \pgfmath@def{asin}{603}{37.08506}
+\pgfmath@def{asin}{604}{37.15691} \pgfmath@def{asin}{605}{37.22884}
+\pgfmath@def{asin}{606}{37.30083} \pgfmath@def{asin}{607}{37.37289}
+\pgfmath@def{asin}{608}{37.44503} \pgfmath@def{asin}{609}{37.51723}
+\pgfmath@def{asin}{610}{37.58950} \pgfmath@def{asin}{611}{37.66184}
+\pgfmath@def{asin}{612}{37.73425} \pgfmath@def{asin}{613}{37.80674}
+\pgfmath@def{asin}{614}{37.87929} \pgfmath@def{asin}{615}{37.95192}
+\pgfmath@def{asin}{616}{38.02461} \pgfmath@def{asin}{617}{38.09738}
+\pgfmath@def{asin}{618}{38.17023} \pgfmath@def{asin}{619}{38.24314}
+\pgfmath@def{asin}{620}{38.31613} \pgfmath@def{asin}{621}{38.38919}
+\pgfmath@def{asin}{622}{38.46233} \pgfmath@def{asin}{623}{38.53554}
+\pgfmath@def{asin}{624}{38.60882} \pgfmath@def{asin}{625}{38.68218}
+\pgfmath@def{asin}{626}{38.75562} \pgfmath@def{asin}{627}{38.82913}
+\pgfmath@def{asin}{628}{38.90272} \pgfmath@def{asin}{629}{38.97638}
+\pgfmath@def{asin}{630}{39.05012} \pgfmath@def{asin}{631}{39.12393}
+\pgfmath@def{asin}{632}{39.19783} \pgfmath@def{asin}{633}{39.27180}
+\pgfmath@def{asin}{634}{39.34585} \pgfmath@def{asin}{635}{39.41998}
+\pgfmath@def{asin}{636}{39.49419} \pgfmath@def{asin}{637}{39.56847}
+\pgfmath@def{asin}{638}{39.64284} \pgfmath@def{asin}{639}{39.71729}
+\pgfmath@def{asin}{640}{39.79181} \pgfmath@def{asin}{641}{39.86642}
+\pgfmath@def{asin}{642}{39.94111} \pgfmath@def{asin}{643}{40.01588}
+\pgfmath@def{asin}{644}{40.09074} \pgfmath@def{asin}{645}{40.16567}
+\pgfmath@def{asin}{646}{40.24069} \pgfmath@def{asin}{647}{40.31579}
+\pgfmath@def{asin}{648}{40.39098} \pgfmath@def{asin}{649}{40.46624}
+\pgfmath@def{asin}{650}{40.54160} \pgfmath@def{asin}{651}{40.61704}
+\pgfmath@def{asin}{652}{40.69256} \pgfmath@def{asin}{653}{40.76817}
+\pgfmath@def{asin}{654}{40.84386} \pgfmath@def{asin}{655}{40.91965}
+\pgfmath@def{asin}{656}{40.99551} \pgfmath@def{asin}{657}{41.07147}
+\pgfmath@def{asin}{658}{41.14751} \pgfmath@def{asin}{659}{41.22365}
+\pgfmath@def{asin}{660}{41.29987} \pgfmath@def{asin}{661}{41.37618}
+\pgfmath@def{asin}{662}{41.45258} \pgfmath@def{asin}{663}{41.52907}
+\pgfmath@def{asin}{664}{41.60565} \pgfmath@def{asin}{665}{41.68232}
+\pgfmath@def{asin}{666}{41.75908} \pgfmath@def{asin}{667}{41.83594}
+\pgfmath@def{asin}{668}{41.91289} \pgfmath@def{asin}{669}{41.98993}
+\pgfmath@def{asin}{670}{42.06706} \pgfmath@def{asin}{671}{42.14429}
+\pgfmath@def{asin}{672}{42.22161} \pgfmath@def{asin}{673}{42.29903}
+\pgfmath@def{asin}{674}{42.37654} \pgfmath@def{asin}{675}{42.45415}
+\pgfmath@def{asin}{676}{42.53185} \pgfmath@def{asin}{677}{42.60965}
+\pgfmath@def{asin}{678}{42.68755} \pgfmath@def{asin}{679}{42.76554}
+\pgfmath@def{asin}{680}{42.84364} \pgfmath@def{asin}{681}{42.92183}
+\pgfmath@def{asin}{682}{43.00012} \pgfmath@def{asin}{683}{43.07852}
+\pgfmath@def{asin}{684}{43.15701} \pgfmath@def{asin}{685}{43.23560}
+\pgfmath@def{asin}{686}{43.31430} \pgfmath@def{asin}{687}{43.39310}
+\pgfmath@def{asin}{688}{43.47199} \pgfmath@def{asin}{689}{43.55100}
+\pgfmath@def{asin}{690}{43.63010} \pgfmath@def{asin}{691}{43.70932}
+\pgfmath@def{asin}{692}{43.78863} \pgfmath@def{asin}{693}{43.86805}
+\pgfmath@def{asin}{694}{43.94758} \pgfmath@def{asin}{695}{44.02721}
+\pgfmath@def{asin}{696}{44.10695} \pgfmath@def{asin}{697}{44.18680}
+\pgfmath@def{asin}{698}{44.26676} \pgfmath@def{asin}{699}{44.34682}
+\pgfmath@def{asin}{700}{44.42700} \pgfmath@def{asin}{701}{44.50728}
+\pgfmath@def{asin}{702}{44.58768} \pgfmath@def{asin}{703}{44.66819}
+\pgfmath@def{asin}{704}{44.74881} \pgfmath@def{asin}{705}{44.82954}
+\pgfmath@def{asin}{706}{44.91038} \pgfmath@def{asin}{707}{44.99134}
+\pgfmath@def{asin}{708}{45.07242} \pgfmath@def{asin}{709}{45.15361}
+\pgfmath@def{asin}{710}{45.23491} \pgfmath@def{asin}{711}{45.31633}
+\pgfmath@def{asin}{712}{45.39787} \pgfmath@def{asin}{713}{45.47953}
+\pgfmath@def{asin}{714}{45.56130} \pgfmath@def{asin}{715}{45.64319}
+\pgfmath@def{asin}{716}{45.72521} \pgfmath@def{asin}{717}{45.80734}
+\pgfmath@def{asin}{718}{45.88960} \pgfmath@def{asin}{719}{45.97198}
+\pgfmath@def{asin}{720}{46.05448} \pgfmath@def{asin}{721}{46.13710}
+\pgfmath@def{asin}{722}{46.21985} \pgfmath@def{asin}{723}{46.30272}
+\pgfmath@def{asin}{724}{46.38572} \pgfmath@def{asin}{725}{46.46884}
+\pgfmath@def{asin}{726}{46.55210} \pgfmath@def{asin}{727}{46.63548}
+\pgfmath@def{asin}{728}{46.71898} \pgfmath@def{asin}{729}{46.80262}
+\pgfmath@def{asin}{730}{46.88639} \pgfmath@def{asin}{731}{46.97029}
+\pgfmath@def{asin}{732}{47.05432} \pgfmath@def{asin}{733}{47.13848}
+\pgfmath@def{asin}{734}{47.22278} \pgfmath@def{asin}{735}{47.30721}
+\pgfmath@def{asin}{736}{47.39178} \pgfmath@def{asin}{737}{47.47648}
+\pgfmath@def{asin}{738}{47.56132} \pgfmath@def{asin}{739}{47.64630}
+\pgfmath@def{asin}{740}{47.73141} \pgfmath@def{asin}{741}{47.81667}
+\pgfmath@def{asin}{742}{47.90206} \pgfmath@def{asin}{743}{47.98760}
+\pgfmath@def{asin}{744}{48.07327} \pgfmath@def{asin}{745}{48.15909}
+\pgfmath@def{asin}{746}{48.24506} \pgfmath@def{asin}{747}{48.33117}
+\pgfmath@def{asin}{748}{48.41742} \pgfmath@def{asin}{749}{48.50382}
+\pgfmath@def{asin}{750}{48.59037} \pgfmath@def{asin}{751}{48.67707}
+\pgfmath@def{asin}{752}{48.76392} \pgfmath@def{asin}{753}{48.85092}
+\pgfmath@def{asin}{754}{48.93806} \pgfmath@def{asin}{755}{49.02537}
+\pgfmath@def{asin}{756}{49.11282} \pgfmath@def{asin}{757}{49.20043}
+\pgfmath@def{asin}{758}{49.28819} \pgfmath@def{asin}{759}{49.37611}
+\pgfmath@def{asin}{760}{49.46419} \pgfmath@def{asin}{761}{49.55243}
+\pgfmath@def{asin}{762}{49.64083} \pgfmath@def{asin}{763}{49.72939}
+\pgfmath@def{asin}{764}{49.81810} \pgfmath@def{asin}{765}{49.90699}
+\pgfmath@def{asin}{766}{49.99603} \pgfmath@def{asin}{767}{50.08525}
+\pgfmath@def{asin}{768}{50.17462} \pgfmath@def{asin}{769}{50.26417}
+\pgfmath@def{asin}{770}{50.35388} \pgfmath@def{asin}{771}{50.44377}
+\pgfmath@def{asin}{772}{50.53382} \pgfmath@def{asin}{773}{50.62405}
+\pgfmath@def{asin}{774}{50.71445} \pgfmath@def{asin}{775}{50.80503}
+\pgfmath@def{asin}{776}{50.89578} \pgfmath@def{asin}{777}{50.98671}
+\pgfmath@def{asin}{778}{51.07782} \pgfmath@def{asin}{779}{51.16910}
+\pgfmath@def{asin}{780}{51.26057} \pgfmath@def{asin}{781}{51.35222}
+\pgfmath@def{asin}{782}{51.44406} \pgfmath@def{asin}{783}{51.53607}
+\pgfmath@def{asin}{784}{51.62828} \pgfmath@def{asin}{785}{51.72067}
+\pgfmath@def{asin}{786}{51.81326} \pgfmath@def{asin}{787}{51.90603}
+\pgfmath@def{asin}{788}{51.99899} \pgfmath@def{asin}{789}{52.09215}
+\pgfmath@def{asin}{790}{52.18551} \pgfmath@def{asin}{791}{52.27906}
+\pgfmath@def{asin}{792}{52.37280} \pgfmath@def{asin}{793}{52.46675}
+\pgfmath@def{asin}{794}{52.56090} \pgfmath@def{asin}{795}{52.65525}
+\pgfmath@def{asin}{796}{52.74981} \pgfmath@def{asin}{797}{52.84457}
+\pgfmath@def{asin}{798}{52.93953} \pgfmath@def{asin}{799}{53.03471}
+\pgfmath@def{asin}{800}{53.13010} \pgfmath@def{asin}{801}{53.22570}
+\pgfmath@def{asin}{802}{53.32151} \pgfmath@def{asin}{803}{53.41754}
+\pgfmath@def{asin}{804}{53.51379} \pgfmath@def{asin}{805}{53.61025}
+\pgfmath@def{asin}{806}{53.70694} \pgfmath@def{asin}{807}{53.80385}
+\pgfmath@def{asin}{808}{53.90098} \pgfmath@def{asin}{809}{53.99834}
+\pgfmath@def{asin}{810}{54.09593} \pgfmath@def{asin}{811}{54.19374}
+\pgfmath@def{asin}{812}{54.29180} \pgfmath@def{asin}{813}{54.39008}
+\pgfmath@def{asin}{814}{54.48860} \pgfmath@def{asin}{815}{54.58736}
+\pgfmath@def{asin}{816}{54.68636} \pgfmath@def{asin}{817}{54.78560}
+\pgfmath@def{asin}{818}{54.88508} \pgfmath@def{asin}{819}{54.98481}
+\pgfmath@def{asin}{820}{55.08479} \pgfmath@def{asin}{821}{55.18502}
+\pgfmath@def{asin}{822}{55.28550} \pgfmath@def{asin}{823}{55.38624}
+\pgfmath@def{asin}{824}{55.48723} \pgfmath@def{asin}{825}{55.58849}
+\pgfmath@def{asin}{826}{55.69000} \pgfmath@def{asin}{827}{55.79178}
+\pgfmath@def{asin}{828}{55.89383} \pgfmath@def{asin}{829}{55.99615}
+\pgfmath@def{asin}{830}{56.09873} \pgfmath@def{asin}{831}{56.20160}
+\pgfmath@def{asin}{832}{56.30473} \pgfmath@def{asin}{833}{56.40815}
+\pgfmath@def{asin}{834}{56.51185} \pgfmath@def{asin}{835}{56.61583}
+\pgfmath@def{asin}{836}{56.72010} \pgfmath@def{asin}{837}{56.82467}
+\pgfmath@def{asin}{838}{56.92952} \pgfmath@def{asin}{839}{57.03467}
+\pgfmath@def{asin}{840}{57.14012} \pgfmath@def{asin}{841}{57.24586}
+\pgfmath@def{asin}{842}{57.35192} \pgfmath@def{asin}{843}{57.45828}
+\pgfmath@def{asin}{844}{57.56495} \pgfmath@def{asin}{845}{57.67193}
+\pgfmath@def{asin}{846}{57.77923} \pgfmath@def{asin}{847}{57.88685}
+\pgfmath@def{asin}{848}{57.99480} \pgfmath@def{asin}{849}{58.10307}
+\pgfmath@def{asin}{850}{58.21166} \pgfmath@def{asin}{851}{58.32060}
+\pgfmath@def{asin}{852}{58.42987} \pgfmath@def{asin}{853}{58.53948}
+\pgfmath@def{asin}{854}{58.64943} \pgfmath@def{asin}{855}{58.75973}
+\pgfmath@def{asin}{856}{58.87038} \pgfmath@def{asin}{857}{58.98139}
+\pgfmath@def{asin}{858}{59.09275} \pgfmath@def{asin}{859}{59.20448}
+\pgfmath@def{asin}{860}{59.31658} \pgfmath@def{asin}{861}{59.42904}
+\pgfmath@def{asin}{862}{59.54189} \pgfmath@def{asin}{863}{59.65511}
+\pgfmath@def{asin}{864}{59.76871} \pgfmath@def{asin}{865}{59.88270}
+\pgfmath@def{asin}{866}{59.99708} \pgfmath@def{asin}{867}{60.11187}
+\pgfmath@def{asin}{868}{60.22705} \pgfmath@def{asin}{869}{60.34264}
+\pgfmath@def{asin}{870}{60.45863} \pgfmath@def{asin}{871}{60.57505}
+\pgfmath@def{asin}{872}{60.69189} \pgfmath@def{asin}{873}{60.80915}
+\pgfmath@def{asin}{874}{60.92684} \pgfmath@def{asin}{875}{61.04497}
+\pgfmath@def{asin}{876}{61.16354} \pgfmath@def{asin}{877}{61.28256}
+\pgfmath@def{asin}{878}{61.40203} \pgfmath@def{asin}{879}{61.52196}
+\pgfmath@def{asin}{880}{61.64236} \pgfmath@def{asin}{881}{61.76322}
+\pgfmath@def{asin}{882}{61.88457} \pgfmath@def{asin}{883}{62.00639}
+\pgfmath@def{asin}{884}{62.12871} \pgfmath@def{asin}{885}{62.25152}
+\pgfmath@def{asin}{886}{62.37483} \pgfmath@def{asin}{887}{62.49865}
+\pgfmath@def{asin}{888}{62.62299} \pgfmath@def{asin}{889}{62.74785}
+\pgfmath@def{asin}{890}{62.87324} \pgfmath@def{asin}{891}{62.99917}
+\pgfmath@def{asin}{892}{63.12565} \pgfmath@def{asin}{893}{63.25268}
+\pgfmath@def{asin}{894}{63.38027} \pgfmath@def{asin}{895}{63.50843}
+\pgfmath@def{asin}{896}{63.63716} \pgfmath@def{asin}{897}{63.76649}
+\pgfmath@def{asin}{898}{63.89640} \pgfmath@def{asin}{899}{64.02693}
+\pgfmath@def{asin}{900}{64.15806} \pgfmath@def{asin}{901}{64.28982}
+\pgfmath@def{asin}{902}{64.42221} \pgfmath@def{asin}{903}{64.55524}
+\pgfmath@def{asin}{904}{64.68893} \pgfmath@def{asin}{905}{64.82328}
+\pgfmath@def{asin}{906}{64.95830} \pgfmath@def{asin}{907}{65.09401}
+\pgfmath@def{asin}{908}{65.23041} \pgfmath@def{asin}{909}{65.36752}
+\pgfmath@def{asin}{910}{65.50535} \pgfmath@def{asin}{911}{65.64391}
+\pgfmath@def{asin}{912}{65.78321} \pgfmath@def{asin}{913}{65.92327}
+\pgfmath@def{asin}{914}{66.06411} \pgfmath@def{asin}{915}{66.20572}
+\pgfmath@def{asin}{916}{66.34814} \pgfmath@def{asin}{917}{66.49136}
+\pgfmath@def{asin}{918}{66.63542} \pgfmath@def{asin}{919}{66.78032}
+\pgfmath@def{asin}{920}{66.92608} \pgfmath@def{asin}{921}{67.07271}
+\pgfmath@def{asin}{922}{67.22024} \pgfmath@def{asin}{923}{67.36867}
+\pgfmath@def{asin}{924}{67.51804} \pgfmath@def{asin}{925}{67.66835}
+\pgfmath@def{asin}{926}{67.81963} \pgfmath@def{asin}{927}{67.97189}
+\pgfmath@def{asin}{928}{68.12516} \pgfmath@def{asin}{929}{68.27946}
+\pgfmath@def{asin}{930}{68.43481} \pgfmath@def{asin}{931}{68.59123}
+\pgfmath@def{asin}{932}{68.74875} \pgfmath@def{asin}{933}{68.90739}
+\pgfmath@def{asin}{934}{69.06718} \pgfmath@def{asin}{935}{69.22814}
+\pgfmath@def{asin}{936}{69.39030} \pgfmath@def{asin}{937}{69.55369}
+\pgfmath@def{asin}{938}{69.71835} \pgfmath@def{asin}{939}{69.88429}
+\pgfmath@def{asin}{940}{70.05155} \pgfmath@def{asin}{941}{70.22017}
+\pgfmath@def{asin}{942}{70.39018} \pgfmath@def{asin}{943}{70.56162}
+\pgfmath@def{asin}{944}{70.73453} \pgfmath@def{asin}{945}{70.90894}
+\pgfmath@def{asin}{946}{71.08490} \pgfmath@def{asin}{947}{71.26245}
+\pgfmath@def{asin}{948}{71.44164} \pgfmath@def{asin}{949}{71.62251}
+\pgfmath@def{asin}{950}{71.80512} \pgfmath@def{asin}{951}{71.98952}
+\pgfmath@def{asin}{952}{72.17576} \pgfmath@def{asin}{953}{72.36390}
+\pgfmath@def{asin}{954}{72.55401} \pgfmath@def{asin}{955}{72.74614}
+\pgfmath@def{asin}{956}{72.94037} \pgfmath@def{asin}{957}{73.13678}
+\pgfmath@def{asin}{958}{73.33542} \pgfmath@def{asin}{959}{73.53640}
+\pgfmath@def{asin}{960}{73.73979} \pgfmath@def{asin}{961}{73.94569}
+\pgfmath@def{asin}{962}{74.15419} \pgfmath@def{asin}{963}{74.36540}
+\pgfmath@def{asin}{964}{74.57942} \pgfmath@def{asin}{965}{74.79639}
+\pgfmath@def{asin}{966}{75.01642} \pgfmath@def{asin}{967}{75.23966}
+\pgfmath@def{asin}{968}{75.46625} \pgfmath@def{asin}{969}{75.69635}
+\pgfmath@def{asin}{970}{75.93013} \pgfmath@def{asin}{971}{76.16778}
+\pgfmath@def{asin}{972}{76.40950} \pgfmath@def{asin}{973}{76.65552}
+\pgfmath@def{asin}{974}{76.90607} \pgfmath@def{asin}{975}{77.16143}
+\pgfmath@def{asin}{976}{77.42188} \pgfmath@def{asin}{977}{77.68774}
+\pgfmath@def{asin}{978}{77.95939} \pgfmath@def{asin}{979}{78.23721}
+\pgfmath@def{asin}{980}{78.52165} \pgfmath@def{asin}{981}{78.81323}
+\pgfmath@def{asin}{982}{79.11251} \pgfmath@def{asin}{983}{79.42015}
+\pgfmath@def{asin}{984}{79.73690} \pgfmath@def{asin}{985}{80.06363}
+\pgfmath@def{asin}{986}{80.40136} \pgfmath@def{asin}{987}{80.75129}
+\pgfmath@def{asin}{988}{81.11487} \pgfmath@def{asin}{989}{81.49385}
+\pgfmath@def{asin}{990}{81.89038} \pgfmath@def{asin}{991}{82.30718}
+\pgfmath@def{asin}{992}{82.74775} \pgfmath@def{asin}{993}{83.21671}
+\pgfmath@def{asin}{994}{83.72041} \pgfmath@def{asin}{995}{84.26803}
+\pgfmath@def{asin}{996}{84.87360} \pgfmath@def{asin}{997}{85.56077}
+\pgfmath@def{asin}{998}{86.37569} \pgfmath@def{asin}{999}{87.43744}
+\pgfmath@def{asin}{1000}{90.00000}
+
+\pgfmath@def{acos}{0}{90.00000} \pgfmath@def{acos}{1}{89.94270}
+\pgfmath@def{acos}{2}{89.88540} \pgfmath@def{acos}{3}{89.82811}
+\pgfmath@def{acos}{4}{89.77081} \pgfmath@def{acos}{5}{89.71352}
+\pgfmath@def{acos}{6}{89.65622} \pgfmath@def{acos}{7}{89.59892}
+\pgfmath@def{acos}{8}{89.54162} \pgfmath@def{acos}{9}{89.48433}
+\pgfmath@def{acos}{10}{89.42703} \pgfmath@def{acos}{11}{89.36973}
+\pgfmath@def{acos}{12}{89.31243} \pgfmath@def{acos}{13}{89.25513}
+\pgfmath@def{acos}{14}{89.19783} \pgfmath@def{acos}{15}{89.14053}
+\pgfmath@def{acos}{16}{89.08322} \pgfmath@def{acos}{17}{89.02592}
+\pgfmath@def{acos}{18}{88.96862} \pgfmath@def{acos}{19}{88.91131}
+\pgfmath@def{acos}{20}{88.85400} \pgfmath@def{acos}{21}{88.79670}
+\pgfmath@def{acos}{22}{88.73939} \pgfmath@def{acos}{23}{88.68208}
+\pgfmath@def{acos}{24}{88.62476} \pgfmath@def{acos}{25}{88.56745}
+\pgfmath@def{acos}{26}{88.51014} \pgfmath@def{acos}{27}{88.45282}
+\pgfmath@def{acos}{28}{88.39550} \pgfmath@def{acos}{29}{88.33818}
+\pgfmath@def{acos}{30}{88.28086} \pgfmath@def{acos}{31}{88.22354}
+\pgfmath@def{acos}{32}{88.16622} \pgfmath@def{acos}{33}{88.10889}
+\pgfmath@def{acos}{34}{88.05156} \pgfmath@def{acos}{35}{87.99423}
+\pgfmath@def{acos}{36}{87.93690} \pgfmath@def{acos}{37}{87.87957}
+\pgfmath@def{acos}{38}{87.82223} \pgfmath@def{acos}{39}{87.76489}
+\pgfmath@def{acos}{40}{87.70755} \pgfmath@def{acos}{41}{87.65021}
+\pgfmath@def{acos}{42}{87.59286} \pgfmath@def{acos}{43}{87.53552}
+\pgfmath@def{acos}{44}{87.47817} \pgfmath@def{acos}{45}{87.42081}
+\pgfmath@def{acos}{46}{87.36346} \pgfmath@def{acos}{47}{87.30610}
+\pgfmath@def{acos}{48}{87.24874} \pgfmath@def{acos}{49}{87.19138}
+\pgfmath@def{acos}{50}{87.13401} \pgfmath@def{acos}{51}{87.07664}
+\pgfmath@def{acos}{52}{87.01927} \pgfmath@def{acos}{53}{86.96190}
+\pgfmath@def{acos}{54}{86.90452} \pgfmath@def{acos}{55}{86.84714}
+\pgfmath@def{acos}{56}{86.78975} \pgfmath@def{acos}{57}{86.73237}
+\pgfmath@def{acos}{58}{86.67497} \pgfmath@def{acos}{59}{86.61758}
+\pgfmath@def{acos}{60}{86.56018} \pgfmath@def{acos}{61}{86.50278}
+\pgfmath@def{acos}{62}{86.44538} \pgfmath@def{acos}{63}{86.38797}
+\pgfmath@def{acos}{64}{86.33056} \pgfmath@def{acos}{65}{86.27314}
+\pgfmath@def{acos}{66}{86.21572} \pgfmath@def{acos}{67}{86.15830}
+\pgfmath@def{acos}{68}{86.10087} \pgfmath@def{acos}{69}{86.04344}
+\pgfmath@def{acos}{70}{85.98601} \pgfmath@def{acos}{71}{85.92857}
+\pgfmath@def{acos}{72}{85.87113} \pgfmath@def{acos}{73}{85.81368}
+\pgfmath@def{acos}{74}{85.75623} \pgfmath@def{acos}{75}{85.69877}
+\pgfmath@def{acos}{76}{85.64131} \pgfmath@def{acos}{77}{85.58385}
+\pgfmath@def{acos}{78}{85.52638} \pgfmath@def{acos}{79}{85.46891}
+\pgfmath@def{acos}{80}{85.41143} \pgfmath@def{acos}{81}{85.35395}
+\pgfmath@def{acos}{82}{85.29646} \pgfmath@def{acos}{83}{85.23897}
+\pgfmath@def{acos}{84}{85.18147} \pgfmath@def{acos}{85}{85.12397}
+\pgfmath@def{acos}{86}{85.06646} \pgfmath@def{acos}{87}{85.00895}
+\pgfmath@def{acos}{88}{84.95144} \pgfmath@def{acos}{89}{84.89392}
+\pgfmath@def{acos}{90}{84.83639} \pgfmath@def{acos}{91}{84.77886}
+\pgfmath@def{acos}{92}{84.72132} \pgfmath@def{acos}{93}{84.66378}
+\pgfmath@def{acos}{94}{84.60623} \pgfmath@def{acos}{95}{84.54868}
+\pgfmath@def{acos}{96}{84.49112} \pgfmath@def{acos}{97}{84.43355}
+\pgfmath@def{acos}{98}{84.37598} \pgfmath@def{acos}{99}{84.31841}
+\pgfmath@def{acos}{100}{84.26083} \pgfmath@def{acos}{101}{84.20324}
+\pgfmath@def{acos}{102}{84.14564} \pgfmath@def{acos}{103}{84.08805}
+\pgfmath@def{acos}{104}{84.03044} \pgfmath@def{acos}{105}{83.97283}
+\pgfmath@def{acos}{106}{83.91521} \pgfmath@def{acos}{107}{83.85759}
+\pgfmath@def{acos}{108}{83.79996} \pgfmath@def{acos}{109}{83.74232}
+\pgfmath@def{acos}{110}{83.68468} \pgfmath@def{acos}{111}{83.62703}
+\pgfmath@def{acos}{112}{83.56938} \pgfmath@def{acos}{113}{83.51171}
+\pgfmath@def{acos}{114}{83.45405} \pgfmath@def{acos}{115}{83.39637}
+\pgfmath@def{acos}{116}{83.33869} \pgfmath@def{acos}{117}{83.28100}
+\pgfmath@def{acos}{118}{83.22330} \pgfmath@def{acos}{119}{83.16560}
+\pgfmath@def{acos}{120}{83.10789} \pgfmath@def{acos}{121}{83.05018}
+\pgfmath@def{acos}{122}{82.99245} \pgfmath@def{acos}{123}{82.93472}
+\pgfmath@def{acos}{124}{82.87698} \pgfmath@def{acos}{125}{82.81924}
+\pgfmath@def{acos}{126}{82.76149} \pgfmath@def{acos}{127}{82.70373}
+\pgfmath@def{acos}{128}{82.64596} \pgfmath@def{acos}{129}{82.58819}
+\pgfmath@def{acos}{130}{82.53040} \pgfmath@def{acos}{131}{82.47261}
+\pgfmath@def{acos}{132}{82.41482} \pgfmath@def{acos}{133}{82.35701}
+\pgfmath@def{acos}{134}{82.29920} \pgfmath@def{acos}{135}{82.24138}
+\pgfmath@def{acos}{136}{82.18355} \pgfmath@def{acos}{137}{82.12571}
+\pgfmath@def{acos}{138}{82.06786} \pgfmath@def{acos}{139}{82.01001}
+\pgfmath@def{acos}{140}{81.95215} \pgfmath@def{acos}{141}{81.89428}
+\pgfmath@def{acos}{142}{81.83640} \pgfmath@def{acos}{143}{81.77851}
+\pgfmath@def{acos}{144}{81.72062} \pgfmath@def{acos}{145}{81.66272}
+\pgfmath@def{acos}{146}{81.60480} \pgfmath@def{acos}{147}{81.54688}
+\pgfmath@def{acos}{148}{81.48895} \pgfmath@def{acos}{149}{81.43102}
+\pgfmath@def{acos}{150}{81.37307} \pgfmath@def{acos}{151}{81.31511}
+\pgfmath@def{acos}{152}{81.25715} \pgfmath@def{acos}{153}{81.19917}
+\pgfmath@def{acos}{154}{81.14119} \pgfmath@def{acos}{155}{81.08320}
+\pgfmath@def{acos}{156}{81.02520} \pgfmath@def{acos}{157}{80.96719}
+\pgfmath@def{acos}{158}{80.90917} \pgfmath@def{acos}{159}{80.85114}
+\pgfmath@def{acos}{160}{80.79310} \pgfmath@def{acos}{161}{80.73505}
+\pgfmath@def{acos}{162}{80.67699} \pgfmath@def{acos}{163}{80.61893}
+\pgfmath@def{acos}{164}{80.56085} \pgfmath@def{acos}{165}{80.50276}
+\pgfmath@def{acos}{166}{80.44466} \pgfmath@def{acos}{167}{80.38656}
+\pgfmath@def{acos}{168}{80.32844} \pgfmath@def{acos}{169}{80.27031}
+\pgfmath@def{acos}{170}{80.21218} \pgfmath@def{acos}{171}{80.15403}
+\pgfmath@def{acos}{172}{80.09587} \pgfmath@def{acos}{173}{80.03770}
+\pgfmath@def{acos}{174}{79.97953} \pgfmath@def{acos}{175}{79.92134}
+\pgfmath@def{acos}{176}{79.86314} \pgfmath@def{acos}{177}{79.80493}
+\pgfmath@def{acos}{178}{79.74671} \pgfmath@def{acos}{179}{79.68848}
+\pgfmath@def{acos}{180}{79.63024} \pgfmath@def{acos}{181}{79.57198}
+\pgfmath@def{acos}{182}{79.51372} \pgfmath@def{acos}{183}{79.45545}
+\pgfmath@def{acos}{184}{79.39716} \pgfmath@def{acos}{185}{79.33886}
+\pgfmath@def{acos}{186}{79.28056} \pgfmath@def{acos}{187}{79.22224}
+\pgfmath@def{acos}{188}{79.16391} \pgfmath@def{acos}{189}{79.10556}
+\pgfmath@def{acos}{190}{79.04721} \pgfmath@def{acos}{191}{78.98885}
+\pgfmath@def{acos}{192}{78.93047} \pgfmath@def{acos}{193}{78.87208}
+\pgfmath@def{acos}{194}{78.81368} \pgfmath@def{acos}{195}{78.75527}
+\pgfmath@def{acos}{196}{78.69685} \pgfmath@def{acos}{197}{78.63841}
+\pgfmath@def{acos}{198}{78.57997} \pgfmath@def{acos}{199}{78.52151}
+\pgfmath@def{acos}{200}{78.46304} \pgfmath@def{acos}{201}{78.40455}
+\pgfmath@def{acos}{202}{78.34606} \pgfmath@def{acos}{203}{78.28755}
+\pgfmath@def{acos}{204}{78.22903} \pgfmath@def{acos}{205}{78.17050}
+\pgfmath@def{acos}{206}{78.11195} \pgfmath@def{acos}{207}{78.05339}
+\pgfmath@def{acos}{208}{77.99482} \pgfmath@def{acos}{209}{77.93624}
+\pgfmath@def{acos}{210}{77.87764} \pgfmath@def{acos}{211}{77.81903}
+\pgfmath@def{acos}{212}{77.76041} \pgfmath@def{acos}{213}{77.70178}
+\pgfmath@def{acos}{214}{77.64313} \pgfmath@def{acos}{215}{77.58447}
+\pgfmath@def{acos}{216}{77.52579} \pgfmath@def{acos}{217}{77.46711}
+\pgfmath@def{acos}{218}{77.40841} \pgfmath@def{acos}{219}{77.34969}
+\pgfmath@def{acos}{220}{77.29096} \pgfmath@def{acos}{221}{77.23222}
+\pgfmath@def{acos}{222}{77.17347} \pgfmath@def{acos}{223}{77.11470}
+\pgfmath@def{acos}{224}{77.05591} \pgfmath@def{acos}{225}{76.99712}
+\pgfmath@def{acos}{226}{76.93831} \pgfmath@def{acos}{227}{76.87948}
+\pgfmath@def{acos}{228}{76.82064} \pgfmath@def{acos}{229}{76.76179}
+\pgfmath@def{acos}{230}{76.70292} \pgfmath@def{acos}{231}{76.64404}
+\pgfmath@def{acos}{232}{76.58515} \pgfmath@def{acos}{233}{76.52624}
+\pgfmath@def{acos}{234}{76.46731} \pgfmath@def{acos}{235}{76.40837}
+\pgfmath@def{acos}{236}{76.34942} \pgfmath@def{acos}{237}{76.29045}
+\pgfmath@def{acos}{238}{76.23147} \pgfmath@def{acos}{239}{76.17247}
+\pgfmath@def{acos}{240}{76.11346} \pgfmath@def{acos}{241}{76.05443}
+\pgfmath@def{acos}{242}{75.99538} \pgfmath@def{acos}{243}{75.93632}
+\pgfmath@def{acos}{244}{75.87725} \pgfmath@def{acos}{245}{75.81816}
+\pgfmath@def{acos}{246}{75.75906} \pgfmath@def{acos}{247}{75.69994}
+\pgfmath@def{acos}{248}{75.64080} \pgfmath@def{acos}{249}{75.58165}
+\pgfmath@def{acos}{250}{75.52248} \pgfmath@def{acos}{251}{75.46330}
+\pgfmath@def{acos}{252}{75.40410} \pgfmath@def{acos}{253}{75.34489}
+\pgfmath@def{acos}{254}{75.28566} \pgfmath@def{acos}{255}{75.22641}
+\pgfmath@def{acos}{256}{75.16715} \pgfmath@def{acos}{257}{75.10787}
+\pgfmath@def{acos}{258}{75.04857} \pgfmath@def{acos}{259}{74.98926}
+\pgfmath@def{acos}{260}{74.92993} \pgfmath@def{acos}{261}{74.87059}
+\pgfmath@def{acos}{262}{74.81123} \pgfmath@def{acos}{263}{74.75185}
+\pgfmath@def{acos}{264}{74.69245} \pgfmath@def{acos}{265}{74.63304}
+\pgfmath@def{acos}{266}{74.57361} \pgfmath@def{acos}{267}{74.51417}
+\pgfmath@def{acos}{268}{74.45471} \pgfmath@def{acos}{269}{74.39523}
+\pgfmath@def{acos}{270}{74.33573} \pgfmath@def{acos}{271}{74.27621}
+\pgfmath@def{acos}{272}{74.21668} \pgfmath@def{acos}{273}{74.15713}
+\pgfmath@def{acos}{274}{74.09757} \pgfmath@def{acos}{275}{74.03798}
+\pgfmath@def{acos}{276}{73.97838} \pgfmath@def{acos}{277}{73.91876}
+\pgfmath@def{acos}{278}{73.85912} \pgfmath@def{acos}{279}{73.79946}
+\pgfmath@def{acos}{280}{73.73979} \pgfmath@def{acos}{281}{73.68010}
+\pgfmath@def{acos}{282}{73.62039} \pgfmath@def{acos}{283}{73.56066}
+\pgfmath@def{acos}{284}{73.50091} \pgfmath@def{acos}{285}{73.44115}
+\pgfmath@def{acos}{286}{73.38136} \pgfmath@def{acos}{287}{73.32156}
+\pgfmath@def{acos}{288}{73.26174} \pgfmath@def{acos}{289}{73.20190}
+\pgfmath@def{acos}{290}{73.14204} \pgfmath@def{acos}{291}{73.08216}
+\pgfmath@def{acos}{292}{73.02226} \pgfmath@def{acos}{293}{72.96235}
+\pgfmath@def{acos}{294}{72.90241} \pgfmath@def{acos}{295}{72.84246}
+\pgfmath@def{acos}{296}{72.78248} \pgfmath@def{acos}{297}{72.72249}
+\pgfmath@def{acos}{298}{72.66248} \pgfmath@def{acos}{299}{72.60244}
+\pgfmath@def{acos}{300}{72.54239} \pgfmath@def{acos}{301}{72.48232}
+\pgfmath@def{acos}{302}{72.42223} \pgfmath@def{acos}{303}{72.36212}
+\pgfmath@def{acos}{304}{72.30198} \pgfmath@def{acos}{305}{72.24183}
+\pgfmath@def{acos}{306}{72.18166} \pgfmath@def{acos}{307}{72.12147}
+\pgfmath@def{acos}{308}{72.06125} \pgfmath@def{acos}{309}{72.00102}
+\pgfmath@def{acos}{310}{71.94077} \pgfmath@def{acos}{311}{71.88049}
+\pgfmath@def{acos}{312}{71.82019} \pgfmath@def{acos}{313}{71.75988}
+\pgfmath@def{acos}{314}{71.69954} \pgfmath@def{acos}{315}{71.63918}
+\pgfmath@def{acos}{316}{71.57880} \pgfmath@def{acos}{317}{71.51840}
+\pgfmath@def{acos}{318}{71.45798} \pgfmath@def{acos}{319}{71.39754}
+\pgfmath@def{acos}{320}{71.33707} \pgfmath@def{acos}{321}{71.27658}
+\pgfmath@def{acos}{322}{71.21608} \pgfmath@def{acos}{323}{71.15555}
+\pgfmath@def{acos}{324}{71.09499} \pgfmath@def{acos}{325}{71.03442}
+\pgfmath@def{acos}{326}{70.97382} \pgfmath@def{acos}{327}{70.91321}
+\pgfmath@def{acos}{328}{70.85257} \pgfmath@def{acos}{329}{70.79190}
+\pgfmath@def{acos}{330}{70.73122} \pgfmath@def{acos}{331}{70.67051}
+\pgfmath@def{acos}{332}{70.60978} \pgfmath@def{acos}{333}{70.54903}
+\pgfmath@def{acos}{334}{70.48826} \pgfmath@def{acos}{335}{70.42746}
+\pgfmath@def{acos}{336}{70.36664} \pgfmath@def{acos}{337}{70.30579}
+\pgfmath@def{acos}{338}{70.24493} \pgfmath@def{acos}{339}{70.18404}
+\pgfmath@def{acos}{340}{70.12312} \pgfmath@def{acos}{341}{70.06218}
+\pgfmath@def{acos}{342}{70.00122} \pgfmath@def{acos}{343}{69.94024}
+\pgfmath@def{acos}{344}{69.87923} \pgfmath@def{acos}{345}{69.81820}
+\pgfmath@def{acos}{346}{69.75714} \pgfmath@def{acos}{347}{69.69606}
+\pgfmath@def{acos}{348}{69.63496} \pgfmath@def{acos}{349}{69.57383}
+\pgfmath@def{acos}{350}{69.51268} \pgfmath@def{acos}{351}{69.45150}
+\pgfmath@def{acos}{352}{69.39030} \pgfmath@def{acos}{353}{69.32908}
+\pgfmath@def{acos}{354}{69.26783} \pgfmath@def{acos}{355}{69.20655}
+\pgfmath@def{acos}{356}{69.14525} \pgfmath@def{acos}{357}{69.08393}
+\pgfmath@def{acos}{358}{69.02258} \pgfmath@def{acos}{359}{68.96120}
+\pgfmath@def{acos}{360}{68.89980} \pgfmath@def{acos}{361}{68.83837}
+\pgfmath@def{acos}{362}{68.77692} \pgfmath@def{acos}{363}{68.71544}
+\pgfmath@def{acos}{364}{68.65394} \pgfmath@def{acos}{365}{68.59241}
+\pgfmath@def{acos}{366}{68.53086} \pgfmath@def{acos}{367}{68.46928}
+\pgfmath@def{acos}{368}{68.40767} \pgfmath@def{acos}{369}{68.34604}
+\pgfmath@def{acos}{370}{68.28438} \pgfmath@def{acos}{371}{68.22269}
+\pgfmath@def{acos}{372}{68.16098} \pgfmath@def{acos}{373}{68.09924}
+\pgfmath@def{acos}{374}{68.03748} \pgfmath@def{acos}{375}{67.97568}
+\pgfmath@def{acos}{376}{67.91386} \pgfmath@def{acos}{377}{67.85202}
+\pgfmath@def{acos}{378}{67.79014} \pgfmath@def{acos}{379}{67.72824}
+\pgfmath@def{acos}{380}{67.66631} \pgfmath@def{acos}{381}{67.60436}
+\pgfmath@def{acos}{382}{67.54237} \pgfmath@def{acos}{383}{67.48036}
+\pgfmath@def{acos}{384}{67.41832} \pgfmath@def{acos}{385}{67.35626}
+\pgfmath@def{acos}{386}{67.29416} \pgfmath@def{acos}{387}{67.23204}
+\pgfmath@def{acos}{388}{67.16988} \pgfmath@def{acos}{389}{67.10770}
+\pgfmath@def{acos}{390}{67.04550} \pgfmath@def{acos}{391}{66.98326}
+\pgfmath@def{acos}{392}{66.92099} \pgfmath@def{acos}{393}{66.85870}
+\pgfmath@def{acos}{394}{66.79637} \pgfmath@def{acos}{395}{66.73402}
+\pgfmath@def{acos}{396}{66.67164} \pgfmath@def{acos}{397}{66.60923}
+\pgfmath@def{acos}{398}{66.54679} \pgfmath@def{acos}{399}{66.48432}
+\pgfmath@def{acos}{400}{66.42182} \pgfmath@def{acos}{401}{66.35929}
+\pgfmath@def{acos}{402}{66.29673} \pgfmath@def{acos}{403}{66.23414}
+\pgfmath@def{acos}{404}{66.17152} \pgfmath@def{acos}{405}{66.10887}
+\pgfmath@def{acos}{406}{66.04619} \pgfmath@def{acos}{407}{65.98348}
+\pgfmath@def{acos}{408}{65.92074} \pgfmath@def{acos}{409}{65.85796}
+\pgfmath@def{acos}{410}{65.79516} \pgfmath@def{acos}{411}{65.73233}
+\pgfmath@def{acos}{412}{65.66946} \pgfmath@def{acos}{413}{65.60657}
+\pgfmath@def{acos}{414}{65.54364} \pgfmath@def{acos}{415}{65.48068}
+\pgfmath@def{acos}{416}{65.41769} \pgfmath@def{acos}{417}{65.35467}
+\pgfmath@def{acos}{418}{65.29161} \pgfmath@def{acos}{419}{65.22853}
+\pgfmath@def{acos}{420}{65.16541} \pgfmath@def{acos}{421}{65.10226}
+\pgfmath@def{acos}{422}{65.03908} \pgfmath@def{acos}{423}{64.97586}
+\pgfmath@def{acos}{424}{64.91261} \pgfmath@def{acos}{425}{64.84933}
+\pgfmath@def{acos}{426}{64.78602} \pgfmath@def{acos}{427}{64.72267}
+\pgfmath@def{acos}{428}{64.65929} \pgfmath@def{acos}{429}{64.59588}
+\pgfmath@def{acos}{430}{64.53244} \pgfmath@def{acos}{431}{64.46896}
+\pgfmath@def{acos}{432}{64.40544} \pgfmath@def{acos}{433}{64.34190}
+\pgfmath@def{acos}{434}{64.27832} \pgfmath@def{acos}{435}{64.21470}
+\pgfmath@def{acos}{436}{64.15105} \pgfmath@def{acos}{437}{64.08737}
+\pgfmath@def{acos}{438}{64.02365} \pgfmath@def{acos}{439}{63.95990}
+\pgfmath@def{acos}{440}{63.89611} \pgfmath@def{acos}{441}{63.83229}
+\pgfmath@def{acos}{442}{63.76844} \pgfmath@def{acos}{443}{63.70455}
+\pgfmath@def{acos}{444}{63.64062} \pgfmath@def{acos}{445}{63.57666}
+\pgfmath@def{acos}{446}{63.51266} \pgfmath@def{acos}{447}{63.44863}
+\pgfmath@def{acos}{448}{63.38456} \pgfmath@def{acos}{449}{63.32045}
+\pgfmath@def{acos}{450}{63.25631} \pgfmath@def{acos}{451}{63.19213}
+\pgfmath@def{acos}{452}{63.12792} \pgfmath@def{acos}{453}{63.06367}
+\pgfmath@def{acos}{454}{62.99938} \pgfmath@def{acos}{455}{62.93506}
+\pgfmath@def{acos}{456}{62.87070} \pgfmath@def{acos}{457}{62.80630}
+\pgfmath@def{acos}{458}{62.74187} \pgfmath@def{acos}{459}{62.67740}
+\pgfmath@def{acos}{460}{62.61289} \pgfmath@def{acos}{461}{62.54834}
+\pgfmath@def{acos}{462}{62.48376} \pgfmath@def{acos}{463}{62.41913}
+\pgfmath@def{acos}{464}{62.35447} \pgfmath@def{acos}{465}{62.28977}
+\pgfmath@def{acos}{466}{62.22504} \pgfmath@def{acos}{467}{62.16026}
+\pgfmath@def{acos}{468}{62.09545} \pgfmath@def{acos}{469}{62.03059}
+\pgfmath@def{acos}{470}{61.96570} \pgfmath@def{acos}{471}{61.90077}
+\pgfmath@def{acos}{472}{61.83580} \pgfmath@def{acos}{473}{61.77079}
+\pgfmath@def{acos}{474}{61.70574} \pgfmath@def{acos}{475}{61.64065}
+\pgfmath@def{acos}{476}{61.57552} \pgfmath@def{acos}{477}{61.51035}
+\pgfmath@def{acos}{478}{61.44514} \pgfmath@def{acos}{479}{61.37988}
+\pgfmath@def{acos}{480}{61.31459} \pgfmath@def{acos}{481}{61.24926}
+\pgfmath@def{acos}{482}{61.18389} \pgfmath@def{acos}{483}{61.11847}
+\pgfmath@def{acos}{484}{61.05302} \pgfmath@def{acos}{485}{60.98752}
+\pgfmath@def{acos}{486}{60.92199} \pgfmath@def{acos}{487}{60.85641}
+\pgfmath@def{acos}{488}{60.79078} \pgfmath@def{acos}{489}{60.72512}
+\pgfmath@def{acos}{490}{60.65941} \pgfmath@def{acos}{491}{60.59367}
+\pgfmath@def{acos}{492}{60.52787} \pgfmath@def{acos}{493}{60.46204}
+\pgfmath@def{acos}{494}{60.39616} \pgfmath@def{acos}{495}{60.33025}
+\pgfmath@def{acos}{496}{60.26428} \pgfmath@def{acos}{497}{60.19828}
+\pgfmath@def{acos}{498}{60.13223} \pgfmath@def{acos}{499}{60.06613}
+\pgfmath@def{acos}{500}{60.00000} \pgfmath@def{acos}{501}{59.93381}
+\pgfmath@def{acos}{502}{59.86759} \pgfmath@def{acos}{503}{59.80132}
+\pgfmath@def{acos}{504}{59.73500} \pgfmath@def{acos}{505}{59.66864}
+\pgfmath@def{acos}{506}{59.60224} \pgfmath@def{acos}{507}{59.53579}
+\pgfmath@def{acos}{508}{59.46929} \pgfmath@def{acos}{509}{59.40275}
+\pgfmath@def{acos}{510}{59.33617} \pgfmath@def{acos}{511}{59.26953}
+\pgfmath@def{acos}{512}{59.20285} \pgfmath@def{acos}{513}{59.13613}
+\pgfmath@def{acos}{514}{59.06936} \pgfmath@def{acos}{515}{59.00254}
+\pgfmath@def{acos}{516}{58.93568} \pgfmath@def{acos}{517}{58.86876}
+\pgfmath@def{acos}{518}{58.80180} \pgfmath@def{acos}{519}{58.73480}
+\pgfmath@def{acos}{520}{58.66774} \pgfmath@def{acos}{521}{58.60064}
+\pgfmath@def{acos}{522}{58.53349} \pgfmath@def{acos}{523}{58.46629}
+\pgfmath@def{acos}{524}{58.39905} \pgfmath@def{acos}{525}{58.33175}
+\pgfmath@def{acos}{526}{58.26441} \pgfmath@def{acos}{527}{58.19702}
+\pgfmath@def{acos}{528}{58.12957} \pgfmath@def{acos}{529}{58.06208}
+\pgfmath@def{acos}{530}{57.99454} \pgfmath@def{acos}{531}{57.92695}
+\pgfmath@def{acos}{532}{57.85931} \pgfmath@def{acos}{533}{57.79162}
+\pgfmath@def{acos}{534}{57.72388} \pgfmath@def{acos}{535}{57.65608}
+\pgfmath@def{acos}{536}{57.58824} \pgfmath@def{acos}{537}{57.52035}
+\pgfmath@def{acos}{538}{57.45240} \pgfmath@def{acos}{539}{57.38441}
+\pgfmath@def{acos}{540}{57.31636} \pgfmath@def{acos}{541}{57.24826}
+\pgfmath@def{acos}{542}{57.18010} \pgfmath@def{acos}{543}{57.11190}
+\pgfmath@def{acos}{544}{57.04364} \pgfmath@def{acos}{545}{56.97533}
+\pgfmath@def{acos}{546}{56.90697} \pgfmath@def{acos}{547}{56.83855}
+\pgfmath@def{acos}{548}{56.77008} \pgfmath@def{acos}{549}{56.70156}
+\pgfmath@def{acos}{550}{56.63298} \pgfmath@def{acos}{551}{56.56435}
+\pgfmath@def{acos}{552}{56.49567} \pgfmath@def{acos}{553}{56.42693}
+\pgfmath@def{acos}{554}{56.35813} \pgfmath@def{acos}{555}{56.28928}
+\pgfmath@def{acos}{556}{56.22038} \pgfmath@def{acos}{557}{56.15141}
+\pgfmath@def{acos}{558}{56.08240} \pgfmath@def{acos}{559}{56.01333}
+\pgfmath@def{acos}{560}{55.94420} \pgfmath@def{acos}{561}{55.87501}
+\pgfmath@def{acos}{562}{55.80577} \pgfmath@def{acos}{563}{55.73647}
+\pgfmath@def{acos}{564}{55.66712} \pgfmath@def{acos}{565}{55.59770}
+\pgfmath@def{acos}{566}{55.52823} \pgfmath@def{acos}{567}{55.45871}
+\pgfmath@def{acos}{568}{55.38912} \pgfmath@def{acos}{569}{55.31947}
+\pgfmath@def{acos}{570}{55.24977} \pgfmath@def{acos}{571}{55.18001}
+\pgfmath@def{acos}{572}{55.11019} \pgfmath@def{acos}{573}{55.04030}
+\pgfmath@def{acos}{574}{54.97036} \pgfmath@def{acos}{575}{54.90036}
+\pgfmath@def{acos}{576}{54.83030} \pgfmath@def{acos}{577}{54.76018}
+\pgfmath@def{acos}{578}{54.69000} \pgfmath@def{acos}{579}{54.61976}
+\pgfmath@def{acos}{580}{54.54945} \pgfmath@def{acos}{581}{54.47909}
+\pgfmath@def{acos}{582}{54.40866} \pgfmath@def{acos}{583}{54.33817}
+\pgfmath@def{acos}{584}{54.26762} \pgfmath@def{acos}{585}{54.19701}
+\pgfmath@def{acos}{586}{54.12633} \pgfmath@def{acos}{587}{54.05559}
+\pgfmath@def{acos}{588}{53.98479} \pgfmath@def{acos}{589}{53.91392}
+\pgfmath@def{acos}{590}{53.84299} \pgfmath@def{acos}{591}{53.77199}
+\pgfmath@def{acos}{592}{53.70093} \pgfmath@def{acos}{593}{53.62981}
+\pgfmath@def{acos}{594}{53.55862} \pgfmath@def{acos}{595}{53.48736}
+\pgfmath@def{acos}{596}{53.41604} \pgfmath@def{acos}{597}{53.34466}
+\pgfmath@def{acos}{598}{53.27320} \pgfmath@def{acos}{599}{53.20168}
+\pgfmath@def{acos}{600}{53.13010} \pgfmath@def{acos}{601}{53.05844}
+\pgfmath@def{acos}{602}{52.98672} \pgfmath@def{acos}{603}{52.91494}
+\pgfmath@def{acos}{604}{52.84308} \pgfmath@def{acos}{605}{52.77115}
+\pgfmath@def{acos}{606}{52.69916} \pgfmath@def{acos}{607}{52.62710}
+\pgfmath@def{acos}{608}{52.55497} \pgfmath@def{acos}{609}{52.48276}
+\pgfmath@def{acos}{610}{52.41049} \pgfmath@def{acos}{611}{52.33815}
+\pgfmath@def{acos}{612}{52.26574} \pgfmath@def{acos}{613}{52.19326}
+\pgfmath@def{acos}{614}{52.12070} \pgfmath@def{acos}{615}{52.04808}
+\pgfmath@def{acos}{616}{51.97538} \pgfmath@def{acos}{617}{51.90261}
+\pgfmath@def{acos}{618}{51.82976} \pgfmath@def{acos}{619}{51.75685}
+\pgfmath@def{acos}{620}{51.68386} \pgfmath@def{acos}{621}{51.61080}
+\pgfmath@def{acos}{622}{51.53766} \pgfmath@def{acos}{623}{51.46445}
+\pgfmath@def{acos}{624}{51.39117} \pgfmath@def{acos}{625}{51.31781}
+\pgfmath@def{acos}{626}{51.24437} \pgfmath@def{acos}{627}{51.17086}
+\pgfmath@def{acos}{628}{51.09728} \pgfmath@def{acos}{629}{51.02361}
+\pgfmath@def{acos}{630}{50.94987} \pgfmath@def{acos}{631}{50.87606}
+\pgfmath@def{acos}{632}{50.80216} \pgfmath@def{acos}{633}{50.72819}
+\pgfmath@def{acos}{634}{50.65414} \pgfmath@def{acos}{635}{50.58001}
+\pgfmath@def{acos}{636}{50.50580} \pgfmath@def{acos}{637}{50.43152}
+\pgfmath@def{acos}{638}{50.35715} \pgfmath@def{acos}{639}{50.28270}
+\pgfmath@def{acos}{640}{50.20818} \pgfmath@def{acos}{641}{50.13357}
+\pgfmath@def{acos}{642}{50.05888} \pgfmath@def{acos}{643}{49.98411}
+\pgfmath@def{acos}{644}{49.90926} \pgfmath@def{acos}{645}{49.83432}
+\pgfmath@def{acos}{646}{49.75930} \pgfmath@def{acos}{647}{49.68420}
+\pgfmath@def{acos}{648}{49.60902} \pgfmath@def{acos}{649}{49.53375}
+\pgfmath@def{acos}{650}{49.45839} \pgfmath@def{acos}{651}{49.38296}
+\pgfmath@def{acos}{652}{49.30743} \pgfmath@def{acos}{653}{49.23182}
+\pgfmath@def{acos}{654}{49.15613} \pgfmath@def{acos}{655}{49.08035}
+\pgfmath@def{acos}{656}{49.00448} \pgfmath@def{acos}{657}{48.92852}
+\pgfmath@def{acos}{658}{48.85248} \pgfmath@def{acos}{659}{48.77634}
+\pgfmath@def{acos}{660}{48.70012} \pgfmath@def{acos}{661}{48.62381}
+\pgfmath@def{acos}{662}{48.54741} \pgfmath@def{acos}{663}{48.47092}
+\pgfmath@def{acos}{664}{48.39434} \pgfmath@def{acos}{665}{48.31767}
+\pgfmath@def{acos}{666}{48.24091} \pgfmath@def{acos}{667}{48.16405}
+\pgfmath@def{acos}{668}{48.08710} \pgfmath@def{acos}{669}{48.01006}
+\pgfmath@def{acos}{670}{47.93293} \pgfmath@def{acos}{671}{47.85570}
+\pgfmath@def{acos}{672}{47.77838} \pgfmath@def{acos}{673}{47.70096}
+\pgfmath@def{acos}{674}{47.62345} \pgfmath@def{acos}{675}{47.54585}
+\pgfmath@def{acos}{676}{47.46814} \pgfmath@def{acos}{677}{47.39034}
+\pgfmath@def{acos}{678}{47.31244} \pgfmath@def{acos}{679}{47.23445}
+\pgfmath@def{acos}{680}{47.15635} \pgfmath@def{acos}{681}{47.07816}
+\pgfmath@def{acos}{682}{46.99987} \pgfmath@def{acos}{683}{46.92147}
+\pgfmath@def{acos}{684}{46.84298} \pgfmath@def{acos}{685}{46.76439}
+\pgfmath@def{acos}{686}{46.68569} \pgfmath@def{acos}{687}{46.60690}
+\pgfmath@def{acos}{688}{46.52800} \pgfmath@def{acos}{689}{46.44899}
+\pgfmath@def{acos}{690}{46.36989} \pgfmath@def{acos}{691}{46.29068}
+\pgfmath@def{acos}{692}{46.21136} \pgfmath@def{acos}{693}{46.13194}
+\pgfmath@def{acos}{694}{46.05241} \pgfmath@def{acos}{695}{45.97278}
+\pgfmath@def{acos}{696}{45.89304} \pgfmath@def{acos}{697}{45.81319}
+\pgfmath@def{acos}{698}{45.73323} \pgfmath@def{acos}{699}{45.65317}
+\pgfmath@def{acos}{700}{45.57299} \pgfmath@def{acos}{701}{45.49271}
+\pgfmath@def{acos}{702}{45.41231} \pgfmath@def{acos}{703}{45.33180}
+\pgfmath@def{acos}{704}{45.25118} \pgfmath@def{acos}{705}{45.17045}
+\pgfmath@def{acos}{706}{45.08961} \pgfmath@def{acos}{707}{45.00865}
+\pgfmath@def{acos}{708}{44.92757} \pgfmath@def{acos}{709}{44.84638}
+\pgfmath@def{acos}{710}{44.76508} \pgfmath@def{acos}{711}{44.68366}
+\pgfmath@def{acos}{712}{44.60212} \pgfmath@def{acos}{713}{44.52046}
+\pgfmath@def{acos}{714}{44.43869} \pgfmath@def{acos}{715}{44.35680}
+\pgfmath@def{acos}{716}{44.27478} \pgfmath@def{acos}{717}{44.19265}
+\pgfmath@def{acos}{718}{44.11039} \pgfmath@def{acos}{719}{44.02802}
+\pgfmath@def{acos}{720}{43.94552} \pgfmath@def{acos}{721}{43.86289}
+\pgfmath@def{acos}{722}{43.78014} \pgfmath@def{acos}{723}{43.69727}
+\pgfmath@def{acos}{724}{43.61427} \pgfmath@def{acos}{725}{43.53115}
+\pgfmath@def{acos}{726}{43.44790} \pgfmath@def{acos}{727}{43.36452}
+\pgfmath@def{acos}{728}{43.28101} \pgfmath@def{acos}{729}{43.19737}
+\pgfmath@def{acos}{730}{43.11360} \pgfmath@def{acos}{731}{43.02970}
+\pgfmath@def{acos}{732}{42.94567} \pgfmath@def{acos}{733}{42.86151}
+\pgfmath@def{acos}{734}{42.77721} \pgfmath@def{acos}{735}{42.69278}
+\pgfmath@def{acos}{736}{42.60821} \pgfmath@def{acos}{737}{42.52351}
+\pgfmath@def{acos}{738}{42.43867} \pgfmath@def{acos}{739}{42.35370}
+\pgfmath@def{acos}{740}{42.26858} \pgfmath@def{acos}{741}{42.18333}
+\pgfmath@def{acos}{742}{42.09793} \pgfmath@def{acos}{743}{42.01240}
+\pgfmath@def{acos}{744}{41.92672} \pgfmath@def{acos}{745}{41.84090}
+\pgfmath@def{acos}{746}{41.75493} \pgfmath@def{acos}{747}{41.66882}
+\pgfmath@def{acos}{748}{41.58257} \pgfmath@def{acos}{749}{41.49617}
+\pgfmath@def{acos}{750}{41.40962} \pgfmath@def{acos}{751}{41.32292}
+\pgfmath@def{acos}{752}{41.23607} \pgfmath@def{acos}{753}{41.14908}
+\pgfmath@def{acos}{754}{41.06193} \pgfmath@def{acos}{755}{40.97463}
+\pgfmath@def{acos}{756}{40.88717} \pgfmath@def{acos}{757}{40.79956}
+\pgfmath@def{acos}{758}{40.71180} \pgfmath@def{acos}{759}{40.62388}
+\pgfmath@def{acos}{760}{40.53580} \pgfmath@def{acos}{761}{40.44756}
+\pgfmath@def{acos}{762}{40.35916} \pgfmath@def{acos}{763}{40.27061}
+\pgfmath@def{acos}{764}{40.18189} \pgfmath@def{acos}{765}{40.09300}
+\pgfmath@def{acos}{766}{40.00396} \pgfmath@def{acos}{767}{39.91474}
+\pgfmath@def{acos}{768}{39.82537} \pgfmath@def{acos}{769}{39.73582}
+\pgfmath@def{acos}{770}{39.64611} \pgfmath@def{acos}{771}{39.55622}
+\pgfmath@def{acos}{772}{39.46617} \pgfmath@def{acos}{773}{39.37594}
+\pgfmath@def{acos}{774}{39.28554} \pgfmath@def{acos}{775}{39.19496}
+\pgfmath@def{acos}{776}{39.10421} \pgfmath@def{acos}{777}{39.01328}
+\pgfmath@def{acos}{778}{38.92218} \pgfmath@def{acos}{779}{38.83089}
+\pgfmath@def{acos}{780}{38.73942} \pgfmath@def{acos}{781}{38.64777}
+\pgfmath@def{acos}{782}{38.55594} \pgfmath@def{acos}{783}{38.46392}
+\pgfmath@def{acos}{784}{38.37171} \pgfmath@def{acos}{785}{38.27932}
+\pgfmath@def{acos}{786}{38.18673} \pgfmath@def{acos}{787}{38.09396}
+\pgfmath@def{acos}{788}{38.00100} \pgfmath@def{acos}{789}{37.90784}
+\pgfmath@def{acos}{790}{37.81448} \pgfmath@def{acos}{791}{37.72093}
+\pgfmath@def{acos}{792}{37.62719} \pgfmath@def{acos}{793}{37.53324}
+\pgfmath@def{acos}{794}{37.43909} \pgfmath@def{acos}{795}{37.34474}
+\pgfmath@def{acos}{796}{37.25019} \pgfmath@def{acos}{797}{37.15542}
+\pgfmath@def{acos}{798}{37.06046} \pgfmath@def{acos}{799}{36.96528}
+\pgfmath@def{acos}{800}{36.86989} \pgfmath@def{acos}{801}{36.77429}
+\pgfmath@def{acos}{802}{36.67848} \pgfmath@def{acos}{803}{36.58245}
+\pgfmath@def{acos}{804}{36.48621} \pgfmath@def{acos}{805}{36.38974}
+\pgfmath@def{acos}{806}{36.29305} \pgfmath@def{acos}{807}{36.19615}
+\pgfmath@def{acos}{808}{36.09901} \pgfmath@def{acos}{809}{36.00165}
+\pgfmath@def{acos}{810}{35.90406} \pgfmath@def{acos}{811}{35.80625}
+\pgfmath@def{acos}{812}{35.70820} \pgfmath@def{acos}{813}{35.60991}
+\pgfmath@def{acos}{814}{35.51139} \pgfmath@def{acos}{815}{35.41263}
+\pgfmath@def{acos}{816}{35.31364} \pgfmath@def{acos}{817}{35.21440}
+\pgfmath@def{acos}{818}{35.11491} \pgfmath@def{acos}{819}{35.01518}
+\pgfmath@def{acos}{820}{34.91520} \pgfmath@def{acos}{821}{34.81497}
+\pgfmath@def{acos}{822}{34.71449} \pgfmath@def{acos}{823}{34.61375}
+\pgfmath@def{acos}{824}{34.51276} \pgfmath@def{acos}{825}{34.41150}
+\pgfmath@def{acos}{826}{34.30999} \pgfmath@def{acos}{827}{34.20821}
+\pgfmath@def{acos}{828}{34.10616} \pgfmath@def{acos}{829}{34.00385}
+\pgfmath@def{acos}{830}{33.90126} \pgfmath@def{acos}{831}{33.79840}
+\pgfmath@def{acos}{832}{33.69526} \pgfmath@def{acos}{833}{33.59184}
+\pgfmath@def{acos}{834}{33.48814} \pgfmath@def{acos}{835}{33.38416}
+\pgfmath@def{acos}{836}{33.27989} \pgfmath@def{acos}{837}{33.17533}
+\pgfmath@def{acos}{838}{33.07047} \pgfmath@def{acos}{839}{32.96532}
+\pgfmath@def{acos}{840}{32.85988} \pgfmath@def{acos}{841}{32.75413}
+\pgfmath@def{acos}{842}{32.64807} \pgfmath@def{acos}{843}{32.54171}
+\pgfmath@def{acos}{844}{32.43504} \pgfmath@def{acos}{845}{32.32806}
+\pgfmath@def{acos}{846}{32.22076} \pgfmath@def{acos}{847}{32.11314}
+\pgfmath@def{acos}{848}{32.00520} \pgfmath@def{acos}{849}{31.89693}
+\pgfmath@def{acos}{850}{31.78833} \pgfmath@def{acos}{851}{31.67939}
+\pgfmath@def{acos}{852}{31.57012} \pgfmath@def{acos}{853}{31.46051}
+\pgfmath@def{acos}{854}{31.35056} \pgfmath@def{acos}{855}{31.24026}
+\pgfmath@def{acos}{856}{31.12961} \pgfmath@def{acos}{857}{31.01860}
+\pgfmath@def{acos}{858}{30.90724} \pgfmath@def{acos}{859}{30.79551}
+\pgfmath@def{acos}{860}{30.68341} \pgfmath@def{acos}{861}{30.57095}
+\pgfmath@def{acos}{862}{30.45811} \pgfmath@def{acos}{863}{30.34489}
+\pgfmath@def{acos}{864}{30.23128} \pgfmath@def{acos}{865}{30.11729}
+\pgfmath@def{acos}{866}{30.00291} \pgfmath@def{acos}{867}{29.88813}
+\pgfmath@def{acos}{868}{29.77294} \pgfmath@def{acos}{869}{29.65736}
+\pgfmath@def{acos}{870}{29.54136} \pgfmath@def{acos}{871}{29.42494}
+\pgfmath@def{acos}{872}{29.30810} \pgfmath@def{acos}{873}{29.19084}
+\pgfmath@def{acos}{874}{29.07315} \pgfmath@def{acos}{875}{28.95502}
+\pgfmath@def{acos}{876}{28.83645} \pgfmath@def{acos}{877}{28.71743}
+\pgfmath@def{acos}{878}{28.59796} \pgfmath@def{acos}{879}{28.47803}
+\pgfmath@def{acos}{880}{28.35763} \pgfmath@def{acos}{881}{28.23677}
+\pgfmath@def{acos}{882}{28.11542} \pgfmath@def{acos}{883}{27.99360}
+\pgfmath@def{acos}{884}{27.87128} \pgfmath@def{acos}{885}{27.74847}
+\pgfmath@def{acos}{886}{27.62516} \pgfmath@def{acos}{887}{27.50134}
+\pgfmath@def{acos}{888}{27.37700} \pgfmath@def{acos}{889}{27.25214}
+\pgfmath@def{acos}{890}{27.12675} \pgfmath@def{acos}{891}{27.00082}
+\pgfmath@def{acos}{892}{26.87434} \pgfmath@def{acos}{893}{26.74731}
+\pgfmath@def{acos}{894}{26.61973} \pgfmath@def{acos}{895}{26.49157}
+\pgfmath@def{acos}{896}{26.36283} \pgfmath@def{acos}{897}{26.23351}
+\pgfmath@def{acos}{898}{26.10359} \pgfmath@def{acos}{899}{25.97306}
+\pgfmath@def{acos}{900}{25.84193} \pgfmath@def{acos}{901}{25.71017}
+\pgfmath@def{acos}{902}{25.57778} \pgfmath@def{acos}{903}{25.44475}
+\pgfmath@def{acos}{904}{25.31106} \pgfmath@def{acos}{905}{25.17671}
+\pgfmath@def{acos}{906}{25.04169} \pgfmath@def{acos}{907}{24.90598}
+\pgfmath@def{acos}{908}{24.76958} \pgfmath@def{acos}{909}{24.63247}
+\pgfmath@def{acos}{910}{24.49464} \pgfmath@def{acos}{911}{24.35608}
+\pgfmath@def{acos}{912}{24.21678} \pgfmath@def{acos}{913}{24.07672}
+\pgfmath@def{acos}{914}{23.93588} \pgfmath@def{acos}{915}{23.79427}
+\pgfmath@def{acos}{916}{23.65185} \pgfmath@def{acos}{917}{23.50863}
+\pgfmath@def{acos}{918}{23.36457} \pgfmath@def{acos}{919}{23.21967}
+\pgfmath@def{acos}{920}{23.07391} \pgfmath@def{acos}{921}{22.92728}
+\pgfmath@def{acos}{922}{22.77975} \pgfmath@def{acos}{923}{22.63132}
+\pgfmath@def{acos}{924}{22.48195} \pgfmath@def{acos}{925}{22.33164}
+\pgfmath@def{acos}{926}{22.18036} \pgfmath@def{acos}{927}{22.02810}
+\pgfmath@def{acos}{928}{21.87483} \pgfmath@def{acos}{929}{21.72053}
+\pgfmath@def{acos}{930}{21.56518} \pgfmath@def{acos}{931}{21.40876}
+\pgfmath@def{acos}{932}{21.25124} \pgfmath@def{acos}{933}{21.09260}
+\pgfmath@def{acos}{934}{20.93281} \pgfmath@def{acos}{935}{20.77185}
+\pgfmath@def{acos}{936}{20.60969} \pgfmath@def{acos}{937}{20.44630}
+\pgfmath@def{acos}{938}{20.28165} \pgfmath@def{acos}{939}{20.11570}
+\pgfmath@def{acos}{940}{19.94844} \pgfmath@def{acos}{941}{19.77982}
+\pgfmath@def{acos}{942}{19.60981} \pgfmath@def{acos}{943}{19.43837}
+\pgfmath@def{acos}{944}{19.26546} \pgfmath@def{acos}{945}{19.09105}
+\pgfmath@def{acos}{946}{18.91509} \pgfmath@def{acos}{947}{18.73754}
+\pgfmath@def{acos}{948}{18.55835} \pgfmath@def{acos}{949}{18.37748}
+\pgfmath@def{acos}{950}{18.19487} \pgfmath@def{acos}{951}{18.01047}
+\pgfmath@def{acos}{952}{17.82423} \pgfmath@def{acos}{953}{17.63609}
+\pgfmath@def{acos}{954}{17.44598} \pgfmath@def{acos}{955}{17.25385}
+\pgfmath@def{acos}{956}{17.05962} \pgfmath@def{acos}{957}{16.86322}
+\pgfmath@def{acos}{958}{16.66457} \pgfmath@def{acos}{959}{16.46359}
+\pgfmath@def{acos}{960}{16.26020} \pgfmath@def{acos}{961}{16.05430}
+\pgfmath@def{acos}{962}{15.84580} \pgfmath@def{acos}{963}{15.63459}
+\pgfmath@def{acos}{964}{15.42057} \pgfmath@def{acos}{965}{15.20360}
+\pgfmath@def{acos}{966}{14.98357} \pgfmath@def{acos}{967}{14.76033}
+\pgfmath@def{acos}{968}{14.53374} \pgfmath@def{acos}{969}{14.30364}
+\pgfmath@def{acos}{970}{14.06986} \pgfmath@def{acos}{971}{13.83221}
+\pgfmath@def{acos}{972}{13.59049} \pgfmath@def{acos}{973}{13.34447}
+\pgfmath@def{acos}{974}{13.09392} \pgfmath@def{acos}{975}{12.83856}
+\pgfmath@def{acos}{976}{12.57811} \pgfmath@def{acos}{977}{12.31225}
+\pgfmath@def{acos}{978}{12.04060} \pgfmath@def{acos}{979}{11.76278}
+\pgfmath@def{acos}{980}{11.47834} \pgfmath@def{acos}{981}{11.18676}
+\pgfmath@def{acos}{982}{10.88748} \pgfmath@def{acos}{983}{10.57984}
+\pgfmath@def{acos}{984}{10.26309} \pgfmath@def{acos}{985}{9.93636}
+\pgfmath@def{acos}{986}{9.59863} \pgfmath@def{acos}{987}{9.24870}
+\pgfmath@def{acos}{988}{8.88512} \pgfmath@def{acos}{989}{8.50614}
+\pgfmath@def{acos}{990}{8.10961} \pgfmath@def{acos}{991}{7.69281}
+\pgfmath@def{acos}{992}{7.25224} \pgfmath@def{acos}{993}{6.78328}
+\pgfmath@def{acos}{994}{6.27958} \pgfmath@def{acos}{995}{5.73196}
+\pgfmath@def{acos}{996}{5.12640} \pgfmath@def{acos}{997}{4.43922}
+\pgfmath@def{acos}{998}{3.62430} \pgfmath@def{acos}{999}{2.56255}
+\pgfmath@def{acos}{1000}{0.00000} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
new file mode 100644
index 00000000000..07a573c54ba
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
@@ -0,0 +1,198 @@
+% This file defines utilities common to the \pgfmath files.
+%
+% (c) 2007 Mark Wibrow
+%
+% but subject to the LaTeX Project Public License
+% (http://www.latex-project.org/lppl.txt)
+%
+% and the GNU Public License
+% (http://www.gnu.org/licenses/gpl.txt)
+%
+% Version 0.0 08/03/2007
+
+% Alias some pgf stuff, just in case it needs replacing later.
+%
+\let\pgfmath@x\pgf@x
+\let\pgfmath@xa\pgf@xa
+\let\pgfmath@xb\pgf@xb
+\let\pgfmath@xc\pgf@xc
+
+\let\pgfmath@y\pgf@y
+\let\pgfmath@ya\pgf@ya
+\let\pgfmath@yb\pgf@yb
+\let\pgfmath@yc\pgf@yc
+
+\let\c@pgfmath@counta\c@pgf@counta
+\let\c@pgfmath@countb\c@pgf@countb
+\let\c@pgfmath@countc\c@pgf@countc
+
+\let\pgfmath@ifnextchar\pgfutil@ifnextchar
+
+\let\pgfmath@tonumber\pgf@sys@tonumber
+
+\let\pgfmath@ifundefined\pgfutil@ifundefined
+
+\newif\ifpgfmath@in@
+\def\pgfmath@in@#1#2{%
+ \def\pgfmath@in@@##1#1##2##3\pgfmath@in@@{%
+ \ifx\pgfmath@in@##2\pgfmath@in@false\else\pgfmath@in@true\fi}%
+ \pgfmath@in@@#2#1\pgfmath@in@\pgfmath@in@@}
+
+% Need to redefine to something more appropriate...?
+%
+\def\pgfmath@error#1#2{\PackageError{PGF Math}{#1}{#2}}
+\def\pgfmath@warning#1#2{\PackageWarning{PGF Math}{#1}{#2}}
+
+% \pgfmath@pt
+%
+% Needed to test for 'pt' resulting from
+% expansion using \the.
+%
+{\catcode`\p=12\catcode`\t=12\gdef\PgfmaTh@PT{pt}}
+\edef\pgfmath@pt{\PgfmaTh@PT}%
+
+% \pgfmath@ifin@
+%
+% Interface for \pgfutil@in@
+%
+\def\pgfmath@ifin@#1#2{%
+ \pgfutil@in@{#1}{#2}%
+ \ifpgfutil@in@%
+ \expandafter\pgfmath@firstoftwo%
+ \else%
+ \expandafter\pgfmath@secondoftwo%
+ \fi%
+}
+
+% \pgfmath@empty
+%
+% A handy macro.
+%
+\def\pgfmath@empty{}
+
+
+% \ifpgfmath@empty
+%
+% Has #1 been let to \pgf@empty?
+%
+\def\ifpgfmath@empty#1{%
+ \ifx#1\pgfmath@empty\relax
+ \expandafter\pgfmath@firstoftwo%
+ \else%
+ \expandafter\pgfmath@secondoftwo%
+ \fi%
+}
+\def\pgfmath@firstoftwo#1#2{#1}
+\def\pgfmath@secondoftwo#1#2{#2}
+
+% \ifpgfmath@ifletto
+%
+% Has #1 been let to #2?
+%
+\def\pgfmath@ifletto#1#2{%
+ \ifx#1#2\relax%
+ \expandafter\pgfmath@firstoftwo%
+ \else%
+ \expandafter\pgfmath@secondoftwo%
+ \fi%
+}
+
+% \ifpgfmath@iflettoeither
+%
+% Has #1 been let to #2 or #3?
+%
+\def\pgfmath@iflettoeither#1#2#3{%
+ \ifx#1#2\relax%
+ \let\pgfmath@equaltoeithernext\pgfmath@firstoftwo%
+ \else%
+ \ifx#1#3\relax%
+ \let\pgfmath@equaltoeithernext\pgfmath@firstoftwo%
+ \else%
+ \let\pgfmath@equaltoeithernext\pgfmath@secondoftwo%
+ \fi%
+ \fi%
+ \pgfmath@equaltoeithernext%
+}
+
+% \pgfmath@gobbletilpgfmath@
+%
+% Gobble stream until \pgfmath@ {which is undefined}.
+%
+\def\pgfmath@gobbletilpgfmath@#1\pgfmath@{}
+\def\pgfmath@gobbleone#1{}%
+
+
+% \pgfmathloop
+%
+% A version of the standard TeX and LaTeX
+% \loop, with an additional macro \pgfmathcounter
+% (which is *not* a TeX counter) which keeps
+% track of the iterations.
+%
+\newif\ifpgfmathcontinueloop
+\def\pgfmathloop#1\repeatpgfmathloop{%
+ \def\pgfmathcounter{1}%
+ \def\pgfmath@iterate{%
+ #1\relax%
+ {% Do this inside a group, just in case...
+ \c@pgfmath@counta=\pgfmathcounter%
+ \advance\c@pgfmath@counta by1\relax%
+ \xdef\pgfmathloop@temp{\the\c@pgfmath@counta}%
+ }%
+ \edef\pgfmathcounter{\pgfmathloop@temp}%
+ \expandafter\pgfmath@iterate\fi}%
+ \pgfmath@iterate\let\pgfmath@iterate=\relax}
+\let\repeatpgfmathloop=\fi
+
+
+% \pgfmath@returnone
+%
+% \edef \pfgmathresult to the value of #1 after the end
+% of a group.
+%
+% #1 - a dimension/count/skip register or a macro
+% representing a number or dimension.
+%
+\def\pgfmath@returnone#1{%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \pgfmath@x#1pt\relax\pgfmath@%
+ \xdef\pgfmath@resulttemp{\pgf@sys@tonumber{\pgfmath@x}}%
+ \gdef\pgfmath@returnone@{%
+ \edef\pgfmathresult{\pgfmath@resulttemp}%
+ }%
+ \aftergroup\pgfmath@returnone@}
+
+
+% \pgfmath@returntwo
+%
+% \edef \pfgmathresultx to the value of #1, and
+% \pgfmathresulty to the value of #2, after the end
+% of a group.
+%
+% #1 - a dimension/count/skip register or a macro
+% representing a number or dimension.
+%
+% #2 - a dimension/count/skip register or a macro
+% representing a number or dimension.
+%
+\def\pgfmath@returntwo#1#2{%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \pgfmath@x#1pt\relax\pgfmath@%
+ \xdef\pgfmath@resulttempx{\pgf@sys@tonumber{\pgfmath@x}}%
+ \afterassignment\pgfmath@gobbletilpgfmath@%
+ \pgfmath@x#2pt\relax\pgfmath@%
+ \xdef\pgfmath@resulttempx{\pgf@sys@tonumber{\pgfmath@x}}%
+ \gdef\pgfmath@returntwo@{%
+ \edef\pgfmathresultx{\pgfmath@resulttempx}%
+ \edef\pgfmathresulty{\pgfmath@resulttempy}%
+ }%
+ \aftergroup\pgfmath@returntwo@}
+
+% \pgfmath@smuggleone
+%
+% Summgle a macro outside a group.
+%
+\def\pgfmath@smuggleone#1{%
+ \xdef\pgfmath@smuggleditem{#1}%
+ \gdef\pgfmath@@smuggleone{\edef#1{\pgfmath@smuggleditem}}%
+ \aftergroup\pgfmath@@smuggleone} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
index 0bed39c0541..b89169e5a1e 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
@@ -7,11 +7,20 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgf.cfg,v 1.2 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgf.cfg,v 1.4 2007/03/20 09:34:00 tantau Exp $
% Default driver:
\ifx\pgfsysdriver\@undefined
\def\pgfsysdriver{pgfsys-\Gin@driver}
+
+ % Test for XeTeX and use dvipdfm in this case:
+ \ifx\XeTeXversion\@undefined
+ \else
+ \ifx\XeTeXversion\relax
+ \else
+ \def\pgfsysdriver{pgfsys-dvipdfm.def}
+ \fi
+ \fi
\fi
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
index 0247df3d9ea..bb9dde9ea85 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-common-postscript.def,v 1.15 2006/10/16 22:32:59 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-common-postscript.def,v 1.16 2007/06/07 07:41:11 tantau Exp $
% Driver commands for postscript
@@ -181,7 +181,7 @@
\def\pgfsys@horishading#1#2#3{%
{%
\pgf@parsefunc{#3}%
- \setlength\pgf@x{#2}%
+ \pgfmathsetlength\pgf@x{#2}%
\pgf@xa=\pgf@x%
\pgf@sys@bp@correct{\pgf@x}%
\pgf@y=\pgf@max%
@@ -200,7 +200,7 @@
\def\pgfsys@vertshading#1#2#3{%
{%
\pgf@parsefunc{#3}%
- \setlength\pgf@x{#2}%
+ \pgfmathsetlength\pgf@x{#2}%
\pgf@xa=\pgf@x%
\pgf@sys@bp@correct{\pgf@x}%
\pgf@y=\pgf@max%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
index 5dffff8b17c..f1446ce894b 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-common-svg.def,v 1.18 2006/10/16 22:32:59 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-common-svg.def,v 1.19 2007/06/12 21:23:32 tantau Exp $
% Driver commands for svg
@@ -30,6 +30,9 @@
}
\newcount\pgf@sys@svg@objectcount
\let\Hnewline=\pgfutil@empty
+\catcode`\%=12
+\def\pgf@sys@svg@percentchar{%}
+\catcode`\%=14
% Path construction:
\def\pgfsys@lineto#1#2{\pgf@sys@addtosvgpath{L }\pgf@sys@svgnum{#1}\pgf@sys@svgnum{#2}}
@@ -145,7 +148,7 @@
\pgf@xb=100\pgf@xb%
\pgf@xc=#3pt%
\pgf@xc=100\pgf@xc%
- \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\%,\pgf@sys@tonumber\pgf@xb\%,\pgf@sys@tonumber\pgf@xc\%)}%
+ \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xb\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xc\pgf@sys@svg@percentchar)}%
}%
}
\def\pgf@sys@svg@color@cmy#1,#2,#3\relax{%
@@ -159,7 +162,7 @@
\pgf@xc=1pt%
\advance\pgf@xc by-#3pt%
\pgf@xc=100\pgf@xc%
- \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\%,\pgf@sys@tonumber\pgf@xb\%,\pgf@sys@tonumber\pgf@xc\%)}%
+ \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xb\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xc\pgf@sys@svg@percentchar)}%
}%
}
\def\pgf@sys@svg@color@cmyk#1,#2,#3,#4\relax{%
@@ -182,14 +185,14 @@
\advance\pgf@xc by#4pt%
\advance\pgf@xc by-1pt%
\pgf@xc=-100\pgf@xc%
- \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\%,\pgf@sys@tonumber\pgf@xb\%,\pgf@sys@tonumber\pgf@xc\%)}%
+ \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xb\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xc\pgf@sys@svg@percentchar)}%
}%
}
\def\pgf@sys@svg@color@gray#1\relax{%
{%
\pgf@xa=#1pt%
\pgf@xa=100\pgf@xa%
- \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\%,\pgf@sys@tonumber\pgf@xa\%,\pgf@sys@tonumber\pgf@xa\%)}%
+ \xdef\pgf@sys@svg@prepared{rgb(\pgf@sys@tonumber\pgf@xa\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xa\pgf@sys@svg@percentchar,\pgf@sys@tonumber\pgf@xa\pgf@sys@svg@percentchar)}%
}%
}
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
index 164efe6a01e..05f647fc796 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-dvi.def,v 1.3 2006/10/11 15:22:26 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-dvi.def,v 1.5 2007/06/07 07:41:11 tantau Exp $
% Driver commands for pure, ultra-portable dvi, in the tradition of
% old-style LaTeX pictures.
@@ -82,80 +82,80 @@
\pgf@xc=#7%
\pgf@yc=#8%
% Compute number of steps:
- \@tempdima=\pgf@x%
- \advance\@tempdima by-\pgf@xa%
- \ifdim\@tempdima<0pt%
- \@tempdimb=-\@tempdima%
+ \pgfutil@tempdima=\pgf@x%
+ \advance\pgfutil@tempdima by-\pgf@xa%
+ \ifdim\pgfutil@tempdima<0pt%
+ \pgfutil@tempdimb=-\pgfutil@tempdima%
\else%
- \@tempdimb=\@tempdima%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
\fi%
- \@tempdima=\pgf@y%
- \advance\@tempdima by-\pgf@ya%
- \ifdim\@tempdima<0pt%
- \@tempdima=-\@tempdima%
+ \pgfutil@tempdima=\pgf@y%
+ \advance\pgfutil@tempdima by-\pgf@ya%
+ \ifdim\pgfutil@tempdima<0pt%
+ \pgfutil@tempdima=-\pgfutil@tempdima%
\fi%
- \ifdim\@tempdima>\@tempdimb%
- \@tempdimb=\@tempdima%
+ \ifdim\pgfutil@tempdima>\pgfutil@tempdimb%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
\fi%
- \@tempdima=\pgf@xb%
- \advance\@tempdima by-\pgf@xc%
- \ifdim\@tempdima<0pt%
- \@tempdima=-\@tempdima%
+ \pgfutil@tempdima=\pgf@xb%
+ \advance\pgfutil@tempdima by-\pgf@xc%
+ \ifdim\pgfutil@tempdima<0pt%
+ \pgfutil@tempdima=-\pgfutil@tempdima%
\fi%
- \ifdim\@tempdima>\@tempdimb%
- \@tempdimb=\@tempdima%
+ \ifdim\pgfutil@tempdima>\pgfutil@tempdimb%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
\fi%
- \@tempdima=\pgf@yb%
- \advance\@tempdima by-\pgf@yc%
- \ifdim\@tempdima<0pt%
- \@tempdima=-\@tempdima%
+ \pgfutil@tempdima=\pgf@yb%
+ \advance\pgfutil@tempdima by-\pgf@yc%
+ \ifdim\pgfutil@tempdima<0pt%
+ \pgfutil@tempdima=-\pgfutil@tempdima%
\fi%
- \ifdim\@tempdima>\@tempdimb%
- \@tempdimb=\@tempdima%
+ \ifdim\pgfutil@tempdima>\pgfutil@tempdimb%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
\fi%
- \@tempdima=\pgf@x%
- \advance\@tempdima by-\pgf@xc%
- \ifdim\@tempdima<0pt%
- \@tempdima=-\@tempdima%
+ \pgfutil@tempdima=\pgf@x%
+ \advance\pgfutil@tempdima by-\pgf@xc%
+ \ifdim\pgfutil@tempdima<0pt%
+ \pgfutil@tempdima=-\pgfutil@tempdima%
\fi%
- \ifdim\@tempdima>\@tempdimb%
- \@tempdimb=\@tempdima%
+ \ifdim\pgfutil@tempdima>\pgfutil@tempdimb%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
\fi%
- \@tempdima=\pgf@y%
- \advance\@tempdima by-\pgf@yc%
- \ifdim\@tempdima<0pt%
- \@tempdima=-\@tempdima%
+ \pgfutil@tempdima=\pgf@y%
+ \advance\pgfutil@tempdima by-\pgf@yc%
+ \ifdim\pgfutil@tempdima<0pt%
+ \pgfutil@tempdima=-\pgfutil@tempdima%
\fi%
- \ifdim\@tempdima>\@tempdimb%
- \@tempdimb=\@tempdima%
+ \ifdim\pgfutil@tempdima>\pgfutil@tempdimb%
+ \pgfutil@tempdimb=\pgfutil@tempdima%
\fi%
- \@tempcnta=\@tempdimb%
+ \pgfutil@tempcnta=\pgfutil@tempdimb%
\ifdim\pgf@sys@dvi@linewidth>0.3pt%
- \@tempdimb=0.15pt%
+ \pgfutil@tempdimb=0.15pt%
\else%
\ifdim\pgf@sys@dvi@linewidth<0.05pt%
- \@tempdimb=.025pt%
+ \pgfutil@tempdimb=.025pt%
\else%
- \@tempdimb=.5\pgf@sys@dvi@linewidth%
+ \pgfutil@tempdimb=.5\pgf@sys@dvi@linewidth%
\fi%
\fi%
- \@tempcntb=\@tempdimb%
- \divide\@tempcnta by\@tempcntb\relax%
- \ifnum\@tempcnta>0\relax%
- \@tempcntb=0\relax%
+ \pgfutil@tempcntb=\pgfutil@tempdimb%
+ \divide\pgfutil@tempcnta by\pgfutil@tempcntb\relax%
+ \ifnum\pgfutil@tempcnta>0\relax%
+ \pgfutil@tempcntb=0\relax%
\loop%
{%
- \@tempdima=\the\@tempcntb pt%
- \@tempdimb=\the\@tempcnta pt%
- \advance\@tempdimb by-\@tempdima\relax%
- \divide\@tempdima by\@tempcnta\relax%
- \divide\@tempdimb by\@tempcnta\relax%
- \edef\pgf@time@t{\pgf@sys@tonumber{\@tempdima}}%
- \edef\pgf@time@s{\pgf@sys@tonumber{\@tempdimb}}%
+ \pgfutil@tempdima=\the\pgfutil@tempcntb pt%
+ \pgfutil@tempdimb=\the\pgfutil@tempcnta pt%
+ \advance\pgfutil@tempdimb by-\pgfutil@tempdima\relax%
+ \divide\pgfutil@tempdima by\pgfutil@tempcnta\relax%
+ \divide\pgfutil@tempdimb by\pgfutil@tempcnta\relax%
+ \edef\pgf@time@t{\pgf@sys@tonumber{\pgfutil@tempdima}}%
+ \edef\pgf@time@s{\pgf@sys@tonumber{\pgfutil@tempdimb}}%
\pgf@sys@dvi@bezier%
}%
- \advance\@tempcntb by1\relax
- \ifnum\@tempcntb<\@tempcnta%
+ \advance\pgfutil@tempcntb by1\relax
+ \ifnum\pgfutil@tempcntb<\pgfutil@tempcnta%
{\def\pgf@time@t{1}\def\pgf@time@s{0}\pgf@sys@dvi@bezier}%
\repeat%
\fi%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
index 4627ba048ce..b97cdc08515 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-dvipdfm.def,v 1.11 2006/10/26 17:19:42 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-dvipdfm.def,v 1.14 2007/06/07 07:41:11 tantau Exp $
% Driver commands for dvipdfm
@@ -23,10 +23,11 @@
\def\pgfsys@hbox#1{%
\special{pdf: content Q q -1 0 0 -1 0 0 cm q}%
- \special{pdf: content -1 0 0 -1 0 0 cm q}% translate to original coordinate system
- \special{pdf: content 0 0 m W n q}% clip next stuff
- {\hbox to 0pt{\pgf@selectfontorig.\hss}}% enforce font change
- \special{pdf: content Q}% end of font change enforcement.
+ \special{pdf: content -1 0 0 -1 0 0 cm 3 Tr q}% translate to
+ % original coordinate system and do
+ % not show anything
+ {\hbox to 0pt{\pgfutil@font@normalfont\pgfutil@selectfont.\hss}}% enforce font change
+ \special{pdf: content Q 0 Tr q}% end of font change enforcement.
\wd#1=0pt%
\ht#1=0pt%
\dp#1=0pt%
@@ -34,9 +35,9 @@
\special{pdf: content Q n Q}%
}
\def\pgfsys@beginpicture{%
- \pgfsys@invoke{1 0 0 1 2000 2000 cm}%
- \hbox to 0pt{\selectfont.\hss}%
- \pgfsys@invoke{1 0 0 1 -2000 -2000 cm}%
+ \special{pdf: content Q 3 Tr q}% do not show anything
+ \hbox to 0pt{\pgfutil@font@normalfont\pgfutil@selectfont.\hss}% enforce font change
+ \special{pdf: content Q 0 Tr q}% end of font change enforcement.
\special{pdf: content q}}
\def\pgfsys@endpicture{%
\special{pdf: content n Q}%
@@ -106,8 +107,8 @@
\pgf@sys@bp@correct{\pgf@y}%
\pgf@sys@bp@correct{\pgf@xa}%
\pgf@sys@bp@correct{\pgf@ya}%
- \@tempdima=2\pgf@max\relax%
- \edef\@temp{\noexpand\pgf@sys@atbeginpage{\special{pdf: beginxobj @pgfshade#1 width \the\@tempdima\space height \the\@tempdima}}}\@temp%
+ \pgfutil@tempdima=2\pgf@max\relax%
+ \edef\@temp{\noexpand\pgf@sys@atbeginpage{\special{pdf: beginxobj @pgfshade#1 width \the\pgfutil@tempdima\space height \the\pgfutil@tempdima}}}\@temp%
\edef\@temp{\noexpand\pgf@sys@atbeginpage{\special{pdf: put @resources <<
/Shading << /Sh << /ShadingType 3
/ColorSpace /DeviceRGB
@@ -118,14 +119,14 @@
\pgf@sys@atbeginpage{\special{pdf: content /Sh sh}%
\special{pdf: endxobj}}%
\expandafter\xdef\csname @pgfshading#1!\endcsname{%
- \hbox to\the\@tempdima{\vbox to\the\@tempdima{\vfil\special{pdf: usexobj @pgfshade#1}}\hfil}}%
+ \hbox to\the\pgfutil@tempdima{\vbox to\the\pgfutil@tempdima{\vfil\special{pdf: usexobj @pgfshade#1}}\hfil}}%
}%
}%
\def\pgf@sys@atbeginpage#1{\AtBeginDvi{#1}}
\AtBeginDocument{% hyperref hack
- \providecommand\HyPL@EveryPage{}
+ \ifx\HyPL@EveryPage\@undefined\def\HyPL@EveryPage{}\fi
\def\@begindvi{\unvbox\@begindvibox\HyPL@EveryPage}
}
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
index c66aca7b4d8..ba01eda368f 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-dvips.def,v 1.15 2006/10/26 17:19:43 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-dvips.def,v 1.17 2007/05/28 18:39:57 tantau Exp $
% Driver commands for dvips
@@ -75,7 +75,7 @@
/.setopacityalpha where {pop} {/.setopacityalpha{pop}def} ifelse % install .setopacityalpha
/.pgfsetfillopacityalpha{/pgffoa exch def
/pgffill{gsave pgffoa .setopacityalpha fill 1 .setopacityalpha newpath fill grestore}B
- /pgfeofill{gsave pgffoa .setopacityalpha eofill1 .setopacityalpha newpath eofill grestore}B}B
+ /pgfeofill{gsave pgffoa .setopacityalpha eofill 1 .setopacityalpha newpath eofill grestore}B}B
/.pgfsetstrokeopacityalpha{/pgfsoa exch def
/pgfstr{gsave pgfsoa .setopacityalpha stroke grestore}B}B
/pgffoa 1 def
@@ -86,13 +86,13 @@
\AtBeginDocument{ % needed for plain TeX
\pgfsys@atbegindocument
- \let\pgfsys@atbegindocument=\relax
+ \let\pgfsys@atbegindocument=\pgfutil@empty
}
%
-% Position tracking (needs pdftex >= 1.40.0-alpha-20051205 in dvi mode)
+% Position tracking (needs pdftex >= 1.40 in dvi mode)
%
\ifx\pdftexversion\@undefined
\else
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
index be4d4d2fd3b..1f14326ad1f 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-pdftex.def,v 1.14 2006/10/23 08:38:18 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-pdftex.def,v 1.15 2007/06/07 07:41:11 tantau Exp $
% Driver commands for pdf
@@ -85,9 +85,9 @@
\PackageWarning{pgf}{Page selection not supported. Ignoring
page selection}%
\fi%
- \setbox\@tempboxa=\hbox{%
+ \setbox\pgfutil@tempboxa=\hbox{%
\pdfimage \pgf@imageheight \pgf@imagewidth {\pgf@filename}}%
- \pdfform\@tempboxa%
+ \pdfform\pgfutil@tempboxa%
\edef\pgf@image{\noexpand\pdfrefform\the\pdflastform}%
\else% new version
{\pdfximage \pgf@imageheight \pgf@imagewidth attr
@@ -108,7 +108,7 @@
\def\pgfsys@horishading#1#2#3{%
{%
\pgf@parsefunc{#3}%
- \setbox\@tempboxa=\hbox to\pgf@max{\vbox to#2{\vfil\pdfliteral{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox to\pgf@max{\vbox to#2{\vfil\pdfliteral{/Sh sh}}\hfil}%
\pgf@process{\pgfpoint{\pgf@max}{#2}}%
\pdfxform resources {%
/Shading << /Sh << /ShadingType 2
@@ -116,14 +116,14 @@
/Domain [\pgf@pdfparseddomain]
/Coords [\pgf@doma\space0 \pgf@domb\space0]
/Function \pgf@pdfparsedfunction
- /Extend [false false] >> >>}\@tempboxa%
+ /Extend [false false] >> >>}\pgfutil@tempboxa%
\expandafter\xdef\csname @pgfshading#1!\endcsname{\leavevmode\noexpand\pdfrefxform\the\pdflastxform}%
}%
}
\def\pgfsys@vertshading#1#2#3{%
{%
\pgf@parsefunc{#3}%
- \setbox\@tempboxa=\hbox to#2{\vbox to\pgf@max{\vfil\pdfliteral{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox to#2{\vbox to\pgf@max{\vfil\pdfliteral{/Sh sh}}\hfil}%
\pgf@process{\pgfpoint{#2}{\pgf@max}}%
\pdfxform resources {%
/Shading << /Sh << /ShadingType 2
@@ -131,14 +131,14 @@
/Domain [\pgf@pdfparseddomain]
/Coords [0 \pgf@doma\space0 \pgf@domb]
/Function \pgf@pdfparsedfunction
- /Extend [false false] >> >>}\@tempboxa%
+ /Extend [false false] >> >>}\pgfutil@tempboxa%
\expandafter\xdef\csname @pgfshading#1!\endcsname{\leavevmode\noexpand\pdfrefxform\the\pdflastxform}%
}%
}
\def\pgfsys@radialshading#1#2#3{%
{%
\pgf@parsefunc{#3}%
- \setbox\@tempboxa=\hbox to2\pgf@max{\vbox to2\pgf@max{\vfil\pdfliteral{/Sh sh}}\hfil}%
+ \setbox\pgfutil@tempboxa=\hbox to2\pgf@max{\vbox to2\pgf@max{\vfil\pdfliteral{/Sh sh}}\hfil}%
\pgf@process{#2}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
@@ -155,7 +155,7 @@
/Domain [\pgf@pdfparseddomain]
/Coords [\pgf@sys@tonumber{\pgf@xa} \pgf@sys@tonumber{\pgf@ya} \pgf@doma\space \pgf@sys@tonumber{\pgf@x} \pgf@sys@tonumber{\pgf@y} \pgf@domb]
/Function \pgf@pdfparsedfunction
- /Extend [true false] >> >>}\@tempboxa%
+ /Extend [true false] >> >>}\pgfutil@tempboxa%
\expandafter\xdef\csname @pgfshading#1!\endcsname{\leavevmode\noexpand\pdfrefxform\the\pdflastxform}%
}%
}%
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
index c2be445e31f..f332a046031 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-tex4ht.def,v 1.14 2006/10/16 22:32:59 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys-tex4ht.def,v 1.15 2007/06/07 07:41:11 tantau Exp $
\RequirePackage{xcolor}
@@ -91,7 +91,7 @@
\pgfsys@invoke{) scale(1,-1) translate(0,}%
\pgf@sys@pt\pgf@ya\pgfsysprotocol@flushcurrentprotocol%
\pgfsys@invoke{)">\Hnewline }%
- \setlength\pgf@x{\pgf@shift@baseline}%
+ \pgfmathsetlength\pgf@x{\pgf@shift@baseline}%
\advance\pgf@x by-\pgf@picminy\relax%
\advance\pgf@picmaxy by-\pgf@picminy\relax% maxy is now the height
\advance\pgf@picmaxx by-\pgf@picminx\relax% maxx is now the width
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
index b3cfbd76b75..37d370990ba 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys.code.tex,v 1.19 2006/10/16 22:32:59 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsys.code.tex,v 1.24 2007/06/07 07:41:11 tantau Exp $
%
@@ -49,6 +49,12 @@
\newdimen\pgf@xc
\newdimen\pgf@yc
+% internal counters that are alwyas present when pgfsys is loaded
+\newcount\c@pgf@counta
+\newcount\c@pgf@countb
+\newcount\c@pgf@countc
+\newcount\c@pgf@countd
+
% The following \if decides, whether even-odd filling and clipping is
% to be used or normal the non-zero winding number rule. See the
@@ -668,6 +674,7 @@
\def\pgfsys@hbox#1{%
\pgfsys@beginscope%
+ \setbox#1=\hbox{\box#1}%
\wd#1=0pt%
\ht#1=0pt%
\dp#1=0pt%
@@ -696,7 +703,7 @@
% Called at the end of a pgfpicture.
\def\pgfsys@typesetpicturebox#1{%
- \setlength\pgf@x{\pgf@shift@baseline}%
+ \pgfmathsetlength\pgf@x{\pgf@shift@baseline}%
\advance\pgf@x by-\pgf@picminy\relax%
\advance\pgf@picmaxy by-\pgf@picminy\relax% maxy is now the height
\advance\pgf@picmaxx by-\pgf@picminx\relax% maxx is now the width
@@ -831,12 +838,6 @@
-\AtBeginDocument{
- \pgfsys@atbegindocument
- \let\pgfsys@atbegindocument=\relax
-}
-
-
% Discern the driver:
@@ -846,4 +847,20 @@
\pgfutil@InputIfFileExists{\pgfsysdriver}{}{%
\PackageError{pgfsys}{Driver file ``\pgfsysdriver'' not found.}{}}
+
+
+% This will insert always-present-specials at the beginning of the
+% code.
+\AtBeginDocument{
+ \pgfsys@atbegindocument
+ \let\pgfsys@atbegindocument=\pgfutil@empty
+}
+
+
+
+% Read aux file in plain and context mode:
+
+\pgfutil@aux@read@hook
+
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
index 2a5226b3668..943da39770c 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
@@ -7,7 +7,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsyssoftpath.code.tex,v 1.4 2006/10/16 22:32:59 tantau Exp $
+\ProvidesFileRCS $Header: /cvsroot/pgf/pgf/generic/pgf/systemlayer/pgfsyssoftpath.code.tex,v 1.5 2007/02/19 13:18:57 tantau Exp $
% This package provides the pgf system path abstraction layer. This
@@ -42,13 +42,18 @@
\def\pgfsyssoftpath@lastmoveto{{0pt}{0pt}}
+\newif\ifpgfsyssoftpathmovetorelevant
+\pgfsyssoftpathmovetorelevanttrue
+
% Add a moveto element to the current path
\def\pgfsyssoftpath@moveto#1#2{%
\edef\pgfsyssoftpath@temp{{%
\noexpand\pgfsyssoftpath@movetotoken{#1}{#2}%
}}%
\expandafter\pgfutil@g@addto@macro\expandafter\pgfsyssoftpath@currentpath\pgfsyssoftpath@temp%
- \xdef\pgfsyssoftpath@lastmoveto{{#1}{#2}}%
+ \ifpgfsyssoftpathmovetorelevant%
+ \xdef\pgfsyssoftpath@lastmoveto{{#1}{#2}}%
+ \fi%
}
% Add a lineto element to the current path
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfcalendar.code.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfcalendar.code.tex
new file mode 100644
index 00000000000..1542ac71204
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfcalendar.code.tex
@@ -0,0 +1,723 @@
+% 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.
+
+\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/utilities/pgfcalendar.code.tex,v 1.9 2007/05/31 10:31:52 tantau Exp $
+
+
+% Translation stuff
+
+\ifx\translate\@undefined
+ \def\translate#1{#1}
+\fi
+
+% Load month dictionary, if possible
+
+\ifx\usedictionary\@undefined
+\else
+ \usedictionary{translator-months-dictionary}
+\fi
+
+
+
+
+% Typeset a calendar
+%
+% #1 = prefix for the calendar nodes
+% #2 = begin date in ISO format
+% #3 = end date in ISO format
+% #4 = date rendering code
+%
+% Description:
+%
+% First note that this macro need not be called inside a pgfpicture
+% (even though it often will be). You can use it to typeset
+% calendars also using packages other than pgf. You do not even need
+% to load pgf to use this file.
+%
+% A calendar is typeset as follows: You specify a range of dates (by
+% providing a begin and an end date). Then, for each date the code #4
+% is executed. When the code is called, lots of information about the
+% current date (like its day of week) is available. The job of
+% #4 is to render the date. Typically, this is done by placing nodes
+% somewhere, but the function could do other things as well.
+% It is also the job of #4 to position the calendar correctly.
+%
+% The different calls of #4 are not surrounded by TeX groups (though
+% you can do so yourself, of course). This means that settings can
+% accumulate between different calls, which is often desirable and
+% useful.
+%
+% Inside #4 code, different macros can be access:
+%
+% \pgfcalendarprefix
+% The parameter #1. This prefix is recomended for nodes inside the
+% calendar, but you have to use it yourself explicitly.
+%
+% \pgfcalendarbeginiso
+% Start date of range being typeset in ISO format (like 2006-01-10)
+%
+% \pgfcalendarbeginjulian
+% Julian day number of start date begin typeset
+%
+% \pgfcalendarendiso
+% End date of range begin typeset
+%
+% \pgfcalendarendjulian
+% Same as Julian day number
+%
+% \pgfcalendarcurrentjulian (a TeX-count)
+% Julian day number of day to be rendered/considered
+%
+% \pgfcalendarcurrentweekday
+% Weekday (0 = Monday) of day to be checked
+%
+% \pgfcalendarcurrentyear
+% Year of day to be checked
+%
+% \pgfcalendarcurrentmonth
+% Month of day to be chjeck
+%
+% \pgfcalendarcurrentday
+% Day of monath of day to be checked
+%
+%
+% Inside the \pgfcalendar macro the macro \ifdate is available, which
+% has the same effect as \pgfcalendarifdate{\pgfcalendarcurrentjulian}
+% (only faster). This means that you
+% can write, say, \ifdate{Monday}{current date is a Monday}{Not a Monday}.
+%
+% Example:
+%
+% \begin{tikzpicture}
+% \pgfcalendar{cal}{2007-01-20}{2007-02-10}
+% {\node[anchor=base] {\pgfcalendaronday}; \pgftransformyshift{-1.5em}}
+% \end{tikzpicture}
+%
+% \pgfcalendar{cal}{2007-01-20}{2007-02-10}{ \pgfcalendaronday\ }
+
+\long\def\pgfcalendar#1#2#3#4{%
+ \begingroup%
+ % Setup local \ifdate
+ \let\ifdate=\pgfcalendar@local@ifdate%
+ % Let's start with computing start and end dates...
+ \def\pgfcalendarprefix{#1}%
+ \pgfcalendardatetojulian{#2}{\pgfcalendarcurrentjulian}%
+ \edef\pgfcalendarbeginjulian{\the\pgfcalendarcurrentjulian}%
+ \edef\pgfcalendarbeginiso{#2}%
+ \pgfcalendardatetojulian{#3}{\pgfutil@tempcnta}%
+ \edef\pgfcalendarendjulian{\the\pgfutil@tempcnta}%
+ \advance\pgfutil@tempcnta by1\relax%
+ \edef\pgfcalendarendjulianplus{\the\pgfutil@tempcnta}%
+ \edef\pgfcalendarendiso{#3}%
+ %
+ % Start main loop
+ %
+ \loop%
+ \ifnum\pgfcalendarcurrentjulian<\pgfcalendarendjulianplus\relax%
+ % Setup information about current date
+ \pgfcalendarjuliantodate{\pgfcalendarcurrentjulian}%
+ {\pgfcalendarcurrentyear}{\pgfcalendarcurrentmonth}{\pgfcalendarcurrentday}%
+ \pgfcalendarjuliantoweekday{\pgfcalendarcurrentjulian}{\pgfutil@tempcntb}%
+ \edef\pgfcalendarcurrentweekday{\the\pgfutil@tempcntb}%
+ % Render:
+ #4%
+ % Advance day:
+ \advance\pgfcalendarcurrentjulian by1\relax%
+ \repeat%
+ \endgroup%
+}
+
+\newcount\pgfcalendarcurrentjulian
+
+\def\pgfcalendar@local@ifdate{%
+ \let\pgfcalendarifdatejulian=\pgfcalendarcurrentjulian%
+ \let\pgfcalendarifdateyear=\pgfcalendarcurrentyear%
+ \let\pgfcalendarifdatemonth=\pgfcalendarcurrentmonth%
+ \let\pgfcalendarifdateday=\pgfcalendarcurrentday%
+ \let\pgfcalendarifdateweekday=\pgfcalendarcurrentweekday%
+ \pgfcalendar@launch@ifdate%
+}
+
+
+
+% Execute on specific kinds of dates
+%
+% #1 = ISO-format date
+% #2 = date specification
+% #3 = code
+%
+% Description:
+%
+% The given code #3 is execute on every day that matches the date
+% specification #2. This specification is a comma-separated list of
+% key-value pairs of the kind pgfcalendar, defined in the usual way
+% using \define@key. The code for a key-value should check whether the
+% given day matches its specification. If so, it should set
+% \pgfcalendarmatches to true.
+%
+% When the key-value code is executed, the following macros will have
+% been setup:
+%
+% \pgfcalendarifdatejulian
+% Julian day number of day to be checked
+%
+% \pgfcalendarifdateweekday
+% Weekday (0 = Monday) of day to be checked
+%
+% \pgfcalendarifdateyear
+% Year of day to be checked
+%
+% \pgfcalendarifdatemonth
+% Month of day to be chjeck
+%
+% \pgfcalendarifdateday
+% Day of month of day to be checked
+%
+% The setting of these macros will persist after the call, so a
+% sideeffect of callling this macro is to setup these macros.
+%
+% By setting \ifpgfcalendar@do@not@recompute to false, the computation
+% of the year, month etc. is suppressed.
+%
+% Examples:
+%
+% \pgfcalendarifdate{2007-01-10}{all}{}
+% % Simply setup the macros
+%
+% \pgfcalendarifdate{2007-01-10}{mondays}{Is a monday}
+%
+% \pgfcalendarifdate{\mydate}{date=05-01}{\mydate is a Worker's Day}
+
+\def\pgfcalendarifdate#1#2#3#4{%
+ \pgfcalendardatetojulian{#1}{\pgfutil@tempcnta}%
+ \pgfcalendarjuliantodate{\pgfutil@tempcnta}
+ {\pgfcalendarifdateyear}{\pgfcalendarifdatemonth}{\pgfcalendarifdateday}%
+ \edef\pgfcalendarifdatejulian{\the\pgfutil@tempcnta}%
+ % Compute info about date
+ \pgfcalendarjuliantoweekday{\pgfutil@tempcnta}{\pgfutil@tempcntb}%
+ \edef\pgfcalendarifdateweekday{\the\pgfutil@tempcntb}%
+ %
+ \pgfcalendar@launch@ifdate{#2}{#3}{#4}%
+}
+
+
+\long\def\pgfcalendar@launch@ifdate#1#2#3{%
+ % When this macro is called, the pgfcalendarifdatexxxx macros must
+ % be setup correctly
+ %
+ % Set match to false
+ \pgfcalendarmatchesfalse%
+ \setkeys{pgfcalendar}{#1}% cleanup and change to \pgfutil@setkeys
+ \ifpgfcalendarmatches%
+ #2%
+ \else%
+ #3%
+ \fi%
+}
+
+\newif\ifpgfcalendarmatches
+
+
+% Keys for matching
+
+\define@key{pgfcalendar}{all}[]{\pgfcalendarmatchestrue}
+
+\define@key{pgfcalendar}{Monday}[]{\ifnum\pgfcalendarifdateweekday=0\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{Tuesday}[]{\ifnum\pgfcalendarifdateweekday=1\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{Wednesday}[]{\ifnum\pgfcalendarifdateweekday=2\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{Thursday}[]{\ifnum\pgfcalendarifdateweekday=3\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{Friday}[]{\ifnum\pgfcalendarifdateweekday=4\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{Saturday}[]{\ifnum\pgfcalendarifdateweekday=5\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{Sunday}[]{\ifnum\pgfcalendarifdateweekday=6\relax\pgfcalendarmatchestrue\fi}
+
+\define@key{pgfcalendar}{workday}[]{\ifnum\pgfcalendarifdateweekday<5\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{weekend}[]{\ifnum\pgfcalendarifdateweekday>4\relax\pgfcalendarmatchestrue\fi}
+
+\define@key{pgfcalendar}{equals}{%
+ \pgfcalendar@special@datetojulian{#1}%
+ \ifnum\pgfcalendarifdatejulian=\pgfutil@tempcnta\relax%
+ \pgfcalendarmatchestrue%
+ \fi%
+}
+
+\define@key{pgfcalendar}{day of month}{\ifnum#1=\pgfcalendarifdateday\relax\pgfcalendarmatchestrue\fi}
+\define@key{pgfcalendar}{end of month}[1]{%
+ % Tricky and expensive ... do only if necessary
+ \ifpgfcalendarmatches%
+ \else% sigh
+ {%
+ \pgfutil@tempcnta=\pgfcalendarifdatejulian\relax%
+ \advance\pgfutil@tempcnta by#1\relax%
+ \pgfcalendarjuliantodate{\pgfutil@tempcnta}{\pgf@dummy}{\pgf@dummy}{\pgf@cal@temp}%
+ \global\let\pgf@cal@temp=\pgf@cal@temp%
+ }%
+ \ifnum\pgf@cal@temp=1\relax\pgfcalendarmatchestrue\fi%
+ \fi%
+}
+
+\define@key{pgfcalendar}{at least}{%
+ \pgfcalendar@special@datetojulian{#1}%
+ \ifnum\pgfcalendarifdatejulian<\pgfutil@tempcnta\relax%
+ \else%
+ \pgfcalendarmatchestrue%
+ \fi%
+}
+\define@key{pgfcalendar}{at most}{%
+ \pgfcalendar@special@datetojulian{#1}%
+ \ifnum\pgfcalendarifdatejulian>\pgfutil@tempcnta\relax%
+ \else%
+ \pgfcalendarmatchestrue%
+ \fi%
+}
+\define@key{pgfcalendar}{between}{%
+ \pgfcalendar@between#1\relax%
+ \pgfcalendar@special@datetojulian{\pgfcalendar@start}%
+ \ifnum\pgfcalendarifdatejulian<\pgfutil@tempcnta\relax%
+ \else%
+ \pgfcalendar@special@datetojulian{\pgfcalendar@end}%
+ \ifnum\pgfcalendarifdatejulian>\pgfutil@tempcnta\relax%
+ \else%
+ \pgfcalendarmatchestrue%
+ \fi%
+ \fi%
+}
+
+\def\pgfcalendar@between#1and#2\relax{%
+ \def\pgfcalendar@start{#1}%
+ \def\pgfcalendar@end{#2}%
+}
+
+
+\def\pgfcalendar@special@datetojulian#1{%
+ \edef\pgf@temp{#1}%
+ \expandafter\pgfcalendar@special@split@test\pgf@temp-\relax{#1}%
+}
+
+\def\pgfcalendar@special@split@test#1-#2-#3\relax#4{%
+ \def\pgf@temp{#3}%
+ \ifx\pgf@temp\pgfutil@empty%
+ \def\pgf@temp{\pgfcalendarifdateyear-#1-#2}%
+ \else%
+ \def\pgf@temp{#4}%
+ \fi%
+ \pgfcalendardatetojulian{\pgf@temp}{\pgfutil@tempcnta}%
+}
+
+
+% Suggested name for nodes inside a calendar
+%
+% Description:
+%
+% It is suggested that (main) nodes (if present) in a calendar should
+% get this name.
+%
+% Example:
+%
+% \pgfcalendar{cal}{2007-01-20}{2007-02-10}{}
+% { \node[anchor=base] (\pgfcalendarsuggestedname) {\pgfcalendarifdateday};
+% \pgftransformyshift{-1.5em} }
+%
+% \draw (cal-2007-01-30) -- (cal-2007-02-08);
+
+\def\pgfcalendarsuggestedname{%
+ \ifx\pgfcalendarprefix\pgfutil@empty\else\pgfcalendarprefix-%
+ \pgfcalendarcurrentyear-\pgfcalendarcurrentmonth-\pgfcalendarcurrentday\fi%
+}
+
+
+
+%
+%
+% Date conversion functions
+%
+%
+
+
+
+% Convert a date to the Julian day number (number of days since
+% January 1st, -4712)
+%
+% #1 = date specification
+% #2 = counter that should be set to the number of days
+%
+% Description:
+%
+% The conversion is taken from the Wikipedia entry on Julian days.
+%
+% The date specification works as follows:
+%
+% - It starts with a year. Use \year for the current year (the year
+% the file is being typeset).
+% - Next comes a hyphen.
+% - Next comes a month (number). Use \month for the current month.
+% - Next comes a hyphen.
+% - Next comes either a day of month (number, use \day for current
+% day) or "last". The keyword "last" refers the last day of the
+% month. Thus, 2006-01-last is the same as 2006-01-31 and
+% 2000-02-last is the same as 2002-02-29.
+% - Next may come a plus sign, followed by a number (positive or
+% negative). This will adjust the date by the given number of
+% days. Thus, 2006-01-31+1 is the same as 2006-02-01 and
+% 2006-02-01+-2 is the same as 2006-01-30. And \year-\month-day+1 is
+% tomorrow. You may add a space before the +.
+%
+% Example:
+%
+% \pgfcalendardatetojulian{2006-01-10}{\mycount}
+
+\def\pgfcalendardatetojulian#1#2{\edef\pgf@temp{#1}\expandafter\pgfcalendar@datetojulian\pgf@temp+/{#2}}
+\def\pgfcalendar@datetojulian#1-#2-#3+#4/#5{%
+ {%
+ %
+ % Store year, month and days.
+ %
+ \count1=#1\relax%
+ \count2=#2\relax%
+ % If #3=="last", then calculate first day of next month
+ \edef\pgf@temp{#3}%
+ \ifx\pgf@temp\pgfcalendar@last@text%
+ \advance\count2 by1\relax%
+ \count3=1\relax%
+ \else%
+ \count3=#3\relax%
+ \fi%
+ %
+ % Store offset
+ %
+ \edef\pgf@@temp{#4}%
+ \ifx\pgf@@temp\pgfutil@empty%
+ \count8=0\relax%
+ \else%
+ \pgfcalendar@unpack#4%
+ \fi%
+ %
+ %
+ % 4) a = \lfloor (14-month) /12 \rfloor
+ %
+ \ifnum\count2<3\relax%
+ \count4=1\relax%
+ \else%
+ \count4=0\relax%
+ \fi%
+ %
+ % 5) y = year + 4800 - a
+ %
+ \count5=\count1\relax%
+ \advance\count5 by 4800\relax%
+ \advance\count5 by-\count4\relax%
+ %
+ % 6) m = month + 12a - 3
+ %
+ \count6=\count2\relax%
+ \count0=\count4\relax%
+ \multiply\count0 by12\relax
+ \advance\count6 by\count0\relax%
+ \advance\count6 by-3\relax%
+ %
+ % 7) jdn = day + \floor{(153 m+2)/5} + 365y + \floor{y/4} -
+ % \floor{y/100} + \florr{y/400} - 32045
+ %
+ \count7=\count3\relax%
+ % + \floor{(153 m+2)/5} :
+ \count0=\count6\relax%
+ \multiply\count0 by 153\relax%
+ \advance\count0 by 2\relax%
+ \divide\count0 by 5\relax%
+ \advance\count7 by \count0\relax%
+ % + 365y :
+ \count0=\count5%
+ \multiply\count0by365\relax%
+ \advance\count7 by\count0\relax%
+ % + \floor{y/4}
+ \count0=\count5\relax%
+ \divide\count0 by 4\relax%
+ \advance\count7 by\count0%
+ % - \floor{y/100}
+ \count0=\count5\relax%
+ \divide\count0 by 100\relax%
+ \advance\count7 by-\count0\relax%
+ % + \floor{y/400}
+ \count0=\count5\relax%
+ \divide\count0 by 400\relax%
+ \advance\count7 by\count0%
+ % - 32045
+ \advance\count7 by-32045\relax%
+ %
+ % Undo "last" advance
+ \ifx\pgf@temp\pgfcalendar@last@text%
+ \advance\count7by-1\relax%
+ \fi%
+ % Add offset
+ \advance\count7by\count8\relax%
+ \xdef\pgf@temp{\the\count7}%
+ }%
+ #5=\pgf@temp\relax%
+}
+\def\pgfcalendar@last@text{last}
+\def\pgfcalendar@unpack#1+{%
+ \count8=#1\relax%
+}
+
+% Convert Julian day number date.
+%
+% #1 = the number of Julian days
+% #2 = a macro in which the year should be stored.
+% #3 = a macro in which the month should be stored.
+% #4 = a macro in which the day should be stored.
+%
+% Formula used:
+%
+% 1) J = Julian day number
+% 2) j = J + 32044
+% 3) g = j div 146097
+% 4) dg = j mod 146097
+% 5) c = (dg div 36524 + 1) * 3 div 4
+% 6) dc = dg - c * 36524
+% 7) b = dc div 1461
+% 8) db = dc mod 1461
+% 9) a = (db div 365 + 1) * 3 div 4
+% 10)da = db - a * 365
+% 11)y = g * 400 + c * 100 + b * 4 + a
+% 12)m = (da * 5 + 308) div 153 - 2
+% 13)d = da - (m + 4) * 153 div 5 + 122
+% 14)Y = y - 4800 + (m + 2) div 12
+% 15)M = (m + 2) mod 12 + 1
+% 16)D = d + 1
+%
+% Example
+%
+% \pgfcalendarjuliantodate{\mynumber}{\myyear}{\mymonth}{\myday}
+
+\def\pgfcalendarjuliantodate#1#2#3#4{%
+ {%
+ % 1) J = Julian day number
+ \count1=#1\relax%
+ % 2) j = J + 32044
+ \count2=\count1\relax%
+ \advance\count2 by 32044\relax%
+ % 3) g = j div 146097
+ \count3=\count2\relax%
+ \divide\count3 by 146097\relax%
+ % 4) dg = j mod 146097
+ \count4=\count3\relax%
+ \multiply\count4 by-146097\relax%
+ \advance\count4 by\count2\relax%
+ % 5) c = (dg div 36524 + 1) * 3 div 4
+ \count5=\count4\relax%
+ \divide\count5 by36524\relax%
+ \advance\count5 by1\relax%
+ \multiply\count5 by3\relax%
+ \divide\count5 by4\relax%
+ % 6) dc = dg - c * 36524
+ \count6=\count4\relax%
+ \count0=\count5\relax%
+ \multiply\count0 by-36524\relax%
+ \advance\count6 by\count0\relax%
+ % 7) b = dc div 1461
+ \count7=\count6\relax%
+ \divide\count7 by1461\relax%
+ % 8) db = dc mod 1461
+ \count8=\count7\relax%
+ \multiply\count8 by-1461\relax%
+ \advance\count8 by\count6\relax%
+ % 9) a = (db div 365 + 1) * 3 div 4
+ \count9=\count8\relax%
+ \divide\count9 by 365\relax%
+ \advance\count9 by 1\relax%
+ \multiply\count9 by3\relax%
+ \divide\count9 by4\relax%
+ % 10)da = db - a * 365
+ \count10=\count8\relax%
+ \count0=\count9\relax%
+ \multiply\count0 by-365\relax%
+ \advance\count10 by\count0\relax%
+ % 11)y = g * 400 + c * 100 + b * 4 + a
+ \count11=\count3\relax%
+ \multiply\count11 by400\relax%
+ \count0=\count5\relax%
+ \multiply\count0 by100\relax%
+ \advance\count11 by\count0\relax%
+ \count0=\count7\relax%
+ \multiply\count0 by4\relax%
+ \advance\count11 by\count0\relax%
+ \advance\count11 by\count9\relax%
+ % 12)m = (da * 5 + 308) div 153 - 2
+ \count12=\count10\relax%
+ \multiply\count12 by5\relax%
+ \advance\count12 by 308\relax%
+ \divide\count12 by 153\relax%
+ \advance\count12 by -2\relax%
+ % 13)d = - (m + 4) * 153 div 5 + 122 + da
+ \count13=\count12\relax%
+ \advance\count13 by 4\relax%
+ \multiply\count13 by153\relax%
+ \divide\count13 by5\relax%
+ \count13=-\count13\relax%
+ \advance\count13 by 122\relax%
+ \advance\count13 by \count10\relax%
+ % 14)Y = (m + 2) div 12 + y - 4800
+ \count14=\count12\relax%
+ \advance\count14 by 2\relax%
+ \divide\count14 by12\relax%
+ \advance\count14 by\count11\relax%
+ \advance\count14 by-4800\relax%
+ % 15)M = (m + 2) mod 12 + 1
+ \count15=\count12\relax%
+ \advance\count15 by2\relax%
+ \count0=\count15\relax%
+ \divide\count0 by12\relax%
+ \multiply\count0 by12\relax%
+ \advance\count15 by-\count0\relax%
+ \advance\count15 by1\relax%
+ % 16)D = d + 1
+ \count16=\count13%
+ \advance\count16by 1\relax%
+ %
+ \xdef\pgf@temp@year{\the\count14}%
+ \xdef\pgf@temp@month{\ifnum\count15<10 0\fi\the\count15}%
+ \xdef\pgf@temp@day{\ifnum\count16<10 0\fi\the\count16}%
+ }%
+ \let#2=\pgf@temp@year%
+ \let#3=\pgf@temp@month%
+ \let#4=\pgf@temp@day%
+}
+
+
+
+% Returns the day of week as a number between 0 = Monday and 6 =
+% Sunday
+%
+% #1 = a Julian day number
+% #2 = a counter into which the weekday should be put.
+%
+% Example:
+%
+% \pgfcalendardatetojulian{2006-01-10}{\mycount}
+% \pgfcalendarjuliantoweekday{\mycount}{\myweekday}
+
+\def\pgfcalendarjuliantoweekday#1#2{%
+ {%
+ \pgfutil@tempcnta=#1\relax%
+ #2=\pgfutil@tempcnta%
+ \divide#2by7\relax%
+ \multiply#2by-7\relax%
+ \advance#2by\pgfutil@tempcnta\relax%
+ \xdef\pgf@temp{\the#2}%
+ }%
+ #2=\pgf@temp\relax%
+}
+
+
+
+% Converts a day of week into a weekday name (long or short)
+%
+% #1 = a number representing a weekday (0=Monday)
+%
+% Example:
+%
+% \pgfcalendardatetojulian{2006-01-10}{\mycount}
+% \pgfcalendarjuliantoweekday{\mycount}{\myweekday}
+% October 1st, 2006 was a \pgfcalendarweekdayname{\myweekday}
+
+\def\pgfcalendarweekdayname#1{%
+ \translate{\ifcase#1Monday\or Tuesday\or Wednesday\or Thursday\or Friday\or Saturday\or Sunday\fi}%
+}
+
+\def\pgfcalendarweekdayshortname#1{%
+ \translate{\ifcase#1Mon\or Tue\or Wed\or Thu\or Fri\or Sat\or Sun\fi}%
+}
+
+
+% Converts a month of year number into a month name (long or short)
+%
+% #1 = a number representing a month (1=January)
+%
+% Example:
+%
+% \pgfcalendarmonthname
+
+\def\pgfcalendarmonthname#1{%
+ \translate{\ifcase#1\or January\or February\or March\or April\or
+ May\or June\or July\or August\or September\or October\or
+ November\or December\fi}%
+}
+
+\def\pgfcalendarmonthshortname#1{%
+ \translate{\ifcase#1\or Jan\or Feb\or Mar\or Apr\or
+ May\or Jun\or Jul\or Aug\or Sep\or Oct\or
+ Nov\or Dec\fi}%
+}
+
+
+
+
+
+
+% Macro for easy typesetting of days, etc.
+%
+% #1 = kind selection
+% #2 = length and representation selection
+%
+% Description:
+%
+% Replaces the shorthand according to the following rules: The
+% first letter of the shorthand describes the kind of
+% shorthand. Possible kinds are:
+%
+% d = day of current date (in an invocation of \pgfcalendar)
+% m = month of current date
+% y = year of current date
+% w = week day of current date
+%
+% The second parameter determines how the kind is represented:
+%
+% - = shortest possible numerical way (allowed only for d, m, y)
+% = = same, but always of the same length (padded with blanks as
+% needed, allowed only for d, m, y)
+% 0 = numerical representation for d and m padded with leading zeros.
+% t = textual representation (allowed only for d, m, w)
+% . = abbreviated textual representation (allowed only for d, m, w)
+%
+% It is adivsed that you say, for example,
+% \let\%=\pgfcalendarshorthand.
+%
+% With this setting, you can typeset an ISO-date by saying \%y0-\%m0-\%d0.
+% For another example, on 2007-02-09, which is a
+% Friday, you can write "\%wt, \%mt \%d-, \%y0" to get "Friday, February 9, 2007"
+
+\def\pgfcalendarshorthand#1#2{\csname pgfcalendar@shorthand@#1#2\endcsname}
+\expandafter\def\csname pgfcalendar@shorthand@d-\endcsname{%
+ {\pgfutil@tempcnta=\pgfcalendarcurrentday\relax\the\pgfutil@tempcnta}}
+\expandafter\def\csname pgfcalendar@shorthand@d=\endcsname{%
+ {\pgfutil@tempcnta=\pgfcalendarcurrentday\relax\ifnum\pgfutil@tempcnta<10\relax\setbox0=\hbox{1}\kern\wd0\relax\fi\the\pgfutil@tempcnta}}
+\expandafter\def\csname pgfcalendar@shorthand@d0\endcsname{%
+ \pgfcalendarcurrentday}
+\expandafter\def\csname pgfcalendar@shorthand@m-\endcsname{%
+ {\pgfutil@tempcnta=\pgfcalendarcurrentmonth\relax\the\pgfutil@tempcnta}}
+\expandafter\def\csname pgfcalendar@shorthand@m=\endcsname{%
+ {\pgfutil@tempcnta=\pgfcalendarcurrentmonth\relax\ifnum\pgfutil@tempcnta<10\relax\setbox0=\hbox{1}\kern\wd0\relax\fi\the\pgfutil@tempcnta}}
+\expandafter\def\csname pgfcalendar@shorthand@m0\endcsname{%
+ \pgfcalendarcurrentmonth}
+\expandafter\def\csname pgfcalendar@shorthand@y-\endcsname{%
+ \pgfcalendarcurrentyear}
+\expandafter\def\csname pgfcalendar@shorthand@y=\endcsname{%
+ \pgfcalendarcurrentyear}
+\expandafter\def\csname pgfcalendar@shorthand@y0\endcsname{%
+ \pgfcalendarcurrentyear}
+\expandafter\def\csname pgfcalendar@shorthand@w.\endcsname{%
+ \pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}}
+\expandafter\def\csname pgfcalendar@shorthand@wt\endcsname{%
+ \pgfcalendarweekdayname{\pgfcalendarcurrentweekday}}
+\expandafter\def\csname pgfcalendar@shorthand@m.\endcsname{%
+ \pgfcalendarmonthshortname{\pgfcalendarcurrentmonth}}
+\expandafter\def\csname pgfcalendar@shorthand@mt\endcsname{%
+ \pgfcalendarmonthname{\pgfcalendarcurrentmonth}}
+
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfexternal.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfexternal.tex
new file mode 100644
index 00000000000..ff53e5e182f
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfexternal.tex
@@ -0,0 +1,32 @@
+% Copyright 2007 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.
+%
+% In addition to the above licenses, this particular file may also be
+% directly inlined into other documents and this copyright notice may
+% be removed. Additionally, when you inline this file, you may modify
+% it as needed and you may remove comments.
+%
+% This file is intended to be distributed or even inlined into a file
+% when a document needs to be typeset on a system that does not have
+% pgf/TikZ installed.
+
+% "environment" for reading an external graphic. Note that there are
+% no (!) braces around the "name" of the environment
+%
+% #1 = name of the graphics file
+%
+% Example:
+%
+% \beginpgfgraphicnamed{mygraph}
+% \begin{tikzpicture}
+% ...
+% \end{tikzpicture}
+% \endpgfgraphicnamed
+
+\long\def\beginpgfgraphicnamed#1#2\endpgfgraphicnamed{\includegraphics{#1}}
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
index d3a6b4d6077..25aae47b840 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
@@ -15,7 +15,7 @@
% prints out a message to the log.
-\def\pgfversion{1.10}
+\def\pgfversion{1.18}
\ifx\pgfrcsloaded\undefined
@@ -86,7 +86,7 @@
\def\ProvidesFile#1[#2]{\wlog{Loading file #1 version #2.}}
\fi
-\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/utilities/pgfrcs.code.tex,v 1.14 2006/10/26 16:07:01 tantau Exp $
+\ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/utilities/pgfrcs.code.tex,v 1.16 2007/06/08 11:24:59 tantau Exp $
\catcode`\@=\pgfrcsatcode
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
index e134db7a099..0ead47d4fea 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
@@ -35,6 +35,7 @@
\else
\expandafter\pgfutil@secondoftwo
\fi}
+\def\pgfutil@firstofone#1{#1}
\def\pgfutil@firstoftwo#1#2{#1}
\def\pgfutil@secondoftwo#1#2{#2}
\def\pgfutil@empty{}
@@ -66,9 +67,10 @@
\fi
\fi
\pgfutil@reserved@c}
-\def\:{\global\let\pgfutil@sptoken= } \:
-\def\:{\pgfutil@xifnch} \expandafter\def\: {\futurelet\pgfutil@let@token\pgfutil@ifnch}
-
+{%
+ \def\:{\global\let\pgfutil@sptoken= } \:
+ \def\:{\pgfutil@xifnch} \expandafter\gdef\: {\futurelet\pgfutil@let@token\pgfutil@ifnch}
+}
% pgfutil@in@
@@ -115,5 +117,9 @@
\def\pgfutil@InputIfFileExists#1#2#3{\pgfutil@IfFileExists{#1}{\input #1\relax#2}{#3}}%
+% aux-read-hook
+
+\let\pgfutil@aux@read@hook=\relax
+
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
index ebd9780372c..4cd975d6600 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
@@ -11,14 +11,11 @@
% The aux files, needed for reading back coordinates
-
-\newwrite\pgfutil@auxout
-\pgfutil@IfFileExists{\jobname.aux}{\input \jobname.aux\relax}{}
-\openout\pgfutil@auxout
-% Hmm, is there a better file for use with ConTeXt?
-
-
-
+\def\pgfutil@aux@read@hook{
+ \pgfutil@IfFileExists{\jobname.pgf}{\input \jobname.pgf\relax}{}
+ \csname newwrite\endcsname\pgfutil@auxout
+ \csname openout\endcsname\pgfutil@auxout\jobname.pgf
+}
% XColor-like support for ConTeXt
@@ -207,6 +204,27 @@
\def\pgfutil@font@itshape{\it}
\def\pgfutil@font@bfseries{\bf}
+\let\pgfutil@font@normalfont=\rm
+
+\let\pgfutil@selectfont=\rm
+
+
+% Extra counters, registers, boxes
+
+\newcount\pgfutil@tempcnta
+\newcount\pgfutil@tempcntb
+
+\newbox\pgfutil@tempboxa
+
+\newdimen\pgfutil@tempdima
+\newdimen\pgfutil@tempdimb
+
+
+% Module stuff
+
+\def\pgfutil@usemodule#1{\usemodule[#1]}
+
+
% The following is still messy and needs to be cleanup up (everything
% prefixed by pgfutil@):
@@ -216,27 +234,6 @@
\def\PackageError#1#2#3{\immediate\write-1{Package #1: Error! #2.}}%
\long\def\AtBeginDocument#1{#1}%
\long\def\AtBeginDvi#1{#1}%
-\def\providecommand#1#2{\ifx#1\@undefined\def#1{#2}\fi}
-
-\def\pgflatex@setcounter#1#2{\global\csname c@#1\endcsname#2\relax}%
-
-\def\setlength#1#2{%
- \pgf@length@skip=0pt%
- \edef\pgf@temp{#2}%
- \expandafter\pgfutil@parse@setlength\pgf@temp+\pgf@stop%
- #1=\pgf@length@skip%
-}
-\def\pgfutil@parse@setlength#1+#2\pgf@stop{%
- \advance\pgf@length@skip by#1\relax%
- \def\pgf@test{#2}%
- \ifx\pgf@test\pgfutil@empty%
- \else%
- \pgfutil@parse@setlength#2\pgf@stop%
- \fi%
-}
-\def\addtolength#1#2{\setlength{\pgf@length@skip}{#2}\advance#1 \pgf@length@skip\relax}
-\def\selectfont{\rm}
-\def\applycolormixins#1{}
\ifx\setkeys\@undefined
\def\setkeys#1#2{%
@@ -296,12 +293,5 @@
\newtoks\KV@toks@
-\newdimen\@tempdima
-\newdimen\@tempdimb
-\newcount\@tempcnta
-\newcount\@tempcntb
-\newbox\@tempboxa
-\newskip\pgf@length@skip
-
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
index 8d75746a663..5941eeb2b80 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
@@ -11,6 +11,8 @@
\catcode`\@=11\relax
\let\pgfutil@auxout=\@auxout
+\let\pgfutil@tempcnta=\@tempcnta
+\let\pgfutil@tempcntb=\@tempcntb
\def\pgfutil@definecolor{\definecolor}
\def\pgfutil@color{\color}
@@ -21,8 +23,8 @@
\def\pgfutil@globalcolorsfalse{\let\ifglobalcolors\iffalse}
\def\pgfutil@globalcolorstrue{\let\ifglobalcolors\iftrue}
-\def\pgfutil@minipage{\minipage}
-\def\pgfutil@endminipage{\endminipage}
+\let\pgfutil@minipage=\minipage
+\let\pgfutil@endminipage=\endminipage
\def\pgfutil@doifcolorelse#1#2#3{%
\expandafter\ifx\csname\string\color@#1\endcsname\relax%
@@ -33,7 +35,6 @@
\pgf@next{#2}{#3}%
}
-
\def\pgfutil@font@tiny{\tiny}
\def\pgfutil@font@scriptsize{\scriptsize}
\def\pgfutil@font@footnotesize{\footnotesize}
@@ -47,5 +48,15 @@
\def\pgfutil@font@itshape{\itshape}
\def\pgfutil@font@bfseries{\bfseries}
+\def\pgfutil@font@normalfont{\normalfont}
+
+\def\pgfutil@usemodule#1{\usepackage{#1}}
+
+\let\pgfutil@selectfont=\selectfont
+
+\let\pgfutil@tempboxa=\@tempboxa
+
+\let\pgfutil@tempdima=\@tempdima
+\let\pgfutil@tempdimb=\@tempdimb
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
index 474cdea9f1a..e69159cabb0 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
@@ -12,11 +12,11 @@
% The aux files, needed for reading back coordinates
-
-\newwrite\pgfutil@auxout
-\pgfutil@IfFileExists{\jobname.aux}{\input \jobname.aux\relax}{}
-\openout\pgfutil@auxout
-
+\def\pgfutil@aux@read@hook{
+ \pgfutil@IfFileExists{\jobname.pgf}{\input \jobname.pgf\relax}{}
+ \csname newwrite\endcsname\pgfutil@auxout
+ \csname openout\endcsname\pgfutil@auxout\jobname.pgf
+}
% XColor-like support for plain TeX
@@ -186,6 +186,25 @@
\def\pgfutil@font@itshape{\it}
\def\pgfutil@font@bfseries{\bf}
+\let\pgfutil@font@normalfont=\rm
+
+\let\pgfutil@selectfont=\rm
+
+
+% Extra counters, registers, boxes
+
+\newcount\pgfutil@tempcnta
+\newcount\pgfutil@tempcntb
+
+\newbox\pgfutil@tempboxa
+
+\newdimen\pgfutil@tempdima
+\newdimen\pgfutil@tempdimb
+
+
+% Module stuff
+
+\def\pgfutil@usemodule#1{\input #1.tex}
@@ -197,25 +216,7 @@
\def\PackageError#1#2#3{\immediate\write-1{Package #1: Error! #2.}}%
\long\def\AtBeginDocument#1{#1}%
\long\def\AtBeginDvi#1{#1}%
-\def\providecommand#1#2{\ifx#1\@undefined\def#1{#2}\fi}
-\def\pgflatex@setcounter#1#2{\global\csname c@#1\endcsname#2\relax}%
-\def\setlength#1#2{%
- \pgf@length@skip=0pt%
- \edef\pgf@temp{#2}%
- \expandafter\pgfutil@parse@setlength\pgf@temp+\pgf@stop%
- #1=\pgf@length@skip%
-}
-\def\pgfutil@parse@setlength#1+#2\pgf@stop{%
- \advance\pgf@length@skip by#1\relax%
- \def\pgf@test{#2}%
- \ifx\pgf@test\pgfutil@empty%
- \else%
- \pgfutil@parse@setlength#2\pgf@stop%
- \fi%
-}
-\def\addtolength#1#2{\setlength{\pgf@length@skip}{#2}\advance#1 \pgf@length@skip\relax}
-\def\selectfont{\rm}
-\def\applycolormixins#1{}
+
\ifx\setkeys\@undefined
\def\setkeys#1#2{%
\def\KV@prefix{KV@#1@}%
@@ -274,13 +275,6 @@
\newtoks\KV@toks@
-\newdimen\@tempdima
-\newdimen\@tempdimb
-\newcount\@tempcnta
-\newcount\@tempcntb
-\newbox\@tempboxa
-\newskip\pgf@length@skip
-