diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgfplots')
46 files changed, 2993 insertions, 1474 deletions
diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.colortol.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.colortol.code.tex new file mode 100644 index 00000000000..e83d62a70f9 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.colortol.code.tex @@ -0,0 +1,766 @@ + +% load all colors for the `colormap's and `cycle list's +\usetikzlibrary{colortol} + +% define `colormap's +\pgfplotsset{ + /pgfplots/@@colortol set cycle list/.code={% + \pgfkeysalso{ + /pgfplots/ensure colormap={/pgfplots/colormap/#1}, + /pgfplots/cycle list name=#1, + }, + }, + % ----------------------------------- + % define "the" palette I colormap, which is just an alias for + % the colormap `colortol-P1-9' + /pgfplots/colormap/colortol-P1/.style={ + colormap={colortol-P1}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-G); + color=(colortol-P1-H); + color=(colortol-P1-I); + color=(colortol-P1-L); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1}{[of colormap=colortol-P1]}, + }, + /pgfplots/cycle list/colortol-P1/.style={/pgfplots/@@colortol set cycle list={colortol-P1}}, + % + % ----------------------------------- + % define (other) palette I colormaps + /pgfplots/colormap/colortol-P1-3/.style={ + colormap={colortol-P1-3}{ + color=(colortol-P1-B); + color=(colortol-P1-H); + color=(colortol-P1-J); + }, + cycle list/.define={colortol-P1-3}{[of colormap=colortol-P1-3]}, + }, + /pgfplots/cycle list/colortol-P1-3/.style={/pgfplots/@@colortol set cycle list={colortol-P1-3}}, + % + /pgfplots/colormap/colortol-P1-4/.style={ + colormap={colortol-P1-4}{ + color=(colortol-P1-B); + color=(colortol-P1-F); + color=(colortol-P1-H); + color=(colortol-P1-J); + }, + cycle list/.define={colortol-P1-4}{[of colormap=colortol-P1-4]}, + }, + /pgfplots/cycle list/colortol-P1-4/.style={/pgfplots/@@colortol set cycle list={colortol-P1-4}}, + % + /pgfplots/colormap/colortol-P1-5/.style={ + colormap={colortol-P1-5}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-F); + color=(colortol-P1-H); + color=(colortol-P1-J); + }, + cycle list/.define={colortol-P1-5}{[of colormap=colortol-P1-5]}, + }, + /pgfplots/cycle list/colortol-P1-5/.style={/pgfplots/@@colortol set cycle list={colortol-P1-5}}, + % + /pgfplots/colormap/colortol-P1-6/.style={ + colormap={colortol-P1-6}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-F); + color=(colortol-P1-H); + color=(colortol-P1-J); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-6}{[of colormap=colortol-P1-6]}, + }, + /pgfplots/cycle list/colortol-P1-6/.style={/pgfplots/@@colortol set cycle list={colortol-P1-6}}, + % + /pgfplots/colormap/colortol-P1-7/.style={ + colormap={colortol-P1-7}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-H); + color=(colortol-P1-J); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-7}{[of colormap=colortol-P1-7]}, + }, + /pgfplots/cycle list/colortol-P1-7/.style={/pgfplots/@@colortol set cycle list={colortol-P1-7}}, + % + /pgfplots/colormap/colortol-P1-8/.style={ + colormap={colortol-P1-8}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-G); + color=(colortol-P1-H); + color=(colortol-P1-J); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-8}{[of colormap=colortol-P1-8]}, + }, + /pgfplots/cycle list/colortol-P1-8/.style={/pgfplots/@@colortol set cycle list={colortol-P1-8}}, + % + /pgfplots/colormap/colortol-P1-9/.style={ + colormap={colortol-P1-9}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-G); + color=(colortol-P1-H); + color=(colortol-P1-J); + color=(colortol-P1-L); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-9}{[of colormap=colortol-P1-9]}, + }, + /pgfplots/cycle list/colortol-P1-9/.style={/pgfplots/@@colortol set cycle list={colortol-P1-9}}, + % + /pgfplots/colormap/colortol-P1-10/.style={ + colormap={colortol-P1-10}{ + color=(colortol-P1-A); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-G); + color=(colortol-P1-H); + color=(colortol-P1-I); + color=(colortol-P1-J); + color=(colortol-P1-L); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-10}{[of colormap=colortol-P1-10]}, + }, + /pgfplots/cycle list/colortol-P1-10/.style={/pgfplots/@@colortol set cycle list={colortol-P1-10}}, + % + /pgfplots/colormap/colortol-P1-11/.style={ + colormap={colortol-P1-11}{ + color=(colortol-P1-A); + color=(colortol-P1-C); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-G); + color=(colortol-P1-H); + color=(colortol-P1-I); + color=(colortol-P1-J); + color=(colortol-P1-L); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-11}{[of colormap=colortol-P1-11]}, + }, + /pgfplots/cycle list/colortol-P1-11/.style={/pgfplots/@@colortol set cycle list={colortol-P1-11}}, + % + /pgfplots/colormap/colortol-P1-12/.style={ + colormap={colortol-P1-12}{ + color=(colortol-P1-A); + color=(colortol-P1-C); + color=(colortol-P1-D); + color=(colortol-P1-E); + color=(colortol-P1-F); + color=(colortol-P1-G); + color=(colortol-P1-H); + color=(colortol-P1-I); + color=(colortol-P1-J); + color=(colortol-P1-K); + color=(colortol-P1-L); + color=(colortol-P1-M); + }, + cycle list/.define={colortol-P1-12}{[of colormap=colortol-P1-12]}, + }, + /pgfplots/cycle list/colortol-P1-12/.style={/pgfplots/@@colortol set cycle list={colortol-P1-12}}, + % + % ----------------------------------- + % define palette II colormaps + /pgfplots/colormap/colortol-P2light/.style={ + colormap={colortol-P2light}{ + color=(colortol-P2light-A); + color=(colortol-P2light-B); + color=(colortol-P2light-C); + color=(colortol-P2light-D); + color=(colortol-P2light-E); + color=(colortol-P2light-F); + color=(colortol-P2light-G); + }, + cycle list/.define={colortol-P2light}{[of colormap=colortol-P2light]}, + }, + /pgfplots/cycle list/colortol-P2light/.style={/pgfplots/@@colortol set cycle list={colortol-P2light}}, + % + /pgfplots/colormap/colortol-P2/.style={ + colormap={colortol-P2}{ + color=(colortol-P2-A); + color=(colortol-P2-B); + color=(colortol-P2-C); + color=(colortol-P2-D); + color=(colortol-P2-E); + color=(colortol-P2-F); + color=(colortol-P2-G); + }, + cycle list/.define={colortol-P2}{[of colormap=colortol-P2]}, + }, + /pgfplots/cycle list/colortol-P2/.style={/pgfplots/@@colortol set cycle list={colortol-P2}}, + % + /pgfplots/colormap/colortol-P2dark/.style={ + colormap={colortol-P2dark}{ + color=(colortol-P2dark-A); + color=(colortol-P2dark-B); + color=(colortol-P2dark-C); + color=(colortol-P2dark-D); + color=(colortol-P2dark-E); + color=(colortol-P2dark-F); + color=(colortol-P2dark-G); + }, + cycle list/.define={colortol-P2dark}{[of colormap=colortol-P2dark]}, + }, + /pgfplots/cycle list/colortol-P2dark/.style={/pgfplots/@@colortol set cycle list={colortol-P2dark}}, + % + % ----------------------------------- + % define palette III colormap, which is just an alias for + % the colormap `colortol-P3-5+' + /pgfplots/colormap/colortol-P3/.style={ + colormap={colortol-P3}{ + color=(colortol-P3-blue), + color=(colortol-P3-cyan), + color=(colortol-P3-green), + color=(colortol-P3-yellow), + color=(colortol-P3-red), + color=(colortol-P3-pink), + }, + cycle list/.define={colortol-P3}{[of colormap=colortol-P3]}, + }, + /pgfplots/cycle list/colortol-P3/.style={/pgfplots/@@colortol set cycle list={colortol-P3}}, + % + % ----------------------------------- + % define (other) palette III colormaps + /pgfplots/colormap/colortol-P3-4-/.style={ + colormap={colortol-P3-4-}{ + color=(colortol-P3-blue), + color=(colortol-P3-red), + color=(colortol-P3-green), + color=(colortol-P3-yellow), + }, + cycle list/.define={colortol-P3-4-}{[of colormap=colortol-P3-4-]}, + }, + /pgfplots/cycle list/colortol-P3-4-/.style={/pgfplots/@@colortol set cycle list={colortol-P3-4-}}, + % + /pgfplots/colormap/colortol-P3-5+/.style={ + colormap={colortol-P3-5+}{ + color=(colortol-P3-blue), + color=(colortol-P3-cyan), + color=(colortol-P3-green), + color=(colortol-P3-yellow), + color=(colortol-P3-red), + color=(colortol-P3-pink), + }, + cycle list/.define={colortol-P3-5+}{[of colormap=colortol-P3-5+]}, + }, + /pgfplots/cycle list/colortol-P3-5+/.style={/pgfplots/@@colortol set cycle list={colortol-P3-5+}}, + % + % =================================== + % define colormaps for sequential data + /pgfplots/colormap/colortol-seq-3/.style={ + colormap={colortol-seq-3}{ + color=(colortol-seq-C); + color=(colortol-seq-F); + color=(colortol-seq-I); + }, + cycle list/.define={colortol-seq-3}{[of colormap=colortol-seq-3]}, + }, + /pgfplots/cycle list/colortol-seq-3/.style={/pgfplots/@@colortol set cycle list={colortol-seq-3}}, + % + /pgfplots/colormap/colortol-seq-4/.style={ + colormap={colortol-seq-4}{ + color=(colortol-seq-B); + color=(colortol-seq-E); + color=(colortol-seq-G); + color=(colortol-seq-J); + }, + cycle list/.define={colortol-seq-4}{[of colormap=colortol-seq-4]}, + }, + /pgfplots/cycle list/colortol-seq-4/.style={/pgfplots/@@colortol set cycle list={colortol-seq-4}}, + % + /pgfplots/colormap/colortol-seq-5/.style={ + colormap={colortol-seq-5}{ + color=(colortol-seq-B); + color=(colortol-seq-E); + color=(colortol-seq-G); + color=(colortol-seq-I); + color=(colortol-seq-K); + }, + cycle list/.define={colortol-seq-5}{[of colormap=colortol-seq-5]}, + }, + /pgfplots/cycle list/colortol-seq-5/.style={/pgfplots/@@colortol set cycle list={colortol-seq-5}}, + % + /pgfplots/colormap/colortol-seq-6/.style={ + colormap={colortol-seq-6}{ + color=(colortol-seq-B); + color=(colortol-seq-D); + color=(colortol-seq-F); + color=(colortol-seq-G); + color=(colortol-seq-I); + color=(colortol-seq-K); + }, + cycle list/.define={colortol-seq-6}{[of colormap=colortol-seq-6]}, + }, + /pgfplots/cycle list/colortol-seq-6/.style={/pgfplots/@@colortol set cycle list={colortol-seq-6}}, + % + /pgfplots/colormap/colortol-seq-7/.style={ + colormap={colortol-seq-7}{ + color=(colortol-seq-B); + color=(colortol-seq-D); + color=(colortol-seq-F); + color=(colortol-seq-G); + color=(colortol-seq-H); + color=(colortol-seq-J); + color=(colortol-seq-L); + }, + cycle list/.define={colortol-seq-7}{[of colormap=colortol-seq-7]}, + }, + /pgfplots/cycle list/colortol-seq-7/.style={/pgfplots/@@colortol set cycle list={colortol-seq-7}}, + % + /pgfplots/colormap/colortol-seq-8/.style={ + colormap={colortol-seq-8}{ + color=(colortol-seq-A); + color=(colortol-seq-C); + color=(colortol-seq-D); + color=(colortol-seq-F); + color=(colortol-seq-G); + color=(colortol-seq-H); + color=(colortol-seq-J); + color=(colortol-seq-L); + }, + cycle list/.define={colortol-seq-8}{[of colormap=colortol-seq-8]}, + }, + /pgfplots/cycle list/colortol-seq-8/.style={/pgfplots/@@colortol set cycle list={colortol-seq-8}}, + % + /pgfplots/colormap/colortol-seq-9/.style={ + colormap={colortol-seq-9}{ + color=(colortol-seq-A); + color=(colortol-seq-C); + color=(colortol-seq-D); + color=(colortol-seq-F); + color=(colortol-seq-G); + color=(colortol-seq-H); + color=(colortol-seq-J); + color=(colortol-seq-K); + color=(colortol-seq-M); + }, + cycle list/.define={colortol-seq-9}{[of colormap=colortol-seq-9]}, + }, + /pgfplots/cycle list/colortol-seq-9/.style={/pgfplots/@@colortol set cycle list={colortol-seq-9}}, + % + % ----------------------------------- + % define colormaps for diverging data + /pgfplots/colormap/colortol-div-3/.style={ + colormap={colortol-div-3}{ + color=(colortol-div-E); + color=(colortol-div-H); + color=(colortol-div-K); + }, + cycle list/.define={colortol-div-3}{[of colormap=colortol-div-3]}, + }, + /pgfplots/cycle list/colortol-div-3/.style={/pgfplots/@@colortol set cycle list={colortol-div-3}}, + % + /pgfplots/colormap/colortol-div-4/.style={ + colormap={colortol-div-4}{ + color=(colortol-div-A); + color=(colortol-div-F); + color=(colortol-div-J); + color=(colortol-div-N); + }, + cycle list/.define={colortol-div-4}{[of colormap=colortol-div-4]}, + }, + /pgfplots/cycle list/colortol-div-4/.style={/pgfplots/@@colortol set cycle list={colortol-div-4}}, + % + /pgfplots/colormap/colortol-div-5/.style={ + colormap={colortol-div-5}{ + color=(colortol-div-A); + color=(colortol-div-F); + color=(colortol-div-H); + color=(colortol-div-J); + color=(colortol-div-N); + }, + cycle list/.define={colortol-div-5}{[of colormap=colortol-div-5]}, + }, + /pgfplots/cycle list/colortol-div-5/.style={/pgfplots/@@colortol set cycle list={colortol-div-5}}, + % + /pgfplots/colormap/colortol-div-6/.style={ + colormap={colortol-div-6}{ + color=(colortol-div-C); + color=(colortol-div-E); + color=(colortol-div-G); + color=(colortol-div-I); + color=(colortol-div-K); + color=(colortol-div-M); + }, + cycle list/.define={colortol-div-6}{[of colormap=colortol-div-6]}, + }, + /pgfplots/cycle list/colortol-div-6/.style={/pgfplots/@@colortol set cycle list={colortol-div-6}}, + % + /pgfplots/colormap/colortol-div-7/.style={ + colormap={colortol-div-7}{ + color=(colortol-div-C); + color=(colortol-div-E); + color=(colortol-div-G); + color=(colortol-div-H); + color=(colortol-div-I); + color=(colortol-div-K); + color=(colortol-div-M); + }, + cycle list/.define={colortol-div-7}{[of colormap=colortol-div-7]}, + }, + /pgfplots/cycle list/colortol-div-7/.style={/pgfplots/@@colortol set cycle list={colortol-div-7}}, + % + /pgfplots/colormap/colortol-div-8/.style={ + colormap={colortol-div-8}{ + color=(colortol-div-C); + color=(colortol-div-D); + color=(colortol-div-F); + color=(colortol-div-G); + color=(colortol-div-I); + color=(colortol-div-J); + color=(colortol-div-L); + color=(colortol-div-M); + }, + cycle list/.define={colortol-div-8}{[of colormap=colortol-div-8]}, + }, + /pgfplots/cycle list/colortol-div-8/.style={/pgfplots/@@colortol set cycle list={colortol-div-8}}, + % + /pgfplots/colormap/colortol-div-9/.style={ + colormap={colortol-div-9}{ + color=(colortol-div-C); + color=(colortol-div-D); + color=(colortol-div-F); + color=(colortol-div-G); + color=(colortol-div-H); + color=(colortol-div-I); + color=(colortol-div-J); + color=(colortol-div-L); + color=(colortol-div-M); + }, + cycle list/.define={colortol-div-9}{[of colormap=colortol-div-9]}, + }, + /pgfplots/cycle list/colortol-div-9/.style={/pgfplots/@@colortol set cycle list={colortol-div-9}}, + % + /pgfplots/colormap/colortol-div-10/.style={ + colormap={colortol-div-10}{ + color=(colortol-div-B); + color=(colortol-div-C); + color=(colortol-div-D); + color=(colortol-div-F); + color=(colortol-div-G); + color=(colortol-div-I); + color=(colortol-div-J); + color=(colortol-div-L); + color=(colortol-div-M); + color=(colortol-div-O); + }, + cycle list/.define={colortol-div-10}{[of colormap=colortol-div-10]}, + }, + /pgfplots/cycle list/colortol-div-10/.style={/pgfplots/@@colortol set cycle list={colortol-div-10}}, + % + /pgfplots/colormap/colortol-div-11/.style={ + colormap={colortol-div-11}{ + color=(colortol-div-B); + color=(colortol-div-C); + color=(colortol-div-D); + color=(colortol-div-F); + color=(colortol-div-G); + color=(colortol-div-H); + color=(colortol-div-I); + color=(colortol-div-J); + color=(colortol-div-L); + color=(colortol-div-M); + color=(colortol-div-O); + }, + cycle list/.define={colortol-div-11}{[of colormap=colortol-div-11]}, + }, + /pgfplots/cycle list/colortol-div-11/.style={/pgfplots/@@colortol set cycle list={colortol-div-11}}, + % + % ----------------- + /pgfplots/colormap/colortol-div2/.style={ + colormap={colortol-div2}{ + color=(colortol-div2-A); + color=(colortol-div2-B); + color=(colortol-div2-C); + color=(colortol-div2-D); + color=(colortol-div2-E); + color=(colortol-div2-F); + color=(colortol-div2-G); + color=(colortol-div2-H); + color=(colortol-div2-I); + }, + cycle list/.define={colortol-div2}{[of colormap=colortol-div2]}, + }, + /pgfplots/cycle list/colortol-div2/.style={/pgfplots/@@colortol set cycle list={colortol-div2}}, + % + /pgfplots/colormap/colortol-div3/.style={ + colormap={colortol-div3}{ + color=(colortol-div3-A); + color=(colortol-div3-B); + color=(colortol-div3-C); + color=(colortol-div3-D); + color=(colortol-div3-E); + color=(colortol-div3-F); + color=(colortol-div3-G); + color=(colortol-div3-H); + color=(colortol-div3-I); + }, + cycle list/.define={colortol-div3}{[of colormap=colortol-div3]}, + }, + /pgfplots/cycle list/colortol-div3/.style={/pgfplots/@@colortol set cycle list={colortol-div3}}, + % + % =================================== + % define rainbow colormaps + /pgfplots/colormap/colortol-rainbow-4/.style={ + colormap={colortol-rainbow-4}{ + color=(colortol-rainbow-F); + color=(colortol-rainbow-W); + color=(colortol-rainbow-AQ); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-4}{[of colormap=colortol-rainbow-4]}, + }, + /pgfplots/cycle list/colortol-rainbow-4/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-4}}, + % + /pgfplots/colormap/colortol-rainbow-5/.style={ + colormap={colortol-rainbow-5}{ + color=(colortol-rainbow-F); + color=(colortol-rainbow-T); + color=(colortol-rainbow-AD); + color=(colortol-rainbow-AS); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-5}{[of colormap=colortol-rainbow-5]}, + }, + /pgfplots/cycle list/colortol-rainbow-5/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-5}}, + % + /pgfplots/colormap/colortol-rainbow-6/.style={ + colormap={colortol-rainbow-6}{ + color=(colortol-rainbow-F); + color=(colortol-rainbow-Q); + color=(colortol-rainbow-AA); + color=(colortol-rainbow-AK); + color=(colortol-rainbow-AV); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-6}{[of colormap=colortol-rainbow-6]}, + }, + /pgfplots/cycle list/colortol-rainbow-6/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-6}}, + % + /pgfplots/colormap/colortol-rainbow-7/.style={ + colormap={colortol-rainbow-7}{ + color=(colortol-rainbow-A); + color=(colortol-rainbow-J); + color=(colortol-rainbow-U); + color=(colortol-rainbow-AB); + color=(colortol-rainbow-AM); + color=(colortol-rainbow-AW); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-7}{[of colormap=colortol-rainbow-7]}, + }, + /pgfplots/cycle list/colortol-rainbow-7/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-7}}, + % + /pgfplots/colormap/colortol-rainbow-8/.style={ + colormap={colortol-rainbow-8}{ + color=(colortol-rainbow-A); + color=(colortol-rainbow-I); + color=(colortol-rainbow-R); + color=(colortol-rainbow-Y); + color=(colortol-rainbow-AG); + color=(colortol-rainbow-AO); + color=(colortol-rainbow-AX); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-8}{[of colormap=colortol-rainbow-8]}, + }, + /pgfplots/cycle list/colortol-rainbow-8/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-8}}, + % + /pgfplots/colormap/colortol-rainbow-9/.style={ + colormap={colortol-rainbow-9}{ + color=(colortol-rainbow-A); + color=(colortol-rainbow-H); + color=(colortol-rainbow-N); + color=(colortol-rainbow-W); + color=(colortol-rainbow-AB); + color=(colortol-rainbow-AI); + color=(colortol-rainbow-AR); + color=(colortol-rainbow-AY); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-9}{[of colormap=colortol-rainbow-9]}, + }, + /pgfplots/cycle list/colortol-rainbow-9/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-9}}, + % + /pgfplots/colormap/colortol-rainbow-10/.style={ + colormap={colortol-rainbow-10}{ + color=(colortol-rainbow-A); + color=(colortol-rainbow-G); + color=(colortol-rainbow-M); + color=(colortol-rainbow-T); + color=(colortol-rainbow-Z); + color=(colortol-rainbow-AF); + color=(colortol-rainbow-AL); + color=(colortol-rainbow-AS); + color=(colortol-rainbow-AZ); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-10}{[of colormap=colortol-rainbow-10]}, + }, + /pgfplots/cycle list/colortol-rainbow-10/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-10}}, + % + /pgfplots/colormap/colortol-rainbow-11/.style={ + colormap={colortol-rainbow-11}{ + color=(colortol-rainbow-A); + color=(colortol-rainbow-F); + color=(colortol-rainbow-L); + color=(colortol-rainbow-S); + color=(colortol-rainbow-X); + color=(colortol-rainbow-AC); + color=(colortol-rainbow-AH); + color=(colortol-rainbow-AN); + color=(colortol-rainbow-AT); + color=(colortol-rainbow-BA); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-11}{[of colormap=colortol-rainbow-11]}, + }, + /pgfplots/cycle list/colortol-rainbow-11/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-11}}, + % + /pgfplots/colormap/colortol-rainbow-12/.style={ + colormap={colortol-rainbow-12}{ + color=(colortol-rainbow-A); + color=(colortol-rainbow-E); + color=(colortol-rainbow-K); + color=(colortol-rainbow-P); + color=(colortol-rainbow-V); + color=(colortol-rainbow-AA); + color=(colortol-rainbow-AE); + color=(colortol-rainbow-AJ); + color=(colortol-rainbow-AP); + color=(colortol-rainbow-AU); + color=(colortol-rainbow-AB); + color=(colortol-rainbow-AD); + }, + cycle list/.define={colortol-rainbow-12}{[of colormap=colortol-rainbow-12]}, + }, + /pgfplots/cycle list/colortol-rainbow-12/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-12}}, + % + /pgfplots/colormap/colortol-rainbow-14/.style={ + colormap={colortol-rainbow-14}{ + color=(colortol-rainbow-B); + color=(colortol-rainbow-C); + color=(colortol-rainbow-D); + color=(colortol-rainbow-AF); + color=(colortol-rainbow-O); + color=(colortol-rainbow-AG); + color=(colortol-rainbow-AH); + color=(colortol-rainbow-AI); + color=(colortol-rainbow-AJ); + color=(colortol-rainbow-AK); + color=(colortol-rainbow-AL); + color=(colortol-rainbow-AM); + color=(colortol-rainbow-AC); + color=(colortol-rainbow-AE); + }, + cycle list/.define={colortol-rainbow-14}{[of colormap=colortol-rainbow-14]}, + }, + /pgfplots/cycle list/colortol-rainbow-14/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-14}}, + % + % ----------------------------------- + % define continuous rainbow colormap + /pgfplots/colormap/colortol-rainbow-cont/.style={ + colormap={colortol-rainbow-cont}{ + color=(colortol-rainbow-cont-A); + color=(colortol-rainbow-cont-B); + color=(colortol-rainbow-cont-C); + color=(colortol-rainbow-cont-D); + color=(colortol-rainbow-cont-E); + color=(colortol-rainbow-cont-F); + color=(colortol-rainbow-cont-G); + color=(colortol-rainbow-cont-H); + color=(colortol-rainbow-cont-I); + color=(colortol-rainbow-cont-J); + color=(colortol-rainbow-cont-K); + color=(colortol-rainbow-cont-L); + color=(colortol-rainbow-cont-M); + color=(colortol-rainbow-cont-N); + color=(colortol-rainbow-cont-O); + color=(colortol-rainbow-cont-P); + color=(colortol-rainbow-cont-Q); + color=(colortol-rainbow-cont-R); + color=(colortol-rainbow-cont-S); + color=(colortol-rainbow-cont-T); + color=(colortol-rainbow-cont-U); + color=(colortol-rainbow-cont-V); + color=(colortol-rainbow-cont-W); + color=(colortol-rainbow-cont-X); + color=(colortol-rainbow-cont-Y); + }, + cycle list/.define={colortol-rainbow-cont}{[of colormap=colortol-rainbow-cont]}, + }, + /pgfplots/cycle list/colortol-rainbow-cont/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-cont}}, + % + % ----------------- + /pgfplots/colormap/colortol-rainbow-ext-low/.style={ + colormap={colortol-rainbow-ext-low}{ + color=(colortol-rainbow-ext-low-A), + color=(colortol-rainbow-ext-low-B), + color=(colortol-rainbow-ext-low-C), + color=(colortol-rainbow-ext-low-D), + color=(colortol-rainbow-ext-low-E), + color=(colortol-rainbow-ext-low-F), + color=(colortol-rainbow-ext-low-G), + color=(colortol-rainbow-ext-low-H), + }, + cycle list/.define={colortol-rainbow-ext-low}{[of colormap=colortol-rainbow-ext-low]}, + }, + /pgfplots/cycle list/colortol-rainbow-ext-low/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-ext-low}}, + % + /pgfplots/colormap/colortol-rainbow-cont/.style={ + colormap={colortol-rainbow-cont}{ + color=(colortol-rainbow-ext-A), + color=(colortol-rainbow-ext-B), + color=(colortol-rainbow-ext-C), + color=(colortol-rainbow-ext-D), + color=(colortol-rainbow-ext-E), + color=(colortol-rainbow-ext-F), + color=(colortol-rainbow-ext-G), + color=(colortol-rainbow-ext-H), + color=(colortol-rainbow-ext-I), + color=(colortol-rainbow-ext-J), + color=(colortol-rainbow-ext-K), + color=(colortol-rainbow-ext-L), + color=(colortol-rainbow-ext-M), + color=(colortol-rainbow-ext-N), + color=(colortol-rainbow-ext-O), + color=(colortol-rainbow-ext-P), + color=(colortol-rainbow-ext-Q), + color=(colortol-rainbow-ext-R), + color=(colortol-rainbow-ext-S), + color=(colortol-rainbow-ext-T), + color=(colortol-rainbow-ext-U), + color=(colortol-rainbow-ext-V), + }, + cycle list/.define={colortol-rainbow-ext}{[of colormap=colortol-rainbow-ext]}, + }, + /pgfplots/cycle list/colortol-rainbow-ext/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-ext}}, + % + /pgfplots/colormap/colortol-rainbow-ext-high/.style={ + colormap={colortol-rainbow-ext-high}{ + color=(colortol-rainbow-ext-high-A), + color=(colortol-rainbow-ext-high-B), + color=(colortol-rainbow-ext-high-C), + color=(colortol-rainbow-ext-high-D), + }, + cycle list/.define={colortol-rainbow-ext-high}{[of colormap=colortol-rainbow-ext-high]}, + }, + /pgfplots/cycle list/colortol-rainbow-ext-high/.style={/pgfplots/@@colortol set cycle list={colortol-rainbow-ext-high}}, +} diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarycolortol.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarycolortol.code.tex new file mode 100644 index 00000000000..21a1e4c7813 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarycolortol.code.tex @@ -0,0 +1,277 @@ + +% Color schemes as obtained from <http://www.sron.nl/~pault/> +% and <http://www.sron.nl/~pault/colourschemes.pdf> respectively + +% ============================================================================= +% colors from palette I +\pgfutil@definecolor{colortol-P1-A}{RGB}{51,34,136} +\pgfutil@definecolor{colortol-P1-B}{RGB}{68,119,170} +\pgfutil@definecolor{colortol-P1-C}{RGB}{102,153,204} +\pgfutil@definecolor{colortol-P1-D}{RGB}{136,204,238} +\pgfutil@definecolor{colortol-P1-E}{RGB}{68,170,153} +\pgfutil@definecolor{colortol-P1-F}{RGB}{17,119,51} +\pgfutil@definecolor{colortol-P1-G}{RGB}{153,153,51} +\pgfutil@definecolor{colortol-P1-H}{RGB}{221,204,119} +\pgfutil@definecolor{colortol-P1-I}{RGB}{102,17,0} +\pgfutil@definecolor{colortol-P1-J}{RGB}{204,102,119} +\pgfutil@definecolor{colortol-P1-K}{RGB}{170,68,102} +\pgfutil@definecolor{colortol-P1-L}{RGB}{136,34,85} +\pgfutil@definecolor{colortol-P1-M}{RGB}{170,68,153} +% color for data gaps +\pgfutil@definecolor{colortol-P1-gap}{RGB}{221,221,221} + + +% ----------------------------------------------------------------------------- +% colors from palette II +% bright +\pgfutil@definecolor{colortol-P2light-A}{RGB}{119,170,221} +\pgfutil@definecolor{colortol-P2light-B}{RGB}{119,204,204} +\pgfutil@definecolor{colortol-P2light-C}{RGB}{136,204,170} +\pgfutil@definecolor{colortol-P2light-D}{RGB}{221,221,119} +\pgfutil@definecolor{colortol-P2light-E}{RGB}{221,170,119} +\pgfutil@definecolor{colortol-P2light-F}{RGB}{221,119,136} +\pgfutil@definecolor{colortol-P2light-G}{RGB}{204,153,187} +% medium +\pgfutil@definecolor{colortol-P2-A}{RGB}{68,119,170} +\pgfutil@definecolor{colortol-P2-B}{RGB}{68,170,170} +\pgfutil@definecolor{colortol-P2-C}{RGB}{68,170,119} +\pgfutil@definecolor{colortol-P2-D}{RGB}{170,170,68} +\pgfutil@definecolor{colortol-P2-E}{RGB}{170,119,68} +\pgfutil@definecolor{colortol-P2-F}{RGB}{170,68,85} +\pgfutil@definecolor{colortol-P2-G}{RGB}{170,68,136} +% dark +\pgfutil@definecolor{colortol-P2dark-A}{RGB}{17,68,119} +\pgfutil@definecolor{colortol-P2dark-B}{RGB}{17,119,119} +\pgfutil@definecolor{colortol-P2dark-C}{RGB}{17,119,68} +\pgfutil@definecolor{colortol-P2dark-D}{RGB}{119,119,17} +\pgfutil@definecolor{colortol-P2dark-E}{RGB}{119,68,17} +\pgfutil@definecolor{colortol-P2dark-F}{RGB}{119,17,34} +\pgfutil@definecolor{colortol-P2dark-G}{RGB}{119,17,85} + + +% ----------------------------------------------------------------------------- +% colors from palette III +\pgfutil@definecolor{colortol-P3-blue}{RGB}{68,119,170} +\pgfutil@definecolor{colortol-P3-cyan}{RGB}{102,204,238} +\pgfutil@definecolor{colortol-P3-green}{RGB}{34,136,51} +\pgfutil@definecolor{colortol-P3-yellow}{RGB}{204,187,68} +\pgfutil@definecolor{colortol-P3-red}{RGB}{238,102,119} +\pgfutil@definecolor{colortol-P3-pink}{RGB}{170,51,119} +% color for data gaps +\pgfutil@definecolor{colortol-P3-gray}{RGB}{187,187,187} + + +% ============================================================================= +% colors from diverging and sequential palettes +% sequential palette +% (same as `YlOrBr' colormap from `ColorBrewer' library) +\pgfutil@definecolor{colortol-seq-A}{RGB}{255,255,229} +\pgfutil@definecolor{colortol-seq-B}{RGB}{255,251,213} +\pgfutil@definecolor{colortol-seq-C}{RGB}{255,247,188} +\pgfutil@definecolor{colortol-seq-D}{RGB}{254,227,145} +\pgfutil@definecolor{colortol-seq-E}{RGB}{254,217,142} +\pgfutil@definecolor{colortol-seq-F}{RGB}{254,196,79} +\pgfutil@definecolor{colortol-seq-G}{RGB}{251,154,41} +\pgfutil@definecolor{colortol-seq-H}{RGB}{236,112,20} +\pgfutil@definecolor{colortol-seq-I}{RGB}{217,95,14} +\pgfutil@definecolor{colortol-seq-J}{RGB}{204,76,2} +\pgfutil@definecolor{colortol-seq-K}{RGB}{153,52,4} +\pgfutil@definecolor{colortol-seq-L}{RGB}{140,45,4} +\pgfutil@definecolor{colortol-seq-M}{RGB}{102,37,6} +% color for data gaps +\pgfutil@definecolor{colortol-seq-gap}{RGB}{136,136,136} + + +% ----------------------------------------------------------------------------- +% diverging palettes +% ----------------------------------------------------------------------------- +% (similar to `RdYlBu' colormap from `ColorBrewer' library) +\pgfutil@definecolor{colortol-div-A}{RGB}{0,139,206} +\pgfutil@definecolor{colortol-div-B}{RGB}{61,82,161} +\pgfutil@definecolor{colortol-div-C}{RGB}{58,137,201} +\pgfutil@definecolor{colortol-div-D}{RGB}{119,183,229} +\pgfutil@definecolor{colortol-div-E}{RGB}{153,199,236} +\pgfutil@definecolor{colortol-div-F}{RGB}{180,221,247} +\pgfutil@definecolor{colortol-div-G}{RGB}{230,245,254} +\pgfutil@definecolor{colortol-div-H}{RGB}{255,250,210} +\pgfutil@definecolor{colortol-div-I}{RGB}{255,227,170} +\pgfutil@definecolor{colortol-div-J}{RGB}{249,189,126} +\pgfutil@definecolor{colortol-div-K}{RGB}{245,162,117} +\pgfutil@definecolor{colortol-div-L}{RGB}{237,135,94} +\pgfutil@definecolor{colortol-div-M}{RGB}{210,77,62} +\pgfutil@definecolor{colortol-div-N}{RGB}{208,50,50} +\pgfutil@definecolor{colortol-div-O}{RGB}{174,28,62} +% color for data gaps +\pgfutil@definecolor{colortol-div-gap}{RGB}{102,102,102} + + +% (reversed `RdBu-9' colormap from `ColorBrewer' library) +\pgfutil@definecolor{colortol-div2-A}{RGB}{33,102,172} +\pgfutil@definecolor{colortol-div2-B}{RGB}{67,147,195} +\pgfutil@definecolor{colortol-div2-C}{RGB}{146,197,222} +\pgfutil@definecolor{colortol-div2-D}{RGB}{209,229,240} +\pgfutil@definecolor{colortol-div2-E}{RGB}{247,247,247} +\pgfutil@definecolor{colortol-div2-F}{RGB}{253,219,199} +\pgfutil@definecolor{colortol-div2-G}{RGB}{244,165,130} +\pgfutil@definecolor{colortol-div2-H}{RGB}{214,96,77} +\pgfutil@definecolor{colortol-div2-I}{RGB}{178,24,43} +% color for data gaps +\pgfutil@definecolor{colortol-div2-gaps}{RGB}{255,238,153} + + +% (similar to `PRGn-9' colormap from `ColorBrewer' library, +% where only color G has changed. (PRGn-J = 166,219,160)) +\pgfutil@definecolor{colortol-div3-A}{RGB}{118,42,131} +\pgfutil@definecolor{colortol-div3-B}{RGB}{153,112,171} +\pgfutil@definecolor{colortol-div3-C}{RGB}{194,165,207} +\pgfutil@definecolor{colortol-div3-D}{RGB}{231,212,232} +\pgfutil@definecolor{colortol-div3-E}{RGB}{247,247,247} +\pgfutil@definecolor{colortol-div3-F}{RGB}{217,240,211} +\pgfutil@definecolor{colortol-div3-G}{RGB}{172,211,158} +\pgfutil@definecolor{colortol-div3-H}{RGB}{90,174,97} +\pgfutil@definecolor{colortol-div3-I}{RGB}{27,120,55} +% color for data gaps +\pgfutil@definecolor{colortol-div3-gaps}{RGB}{255,238,153} + + +% ============================================================================= +% colors for the rainbow palette (from the TechNote) +\pgfutil@definecolor{colortol-rainbow-A}{RGB}{120,28,129} +\pgfutil@definecolor{colortol-rainbow-B}{RGB}{136,46,114} +\pgfutil@definecolor{colortol-rainbow-C}{RGB}{177,120,166} +\pgfutil@definecolor{colortol-rainbow-D}{RGB}{214,193,222} +\pgfutil@definecolor{colortol-rainbow-E}{RGB}{65,59,147} +\pgfutil@definecolor{colortol-rainbow-F}{RGB}{64,64,150} +\pgfutil@definecolor{colortol-rainbow-G}{RGB}{63,71,155} +\pgfutil@definecolor{colortol-rainbow-H}{RGB}{63,78,161} +\pgfutil@definecolor{colortol-rainbow-I}{RGB}{63,86,167} +\pgfutil@definecolor{colortol-rainbow-J}{RGB}{63,96,174} +\pgfutil@definecolor{colortol-rainbow-K}{RGB}{64,101,177} +\pgfutil@definecolor{colortol-rainbow-L}{RGB}{65,108,183} +\pgfutil@definecolor{colortol-rainbow-M}{RGB}{66,119,189} +\pgfutil@definecolor{colortol-rainbow-N}{RGB}{70,131,193} +\pgfutil@definecolor{colortol-rainbow-O}{RGB}{82,137,199} +\pgfutil@definecolor{colortol-rainbow-P}{RGB}{72,139,194} +\pgfutil@definecolor{colortol-rainbow-Q}{RGB}{73,140,194} +\pgfutil@definecolor{colortol-rainbow-R}{RGB}{75,145,192} +\pgfutil@definecolor{colortol-rainbow-S}{RGB}{77,149,190} +\pgfutil@definecolor{colortol-rainbow-T}{RGB}{82,157,183} +\pgfutil@definecolor{colortol-rainbow-U}{RGB}{83,158,182} +\pgfutil@definecolor{colortol-rainbow-V}{RGB}{85,161,177} +\pgfutil@definecolor{colortol-rainbow-W}{RGB}{87,163,173} +\pgfutil@definecolor{colortol-rainbow-X}{RGB}{91,167,167} +\pgfutil@definecolor{colortol-rainbow-Y}{RGB}{95,170,159} +\pgfutil@definecolor{colortol-rainbow-Z}{RGB}{98,172,155} +\pgfutil@definecolor{colortol-rainbow-AA}{RGB}{99,173,153} +\pgfutil@definecolor{colortol-rainbow-AB}{RGB}{109,179,136} +\pgfutil@definecolor{colortol-rainbow-AC}{RGB}{110,179,135} +\pgfutil@definecolor{colortol-rainbow-AD}{RGB}{125,184,116} +\pgfutil@definecolor{colortol-rainbow-AE}{RGB}{127,185,114} +\pgfutil@definecolor{colortol-rainbow-AF}{RGB}{134,187,106} +\pgfutil@definecolor{colortol-rainbow-AG}{RGB}{145,189,97} +\pgfutil@definecolor{colortol-rainbow-AH}{RGB}{161,190,86} +\pgfutil@definecolor{colortol-rainbow-AI}{RGB}{177,190,78} +\pgfutil@definecolor{colortol-rainbow-AJ}{RGB}{181,189,76} +\pgfutil@definecolor{colortol-rainbow-AK}{RGB}{190,188,72} +\pgfutil@definecolor{colortol-rainbow-AL}{RGB}{199,185,68} +\pgfutil@definecolor{colortol-rainbow-AM}{RGB}{202,184,67} +\pgfutil@definecolor{colortol-rainbow-AN}{RGB}{211,179,63} +\pgfutil@definecolor{colortol-rainbow-AO}{RGB}{216,175,61} +\pgfutil@definecolor{colortol-rainbow-AP}{RGB}{217,173,60} +\pgfutil@definecolor{colortol-rainbow-AQ}{RGB}{222,167,58} +\pgfutil@definecolor{colortol-rainbow-AR}{RGB}{223,165,58} +\pgfutil@definecolor{colortol-rainbow-AS}{RGB}{227,156,55} +\pgfutil@definecolor{colortol-rainbow-AT}{RGB}{229,148,53} +\pgfutil@definecolor{colortol-rainbow-AU}{RGB}{230,142,52} +\pgfutil@definecolor{colortol-rainbow-AV}{RGB}{230,139,51} +\pgfutil@definecolor{colortol-rainbow-AW}{RGB}{231,133,50} +\pgfutil@definecolor{colortol-rainbow-AX}{RGB}{231,124,48} +\pgfutil@definecolor{colortol-rainbow-AY}{RGB}{231,116,47} +\pgfutil@definecolor{colortol-rainbow-AZ}{RGB}{231,109,46} +\pgfutil@definecolor{colortol-rainbow-BA}{RGB}{230,104,45} +\pgfutil@definecolor{colortol-rainbow-BB}{RGB}{230,100,44} +\pgfutil@definecolor{colortol-rainbow-BC}{RGB}{232,96,28} +\pgfutil@definecolor{colortol-rainbow-BD}{RGB}{217,33,32} +\pgfutil@definecolor{colortol-rainbow-BE}{RGB}{220,5,12} +% --- +\pgfutil@definecolor{colortol-rainbow-BF}{RGB}{25,101,176} +\pgfutil@definecolor{colortol-rainbow-BG}{RGB}{123,175,222} +\pgfutil@definecolor{colortol-rainbow-BH}{RGB}{78,178,101} +\pgfutil@definecolor{colortol-rainbow-BI}{RGB}{144,201,135} +\pgfutil@definecolor{colortol-rainbow-BJ}{RGB}{202,224,171} +\pgfutil@definecolor{colortol-rainbow-BK}{RGB}{247,238,85} +\pgfutil@definecolor{colortol-rainbow-BL}{RGB}{246,193,65} +\pgfutil@definecolor{colortol-rainbow-BM}{RGB}{241,147,45} +% color for data gaps +\pgfutil@definecolor{colortol-rainbow-gap}{RGB}{119,119,119} + + +% ----------------------------------------------------------------------------- +% rainbow continuous palette +\pgfutil@definecolor{colortol-rainbow-cont-A}{rgb}{0.47200,0.10893,0.50761} +\pgfutil@definecolor{colortol-rainbow-cont-B}{rgb}{0.34213,0.09855,0.49621} +\pgfutil@definecolor{colortol-rainbow-cont-C}{rgb}{0.28275,0.14652,0.52189} +\pgfutil@definecolor{colortol-rainbow-cont-D}{rgb}{0.25545,0.22543,0.57205} +\pgfutil@definecolor{colortol-rainbow-cont-E}{rgb}{0.24671,0.31603,0.63730} +\pgfutil@definecolor{colortol-rainbow-cont-F}{rgb}{0.25077,0.40567,0.70361} +\pgfutil@definecolor{colortol-rainbow-cont-G}{rgb}{0.26491,0.48682,0.75045} +\pgfutil@definecolor{colortol-rainbow-cont-H}{rgb}{0.28782,0.55584,0.75812} +\pgfutil@definecolor{colortol-rainbow-cont-I}{rgb}{0.31885,0.61177,0.72118} +\pgfutil@definecolor{colortol-rainbow-cont-J}{rgb}{0.35763,0.65539,0.65239} +\pgfutil@definecolor{colortol-rainbow-cont-K}{rgb}{0.40379,0.68838,0.57183} +\pgfutil@definecolor{colortol-rainbow-cont-L}{rgb}{0.45673,0.71262,0.49478} +\pgfutil@definecolor{colortol-rainbow-cont-M}{rgb}{0.51545,0.72969,0.42849} +\pgfutil@definecolor{colortol-rainbow-cont-N}{rgb}{0.57835,0.74051,0.37454} +\pgfutil@definecolor{colortol-rainbow-cont-O}{rgb}{0.64317,0.74507,0.33179} +\pgfutil@definecolor{colortol-rainbow-cont-P}{rgb}{0.70698,0.74240,0.29822} +\pgfutil@definecolor{colortol-rainbow-cont-Q}{rgb}{0.76646,0.73065,0.27175} +\pgfutil@definecolor{colortol-rainbow-cont-R}{rgb}{0.81822,0.70734,0.25045} +\pgfutil@definecolor{colortol-rainbow-cont-S}{rgb}{0.85937,0.66972,0.23257} +\pgfutil@definecolor{colortol-rainbow-cont-T}{rgb}{0.88791,0.61535,0.21650} +\pgfutil@definecolor{colortol-rainbow-cont-U}{rgb}{0.90305,0.54279,0.20076} +\pgfutil@definecolor{colortol-rainbow-cont-V}{rgb}{0.90520,0.45244,0.18413} +\pgfutil@definecolor{colortol-rainbow-cont-W}{rgb}{0.89577,0.34756,0.16585} +\pgfutil@definecolor{colortol-rainbow-cont-X}{rgb}{0.87679,0.23541,0.14585} +\pgfutil@definecolor{colortol-rainbow-cont-Y}{rgb}{0.85054,0.12858,0.12484} + + +% ----------------------------------------------------------------------------- +% colors for the extended rainbow palette (from the website) +\pgfutil@definecolor{colortol-rainbow-ext-low-A}{RGB}{232,236,251} +\pgfutil@definecolor{colortol-rainbow-ext-low-B}{RGB}{221,216,239} +\pgfutil@definecolor{colortol-rainbow-ext-low-C}{RGB}{209,193,225} +\pgfutil@definecolor{colortol-rainbow-ext-low-D}{RGB}{195,168,209} +\pgfutil@definecolor{colortol-rainbow-ext-low-E}{RGB}{181,143,194} +\pgfutil@definecolor{colortol-rainbow-ext-low-F}{RGB}{167,120,180} +\pgfutil@definecolor{colortol-rainbow-ext-low-G}{RGB}{155,98,167} +\pgfutil@definecolor{colortol-rainbow-ext-low-H}{RGB}{140,78,153} +% --- +\pgfutil@definecolor{colortol-rainbow-ext-A}{RGB}{111,76,155} +\pgfutil@definecolor{colortol-rainbow-ext-B}{RGB}{96,89,169} +\pgfutil@definecolor{colortol-rainbow-ext-C}{RGB}{85,104,184} +\pgfutil@definecolor{colortol-rainbow-ext-D}{RGB}{78,121,197} +\pgfutil@definecolor{colortol-rainbow-ext-E}{RGB}{77,138,198} +\pgfutil@definecolor{colortol-rainbow-ext-F}{RGB}{78,150,188} +\pgfutil@definecolor{colortol-rainbow-ext-G}{RGB}{84,158,179} +\pgfutil@definecolor{colortol-rainbow-ext-H}{RGB}{89,165,169} +\pgfutil@definecolor{colortol-rainbow-ext-I}{RGB}{96,171,158} +\pgfutil@definecolor{colortol-rainbow-ext-J}{RGB}{105,177,144} +\pgfutil@definecolor{colortol-rainbow-ext-K}{RGB}{119,183,125} +\pgfutil@definecolor{colortol-rainbow-ext-L}{RGB}{140,188,104} +\pgfutil@definecolor{colortol-rainbow-ext-M}{RGB}{166,190,84} +\pgfutil@definecolor{colortol-rainbow-ext-N}{RGB}{190,188,72} +\pgfutil@definecolor{colortol-rainbow-ext-O}{RGB}{209,181,65} +\pgfutil@definecolor{colortol-rainbow-ext-P}{RGB}{221,170,60} +\pgfutil@definecolor{colortol-rainbow-ext-Q}{RGB}{228,156,57} +\pgfutil@definecolor{colortol-rainbow-ext-R}{RGB}{231,140,53} +\pgfutil@definecolor{colortol-rainbow-ext-S}{RGB}{230,121,50} +\pgfutil@definecolor{colortol-rainbow-ext-T}{RGB}{228,99,45} +\pgfutil@definecolor{colortol-rainbow-ext-U}{RGB}{223,72,40} +\pgfutil@definecolor{colortol-rainbow-ext-V}{RGB}{218,34,34} +% --- +\pgfutil@definecolor{colortol-rainbow-ext-high-A}{RGB}{184,34,30} +\pgfutil@definecolor{colortol-rainbow-ext-high-B}{RGB}{149,33,27} +\pgfutil@definecolor{colortol-rainbow-ext-high-C}{RGB}{114,30,23} +\pgfutil@definecolor{colortol-rainbow-ext-high-D}{RGB}{82,26,19} +% color for data gaps +\pgfutil@definecolor{colortol-rainbow-ext-gaps}{RGB}{102,102,102} 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 76fb9fd67a2..e4859785e36 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 @@ -8,12 +8,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -35,7 +35,7 @@ % }; % \end{axis} % \end{tikzpicture} -%-------------------------------------------------- +%-------------------------------------------------- \def\pgfplotslibdateplot@number@to@julian@and@time#1.#2\julianto#3\hourto#4\minuteto#5{% #3=#1 @@ -50,7 +50,7 @@ \c@pgf@countb=\the\pgf@xa\relax % round minutes (we may loose precision here) \advance\pgf@xa by-\the\c@pgf@countb pt - \ifdim\pgf@xa>0.5pt + \ifdim\pgf@xa>0.5pt \advance\c@pgf@countb by1 \ifnum\c@pgf@countb=60 \c@pgf@countb=#4 % @@ -65,7 +65,7 @@ % #1 the date % #2 the hours % #3 the minutes -% #4 is either empty or is the seconds. +% #4 is either empty or is the seconds. % #5 a macro which will be filled with the date part. % #6 the macro which will contain a number in the range [0,1] % representing hours and minutes. @@ -121,7 +121,7 @@ % \edef#6{\pgf@sys@tonumber\pgf@xa}% % }% % \def\pgfplotslibdateplot@discard@trailing@colon#1:{#1}% -%-------------------------------------------------- +%-------------------------------------------------- \let\pgfplots@calender@ZEROSHIFT=\pgfutil@empty \def\pgfplots@dateplot@ensure@ZEROSHIFT#1{% @@ -256,7 +256,7 @@ }{}% }, /pgfplots/date coordinates in/.value required, - % + % % #1: the argument for 'data coordinates in={#1} % #2: the default for the inverse transformation. If there is % none, a default will be chosen automatically (with full @@ -268,4 +268,3 @@ /pgfplots/date coordinates default inverse={y}{\year-\month-\day}, /pgfplots/date coordinates default inverse={z}{\year-\month-\day}, } - diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.fillbetween.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.fillbetween.code.tex index fea448143d7..b9a38406a75 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.fillbetween.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.fillbetween.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2013 by Christian Feuersaenger @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -55,7 +55,7 @@ /tikz/soft clip assign/domain/.code args={#1:#2}{% \pgfplotsifisvisualizationphase{% \edef\pgfplots@loc@TMPa{% - (axis cs:#1,\pgfkeysvalueof{/pgfplots/ymin}) + (axis cs:#1,\pgfkeysvalueof{/pgfplots/ymin}) rectangle (axis cs:#2,\pgfkeysvalueof{/pgfplots/ymax})}% \pgfkeysalso{/tikz/soft clip assign/path/.expand once=\pgfplots@loc@TMPa}% }{}% @@ -64,7 +64,7 @@ /tikz/soft clip assign/domain y/.code args={#1:#2}{% \pgfplotsifisvisualizationphase{% \edef\pgfplots@loc@TMPa{% - (axis cs:\pgfkeysvalueof{/pgfplots/xmin},#1) + (axis cs:\pgfkeysvalueof{/pgfplots/xmin},#1) rectangle (axis cs:\pgfkeysvalueof{/pgfplots/xmax},#2)}% \pgfkeysalso{/tikz/soft clip assign/path/.expand once=\pgfplots@loc@TMPa}% }{}% @@ -75,7 +75,7 @@ }, } -% The options are from +% The options are from % \addplot[#1] fill between[#2] #3; % % This method is invoked from the global \addplot dispatching. @@ -147,7 +147,7 @@ \endscope \endpgfplotsonlayer% \fi - }{% + }{% % post command. }% } @@ -184,7 +184,7 @@ }{% % the path instruction: \tikzfillbetween[#1]{#2}% - }{% + }{% % post command. }% }% diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.groupplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.groupplots.code.tex index 2c0c06baec4..a1a11127c2e 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.groupplots.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.groupplots.code.tex @@ -320,9 +320,9 @@ % Determine the ticklabels of both x and y. % \def\pgfplots@group@determine@ticklabels{% - \def\pgfplots@loc@TMPa{all} - \def\pgfplots@loc@TMPb{top} - \def\pgfplots@loc@TMPc{lower} + \def\pgfplots@loc@TMPa{all}% + \def\pgfplots@loc@TMPb{top}% + \def\pgfplots@loc@TMPc{lower}% \ifx\pgfplots@loc@TMPa\pgfplots@group@xticklabels% % Do nothing as all should have xticklabels \fi @@ -330,11 +330,13 @@ \ifx\pgfplots@loc@TMPb\pgfplots@group@xticklabels% \foreach \pgfplots@column in {1,...,\pgfplots@group@columns} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r1/.append style={xticklabel pos=upper}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r1/.append style={% + xticklabel pos=upper}}% \ifnum1<\pgfplots@group@rows\relax \foreach \pgfplots@row in {2,...,\pgfplots@group@rows} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={/pgfplots/xticklabels={}}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={% + /pgfplots/xticklabels={},/pgfplots/xtick scale label code/.code={}}}% }% \fi% }% @@ -342,12 +344,14 @@ \ifx\pgfplots@loc@TMPc\pgfplots@group@xticklabels% \foreach \pgfplots@column in {1,...,\pgfplots@group@columns} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@group@rows/.append style={xticklabel pos=lower}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@group@rows/.append style={% + xticklabel pos=lower}}% \ifnum1<\pgfplots@group@rows\relax \pgfplotsgroupplotsmath@decrease\pgfplots@group@rows \foreach \pgfplots@row in {1,...,\pgfmathresult} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={/pgfplots/xticklabels={}}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={% + /pgfplots/xticklabels={},/pgfplots/xtick scale label code/.code={}}}% }% \fi% }% @@ -355,8 +359,9 @@ % % Defining styles for the ytick's % - \def\pgfplots@loc@TMPb{left} - \def\pgfplots@loc@TMPc{right} + \def\pgfplots@loc@TMPa{all}% + \def\pgfplots@loc@TMPb{left}% + \def\pgfplots@loc@TMPc{right}% \ifx\pgfplots@loc@TMPa\pgfplots@group@yticklabels% % Do nothing as all should have yticklabels \fi @@ -367,7 +372,8 @@ \ifnum1<\pgfplots@group@columns\relax \foreach \pgfplots@column in {2,...,\pgfplots@group@columns} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={/pgfplots/yticklabels={}}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={% + /pgfplots/yticklabels={}, /pgfplots/ytick scale label code/.code={}}}% }% \fi% }% @@ -375,17 +381,19 @@ \ifx\pgfplots@loc@TMPc\pgfplots@group@yticklabels% \foreach \pgfplots@row in {1,...,\pgfplots@group@rows} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@group@columns r\pgfplots@row/.append style={yticklabel pos=right}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@group@columns r\pgfplots@row/.append style={% + yticklabel pos=right}}% \ifnum1<\pgfplots@group@columns\relax \pgfplotsgroupplotsmath@decrease\pgfplots@group@columns \foreach \pgfplots@column in {1,...,\pgfmathresult} {% \expandafter\xdef\expandafter\pgfplots@glob@TMPa\expandafter{% - \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={/pgfplots/yticklabels={}}}% + \pgfplots@glob@TMPa,/pgfplots/group/plot c\pgfplots@column r\pgfplots@row/.append style={% + /pgfplots/yticklabels={}, /pgfplots/ytick scale label code/.code={}}}% }% \fi% }% \fi% - \expandafter\pgfkeys\expandafter{\pgfplots@glob@TMPa} + \expandafter\pgfkeys\expandafter{\pgfplots@glob@TMPa}% } % 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 a1259e975f4..fb9283571c9 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 @@ -12,17 +12,17 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % %-------------------------------------------- - + % NOTES: % In general, a Bezier spline C:[0,1] -> \R of order n fulfills % C'(0) = n ( P_1 - P_0 ), @@ -31,32 +31,32 @@ % the derivatives at t=0 and t=1. % % - % + % %-------------------------------------------------- % 4-point Lagrange interpolation on {0,1/3,2/3,1}: -% C(x) = +% C(x) = % a * (1/3 - x)/(1/3) * (2/3-x)/(2/3) * (1-x) + % b * (0 - x)/(0 - 1/3) * (2/3-x)/(2/3-1/3) * (1-x)/(1-1/3) + % c * (0 - x)/(0 - 2/3) * (1/3-x)/(1/3-2/3) * (1-x)/(1-2/3) + % d * (0 - x)/(0 - 1) * (1/3-x)/(1/3-1) * (2/3-x) /(2/3-1) -% -% +% +% % Derivative: -% -% (-9*c + 2*d + 72*c*x - 18*d*x - 81*c*x^2 + 27*d*x^2 + +% +% (-9*c + 2*d + 72*c*x - 18*d*x - 81*c*x^2 + 27*d*x^2 + % a*(-11 + 36*x - 27*x^2) + 9*b*(2 - 10*x + 9*x^2))/2 -% +% % bezier control points are % P1 = (-5*a)/6 + 3*b - (3*c)/2 + d/3 % = -0.833333 a + 3. b - 1.5 c + 0.333333 d -% +% % P2 = 0.333333 (0.5 (2. a - 9. b + 18. c - 11. d) + 3. d) % = 0.333333 a - 1.5 b + 3. c - 0.833333 d -%-------------------------------------------------- +%-------------------------------------------------- -% A quadratic spline in the ordering +% A quadratic spline in the ordering % % <left> <right> <middle> % @@ -267,7 +267,7 @@ },% recursive refine@={% % The 4-point lagrangian interpolation formular is shown on - % the top of this page. What I do here is simply to evaluate + % the top of this page. What I do here is simply to evaluate % C(i*1/9) for i =0,...,9: % 0 % 0.493827 A +0.740741 C -0.296296 D +0.0617284 B @@ -542,7 +542,7 @@ % \fi % \fi % }, - %-------------------------------------------------- + %-------------------------------------------------- stream to shader={% % create a degenerate coons patch: \begingroup @@ -569,7 +569,7 @@ \pgfplotslibrarysurfstreamcoord{\pgfqpoint\pgfplotspatchvertexx\pgfplotspatchvertexy}{\pgfplotspointmetatransformed}% % degenerate: the "edge" \PA -- \PA collabses into one % point. - % Per construction, the "edge" is the FOREGROUND. + % Per construction, the "edge" is the FOREGROUND. %\message{STREAMING COLLAPSED EDGE AT START POINT^^J}% \pgfplotslibrarysurfstreamcoord{\pgfqpoint\pgfplotspatchvertexx\pgfplotspatchvertexy}{\pgfplotspointmetatransformed}% \pgfplotslibrarysurfstreamcoord{\pgfqpoint\pgfplotspatchvertexx\pgfplotspatchvertexy}{\pgfplotspointmetatransformed}% @@ -666,7 +666,7 @@ % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}20% - %-------------------------------------------------- + %-------------------------------------------------- % The ordering is not arbitrary % (unless z buffer=sort is in effect). Let's assume that the % AB edge is BACKGROUND and the CD edge is FOREGROUND. Then @@ -734,7 +734,7 @@ %-------------------------------------------------- % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}00% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}10% - %-------------------------------------------------- + %-------------------------------------------------- \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@qtri@F@}% \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@qtri@D@}% \expandafter\pgfplotsplothandlermesh@setnextvertex\expandafter{\pgfplotspatchclass@qtri@E@}% @@ -745,7 +745,7 @@ % %-------------------------------------------------- % % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% - % %-------------------------------------------------- + % %-------------------------------------------------- #1\pgfplotspatchclass@qtri@recursiverefine@newnames % % @@ -1063,7 +1063,7 @@ % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}20% - %-------------------------------------------------- + %-------------------------------------------------- % The ordering is not arbitrary % (unless z buffer=sort is in effect). Let's assume that the % AB edge is BACKGROUND and the CD edge is FOREGROUND. Then @@ -1163,8 +1163,8 @@ % D <-- C % | ^ % v | -% A --> B -% +% A --> B +% \pgfkeyssetvalue{/pgfplots/vertex count}{0}% \pgfplotsdeclarepatchclass{polygon}{% new=\def\pgfplotspatchclass@poly@no{0}, @@ -1242,13 +1242,13 @@ }% -% mathematica shape functions parameterized in +% mathematica shape functions parameterized in % (xi,eta) in [-1,1]x[-1,1]: %f[xi_, eta_] = % a*1/4*(1 - xi) (1 - eta) xi*eta + -% b 1/4 (-1 - xi) (1 - eta) xi*eta + +% b 1/4 (-1 - xi) (1 - eta) xi*eta + % c* 1/4 (-1 - xi) (-1 - eta) xi*eta + -% d *1/4 (1 - xi) (-1 - eta) xi*eta + +% d *1/4 (1 - xi) (-1 - eta) xi*eta + % e * 1/2 (xi^2 - 1) (1 - eta) eta + % f*1/2 (-1 - xi) (eta^2 - 1) xi + % g* -1/2 (1 - xi^2) (-1 - eta) eta + @@ -1321,9 +1321,9 @@ % % This involves a change from Lagrange to bezier % representation of the boundary curves. - % + % % Furthermore, pdf supports only **cubic** bezier curves. What - % I am doing here is + % I am doing here is % a) change of basis from 3-point lagrange ---> 3 point quadratic bezier % b) expression 3 point quadratic bezier ----> 4 point cubic bezier % @@ -1333,7 +1333,7 @@ % % OUTPUT: % \PA,bezier control 1, bezier control 2, \PC. - % + % \def\pgfplots@edge{% \ifx\pgfplotspatchclass@biquad@A\PA \pgfpathmoveto{\expandafter\pgfplotspointpatchvertex\PA\endvertex}% @@ -1394,7 +1394,7 @@ % \fi % \fi % }, - %-------------------------------------------------- + %-------------------------------------------------- stream to shader={% \begingroup % @@ -1425,7 +1425,7 @@ % % we use % \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth - % which works for bilinear, biquadratic, and bicubic + % which works for bilinear, biquadratic, and bicubic \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth {pgfplotspatchclass@biquad@}{\Pcur}{\Pnextseq}% % @@ -1454,16 +1454,16 @@ % Well, this is simple: take the matrix as-is! % simply copy 1:1 % - % i.e. convert + % i.e. convert % D G C % H I F % A E B % % to % - % AC BC CC - % AB BB CB - % AA BA CA + % AC BC CC + % AB BB CB + % AA BA CA \let\P@AA=\pgfplotspatchclass@biquad@A \let\P@BA=\pgfplotspatchclass@biquad@E \let\P@CA=\pgfplotspatchclass@biquad@B @@ -1477,15 +1477,15 @@ \if B\Pcur % the "B" point needs to be streamed as first. % - % i.e. reorder + % i.e. reorder % D G C % H I F % A E B % - % to - % A H D AC BC CC - % E I G =: AB BB CB - % B F C AA BA CA + % to + % A H D AC BC CC + % E I G =: AB BB CB + % B F C AA BA CA % \let\P@AA=\pgfplotspatchclass@biquad@B \let\P@BA=\pgfplotspatchclass@biquad@F @@ -1500,15 +1500,15 @@ \if C\Pcur % the "C" point needs to be streamed as first. % - % i.e. reorder + % i.e. reorder % D G C % H I F % A E B % - % to - % B E A AC BC CC - % F I H =: AB BB CB - % C G D AA BA CA + % to + % B E A AC BC CC + % F I H =: AB BB CB + % C G D AA BA CA % \let\P@AA=\pgfplotspatchclass@biquad@C \let\P@BA=\pgfplotspatchclass@biquad@G @@ -1523,15 +1523,15 @@ \if D\Pcur % the "D" point needs to be streamed as first. % - % i.e. reorder + % i.e. reorder % D G C % H I F % A E B % - % to - % C F B AC BC CC - % G I E =: AB BB CB - % D H A AA BA CA + % to + % C F B AC BC CC + % G I E =: AB BB CB + % D H A AA BA CA % \let\P@AA=\pgfplotspatchclass@biquad@D \let\P@BA=\pgfplotspatchclass@biquad@H @@ -1567,7 +1567,7 @@ % 'patch type=quadratic spline' . We only need to apply it to all % lines in U direction and afterwards to all lines in V % direction. - % + % \def\pgfplotspatchvertexaddXY@expanded##1\times{% \edef\pgfplots@loc@TMPa{##1}% \expandafter\pgfplotspatchvertexaddXY\pgfplots@loc@TMPa\times @@ -1683,7 +1683,7 @@ % \edef\pgfplotspatchclass@biquade@CA{#2}% % \fi % }, - %-------------------------------------------------- + %-------------------------------------------------- serialize except vertices={% \ifx\pgfplotspatchclass@biquade@AB\relax \let\pgfplotsretval\pgfutil@empty% @@ -1706,7 +1706,7 @@ % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}01% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}11% % \pgfplotspatchclass{\pgfplotspatchclassname}{set edge visible}20% - %-------------------------------------------------- + %-------------------------------------------------- % The ordering is not arbitrary % (unless z buffer=sort is in effect). Let's assume that the % AB edge is BACKGROUND and the CD edge is FOREGROUND. Then @@ -1721,11 +1721,11 @@ % {0.375` a - 0.125` b + 0.75` e, % 0.375` e - 0.125` g + 0.75` i, % -0.125` f + 0.375` h + 0.75` i, - % 0.375` a - 0.125` d + 0.75` h, - % 0.140625` a - 0.046875` b + 0.015625` c - 0.046875` d + + % 0.375` a - 0.125` d + 0.75` h, + % 0.140625` a - 0.046875` b + 0.015625` c - 0.046875` d + % 0.28125` e - 0.09375` f - 0.09375` g + 0.28125` h + % 0.5625` i} - %-------------------------------------------------- + %-------------------------------------------------- \pgfplotspatchvertexaccumstart \expandafter\pgfplotspatchvertexadd\pgfplotspatchclass@biquad@A\times{0.375}% \expandafter\pgfplotspatchvertexadd\pgfplotspatchclass@biquad@B\times{-0.125}% @@ -1832,7 +1832,7 @@ % N[ {f[1, 1/2], f[1/2, 1], f[0, 1/2], f[1/2, 1/2]}] % {-0.125` b + 0.375` c + 0.75` f, % 0.375` c - 0.125` d + 0.75` g, - % -0.125` e + 0.375` g + 0.75` i, + % -0.125` e + 0.375` g + 0.75` i, % 0.015625` a - 0.046875` b + 0.140625` c - 0.046875` d - 0.09375` e + 0.28125` f + 0.28125` g - 0.09375` h + 0.5625` i} \pgfplotspatchvertexaccumstart \expandafter\pgfplotspatchvertexadd\pgfplotspatchclass@biquad@B\times{-0.125}% @@ -2317,7 +2317,7 @@ % % This involves a change from Lagrange to bezier % representation of the boundary curves. - % + % \pgfpathmoveto{\expandafter\pgfplotspointpatchvertex\pgfplotspatchclass@bicubic@AA\endvertex}% \pgfplotspathcubicfrominterpolation {\pgfplotspatchclass@bicubic@AA} @@ -2355,7 +2355,7 @@ % % we use % \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth - % which works for bilinear, biquadratic, and bicubic + % which works for bilinear, biquadratic, and bicubic % % define helper macros which are input for % \pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth: @@ -2400,12 +2400,12 @@ \if B\Pcur % the "DA" point needs to be streamed as first. % - % Reorder + % Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA - % to + % to % AA AB AC AD % BA BB BC BD % CA CB CC CD @@ -2431,12 +2431,12 @@ \if C\Pcur % the "DD" point needs to be streamed as first. % - % Reorder + % Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA - % to + % to % DA CA BA AA % DB CB BB AB % DC CC BC AC @@ -2462,12 +2462,12 @@ \if D\Pcur % the "AD" point needs to be streamed as first. % - % Reorder + % Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA - % to + % to % DD DC DB DA % CD CC CB CA % BD BC BB BA @@ -2513,7 +2513,7 @@ % 'patch type=cubic spline' . We only need to apply it to all % lines in U direction and afterwards to all lines in V % direction. - % + % \def\pgfplotspatchvertexaddXY@expanded##1\times{% \edef\pgfplots@loc@TMPa{##1}% \expandafter\pgfplotspatchvertexaddXY\pgfplots@loc@TMPa\times @@ -2573,7 +2573,7 @@ \let\pgfplotsplothandlermesh@patchclass@=\pgfplotsplothandlermesh@patchclass \def\pgfplotsplothandlermesh@patchclass{triangle}% \pgfplotspatchclass{\pgfplotsplothandlermesh@patchclass}{new}% - % Ok. Now create a lot of triangles. + % Ok. Now create a lot of triangles. % % FIXME: The ordering is not arbitrary (unless z buffer=sort is in effect). % @@ -2627,12 +2627,12 @@ % Transpose a bicubic matrix (4x4). % -% Reorder +% Reorder % AD BD CD DD % AC BC CC DC % AB BB CB DB % AA BA CA DA -% to +% to % DA DB DC DD % CA CB CC CD % BA BB BC BD @@ -2648,28 +2648,28 @@ % Transpose a bicubic matrix (4x4). % -% Reorder -% AC BC CC -% AB BB CB -% AA BA CA -% to -% CA CB CC -% BA BB BC -% AA AB AC +% Reorder +% AC BC CC +% AB BB CB +% AA BA CA +% to +% CA CB CC +% BA BB BC +% AA AB AC \def\pgfplotspatchclass@biquad@transpose{% \pgfplotsutil@swap\P@AB\P@BA \pgfplotsutil@swap\P@CA\P@AC \pgfplotsutil@swap\P@CB\P@BC } -% Expects that a 4x4 matrix in tensor bezier representation where +% Expects that a 4x4 matrix in tensor bezier representation where % A = left end point % B = first control point % C = second control point % D = right end point % % and the coordinates are stored in \csname P@[ABCD][ABCD]\endcsname -% +% % Streaming starts with \P@AA and is applied rowwise. \def\pgfplotsplothandlermesh@shade@cubic@tensor{% % Stream it to the shader. Note that the shader has a 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 30ac9587b2b..116195a9099 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 @@ -330,7 +330,7 @@ \ifx\pgfplots@data@ymin\pgfplots@invalidrange@ymax \global\let\pgfplots@data@ymax=\pgfplots@ymax \fi - \ifpgfplots@clip@limits + \ifpgfplots@clip@limits@x \else % there is a rare change that min > max. % Handle that ... @@ -338,12 +338,18 @@ \global\let\pgfplots@xmin=\pgfmathresult \pgfplotscoordmath{x}{max}{\pgfplots@xmin}{\pgfplots@xmax}% \global\let\pgfplots@xmax=\pgfmathresult + \fi + \ifpgfplots@clip@limits@y + \else % \pgfplotscoordmath{y}{min}{\pgfplots@ymin}{\pgfplots@ymax}% \global\let\pgfplots@ymin=\pgfmathresult \pgfplotscoordmath{y}{max}{\pgfplots@ymin}{\pgfplots@ymax}% \global\let\pgfplots@ymax=\pgfmathresult % + \fi + \ifpgfplots@clip@limits@z + \else \ifpgfplots@threedim \pgfplotscoordmath{z}{min}{\pgfplots@zmin}{\pgfplots@zmax}% \global\let\pgfplots@zmin=\pgfmathresult diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.statistics.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.statistics.code.tex index 6b05a8a9a69..3931d85dae3 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.statistics.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.statistics.code.tex @@ -8,12 +8,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -134,7 +134,7 @@ % chosen to fit the initial 'draw position': boxplot/box extend/.initial=0.8, % draw direction=x|y - boxplot/draw direction/.initial=x, + boxplot/draw direction/.initial=x, % % Activates "dynamic size" feature boxplot/variable width/.is if=pgfplotsplothandlerboxplot@variable@width, @@ -152,7 +152,7 @@ boxplot/sample size min/.initial=, boxplot/sample size max/.initial=, % - % this factor times 'box extend' is the size for + % this factor times 'box extend' is the size for % 'sample size min'. The max value gets 'box extend'. boxplot/variable width min target/.initial=0.2, % @@ -162,7 +162,7 @@ % 1,2,3,4,... . This should probably simplify tick (label) generation. boxplot/draw position/.initial=1+\plotnumofactualtype, % - % draw relative anchor=0: + % draw relative anchor=0: % | |---| | % | | | | % |----|---|--| @@ -172,7 +172,7 @@ % |----| |--| % | |---| | % - % draw relative anchor=1: + % draw relative anchor=1: % |----|---|--| % | | | | % | |---| | @@ -253,9 +253,9 @@ \let\pgfplotsplothandlersurveystart=\pgfplotsplothandlersurveystart@boxplot \let\pgfplotsplothandlersurveyend=\pgfplotsplothandlersurveyend@boxplot \def\pgfplotsplothandlerLUAfactory{% - function(axis, pointmetainputhandler) + function(axis, pointmetainputhandler) return pgfplots.BoxPlotPlothandler.new( - pgfplots.BoxPlotRequest.new( + pgfplots.BoxPlotRequest.new( "\pgfkeysvalueof{/pgfplots/boxplot/lower quartile off}", "\pgfkeysvalueof{/pgfplots/boxplot/upper quartile off}", "\pgfkeysvalueof{/pgfplots/boxplot/whisker range}", @@ -366,7 +366,7 @@ } % FIXME : implement 'ceil' in the FPU! \pgfplots@error{The argument 'estimator=\pgfplots@boxplot@estimator' is only available in conjunction with 'lua backend' and lualatex.}% - \or + \or % R2: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{##1*##2 + 0.5}% @@ -387,7 +387,7 @@ } % FIXME : implement 'ceil' in the FPU! \pgfplots@error{The argument 'estimator=\pgfplots@boxplot@estimator' is only available in conjunction with 'lua backend' and lualatex.}% - \or + \or % R3: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{##1*##2}% @@ -397,42 +397,42 @@ \let\offset@low=\pgfmathresult \pgfplotsplothandler@boxplot@percentile@estimator@getIndex{\offset@low}{##2}% } - \or + \or % R4: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{##1*##2}% \let\h=\pgfmathresult \pgfplotsplothandler@boxplot@percentile@estimator@std@lookup{##2}% } - \or + \or % R5: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{##1*##2 + 0.5}% \let\h=\pgfmathresult \pgfplotsplothandler@boxplot@percentile@estimator@std@lookup{##2}% } - \or + \or % R6: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{##1*(##2+1)}% \let\h=\pgfmathresult \pgfplotsplothandler@boxplot@percentile@estimator@std@lookup{##2}% } - \or + \or % R7: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{(##2-1) * ##1 + 1}% \let\h=\pgfmathresult \pgfplotsplothandler@boxplot@percentile@estimator@std@lookup{##2}% } - \or + \or % R8: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{(##2 + 1/3) * ##1 + 1/3}% \let\h=\pgfmathresult \pgfplotsplothandler@boxplot@percentile@estimator@std@lookup{##2}% } - \or + \or % R9: \def\pgfplotsplothandler@boxplot@percentile@estimator@##1##2{% \pgfmathparse{(##2 + 1/4) * ##1 + 3/8}% @@ -556,7 +556,7 @@ } -\def\pgfplotsplothandlersurveyend@boxplot@computestats{ +\def\pgfplotsplothandlersurveyend@boxplot@computestats{ % \pgfplotsplothandler@boxplot@init@percentile@estimator % @@ -887,7 +887,7 @@ \pgfmathfloattofixed\pgfmathresult \fi % remember it for later - it might have been retrieved from some - % table column! If you used something like + % table column! If you used something like % 'draw position=\thisrow{position}, the position of the LAST data point % will be used (because we are in end survey here). \edef\pgfplots@loc@TMPb{\noexpand\pgfplotsplothandlersurveyaddoptions{/pgfplots/boxplot/draw position=\pgfmathresult}}% @@ -1077,9 +1077,9 @@ \begingroup \pgfkeys{/pgf/fpu}% \pgfmathparse{ - (\pgfplots@widthkey@mintrg + - max(0,min(1,(\pgfplots@widthkey@ - \pgfplotsplothandlerboxplot@widthkey@min) / - (\pgfplotsplothandlerboxplot@widthkey@max - \pgfplotsplothandlerboxplot@widthkey@min))) + (\pgfplots@widthkey@mintrg + + max(0,min(1,(\pgfplots@widthkey@ - \pgfplotsplothandlerboxplot@widthkey@min) / + (\pgfplotsplothandlerboxplot@widthkey@max - \pgfplotsplothandlerboxplot@widthkey@min))) * (1-\pgfplots@widthkey@mintrg)) * \pgfplots@loc@TMPa}% \pgfmathfloattofixed\pgfmathresult \pgfmath@smuggleone\pgfmathresult @@ -1174,7 +1174,7 @@ % A helper which implements 'draw relative anchor'. It expands to a % math expression which is suitable as second argument for 'boxplot cs'; % i.e. it needs to be added to 'boxplot/draw position'. -% +% % More precisely, this macro is to be used in a context where lines of % 'box extend' length have to be drawn. % @@ -1183,7 +1183,7 @@ % % #1: the coordinate. 0 is the means "lower part of the construct % which is to be drawn". 1 means the "upper part of that construct" -% and 0.5 is in the middle. +% and 0.5 is in the middle. \def\pgfplots@boxplot@anchor@value#1{% (#1-\pgfplotsboxplotvalue{draw relative anchor})*\pgfplotsboxplotvalue{box extend}% } @@ -1195,10 +1195,10 @@ } \def\pgfplotsboxplotpointabbox#1#2{% - \pgfplotsboxplotpointab{#1}{\pgfplots@boxplot@anchor@value{#2}}% + \pgfplotsboxplotpointab{#1}{\pgfplots@boxplot@anchor@value{#2}}% }% \def\pgfplotsboxplotpointabwhisker#1#2{% - \pgfplotsboxplotpointab{#1}{\pgfplots@boxplot@anchor@value@whisker{#2}}% + \pgfplotsboxplotpointab{#1}{\pgfplots@boxplot@anchor@value@whisker{#2}}% }% \tikzdeclarecoordinatesystem{boxplot}{% diff --git a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex index df9a26d6839..3bf006f31fd 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex @@ -31,12 +31,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -100,7 +100,7 @@ } % #1 the array's name (a macro name -% #2 a list created by \pgfplotslistnew +% #2 a list created by \pgfplotslistnew \def\pgfplotsarrayfrompgfplotslist#1#2{% \pgfplotsarraynewempty#1% \pgfplotslistforeachungrouped#2\as\pgfplotsarray@TMPa{% @@ -398,21 +398,21 @@ }% % Sorts array '#1' using N log N time. -% +% % The sort key is provided as argument in % /pgfplots/iflessthan/.code args={#1#2#3#4}, see docs in % pgfplotsutil.code.tex. % % Remarks: % - the sorting algorithm is a sub-optimal mergesort currently - -% but it has runtime N log N. +% but it has runtime N log N. % - As usual, it is very difficult to move the final result out of the -% current scope. The initial configuration allocates a *global* copy of #1 +% current scope. The initial configuration allocates a *global* copy of #1 % to carry results out of one TeX group. This means that memory will NEVER be freed. % I don't see a general N log N alternative for doing so (short of discarding % the scopes for local groups). % BUT: -% you can redefine the code key pair +% you can redefine the code key pair % |/pgfplots/array/unscope pre| % and % |/pgfplots/array/unscope post| @@ -440,18 +440,18 @@ % \pgfplotsarraypushback677\to\testarray % \pgfplotsarraypushback765\to\testarray % \pgfplotsarraypushback703\to\testarray -% -% Unsorted: -% +% +% Unsorted: +% % [\pgfplotsarrayforeach\testarray\as\elem{\elem\space}] -% +% % \pgfplotsarraysort\testarray -% -% sorted: -% +% +% sorted: +% % [\pgfplotsarrayforeach\testarray\as\elem{\elem\space}] -% -%-------------------------------------------------- +% +%-------------------------------------------------- % % @see \pgfplotsutilsortthree % @see \pgfplotsutilsortfour @@ -609,7 +609,7 @@ \pgfplotsarray@mergesort{#1}{#4}{#5}% } - + % A simple, ungrouped insert sort algorithm for small arrays. % % for i := 1; i < N; ++i do diff --git a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex index fa90ea613f6..990b796ce54 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex @@ -6,7 +6,7 @@ % % The 'pgfplotsapplist' is a list which has ONLY the features % -% \pgfplotsapplistnewempty +% \pgfplotsapplistnewempty % \pgfplotsapplistpushback O(1) % \pgfplotsapplistedefcontenttomacro (N) % \pgfplotsapplistxdefcontenttomacro (N) @@ -15,9 +15,9 @@ % contrast to TeX's macro append routines which lead to O(N^2) % runtime). % -% Furthermore, there is the +% Furthermore, there is the % -% \pgfplotsapplistXnewempty +% \pgfplotsapplistXnewempty % \pgfplotsapplistXpushback % \pgfplotsapplistXedefcontenttomacro (N) % \pgfplotsapplistXxdefcontenttomacro (N) @@ -39,12 +39,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -57,7 +57,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % the applist defines one macro for each element, like -% +% % \def\element<i>{<content>\element<i+1>} % \def\element<i+1>{<content>\element<i+2>} % \def\element<i+2>{} @@ -100,7 +100,7 @@ \expandafter\edef\csname\string#2@\pgfplots@loc@TMPa\endcsname{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% \expandafter\let\the\t@pgfplots@tokb=\pgfutil@empty }% - + % time O(N) % Expands the complete content of list #1 as-is into the macro #2. \def\pgfplotsapplistedefcontenttomacro#1\to#2{\edef#2{#1}} @@ -125,7 +125,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Usage: +% Usage: % \pgfplotsapplistXnewempty\macro % \pgfplotsapplistXnewempty[to global]\macro % @@ -223,7 +223,7 @@ \expandafter\def\csname\string#1@bigbuf@c\endcsname{0}% }% - + % Expands the complete content of list #1 as-is into the macro #2. \def\pgfplotsapplistXedefcontenttomacro#1\to#2{% \pgfplotsapplistXflushbuffers#1% @@ -243,14 +243,14 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% +% % A variant of applist which has the same runtime requirements, but % does PUSH FRONT only. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Usage: +% Usage: % \pgfplotsprependlistXnewempty{liste} \def\pgfplotsprependlistXnewempty#1{% \expandafter\let\csname pgfpPRP@#1\endcsname=\pgfutil@empty @@ -316,7 +316,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% +% % This list \pgfplotsapplistXX here is essentially the SAME as \pgfplotslistX. % % But there can only be one such list at a time, so it is faster than @@ -408,7 +408,7 @@ \def\pgfplotsapplistXX@bigbuf@c{0}% }% - + % Expands the complete content of list #1 as-is into the macro #2. \def\pgfplotsapplistXXedefcontenttomacro#1{% \pgfplotsapplistXXflushbuffers @@ -428,7 +428,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 -% +% % \pgfplotslistXXglobal assigns to a global list. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 @@ -509,7 +509,7 @@ \gdef\pgfplotsapplistXXglobal@bigbuf@c{0}% }% - + % Expands the complete content of list #1 as-is into the macro #2. % % this assigns locally into #1. @@ -542,7 +542,7 @@ \def\pgfplotsgloballet{\global\let}% -% Usage: +% Usage: % \pgfplotsapplistXglobalnewempty\macro % \pgfplotsapplistXglobalnewempty[to global]\macro % @@ -609,7 +609,7 @@ \expandafter\gdef\csname\string#1@bigbuf@c\endcsname{0}% }% - + \def\pgfplotsapplistXgloballet#1=#2{% \pgfplotsapplistXglobalflushbuffers#2% \let#1=#2} diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/binary.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/binary.lua index 704778440bc..74c04b7409f 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/binary.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/binary.lua @@ -12,7 +12,7 @@ else pgfplotsUnpack = unpack; end --- Takes a table containing an arbitrary number of integers in the range 0..255 and converts it +-- Takes a table containing an arbitrary number of integers in the range 0..255 and converts it -- into a binary stream of the corresponding binary chars. -- -- @param charIndices a table containing 0...N arguments; each in the range 0..255 diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/colormap.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/colormap.lua index e0df003e724..73cbb2c894e 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/colormap.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/colormap.lua @@ -13,6 +13,8 @@ local table=table do -- all globals will be read from/defined in pgfplots: local _ENV = pgfplots + +local pgftonumber = pgfluamathfunctions.tonumber ----------------------------------- ColorSpace = newClass() @@ -33,7 +35,8 @@ ColorMap.range =1000 -- colorspace: an instance of ColorSpace -- values: an array (1-based table) with color components. Each color component is supposed to be a table with K entries where K is colorspace:numComponents -- positions: either an empty array (in which case the colormap is uniform) or one position per value. Positions are in [0,1000] -function ColorMap:constructor( h, colorspace, values, positions) +-- scaleOrderZ the specific scaling factor used for 'colormap access=const' (or negative or the empty string if this is disabled) +function ColorMap:constructor( h, colorspace, values, positions, scaleOrderZ) if not h or not colorspace or not positions or not values then error("arguments must not be nil")end self.name = name @@ -42,6 +45,7 @@ function ColorMap:constructor( h, colorspace, values, positions) self.colorspace = colorspace self.values = values self.pos = positions + self:setScaleOrderZ(scaleOrderZ) local numComponents = self.colorspace.numComponents for i = 1,#self.values do @@ -52,24 +56,48 @@ function ColorMap:constructor( h, colorspace, values, positions) end end -function ColorMap:findPrecomputed(inMin, inMax, x) +function ColorMap:isUniform() + if #self.pos == 0 then + return true + else + return false + end +end + +function ColorMap:setScaleOrderZ(scaleOrderZ) + if type(scaleOrderZ) == "number" then + self.scaleOrderZ = scaleOrderZ + elseif #scaleOrderZ == 0 or type(scaleOrderZ) == "string" and scaleOrderZ == "h" then + -- special case which means "h" + self.scaleOrderZ = "h" + else + self.scaleOrderZ = pgftonumber(scaleOrderZ) + end +end + +function ColorMap:_transform(inMin, inMax, x) local transformed if inMin == 0 and inMax == ColorMap.range then transformed = x else - local scale = ColorMap.range / (inMax - inMin) + local scale = ColorMap.range / (inMax - inMin) transformed = (x - inMin) * scale end transformed = math.max(0, transformed) transformed = math.min(ColorMap.range, transformed) - + return transformed +end + +function ColorMap:findPrecomputed(inMin, inMax, x) + local transformed = self:_transform(inMin, inMax, x) + local divh = transformed * self.invh local intervalno = math.floor(divh) local factor = divh - intervalno local factor_two = 1-factor - + -- Step 2: interpolate the desired RGB value using vector valued interpolation on the identified interval if intervalno+1 == #self.values then -- ah- we are at the right end! @@ -90,6 +118,34 @@ function ColorMap:findPrecomputed(inMin, inMax, x) return result end +function ColorMap:findPiecewiseConst(inMin, inMax, x) + -- see docs in \pgfplotscolormapfindpiecewiseconst@precomputed@ for details + + local transformed = self:_transform(inMin, inMax, x) + local intervalno =-1 + if self:isUniform() then + if self.scaleOrderZ == "h" then + invh = self.invh + 0.001 + else + -- disable the extra interval + invh = self.invh + end + + local divh = transformed * invh + intervalno = math.floor(divh) + else + -- FIXME : IMPLEMENT + end + + if intervalno+1 == #self.values then + -- we have artificially increased the "h" (see the comments + -- above) -- meaning that this 'if' can happen. + -- ->Map the rightmost point to the rightmost interval: + return self.values[#self.values] + end + return self.values[intervalno+1] +end + ----------------------------------- -- global registry of all colormaps. diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/meshplothandler.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/meshplothandler.lua index a3b492a5296..dba97aaf350 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/meshplothandler.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/meshplothandler.lua @@ -90,7 +90,7 @@ function MeshPlothandler:reverseScanline(scanLineLength) tmp = coords[1+scanlineOff+i] coords[1+scanlineOff+i] = coords[reverseindex] coords[reverseindex] = tmp - + reverseindex = reverseindex-1 end end @@ -192,7 +192,7 @@ function MeshVisualizer:getVisualizationOutput() if self.isZBufferSort then result = self:applyZBufferSort(result) end - + return result end @@ -200,7 +200,7 @@ end function MeshVisualizer:applyZBufferSort(coords) -- in order to sort this thing, we need to compute the sort key (view depth) for each coord. -- furthermore, each list entry must be single patch... that means we need a (huge?) temporary table. - + local patchType = self.patchType local numVertices = patchType.numVertices @@ -225,7 +225,7 @@ function MeshVisualizer:applyZBufferSort(coords) -- STEP 2: assign the sort key: the "element depth". -- -- the "element depth" is defined to be the MEAN of all - -- vertex depths. + -- vertex depths. -- And since the mean is 1/n * sum_{i=1}^n V_i, we can -- directly omit the 1/n --- it is the same for every -- vertex anyway, and we only want to compare the depth @@ -241,7 +241,7 @@ function MeshVisualizer:applyZBufferSort(coords) local vertex = patchcoords[j] local vertexDepth = getVertexDepth(axis,vertex) - + sumOfVertexDepth = sumOfVertexDepth + vertexDepth end patch.elementDepth = sumOfVertexDepth @@ -270,7 +270,7 @@ end function MeshVisualizer:decodeIntoPatches(coords) local result = {} - + local scanLineLength = self.scanLineLength local length = #coords diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotstexio.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotstexio.lua index bbce58d50c9..cffb518c925 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotstexio.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotstexio.lua @@ -9,10 +9,10 @@ -- * TeX can call LUA methods in order to "do something". The reverse direction is not true: LUA cannot call TeX methods. -- -- * the only way that LUA can read TeX input values or write TeX output values is the top layer (at the time of this writing: only pgfplotstexio.lua ). --- --- * The LUA backend has one main purpose: scalability and performance. +-- +-- * The LUA backend has one main purpose: scalability and performance. -- Its purpose is _not_ to run a standalone visualization. --- +-- -- The precise meaning of "scalability" is: the LUA backend should do as much -- as possible which is done for single coordinates. Coordinates constitute -- "scalability": the number of coordinates can become arbitrarily large. @@ -20,13 +20,13 @@ -- "Performance" is related to scalability. But it is more: some dedicated -- utility function might have a TeX backend and will be invoked whenever it -- is needed. Candidates are colormap functions, z buffer arithmetics etc. --- +-- -- Thus, the best way to ensure "scalability" is to move _everything_ which is to be done for a single coordinate to LUA. -- --- Sometimes, this will be impossible or too expensive. +-- Sometimes, this will be impossible or too expensive. -- Here, "Performance" might still be optimized by some dedicated LUA function. -- --- +-- -- Unfortunately, the LUA backend does not simplify the code base - it makes it more complicated. -- This is due to the way it is used: one needs to know when the TeX backend -- delegates all its work to LUA. It is also due to the fact that it @@ -40,7 +40,7 @@ -- -- * \begin{axis}. It invokes \pgfplots@prepare@LUA@api . -- The purpose is to define the global pgfplots.gca "_g_et _c_urrent _a_xis" and to transfer some key presets. --- +-- -- Log message: "lua backend=true: Activating LUA backend for axis." -- -- * \end{axis}. It invokes \pgfplots@LUA@visualization@update@axis . @@ -73,7 +73,7 @@ -- entire processing to the LUA backend. If it succeeds, it will do -- nothing on the TeX side. -- --- Both PARTIAL MODE and COMPLETE MODE call +-- Both PARTIAL MODE and COMPLETE MODE call -- \pgfplots@LUA@survey@start : transfer plot type and current axis arguments to LUA -- and -- \pgfplots@LUA@survey@end : copy LUA axis arguments back to TeX. @@ -114,7 +114,7 @@ function texSurveyPoint(x,y,z,meta) pt.x[2] = y pt.x[3] = z pt.meta = meta - + gca.currentPlotHandler:surveypoint(pt) end @@ -125,7 +125,7 @@ function texSurveyAddJump() pt.x[2] = nil pt.x[3] = nil pt.meta = nil - + gca:addSurveyedJump(gca.currentPlotHandler, pt) end @@ -134,7 +134,7 @@ end function texSurveyEnd() local result = gca:surveyToPgfplots(gca.currentPlotHandler, true) --log("returning " .. result .. "\n\n") - + tex.sprint(LOAD_TIME_CATCODETABLE, result); gca.currentPlotHandler=nil end @@ -156,14 +156,14 @@ function texVisualizationInit(plotNum, plotIs3d) if not plotNum or plotIs3d==nil then error("arguments must not be nil") end local currentPlotHandler = gca.plothandlers[plotNum+1] - gca.currentPlotHandler = currentPlotHandler; + gca.currentPlotHandler = currentPlotHandler; if currentPlotHandler then currentPlotHandler.plotIs3d = plotIs3d currentPlotHandler:visualizationPhaseInit(); - tex.sprint("1") + tex.sprint("1") else -- ok, this plot has no LUA support. - tex.sprint("0") + tex.sprint("0") end end @@ -200,49 +200,56 @@ end function texApplyZBufferReverseScanline(scanLineLength) local currentPlotHandler = gca.currentPlotHandler if not currentPlotHandler then error("This function cannot be used in the current context") end - + currentPlotHandler:reverseScanline(scanLineLength) -end +end -- Modifies the Surveyed coordinate list. -- Expands to nothing function texApplyZBufferReverseTransposed(scanLineLength) local currentPlotHandler = gca.currentPlotHandler if not currentPlotHandler then error("This function cannot be used in the current context") end - + currentPlotHandler:reverseTransposed(scanLineLength) -end +end -- Modifies the Surveyed coordinate list. -- Expands to nothing function texApplyZBufferReverseStream() local currentPlotHandler = gca.currentPlotHandler if not currentPlotHandler then error("This function cannot be used in the current context") end - + currentPlotHandler:reverseStream(scanLineLength) -end +end -- Modifies the Surveyed coordinate list. --- +-- -- Note that this is UNRELATED to mesh/surface plots! They have their own (patch-based) z buffer. -- -- Expands to nothing function texApplyZBufferSort() local currentPlotHandler = gca.currentPlotHandler if not currentPlotHandler then error("This function cannot be used in the current context") end - + currentPlotHandler:sortCoordinatesByViewDepth() -end +end -- Modifies the Surveyed coordinate list. -- Expands to the resulting coordinates function texGetSurveyedCoordsToPgfplots() local currentPlotHandler = gca.currentPlotHandler if not currentPlotHandler then error("This function cannot be used in the current context") end - + tex.sprint(LOAD_TIME_CATCODETABLE, currentPlotHandler:surveyedCoordsToPgfplots(gca)) end +function texColorMapSetScaleOrderZ(mapName, scaleOrderZ) + local colormap = ColorMaps[mapName]; + if colormap then + colormap:setScaleOrderZ(scaleOrderZ) + end +end + -- Performance optimization: computes the colormap lookup. function texColorMapPrecomputed(mapName, inMin, inMax, x) local colormap = ColorMaps[mapName]; @@ -261,6 +268,24 @@ function texColorMapPrecomputed(mapName, inMin, inMax, x) end end +-- Performance optimization: computes the colormap lookup. +function texColorMapFindPiecewiseConst(mapName, inMin, inMax, x) + local colormap = ColorMaps[mapName]; + if colormap then + local result = colormap:findPiecewiseConst( + pgftonumber(inMin), + pgftonumber(inMax), + pgftonumber(x)) + + local str = "" + for i = 1,#result do + if i>1 then str = str .. "," end + str = str .. tostringfixed(result[i]) + end + tex.sprint(LOAD_TIME_CATCODETABLE, str) + end +end + local function isStripPrefixOrSuffixChar(char) return char == ' ' or char == '{' or char == "}" end @@ -343,7 +368,7 @@ do local domainMin = arg1 local h = arg2-arg1 local domainMax = arg3 - + -- round to the nearest integer (using +0.5, should be ok) local samples = math.floor((domainMax - domainMin)/h + 0.5) + 1 @@ -359,32 +384,32 @@ end -- generates TeX output '1' on success and '0' on failure -- @param debugMode one of a couple of strings: "off", "verbose", or "compileerror" function texAddplotExpressionCoordinateGenerator( - is3d, - xExpr, yExpr, zExpr, - sampleLine, - domainxmin, domainxmax, - domainymin, domainymax, - samplesx, samplesy, - variablex, variabley, + is3d, + xExpr, yExpr, zExpr, + sampleLine, + domainxmin, domainxmax, + domainymin, domainymax, + samplesx, samplesy, + variablex, variabley, samplesAt, debugMode ) local plothandler = gca.currentPlotHandler local coordoutputstream = SurveyCoordOutputStream.new(plothandler) - + if samplesAt and string.len(samplesAt) >0 then -- "samples at" has higher priority than domain. -- Use it! domainxmin, domainxmax, samplesx = samplesAtToDomain(samplesAt) if not domainxmin then - -- FAILURE: could not convert "samples at". + -- FAILURE: could not convert "samples at". -- Fall back to a TeX based survey. log("log", "LUA survey failed: The value of 'samples at= " .. tostring(samplesAt) .. "' is unsupported by the LUA backend (currently, only 'samples at={a,b,...,c}' is supported).\n") tex.sprint("0") return end - + else domainxmin= pgftonumber(domainxmin) domainxmax= pgftonumber(domainxmax) @@ -421,7 +446,7 @@ function texAddplotExpressionCoordinateGenerator( removeSurroundingBraces(expressions) local generator = AddplotExpressionCoordinateGenerator.new( - coordoutputstream, + coordoutputstream, expressions, domainMin, domainMax, samples, @@ -441,7 +466,7 @@ function texAddplotExpressionCoordinateGenerator( else error("Got unknown debugMode = " .. debugMode ) end - + local success if compileErrorOnFailure then success = generator:generateCoords() diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotsutil.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotsutil.lua index b3b09fea688..40ac83bb385 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotsutil.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/pgfplotsutil.lua @@ -65,7 +65,7 @@ pgfplotsmath.infty = infty local nan = math.sqrt(-1) pgfplotsmath.nan = nan ---------------------------------------- +--------------------------------------- -- @@ -97,7 +97,7 @@ end --- Create a new class that inherits from a base class +-- Create a new class that inherits from a base class -- -- base = pgfplots.newClass() -- function base:constructor() diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/plothandler.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/plothandler.lua index 218b08c5dd3..59dfbb2c774 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/plothandler.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/plothandler.lua @@ -6,7 +6,7 @@ -- pgfplots.Axis -- pgfplots.Coord -- pgfplots.Plothandler --- +-- -- and some related classes. local math=math @@ -43,11 +43,11 @@ function Coord:copy(other) end function Coord:__tostring() - local result = '(' .. stringOrDefault(self.x[1], "--") .. - ',' .. stringOrDefault(self.x[2], "--") .. - ',' .. stringOrDefault(self.x[3], "--") .. + local result = '(' .. stringOrDefault(self.x[1], "--") .. + ',' .. stringOrDefault(self.x[2], "--") .. + ',' .. stringOrDefault(self.x[3], "--") .. ') [' .. stringOrDefault(self.meta, "--") .. ']' - + if not self.x[1] and self.unfiltered then result = result .. "(was " .. tostring(self.unfiltered) .. ")" end @@ -109,15 +109,15 @@ function PointMetaMap:map(meta) result = math.min(1000, result) return result else - if self.warnForfilterDiscards then + if self.warnForfilterDiscards then log("The per point meta data '" .. tostring(meta) .. " (and probably others as well) is unbounded - using the minimum value instead.\n") self.warnForfilterDiscards=false end return 0 end end - - + + ------------------------------------------------------- @@ -240,7 +240,7 @@ function Plothandler:surveypoint(pt) end end self.axis:datapointsurveyed(current, self) - + self.coordindex = self.coordindex + 1; end @@ -271,11 +271,11 @@ function Plothandler:getCoordsInTeXFormat(axis, coords, extraSerializer) return table.concat(result) end --- PRIVATE +-- PRIVATE -- -- does the same as \pgfplotsplothandlerserializepointto function Plothandler:serializeCoordToPgfplots(pt) - return + return toTeXstring(pt.x[1]) .. "," .. toTeXstring(pt.x[2]) .. "," .. toTeXstring(pt.x[3]) @@ -321,7 +321,7 @@ function Plothandler:sortCoordinatesByViewDepth() local vertexDepth = getVertexDepth(axis,coords[i]) coords[i].vertexDepth = vertexDepth end - + -- Step 2: sort (inplace) local comparator = function(ptA, ptB) return ptA.vertexDepth > ptB.vertexDepth @@ -372,7 +372,7 @@ end -- * visualize just plot marks at each of the collected coordinates -- * visualize just error bars at each collected coordinate -- * ... --- +-- -- this class offers basic visualization support. "Basic" means that it will merely transform and finalize input coordinates. PlotVisualizer = newClass() @@ -392,7 +392,7 @@ end -- -- @return any results. The format of the results is currently a list of Coord, but I am unsure of whether it will stay this way. -- --- Note that a PlotVisualizer does _not_ modify self.sourcePlotHandler.coords +-- Note that a PlotVisualizer does _not_ modify self.sourcePlotHandler.coords function PlotVisualizer:getVisualizationOutput() local result = {} local coords = self.sourcePlotHandler.coords @@ -407,7 +407,7 @@ function PlotVisualizer:getVisualizationOutput() local result_i local result_i = Coord.new() result_i:copy(coords[i]) - + if result_i.x[1] ~= nil then self:visphasegetpoint(result_i) else @@ -422,7 +422,7 @@ end -- PROTECTED -- resembles \pgfplotsplothandlervisualizejump -- or at least that part which can be done in LUA. --- It does not visualize anything, but it can be used to modify the coordinate +-- It does not visualize anything, but it can be used to modify the coordinate function PlotVisualizer:notifyJump(pt) -- do nothing. end @@ -486,7 +486,7 @@ end -- - the other input coordinates are already read. -- POSTCONDITION for '@assign': -- - \pgfplots@current@point@meta is ready for use: --- - EITHER a parsed floating point number +-- - EITHER a parsed floating point number -- - OR an empty string, -- - OR a symbolic string (if the issymbolic boolean is true) -- The default implementation is @@ -521,7 +521,7 @@ CoordAssignmentPointMetaHandler = newClassExtends( PointMetaHandler ) function CoordAssignmentPointMetaHandler:constructor(dir) PointMetaHandler.constructor(self, false,false) if not dir then error "nil argument for 'dir' is unsupported." end - self.dir=dir + self.dir=dir end function CoordAssignmentPointMetaHandler:assign(pt) @@ -561,7 +561,7 @@ function ExpressionPointMetaHandler:assign(pt) error("point meta=" .. self.expression .. ": expression has been rejected.") end end - + ------------------------------------------------------- @@ -580,12 +580,12 @@ end ------------------------------------------------------- --- An axis. +-- An axis. Axis = newClass() function Axis:constructor() self.is3d = false - self.clipLimits = true + self.clipLimits = { true, true, true} self.autocomputeAllLimits = true -- FIXME : redundant!? self.autocomputeMin = { true, true, true } self.autocomputeMax = { true, true, true } @@ -618,7 +618,7 @@ function Axis:getVertexDepth(pt) end if #vertex ~=3 then - error("Cannot compute vertex depth of " .. tostring(pt) .. ": expected a 3d point but got " .. tostring(#vertex)) + error("Cannot compute vertex depth of " .. tostring(pt) .. ": expected a 3d point but got " .. tostring(#vertex)) end if not viewdir or #viewdir~=3 then error("got unexpected view dir " ..tostring(viewdir) ) end @@ -704,7 +704,7 @@ end function Axis:validatecoord(dir, point) if not dir or not point then error("arguments must not be nil") end local result = pgftonumber(point.x[dir]) - + if result == nil then result = nil elseif result == pgfplotsmath.infty or result == -pgfplotsmath.infty or pgfplotsmath.isnan(result) then @@ -728,9 +728,9 @@ function Axis:parsecoordinate(pt, filterExpressionByDir) if pt.x[3] ~= nil then self.is3d = true end - + local result = Coord.new() - + local unfiltered = Coord.new() unfiltered.x = {} unfiltered.meta = pt.meta @@ -754,7 +754,7 @@ function Axis:parsecoordinate(pt, filterExpressionByDir) for i = 1,self:loopMax() do self:validatecoord(i, result) end - + local resultIsBounded = true for i = 1,self:loopMax() do if result.x[i] == nil then @@ -766,7 +766,7 @@ function Axis:parsecoordinate(pt, filterExpressionByDir) result.x = { nil, nil, nil} end - return result + return result end -- PROTECTED @@ -794,23 +794,23 @@ end -- @param pt an instance of Coord function Axis:updatelimitsforcoordinate(pt) local isClipped = false - if self.clipLimits then - for i = 1,self:loopMax(),1 do + for i = 1,self:loopMax(),1 do + if self.clipLimits[i] then if not self.autocomputeMin[i] then isClipped = isClipped or pt.x[i] < self.min[i] end if not self.autocomputeMax[i] then isClipped = isClipped or pt.x[i] > self.max[i] end - end + end end - + if not isClipped then for i = 1,self:loopMax(),1 do if self.autocomputeMin[i] then self.min[i] = math.min(pt.x[i], self.min[i]) end - + if self.autocomputeMax[i] then self.max[i] = math.max(pt.x[i], self.max[i]) end @@ -833,14 +833,14 @@ end -- -- unfinished, see its fixmes function Axis:addVisualizationDependencies(pt) - -- FIXME : 'visualization depends on' + -- FIXME : 'visualization depends on' -- FIXME : 'execute for finished point' return pt end -- PROTECTED -- --- indicates that a data point has been surveyed by the axis and that it can be consumed +-- indicates that a data point has been surveyed by the axis and that it can be consumed function Axis:datapointsurveyed(pt, plothandler) if not pt or not plothandler then error("arguments must not be nil") end if pt.x[1] ~= nil then @@ -882,7 +882,7 @@ function Axis:datapointsurveyed(pt, plothandler) end end end - + -- note that the TeX variant would increase the coord index here. -- We do it it surveypoint. end @@ -905,7 +905,7 @@ local function toTeXxyzCoord(namePrefix, pt ) local x = toTeXstring(pt.x[1]) local y = toTeXstring(pt.x[2]) local z = toTeXstring(pt.x[3]) - return + return "\\gdef" .. namePrefix .. "@x{" .. x .. "}" .. "\\gdef" .. namePrefix .. "@y{" .. y .. "}" .. "\\gdef" .. namePrefix .. "@z{" .. z .. "}"; @@ -942,8 +942,8 @@ function Axis:surveyToPgfplots(plothandler) local firstCoord = findFirstValidCoord(plothandler.coords) or Coord.new() local lastCoord = findLastValidCoord(plothandler.coords) or Coord.new() - local result = - plothandlerResult .. + local result = + plothandlerResult .. toTeXxyzCoord("\\pgfplots@currentplot@firstcoord", firstCoord) .. toTeXxyzCoord("\\pgfplots@currentplot@lastcoord", lastCoord) .. axisLimitToTeXString("\\pgfplots@metamin", plothandler.metamin) .. @@ -959,21 +959,21 @@ function Axis:surveyToPgfplots(plothandler) axisLimitToTeXString("\\pgfplots@zmax", self.max[3]) .. "\\global\\pgfplots@threedimtrue "; end - if plothandler.plotHasJumps then + if plothandler.plotHasJumps then result = result .. "\\def\\pgfplotsaxisplothasjumps{1}" else result = result .. "\\def\\pgfplotsaxisplothasjumps{0}" end - if plothandler.hasUnboundedPointMeta then + if plothandler.hasUnboundedPointMeta then result = result .. "\\def\\pgfplotsaxisplothasunboundedpointmeta{1}" else result = result .. "\\def\\pgfplotsaxisplothasunboundedpointmeta{0}" end - if plothandler.filteredCoordsAway then + if plothandler.filteredCoordsAway then result = result .. "\\def\\pgfplotsaxisfilteredcoordsaway{1}" else diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/statistics.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/statistics.lua index 57350254b30..ff264858d0a 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/statistics.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/statistics.lua @@ -42,7 +42,7 @@ function PercentileEstimator:getIndex(data, i) end return result end - + -- @param percentile the requested percentile. Use 0.5 for the median, 0.25 for the first quartile, 0.95 for the 95% percentile etc. function PercentileEstimator:getValue(percentile, data) @@ -65,8 +65,8 @@ function LegacyPgfplotsPercentileEstimator:getValue(percentile, data) local offset_low = mathfloor(h) local isInt = ( h==offset_low ) - local offset_high = offset_low+1 - + local offset_high = offset_low+1 + local x_low = self:getIndex(data, offset_low) local x_up = self:getIndex(data, offset_high) local res = x_low @@ -92,8 +92,8 @@ function LegacyBadPgfplotsPercentileEstimator:getValue(percentile, data) local offset_low = mathfloor(h) local isInt = ( h==offset_low ) - local offset_high = offset_low+1 - + local offset_high = offset_low+1 + local x_low = self:getIndex(data, offset_low+1) local x_up = self:getIndex(data, offset_high+1) local res = x_low @@ -122,39 +122,39 @@ function ParameterizedPercentileEstimator:constructor( typeFlag ) local x_up = getIndex(self, data, h_low +1 ) return x_low + (h - h_low) * (x_up - x_low) end - + if typeFlag == 1 then - -- R1 + -- R1 self.getValue = function(self, percentile, data) local h= #data * percentile return getIndex(self, data, mathceil(h) ) end elseif typeFlag == 2 then - -- R2 + -- R2 self.getValue = function(self, percentile, data) local h= #data * percentile + 0.5 return 0.5*(getIndex(self, data, mathceil(h-0.5)) + getIndex(self, data, mathfloor(h+0.5) ) ) end elseif typeFlag == 3 then - -- R3 + -- R3 self.getValue = function(self, percentile, data) local h= #data * percentile return getIndex(self, data, pgfluamathfunctions.round(h) ) end elseif typeFlag == 4 then - -- R4 + -- R4 self.getValue = function(self, percentile, data) local h= #data * percentile return stdLookup(data,h) end elseif typeFlag == 5 then - -- R5 + -- R5 self.getValue = function(self, percentile, data) local h= #data * percentile + 0.5 return stdLookup(data,h) end elseif typeFlag == 6 then - -- R6 + -- R6 self.getValue = function(self, percentile, data) local h= (#data +1) * percentile return stdLookup(data,h) @@ -166,13 +166,13 @@ function ParameterizedPercentileEstimator:constructor( typeFlag ) return stdLookup(data,h) end elseif typeFlag == 8 then - -- R8 + -- R8 self.getValue = function(self, percentile, data) local h= (#data + 1/3) * percentile + 1/3 return stdLookup(data,h) end elseif typeFlag == 9 then - -- R9 + -- R9 self.getValue = function(self, percentile, data) local h= (#data + 1/4) * percentile + 3/8 return stdLookup(data,h) @@ -183,7 +183,7 @@ function ParameterizedPercentileEstimator:constructor( typeFlag ) end -getPercentileEstimator = function(estimatorName) +getPercentileEstimator = function(estimatorName) if estimatorName == "legacy" then return LegacyPgfplotsPercentileEstimator.new() elseif estimatorName == "legacy*" then @@ -251,7 +251,7 @@ end -- @return an instance of BoxPlotResponse function boxPlotCompute(boxPlotRequest, data) if not boxPlotRequest or not data then error("Arguments must not be nil") end - + for i = 1,#data do local data_i = data[i] if data_i == nil or type(data_i) ~= "number" then @@ -265,7 +265,7 @@ function boxPlotCompute(boxPlotRequest, data) for i = 1,#data do sum = sum + data[i] end - + local numCoords = #data local lowerWhisker @@ -321,7 +321,7 @@ function boxPlotCompute(boxPlotRequest, data) end ------------------------------------------------------- --- Replicates the survey phase of \pgfplotsplothandlerboxplot +-- Replicates the survey phase of \pgfplotsplothandlerboxplot BoxPlotPlothandler = newClassExtends(Plothandler) -- drawDirection : either "x" or "y". @@ -355,17 +355,17 @@ function BoxPlotPlothandler:surveyend() local computed = boxPlotCompute( self.boxPlotRequest, self.boxplotInput ) - local texResult = + local texResult = "\\pgfplotsplothandlersurveyend@boxplot@set{lower whisker}{" .. toTeXstring(computed.lowerWhisker) .. "}" .. "\\pgfplotsplothandlersurveyend@boxplot@set{lower quartile}{" .. toTeXstring(computed.lowerQuartile) .. "}" .. "\\pgfplotsplothandlersurveyend@boxplot@set{median}{" .. toTeXstring(computed.median) .. "}" .. "\\pgfplotsplothandlersurveyend@boxplot@set{upper quartile}{" .. toTeXstring(computed.upperQuartile) .. "}" .. "\\pgfplotsplothandlersurveyend@boxplot@set{upper whisker}{" .. toTeXstring(computed.upperWhisker) .. "}" .. "\\pgfplotsplothandlersurveyend@boxplot@set{sample size}{" .. toTeXstring(# self.boxplotInput) .. "}" - + self.boxplotInput = nil Plothandler.surveystart(self) - + local outliers = computed.outliers for i =1,#outliers do local outlier = outliers[i] diff --git a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/streamer.lua b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/streamer.lua index ab5b605d6d1..39baf5ceca1 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/streamer.lua +++ b/Master/texmf-dist/tex/generic/pgfplots/lua/pgfplots/streamer.lua @@ -49,7 +49,7 @@ function AddplotExpressionCoordinateGenerator:constructor(coordoutputstream, exp self.domainMax = domainMax self.samples = samples self.variableNames = variableNames - + -- log("initialized " .. tostring(self) .. "\n") end @@ -57,7 +57,7 @@ end -- this method is a replicate of \pgfplots@addplotimpl@expression@@ function AddplotExpressionCoordinateGenerator:generateCoords() local stringToFunctionMap = pgfluamathfunctions.stringToFunctionMap - -- create a backup of the 'x' and 'y' math expressions which + -- create a backup of the 'x' and 'y' math expressions which -- have been defined in \pgfplots@coord@stream@start: local old_global_function_x = stringToFunctionMap["x"] local old_global_function_y = stringToFunctionMap["y"] @@ -78,10 +78,10 @@ function AddplotExpressionCoordinateGenerator:generateCoords() end local variableNames = self.variableNames - + local x,y local sampleLine = #samples==1 - + local function pseudoconstantx() return x end local pseudoconstanty if sampleLine then @@ -125,8 +125,10 @@ function AddplotExpressionCoordinateGenerator:generateCoords() local Z = nil if is3d then Z = pgfmathparse(zExpr) + else + -- FIXME BUG: we need to do something else with 'Z' if this is a 2d plot inside of a 3d axis! end - + local pt = Coord.new() pt.x = { X, Y, Z} @@ -137,7 +139,7 @@ function AddplotExpressionCoordinateGenerator:generateCoords() coordoutputstream:coord(pt) end - + if not sampleLine then local xmin = domainMin[1] local ymin = domainMin[2] @@ -167,7 +169,7 @@ function AddplotExpressionCoordinateGenerator:generateCoords() computeXYZ() end end - + stringToFunctionMap[variableNames[1]] = nil stringToFunctionMap[variableNames[2]] = nil return true @@ -181,10 +183,10 @@ function AddplotExpressionCoordinateGenerator:__tostring() result = result .. self.expressions[i] ..", " end result = result .. "\n domain=" .. self.domainMin[1] .. ":" .. self.domainMax[1] - result = result .. "\n samples=" .. self.samples[1] + result = result .. "\n samples=" .. self.samples[1] if #self.domainMin == 2 then result = result .. "\n domain y=" .. self.domainMin[2] .. ":" .. self.domainMax[2] - result = result .. "\n samples y=" .. self.samples[2] + result = result .. "\n samples y=" .. self.samples[2] end result = result .. "]" return result diff --git a/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex b/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex index a85aa649329..5812550a4fc 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex @@ -2,7 +2,7 @@ % % Package pgfplotstable % -% Provides support to read and work with abstact numeric tables of the +% Provides support to read and work with abstract numeric tables of the % form % % COLUMN1 COLUMN2 COLUMN3 @@ -17,12 +17,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -97,7 +97,7 @@ \ifnum\c@pgfplotstable@rowindex<\pgfplotstablerows\relax \c@pgfplotstable@colindex=\pgfplotstablerows\relax \advance\c@pgfplotstable@colindex by-\c@pgfplotstable@rowindex - \advance\c@pgfplotstable@colindex by\pgfplotstablepartsize + \advance\c@pgfplotstable@colindex by\pgfplotstablepartsize \edef\pgfplotstablepartsize{\the\c@pgfplotstable@colindex}% \fi % @@ -183,10 +183,10 @@ % columns={[index]2,name2,name3,[index]5} /pgfplots/table/columns/.initial=, % - % this choice allows + % this choice allows % \pgfplotstableset{ % column name={}, % means: the column's display name is an empty string! - % column name=\pgfkeysnovalue, % means: no value specified. In this case, + % column name=\pgfkeysnovalue, % means: no value specified. In this case, % the column's display name will default to column's name. % } /pgfplots/table/column name/.initial=\pgfkeysnovalue, @@ -266,7 +266,7 @@ % if the 'process' key hadn't been invoked. % It will, however, use the current value of \pgfmathresult. % - % If \continue is NOT empty, for example \def\continue{0}, + % If \continue is NOT empty, for example \def\continue{0}, % `dec sep align' assumes that \pgfmathresult contains the % completely typeset cell, including any alignment material. /pgfplots/table/dec sep align/process/.code=,% @@ -407,8 +407,13 @@ }% },% /pgfplots/table/verb string type/.style={% + /pgfplots/table/text special chars={\#,\|},% FIXME: too limited ... /pgfplots/table/assign cell content/.code={% \def\pgfplotstable@loc@TMPa{##1}% + % hm... this here might be more robust instead of the line + % above. But not much, I suppose: + %\t@pgfplotstable@a={##1}% + %\edef\pgfplotstable@loc@TMPa{\the\t@pgfplotstable@a}% \pgfplots@command@to@string\pgfplotstable@loc@TMPa\pgfplotstable@loc@TMPa \pgfkeyslet{/pgfplots/table/@cell content}{\pgfplotstable@loc@TMPa}% }% @@ -599,7 +604,7 @@ % \let\pgfplots@table@curkeyname=\pgfkeyscurrentname % \pgfqkeys{/pgf/number format}{\pgfplots@table@curkeyname=#1}% % },% - %-------------------------------------------------- + %-------------------------------------------------- /pgfplots/table/create col/assign first/.style={ /pgfplots/table/create col/assign% }, @@ -937,7 +942,7 @@ /pgfplots/table/every last column/.code=, /pgfplots/table/every head row/.code=, /pgfplots/table/every odd row/.code=, - /pgfplots/table/every even row/.code=,± + /pgfplots/table/every even row/.code=, /pgfplots/table/every first row/.code=, /pgfplots/table/every last row/.code=, /pgfplots/table/postproc cell content/.code=, @@ -958,7 +963,7 @@ % % fills the column with x1,...,xN such that yi(xi) == epsilon where % -% In other words, it computes cuts points between the line +% In other words, it computes cuts points between the line % y == epsilon and one or more other plots yi(x) and returns the 'x' % values of the cuts. % @@ -989,7 +994,7 @@ % A helper macro to automatically remove the "hangover" created by % 'colortbl'. -% This allows compatibility between my 'sci sep align' and 'dec sep align' +% This allows compatibility between my 'sci sep align' and 'dec sep align' % implementations and \rowcolor. Otherwise, the hangover % would overwrite digits near the separator. % @@ -1101,7 +1106,7 @@ ]{#2}% }% -% clears the table. +% clears the table. \def\pgfplotstableclear#1{% \let#1=\relax \expandafter\let\csname \string#1@@table@name\endcsname=\relax @@ -1111,7 +1116,7 @@ % \pgfplotstablenew[<options>]{<numrows>}{<\name>} % \pgfplotstablenew*[<options>]{<numrows>}{<\name>} % -% Creates a new table from scratch. +% Creates a new table from scratch. % % The new table will contain all columns listed in the 'columns' key % which must be present in <options>. The starred version @@ -1211,7 +1216,7 @@ \pgfplotslistforeachungrouped\pgfplotstable@loc@TMPb\as\pgfplotstable@loc@TMPc{% \t@pgfplots@toka=\expandafter{\pgfplotstable@loc@TMPc}% \edef\pgfplotstable@loc@TMPd{% - \noexpand\pgfplotslistpushback{\the\t@pgfplots@toka}\to\expandafter\noexpand\csname\string#1@\pgfplotstable@loc@TMPa\endcsname + \noexpand\pgfplotslistpushback{\the\t@pgfplots@toka}\noexpand\to\expandafter\noexpand\csname\string#1@\pgfplotstable@loc@TMPa\endcsname }% \pgfplotstable@loc@TMPd }% @@ -1228,7 +1233,7 @@ % \pgfplotstabletranspose{<\outtable>}{<intable>} % \pgfplotstabletranspose[<colname>]{<\outtable>}{<intable>} -% Defines <\outtable> to be the transposed of <intable>. +% Defines <\outtable> to be the transposed of <intable>. % % If <colname> is not empty, the respective column's entries will be used to % make output column names. @@ -1258,12 +1263,12 @@ % Creates a new column named #1 and appends it to table #2. % % The column entries will be created using the command keys -% 'create col/assign' +% 'create col/assign' % 'create col/assign last' % % The key 'create col/assign' will be invoked for every row of table #2. % It is supposed to assign the key 'create col/next content'. -% During evaluation of 'create col/assign', the macro '\thisrow{<col name>}' +% During evaluation of 'create col/assign', the macro '\thisrow{<col name>}' % expands to the current row's value of the column named by <col name>. % Furthermore, '\nextrow{<col name>}' expands to the \emph{next} row's % value of the designated column. @@ -1273,9 +1278,9 @@ % value. % % You can use -% - \thisrow{<col name>}, +% - \thisrow{<col name>}, % - \getthisrow{<col name>}{\macro} -% - \nextrow{<col name>}, +% - \nextrow{<col name>}, % - \getnextrow{<col name>}{\macro} % % FIXME this documentation is incomplete. Please refer to pgfplotstable.pdf . @@ -1310,7 +1315,7 @@ % \pgfplotstablerow will expand to the current column index, column % name and row index, respectively. \def\pgfplotstabletypeset{% - \pgfutil@ifnextchar[{% + \pgfutil@ifnextchar[{% \pgfplotstabletypeset@opt }{% \pgfplotstabletypeset@opt[]% @@ -1361,7 +1366,7 @@ \fi \fi \ifpgfplotstabletypeset@includeoutfiles - \input \pgfplotstable@outfilename\relax + \input \pgfplotstable@outfilename\relax \else \pgfplotstableread{#2}\pgfplotstabletypesetfile@opt@@ \ifx\pgfplotstabletypesetfile@opt@@\relax @@ -1595,7 +1600,7 @@ % #2: style arguments % % All these styles are accumulated into the macro -% \pgfplots@each@nth@styles. +% \pgfplots@each@nth@styles. \def\pgfplotstabletypeset@append@every@nth@row#1#2{% \edef\pgfplots@loc@TMPa{#1}% % chech for the special 'each nth row={3[+1]}{...} format: @@ -1659,7 +1664,7 @@ % \pgfplots@error{There is no such table '\string#2' loaded into memory. Maybe you meant to use '\string\pgfplotstabletypesetfile{\string#2}' instead of '\string\pgfplotstabletypeset{\string#2}'?}% % \pgfplotslistnewempty#2 % }{}% - %-------------------------------------------------- + %-------------------------------------------------- \def\pgfplotstablename{#2}% the name of the actual table struct \def\pgfplotstablecolname{\pgfplotstable@colname}% \def\pgfplotstablecol{\the\c@pgfplotstable@colindex}% @@ -1746,7 +1751,7 @@ % % \ifpgfplotstable@sort - % make sure any columns exist (especially create on use). + % make sure any columns exist (especially create on use). % this can be done by calling getcolumnbyname once for every % column: \pgfplotslistforeachungrouped\pgfplotstable@colnames\as\pgfplotstable@colname{% @@ -1826,7 +1831,7 @@ % temporarily restore it: we may need it in row predicates: \global\advance\c@pgfplotstable@colindex by-1\relax \ifpgfplotstable@disable@rowcolstyles - % ok, then don't check for 'columns/<name>' and + % ok, then don't check for 'columns/<name>' and % 'display columns/<index>': \edef\pgfplotstable@loc@TMPa{\the\t@pgfplots@toka}% \else @@ -1858,7 +1863,7 @@ \expandafter\pgfplotslistpushbackglobal\pgfplotstable@coltype\to\pgfplotstabletypeset@final@coltypes % \pgfplotslistnewempty\pgfplotstable@col@processed - \c@pgfplotstable@counta=0 + \c@pgfplotstable@counta=0 \pgfplotslistforeachungrouped\pgfplotstable@col\as\pgfplotstable@entry{% \pgfplotstableuserowtrue \edef\pgfplotstable@loc@TMPa{\noexpand\pgfkeysvalueof{/pgfplots/table/row predicate/.@cmd}\the\c@pgfplotstable@rowindex}% @@ -2159,6 +2164,7 @@ \def\pgfplotstablecreatecol@opt[#1]#2#3{% \begingroup + \pgfkeysinterruptkeyfilter \def\pgfplotstablename{#3}% the name of the table struct \pgfplotstableset{columns=,#1,% /pgf/fpu/handlers/empty number/.code 2 args={% @@ -2294,6 +2300,7 @@ \pgfplotstable@isfirstrowfalse \advance\c@pgfplotstable@rowindex by1\relax \pgfutil@repeat + \endpgfkeysinterruptkeyfilter \global\let\pgfplots@glob@TMPc=\pgfplotstable@newcol \global\let\pgfplots@glob@TMPb=\pgfplotstable@newcolname \endgroup @@ -2310,7 +2317,7 @@ % %----------------------------------------------------------- -% create on use/cut/.style={create col/function graph cut y={7e-4}{x=Basis,ymode=log,xmode=log}{{table=regtable,y=special-L2}}}, +% create on use/cut/.style={create col/function graph cut y={7e-4}{x=Basis,ymode=log,xmode=log}{{table=regtable,y=special-L2}}}, % #1 = value of fixed line (I call it epsilon) % #2 = options % #3 = specification where to get the y from. It is a comma separated @@ -2350,7 +2357,7 @@ \ifx\pgfplotstable@fgc@foreach@\pgfutil@empty \else \edef\pgfplotstable@fgc@foreach@process@append{x={\pgfplotstable@fgc@x},y={\pgfplotstable@fgc@y}}% - % we have something like + % we have something like % foreach={\d in {1,2,3,4}}{table\d} % -> process it! % This will modify \pgfmathaccumb @@ -2400,8 +2407,8 @@ % % Interpolate: \pgfmathparse{ - \pgfplotstable@fgc@abscissafirst + - (\pgfplotstable@fgc@eps - \pgfplotstable@fgc@first) / (\pgfplotstable@fgc@second-\pgfplotstable@fgc@first) + \pgfplotstable@fgc@abscissafirst + + (\pgfplotstable@fgc@eps - \pgfplotstable@fgc@first) / (\pgfplotstable@fgc@second-\pgfplotstable@fgc@first) * (\pgfplotstable@fgc@abscissasecond - \pgfplotstable@fgc@abscissafirst) }% \if\pgfplotstable@fgc@xmode1 \pgfmathfloatexp@{\pgfmathresult}% @@ -2419,7 +2426,7 @@ \ifx\pgfplotstable@fgc@foreach\pgfutil@empty \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% \else - % we have something like + % we have something like % foreach={\d in {1,2,3,4}}{table\d} % -> process it! % This will modify \pgfmathaccumb @@ -2517,13 +2524,13 @@ \fi \pgfmathfloatlessthan@{\pgfplotstable@fgc@val}{\pgfplotstable@fgc@eps}% \ifpgfmathfloatcomparison - \pgfplotstable@fgc@findintervalwitheps@updateresult 01 + \pgfplotstable@fgc@findintervalwitheps@updateresult 01% \else - \pgfplotstable@fgc@findintervalwitheps@updateresult 10 + \pgfplotstable@fgc@findintervalwitheps@updateresult 10% \fi \fi }% -} +}% % #1 : the value of \pgfplotstable@fgc@lastwasless for which the loop % shall break. @@ -2947,7 +2954,7 @@ % use a side effect: columns are integers, they are stored as % '\pgfp@tmp@<index>'. Thus, column names and array indices are % essentially the same! That simplifies the operation and explains - % why we transposed the table. + % why we transposed the table. % We simply interprete the transposed table as array. We don't % even need to copy anything. \pgfplotsarrayresize{\pgfp@tmp}{\pgfplotstable@numrows}% diff --git a/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex b/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex index be1ce3ec05c..1cb10748269 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex @@ -17,12 +17,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -50,7 +50,7 @@ % 5. foreach column, there is a list of row-values (a row-vector) in % the \pgfplotslist format named % \csname\string<\namemacro>@<column name>\endcsname -% +% \newif\ifpgfplotstable@search@header \newif\ifpgfplotstable@firstline@is@header @@ -145,6 +145,7 @@ /pgfplots/table/z error minus expr/.initial=, /pgfplots/table/ignore chars/.initial=, /pgfplots/table/white space chars/.initial=, + /pgfplots/table/text special chars/.initial=, /pgfplots/table/comment chars/.initial=, /pgfplots/table/skip first n/.initial=0, /pgfplots/table/trim cells/.is if=pgfplotstable@trimcells, @@ -193,7 +194,7 @@ \pgfkeys{ % #1: the argument which should have been assigned. - % #2: an error message. + % #2: an error message. /pgfplots/exception/non unique colname/.code 2 args={% \ifx\pgfplotsexceptionmsg\relax \pgfplots@error{#2}% @@ -364,7 +365,7 @@ } % Declares a new getcolmethod class #1. -% The argument '#1' can then be used as argument for +% The argument '#1' can then be used as argument for % \pgfplotstable@getcol...\getcolmethod{#1}. % % #2: a set of keys which redefine the behavior. @@ -439,7 +440,7 @@ % % Ok, then check for special features. % - % 1. 'create col/...' + % 1. 'create col/...' % 2. 'create on use' % 3. 'alias' % @@ -499,7 +500,7 @@ \def\pgfplotstablegetcolumnbyname@impl@nosuchalias#1\of#2\to#3{ \pgfplotstablegetcolumnbyname@impl@nosuchalias@{#1}\of{#2}\to{#3}\pgfplotstablegetcolumnbyname@impl@createonuseforbiddentext@disable }% - + \def\pgfplotstablegetcolumnbyname@impl@nosuchalias@#1\of#2\to#3#4{% \pgfplotsthrow{no such element}{#3}{Sorry, could not retrieve aliased column '\pgfkeysvalueof{/pgfplots/table/alias/#1}' from table '\pgfplotstablenameof{#2}'. The original request was for '#1', which does not exist either.#4{#1}}\pgfeov% }% @@ -605,7 +606,7 @@ \def\pgfplotstablegetname#1#2{% \expandafter\let\expandafter#2\csname\string#1@@table@name\endcsname } - + % expands to the table file name of table '#1' \def\pgfplotstablenameof#1{% \csname\string#1@@table@name\endcsname @@ -698,7 +699,7 @@ % To show the problem, consider % \pgfplotstabletypeset[<options>] % \loadedtable -% +% % and we want to set the catcodes *before* \loadedtable is seen. % Well, there is a newline character after ']'! If we change the % catcodes, this newline will be considered as character and will make @@ -772,7 +773,7 @@ }% -% I don't know why; but I started with +% I don't know why; but I started with % >> \pgfplotstableread[]{file} to \macro % That ' to ' is really ugly. This here is for backwards % compatibility: @@ -992,7 +993,7 @@ \openin\r@pgfplots@reada=\pgfplotstableread@filename\relax \else \pgfplots@warning{% - You requested to open table '\pgfplotstableread@filename', but there is also a '\pgfplotstableread@filename.tex'. + You requested to open table '\pgfplotstableread@filename', but there is also a '\pgfplotstableread@filename.tex'. TeX will automatically append the suffix '.tex', so I will now open '\pgfplotstableread@filename.tex'. Please make sure you don't accidentally load TeX files - this may produce unrecoverable errors.}% \closein\r@pgfplots@reada @@ -1046,6 +1047,11 @@ \else \pgfplotstableinstallignorechars@\pgfplotstable@loc@TMPa{10}% \fi + \pgfkeysgetvalue{/pgfplots/table/text special chars}\pgfplotstable@loc@TMPa + \ifx\pgfplotstable@loc@TMPa\pgfutil@empty + \else + \pgfplotstableinstallignorechars@\pgfplotstable@loc@TMPa{12}% + \fi \ifx\pgfplotstableuninstallignorechars\pgfutil@empty \else \expandafter\def\expandafter\pgfplotstableuninstallignorechars\expandafter{% @@ -1054,7 +1060,7 @@ }% \fi \fi -}% +}% \let\pgfplotstableuninstallignorechars\pgfutil@empty% % #1 macro containing the characters as comma-separated list % #2 the catcode to assign @@ -1133,7 +1139,7 @@ \fi }% -% Copies the table column list and the column vectors of #1 to global buffers. +% Copies the table column list and the column vectors of #1 to global buffers. % @see \pgfplotstable@copy@globalbuffers@to % % Use these two methods to avoid scoping problems. @@ -1170,7 +1176,7 @@ % @see \pgfplotstable@copy@to@globalbuffers % % @PRECONDITION the global buffers contain all members of a table. -% +% % @POSTCONDITION The table '#1' is be initialised to these members. % Furthermore, \pgfplotsscanlinelength is set. \def\pgfplotstable@copy@globalbuffers@to#1{% @@ -1222,7 +1228,7 @@ \def\pgfplotstableread@loop@over@lines@frominline{% \pgfutil@ifnextchar\pgfplotstable@EOI{% \pgfutil@gobble - }{% + }{% \pgfplotstableread@loop@next }% }% @@ -1233,7 +1239,7 @@ \fi }% -% PRECONDITION: +% PRECONDITION: % \pgfplotstable@LINE contains the current input line. \def\pgfplotstableread@loop@processnextline{% \expandafter\pgfplotstableread@checkspecial@line\pgfplotstable@LINE\pgfplotstable@EOI @@ -1252,7 +1258,7 @@ % \ifnum\pgfplotstableread@lineno=0 % \let\pgfplotstable@firstline=\pgfplotstable@LINE % \fi - %-------------------------------------------------- + %-------------------------------------------------- %\pgfplots@message{READING LINE \thepgfplotstableread@lineno: '\meaning\pgfplotstable@LINE'.}% \pgfplotstableread@curline@contains@colnamesfalse \ifnum\pgfplotstableread@numcols=0\relax @@ -1331,21 +1337,17 @@ \pgfplotstableread@skiplinetrue \else \let\pgfplotstableread@tmpb=$% + \let\pgfplotstableread@tmpb=\pgfplotstable@EOI% \ifx\pgfplotstableread@tmp\pgfplotstableread@tmpb - \let\pgfplotstableread@checkspecial@line@@=\pgfplotstableread@process@flags@line + \pgfplotstableread@skiplinetrue + \pgfplotsscanlinecomplete% the line is empty; same as \par! \else - \let\pgfplotstableread@tmpb=\pgfplotstable@EOI% + \let\pgfplotstableread@tmpb=\par% \ifx\pgfplotstableread@tmp\pgfplotstableread@tmpb \pgfplotstableread@skiplinetrue - \pgfplotsscanlinecomplete% the line is empty; same as \par! + \pgfplotsscanlinecomplete% the line is empty; \else - \let\pgfplotstableread@tmpb=\par% - \ifx\pgfplotstableread@tmp\pgfplotstableread@tmpb - \pgfplotstableread@skiplinetrue - \pgfplotsscanlinecomplete% the line is empty; - \else - \pgfplotstableread@checkspecial@line@default% - \fi + \pgfplotstableread@checkspecial@line@default% \fi \fi \fi @@ -1391,13 +1393,7 @@ % }% % }% % } -%-------------------------------------------------- - -\long\def\pgfplotstableread@process@flags@line$flags {% -%\pgfplots@message{Ignoring flags line ...}% - \pgfplotstableread@skiplinetrue - \pgfplotstableread@impl@gobble -} +%-------------------------------------------------- \def\pgfplotstableread@create@column@lists{% \pgfutil@loop @@ -1422,7 +1418,7 @@ \def\pgfplotstable@EOI{\pgfplotstable@EOI}% -% A loop command which processes every single entry in a raw data row #2 +% A loop command which processes every single entry in a raw data row #2 % and invokes the macro #1{<arg>} for each found column entry. % % Columns are separated by the /pgfplots/table/col sep character. @@ -1596,7 +1592,7 @@ % \def\thisrow#1{\pgfplotstable@thisrow@impl{#1}{macroprefix@}{\pgfplotstable@thisrow@impl@}} % % Then, \thisrow{existingcol} -% will expand to +% will expand to % -> \pgfplotstable@thisrow@impl@{\csname macroprefix@existingcol\endcsname} % -> \csname macroprefix@existingcol\endcsname % @@ -1649,7 +1645,7 @@ % \pgfplotstablereadevalptr{\ptr}{\content}% % -> do something with \content! % } -% +% % \pgfplotstableread{<file>} to listener<\macro> % % -> will evaluate \macro foreach row. @@ -1874,7 +1870,7 @@ }% \def\pgfplotstabletypeset{% - \pgfutil@ifnextchar[{% + \pgfutil@ifnextchar[{% \pgfplotstabletypeset@opt }{% \pgfplotstabletypeset@opt[]% @@ -1956,7 +1952,7 @@ \let\pgfplotstablerow=\relax }% % helper method to allow nesting. It copies \pgfplotstablerow. -% #1: the expanded value of \pgfplotstablerow. +% #1: the expanded value of \pgfplotstablerow. \long\def\pgfplotstableforeachcolumnelement@#1#2{% #2\relax \def\pgfplotstablerow{#1}% restore to old value. diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex index 3f3f4e23162..ab19ee35f13 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex @@ -131,6 +131,38 @@ }{% }% +\pgfutil@IfUndefined{pgfutilifcontainsmacro}{% + \gdef\pgfplots@glob@TMPa{1}% +}{% + \gdef\pgfplots@glob@TMPa{0}% +}% +\if1\pgfplots@glob@TMPa + \begingroup + \catcode`\|=0 + \catcode`\\=12 + |gdef|pgfutil@backslash@as@other{\}% + |endgroup + \def\pgfutil@command@to@string#1#2{% + \expandafter\pgfutil@command@to@string@@\meaning#1\pgfutil@EOI{#2}% + }% + \xdef\pgfutil@glob@TMPa{\meaning\pgfutil@empty}% + \expandafter\def\expandafter\pgfutil@command@to@string@@\pgfutil@glob@TMPa#1\pgfutil@EOI#2{% + \def#2{#1}% + }% + \def\pgfutilifcontainsmacro#1#2#3{% + \def\pgf@marshal{#1}% + \pgfutil@command@to@string\pgf@marshal\pgf@marshal + \edef\pgf@marshal{\noexpand\pgfutil@in@{\pgfutil@backslash@as@other}{\pgf@marshal}}% + \pgf@marshal + \ifpgfutil@in@ + \def\pgf@marshal{#2}% + \else + \def\pgf@marshal{#3}% + \fi + \pgf@marshal + }% +\fi + \pgfutil@IfUndefined{pgfapplistnewempty}{% \immediate\write16{Package pgfplots: loading complementary utilities for your pgf version...} \csname newtoks\endcsname\t@pgf@toka @@ -148,6 +180,19 @@ }% }{}% +\def\pgfmathfloat@install@unimplemented@broken#1{% + \expandafter\pgfmathfloat@prepareuninstallcmd\csname pgfmath@#1@\endcsname% + \expandafter\def\csname pgfmath#1@\endcsname##1{\pgfmathfloat@notimplemented{#1}}% +} + +\ifx\pgfmathfloat@install@unimplemented\pgfmathfloat@install@unimplemented@broken + \def\pgfmathfloat@install@unimplemented#1{% + \expandafter\pgfmathfloat@prepareuninstallcmd\csname pgfmath#1@\endcsname% + \expandafter\def\csname pgfmath#1@\endcsname##1{\pgfmathfloat@notimplemented{#1}}% + }% +\fi + + \ifpgfplots@LUA@supported \def\PATCH@pgfmath@local@function@body#1;{% \def\pgfmath@local@body{#1}% @@ -196,12 +241,21 @@ }{% % hm. PGF 2.10 ? % - % FIXME + % FIXME %\pgfplots@LUA@supportedfalse }% % + \gdef\pgfplots@glob@TMPa{1}% "is up to date = 1" \def\pgfplots@glob@TMPa{3.0.1}% \ifx\pgfversion\pgfplots@glob@TMPa + \gdef\pgfplots@glob@TMPa{0}% "is up to date = 0" + \else + \def\pgfplots@glob@TMPa{3.0.1a}% + \ifx\pgfversion\pgfplots@glob@TMPa + \gdef\pgfplots@glob@TMPa{0}% "is up to date = 0" + \fi + \fi + \if0\pgfplots@glob@TMPa % 3.0.1 does not have the (correct) luamath library. \pgfutil@directlua{% package.loaded["pgf.luamath.functions"]=nil; @@ -237,18 +291,18 @@ \else% \pgfutil@read\pgfutil@inputcheck to\pgf@temp% ignored \pgfutil@read\pgfutil@inputcheck to\pgf@plot@line% - \closein\pgfutil@inputcheck + \closein\pgfutil@inputcheck \edef\pgf@plot@code{#2\space}% \ifx\pgf@plot@code\pgf@plot@line% \openin\pgfutil@inputcheck=\pgfretval\relax \ifeof\pgfutil@inputcheck% \else% - \closein\pgfutil@inputcheck + \closein\pgfutil@inputcheck \pgf@resample@plotfalse% \fi% \fi% \fi - \ifpgf@resample@plot% + \ifpgf@resample@plot% \immediate\openout\pgf@plotwrite=\pgf@plotgnuplotfile\relax \immediate\pgfutil@write\pgf@plotwrite{\pgf@gnuplot@head}% \immediate\pgfutil@write\pgf@plotwrite{#2}% diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex index 36aafda149d..5d1188e8562 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex @@ -15,7 +15,7 @@ %%% Typically, these modifications have been done by the pgfplots team %%% as contribution to PGf/TIKZ % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -69,7 +69,7 @@ \def\pgfutil@insertatbegincurrentpagefrombox@FIXED#1{% \edef\pgf@temp{\the\wd\pgfutil@abb}% \global\setbox\pgfutil@abb\hbox{% - \unhbox\pgfutil@abb + \unhbox\pgfutil@abb % % the order in which \pgfutil@insertatbegincurrentpagefrombox % matters unless we make the following -shift! @@ -156,7 +156,7 @@ % Solves a linear equation system of size 2x2 using gauss elimination. % % It employs TeX register arithmetics to do so. -% #1: should contain 4 sets of braces with matrix entries, +% #1: should contain 4 sets of braces with matrix entries, % {<a11>}{<a12>} % {<a21>}{<a22>} % where each entry should be a number without unit. @@ -207,7 +207,7 @@ {\csname m\Pa a\endcsname}% \let\pivot=\pgfmathresult % - % \factor := 1/aa * ba + % \factor := 1/aa * ba \csname \Pb a\endcsname=\pivot\csname \Pb a\endcsname \edef\factor{\expandafter\pgf@sys@tonumber\csname \Pb a\endcsname}% % @@ -431,8 +431,8 @@ \global\setbox\tikz@tempbox=\copy\tikz@figbox% %\global\let\tikz@after@path@smuggle=\tikz@after@path \endgroup% - \setbox\tikz@figbox=\box\tikz@tempbox% - \tikz@make@last@position{\tikz@@@temp}% + \setbox\tikz@figbox=\box\tikz@tempbox% + \tikz@make@last@position{\tikz@@@temp}% %\expandafter\tikz@scan@next@command\tikz@after@path@smuggle% \tikz@scan@next@command% } @@ -598,8 +598,8 @@ \def\pgfpatharctoprecomputed#1#2#3#4#5#6#7#8{% \begingroup % Implementation idea: - % - % let + % + % let % m = center (#1) % \gamma_0 = start angle % \gamma_1 = end angle @@ -609,7 +609,7 @@ % an axis parallel ellipse is parameterized by % C(\gamma) = m + ( a cos(\gamma), b sin(\gamma) ), \gamma in [0,360]. % - % Now, consider the segment \gamma(t), + % Now, consider the segment \gamma(t), % \gamma:[0,1] -> [\gamma_0,\gamma_1], % t -> \gamma_0 + t(\gamma_1 - \gamma_0) % and @@ -625,19 +625,19 @@ % For n=3 and given P_0 and P_3, I can directly compute P_1 and P_2 once I know % the derivatives at t=0 and t=1. % - % The derivatives in our case are - % ( C \circ \gamma )'(t) = C'[\gamma(t)] * \gamma'(t) + % The derivatives in our case are + % ( C \circ \gamma )'(t) = C'[\gamma(t)] * \gamma'(t) % = ( -a pi/180 sin(\gamma(t)), b pi/180 cos(\gamma(t)) ) * (\gamma_1 - \gamma_0). % The pi/180 comes into play since we are working with degrees. % % Expression (C\circ\gamma)'(0) using P_0 and (C \circ \gamma)'(1) % using P_3 yields the expressions - % (C \circ \gamma)'(0) = + % (C \circ \gamma)'(0) = % pi/180 * (\gamma_1 - \gamma_0)* [ - a/b(P_0^y - my), b/a (P_0^x - mx) ] - % (C \circ \gamma)'(1) = + % (C \circ \gamma)'(1) = % pi/180 * (\gamma_1 - \gamma_0)* [ - a/b(P_3^y - my), b/a (P_3^x - mx) ] % - % defining + % defining % scaleA = a/b * pi / (3*180) * (\gamma_1 - \gamma_0) % and % scaleB = b/a * pi / (3*180) * (\gamma_1 - \gamma_0) @@ -771,7 +771,7 @@ \let\pgfmath@sign=\pgfmath@empty% \ifdim0pt=\pgfmath@y% \pgfmath@error{You've asked me to divide `#1' by `#2', % - but I cannot divide any number by `#2'}% + but I cannot divide any number by `#2'}% \fi% \afterassignment\pgfmath@xa% \c@pgfmath@counta\the\pgfmath@y\relax% @@ -798,7 +798,7 @@ \fi% \fi% \pgfmath@returnone\pgfmath@x% - \endgroup% + \endgroup% } \def\pgfmath@small@number{0.00002} \def\pgfmathdivide@@{% diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfcoreimage.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfcoreimage.code.tex index f352550430d..1079776c073 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfcoreimage.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfcoreimage.code.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -47,7 +47,7 @@ % % This command declares an image file for later use. Even if the image % is used several times in the document, in PDF it will only be stored -% once. +% once. % % Example: % @@ -66,7 +66,7 @@ \ifx\pgf@filename\pgfutil@empty% \expandafter\pgf@findfile\pgfsys@imagesuffixlist:+{#3}% \else% - \pgfkeys{/pgf/images/page=}% make page empty + \pgfkeys{/pgf/images/page=}% make page empty \fi% \ifx\pgf@filename\pgfutil@empty% \PackageWarning{pgf}% @@ -127,7 +127,7 @@ \ifx\pgf@imageheight\pgfutil@empty% \PackageWarning{pgf}{Missing height for image "#1" ("#2") in draft mode.\MessageBreak Using 1cm instead}% \edef\pgf@imageheight{1cm}% - \fi% + \fi% \ifx\pgf@imagepage\pgfutil@empty\else\edef\pgf@imagepagetext{ page \pgf@imagepage}\fi% \edef\pgf@image{% \hbox to \pgf@imagewidth{% @@ -145,7 +145,7 @@ % Declare a soft mask % % #1 = optional argument: matte specification. default matte is -% white. +% white. % #2 = name of the mask for later use % #3 = filename without extension, automatic extensions are .pdf, % .jpg, and .png for PDF. Postscript is not supported. @@ -199,7 +199,7 @@ \expandafter\global\expandafter\let\csname pgf@image@#1!\endcsname=\pgf@temp% } - + % Use an image % % #1 = name of a previously declared image @@ -292,7 +292,7 @@ % % 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". +% 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" @@ -320,7 +320,7 @@ % % 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. +% the graphic called \jobname will be typeset. % % Example: % @@ -359,7 +359,7 @@ \let\pgfexternal@nofiles@=\relax \def\relax{\relax}% % - % suppress generation of LaTeX .aux, .toc etc files. + % suppress generation of LaTeX .aux, .toc etc files. % generation of these files is not thread-safe. % the \csname \endcsname yields \relax if \nofiles doesn't exist. \csname nofiles\endcsname @@ -412,7 +412,7 @@ \AtBeginDocument{ - \let\beginpgfgraphicnamed=\pgf@externalbegin% overwrite definition of pgfexternal.tex if necessary + \let\beginpgfgraphicnamed=\pgf@externalbegin% overwrite definition of pgfexternal.tex if necessary \let\endpgfgraphicnamed=\unskip } @@ -428,7 +428,7 @@ \else% \let\pgf@next=\pgf@replacepicturebygraphic% \fi% - \pgf@next% + \pgf@next% } \long\def\pgf@replacepicturebygraphic#1\endpgfgraphicnamed{% @@ -494,7 +494,7 @@ % are properly expanded to `#'. \immediate\write\@auxout{\noexpand\def\noexpand\dpthimport{\the\toks0 }\noexpand\dpthimport }% }% - \fi + \fi }% \else \def\pgfincludeexternalgraphics@dp{#1#2}% @@ -509,7 +509,7 @@ % this method is also invoked from within the tikz external library. \def\pgf@external@grab#1{% \def\pgf@filename{#1}% - \ifpgfexternal@allow@aux + \ifpgfexternal@allow@aux \begingroup \pgf@external@init@aux@in@dpth \fi @@ -582,4 +582,3 @@ \endinput - diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex index 1215300e328..39ec3b33cb7 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryfpu.code.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -54,13 +54,13 @@ \ifpgfmathfloatparseactive \else \pgfutil@ifundefined{pgfmathdeclarefunction}{% - % Ohoh - we are running on a TeX distribution with + % Ohoh - we are running on a TeX distribution with % PGF 2.00 which doesn't have the new math engine. % I can provide special treatment here, provided that % all float commands are still able to run (that means % more information needs to be copied from the pgf cvs % to pgf 2.00 - for example pgfmathfloat.code.tex). - % + % % I employ this to work with pgfplots and pgf 2.00 % using all new features. \pgfmathfloat@parser@install@pgf@two@null@null% @@ -90,7 +90,7 @@ \pgfmathfloatparsenumber{#1}% \fi \let\pgfmathfloatscale=\pgfmathresult% - },% + },% % determines the output format of each complete expression parsing % process. If 'scale results' is active, 'fixed' is assumed % automatically. @@ -217,7 +217,7 @@ \pgfmathfloat@marshal% } -% +% \def\pgfmathfloat@parser@install@functions{% % Install float commands... % @@ -334,7 +334,7 @@ % This here might bring speed improvements... if implemented % correctly. -% However, this heuristics might fail in cases like "1+1" vs "1e+1" ... +% However, this heuristics might fail in cases like "1+1" vs "1e+1" ... %\def\pgfmathfloat@parse@trynumber@token{numericfpu} %\pgfmath@tokens@make{numericfpu}{eE+-Y.0123456789} @@ -350,7 +350,7 @@ \noexpand\def\expandafter\noexpand\csname pgfmath@parsefunction@#1\endcsname{% \noexpand\let\noexpand\pgfmath@parsepostgroup\expandafter\noexpand\csname pgfmath@parsefunction@#1@\endcsname% \noexpand\expandafter\noexpand\pgfmath@parse@}% - \noexpand\def\expandafter\noexpand\csname pgfmath@parsefunction@#1@\endcsname{% + \noexpand\def\expandafter\noexpand\csname pgfmath@parsefunction@#1@\endcsname{% \noexpand\expandafter\expandafter\noexpand\csname pgfmath#1@\endcsname\noexpand\expandafter{\noexpand\pgfmathresult}% \noexpand\pgfmath@postfunction% }% @@ -617,7 +617,7 @@ \expandafter\pgfmathfloatparsenumber\expandafter{\pgfmathresult}% } % Compares #1 with #2 and sets \pgfmathresult either to 1.0 or 0.0. -% +% % It also sets the boolean \ifpgfmathfloatcomparison (globally). \def\pgfmathfloatlessthan@#1#2{% %\def\pgfmathfloatlessthan#1#2#3\and#4#5#6{% @@ -686,7 +686,7 @@ \let\pgfmathfloatlessthan=\pgfmathfloatlessthan@ \let\pgfmathfloatless@=\pgfmathfloatlessthan@ -% ! (#1 < #2) <=> (#1 >= #2) +% ! (#1 < #2) <=> (#1 >= #2) \def\pgfmathfloatnotless@#1#2{% \pgfmathfloatless@{#1}{#2}% \ifpgfmathfloatcomparison @@ -695,7 +695,7 @@ \def\pgfmathresult{1.0}% \fi }% -% ! (#1 > #2) <=> (#1 <= #2) +% ! (#1 > #2) <=> (#1 <= #2) \def\pgfmathfloatnotgreater@#1#2{% \pgfmathfloatless@{#2}{#1}% \ifpgfmathfloatcomparison @@ -806,7 +806,7 @@ % Renormalizes #1 to extended precision mantisse, meaning % 100 <= m < 1000 % instead of 1 <= m < 10. -% +% % The 'extended precision' means we have higher accuracy when we apply pgfmath operations to mantissas. % % The input argument is expected to be a normalized floating point number; the output argument is a non-normalized floating point number (well, normalized to extended precision). @@ -842,7 +842,7 @@ % Sets extended precision to 10^#1. % % The different choices are -% +% % - 0: normalization 0 <= m < 1 (disable extended precision) % - 1: normalization 10 <= m < 100 % - 2: normalization 100 <= m < 1000 (default) @@ -873,7 +873,7 @@ % % INPUT: % #1 normalized floating point number. Maybe a macro (it will be expanded ONCE) -% +% % OUTPUT: % - \pgfmathresult : the mantisse in extended precision % - \pgfmathfloat@a@S : the sign of #1 @@ -1051,7 +1051,7 @@ % #1=mantisse which needs to be shifted (with smaller exponent) % #2=smaller exponent % #3=larger exponent -% +% % ATTENTION: this helper method DESTROYS contents of \pgfmathfloat@a@S. \def\pgfmathfloatadd@shift#1#2#3{% \pgf@xa=#1 pt% @@ -1113,7 +1113,7 @@ \let\pgfmathfloatsubtract=\pgfmathfloatsubtract@ % Scales a floating point number #1 with a fixed point number #2 using pgfmathmultiply. -% +% % Use this method if #2 is small number. \def\pgfmathfloatmultiplyfixed@#1#2{% \begingroup @@ -1408,14 +1408,14 @@ % Returns the integer part of the floating point number #1. % -% The result is returned as floating point as well. +% The result is returned as floating point as well. % % This operation is not limited to TeX's range of count registers (it % works symbolly) % % @see \pgfmathfloattoint -% POSTCONDITION: \pgfmathresult contains the result and -% \pgfmathfloatintwasnoop=1 if there was nothing to do +% POSTCONDITION: \pgfmathresult contains the result and +% \pgfmathfloatintwasnoop=1 if there was nothing to do % \pgfmathfloatintwasnoop=0 if there where non-zero digits after the period % \pgfmathfloatintwasnoop=2 if there where digits after the period. The digits will be stored in \pgfmathfloatintremainder in this case. \def\pgfmathfloatint@#1{% @@ -1603,7 +1603,7 @@ % +infty:. \pgfmathfloatcreate{1}{1.0}{0}% \or - % -infty: + % -infty: \pgfmathfloatcreate{2}{1.0}{0}% \fi \pgfmath@smuggleone\pgfmathresult @@ -1756,7 +1756,7 @@ \def\pgfmathfloatatan@#1{% \begingroup - \expandafter\ifx\csname pgfmathfloatatan@TMP\endcsname\relax% + \expandafter\ifx\csname pgfmathfloatatan@TMP\endcsname\relax% \pgfmathfloatcreate{1}{1.6}{4}% \global\let\pgfmathfloatatan@TMP=\pgfmathresult \pgfmathfloatcreate{2}{1.6}{4}% @@ -1802,7 +1802,7 @@ \fi % \ifnum\pgfmathfloat@a@E<-3 % - \ifnum\pgfmathfloat@b@S=2 % + \ifnum\pgfmathfloat@b@S=2 % % #2 < 0 \pgfmathfloatcreate{1}{1.8}{2}% +180 \else @@ -1846,7 +1846,7 @@ \pgfmathfloat@scale@deg@to@rad\pgfmathresult \fi \pgfmath@smuggleone\pgfmathresult% - \endgroup% + \endgroup% }% \let\pgfmathfloatatantwo@=\pgfmathfloatatantwo \expandafter\let\csname pgfmathfloatatan2\endcsname=\pgfmathfloatatantwo @@ -1911,7 +1911,7 @@ % % 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. % % The natural logarithm is computed using log(X*10^Y) = log(X) + log(10)*Y % @@ -1947,7 +1947,7 @@ % Computes exp(#1) in floating point. % -% The algorithm employs the identity +% The algorithm employs the identity % exp(x) = exp(x - log(10^k) + log(10^k) % = 10^k exp( x - k*log 10 ) % with k choosen such that exp( x - k*log10) can be computed with the @@ -2114,12 +2114,12 @@ \else \pgfmathfloatgetflags{#1}\c@pgfmath@counta \ifnum0=\c@pgfmath@counta - % ah: 0^x + % ah: 0^x \pgfmathfloatgetflags{#2}\c@pgfmath@counta \ifnum0=\c@pgfmath@counta % ah: 0^0 \pgfmathfloatcreate{1}{1.0}{0}% - \else + \else % ah: 0^x with x!=0: \pgfmathfloatcreate{0}{0.0}{0}% \fi @@ -2179,7 +2179,7 @@ \pgfmathfloat@definemethodfrombasic@NOARG{rnd} \pgfmathfloat@definemethodfrombasic@NOARG{false} \pgfmathfloat@definemethodfrombasic@NOARG{true} -% arcsin, arccos +% arcsin, arccos \pgfmathfloat@definemethodfrombasic@ONEARG{asin} \pgfmathfloat@definemethodfrombasic@ONEARG{acos} \pgfmathfloat@definemethodfrombasic@ONEARG{not} diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryintersections.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryintersections.code.tex index 0e07fdc8a87..a3888007fd7 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryintersections.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryintersections.code.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -76,7 +76,7 @@ % Example: \pgfintersectiongetsolutionsegmentindices{0}{\first}{\second} % % -> \first may be 0 if point #0 is in the 0'th segment -% -> \second may be 42 if point #0 is in the 42'th segment +% -> \second may be 42 if point #0 is in the 42'th segment % % The "segment index" is actually close to the "time" of the solution. % If a solution is at "time" 42.2, it will have segment index 42. @@ -132,7 +132,7 @@ \def\pgf@temp##1##2##3##4{% \edef#2{##3}% \edef#3{##4}% - % + % % check for fallback to segment indices: \ifx#2\pgfutil@empty \edef#2{##1}\fi \ifx#3\pgfutil@empty \edef#3{##2}\fi @@ -161,7 +161,7 @@ \long\def\pgfintersectionofpaths#1#2{% \begingroup% \pgfinterruptpath% - #1% + #1% \pgfgetpath\pgf@intersect@path@a% \global\let\pgf@intersect@path@temp=\pgf@intersect@path@a% \endpgfinterruptpath% @@ -170,7 +170,7 @@ % \begingroup% \pgfinterruptpath% - #2% + #2% \pgfgetpath\pgf@intersect@path@b% \global\let\pgf@intersect@path@temp=\pgf@intersect@path@b% \endpgfinterruptpath% @@ -220,9 +220,9 @@ % % However, \pgf@intersect@time@offset and % \pgf@intersect@time@offset@b are *always* valid. In fact,they - % resemble a part of the time: it holds + % resemble a part of the time: it holds % 0 <= \pgf@intersect@time@a < 1 - % and \pgf@intersect@time@offset > 0. + % and \pgf@intersect@time@offset > 0. % % If we have an intersection in segment 42 of path A, % \pgf@intersect@time@offset will be 42. The time inside of that @@ -402,7 +402,7 @@ \pgf@marshal% \pgfmathdivide@{\pgfmathresult}{\pgf@intersect@length@a}% \pgf@x=\pgfmathresult pt\relax% - \advance\pgf@x by\pgf@intersect@time@offset pt\relax% + \advance\pgf@x by\pgf@intersect@time@offset pt\relax% \edef\pgf@intersect@time@a{\pgfmath@tonumber{\pgf@x}}% \expandafter\global\expandafter\let\csname pgf@g@intersect@solution@\the\pgf@intersect@solutions @time@a\endcsname= \pgf@intersect@time@a @@ -413,7 +413,7 @@ \pgf@intersection@store@properties{pgfpoint@g@intersect@solution@\the\pgf@intersect@solutions}% }% % - }{}% + }{}% } % Test if two lines L1 and L2 intersect. @@ -435,16 +435,16 @@ % % t = |x4-x3 x3-x1| / |x4-x3 x2-x1| % |y4-y3 y3-y1| |y4-y3 y2-y1| -% +% % with 0<=s,t<=1 -% +% % s and t do not need to be calculated: % % Let s = A / C and t = B / C -% +% % Then 0<=s<=1 if !(C=0) && ((A=0) || ((A>0) && !(C<A)) || ((A<0) && !(C>A))) % 0<=t<=1 if !(C=0) && ((B=0) || ((B>0) && !(C<B)) || ((B<0) && !(C>B))) -% +% \newif\ifpgf@s \newif\ifpgf@t \def\pgfiflinesintersect#1#2#3#4{% @@ -479,7 +479,7 @@ % % Normalise a little. 16384 may not be a robust choice. % - \c@pgf@counta=\pgf@xa\divide\c@pgf@counta by16384\relax% + \c@pgf@counta=\pgf@xa\divide\c@pgf@counta by16384\relax% \c@pgf@countb=\pgf@xb\divide\c@pgf@countb by16384\relax% \c@pgf@countc=\pgf@ya\divide\c@pgf@countc by16384\relax% \c@pgf@countd=\pgf@yb\divide\c@pgf@countd by16384\relax% @@ -606,12 +606,12 @@ % Find the intersections of two bezier curves. -% +% % #1 - #4 = curve 1. % #5 - #8 = curve 2. % #9 = the solution number. % -% There is no guarantee of ordering of solutions. If there are +% There is no guarantee of ordering of solutions. If there are % no solutions, the origin is returned. % \def\pgfpointintersectionofcurves#1#2#3#4#5#6#7#8#9{% @@ -625,7 +625,7 @@ % Return any intersection points of two curves C1 and C2. % No order can be guaranteed for the solutions. % -% #1, #2, #3, #4 - the points on C1 +% #1, #2, #3, #4 - the points on C1 % #5, #6, #7, #8 - the points on C2 % % Returns: @@ -639,7 +639,7 @@ % S = {}; % intersection'(C1,C2); % return S; -% +% % intersection'(C1,C2) % B1 = boundingbox(C1); % B2 = boundingbox(C2); @@ -686,7 +686,7 @@ % (\pgf@xa, \pgf@ya) is lower-left % (\pgf@xb, \pgf@yb) is upper-right \edef\pgf@intersect@boundingbox@b{% - \noexpand\pgf@x=\the\pgf@xa% + \noexpand\pgf@x=\the\pgf@xa% \noexpand\pgf@y=\the\pgf@ya% \noexpand\pgf@xa=\the\pgf@xb% \noexpand\pgf@ya=\the\pgf@yb% @@ -701,7 +701,7 @@ \noexpand\pgf@yb=\the\pgf@ya% \noexpand\pgf@xc=\the\pgf@xb% \noexpand\pgf@yc=\the\pgf@yb% - }% + }% \pgf@intersect@boundingbox@a% \pgf@intersect@boundingbox@b% % check if the two bounding boxes overlap: @@ -761,8 +761,8 @@ \pgf@intersect@solution@candidate% \ifpgf@intersect@sort% \expandafter\xdef% - \csname pgf@g@intersect@solution@\the\pgf@intersect@solutions @time@a\endcsname% - {\pgf@intersect@time@a}% + \csname pgf@g@intersect@solution@\the\pgf@intersect@solutions @time@a\endcsname% + {\pgf@intersect@time@a}% \fi% \endgroup }% @@ -855,7 +855,7 @@ \def\pgf@curve@subdivide@left#1#2#3#4{% % - % The left curve (from t=0 to t=.5) + % The left curve (from t=0 to t=.5) % \begingroup #1\relax% @@ -898,7 +898,7 @@ \def\pgf@curve@subdivide@right#1#2#3#4{% % - % The right curve (from t=0.5 to t=1) + % The right curve (from t=0.5 to t=1) % \begingroup #1\relax% @@ -942,7 +942,7 @@ % A solution S1 is considered a duplicate of S2, if -% +% % |x1 - x2|f < q and |y1 - y2|f < q % % where q is a small value (tolerance). @@ -956,7 +956,7 @@ \let\pgf@intersect@next=\pgfutil@secondoftwo% \pgfmathloop% \ifnum\pgfmathcounter>\pgf@intersect@solutions\relax% - \else% + \else% \pgf@ifsolution@duplicate@{\pgfmathcounter}% \repeatpgfmathloop% \pgf@intersect@next% diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex index 5e6a7bbc10e..fe86ba6f4a7 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryluamath.code.tex @@ -9,17 +9,17 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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 6. Jan 09:15:30 CET 2016 %%% +%%% Date of this copy: Mi 8. Feb 20:49:06 CET 2017 %%% @@ -132,10 +132,31 @@ \let\pgfmathnotifynewdeclarefunction@orig=\pgfmathnotifynewdeclarefunction \def\pgfmathnotifynewdeclarefunction#1#2#3{% \pgfmathnotifynewdeclarefunction@orig{#1}{#2}{#3}% - \directlua{pgfluamathparser.pushLocalExpressionFunction(% - "\pgfutil@luaescapestring{#1}",% - #2,% - "\pgfutil@luaescapestring{#3}")}% + % + % we have to check if '#3' contains control sequences. + % this is highly tricky as it may contain '#1'... + \begingroup + \toks0={#3}% + \xdef\pgf@marshal@glob{\the\toks0 }% + \endgroup + \pgfutil@command@to@string\pgf@marshal@glob\pgf@marshal + \expandafter\pgfutilifcontainsmacro\expandafter{\pgf@marshal}{% + \def\pgf@temp{1}% + }{% + \def\pgf@temp{0}% + }% + \if1\pgf@temp + % let lua produce an error when evaluating this function -- we cannot possibly expand the macro to its current state: + \directlua{pgfluamathparser.pushLocalExpressionFunction(% + "\pgfutil@luaescapestring{#1}",% + #2,% + "functionMustBeEvaluatedInTeX")}% + \else + \directlua{pgfluamathparser.pushLocalExpressionFunction(% + "\pgfutil@luaescapestring{#1}",% + #2,% + "\pgfutil@luaescapestring{#3}")}% + \fi % % ensure that the local function is removed at the end of the % scope. To this end, we maintain a stack on the LUA side. @@ -172,7 +193,7 @@ % LUA (defined only in TeX) % - some special cases which simply haven't been added to the LUA % parser (yet). -% At the time of this writing, this includes +% At the time of this writing, this includes % -- arrays created via '{}' and indexed with '[]' % -- strings with "<str>" % -- 'scalar' function @@ -209,7 +230,7 @@ \ifpgfluamathparseractive \let\pgfmathparse\pgfluamath@pgfmathparse \pgfluamathparseractivefalse - \fi} + \fi} \pgfqkeys{/pgf}{% % Enable lua-side computation of \pgfmathresult @@ -503,7 +524,7 @@ % LUA (defined only in TeX) % - some special cases which simply haven't been added to the LUA % parser (yet). -% At the time of this writing, this includes +% At the time of this writing, this includes % -- arrays created via '{}' and indexed with '[]' % -- strings with "<str>" % -- 'scalar' function @@ -522,8 +543,8 @@ \def\pgfluamathparse#1{% \pgfluamathusedTeXfallbackfalse \pgfutil@directlua{pgfluamathparser.texCallParser( - "\pgfutil@luaescapestring{#1}", - \pgfluamath@outputformat@choice, + "\pgfutil@luaescapestring{#1}", + \pgfluamath@outputformat@choice, \ifpgfluamathshowerrormessage true\else false\fi)% }% \ifx\pgfmathresult\pgfutil@empty diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmanual.prettyprinter.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmanual.prettyprinter.code.tex index 21ba1b5b2a0..07bfe1e4245 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmanual.prettyprinter.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmanual.prettyprinter.code.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -29,7 +29,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007/2008/2009 by Christian Feuersänger. @@ -38,12 +38,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -56,7 +56,7 @@ % right place. % % ATTENTION: -% this is NOT a sophisticated syntax highlighter like lstlistings! +% this is NOT a sophisticated syntax highlighter like lstlistings! % It has rather strict assumptions about how to use it (the input must % have been read verbatim, for example). @@ -96,7 +96,7 @@ % For example: % /codeexample/prettyprint/key value/my key/.code 2 args={name=#1, value =#2} % If such a key exists, it will be invoked with {#1}{#2} as - % arguments. Otherwise, the generic method + % arguments. Otherwise, the generic method % /codeexample/prettyprint/key value with style detection={#1}{#2} % will be invoked. /codeexample/prettyprint/key value/.code 2 args={% @@ -158,7 +158,7 @@ % on the 'cs arguments/<CS NAME>' key; it contains the integer % number. % - % For example, if + % For example, if % |cs arguments/pgfkeys/.initial=1|, % the pretty printer invokes % |cs with args={\pgfkeys}{<argument>}. @@ -191,9 +191,9 @@ % % For every identified control sequence, the key % /codeexample/prettyprint/cs/<CSNAME>/.@cmd - % will be checked. If it exists, it will be used instead of + % will be checked. If it exists, it will be used instead of % 'cs with args' (with the same special case restrictions for - % early end-of-input). + % early end-of-input). % % The <CSNAME> must not contain the '\'. % @@ -207,7 +207,7 @@ /codeexample/prettyprint/cs arguments/end/.initial=1, /codeexample/prettyprint/cs/end/.code 2 args={#1\{#2\pgfmanualclosebrace}, % - % a point coordinate (#1) + % a point coordinate (#1) % Note that '#1' will contain the braces (if there was one), /codeexample/prettyprint/point/.code={#1},% % @@ -219,7 +219,7 @@ % the same with specialised code: %/codeexample/prettyprint/point with cs/<CS NAME>/.code 2 args={(#1:#2},% % - % + % % A predefined style which colors every identified token. It's % purpose is only debugging. /codeexample/prettyprint/colored/.style={% @@ -307,14 +307,14 @@ % % FIXME % THIS INTRODUCES A NEW GROUP! Does that hurt the pretty printer?? -% +% \def\pgfmanual@pretty@installcommenthandler{% \expandafter\def\pgfmanual@pretty@activepercent{% \begingroup \pgfmanualprettycommentactivetrue \expandafter\let\pgfmanual@pretty@activenl=\pgfmanual@pretty@recoveraftercomment \expandafter\def\pgfmanual@pretty@activepercent{\%}% - %\tt + %\tt \% % }% }% @@ -552,7 +552,7 @@ % \pgfmanualprettyprintercollectargcount with balanced braces. The braces % have \catcode 12. % POSTCONDITION: -% 1. the arguments will be collected as +% 1. the arguments will be collected as % '<result> := {<first arg>}{<second arg>}', % 2.1 the macro \pgfmanualprettyprinternumcollectedargs will contain % the *actual* number of *completely* collected arguments, @@ -563,7 +563,7 @@ % properly. % Afterwards, #2 will be invoked to recover from the argument % collection. -% +% % % Example: % \pgfmanualprettyprintercollectargcount{2}{\donnextstep} @@ -573,7 +573,7 @@ % \pgfmanualprettyprinterhandlecollectedargs{{_1 first argument }_2 {_1 second argument }_2 } % \donnextstep % next tokens -% +% % % % ATTENTION: @@ -725,7 +725,7 @@ \newif\ifpgfmanualprettyprinterfoundterminator % Collects tokens inside of a token list up to a single delimiting token, dealing with nested -% catcode-12-braces. +% catcode-12-braces. % % #1: is the end token, the delimiter. It won't be collected. % #2: is code to invoke after @@ -736,7 +736,7 @@ % \pgfmanualprettyprintercollectargcount with balanced braces. The braces % have \catcode 12. % POSTCONDITION: -% - the arguments will be collected as +% - the arguments will be collected as % '<result> := <token list>' % and then, \pgfmanualprettyprinterhandlecollectedargs{<result>} will be % invoked. Just define \pgfmanualprettyprinterhandlecollectedargs @@ -745,7 +745,7 @@ % - The boolean \ifpgfmanualprettyprinterfoundterminator will be set to true if and only if '#1' has been found. % % @see \pgfmanualprettyprintercollectargcount for more details. -% +% \def\pgfmanualprettyprintercollectupto#1#2{% \pgfmanualprettyprinterarghasunmatchedbracesfalse \pgfmanualprettyprinterfoundterminatortrue @@ -918,7 +918,7 @@ \ifx\pgfmanual@loc@TMPa\pgfmanual@pretty@rbrace #1% \else - % found the beginning of a key! + % found the beginning of a key! % We will collect the key name into % \toks0. \toks0={}% @@ -1117,4 +1117,3 @@ \edef\pgfmanual@loc@TMPa{{\pgfmanual@pretty@pgfkeys@collectkey@keyname}}% \expandafter\pgfmanual@loc@TMPb\pgfmanual@loc@TMPa{#1}\pgfeov } - diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex index 241741e53b4..9a36660282b 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -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@error{INTERNAL ERROR in fixed style - The input sequence did not terminate as expected; which indicates a wrong exponent argument provided to \string\pgfmathprintnumber@fixed@style}{}% % \fi - %-------------------------------------------------- + %-------------------------------------------------- \let\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT=\relax \fi \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@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@fixed@style=\pgfmathprintnumber@fixed@styleDEFAULT -% Rounds a normalized floating point number to \pgfmathfloat@round@precision +% Rounds a normalized floating point number to \pgfmathfloat@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@RELATIVE@choice@roundtofixed % relative round mode=mantissa \def\b@round@fixed{0}% - \else + \else \if1\pgfmathprintnumber@RELATIVE@choice@roundtofixed % relative round mode=fixed \def\b@round@fixed{1}% @@ -1196,7 +1196,7 @@ \fi \edef\pgfmathresultX{% \the\pgfmathfloat@a@S - \the\pgfmathfloat@a@Mtok + \the\pgfmathfloat@a@Mtok \ifpgfmathfloatroundhasperiod\else.0\fi e\the\pgfmathfloat@a@E}% % call another formatter for the result (but avoid rounding inside of it): @@ -1235,7 +1235,7 @@ \fi \edef\pgfmathresultX{% \the\pgfmathfloat@a@S - \the\pgfmathfloat@a@Mtok + \the\pgfmathfloat@a@Mtok \ifpgfmathfloatroundhasperiod\else.0\fi e\the\pgfmathfloat@a@E}% \let\pgfmathfloat@round@precision@orig=\pgfmathfloat@round@precision @@ -1691,7 +1691,7 @@ \endgroup \let#3=\pgfmathfloat@glob@TMP }% - + % Changes the current number pretty printer to #1. % @@ -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 @@ -1858,7 +1858,7 @@ \fi \fi } - + % takes the current input and decides whether trailing zeros shall be % discarded or more zeros need to be filled in. \def\pgfmathroundto@impl@finish@with@truncation{% @@ -1991,7 +1991,7 @@ \fi } -% PRECONDITION: +% PRECONDITION: % \c@pgfmathroundto@lastzeros > 0 \def\pgfmathroundto@impl@discard@suffix@zeros@ITERATE#1{% \advance\c@pgfmathroundto@lastzeros by-1 @@ -2183,7 +2183,7 @@ % \pgfmathfloattofixed@impl@collectmantissa#2\count\pgfmathfloat@a@E % \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok}% % \fi - %-------------------------------------------------- + %-------------------------------------------------- \pgfmathfloat@a@Mtok{#1}% \pgfmathfloattofixed@impl@pos#2000000000\pgfmathfloat@EOI \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok}% diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex index 4f2f3d68c61..fb09a855e69 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -43,7 +43,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Usage: +% Usage: % \pgfapplistnewempty\macro \def\pgfapplistnewempty#1{% \expandafter\let\csname pgfapp@#1\endcsname=\pgfutil@empty @@ -109,17 +109,17 @@ \pgfapplist@flushbuffers{#2}% \expandafter\let\expandafter#1\csname pgfapp@#2\endcsname }% - + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% +% % A variant of applist which has the same runtime requirements, but % does PUSH FRONT only. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Usage: +% Usage: % \pgfprependlistnewempty{list} \def\pgfprependlistnewempty#1{% \expandafter\let\csname pgfpPRP@#1\endcsname=\pgfutil@empty diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternal.sty b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternal.sty index e039fbc7984..55e56d8fdd0 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternal.sty +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternal.sty @@ -9,10 +9,10 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Date of this copy: Di 25. Dez 18:14:20 CET 2012 %%% @@ -34,7 +34,7 @@ % % This file is intended to be distributed or even inlined into a file % when a document needs to be typeset on a system that does not have -% pgf/TikZ installed. +% pgf/TikZ installed. % % It replaces \tikzpicture/ \endtikzpicture and \tikz and invokes the % \includegraphics with the correct file name instead. @@ -156,9 +156,8 @@ {\toks0={#1#2}% \immediate\write\@auxout{\noexpand\def\noexpand\dpthimport{\the\toks0 }\noexpand\dpthimport }% }% - \fi + \fi \else% \def\pgfretval{#1#2}% \fi }% - diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternalshared.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternalshared.code.tex index 607b6375aef..ed1a6ff4fb1 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternalshared.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternalshared.code.tex @@ -9,12 +9,12 @@ %%% PGF parts. The copyrights are as they appear in PGF. %%% %%% Note that pgfplots has compatible licenses. -%%% +%%% %%% This copy has been modified in the following ways: %%% - nested \input commands have been updated -%%% +%%% % -% Support for the contents of this file will NOT be done by the PGF/TikZ team. +% Support for the contents of this file will NOT be done by the PGF/TikZ team. % Please contact the author and/or maintainer of pgfplots (Christian Feuersaenger) if you need assistance in conjunction % 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. @@ -37,7 +37,7 @@ % tikzlibraryexternal.code.tex % ****************************** % -% +% % This file provides a high-level automatic export feature for tikz pictures. % It allows to export EACH SINGLE FIGURE into a separate PDF. % @@ -91,10 +91,10 @@ % Invokes '#1' if the external lib is currently externalizing the NEXT FOLLOWING % tikzpicture. It invokes '#2' if that is not the case. \def\tikzifexternalizingnext#1#2{% - \ifpgf@external@grabshipout + \ifpgf@external@grabshipout \tikzexternalgetnextfilename\tikzexternal@temp \tikzifexternaljobnamematches\tikzexternal@temp{#1}{#2}% - \else + \else #2% \fi }% @@ -104,14 +104,14 @@ % If the command is invoked outside of a picture, '#2' will be % invoked. \def\tikzifexternalizingcurrent#1#2{% - \ifpgf@external@grabshipout + \ifpgf@external@grabshipout \tikzexternalgetcurrentfilename\tikzexternal@temp \ifx\tikzexternal@temp\pgfutil@empty #2% \else \tikzifexternaljobnamematches\tikzexternal@temp{#1}{#2}% \fi - \else + \else #2% \fi }% @@ -241,7 +241,7 @@ optimize/restore/.code={},% % Expects two arguments, the command name and (optionally) a count % of expected arguments. - % Example: + % Example: % 'optimize command away=\includegraphics' % 'optimize command away={\mycommand}{3}' % @@ -317,7 +317,7 @@ % && dvipdfm "\image".dvi % % }% % }% -%-------------------------------------------------- +%-------------------------------------------------- \expandafter\def\csname tikzexternal@driver@pgfsys-xetex.def\endcsname{% \pgfkeyssetvalue{/tikz/external/system call}{% xelatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"% @@ -349,7 +349,7 @@ \tikzsetexternalprefix{} % This method initialises automatic externalization. -% +% % The command does need any argument, but it has two optional ones: % % 1. \tikzexternalize[<options>] @@ -381,7 +381,7 @@ }{% \tikzexternal@auto@detect@jobnametrue \pgfutil@ifundefined{tikzexternalrealjob}{% - % ok, \tikzexternalrealjob is not known. + % ok, \tikzexternalrealjob is not known. % Assume we are currently *not* externalizing. \let\tikzexternalrealjob=\jobname }{}% @@ -421,14 +421,14 @@ \fi }% -% If mode=`convert with system call', the boolean \ifpgfexternalreadmainaux +% If mode=`convert with system call', the boolean \ifpgfexternalreadmainaux % will be set depending on the current lock file. % % The idea is as follows: Suppose -% pdflatex -shell-escape mainjob.tex +% pdflatex -shell-escape mainjob.tex % is running. -% -% While it runs, +% +% While it runs, % a) it modifies its mainjob.aux file, % b) it issues pdflatex -jobname mainjob-figure0 mainjob.tex . % @@ -438,7 +438,7 @@ % avoid such failure, a locking mechanism is established. % % The locking mechanisms causes (a) to write a lock command into -% mainjob.auxlock +% mainjob.auxlock % just before (b) is called. Then, (b) will check it. After (b) has % completed, the lock will be reset. % @@ -599,15 +599,15 @@ % final TeX-dialect specific end-image command. % This is really difficult for LaTeX because \end{tikzpicture} either involves dirty % catcode-hacks to parse the braces or an ugly loop which loops until it -% finds \end followed by {tikzpicture}. -% +% finds \end followed by {tikzpicture}. +% % #1: a macro which will be called with the collected environment contents. % all following tokens: the environment contents. \long\gdef\tikzexternal@TEXDIALECT@collectpicture#1#2\endtikzpicture{#1{#2}} % % 2. the following commands should expand to the TeX-dialect specific begin and end image command, i.e. % \tikzpicture / \endtikzpicture -% or +% or % \begin{tikzpicture} / \end{tikzpicture} % or % \starttikzpicture / \stoptikzpicture @@ -737,7 +737,7 @@ \def\tikzexternal@getnextfilename@advancecount{% \begingroup \c@pgf@counta=\csname c@tikzext@no@\tikzexternal@figurename\endcsname\relax - \advance\c@pgf@counta by1 + \advance\c@pgf@counta by1 \expandafter\xdef\csname c@tikzext@no@\tikzexternal@figurename\endcsname{\the\c@pgf@counta}% \endgroup }% @@ -810,7 +810,7 @@ \let#1=\pgf@tempa \fi \fi - % + % \tikzexternal@getnextfilename@resetglobals% % \tikzexternal@protocol@to@file#1% @@ -1030,7 +1030,7 @@ \def\tikzpicturedependsonfile#1{}% NO-OP until \tikzexternalize has been called. -% This command is invoked +% This command is invoked % if and only if ( (grab mode && --jobname matches) || 'mode=graphics if exists' ) % % It converts the current tikzpicture into an image in grab mode @@ -1195,7 +1195,7 @@ % Processes tikzpicture normally; without any externalization. % -% We need to do further work here to deal with NESTED tikzpicture environments +% We need to do further work here to deal with NESTED tikzpicture environments % because all of them shall also be typeset normally. % % Idea: @@ -1234,7 +1234,7 @@ \if5\tikzexternal@opmode \let\tikz@refundefinedtrue@@=\G@refundefinedtrue \gdef\G@refundefinedtrue{% - \tikz@refundefinedtrue@@ + \tikz@refundefinedtrue@@ \tikzexternal@forceremake@undefined@reference@handler }% \fi @@ -1378,10 +1378,10 @@ |xdef|tikzexternal@normal@backslash{\}% } { -\catcode`\^^I=12 +\catcode`\^^I=12 \catcode`\$=12 \catcode`\%=12 -\catcode`\#=12 +\catcode`\#=12 \gdef\tikzexternal@HASHchar{#} \gdef\tikzexternal@TABchar{^^I}\gdef\tikzexternal@PERCENTchar{%}\xdef\tikzexternal@DOLLARchar{$}} @@ -1527,7 +1527,7 @@ % It is used as argument for \write{..} % % #1 the hash key to serialize. -% \def\tikzexternal@hashfct@serialize +% \def\tikzexternal@hashfct@serialize \long\def\tikzexternal@hashfct@serialize@std#1{% \noexpand\def\noexpand\tikzexternallastkey{#1}% }% @@ -1544,7 +1544,7 @@ \def\tikzexternal@check@uptodate@ext{.md5} -\def\tikzexternal@check@uptodate@mode@warn@fallback{% +\def\tikzexternal@check@uptodate@mode@warn@fallback{% \message{! Package tikz Warning: The key 'up to date check=md5' is impossible, there is no macro to compute MD5. Falling back to 'up to date check=diff'.}% % % warn only once: @@ -1618,8 +1618,8 @@ } % Checks whether the current picture needs to be externalized. -% -% This is the case if +% +% This is the case if % a) there is no external image yet, % b) the picture has been invalidated manually. % diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfsys-luatexpatch.def b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfsys-luatexpatch.def index 6aa0dbc7ab9..6865ae15561 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfsys-luatexpatch.def +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfsys-luatexpatch.def @@ -2,6 +2,12 @@ % % +\ifnum\luatexversion<95 + \immediate\write-1{luatex driver of PGF: detected lua version \the\luatexversion; falling back to old pdftex driver^^J}% + \input pgfsys-pdftex.def + \expandafter\endinput +\fi + % Copyright 2006 by Till Tantau % % This file may be distributed and/or modified diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/pgflibraryfillbetween.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/pgflibraryfillbetween.code.tex index 2b1eebdcb58..3512d7e3086 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/pgflibraryfillbetween.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/pgflibraryfillbetween.code.tex @@ -10,7 +10,7 @@ \usepgflibrary{intersections} % FIXME : ARCHITECTURE VIOLATION: REQUIRES -% \usetikzlibrary{decorations.softclip} +% \usetikzlibrary{decorations.softclip} % %\usepgfmodule{decorations} @@ -31,7 +31,7 @@ /pgf/fill between/inner moveto/connect, % % split=true allows to generate individual result paths for every - % region induced by the intersection points. Example: + % region induced by the intersection points. Example: % "color positive region in red and negative region in green". % The case split=false results in just one output path % (simpler+faster, but of course less powerful). @@ -225,13 +225,13 @@ % 0. normalize path sequences. % ATTENTION : there are implicit assumptions on the INTERNAL ORDER of the two paths! % This implementation needs to loop over them synchronously, i.e. it processes - % the 0.th segment of a and the 0th of b, - % the 1.th segment of a and the 1th of b, + % the 0.th segment of a and the 0th of b, + % the 1.th segment of a and the 1th of b, % and so on. Here, "i th segment" implies a sort order in ascending x direction. % This is, however, a weakness of \pgfintersectionofpaths - it does not really support this kind of sorting. - % + % % I work around this by restricting the implementation to the "common use-cases", i.e. to two plots of functions which do not intersect themselves (i.e. to "functions" in the original sense). This will probably (almost surely) fail for parametric functions or circles. - % + % \if0\pgfpathfillbetween@reverse@mode % reverse=false % @@ -413,7 +413,7 @@ % Takes a softpath on input, replaces its first moveto by a lineto, % and returns it as softpath. % #1: a macro containing a softpath (i.e. the result of \pgfgetpath) -% +% % On output, \pgfretval contains a modified path. \def\pgfpathreplacefirstmoveto#1{% \ifx#1\pgfutil@empty @@ -440,7 +440,7 @@ }% % example: \pgfsyssoftpath@movetotoken{#2}{#3}\pgfsyssoftpath@linetotoken{#5}{#6}#7\pgf@stop -% example: +% example: % \pgfsyssoftpath@movetotoken{#2}{#3} % \pgfsyssoftpath@curvetosupportatoken{<x>}{<y>} % \pgfsyssoftpath@curvetosupportbtoken{<x>}{<y>} @@ -469,7 +469,7 @@ \edef\pgfretval{% \ifdim #1<#3\space +% - \else + \else \ifdim #1=#3\space \ifdim #2<#4\space +% @@ -717,10 +717,10 @@ % \pgfplotsassertequalstok{\the\pgf@x, \the\pgf@y}{128.05057pt, 14.2278pt}{solution 3} % \pgfpointintersectionsolution{4}% % \pgfplotsassertequalstok{\the\pgf@x, \the\pgf@y}{156.50636pt, 14.2278pt}{solution 4} -% -% +% +% % \pgfcomputeintersectionsegments{1}% -% +% % \message{OUTPUT: \meaning\pgfretval^^J}% % \expandafter\def\csname expected@a@0\endcsname{% % \pgfsyssoftpath@movetotoken {56.90549pt}{0.0pt}% @@ -745,7 +745,7 @@ % \pgfsyssoftpath@movetotoken{156.50636pt}{14.2278pt}% % \pgfsyssoftpath@linetotoken {170.71646pt}{0.0pt}% % } -% % +% % \def\pgfcomputeintersectionsegments#1{% \pgfcomputeintersectionsegments@set@src{#1}% \ifnum\pgfintersectionsolutions=0 % @@ -871,7 +871,7 @@ % Point lerp(float t, Point A, Point B) { % return A*(1-t) + B*t; // + and * overloaded for Points % } -% +% % void split(t, Point P[4], Point L[4], Point R[4]) { % Point P01 = lerp(t, P[0], P[1]); % Point P12 = lerp(t, P[1], P[2]); @@ -883,11 +883,11 @@ % R[0] = Q; % R[1] = P123; R[2] = P23; R[3] = P[3]; % } -%-------------------------------------------------- +%-------------------------------------------------- % INPUT: % #1: a value in the range [0,1] which determines the split point % #2,#3,#4,#5: the points of the curve, each of the form {<x>}{<y>} -% +% % OUTPUT: % \pgfretval@L{{<A>}{<B>}{<C>}{<D>}} % \pgfretval@R{{<A>}{<B>}{<C>}{<D>}} @@ -929,7 +929,7 @@ % % This variants takes a part of a softpath as input: % -% #1: a curveto- a macro containing a softpath of the form +% #1: a curveto- a macro containing a softpath of the form % <x><y>\pgfsyssoftpath@curvetosupportatoken<x><y>\pgfsyssoftpath@curvetosupportbtoken<x><y>\pgfsyssoftpath@curvetotoken<x><y> % #2: t in [0,1] % diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/tikzlibraryfillbetween.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/tikzlibraryfillbetween.code.tex index 8f60ef1e6b9..d5a153c055b 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/tikzlibraryfillbetween.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfcontrib/tikzlibraryfillbetween.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2013 by Christian Feuersaenger @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -146,7 +146,7 @@ \fi % \expandafter\fill\expandafter[\pgfplots@loc@TMPa] - \pgfextra + \pgfextra \pgfsetpathandBB{\pgflibraryfill@path}% \pgfkeysgetvalue{/tikz/fill between/path after segment}\tikz@fillbetween@post@segment \expandafter @@ -159,7 +159,7 @@ }, /tikz/fill between/.search also={/pgf/fill between,/pgfplots}, /tikz/fill between/optimize name intersections/.is if=tikzfillbetween@optimize@name@intersections, - % + % % FIXME : this optimization needs much more work... I believe it % would be stable enough, but it covers too few cases. %/tikz/fill between/optimize name intersections=true, @@ -170,9 +170,9 @@ % /pgfplots/execute at begin axis@@/.add={% % \def\b@pgfplotslibraryfill@added % }{% - % + % % },% - %-------------------------------------------------- + %-------------------------------------------------- } \def\tikzlibraryfillbetween@parse#1 and #2\pgf@stop{% @@ -190,7 +190,7 @@ \def\tikzfillbetween{\pgfutil@ifnextchar[{\tikzfillbetween@opt}{\tikzfillbetween@opt[]}} \def\tikzfillbetween@opt[#1]#2{% \begingroup - \pgfqkeys{/tikz/fill between}{% + \pgfqkeys{/tikz/fill between}{% % prepare the low-level path generation instruction(s): /tikz/fill between/@draw style={#2},% % @@ -431,7 +431,7 @@ \def\tikz@temp{#2}% \def\tikz@@temp{-}% \ifx\tikz@@temp\tikz@temp - % also accept minus signs without curly braces, i.e. + % also accept minus signs without curly braces, i.e. % L-2 instead of L{-2} \def\tikz@next{\tikz@isect@p@next@{#1}{#2}}% \else @@ -517,7 +517,7 @@ \let\pgfpointlastofsetpath=\pgfutil@empty \else \if1\b@tikz@select@all% - % ok... select the *entire* path. + % ok... select the *entire* path. % #1 = A|B : \expandafter\let\expandafter\pgfretval\csname tikz@path@segments@\tikz@path@ab\endcsname \else diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex index 26c80cbe799..28783b3ab5d 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007-2013 by Christian Feuersänger. @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -44,7 +44,6 @@ \input pgfplots.paths.code.tex - \usetikzlibrary{decorations,decorations.pathmorphing,decorations.pathreplacing} % FIXME: reduce number of variables! @@ -74,7 +73,10 @@ \newif\ifpgfplots@warn@for@filter@discards \newif\ifpgfplots@isuniformtick \newif\ifpgfplotsplothandlermesh@patch@type@sampling -\newif\ifpgfplots@clip@limits +\newif\ifpgfplots@clip@limits@compatmode +\newif\ifpgfplots@clip@limits@x +\newif\ifpgfplots@clip@limits@y +\newif\ifpgfplots@clip@limits@z \newif\ifpgfplots@clip \newif\ifpgfplots@plot@coords@mathparser \pgfplots@plot@coords@mathparsertrue @@ -135,6 +137,7 @@ \newif\ifpgfplots@has@cell@picture \newif\ifpgfplots@substitute@pgfpoint \newif\ifpgfplots@LUA@backend@supported +\newif\ifpgfplots@threedim@log@sampling \newif\ifpgfplots@collect@firstplot@astick \newif\ifpgfplots@units@use @@ -164,7 +167,7 @@ \def\pgfplots@label@upgrade@warning{% \ifpgfplots@threedim - \pgfplotswarning{center lines upgrade required}\pgfeov% + \pgfplotswarning{center lines upgrade required}\pgfeov% \global\let\pgfplots@label@upgrade@warning=\relax \fi }% @@ -217,7 +220,7 @@ % \pgfplotswarning{cycle list size limit reached}\pgfeov % \breakforeach % \fi - %-------------------------------------------------- + %-------------------------------------------------- % \pgfutil@ifnextchar\pgfplots@EOI{% \pgfplots@gobble@until@EOI @@ -319,9 +322,9 @@ \begingroup \edef\pgfkeyscurrentkey{#1}% \pgfkeyssplitpath - \pgfplots@warning{Loading deprecated style option - \pgfkeyscurrentpath/\pgfkeyscurrentname. - Please replace '\string\tikzstyle{\pgfkeyscurrentname}' + \pgfplots@warning{Loading deprecated style option + \pgfkeyscurrentpath/\pgfkeyscurrentname. + Please replace '\string\tikzstyle{\pgfkeyscurrentname}' with '\string\pgfplotsset{\pgfkeyscurrentname/.style={}}' (or '\string\pgfplotsset{\pgfkeyscurrentname/.append style={}}').}% \endgroup @@ -390,7 +393,7 @@ % Does the work for '[xyz]ticklabel pos'. % % #1: the axis (x,y or z). -% #2: the key argument. Accepts +% #2: the key argument. Accepts % 'lower', % 'upper', % 'default' -> depends on 'tick pos' @@ -516,7 +519,7 @@ \def\pgfplots@colormap@catcodemagic{colormap} \pgfplots@command@to@string\pgfplots@colormap@catcodemagic\pgfplots@colormap@catcodemagic -% checks for +% checks for % - <known list> % - [<elements> of]<known list> % POSTCONDITION: @@ -601,7 +604,7 @@ % remove spaces from ##1 and ##2: \pgfkeys@spdef\pgfplots@loc@TMPa{##1}% \pgfkeys@spdef\pgfplots@loc@TMPb{##2}% - % + % % check if the argument is known: \pgfkeysifdefined{/pgfplots/point meta/\pgfplots@loc@TMPa/.@cmd}{% \def\pgfplots@loc@TMPc{% @@ -649,7 +652,7 @@ \edef\pgfplots@color@of@colormap@value{\pgfplots@color@of@colormap@value}% \pgfkeys@spdef\pgfplots@color@of@colormap@name{#2}% } -% defines +% defines % - \pgfmathresult to be the resulting color. % - \pgfplots@color@of@colormap@name the name of the colormap \def\pgfplots@color@of@colormap@define#1{% @@ -783,7 +786,7 @@ \fi }, % 'activate layers=false' is the same as 'set layers=none'. - % However, 'activate layers=true' does not work unless a 'set layers' + % However, 'activate layers=true' does not work unless a 'set layers' % has been installed as well. /pgfplots/activate layers/.is if=pgfplots@layered@graphics, /pgfplots/activate layers/.default=true, @@ -1105,7 +1108,7 @@ /pgfplots/axis type/.belongs to family=/pgfplots/scale, /pgfplots/@expected axis cs/.initial=cart, /pgfplots/every rectangle axis/.style={}, - % + % % see \pgfplotsdefinecstransform{<from>}{<to>}{<code>} /pgfplots/data cs/.initial=cart,% the coordinate system of provided data. Will be transformed to the axis' internal coordinate system (@expected axis cs). % @@ -1186,7 +1189,7 @@ % % this here used to be the default up to (and including) pgfplots 1.13. % But it does not support the following use cases: - % * 'colormap access=const', + % * 'colormap access=const', % * 'colorbar style={ytick=data}}' % * CMYK shadings % -> deprecated. @@ -1352,7 +1355,7 @@ \c@pgf@countd=\pgfplotscolormaplastindexof{\pgfplots@CM}\relax \edef\pgfplots@colorcount{\the\c@pgf@countd}% \advance\c@pgf@countd by-1 % - % XXX : this here is tailored for use with + % XXX : this here is tailored for use with % * 'colormap access=const' and % * 'sample for=const' % where the last color is redundant and must not be @@ -1717,8 +1720,6 @@ /pgfplots/ytick pos/right/.belongs to family=/pgfplots/tick, /pgfplots/ytick pos/both/.code ={\def\pgfplots@ytickposnum{0}}, /pgfplots/ytick pos/both/.belongs to family=/pgfplots/tick, - /pgfplots/ytick pos/top/.style={/pgfplots/ytick pos/right}, - /pgfplots/ytick pos/bottom/.style={/pgfplots/ytick pos/left}, /pgfplots/ytick pos=both, /pgfplots/ztick pos/.is choice, /pgfplots/ztick pos/.belongs to family=/pgfplots/tick, @@ -1728,8 +1729,6 @@ /pgfplots/ztick pos/right/.belongs to family=/pgfplots/tick, /pgfplots/ztick pos/both/.code ={\def\pgfplots@ztickposnum{0}}, /pgfplots/ztick pos/both/.belongs to family=/pgfplots/tick, - /pgfplots/ztick pos/top/.style={/pgfplots/ztick pos/right}, - /pgfplots/ztick pos/bottom/.style={/pgfplots/ztick pos/left}, /pgfplots/ztick pos=both, /pgfplots/tickpos/.style={ /pgfplots/xtick pos={#1}, @@ -1761,11 +1760,11 @@ % This feature is more or less deprecated. % The choice 'auto' should always use 'near ticklabel'. % - % Choices are + % Choices are % 'auto' (value 0), - % 'near ticklabel' (value 1), + % 'near ticklabel' (value 1), % 'tikz' (value 2) - % with values stored in \pgfplots@ticklabel@anchor@[xyz] + % with values stored in \pgfplots@ticklabel@anchor@[xyz] /pgfplots/xticklabel anchor/.code={\pgfplots@setticklabel@anchor@for x{#1}}, /pgfplots/xticklabel anchor/.belongs to family=/pgfplots/tick, /pgfplots/yticklabel anchor/.code={\pgfplots@setticklabel@anchor@for y{#1}}, @@ -2009,22 +2008,22 @@ \draw[% /pgfplots/mesh=false,% % reset bar options. This is to address the strange - % backwards compatibility handling implemented by + % backwards compatibility handling implemented by % \pgfplots@install@local@bar@handlers (see its docs). % This should not hurt at all since 'line legend' is % unsuitable for bar plots anyway. - bar width=3pt,% + bar width=3pt,% bar shift=0pt,% % mark repeat=2,% - mark phase=2,##1] + mark phase=2,##1] plot coordinates { - (0cm,0cm) + (0cm,0cm) (0.3cm,0cm) (0.6cm,0cm)% };% }% - }, + }, /pgfplots/line legend/.style/.code={\pgfplots@error{This style is supposed to be constant.}},% /pgfplots/line legend/.append style/.code={\pgfplots@error{This style is supposed to be constant.}},% /pgfplots/line legend, @@ -2070,10 +2069,26 @@ }% },% /tikz/trim axis right/.style={/pgfplots/trim axis right}, - /pgfplots/clip limits/.is if=pgfplots@clip@limits, - /pgfplots/clip limits/.default=true, + /pgfplots/clip limits compat/.is if=pgfplots@clip@limits@compatmode, + /pgfplots/clip limits if compat/.code={ + \ifpgfplots@clip@limits@compatmode + \else + \pgfkeysalso{#1}% + \fi + }, + /pgfplots/clip xlimits/.is if=pgfplots@clip@limits@x, + /pgfplots/clip xlimits/.default=true, + /pgfplots/clip ylimits/.is if=pgfplots@clip@limits@y, + /pgfplots/clip ylimits/.default=true, + /pgfplots/clip zlimits/.is if=pgfplots@clip@limits@z, + /pgfplots/clip zlimits/.default=true, + /pgfplots/clip limits/.style={ + /pgfplots/clip xlimits={#1},% + /pgfplots/clip ylimits={#1},% + /pgfplots/clip zlimits={#1},% + }, /pgfplots/clip limits=true, - /pgfplots/clip limits/.belongs to family=/pgfplots, + %/pgfplots/clip limits/.belongs to family=/pgfplots, /pgfplots/clip/.is if=pgfplots@clip, /pgfplots/clip/.default=true, /pgfplots/clip=true, @@ -2260,7 +2275,7 @@ \edef\pgfplots@loc@TMPa{#3}% \expandafter\pgfplots@loc@TMPc\pgfplots@loc@TMPa\relax },% - % -> keeps only the nth point, all other ones will get ''. + % -> keeps only the nth point, all other ones will get ''. /pgfplots/each nth point/.style={/pgfplots/each nth point*={x}{#1}},% % #1: the filter name: x, y, z, or something exotic like hist/data % #2: the N of 'each nth' @@ -2300,8 +2315,8 @@ /pgfplots/xfilter/.initial=,% DEPRECATED /pgfplots/yfilter/.initial=,% DEPRECATED /pgfplots/zfilter/.initial=,% DEPRECATED - % interpretation: - % if 'samples at'==empty && 'domain' == empty + % interpretation: + % if 'samples at'==empty && 'domain' == empty % use tikz option processing! % else if 'samples at' == empty % use 'domain' @@ -2319,7 +2334,7 @@ /pgfplots/variable/.code={\pgfkeysalso{/tikz/variable={#1}}}, /pgfplots/variable y/.initial=\y,% /pgfplots/sample dim/.initial=auto, - % and provide aliases in the '/pgfplots/' tree to avoid + % and provide aliases in the '/pgfplots/' tree to avoid % search path problems just for the following options: /pgfplots/name/.code={\pgfkeysalso{/tikz/name={#1}}}, /pgfplots/overlay/.code={\pgfkeysalso{/tikz/overlay={#1}}}, @@ -2328,7 +2343,7 @@ /pgfplots/prefix/.code={\pgfkeysalso{/tikz/prefix={#1}}}, /pgfplots/raw gnuplot/.code={\pgfkeysalso{/tikz/raw gnuplot={#1}}}, /pgfplots/parametric/.code={\pgfkeysalso{/tikz/parametric={#1}}},% - % + % /pgfplots/width/.initial=,% /pgfplots/width/.belongs to family=/pgfplots, /pgfplots/height/.initial=,% @@ -2401,7 +2416,7 @@ /pgfplots/scale uniformly strategy/auto, /pgfplots/scale uniformly warning/.is if=pgfplots@scaleuniformly@warning, /pgfplots/scale uniformly warning=false, - % number of iterations for the nonlinear method involved + % number of iterations for the nonlinear method involved /pgfplots/scale uniformly strategy iter/.initial=9, /pgfplots/allow reversal of rel axis cs/.is if=pgfplots@allow@reversal@of@rel@axis@cs,% /pgfplots/allow reversal of rel axis cs/.default=true,% @@ -2631,7 +2646,7 @@ /pgfplots/disablelogfilter y/.default=true, /pgfplots/disablelogfilter z/.is if=pgfplots@disablelogfilter@z, /pgfplots/disablelogfilter z/.default=true, - /pgfplots/disablelogfilter/.style={ + /pgfplots/disablelogfilter/.style={ /pgfplots/disablelogfilter x=#1, /pgfplots/disablelogfilter y=#1, /pgfplots/disablelogfilter z=#1, @@ -3157,9 +3172,9 @@ % % 'nodes near coords=<content of node>'. % The content is by default \pgfmathprintnumber\pgfplotspointmeta. - % - % Use 'point meta=y' after 'nodes near coords' to typeset the y coordinates - % Use 'point meta=x' to typeset the x coordinates + % + % Use 'point meta=y' after 'nodes near coords' to typeset the y coordinates + % Use 'point meta=x' to typeset the x coordinates /pgfplots/nodes near coords/.style={% /pgfplots/scatter/@pre marker code/.code={},% /pgfplots/scatter/@post marker code/.code={},% @@ -3221,7 +3236,7 @@ \fi % ok, place the node. \expandafter\node\expandafter[\pgfplots@nodes@near@coords@align,% - /pgfplots/every node near coord] + /pgfplots/every node near coord] {% \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @issymbolic\endcsname% % point meta=explicit symbolic @@ -3402,7 +3417,7 @@ /pgf/bar shift={% % total width = n*w + (n-1)*skip % -> subtract half for centering - -0.5*(\numplotsofactualtype*\pgfplotbarwidth + (\numplotsofactualtype-1)*(#1)) + + -0.5*(\numplotsofactualtype*\pgfplotbarwidth + (\numplotsofactualtype-1)*(#1)) + % the '0.5*w' is for centering (.5+\plotnumofactualtype)*\pgfplotbarwidth + \plotnumofactualtype*(#1)},% }, @@ -3419,7 +3434,7 @@ #1shift={% % total width = n*w + (n-1)*skip % -> subtract half for centering - -0.5*(\numplotsofactualtype*(#1) + (\numplotsofactualtype-1)*(#2)) + + -0.5*(\numplotsofactualtype*(#1) + (\numplotsofactualtype-1)*(#2)) + % the '0.5*w' is for centering (.5+\plotnumofactualtype)*(#1) + \plotnumofactualtype*(#2)% },% @@ -3430,6 +3445,7 @@ bar cycle list, xtick align=outside, ybar legend, + clip limits if compat={clip ylimits=false}, /pgfplots/set point meta if empty=f(x),% /pgfplots/bar shift auto={#1}, /pgfplots/error bars/draw error bar/.code 2 args={% @@ -3466,6 +3482,7 @@ bar direction=x, bar cycle list, ytick align=outside, + clip limits if compat={clip xlimits=false}, /pgfplots/xbar legend, /pgfplots/set point meta if empty=x,% /pgfplots/bar shift auto={#1}, @@ -3496,6 +3513,7 @@ bar cycle list, x tick label as interval, xmajorgrids, + clip limits if compat={clip ylimits=false}, xtick align=outside, xtick=data, ybar interval legend, @@ -3516,6 +3534,7 @@ ymajorgrids, ytick align=outside, xbar interval legend, + clip limits if compat={clip xlimits=false}, bar interval width={#1/\numplotsofactualtype}, bar interval shift={(\plotnumofactualtype+0.5)/\numplotsofactualtype}, /tikz/xbar interval, @@ -3527,6 +3546,7 @@ bar direction=x, bar cycle list, single xbar legend, + clip limits if compat={clip xlimits=false}, stack plots=x, stack dir=#1, /tikz/xbar, @@ -3539,6 +3559,7 @@ bar direction=y, bar cycle list, single ybar legend, + clip limits if compat={clip ylimits=false}, stack plots=y, stack dir=#1, /tikz/ybar, @@ -3551,6 +3572,7 @@ bar direction=x, /pgfplots/set point meta if empty=x,% bar cycle list, + clip limits if compat={clip xlimits=false}, single xbar legend, stack plots=x, stack dir=#1, @@ -3563,6 +3585,7 @@ /pgfplots/set point meta if empty=f(x),% bar cycle list, single ybar legend, + clip limits if compat={clip ylimits=false}, stack plots=y, stack dir=#1, /tikz/ybar interval, @@ -3593,7 +3616,7 @@ /pgfplots/plot graphics/zmin/.initial=, /pgfplots/plot graphics/zmax/.initial=, % - % a) to provide a bounding box: points={(0,1) (0,2)} + % a) to provide a bounding box: points={(0,1) (0,2)} % or b) to squeeze the graphics into internal image coordinates: % points={(0,1,0) => (0,4) (0,0,1) => (40,600)} % or c) both of them. @@ -3608,7 +3631,7 @@ % % this command key should defined \pgfmathresult to be % \pgfmathresult -> {{<wd>}{<ht>}} - % where <wd> is the natural width of the input image and + % where <wd> is the natural width of the input image and % <ht> is the natural height. % The input image file name is available as 'plot graphics/src'. % The default implementation invoked 'lowlevel draw={}{}' and @@ -3812,7 +3835,7 @@ % % Set the shader used for surface plots. % RULES: - % 1. meshmode == 'm' (mesh): + % 1. meshmode == 'm' (mesh): % This means we use "shader/flat" to determine the colors % and ignore fill colors. % 2. meshmode == 's' (surf): @@ -4008,7 +4031,7 @@ /pgfplots/colormap uniform/always/.code={\def\pgfplots@colormap@uniform@choice{0}}, /pgfplots/colormap uniform/if requested/.code={\def\pgfplots@colormap@uniform@choice{1}}, /pgfplots/colormap uniform/always, - % + % % #1: a number X with 0<= x <=0.9 which defines the relative size % of the extra interval used for 'colormap access=piecewise constant' % The value #1=0 disables the extra interval. @@ -4177,7 +4200,7 @@ /pgfplots/scatter/@post marker code/.prefix code={\endscope}% }% % Now:remember the classes. - \pgfkeyssetvalue{/pgfplots/scatter/classes/values}{#1}% + \pgfkeyssetvalue{/pgfplots/scatter/classes/values}{#1}% % % and generate legend items for every single class, % But ONLY if we really *have* a plot which uses @@ -4268,6 +4291,9 @@ /pgfplots/cube/size x=\pgfplotmarksize, /pgfplots/cube/size y=\pgfplotmarksize, /pgfplots/cube/size z=\pgfplotmarksize, + % + /pgfplots/3d log sampling/.is if=pgfplots@threedim@log@sampling, + % /pgfplots/trig format/.style={/pgf/trig format={#1}}, /pgfplots/xtick placement tolerance/.initial=0.05pt, /pgfplots/ytick placement tolerance/.initial=0.05pt, @@ -4306,6 +4332,7 @@ /pgfplots/compat/anchors/1.12/.style= {/pgfplots/compat/anchors/1.3},% /pgfplots/compat/anchors/1.13/.style= {/pgfplots/compat/anchors/1.3,/pgfplots/correct polar positioning=true},% /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/default/.style={/pgfplots/compat/anchors/1.3},% % /pgfplots/compat/empty line/.is choice, @@ -4323,6 +4350,7 @@ /pgfplots/compat/empty line/1.12/.style= {/pgfplots/compat/empty line/1.4},% /pgfplots/compat/empty line/1.13/.style= {/pgfplots/compat/empty line/1.4},% /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/default/.style= {/pgfplots/compat/empty line/1.4},% % /pgfplots/compat/path replacement/.is choice, @@ -4340,6 +4368,7 @@ /pgfplots/compat/path replacement/1.12/.style= {/pgfplots/compat/path replacement/1.5.1}, /pgfplots/compat/path replacement/1.13/.style= {/pgfplots/compat/path replacement/1.5.1}, /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/default/.style= {/pgfplots/compat/path replacement/pre 1.3},% % /pgfplots/compat/pgfpoint substitution/.is choice, @@ -4357,6 +4386,7 @@ /pgfplots/compat/pgfpoint substitution/1.12/.style= {/pgfplots/compat/pgfpoint substitution/1.11}, /pgfplots/compat/pgfpoint substitution/1.13/.style= {/pgfplots/compat/pgfpoint substitution/1.11}, /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/default/.style= {/pgfplots/compat/pgfpoint substitution/pre 1.3},% %ellipse/.is if=pgfplots@path@replace@ellipse, % @@ -4384,7 +4414,8 @@ /pgfplots/compat/labels/1.12/.style= {/pgfplots/compat/labels/1.8},% /pgfplots/compat/labels/1.13/.style= {/pgfplots/compat/labels/1.8},% /pgfplots/compat/labels/1.14/.style= {/pgfplots/compat/labels/1.8},% - /pgfplots/compat/labels/default/.style= {/pgfplots/compat/labels/pre 1.3},% maintain backwards compatibility + /pgfplots/compat/labels/1.15/.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, /pgfplots/compat/bar nodes/pre 1.3/.style={% @@ -4436,7 +4467,8 @@ },% },% /pgfplots/compat/bar nodes/1.14/.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/1.15/.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, % % search for the \pgfplots@compat@scaling@coordmath -- using float @@ -4468,6 +4500,7 @@ /pgfplots/compat/scaling/1.12/.style={/pgfplots/compat/scaling/1.6}, /pgfplots/compat/scaling/1.13/.style={/pgfplots/compat/scaling/1.6}, /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/default/.style={/pgfplots/compat/scaling/1.4}, % /pgfplots/compat/scale mode/.is choice, @@ -4485,6 +4518,7 @@ /pgfplots/compat/scale mode/1.12/.style={/pgfplots/compat/scale mode/1.6}, /pgfplots/compat/scale mode/1.13/.style={/pgfplots/compat/scale mode/1.6}, /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/default/.style={/pgfplots/compat/scale mode/1.5}, % % @@ -4503,6 +4537,7 @@ /pgfplots/compat/plot3graphics/1.12/.style= {/pgfplots/compat/plot3graphics/1.6},% /pgfplots/compat/plot3graphics/1.13/.style= {/pgfplots/compat/plot3graphics/1.6},% /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/default/.style= {/pgfplots/compat/plot3graphics/1.5},% % % ATTENTION: there is a compatibility issue which slipped through @@ -4522,9 +4557,9 @@ % Consequently, I cannot introduce compatibity switches without % loosing compatibility. % - % I chose to keep the correct unary minus sign. If you ever want + % I chose to keep the correct unary minus sign. If you ever want % to revert to the old version in order to keep spacing intact, use - % + % % \pgfkeys{/pgf/compat/number printer=2.10} % % Risk: the size of such tick labels changed and the @@ -4547,6 +4582,7 @@ /pgfplots/compat/bar width by units/1.12/.style= {/pgfplots/compat/bar width by units/1.7}, /pgfplots/compat/bar width by units/1.13/.style= {/pgfplots/compat/bar width by units/1.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/default/.style={/pgfplots/compat/bar width by units/pre 1.3}, % /pgfplots/compat/BB/.is choice, @@ -4564,6 +4600,7 @@ /pgfplots/compat/BB/1.12/.style= {/pgfplots/compat/BB/1.8},% /pgfplots/compat/BB/1.13/.style= {/pgfplots/compat/BB/1.8},% /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/default/.style={/pgfplots/compat/BB/pre 1.3}, % /pgfplots/compat/general/.is choice, @@ -4577,6 +4614,8 @@ /pgfplots/compat/library hook={statistics}{/pgfplots/boxplot/estimator=legacy,/pgfplots/boxplot/ensure mark=false}, /pgfplots/colorbar pgfshading, /pgfplots/colorbar=false, + /pgfplots/3d log sampling=false, + /pgfplots/clip limits compat=true, },% /pgfplots/compat/general/1.3/.style= {/pgfplots/compat/general/pre 1.3}, /pgfplots/compat/general/1.4/.style= {/pgfplots/compat/general/pre 1.3},% @@ -4615,6 +4654,11 @@ %/pgfplots/colorbar sampled={surf,shader=interp,samples=2}, %/pgfplots/colorbar=false, },% + /pgfplots/compat/general/1.15/.style= {% + /pgfplots/compat/general/1.14, + /pgfplots/3d log sampling=true, % FIXME finish this feature: see unittest_log_sampling_3d + /pgfplots/clip limits compat=false, + },% /pgfplots/compat/general/default/.style={/pgfplots/compat/general/1.11}, % /pgfplots/enable tick line clipping/.is if=pgfplots@enable@tick@line@clipping, @@ -4632,7 +4676,7 @@ /pgfplots/compat/show suggested version/.is if=pgfplots@show@suggested@version, /pgfplots/compat/show suggested version=true, /pgfplots/compat/current/.initial=, - /pgfplots/compat/mostrecent/.initial=1.14, + /pgfplots/compat/mostrecent/.initial=1.15, /utils/exec={% \pgfplotsutilforeachcommasep{% /pgfplots/compat/current,% @@ -4761,6 +4805,18 @@ },% } +\def\pgfplots@glob@TMPa#1{% + \pgfkeys{% + /pgfplots/#1tick pos/lower/.style={/pgfplots/#1tick pos=left}, + /pgfplots/#1tick pos/bottom/.style={/pgfplots/#1tick pos=left}, + /pgfplots/#1tick pos/upper/.style={/pgfplots/#1tick pos=right}, + /pgfplots/#1tick pos/top/.style={/pgfplots/#1tick pos=right}, + }% +}% +\pgfplots@glob@TMPa x% +\pgfplots@glob@TMPa y% +\pgfplots@glob@TMPa z% + \def\pgfplots@ticklabel@typeset@arg#1{\pgfkeysvalueof{/pgfplots/typeset ticklabel/.@cmd}{#1}\pgfeov}% % backwards compatibility: @@ -4773,7 +4829,7 @@ \global\let\pgfplots@colorbar@draw@legacyimpl=\pgfplots@loc@TMPa \endgroup -% call +% call % \pgfkeyslet{.../.@cmd}\pgfplots@cant@set@in@this@context % to replace a key with a generic error message. \def\pgfplots@cant@set@in@this@context#1\pgfeov{\pgfplots@cant@set@in@this@context@} @@ -4924,7 +4980,7 @@ % Prepare special alignment features here. % % The idea is to: - % 1. Declare a local COORDINATE SYSTEM to place labels, + % 1. Declare a local COORDINATE SYSTEM to place labels, % the 'ticklabel cs' for the current axis. % It takes 1-2 arguments where the first is the coordinate on the % ticklabel axis (between 0 and 1). The second is an optional shift orthogonal to @@ -4943,7 +4999,7 @@ \pgfkeyslet{/tikz/sloped/orig/.@cmd}\pgfplots@loc@TMPa \pgfkeysdef{/tikz/sloped}{\pgfkeysalso{/tikz/sloped like #1 axis={##1}}}% % - \node + \node [/pgfplots/every axis label,% /pgfplots/every axis #1 label] {#2}; @@ -4995,7 +5051,7 @@ % Draws outer axis lines, i.e. those which are on the bounding box. % This has an effect if and only if axis #1 lines!=center. -% +% % % Ok, we don't mind whether edges with thick lines look ugly. We just % draw separate lines. This here is necessary if we want arrow heads. @@ -5022,7 +5078,7 @@ \pgfplotspointonorientedsurfaceabsetupfor{#2}{#1}{\pgfplotspointonorientedsurfaceN}% \pgfplots@transformshift@along@outer@normal@on@line@of@oriented@surf 0v% \pgfplots@drawgridlines@onorientedsurf@fromto{\csname pgfplots@#2min\endcsname}% - \endpgfextra + \endpgfextra }; }{}% \pgfplots@ifaxisline@B@onorientedsurf@should@be@drawn{1}{% @@ -5032,7 +5088,7 @@ \pgfplotspointonorientedsurfaceabsetupfor{#2}{#1}{\pgfplotspointonorientedsurfaceN}% \pgfplots@transformshift@along@outer@normal@on@line@of@oriented@surf 1v% \pgfplots@drawgridlines@onorientedsurf@fromto{\csname pgfplots@#2max\endcsname}% - \endpgfextra + \endpgfextra }; }{}% % @@ -5079,7 +5135,7 @@ %{ (\pgfplots@xmax, \pgfplots@ymax) } { \pgfextra\pgfpathmoveto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}}\endpgfextra } \else - decorate [xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}] + decorate [xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}] %{ -- (\pgfplots@xmax, \pgfplots@ymax) } { \pgfextra\pgfpathlineto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}}\endpgfextra } \fi @@ -5087,7 +5143,7 @@ %{ (\pgfplots@xmax, \pgfplots@ymin) } { \pgfextra\pgfpathmoveto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymin}}\endpgfextra } \else - decorate [ydiscont,decoration={pre length=\ydisend, post length=\ydisstart}] + decorate [ydiscont,decoration={pre length=\ydisend, post length=\ydisstart}] %{ -- (\pgfplots@xmax, \pgfplots@ymin) } { \pgfextra\pgfpathlineto{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymin}}\endpgfextra } \fi @@ -5095,7 +5151,7 @@ %{ (\pgfplots@xmin, \pgfplots@ymin) } { \pgfextra\pgfpathmoveto{\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}}\endpgfextra } \else - decorate [xdiscont,decoration={pre length=\xdisend, post length=\xdisstart}] + decorate [xdiscont,decoration={pre length=\xdisend, post length=\xdisstart}] %{ -- (\pgfplots@xmin, \pgfplots@ymin) } { \pgfextra\pgfpathlineto{\pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}}\endpgfextra } \fi @@ -5203,7 +5259,7 @@ % } % } % to get the different indices into the cycle lists. - %-------------------------------------------------- + %-------------------------------------------------- \c@pgf@counta=\pgfplots@cycle@dim\relax \c@pgf@countb=\pgfplots@listindex\relax \advance\c@pgf@counta by-1 @@ -5235,7 +5291,7 @@ % =\pgfplots@listindex \if A\pgfplots@cycle@multi@list@repeat % 'cycle multiindex list' - % + % % ensure that we respect the maxlen of the list: \pgfplotsmathmodint{\pgfplots@listindex}{\pgfkeysvalueof{/pgfplots/cycle multi list/@maxlen}}% \let\pgfplots@listindex=\pgfmathresult @@ -5317,14 +5373,14 @@ % I need to apply anything which might be relevant for \addplot % here. % But I do NOT want \scope since this might already affect the low - % level output. + % level output. % % This here works: % 1. set them to activate plot handlers and parameters like % samples and domain: \tikzset{#1}% % - % 2. we need to remember all these options inside of + % 2. we need to remember all these options inside of % 'current plot style' -- otherwise, they would not appear % inside of legend images and markers. \pgfplotssurveyphaseaddoptionsbeforesurveybegins{#1}% @@ -5384,8 +5440,8 @@ \fi } \def\pgfplots@path@closed@cycle@std{% - |- (perpendicular cs: - vertical line through={(current plot begin)}, + |- (perpendicular cs: + vertical line through={(current plot begin)}, horizontal line through={(\pgfplots@ZERO@x,\pgfplots@ZERO@y)}) -- cycle }% @@ -5464,7 +5520,7 @@ % % In contrast to \path, \pgfplotsextra can contain any command(s). % -% Syntax: either +% Syntax: either % \pgfplotsextra{<argument>} % or % \pgfplotsextra <argument> \endpgfplotsextra @@ -5684,7 +5740,7 @@ % It is called within legend's cell pictures in order to undo global % settings like stroke colors or the-like. \def\pgfplots@restore@state@before@legend@style{% - \pgfsetfillcolor{black}% + \pgfsetfillcolor{black}% % disable the transformations of pgfplots. This is only used by % pgfplots-specific plot handlers which work only if used inside % of an axis... disable it. @@ -5731,7 +5787,7 @@ \pgfplots@transposelegend \fi % - % + % \begingroup \ifx\pgfplots@createlegend@toname\pgfutil@empty % ok, draw legend. @@ -5748,7 +5804,7 @@ \let##1=\pgfplotsretval }% \fi - % assemble a + % assemble a % \matrix { % small plot & legend1\\ % small plot & legend2\\ @@ -5763,7 +5819,7 @@ % } % ( I have allocated the token registers in my % liststructure.sty) - % + % % \global\def\pgfplots@glob@TMPa{ % \matrix { % \TOKL@TA @@ -5807,11 +5863,11 @@ % % and the legend image into \t@pgfplots@tokb: \t@pgfplots@tokb=\expandafter{\pgfplotsretval}% - % ok. Now, the + % ok. Now, the % - 'b' register contains the IMAGE and % - 'c' register contains the TEXT \ifcase\legendplotpos - % legend plot pos=left + % legend plot pos=left \edef\pgfplots@matrixentry{% \the\t@pgfplots@tokb \noexpand\pgfmatrixnextcell @@ -5933,7 +5989,7 @@ }% } -% Defines a new \label{#1}. When \ref{#1} is used, the code +% Defines a new \label{#1}. When \ref{#1} is used, the code % \csname #3#2\endcsname % will be invoked. % \pgfplots@label[<optional prefix>]{<label name>}{<command prefix>} @@ -5974,7 +6030,7 @@ % this is a work-around to support the mcaption class: it % simply remembers the label name and invokes \label later-on. % This appears to be wrong in this context: I want to generate - % a pgfplots label. + % a pgfplots label. % % If someone writes \label{fig:one}, that label will be % redeclared in the margin - which appears to be correct. And @@ -6162,7 +6218,7 @@ \def\bool@pgfplots@loc@enlargelimits@min{0}% \def\bool@pgfplots@loc@enlargelimits@max{0}% % - % we can either enlarge + % we can either enlarge % ... using a relative limit (like 0.1 -> 10%) \def\pgfplots@enlargelimits@relthresh{0.1}% the default % ...or an absolute limit ( like 4 units) @@ -6171,8 +6227,8 @@ % % Relative and absolute values are relatively simple: we only need to compute and % add the changes to the already existing limits. The value with - % an absolute dimension is surprisingly complicated. - % + % an absolute dimension is surprisingly complicated. + % % The problem is: enlargelimits has to be computed before the % image has been scaled into its final size. This is not merely a % technical problem; this is how one wants it to be! @@ -6227,7 +6283,7 @@ % This here needs a different treatment because "enlarge x limits={abs=1cm}" % has to be applied AFTER the scaling is complete. To this end, it is % applied as the very last scaling step. It is applied after any post -% scales, and it only modifies axis limits. +% scales, and it only modifies axis limits. % % #1: x,y, or z % #2: 1 if the lower limit shall be enlarged, 0 if not @@ -6242,10 +6298,10 @@ \let\pgfplots@enlargelimits@absdimension@y=\pgfutil@empty \let\pgfplots@enlargelimits@absdimension@z=\pgfutil@empty -% Called as soon as the scaling is completely set up and any +% Called as soon as the scaling is completely set up and any % "enlarge #1 limits={abs=1cm}" % enlargements shall be done, i.e. enlargement by unit. -% +% % #1: x,y, or z \def\pgfplots@scaling@apply@enlargelimits@by@dimension#1{% \expandafter\ifx\csname pgfplots@enlargelimits@absdimension@#1\endcsname\pgfutil@empty @@ -6261,19 +6317,19 @@ }% -% PRECONDITION: +% PRECONDITION: % 1. width/height are set % 2. the unit vectors point indicate whether the axis is a standard % box or some skewed plot (their precise direction and magnitude is % irrelevant) -% 3. the enlargelimits code has already evaluated the case +% 3. the enlargelimits code has already evaluated the case % "enlargelimits={abs=1cm}" % % POSTCONDITION: % width and/or height might be modified \def\pgfplots@scaling@changewidthheight@for@enlargelimits@by@dimension{% \ifpgfplots@enlargelimits@respect@figure@size - % + % % decide if we need to do anything at all, i.e. if there IS % some option 'enlarge * limits={abs=1cm}' : \pgfplots@loc@tmpfalse @@ -6328,9 +6384,9 @@ \def\pgfplots@loc@TMPc{{1}{1}}% % % ah - we really *have* a standard boxed axis. - % Compute + % Compute % newwidth = width - enlargevalue - % newheight = height - enlargevalue + % newheight = height - enlargevalue % % newwidth will be stored in \pgfplots@loc@TMPa % and newheight in \pgfplots@loc@TMPb @@ -6383,7 +6439,7 @@ \fi } -% this here applies changes required for 'enlarge #1 limits={abs=1cm}', i.e. +% this here applies changes required for 'enlarge #1 limits={abs=1cm}', i.e. % for the case of numbers with units. % % The main difference is that it is applied AFTER the scaling of the @@ -6451,7 +6507,7 @@ \edef\enlargeabsolute{\pgf@sys@tonumber{\pgf@xb}}% \fi \ifdim\pgf@xb>0.001pt - % the case with + % the case with % enlargeabsolute ~= 0 % means that \pgfplots@@min ~= \pgfplots@@max. % It is handled in another method. @@ -6654,7 +6710,7 @@ \ifx\pgfplots@data@zmin\pgfplots@invalidrange@zmax \global\let\pgfplots@data@zmax=\pgfplots@zmax \fi - \ifpgfplots@clip@limits + \ifpgfplots@clip@limits@x \else % there is a rare change that min > max. % Handle that ... @@ -6662,11 +6718,17 @@ \global\let\pgfplots@xmin=\pgfmathresult \pgfplotscoordmath{x}{max}{\pgfplots@xmin}{\pgfplots@xmax}% \global\let\pgfplots@xmax=\pgfmathresult + \fi + \ifpgfplots@clip@limits@y + \else % \pgfplotscoordmath{y}{min}{\pgfplots@ymin}{\pgfplots@ymax}% \global\let\pgfplots@ymin=\pgfmathresult \pgfplotscoordmath{y}{max}{\pgfplots@ymin}{\pgfplots@ymax}% \global\let\pgfplots@ymax=\pgfmathresult + \fi + \ifpgfplots@clip@limits@z + \else % \ifpgfplots@threedim \pgfplotscoordmath{z}{min}{\pgfplots@zmin}{\pgfplots@zmax}% @@ -6684,7 +6746,7 @@ % This method finishes the accumulated information of axis limits and % all internal flag fields. % -% PRECONDITION: +% PRECONDITION: % - all plots are finally finished; axis and data limits are known. % % POSTCONDITION: @@ -6750,6 +6812,9 @@ \global\let\pgfplots@firstplot@coords@z=\pgfutil@empty % \pgfplots@limits@ready + % + \pgfplots@set@options@after@survey1% + % \pgfplotspoint@initialisation % % @@ -6792,7 +6857,7 @@ \def\pgfplots@init@axis@shift{% \pgfplotsforeachentryinCSV{\pgfplots@loc@TMPa}{x,y,z}{% - % check if 'axis #1 line shift' is set and non-zero. + % check if 'axis #1 line shift' is set and non-zero. \expandafter\pgfplots@if@has@axis@shift\pgfplots@loc@TMPa{% \pgfkeysgetvalue{/pgfplots/axis \pgfplots@loc@TMPa\space line shift}\pgfplots@loc@TMPb \pgfmathparse{\pgfplots@loc@TMPb}% @@ -6839,7 +6904,7 @@ \pgfplots@separate@axis@linestrue \fi \fi - % + % % normalize the value - no need to parse it over and over again: \pgfkeyslet{/pgfplots/axis \pgfplots@loc@TMPa\space line shift}\pgfplots@loc@TMPb }{}% @@ -6883,10 +6948,25 @@ \expandafter\def\csname pgfplots@#1ticklabel\endcsname{\axisdefaultticklabel}% }{% \expandafter\def\csname pgfplots@#1ticklabel\endcsname{\axisdefaultticklabellog}% - }% + }% \fi \expandafter\ifx\csname pgfplots@extra@#1ticklabel\endcsname\pgfutil@empty - \pgfutil@namelet{pgfplots@extra@#1ticklabel}{pgfplots@#1ticklabel}% + \pgfutil@namelet{pgfplots@loc@TMPa}{pgfplots@#1ticklabel}% + \pgfutil@namelet{pgfplots@loc@TMPb}{pgfplots@user@ticklabel@list@#1}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb + % Ah - someone used '#1ticklabels' (or its friends). + % these are bound to specific positions and make no sense in this context. + \pgfplots@if{pgfplots@#1islinear}{% + \expandafter\def\csname pgfplots@extra@#1ticklabel\endcsname{\axisdefaultticklabel}% + }{% + \expandafter\def\csname pgfplots@extra@#1ticklabel\endcsname{\axisdefaultticklabellog}% + }% + \else + % inherit the global argument of '#1ticklabel' -- it will probably contain generic code to + % typeset labels at any positions. + % The "probably" is a buest-guess, though... + \pgfutil@namelet{pgfplots@extra@#1ticklabel}{pgfplots@#1ticklabel}% + \fi \fi % \if0\csname pgfplots@#1axislinesnum\endcsname\else @@ -7114,7 +7194,7 @@ % Note that the shift in T is not of interest, we only deal with % T_a(x) = 10^{s_a} x. % -% Thus, this routine invokes #3 if +% Thus, this routine invokes #3 if % ( 10^{s1} * veclen1 < 10^{s2} * veclen2 ) % <=> % ( 10^{s1-s2} * veclen1 < veclen2 ). @@ -7300,7 +7380,7 @@ \pgfpointintersectionoflines {\origin} {\pgfpointadd{\origin}{% - \innerdiagonal\global\pgf@x=0sp + \innerdiagonal\global\pgf@x=0sp \pgfplots@assert@not@zero{\pgf@y}{y axis has eyy=0; cannot compute above origin anchor}% }% }% @@ -7741,7 +7821,7 @@ % Defines a new axis type `#1' with initialization code `#2'. -% +% % The name #1 will be available as value for 'axis type=#1' and % furthermore, an environment '\begin{#1axis}' will be available. % @@ -7952,7 +8032,7 @@ % have called % \pgfplots@draw@axis again. % The difference is in the - % \pgfplotsifaxissurfaceisforeground checks. + % \pgfplotsifaxissurfaceisforeground checks. % Furthermore, I have removed the case distinctions for % the different axis line combinations. %\if10 @@ -8110,7 +8190,7 @@ % - 'vv0' 'vv1' % - 'v0v' 'v1v' % ' '0vv' '1vv' -% +% % @see \pgfplotspointonorientedsurfaceabmatchaxisline for details % about those three-character ids. % @@ -8142,9 +8222,9 @@ % % The operation is relatively fast. \def\pgfplots@decide@which@figure@surfaces@are@drawn{% - \expandafter\def\csname pgfplots@surfviewdepth@2vv\endcsname{f}% - \expandafter\def\csname pgfplots@surfviewdepth@v2v\endcsname{f}% - \expandafter\def\csname pgfplots@surfviewdepth@vv2\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@2vv\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@v2v\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@vv2\endcsname{f}% \ifpgfplots@threedim \pgfplotsmathvectortocomponents\pgfplots@view@dir@threedim{pgfplots@loc@}{default}% % respect reversed axes here. If I am not mistaken, it should @@ -8153,35 +8233,35 @@ \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{f}% foreground \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{b}% background }{% - \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}% - \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}% + \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}% }% \pgfplotscoordmath{default}{if is}{\pgfplots@loc@y}{\if\pgfkeysvalueof{/pgfplots/y dir/value}n+\else-\fi}{% \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{f}% foreground \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{b}% background }{% - \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}% - \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}% + \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}% }% \pgfplotscoordmath{default}{if is}{\pgfplots@loc@z}{\if\pgfkeysvalueof{/pgfplots/z dir/value}n+\else-\fi}{% \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{f}% foreground \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{b}% background }{% - \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}% - \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}% + \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}% }% \else % FIXME : it might be better to implement that stuff here % implicilty using the 3D algorithms. % % this here is the only important one: - \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}% + \expandafter\def\csname pgfplots@surfviewdepth@vv0\endcsname{b}% % - \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}% - \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}% - \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}% - \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}% - \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@0vv\endcsname{b}% + \expandafter\def\csname pgfplots@surfviewdepth@1vv\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@v0v\endcsname{b}% + \expandafter\def\csname pgfplots@surfviewdepth@v1v\endcsname{f}% + \expandafter\def\csname pgfplots@surfviewdepth@vv1\endcsname{f}% \def\pgfplotsifaxislineisonconvexhull##1##2##3{##2}% ALWAYS TRUE \def\pgfplots@ifaxisline@B@onorientedsurf@should@be@drawn@##1##2##3{##2}% ALWAYS TRUE % @@ -8189,7 +8269,7 @@ } % Initialises the 'pgfplots@[xyz]ticklabelaxisspecs' macro according to -% the foreground/background situation of the axis and the '[xyz]ticklabel pos' +% the foreground/background situation of the axis and the '[xyz]ticklabel pos' % keys. \def\pgfplots@init@ticklabelaxisspec{% \ifpgfplots@threedim @@ -8229,14 +8309,14 @@ % It does NOT work outside of it. % % It initialises the 'pgfplots@#1ticklabelaxisspec' macro according to -% the foreground/background situation of the axis and the '#1ticklabel pos' +% the foreground/background situation of the axis and the '#1ticklabel pos' % key. % % #1: the axis: x,y or z % #2: either x or y. It refers to the PROJECTED coordinate which -% should be used to compare the 'lower' and 'upper' arguments of the +% should be used to compare the 'lower' and 'upper' arguments of the % |[xyz]ticklabel pos| key. -% +% % PRECONDITION: % \pgfplots@tmp@center[xy] is set. % @@ -8286,7 +8366,7 @@ % }{% % \pgfplots@error{INTERNAL ERROR}% % }% - %-------------------------------------------------- + %-------------------------------------------------- % Decide whether the '{0.5}{1}{0}' point is above or below % the {0.5}{0.5}{0.5} point. Again, the '<' operation is based % on the '#1ticklabel pos' key, the projection and #2. @@ -8350,7 +8430,7 @@ % \expandafter\def\csname pgfplots@#1tickposnum\endcsname{3}% set to 'right' % \fi % \fi - %-------------------------------------------------- + %-------------------------------------------------- \if l\csname pgfplots@#1ticklabel@pos\endcsname \expandafter\edef\csname pgfplots@#1ticklabelaxisspec\endcsname{\pgfplots@loc@to@threedim 1}% \fi @@ -8372,7 +8452,7 @@ % Processes every tick mark in direction #1 and draws tick lines, tick % labels, grid lines, axis lines and extra ticks. -% +% % #1 : the direction into which tick positions are processed. % #2 : the direction in which tick lines and grid lines shall be drawn. % #3 : the direction which is currently fixed. @@ -8500,7 +8580,7 @@ % certainly use a different style for axis labels than the default 2d % style. % -% Thus, all style changes which are relevant for 'every 3d description' +% Thus, all style changes which are relevant for 'every 3d description' % have NOT YET been processed (they have been appended to 'every axis'). \def\pgfplots@BEGIN@prepare@description@styles{% \ifpgfplots@threedim @@ -8521,7 +8601,7 @@ % Shortcut for '\pgfplotsset{set layers={#1}}'. -% +% % USAGE: % 1. \pgfplotssetlayers{<layer config name>} (one declared with /.define layer set) % 2. \pgfplotssetlayers (no braces) @@ -8545,7 +8625,7 @@ % - a \pgfsetlayers{<list>} is issued (immediately) % - '/pgfplots/@set layers arg' is defined such that any following axes can initialized their layers. \def\pgfplots@key@set@layers#1{% - % + % % auto detect if '#1' is a defined layer set: \pgfkeysifdefined{#1/list}{% \def\pgfkeyscurrentname{#1}% @@ -8704,10 +8784,10 @@ % The purpose of this method is to check for the cases where no cell picture is necessary. % The idea behind this anchor is to insert the axis DIRECTLY into the embedding tikzpicture, without -% a posteriori shifting. +% a posteriori shifting. % % A posteriori shifting == anchors whose dimensions are not fixed -% until the complete axis has been "typeset". +% until the complete axis has been "typeset". % % Disabling the cell picture will still prepare ALL anchors correctly, % but it disables many of the anchor choices when it comes to the @@ -8733,7 +8813,7 @@ % % FIXME : do we need to renormalize this here? apparently % not... - %\def\pgfplots@anchorname{image}% + %\def\pgfplots@anchorname{image}% % \let\pgfplots@BEGIN@cell@picture=\pgfplots@BEGIN@cell@picture@DISABLED \let\pgfplots@END@cell@picture=\pgfplots@END@cell@picture@DISABLED @@ -8741,10 +8821,10 @@ \let\pgfplots@finally@correct@child@node@positions=\relax % % translate the coordinate system before the 'current axis' - % node is generated. + % node is generated. \expandafter\def\expandafter\pgfplots@beforenode\expandafter{\pgfplots@beforenode \setbox\pgfnodepartimagebox=\hbox{}% - }% + }% }% } @@ -8782,7 +8862,7 @@ \pgfplots@sys@beforenode % create a leight-weight 'current axis' node for anchor references % (which may happen during both, the axis descriptions or any - % path/plot commands). + % path/plot commands). \pgfmultipartnode{pgfplots@low@level@shape@INNER}{image}{current axis}{\pgfusepath{discard}}% \endgroup }% @@ -8860,7 +8940,7 @@ % % % \pgfplotspointorigininternal: - % used for anchor=<some node inside of the axis> and for + % used for anchor=<some node inside of the axis> and for % 'cell picture=true' in order to correct remembered node positions: \xdef\pgfplotspointorigininternal{\global\pgf@x=\the\pgf@picminx\space\global\pgf@y=\the\pgf@picminy\space}% % @@ -9026,12 +9106,12 @@ % - 00v % - 0v0 % - v00 - % so, use + % so, use % 010 (01v) 011 % 011 (0v1) 001 % 001 (v01) 101 % 101 (10v) 100 - % 100 (1v0) 110 + % 100 (1v0) 110 % 110 (v10) 011 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmin}{\pgfplots@ymax}{\pgfplots@zmin}}% @@ -9050,10 +9130,10 @@ % - 00v % - 0v1 % - v01 - % so, use + % so, use % 010 (01v) 011 - % 011 (v11) 111 - % 111 (1v1) 101 + % 011 (v11) 111 + % 111 (1v1) 101 % 101 (10v) 100 % 100 (v00) 000 % 000 (0v0) 010 (cycle) @@ -9077,11 +9157,11 @@ % - 0v0 % - v10 % so, use - % 000 (00v) 001 - % 001 (0v1) 011 - % 011 (v11) 111 - % 111 (11v) 110 - % 110 (1v0) 100 + % 000 (00v) 001 + % 001 (0v1) 011 + % 011 (v11) 111 + % 111 (11v) 110 + % 110 (1v0) 100 % 100 (v00) 000 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmin}{\pgfplots@ymin}{\pgfplots@zmin}}% @@ -9101,11 +9181,11 @@ % - 0v1 % - v11 % so, use - % 000 (00v) 001 - % 001 (v01) 101 - % 101 (1v1) 111 - % 111 (11v) 110 - % 110 (v10) 010 + % 000 (00v) 001 + % 001 (v01) 101 + % 101 (1v1) 111 + % 111 (11v) 110 + % 110 (v10) 010 % 010 (0v0) 000 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmin}{\pgfplots@ymin}{\pgfplots@zmin}}% @@ -9129,11 +9209,11 @@ % - 1v0 % - v00 % So, use - % 110 (11v) 111 - % 111 (1v1) 101 - % 101 (v01) 001 - % 001 (00v) 000 - % 000 (0v0) 010 + % 110 (11v) 111 + % 111 (1v1) 101 + % 101 (v01) 001 + % 001 (00v) 000 + % 000 (0v0) 010 % 010 (v10) 110 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymax}{\pgfplots@zmin}}% @@ -9152,11 +9232,11 @@ % - 1v1 % - v01 % So, use - % 110 (11v) 111 - % 111 (v11) 011 - % 011 (0v1) 001 - % 001 (00v) 000 - % 000 (v00) 100 + % 110 (11v) 111 + % 111 (v11) 011 + % 011 (0v1) 001 + % 001 (00v) 000 + % 000 (v00) 100 % 100 (1v0) 110 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymax}{\pgfplots@zmin}}% @@ -9177,11 +9257,11 @@ % - 1v0 % - v10 % So, use - % 100 (10v) 101 - % 101 (1v1) 111 - % 111 (v11) 011 - % 011 (01v) 010 - % 010 (0v0) 000 + % 100 (10v) 101 + % 101 (1v1) 111 + % 111 (v11) 011 + % 011 (01v) 010 + % 010 (0v0) 000 % 000 (v00) 100 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymin}{\pgfplots@zmin}}% @@ -9200,11 +9280,11 @@ % - 1v1 % - v11 % So, use - % 100 (10v) 101 - % 101 (v01) 001 - % 001 (0v1) 011 - % 011 (01v) 010 - % 010 (v10) 110 + % 100 (10v) 101 + % 101 (v01) 001 + % 001 (0v1) 011 + % 011 (01v) 010 + % 010 (v10) 110 % 110 (1v0) 100 (cycle) \def\pgfplots@clippath@install##1{% \pgfpathmoveto{\pgfplotsqpointxyz{\pgfplots@xmax}{\pgfplots@ymin}{\pgfplots@zmin}}% @@ -9219,7 +9299,7 @@ }% }% }% - + \else \pgfplotsqpointxy{\pgfplots@xmin}{\pgfplots@ymin}% \edef\pgfplots@loc@TMPa{\global\pgf@x=\the\pgf@x\space\global\pgf@y=\the\pgf@y\space}% @@ -9329,9 +9409,9 @@ }% \def\pgfplots@clippath@install@test{\pgfusepath{clip}}% -% This is the main part of the implementation for +% This is the main part of the implementation for % 'clip bounding box=upper bound' : it collects the bounding box of everything inside of -% the clipped area. Then in the associated \endscope, it clips that bounding box to the expected +% the clipped area. Then in the associated \endscope, it clips that bounding box to the expected % clip path -- and protocols that size. \def\pgfplots@clippath@install@BB@upper@bound{% \tikzset{ @@ -9747,17 +9827,17 @@ {\pgfplots@evalute@tikz@coord@system@interface@x[]}% } -% In case of (semi-) logplots, this command will +% In case of (semi-) logplots, this command will % - assign a filter which invokes \pgfmathlog@{} for each coordinate % - replace any user-specified coordinate by its log. % % All subsequent commands will then work with logarithmic coordinates. % -% PRECONDITION: -% - The user input options have been set correctly, +% PRECONDITION: +% - The user input options have been set correctly, % - the options have been set, but are not applied % -% POSTCONDITION: +% POSTCONDITION: % - any user input has been parsed % - any user input for log-axis has been replaced by its log if % necessary @@ -9779,9 +9859,9 @@ \expandafter\edef\csname pgfplots@prepare@#1coord\endcsname##1{% % do not expand it here - might contain unexpandable % material which is processed by the #1 coord trafo: - % FIXME : this might produce an endless loop if ##1 = \pgfmathresult! + % FIXME : this might produce an endless loop if ##1 = \pgfmathresult! \noexpand\def\noexpand\pgfmathresult{##1}% - % this becomes + % this becomes \expandafter\noexpand\csname pgfplots@highlevel@trafo@#1\endcsname{##1}\noexpand\pgfeov % % ensure that it is expanded. @@ -9911,7 +9991,7 @@ % % generate default ticks in the 'log basis', not base 10: \pgfplotsset{/pgfplots/log basis ticks=#1}% - % + % \ifdim\pgfkeysvalueof{/pgfplots/log basis #1}pt=10pt \else \pgfplots@identify@log@minor@tick@posfalse @@ -10061,7 +10141,7 @@ \else \pgfplots@show@label{y}{\pgfplots@label@}% \fi - \fi + \fi \fi \ifpgfplots@threedim \ifpgfplots@hide@z @@ -10140,7 +10220,7 @@ % \pgfnodealias{parent axis}{current axis}% % - % FIXME : + % FIXME : % I would really prefer to find a different way to move these % variables out of the current scope. But expansion leads to % mistakes with '#' characters ... :-( @@ -10248,7 +10328,7 @@ \noexpand\expandafter \noexpand\gdef\noexpand\csname pgfplots@colorbar@to@name@\pgfplots@colorbar@toname\endcsname{\the\toks0}}% \xdef#1{}% NOP. - % + % % make sure \ref{<colorbarname>} works: \pgfplots@label{\pgfplots@colorbar@toname}{pgfplots@colorbar@to@name@}% \fi @@ -10291,7 +10371,7 @@ \def\pgfplots@loc@TMPa{cmyk}% \ifx\pgfplots@loc@TMPa\pgfplotsretval \pgfutil@ifundefined{pgfplots@colorbar@CMYK@\pgfplots@loc@TMPb}{% - \pgfplotswarning{colorbar CMYK unsupported}{\pgfplots@loc@TMPb}\pgfeov% + \pgfplotswarning{colorbar CMYK unsupported}{\pgfplots@loc@TMPb}\pgfeov% \expandafter\gdef\csname pgfplots@colorbar@CMYK@\pgfplots@loc@TMPb\endcsname{1}% }{}% \def\b@pgfplots@colorbar@fallback@to@sampled{1}% @@ -10330,7 +10410,7 @@ \pgfplotsset{% /pgfplots/every axis plot post/.append code={% \ifpgfplots@collect@firstplot@astick - % Oh! Someone wrote 'ytick=data. We want the precise positions. + % Oh! Someone wrote 'ytick=data. We want the precise positions. % % Note that this check needs to be done late: it must % be after \begin{axis} -- and since many colorbar @@ -10494,16 +10574,16 @@ % Parses all options in #1 which are known in the currently active families. % -% The result will be stored back into the TikZ-style named #1 without +% The result will be stored back into the TikZ-style named #1 without % further processing. % % Example: % \tikzstyle{every axis}=[xmin=0,xmax=1,line width=1pt % \pgfplots@set@keys@from@tikz@style\tmpmacro{every axis}{/pgfplots} -% +% % - sets axis options 'xmin' and 'xmax' % - calls \tikzstyle{every axis}={line width=1pt} -% +% % I assume that this method is called within local TeX groups so % nothing will be destroyed outside. % @@ -10755,7 +10835,7 @@ % \pgfplots@set@options@of@layered@graphics % - % Now, any 'name' and 'alias' options have been processed. + % Now, any 'name' and 'alias' options have been processed. % % Remember their current meaning and reset the tikz options! \let\pgfplots@fig@name=\tikz@fig@name @@ -10824,7 +10904,7 @@ % \pgfkeysactivatefamily{/pgfplots}% % \pgfplots@set@keys@from@tikz@style{every axis plot}% % \pgfkeysdeactivatefamily{/pgfplots}% - %-------------------------------------------------- + %-------------------------------------------------- % % Attention: do NOT set the description styles here! Setting them % must be postponed until |every 3d description| has been set (to @@ -10874,7 +10954,7 @@ \pgfkeysifdefined{/tikz/on layer}{}{% % make sure assignments 'on layer' in the /tikz/ prefix % doesn't hurt. - % this may happen, for example with + % this may happen, for example with % 'x grid style={on layer=...}' % because 'x grid style' is not processed by the key filtering % above (it is extracted later). @@ -10939,7 +11019,7 @@ \pgfkeysifdefined{/tikz/name path/.@cmd}{% % 'name path' does not work inside of a pgfplots axis because % pgfplots unnecessarily introduces extra \scopes around each path :-/ - % it needs to be 'name path global'. + % it needs to be 'name path global'. % PATCH IT: \pgfkeysgetvalue{/tikz/name path global/.@cmd}\pgfplots@loc@TMPa% \ifx\pgfplots@loc@TMPa\pgfplots@name@path@global@cmd@pgf@two@ten @@ -11089,7 +11169,7 @@ % % This macro is used inside for \label{} / \ref{}; it tries to be % reasonable smart about restoring relevant flags stored in a pgfplots -% axis. If it forgets something... well, it is not too smart. +% axis. If it forgets something... well, it is not too smart. % % #1: the style to export. % #2: either empty or the fully qualified name of a code key. If #2 is not empty, @@ -11101,7 +11181,7 @@ % The exported routine autodetects whether the result is used inside of % a picture. In that case, the '#2' style will be set inside of a % scope instead of \tikz[#2]. -% +% % Assembles a macro \pgfplotsretval which, upon execution, draws the % plot style. % @@ -11189,9 +11269,9 @@ % The implementation for \label{foo} after \addplot. It allows to % \ref{foo} (it inserts the 'legend image code'). % -% With +% With % \addplot[scatter/classes={a={}}] ... ; -% \label[a]{my label} +% \label[a]{my label} % you can reference scatter/classes labels. % % I only need to overwrite '\label'; the rest is done by LaTeX. @@ -11231,7 +11311,7 @@ % % b) \protect . If the resulting \ref{} command occurs within % a "moving argument" like \caption or so, we need to use - % proper '\protect'ion. + % proper '\protect'ion. % % this here is the low-level implementation of \ref{#3}. Write it into % the .aux file: @@ -11265,14 +11345,14 @@ }% }% -% A helper method which defines +% A helper method which defines % `/tikz/current plot style' to be {#1} --- with properly set key % search paths. \def\pgfplots@define@currentplotstyle@as#1{% \pgfkeysdef{/tikz/current plot style}{% \pgfplots@search@also@tikz % - % Make sure that + % Make sure that % \addplot[every mark/.append style={...}] % or something like that is interpreted as /tikz/ key: \pgfplots@invoke@pgfkeyscode{/handler config/full or existing/.@cmd}{}% restrict @@ -11410,13 +11490,16 @@ \pgfplotsutil@directlua{% pgfplots.gca = pgfplots.Axis.new(); pgfplots.gca.is3d = \pgfplots@boolval{pgfplots@threedim}; - pgfplots.gca.clipLimits = \pgfplots@boolval{pgfplots@clip@limits}; + pgfplots.gca.clipLimits = { + \pgfplots@boolval{pgfplots@clip@limits@x}, + \pgfplots@boolval{pgfplots@clip@limits@y}, + \pgfplots@boolval{pgfplots@clip@limits@z} }; pgfplots.gca.autocomputeAllLimits = \pgfplots@boolval{pgfplots@autocompute@all@limits}; - pgfplots.gca.autocomputeMin = { + pgfplots.gca.autocomputeMin = { \pgfplots@boolval{pgfplots@autocompute@xmin}, \pgfplots@boolval{pgfplots@autocompute@ymin}, \pgfplots@boolval{pgfplots@autocompute@zmin} }; - pgfplots.gca.autocomputeMax = { + pgfplots.gca.autocomputeMax = { \pgfplots@boolval{pgfplots@autocompute@xmax}, \pgfplots@boolval{pgfplots@autocompute@ymax}, \pgfplots@boolval{pgfplots@autocompute@zmax} }; @@ -11449,14 +11532,14 @@ % until \end{axis}. During the collect phase, axis limits will be % computed. % -% The following variables are accummulated between +% The following variables are accummulated between % \begin{axis} % and % \end{axis}: % % - \pgfplots@[xyz]min % \pgfplots@[xyz]max -% - These denote the axis limits. +% - These denote the axis limits. % - They are always assigned globally. % - For linear axes, they will be computed in floating point. % - For log axes, they will be computed using pgf math engine. @@ -11550,11 +11633,11 @@ % (including the 'pt' suffix). % % - \ifpgfplots@curplot@threedim -% - valid during an '\addplot' preparation step. +% - valid during an '\addplot' preparation step. % - \ifpgfplots@threedim % - whether the axis shall be threedimensional. % -% - \pgfplots@currentplot@firstcoord@[xyz] +% - \pgfplots@currentplot@firstcoord@[xyz] % - \pgfplots@currentplot@lastcoord@[xyz] % - contains the first/last coordinate of the current plot. % - assigned globally. @@ -11747,16 +11830,38 @@ \pgfkeyslet{/pgfplots/on layer}\pgfutil@empty } -\def\pgfplots@set@options@after@survey{% - \pgfkeyssetvalue{/pgfplots/xmin}{\pgfplots@xmin}% - \pgfkeyssetvalue{/pgfplots/ymin}{\pgfplots@ymin}% - \pgfkeyssetvalue{/pgfplots/zmin}{\pgfplots@zmin}% - \pgfkeyssetvalue{/pgfplots/point meta min}{\pgfplots@axiswide@metamin}% +% #1 if and only if the limits are already ready (sanitized to bounded +% values and transformed) +\def\pgfplots@set@options@after@survey#1{% + \def\pgfplots@set@options@after@survey@@##1{% + \edef\pgfmathresult{\csname pgfplots@##1min\endcsname}% + \if1#1% + \pgfplotscoordmath{##1}{datascaletrafo inverse}{\pgfmathresult}% + \pgfplotscoordmath{##1}{tofixed}{\pgfmathresult}% + \else + % might be unbounded... + \pgfplotscoordmath{##1}{tostring}{\pgfmathresult}% + \fi + \pgfkeyslet{/pgfplots/##1min}\pgfmathresult + % + \edef\pgfmathresult{\csname pgfplots@##1max\endcsname}% + \if1#1% + \pgfplotscoordmath{##1}{datascaletrafo inverse}{\pgfmathresult}% + \pgfplotscoordmath{##1}{tofixed}{\pgfmathresult}% + \else + % might be unbounded... + \pgfplotscoordmath{##1}{tostring}{\pgfmathresult}% + \fi + \pgfkeyslet{/pgfplots/##1max}\pgfmathresult + }% + \pgfplots@set@options@after@survey@@ x% + \pgfplots@set@options@after@survey@@ y% + \ifpgfplots@threedim + \pgfplots@set@options@after@survey@@ z% + \fi % - \pgfkeyssetvalue{/pgfplots/xmax}{\pgfplots@xmax}% - \pgfkeyssetvalue{/pgfplots/ymax}{\pgfplots@ymax}% - \pgfkeyssetvalue{/pgfplots/zmax}{\pgfplots@zmax}% - \pgfkeyssetvalue{/pgfplots/point meta max}{\pgfplots@axiswide@metamax}% + \pgfkeyslet{/pgfplots/point meta min}{\pgfplots@axiswide@metamin}% + \pgfkeyslet{/pgfplots/point meta max}{\pgfplots@axiswide@metamax}% }% % \end{axis} : @@ -11778,7 +11883,7 @@ % \pgfplotssurveyphase@setactiveplothandlers % - \pgfplots@set@options@after@survey + \pgfplots@set@options@after@survey0% \expandafter\pgfplotsset\expandafter{\pgfplots@late@options}% % \pgfplots@prepare@layered@graphics @@ -11848,7 +11953,7 @@ % \pgfplots@create@axis@descriptions % - % this here does \endtikzpicture\endpgfinterruptpicture + % this here does \endtikzpicture\endpgfinterruptpicture % (and stores sizes): \pgfplots@END@cell@picture % @@ -11862,7 +11967,7 @@ \def\pgfplots@loc@TMPa##1{% \pgftransformshift{% % So far, the inner node's position has not been - % corrected (that happens in + % corrected (that happens in % \pgfplots@finally@correct@child@node@positions). % Do that here with \pgfplots@saveddimen@picminx: \pgfpointdiff @@ -11965,9 +12070,9 @@ { \pgf@sys@tonumber\pgf@yx, \pgf@sys@tonumber\pgf@yy }, { \pgf@sys@tonumber\pgf@zx, \pgf@sys@tonumber\pgf@zy } });^^J% \ifpgfplots@threedim - axis.viewdir = { + axis.viewdir = { pgfplots.pgftonumber("\pgfplots@loc@x"), - pgfplots.pgftonumber("\pgfplots@loc@y"), + pgfplots.pgftonumber("\pgfplots@loc@y"), pgfplots.pgftonumber("\pgfplots@loc@z") };^^J% \fi }% @@ -12073,6 +12178,7 @@ % expanded, i.e. it can be a macro. \def\pgfplots@stored@plotlist@visualize@selected@phases#1{% \begingroup + \def\pgfplotsaxisplotphase{V}% \pgfplotsonlayer{\pgfkeysvalueof{/pgfplots/on layer}}{a plot or graphical element (or inherited from the axis)}% \pgfkeysvalueof{/pgfplots/execute at begin plot visualization}% \ifpgfplots@threedim @@ -12239,7 +12345,7 @@ \pgfplots@polarxy@#2\@@% \else% \pgfplots@polarxy@#2and #2\@@% - \fi% + \fi% \pgfmathparse{#1}% \let\pgfpoint@angle=\pgfmathresult% \pgfmathcos@{\pgfpoint@angle}% @@ -12264,8 +12370,8 @@ % see docs of \pgfplots@tikz@do@arc for a motivation: \pgfplots@disable@directionmath % - % ok, now, evaluate the arcs. Since this implements - % 'substitute pgfpoint', we have to evaluate the angles via + % ok, now, evaluate the arcs. Since this implements + % 'substitute pgfpoint', we have to evaluate the angles via % 'axis direction cs' ... \let\pgfpointxy=\pgfplotspointaxisdirectionxy \let\pgfpointxyz=\pgfplotspointaxisdirectionxyz @@ -12414,7 +12520,7 @@ }% % Replaces the pdfmark for #1 by that of #2. -% +% % Note that when this macro is executed (it resides in the .aux file), % the pdfmark for #2 is typically UNDEFINED. % @@ -12428,7 +12534,7 @@ % Ok, make a "lazy replace": \expandafter\let\expandafter\pgfplots@glob@TMPa\csname pgf@sys@pdf@mark@pos@#1\endcsname \expandafter\global\expandafter\let\csname pgf@sys@pdf@mark@pos@#1@old\endcsname=\pgfplots@loc@TMPa% - % + % \expandafter\gdef\csname pgf@sys@pdf@mark@pos@#1\endcsname{% % this is the lazy replace, assuming knowledge about how % pgf calls its internal structures :-/ diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex index 1e1f8c9a746..c836e1ea9e8 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007-2013 by Christian Feuersänger. @@ -13,17 +13,17 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % %-------------------------------------------- - + \def\pgfplots@markers@visphase@name@none{none}% \def\pgfplots@markers@visphase@name@afterpath@clipped{afterpath@clipped}% \def\pgfplots@markers@visphase@name@afterpath@unclipped{afterpath@unclipped}% @@ -137,7 +137,7 @@ % This sets the \iftikz@mode@draw etc: %\tikz@mode % FIXME: using 'color=blue' will NOT activate filltrue! - % So: if 'tikz@mode' *contains* 'fillfalse', I know what to do... + % So: if 'tikz@mode' *contains* 'fillfalse', I know what to do... % but all other cases are not clear %-------------------------------------------------- % \iftikz@mode@draw @@ -152,7 +152,7 @@ % % even if the markers likes to be filled: % \let\pgfusepathqfillstroke=\pgfusepathqstroke % \fi - %-------------------------------------------------- + %-------------------------------------------------- % % this here is the MAIN marker code. % It may be modified if scatter plot is enabled, see below. @@ -242,7 +242,7 @@ % check for clip marker paths: \pgfplotsaxisifcontainspoint{\pgfplots@markers@mark@handler@@{#1}}{}% \else - \pgfplots@markers@mark@handler@@{#1} + \pgfplots@markers@mark@handler@@{#1}% \fi }% @@ -365,4 +365,3 @@ \pgfkeyslet{/pgfplots/mark layer}\pgfutil@empty% \fi }% - diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex index 3108885c8e2..59068fa8d26 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex @@ -5,10 +5,10 @@ \catcode`\:=12 \catcode`\+=12 \catcode`\-=12 -\gdef\pgfplotsrevision{1.14} -\gdef\pgfplotsversion{1.14} -\gdef\pgfplotsversiondatetime{2016-08-10 20:41:40 +0200} -\gdef\pgfplotsrevisiondatetime{2016-08-10 20:41:40 +0200} +\gdef\pgfplotsrevision{1.15} +\gdef\pgfplotsversion{1.15} +\gdef\pgfplotsversiondatetime{2017-06-05 20:30:57 +0200} +\gdef\pgfplotsrevisiondatetime{2017-06-05 20:30:57 +0200} \gdef\pgfplots@glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3} \xdef\pgfplotsversiondate{\expandafter\pgfplots@glob@TMPa\pgfplotsversiondatetime\relax} \xdef\pgfplotsrevisiondate{\expandafter\pgfplots@glob@TMPa\pgfplotsrevisiondatetime\relax} diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex index 283650ac54d..e079bb6d46f 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007-2012 by Christian Feuersänger. @@ -13,21 +13,21 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % %-------------------------------------------- -% PRECONDITION: +% PRECONDITION: % - final axis limits are given in transformed range % - \pgfplots@set@default@size@options has been invoked before -% POSTCONDITION: +% POSTCONDITION: % - the current x,y and z unit vectors are defined properly; % - the fast-access registers are initialised for the axis limits, % - the following macros are assigned: @@ -190,18 +190,18 @@ } % Takes azimuth (horizontal angle) '#1' and elongation (vertical -% angle) '#2' (both in degrees) and computes +% angle) '#2' (both in degrees) and computes % x,y and z vectors which define the view in the direction % defined by '#1' and '#2'. % % 'azimuth' means a rotation around the viewport's x axis. 'elongation' means % a rotation around the original coordinate system's z axis. % -% The method works by computing +% The method works by computing % Az = [ cos(azimuth) -sin(azimuth) 0; ... % sin(azimuth) cos(azimuth) 0; ... % 0 0 1 ]; -% +% % % Ax = [ 1 0 0; ... % 0 cos(elevation) -sin(elevation) ;... @@ -213,7 +213,7 @@ % sinaz cosaz cosel -sinel cosaz; ... % 0 sinel cosel ]; % -% Then, we use the rotated XZ plane as viewport, that means +% Then, we use the rotated XZ plane as viewport, that means % xvec = v * [1 0 0]' = <first column of v> % zvec = v * [0 0 1]' = <third column of v> % and we define the projection onto the twodimensional surface @@ -230,7 +230,7 @@ % % Furthermore, the 3D view vector which points into the direction of the view % is -% n = v * [0 1 0 ]' = <second column of v> = [-sinaz cosel, cosaz cosel, sinel]' +% n = v * [0 1 0 ]' = <second column of v> = [-sinaz cosel, cosaz cosel, sinel]' % because the normal view point was the XZ plane with y as its normal % vector. % The 3D vector n is returned by this routine as well - it is @@ -241,7 +241,7 @@ % - #1 : azimuth ("yaw") % - #2 : elevation ("pitch") % OUTPUT: -% - #3 : a macro which will be set to '1' if and only if +% - #3 : a macro which will be set to '1' if and only if % the viewport is the standard XY axis (i.e. azimuth=0, elevation=90). % - [xyz] vectors, % \pgfplots@view@dir@threedim will contain the three components @@ -353,7 +353,7 @@ }% % Takes the current plot box, defined by the actual PGF x,y and z unit -% vectors, and re-scales it such that it fits into the +% vectors, and re-scales it such that it fits into the % width and height of the axis (as they have been provided by the % user). % @@ -373,7 +373,7 @@ % that the bounding box of the final image has width #1 and height #2. % % The relative length of the input vectors is important for the 3D case: it -% will be scaled as-is. +% will be scaled as-is. % % PRECONDITION % - the x, y and z unit vectors have been set to the proper @@ -384,7 +384,7 @@ % to the data transformation. % - the data transformation has ONLY been applied to the axis limits % (not other axis inputs). It may be changed by this method. -% +% % POSTCONDITION % - the unit vectors have been re-scaled such that the final plot % has the desired dimensions. @@ -419,7 +419,7 @@ % to respect the limits. % % This method ignores width/height; its purpose is only to make sure -% that [xmin,xmax] fits into the CURRENT plot box. +% that [xmin,xmax] fits into the CURRENT plot box. % % In this context, each unit vector is supposed to be scaled such that % width/height fit if xmin=0 and xmax=1. @@ -427,12 +427,12 @@ % #1 [output] a macro name which will contain the INVERSE scale for x % #2 [output] a macro name which will contain the INVERSE scale for y % #3 [output] a macro name which will contain the INVERSE scale for z -% +% \def\pgfplots@BB@for@plotbox@get@unit@scales@for@limits#1#2#3{% \if1\b@pgfplots@plotbox@xisunit % Consequently, we have to multiply with 1/(max-min): % compute 1/(xmax - xmin) in float for more recent versions (see /pgfplots/compat/scaling). - % I observed that it is much more accurate + % I observed that it is much more accurate \pgfmathsubtract@{\pgfplots@xmax}{\pgfplots@xmin}% \else \def\pgfmathresult{1}% @@ -491,7 +491,7 @@ % % the result of this call will be used to scale to target % dimensions. If we omit \pgftransformreset here, we might - % accidentally UNDO the PGF transformation matrix (compare by + % accidentally UNDO the PGF transformation matrix (compare by % writing \tikzpicture[scale=0.5] before the axis). \pgftransformreset % @@ -526,7 +526,7 @@ \def\pgfplots@scaleaxes@to@BB@prepare@plotbox@limits@#1{% \expandafter\ifx\csname pgfplots@#1\endcsname\pgfutil@empty - % Ah - we have no unit vector in this direction. + % Ah - we have no unit vector in this direction. \expandafter\def\csname pgfplots@plotbox@#1min\endcsname{0}% \expandafter\def\csname pgfplots@plotbox@#1max\endcsname{1}% \expandafter\def\csname b@pgfplots@plotbox@#1isunit\endcsname{1}% @@ -578,7 +578,7 @@ % \if3\pgfplots@scale@mode@choice % scale mode=scale uniformly - % + % % We need to recompensate in case the previous method chose % different unit scaling scalings: \pgfplots@BB@for@plotbox@get@unit@scales@compensated@axis@limits @@ -793,7 +793,7 @@ \fi }% -% Defines +% Defines % \pgfplots@target@unit@scale@xx % \pgfplots@target@unit@scale@xy % \pgfplots@target@unit@scale@yx @@ -905,7 +905,7 @@ }% \def\pgfplots@notify@final@scalings#1{% - \pgfkeys{/pgfplots/scaling/.cd, + \pgfkeys{/pgfplots/scaling/.cd, .unknown/.code={% %\message{setting key '\pgfkeyscurrentkey' to {##1}^^J} \pgfkeyssetvalue{\pgfkeyscurrentkey}{##1}% @@ -960,7 +960,7 @@ % % OUTPUT: % \pgfplots@target@datascaletrafo@x@exponent and its variants for y and z -% -> contains NEW datascaletrafo exponents +% -> contains NEW datascaletrafo exponents % \pgfplots@target@datascaletrafo@x@exponent@old and its variants for y and z % -> contains OLD datascaletrafo exponents % \pgfplots@target@unit@scale@inv@x and its variants for y and z @@ -980,7 +980,7 @@ \expandafter\pgfplots@loc@TMPa\pgfmathresult \pgf@xa=\csname pgfplots@target@limitrescale@#1\endcsname pt \ifdim\pgf@xa>5pt % - % We want to enlarge axis limits considerably! + % We want to enlarge axis limits considerably! % \pgfplots@scaling@adjust@datascaling@for@get@compensation{\pgf@xa}% % @@ -1004,8 +1004,8 @@ }% } -% Returns -% \pgfplotsretval -> the absolute scaling +% Returns +% \pgfplotsretval -> the absolute scaling % \pgfplotsretvalb -> the log10 of the scaling \def\pgfplots@scaling@adjust@datascaling@for@get@compensation#1{ \ifdim#1<100pt % @@ -1067,7 +1067,7 @@ % scale mode=none does not happen here \or % scale mode=stretch to fill - % + % % This is very simple: % % Compute individual scaling factors for X and Y @@ -1077,7 +1077,7 @@ % \pgfmathdivide@{\H}{\h}% \let\scaley=\pgfmathresult - % + % % no changes to the axis limits - we only rescale units. \def\pgfplots@target@limitrescale@x@{1}% \def\pgfplots@target@limitrescale@y@{1}% @@ -1094,7 +1094,7 @@ % scale -- but the axis limits can receive individual % compensation scales. But it should "look reasonable well". % - % currently, we have + % currently, we have % w = r_x e_xx + r_y e_yx + rz e_zx (with e_zx = 0 typically) % h = r_x e_xy + r_y e_yy + rz e_zy % @@ -1103,7 +1103,7 @@ % they are either 1 (relative coords) or % (xmax-xmin) (absolute coords). % - % Now, search for a set of real numbers + % Now, search for a set of real numbers % Rx, Ry, Rz, s % such that % W = (Rx r_x) (s e_xx) + (Ry r_y) (s e_yx) + (Rz r_z) (s e_zx) @@ -1124,7 +1124,7 @@ % bad: Rz will be less than 1, causing the limit to become % smaller. This, in turn, will clip away parts of the image. % - % + % % % Another solution is to make it the other way: to keep the % limit r_z, but to reduce the size and enlarge the other @@ -1184,17 +1184,17 @@ % 1. if a choice requires to REDUCE the axis limits in order to % fulfill all constraints, it is neglected (using maximal cost 16000). % Reducing axis limits may clip away information. -% +% % 2. if a choice requires to ENLARGE some axis limits, its cost is the % sum of the individual scaling factors (even if they are are one - % who cares). % % Note that this method *is* relevant and the optimization appears to -% be necessary. +% be necessary. % Examples are % unittest_scalemode_2d_standard_1.tex % and perhaps -% unittest_scalemode_2d_standard_0.tex +% unittest_scalemode_2d_standard_0.tex % and more involved 3d examples are also available. % % My first guess was that it is sufficient to decide the optimal @@ -1202,7 +1202,7 @@ % height - but that proved to be insufficient: it leads to correct % results, but wastes too much space (i.e. enlarges limits too much). % -% ATTENTION: the cost function INCLUDES RESULTS OF +% ATTENTION: the cost function INCLUDES RESULTS OF % \pgfplots@BB@for@plotbox@get@unit@scales@for@limits and its % corrector % \pgfplots@BB@for@plotbox@get@unit@scales@compensated@axis@limits. @@ -1210,16 +1210,16 @@ % More precisely, it relies on already computes limit compensation % factors which do not depend on the target width/target height: both % \pgfplots@BB@for@plotbox@get@unit@scales@compensated@axis@limits and -% this implementation of 'scale uniformly strategy' can be used to compute +% this implementation of 'scale uniformly strategy' can be used to compute % the cost of a strategy. -% +% \def\pgfplots@get@scale@horiz@and@vert@scaleuniformly@of@optimal@strategy{% \begingroup \def\mathclass{default}% \pgfplotscoordmath{\mathclass}{max limit}% \let\pgfplots@cost@for@choice@superhigh=\pgfmathresult% % - % private helpers to compute the cost. + % private helpers to compute the cost. \def\pgfplots@scalestrategy@compute@cost{% \begingroup % ATTENTION: this call changes @@ -1324,7 +1324,7 @@ \def\pgfplots@tostring@scaleuniformlystrategy#1{% % scale uniformly strategy: - \ifcase#1\relax + \ifcase#1\relax auto \or units only @@ -1419,7 +1419,7 @@ % Computes 'scale uniformly strategy=change horizontal limits'. % This is a complicated solution, see the documentation in the -% implementation for +% implementation for % 'scale mode=scale uniformly' % % #1 [output] a macro which will contain the (uniform) scale for the @@ -1471,7 +1471,7 @@ % % This is the (most stupid) nonlinear method which is at hand: % fix point iteration. - % choose R arbitrarily (R=1 seems adequate), solve for s. + % choose R arbitrarily (R=1 seems adequate), solve for s. % Then, fix s and solve for R. Then, fix R and % solve for s until convergence. \c@pgf@countc=0 @@ -1500,7 +1500,7 @@ }% % Computes 'scale uniformly strategy=change horizontal limits'. -% +% % This is a simplified closed solution assuming that e_xy=0 and e_yx = 0 % % #1 [output] a macro which will contain the (uniform) scale for the @@ -1510,7 +1510,7 @@ % #4 [output] a macro which will contain a x axis limit compensation scale \def\pgfplots@scaleuniformly@change@horizontal@limits@twodim#1#2#3#4{% \begingroup - % Assuming that we have a standard 2d axis, i.e. + % Assuming that we have a standard 2d axis, i.e. % e_zx = e_zy = 0, e_xy = 0, and e_yx =0, % we can immediately compute a solution. % @@ -1529,7 +1529,7 @@ % since this strategy changes horizontal limits (only), we have % Ry := 1. % We find - % s : = H/h + % s : = H/h % and % Rx : = W/w /s . % @@ -1583,7 +1583,7 @@ % This is part of the implementation of 'scale mode=scale uniformly'. % -% Its purpose it to set up the initial scaling such that +% Its purpose it to set up the initial scaling such that % 1. each unit vector gets the same scale % 2. the axis limits are resized (enlarged) to keep the plot box ratio % (as far as possible) @@ -1727,7 +1727,7 @@ % EXECUTABLE instructions which will modify the axis limits to fit the % scaling. % -% PRECONDITION: +% PRECONDITION: % - \pgfplots@glob@TMPa contains the already computed % scaling factor for 'scale uniformly' % - \pgf@xb is the actual height and \pgf@yb is the desired height @@ -1739,7 +1739,7 @@ % The strategy is as follows: % 1. I want to fit the axis into width #1 (\pgf@ya) and % height #1 (\pgf@yb). - % 2. I want to MAINTAIN the unit vector ratio. + % 2. I want to MAINTAIN the unit vector ratio. % 3. I want to MAINTAIN the unit vector directions. % % I already know the scaling factor to fit the width (it @@ -1760,7 +1760,7 @@ % % This strategy achieves this goal by % modifying axis limits for an axis whose unit vector is - % parallel to the canvas y axis, i.e. e_i = (0,*). + % parallel to the canvas y axis, i.e. e_i = (0,*). % % That means I have to introduce a SECOND scale s_z which % applies only to the Z unit vector (since e_z = (0,*) ). @@ -1771,13 +1771,13 @@ % => % s_z = ( H- s*r_x e_xy - s*r_y e_yy) / ( s * r_z * e_zy). % - % Remember that + % Remember that % s = \scalex % H = \H % h = r_x * e_xy + r_y * e_yy + r_z * e_zy = \h % => % s_z = ( H- s*( h - r_z * e_zy) ) / ( s * r_z * e_zy). - % + % \begingroup \pgfplots@BB@for@plotbox@getunitheight{\pgf@xc}{#1}% % @@ -1925,7 +1925,7 @@ % \node[draw,fill=white] at (axis cs:0,0,0) {}; % }, % } -% +% % \def\v{30} % \foreach \h in {30,120,210,300} { % \message{VIEW={\h}{\v}^^J} @@ -1934,9 +1934,9 @@ % \addplot3[surf] {x}; % \end{axis} % \end{tikzpicture} -% +% % } -% +% % \def\v{-30} % \foreach \h in {30,120,210,300} { % \message{VIEW={\h}{\v}^^J} @@ -1945,16 +1945,16 @@ % \addplot3[surf] {x}; % \end{axis} % \end{tikzpicture} -% +% % } -%-------------------------------------------------- +%-------------------------------------------------- % The precise formulas can be found below in the source code. % % You can override this function by the /pgfplots/view dir key. \def\pgfplotsgetnormalforcurrentview{% \pgfkeysgetvalue{/pgfplots/view dir}\pgfplots@loc@TMPc \ifx\pgfplots@loc@TMPc\pgfutil@empty - \begingroup + \begingroup % temporarily undo the effects of reversed axes -- we *really* % need a right-handed-coordinate system here: \if r\pgfkeysvalueof{/pgfplots/x dir/value}% @@ -1972,7 +1972,7 @@ % FIRST: check for special cases. \let\pgfplots@view@dir@threedim=\pgfutil@empty% % Special case: - % e_xx = e_xy = 0 + % e_xx = e_xy = 0 % % i.e.: % @@ -1981,7 +1981,7 @@ % z | | % |---| % y-> - % + % % In this case, N must be the x axis. \ifdim\pgf@xx=0pt % \ifdim\pgf@xy=0pt % @@ -1989,7 +1989,7 @@ \fi \fi % Special case: - % e_yx = e_yy = 0 + % e_yx = e_yy = 0 % % i.e.: % @@ -1998,7 +1998,7 @@ % z | | % |---| % x-> - % + % % In this case, N must be the y axis. \ifdim\pgf@yx=0pt % \ifdim\pgf@yy=0pt % @@ -2008,8 +2008,8 @@ % Special case: % e_xy = e_yy = 0 (i.e. one row) % - % that is hard to draw, use view={30}{0} to see it. - % + % that is hard to draw, use view={30}{0} to see it. + % % In this case, N_z must be 0 and we have a different system. \ifdim\pgf@xy=0pt % \ifdim\pgf@yy=0pt % @@ -2218,7 +2218,7 @@ % The axes 'x' and 'y' vectors will be scaled such that the total % size is (\axisdefaultwidth, \axisdefaultheight). % - % If the user specifies ONE of width OR height, + % If the user specifies ONE of width OR height, % the plot will be resized; keeping the aspect ratio. % \let\pgfplots@default@aspect@ratio=\pgfutil@empty @@ -2248,7 +2248,7 @@ % H := 'height' option non-empty % % W H - % 0 0 -> \axisdefaultwidth + % 0 0 -> \axisdefaultwidth % 0 1 -> determine width out of H and the default aspect ratio % 1 X -> ok, use the user parameter. % -> KEEP ASPECT RATIO if just one W, or H is given! @@ -2488,7 +2488,7 @@ \pgfplots@apply@unit@ratio@find@reference% \fi % - % FIXME : I could spent some attention here to save work: + % FIXME : I could spent some attention here to save work: % both, unit ratios and the resulting scales are computed at % least twice (once in \pgfplots@apply@unit@ratio@find@reference and once in the % following). @@ -2553,7 +2553,7 @@ % This macro determines the reference axis for unit vector rescaling. % The reference axis remains unscaled (it gets scaling factor 1 if you % want it this way). -% +% % The other axes are scaled such that the desired unit vector ratios % are fulfilled. % @@ -2627,7 +2627,7 @@ % That is the case if s_a <= 1 && s_b <= 1. % We check % (1 - s_a >= 0 ) && ( 1 - s_b >= 0 ) - % instead, since I need the value + % instead, since I need the value % max( 1-s_a, 1-s_b ) % anyway. \def\pgfplots@ref@is@feasible{1}% @@ -2671,16 +2671,16 @@ \else % 2D is much simpler: find the scale s which fulfills s <= 1. % One of them MUST fulfill it. - % + % % try 'x' axis as reference: \def\pgfplots@apply@unit@ratio@reference{x}% % % renormalize: \expandafter\pgfplots@apply@unit@ratio@prepareratios\pgfplots@unit@vector@ratio\pgfplots@EOI % - % compute scaling factor: + % compute scaling factor: \pgfplots@getscale@unit@vector@reltoreference y\pgfplots@unit@ratio@y% - % + % %\message{^^Junit vector ratio 2D searching reference: checking \pgfplots@apply@unit@ratio@reference. feasable=\pgfmathresult < 1: \ifdim\pgfmathresult pt <\pgfplots@ONE YES-> use x\else NO->use y\fi^^J}% % and check (1). The condition (2) is irrelevant; it is met % anyway. @@ -2823,21 +2823,21 @@ % PRECONDITION: % - the #1 unit vector has been rescaled by a factor s. % For example, e_xnew := e_x * 0.5 . -% +% % POSTCONDITION: -% - the axis limits are enlarged by a factor 1/s such that +% - the axis limits are enlarged by a factor 1/s such that % 1/s (#1max - #1min) * e_xnew = (#1max- #1min) * e_x. % % In other words, the unit vector rescale is componensated by % modifying the axis limits: we want to add an absolute component 'd' % to the range: -% 1/s (xmax - xmin ) = xmax - xmin +d +% 1/s (xmax - xmin ) = xmax - xmin +d % => % d = (1/s - 1) * (xmax - xmin) % % The only remaining thing to do is to distribute 'd' to 'xmax' and % 'xmin'. Typically, 50% to each will be fine, I guess... -% +% % #1: either x, y or z. It denotes the direction which has been % modified. % #2: the INVERSE of the scaling factor, #2 = 1/s . @@ -2881,7 +2881,7 @@ \xdef\pgfplots@glob@TMPb{\pgf@sys@tonumber{\pgf@xa}}% \xdef\pgfplots@glob@TMPc{\pgfplots@glob@TMPb}% \else - % unit rescale keep size=unless limits declared: + % unit rescale keep size=unless limits declared: % do not scale - all limits are declared % explicitly \xdef\pgfplots@glob@TMPb{0.0}% @@ -2905,7 +2905,7 @@ % #1: an axis which should be scaled % #2: the desired final ratio ||e_#1||/||e_ref|| \def\pgfplots@getscale@unit@vector@reltoreference#1#2{% - % + % % If the datascaling transformation is active (which is almost % everytime the case here), we have a transformation % T^{-1}(x)= 10^scale * x @@ -2927,13 +2927,13 @@ % We are given e_ref and e_#1 and the desired aspect ratio % between e_ref and E_#1, which is available as #2. % - % So: T^{-1} E_#1 := s* T^{-1} e_#1 where - % s = #2 * ||T^{-1} e_ref|| / || T^{-1} e_#1 || + % So: T^{-1} E_#1 := s* T^{-1} e_#1 where + % s = #2 * ||T^{-1} e_ref|| / || T^{-1} e_#1 || % = |10^{scale_ref}| / |10^{scale_#1}| * #2 * || e_ref|| / ||e_#1||. - % + % % Then, E_#1 = T ( T^{-1} E_#1 ) = s * e_#1. % - % -> compute 's'! + % -> compute 's'! % % Part 1: compute % #2 * ||e_ref|| / ||e_#1||. @@ -2958,7 +2958,7 @@ {\pgfmathresult}% {#2}% \global\let\pgfplots@glob@TMPa=\pgfmathresult - % + % % also compute 1/s, required as temporary value: %\pgfmathmultiply@ % {\csname pgfplots@\pgfplots@apply@unit@ratio@reference @inverseveclength\endcsname} @@ -3004,7 +3004,7 @@ } % helper for \pgfplots@check@and@apply@datatrafo@for. -% +% \def\pgfplots@compute@number@order@for@trafo@isfloat#1\tocount#2{% \pgfmathfloatparsenumber{#1}% \expandafter\pgfmathfloat@decompose@E\pgfmathresult\relax#2\relax @@ -3035,7 +3035,7 @@ % - the scaling transformation is set up, \def\pgfplots@set@optimal@datatrafo@for@#1{% \pgfplots@if{pgfplots@apply@datatrafo@#1}{% - % initialise data scale transformation + % initialise data scale transformation % T(x) = 10^{q-m} * x % \ifpgfplots@disabledatascaling @@ -3148,16 +3148,16 @@ % Now, I introduce a loop which shall avoid cancellation of % significant digits. % - % Harmless Example: - % if we have data shift = -3 and + % Harmless Example: + % if we have data shift = -3 and % max = 2e6, min = 1e6, then max-min = 1e6; T(max)-T(min) = 1e3 which is ok. % In this case, the loop won't change anything. % % Critical Example: % if we have data shift = -3 and - % max = 1980, min = 1930 then + % max = 1980, min = 1930 then % T(max) = 1.98 and T(min) = 1.93 - % and thus T(max)-T(min) = 0.05 . + % and thus T(max)-T(min) = 0.05 . % Considering that this is the axis range % in which tick labels and plot points need to be computed, we % only have two or three digits left! That happens because the @@ -3201,7 +3201,7 @@ % \fi % \pgfplots@loop@CONTINUEfalse % \fi - %-------------------------------------------------- + %-------------------------------------------------- \pgfutil@repeat \xdef\pgfplots@glob@TMPa{\the\data@EXPONENT}% \xdef\pgfplots@glob@TMPb{\pgfplots@min@fixed}% @@ -3239,7 +3239,7 @@ % % The strategy to fix the transformation is as follows: % 1. we assume that axis limits will be enlarged in order to - % satisfy 'scale uniformly'. + % satisfy 'scale uniformly'. % 2. we assume that the LARGEST axis limit dominates the % others. % 3. if one of the axes does not have datascaling (i.e. is diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex index 6518b542006..6f2f127afde 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007-2010 by Christian Feuersänger. @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -89,8 +89,8 @@ \else \pgfplotspointbblowerleft \fi}% - {\pgfpointxy@orig{##1}{##2}}% - %I use the '@orig' variant here because descriptions may + {\pgfpointxy@orig{##1}{##2}}% + %I use the '@orig' variant here because descriptions may %\let\pgfpointxy=\pgfplotspointdescriptionxy }% }% @@ -104,7 +104,7 @@ \else \pgfplotspointbblowerleft \fi}% - {\pgfqpointxy@orig{##1}{##2}}% + {\pgfqpointxy@orig{##1}{##2}}% }% }% \pgfplotspoint@initialisation@axes @@ -131,7 +131,7 @@ }% % Determine final axes this does also fix the axis' dimension. -% There are the following cases: +% There are the following cases: % 1. the user really wants a fixed dimension, % i.e. he used 'scale only axis'. % Then, we have to work to get the correct dimension! @@ -141,9 +141,9 @@ % % If I am not mistaken, this does ONLY affect the final size, % not the relative plot precision. -% +% % FIXME : really compute the plot precision! -% +% % 2. The use specified width and/or height, but not 'scale only % axis'. Accept inaccurate final widths/heights (see above). % @@ -175,7 +175,7 @@ \pgfplots@ycoordminTEX=\pgf@y % %-------------------------------------------------- - % FIXME : WHAT IS THIS HERE FOR? + % FIXME : WHAT IS THIS HERE FOR? % \pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymax}% % \ifx\pgfplots@rectangle@width\pgfutil@empty % \def\pgfplots@tmp@xmax@ymin{\pgfplotsqpointxy{\pgfplots@xmax}{\pgfplots@ymin}}% @@ -197,7 +197,7 @@ % \advance\pgf@x\pgfplots@height % \edef\pgfplots@tmp@xmin@ymax{\noexpand\pgfqpoint{\noexpand\pgfplots@xcoordminTEX}{\the\pgf@x}}% % \fi - %-------------------------------------------------- + %-------------------------------------------------- \pgfpointdiff {\pgfqpoint{\pgfplots@xcoordminTEX}{\pgfplots@ycoordminTEX}} {\pgfplotspointmaxminmin}% @@ -293,7 +293,7 @@ % 2. Any other point coordinate should not be altered. % % Former versions installed a shift and changed e_x, e_y and -% e_z. However, that was misleading as it disabled point 2). +% e_z. However, that was misleading as it disabled point 2). % So, my idea here is to replace \pgfpointxy and \pgfqpointxy % such that they install the correct coordinate system before % doing anything else. @@ -323,7 +323,7 @@ % argument is omitted, the <default shift> will be used (0pt if this % argument has been omitted as well). % -% \pgfplotspointticklabelcs#1#2: +% \pgfplotspointticklabelcs#1#2: % #1 is the axis (either x,y or z) % #2 is the coordinate (either <relative coord> or <relative coord>,<shift>) % @@ -403,7 +403,7 @@ % component #1, #2 and #3. The results are directly communicated to % \pgfplotsqpointxyz. % -% Expects #1, #2 and #3 to be numbers with units and issues a \pgfplotsqpointxyz +% Expects #1, #2 and #3 to be numbers with units and issues a \pgfplotsqpointxyz \def\pgfplotsqpointxyzabsolutesize#1#2#3{% \begingroup \pgf@xa=#1\relax @@ -419,7 +419,7 @@ % Denotes a point in a twodimensional hyperplane. The hyperplane is % one of the six planes of the threedimensional axis cube. -% +% % The meaning of coordinates #1 and #2 will be redefined depending on % which surface we are currently processing. You can get the axis % names for '#1' (a) and '#2' (b) using the macros @@ -456,7 +456,7 @@ \pgfplots@error{Internal logic error: \string\pgfplotspointonorientedsurfaceab\ used although surface has not been declared! You need to call \string\pgfplotspointonorientedsurfaceabsetupfor xyz\ or its friends to do so.}% }% -% This is a shortcut for +% This is a shortcut for % \pgfpointadd % {\pgfplotspointonorientedsurfaceab{#1}{#2}} % {<shift in B direction of #3>} @@ -479,7 +479,7 @@ % This macro will be defined after % \pgfplotspointonorientedsurfaceabsetupfor... -% routines. It expands to a three-character string +% routines. It expands to a three-character string % where the first character contains information about the x axis, % the second about the y axis and the third about the z axis. % @@ -518,7 +518,7 @@ % axis and 'b' is the y axis and the z coordinate has been fixed with % \pgfplotspointonorientedsurfaceabsetupforsetz{}. % -% The Z value needs to be fixed with +% The Z value needs to be fixed with % \pgfplotspointonorientedsurfaceabsetupforsetz . \def\pgfplotspointonorientedsurfaceabsetupfor@@xyz{% \def\pgfplotspointonorientedsurfaceab##1##2{\pgfplotsqpointxyz{##1}{##2}{\pgfplotspointonorientedsurfaceabsetupfor@fixedz}}% @@ -576,7 +576,7 @@ }% % Fixes 'x' to #1 for use in -% \pgfplotspointonorientedsurfaceabsetupfor zyx and +% \pgfplotspointonorientedsurfaceabsetupfor zyx and % \pgfplotspointonorientedsurfaceabsetupfor yzx. % % #1: The fixed value for 'x' (a coordinate in transformed range). @@ -650,7 +650,7 @@ % the currently active oriented surface. % #2 : the macro which will contain the output axis line specification % (three-char-string). -% +% % Example: % \pgfplotspointonorientedsurfaceabsetupfor xyz % \pgfplotspointonorientedsurfaceabsetupforsetz{<lower z limit>}{0} @@ -721,8 +721,8 @@ % three-character-string '#1' is a foreground surface and code '#3' if % the surface '#1' is a background surface. % -% #1: a three-char-string with the keys -% 'v' = 'varying', +% #1: a three-char-string with the keys +% 'v' = 'varying', % '0' = 'lower axis limit', % '1' = 'upper axis limit'. % The string 'v0v' means that x and z are varying in that surface @@ -869,7 +869,7 @@ % This does only handle foreground/background issues; it has NOTHING % to do with the actual checks if grid lines are active or not. \def\pgfplots@ifgridlines@onorientedsurf@should@be@drawn#1#2{% - % grid lines shall be drawn + % grid lines shall be drawn % if and only if BOTH adjacent axis lines shall be drawn: \pgfplots@ifaxisline@B@onorientedsurf@should@be@drawn@allaxislinevariations{0}{% % remark: this is ALWAYS true for 2D plots. @@ -910,7 +910,7 @@ % surface axis (which is called the 'b' axis). % Thus, the following values for '#2' can be expected: % - '' (empty) if the line is not on the surface, -% - 'v' if the line IS on the surface, and '#1' contains a 'v' +% - 'v' if the line IS on the surface, and '#1' contains a 'v' % in direction of the surface's 'b' axis. % - '0' if the line IS on the surface and '#1' contains a '0' in % direction of the surface's 'b' axis, @@ -961,7 +961,7 @@ \let#3=\pgfplots@loc@TMPa }% -% IMPLEMENTATION: +% IMPLEMENTATION: % The return value is 'yes, #1#2#3 is on the oriented surface #4#5#6' % if and only if for all three character pairs, the following single % relations hold. @@ -970,7 +970,7 @@ % '0' : is either 0, a, b, v or 2 (i.e. NOT 1) FIXME : is the '2' correct here!? % '1' : is either 1, a, b, v or 2 (i.e. NOT 0) % '2' : is either 2, a, b, v (i.e. NOT 0 or 1) -% That's all. +% That's all. % % If the 'oriented surface char' is 'v', then we actually don't have % an oriented surface but just a surface. @@ -1049,7 +1049,7 @@ % Provides a point on an arbitrary axis (identified by a % three-character-string) which can take any value on that axis and -% which is shifted in the direction of the outer normal vector. +% which is shifted in the direction of the outer normal vector. % % #1: a three-character-string denoting the desired axis % #2: the coordinate on that axis (the coordinate for the 'v' @@ -1078,9 +1078,9 @@ % A variant of \pgfplotsqpointoutsideofaxis with relative values for % #2. -% That means -% '#2 = 0' === lower axis limit -% and +% That means +% '#2 = 0' === lower axis limit +% and % '#2 = 1' === upper axis limit. \def\pgfplotsqpointoutsideofaxisrel#1#2#3{% \begingroup @@ -1304,7 +1304,7 @@ % % The idea is to return the same normal vector as if this would be a boxed axis. % To this end, we have to access the "ticklabel axis spec" - % which would have been used in this case. + % which would have been used in this case. % % We computed it at startup. Might be a hack ... :-( \edef\pgfplots@loc@TMPb{\csname pgfplots@#1ticklabelaxisspec@box\endcsname}% @@ -1466,7 +1466,7 @@ % }% % \endgroup % }% -%-------------------------------------------------- +%-------------------------------------------------- % Helper method for \pgfplotsqpointoutsideofaxis and its variants. % #1: an axis (x,y or z) @@ -1508,7 +1508,7 @@ % coordinate directions. % % \pgfplotstransformtoaxisdirection[<options>]{<axis char>} -% +% % <axis char>: the coordinate direction (one of x,y or z) % % The code is pretty much the same as \pgftransformlineattime, except @@ -1540,7 +1540,7 @@ % '#1#2#3': \pgfqpointscale{\csname pgfplotsunit#2invlength\endcsname}{\csname pgfplotspointunit#2\endcsname}% % - \ifdim\pgf@x<0pt% + \ifdim\pgf@x<0pt% % oh. upside down. \pgfkeysvalueof{/pgfplots/sloped/execute for upside down}% \ifpgfplots@sloped@allowupsidedown @@ -1552,8 +1552,8 @@ \fi% % \pgf@ya=-\pgf@y% - % set up rotation matrix - % [ cos(alpha) sin(alpha); + % set up rotation matrix + % [ cos(alpha) sin(alpha); % -sin(alpha) cos(alpha) ] % where cos(alpha) = n_x and sin(alpha) = n_y: \pgftransformcm% @@ -1581,15 +1581,15 @@ % \pgfdeclaregenericanchor{#3}{\pgfplots@borderanchor@for@axis{#1}{#2}{##1}}% \pgfdeclaregenericanchor{#3 opposite}{\pgfplots@borderanchor@for@axis@{#1}{#2}{##1}{+1}}% - % + % % This variant will ALWAYS be placed on the boundary of the node. % It is deprecated, I am keeping it for some time.... \pgfdeclaregenericanchor{#3*}{% \csname pgf@anchor@##1@border\endcsname{% \pgf@process{% % - % I want to rotate the node FIRST, then - % I'd like to get the boundary anchor! + % I want to rotate the node FIRST, then + % I'd like to get the boundary anchor! % % My idea: apply the INVERSE transformation % matrix, then compute the boundary anchor. @@ -1676,7 +1676,7 @@ % we apply the inverse CM onto it here: \pgf@pos@transform\pgf@x\pgf@y \edef\pgfplots@tmp@normaldir{\global\pgf@x=\the\pgf@x\space\global\pgf@y=\the\pgf@y\space}% - % + % \pgfplots@borderanchor@snap@to@nearest@anchor{}% takes \pgf@x and \pgf@y \let\pgfplots@anchor=\pgfplotsretval % @@ -1748,7 +1748,7 @@ \let\pgfplots@anchor@inner=\pgfplotsretval % % - % verify that |n^T d | + % verify that |n^T d | \pgf@xc=\pgf@sys@tonumber\pgf@xa\pgf@xb \advance\pgf@xc by\pgf@sys@tonumber\pgf@ya\pgf@yb \ifdim\pgf@xc<0pt \pgf@xc=-\pgf@xc \fi @@ -1762,7 +1762,7 @@ {\pgf@sys@tonumber\pgf@xb}{\pgf@sys@tonumber\pgf@xa}% {\pgf@sys@tonumber\pgf@yb}{\pgf@sys@tonumber\pgf@ya}% }% - % + % % This here controls the anchor! Changing it might be more % useful than I thought in the first place... \pgf@sh@reanchor{#3}{\pgfplots@anchor@inner}% @@ -1806,7 +1806,7 @@ % Now: % auto-determine the canonical (north, north east etc) anchor % at which the node touches the axis (remember: the axis is to - % be found in direction of the normal vector). + % be found in direction of the normal vector). % % This is kind of a snap-to-nearest-existing-anchor feature. But % it tends to move the node too far away. It is used as starting @@ -1884,10 +1884,10 @@ \pgfplotsmathvectortostring{\pgfplots@view@dir@threedim}{default}% \edef\normal{view = (\pgfplotsretval),^^J}% \fi - \message{^^J - x = (\the\pgf@xx,\the\pgf@xy),^^J - y =(\the\pgf@yx,\the\pgf@yy),^^J - z = (\the\pgf@zx,\the\pgf@zy),^^J + \message{^^J + x = (\the\pgf@xx,\the\pgf@xy),^^J + y =(\the\pgf@yx,\the\pgf@yy),^^J + z = (\the\pgf@zx,\the\pgf@zy),^^J \normal unit vector ratio=[\X\space\Y\space 1],^^J}% \endgroup @@ -1895,7 +1895,7 @@ % ================================================================================== -% +% % COORDINATE MATH. % % ================================================================================== @@ -1910,7 +1910,7 @@ % possible to use yet a further instance for point meta (or whatever). % % Coordinate math is used to compute axis limits and to map the range -% into the pgf number format. +% into the pgf number format. % % It is *not* necessarily used for \pgfmathparse, since switching % the number format of \pgfmathparse is quite involved (at the time of @@ -1921,7 +1921,7 @@ % #2: methods to override the default. % % The available methods are documented and shown below in the -% \pgfqkeys listing. +% \pgfqkeys listing. % % @see the predefined examples, also shown below. \def\pgfplotsdeclarecoordmath#1#2{% @@ -2139,7 +2139,7 @@ set log basis/.code= {\expandafter\def\csname pgfpmth\pgfplotsdeclarecoordmath@ set log basis\endcsname##1{#1}},% % - % The inverse to 'log e '. + % The inverse to 'log e '. exp e/.code= {\expandafter\def\csname pgfpmth\pgfplotsdeclarecoordmath@ exp e\endcsname##1{#1}},% % @@ -2162,7 +2162,7 @@ {\expandafter\def\csname pgfpmth\pgfplotsdeclarecoordmath@ datascaletrafo set shift\endcsname##1{% #1\relax\pgfplotscoordmathnotifydatascalesetfor{\pgfplotscoordmathid}% }},% - % + % % Defines \pgfmathresult to contain the two parameters in the form % {#1}{#2} required for 'datascaletrafo set params': % #1: the EXPONENT (as integer) @@ -2333,7 +2333,7 @@ \else % log basis a ---> log basis 10 % - % log_a x = log x / log a + % log_a x = log x / log a % log_10 x = log_a x * log a / log(10) = log x / log(10) [OK] \csname pgfpmth@#1@op\endcsname{multiply}{{#2}{\pgfmathresult}}% \fi @@ -2352,7 +2352,7 @@ parsenumber={% \pgfmathfloatparsenumber{#1}% \expandafter\pgfmathfloatgetflagstomacro\expandafter{\pgfmathresult}\pgfplotsretval - \ifnum\pgfplotsretval>2 + \ifnum\pgfplotsretval>2 \let\pgfmathresult=\pgfutil@empty \else \pgfmathfloattofixed\pgfmathresult @@ -2371,7 +2371,7 @@ }{}, parsenumber=\pgfmathfloatparsenumber{#1}, parse={% - \begingroup + \begingroup \pgfkeys{/pgf/fpu,% /pgf/fpu/output format=float,% }% @@ -2563,7 +2563,7 @@ \pgf@yb=\pgfplots@current@point@z pt % \fi \def\pgfplots@loc@TMPa{#2}% - % + % % I assume that \pgfplots@[xyz]min@reg and min@reg are registers % containing the limits. \ifdim\pgf@xa<\pgfplots@xmin@reg @@ -2630,7 +2630,7 @@ % % a macro used to initialise the point meta source when it is % selected. - % This macro body is invoked by pgfplots when someone types + % This macro body is invoked by pgfplots when someone types % 'point meta=x' -> will invoke 'pgfpmeta@x@initfor{}'. % The first argument to initfor can be supplied by the user. % PRECONDITION for 'initfor': @@ -2657,7 +2657,7 @@ % - the other input coordinates are already read. % POSTCONDITION for '@assign': % - \pgfplots@current@point@meta is ready for use: - % - EITHER a parsed floating point number + % - EITHER a parsed floating point number % - OR an empty string, % - OR a symbolic string (if the issymbolic boolean is true) % The default implementation is @@ -2822,9 +2822,9 @@ % Internal stream methods. % -% Please overwrite +% Please overwrite % - \pgfplots@coord@stream@start@, -% - \pgfplots@coord@stream@end@ and +% - \pgfplots@coord@stream@end@ and % - \pgfplots@coord@stream@coord@ % if you implement streams. % @@ -2934,8 +2934,8 @@ % In other words, the \pgfplotsscanlinelengthincrease routine is % invoked *before* the point is processed. That's important. % -% Now, \pgfplotsscanlinelength expands to either -% a) a negative number in which case there is no +% Now, \pgfplotsscanlinelength expands to either +% a) a negative number in which case there is no % unique scanline length. % More precisely, -1 means "there was no end-of-scanline marker" % -2 means "there where end-of-scanline markers, but the scanlines @@ -2972,7 +2972,7 @@ \newif\ifpgfplots@emptyline@compat -% Invoked for 'empty line=auto'. +% Invoked for 'empty line=auto'. % % @POSTCONDITION: '/pgfplots/empty line' is set to something useful % (not auto) @@ -3011,7 +3011,7 @@ \def\pgfplotsscanlinelength@scanline@complete{% \ifnum\pgfplots@scanlinelength>0 \ifnum\c@pgfplots@scanlineindex=0 - % + % % \pgfplotsscanlinecomplete % \pgfplotsscanlinecomplete % \pgfplotsscanlinecomplete @@ -3050,7 +3050,7 @@ % ------------------------------------------------------------------------------- % % empty line=none class: -% +% \let\pgfplotsscanlinelength@none@initzero=\pgfutil@empty \let\pgfplotsscanlinelength@none@increase=\relax \let\pgfplotsscanlinelength@none@complete=\relax @@ -3061,7 +3061,9 @@ \def\pgfplotsscanlinelength@nan@initzero{% \def\pgfplotsscanlinelength@nan@isfirst{1}% \let\pgfplotsscanlinelength@nan@pendingwork=\relax - \pgfplotsifinaxis{}{\let\pgfplotsaxisserializedatapoint=\relax}% + \pgfplotsifinplot{}{% + \let\pgfplotsaxisserializedatapoint=\relax + }% }% \def\pgfplotsscanlinelength@nan@increase{% \def\pgfplotsscanlinelength@nan@isfirst{0}% @@ -3070,33 +3072,38 @@ \def\pgfplotsscanlinelength@nan@complete{% \if1\pgfplotsscanlinelength@nan@isfirst \else - \def\pgfplotsscanlinelength@nan@pendingwork{% - \ifpgfplots@LUA@backend@supported - \pgfplotsutil@directlua{pgfplots.texSurveyAddJump()}% - \else - % this will be executed when the next point has been - % found. - \def\pgfplots@current@point@x{}% - \def\pgfplots@current@point@y{}% - \def\pgfplots@current@point@z{}% - % simply serialize an empty point. That works -- the - % visualization phase checks if the coordinates are empty and - % visualizes them as "jump" - % - % Note that \pgfplotsplothandlersurveypoint is not a good - % choice here unless one employs its 'unbounded coords=jump' - % feature - \def\pgfplotsaxisplothasjumps{1}% - \pgfplotsaxisserializedatapoint - \fi - % + \pgfplotsifinplot{% + \let\pgfplotsscanlinelength@nan@pendingwork=\pgfplotsscanlinelength@nan@pendingwork@PREPARED + }{% \let\pgfplotsscanlinelength@nan@pendingwork=\relax }% \fi \def\pgfplotsscanlinelength@nan@isfirst{1}% }% \let\pgfplotsscanlinelength@nan@cleanup=\relax -% +\def\pgfplotsscanlinelength@nan@pendingwork@PREPARED{% + \ifpgfplots@LUA@backend@supported + \pgfplotsutil@directlua{pgfplots.texSurveyAddJump()}% + \else + % this will be executed when the next point has been + % found. + \def\pgfplots@current@point@x{}% + \def\pgfplots@current@point@y{}% + \def\pgfplots@current@point@z{}% + % simply serialize an empty point. That works -- the + % visualization phase checks if the coordinates are empty and + % visualizes them as "jump" + % + % Note that \pgfplotsplothandlersurveypoint is not a good + % choice here unless one employs its 'unbounded coords=jump' + % feature + \def\pgfplotsaxisplothasjumps{1}% + \pgfplotsaxisserializedatapoint + \fi + % + \let\pgfplotsscanlinelength@nan@pendingwork=\relax +}% +% % ------------------------------------------------------------------------------- @@ -3105,7 +3112,21 @@ \def\pgfplotsaxisplothasunboundedpointmeta{0}% \newif\ifpgfplotsaxisparsecoordinateok -% Initialises +% Possibly values: +% N = none, is not in \addplot +% S = survey +% V = visualization +\def\pgfplotsaxisplotphase{N} + +\def\pgfplotsifinplot#1#2{% + \if\pgfplotsaxisplotphase N% + #2% + \else + #1% + \fi +}% + +% Initialises % \pgfplots@coord@stream@start % \pgfplots@coord@stream@coord % \pgfplots@coord@stream@end @@ -3184,12 +3205,12 @@ \begingroup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \let\E=\noexpand - % + % %\message{Assembled update-limits \ifpgfplots@curplot@threedim 3D\else 2D\fi macro to {\meaning\pgfplotsaxisupdatelimitsforcoordinate}}% \ifpgfplots@bb@isactive \else - % we are inside of - % \pgfplotsinterruptdatabb + % we are inside of + % \pgfplotsinterruptdatabb % .. % \endpgfinterruptboundingbox % -> don't change data limits! @@ -3228,17 +3249,17 @@ % % A data point might be a complicated thing which contains % multiple coordinates. You need to invoke - % \pgfplotsaxisparsecoordinate and + % \pgfplotsaxisparsecoordinate and % \pgfplotsaxispreparecoordinate for each of them. But % \pgfplotsaxisdatapointsurveyed is invoked once for the complete % set. - % + % % @PRECONDITION % - \pgfplots@current@point@[xyz] contain final coordinates % (i.e. output of \pgfplotsaxispreparecoordinate) % % @POSTCONDITION - % - stacked plot things, + % - stacked plot things, % - error bars, % - xtick=data % are all processed. @@ -3298,7 +3319,7 @@ \ifpgfplots@warn@for@filter@discards \E\pgfplots@message{% NOTE: coordinate (\E\pgfplots@current@point@x@unfiltered,\E\pgfplots@current@point@y@unfiltered\ifpgfplots@curplot@threedim,\E\pgfplots@current@point@z@unfiltered\fi) - has been dropped because + has been dropped because \E\ifx\E\pgfplots@unbounded@dir\E\pgfutil@empty of a coordinate filter. \E\else @@ -3340,7 +3361,7 @@ % %\message{Prepared macro \string\pgfplots@update@limits@for@one@point: {\meaning\pgfplotsaxisupdatelimitsforcoordinate}}% %\message{Prepared macro \string\pgfplots@process@one@point: {\meaning\pgfplots@process@one@point}}% - % + % \let\pgfplots@coord@stream@start@=\pgfplots@PREPARE@COORD@STREAM@start@ \def\pgfplots@coord@stream@coord@{% \def\pgfplots@set@perpointmeta@done{0}% @@ -3467,7 +3488,7 @@ \endgroup }% % This is the \pgfplots@coord@stream@end@ routine which is invoked by -% \pgfplots@PREPARE@COORD@STREAM. +% \pgfplots@PREPARE@COORD@STREAM. % % It finalizes the first pass through the input coordinates and % remembers the preprocessed \addplot command. @@ -3575,14 +3596,14 @@ \ifpgfplots@LUA@backend@supported \noexpand\pgfplots@LUA@backend@supportedtrue \pgfplots@LUA@backend@serialized@commands - \else + \else \noexpand\pgfplots@LUA@backend@supportedfalse \fi - \noexpand\def\noexpand\plotnum{\the\pgfplots@numplots}% + \noexpand\def\noexpand\plotnum{\plotnum}% % % store \plotnumofactualtype \noexpand\def\noexpand\plotnumofactualtype{\plotnumofactualtype}% - % ... and make sure that it + % ... and make sure that it % remains the same type even if some plot handler uses % other plot handlers internally: \noexpand\def\noexpand\pgfplotsplothandlername@actual{\pgfplotsplothandlername@actual}% @@ -3679,7 +3700,7 @@ \pgfkeysgetvalue{/pgfplots/#1 filter/.@cmd}\pgfplots@loc@TMPc \ifx\pgfplots@loc@TMPc\pgfplots@empty@command@key \let\pgfplotsretval=\pgfutil@empty - \else + \else \pgfplots@ifisfilterexpression{#1 filter}{% \pgfkeysgetvalue{/pgfplots/#1 filter/@expressionvalue}\pgfplotsretval \expandafter\pgfplotsutilifcontainsmacro\expandafter{\pgfplotsretval}{% @@ -3751,11 +3772,10 @@ \if m\pgfplots@colormap@access \else \if c\pgfplots@colormap@access - \pgfplots@LUA@survey@log@deactivation{color map access=piecewise constant not supported (yet)}% \else \pgfplots@LUA@survey@log@deactivation{color map access=direct not supported (yet)}% + \pgfplots@LUA@backend@supportedfalse \fi - \pgfplots@LUA@backend@supportedfalse \fi \pgfplotscolormapifisuniform{\pgfkeysvalueof{/pgfplots/colormap name}}{% }{% @@ -3764,6 +3784,14 @@ \pgfplots@LUA@backend@supportedfalse }% % + \ifpgfplots@curplot@threedim + \else + \ifpgfplots@threedim + \pgfplots@LUA@survey@log@deactivation{2d plots in 3d axis currently unsupported}% + \pgfplots@LUA@backend@supportedfalse + \fi + \fi + % \ifpgfplots@LUA@backend@supported \edef\pgfplots@LUA@backend@plotnum{\pgfutil@directlua{tex.sprint(\pgfplotsHASH pgfplots.gca.plothandlers)}}% \begingroup @@ -3859,15 +3887,27 @@ % Otherwise we would have nothing here. % FIXME : what about \pgfplots@LUA@backend@failed in this context!? \pgfplots@log{\pgfplots@LUA@loglevel@info}{Using 'lua backend=false' for visualization of plot \the\pgfplots@numplots\space (type '\pgfplotsplothandlername'): it has no LUA visualizer.}% - \expandafter\def\expandafter\pgfplots@stored@current@data\expandafter{% + % NOTE: + % I use two levels of \expandafter here because 'lua debug =trace' + % introduces another level of expansion. And I do not + % want to use \edef... silly, perhaps..? + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\pgfplots@stored@current@data + \expandafter\expandafter\expandafter{% \pgfplotsutil@directlua{pgfplots.texGetSurveyedCoordsToPgfplots()}% }% \else % visualize using LUA! ... and acquire the coordinates. - \expandafter\def\expandafter\pgfplots@stored@current@data\expandafter{% + % NOTE: + % I use two levels of \expandafter here because 'lua debug =trace' + % introduces another level of expansion. And I do not + % want to use \edef... silly, perhaps..? + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\pgfplots@stored@current@data + \expandafter\expandafter\expandafter{% \pgfplotsutil@directlua{pgfplots.texVisualizePlot(\pgfplotsplothandlerLUAvisualizerfactory)}% }% -%\message{plot \plotnum: LUA backend returned \pgfplots@stored@current@data^^J}% +%\message{plot \plotnum: LUA backend returned \meaning\pgfplots@stored@current@data^^J}% % % ... and ensure that the resulting % \pgfplots@stored@current@data can be deserialized. It @@ -4009,14 +4049,14 @@ % \pgfplotsaxistransformcs. % #1: the source coordinate system % #2: the target coordinate system -% #3: the transformation code. +% #3: the transformation code. % % @see \pgfplotsaxistransformcs for what #3 should do. % % This does also declare a coordinate system for use in 'data cs'. % The minimal requirements are to define the transformations from and % to "cart" (cartesian coordinates). -% +% \def\pgfplotsdefinecstransform#1#2#3{% \expandafter\def\csname pgfp@transform@#1@to@#2\endcsname{#3}% }% @@ -4145,9 +4185,9 @@ % Handle User-defined parts which should be serialized as well. % This preparation tool should be called at the start of both, survey % and visualization phase. -% +% % @PRECONDITION -% - the macros +% - the macros % \pgfplotsaxisserializedatapoint@private % \pgfplotsaxisdeserializedatapointfrom@private % are known and valid. @@ -4160,7 +4200,7 @@ % \pgfplotsaxisdeserializedatapointfrom@private % have been patched to incorporate the '/pgfplots/visualization % depends on' feature. -% +% \def\pgfplots@prepare@visualization@dependencies{% \pgfkeysgetvalue{/pgfplots/visualization depends on/list}\pgfplots@loc@TMPa \ifx\pgfplots@loc@TMPa\pgfutil@empty @@ -4176,7 +4216,7 @@ % % prepare % \t@pgfplots@tokc={<\macro1><\macro2><\macro3>...} - \t@pgfplots@tokc={}% + \t@pgfplots@tokc={}% \expandafter\pgfplotsutilforeachcommasep\expandafter{\pgfplots@loc@TMPa}\as\pgfplots@loc@TMPa{% \ifx\pgfplots@loc@TMPa\pgfutil@empty \else @@ -4224,7 +4264,7 @@ \escapechar=-1 \xdef\pgfplots@glob@TMPa{\string##1}% \endgroup - \pgfutil@ifundefined{\pgfplots@glob@TMPa}{% + \pgfutil@ifundefined{\pgfplots@glob@TMPa}{% \begingroup \t@pgfplots@toka={##1}% \pgfplotsthrow{invalid argument} @@ -4246,7 +4286,7 @@ \escapechar=-1 \xdef\pgfplots@glob@TMPa{\string#1}% \endgroup - \pgfutil@ifundefined{\pgfplots@glob@TMPa}{% + \pgfutil@ifundefined{\pgfplots@glob@TMPa}{% \begingroup \t@pgfplots@toka={#1}% \pgfplotsthrow{invalid argument} @@ -4267,7 +4307,7 @@ \t@pgfplots@tokc=\expandafter{\the\t@pgfplots@tokc\csname assign@\string#2\endcsname}% }% -% task: define a macro '\csname assign@\string#2\endcsname' which, when executed, +% task: define a macro '\csname assign@\string#2\endcsname' which, when executed, % defines \csname\string#2@value\endcsname such that it expands % to a the correct value. \def\pgfplots@prepare@visualization@depends@on@preparetype#1\as#2{% @@ -4307,9 +4347,9 @@ % ok, prepare the value. \def\pgfplots@loc@TMPb{#2}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb - % oh - a special case! We have value\macro\as\macro. + % oh - a special case! We have value\macro\as\macro. \expandafter\def\csname\string#2@value\endcsname{#2}% - % + % % this is special; we do not need to EXECUTE assign@\string#2 to arrive at its value. % But we need to define #2@value as that will be stored. \expandafter\let\csname assign@\string#2\endcsname=\relax @@ -4345,7 +4385,7 @@ % \pgfplots@PREPARE@COORD@STREAM@end@. % % POSTCONDITION: -% assigns '/pgfplots/#1 coord sorting=[+-]' +% assigns '/pgfplots/#1 coord sorting=[+-]' % i.e. whether #1 (x or y or z) coordinates are in ascending (+) ordering or in % descending order (-). \def\pgfplots@PREPARE@COORD@STREAM@end@determinecoordsorting#1{% @@ -4365,7 +4405,7 @@ % % The trafo is expected to prepare meta information before it is used % as input to \pgfplotscolormapaccess (or -% \pgfplotscolormapdefinemappedcolor). Thus, the 10^k is chosen to be +% \pgfplotscolormapdefinemappedcolor). Thus, the 10^k is chosen to be % the same as \pgfplotscolormaprange (which is 1000 per default). % % If there is no data range (for example because meta information is @@ -4511,7 +4551,7 @@ \def\pgfplotspointmetatransformed{1000}% use the maximum because it is usually divided by 1000 % A command which is readily available during the visualization phase of each plot. -% +% % It takes existing point meta data and transforms it, i.e. it defines % \pgfplotspointmetatransformed. % @@ -4542,7 +4582,7 @@ its value is empty. % \if1\csname pgfpmeta@\pgfplotspointmetainputhandler @explicitinput\endcsname% \pgfplots@addplot@point@meta@description@of@explicit@value - \else + \else Please ensure that the value exists and is not empty \fi }% @@ -4574,7 +4614,7 @@ % call \pgfplots@coord@stream@coord % \pgfplots@coord@stream@end % -% #1 a sequence of coordinates of the form +% #1 a sequence of coordinates of the form % '(x,y)' or '(x,y,z)' % or % '(x,y[,z]) +- (ex,ey)' @@ -4875,7 +4915,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 % % A coordinate stream which works like this: -% +% % ------------- % \pgfplots@coord@stream@start % @@ -4918,7 +4958,7 @@ % A common routine which resets internal data structures for the % survey phase, i.e. it is the shared implementation for all \addplot % variations. -% +% % It takes all options which are provided to \addplot, sets them (at % least partially) and remembers them for the command serialization. % @@ -4933,11 +4973,12 @@ % - internal datastructures are initialised (coordinate indexing, fpu) % - all keys which are required for the current plot are determined % (and set if necessary). -% They are stored into +% They are stored into % \pgfplots@addplot@survey@@optionlist. -% +% \def\pgfplots@start@plot@with@behavioroptions#1{% %\begingroup%<-- has been moved to \pgfplots@addplotimpl@plot@withoptions + \def\pgfplotsaxisplotphase{S}% "in survey" \c@pgfplots@coordindex=0 \def\pgfplots@current@point@coordindex{\the\c@pgfplots@coordindex}% can be used inside of coordinate filters. \def\coordindex{\pgfplots@current@point@coordindex}% valid inside of \addplot @@ -4967,7 +5008,7 @@ \fi % % make sure it is reset, just in case it is not supported by the - % input method. + % input method. \pgfplotsscanlinelengthinitzero % \pgfplots@getcurrent@plothandler\pgfplots@basiclevel@plothandler @@ -5072,12 +5113,12 @@ % The main interface to draw a plot into an axis. % % Usage: -% \addplot +% \addplot % plot coordinates { % (0,0) % (1,1) % }; -% +% % or % % \addplot[color=blue,mark=*] @@ -5087,14 +5128,14 @@ % }; % % or one of the other input types. -% +% % The first syntax will use the next plot specification in the list % \autoplotspeclist -% and the first will use blue color and * markers. +% and the first will use blue color and * markers. % % \addplot [<style options>] plot[<behavior options>] <input type and args> <post plot path> ; % \addplot3[<style options>] plot[<behavior options>] <input type and args> <post plot path> ; -% +% % The complete accumulation is done GLOBALLY. It should be safe to put % '\addplot' into local groups. % @@ -5103,7 +5144,7 @@ % % Low-level implementation: % -% \pgfplots@addplot +% \pgfplots@addplot % \pgfplots@addplotimpl % \pgfplots@start@plot@with@behavioroptions <--- \begingroup % ... @@ -5132,7 +5173,7 @@ }{% \pgfplots@getautoplotspec into\nextplotspec % the space after ']' is required here: - % FIXME: + % FIXME: % - \addplot[]plot coordinates is NOT allowed!? \expandafter\pgfplots@addplotimpl\expandafter[\nextplotspec]% }% @@ -5164,7 +5205,7 @@ \begingroup% <-- This groups ends in \pgfplots@end@plot % \pgfplotsutil@ifnextchar c{% - \pgfplots@addplotimpl@coordinates{#1}{#2}plot + \pgfplots@addplotimpl@coordinates{#1}{#2}plot }{% \pgfplotsutil@ifnextchar f{% \pgfplots@addplotimpl@f{#1}{#2}% @@ -5230,7 +5271,7 @@ \long\def\pgfplots@addplotimpl@fillbetween@opt@#1#2#3#4{% \pgfkeysifdefined{/tikz/fill between/of/.@cmd}{% \pgfplotslibraryfillbetween@addplot{#1,#2}{#3}{#4}% - }{% + }{% \pgfplotsthrow{invalid argument} {\pgfplots@loc@TMPa}% {Please load \string\usepgfplotslibrary{fillbetween} in order to use `\string\addplot\space fill between'.}% @@ -5244,7 +5285,7 @@ % PRECONDITION: % the key-value sets have all been set in the current scope. -% +% % POSTCONDITION: % 1. the following macros are initialised and sanitized: % \pgfplots@plot@domain @@ -5259,9 +5300,9 @@ % /pgfplots/mesh/rows % /pgfplots/mesh/cols % /pgfplots/samples y (will contain a value ) -% 3. the macro -% \b@pgfplots@should@sample@LINE -% will be +% 3. the macro +% \b@pgfplots@should@sample@LINE +% will be % \def\b@pgfplots@should@sample@LINE{1} % if the expression plotter should sample a line % and @@ -5272,7 +5313,7 @@ \pgfkeysgetvalue{/pgfplots/samples y}\pgfplots@plot@samples@y \pgfkeysgetvalue{/pgfplots/samples at}\pgfplots@plot@samples@at \pgfkeysgetvalue{/pgfplots/variable y}\pgfplots@plot@var@y - % + % \ifx\pgfplots@plot@samples@y\pgfutil@empty \else \pgfplotscoordmath{default}{parse int}{\pgfplots@plot@samples@y}% @@ -5306,7 +5347,7 @@ \fi % % Check if we have to sample a line or a matrix. - % + % \pgfkeysgetvalue{/pgfplots/sample dim}\pgfplots@loc@TMPa \def\pgfplots@loc@TMPb{auto}% \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb @@ -5444,6 +5485,25 @@ \def\pgfplots@addplotimpl@expression@hasuniform@y{0}% % % + % + % if( + % x is logarithmic && + % #1 == '\x' && + % the 'samples at' key has not been used ) + % -> sample logarithmically! + \def\pgfplots@samples@logarithmically@x{0}% + \ifpgfplots@xislinear + \else + \if\pgfplots@addplotimpl@expression@hasuniform@x1% + \ifx\pgfplots@plot@samples@at\pgfutil@empty + % we don't have 'samples at' -> use domain! + \def\pgfplots@samples@logarithmically@x{1}% + \fi + \fi + \fi + % + \def\pgfplots@samples@logarithmically@y{0}% + % % Now, prepare the loops. % % I am using \pgfplotsforeachungrouped in favor of @@ -5460,15 +5520,6 @@ }% \pgfplots@addplotimpl@expression@split@yz#2\pgfplots@EOI% % - \ifx\pgfplots@plot@samples@at\pgfutil@empty - % we don't have 'samples at' -> use domain! - \expandafter\pgfplots@domain@to@foreach\pgfplots@plot@domain\relax{\pgfplots@plot@samples}% - \let\pgfplots@expression@xdomain=\pgfplotsretval - \else - % use 'samples at': - \let\pgfplots@expression@xdomain=\pgfplots@plot@samples@at - \fi - % % do we have '\y' as y coordinate? \expandafter\def\expandafter\pgfplots@loc@TMPb\expandafter{\pgfplots@plot@var@y}% \ifx\pgfplots@addplotimpl@expression@yEXPR\pgfplots@loc@TMPb @@ -5487,37 +5538,137 @@ \fi \fi % + \ifpgfplots@yislinear + \else + \if\pgfplots@addplotimpl@expression@hasuniform@y1% + \def\pgfplots@samples@logarithmically@y{1}% + \fi + \fi + % + \ifpgfplots@threedim@log@sampling + \else + \def\pgfplots@samples@logarithmically@x{0}% + \def\pgfplots@samples@logarithmically@y{0}% + \fi + % + \if\pgfplots@samples@logarithmically@x1% + \else + \ifx\pgfplots@plot@samples@at\pgfutil@empty + % we don't have 'samples at' -> use domain! + \expandafter\pgfplots@domain@to@foreach\pgfplots@plot@domain\relax{\pgfplots@plot@samples}% + \let\pgfplots@expression@xdomain=\pgfplotsretval + \else + % use 'samples at': + \let\pgfplots@expression@xdomain=\pgfplots@plot@samples@at + \fi + \fi + % + \if\pgfplots@samples@logarithmically@x1% + \if\pgfplots@samples@logarithmically@y1% + \pgfplots@warning{Sorry, 3d log sampling in BOTH x and y is not implemented yet}% + \def\pgfplots@samples@logarithmically@y{0}% + \fi + \fi % \if0\b@pgfplots@should@sample@LINE % Samples twodimensionally (a lattice): - \expandafter\pgfplots@domain@to@foreach\pgfplots@plot@ydomain\relax{\pgfplots@plot@samples@y}% - \let\pgfplots@expression@ydomain=\pgfplotsretval + \if\pgfplots@samples@logarithmically@y0% + \expandafter\pgfplots@domain@to@foreach\pgfplots@plot@ydomain\relax{\pgfplots@plot@samples@y}% + \let\pgfplots@expression@ydomain=\pgfplotsretval + \fi % - % Assemble a - % \pgfplots@plot@data##1 -> - % \foreach \y in {-5,-4.6,...,5} {##1}; - % \foreach \x in {-5,-4.6,...,5} + % Assemble a + % \pgfplots@plot@data##1 -> + % \foreach \y in {-5,-4.6,...,5} {##1}; + % \foreach \x in {-5,-4.6,...,5} % macro: - \edef\pgfplots@plot@data##1{% - \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\pgfplots@plot@var@y in {\pgfplots@expression@ydomain} - {% - \pgfplots@plot@data@notify@next@y - \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\tikz@plot@var in {\pgfplots@expression@xdomain} {% - \pgfplots@plot@data@notify@next@x - ##1% + \if\pgfplots@samples@logarithmically@x0% + \if\pgfplots@samples@logarithmically@y0% + % standard case: no log sampling. + \edef\pgfplots@plot@data##1{% + \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\pgfplots@plot@var@y in {\pgfplots@expression@ydomain} + {% + \pgfplots@plot@data@notify@next@y + \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\tikz@plot@var in {\pgfplots@expression@xdomain} {% + \pgfplots@plot@data@notify@next@x + ##1% + }% + \noexpand\pgfplotsplothandlernotifyscanlinecomplete + }% }% - \noexpand\pgfplotsplothandlernotifyscanlinecomplete - }% - }% + \fi + \fi + \if\pgfplots@samples@logarithmically@x1% + \if\pgfplots@samples@logarithmically@y0% + % sample logarithmically in X: + \edef\pgfplots@plot@data##1{% + \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\pgfplots@plot@var@y in {\pgfplots@expression@ydomain} + {% + \pgfplots@plot@data@notify@next@y + % + \noexpand\pgfplotsforeachlogarithmicungrouped[\pgfplots@plot@samples][x] + \expandafter\noexpand\tikz@plot@var/\noexpand\pgfplots@current@point@x@log + in {\pgfplots@plot@domain}% + {% + \pgfplots@plot@data@notify@next@x + ##1% + }% + \noexpand\pgfplotsplothandlernotifyscanlinecomplete + }% + }% + \fi + \fi + \if\pgfplots@samples@logarithmically@x0% + \if\pgfplots@samples@logarithmically@y1% + % sample logarithmically in Y: + \edef\pgfplots@plot@data##1{% + \noexpand\pgfplotsforeachlogarithmicungrouped[\pgfplots@plot@samples@y][y] + \expandafter\noexpand\pgfplots@plot@var@y/\noexpand\pgfplots@current@point@y@log + in {\pgfplots@plot@ydomain}% + {% + \pgfplots@plot@data@notify@next@y + \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\tikz@plot@var in {\pgfplots@expression@xdomain} {% + \pgfplots@plot@data@notify@next@x + ##1% + }% + \noexpand\pgfplotsplothandlernotifyscanlinecomplete + }% + }% + \fi + \fi + \if\pgfplots@samples@logarithmically@x1% + \if\pgfplots@samples@logarithmically@y1% + % sample logarithmically in X and Y: + % FIXME : IMPLEMENT! + % FIXME : implementation UNFINISHED: also support log + % sampling in BOTH 'x' 'y'! + % requires to solve FIXME in \pgfplotsforeachlogarithmicungrouped) + % -> also adopt unittest_log_sampling_3d.tex + % + \fi + \fi \else % sample a line: \def\pgfplots@plot@ydomain{0:0}% - \edef\pgfplots@plot@data##1{% - \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\tikz@plot@var in {\pgfplots@expression@xdomain} {% - \pgfplots@plot@data@notify@next@x - ##1% + \if\pgfplots@samples@logarithmically@x1% + % sample logarithmically: + \edef\pgfplots@plot@data##1{% + \noexpand\pgfplotsforeachlogarithmicungrouped[\pgfplots@plot@samples][x] + \expandafter\noexpand\tikz@plot@var/\noexpand\pgfplots@current@point@x@log + in {\pgfplots@plot@domain}% + {% + \pgfplots@plot@data@notify@next@x + ##1% + }% }% - }% + \else + \edef\pgfplots@plot@data##1{% + \noexpand\pgfplotsforeachungrouped\expandafter\noexpand\tikz@plot@var in {\pgfplots@expression@xdomain} {% + \pgfplots@plot@data@notify@next@x + ##1% + }% + }% + \fi % % If we have (\x,\y,f(x)), use (\x,0,f(x)) instead and % suppress the error message which would occur for \y. @@ -5529,57 +5680,19 @@ \fi \fi \else - % Assemble a + % Assemble a % \pgfplots@plot@data##1 -> \foreach \x in {-5,-4.6,...,5} {##1} macro: - % - % - % if( - % x is logarithmic && - % #1 == '\x' && - % the 'samples at' key has not been used ) - % -> sample logarithmically! - \def\pgfplots@samples@logarithmically{0}% - \ifpgfplots@xislinear - \else - \if\pgfplots@addplotimpl@expression@hasuniform@x1% - \ifx\pgfplots@plot@samples@at\pgfutil@empty - % we don't have 'samples at' -> use domain! - \def\pgfplots@samples@logarithmically{1}% - \fi - \fi - \fi - \if\pgfplots@samples@logarithmically1% - \def\pgfplotsforeachlogarithmicmathid{x}% use \pgfplotscoordmath{x} + \if\pgfplots@samples@logarithmically@x1% % sample logarithmically: \edef\pgfplots@plot@data##1{% - \noexpand\pgfplotsforeachlogarithmicungrouped[\pgfplots@plot@samples] - \expandafter\noexpand\tikz@plot@var/\noexpand\pgfplots@current@point@x@log + \noexpand\pgfplotsforeachlogarithmicungrouped[\pgfplots@plot@samples][x] + \expandafter\noexpand\tikz@plot@var/\noexpand\pgfplots@current@point@x@log in {\pgfplots@plot@domain}% {% \pgfplots@plot@data@notify@next@x ##1% }% }% - % we have a logarithmic sampling sequence, - % \pgfplots@current@point@x@log is already available - % logarithmic! We can safe time and accuracy for the x - % coordinate by using that one instead of computing - % log(exp(\x)) numerically: - \pgfplots@disablelogfilter@xtrue - \def\pgfplots@addplotimpl@expression@prepare@x{% - \let\pgfplots@current@point@x=\pgfplots@current@point@x@log - }% - \pgflibraryfpuifactive - {\relax} - {% - % ok, if the FPU is NOT active, we should return - % results as fixed points. - % We need to configure that for - % \pgfplotsforeachlogarithmicungrouped manually: - \pgfplotsforeachlogarithmicformatresultwith{% - \pgfmathfloattofixed{\pgfmathresult}% - }% - }% \else \ifx\pgfplots@plot@samples@at\pgfutil@empty % we don't have 'samples at' -> use domain! @@ -5604,6 +5717,50 @@ \fi % % + \if\pgfplots@samples@logarithmically@x1% + % we have a logarithmic sampling sequence, + % \pgfplots@current@point@x@log is already available + % logarithmic! We can safe time and accuracy for the x + % coordinate by using that one instead of computing + % log(exp(\x)) numerically: + \pgfplots@disablelogfilter@xtrue + \def\pgfplots@addplotimpl@expression@prepare@x{% + \let\pgfplots@current@point@x=\pgfplots@current@point@x@log + }% + \pgflibraryfpuifactive + {\relax} + {% + % ok, if the FPU is NOT active, we should return + % results as fixed points. + % We need to configure that for + % \pgfplotsforeachlogarithmicungrouped manually: + \pgfplotsforeachlogarithmicformatresultwith{% + \pgfmathfloattofixed{\pgfmathresult}% + }% + }% + \fi + \if\pgfplots@samples@logarithmically@y1% + % we have a logarithmic sampling sequence, + % \pgfplots@current@point@y@log is already available + % logarithmic! We can safe time and accuracy for the y + % coordinate by using that one instead of computing + % log(exp(\y)) numerically: + \pgfplots@disablelogfilter@ytrue + \def\pgfplots@addplotimpl@expression@prepare@y{% + \let\pgfplots@current@point@y=\pgfplots@current@point@y@log + }% + \pgflibraryfpuifactive + {\relax} + {% + % ok, if the FPU is NOT active, we should return + % results as fixed points. + % We need to configure that for + % \pgfplotsforeachlogarithmicungrouped manually: + \pgfplotsforeachlogarithmicformatresultwith{% + \pgfmathfloattofixed{\pgfmathresult}% + }% + }% + \fi % START: % (NOTE: this does also define 'x', 'y', and 'z' math % expressions!) @@ -5724,7 +5881,7 @@ \expandafter\let\csname #3@max\endcsname=\pgfmathresult% }% \def\pgfplots@addplotimpl@expression@streamall{% - % create a backup of the 'x' and 'y' math expressions which + % create a backup of the 'x' and 'y' math expressions which % have been defined in \pgfplots@coord@stream@start: \let\pgfplots@addplotimpl@expression@pseudoconst@old@x=\pgfmathx@ \let\pgfplots@addplotimpl@expression@pseudoconst@old@y=\pgfmathy@ @@ -5758,7 +5915,7 @@ % negative arguments: % \x^3 ---> -0.2^3 but x^3 = (-0.2)^3 . % This does not happen for use fpu=true. - % + % \pgfplots@plot@data{% \let\pgfmathx@=\pgfplots@addplotimpl@expression@pseudoconst@x \let\pgfmathy@=\pgfplots@addplotimpl@expression@pseudoconst@y @@ -5918,7 +6075,7 @@ \let\pgfplots@backupof@pgfplotxyfile=\pgfplotxyfile -% the following code +% the following code % results finally in % % set format "%.7e";; set samples <...>; plot ... @@ -5973,7 +6130,7 @@ \ifx\pgfplots@gnuplot@dummy\pgfutil@empty \else \expandafter\pgfutil@in@\expandafter,\expandafter{\pgfplots@gnuplot@dummy}% - \ifpgfutil@in@ + \ifpgfutil@in@ \def\pgfplots@loc@TMPa##1,##2\pgfeov{\pgfplotsset{variable={##1},variable y={##2}}}% \else \def\pgfplots@loc@TMPa##1\pgfeov{\pgfplotsset{variable={##1}}}% @@ -6034,10 +6191,10 @@ set dummy \pgfplots@gnuplot@x\if0\b@pgfplots@should@sample@LINE,\pgfplots@gnuplot@y\fi; \ifx\pgfplots@gnuplot@logdirs\pgfutil@empty \else - set logscale \pgfplots@gnuplot@logdirs\space 2.71828182845905; + set logscale \pgfplots@gnuplot@logdirs\space 2.71828182845905; \fi \iftikz@plot@parametric set parametric;\fi - \ifpgfplots@curplot@threedim + \ifpgfplots@curplot@threedim \if0\b@pgfplots@should@sample@LINE % Samples twodimensionally (a lattice): % and the isosamples thing confuses me. @@ -6134,7 +6291,7 @@ \ifpgfplots@loop@CONTINUE % Now, invoke 'plot file'. % - % I invoke the private '@opt@' method because the semicolon ';' + % I invoke the private '@opt@' method because the semicolon ';' % character may cause problems due to catcode mismatches. % *sigh*. \pgfplots@addplotimpl@file@opt@@{}{}{#2}{#1}% this does not invoke the \pgfplots@start@plot@with@behavioroptions method. @@ -6159,7 +6316,7 @@ \pgfplots@gettikzinternal@keyval{prefix}{tikz@plot@prefix}{\jobname.}% \pgfplots@gettikzinternal@keyval{id}{tikz@plot@id}{pgf-shell}% % - \def\pgfplots@plot@filename{\tikz@plot@prefix\tikz@plot@id}% + \def\pgfplots@plot@filename{\tikz@plot@prefix\tikz@plot@id}% \def\pgfplots@plot@data{\pgfshell[\pgfplots@plot@filename]{#4}\pgfplotxyfile{\pgfplots@plot@filename.out}}% \def\pgfplotxyfile{\pgfplots@addplotimpl@shellresult{#5}}% \pgfplots@plot@data @@ -6180,7 +6337,7 @@ \ifpgfplots@loop@CONTINUE % Now, invoke 'plot file'. % - % I invoke the private '@opt@' method because the semicolon ';' + % I invoke the private '@opt@' method because the semicolon ';' % character may cause problems due to catcode mismatches. % *sigh*. \pgfplots@addplotimpl@file@opt@@{}{}{#2}{#1}% @@ -6312,7 +6469,7 @@ /pgfplots/filter discard warning=false, /pgfplots/mesh/rows=2,% allow \addplot[surf] graphics ... --> yields a good legend. /pgfplots/mesh/cols=2, - /pgfplots/mesh/check=false, + /pgfplots/mesh/check=false,% #1,/pgfplots/.cd,#2,% /pgfplots/plot graphics/@prepare legend, /pgfplots/plot graphics,% @@ -6380,7 +6537,7 @@ % automatically. % % Input options can be provided in '#2' using -% - column names, +% - column names, % for example '/pgfplots/table/x=firstcol' or just 'x=firstcol' % % - column indices, @@ -6395,14 +6552,14 @@ % \columnerrory, \columnerrorz % Provide access to the cell content which would be used without % 'expr'. -% The first three access the input coordinate columns, \meta the meta column -% (if any) and the last three the error data (if any). +% The first three access the input coordinate columns, \meta the meta column +% (if any) and the last three the error data (if any). % -% That means it is allowed to provide both, 'x' and 'x expr': +% That means it is allowed to provide both, 'x' and 'x expr': % 'x expr' can use the (old) value stored in 'x'. the final x % coordinate will be that returned of 'x expr'. % -% - \coordindex +% - \coordindex % % - \lineno (physical line numbers including comments etc) % @@ -6488,7 +6645,7 @@ \pgfplots@addplotimpl@table@fromstructure@prepareexpr@for{#1}{#3}{#4}% } -% Invokes `#1' if the command is invoked within +% Invokes `#1' if the command is invoked within % \addplot table {<\macro>}; % and `#2' if not. \def\pgfplotsifinaddplottablestruct#1#2{% @@ -6571,7 +6728,7 @@ \ifpgfplotslistempty \pgfplots@loop@CONTINUEfalse \else - % This here is just for sanity checking: if the 'y' column is + % This here is just for sanity checking: if the 'y' column is % - for whatever reasons - invalid; provide good error % recovery. \pgfplotslistcheckempty\addplot@tbl@y @@ -6671,7 +6828,7 @@ % PRECONDITION: % \pgfplots@plot@tbl@#1 contains the column name which would be used % if '#1 expr' is empty. -% +% % POSTCONDITION: % \pgfplots@plot@tbl@#1 will be CHANGED to use the 'expr' column (a % temporary name). @@ -6694,7 +6851,7 @@ \pgfkeysgetvalue{/pgfplots/table/#1 expr}{\pgfplots@loc@TMPa}% \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - % get expression into register: + % get expression into register: \t@pgfplots@toka=\expandafter{\pgfplots@loc@TMPa}% % % @@ -7007,7 +7164,7 @@ \pgfplots@gettikzinternal@keyval{prefix}{tikz@plot@prefix}{\jobname.}% \pgfplots@gettikzinternal@keyval{id}{tikz@plot@id}{pgf-shell}% % - \def\pgfplots@plot@filename{\tikz@plot@prefix\tikz@plot@id}% + \def\pgfplots@plot@filename{\tikz@plot@prefix\tikz@plot@id}% \pgfshell[\pgfplots@plot@filename]{#3}\pgfplots@addplotimpl@table@fromfile{#1}{#2}{\pgfplots@plot@filename.out}#4;% }% @@ -7069,7 +7226,7 @@ % \numplotsofactualtype % Expands to the number of plots which have been seen in the current -% axis and which have the same type as the actual plot handler. +% axis and which have the same type as the actual plot handler. % % See also \plotnumofactualtype \def\pgfplots@numplotsofactualtype{% @@ -7095,6 +7252,7 @@ % \pgfplotssurveyphase@setactiveplothandlers % + \def\plotnum{\the\pgfplots@numplots}% \let\numplotsofactualtype=\pgfplots@numplotsofactualtype@duringplot % % Store this name during the \addplot command. Thus, even if the @@ -7400,7 +7558,7 @@ \fi }% -% Takes the current point (defined by a set of macros) as input and defines \pgf@x and \pgf@y +% Takes the current point (defined by a set of macros) as input and defines \pgf@x and \pgf@y % as the output point. It also defines % \pgfplots@current@point@x and its variants to contain the % transformed canvas coords (those which can be given to @@ -7484,14 +7642,14 @@ % Defines where to expect INPUT coordinates % \pgfplotspointgetcoordinatesfromnormalized[path=/data point/ -% would expect input coordinates +% would expect input coordinates % /data point/x % /data point/y % /data point/z \pgfkeyssetvalue{/pgfplots/coords/path}{/data point} % \pgfplotspointgetcoordinatesfromnormalized[target path=/data point/zero/ -% would write output coordinates +% would write output coordinates % /data point/zero/x % /data point/zero/y % /data point/zero/z @@ -7533,7 +7691,7 @@ \let#2=\pgfmathresult }% -% Defines an optimized and matching \pgfplotsaxisvisphasetransformcoordinate +% Defines an optimized and matching \pgfplotsaxisvisphasetransformcoordinate % during the coordinate finalization step in \end{axis}. \def\pgfplots@coord@stream@INIT@finalize@storedcoords@prepare@scaletrafomacro{% \begingroup @@ -7715,14 +7873,14 @@ % The argument '#1' is optional: if you leave it away, the current value of the 'pos' key will be used. % This method will work for most plot handlers, although some of them might be unsupported. % -% As a side-effect, it defines the (global) macros +% As a side-effect, it defines the (global) macros % - \pgfplotspointplotattimefirst the start coordinate of the line segment containing #1 % - \pgfplotspointplotattimesecond the end coordinate of the line segment containing #1 % - \pgfplotspointplotattimecoords the coordinates of #1 -% The first two are interesting in order to allow the computation of gradients. +% The first two are interesting in order to allow the computation of gradients. % \pgfplotsplothandlerpointtokeys{/data point}% % for the \pgfplotspointplotattimecoords point -% +% % Any of these macros can be decoded using % \pgfplotsplothandlerdeserializepointfrom\pgfplotspointplotattimesecond % \pgfplotsaxisvisphasegetpoint @@ -7738,7 +7896,7 @@ \else \pgfplotspointplotattimegetfromcache{#1}% \ifpgfplots@loc@tmp - % CACHE HIT! + % CACHE HIT! %\message{CACHE HIT for \string\pgfplotspointplotattime{#1}^^J}% \else %\message{NO cache hit for \string\pgfplotspointplotattime{#1}^^J}% @@ -7879,9 +8037,9 @@ }% % A macro which is invoked whenever \pgfplotspointplotattime found a -% line segment. +% line segment. % -% INPUT: +% INPUT: % - \pgfplots@cur : serialized current point. This current point's % properties are available in the macros % \pgfplots@current@point@[xyz] etc. @@ -7969,7 +8127,7 @@ \fi }% -% INPUT: +% INPUT: % either floating point or fixed point coordinates (depending on the % state of the \ifpgfplots@apply@datatrafo boolean) % @@ -8047,7 +8205,7 @@ \fi }% - + % This routine is called at the begin of every plot. % It initialises a zero level stream. % @@ -8061,7 +8219,7 @@ % "draw zero level coordinates from list XYZ." % But at the time of this initialisation, the list will be EMPTY! % - % It will be filled later. That's ok, because + % It will be filled later. That's ok, because % \pgfplots@initzerolevelhandler will be % used as 'precommand', that means before Tikz sees any % coordinates. @@ -8184,7 +8342,7 @@ % \ifpgfplots@threedim % \pgfkeyslet{/pgfplots/axis/zero/z}\pgfplots@logical@ZERO@z % \fi - %-------------------------------------------------- + %-------------------------------------------------- }% @@ -8346,8 +8504,8 @@ }% % PRECONDITION: -% \pgfplotsplothandlergraphicspointmappointindex is -% empty if and only if (#4,#5) is empty +% \pgfplotsplothandlergraphicspointmappointindex is +% empty if and only if (#4,#5) is empty % or it is an index among all points with non--empty (#4,#5) image % coordinates. \def\pgfplotsplothandlergraphicspointmappoint(#1,#2,#3)(#4,#5){% @@ -8403,7 +8561,7 @@ % involved vectors). Thus, a simple approach is to provide 4 % linearly independend points to get 8 equations. % - % Then, I solve for o,e_x,e_y,e_z + % Then, I solve for o,e_x,e_y,e_z % \pgfplotsmatrixnewempty\pgfplotsmatrix \pgfplotsmatrixresize\pgfplotsmatrix88% @@ -8421,8 +8579,8 @@ \def\pgfplots@logical@z{##3}% }% % Assemble the linear system such that - % x = [ - % exx + % x = [ + % exx % exy % eyx % eyy @@ -8565,13 +8723,13 @@ \t@pgfplots@tokc=\expandafter{\pgfplots@loc@TMPa}% \immediate\write \if1\pgfplotsplothandlergraphicspointmapcomputerequiredview@debug 16\else -1\fi - {PGFPlots plot graphics[auto adjust axis=true] {\the\t@pgfplots@tokc} \csname on@line\endcsname: determined options '\pgfplotsretval'. + {PGFPlots plot graphics[auto adjust axis=true] {\the\t@pgfplots@tokc} \csname on@line\endcsname: determined options '\pgfplotsretval'. \if1\pgfplotsplothandlergraphicspointmapcomputerequiredview@debug See \the\t@pgfplots@tokc.dat for debug output. \else Use 'plot graphics[debug]' or 'plot graphics[debug=visual]' to generate debug output files. \fi - ^^J}% + ^^J}% \endgroup \fi % @@ -8700,9 +8858,9 @@ % DD_x / dd_x = W / w % DD_y / dd_y = H / h % - % where (W,H) is the natural size (i.e. in IMAGE coordinates) of the picture and + % where (W,H) is the natural size (i.e. in IMAGE coordinates) of the picture and % (w,h) is the size the picture will occupy in CANVAS coordinates. - % + % \pgfmath@basic@multiply@{\pgfplots@x@rel}{\pgfplots@W}% \let\pgfplots@w=\pgfmathresult % @@ -8825,7 +8983,7 @@ \pgfsetfillcolor{green}% \pgfpathcircle{\pgfplots@point@canvas}{2pt}% \pgfusepath{stroke,fill}% - \draw[->,red] + \draw[->,red] \pgfextra{ \pgfpathmoveto{\pgfplots@point@canvas@check}% \pgfpathlineto{\pgfplots@point@canvas}}; @@ -8846,8 +9004,8 @@ \pgfplots@error{Error using 'plot graphics': I got too few coordinates! I expected the lower left and upper right corners!}% \xdef\pgfplots@plot@handler@graphics@bb@first{\noexpand\pgfqpoint{0pt}{0pt}}% \xdef\pgfplots@plot@handler@graphics@bb@first{\noexpand\pgfqpoint{0pt}{0pt}}% - - \fi + + \fi \begingroup % determine the lower left / upper right corners. \pgfplots@plot@handler@graphics@bb@first diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex index e6d957d842d..60d6274eb5e 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007-2015 by Christian Feuersänger. @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -26,7 +26,7 @@ % The low-level tikz plot handler for 3D mesh and surface plots. % -% It expects +% It expects % a) a coordinate stream which is a linearized matrix, iterated either % rowwise or column wise, % b) the current set of options in /pgfplots/mesh/. @@ -55,7 +55,7 @@ % pgfplots axes - as long as \pgfplots@current@point@meta is in % the range [0,1000]. % - for the case 'shader=interp', a bounding box must be established -% before the plot is finished. This must be done using +% before the plot is finished. This must be done using % \def\pgfplotspointbbupperright{\pgfqpointxyz{2}{2}{0.9}} % \def\pgfplotspointbblowerleft {\pgfqpointxyz{0}{0}{0.1}} % or something like that. @@ -76,24 +76,24 @@ % mesh/rows=4, % mesh/cols=4, % mesh/num points=, -% /tikz/x={(0.44237cm,-0.07439cm)}, +% /tikz/x={(0.44237cm,-0.07439cm)}, % /tikz/y={(0.30942cm,0.23932cm)}, % /tikz/z={(0.0cm,1.5cm)}, % ] % \makeatletter -% +% % \global\let\pgfplots@metamax=\pgfutil@empty % \pgfplots@curplot@threedimtrue -% +% % \pgfplotsplothandlermesh % \pgfplotstreamstart -% +% % \def\rangea{0.21}% % \def\rangeb{0.9}% -% +% % \pgfmathparse{1000/(\rangeb-\rangea)} % \let\factor=\pgfmathresult -% +% % \def\simplecoordinate(#1,#2,#3){% % \pgfmathparse{\factor*(#3 - \rangea)}% % \let\pgfplots@current@point@meta=\pgfmathresult @@ -102,31 +102,31 @@ % % for the case 'shaer=interp': % \def\pgfplotspointbbupperright{\pgfqpointxyz{2}{2}{0.9}} % \def\pgfplotspointbblowerleft {\pgfqpointxyz{0}{0}{0.1}} -% +% % \simplecoordinate(0,3,0.7) % \simplecoordinate(1,3,0.5) % \simplecoordinate(2,3,0.58) % \simplecoordinate(3,3,0.9) -% +% % \simplecoordinate(0,2,0.68) % \simplecoordinate(1,2,0.22) % \simplecoordinate(2,2,0.25) % \simplecoordinate(3,2,0.4) -% +% % \simplecoordinate(0,1,0.6) % \simplecoordinate(1,1,0.3) % \simplecoordinate(2,1,0.21) % \simplecoordinate(3,1,0.3) -% +% % \simplecoordinate(0,0,0.8) % \simplecoordinate(1,0,0.56) % \simplecoordinate(2,0,0.5) % \simplecoordinate(3,0,0.75) -% -% +% +% % \pgfplotstreamend % \pgfusepath{stroke} -% +% % \endscope % \end{tikzpicture} % ---------------------------------------------------------- @@ -199,7 +199,7 @@ \fi \fi % - % + % \pgfplotsifisvisualizationphase{% \pgfplotsplothandlermesh@init@variables }{}% @@ -223,7 +223,7 @@ % % Prepare color data source: \ifx\pgfplotspointmetainputhandler\pgfutil@empty% - % oh. There is no color data!? + % oh. There is no color data!? \pgfplotsplothandlermesh@init@path@without@point@meta % \else @@ -362,7 +362,7 @@ % -> perhaps the check can be skipped entirely. % % oh. shading type=5 is *essentially* the same as - % matrix output, but matrix output is forbidden. + % matrix output, but matrix output is forbidden. % In that case, triangulate the matrix and shade the % triangles: \def\pgfplotsplothandlermesh@triangulate{1}% @@ -381,7 +381,7 @@ \else \edef\pgfplotsplothandlerLUAvisualizerfactory{ function(plothandler) return pgfplots.MeshVisualizer.new( - plothandler, + plothandler, \pgfplotsretval(), pgfplots.pgftonumber("\pgfkeysvalueof{/pgfplots/mesh/rows}"), pgfplots.pgftonumber("\pgfkeysvalueof{/pgfplots/mesh/cols}"), @@ -403,7 +403,7 @@ % % PRECONDITION: % The values of -% - '/pgfplots/mesh/rows' +% - '/pgfplots/mesh/rows' % - '/pgfplots/mesh/cols' % - '/pgfplots/mesh/num points' % - \pgfplotsscanlinelength @@ -429,12 +429,12 @@ % % PRECONDITION: % The values of -% - '/pgfplots/mesh/rows' +% - '/pgfplots/mesh/rows' % - '/pgfplots/mesh/cols' % - '/pgfplots/mesh/num points' % - '/pgfplots/mesh/ordering' % are assigned properly. -% If +% If % - \pgfplotsscanlinelength % exists and is positive, it may also be used. % @@ -537,7 +537,7 @@ \pgfplotswarning{matrix delinearize uses sqrt}{\pgfplotsplothandlermesh@rows}{\pgfplotsplothandlermesh@cols}{\pgfplotsplothandlermesh@numpoints}{\pgfmathresult}\pgfeov% \else \pgfplots@error{Sorry, 'plot mesh' needs either '[mesh/rows=<N>]' or '[mesh/cols=<N>]' set, - but it did not find any of them. + but it did not find any of them. I also tried rows = sqrt(num points) = sqrt(\pgfplotsplothandlermesh@numpoints) = \pgfmathresult\space without success.}% \fi \pgfmath@smuggleone\pgfplotsplothandlermesh@rows @@ -616,7 +616,7 @@ \expandafter\pgfplots@loc@TMPa\expandafter{\pgfplotsplothandlermesh@cols}% }% -%% +%% %% Helper structs for patch plots (surfaces) % #1: the canvas x coordinate @@ -634,7 +634,7 @@ }% % Assumes that #1 expands to an argument of \pgfplotspatchvertex and -% that #2 is a macro containing another patch vertex. +% that #2 is a macro containing another patch vertex. % % It then replaces #2 by a new vector which is equal to #2 except for % the point meta which is taken from #1. @@ -858,7 +858,7 @@ }% % Declares a new patch class named #1. -% +% % #1: a string name. % #2: methods defining the class, provided as key values. See the % predefined classes to adjust your own ones. Documentation about the @@ -1011,7 +1011,7 @@ % type). % % 'sample in unit cube={<code to invoke for each sampled point>}' - % + % % It will invoke <code to invoke for each sampled point> once for % every sampled vertex. The complete unit cube will be covered. % Depending on the patch type, either one or more patches are @@ -1019,8 +1019,8 @@ % \pgfplotspatchready will be invoked. % % - % PRECONDITION: - % -\pgfplotspatchready is defined. + % PRECONDITION: + % -\pgfplotspatchready is defined. % % Arguments: % #1: code which will be invoked whenever a new coordinate is @@ -1078,14 +1078,14 @@ first vertex before z buffer/.code= {\expandafter\def\csname pgfpptch\pgfplotsdeclarepatchclass@ first vertex before z buffer\endcsname{#1}},% % - % invokes + % invokes % \pgfplotspatchvertex...\endvertex % #1 % for the every vertex. foreach vertex/.code= {\expandafter\def\csname pgfpptch\pgfplotsdeclarepatchclass@ foreach vertex\endcsname##1{#1}},% % - % invokes + % invokes % \pgfplotspatchvertex...\endvertex % #1 % for every colored vertex. @@ -1182,7 +1182,7 @@ % A method which defines \pgfplotsretval to be the normal of the current segment. % The values will be given in a format understood by % \pgfplotsmathvectortostring{\pgfplotsretval}{default} - % + % % This method REQUIRES that 3d coordinates are stored (see \pgfplotsplothandlermesh@serialize@logical@coords). compute normal/.code= {\expandafter\def\csname pgfpptch\pgfplotsdeclarepatchclass@ compute normal\endcsname{#1}},% @@ -1593,7 +1593,7 @@ % reverse xy seq \let\pgfplots@loc@TMPa\pgfplotspatchclass@rect@C \or - % sort + % sort \let\pgfplots@loc@TMPa\pgfplotspatchclass@rect@A \else % the choices 'default' or 'auto' should have been expanded already. Nothing to do here: @@ -1614,7 +1614,7 @@ % reverse xy seq \let\pgfplots@loc@TMPa\pgfplotspatchclass@rect@C \or - % sort + % sort \let\pgfplots@loc@TMPa\pgfplotspatchclass@rect@A \else % the choices 'default' or 'auto' should have been expanded already. Nothing to do here: @@ -1628,8 +1628,8 @@ % D <-- C % | ^ % v | -% A --> B -% +% A --> B +% \pgfplotsdeclarepatchclass{rectangle}{% allow matrix=\def\pgfplotsretval{1}, new=\def\pgfplotspatchclass@rect@no{0}, @@ -1758,7 +1758,7 @@ % Furthermore, for fixed v, the 'u=1' point should belong % to the foreground (as it is drawn on top of u=0). % -% In other words, if the coons patch looks like +% In other words, if the coons patch looks like % % BB-------CC <--v=1 % | | @@ -1769,7 +1769,7 @@ % u=0 u=1 % % where the AA,BB,CC,DD are the corners of the coons -% patch, The FOREGROUND POINT of our visualization here should be CC, +% patch, The FOREGROUND POINT of our visualization here should be CC, % the second most foreground point BB (assuming that % foreground point and second most foreground point are % adjacent). @@ -1796,7 +1796,7 @@ % % Note that this method works also for biquadratic patches since these % patches also have #1A, #1B, #1C and #1D as their corners. -% +% \def\pgfplotspatchclass@rect@to@coonspatch@findshadingsequence@for@depth#1#2#3{% \def#2{A}% \def#3{}% @@ -1862,7 +1862,7 @@ \def\pgfplotsplothandlermesh@VISUALIZE{\pgfplotsplothandlermesh@VISUALIZE@globalpath@fill@andor@stroke}% \let\pgfplotsplothandlermesh@pathmoveto=\pgfplotsplothandlermesh@pathmoveto@globalpath \let\pgfplotsplothandlermesh@setlastpoint=\pgfplotsplothandlermesh@setlastpoint@globalpath - % + % % This activates tikz colors: %\tikz@options \pgfplots@drawoptions @@ -2094,7 +2094,7 @@ % mesh input=lattice|image % Init memory: % - % And now finally: initialise the conversion from + % And now finally: initialise the conversion from % LINEARIZED COORD STREAM -> DATA MATRIX: \if\pgfplots@plot@mesh@ordering0% % x varies (=rowwise): @@ -2285,12 +2285,12 @@ } % Invokes \pgfplotsscanlinecomplete if the scanline is complete according to the keys 'mesh/rows' and/or 'mesh/cols' -% +% % This routine improves the precision of the scanline computation, but not much. % At the time of this writing, its only purpose is to help 'matrix input=image' % as that requires information about the current scanline in order to update its % axis limits. -% +% % Note that this macro is unnecessary in many cases: if the user input _contains_ end-of-scanline markers, it is redundant. % % Limitations of this routine: @@ -2339,7 +2339,7 @@ % \ifpgfplotsplothandlermesh@needs@scanlinecomplete@notifications % - % OK, we EXPECT that the code generated + % OK, we EXPECT that the code generated % notifications of sorts \pgfplotsscanlinecomplete. % % If this turns out to be NOT the case, we generate a @@ -2351,7 +2351,7 @@ % input has been surveyed) % 2. OR \pgfplotsscanlinecomplete has been called due to scan % line length comparison with mesh/cols or mesh/rows. In this - % case, the required argument must have been set, see + % case, the required argument must have been set, see % \pgfplotsplothandlersurveypoint@mesh@check@scanline@length@init % \ifnum\c@pgfplotsplothandlermesh@image@numscanlines<2 @@ -2386,7 +2386,7 @@ \fi }% -\def\pgfplotsplothandlersurveyaftersetpointmeta@mesh@cdatanormalize{% +\def\pgfplotsplothandlersurveyaftersetpointmeta@mesh@cdatanormalize{% \pgfplotsplothandlersurveyaftersetpointmeta@default \if0\pgfplotsplothandlermesh@colorinput % mesh/color input=colormap @@ -2691,7 +2691,7 @@ % mesh/color input=colormap \if d\pgfplots@colormap@access % colormap access=direct - % we assume that the color *is* already normalized, + % we assume that the color *is* already normalized, % i.e. it is {<comma-separate-components>} and to be % interpreted in the correct color space. \edef\pgfplots@loc@TMPb{% @@ -2707,7 +2707,7 @@ \else % mesh/color input=explicit % - % we assume that the color *is* already normalized, + % we assume that the color *is* already normalized, % i.e. it is {<comma-separate-components>} and to be % interpreted in the correct color space. \edef\pgfplots@loc@TMPb{% @@ -2787,8 +2787,8 @@ % nor in two dimensions. \pgfkeyssetvalue{/pgfplots/surf shading/anchor}{\pgfpointorigin}% % - % do NOT update the picture's BB using the streamed low-level coordinates - % (which are bezier control points in most cases). + % do NOT update the picture's BB using the streamed low-level coordinates + % (which are bezier control points in most cases). % We do that on our own using the input vertices. \pgfkeys{/pgfplots/surf shading/update BB=false}% \if1\b@pgfplotsplothandlermesh@matrixoutput @@ -2841,7 +2841,7 @@ % ordering=x varies: % nothing special to do \else - % FIXME + % FIXME % [this happens only for mesh input=lattice] % colwise: % @@ -2956,7 +2956,7 @@ % segment. \let\pgfplotsplothandlermesh@usepath=\pgfplotsplothandlermeshusepathstroke \else - % 'surf' plot: + % 'surf' plot: \let\pgfplotsplothandlermesh@usepath=\pgfplotsplothandlermeshusepathfillstroke \if\pgfplotsplothandlermesh@shader3% faceted interp % it has an extra fill command (shading) @@ -3120,7 +3120,7 @@ \fi % \if 1\pgfplots@loc@TMPa - % ok, this uses (only) 'shader=flat' + % ok, this uses (only) 'shader=flat' \if c\pgfplotsplothandlermesh@flatmode % 'flat corner': \if1\b@pgfplots@correct@shader@flat @@ -3174,7 +3174,7 @@ \let\pgfplotsplothandlermesh@compute@vertex@depth=\pgfplotsplothandlermesh@compute@vertex@depth@doit% % % the "element depth" is defined to be the MEAN of all - % vertex depths. + % vertex depths. % And since the mean is 1/n * sum_{i=1}^n V_i, we can % directly omit the 1/n --- it is the same for every % vertex anyway, and we only want to compare the depth @@ -3269,7 +3269,7 @@ /pgfplots/mesh input=lattice, /pgfplots/patch type=rectangle, /pgfplots/z buffer=default, - /tikz/x={(0.44237cm,-0.07439cm)}, + /tikz/x={(0.44237cm,-0.07439cm)}, /tikz/y={(0.30942cm,0.23932cm)}, /tikz/z={(0.0cm,1.5cm)}, scale=0.4, @@ -3406,7 +3406,7 @@ % get (i-1, j) from front of deque // remember: i: rows, j : cols. We iterate rowwise. % push (i,j) to back of deque % if j > 0 -% draw +% draw % (i-1,j-1) [from last iteration] -- (i-1,j ) [from deque] % -- ( i,j ) [from last iteration] -- (i ,j-1) [from #1] % -- cycle @@ -3421,7 +3421,7 @@ % #2: a callback (TeX code) which will be executed for each point with j>0 % #3: a callback (TeX code) which will be executed if the scanline is completed, i.e. j=cols \def\pgfplotsplothandlermesh@PIPE@DECODE@matrix@collect@and@callback#1#2#3{% - % NOTATION: + % NOTATION: % 'im == (i-1)' % 'jm == (j-1)' \pgfplotsplothandlermesh@compute@vertex@depth% <-- this modifies \pgfplotsretval diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex index f3b28374d07..f10082afb32 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2010 by Christian Feuersänger. @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -68,7 +68,7 @@ % \pgfplotstreamstart % foreach <serizalized point> { % \pgfplotsplothandlerdeserializepointfrom{<serialized point>} -% apply data transformations +% apply data transformations % handle plot marks % \pgfplotstreampoint{\pgfplotsqpointxy{<x>}{<y}} % } @@ -148,7 +148,7 @@ % coordinates. But it may be more complex. % % So, the coordinate input routine provides whatever the user has -% chosen. Let's assume, we are using \addplot table. Then, we can +% chosen. Let's assume, we are using \addplot table. Then, we can % access every cell in the current row (using \thisrow{<colname>} for % example). The plot handler knows how to extract its information from % this state. In general, the following steps are taken: @@ -159,7 +159,7 @@ % \pgfplotsaxisparsecoordinate{} % This will apply coordinate filters, parse the single coordinates % and apply high level transformations and any logarithms. -% It is some sort of advanced coordinate parser which works only for +% It is some sort of advanced coordinate parser which works only for % (x,y) or for (x,y,z). % It yields (x,y,z). But the axis might need to change its % components! Thus, you also need to call @@ -191,12 +191,12 @@ % point as "readily surveyed". It is allowed if this does *not* % happen inside of \pgfplotsplothandlersurveypoint, but it must % happen before \pgfplotsplothandlersurveyend is finished. -% +% % The plot handler invokes \pgfplotsaxisdatapointsurveyed. % This tells the axis that it can perform its own surveying tasks % (see below) and furthermore, that it can serialize the data point. % Consequently, it will invoke -% \pgfplotsplothandlerserializepointto{<\macro>} +% \pgfplotsplothandlerserializepointto{<\macro>} % and it will remember that \macro internally. This serialization is % employed to place plot marks and to apply z buffering techniques % (that's why it is done by the axis and not by the plot handler on @@ -340,7 +340,7 @@ % % For example: % \pgfplotsplothandlers@get@tikz@backup@name{\pgfplothandlerlineto} -% will return \pgfplotsretval={\\pgfplothandlerlineto@tikz} +% will return \pgfplotsretval={\\pgfplothandlerlineto@tikz} % (up to \escapechar) \def\pgfplotsplothandlers@get@tikz@backup@name#1{% \begingroup @@ -363,7 +363,7 @@ % ... get the name of the backup (see \pgfplotsplothandlers@init) \expandafter\pgfplotsplothandlers@get@tikz@backup@name\pgfplots@loc@TMPa \expandafter\ifx\pgfplotsretval\tikz@plot@handler - % AH! \tikz@plot@handler is the same as some backup name! + % AH! \tikz@plot@handler is the same as some backup name! % Replace it: \expandafter\let\expandafter\tikz@plot@handler\pgfplots@loc@TMPa \fi @@ -468,7 +468,7 @@ \let\pgfplots@loc@TMPa=\pgfmathresult \csname pgfplotstransformdirection\pgfplots@bar@direction@choice@\endcsname{\pgfplots@loc@TMPa}% \let\pgfplots@loc@TMPa=\pgfmathresult - \if\pgfplots@bar@direction@choice@ x% + \if\pgfplots@bar@direction@choice@ x% \pgfqpointxy@orig{\pgfplots@loc@TMPa}{0}% \edef\pgfmathresult{\pgf@sys@tonumber\pgf@x}% \else @@ -523,7 +523,7 @@ }% % This should expand to a LUA function which takes the axis and the point -% meta handler. +% meta handler. % Use empty if there is none. \def\pgfplotsplothandlerLUAfactory@default{}% @@ -565,7 +565,7 @@ % The data point as such is available using the current state of any % macros which are assigned during the survey phase (during \addplot). % This includes any table macros etc. -% PGFPlots stores the x,y and z coordinates into \pgfplots@current@point@[xyz]. +% PGFPlots stores the x,y and z coordinates into \pgfplots@current@point@[xyz]. % The point meta coordinate is in \pgfplots@current@point@meta. % % Note that since any currently assigned macro can be used here, the @@ -615,7 +615,7 @@ % Store normalized point for list: % We need % xi,yi,zi; - % where zi may be empty. + % where zi may be empty. % % Note that per-point meta information is stored in % \pgfplotsaxisserializedatapoint . @@ -726,7 +726,7 @@ % \pgfplotsplothandlersurveydifflen#1#2 % % computes the length between two points which are given in logical -% coordinates. +% coordinates. % #1 a serialized point % #2 a serialized point % @@ -791,7 +791,7 @@ \advance\pgf@y by-\pgf@ya% \ifpgfallowupsidedownattime% \else% - \ifdim\pgf@x<0pt% + \ifdim\pgf@x<0pt% \pgf@x=-\pgf@x% \pgf@y=-\pgf@y% \fi% @@ -830,7 +830,7 @@ }% % ================================== -% Defines +% Defines % - a generic update limits routine, % \pgfplotsaxisupdatelimitsforcoordinate#1#2#3 % if #3 is empty, it will assume a 2d point, otherwise a 3d point @@ -897,7 +897,7 @@ %\E\tracingmacros=2\E\tracingcommands=2 %\E\pgfplots@message{Updating limits for (##1,##2) ...}% % - % VIM SEARCH PATTERN: + % VIM SEARCH PATTERN: % [^E]\zs\\\ze[^E] % -> this finds '\' which is neither '\E' nor is it prefixed % by 'E'. @@ -906,7 +906,7 @@ % \E\pgfplots@update@limits@for@one@point@ISCLIPPEDfalse % check whether we need to clip limits: - \ifpgfplots@clip@limits + \ifpgfplots@clip@limits@x \ifpgfplots@autocompute@xmin \else \ifpgfplots@xislinear @@ -935,6 +935,8 @@ \E\fi \fi \fi + \fi + \ifpgfplots@clip@limits@y \ifpgfplots@autocompute@ymin \else \ifpgfplots@yislinear @@ -963,6 +965,8 @@ \E\fi \fi \fi + \fi + \ifpgfplots@clip@limits@z \ifpgfplots@curplot@threedim \ifpgfplots@autocompute@zmin \else @@ -1103,7 +1107,7 @@ % multiple times for a single data "point" (for example, a quiver % point might call it for the point where the vector starts and % where the vector ends). - % + % % @PRECONDITION % - the plot's survey phase is running (has already been started) % - \pgfplots@current@point@[xyz] contains the coordinates of the @@ -1218,7 +1222,7 @@ % Its input is (x_i,y_i); (u_i,v_i) for data point i and it draws a % vector in direction (u_i,v_i) starting from (x_i,y_i) . % It also supports 3D arrows (involving z_i and w_i). - + \newif\ifpgfplots@quiver@usetikz \newif\ifpgfplots@quiver@updatelimits @@ -1227,7 +1231,7 @@ % % User Interface: % use /pgfplots/quiver to enable the plot handler. - % Then, provide `quiver/u value' or `quiver/u' to + % Then, provide `quiver/u value' or `quiver/u' to % tell where to find the 'x' coordinates of the vectors, and similarly % for 'v' and 'w' instead of 'u'. quiver/.code={% @@ -1253,9 +1257,9 @@ \def\pgfplots@quiver@v{1}% \def\pgfplots@quiver@w{1}% },% - ] + ] plot coordinates { - (0cm,0cm) + (0cm,0cm) };% }% }, @@ -1647,8 +1651,8 @@ hist/density=false, hist/handler/.style={/tikz/ybar interval}, hist/symbolic coords/.style={% - /pgfplots/symbolic coords={hist/data}{A,B,C,D,E,F,G,H,I,J}, - /pgfplots/symbolic coords={x}{A,B,C,D,E,F,G,H,I,J}, + /pgfplots/symbolic coords={hist/data}{#1}, + /pgfplots/symbolic coords={x}{#1}, },% }% \def\pgfplotsplothandlerhistogram{% @@ -1779,11 +1783,11 @@ \expandafter\pgfplotsplothandlersurveyend@hist@loop\pgfplots@hist@data\pgfplots@EOI \let\pgfplots@hist@data=\relax % - + % Calculate total count \c@pgf@counta=0 \pgfplotsarrayforeachungrouped{pgfp@hist}\as\pgfplots@hist@count{% - \advance\c@pgf@counta by\pgfplots@hist@count\relax + \advance\c@pgf@counta by\pgfplots@hist@count\relax \def\pgfplots@loc@TMPa{\pgfplotsarrayset{\pgfplotsarrayforeachindex}\of{pgfp@hist}\to}% }% \pgfmathfloatparsenumber{\the\c@pgf@counta}% @@ -1814,11 +1818,11 @@ \else \pgfmathfloatmultiply@{\pgfp@hist@totalcount@inv}{\pgfplotsplothandlerhistogram@invh}% \let\pgfp@hist@totalcount@times@h@inv=\pgfmathresult -% FIXME : this here is a patch suggestion for +% FIXME : this here is a patch suggestion for % https://sourceforge.net/tracker/?func=detail&atid=1060656&aid=3609245&group_id=224188 % % FIXME : this line would actually compute relative frequencies... -% might not be too bad at all, but is no density +% might not be too bad at all, but is no density %\let\pgfp@hist@totalcount@times@h@inv=\pgfp@hist@totalcount@inv \pgfplotsarrayforeachungrouped{pgfp@hist}\as\pgfplots@hist@count{% \pgfmathfloatparsenumber{\pgfplots@hist@count}% @@ -1864,7 +1868,7 @@ % This here might be inefficient, because % there needs to be a compatible "x coord trafo" as well -- and % that transformation will (most likely) do the very same thing as - % the hist/data coord trafo. + % the hist/data coord trafo. % % But I did not find a way to combine the transformations % automatically without resorting to hackery. @@ -1988,7 +1992,7 @@ },% contour/labels/.is if=pgfplotsplothandlercontour@labels, contour/labels=true, - % + % % XXX : this here is dead code... it has been superseded by % \pgfplotsplothandlercontourfilled: contour/filled/.is if=pgfplotsplothandlercontour@filled, @@ -2078,14 +2082,14 @@ contour external={% scanline marks=required, script={ - unset surface; + unset surface; \ifx\thecontourlevels\empty set cntrparam levels \thecontournumber; \else set cntrparam levels discrete \thecontourlevels; \fi - set contour; - set table \"\outfile\"; + set contour; + set table \"\outfile\"; splot \"\infile\"; }, cmd={gnuplot \"\script\"},% @@ -2524,7 +2528,7 @@ \let\pgfplotsplothandlercontour@lastlastcanvas=\pgfutil@empty \ifpgfplotsplothandlercontour@labels \def\pgfplotsplothandlercontour@haslabel{0}% - % + % % this here means that 20% of labeldist are already there. % it moves the first label nearer to its start. \pgf@xa=\pgfplotsplothandlercontour@labeldist\relax @@ -2664,7 +2668,7 @@ % \if0\pgfplotsplothandlercontourexternal@scanlinemode \pgfplotsset{plot to file/scanline marks/false}% - \else + \else \pgfplotsset{plot to file/scanline marks/if in input}% the choice 'always' is unaware of existing end-of-scanline marks \fi \pgfplotsplothandlertofile{\pgfplotsplothandlercontourexternal@file.dat}% @@ -2805,7 +2809,7 @@ }% } - + @@ -2994,11 +2998,11 @@ % \pgfkeysgetvalue{/pgfplots/contour/levels}\pgfplots@loc@TMPa \ifx\pgfplots@loc@TMPa\pgfutil@empty - % no levels. + % no levels. % Ok, check the other keys in the order of precedence: \pgfkeysgetvalue{/pgfplots/contour/levels from colormap}\pgfplots@loc@TMPa \ifx\pgfplots@loc@TMPa\pgfutil@empty - % no 'levels from colormap'. + % no 'levels from colormap'. % Ok, check the other keys in the order of precedence: \pgfkeysgetvalue{/pgfplots/contour/number}\pgfplots@loc@TMPa \ifx\pgfplots@loc@TMPa\pgfutil@empty @@ -3077,5 +3081,3 @@ %\message{contour filled: assembled options \meaning\pgfplots@contour@cm@options^^J}% \fi }% - - diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex index 6b8c58a9e30..926476e73b5 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007/2008 by Christian Feuersänger. @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -37,15 +37,15 @@ % Arguments: % #1.#2 the value log10(T) % -% Implementation: +% Implementation: % if T = i*10^j, log10(T) = log10(i) + j. % That means if log10(T) in \Z, we have T = 10^j. If not, we need to % check wether i is an integer. Please note that log10(i) < 1. % % Further note: log(T) < 0 <=> j<0. -% In case j<0, we have -% #1.#2 = j + log(i) -% = - ( -j - log(i) ) +% In case j<0, we have +% #1.#2 = j + log(i) +% = - ( -j - log(i) ) % = - ( -j - 1 + (1-log(i)) ) % = #1 '.' #2 [ up to the '0.' % that means #1 = j-1 and #2 = 1-log(i). @@ -138,10 +138,10 @@ % PRECONDITION: % Axis limits for #1 are given. I need their values before any data % scale transformation has been applied. -% If -% \pgfplots@#1min@unscaled@as@float +% If +% \pgfplots@#1min@unscaled@as@float % and -% \pgfplots@#1max@unscaled@as@float +% \pgfplots@#1max@unscaled@as@float % exist; I will use these macros. % Otherwise, I will use \pgfplots@#1min and \pgfplots@#1max; % assuming that no data scale transformation is active. @@ -223,7 +223,7 @@ % and we want to use B's exponent (only) for the decision here. % % INPUT: -% - \pgfplots@cur@min@unscaled, +% - \pgfplots@cur@min@unscaled, % - \pgfplots@cur@max@unscaled, % - \pgfmathfloat@a@E % - \pgfmathfloat@b@E @@ -234,7 +234,7 @@ \pgfmathfloatgetflags\pgfplots@cur@min@unscaled\pgfmathfloat@a@S \pgfmathfloatgetflags\pgfplots@cur@max@unscaled\pgfmathfloat@b@S \ifcase\pgfmathfloat@a@S% - % min = 0. + % min = 0. \ifcase\pgfmathfloat@b@S % max =0 % normalize to 0 * 10^0 ! @@ -455,14 +455,14 @@ \expandafter\xdef\csname pgfplots@maxtickdimen@#1\endcsname{\the\pgf@xa}% \endgroup }% -% +% % #1: the axis (x,y or z) % #2: the normal vector \def\pgfplots@ticklabel@maxtickdimen@prepare@for@normalvec#1#2{% \pgf@process{#2}% \edef\pgfplots@loc@vector@to@outside{\pgf@x=\the\pgf@x\space\pgf@y=\the\pgf@y\space}% % Identify the corner point of the ticklabel bounding box which - % shall be used: + % shall be used: \ifdim\pgf@x>0sp \ifdim\pgf@y>0sp % NORTH EAST @@ -711,9 +711,9 @@ % Fills the macros % \pgfplots@tick@LOWER@b \pgfplots@tick@end@a % \pgfplots@tick@UPPER@b \pgfplots@tick@end@b -% with coordinates such that +% with coordinates such that % (\pgfplots@tick@LOWER@b,\pgfplots@tmpa) -- (\pgfplots@tick@end@a,\pgfplots@tmpa) -% produces a correct tick line. +% produces a correct tick line. % % The '@b' variant is only used in case of \pgfplots@ytickposnum = 0 % @@ -833,7 +833,7 @@ \fi } -% Check if the current tick position, stored in \pgfplots@tmpa, +% Check if the current tick position, stored in \pgfplots@tmpa, % does not cross the y-axis. % % This is just a special case for centered axis lines. @@ -934,7 +934,7 @@ % #1: the axis % #2: the tick list. % -% PRECONDITION: +% PRECONDITION: % - \pgfplots@determinedefaultvalues has been executed. % That means particularly that \pgfplots@[xy][min,max] are available in TeX point % range (after datascaling and logs). @@ -1010,6 +1010,12 @@ }% \fi % + % compute the last index because it won't receive minor ticks: + \gdef\pgfplots@glob@TMPd{-1}% + \foreach \x in {#2} {% + \pgfplotsutil@advancestringcounter@global\pgfplots@glob@TMPd + }% + \let\c@pgfplots@ticknum@last=\pgfplots@glob@TMPd % \gdef\pgfplots@glob@TMPa{0}% \foreach \x in {#2} {% @@ -1027,29 +1033,34 @@ \fi % X-Axis ticks bottom and top \ifpgfplots@needsminorloop - % SEE BELOW for the 'minor #1tick' feature -- it has a - % separate loop. - \foreach \pgfplots@i in {1,...,\pgfplots@minor@tick@num} {% - \ifpgfplots@islinear - \pgfmathmultiply@{\pgfplots@i}{\pgfplots@minor@tick@dist}% - \else - % in log: - % log( i*10^k ) = log\pgfplots@i + k\log10 -> draw ticks for i=1..9 - \pgfplotscoordmath{#1}{log unsigned int}{\pgfplots@i}% - \pgfplotscoordmath{#1}{tofixed}{\pgfmathresult}% - \fi - \pgfplots@prepare@tick@coordlists@for@advance\pgfplots@tmpa by\pgfmathresult - \pgfplots@tickshowtrue - \pgfplots@prepare@tick@coordlists@for@checkdatalimits#1% - \pgfplots@checktickminmax - \ifpgfplots@tickshow - \pgfplots@prepare@tick@coordlists@for@tofixed\pgfplots@tmpa - \c@pgf@counta=\pgfplots@ticknum\relax - \advance\c@pgf@counta by\pgfplots@i\relax - \edef\x{{\the\c@pgf@counta}{\pgfmathresult}}% - \expandafter\pgfplotslistpushbackglobal\x\to\pgfplots@prepared@tick@positions@minor - \fi - }% + \ifnum\pgfplots@ticknum=\c@pgfplots@ticknum@last\relax + \else + % SEE BELOW for the 'minor #1tick' feature -- it has a + % separate loop. + \foreach \pgfplots@i in {1,...,\pgfplots@minor@tick@num} {% + % XXX : bug 165 [minor ticks] minor tick drawn after the last xtick + % seems to be here. Does that harm? + \ifpgfplots@islinear + \pgfmathmultiply@{\pgfplots@i}{\pgfplots@minor@tick@dist}% + \else + % in log: + % log( i*10^k ) = log\pgfplots@i + k\log10 -> draw ticks for i=1..9 + \pgfplotscoordmath{#1}{log unsigned int}{\pgfplots@i}% + \pgfplotscoordmath{#1}{tofixed}{\pgfmathresult}% + \fi + \pgfplots@prepare@tick@coordlists@for@advance\pgfplots@tmpa by\pgfmathresult + \pgfplots@tickshowtrue + \pgfplots@prepare@tick@coordlists@for@checkdatalimits#1% + \pgfplots@checktickminmax + \ifpgfplots@tickshow + \pgfplots@prepare@tick@coordlists@for@tofixed\pgfplots@tmpa + \c@pgf@counta=\pgfplots@ticknum\relax + \advance\c@pgf@counta by\pgfplots@i\relax + \edef\x{{\the\c@pgf@counta}{\pgfmathresult}}% + \expandafter\pgfplotslistpushbackglobal\x\to\pgfplots@prepared@tick@positions@minor + \fi + }% + \fi \fi \pgfplotsutil@advancestringcounter\pgfplots@ticknum % carry \ticknum outside of this scope: @@ -1269,8 +1280,8 @@ \pgfkeysgetvalue{/pgfplots/axis \pgfplots@loc@TMPa\space line shift}\pgfplots@loc@TMPb \ifx\pgfplots@loc@TMPb\pgfutil@empty \else - % in this case, we KNOW that is is - % (a) parsed and + % in this case, we KNOW that is is + % (a) parsed and % (b) nonzero and % (c) a dimension WITHOUT unit % See \pgfplots@init@axis@shift @@ -1297,7 +1308,7 @@ % The oriented surface is two dimensional and has been initialised % with \pgfplotspointonorientedsurfaceabsetupfor*** somehow. % -% The idea is now the following: +% The idea is now the following: % - the tick positions change along the FIRST coordinate of this % surface: % @@ -1310,7 +1321,7 @@ % | ---- | ---- | ---- | | SECOND % | | | | v % -% for example, +% for example, % \pgfplotspointonorientedsurfaceab@setupfor@xyZ{1} % \pgfplots@drawticklines@onorientedsurf % will draw ticks at x-positions designated by \pgfplots@xtick. The @@ -1323,7 +1334,7 @@ % will draw ticks at y-positions designated by \pgfplots@ytick. The % small tick lines will be drawn along the x axis. For each processed % point, the z coordinate will be fixed to '-1'. -% +% % Tick positions are taken out of the already precomputed list % \pgfplots@prepared@tick@positions@major@... \def\pgfplots@drawticklines@onorientedsurf{% @@ -1559,12 +1570,12 @@ % % That's all, basically. % -% For 3D axes, all these points are basically ... the same! +% For 3D axes, all these points are basically ... the same! % Now it can happen that the current oriented surface shall % not contain ANY tick label. In that case, we do nothing. % Furthermore, the "outside" direction (i.e. the anchoring of the % label nodes) is a little bit more difficult. -% +% % % See \pgfplots@drawticklines@onorientedsurf@ for a description of the % oriented surface. @@ -1608,7 +1619,7 @@ %\pgfmathmultiply@{\pgfplots@tick@offset}{\csname pgfplots@\pgfplotspointonorientedsurfaceB @inverseveclength\endcsname}% \let\pgfplots@tick@offset=\pgfmathresult }% - % + % \if2\csname pgfplots@#1axislinesnum\endcsname % Centered axis lines? \expandafter\let\expandafter\pgfplots@tick@origin\csname pgfplots@logical@ZERO@\pgfplotspointonorientedsurfaceB\endcsname% % FIXME : that stuff here does not respect @@ -1646,7 +1657,7 @@ \if2\pgfplots@ticklabelside \else % Should never happen. - \pgfplots@error{Internal logic error during tick label placement (got placement character '\pgfplots@ticklabelside'). + \pgfplots@error{Internal logic error during tick label placement (got placement character '\pgfplots@ticklabelside'). Please report this as a bug or verify your input arguments to #1ticklabel pos.}% \fi \fi @@ -1699,7 +1710,7 @@ % 'a': this is the direction in which tick positions are known. % 'b': the 'orthogonal' axis to 'a' which is also in the surface. % 'n': the surface normal. -% Now, the idea for tick labels is to place them at +% Now, the idea for tick labels is to place them at % SCALE_b * b + SCALE_n * n, % where the SCALE_[bn] numbers are choosen such that the label is % outside of the axis. @@ -1717,7 +1728,7 @@ % PRECONDITION: % - called inside of \pgfplots@drawticklabels@onorientedsurf@ % POSTCONDITION: -% - defines +% - defines % - \pgfplots@tickposchoicea % if called, sets keys such that tick labels are RIGHT (TOP) of % the axis, @@ -1735,7 +1746,7 @@ \or % 1: near ticklabel. % The following code contains automatically - % aligned tick labels (especially for 3D axes). + % aligned tick labels (especially for 3D axes). % see the manual for the |near ticklabel| anchors. \pgfkeys{/tikz/anchor=near #1ticklabel}% % @@ -1812,14 +1823,14 @@ % Checks whether the argument to xtick or ytick is a UNIFORM tick % sequence. % -% A uniform tick sequence is 0,...,10 and 3,4,5 and -5,-4,-2 but +% A uniform tick sequence is 0,...,10 and 3,4,5 and -5,-4,-2 but % NOT 0,2,4 or 4,10. % % Furthermore, any NON-integer tick arguments are also assumed to be % NOT uniform. % % INPUT: -% #1: a tick argument (i.e. something which can be put to +% #1: a tick argument (i.e. something which can be put to % \foreach \x in {#1}) % % OUTPUT: @@ -1914,7 +1925,7 @@ % This is part of \pgfplots@assign@default@tick@foraxis and relies on % its temporary variables. % -% INPUT: +% INPUT: % \MIN : the lower axis limit of #1 (a TeX register, in transformed range) % \MAX : same with upper axis limit of #1 % \desirednumticks: the number of ticks to use @@ -2208,10 +2219,10 @@ % it won't be printed). \advance\MIN by-\H\relax \else - % Now, we want to activate the Tick set + % Now, we want to activate the Tick set % {lowest, lowest+H, ..., highest} % - % Where + % Where % lowest = I * log(10) + rest, |rest| < log(10). % this is conceptionally different from the approach for % linear axes, because H = j*log(10). @@ -2235,7 +2246,7 @@ % near the lower axis limit. % % "Near" means either directly above or directly below ymin. - % + % % My application example is as follows: % Let H = 2*log(10). % Furthermore, ymin = 3e-6, ymax= 8e-2. That means we can choose either @@ -2250,12 +2261,12 @@ % shift the current tick by log(10): % if( ymin - I * log(10) < 0.5*H -> use I+1, that means add log(10). % - % that's equivalent to + % that's equivalent to % 2*(ymin - I * log(10)) - H < 0. \advance\MINH by-\MIN \multiply\MINH by2 \advance\MINH by-\H - % + % \ifdim\MINH<0pt \advance\MIN \pgfplots@loc@log@to@display@log@scale pt \fi @@ -2268,9 +2279,9 @@ % That's useless, so check for it. % % That's the case if - % MIN < ORIGMIN && MAX < MIN+2 H + % MIN < ORIGMIN && MAX < MIN+2 H % MIN < ORIGMIN by construction (ok, MIN <= ORIGMIN by - % construction, but I don't care about this case). + % construction, but I don't care about this case). % So: check only the second condition. %\message{Got MIN=\pgf@sys@tonumber\MIN; H=\pgf@sys@tonumber\H; MAX=\pgf@sys@tonumber\MAX.^^J}% \def\pgfplots@tick@returnval@ready{0}% @@ -2280,7 +2291,7 @@ \ifdim\MAX<\pgfplots@tmpa \if1\b@pgfplots@ticks@computed@tick@distance@is@final % OK, we cannot auto adjust tick labels -- if if there are - % too few of them. + % too few of them. \else \pgfplots@assign@default@tick@foraxis@autoadjust@result#1% \fi @@ -2290,7 +2301,7 @@ % FIXME :this minimum might actually be too small... \ifdim\MINH=\MIN \pgfplotsthrow{dimension too small in ticks}{#1}\pgfeov% - % + % % make sure that the compilation succeeds: \H=1pt % \advance\MINH by\H @@ -2316,16 +2327,16 @@ % see manual % % Idea: -% We want ticks at each +% We want ticks at each % { i*H, i in \Z }. -% Of course, there shouldn't be TOO MUCH ticks. +% Of course, there shouldn't be TOO MUCH ticks. % % Our heuristics is to set % desirednumticks = round(ACTUAL WIDTH / (max space between ticks) ) % and generate H = (axis range) / (desirednumticks). % -% Since not all step sizes H look well, restrict H to a set of allowed -% step sizes such as +% Since not all step sizes H look well, restrict H to a set of allowed +% step sizes such as % { 1, 1/2, 1/5, 1/10 }, % or, to be more precise: % { 1*10^e, 2*10^e, 5*10^e } @@ -2346,12 +2357,12 @@ % -> for the data scaling case, I will use floating point % arithmetics to compute that last step. % I will acquire \pgfplots@[xy]min@unscaled@as@float here. -% % % % % -% For log-plots, +% +% For log-plots, % H in { j*log(10), j=1,2,3,... } % where the usual case should be j = 1. % @@ -2359,7 +2370,7 @@ % TICK={MIN,MIN+H,...,MAX} % where % MIN = I*H -% is chosen such that +% is chosen such that % axis minimum limit = I*H + rest; |rest| < H. % % Again, log plots follow a slightly different approach: here, @@ -2453,13 +2464,13 @@ % Takes the distance between adjacent ticks as floating point number % and returns a normalized tick distance. -% +% % % The idea is to get "nice" (human readable) distances instead of % strange fractions or real numbers. % % The result will be assigned to \pgfmathresult (in float). -% +% % #1 the axis (x or y or z) % #2 the unnormalized tick distance computed so far % @@ -2470,7 +2481,7 @@ % --> % % \pgfmathresult={1200} -% or something like that. +% or something like that. \def\pgfplots@assign@default@tick@foraxis@normalizetickdist#1#2{% \begingroup \let\H=\pgf@xb @@ -2503,11 +2514,11 @@ \endgroup }% -% Helper method for +% Helper method for % \pgfplots@apply@data@scale@trafo@to@options@for % #1: the ticks % #2: the trafo routine (not necessarily a single macro, but should -% take one arg) +% take one arg) % #3: the output macro name \long\def\pgfplots@apply@data@scale@trafo@to@user@ticks#1#2\to#3{% \let#3=\pgfutil@empty @@ -2523,10 +2534,10 @@ % }% -% Helper method for +% Helper method for % \pgfplots@apply@data@scale@trafo@to@options@for % #1: the ticks ALREADY IN FLOAT FORMAT -% #2: the trafo macro name +% #2: the trafo macro name % #3: the output macro name \long\def\pgfplots@apply@data@scale@trafo@to@user@ticks@isfloat#1#2\to#3{% \let#3=\pgfutil@empty @@ -2562,4 +2573,3 @@ \def\pgfplotsdeclareborderanchorforticklabelaxis#1#2{% \pgfplotsdeclareborderanchorforaxis{#1}{\pgfplotsticklabelaxisspec{#1}}{#2}% } - diff --git a/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvips.def b/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvips.def index 0e1221e3286..69db3f9dbe7 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvips.def +++ b/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-dvips.def @@ -4,7 +4,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007/2008 by Christian Feuersänger. @@ -13,12 +13,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -37,7 +37,7 @@ }% % The lowlevel call for surface shadings. It uses a pattern type 2 -% dictionary as fill color and has thus several things to do. +% dictionary as fill color and has thus several things to do. % % It appears the dvips implementation is simpler than the pdftex % implementation - I did not need to adjust the matrix (don't know @@ -69,7 +69,7 @@ % \pgf@sys@bp@correct\pgf@x% % \pgf@sys@bp@correct\pgf@y% \pgfsys@invoke{% - << + << %/Type /Pattern /PatternType 2 /Shading @@ -87,8 +87,8 @@ \ifpgfplotslibrarysurf@usecolormap /Function \pgfkeysvalueof{/pgfplots/surf shading/colormap} \fi - /DataSource - currentfile + /DataSource + currentfile % direct binary output not possible: DVI % doesn't support it (?) %<< /EODCount \pgfplotslibrarysurf@binarystream@len\space /EODString () >> /SubFileDecode filter diff --git a/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-luatex.def b/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-luatex.def index 0a874efa6b5..0046daadae1 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-luatex.def +++ b/Master/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-luatex.def @@ -25,6 +25,13 @@ % %-------------------------------------------- +\ifnum\luatexversion<95 + \immediate\write-1{luatex driver of pgfplots: detected lua version \the\luatexversion; falling back to old pdftex driver^^J}% + \input pgflibrarypgfplots.surfshading.pgfsys-pdftex.def + \expandafter\endinput +\fi + + % The lowlevel call for surface shadings. It uses a pattern type 2 % dictionary as fill color and has thus several things to do. This is % a little bit more complicated than using the '/sh' operator (as diff --git a/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex b/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex index 992687268c3..464f05359fb 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex @@ -5,7 +5,7 @@ % % Provides a user-friendly interface to create function plots (normal % plots, semi-logplots and double-logplots). -% +% % It is based on Till Tantau's PGF package. % % Copyright 2007-2013 by Christian Feuersänger. @@ -14,12 +14,12 @@ % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. -% +% % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. -% +% % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. % @@ -52,7 +52,7 @@ % the last length+h for all others). % - the semicolons can be omitted. % -% Example: +% Example: % \pgfplotscreatecolormap{my map}{rgb(0cm)=(1,0,0); rgb(1cm)=(0,1,0); rgb255(1.5cm)=(128,5,255); rgb(2cm)=(0,0,1); gray(3cm)=(3); color(4cm)=(green); } % \pgfplotscreatecolormap{my map}{color=(green); color=(red); color=(blue); color=(yellow)} \def\pgfplotscreatecolormap#{\pgfplots@createcolormap}% @@ -201,9 +201,9 @@ % compute the 'h'. % % Note that 's:=#2' is a fraction 0<x<1 of the RESULTING - % range, i.e. s * 1000 = H where 0<=H<=1000. + % range, i.e. s * 1000 = H where 0<=H<=1000. % but H = 1000/(1000+h) * 1000, and we need the 'h'. - % + % % -> h = 1000/s - 1000. % regarding the '1-#2': I did some mistake in my % computation and that fixed it :-/ @@ -218,6 +218,12 @@ \fi }% \fi + % + \ifpgfplots@LUA@supported + \pgfplotsutil@directlua{% + pgfplots.texColorMapSetScaleOrderZ("#1", "\csname pgfpl@cm@#1@X@scale@order@z\endcsname") + }% + \fi }% % see \pgfplotscolormapsetadditionalintervalwidth @@ -258,7 +264,7 @@ \pgfutil@ifnextchar;{\pgfplots@createcolormap@grabsemicolon}% {% \pgfutil@ifnextchar,{\pgfplots@createcolormap@grabcomma}% - { + {% \expandafter\pgfutil@ifnextchar\pgfplots@activesemicolon{\pgfplots@createcolormap@grabsemicolon@active}% {% \pgfplots@createcolormap@grabnext @@ -276,7 +282,7 @@ \pgfutil@ifnextchar;{\pgfplots@createcolormap@grabsemicolon@hasnext{#1}{#2}}% {% \pgfutil@ifnextchar,{\pgfplots@createcolormap@grabcomma@hasnext{#1}{#2}}% - { + {% \expandafter\pgfutil@ifnextchar\pgfplots@activesemicolon{\pgfplots@createcolormap@grabsemicolon@active@hasnext{#1}{#2}}% {% #1% has more. @@ -355,7 +361,7 @@ % Splits '<argument> of <source name>*' into (\pgfplotsretval, % \pgfplotsretvalb). -% +% % The 'of' part is optional. If it is missing, '\pgfplotsretval' % contains the entire argument and '\pgfplotsretvalb' is the current % colormap. @@ -448,7 +454,7 @@ }, % @define/.code={% - \pgfplots@error{Please write 'single color' or 'color list' such that pgfplots knows how to interprete values} + \pgfplots@error{Please write 'single color' or 'color list' such that pgfplots knows how to interprete values}% \let\pgfplotsretval=\pgfutil@empty }, single color/.style={% @@ -542,7 +548,7 @@ % /pgfplots/of colormap/.unknown/.code={% \pgfplotsutilifstringequal{#1}{\pgfkeysnovalue}{% - % This here allows to write 'of colormap={initial}' + % This here allows to write 'of colormap={initial}' \pgfplotscolormapifdefined{\pgfkeyscurrentname}{% \edef\pgfplots@loc@TMPa{% \noexpand\pgfkeysalso{% @@ -894,8 +900,8 @@ \let\pgfplotsretval=\pgfplots@glob@TMPa } -% Defines -% * 'source range', +% Defines +% * 'source range', % * 'source pos', % in a way such that it implements 'samples of colormap' % #1: 'S' if it _must_ satisfy the number of samples and 'P' if it @@ -909,7 +915,7 @@ \if c\pgfplots@ofcolorbar@sample@for@choice% % or colormap/sample for=const: % sample one less and replicate the last color. This - % is to compensate for 'colormap access/extra interval width=0' + % is to compensate for 'colormap access/extra interval width=0' % (which is the default for colormaps with positions) \ifnum\pgfplots@pos@size>1 % ah - we have at least 2 positions and 'extra interval width=0' applies! @@ -1057,7 +1063,7 @@ \expandafter\pgfplots@createcolormap@\pgfplotsretval }% -% INPUT: +% INPUT: % \pgfplotscolormap@at % \pgfplotscolormap@argument % \pgfplotscolormap@key @@ -1179,7 +1185,7 @@ \fi \fi %\message{found current H@cur = \pgfplots@createcolormap@H@cur\space (\pgfplots@createcolormap@LAST) -> H=\pgfplots@createcolormap@H^^J}% - % + % % remember positions: \expandafter\pgfplotsapplistXpushback\expandafter{\pgfplots@createcolormap@MAX,}\to\pgfplots@createcolormap@X % @@ -1256,12 +1262,12 @@ % \pgfplotscolornormalizesequencezero \pgfplotscolornormalizesequenceaddweighted - {\pgfplotsretval} - {\pgfplots@createcolormap@scale@current} + {\pgfplotsretval}% + {\pgfplots@createcolormap@scale@current}% {#1}% \pgfplotscolornormalizesequenceaddweighted - {\pgfplotsretval} - {\pgfplots@createcolormap@scale@last} + {\pgfplotsretval}% + {\pgfplots@createcolormap@scale@last}% {\pgfplots@createcolormap@last}% % %\message{interpolation step \c@pgfplots@createcolormap = \pgfplotsretval^^J}% @@ -1321,7 +1327,8 @@ \csname pgfpl@cm@#1@h\endcsname,^^J% colorspace,^^J% { \pgfplots@values },^^J - { \pgfplots@pos }^^J + { \pgfplots@pos },^^J + "\csname pgfpl@cm@#1@X@scale@order@z\endcsname"^^J );^^J% else^^J% io.write("There is no LUA colorspace for '\csname pgfpl@cm@#1@colspace\endcsname' - skipping LUA color map definition of #1\string\n");^^J% @@ -1382,7 +1389,7 @@ % output format=csv, % ]{viridis} % {viridis.dat} -\def\pgfplotscolormaptodatafile@elem#1#2#3#4{ +\def\pgfplotscolormaptodatafile@elem#1#2#3#4{% \let\pgfplotsretval=\pgfutil@empty }% @@ -1689,9 +1696,9 @@ \def\pgfplotscolormap@piecewiseconst@prepare@scale#1{% % advance the number of intervals by 1. \pgfplotscolormapifisuniform{#1}{% - % To this end, we have to compute + % To this end, we have to compute % N = n+1 - % and + % and % H = 1000 / (N-1) = 1000/n. % Store H in \pgf@x: \expandafter\ifx\csname pgfpl@cm@#1@X@scale@order@z\endcsname\pgfutil@empty% @@ -1711,7 +1718,7 @@ % artificial interval at the rightmost end. % The idea is to think of a temporary map in the range % [0,1000+ h] where h is the current colormap's - % mesh width. + % mesh width. % Since the domain is [0,1000], we map [0,1000+h] % linearly into [0,1000]. % @@ -1784,10 +1791,10 @@ \pgfplotscolormapassertexists{#1}% \pgfplotsapplistXnewempty\pgfplots@resultaccum \pgfplotsapplistXpushback{ - << - /FunctionType 3 - /Domain [0 \pgfplotscolormappdfmax] - /Functions [ + << + /FunctionType 3 + /Domain [0 \pgfplotscolormappdfmax] + /Functions [ }\to\pgfplots@resultaccum% \c@pgf@counta=0 \c@pgf@countb=\pgfplotsarraysizeof{pgfpl@cm@#1} % @@ -1810,14 +1817,14 @@ \if c\pgfplots@colormap@access % colormap access=piecewise constant % This has a dedicated special interval at the rightmost - % end. + % end. % See comments in pgfplotscolormapfindpiecewiseconst@precomputed@ \def\pgfplots@order{0}% % \pgfplotscolormap@piecewiseconst@prepare@scale{#1}% % % interchange the sequence in the PDF function as it is - % defined as + % defined as % y = C0 + x^0 * (C1 - C0) = C1 % -> we want the left interval boundary. \def\pgfplots@C@left{C1}% @@ -1844,8 +1851,8 @@ \edef\pgfplots@loc@TMPd{% << /FunctionType 2 - /Domain [0 \pgfplotscolormappdfmax] - /\pgfplots@C@left\space [\pgfplots@loc@TMPa] /\pgfplots@C@right\space [\cdata] + /Domain [0 \pgfplotscolormappdfmax] + /\pgfplots@C@left\space [\pgfplots@loc@TMPa] /\pgfplots@C@right\space [\cdata] /N \pgfplots@order >> }% @@ -1883,8 +1890,8 @@ \edef\pgfplots@loc@TMPd{% << /FunctionType 2 - /Domain [0 \pgfplotscolormappdfmax] - /\pgfplots@C@left\space [\cdata] /\pgfplots@C@right\space [\cdata] + /Domain [0 \pgfplotscolormappdfmax] + /\pgfplots@C@left\space [\cdata] /\pgfplots@C@right\space [\cdata] /N \pgfplots@order >> }% @@ -1947,7 +1954,7 @@ % Example: % \pgfplotscolormaptoshadingspec{my colormap}{4cm}{\output} % \def\tempb{\pgfdeclarehorizontalshading{myshadingA}{1cm}} -% \expandafter\tempb\expandafter{\temp} +% \expandafter\tempb\expandafter{\temp} % % \pgfuseshading{myshadingA} \def\pgfplotscolormaptoshadingspec#1#2#3{% @@ -2034,10 +2041,10 @@ % interpolated colors into \pgfmathresult. The result will be a triple % for an RGB colormap and it will contain four numbers for CMYK. The % components of the result will be in the range [0:1]. -% +% % [#1:#2] the number range of the data source (i.e. of #4). This is required to % map into the colormap. -% [#3] (optional) the quantity +% [#3] (optional) the quantity % s := \pgfplotscolormaprange / (#2-#1). % Precomputing this quantity may save a lot of time because % divisions are expensive in TeX. You can omit [#3] or @@ -2144,10 +2151,10 @@ % interpolation on the identified interval. \c@pgf@counta=\pgfplotscolormapfind@intervalno\relax % color^m(x) = ( (x-x_i)/(x_{i+1} - x_i) ) * (c_{i+1}^m - c_i^m ) + c_i^m - % = ( x/h - i ) * ( c_{i+1}^m - c_{i}^m ) + c_i^m + % = ( x/h - i ) * ( c_{i+1}^m - c_{i}^m ) + c_i^m % = s * c_{i+1}^m + S * c_i^m % - % s= x_h / h -i + % s= x_h / h -i \pgfmathsubtract@{\pgfplotscolormapfind@transformedx@divh}{\pgfplotscolormapfind@intervalno}% \let\pgfplots@loc@factor=\pgfmathresult }{% @@ -2210,12 +2217,12 @@ % \pgfplotscolorzero{\csname pgfpl@cm@#5@col@comps\endcsname}% \pgfplotscoloraddweighted - {\csname pgfpl@cm@#5@col@comps\endcsname} + {\csname pgfpl@cm@#5@col@comps\endcsname}% {\pgfplotsretval}% {\pgfplots@loc@factor@two}% {\pgfplotscolormapfind@rgb@LEFT}% \pgfplotscoloraddweighted - {\csname pgfpl@cm@#5@col@comps\endcsname} + {\csname pgfpl@cm@#5@col@comps\endcsname}% {\pgfplotsretval}% {\pgfplots@loc@factor}% {\pgfplotscolormapfind@rgb@RIGHT}% @@ -2234,10 +2241,10 @@ % interpolation. It returns the interpolated colors into \pgfmathresult. The result will be a triple % for an RGB colormap and it will contain four numbers for CMYK. The % components of the result will be in the range [0:1]. -% +% % [#1:#2] the number range of the data source (i.e. of #4). This is required to % map into the colormap. -% [#3] (optional) the quantity +% [#3] (optional) the quantity % s := \pgfplotscolormaprange / (#2-#1). % Precomputing this quantity may save a lot of time because % divisions are expensive in TeX. You can omit [#3] or @@ -2256,20 +2263,23 @@ }% }% \def\pgfplotscolormapfindpiecewiseconst@precomputed[#1:#2][#3]#4#5{% - %\ifpgfplots@LUA@supported - \iffalse - % FIXME : implement - \edef\pgfmathresult{% - \pgfplotsutil@directlua{% - pgfplots.texColorMapPrecomputed("#5", #1,#2,#4) + \ifpgfplots@LUA@supported + \pgfplotscolormapifisuniform{#5}{% + \edef\pgfmathresult{% + \pgfplotsutil@directlua{% + pgfplots.texColorMapFindPiecewiseConst("#5", #1,#2,#4) + }% }% - }% - \ifx\pgfmathresult\pgfutil@empty - \pgfplotscolormapfindpiecewiseconst@precomputed@warn@LUA{#5}% + \ifx\pgfmathresult\pgfutil@empty + \pgfplotscolormapfindpiecewiseconst@precomputed@warn@LUA{#5}% + \pgfplotscolormapfindpiecewiseconst@precomputed@[#1:#2][#3]{#4}{#5}% + \else + %\message{LUA colormapfindpiecewiseconst[#1:#2](#4)(#5) = \pgfmathresult^^J}% + \fi + }{% + % FIXME : implement LUA for non-uniform colormaps \pgfplotscolormapfindpiecewiseconst@precomputed@[#1:#2][#3]{#4}{#5}% - \else - %\message{LUA colormapfindpiecewiseconst[#1:#2](#4)(#5) = \pgfmathresult^^J}% - \fi + }% \else \pgfplotscolormapfindpiecewiseconst@precomputed@[#1:#2][#3]{#4}{#5}% \fi @@ -2296,9 +2306,9 @@ % % I decided to enlarge the colormap artificially such that the % rightmost color receives its own interval. - % + % % To this end, I recompute the coordinates at which colors "live". - % The operations sounds more involved than it is: I simply need a NEW mesh width locally + % The operations sounds more involved than it is: I simply need a NEW mesh width locally % inside of this function. The new mesh width H can be computed as % follows, assuming that the OLD colormap has mesh width h. % @@ -2334,8 +2344,8 @@ % % My idea is that I add an extra interval of length 'h' at the right end of % the domain, i.e. I enlarge the domain to [0,1000+h]. - % - % To this end, I map the input number linearly from + % + % To this end, I map the input number linearly from % [0,1000] -> [0,1000+h] % using k(t) = (1000+h)/1000 * t % @@ -2384,7 +2394,7 @@ % \ifnum\c@pgf@counta=\pgfplotscolormapsizeof{#5}\relax % we have artificially increased the "h" (see the comments - % above) -- meaning that this 'if' can happen. + % above) -- meaning that this 'if' can happen. % ->Map the rightmost point to the rightmost interval: \advance\c@pgf@counta by-1 \fi @@ -2394,7 +2404,7 @@ \let\pgfmathresult=\pgfplotscolormapfind@rgb@LEFT \pgfmath@smuggleone\pgfmathresult \endgroup -}% +} \def\pgfplotscolormap@floor#1.#2\relax{% \ifdim0.#2pt>0.999pt @@ -2480,12 +2490,11 @@ % #1: is the value which should be mapped into the color map; it % is expected in the range [0,1000] (like point meta). \def\pgfplotscolormapdefinemappedcolor#1{% - \expandafter\pgfplotscolormapaccess\expandafter[\pgfplotspointmetatransformedrange] - [1.0] - {#1} - {\pgfkeysvalueof{/pgfplots/colormap name}} + \expandafter\pgfplotscolormapaccess\expandafter[\pgfplotspointmetatransformedrange]% + [1.0]% + {#1}% + {\pgfkeysvalueof{/pgfplots/colormap name}}% %\message{Color for current point is RGB '\pgfmathresult' (determined using meta 'phi(\pgfplotspointmeta) = \pgfplotspointmetatransformed')^^J}% \def\pgfplots@loc@TMPb{\pgfutil@definecolor{mapped color}{\csname pgfpl@cm@\pgfkeysvalueof{/pgfplots/colormap name}@colspace\endcsname}}% \expandafter\pgfplots@loc@TMPb\expandafter{\pgfmathresult}% }% - diff --git a/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex b/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex index d08717c533a..743f4545eea 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex @@ -937,6 +937,7 @@ } % \pgfplotsforeachlogarithmicungrouped[<samples>] \x/\logx in {a:b} {#3} +% \pgfplotsforeachlogarithmicungrouped[<samples>][<math id>] \x/\logx in {a:b} {#3} % % samples \x between a and b using a logarithmic scale. % @@ -947,75 +948,82 @@ % configured otherwise with \pgfplotsforeachlogarithmicsetoutput, % see above. % -% Arithmethics will be carried out with the math class -% '\pgfplotsforeachlogarithmicmathid'. +% Arithmethics will be carried out with the math class '<math id>' +% (defaults to '\pgfplotsforeachlogarithmicmathid'). % This macro should expand to something which is usable inside of -% \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{....} +% \pgfplotscoordmath{<math id>}{....} % the default is 'float' % % FIXME : THIS CAN'T BE NESTED YET! -\def\pgfplotsforeachlogarithmicungrouped[#1]#2/#3{\pgfplotsforeachlogarithmicungrouped@[#1]{#2}{#3}}% -\long\def\pgfplotsforeachlogarithmicungrouped@[#1]#2#3in #4#5{% +\def\pgfplotsforeachlogarithmicungrouped[#1]{% + \pgfutil@ifnextchar[{% + \pgfplotsforeachlogarithmicungrouped@[#1]% + }{% + \pgfplotsforeachlogarithmicungrouped@[#1][\pgfplotsforeachlogarithmicmathid]% + }% +}% +\def\pgfplotsforeachlogarithmicungrouped@[#1][#2]#3/#4{\pgfplotsforeachlogarithmicungrouped@@[#1][#2]{#3}{#4}}% +\long\def\pgfplotsforeachlogarithmicungrouped@@[#1][#2]#3#4in #5#6{% % define - % \pgfplots@foreach@loc@TMPd = N in fixed point - % \pgfplots@foreach@loc@TMPc = N-1 in float : + % \pgfplots@foreachlog@loc@TMPd = N in fixed point + % \pgfplots@foreachlog@loc@TMPc = N-1 in float : \edef\pgfplots@plot@samples@@{#1}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{one}% - \let\pgfplots@foreach@loc@TMPa=\pgfmathresult - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{parsenumber}{\pgfplots@plot@samples@@}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{op}{subtract}{{\pgfmathresult}{\pgfplots@foreach@loc@TMPa}}% - \let\pgfplots@foreach@loc@TMPc=\pgfmathresult + \pgfplotscoordmath{#2}{one}% + \let\pgfplots@foreachlog@loc@TMPa=\pgfmathresult + \pgfplotscoordmath{#2}{parsenumber}{\pgfplots@plot@samples@@}% + \pgfplotscoordmath{#2}{op}{subtract}{{\pgfmathresult}{\pgfplots@foreachlog@loc@TMPa}}% + \let\pgfplots@foreachlog@loc@TMPc=\pgfmathresult % - \edef\pgfplots@loc@TMPb{#4}% - \expandafter\pgfplotsforeachlogarithmicungrouped@readdomain\pgfplots@loc@TMPb\relax - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{if is bounded}{\pgfplots@foreach@loc@TMPb}{% + \edef\pgfplots@loc@TMPb{#5}% + \expandafter\pgfplotsforeachlogarithmicungrouped@readdomain\pgfplots@loc@TMPb\relax{#2}% + \pgfplotscoordmath{#2}{if is bounded}{\pgfplots@foreachlog@loc@TMPb}{% }{% - \pgfplotsforeachlogarithmicmath@unbounded@domain{#4}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{parsenumber}{-10000}% - \let\pgfplots@foreach@loc@TMPb=\pgfmathresult + \pgfplotsforeachlogarithmicmath@unbounded@domain{#5}% + \pgfplotscoordmath{#2}{parsenumber}{-10000}% + \let\pgfplots@foreachlog@loc@TMPb=\pgfmathresult }% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{if is bounded}{\pgfplots@foreach@loc@TMPa}{% + \pgfplotscoordmath{#2}{if is bounded}{\pgfplots@foreachlog@loc@TMPa}{% }{% - \pgfplotsforeachlogarithmicmath@unbounded@domain{#4}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{parsenumber}{-10000}% - \let\pgfplots@foreach@loc@TMPa=\pgfmathresult + \pgfplotsforeachlogarithmicmath@unbounded@domain{#5}% + \pgfplotscoordmath{#2}{parsenumber}{-10000}% + \let\pgfplots@foreachlog@loc@TMPa=\pgfmathresult }% - % compute mesh width into \pgfplots@foreach@loc@TMPc: - % \pgfplots@foreach@loc@TMPc := h := ( log(xmax) - log(xmin) ) / (N-1) - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{op}{subtract}{{\pgfplots@foreach@loc@TMPb}{\pgfplots@foreach@loc@TMPa}}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{op}{divide}{{\pgfmathresult}{\pgfplots@foreach@loc@TMPc}}% - \let\pgfplots@foreach@loc@TMPc=\pgfmathresult + % compute mesh width into \pgfplots@foreachlog@loc@TMPc: + % \pgfplots@foreachlog@loc@TMPc := h := ( log(xmax) - log(xmin) ) / (N-1) + \pgfplotscoordmath{#2}{op}{subtract}{{\pgfplots@foreachlog@loc@TMPb}{\pgfplots@foreachlog@loc@TMPa}}% + \pgfplotscoordmath{#2}{op}{divide}{{\pgfmathresult}{\pgfplots@foreachlog@loc@TMPc}}% + \let\pgfplots@foreachlog@loc@TMPc=\pgfmathresult % % apply local scoping here: - \edef\pgfplots@foreach@loc@TMPd{% + \edef\pgfplots@foreachlog@loc@TMPd{% \noexpand\c@pgf@counta=\the\c@pgf@counta\noexpand\relax }% - \long\def\pgfplots@foreach@loc@TMPf{#5}% + \long\def\pgfplots@foreachlog@loc@TMPf{#6}% \c@pgf@counta=0 \pgfutil@loop \ifnum\c@pgf@counta<\pgfplots@plot@samples@@ % compute exp(log(min) + i * h) \edef\pgfplots@loc@TMPa{\the\c@pgf@counta}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{parsenumber}{\pgfplots@loc@TMPa}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{op}{multiply}{{\pgfmathresult}{\pgfplots@foreach@loc@TMPc}}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{op}{add}{{\pgfmathresult}{\pgfplots@foreach@loc@TMPa}}% + \pgfplotscoordmath{#2}{parsenumber}{\pgfplots@loc@TMPa}% + \pgfplotscoordmath{#2}{op}{multiply}{{\pgfmathresult}{\pgfplots@foreachlog@loc@TMPc}}% + \pgfplotscoordmath{#2}{op}{add}{{\pgfmathresult}{\pgfplots@foreachlog@loc@TMPa}}% \let\pgfplots@loc@TMPa=\pgfmathresult \pgfplotsforeachlogarithmicungrouped@finalizeresult% - \let#3=\pgfmathresult - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{exp}{\pgfplots@loc@TMPa}% + \let#4=\pgfmathresult + \pgfplotscoordmath{#2}{exp}{\pgfplots@loc@TMPa}% \pgfplotsforeachlogarithmicungrouped@finalizeresult% - \let#2=\pgfmathresult + \let#3=\pgfmathresult % % ok, invoke it! % -> store \c@pgf@counta before doing so. We need to scope % manually here. - \edef\pgfplots@foreach@loc@TMPe{\the\c@pgf@counta}% - \pgfplots@foreach@loc@TMPf\relax - \c@pgf@counta=\pgfplots@foreach@loc@TMPe\relax + \edef\pgfplots@foreachlog@loc@TMPe{\the\c@pgf@counta}% + \pgfplots@foreachlog@loc@TMPf\relax + \c@pgf@counta=\pgfplots@foreachlog@loc@TMPe\relax \advance\c@pgf@counta by 1 \pgfutil@repeat % restore scoped variables: - \pgfplots@foreach@loc@TMPd + \pgfplots@foreachlog@loc@TMPd } \def\pgfplotsforeachlogarithmicmath@unbounded@domain#1{% @@ -1030,16 +1038,16 @@ \def\pgfplotsforeachlogarithmicmathid{float} % defines -% \pgfplots@foreach@loc@TMPa := log(firstintervalpt) +% \pgfplots@foreachlog@loc@TMPa := log(firstintervalpt) % and -% \pgfplots@foreach@loc@TMPb := log(secondintervalpt) -\def\pgfplotsforeachlogarithmicungrouped@readdomain#1:#2\relax{% +% \pgfplots@foreachlog@loc@TMPb := log(secondintervalpt) +\def\pgfplotsforeachlogarithmicungrouped@readdomain#1:#2\relax#3{% \pgfplotscoordmath{default}{parse}{#1}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{log}{\pgfmathresult}% - \let\pgfplots@foreach@loc@TMPa=\pgfmathresult + \pgfplotscoordmath{#3}{log}{\pgfmathresult}% + \let\pgfplots@foreachlog@loc@TMPa=\pgfmathresult \pgfplotscoordmath{default}{parse}{#2}% - \pgfplotscoordmath{\pgfplotsforeachlogarithmicmathid}{log}{\pgfmathresult}% - \let\pgfplots@foreach@loc@TMPb=\pgfmathresult + \pgfplotscoordmath{#3}{log}{\pgfmathresult}% + \let\pgfplots@foreachlog@loc@TMPb=\pgfmathresult } % invokes '#2' if #1 expands (\edef) to the empty string or '#3' if not. |