summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pgfplots/libs
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgfplots/libs')
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex23
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.dateplot.code.tex3
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.external.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.polar.code.tex137
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex165
-rw-r--r--Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.ternary.code.tex32
7 files changed, 124 insertions, 252 deletions
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex
index c45b5a613f0..63f24068c41 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex
@@ -56,6 +56,13 @@
/pgfplots/surf shading/north east corner/.initial={\pgfqpoint{6cm}{6cm}},%
/pgfplots/surf shading/anchor/.initial=\pgfpointorigin,%
/pgfplots/surf shading/shading type/.initial=5,% triangles in form of lattice
+ %
+ % can only have values '' (empty) for binary encoding or
+ % ASCIIHexEncode for base 16 encoding. Use this if some driver
+ % cannot produce binary encoding. This is undocumented; for use in
+ % emergency only.
+ /pgfplots/surf shading/pdf stream filter/.initial=,%
+ %
/pgfplots/surf shading/precision/.is choice,
/pgfplots/surf shading/precision/pdf/.code={%
% Lossless coordinate output.
@@ -129,7 +136,15 @@
\newcount\c@pgfplotslibrarysurf@no
% driver specific:
-\def\pgfplotslibrarysurf@initstream{}
+\def\pgfplotslibrarysurf@initstream{%
+ \edef\pgfplots@loc@TMPa{\pgfkeysvalueof{/pgfplots/surf shading/pdf stream filter}}%
+ \ifx\pgfplots@loc@TMPa\pgfutil@empty
+ \else
+ \let\pgfplotslibrarysurf@filter@encode=\pgfplots@loc@TMPa
+ \let\pgfplotslibrarysurf@filter@decode=\pgfplotslibrarysurf@filter@encode
+ \fi
+}
+
\def\pgfplotslibrarysurf@advancestreamlen#1{}%
\def\pgfplotslibrarysurfstreamstart{%
@@ -139,9 +154,9 @@
\pgfplotsapplistXglobalnewempty\pgfplotslibrarysurf@binarystream@accum
\pgfplotslibrarysurf@initstream
\ifx\pgfplotslibrarysurf@filter@encode\pgfutil@empty
- \else
- \pgfkeysalso{/pgfplots/bin/\pgfplotslibrarysurf@filter@encode}%
+ \def\pgfplotslibrarysurf@filter@encode{binary encoding}%
\fi
+ \pgfkeysalso{/pgfplots/bin/\pgfplotslibrarysurf@filter@encode}%
\ifcase\pgfplotslibrarysurf@type\relax
% 0
\pgfplotslibrarysurf@initstream@wrongtype
@@ -172,7 +187,7 @@
\fi
}%
\def\pgfplotslibrarysurf@initstream@wrongtype{%
- \pgfplots@error{CRITICAL: shader=interp: got unsupported pdf shading type '\pgfplotslibrarysurf@type'. This may correct your pdf!}%
+ \pgfplots@error{CRITICAL: shader=interp: got unsupported pdf shading type '\pgfplotslibrarysurf@type'. This may corrupt your pdf!}%
}%
\def\pgfplotslibrarysurfstreamend{%
\pgfplotsapplistXgloballet\pgfplotslibrarysurf@binarystream=\pgfplotslibrarysurf@binarystream@accum
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.dateplot.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.dateplot.code.tex
index 7e7e5232fc0..146153fca9b 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.dateplot.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.dateplot.code.tex
@@ -134,8 +134,9 @@
\endgroup
}%
\pgfkeysdef{/pgfplots/#1 coord inv trafo}{%
+ \edef\pgfplotstempjuliandatenumeric{##1}%
\begingroup
- \pgfplotslibdateplot@number@to@julian@and@time##1\julianto{\c@pgf@counta}\hourto\Hour\minuteto\Minute%
+ \expandafter\pgfplotslibdateplot@number@to@julian@and@time\pgfplotstempjuliandatenumeric\julianto{\c@pgf@counta}\hourto\Hour\minuteto\Minute%
\advance\c@pgf@counta by\pgfplots@calender@ZEROSHIFT\relax
\expandafter\pgfcalendarjuliantodate\expandafter{\the\c@pgf@counta}\year\month\day
\xdef\pgfplotslibdateplot@TMP{%
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.external.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.external.code.tex
index 227f5c1a5a4..4923e310c5b 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.external.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.external.code.tex
@@ -32,8 +32,18 @@
%
\pgfplotsiffileexists{tikzlibraryexternal.code.tex}{%
- \usetikzlibrary{external}%
+ \pgfplots@ifneedspgfcompabitibilitycode@has@pgf@one@zero@zero{%
+ \def\pgfplots@glob@TMPa{0}%
+ }{%
+ \def\pgfplots@glob@TMPa{1}%
+ }%
}{%
+ \def\pgfplots@glob@TMPa{0}%
+}%
+\if1\pgfplots@glob@TMPa
+ \usetikzlibrary{external}%
+\else
+ \immediate\write16{Package pgfplots external lib: loading complementary code for your PGF version...}
% Backwards compatibility:
\let\pgfplots@backw@compat@AtBeginDocument=\AtBeginDocument
\def\AtBeginDocument#1{}%
@@ -41,6 +51,6 @@
\let\AtBeginDocument=\pgfplots@backw@compat@AtBeginDocument
%
\input pgfplotsoldpgfsupp_tikzlibraryexternal.code.tex
-}%
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex
index f3e4674f9e6..79990ec1fb8 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex
@@ -888,7 +888,7 @@
\divide\pgf@ya by4
\divide\pgf@yb by4
\pgfplotscoordmath{meta}{op}{multiply}{{\pgfmathresult}{\pgfplots@loc@scale}}%
- \edef\pgfplotspatchclass@rect@M{{\the\pgf@xa}{\the\pgf@ya}{\pgfmathresult}\ifx\pgfplotspatchvertexdepth\pgfutil@empty\else \pgf@sys@tonumber\pgf@yb\fi}%
+ \edef\pgfplotspatchclass@rect@M{{\the\pgf@xa}{\the\pgf@ya}{\pgfmathresult}\ifx\pgfplotspatchvertexdepth\pgfutil@empty\else \pgf@sys@tonumber\pgf@yb\fi:}%
%
\let\pgfplotsplothandlermesh@patchclass@=\pgfplotsplothandlermesh@patchclass
\def\pgfplotsplothandlermesh@patchclass{triangle}%
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.polar.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.polar.code.tex
index 24292d1354c..2e6f13df3e0 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.polar.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.polar.code.tex
@@ -71,6 +71,7 @@
\let\pgfplots@prepare@axis@API=\pgfplots@prepare@axis@API@polar
\def\axisdefaultheight{\axisdefaultwidth}%
\let\pgfplots@initsizes=\pgfplots@initsizes@polar
+ \let\pgfplots@BB@for@plotbox@get@unit@scales@for@limits=\pgfplots@BB@for@plotbox@get@unit@scales@for@limits@polar
\let\pgfplots@limits@ready=\pgfplots@limits@ready@polar
\let\pgfplots@assign@default@tick@foraxis@normalizetickdist=\pgfplots@assign@default@tick@foraxis@normalizetickdist@polar
\let\pgfplots@show@ticklabel@=\pgfplots@show@ticklabel@@polar
@@ -476,6 +477,8 @@
\fi
}%
+\let\pgfplots@initsizes@original=\pgfplots@initsizes
+
\def\pgfplots@initsizes@polar{%
% I copy-pasted most of this code, up to just one position where
% I introduced the modified scaling for polar axes
@@ -493,119 +496,35 @@
\def\b@pgfplots@polar@limit@around@zero{1}%
\fi
%
- \pgfplots@xmin@reg=\pgfplots@xmin pt %
- \pgfplots@xmax@reg=\pgfplots@xmax pt %
- %
- %
- \pgfplots@ymin@reg=\pgfplots@ymin pt %
- \pgfplots@ymax@reg=\pgfplots@ymax pt %
- \ifpgfplots@threedim
- \pgfplots@zmin@reg=\pgfplots@zmin pt %
- \pgfplots@zmax@reg=\pgfplots@zmax pt %
- \fi
- %
- %
- %-----------------------------------------
- % PROCESS THE 'width' and 'height' options
- %-----------------------------------------
- %
- %
- \pgfkeysgetvalue{/pgfplots/view/az}{\pgfplots@view@az}%
- \pgfkeysgetvalue{/pgfplots/view/el}{\pgfplots@view@el}%
- \ifpgfplots@threedim
- \def\pgfplots@tmpZscale{1pt}%
- \else
- \def\pgfplots@tmpZscale{0pt}%
- \let\pgfplots@view@el=\pgfutil@empty
- \let\pgfplots@view@az=\pgfutil@empty
- \fi
- \ifx\pgfplots@view@az\pgfutil@empty
- %\let\pgfplots@rectangle@width=\pgfutil@empty
- %\let\pgfplots@rectangle@height=\pgfutil@empty
- \def\pgfplots@view@dir@threedim@x{0}%
- \def\pgfplots@view@dir@threedim@y{0}%
- \def\pgfplots@view@dir@threedim@z{1}%
- %
- % FIXME HERE COMES THE polar MODIFICATION
- %--------------------------------------------------
- % \pgfpointdiff
- % {\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}}
- % {\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}}%
- %--------------------------------------------------
- % instead of scaling from (min) (max), we only need the UPPER
- % bound -- in both, x and y directions (since we have a cycle.
- % Furthermore, we need it twice since we are interested in the
- % diameter, not the radius.
- \global\pgf@x=\pgfplots@ymax pt % radius
- \global\multiply\pgf@x by2 % diameter
- \global\pgf@y=\pgf@x % same for y
- %
- % only used temporarily in this macro to compute the correct
- % length for unit vectors:
- \edef\pgfplots@initsizes@axisdiag@x{\the\pgf@x}%
- \edef\pgfplots@initsizes@axisdiag@y{\the\pgf@y}%
- %
- \ifx\pgfplots@x\pgfutil@empty
- \ifx\pgfplots@width\pgfutil@empty
- \pgfplots@error{INTERNAL LOGIC ERROR! WIDTH NOT SET}%
- \fi
- \pgfplots@initsizes@getXscale\pgfplots@initsizes@axisdiag@x\into\pgfplots@tmpXscale
- %\ifpgfplots@scale@only@axis
- % \let\pgfplots@rectangle@width=\pgfplots@width
- %\fi
- \else
- \def\pgfplots@tmpXscale{1}%
- \fi
- %
- \ifx\pgfplots@y\pgfutil@empty
- \ifx\pgfplots@height\pgfutil@empty
- \pgfplots@error{INTERNAL LOGIC ERROR! HEIGHT NOT SET}%
- \fi
- \pgfplots@initsizes@getYscale\pgfplots@initsizes@axisdiag@y\into\pgfplots@tmpYscale
- %\ifpgfplots@scale@only@axis
- % \let\pgfplots@rectangle@height=\pgfplots@height
- %\fi
- \else
- \def\pgfplots@tmpYscale{1}%
- \fi
+ \pgfplots@initsizes@original
+}%
+
+\def\pgfplots@BB@for@plotbox@get@unit@scales@for@limits@polar#1#2#3{%
+ % #1 is the angle ... and that does not need to be squeezed into
+ % the box.
+ %
+ % use only y (the radius).
+ \if1\b@pgfplots@plotbox@yisunit
+ % we do not need to compute max-min as for standard axes (because the inner part
+ % characterized by ymin does not enter the scaling).
%
- \edef\pgfplots@tmpXscale{\pgfplots@tmpXscale pt}%
- \edef\pgfplots@tmpYscale{\pgfplots@tmpYscale pt}%
+ % However, we have to keep in mind that our range is TWICE as
+ % large because [0,ymax] is just a radius, and we have to
+ % scale for the diameter.
+ \pgfplotscoordmath{\pgfplots@compat@scaling@coordmath}{parsenumber}{2}%
+ \let\pgfplots@loc@TMPa=\pgfmathresult
%
- \pgfplots@initsizes@setunitvector{x}{0}{\pgfplots@tmpXscale}{\pgfplots@tmp@xisaxisparallel}%
- \pgfplots@initsizes@setunitvector{y}{1}{\pgfplots@tmpYscale}{\pgfplots@tmp@yisaxisparallel}%
- \pgfplots@initsizes@setunitvector{z}{2}{\pgfplots@tmpZscale}{\pgfplots@loc@TMPc}%
- \else
- % 3D case is currently always initialised by `view':
- \let\pgfplots@x=\pgfutil@empty
- \let\pgfplots@y=\pgfutil@empty
- \let\pgfplots@z=\pgfutil@empty
- \pgfplotssetaxesfromazel{\pgfplots@view@az}{\pgfplots@view@el}{\pgfplots@tmp@xisaxisparallel}%
- \if1\pgfplots@tmp@xisaxisparallel%
- \def\pgfplots@tmp@yisaxisparallel{1}%
- \fi
- \fi
-%\message{Pgfplots debug: initialised unit vectors to x=(\the\pgf@xx,\the\pgf@xy), y=(\the\pgf@yx,\the\pgf@yy), z=(\the\pgf@zx,\the\pgf@zy). }%
- %
- \let\pgfplotsmathfloatviewdepthxyz@=\pgfplotsmathfloatviewdepthxyz@infigure
- \let\pgfplotsmathviewdepthxyz@=\pgfplotsmathviewdepthxyz@infigure
- %
- \pgfplotsmath@ifzero{\pgfplots@x@veclength}{\pgfplots@hide@xtrue\pgfplots@shownothingof@xtrue}{}%
- \pgfplotsmath@ifzero{\pgfplots@y@veclength}{\pgfplots@hide@ytrue\pgfplots@shownothingof@ytrue}{}%
- \ifpgfplots@threedim
- \pgfplotsmath@ifzero{\pgfplots@z@veclength}{\pgfplots@hide@ztrue\pgfplots@shownothingof@ztrue}{}%
+ \let\pgfmathresult=\pgfplots@ymax
+ \pgfplotscoordmath{\pgfplots@compat@scaling@coordmath}{parsenumber}{\pgfmathresult}%
+ \pgfplotscoordmath{\pgfplots@compat@scaling@coordmath}{op}{multiply}{{\pgfmathresult}{\pgfplots@loc@TMPa}}%
+ \pgfplotscoordmath{\pgfplots@compat@scaling@coordmath}{tofixed}{\pgfmathresult}%
\else
- \if1\pgfplots@tmp@xisaxisparallel%
- \if1\pgfplots@tmp@yisaxisparallel%
- % Optimize for axis-parallel case!
- % puh. Did not make any measureable difference!? Ok...
- \let\pgfplotsqpointxy=\pgfplotsqpointxy@orthogonal
- \fi
- \fi
+ \def\pgfmathresult{2}% not 1: the factor 2 is for 2*radius
\fi
- %
- % FIXME : unit vector ratio / axis equal
-}
+ \let#1=\pgfmathresult
+ \let#2=\pgfmathresult
+ \def#3{1}% FIXME : z ?
+}%
\def\pgfplots@handle@invalid@range@defaultlimits@polar{%
\def\pgfplots@loc@TMPa{0}%
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex
index 7d24c53216d..e1561bb96ac 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex
@@ -213,6 +213,30 @@
%font=\tiny,
}
},
+ yticklabel around circle/.style={
+ ytick align=center,
+ yticklabel style={
+ rotate=90,
+ sloped like y axis={%
+ execute for upside down={\tikzset{anchor=south west}},
+ %allow upside down,
+ reset nontranslations=false},
+ anchor=south east,
+ %font=\tiny,
+ }
+ },
+ yticklabel around circle*/.style={
+ ytick align=center,
+ yticklabel style={
+ rotate=90,
+ sloped like y axis={%
+ execute for upside down={\tikzset{anchor=north west}},
+ %allow upside down,
+ reset nontranslations=false},
+ anchor=north east,
+ %font=\tiny,
+ }
+ }
}
\def\pgfplots@smithchartaxis@activate{%
@@ -259,7 +283,7 @@
\fi
}%
\def\axisdefaultheight{\axisdefaultwidth}%
- \let\pgfplots@initsizes=\pgfplots@initsizes@smithchart
+ \let\pgfplots@BB@for@plotbox@get@unit@scales@for@limits=\pgfplots@BB@for@plotbox@get@unit@scales@for@limits@smithchart
%\let\pgfplots@limits@ready=\pgfplots@limits@ready@smithchart
%\let\pgfplots@show@ticklabel@=\pgfplots@show@ticklabel@@smithchart
%\def\pgfplots@xtick@disable@last@tick{0}%
@@ -1513,134 +1537,17 @@
\fi
}%
-\def\pgfplots@initsizes@smithchart{%
- % I copy-pasted most of this code, up to just one position where
- % I introduced the modified scaling for smithchart axes
- %----------------------------------
- % INIT.
- %
- %
- \def\pgfplots@minmax@reg@forbidden{\pgfplots@error{Sorry, an internal logic error occured during smithchart processing (a routine tried to access \string\pgfplots@xmin@reg\space or its variants). Please report this as bug, sorry}}%
- \iffalse
- \pgfplots@xmin@reg=\pgfplots@xmin pt %
- \pgfplots@xmax@reg=\pgfplots@xmax pt %
- \pgfplots@ymin@reg=\pgfplots@ymin pt %
- \pgfplots@ymax@reg=\pgfplots@ymax pt %
- \ifpgfplots@threedim
- \pgfplots@zmin@reg=\pgfplots@zmin pt %
- \pgfplots@zmax@reg=\pgfplots@zmax pt %
- \fi
- \else
- \let\pgfplots@xmin@reg=\pgfplots@minmax@reg@forbidden
- \let\pgfplots@xmax@reg=\pgfplots@minmax@reg@forbidden
- \let\pgfplots@ymin@reg=\pgfplots@minmax@reg@forbidden
- \let\pgfplots@ymax@reg=\pgfplots@minmax@reg@forbidden
- \let\pgfplots@zmin@reg=\pgfplots@minmax@reg@forbidden
- \let\pgfplots@zmax@reg=\pgfplots@minmax@reg@forbidden
- \fi
- %
- %
- %-----------------------------------------
- % PROCESS THE 'width' and 'height' options
- %-----------------------------------------
- %
- %
- \pgfkeysgetvalue{/pgfplots/view/az}{\pgfplots@view@az}%
- \pgfkeysgetvalue{/pgfplots/view/el}{\pgfplots@view@el}%
- \ifpgfplots@threedim
- \def\pgfplots@tmpZscale{1pt}%
- \else
- \def\pgfplots@tmpZscale{0pt}%
- \let\pgfplots@view@el=\pgfutil@empty
- \let\pgfplots@view@az=\pgfutil@empty
- \fi
- \ifx\pgfplots@view@az\pgfutil@empty
- %\let\pgfplots@rectangle@width=\pgfutil@empty
- %\let\pgfplots@rectangle@height=\pgfutil@empty
- \def\pgfplots@view@dir@threedim@x{0}%
- \def\pgfplots@view@dir@threedim@y{0}%
- \def\pgfplots@view@dir@threedim@z{1}%
- %
- % FIXME HERE COMES THE smithchart MODIFICATION
- %--------------------------------------------------
- % \pgfpointdiff
- % {\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}}
- % {\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}}%
- %--------------------------------------------------
- % instead of scaling from (min) (max), we only need the UPPER
- % bound -- in both, x and y directions (since we have a cycle.
- % Furthermore, we need it twice since we are interested in the
- % diameter, not the radius.
- \global\pgf@x=2 pt % radius
- \global\pgf@y=\pgf@x % same for y
- %
- % only used temporarily in this macro to compute the correct
- % length for unit vectors:
- \edef\pgfplots@initsizes@axisdiag@x{\the\pgf@x}%
- \edef\pgfplots@initsizes@axisdiag@y{\the\pgf@y}%
- %
- \ifx\pgfplots@x\pgfutil@empty
- \ifx\pgfplots@width\pgfutil@empty
- \pgfplots@error{INTERNAL LOGIC ERROR! WIDTH NOT SET}%
- \fi
- \pgfplots@initsizes@getXscale\pgfplots@initsizes@axisdiag@x\into\pgfplots@tmpXscale
- %\ifpgfplots@scale@only@axis
- % \let\pgfplots@rectangle@width=\pgfplots@width
- %\fi
- \else
- \def\pgfplots@tmpXscale{1}%
- \fi
- %
- \ifx\pgfplots@y\pgfutil@empty
- \ifx\pgfplots@height\pgfutil@empty
- \pgfplots@error{INTERNAL LOGIC ERROR! HEIGHT NOT SET}%
- \fi
- \pgfplots@initsizes@getYscale\pgfplots@initsizes@axisdiag@y\into\pgfplots@tmpYscale
- %\ifpgfplots@scale@only@axis
- % \let\pgfplots@rectangle@height=\pgfplots@height
- %\fi
- \else
- \def\pgfplots@tmpYscale{1}%
- \fi
- %
- \edef\pgfplots@tmpXscale{\pgfplots@tmpXscale pt}%
- \edef\pgfplots@tmpYscale{\pgfplots@tmpYscale pt}%
- %
- \pgfplots@initsizes@setunitvector{x}{0}{\pgfplots@tmpXscale}{\pgfplots@tmp@xisaxisparallel}%
- \pgfplots@initsizes@setunitvector{y}{1}{\pgfplots@tmpYscale}{\pgfplots@tmp@yisaxisparallel}%
- \pgfplots@initsizes@setunitvector{z}{2}{\pgfplots@tmpZscale}{\pgfplots@loc@TMPc}%
- \else
- % 3D case is currently always initialised by `view':
- \let\pgfplots@x=\pgfutil@empty
- \let\pgfplots@y=\pgfutil@empty
- \let\pgfplots@z=\pgfutil@empty
- \pgfplotssetaxesfromazel{\pgfplots@view@az}{\pgfplots@view@el}{\pgfplots@tmp@xisaxisparallel}%
- \if1\pgfplots@tmp@xisaxisparallel%
- \def\pgfplots@tmp@yisaxisparallel{1}%
- \fi
- \fi
-%\message{Pgfplots debug: initialised unit vectors to x=(\the\pgf@xx,\the\pgf@xy), y=(\the\pgf@yx,\the\pgf@yy), z=(\the\pgf@zx,\the\pgf@zy). }%
- %
- \let\pgfplotsmathfloatviewdepthxyz@=\pgfplotsmathfloatviewdepthxyz@infigure
- \let\pgfplotsmathviewdepthxyz@=\pgfplotsmathviewdepthxyz@infigure
- %
- \pgfplotsmath@ifzero{\pgfplots@x@veclength}{\pgfplots@hide@xtrue\pgfplots@shownothingof@xtrue}{}%
- \pgfplotsmath@ifzero{\pgfplots@y@veclength}{\pgfplots@hide@ytrue\pgfplots@shownothingof@ytrue}{}%
- \ifpgfplots@threedim
- \pgfplotsmath@ifzero{\pgfplots@z@veclength}{\pgfplots@hide@ztrue\pgfplots@shownothingof@ztrue}{}%
- \else
- \if1\pgfplots@tmp@xisaxisparallel%
- \if1\pgfplots@tmp@yisaxisparallel%
- % Optimize for axis-parallel case!
- % puh. Did not make any measureable difference!? Ok...
- \let\pgfplotsqpointxy=\pgfplotsqpointxy@orthogonal
- \fi
- \fi
- \fi
- %
- % FIXME : unit vector ratio / axis equal
- %
-}
+\def\pgfplots@BB@for@plotbox@get@unit@scales@for@limits@smithchart#1#2#3{%
+ % In a smith chart, the size of the image is unrelated to the
+ % involved data limits.
+ %
+ % The factor 2 is because we want to fit the DIAMETER into the
+ % prescribed dimensions, not just the radius.
+ \def\pgfmathresult{2}%
+ \let#1=\pgfmathresult
+ \let#2=\pgfmathresult
+ \def#3{1}%
+}%
\def\pgfplots@handle@invalid@range@defaultlimits@smithchart{%
\pgfplotscoordmath{x}{parsenumber}{0}%
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.ternary.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.ternary.code.tex
index dfb520af190..7000f8c13cf 100644
--- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.ternary.code.tex
+++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.ternary.code.tex
@@ -86,11 +86,14 @@
\def\pgfplots@drawaxis@innerlines@onorientedsurf##1##2##3{}%
\let\pgfplots@draw@axis@post=\pgfplots@draw@axis@post@ternary
\let\pgfplots@initsizes=\pgfplots@initsizes@ternary
+ \let\pgfplots@limits@ready=\pgfplots@limits@ready@ternary
\let\pgfplotspoint@initialisation@axes=\pgfplotspoint@initialisation@axes@ternary
\let\pgfplotspoint@initialisation@units=\pgfplotspoint@initialisation@units@ternary
\let\pgfplots@initsizes@setunitvector=\pgfplots@initsizes@setunitvector@ternary
+ \let\pgfplots@computeunitvectorlengths=\pgfplots@computeunitvectorlengths@ternary
\let\pgfplotspointouternormalvectorofaxis@=\pgfplotspointouternormalvectorofaxis@ternary
\let\pgfplots@prepare@ZERO@coordinates=\pgfplots@prepare@ZERO@coordinates@ternary
+ \def\pgfplots@scaleaxes@to@BB@##1##2{}%
\let\pgfplotsgetnormalforcurrentview=\relax
\def\pgfplots@drawtickgridlines@INSTALLCLIP@onorientedsurf##1{}%
\let\pgfplots@clippath@prepare@for@axistype=\pgfplots@clippath@prepare@for@axistype@ternary
@@ -280,10 +283,6 @@
\else
\pgfplots@error{Sorry, 'axis type=ternary' needs a three dimensional axes. Make sure you supplied three dimensional coordinates (using \string\addplot3, for example). This error is critical; I can't recover}%
\fi
-%\message{ternary with limits x=[\pgfplots@xmin:\pgfplots@xmax], y=[\pgfplots@ymin:\pgfplots@ymax]; z=[\pgfplots@zmin:\pgfplots@zmax].}%
- \pgfplots@ternary@init@map@to@unit x
- \pgfplots@ternary@init@map@to@unit y
- \pgfplots@ternary@init@map@to@unit z
%
\pgfplots@initsizes@get@width@withoutlabels
\pgf@x=\pgfmathresult
@@ -293,6 +292,17 @@
%
}%
+\let\pgfplots@limits@ready@original=\pgfplots@limits@ready
+
+\def\pgfplots@limits@ready@ternary{%
+ \pgfplots@limits@ready@original
+ %
+%\message{ternary with limits x=[\pgfplots@xmin:\pgfplots@xmax], y=[\pgfplots@ymin:\pgfplots@ymax]; z=[\pgfplots@zmin:\pgfplots@zmax].}%
+ \pgfplots@ternary@init@map@to@unit x%
+ \pgfplots@ternary@init@map@to@unit y%
+ \pgfplots@ternary@init@map@to@unit z%
+}%
+
\def\pgfplots@ternary@init@map@to@unit#1{%
\begingroup
\pgfmath@basic@subtract@
@@ -311,7 +321,7 @@
\def\pgfplots@initsizes@setunitvector@ternary#1#2#3#4{%
% ternary axis are DIFFERENT here.
% They don't use the (xx,xy), (yx,yy), (zx,zy) vectors, so we can
- % use them to realize *cartesian* coordinates.
+ % use them to implement *cartesian* coordinates.
%
% Thus, any \draw (0,0) inside of a ternary axis will yield
% cartesian coordinates.
@@ -343,6 +353,17 @@
{\global\pgfplots@ternary@next@is@unitintervaltrue\pgfplotsqpointxyz@ternary001}%
\fi
\expandafter\xdef\csname pgfplotspoint#1axis\endcsname{\noexpand\pgf@x=\the\pgf@x\space\noexpand\pgf@y=\the\pgf@y\space}%
+ %
+%\message{-> got unitvector(#1) = (\the\csname pgf@#1x\endcsname, \the\csname pgf@#1y\endcsname).}%
+}%
+
+\def\pgfplots@computeunitvectorlengths@ternary{%
+ \pgfplots@computeunitvectorlengths@ternary@ x%
+ \pgfplots@computeunitvectorlengths@ternary@ y%
+ \pgfplots@computeunitvectorlengths@ternary@ z%
+}
+\def\pgfplots@computeunitvectorlengths@ternary@#1{%
+ \csname pgfplotspoint#1axis\endcsname
\pgfmathveclen{\pgf@x}{\pgf@y}%
\expandafter\let\csname pgfplots@#1@veclength\endcsname=\pgfmathresult
\pgfplotsmath@ifzero{\pgfmathresult}{%
@@ -353,7 +374,6 @@
}%
\expandafter\xdef\csname pgfplotspoint#1axislength\endcsname{\pgfplots@x@veclength pt}%
%
-%\message{-> got unitvector(#1) = (\the\csname pgf@#1x\endcsname, \the\csname pgf@#1y\endcsname).}%
}%
\newif\ifpgfplots@ternary@next@is@unitinterval