texlive[54041] Master/texmf-dist: pgfplots (2mar20)
commits+karl at tug.org
commits+karl at tug.org
Tue Mar 3 23:58:30 CET 2020
Revision: 54041
http://tug.org/svn/texlive?view=revision&revision=54041
Author: karl
Date: 2020-03-03 23:58:29 +0100 (Tue, 03 Mar 2020)
Log Message:
-----------
pgfplots (2mar20)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample-context.pdf
trunk/Master/texmf-dist/doc/generic/pgfplots/README
trunk/Master/texmf-dist/doc/latex/pgfplots/TeX-programming-notes.pdf
trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplots.doc.src.tar.bz2
trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf
trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf
trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplotstodo.pdf
trunk/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.context.tar.bz2
trunk/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.tar.bz2
trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex
trunk/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample-context.tuc
Modified: trunk/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample-context.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample-context.tuc
===================================================================
--- trunk/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample-context.tuc 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample-context.tuc 2020-03-03 22:58:29 UTC (rev 54041)
@@ -1,217 +0,0 @@
-local utilitydata = { }
-
-utilitydata.comment={
- ["escape"]="[===[ ... ]===]",
- ["file"]="pgfplotsexample-context",
- ["format"]="cont-en",
- ["stamp"]="2017.06.04 16:55",
- ["version"]=1.3,
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.variables then utilitydata.job.variables = { } end
-
-utilitydata.job.variables.checksums={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.variables then utilitydata.job.variables = { } end
-
-utilitydata.job.variables.collected={
- ["macros"]={},
- ["randomseed"]=0.39339454117855,
- ["sectionblockorder"]={},
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.structure then utilitydata.job.structure = { } end
-
-utilitydata.job.structure.collected={
- ["branches"]={},
- ["name"]="pgfplotsexample-context",
- ["type"]="text",
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.positions then utilitydata.job.positions = { } end
-
-utilitydata.job.positions.collected={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.passes then utilitydata.job.passes = { } end
-
-utilitydata.job.passes.collected={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.datasets then utilitydata.job.datasets = { } end
-
-utilitydata.job.datasets.collected={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.pagestates then utilitydata.job.pagestates = { } end
-
-utilitydata.job.pagestates.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.specials then utilitydata.structures.specials = { } end
-
-utilitydata.structures.specials.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.counters then utilitydata.structures.counters = { } end
-
-utilitydata.structures.counters.collected={
- ["chemical"]={
- { 0 },
- },
- ["combination"]={
- { 0 },
- },
- ["endnote"]={
- { 0 },
- },
- ["figure"]={
- { 0 },
- },
- ["footnote"]={
- { 0 },
- },
- ["formula"]={
- { 0 },
- },
- ["graphic"]={
- { 0 },
- },
- ["intermezzo"]={
- { 0 },
- },
- ["itemgroup:itemize"]={
- { 0 },
- },
- ["linenote"]={
- { 0 },
- },
- ["paragraph"]={
- { 0 },
- },
- ["realpage"]={
- { 1 },
- },
- ["subpage"]={
- { 1 },
- },
- ["table"]={
- { 0 },
- },
- ["userpage"]={
- { 1 },
- },
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.lists then utilitydata.structures.lists = { } end
-
-utilitydata.structures.lists.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.pages then utilitydata.structures.pages = { } end
-
-utilitydata.structures.pages.collected={
- {
- ["block"]="bodypart",
- ["number"]=1,
- ["numberdata"]=1,
- ["prefixdata"]=2,
- ["state"]="start",
- },
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.references then utilitydata.structures.references = { } end
-
-utilitydata.structures.references.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.references then utilitydata.structures.references = { } end
-
-utilitydata.structures.references.referred={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.objects then utilitydata.job.objects = { } end
-
-utilitydata.job.objects.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.synonyms then utilitydata.structures.synonyms = { } end
-
-utilitydata.structures.synonyms.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.registers then utilitydata.structures.registers = { } end
-
-utilitydata.structures.registers.collected={
-}
-
-if not utilitydata.structures then utilitydata.structures = { } end
-if not utilitydata.structures.blocks then utilitydata.structures.blocks = { } end
-
-utilitydata.structures.blocks.collected={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.files then utilitydata.job.files = { } end
-
-utilitydata.job.files.collected={
-}
-
-if not utilitydata.publications then utilitydata.publications = { } end
-
-utilitydata.publications.collected={
-}
-
-if not utilitydata.job then utilitydata.job = { } end
-if not utilitydata.job.fileobjreferences then utilitydata.job.fileobjreferences = { } end
-
-utilitydata.job.fileobjreferences.collected={
-}
-
-utilitydata.job.packed={
- ["index"]={
- {
- ["conversionset"]="pagenumber",
- },
- {
- ["connector"]="–",
- ["prefix"]="no",
- ["set"]="part",
- },
- },
- ["keys"]={
- ["directives"]=true,
- ["metadata"]=true,
- ["numberdata"]=true,
- ["numbers"]=true,
- ["pagedata"]=true,
- ["prefixdata"]=true,
- ["processors"]=true,
- ["sectiondata"]=true,
- ["specification"]=true,
- },
- ["skip"]={
- ["datasets"]=true,
- ["userdata"]=true,
- },
- ["version"]=1.02,
-}
-
-return utilitydata
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/generic/pgfplots/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgfplots/README 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/doc/generic/pgfplots/README 2020-03-03 22:58:29 UTC (rev 54041)
@@ -23,7 +23,7 @@
and
doc/latex/pgfplots/pgfplotstable.pdf.
-Copyright 2007-2017 by Christian Feuersaenger.
+Copyright 2007-2020 by Christian Feuersaenger.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,6 +40,13 @@
HISTORY:
+1.17
+- fixed bug: restore compatibility with pgf/tikz circle syntax inside of pgfplots
+- new feature #62: 'coordinate style' which allows to associate options with individual coordinates.
+- new feature pgfplotstable: added 'text indicator'
+- new feature pgfplotstable: added 'percent is letter' to allow comment chars
+ within string-based tables
+
1.16:
- fixed bug #111 [fillbetween] strange behavior when `soft clip` is used and one of the paths touches the axis border
- fixed bug #183: Nan in the first line of a numeric table was interpreted as column name
Modified: trunk/Master/texmf-dist/doc/latex/pgfplots/TeX-programming-notes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplots.doc.src.tar.bz2
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/pgfplots/pgfplotstodo.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.context.tar.bz2
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.tar.bz2
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.patchplots.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -374,6 +374,76 @@
}%
}%
+% This is JUST a curveto operation! Nothing special.
+\pgfplotsdeclarepatchclass{bezier spline}{%
+ get dimension=\def\pgfplotsretval{1},
+ supports global path=\def\pgfplotsretval{1},
+ new=\def\pgfplotspatchclass at cspline@no{A},
+ set next vertex={%
+ % EXPECTED ORDERING: first 2 corners, then 2 control points
+ % (NOT interpolatory).
+ % defines \pgfplotspatchclass at cspline@A ... \pgfplotspatchclass at cspline@D (4 points)
+ \expandafter\edef\csname pgfplotspatchclass at cspline@\pgfplotspatchclass at cspline@no\endcsname{#1}%
+ \if D\pgfplotspatchclass at cspline@no
+ \def\pgfplotspatchclass at cspline@no{A}%
+ \pgfplotspatchready
+ \else
+ \expandafter\let\expandafter\pgfplotspatchclass at cspline@no\csname pgfpptchindexnext@\pgfplotspatchclass at cspline@no\endcsname
+ \fi
+ },
+ if current point can be first last={%
+ \pgfplots at loc@tmpfalse
+ \if B\pgfplotspatchclass at cspline@no
+ % Ah - the current point is the 'A' point (we have
+ % advanced the '@no' counter)
+ \pgfplots at loc@tmptrue
+ \fi
+ \if C\pgfplotspatchclass at cspline@no
+ % Ah - the current point is the 'B' point (we have
+ % advanced the '@no' counter)
+ \pgfplots at loc@tmptrue
+ \fi
+ \ifpgfplots at loc@tmp
+ #1\relax%
+ \else
+ #2\relax
+ \fi
+ },
+ first vertex=\expandafter\pgfplotspatchvertex\pgfplotspatchclass at cspline@A\endvertex,
+ foreach vertex={%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass at cspline@A\endvertex #1%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass at cspline@B\endvertex #1%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass at cspline@C\endvertex #1%
+ \expandafter\pgfplotspatchvertex\pgfplotspatchclass at cspline@D\endvertex #1%
+ },
+ fill path={%
+ % Draw the patch boundary using a bezier curve.
+ \pgfplotsplothandlermesh at pathmoveto{\expandafter\pgfplotspointpatchvertex\pgfplotspatchclass at cspline@A\endvertex}%
+ \pgfpathcurveto {
+ \expandafter\pgfplotspointpatchvertex\pgfplotspatchclass at cspline@C\endvertex
+ }{
+ \expandafter\pgfplotspointpatchvertex\pgfplotspatchclass at cspline@D\endvertex
+ }{%
+ \expandafter\pgfplotspointpatchvertex\pgfplotspatchclass at cspline@B\endvertex
+ }%
+ \pgfplotsplothandlermesh at setlastpoint{\expandafter\pgfplotspointpatchvertex\pgfplotspatchclass at cspline@B\endvertex}%
+ },
+ triangulate class=\def\pgfplotsretval{line},
+ triangulate={%
+ \let\pgfplotsplothandlermesh at patchclass@=\pgfplotsplothandlermesh at patchclass
+ \def\pgfplotsplothandlermesh at patchclass{line}%
+ \pgfplotspatchclass{\pgfplotsplothandlermesh at patchclass}{new}%
+ % XXX : very poor quality ...
+ \expandafter\pgfplotsplothandlermesh at setnextvertex\expandafter{\pgfplotspatchclass at cspline@A}%
+ \expandafter\pgfplotsplothandlermesh at setnextvertex\expandafter{\pgfplotspatchclass at cspline@B}%
+ \let\pgfplotsplothandlermesh at patchclass=\pgfplotsplothandlermesh at patchclass@
+ },%
+ get pdf shading type=0,
+ get num vertices=\def\pgfplotsretval{4},
+}%
+
+
+
% make a linearized sequence around the edge of the quad.triangle.
% note the ordering: first 3 corners, then 3 mid nodes:
\def\pgfplots at qtri@next at A{D}%
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.smithchart.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -598,6 +598,9 @@
}
\let\pgfplotspoint at initialisation@units at orig=\pgfplotspoint at initialisation@units
\def\pgfplotspoint at initialisation@units at smithchart{%
+ \ifpgfplots at smithchart@mirrored
+ \pgfplots at warning{The key 'smithchart mirrored' is based on a mistake of the author. It does NOT resemble Admittance Smith charts!}%
+ \fi
\pgfplotspoint at initialisation@units at orig
\def\pgfplotspointunity{%
\pgfplotspointouternormalvectorofaxisgetv{0v0}% x=0 (outer circle) and v varies (the yticks)
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -407,7 +407,7 @@
}%
},%
/pgfplots/table/verb string type/.style={%
- /pgfplots/table/text special chars={\#,\|},% FIXME: too limited ...
+ /pgfplots/table/text special chars={\#,\|,\_},% FIXME: too limited ...
/pgfplots/table/assign cell content/.code={%
\def\pgfplotstable at loc@TMPa{##1}%
% hm... this here might be more robust instead of the line
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -62,6 +62,7 @@
\newif\ifpgfplots at tableread@to at listener
\newif\ifpgfplots at tableread@use at begingroup
\newif\ifpgfplotstable at trimcells
+\newif\ifpgfplotstable at percent@is at letter
\newif\ifpgfplotstable at search@path at implicit@CWD
\pgfkeys{%
@@ -146,6 +147,7 @@
/pgfplots/table/ignore chars/.initial=,
/pgfplots/table/white space chars/.initial=,
/pgfplots/table/text special chars/.initial=,
+ /pgfplots/table/percent is letter/.is if=pgfplotstable at percent@is at letter,
/pgfplots/table/comment chars/.initial=,
/pgfplots/table/skip first n/.initial=0,
/pgfplots/table/trim cells/.is if=pgfplotstable at trimcells,
@@ -156,6 +158,7 @@
/pgfplots/table/read completely/auto/.code=\pgfplots at addplotimpl@readcompletelyfalse\def\pgfplots at addplotimpl@readcompletely at auto{1},
/pgfplots/table/read completely/.default=true,
/pgfplots/table/read completely=auto,
+ /pgfplots/table/text indicator/.initial=,
/pgfplots/table/col sep/.is choice,
/pgfplots/table/col sep/space/.code = {\def\pgfplotstableread at COLSEP@CASE{0}},
/pgfplots/table/col sep/comma/.code = {\def\pgfplotstableread at COLSEP@CASE{1}},
@@ -651,6 +654,7 @@
\noexpand\catcode`\noexpand\ =\the\catcode`\ \noexpand\space
\noexpand\catcode`\noexpand\;=\the\catcode`\;\noexpand\space
\noexpand\catcode`\noexpand\:=\the\catcode`\:\noexpand\space
+ \noexpand\catcode`\noexpand\%=\the\catcode`\%\noexpand\space
\noexpand\catcode`\noexpand\^^I=\the\catcode`\^^I\noexpand\space
\noexpand\let\noexpand\pgfplotstablereadrestorecatcodes=\noexpand\relax
}%
@@ -664,6 +668,10 @@
\fi
}
\let\pgfplotstablereadrestorecatcodes=\relax
+
+% ATTENTION: the following catcodes are ONLY useful for <inline tables>!
+% tables read from file need catcode adaptions as well; this is done
+% elsewhere!
\def\pgfplotstablereadpreparecatcodes@{%
\if0\pgfplotstableread at ROWSEP@CASE\relax
% row sep = newline
@@ -1052,6 +1060,10 @@
\else
\pgfplotstableinstallignorechars@\pgfplotstable at loc@TMPa{12}%
\fi
+ \ifpgfplotstable at percent@is at letter
+ \def\pgfplotstable at loc@TMPa{\%}%
+ \pgfplotstableinstallignorechars@\pgfplotstable at loc@TMPa{12}%
+ \fi
\ifx\pgfplotstableuninstallignorechars\pgfutil at empty
\else
\expandafter\def\expandafter\pgfplotstableuninstallignorechars\expandafter{%
@@ -1115,6 +1127,8 @@
\pgfplotstableread at countreset\pgfplotstableread at curcol
%
\pgfplotstableread at impl@prepare at DO
+ \pgfplotstableread at impl@prepare at DO@textindicator
+ %
\def\pgfplotstableread at isgnuplotformat{0}%
\global\pgfplotslistnewempty\pgfplotstable at colnames@glob
\pgfplotsscanlinelengthinitzero
@@ -1218,6 +1232,7 @@
%\pgfplots at message{EOF}%
\else
\read\r at pgfplots@reada to\pgfplotstable at LINE
+%\message{read with \the\catcode`\%: \meaning\pgfplotstable at LINE^^J}%
\ifeof\r at pgfplots@reada
\else
\pgfplotstableread at loop@processnextline
@@ -1310,7 +1325,10 @@
\fi
\ifnum\pgfplotstableread at curcol=\pgfplotstableread at numcols\relax
\else
- \pgfplotsthrow{table columns unbalanced}{input table '\pgfplotstableread at filename' has an unbalanced number of columns in row '\thepgfplotstableread at lineno' (expected '\thepgfplotstableread at numcols' cols; got '\thepgfplotstableread at curcol'). Maybe the input table is corrupted? If you need unbalanced data, consider using 'nan' in empty cells (perhaps combined with 'unbounded coords=jump')}\pgfeov%
+ \begingroup
+ \t at pgfplots@tokc=\expandafter{\pgfplotstable at LINE}%
+ \pgfplotsthrow{table columns unbalanced}{input table '\pgfplotstableread at filename' has an unbalanced number of columns in row '\thepgfplotstableread at lineno' (expected '\thepgfplotstableread at numcols' cols; got '\thepgfplotstableread at curcol'). Maybe the input table is corrupted? If you need unbalanced data, consider using 'nan' in empty cells (perhaps combined with 'unbounded coords=jump'). The offending line is \the\t at pgfplots@tokc}\pgfeov%
+ \endgroup
\fi
\ifpgfplots at tableread@to at listener
\ifpgfplotstableread at curline@contains at colnames
@@ -1437,8 +1455,10 @@
\else
\let\pgfplotstableread at impl@ITERATE at NEXT@=#1\relax
\fi
+ %
\expandafter\pgfplotstableread at impl@DO@\expandafter{#2}%
}
+
{%
\catcode`\ =10
\catcode`\;=12
@@ -1480,6 +1500,62 @@
\fi
}%
}%
+\def\pgfplotstableread at impl@prepare at DO@textindicator{%
+ %
+ \pgfkeysgetvalue{/pgfplots/table/text indicator}\pgfplots at loc@TMPa
+ \ifx\pgfplots at loc@TMPa\pgfutil at empty
+ % ok, nothing special.
+ \else
+ % protect the text indicator such that it won't be expanded:
+ \t at pgfplots@tokc=\expandafter{\pgfplots at loc@TMPa}%
+ %
+ % compile macros which handle 'text indicator':
+ \let\pgfplotstableread at impl@ITERATE at NEXT@aftertextindicator=\pgfplotstableread at impl@ITERATE at NEXT
+ \edef\pgfplotstableread at impl@ITERATE at NEXT{%
+ % check if the cell starts with a text indicator:
+ \noexpand\pgfplotstableread at impl@ITERATE at NEXT@checkindicator{\the\t at pgfplots@tokc}%
+ }%
+ \edef\pgfplots at loc@TMPb{%
+ % compile this macro which reads everything up to the next
+ % text indicator char:
+ \noexpand\def\noexpand\pgfplotstableread at impl@ITERATE at NEXT@collect at text####1\the\t at pgfplots@tokc{%
+ % append. we assume that 'tokc' has been reset before
+ % starting to collect the cell content.
+ \t at pgfplots@tokc=\noexpand\expandafter{\noexpand\the\t at pgfplots@tokc####1}%
+ \noexpand\pgfutil at ifnextchar{\the\t at pgfplots@tokc}{%
+ % ah - a doubled text indicator. gobble this one
+ % and collect the following one!
+ \noexpand\pgfplotstableread at impl@ITERATE at NEXT@collect at text@collect at one
+ }{%
+ % ok, we found the entire cell content.
+ \noexpand\pgfplotstableread at impl@ITERATE at NEXT@collect at text@finish
+ }%
+ }%
+ }%
+ \pgfplots at loc@TMPb
+ %
+ \ifcase\pgfplotstableread at COLSEP@CASE\relax
+ \let\pgfplotstableread at impl@ITERATE at NEXT@collect at text@finish=\pgfplotstableread at impl@ITERATE at NEXT@collect at text@finish at APPENDSPACE
+ \fi
+ \fi
+}
+
+\def\pgfplotstableread at impl@ITERATE at NEXT@collect at text@collect at one#1{%
+ \t at pgfplots@tokc=\expandafter{\the\t at pgfplots@tokc#1}%
+ \pgfplotstableread at impl@ITERATE at NEXT@collect at text
+}%
+\def\pgfplotstableread at impl@ITERATE at NEXT@collect at text@finish{%
+ % enclose the collected items into curly braces. This suppresses
+ % interpretation of extra chars:
+ \expandafter\pgfplotstableread at impl@ITERATE at NEXT@aftertextindicator\expandafter{\expandafter{\the\t at pgfplots@tokc}}%
+}%
+\def\pgfplotstableread at impl@ITERATE at NEXT@collect at text@finish at APPENDSPACE{%
+ % enclose the collected items into curly braces. This suppresses
+ % interpretation of extra chars:
+ \expandafter\pgfplotstableread at impl@ITERATE at NEXT@aftertextindicator\expandafter{\expandafter{\the\t at pgfplots@tokc}} %
+}%
+
+
\long\def\pgfplotstableread at impl@ITERATE{%
\pgfutil at ifnextchar\pgfplotstable at EOI{%
\pgfplotstableread at impl@gobble
@@ -1487,6 +1563,24 @@
\pgfplotstableread at impl@ITERATE at NEXT
}%
}%
+
+\def\pgfplotstableread at impl@ITERATE at NEXT@checkindicator#1{%
+ \pgfutil at ifnextchar{#1}{%
+ % Ah! Our cell starts with a text indicator! Assume it is
+ % enclosed by text indicators.
+ \pgfplotstableread at impl@ITERATE at NEXT@checkindicator at gobble@one%
+ }{%
+ % ok, Cell does not start with a text indicator. collect
+ % as-is, assuming that a text indicator does not simply occur
+ % within a cell which is not enclosed by text indicators:
+ \pgfplotstableread at impl@ITERATE at NEXT@aftertextindicator
+ }%
+}%
+\def\pgfplotstableread at impl@ITERATE at NEXT@checkindicator at gobble@one#1{%
+ \t at pgfplots@tokc={}%
+ \pgfplotstableread at impl@ITERATE at NEXT@collect at text%
+}%
+
\long\def\pgfplotstableread at impl@ITERATE at NEXT#1 {%
\pgfplotstableread at impl@ITERATE at NEXT@{#1}%
\pgfplotstableread at impl@ITERATE
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -113,8 +113,23 @@
}%
\fi
+\pgfutil at IfUndefined{pgfmathifexpression}{%
+ \def\pgfmathifexpression#1#2#3{%
+ \pgfmathparse{#1}%
+ \pgfmath at iftrue{#2}{#3}%
+ }
+ \def\pgfmath at iftrue{%
+ \ifdim\pgfmathresult pt=1.0pt %
+ \let\pgfmath at next=\pgfutil at firstoftwo
+ \else
+ \let\pgfmath at next=\pgfutil at secondoftwo
+ \fi
+ \pgfmath at next
+ }%
+ \gdef\pgfplots at glob@TMPa{1}%
+}{}%
-\pgfutil at ifundefined{pgfmathfloat at stack@push at operand@single at str}{
+\pgfutil at ifundefined{pgfmathfloat at iftrue@}{
\gdef\pgfplots at glob@TMPa{1}%
}
{}%
@@ -358,4 +373,8 @@
\input pgfplotsoldpgfsupp_leq.code.tex
}{}%
+\pgfutil at IfUndefined{pgfutilifstartswith}{%
+ \let\pgfutilifstartswith=\pgfplotsutilifstartswith
+}{}
+
\endinput
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -87,26 +87,6 @@
\let\pgfutil at insertatbegincurrentpagefrombox=\pgfutil at insertatbegincurrentpagefrombox@FIXED
\fi
-% check if \endtikzpicture deals with layerlist:
-\expandafter\pgfutil at in@\expandafter\pgf at remember@layerlist at globally\expandafter{\endtikzpicture}%
-\ifpgfutil at in@
-\else
- \def\endtikzpicture{%
- \tikz at atend@picture%
- \global\let\pgf at shift@baseline at smuggle=\pgf at baseline%
- \global\let\pgf at trimleft@final at smuggle=\pgf at trimleft%
- \global\let\pgf at trimright@final at smuggle=\pgf at trimright%
- \global\let\pgf at remember@smuggle=\ifpgfrememberpicturepositiononpage%
- \pgf at remember@layerlist at globally
- \endscope%
- \let\pgf at baseline=\pgf at shift@baseline at smuggle%
- \let\pgf at trimleft=\pgf at trimleft@final at smuggle%
- \let\pgf at trimright=\pgf at trimright@final at smuggle%
- \let\ifpgfrememberpicturepositiononpage=\pgf at remember@smuggle%
- \pgf at restore@layerlist at from@global
- \endpgfpicture}
-\fi
-
% ======================================================
% compatibility with PGF 2.0
% ======================================================
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -19,7 +19,7 @@
% with the deployment of this patch or partial content of PGF. Note that the author and/or maintainer of pgfplots has no obligation to fix anything:
% This file comes without any warranty as the rest of pgfplots; there is no obligation for help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Date of this copy: Fr 10. Nov 17:18:26 CET 2017 %%%
+%%% Date of this copy: Mo 30. Apr 17:24:35 CEST 2018 %%%
@@ -95,9 +95,18 @@
% process. If 'scale results' is active, 'fixed' is assumed
% automatically.
fpu/output format/.is choice,
- fpu/output format/float/.code= {\let\pgfmathfloatparse at output=\relax},
- fpu/output format/sci/.code= {\def\pgfmathfloatparse at output{\pgfmathfloattosci@{\pgfmathresult}}},
- fpu/output format/fixed/.code= {\def\pgfmathfloatparse at output{\pgfmathfloattofixed@{\pgfmathresult}}},
+ fpu/output format/float/.code= {%
+ \def\pgfmathfloatparse at output@choice{Y}%
+ \let\pgfmathfloatparse at output=\relax
+ },
+ fpu/output format/sci/.code= {%
+ \def\pgfmathfloatparse at output@choice{S}%
+ \def\pgfmathfloatparse at output{\pgfmathfloattosci@{\pgfmathresult}}%
+ },
+ fpu/output format/fixed/.code= {%
+ \def\pgfmathfloatparse at output@choice{F}%
+ \def\pgfmathfloatparse at output{\pgfmathfloattofixed@{\pgfmathresult}}%
+ },
fpu/output format/float,
fpu/rel thresh/.code={%
\pgfmathfloatparsenumber{#1}%
@@ -108,6 +117,8 @@
\pgfmathfloatcreate{1}{1.0}{0}\let\pgfmathfloatscale=\pgfmathresult
+\let\pgfmathfloatone=\pgfmathresult
+
% This is the replacement parser invocation.
% It does two things which are different to \pgfmathparse:
% 1. it disables any dimension dependand scalings,
@@ -285,6 +296,7 @@
\pgfmathfloat at install\pgfmathcosh@=\pgfmathfloatcosh@
\pgfmathfloat at install\pgfmathsinh@=\pgfmathfloatsinh@
\pgfmathfloat at install\pgfmathtanh@=\pgfmathfloattanh@
+ \pgfmathfloat at install\pgfmath at iftrue=\pgfmathfloat at iftrue
\expandafter\pgfmathfloat at install\csname pgfmathatan2@\endcsname=\pgfmathfloatatantwo@
\pgfmathfloat at install@unimplemented{isprime}%
\pgfmathfloat at install@unimplemented{iseven}%
@@ -302,6 +314,38 @@
\pgfmathfloat at install\pgfmathscientific=\pgfmathfloatscientific%
}
+\def\pgfmathfloat at iftrue{%
+ \if Y\pgfmathfloatparse at output@choice
+ \let\pgfmathfloat@@iftrue at v=\pgfmathfloatone
+ \let\pgfmathfloat@@iftrue at next=\pgfmathfloat at iftrue@
+ \else
+ \if S\pgfmathfloatparse at output@choice
+ \def\pgfmathfloat@@iftrue at v{1.0e0}%
+ \let\pgfmathfloat@@iftrue at next=\pgfmathfloat at iftrue@
+ \else
+ \def\pgfmath at next{\pgfutilifstartswith{1.0}}%
+ \expandafter\pgfmath at next\expandafter{\pgfmathresult}{%
+ \ifdim\pgfmathresult pt=1.0pt %
+ \let\pgfmathfloat@@iftrue at next=\pgfutil at firstoftwo
+ \else
+ \let\pgfmathfloat@@iftrue at next=\pgfutil at secondoftwo
+ \fi
+ }{%
+ \let\pgfmathfloat@@iftrue at next=\pgfutil at secondoftwo
+ }%
+ \fi
+ \fi
+ \pgfmathfloat@@iftrue at next
+}%
+\def\pgfmathfloat at iftrue@{%
+ \ifx\pgfmathresult\pgfmathfloat@@iftrue at v
+ \let\pgfmath at next=\pgfutil at firstoftwo
+ \else
+ \let\pgfmath at next=\pgfutil at secondoftwo
+ \fi
+ \pgfmath at next
+}%
+
\def\pgfmathfloat at parser@install{%
\pgfmathfloat at plots@checkuninstallcmd
\pgfmathfloat at plots@install%
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -19,7 +19,7 @@
% with the deployment of this patch or partial content of PGF. Note that the author and/or maintainer of pgfplots has no obligation to fix anything:
% This file comes without any warranty as the rest of pgfplots; there is no obligation for help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Date of this copy: Mi 8. Feb 20:49:06 CET 2017 %%%
+%%% Date of this copy: Mo 30. Apr 17:24:35 CEST 2018 %%%
@@ -33,7 +33,7 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
%
-% $Id: pgflibraryluamath.code.tex,v 1.20 2015/06/05 06:23:21 cfeuersaenger Exp $
+% $Id$
%
%
% This is a library for a LUA math parser and LUA math operations.
@@ -223,12 +223,16 @@
\else
\let\pgfluamath at pgfmathparse\pgfmathparse
\let\pgfmathparse\pgfluamathparse
+ \let\pgfmath at iftrue=\pgfmathluamath at iftrue
\pgfluamathparseractivetrue
\fi}
+\let\pgfmath at iftrue@basic=\pgfmath at iftrue
+
\def\pgfluamath at makeparserinactive{%
\ifpgfluamathparseractive
\let\pgfmathparse\pgfluamath at pgfmathparse
+ \let\pgfmath at iftrue=\pgfmath at iftrue@basic
\pgfluamathparseractivefalse
\fi}
@@ -320,6 +324,7 @@
\pgfluamath at install@function\pgfmathsubtract@=\pgfluamathsubtract@%
\pgfluamath at install@function\pgfmathneg@=\pgfluamathneg@%
\pgfluamath at install@function\pgfmathmultiply@=\pgfluamathmultiply@%
+ \pgfmathfloat at install\pgfmath at iftrue=\pgfmathluamath at iftrue
\pgfluamath at install@function\pgfmathdivide@=\pgfluamathdivide@%
% \pgfluamath at install@function\pgfmathdiv@=\pgfluamathdiv@%
\pgfluamath at install@function\pgfmathfactorial@=\pgfluamathfactorial@%
@@ -400,6 +405,25 @@
\def\pgfluamathgetresult#1{%
\edef\pgfmathresult{\pgfutil at directlua{tex.print(-1,#1)}}}
+\def\pgfmathluamath at iftrue{%
+ \if 0\pgfluamath at outputformat@choice
+ \let\pgfmathluamath@@iftrue at v=\pgfluamathone
+ \else
+ \let\pgfmathluamath@@iftrue at v=\pgfluamathfloatone
+ \fi
+ \pgfmathluamath at iftrue@
+}%
+\def\pgfluamathone{1.0}%
+\def\pgfluamathfloatone{1Y1.0e+00]}%
+\def\pgfmathluamath at iftrue@#1#2{%
+ \ifx\pgfmathresult\pgfmathluamath@@iftrue at v
+ \def\pgfmath at next{#1}%
+ \else
+ \def\pgfmath at next{#2}%
+ \fi
+ \pgfmath at next
+}%
+
\def\pgfluamathpi@{%
\pgfluamathgetresult{pgfluamathfunctions.pi()}}
\def\pgfluamathe@{%
@@ -543,15 +567,15 @@
\def\pgfluamathparse#1{%
\pgfluamathusedTeXfallbackfalse
\pgfutil at directlua{pgfluamathparser.texCallParser(
- "\pgfutil at luaescapestring{#1}",
- \pgfluamath at outputformat@choice,
- \ifpgfluamathshowerrormessage true\else false\fi)%
+ "\pgfutil at luaescapestring{#1}",
+ \pgfluamath at outputformat@choice,
+ \ifpgfluamathshowerrormessage true\else false\fi)%
}%
\ifx\pgfmathresult\pgfutil at empty
- \ifpgfluamathenableTeXfallback
- \pgfluamathusedTeXfallbacktrue
- \pgfluamath at pgfmathparse{#1}%
- \fi
+ \ifpgfluamathenableTeXfallback
+ \pgfluamathusedTeXfallbacktrue
+ \pgfluamath at pgfmathparse{#1}%
+ \fi
\fi
}
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -19,7 +19,7 @@
% with the deployment of this patch or partial content of PGF. Note that the author and/or maintainer of pgfplots has no obligation to fix anything:
% This file comes without any warranty as the rest of pgfplots; there is no obligation for help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Date of this copy: Fr 10. Nov 17:18:26 CET 2017 %%%
+%%% Date of this copy: Mo 30. Apr 17:24:35 CEST 2018 %%%
@@ -95,7 +95,7 @@
% [FLAGS] MANTISSE EXPONENT
% meaning
% [+-]X.XXXXXXX*10^C
-% where
+% where
% X.XXXXXX is a mantissa with first number != 0, C is an integer and
% FLAGS contains the sign and some other special cases.
%
@@ -103,7 +103,7 @@
% computation is COMPLETELY STRING BASED.
% This allows numbers such at 10000000 or 5.23e-10 to be represented
% properly, although TeX-registers would produce overflow/underflow
-% errors in these cases.
+% errors in these cases.
%
% It is to be used to compute logs, because log(X*10^Y) = log(X) + log(10)*Y
%
@@ -124,7 +124,7 @@
% where
% FLAGS is a number in [0-5] where
% 0 == '0' (the number is +- 0.0),
-% 1 == '+',
+% 1 == '+',
% 2 == '-',
% 3 == 'not a number'
% 4 == '+ infinity'
@@ -419,7 +419,7 @@
% Converts a float to an integer (in integer format).
%
-% @see \pgfmathfloatint
+% @see \pgfmathfloatint
\def\pgfmathfloattoint#1{%
\pgfmathfloattofixed{#1}%
\expandafter\pgfmathfloattoint@@\pgfmathresult\relax
@@ -521,7 +521,7 @@
}
-% Overloaded method.
+% Overloaded method.
%
% This variant always uses a FIXED number behind the period and fills
% in zeros if necessary.
@@ -707,7 +707,7 @@
% \else
% \pgfmath at error{INTERNAL ERROR in fixed style - The input sequence did not terminate as expected; which indicates a wrong exponent argument provided to \string\pgfmathprintnumber at fixed@style}{}%
% \fi
- %--------------------------------------------------
+ %--------------------------------------------------
\let\pgfmathprintnumber at fixed@styleDEFAULT at impl@noperiod at NEXT=\relax
\fi
\pgfmathprintnumber at fixed@styleDEFAULT at impl@noperiod at NEXT
@@ -782,7 +782,7 @@
% Arguments:
% #1#2#3e#4\relax
-% Input:
+% Input:
% #1 the fixed point number to be displayed (maybe a macro).
% #2#3e#4: the (possibly unformatted) floating point representation
% which belongs to #1. This format is returned (only!) by
@@ -791,7 +791,7 @@
\let\pgfmathprintnumber at fixed@style=\pgfmathprintnumber at fixed@styleDEFAULT
-% Rounds a normalized floating point number to \pgfmathfloat at round@precision
+% Rounds a normalized floating point number to \pgfmathfloat at round@precision
% digits precision and writes the result to \pgfmathresult.
%
% This method uses \pgfmathroundto for the mantissa.
@@ -836,7 +836,7 @@
% #2: mantissa
% #3: exponent
% #4: CODE to display if the mantissa is drawn.
-% This code will be shown just before the exponent.
+% This code will be shown just before the exponent.
% Example: #4=\cdot
% #5: CODE to display if the mantissa is NOT draw. (unused currently)
% Might be used to display '10^1' instead of '1*10^1'.
@@ -1160,7 +1160,7 @@
\if0\pgfmathprintnumber at RELATIVE@choice at roundtofixed
% relative round mode=mantissa
\def\b at round@fixed{0}%
- \else
+ \else
\if1\pgfmathprintnumber at RELATIVE@choice at roundtofixed
% relative round mode=fixed
\def\b at round@fixed{1}%
@@ -1196,7 +1196,7 @@
\fi
\edef\pgfmathresultX{%
\the\pgfmathfloat at a@S
- \the\pgfmathfloat at a@Mtok
+ \the\pgfmathfloat at a@Mtok
\ifpgfmathfloatroundhasperiod\else.0\fi
e\the\pgfmathfloat at a@E}%
% call another formatter for the result (but avoid rounding inside of it):
@@ -1235,7 +1235,7 @@
\fi
\edef\pgfmathresultX{%
\the\pgfmathfloat at a@S
- \the\pgfmathfloat at a@Mtok
+ \the\pgfmathfloat at a@Mtok
\ifpgfmathfloatroundhasperiod\else.0\fi
e\the\pgfmathfloat at a@E}%
\let\pgfmathfloat at round@precision at orig=\pgfmathfloat at round@precision
@@ -1705,7 +1705,7 @@
\pgfkeys{/pgf/number format/std}
%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
+%
% IMPL
%
%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1747,7 +1747,7 @@
% \pgfmathroundto implementation in WORDS:
%
-% coarse idea:
+% coarse idea:
% 1. collect all digits/sign BEFORE the first period in REVERSE order
% 2. then, collect UP TO \prec digits after the period in REVERSE order
% Steps 1. and 2. lead to the digit [sign] sequence
@@ -1781,7 +1781,7 @@
% fi
% ++q
% if q=0
-% discard the period
+% discard the period
% fi
% end while
% if q = r+1
@@ -1991,7 +1991,7 @@
\fi
}
-% PRECONDITION:
+% PRECONDITION:
% \c at pgfmathroundto@lastzeros > 0
\def\pgfmathroundto at impl@discard at suffix@zeros at ITERATE#1{%
\advance\c at pgfmathroundto@lastzeros by-1
@@ -2183,7 +2183,7 @@
% \pgfmathfloattofixed at impl@collectmantissa#2\count\pgfmathfloat at a@E
% \edef\pgfmathresult{\the\pgfmathfloat at a@Mtok}%
% \fi
- %--------------------------------------------------
+ %--------------------------------------------------
\pgfmathfloat at a@Mtok{#1}%
\pgfmathfloattofixed at impl@pos#2000000000\pgfmathfloat at EOI
\edef\pgfmathresult{\the\pgfmathfloat at a@Mtok}%
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -3187,59 +3187,14 @@
/pgfplots/scatter/true*,%
/pgfplots/set point meta if empty=f(x),%
scatter/@post marker code/.append code={%
- % determine default alignment:
- \pgfkeysgetvalue{/pgfplots/nodes near coords align}{\pgfplots at nodes@near at coords@align}%
- \edef\pgfplots at nodes@near at coords@align{\pgfplots at nodes@near at coords@align}%
- \def\pgfplots at loc@TMPa{auto}%
- \ifx\pgfplots at nodes@near at coords@align\pgfplots at loc@TMPa
- \def\pgfplots at loc@TMPa{x}%
- \ifx\pgfplotspointmetainputhandler\pgfplots at loc@TMPa%
- % point meta=x:
- \def\pgfplots at nodes@near at coords@align{horizontal}%
- \else
- \def\pgfplots at nodes@near at coords@align{vertical}%
- \fi
- \fi
- % check for sign-dependand alignment options:
- \def\pgfplots at loc@TMPa{horizontal}%
- \ifx\pgfplots at nodes@near at coords@align\pgfplots at loc@TMPa
- \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
- \def\pgfplots at nodes@near at coords@align{above}%
- \else
- \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
- % \pgfplotspointmeta < 0
- \def\pgfplots at nodes@near at coords@align{left}%
- }{%
- % \pgfplotspointmeta >= 0
- \def\pgfplots at nodes@near at coords@align{right}%
- }%
- \fi
- \else
- \def\pgfplots at loc@TMPa{vertical}%
- \ifx\pgfplots at nodes@near at coords@align\pgfplots at loc@TMPa
- \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
- \def\pgfplots at nodes@near at coords@align{above}%
- \else
- \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
- % \pgfplotspointmeta < 0
- \def\pgfplots at nodes@near at coords@align{below}%
- }{%
- % \pgfplotspointmeta >= 0
- \def\pgfplots at nodes@near at coords@align{above}%
- }%
- \fi
- \else
- \pgfutil at ifundefined{pgfplots at nodesnearcoordsalign@isanchor@\pgfplots at nodes@near at coords@align}
- {}%
- {%
- \t at pgfplots@toka=\expandafter{\pgfplots at nodes@near at coords@align}%
- \edef\pgfplots at nodes@near at coords@align{anchor=\the\t at pgfplots@toka}%
- }%
- \fi
- \fi
% ok, place the node.
- \expandafter\node\expandafter[\pgfplots at nodes@near at coords@align,%
- /pgfplots/every node near coord]
+ \t at pgfplots@tokb=\expandafter{\pgfplots at current@point at coordinatestyle}% see 'coordinate style'%
+ \edef\pgfplots at loc@TMPa{%
+ /pgfplots/nodes near coords/@@eval alignment,%
+ \the\t at pgfplots@tokb,%
+ /pgfplots/every node near coord%
+ }%
+ \expandafter\node\expandafter[\pgfplots at loc@TMPa]%
{%
\if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
% point meta=explicit symbolic
@@ -3359,7 +3314,7 @@
/pgfplots/scatter/@pre marker code/.append code={%
\edef\pgfplots at loc@TMPa{\noexpand\pgfutil at definecolor{mapped color}{#1}{\pgfplotspointmeta}}%
\pgfplots at loc@TMPa
- \scope[#2]%
+ \pgfplots at scope@with at coord@styles[#2]%
},%
/pgfplots/scatter/@post marker code/.prefix code={%
\endscope
@@ -3381,6 +3336,31 @@
/pgfplots/scatter cmyk*/.style={/pgfplots/scatter explicit color*={cmyk}{#1}},
/pgfplots/scatter cmyk*/.default={draw=mapped color!80!black,fill=mapped color},
%
+ %
+ % allows to specify something like
+ % coordinate style/.condition={x==4}{color=red},
+ % coordinate style/.condition={x > 5}{color=black, mark=*},
+ % it is only evaluated in specific plot handlers.
+ % Each conditionession is added to the available list.
+ /pgfplots/coordinate style/.condition/.code 2 args={%
+ \pgfplotsapplistXpushback{E}{#1}{#2},\to\pgfplots at coordinate@style at list
+ \def\b at has@pgfplots at colordinate@style{1}%
+ },
+ % example:
+ % coordinate style/.from={\thisrow{row with styles}},
+ /pgfplots/coordinate style/.from/.code={%
+ \pgfplotsapplistXpushback{V}{#1}{},\to\pgfplots at coordinate@style at list
+ \def\b at has@pgfplots at colordinate@style{1}%
+ },
+ % clears all such styles.
+ /pgfplots/coordinate style/.clear/.code={%
+ \pgfplotsapplistXnewempty{\pgfplots at coordinate@style at list}%
+ \def\b at has@pgfplots at colordinate@style{0}%
+ },
+ /pgfplots/coordinate style/.clear,%
+ %
+ %
+ %
/pgfplots/visualization depends on/list/.initial=,%
/pgfplots/visualization depends on/.style={%
/pgfplots/visualization depends on/list/.add={}{,{#1}}%
@@ -4110,7 +4090,7 @@
/pgfplots/const color of colormap/.code={%
\pgfplots at color@of at colormap{const color of colormap={#1}}%
},%
- /tikz/color of colormap/.style={/pgfplots/color of colormap={#1}},
+ /tikz/const color of colormap/.style={/pgfplots/const color of colormap={#1}},
% index of colormap={4}
% index of colormap={4 of viridis}
/pgfplots/index of colormap/.code={%
@@ -4174,7 +4154,7 @@
/pgfplots/scatter/use mapped color*/.style={
/pgfplots/scatter/@pre marker code/.append code={
\pgfplotscolormapdefinemappedcolor\pgfplotspointmetatransformed
- \scope[#1]%
+ \pgfplots at scope@with at coord@styles[#1]%
},
/pgfplots/scatter/@post marker code/.prefix code={\endscope}
},
@@ -4337,6 +4317,7 @@
/pgfplots/compat/anchors/1.14/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/1.15/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/1.16/.style= {/pgfplots/compat/anchors/1.13},%
+ /pgfplots/compat/anchors/1.17/.style= {/pgfplots/compat/anchors/1.13},%
/pgfplots/compat/anchors/default/.style={/pgfplots/compat/anchors/1.3},%
%
/pgfplots/compat/empty line/.is choice,
@@ -4356,6 +4337,7 @@
/pgfplots/compat/empty line/1.14/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/1.15/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/1.16/.style= {/pgfplots/compat/empty line/1.4},%
+ /pgfplots/compat/empty line/1.17/.style= {/pgfplots/compat/empty line/1.4},%
/pgfplots/compat/empty line/default/.style= {/pgfplots/compat/empty line/1.4},%
%
/pgfplots/compat/path replacement/.is choice,
@@ -4375,6 +4357,7 @@
/pgfplots/compat/path replacement/1.14/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/1.15/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/1.16/.style= {/pgfplots/compat/path replacement/1.5.1},
+ /pgfplots/compat/path replacement/1.17/.style= {/pgfplots/compat/path replacement/1.5.1},
/pgfplots/compat/path replacement/default/.style= {/pgfplots/compat/path replacement/pre 1.3},%
%
/pgfplots/compat/pgfpoint substitution/.is choice,
@@ -4394,6 +4377,7 @@
/pgfplots/compat/pgfpoint substitution/1.14/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/1.15/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/1.16/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
+ /pgfplots/compat/pgfpoint substitution/1.17/.style= {/pgfplots/compat/pgfpoint substitution/1.11},
/pgfplots/compat/pgfpoint substitution/default/.style= {/pgfplots/compat/pgfpoint substitution/pre 1.3},%
%ellipse/.is if=pgfplots at path@replace at ellipse,
%
@@ -4423,6 +4407,7 @@
/pgfplots/compat/labels/1.14/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/1.15/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/1.16/.style= {/pgfplots/compat/labels/1.8},%
+ /pgfplots/compat/labels/1.17/.style= {/pgfplots/compat/labels/1.8},%
/pgfplots/compat/labels/default/.style= {/pgfplots/compat/labels/pre 1.3},% maintain backwards compatibility
%
/pgfplots/compat/bar nodes/.is choice,
@@ -4477,6 +4462,7 @@
/pgfplots/compat/bar nodes/1.14/.style= {/pgfplots/compat/bar nodes/1.13},%
/pgfplots/compat/bar nodes/1.15/.style= {/pgfplots/compat/bar nodes/1.13},%
/pgfplots/compat/bar nodes/1.16/.style= {/pgfplots/compat/bar nodes/1.13},%
+ /pgfplots/compat/bar nodes/1.17/.style= {/pgfplots/compat/bar nodes/1.13},%
/pgfplots/compat/bar nodes/default/.style= {/pgfplots/compat/bar nodes/pre 1.3},% maintain backwards compatibility
/pgfplots/compat/bar nodes/default,
%
@@ -4511,6 +4497,7 @@
/pgfplots/compat/scaling/1.14/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/1.15/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/1.16/.style={/pgfplots/compat/scaling/1.6},
+ /pgfplots/compat/scaling/1.17/.style={/pgfplots/compat/scaling/1.6},
/pgfplots/compat/scaling/default/.style={/pgfplots/compat/scaling/1.4},
%
/pgfplots/compat/scale mode/.is choice,
@@ -4530,6 +4517,7 @@
/pgfplots/compat/scale mode/1.14/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/1.15/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/1.16/.style={/pgfplots/compat/scale mode/1.6},
+ /pgfplots/compat/scale mode/1.17/.style={/pgfplots/compat/scale mode/1.6},
/pgfplots/compat/scale mode/default/.style={/pgfplots/compat/scale mode/1.5},
%
%
@@ -4550,6 +4538,7 @@
/pgfplots/compat/plot3graphics/1.14/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/1.15/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/1.16/.style= {/pgfplots/compat/plot3graphics/1.6},%
+ /pgfplots/compat/plot3graphics/1.17/.style= {/pgfplots/compat/plot3graphics/1.6},%
/pgfplots/compat/plot3graphics/default/.style= {/pgfplots/compat/plot3graphics/1.5},%
%
% ATTENTION: there is a compatibility issue which slipped through
@@ -4596,6 +4585,7 @@
/pgfplots/compat/bar width by units/1.14/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/1.15/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/1.16/.style= {/pgfplots/compat/bar width by units/1.7},
+ /pgfplots/compat/bar width by units/1.17/.style= {/pgfplots/compat/bar width by units/1.7},
/pgfplots/compat/bar width by units/default/.style={/pgfplots/compat/bar width by units/pre 1.3},
%
/pgfplots/compat/BB/.is choice,
@@ -4615,6 +4605,7 @@
/pgfplots/compat/BB/1.14/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/1.15/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/1.16/.style= {/pgfplots/compat/BB/1.8},%
+ /pgfplots/compat/BB/1.17/.style= {/pgfplots/compat/BB/1.8},%
/pgfplots/compat/BB/default/.style={/pgfplots/compat/BB/pre 1.3},
%
/pgfplots/compat/general/.is choice,
@@ -4630,6 +4621,7 @@
/pgfplots/colorbar=false,
/pgfplots/3d log sampling=false,
/pgfplots/clip limits compat=true,
+ /pgfplots/table/percent is letter=false,
},%
/pgfplots/compat/general/1.3/.style= {/pgfplots/compat/general/pre 1.3},
/pgfplots/compat/general/1.4/.style= {/pgfplots/compat/general/pre 1.3},%
@@ -4674,6 +4666,10 @@
/pgfplots/clip limits compat=false,
},%
/pgfplots/compat/general/1.16/.style= {/pgfplots/compat/general/1.15},%
+ /pgfplots/compat/general/1.17/.style= {
+ /pgfplots/compat/general/1.15,
+ %/pgfplots/table/percent is letter=true,
+ },%
/pgfplots/compat/general/default/.style={/pgfplots/compat/general/1.11},
%
/pgfplots/enable tick line clipping/.is if=pgfplots at enable@tick at line@clipping,
@@ -4691,7 +4687,7 @@
/pgfplots/compat/show suggested version/.is if=pgfplots at show@suggested at version,
/pgfplots/compat/show suggested version=true,
/pgfplots/compat/current/.initial=,
- /pgfplots/compat/mostrecent/.initial=1.16,
+ /pgfplots/compat/mostrecent/.initial=1.17,
/utils/exec={%
\pgfplotsutilforeachcommasep{%
/pgfplots/compat/current,%
@@ -4838,6 +4834,60 @@
\def\pgfplots at tickwidth{\pgfkeysvalueof{/pgfplots/major tick length}}%
\def\pgfplots at subtickwidth{\pgfkeysvalueof{/pgfplots/minor tick length}}%
+\pgfkeysdef{/pgfplots/nodes near coords/@@eval alignment}{%
+ % determine default alignment:
+ \pgfkeysgetvalue{/pgfplots/nodes near coords align}{\pgfplots at nodes@near at coords@align}%
+ \edef\pgfplots at nodes@near at coords@align{\pgfplots at nodes@near at coords@align}%
+ \def\pgfplots at loc@TMPa{auto}%
+ \ifx\pgfplots at nodes@near at coords@align\pgfplots at loc@TMPa
+ \def\pgfplots at loc@TMPa{x}%
+ \ifx\pgfplotspointmetainputhandler\pgfplots at loc@TMPa%
+ % point meta=x:
+ \def\pgfplots at nodes@near at coords@align{horizontal}%
+ \else
+ \def\pgfplots at nodes@near at coords@align{vertical}%
+ \fi
+ \fi
+ % check for sign-dependand alignment options:
+ \def\pgfplots at loc@TMPa{horizontal}%
+ \ifx\pgfplots at nodes@near at coords@align\pgfplots at loc@TMPa
+ \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
+ \def\pgfplots at nodes@near at coords@align{above}%
+ \else
+ \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
+ % \pgfplotspointmeta < 0
+ \def\pgfplots at nodes@near at coords@align{left}%
+ }{%
+ % \pgfplotspointmeta >= 0
+ \def\pgfplots at nodes@near at coords@align{right}%
+ }%
+ \fi
+ \else
+ \def\pgfplots at loc@TMPa{vertical}%
+ \ifx\pgfplots at nodes@near at coords@align\pgfplots at loc@TMPa
+ \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname%
+ \def\pgfplots at nodes@near at coords@align{above}%
+ \else
+ \pgfplotscoordmath{meta}{if is}{\pgfplotspointmeta}{-}{%
+ % \pgfplotspointmeta < 0
+ \def\pgfplots at nodes@near at coords@align{below}%
+ }{%
+ % \pgfplotspointmeta >= 0
+ \def\pgfplots at nodes@near at coords@align{above}%
+ }%
+ \fi
+ \else
+ \pgfutil at ifundefined{pgfplots at nodesnearcoordsalign@isanchor@\pgfplots at nodes@near at coords@align}
+ {}%
+ {%
+ \t at pgfplots@toka=\expandafter{\pgfplots at nodes@near at coords@align}%
+ \edef\pgfplots at nodes@near at coords@align{anchor=\the\t at pgfplots@toka}%
+ }%
+ \fi
+ \fi
+ \expandafter\pgfkeysalso\expandafter{\pgfplots at nodes@near at coords@align}%
+}%
+
\begingroup
\pgfkeys{/pgfplots/colorbar pgfshading}
\pgfkeysgetvalue{/pgfplots/colorbar/draw/. at cmd}\pgfplots at loc@TMPa
@@ -4887,6 +4937,18 @@
\pgfplots at cmdkey@alias ztick style=z tick style;
+\def\pgfplots at scope@with at coord@styles[#1]{%
+ \if1\b at has@pgfplots at colordinate@style
+ \def\pgfplots at loc@TMPa{\scope[#1}%
+ \t at pgfplots@toka=\expandafter{\pgfplots at loc@TMPa}%
+ \t at pgfplots@tokb=\expandafter{\pgfplots at current@point at coordinatestyle}%
+ \edef\pgfplots at loc@TMPa{\the\t at pgfplots@toka,\the\t at pgfplots@tokb]}%
+ \else
+ \def\pgfplots at loc@TMPa{\scope[#1]}%
+ \fi
+ \pgfplots at loc@TMPa
+}%
+
% A backwards compatibility method which works as follows:
% if any user specified arguments exist for the 'domain' or 'samples
% at' or 'samples' keys, nothing is done.
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -323,7 +323,7 @@
}{%
\expandafter\let\expandafter\pgfplots at loc@TMPa\csname pgfp at scatter@class@\pgfplotspointmeta\endcsname
}%
- \expandafter\scope\expandafter[\pgfplots at loc@TMPa]%
+ \expandafter\pgfplots at scope@with at coord@styles\expandafter[\pgfplots at loc@TMPa]%
}%
% validates 'mark layer' such that it can be queried afterwards.
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -30,17 +30,20 @@
\def\pgfplots at install@path at replacements{%
\ifpgfplots at path@replace at ellipse
\let\tikz at do@circle=\pgfplots at path@@tikz at do@circle
+ \let\tikz at do@ellipse=\pgfplots at path@@tikz at do@ellipse
\expandafter\def\expandafter\pgfinterruptpicture\expandafter{\pgfinterruptpicture
\let\tikz at do@circle=\pgfplots at path@@tikz at do@circle at orig
+ \let\tikz at do@ellipse=\pgfplots at path@@tikz at do@ellipse at orig
}%
\fi
}%
\let\pgfplots at path@@tikz at do@circle at orig=\tikz at do@circle
+\let\pgfplots at path@@tikz at do@ellipse at orig=\tikz at do@ellipse
% This is a replacement for \tikz at do@circle which replaces the "xy"
% coordinate system by one which is compatible with pgfplots.
-\def\pgfplots at path@@tikz at do@circle#1#2{%
+\def\pgfplots at path@@tikz at do@circle#1{%
\begingroup
\ifpgfplots at usefpu
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
@@ -47,6 +50,25 @@
\fi
\pgfmathparse{#1}%
\let\tikz at ellipse@x=\pgfmathresult%
+ \ifpgfmathunitsdeclared
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfqpoint{\tikz at ellipse@x pt}{0pt}}%
+ {\pgfpoint{0pt}{\tikz at ellipse@x pt}}%
+ \else
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfplotspointaxisdirectionxy{\tikz at ellipse@x}{0}}%
+ {\pgfplotspointaxisdirectionxy{0}{\tikz at ellipse@x}}%
+ \fi
+ \endgroup
+}
+
+\def\pgfplots at path@@tikz at do@ellipse#1#2{%
+ \begingroup
+ \ifpgfplots at usefpu
+ \pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
+ \fi
+ \pgfmathparse{#1}%
+ \let\tikz at ellipse@x=\pgfmathresult%
\ifpgfmathunitsdeclared%
\pgfmathparse{#2}%
\let\tikz at ellipse@y=\pgfmathresult%
@@ -69,3 +91,12 @@
\fi%
\endgroup
}
+
+% Older versions of TikZ did not define \tikz at do@ellipse but only
+% \tikz at do@circle which took the place of \tikz at do@ellipse, i.e. the same code
+% was used for both paths. In that case, we override the new circle code with
+% the ellipse code to retain the behaviour of using the same code on both
+% paths.
+\ifdefined\tikz at do@ellipse\else
+ \let\pgfplots at path@@tikz at do@circle=\pgfplots at path@@tikz at do@ellipse
+\fi
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -5,10 +5,10 @@
\catcode`\:=12
\catcode`\+=12
\catcode`\-=12
-\gdef\pgfplotsrevision{1.16}
-\gdef\pgfplotsversion{1.16}
-\gdef\pgfplotsversiondatetime{2018-03-28 20:42:04 +0200}
-\gdef\pgfplotsrevisiondatetime{2018-03-28 20:42:04 +0200}
+\gdef\pgfplotsrevision{1.17}
+\gdef\pgfplotsversion{1.17}
+\gdef\pgfplotsversiondatetime{2020-02-29 09:43:25 +0100}
+\gdef\pgfplotsrevisiondatetime{2020-02-29 09:43:25 +0100}
\gdef\pgfplots at glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3}
\xdef\pgfplotsversiondate{\expandafter\pgfplots at glob@TMPa\pgfplotsversiondatetime\relax}
\xdef\pgfplotsrevisiondate{\expandafter\pgfplots at glob@TMPa\pgfplotsrevisiondatetime\relax}
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -2844,6 +2844,7 @@
\let\pgfplots at current@point at y=\pgfutil at empty
\let\pgfplots at current@point at z=\pgfutil at empty
\let\pgfplots at current@point at meta=\pgfutil at empty
+ \let\pgfplots at current@point at coordinatestyle=\pgfutil at empty
\let\pgfplots at current@point at error@x at plus=\pgfutil at empty
\let\pgfplots at current@point at error@x at minus=\pgfutil at empty
\let\pgfplots at current@point at error@y at plus=\pgfutil at empty
@@ -3286,6 +3287,10 @@
\E\pgfplots at errorbars@survey at point
\fi
%
+ \if1\b at has@pgfplots at colordinate@style
+ \E\pgfplots at get@matching at coordinate@styles at surveyphase
+ \fi
+ %
\ifpgfplots at collect@firstplot at astick
\ifnum\pgfplots at numplots=0
\E\ifx\E\pgfplots at firstplot@coords at x\E\pgfutil at empty
@@ -3818,6 +3823,11 @@
\fi
\fi
%
+ \if1\b at has@pgfplots at colordinate@style
+ \pgfplots at LUA@survey at log@deactivation{coordinate style currently unsupported}%
+ \pgfplots at LUA@backend at supportedfalse
+ \fi
+ %
\ifpgfplots at LUA@backend at supported
\edef\pgfplots at LUA@backend at plotnum{\pgfutil at directlua{tex.sprint(\pgfplotsHASH pgfplots.gca.plothandlers)}}%
\begingroup
@@ -4179,7 +4189,12 @@
\let\protect=\pgfplots at oldprotect
\t at pgfplots@toka=\expandafter{\pgfplotsaxisserializedatapoint at val}%
\t at pgfplots@tokb=\expandafter{\pgfplotsretval}%
- \edef\pgfplotsretval{{\the\t at pgfplots@tokb;\the\t at pgfplots@toka}}%
+ \if1\b at has@pgfplots at colordinate@style
+ \t at pgfplots@tokc\expandafter{\expandafter{\pgfplots at current@point at coordinatestyle}}%
+ \else
+ \t at pgfplots@tokc={}%
+ \fi
+ \edef\pgfplotsretval{{\the\t at pgfplots@tokb;\the\t at pgfplots@tokc\the\t at pgfplots@toka}}%
}%
\def\pgfplotsaxisserializedatapoint{%
@@ -4200,8 +4215,16 @@
% parts which can be read with
% \pgfplotsaxisdeserializedatapointfrom at private)
\def\pgfplotsaxisdeserializedatapointfrom#1{%
- \expandafter\pgfplotsaxisdeserializedatapointfrom@#1\pgfplots at EOI
+ \if1\b at has@pgfplots at colordinate@style
+ \expandafter\pgfplotsaxisdeserializedatapointfrom@@#1\pgfplots at EOI
+ \else
+ \expandafter\pgfplotsaxisdeserializedatapointfrom@#1\pgfplots at EOI
+ \fi
}%
+\def\pgfplotsaxisdeserializedatapointfrom@@#1;#2#3\pgfplots at EOI{%
+ \pgfplotsaxisdeserializedatapointfrom@{#1};{#3}\pgfplots at EOI
+ \def\pgfplots at current@point at coordinatestyle{#2}%
+}%
\def\pgfplotsaxisdeserializedatapointfrom@#1;#2\pgfplots at EOI{%
\def\pgfplotsaxisdeserializedatapointfrom at private@lastvalue{#1}%
\pgfplotsaxisdeserializedatapointfrom at private{#1}%
@@ -9719,3 +9742,42 @@
\pgfplots at shellescape{sh #1.sh > #1.out}
\fi%
}
+
+% Defines \pgfplots at current@point at coordinatestyle to be the list of options resulting from the evaluation of all matching 'coordinate style' expressions.
+\def\pgfplots at get@matching at coordinate@styles at surveyphase{%
+ \let\pgfplots at current@point at coordinatestyle=\pgfutil at empty
+ % ##1: operation mode
+ % ##2: key
+ % ##3: value
+ \def\pgfplots at coordinate@style at process##1##2##3{%
+ \if E##1% Ah : an expression.
+ \pgfmathifexpression{##2}{%
+ \expandafter\def\expandafter\pgfplots at current@point at coordinatestyle\expandafter{\pgfplots at current@point at coordinatestyle,%
+ ##3%
+ }%
+ }{}%
+ \else
+ \if V##1% Ah : an .from
+ \edef\pgfplots at loc@TMPc{##2}%
+ \t at pgfplots@toka=\expandafter{\pgfplots at current@point at coordinatestyle}%
+ \t at pgfplots@tokb=\expandafter{\pgfplots at loc@TMPc}%
+ \edef\pgfplots at current@point at coordinatestyle{%
+ \the\t at pgfplots@toka,%
+ \the\t at pgfplots@tokb
+ }%
+ \else
+ \pgfplots at get@matching at coordinate@styles at surveyphase@err{##1}%
+ \fi
+ \fi
+ }%
+ \pgfplotsapplistXlet\pgfplots at loc@TMPb=\pgfplots at coordinate@style at list
+ \expandafter\pgfplotsutilforeachcommasep\pgfplots at loc@TMPb\as\pgfplots at loc@TMPa{%
+ \ifx\pgfplots at loc@TMPa\pgfutil at empty
+ \else
+ \expandafter\pgfplots at coordinate@style at process\pgfplots at loc@TMPa
+ \fi
+ }%
+}%
+\def\pgfplots at get@matching at coordinate@styles at surveyphase@err#1#2#3{%
+ \pgfplots at error{Encountered unexpected internal value of 'coordinate style: #1}%
+}
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -427,8 +427,21 @@
%
\pgfplotsplothandlers at init@map at to@patched at versions
%
+ %
+% \pgfkeys{%
+% /pgf/at begin bar/.add={}{%
+% \if1\b at has@pgfplots at colordinate@style
+% \expandafter\pgfplots at bar@extra
+% \fi
+% },%
+% }%
+ %
}%
+\def\pgfplots at bar@extra#1\pgfkeysvalueof#2{%
+ \expandafter\tikz\expandafter[\pgfplots at current@point at coordinatestyle] \pgfextra{#1};%
+}%
+
\def\pgfplots at xbar@width{pgfplotsxbarwidth}
\def\pgfplots at ybar@width{pgfplotsybarwidth}
\def\pgfplots at xbar@shift{pgfplotsxbarshift}
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -2532,7 +2532,10 @@
% '#3' is some macro. Its input is '\pgfmathresult', its expected output is '\pgfmathresult'
\long\def\pgfplots at transform@csv at list#1\to#2\with#3{%
\let#2=\pgfutil at empty
- \foreach \pgfplots at loc@TMPb in {#1} {%
+ \begingroup
+ \pgfkeys{/pgf/fpu,/pgf/fpu/output format=float}%
+ % \pgfplotsforeachungrouped is more powerful than \foreach
+ \pgfplotsforeachungrouped \pgfplots at loc@TMPb in {#1} {%
\let\pgfmathresult=\pgfplots at loc@TMPb
#3%
\ifx#2\pgfutil at empty
@@ -2541,6 +2544,7 @@
\xdef#2{#2,\pgfmathresult}%
\fi
}%
+ \endgroup
%
}%
Modified: trunk/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex 2020-03-03 22:58:00 UTC (rev 54040)
+++ trunk/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex 2020-03-03 22:58:29 UTC (rev 54041)
@@ -673,7 +673,7 @@
\pgfmathparse{(##4-##2)/\pgfplots at h + 1}%
\pgfmathfloattofixed\pgfmathresult
\afterassignment\pgfplotsforeachtodomain@@
- \c at pgf@counta=\pgfmathresult
+ \c at pgf@counta=\pgfmathresult\relax
}%
\edef\pgfplots at loc@TMPa{\noexpand\pgfplotsforeachungrouped \noexpand\x\space in{#1}{}}%
\pgfplots at loc@TMPa
@@ -699,6 +699,9 @@
\fi
}%
+\newif\ifpgfplotsforeachungroupedassumenumeric
+\pgfplotsforeachungroupedassumenumerictrue
+
\long\def\pgfplotsforeachungrouped@@#1#2#3#4{%
\pgfplots at for@reset at break{%
%
@@ -710,8 +713,27 @@
% \foreach #1 in {a,b,...,c} can be improved:
\pgfplotsforeachungroupeduniform@{#1}#3\relax{#4}%
\else
- % invoke \foreach #1 in {#3} and transport results:
- \pgfplotsforeachungroupednonuniform@#1{#3}{#4}%
+ \ifpgfplotsforeachungroupedassumenumeric
+ \pgfplotsforeachungrouped at isuniform@dist at one{#3}%
+ \ifpgfplots at loc@tmp
+ % special handling:
+ % \foreach #1 in {a,...,n} can be improved. Let us
+ % hope it is numeric ...
+ \pgfmathifexpression{\pgfplotsretval < \pgfplotsretvalb}{%
+ \edef\pgfplots at foreach@loc at TMPa{\pgfplotsretval,\pgfplotsretval+1,...,\pgfplotsretvalb}%
+ }{%
+ \edef\pgfplots at foreach@loc at TMPa{\pgfplotsretval,\pgfplotsretval-1,...,\pgfplotsretvalb}%
+ }%
+ \def\pgfplots at foreach@loc at TMPb{\pgfplotsforeachungroupeduniform@{#1}}%
+ \expandafter\pgfplots at foreach@loc at TMPb\pgfplots at foreach@loc at TMPa\relax{#4}%
+ \else
+ % invoke \foreach #1 in {#3} and transport results:
+ \pgfplotsforeachungroupednonuniform@#1{#3}{#4}%
+ \fi
+ \else
+ % invoke \foreach #1 in {#3} and transport results:
+ \pgfplotsforeachungroupednonuniform@#1{#3}{#4}%
+ \fi
\fi
\else
% invoke \foreach #1/#2 in {#3} and transport results:
@@ -889,6 +911,34 @@
\fi
}%
+% Sets \ifpgfplots at loc@tmp to true if and only if '#1' is of the form
+% #1 = <number1>,...,<number2>
+%
+% In that case, \pgfplotsretval = <number1> and \pgfplotsretvalb = <number2>
+\def\pgfplotsforeachungrouped at isuniform@dist at one#1{%
+ \edef\pgfplots at foreach@loc at TMPa{#1}%
+ \expandafter\pgfplotsforeachungrouped at isuniform@dist at one@\pgfplots at foreach@loc at TMPa,,,\relax
+}%
+\def\pgfplotsforeachungrouped at isuniform@dist at one@#1,#2,#3,#4\relax{%
+ \def\pgfplots at foreach@loc at TMPa{#4}%
+ \def\pgfplots at foreach@loc at TMPb{,,}%
+ \pgfplots at loc@tmpfalse
+ \ifx\pgfplots at foreach@loc at TMPa\pgfplots at foreach@loc at TMPb
+ \def\pgfplots at foreach@loc at TMPa{#2}%
+ \def\pgfplots at foreach@loc at TMPb{...}%
+ \ifx\pgfplots at foreach@loc at TMPa\pgfplots at foreach@loc at TMPb
+ \pgfutil at in@,{#3}%
+ \ifpgfutil at in@
+ \else
+ \pgfplots at loc@tmptrue
+ \def\pgfplotsretval{#1}%
+ \def\pgfplotsretvalb{#3}%
+ \fi
+ \fi
+ \fi
+}%
+
+
% A variant of \pgfplotsforeachungrouped ( or \foreach ) which
% *invokes* with #1 set to the current iterate.
%
More information about the tex-live-commits
mailing list.