summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgf/basiclayer
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/basiclayer
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/basiclayer')
-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
17 files changed, 1366 insertions, 645 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}}%
}