summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-19 22:11:59 +0000
committerKarl Berry <karl@freefriends.org>2019-12-19 22:11:59 +0000
commit8876a8021514f190d676e4e5261f1084a66754d3 (patch)
tree9a496107a312a1acbbdb06ea0e1657c285109729
parent693eacf895c01285e2992460bb489142ead8ae8a (diff)
pgf (19dec19)
git-svn-id: svn://tug.org/texlive/trunk@53187 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/pgf/ChangeLog496
-rw-r--r--Master/texmf-dist/doc/generic/pgf/FILES1688
-rw-r--r--Master/texmf-dist/doc/generic/pgf/README-3.0.051
-rw-r--r--Master/texmf-dist/doc/generic/pgf/extract.lua28
-rw-r--r--Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex37
-rw-r--r--Master/texmf-dist/doc/generic/pgf/pgfmanual.pdfbin10371181 -> 10531895 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex256
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex65
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex23
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex31
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex36
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex1
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex34
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex14
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex287
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex13
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex25
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex28
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex55
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex1735
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex64
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex34
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex31
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex45
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex19
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex11
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex27
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex126
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex90
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex28
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex182
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex174
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex14
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex35
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex18
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex39
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex31
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex42
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex453
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex100
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex22
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex32
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex200
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex22
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex14
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex20
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex17
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex20
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex35
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex16
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex25
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex238
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex57
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex389
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex210
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex46
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex90
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex377
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex21
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex63
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex108
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex92
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex39
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex52
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex194
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex721
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex230
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex16
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table204
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table205
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table105
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table105
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex23
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table204
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg0
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table205
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table105
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table30
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table105
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table204
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table204
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table204
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table204
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table104
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table29
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table104
-rw-r--r--Master/texmf-dist/scripts/pgf/Makefile.pgf_release144
-rwxr-xr-xMaster/texmf-dist/scripts/pgf/pgfrevisionfile.sh43
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex1
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex17
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex19
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex14
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex7
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex127
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua15
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua31
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua12
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua22
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua4
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua5
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua6
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua9
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua26
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua7
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua9
-rw-r--r--Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua23
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex94
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex3
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex9
-rw-r--r--Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex179
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex2
-rw-r--r--Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex66
-rw-r--r--Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex8
-rw-r--r--Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex36
-rw-r--r--Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex5
-rw-r--r--Master/texmf-dist/tex/generic/pgf/pgf.revision.tex8
-rw-r--r--Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def23
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex20
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex53
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def9
-rw-r--r--Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def9
-rw-r--r--Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex13
-rw-r--r--Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex19
-rw-r--r--Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty12
289 files changed, 12180 insertions, 3474 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/ChangeLog b/Master/texmf-dist/doc/generic/pgf/ChangeLog
index 4715f302ef0..4bc16d14917 100644
--- a/Master/texmf-dist/doc/generic/pgf/ChangeLog
+++ b/Master/texmf-dist/doc/generic/pgf/ChangeLog
@@ -1,3 +1,499 @@
+2019-12-19 Henri Menke
+
+ Release 3.1.5
+
+2019-12-19 Henri Menke
+
+ - [CI] bigintcalc, etexcmds, gettitlestring, hycolor, intcalc, kvdefinekeys, kvsetkeys, ltxcmds, refcount, uniquecounter
+
+2019-12-17 Henri Menke
+
+ - Reseed the RNG before every use
+
+2019-12-16 Benjamin Desef
+
+ - Remove redundant definition of `center` anchor
+
+2019-12-16 Benjamin Desef
+
+ - Rewrite explanation for `\anchorborder`
+
+2019-12-16 Henri Menke
+
+ - Document loading order for translator #804
+
+2019-12-15 Henri Menke
+
+ - Hash doubling in pgfkeys edef only for numbers #305 #669
+
+2019-12-15 Henri Menke
+
+ - Add conditional for externalize to manual
+
+2019-12-14 Henri Menke
+
+ - Check \ifmeasuring@ #759
+
+2019-12-13 Henri Menke
+
+ - Add comment about 8 character filename limit in old ConTeXt #769
+
+2019-12-13 Henri Menke
+
+ - [CI] atbegshi, atveryend, bitset, pdfescape, rerunfilecheck
+
+2019-12-13 Henri Menke
+
+ - Typos in the manual #805 #806
+
+2019-12-04 Henri Menke
+
+ - New build system
+
+2019-12-05 Henri Menke
+
+ - [CI] letltxmacro
+
+2019-12-05 Henri Menke
+
+ - Document that matrix on path need ampersand replacement #801
+
+2019-12-05 Henri Menke
+
+ - More nitpicking #803
+
+2019-12-05 fmitha
+
+ - Minor typo fixes and word change suggestions.
+
+2019-12-03 Henri Menke
+
+ - Missing letter in functional tokens #798
+
+2019-12-02 Henri Menke
+
+ - [CI] stringenc
+
+2019-12-02 Henri Menke
+
+ - Remove cleanuplink and friends #796
+
+2019-12-01 Henri Menke
+
+ - [CI] kvoptions
+
+2019-12-01 Henri Menke
+
+ - Execute size hook unconditionally #795
+
+2019-11-30 Stefan Pinnow
+
+ - issue #775 - corrected some spellings - harmonized e.g. "$x$ direction" --> "$x$-direction" with the rest of the manual - adjusted "mystars" example so it fits to the "blue code box" - renamed `lines` to `mylines` in last `codeexample` to match the previous `mystars` example
+
+2019-11-29 Henri Menke
+
+ - Fix sorting of intersections #480
+
+2019-11-29 Henri Menke
+
+ - Update TeX Live CI
+
+2019-11-29 Henri Menke
+
+ - Document shorten < and > #387
+
+2019-11-29 Henri Menke
+
+ - pgfinterruptpath is not a scope #442
+
+2019-11-28 Henri Menke
+
+ - \pgfkeys@temp is not safe to transport over other macros #428
+
+2019-11-28 Henri Menke
+
+ - Draw to target instead of computed anchor #730
+
+2019-11-27 Henri Menke
+
+ - Implement and document new patterns #775 #776
+
+2019-11-27 Henri Menke
+
+ - \pgfmath@ensureregister produced missing characters #400
+
+2019-11-27 Henri Menke
+
+ - Wrong numerical constant in ln #788
+
+2019-11-27 Henri Menke
+
+ - AtBeginDocument for ConTeXt #790
+
+2019-11-26 Henri Menke
+
+ - Some packages got moved out of oberdiek
+
+2019-11-26 Henri Menke
+
+ - Protect parens and order of operations in turtle #789
+
+2019-11-24 Henri Menke
+
+ - Missing name prefix in "<dir> of=" positioning #512
+
+2019-11-20 Henri Menke
+
+ - Fix style key for datavisualization #726
+
+2019-11-18 Henri Menke
+
+ - New pgfkeys handler .evaluated
+
+2019-11-18 Henri Menke
+
+ - Forward scanned coordinate untouched #785
+
+2019-11-18 Henri Menke
+
+ - Nitpick #784
+
+2019-11-16 JouleV
+
+ - Fix spacing for keys in decorations manual
+
+2019-11-15 Matteo Gamboz
+
+ - Correct typo in tutorial
+
+2019-11-14 Henri Menke
+
+ - Revert "Add \rawx, \rawy, \rawz to let operation"
+
+2019-11-14 Henri Menke
+
+ - Revert "Check for \pgfpointxyz before \rawx, \rawy, \rawz"
+
+2019-11-14 Henri Menke
+
+ - Revert "Making the declared coordinate accessible"
+
+2019-11-13 samcarter
+
+ - Improvements for markup in the manual
+
+2019-11-13 Henri Menke
+
+ - Support for RGB for Plain TeX (docs)
+
+2019-11-12 Henri Menke
+
+ - GitHub: Add mailing list link
+
+2019-11-12 Henri Menke
+
+ - GitHub: Issue templates
+
+2019-11-10 Henri Menke
+
+ - Add bbox library to manual (oops)
+
+2019-09-13 Stefan Pinnow
+
+ - - corrected spelling of `\todosp`
+
+2019-09-13 Stefan Pinnow
+
+ - - added some `\todosp` comments to `... Barb` arrows where no space between the two words is shown in the manual (v3.1.4b)
+
+2019-09-13 Stefan Pinnow
+
+ - - replaced all instances of `arrows.spaced` with `arrows.meta` - replaced most of the instances of `arrows` with `arrows.meta`
+
+2019-09-01 Stefan Pinnow
+
+ - - fixed some more wrongly spelled library names (related to issue #736) - marked more libraries in horizontal bars, i.e. `|...|`
+
+2019-11-10 Henri Menke
+
+ - Change order of options in label and pin #643 #773 #774
+
+2019-11-10 Henri Menke
+
+ - Support for RGB for Plain TeX
+
+2019-11-08 Henri Menke
+
+ - Reset transformation in grow cyclic #770
+
+2019-11-06 Henri Menke
+
+ - First version of the bbox library
+
+2019-11-05 Henri Menke
+
+ - Correct example for every pic #519 #751
+
+2019-11-05 Henri Menke
+
+ - Support styling of outer \pgfmatrix node #627
+
+2019-11-05 Henri Menke
+
+ - Add some predefined patterns to patterns.meta
+
+2019-11-05 Henri Menke
+
+ - Improve the 'lines' example for patterns.meta #602
+
+2019-11-05 Henri Menke
+
+ - pgfmathfloat@parser@install in pgfmathfloatparse #727
+
+2019-11-04 Henri Menke
+
+ - Reverse anchor of spy node #767
+
+2019-11-04 Henri Menke
+
+ - Cannot use commas in pgfkeys #728
+
+2019-11-04 Henri Menke
+
+ - Add generated gnuplot files #719
+
+2019-11-04 Henri Menke
+
+ - Fix `name prefix' for pics
+
+2019-11-04 Henri Menke
+
+ - Add quotes to error message #747
+
+2019-11-04 Henri Menke
+
+ - Cheap trick to avoid leading space problem #753
+
+2019-11-04 Henri Menke
+
+ - Fix pgfkeys pretty printer for single key-value pair #762
+
+2019-11-04 Henri Menke
+
+ - Merge branch 'master' of https://github.com/lockywolf/pgf
+
+2019-11-03 Lockywolf
+
+ - Update doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
+
+2019-11-03 Henri Menke
+
+ - Install iftex in CI
+
+2019-11-03 Henri Menke
+
+ - /tikz/radius dropped units #768
+
+2019-11-01 Lockywolf
+
+ - Update pgfmanual-en-tutorial.tex
+
+2019-10-29 quark67
+
+ - Fix of a typo
+
+2019-10-28 doraTeX
+
+ - Support pattern objects with dvipdfmx
+
+2019-10-18 Henri Menke
+
+ - Race condition in circle radius #756
+
+2019-10-20 Mo-Gul
+
+ - Merge pull request #757 from Lipen/patch-1
+
+2019-10-19 Konstantin Chukharev
+
+ - Fix typo 'arrow.meta' -> 'arrows.meta'
+
+2019-09-13 Henri Menke
+
+ - Reset some text parameters inside a node #743
+
+2019-09-17 Henri Menke
+
+ - principle -> principal
+
+2019-09-01 Stefan Pinnow
+
+ - Fix misspelled library names
+
+2019-09-11 Henri Menke
+
+ - Definition should be deferred to \pgfutil@guessdriver
+
+2019-09-11 Henri Menke
+
+ - ConTeXt MKIV needs the LuaTeX driver #742
+
+2019-09-06 Henri Menke
+
+ - Merge remote-tracking branch 'Mo-Gul/master'
+
+2019-08-28 Henri Menke
+
+ - Reset \tikz@intersect@namedpaths at scope boundaries, fixes #284
+
+2019-08-29 Henri Menke
+
+ - Make \node foreach work if loop variable is used for positioning, fixes #735
+
+2019-08-29 Henri Menke
+
+ - Correct some typos, fixes #736
+
+2019-08-27 Stefan Pinnow
+
+ - - checked `pattern.meta` library stuff and fixed some minor issues
+
+2019-08-27 Stefan Pinnow
+
+ - - corrected a word in `pgfmanual-en-dv-axes.tex` - harmonized spelling of `i.e.` and `e.g.` - corrected line breaking in `pgfmanual-en-math-numberprinting.tex` where a |...| was split across lines
+
+2019-08-27 Mo-Gul
+
+ - Merge pull request #733 from hmenke/PimpCodeexamples
+
+2019-08-27 Henri Menke
+
+ - New .gitignore needs some special treatment
+
+2019-08-20 Stefan Pinnow
+
+ - - handled one more `codeexample` that was added after branching. (related issues #640, #711, #729)
+
+2019-08-05 Mo-Gul
+
+ - - moved `colorlet` to the `codeexample` itself instead of to `pre` in `pgfmanual-en-base-quick.tex`
+
+2019-07-28 Stefan Pinnow
+
+ - - included issue #720 ("sub-library" should load "main library" by default) - therefore added loading `graphs` library in `graphs.standard` library - adjusted `preamble` code in `codeexample`s accordingly - there exist `graphdrawing` `codeexample`s in the manual that don't need the `graphs` library --> adjusted `codeexample`s accordingly
+
+2019-07-27 Stefan Pinnow
+
+ - - fixed issue #718 ([manual] \usepgflibrary vs. \usetikzlibrary)
+
+2019-07-24 Stefan Pinnow
+
+ - - missed to commit/push the Lua documentation stuff - had a look at the `codeexample`s where a leading space was introduced (see https://github.com/pgf-tikz/pgf/pull/711#issuecomment-514506025). Some of them could be removed but others are introduced because of code added to the `pre` key where I don't have a clue if/how this can be avoided
+
+2019-07-23 Stefan Pinnow
+
+ - - continued(/finished) moving `setup code,hidden` to `preamble` of the `codeexample`s - minor stuff
+
+2019-07-20 Stefan Pinnow
+
+ - - corrected wrongly commented Lua comments in the Lua documentation files (of commit 900d47729d91dd9ba3eb59de56d5d9a4ba2eb155
+
+2019-07-20 Stefan Pinnow
+
+ - - moved `setup code` before `pre` in `extract.lua` - started moving `setup code,hidden` to `preamble` of the `codeexample`s
+
+2019-07-18 Stefan Pinnow
+
+ - - also need to Lua comment LaTeX comment in the Lua documentation files
+
+2019-07-18 Stefan Pinnow
+
+ - - commented some more `\begin{codeexample}[setup code,hidden]` (as @hmenke suggested in https://github.com/pgf-tikz/pgf/pull/711#discussion_r304140166)
+
+2019-07-18 Stefan Pinnow
+
+ - - implemented suggestions given in https://github.com/pgf-tikz/pgf/pull/711
+
+2019-07-18 Stefan Pinnow
+
+ - - removed commented/unnecessary stuff from `extract.lua` - minor stuff
+
+2019-07-14 Stefan Pinnow
+
+ - - accounted for some more `codeexample`s in `tex/generic/graphdrawing/lua/pgf/gd`
+
+2019-07-13 Stefan Pinnow
+
+ - - adapted `extract.lua` after Henri changed it in Master to also account for the manual files at `/tex/generic/pgf/graphdrawing/lua/pgf/` - accounted for some more `codeexample`s in `doc/generic/pgf/text-en/`
+
+2019-07-03 Stefan Pinnow
+
+ - - removed an unnecessary empty line
+
+2019-07-03 Stefan Pinnow
+
+ - - % TODOsp: ... --> % TODOsp: codeexamples: ... (so they can be found more easily)
+
+2019-07-03 Stefan Pinnow
+
+ - - continued adding code to make extracted `codeexample`s work
+
+2019-07-02 Stefan Pinnow
+
+ - - changed order of `setup code` and `preamble` in `extract.lua` - continued adding code to make extracted `codeexample`s work
+
+2019-07-02 Stefan Pinnow
+
+ - - continued adding code to make extracted `codeexample`s work
+
+2019-07-01 Stefan Pinnow
+
+ - - continued adding code to make extracted `codeexample`s work
+
+2019-06-27 Stefan Pinnow
+
+ - - finished switching from `libraries/tikz={...}` to `preamble={\usetikzlibrary{...}}` - continued with following files in the manual
+
+2019-06-26 Stefan Pinnow
+
+ - - adapted `extract.lua` - incorporated fixes from main PGF repository (provided by Henri) - changed `\documentclass` from `article` to `standalone` - reordered some stuff - started switching from `libraries/tikz={...}` to `preamble={\usetikzlibrary{...}}`
+
+2019-06-25 Stefan Pinnow
+
+ - - added `pre` stuff to codeexamples of the tutorial doc files so fewer files fail TeXing using the build bash script.
+
+2019-06-25 Stefan Pinnow
+
+ - - finished adding libraries to codeexamples of the tutorial doc files (so far not all needed styles and definitions were added using `pre` key)
+
+2019-06-24 Stefan Pinnow
+
+ - - commented line that adds all libraries to the extracted codeexamples in `extract.lua` - started adding libraries to the codeexamples
+
+2019-07-23 Jonathan Spratte
+
+ - fixes #715
+
+2019-07-30 Henri Menke
+
+ - .cvsignore -> .gitignore #721
+
+2019-07-28 Sašo Živanović
+
+ - Fix a leaking space.
+
+2019-07-12 Henri Menke
+
+ - Fix text color in nodes #361
+
+2019-07-19 Henri Menke
+
+ - Halt on error
+
+2019-07-18 samcarter
+
+ - On behalf of @marmot : Improving the calculation of bounding boxes for Bezier curves
+
2019-08-03 Henri Menke
- Release 3.1.4b
diff --git a/Master/texmf-dist/doc/generic/pgf/FILES b/Master/texmf-dist/doc/generic/pgf/FILES
index 43cfc8e9120..ccea7e29e51 100644
--- a/Master/texmf-dist/doc/generic/pgf/FILES
+++ b/Master/texmf-dist/doc/generic/pgf/FILES
@@ -1,773 +1,915 @@
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-license.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
-pgf/doc/generic/pgf/text-en/plots/pgf-exp.table
-pgf/doc/generic/pgf/text-en/plots/pgfmanual-sine.table
-pgf/doc/generic/pgf/text-en/plots/pgf-parametric-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgfmanual-sine.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgfplotgnuplot-example.table
-pgf/doc/generic/pgf/text-en/plots/pgf-tan-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-x.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-tan-example.table
-pgf/doc/generic/pgf/text-en/plots/pgf-asymptotic-example.table
-pgf/doc/generic/pgf/text-en/plots/pgfplotgnuplot-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-parametric-example.table
-pgf/doc/generic/pgf/text-en/plots/pgf-asymptotic-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-sin.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-exp.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-x.table
-pgf/doc/generic/pgf/text-en/plots/pgf-sin.table
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-oo.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-installation.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-calc.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pages.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-main.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
-pgf/doc/generic/pgf/extract.lua
-pgf/doc/generic/pgf/version-for-pdftex/en/Makefile
-pgf/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
-pgf/doc/generic/pgf/pgfmanual.pdf
-pgf/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
-pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
-pgf/doc/generic/pgf/version-for-dvisvgm/en/Makefile
-pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.html
-pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.html
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfmanual-sine.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.table
-pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
-pgf/doc/generic/pgf/ChangeLog
-pgf/doc/generic/pgf/licenses/manifest-documentation.txt
-pgf/doc/generic/pgf/licenses/manifest-code.txt
-pgf/doc/generic/pgf/licenses/LICENSE
-pgf/doc/generic/pgf/licenses/gnu-public-license-2.txt
-pgf/doc/generic/pgf/licenses/gnu-free-documentation-license-1.2.txt
-pgf/doc/generic/pgf/licenses/latex-project-public-license-1.3c.txt
-pgf/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
-pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
-pgf/doc/generic/pgf/version-for-luatex/en/Makefile
-pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
-pgf/doc/generic/pgf/README-3.0.0
-pgf/doc/generic/pgf/macros/pgfmanual-en-macros.tex
-pgf/doc/generic/pgf/FILES
-pgf/doc/generic/pgf/version-for-tex4ht/en/Makefile
-pgf/doc/generic/pgf/version-for-tex4ht/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
-pgf/doc/generic/pgf/images/pgfmanual-mindmap-2.pdf
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.bb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.jpg
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.jpg
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.xbb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo-mask.bb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.bb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.eps
-pgf/doc/generic/pgf/images/brave-gnu-world-logo-mask.jpg
-pgf/doc/generic/pgf/images/pgfmanual-mindmap-1.pdf
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.eps
-pgf/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
-pgf/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
-pgf/doc/generic/pgf/version-for-dvipdfmx/en/Makefile
-pgf/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg
-pgf/doc/generic/pgf/version-for-vtex/en/Makefile
-pgf/doc/generic/pgf/version-for-vtex/en/pgfmanual.tex
-pgf/doc/generic/pgf/README
-pgf/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg
-pgf/doc/generic/pgf/version-for-dvips/en/Makefile
-pgf/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
-pgf/doc/generic/pgf/INSTALL
-pgf/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg
-pgf/doc/generic/pgf/version-for-dvipdfm/en/Makefile
-pgf/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg
-pgf/doc/generic/pgf/version-for-xetex/en/Makefile
-pgf/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex
-pgf/doc/generic/pgf/AUTHORS
-pgf/source/generic/pgf/testsuite/mathtest/unittest_luamathparser.tex
-pgf/source/generic/pgf/testsuite/mathtest/pgfmathtestsuite.tex
-pgf/source/generic/pgf/testsuite/external/tikzexternaltest.code.tex
-pgf/source/generic/pgf/testsuite/external/Makefile
-pgf/source/generic/pgf/testsuite/external/tikzexternaltest.sharedpreamble.tex
-pgf/source/generic/pgf/testsuite/external/tikzexternaltest.tex
-pgf/source/generic/pgf/testsuite/external/tikzexternaltestmakefile.tex
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoC.c
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoCPlusPlus.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/Makefile
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC++.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/Makefile
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC++.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.c
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/SimpleDemoOGDF.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/planarity/planarity_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/planarity/PlanarizationLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/module/module_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/Makefile
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/ogdf_script.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/energybased_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/CirclePlacer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/MatchingMerger_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/IndependentSetMerger_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/SolarPlacer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/LocalBiconnectedMerger_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/RandomMerger_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/EdgeCoverMerger_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/ZeroPlacer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/multilevelmixer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/SolarMerger_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/RandomPlacer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/MedianPlacer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/BarycenterPlacer_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/FMMMLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/FastMultipoleEmbedder_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/SpringEmbedderFR_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/SpringEmbedderKK_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/GEMLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/MultilevelLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/SpringEmbedderFRExact_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/DfsAcyclicSubgraph_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/BarycenterHeuristic_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/LongestPathRanking_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/SplitHeuristic_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/MedianHeuristic_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/GreedyCycleRemoval_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/SugiyamaLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/layered_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/SiftingHeuristic_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/GreedyInsertHeuristic_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/CoffmanGrahamRanking_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/OptimalRanking_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/FastHierarchyLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/FastSimpleHierarchyLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/misclayout/misclayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/misclayout/CircularLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/misclayout/BalloonLayout_script.h
-pgf/source/generic/pgf/c/Makefile
-pgf/source/generic/pgf/c/INSTALL
-pgf/source/generic/pgf/c/config/ExampleLocalMakefileConfig.mk
-pgf/source/generic/pgf/c/config/MakefileConfig.mk
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringLayouts.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/CoarseGraph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlElectric.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/QuadTree.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalHu2006.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlCoarsening.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/ForceTemplate.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/CoarseGraphFW.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/InitialTemplate.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/Preprocessing.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/ForceController.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/PathLengthsFW.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceGraphDistance.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceCanvasDistance.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceAbsoluteValue.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceCanvasPosition.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForcePullToGrid.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForcePullToPoint.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityDegree.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SimpleSpring.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityCloseness.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/FruchtermanReingold.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/HuSpringElectricalFW.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/initialpositioning/CircularInitialPositioning.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/initialpositioning/GridInitialPositioning.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/initialpositioning/RandomInitialPositioning.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringHu2006.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlIteration.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlDeclare.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalLayouts.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalWalshaw2000.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/ASCIIDisplayer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/BindingToASCII.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleDemo.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/example_graph_for_ascii_displayer.txt
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceCore.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToC.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/Scope.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToDisplay.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToAlgorithms.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/PhylogeneticTree.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/Maeusle2012.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/AuthorDefinedPhylogeny.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/DistanceMatrix.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedNearestNeighbourInterchange.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedMinimumEvolution.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/SokalMichener1958.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings/BindingToPGF.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings/Binding.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ReingoldTilford1981.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/DepthFirstSearch.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Bezier.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Simplifiers.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PriorityQueue.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Stack.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Storage.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Event.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Direct.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/LookupTable.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PathLengths.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Transform.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity/PlanarizationLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/AcyclicSubgraphModule.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/InitialPlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/HierarchyLayoutModule.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/RankingModule.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/MultilevelBuilder.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/TwoLayerCrossMin.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderFRExact.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/MultilevelLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/IndependentSetMerger.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/BarycenterPlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/MatchingMerger.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/MedianPlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/RandomPlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/EdgeCoverMerger.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/RandomMerger.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/SolarMerger.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/CirclePlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/LocalBiconnectedMerger.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/SolarPlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/ZeroPlacer.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderKK.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/GEMLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderFR.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FastMultipoleEmbedder.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SplitHeuristic.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/MedianHeuristic.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/DfsAcyclicSubgraph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/BarycenterHeuristic.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/FastHierarchyLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/LongestPathRanking.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/OptimalRanking.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/FastSimpleHierarchyLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/GreedyCycleRemoval.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SiftingHeuristic.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/GreedyInsertHeuristic.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/CoffmanGrahamRanking.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/BalloonLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/CircularLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/Koerner2015.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/FineTune.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Orientation.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/NodeAnchors.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Anchoring.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentOrder.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Components.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDirection.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/LayoutPipeline.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Distances.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Sublayouts.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Hyperedge.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Digraph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Vertex.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Coordinate.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Arc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Collection.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Edge.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path_arced.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Node.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Graph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Iterators.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Vector.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Cluster.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Edge.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodePositioningGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_ranking.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Ranking.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalEadesLS1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/crossing_minimization.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990b.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Sugiyama.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/edge_routing.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_positioning.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/cycle_removal.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NetworkSimplex.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/EdgeRoutingGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CrossingMinimizationGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990a.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingMinimumHeight.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/NecklaceRouting.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/Hints.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/ShiftMethod.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/LinkedList.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/BoyerMyrvold2004.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PDP.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/parameters.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/Embedding.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PlanarLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/List.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/tools/make_gd_wrap.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/SupergraphVertexSplitOptimization.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GreedyTemporalCycleRemoval.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Supergraph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Skambath2016.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/layered.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GraphAnimationCoordination.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/TimeSpec.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/Tantau2012.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd.lua
-pgf/tex/generic/pgf/graphdrawing/lua/LUA_CODING_STYLE
-pgf/tex/generic/pgf/graphdrawing/lua/pgf.lua
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.force.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.layered.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.circular.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.trees.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/experimental/tikzlibrarygraphdrawing.evolving.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/tikzlibrarygraphdrawing.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.examples.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulesorting.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulebending.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulenonlineartransformations.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulesnakes.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleoo.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulematrix.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleparser.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleanimations.code.tex
-pgf/tex/generic/pgf/lua/pgf/manual/DocumentParser.lua
-pgf/tex/generic/pgf/lua/pgf/manual.lua
-pgf/tex/generic/pgf/math/pgfmath.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
-pgf/tex/generic/pgf/math/pgfmathutil.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
-pgf/tex/generic/pgf/math/pgfmathparser.code.tex
-pgf/tex/generic/pgf/math/pgfmathode.code.tex
-pgf/tex/generic/pgf/math/pgfint.code.tex
-pgf/tex/generic/pgf/math/pgfmathcalc.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
-pgf/tex/generic/pgf/math/pgfmathfloat.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfolding.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplothandlers.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryscopes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.US.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.footprints.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybabel.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryviews.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfpu.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymath.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarychains.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryer.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarylindenmayersystems.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfixedpointarithmetic.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryperspective.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.IEC.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.IEC.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.US.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.CDH.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.meta.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysvg.path.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.markings.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybending.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.fractals.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.text.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadings.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypetri.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.polar.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.formats.functions.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.sparklines.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.barcharts.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.3d.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryangles.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary3d.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryrdf.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarythrough.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.IEC.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
-pgf/tex/generic/pgf/utilities/pgfcalendar.code.tex
-pgf/tex/generic/pgf/utilities/pgfexternalwithdepth.tex
-pgf/tex/generic/pgf/utilities/pgffor.code.tex
-pgf/tex/generic/pgf/utilities/pgfutil-common.tex
-pgf/tex/generic/pgf/utilities/pgfrcs.code.tex
-pgf/tex/generic/pgf/utilities/pgfexternal.tex
-pgf/tex/generic/pgf/utilities/pgfutil-context.def
-pgf/tex/generic/pgf/utilities/pgfutil-plain.def
-pgf/tex/generic/pgf/utilities/pgfutil-latex.def
-pgf/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
-pgf/tex/generic/pgf/utilities/pgfkeys.code.tex
-pgf/tex/generic/pgf/utilities/pgfutil-common-lists.tex
-pgf/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryarrows.spaced.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryfadings.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.US.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.ee.IEC.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.ee.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.IEC.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarycurvilinear.code.tex
-pgf/tex/generic/pgf/libraries/luamath/pgf/luamath/parser.lua
-pgf/tex/generic/pgf/libraries/luamath/pgf/luamath/functions.lua
-pgf/tex/generic/pgf/libraries/luamath/pgflibraryluamath.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarylindenmayersystems.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarytimelines.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryprofiler.code.tex
-pgf/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.polar.code.tex
-pgf/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.formats.functions.code.tex
-pgf/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.footprints.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.fractals.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.markings.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.text.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryfixedpointarithmetic.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarysvg.path.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
-pgf/tex/generic/pgf/pgf.revision.tex
-pgf/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-dvi.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-dvips.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
-pgf/tex/generic/pgf/systemlayer/pgf.cfg
-pgf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
-pgf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
-pgf/tex/generic/pgf/systemlayer/pgfsys-xetex.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-luatex.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-vtex.def
-pgf/tex/generic/pgf/systemlayer/pgfsys.code.tex
-pgf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
-pgf/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex
-pgf/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-textures.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
-pgf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcore.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
-pgf/tex/plain/pgf/math/pgfmath.tex
-pgf/tex/plain/pgf/frontendlayer/tikz.tex
-pgf/tex/plain/pgf/utilities/pgfcalendar.tex
-pgf/tex/plain/pgf/utilities/pgfkeys.tex
-pgf/tex/plain/pgf/utilities/pgfrcs.tex
-pgf/tex/plain/pgf/utilities/pgffor.tex
-pgf/tex/plain/pgf/systemlayer/pgfsys.tex
-pgf/tex/plain/pgf/basiclayer/pgfbasepatterns.tex
-pgf/tex/plain/pgf/basiclayer/pgfbasematrix.tex
-pgf/tex/plain/pgf/basiclayer/pgfbasesnakes.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaseplot.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaseimage.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaselayers.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaseshapes.tex
-pgf/tex/plain/pgf/basiclayer/pgf.tex
-pgf/tex/plain/pgf/basiclayer/pgfcore.tex
-pgf/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
-pgf/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
-pgf/tex/latex/pgf/doc/pgfmanual.code.tex
-pgf/tex/latex/pgf/doc/pgfmanual.sty
-pgf/tex/latex/pgf/math/pgfmath.sty
-pgf/tex/latex/pgf/frontendlayer/tikz.sty
-pgf/tex/latex/pgf/frontendlayer/libraries/tikzlibraryexternal.code.tex
-pgf/tex/latex/pgf/frontendlayer/pgfpict2e.sty
-pgf/tex/latex/pgf/utilities/pgfrcs.sty
-pgf/tex/latex/pgf/utilities/pgfkeys.sty
-pgf/tex/latex/pgf/utilities/pgfpages.sty
-pgf/tex/latex/pgf/utilities/pgfcalendar.sty
-pgf/tex/latex/pgf/utilities/xxcolor.sty
-pgf/tex/latex/pgf/utilities/tikzexternal.sty
-pgf/tex/latex/pgf/utilities/pgffor.sty
-pgf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
-pgf/tex/latex/pgf/compatibility/pgflibrarysnakes.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryshapes.sty
-pgf/tex/latex/pgf/compatibility/pgfautomata.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty
-pgf/tex/latex/pgf/compatibility/pgfheaps.sty
-pgf/tex/latex/pgf/compatibility/pgfshade.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty
-pgf/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryarrows.sty
-pgf/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty
-pgf/tex/latex/pgf/compatibility/pgfnodes.sty
-pgf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
-pgf/tex/latex/pgf/compatibility/pgfarrows.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryautomata.sty
-pgf/tex/latex/pgf/systemlayer/pgfsys.sty
-pgf/tex/latex/pgf/basiclayer/pgfbasematrix.sty
-pgf/tex/latex/pgf/basiclayer/pgfbasepatterns.sty
-pgf/tex/latex/pgf/basiclayer/pgfcore.sty
-pgf/tex/latex/pgf/basiclayer/pgf.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaseplot.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaseimage.sty
-pgf/tex/latex/pgf/basiclayer/pgfbasesnakes.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaselayers.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaseshapes.sty
-pgf/tex/context/third/pgf/math/t-pgfmat.tex
-pgf/tex/context/third/pgf/frontendlayer/t-tikz.tex
-pgf/tex/context/third/pgf/utilities/t-pgfrcs.tex
-pgf/tex/context/third/pgf/utilities/t-pgfkey.tex
-pgf/tex/context/third/pgf/utilities/t-pgfcal.tex
-pgf/tex/context/third/pgf/utilities/t-pgfmod.tex
-pgf/tex/context/third/pgf/utilities/t-pgffor.tex
-pgf/tex/context/third/pgf/systemlayer/t-pgfsys.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbla.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfcor.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbpt.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbsh.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbma.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgf.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbim.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbsn.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbpl.tex
+doc/generic/pgf/AUTHORS
+doc/generic/pgf/ChangeLog
+doc/generic/pgf/FILES
+doc/generic/pgf/INSTALL
+doc/generic/pgf/README
+doc/generic/pgf/extract.lua
+doc/generic/pgf/images/brave-gnu-world-logo-mask.bb
+doc/generic/pgf/images/brave-gnu-world-logo-mask.jpg
+doc/generic/pgf/images/brave-gnu-world-logo.25.bb
+doc/generic/pgf/images/brave-gnu-world-logo.25.eps
+doc/generic/pgf/images/brave-gnu-world-logo.25.jpg
+doc/generic/pgf/images/brave-gnu-world-logo.bb
+doc/generic/pgf/images/brave-gnu-world-logo.eps
+doc/generic/pgf/images/brave-gnu-world-logo.jpg
+doc/generic/pgf/images/brave-gnu-world-logo.xbb
+doc/generic/pgf/images/pgfmanual-mindmap-1.pdf
+doc/generic/pgf/images/pgfmanual-mindmap-2.pdf
+doc/generic/pgf/licenses/LICENSE
+doc/generic/pgf/licenses/gnu-free-documentation-license-1.2.txt
+doc/generic/pgf/licenses/gnu-public-license-2.txt
+doc/generic/pgf/licenses/latex-project-public-license-1.3c.txt
+doc/generic/pgf/licenses/manifest-code.txt
+doc/generic/pgf/licenses/manifest-documentation.txt
+doc/generic/pgf/macros/pgfmanual-en-macros.tex
+doc/generic/pgf/pgfmanual.pdf
+doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
+doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
+doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
+doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
+doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
+doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
+doc/generic/pgf/text-en/pgfmanual-en-installation.tex
+doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-calc.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
+doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
+doc/generic/pgf/text-en/pgfmanual-en-license.tex
+doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
+doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
+doc/generic/pgf/text-en/pgfmanual-en-main.tex
+doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
+doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
+doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
+doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
+doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
+doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
+doc/generic/pgf/text-en/pgfmanual-en-oo.tex
+doc/generic/pgf/text-en/pgfmanual-en-pages.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
+doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
+doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
+doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
+doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
+doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
+doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
+doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
+doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
+doc/generic/pgf/text-en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/text-en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/text-en/plots/pgf-exp.gnuplot
+doc/generic/pgf/text-en/plots/pgf-exp.table
+doc/generic/pgf/text-en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/text-en/plots/pgf-parametric-example.table
+doc/generic/pgf/text-en/plots/pgf-sin.gnuplot
+doc/generic/pgf/text-en/plots/pgf-sin.table
+doc/generic/pgf/text-en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/text-en/plots/pgf-tan-example.table
+doc/generic/pgf/text-en/plots/pgf-x.gnuplot
+doc/generic/pgf/text-en/plots/pgf-x.table
+doc/generic/pgf/text-en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/text-en/plots/pgfmanual-sine.table
+doc/generic/pgf/text-en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/text-en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-dvipdfm/en/Makefile
+doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg
+doc/generic/pgf/version-for-dvipdfmx/en/Makefile
+doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
+doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
+doc/generic/pgf/version-for-dvips/en/Makefile
+doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
+doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
+doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table
+doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg
+doc/generic/pgf/version-for-dvisvgm/en/Makefile
+doc/generic/pgf/version-for-dvisvgm/en/color.cfg
+doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.html
+doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
+doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.html
+doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
+doc/generic/pgf/version-for-luatex/en/Makefile
+doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
+doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
+doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table
+doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
+doc/generic/pgf/version-for-pdftex/en/Makefile
+doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
+doc/generic/pgf/version-for-tex4ht/en/Makefile
+doc/generic/pgf/version-for-tex4ht/en/pgfmanual.tex
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table
+doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
+doc/generic/pgf/version-for-vtex/en/Makefile
+doc/generic/pgf/version-for-vtex/en/pgfmanual.tex
+doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table
+doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg
+doc/generic/pgf/version-for-xetex/en/Makefile
+doc/generic/pgf/version-for-xetex/en/pgfmanual.tex
+doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table
+doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table
+doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table
+doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table
+doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table
+doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table
+doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table
+doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot
+doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table
+doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg
+scripts/pgf/Makefile.pgf_release
+scripts/pgf/pgfrevisionfile.sh
+source/generic/pgf/c/INSTALL
+source/generic/pgf/c/Makefile
+source/generic/pgf/c/config/ExampleLocalMakefileConfig.mk
+source/generic/pgf/c/config/MakefileConfig.mk
+source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/Makefile
+source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoC.c
+source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoCPlusPlus.c++
+source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC++.c++
+source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC++.h
+source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.c
+source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/InterfaceFromC.h
+source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/Makefile
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.c++
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/Makefile
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/SimpleDemoOGDF.c++
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/FMMMLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/FastMultipoleEmbedder_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/GEMLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/MultilevelLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/SpringEmbedderFRExact_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/SpringEmbedderFR_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/SpringEmbedderKK_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/energybased_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/BarycenterPlacer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/CirclePlacer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/EdgeCoverMerger_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/IndependentSetMerger_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/LocalBiconnectedMerger_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/MatchingMerger_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/MedianPlacer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/RandomMerger_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/RandomPlacer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/SolarMerger_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/SolarPlacer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/ZeroPlacer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/energybased/multilevelmixer/multilevelmixer_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/BarycenterHeuristic_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/CoffmanGrahamRanking_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/DfsAcyclicSubgraph_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/FastHierarchyLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/FastSimpleHierarchyLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/GreedyCycleRemoval_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/GreedyInsertHeuristic_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/LongestPathRanking_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/MedianHeuristic_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/OptimalRanking_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/SiftingHeuristic_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/SplitHeuristic_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/SugiyamaLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/layered/layered_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/misclayout/BalloonLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/misclayout/CircularLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/misclayout/misclayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/module/module_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/ogdf_script.c++
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/planarity/PlanarizationLayout_script.h
+source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/planarity/planarity_script.h
+source/generic/pgf/testsuite/external/Makefile
+source/generic/pgf/testsuite/external/tikzexternaltest.code.tex
+source/generic/pgf/testsuite/external/tikzexternaltest.sharedpreamble.tex
+source/generic/pgf/testsuite/external/tikzexternaltest.tex
+source/generic/pgf/testsuite/external/tikzexternaltestmakefile.tex
+source/generic/pgf/testsuite/mathtest/pgfmathtestsuite.tex
+source/generic/pgf/testsuite/mathtest/unittest_luamathparser.tex
+tex/context/third/pgf/basiclayer/t-pgf.tex
+tex/context/third/pgf/basiclayer/t-pgfbim.tex
+tex/context/third/pgf/basiclayer/t-pgfbla.tex
+tex/context/third/pgf/basiclayer/t-pgfbma.tex
+tex/context/third/pgf/basiclayer/t-pgfbpl.tex
+tex/context/third/pgf/basiclayer/t-pgfbpt.tex
+tex/context/third/pgf/basiclayer/t-pgfbsh.tex
+tex/context/third/pgf/basiclayer/t-pgfbsn.tex
+tex/context/third/pgf/basiclayer/t-pgfcor.tex
+tex/context/third/pgf/frontendlayer/t-tikz.tex
+tex/context/third/pgf/math/t-pgfmat.tex
+tex/context/third/pgf/systemlayer/t-pgfsys.tex
+tex/context/third/pgf/utilities/t-pgfcal.tex
+tex/context/third/pgf/utilities/t-pgffor.tex
+tex/context/third/pgf/utilities/t-pgfkey.tex
+tex/context/third/pgf/utilities/t-pgfmod.tex
+tex/context/third/pgf/utilities/t-pgfrcs.tex
+tex/generic/pgf/basiclayer/pgfcore.code.tex
+tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
+tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
+tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
+tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
+tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
+tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
+tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
+tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
+tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
+tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
+tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
+tex/generic/pgf/basiclayer/pgfcorequick.code.tex
+tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
+tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
+tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
+tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
+tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.IEC.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.CDH.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.IEC.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.US.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.3d.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.barcharts.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.formats.functions.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.polar.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.sparklines.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary3d.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryangles.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybabel.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybending.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarychains.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.footprints.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.fractals.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.markings.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.text.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryer.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfixedpointarithmetic.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfolding.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfpu.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarylindenmayersystems.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymath.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.meta.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryperspective.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypetri.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplothandlers.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryrdf.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryscopes.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadings.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.IEC.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.US.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysvg.path.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarythrough.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
+tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryviews.code.tex
+tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
+tex/generic/pgf/graphdrawing/lua/LUA_CODING_STYLE
+tex/generic/pgf/graphdrawing/lua/pgf.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings/Binding.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings/BindingToPGF.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/circular.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/Tantau2012.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Anchoring.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDirection.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentOrder.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Components.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Distances.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/FineTune.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/LayoutPipeline.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/NodeAnchors.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Orientation.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Sublayouts.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/control/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Cluster.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Edge.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Graph.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Iterators.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Node.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Vector.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FastMultipoleEmbedder.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/GEMLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/MultilevelLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderFR.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderFRExact.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderKK.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/BarycenterPlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/CirclePlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/EdgeCoverMerger.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/IndependentSetMerger.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/LocalBiconnectedMerger.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/MatchingMerger.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/MedianPlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/RandomMerger.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/RandomPlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/SolarMerger.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/SolarPlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/ZeroPlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/BarycenterHeuristic.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/CoffmanGrahamRanking.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/DfsAcyclicSubgraph.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/FastHierarchyLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/FastSimpleHierarchyLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/GreedyCycleRemoval.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/GreedyInsertHeuristic.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/LongestPathRanking.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/MedianHeuristic.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/OptimalRanking.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SiftingHeuristic.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SplitHeuristic.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/BalloonLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/CircularLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/AcyclicSubgraphModule.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/HierarchyLayoutModule.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/InitialPlacer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/MultilevelBuilder.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/RankingModule.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/TwoLayerCrossMin.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity/PlanarizationLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/ASCIIDisplayer.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/BindingToASCII.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleDemo.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/example_graph_for_ascii_displayer.txt
+tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GraphAnimationCoordination.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GreedyTemporalCycleRemoval.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Skambath2016.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Supergraph.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/SupergraphVertexSplitOptimization.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/TimeSpec.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/doc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/layered.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/CoarseGraph.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlCoarsening.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlDeclare.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlElectric.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlIteration.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/QuadTree.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalHu2006.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalLayouts.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalWalshaw2000.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringHu2006.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringLayouts.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/FruchtermanReingold.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/HuSpringElectricalFW.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SimpleSpring.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityCloseness.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityDegree.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/CoarseGraphFW.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/ForceController.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/ForceTemplate.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/InitialTemplate.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/PathLengthsFW.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/Preprocessing.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/doc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceAbsoluteValue.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceCanvasDistance.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceCanvasPosition.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForceGraphDistance.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForcePullToGrid.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/forcetypes/ForcePullToPoint.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/initialpositioning/CircularInitialPositioning.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/initialpositioning/GridInitialPositioning.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/initialpositioning/RandomInitialPositioning.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/force/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/interface.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceCore.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToAlgorithms.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToC.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToDisplay.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/Scope.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CrossingMinimizationGansnerKNV1993.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990a.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990b.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalEadesLS1993.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalGansnerKNV1993.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/EdgeRoutingGansnerKNV1993.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NetworkSimplex.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodePositioningGansnerKNV1993.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingGansnerKNV1993.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingMinimumHeight.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Ranking.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Sugiyama.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/crossing_minimization.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/cycle_removal.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/edge_routing.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_positioning.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_ranking.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Bezier.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/DepthFirstSearch.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Direct.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Event.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/LookupTable.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PathLengths.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PriorityQueue.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Simplifiers.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Stack.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Storage.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Transform.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Arc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Collection.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Coordinate.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Digraph.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Edge.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Hyperedge.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path_arced.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Vertex.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/model/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/Koerner2015.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/AuthorDefinedPhylogeny.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedMinimumEvolution.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedNearestNeighbourInterchange.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/DistanceMatrix.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/Maeusle2012.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/PhylogeneticTree.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/SokalMichener1958.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/BoyerMyrvold2004.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/Embedding.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/LinkedList.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/List.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PDP.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PlanarLayout.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/ShiftMethod.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/parameters.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/routing.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/Hints.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/NecklaceRouting.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/library.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/tools/make_gd_wrap.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/trees.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ReingoldTilford1981.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
+tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/library.lua
+tex/generic/pgf/graphdrawing/tex/experimental/tikzlibrarygraphdrawing.evolving.code.tex
+tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.circular.code.tex
+tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.code.tex
+tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.examples.code.tex
+tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.force.code.tex
+tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.layered.code.tex
+tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.trees.code.tex
+tex/generic/pgf/graphdrawing/tex/tikzlibrarygraphdrawing.code.tex
+tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex
+tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.formats.functions.code.tex
+tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.polar.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.footprints.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.fractals.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.markings.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
+tex/generic/pgf/libraries/decorations/pgflibrarydecorations.text.code.tex
+tex/generic/pgf/libraries/luamath/pgf/luamath/functions.lua
+tex/generic/pgf/libraries/luamath/pgf/luamath/parser.lua
+tex/generic/pgf/libraries/luamath/pgflibraryluamath.code.tex
+tex/generic/pgf/libraries/pgflibraryarrows.code.tex
+tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
+tex/generic/pgf/libraries/pgflibraryarrows.spaced.code.tex
+tex/generic/pgf/libraries/pgflibrarybbox.code.tex
+tex/generic/pgf/libraries/pgflibrarycurvilinear.code.tex
+tex/generic/pgf/libraries/pgflibraryfadings.code.tex
+tex/generic/pgf/libraries/pgflibraryfixedpointarithmetic.code.tex
+tex/generic/pgf/libraries/pgflibraryfpu.code.tex
+tex/generic/pgf/libraries/pgflibraryintersections.code.tex
+tex/generic/pgf/libraries/pgflibrarylindenmayersystems.code.tex
+tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
+tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
+tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
+tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
+tex/generic/pgf/libraries/pgflibraryprofiler.code.tex
+tex/generic/pgf/libraries/pgflibraryshadings.code.tex
+tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
+tex/generic/pgf/libraries/pgflibrarysvg.path.code.tex
+tex/generic/pgf/libraries/pgflibrarytimelines.code.tex
+tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.ee.IEC.code.tex
+tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.ee.code.tex
+tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.IEC.code.tex
+tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.US.code.tex
+tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex
+tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex
+tex/generic/pgf/lua/pgf/manual.lua
+tex/generic/pgf/lua/pgf/manual/DocumentParser.lua
+tex/generic/pgf/math/pgfint.code.tex
+tex/generic/pgf/math/pgfmath.code.tex
+tex/generic/pgf/math/pgfmathcalc.code.tex
+tex/generic/pgf/math/pgfmathfloat.code.tex
+tex/generic/pgf/math/pgfmathfunctions.base.code.tex
+tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
+tex/generic/pgf/math/pgfmathfunctions.code.tex
+tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
+tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
+tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
+tex/generic/pgf/math/pgfmathfunctions.random.code.tex
+tex/generic/pgf/math/pgfmathfunctions.round.code.tex
+tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
+tex/generic/pgf/math/pgfmathode.code.tex
+tex/generic/pgf/math/pgfmathparser.code.tex
+tex/generic/pgf/math/pgfmathutil.code.tex
+tex/generic/pgf/modules/pgfmoduleanimations.code.tex
+tex/generic/pgf/modules/pgfmodulebending.code.tex
+tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
+tex/generic/pgf/modules/pgfmoduledecorations.code.tex
+tex/generic/pgf/modules/pgfmodulematrix.code.tex
+tex/generic/pgf/modules/pgfmodulenonlineartransformations.code.tex
+tex/generic/pgf/modules/pgfmoduleoo.code.tex
+tex/generic/pgf/modules/pgfmoduleparser.code.tex
+tex/generic/pgf/modules/pgfmoduleplot.code.tex
+tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+tex/generic/pgf/modules/pgfmodulesnakes.code.tex
+tex/generic/pgf/modules/pgfmodulesorting.code.tex
+tex/generic/pgf/pgf.revision.tex
+tex/generic/pgf/systemlayer/pgf.cfg
+tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
+tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
+tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
+tex/generic/pgf/systemlayer/pgfsys-common-svg.def
+tex/generic/pgf/systemlayer/pgfsys-dvi.def
+tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
+tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
+tex/generic/pgf/systemlayer/pgfsys-dvips.def
+tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
+tex/generic/pgf/systemlayer/pgfsys-luatex.def
+tex/generic/pgf/systemlayer/pgfsys-pdftex.def
+tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
+tex/generic/pgf/systemlayer/pgfsys-textures.def
+tex/generic/pgf/systemlayer/pgfsys-vtex.def
+tex/generic/pgf/systemlayer/pgfsys-xetex.def
+tex/generic/pgf/systemlayer/pgfsys.code.tex
+tex/generic/pgf/systemlayer/pgfsysanimations.code.tex
+tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
+tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
+tex/generic/pgf/utilities/pgfcalendar.code.tex
+tex/generic/pgf/utilities/pgfexternal.tex
+tex/generic/pgf/utilities/pgfexternalwithdepth.tex
+tex/generic/pgf/utilities/pgffor.code.tex
+tex/generic/pgf/utilities/pgfkeys.code.tex
+tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
+tex/generic/pgf/utilities/pgfrcs.code.tex
+tex/generic/pgf/utilities/pgfutil-common-lists.tex
+tex/generic/pgf/utilities/pgfutil-common.tex
+tex/generic/pgf/utilities/pgfutil-context.def
+tex/generic/pgf/utilities/pgfutil-latex.def
+tex/generic/pgf/utilities/pgfutil-plain.def
+tex/latex/pgf/basiclayer/pgf.sty
+tex/latex/pgf/basiclayer/pgfbaseimage.sty
+tex/latex/pgf/basiclayer/pgfbaselayers.sty
+tex/latex/pgf/basiclayer/pgfbasematrix.sty
+tex/latex/pgf/basiclayer/pgfbasepatterns.sty
+tex/latex/pgf/basiclayer/pgfbaseplot.sty
+tex/latex/pgf/basiclayer/pgfbaseshapes.sty
+tex/latex/pgf/basiclayer/pgfbasesnakes.sty
+tex/latex/pgf/basiclayer/pgfcore.sty
+tex/latex/pgf/compatibility/pgfarrows.sty
+tex/latex/pgf/compatibility/pgfautomata.sty
+tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
+tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
+tex/latex/pgf/compatibility/pgfheaps.sty
+tex/latex/pgf/compatibility/pgflibraryarrows.sty
+tex/latex/pgf/compatibility/pgflibraryautomata.sty
+tex/latex/pgf/compatibility/pgflibraryplothandlers.sty
+tex/latex/pgf/compatibility/pgflibraryplotmarks.sty
+tex/latex/pgf/compatibility/pgflibraryshapes.sty
+tex/latex/pgf/compatibility/pgflibrarysnakes.sty
+tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty
+tex/latex/pgf/compatibility/pgflibrarytikztrees.sty
+tex/latex/pgf/compatibility/pgfnodes.sty
+tex/latex/pgf/compatibility/pgfshade.sty
+tex/latex/pgf/doc/pgfmanual.code.tex
+tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
+tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
+tex/latex/pgf/doc/pgfmanual.sty
+tex/latex/pgf/frontendlayer/libraries/tikzlibraryexternal.code.tex
+tex/latex/pgf/frontendlayer/pgfpict2e.sty
+tex/latex/pgf/frontendlayer/tikz.sty
+tex/latex/pgf/math/pgfmath.sty
+tex/latex/pgf/systemlayer/pgfsys.sty
+tex/latex/pgf/utilities/pgfcalendar.sty
+tex/latex/pgf/utilities/pgffor.sty
+tex/latex/pgf/utilities/pgfkeys.sty
+tex/latex/pgf/utilities/pgfpages.sty
+tex/latex/pgf/utilities/pgfrcs.sty
+tex/latex/pgf/utilities/tikzexternal.sty
+tex/latex/pgf/utilities/xxcolor.sty
+tex/plain/pgf/basiclayer/pgf.tex
+tex/plain/pgf/basiclayer/pgfbaseimage.tex
+tex/plain/pgf/basiclayer/pgfbaselayers.tex
+tex/plain/pgf/basiclayer/pgfbasematrix.tex
+tex/plain/pgf/basiclayer/pgfbasepatterns.tex
+tex/plain/pgf/basiclayer/pgfbaseplot.tex
+tex/plain/pgf/basiclayer/pgfbaseshapes.tex
+tex/plain/pgf/basiclayer/pgfbasesnakes.tex
+tex/plain/pgf/basiclayer/pgfcore.tex
+tex/plain/pgf/frontendlayer/tikz.tex
+tex/plain/pgf/math/pgfmath.tex
+tex/plain/pgf/systemlayer/pgfsys.tex
+tex/plain/pgf/utilities/pgfcalendar.tex
+tex/plain/pgf/utilities/pgffor.tex
+tex/plain/pgf/utilities/pgfkeys.tex
+tex/plain/pgf/utilities/pgfrcs.tex
diff --git a/Master/texmf-dist/doc/generic/pgf/README-3.0.0 b/Master/texmf-dist/doc/generic/pgf/README-3.0.0
deleted file mode 100644
index d39a261bc6d..00000000000
--- a/Master/texmf-dist/doc/generic/pgf/README-3.0.0
+++ /dev/null
@@ -1,51 +0,0 @@
-I am happy to announce version 3.0.0 of TikZ/pgf. After several years
-of development work in the background, a new version is finally ready.
-
-The big jump in the version number from 2.10 to 3.0.0 is due to the
-fact that a lot of new stuff has been added to TikZ (since the last
-version, over a thousand lines have been added to the change log...)
-and over a hundred bugs have been eliminated. However, care was taken
-to make sure that in normal circumstances all old code will still
-produce the exact same results as it used to.
-
-Since it is impossible to list all the changes and improvements since
-the last version in this announcement, let me just point out some
-hilights:
-
-- Arrow Tips: The code for specifying and using arrow tips has been
- completely rewritten. You can now configure the appearance of arrow
- tip "to death" and do so on the fly. Arbitrary arrow tips will now
- even bend along curves since TikZ can now do curvilinear
- transformations on a very low level.
-
-- Syntax Improvements: A lot of small things have been added and
- improved in the syntax. For instance, nodes can be in front of
- paths, but now also behind them. There is the new notion of a "small
- picture" called a "pic", which is something of a mixture of a node
- and a picture, making it easy for normal users to create
- configurable, reusable graphics.
-
-- A Syntax for Graphs: Creating a larger graph used to require a large
- number of node and edge commands and, possibly, some foreach
- loops. Now there is a new simple syntax for this, borrowed from the
- GraphViz program, that makes it very easy to specify graphs and
- especially trees in a convenient manner.
-
-- Graph Drawing Algorithms: TikZ now comes with a large and powerful
- system for computing the positions of nodes of graphs automatically
- (you need LuaTeX for this, though). A number of common algorithms
- have already been implemented, making it very easy to draw graphs
- now. Also, it is rather simple to implement new graph drawing
- algorithms.
-
-- Data Visualization: There is now an alternative to pgfplots as part
- of the standard TikZ installation for creating plots. While pgfplots
- is still the more mature system, the new data visualization system
- comes with some interesting new ideas.
-
-- Driver Support: Support for all mayor backend drivers has been
- improved. A new, cool thing is the support for dvisvgm, which
- allows you to create powerful SVG graphics directly from TeX,
- including the text. This support also open the door to interactive
- and animated graphics in future versions since SVG makes it very
- easy to animate arbitrary parts of a graphic.
diff --git a/Master/texmf-dist/doc/generic/pgf/extract.lua b/Master/texmf-dist/doc/generic/pgf/extract.lua
index 89141b6da62..ee883f1ac82 100644
--- a/Master/texmf-dist/doc/generic/pgf/extract.lua
+++ b/Master/texmf-dist/doc/generic/pgf/extract.lua
@@ -1,22 +1,3 @@
--- TODO: this has to go
-local preamble = [[
-\usetikzlibrary{3d,arrows,arrows.spaced,arrows.meta,bending,babel,calc,
- fit,patterns,plotmarks,shapes.geometric,shapes.misc,shapes.symbols,
- shapes.arrows,shapes.callouts,shapes.multipart,shapes.gates.logic.US,
- shapes.gates.logic.IEC,circuits.logic.US,circuits.logic.IEC,
- circuits.logic.CDH,circuits.ee.IEC,datavisualization,
- datavisualization.polar,datavisualization.formats.functions,er,automata,
- backgrounds,chains,topaths,trees,petri,mindmap,matrix,calendar,folding,
- fadings,shadings,spy,through,turtle,positioning,scopes,
- decorations.fractals,decorations.shapes,decorations.text,
- decorations.pathmorphing,decorations.pathreplacing,decorations.footprints,
- decorations.markings,shadows,lindenmayersystems,intersections,
- fixedpointarithmetic,fpu,svg.path,external,graphs,graphs.standard,quotes,
- math,angles,views,animations,rdf,perspective}
-\usetikzlibrary{graphdrawing}
-\usegdlibrary{trees,circular,layered,examples,force,phylogenetics,routing}
-]]
-
local lfs = require("lfs")
local lpeg = require("lpeg")
local C, Cf, Cg, Ct, P, S, V = lpeg.C, lpeg.Cf, lpeg.Cg, lpeg.Ct, lpeg.P, lpeg.S, lpeg.V
@@ -149,17 +130,16 @@ local function walk(sourcedir, targetdir)
goto continue
end
- -- Skip those that say "code only"
- if not options["code only"] then
+ -- Skip those that say "code only" or "setup code"
+ if not options["code only"] and not options["setup code"] then
local newname = name .. "-" .. n .. ".tex"
local examplefile = io.open(targetdir .. newname, "w")
- examplefile:write"\\documentclass{article}\n"
+ examplefile:write"\\documentclass{standalone}\n"
examplefile:write"\\usepackage{fp,pgf,tikz,xcolor}\n"
- examplefile:write(preamble) -- TODO: this has to go
examplefile:write(options["preamble"] and options["preamble"] .. "\n" or "")
examplefile:write"\\begin{document}\n"
- examplefile:write"\\makeatletter\n" -- TODO: this has to go
+
examplefile:write(setup_code)
local pre = options["pre"] or ""
pre = pre:gsub("##", "#")
diff --git a/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex b/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
index a3226328ac6..c73768aa934 100644
--- a/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
+++ b/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
@@ -10,28 +10,8 @@
% $Header$
-\providecommand\href[2]{\texttt{#1}}
-\providecommand\hypertarget[2]{\texttt{#1}}
-\providecommand\hyperlink[2]{\texttt{#1}}
-
-
\newcount\pgfmanualtargetcount
-\def\cleanuplink#1{%
- \expandafter\ifx\csname pgfmanual@hlink@#1\endcsname\relax%
- \global\advance\pgfmanualtargetcount by1\relax%
- \expandafter\xdef\csname pgfmanual@hlink@#1\endcsname{pgfmanual-pos-\the\pgfmanualtargetcount}%
- \fi%
-}
-\def\cleanedhypertarget#1#2{% necessary for dvisvgm
- \cleanuplink{#1}%
- \hypertarget{\csname pgfmanual@hlink@#1\endcsname}{#2}%
-}
-\def\cleanedhyperlink#1#2{%
- \cleanuplink{#1}%
- \hyperlink{\csname pgfmanual@hlink@#1\endcsname}{#2}%
-}
-
\colorlet{examplefill}{yellow!80!black}
\definecolor{graphicbackground}{rgb}{0.96,0.96,0.8}
\definecolor{codebackground}{rgb}{0.9,0.9,1}
@@ -232,7 +212,7 @@
\newenvironment{luafiledescription}[1]{}{}
\newenvironment{luacommand}[4]{
- \cleanedhypertarget{pgf/lua/#1}{\luageneric{#2}{#3}{\texttt{(#4)}}{\texttt{function}}}
+ \hypertarget{pgf/lua/#1}{\luageneric{#2}{#3}{\texttt{(#4)}}{\texttt{function}}}
}{\endluageneric}
\newenvironment{luaparameters}{\par\emph{Parameters:}%
@@ -313,7 +293,7 @@
\newenvironment{math-function}[1]{
\def\mathdefaultname{#1}
\extractmathfunctionname{#1}
- \edef\mathurl{{math:\mathname}}\expandafter\cleanedhypertarget\expandafter{\mathurl}{}%
+ \edef\mathurl{{math:\mathname}}\expandafter\hypertarget\expandafter{\mathurl}{}%
\begin{pgfmanualentry}
\pgfmanualentryheadline{\texttt{#1}}%
\index{\mathname @\protect\texttt{\mathname} math function}%
@@ -1305,6 +1285,17 @@
\end{pgfmanualentry}
}
+\newenvironment{pattern}[1]{
+ \begin{pgfmanualentry}
+ \pgfmanualentryheadline{\textbf{Pattern} {\ttfamily#1}}
+ \index{#1@\protect\texttt{#1} pattern}%
+ \index{Patterns!#1@\protect\texttt{#1}}%
+ \pgfmanualbody
+}
+{
+ \end{pgfmanualentry}
+}
+
\def\processaction#1=#2\relax{
\expandafter\let\expandafter\pgf@temp\csname manual@action@#1\endcsname
\ifx\pgf@temp\relax\else
@@ -1833,7 +1824,7 @@
\ifx\code@preamble\pgfutil@empty\else
\pgfutil@tempdima=\hsize
\vbox{\hsize=\pgfutil@tempdima
- \scriptsize\detokenize\expandafter{\code@preamble}}%
+ \raggedright\scriptsize\detokenize\expandafter{\code@preamble}}%
\fi
\pgfkeysvalueof{/codeexample/typeset listing/.@cmd}{#1}\pgfeov
}%
diff --git a/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf b/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
index 5d149f21c76..16f321b3bbe 100644
--- a/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
+++ b/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
index fa2f26158b2..c9ae72ba3b3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
@@ -348,7 +348,7 @@ tips are added are explained in Section~\ref{section-arrow-tips-where}.
To ``clear'' the start arrow, say |\pgfsetarrowsstart{}|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{arrows.meta}}]
\begin{pgfpicture}
\pgfsetarrowsstart{Latex[length=10pt]}
\pgfpathmoveto{\pgfpointorigin}
@@ -368,7 +368,7 @@ tips are added are explained in Section~\ref{section-arrow-tips-where}.
\begin{command}{\pgfsetarrowsend\marg{end arrow tip specification}}
Sets the arrow tip kind used at the end of a path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{arrows.meta}}]
\begin{pgfpicture}
\pgfsetarrowsstart{Latex[length=10pt]}
\pgfsetarrowsend{Computer Modern Rightarrow}
@@ -385,7 +385,7 @@ tips are added are explained in Section~\ref{section-arrow-tips-where}.
specification}|-|\meta{end arrow tip specification}. In this case, both the
start and the end arrow specification are set:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{arrows.meta}}]
\begin{pgfpicture}
\pgfsetarrows{Latex[length=10pt]->>}
\pgfpathmoveto{\pgfpointorigin}
@@ -409,7 +409,7 @@ tips are added are explained in Section~\ref{section-arrow-tips-where}.
This command is useful if you wish arrows or lines to ``stop shortly
before'' a given point.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{arrows.meta}}]
\begin{pgfpicture}
\pgfpathcircle{\pgfpointorigin}{5mm}
\pgfusepath{stroke}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
index 32bfa24386d..29199296250 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
@@ -32,7 +32,10 @@ a change of, say, the opacity of a path is also an animation. \pgfname\ allows
you to specify such animations using a set of commands and keys that are
documented in the following.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{opacity}{
whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
@@ -47,16 +50,16 @@ the output that a certain attribute of a certain object should change over time
in some specific way when the object is displayed. It is the job of the
document viewer application to actually compute and display the animation.
Interestingly, this means that animations neither increase the size of the
-ouput files noticably nor does it put a special burden on \TeX. The hard and
+output files noticeably nor does it put a special burden on \TeX. The hard and
complicated calculations are done by the viewer application, not by \TeX\ and
\pgfname.
Only few viewer applications and formats are currently ``up to the job'' of
-displaying animations. In particular, the popular \textsc{pdf} format does
+displaying animations. In particular, the popular \textsc{pdf} format does
\emph{not} allow one to specify animations in this way (one can partly ``fake''
animations at the high price of including a great number of precomputed
pictures and using JavaScript in special viewers, but this is really not the
-same thing as what \pgfname\ does). Indeed, currently only the \textsc{svg}
+same thing as what \pgfname\ does). Indeed, currently only the \textsc{svg}
format allows one to specify animations in a sensible way. Thus, \pgfname's
animations will only be displayed when \textsc{svg} is used as output format.
@@ -65,7 +68,11 @@ printing and depicting animations in a sequential manner, \pgfname\ also allows
you to create ``snapshots'' of animations. As an example, the following code
shows how the same drawing is shown at different ``time snapshots'':
%
-\begin{codeexample}[width=3.9cm]
+\begin{codeexample}[
+ width=3.9cm,
+ preamble={\usetikzlibrary{animations}
+\def\pgfname{\textsc{pgf}}
+}]
\tikz [make snapshot of=0.5s] \scoped :rotate = { 0s = "0", 2s = "90" }
\node [draw=blue, very thick] {\pgfname};
\tikz [make snapshot of=1s] \scoped :rotate = { 0s = "0", 2s = "90" }
@@ -95,7 +102,10 @@ takes a to-be-animated attribute and options specifying the timeline:
keys are used, ``outside'' the specified timeline the animation has no
effect:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2,2.5},
+]
\tikz {
\pgfanimateattribute{opacity}{
whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
@@ -226,7 +236,10 @@ takes a to-be-animated attribute and options specifying the timeline:
Assigns a name to the animation by which it can be referenced using the
|of| and |of next| keys in another animation.
%
-\begin{codeexample}[animation list={.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {end, of next = my move animation, delay = 1s},
@@ -257,7 +270,10 @@ key:
\meta{attribute} should have over time. At the \meta{time} specified, the
\meta{attribute} will have the value specified as \meta{value}:
%
-\begin{codeexample}[animation list={.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click},
@@ -318,7 +334,10 @@ key:
\begin{key}{/pgf/animations/exit control=\marg{time fraction}\marg{value fraction}}
Same as |/tikz/animate/options/exit control|.
%
-\begin{codeexample}[animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\pgfanimateattribute{translate}{
@@ -346,7 +365,10 @@ key:
\begin{key}{/pgf/animations/stay}
Same as |/tikz/animate/options/stay|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2,2.5},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\pgfanimateattribute{translate}{
@@ -365,7 +387,10 @@ key:
\begin{key}{/pgf/animations/jump}
Same as |/tikz/animate/options/jump|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\pgfanimateattribute{translate}{
@@ -392,7 +417,10 @@ can set this value directly:
the timeline is not active. This makes it easy to specify the value of an
attribute when the animation is ``not running''.
%
-\begin{codeexample}[animation list={-1,0,1,2,3}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={-1,0,1,2,3},
+]
\tikz {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click},
@@ -464,7 +492,7 @@ Let us start with creating a snapshot:
is used in a \TeX\ scope, no animation is created and no support by the
driver is needed (so, it works with \textsc{pdf}).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}}]
\tikz [make snapshot of=1s,
animate = { myself: = {
:rotate = { 0s = "0", 2s = "90" },
@@ -516,8 +544,8 @@ Let us start with creating a snapshot:
snapshots:
%
\begin{itemize}
- \item The |begin| and |begin on| keys have no effect (but |begin
- snapshot| has one.
+ \item The |begin| and |begin on| keys have no effect (but
+ |begin snapshot| has one.
\item The |end| and |end on| keys have no effect.
\item The |current value| may not be used in a timeline (since
\pgfname\ cannot really determine this value).
@@ -539,14 +567,14 @@ Let us start with creating a snapshot:
|\pgfsnapshot| will select the last value of the timeline while
|\pgfsnapshotafter| will not apply the animation any more:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{animations}}]
\foreach \t in {0,1,2,3,4} {
\pgfsnapshot{\t}
\tikz :rotate = { 0s = "0", 2s = "90", 2s = "180", 4s = "270" }
\node [draw=blue, very thick] {f}; }
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{animations}}]
\foreach \t in {0,1,2,3,4} {
\pgfsnapshotafter{\t}
\tikz :rotate = { 0s = "0", 2s = "90", 2s = "180", 4s = "270" }
@@ -565,7 +593,10 @@ Let us start with creating a snapshot:
(stroking) color, respectively. To animate both the fill and draw color,
you need to create two animations, one for each.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{fill}{
whom = node.background, begin on = {click},
@@ -577,7 +608,10 @@ Let us start with creating a snapshot:
\end{animateattribute}
\begin{animateattribute}{draw}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{draw}{
whom = node.background, begin on = {click},
@@ -592,7 +626,11 @@ in this scope'' for filling or stroking. However, when an object inside the
scope has its color set explicitly, this color overrules the color of the
scope:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.5,-0.75) rectangle (3,0.75)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(1.5,-0.75) rectangle (3,0.75)},
+]
\tikz {
\pgfanimateattribute{fill}{
whom = example, begin on = {click, of next=node},
@@ -622,7 +660,11 @@ of the node's scope's color has no effect on the text color. Instead, you must
choose \meta{name}|.text| as the target (or, if the node has more parts, use
the name of the part as the identifier type instead of |text|).
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.1,-0.9) rectangle (2.9,0.9)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(1.1,-0.9) rectangle (2.9,0.9)},
+]
\tikz {
\pgfanimateattribute{fill}{
whom = example, begin on = {click, of next=node},
@@ -631,7 +673,11 @@ the name of the part as the identifier type instead of |text|).
\node at (2,0) (example) [fill = blue!20, circle] {No effect}; }
\end{codeexample}
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.1,-0.9) rectangle (2.9,0.9)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(1.1,-0.9) rectangle (2.9,0.9)},
+]
\tikz {
\pgfanimateattribute{fill}{
whom = example.background, begin on = {click, of next=node},
@@ -640,7 +686,11 @@ the name of the part as the identifier type instead of |text|).
\node at (2,0) (example) [fill = blue!20, circle] {Effect}; }
\end{codeexample}
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.1,-0.9) rectangle (2.9,0.9)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(1.1,-0.9) rectangle (2.9,0.9)},
+]
\tikz {
\pgfanimateattribute{fill}{
whom = example.text, begin on = {click, of next=node},
@@ -654,7 +704,10 @@ drawing. You specify the opacity using a number between 0 (transparent) and 1
(opaque).
\begin{animateattribute}{fill opacity}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{fill opacity}{
whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
@@ -664,7 +717,10 @@ drawing. You specify the opacity using a number between 0 (transparent) and 1
\end{animateattribute}
\begin{animateattribute}{draw opacity}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{draw opacity}{
whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
@@ -680,7 +736,10 @@ drawing. You specify the opacity using a number between 0 (transparent) and 1
which it is applied as a transparency group. In essence, ``this attribute
does what you want'' at least in most situations.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{opacity}{
whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
@@ -696,7 +755,10 @@ drawing. You specify the opacity using a number between 0 (transparent) and 1
rendered. The (only) two possible values for this attribute are |false| and
|true|.
%
-\begin{codeexample}[animation list={1,2,3,4}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={1,2,3,4},
+]
\tikz {
\pgfanimateattribute{visible}{
whom = node, begin on = {click}, entry = {0s}{false}, entry = {2s}{false} }
@@ -714,7 +776,11 @@ drawing. You specify the opacity using a number between 0 (transparent) and 1
you explicitly set the ``stage attribute'' to |true| the object ``enters''
the stage and ``leaves'' once more when it is no longer ``on stage''.
%
-\begin{codeexample}[animation list={-1,0,1,2,3},animation bb={(1.3,-0.7) rectangle (2.7,0.7)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={-1,0,1,2,3},
+ animation bb={(1.3,-0.7) rectangle (2.7,0.7)},
+]
\tikz {
\pgfanimateattribute{stage}{
whom = example, begin on = {click, of next=node},
@@ -732,7 +798,10 @@ drawing. You specify the opacity using a number between 0 (transparent) and 1
You can animate the appearance of a path in the following ways:
\begin{animateattribute}{line width}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{line width}{
whom = node, begin on = {click}, entry = {0s}{1pt}, entry = {2s}{5mm} }
@@ -744,7 +813,10 @@ You can animate the appearance of a path in the following ways:
\end{animateattribute}
\begin{animateattribute}{dash}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{dash}{
whom = node, begin on = {click}, entry = {0s}{{{10pt}{1pt}}{0pt}},
@@ -753,7 +825,10 @@ You can animate the appearance of a path in the following ways:
}
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{dash}{
whom = node, begin on = {click}, entry = {0s}{{{1cm}{1pt}}{0pt}},
@@ -778,7 +853,10 @@ You can animate the appearance of a path in the following ways:
\begin{animateattribute}{path}
You can animate the path itself:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\pgfanimateattribute{path}{
whom = node.background.path, begin on = {click, of next=node},
@@ -802,8 +880,8 @@ You can animate the appearance of a path in the following ways:
path consists of appropriate Bézier curves.
Unlike the dash pattern, the to-be-animated object is, indeed, the path
- itself and not some special scope. This means that you can use the |current
- value| for the start path. However, this also means that you really must
+ itself and not some special scope. This means that you can use the
+ |current value| for the start path. However, this also means that you really must
pick \emph{the path object} as the target of the animation. In conjunction
with \tikzname, this will be an object of type |path| as in the above
example.
@@ -838,7 +916,11 @@ You can animate the appearance of a path in the following ways:
path values are specified (since the shortening is done immediately when a
path value is parsed).
%
-\begin{codeexample}[animation list={0,1,2,3,4},animation bb={(0.9,-0.1)rectangle(2.1,1.1)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0,1,2,3,4},
+ animation bb={(0.9,-0.1)rectangle(2.1,1.1)},
+]
\tikz {
\pgfanimateattribute{path}{
whom = p.path, begin on = {click, of next=node}, arrows = ->,
@@ -862,7 +944,11 @@ You can animate the appearance of a path in the following ways:
there is no active animation, \emph{will} use the arrow tips. As a result,
you can use this to animate a path with an arrow tip:
%
-\begin{codeexample}[animation list={0,1,2,3,4},animation bb={(0.9,-0.1)rectangle(2.1,1.1)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0,1,2,3,4},
+ animation bb={(0.9,-0.1)rectangle(2.1,1.1)},
+]
\tikz {
\pgfanimateattribute{path}{
whom = p.path, begin on = {click, of next=node}, arrows = ->,
@@ -887,7 +973,11 @@ You can animate the appearance of a path in the following ways:
tip). Just like the |arrows| key, this key must be given before the path
entries are specified.
%
-\begin{codeexample}[animation list={0,1,2,3,4},animation bb={(0.9,-0.1)rectangle(2.1,1.1)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0,1,2,3,4},
+ animation bb={(0.9,-0.1)rectangle(2.1,1.1)},
+]
\tikz {
\pgfanimateattribute{path}{
whom = p.path, begin on = {click, of next=node}, arrows = ->,
@@ -937,7 +1027,10 @@ transformation matrix directly:
\begin{animateattribute}{scale}
The |scale| attribute adds an animation of the scaling:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{scale}{
whom = node, begin on = {click},
@@ -954,7 +1047,10 @@ transformation matrix directly:
\begin{animateattribute}{rotate}
The |rotate| key adds an animation of the rotation:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click},
@@ -970,7 +1066,10 @@ transformation matrix directly:
The |xskew| and |yskew| keys (and also |skew x| and |skew y|, which are
aliases) add an animation of the skew (given in degrees, not as a slant):
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{xskew}{
whom = node, begin on = {click}, entry = {0s}{0}, entry = {2s}{45} }
@@ -996,7 +1095,10 @@ transformation matrix directly:
\begin{animateattribute}{translate}
The |translate| key adds an animation of the translation (shift):
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{translate}{
whom = node, begin on = {click},
@@ -1033,7 +1135,10 @@ For all of these attributes, the following key is of importance:
origin of the transformation directly. Internally, however, all this key
does is to create the above-mentioned scopes with the necessary shifts.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click},
@@ -1048,7 +1153,10 @@ For all of these attributes, the following key is of importance:
A second way of changing the canvas transformation matrix is to use the
|motion| attribute:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{motion}{
whom = node, begin on = {click},
@@ -1070,7 +1178,10 @@ For all of these attributes, the following key is of importance:
reference the start point of the path, a value of |1| references the
end of the path and |0.5| referenced the point halfway along the path.
%
-\begin{codeexample}[animation list={0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5},
+]
\tikz [very thick] {
\pgfanimateattribute{motion}{
whom = node, begin on = {click},
@@ -1085,7 +1196,10 @@ For all of these attributes, the following key is of importance:
When set to |true|, the |along| key additionally adds a rotation that
varies in such a way that a tangent to the path always points right.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [very thick] {
\pgfanimateattribute{motion}{
whom = node, begin on = {click},
@@ -1113,11 +1227,16 @@ The final method of changing the transformation matrix is to animate a
In order to use a view, you first need to create a view, which is done
using a |{pgfviewboxscope}|, see Section~\ref{section-base-view}, which is
- used by the |view| library internally. You can then animate the view using
+ used by the |views| library internally. You can then animate the view using
the |view| attribute. The values passed to the |entry| key must be two
\pgfname-points, each surrounded by parentheses.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.1,-0.9) rectangle (2.9,0.9)}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}
+\usetikzlibrary{views}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(1.1,-0.9) rectangle (2.9,0.9)},
+]
\tikz [very thick] {
\pgfanimateattribute{view}{
whom = me.view, begin on = {click, of next=node}, freeze at end,
@@ -1133,7 +1252,11 @@ The final method of changing the transformation matrix is to animate a
}
\end{codeexample}
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usepgfmodule{animations}
+\usetikzlibrary{views}},
+]
\tikz [very thick] {
\pgfanimateattribute{view}{
whom = me.view, begin on = {click, of next=n1}, freeze at end,
@@ -1189,7 +1312,7 @@ also the key |end|, allow you to specify answers to these questions.
will run, relative to the moment when the graphic is displayed from 3\,s to
4\,s.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[preamble={\usepgfmodule{animations}},width=3cm]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin = 2s, end = 4s,
@@ -1211,7 +1334,10 @@ following key governs what should happen:
``stays put''. When set to |false|, which is the initial value, once an
animation ends, its effect will be removed ``as if it never happened''.
%
-\begin{codeexample}[animation list={0,1,2,3,4}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0,1,2,3,4},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, freeze at end = false,
@@ -1219,7 +1345,10 @@ following key governs what should happen:
\node (node) [fill = blue!20, draw = blue, circle] {Here!}; }
\end{codeexample}
%
-\begin{codeexample}[animation list={0,1,2,3,4}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={0,1,2,3,4},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, freeze at end,
@@ -1271,7 +1400,10 @@ that the timeline should be repeated a certain number of times or indefinitely.
\begin{itemize}
\item Empty, in which case the timeline repeats forever.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, repeats,
@@ -1282,7 +1414,10 @@ that the timeline should be repeated a certain number of times or indefinitely.
\item A \meta{number} (like |2| or |3.25|), in which case the timeline
repeats \meta{number} times.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, repeats = 1.75,
@@ -1294,7 +1429,10 @@ that the timeline should be repeated a certain number of times or indefinitely.
which case the timeline repeats however often necessary so that it
stops exactly after \meta{time}.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, repeats = for 3.5s,
@@ -1319,7 +1457,10 @@ that the timeline should be repeated a certain number of times or indefinitely.
contrast, when the repeats are accumulating, the scope will move by
5\,cm over 5\,s in total.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, repeats = accumulating,
@@ -1327,7 +1468,10 @@ that the timeline should be repeated a certain number of times or indefinitely.
\node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
\end{codeexample}
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usepgfmodule{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz [very thick] {
\pgfanimateattribute{rotate}{
whom = node, begin on = {click}, repeats = 2 accumulating,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
index b26efb1b87c..382db09e5b0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
@@ -567,10 +567,66 @@ fast arrow tip management.
},
defaults = { length = 4cm }
}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta}},
+ pre={\pgfdeclarearrow{
+ name = foo,
+ parameters = { \the\pgfarrowlength },
+ setup code = {
+ % The different end values:
+ \pgfarrowssettipend{.25\pgfarrowlength}
+ \pgfarrowssetlineend{-.25\pgfarrowlength}
+ \pgfarrowssetvisualbackend{-.5\pgfarrowlength}
+ \pgfarrowssetbackend{-.75\pgfarrowlength}
+ % The hull
+ \pgfarrowshullpoint{.25\pgfarrowlength}{0pt}
+ \pgfarrowshullpoint{-.75\pgfarrowlength}{.5\pgfarrowlength}
+ \pgfarrowshullpoint{-.75\pgfarrowlength}{-.5\pgfarrowlength}
+ % Saves: Only the length:
+ \pgfarrowssavethe\pgfarrowlength
+ },
+ drawing code = {
+ \pgfpathmoveto{\pgfqpoint{.25\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-.75\pgfarrowlength}{.5\pgfarrowlength}}
+ \pgfpathlineto{\pgfqpoint{-.5\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-.75\pgfarrowlength}{-.5\pgfarrowlength}}
+ \pgfpathclose
+ \pgfusepathqfill
+ },
+ defaults = { length = 4cm }
+}},
+]
\tikz \draw [-foo] (0,0) -- (8,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,bending}},
+ pre={\pgfdeclarearrow{
+ name = foo,
+ parameters = { \the\pgfarrowlength },
+ setup code = {
+ % The different end values:
+ \pgfarrowssettipend{.25\pgfarrowlength}
+ \pgfarrowssetlineend{-.25\pgfarrowlength}
+ \pgfarrowssetvisualbackend{-.5\pgfarrowlength}
+ \pgfarrowssetbackend{-.75\pgfarrowlength}
+ % The hull
+ \pgfarrowshullpoint{.25\pgfarrowlength}{0pt}
+ \pgfarrowshullpoint{-.75\pgfarrowlength}{.5\pgfarrowlength}
+ \pgfarrowshullpoint{-.75\pgfarrowlength}{-.5\pgfarrowlength}
+ % Saves: Only the length:
+ \pgfarrowssavethe\pgfarrowlength
+ },
+ drawing code = {
+ \pgfpathmoveto{\pgfqpoint{.25\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-.75\pgfarrowlength}{.5\pgfarrowlength}}
+ \pgfpathlineto{\pgfqpoint{-.5\pgfarrowlength}{0pt}}
+ \pgfpathlineto{\pgfqpoint{-.75\pgfarrowlength}{-.5\pgfarrowlength}}
+ \pgfpathclose
+ \pgfusepathqfill
+ },
+ defaults = { length = 4cm }
+}},
+]
\tikz \draw [-{foo[length=2cm,bend]}] (0,0) to [bend left] (3,0);
\end{codeexample}
@@ -846,10 +902,13 @@ you need to make \pgfname\ ``aware'' of this using the following key:
|\pgfarrowstheparameters|. Here is an example, where |\showvalueofmacro| is
used in this example to show the value stored in a macro:
%
+\begin{codeexample}[setup code,hidden]
\makeatletter
\def\showvalueofmacro#1{%
\texttt{\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\pgfutil@gobble\expandafter\expandafter\expandafter\string\expandafter\csname#1\endcsname}
- }
+ }%
+\end{codeexample}
+%
\begin{codeexample}[]
\pgfarrowsthreeparameters{2pt 1}
\showvalueofmacro\pgfarrowstheparameters
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
index 81be7f5fc99..68a1e2097cc 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
@@ -31,7 +31,7 @@ could be as simple as extending a path with a ``zigzagged'' line\ldots
\ldots but could also be as complex as typesetting text along a path:
%
{\catcode`\|12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.text}}]
\tikz \path decorate [decoration={text along path,
text={Some text along a path}}]
{ (0,2) .. controls (2,2) and (1,0) .. (3,0) };
@@ -255,7 +255,7 @@ command describes the decoration automaton.
decoration will produce an output path, that is, it extends the
preexisting path. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations}}]
\pgfdeclaredecoration{example}{initial}
{
\state{initial}[width=10pt]
@@ -285,7 +285,7 @@ command describes the decoration automaton.
parts of the rest of the output path for the following
invocation. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{decorations,shapes.geometric}}]
\pgfdeclaredecoration{stars}{initial}{
\state{initial}[width=15pt]
{
@@ -306,7 +306,6 @@ command describes the decoration automaton.
.. controls (0,-5) and (3,-5) .. (3,-3);
\end{codeexample}
%
-
\item After the \meta{code} has been executed (possibly more than
once, if the |repeat state| option is used), the state switches
to whatever state has been specified inside the \meta{options}
@@ -334,8 +333,8 @@ command describes the decoration automaton.
\begin{key}{/pgf/decoration automaton/width=\meta{dimension}}
First, this option causes an immediate switch to the state |final|
if the remaining distance on the input path is less than
- \meta{dimension}. The effect is the same as if you had said |switch
- if less than=|\meta{dimension}| to final| just before the |width|
+ \meta{dimension}. The effect is the same as if you had said
+ |switch if less than=|\meta{dimension}| to final| just before the |width|
option.
If no switch occurs, this option tells \pgfname\ the width of the
@@ -474,7 +473,7 @@ command describes the decoration automaton.
The following example shows how these options can be used:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations}}]
\pgfdeclaredecoration{complicated example decoration}{initial}
{
\state{initial}[width=5pt,next state=up]
@@ -604,7 +603,7 @@ Once a decoration has been declared, it can be used.
\meta{before code} is executed. After the decoration automaton has
finished, \meta{after code} is executed.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.pathmorphing}}]
\begin{tikzpicture}[decoration={segment length=5pt}]
\draw [help lines] grid (3,2);
\begin{pgfdecoration}{{curveto}{1cm},{zigzag}{2cm},{curveto}{1cm}}
@@ -622,7 +621,7 @@ Once a decoration has been declared, it can be used.
path. Thus, it is possible to specify lengths like
|\pgfdecoratedpathlength/3|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.pathmorphing}}]
\begin{tikzpicture}[decoration={segment length=5pt}]
\draw [help lines] grid (3,2);
\begin{pgfdecoration}{
@@ -653,7 +652,7 @@ Once a decoration has been declared, it can be used.
This means that if decorations do not use their own path, it is possible to
do something with them and continue from the correct place.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\begin{pgfdecoration}{
@@ -764,7 +763,7 @@ minute transformation''.
Note when applying multiple decorations, this will be reset between
decorations, so it needs to be specified for each segment.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\begin{pgfdecoration}{
@@ -906,7 +905,7 @@ decorations, a meta-decoration must be declared before it can be used.
Here is a complete example of a meta-decoration:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.pathmorphing}}]
\pgfdeclaremetadecoration{arrows}{initial}{
\state{initial}[width=0pt, next state=arrow]
{
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
index 033049def23..da8c2e7a6d9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
@@ -257,8 +257,8 @@ there is a better way: You input the file |pgfexternal.tex|.
Since |\beginpgfgraphicnamed| does not do macro expansion as it searches
for |\endpgfgraphicnamed|, it is not necessary to actually include the
packages necessary for \emph{creating} the graphics. So the idea is that
- you comment out things like |\usepackage{tikz}| and instead say |\input
- pgfexternal.tex|.
+ you comment out things like |\usepackage{tikz}| and instead say
+ |\input pgfexternal.tex|.
Indeed, the contents of this file is simply the following line:
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
index e8531820ca2..b7b536852fb 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
@@ -159,7 +159,7 @@ To speedup the compilation, you may wish to use the following class option:
The following example demonstrates the effect of using |\pgfuseimage|
inside a colormixin environment.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{xxcolor}}]
\pgfdeclareimage[interpolate=true,width=1cm,height=1cm]
{image1.!25!white}{brave-gnu-world-logo.25}
\pgfdeclareimage[interpolate=true,width=1cm]
@@ -194,7 +194,7 @@ To speedup the compilation, you may wish to use the following class option:
You can ``save'' the image for later usage by invoking |\pgfaliasimage| on
|pgflastimage|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{xxcolor}}]
\begin{colormixin}{25!white}
\begin{pgfpicture}
\pgftext[at=\pgfpoint{1cm}{5cm},left,base]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
index edba1275d1e..2c807e9f6e7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
@@ -235,8 +235,8 @@ spacing.
processed, in this order. If the \meta{additional sep list}
argument is missing, only the default separation list is processed.
\item Both lists may contain dimensions, separated by commas, as well
- as occurrences of the keywords |between origins| and |between
- borders|.
+ as occurrences of the keywords |between origins| and
+ |between borders|.
\item All dimensions occurring in either list are added together to
arrive at a dimension $d$.
\item The last occurrence of either of the keywords is located. If
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
index 4e0ba4f5361..b4dda6fa1c4 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
@@ -212,7 +212,7 @@ must set up the box |\pgfnodepartXYZbox|. The box will be placed at the anchor
Finally, when the node is drawn, the boxes are placed at the anchor
positions |text| and |lower|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes}}]
\setbox\pgfnodeparttextbox=\hbox{$q_1$}
\setbox\pgfnodepartlowerbox=\hbox{01}
\begin{pgfpicture}
@@ -552,7 +552,7 @@ commands:
|\pgfpointanchor| without any transformations in force. Here is an example:
%
\makeatletter
-\begin{codeexample}[]
+\begin{codeexample}[pre={\makeatletter}]
\begin{pgfpicture}
\pgftransformrotate{30}
\pgfnode{rectangle}{center}{Hello World!}{x}{\pgfusepath{stroke}}
@@ -726,7 +726,7 @@ similar to the above:
area. Note that excessive use of this option (keeping track of dozens of
bounding boxes at the same time) will slow things down.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{scopes}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
{ [local bounding box=outer box]
@@ -1100,11 +1100,21 @@ The following command declares a new shape:
|\pgfpointshapeborder| command, the \meta{code} will be executed to
discern this point. When the execution of the \meta{code} starts, the
dimensions |\pgf@x| and |\pgf@y| will have been set to a location $p$
- in the shape's coordinate system. It is now the job of the \meta{code}
- to set up |\pgf@x| and |\pgf@y| such that they specify the point on the
- shape's border that lies on a straight line from the shape's center to
- the point $p$. Usually, this is a somewhat complicated computation,
- involving many case distinctions and some basic math.
+ in the shape's coordinate system, and relative to the anchor |center|.
+ Note that |\pgfpointshapeborder| will produce an error if the shape does
+ not contain the |center| anchor.
+
+ It is now the job of the \meta{code} to set up |\pgf@x| and |\pgf@y|
+ such that they specify the point on the shape's border that lies on a
+ straight line from the shape's center to the point $p$. Usually, this is
+ a somewhat complicated computation, involving many case distinctions and
+ some basic math. Note that the output coordinates must be returned in the
+ shape's coordinate system, \emph{no longer} relative to the |center|
+ anchor. While these different points of reference are only noticeable if
+ the |center| anchor is not at the origin of the shape's coordinate system,
+ it implies that ``doing nothing'' as a border anchor, i.e., returning the
+ point that was fed to |\pgfpointshapeborder| requires adding the |center|
+ anchor to the input coordinates.
For our |simple rectangle| we must compute a point on the border of a
rectangle whose one corner is the origin (ignoring the depth for
@@ -1240,7 +1250,10 @@ The following command declares a new shape:
on inheritance:
%
\makeatletter
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{shapes.geometric}},
+ pre={\makeatletter},
+]
\pgfdeclareshape{document}{
\inheritsavedanchors[from=rectangle] % this is nearly a rectangle
\inheritanchorborder[from=rectangle]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
index a8f85fb4cf3..de7700e5487 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
@@ -93,7 +93,7 @@ used for this:
The \meta{code} should be \pgfname\ code than can be protocolled. It should
not contain any color code.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\pgfdeclarepatternformonly{stars}
{\pgfpointorigin}{\pgfpoint{1cm}{1cm}}
{\pgfpoint{1cm}{1cm}}
@@ -141,7 +141,7 @@ used for this:
values of the macro |\size|, the key |/tikz/radius|, and the \TeX{}
dimension |\thickness|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\pgfdeclarepatternformonly[/tikz/radius,\thickness,\size]{rings}
{\pgfpoint{-0.5*\size}{-0.5*\size}}
{\pgfpoint{0.5*\size}{0.5*\size}}
@@ -181,7 +181,7 @@ used for this:
color commands, not the |\color| command, since this fill is not
protocolled.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\pgfdeclarepatterninherentlycolored{green stars}
{\pgfpointorigin}{\pgfpoint{1cm}{1cm}}
{\pgfpoint{1cm}{1cm}}
@@ -214,7 +214,35 @@ Once a pattern has been declared, it can be used.
the \meta{color} parameter is ignored. For form-only patterns, the
\meta{color} parameter specifies the color to be used for the pattern.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{patterns}
+\pgfdeclarepatternformonly{stars}
+{\pgfpointorigin}{\pgfpoint{1cm}{1cm}}
+{\pgfpoint{1cm}{1cm}}
+{
+ \pgftransformshift{\pgfpoint{.5cm}{.5cm}}
+ \pgfpathmoveto{\pgfpointpolar{0}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{144}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{288}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{72}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{216}{4mm}}
+ \pgfpathclose%
+ \pgfusepath{fill}
+}
+\pgfdeclarepatterninherentlycolored{green stars}
+{\pgfpointorigin}{\pgfpoint{1cm}{1cm}}
+{\pgfpoint{1cm}{1cm}}
+{
+ \pgfsetfillcolor{green!50!black}
+ \pgftransformshift{\pgfpoint{.5cm}{.5cm}}
+ \pgfpathmoveto{\pgfpointpolar{0}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{144}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{288}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{72}{4mm}}
+ \pgfpathlineto{\pgfpointpolar{216}{4mm}}
+ \pgfpathclose%
+ \pgfusepath{stroke,fill}
+}}]
\begin{tikzpicture}
\pgfsetfillpattern{stars}{red}
\filldraw (0,0) rectangle (1.5,2);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
index 56f49d7e5dc..d743c57b017 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
@@ -534,7 +534,7 @@ determine border points of shapes.
solutions as ``a bit special'', in that the points returned will be
``absolute'' and unaffected by any further transformations.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{pgfpicture}
\pgfintersectionofpaths
{
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
index b07c3a51c4e..87694af64df 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
@@ -103,6 +103,7 @@ All quick path construction commands start with |\pgfpathq|.
orders of magnitude faster than |\pgfcircle{\pgfpointorigin}{|\meta{radius}|}|.
%
\begin{codeexample}[]
+\colorlet{examplefill}{yellow!80!black}
\begin{tikzpicture}
\draw[help lines] (0,0) grid (1,1);
\pgfpathqcircle{10pt}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
index 618ff86c66a..d0efb084ab2 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
@@ -216,7 +216,7 @@ meantime there are some more modules. Also mention them here?}
There is a special command for loading library packages. The difference between
a library and module is the following: A library just defines additional
objects using the basic layer, whereas a module adds completely new
-functionality. For instance, a decoration library defines additional
+functionality. For instance, a |decorations| library defines additional
decorations, while a decoration module defines the whole code for handling
decorations.
@@ -333,7 +333,7 @@ Rectangles \begin{pgfpicture}
impossible to draw lines between nodes in different pictures automatically.
In order to make \pgfname\ ``remember'' a picture, the \TeX-if
- |\||ifpgfrememberpicturepositiononpage| should be set to |true|. It is only
+ |\ifpgfrememberpicturepositiononpage| should be set to |true|. It is only
important that this \TeX-if is |true| at the end of the
|{pgfpicture}|-en\-vi\-ron\-ment, so you can switch it on inside the
environment. However, you can also just switch it on globally, then the
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
index 2cd4553dfef..67525cd3048 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
@@ -806,6 +806,7 @@ can become curved since \emph{everything} gets transformed.
\subsubsection{Installing Nonlinear Transformation}
+\begin{codeexample}[setup code,hidden]
\makeatletter
\def\polartransformation{
% \pgf@x will contain the radius
@@ -817,6 +818,7 @@ can become curved since \emph{everything} gets transformed.
\pgf@y=\pgfmathresulty\pgf@y%
}
\makeatother
+\end{codeexample}
\begin{command}{\pgftransformnonlinear\marg{transformation code}}
This command adds the \meta{transformation code} to the list of non-linear
@@ -856,7 +858,7 @@ can become curved since \emph{everything} gets transformed.
transformation. In particular, a normal grid now becomes the typical
``polar grid''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{nonlineartransformations}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
% Start nonlinear transformation
@@ -908,7 +910,7 @@ while a nonlinear transformation is installed:
Note that this mapping is actually not quite satisfactory for long
lines that are strongly curved:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{nonlineartransformations}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
{
@@ -940,7 +942,7 @@ while a nonlinear transformation is installed:
(for them, splitting may occur again, if the curve is still too
long).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{nonlineartransformations}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\draw[red] (0:20mm) arc [start angle=0, end angle=90, radius=2cm];
@@ -968,7 +970,7 @@ is longer, it will not ``follow'' the nonlinear transformation, but near the
origin of the text it will look ``correct''. As an example, let us add some
text at the grid point of the above example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{nonlineartransformations}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\pgftransformnonlinear{\polartransformation}% see above
@@ -1005,7 +1007,7 @@ such a local approximation:
look almost the same as if you had not called it.
\end{enumerate}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{nonlineartransformations}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\pgftransformnonlinear{\polartransformation}% see above
@@ -1035,7 +1037,7 @@ such a local approximation:
rotation, skewing, or scaling that is involved. This is useful for drawing
text at the right position, but without ``mutilating'' the text.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{nonlineartransformations}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\pgftransformnonlinear{\polartransformation}% see above
@@ -1117,7 +1119,10 @@ commands that offer the necessary computations for such transformations.
|\pgftransformnonlinear| for details.
%
\makeatletter
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepgfmodule{nonlineartransformations}
+\usetikzlibrary{curvilinear}},
+ pre=\makeatletter]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
{
@@ -1134,7 +1139,10 @@ commands that offer the necessary computations for such transformations.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepgfmodule{nonlineartransformations}
+\usetikzlibrary{curvilinear}},
+ pre=\makeatletter]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
{
@@ -1171,7 +1179,10 @@ commands that offer the necessary computations for such transformations.
lines.
%
\makeatletter
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepgfmodule{nonlineartransformations}
+\usetikzlibrary{curvilinear}},
+ pre=\makeatletter]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
{
@@ -1190,7 +1201,10 @@ commands that offer the necessary computations for such transformations.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepgfmodule{nonlineartransformations}
+\usetikzlibrary{curvilinear}},
+ pre=\makeatletter]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
{
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
index 22156f98d3e..319ebbd9e65 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
@@ -218,7 +218,9 @@ different commands for using fadings:
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\pgfdeclarefading{fading2}
+{\tikz \shade[left color=pgftransparent!0,
+ right color=pgftransparent!100] (0,0) rectangle (2,2);}}]
\begin{tikzpicture}
\fill [black!20] (0,0) rectangle (2,2);
\fill [black!30] (0,0) arc (180:0:1);
@@ -284,7 +286,11 @@ different commands for using fadings:
current path will be stroked, this much needs to be added around the path's
bounding box to actually contain the path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\pgfdeclarehorizontalshading{shading}{100bp}
+{ color(0pt)=(transparent!0); color(25bp)=(transparent!0);
+ color(75bp)=(transparent!100); color(100bp)=(transparent!100)}
+%
+\pgfdeclarefading{fading}{\pgfuseshading{shading}}}]
\begin{tikzpicture}
\pgfsetlinewidth{2mm}
\pgfpathmoveto{\pgfpointorigin}
@@ -350,8 +356,8 @@ Transparency groups are declared using the following commands.
while ignoring the size. The following example shows how this is done:
% TODO: Nesting tikzpictures is NOT supported
-{\tikzexternaldisable
-\begin{codeexample}[]
+{\ifpgfmanualexternalize\tikzexternaldisable\fi
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (2,2);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
index e107e8f097a..31bfd9a30ae 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
@@ -98,9 +98,11 @@ inclusion may be a problem.
In addition to |pgf| and |tikz| there also exist modules like |pgfcore| or
|pgfmodulematrix|. To use them, you may need to include the module |pgfmod|
first (the modules |pgf| and |tikz| both include |pgfmod| for you, so typically
-you can skip this). This special module is necessary since Con\TeX t
-satanically restricts the length of module names to 6 characters and \pgfname's
-long names are mapped to cryptic 6-letter-names for you by the module |pgfmod|.
+you can skip this). This special module is necessary since old versions of
+Con\TeX t~MkII before 2005 satanically restricted the length of module names to
+8 characters and \pgfname's long names are mapped to cryptic 6-letter-names for
+you by the module |pgfmod|. This restriction was never in place in
+Con\TeX t~MkIV and the |pgfmod| module can be safely ignored nowadays.
\subsection{Supported Output Formats}
@@ -399,8 +401,8 @@ dvisvgm example
\begin{key}{/pgf/tex4ht node/css=\meta{filename} (default |\string\jobname|)}
This option allows you to tell the browser what \textsc{css} file it
- should use to style the display of the node (only with |tex4ht
- node/escape=true|).
+ should use to style the display of the node (only with
+ |tex4ht node/escape=true|).
\end{key}
\begin{key}{/pgf/tex4ht node/class=\meta{class name} (default foreignobject)}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
index a0e46cbaf9b..0d8314079a3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
@@ -179,7 +179,7 @@ axis):
Here is a real-life example. The |scientific axes| create two axes, called
|x axis| and |y axis|, respectively.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [scientific axes,
x axis={attribute=people, length=2.5cm, ticks=few},
y axis={attribute=year},
@@ -228,7 +228,7 @@ interval:
contain |0| -- even if the actual data points are all positive or all
negative.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes, all axes={length=3cm},
visualize as line]
data [format=function] {
@@ -237,7 +237,7 @@ interval:
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes, all axes={length=3cm},
visualize as line,
x axis={include value=20},
@@ -288,7 +288,7 @@ next key is used to specify what should happen with the observed values.
in order to map dates between 1900 and 2000 to the dimension interval
$[0\mathrm{cm},5\mathrm{cm}]$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes,
x axis={attribute=people, length=2.5cm, ticks=few},
@@ -417,7 +417,7 @@ some axis={function=\pgfdvmathln{\pgfvalue}{\pgfvalue}}
%
This specifies that the function $f$ is the logarithm function.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes,
x axis={ticks={major={at={1,10,100,1000}}},
@@ -431,7 +431,7 @@ some axis={function=\pgfdvmathln{\pgfvalue}{\pgfvalue}}
%
Another possibility might be to use the square-root function, instead:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes,
x axis={ticks=few,
@@ -486,7 +486,10 @@ documented in the following.
All told, to turn an axis into a logarithmic axis, you just need to add
this option to the axis.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [scientific axes,
x axis={logarithmic},
y axis={logarithmic},
@@ -500,7 +503,7 @@ documented in the following.
Note that this will work with any axis, including, say, the degrees on a
polar axis:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization
[new polar axes,
angle axis={logarithmic, scaling=1 at 0 and 90 at 90},
@@ -511,7 +514,7 @@ documented in the following.
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization
[new polar axes,
angle axis={degrees},
@@ -532,7 +535,7 @@ documented in the following.
that the range of all values of the axis's attribute will be mapped to an
interval of exact length \meta{dimension}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [scientific axes,
x axis={length=3cm},
y axis={length=2cm},
@@ -547,7 +550,7 @@ documented in the following.
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [scientific axes,
x axis={length=3cm},
y axis={length=4cm},
@@ -570,7 +573,7 @@ documented in the following.
is particularly useful when you wish to ensure that the same scaling is
used across multiple axes or pictures.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [scientific axes,
all axes={ticks=few, unit length=1mm},
visualize as line]
@@ -582,6 +585,7 @@ documented in the following.
13, 20
};
\end{codeexample}
+ %
The optional |per |\meta{number}| units| allows you to apply more drastic
scaling. Suppose that you want to plot a graph where one billion
corresponds to one centimeter. Then the unit length would be need to be set
@@ -589,7 +593,7 @@ documented in the following.
dimension. In this case, you can write
|unit length=1cm per 1000000000 units|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes,
x axis={unit length=1mm per 1000000000 units, ticks=few},
@@ -612,7 +616,7 @@ documented in the following.
to get a length of \meta{dimension}. Again, this key is useful for ensuring
that the same scaling is used across multiple axes or pictures.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[width=8cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes,
y axis={logarithmic, power unit length=1mm, grid},
@@ -648,7 +652,7 @@ set the attribute using the following key:
say |node style| to configure the styling of a node, see
Section~\ref{section-dv-style}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [
scientific axes,
x axis = {label, length=2.5cm},
@@ -704,7 +708,7 @@ of an axis system, see Section~\ref{section-dv-axis-systems}.
point that is at distance |1pt| from the origin and that points into
the direction of the axis.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -792,7 +796,7 @@ x axes={time $t$ (ms)}, y axis={distance $d$ (mm)}
Here is an example that employs most of the above features:
%
-\begin{codeexample}[width=8.5cm]
+\begin{codeexample}[width=8.5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
scientific axes=clean,
x axis={attribute=time, ticks={tick unit=ms},
@@ -820,7 +824,10 @@ data {
This key installs a two-dimensional coordinate system based on the
attributes |/data point/x| and |/data point/y|.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\begin{tikzpicture}
\datavisualization [scientific axes,
visualize as smooth line]
@@ -850,7 +857,7 @@ data {
on the two axis. If you wish the units on both axes to be equal, consider
directly specifying the unit length ``by hand'':
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [visualize as smooth line,
scientific axes,
@@ -902,7 +909,10 @@ scientific axis system is rendered.
This causes the ticks to be drawn `` on the outside'' of the frame so that
they interfere as little as possible with the data. It is the default.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\begin{tikzpicture}
\datavisualization [scientific axes=outer ticks,
visualize as smooth line]
@@ -919,7 +929,10 @@ scientific axis system is rendered.
This axis system works like |scientific axes|, only the ticks are on the
``inside'' of the frame.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\begin{tikzpicture}
\datavisualization [scientific axes=inner ticks,
visualize as smooth line]
@@ -934,7 +947,7 @@ scientific axis system is rendered.
interfere with marks if they are near to the border as can be seen in the
following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization [scientific axes={inner ticks, width=3.2cm},
style sheet=cross marks,
@@ -963,7 +976,10 @@ scientific axis system is rendered.
this axis system especially useful for scatter plots, but also for most
other scientific plots.
%
-\begin{codeexample}[width=7.5cm]
+\begin{codeexample}[
+ width=7.5cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes=clean,
visualize as smooth line]
@@ -986,7 +1002,10 @@ specified. They are discussed in the following.
$y$-axis is rotated by $90^\circ$ and placed left of the center of the
$y$-axis.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes={clean, standard labels},
visualize as smooth line,
@@ -1005,7 +1024,10 @@ data [format=function] {
Works like |scientific axes standard labels|, only the label of the
$y$-axis is not rotated.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes={clean, upright labels},
visualize as smooth line,
@@ -1027,7 +1049,10 @@ data [format=function] {
Places the labels at the end of the $x$- and the $y$-axis, similar to the
axis labels of a school book axis system.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes={clean, end labels},
visualize as smooth line,
@@ -1059,7 +1084,7 @@ data [format=function] {
Finally, if the data is ``far removed'' from the origin, this axis system
will also ``look bad''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
data [format=function] {
@@ -1080,7 +1105,7 @@ data [format=function] {
the same time, the stepping of the ticks will also be set to
\meta{value}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [school book axes={unit=10},
visualize as smooth line,
@@ -1103,7 +1128,7 @@ data [format=function] {
Currently, this is the only supported placement strategy for the school
book axis system.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [school book axes={standard labels},
visualize as smooth line,
@@ -1135,7 +1160,7 @@ grid lines are drawn, and labels are placed at the correct positions.
This axis system creates two axes called |x axis| and |y axis| that point
right and up, respectively. By default, one unit is mapped to one cm.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [xy Cartesian, visualize as smooth line]
data [format=function] {
@@ -1251,7 +1276,7 @@ shown are explained.
|/tikz/data visualization/|. When the |ticks| key is used multiple times
for an axis, the \meta{options} accumulate.
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[width=6cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
scientific axes, visualize as line,
x axis={ticks={step=24, minor steps between steps=3},
@@ -1292,7 +1317,7 @@ shown are explained.
|grid| key. This is useful when you want to specify some special points
explicitly where you wish a tick to be shown and also a grid line.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes,
visualize as smooth line,
@@ -1340,7 +1365,7 @@ like |step| or |about|.
Here is an example of the different stepping chosen when one varies the tick
placement strategy:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [scientific axes, visualize as smooth line]
data [format=function] {
@@ -1380,7 +1405,7 @@ only. So, you would write things like |x axis={ticks={step=2}}|, but
Basically, all ticks are placed at all multiples of \meta{value} that lie
in the attribute range interval.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [
school book axes, visualize as smooth line,
y axis={ticks={step=1.25}},
@@ -1400,7 +1425,7 @@ only. So, you would write things like |x axis={ticks={step=2}}|, but
between two minor steps is exactly a tenth of the size of a major step. See
also Section~\ref{section-dv-strategies} for further details.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line,
x axis={ticks={minor steps between steps=3}},
@@ -1666,7 +1691,7 @@ Four keys are used to configure the different kinds:
option) and also any special styling. The different possible options are
described later in this section.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[ school book axes, visualize as smooth line,
x axis={ticks={major={at={1, 1.5, 2}}}}]
@@ -1681,7 +1706,7 @@ Four keys are used to configure the different kinds:
\begin{key}{/tikz/data visualization/minor=\meta{options}}
Like |major|, only for minor ticks/grid lines.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[ school book axes, visualize as smooth line,
x axis={grid={minor={at={1, 1.5, 2}}}}]
@@ -1704,7 +1729,7 @@ Four keys are used to configure the different kinds:
tick at the same position), but it can be useful to configure, say, the
size of all kinds of ticks:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[ school book axes, visualize as smooth line,
x axis={ticks={minor steps between steps, common={low=0}}} ]
@@ -1728,7 +1753,7 @@ keys to specify where ticks or grid lines should be shown:
ticks or grid lines on the axis will be placed exactly at the values in
\meta{list}. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[ school book axes, visualize as smooth line,
x axis={ticks={major={at={-1,0.5,(pi/2)}}}}]
@@ -1778,7 +1803,7 @@ some axis = {ticks = {major = {at = {...}}}}
accumulate. However, when |at| is used after an |also at| key, the |at| key
completely resets the positions where ticks or grid lines are shown.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[ school book axes, visualize as smooth line,
x axis={grid, ticks and grid={major={also at={0.5}}}}]
@@ -1850,7 +1875,7 @@ Two keys are used to ``communicate'' with the \tikzname\ layer:
executed whenever the data visualization engine calls the \tikzname\ layer
to draw something (this placed will be indicated in the following).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes,
all axes={ticks={style=blue}, length=3cm},
@@ -1878,11 +1903,11 @@ Similar to |style| (and |styling|) there also exist the |node style| (and
in addition to the usual |style|.
\begin{key}{/tikz/data visualization/node style=\meta{\tikzname\ options}}
- This key works like |style|, only it has an effect only on nodes that are
+ This key works like |style|, but it has an effect only on nodes that are
created during a data visualization. This includes tick labels and axis
labels:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes,
all axes={ticks={node style=red}, length=3cm},
@@ -1936,7 +1961,7 @@ Let us now have a look at these keys in detail:
obscuring the more important data with the far less important grid lines.
However, you can change this style to ``get the grid lines to the front'':
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes,
all axes={
@@ -1969,11 +1994,12 @@ low=min, high=max
visualized, which is usually the desired behaviour (the |low| and |high|
keys are explained in Section~\ref{section-dv-visualize-ticks}. You can
append the |style| key to this style to configure the overall appearance of
- grid lines. In the following example we cause all grid lines to be dashed
- (which is not a good idea in general since it creates a distracting
- background pattern).
+ grid lines. It should be noted that settings to |style| inside |every grid|
+ will take precedence over ones in |every major grid| and |every minor grid|.
+ In the following example we cause all grid lines to be dashed (which is not
+ a good idea in general since it creates a distracting background pattern).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes,
all axes={length=3cm, grid},
@@ -1998,7 +2024,7 @@ style = {help lines, thin, black!25}
%
In the following example, we use thin major blue grid lines:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes,
all axes={
@@ -2150,7 +2176,10 @@ may be helpful:
This key causes the \meta{options} to be executed for any tick mark(s) at
\meta{value} in addition to any options given already for this position:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line,
@@ -2202,7 +2231,7 @@ same happens as in the second case, but the text that is shown as tick label is
\meta{text} rather than the automatically generated tick label. This automatic
generation of tick labels is explained in the following.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes=clean,
x axis={length=2.5cm, ticks={major at={
@@ -2246,7 +2275,7 @@ Let us have a look at these keys in detail:
\begin{key}{/tikz/data visualization/tick prefix=\meta{text} (initially \normalfont empty)}
The \meta{text} will be put in front of every typeset tick:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes, all axes={ticks=few, length=2.5cm},
x axis={ticks={tick prefix=$\langle$, tick suffix=$]$}},
@@ -2267,7 +2296,7 @@ Let us have a look at these keys in detail:
\begin{key}{/tikz/data visualization/tick unit=\meta{roman math text}}
A shorthand for |tick suffix={$\,\rm|\meta{roman math text}|$}|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization
[scientific axes, all axes={length=3cm},
x axis={ticks={tick unit=s}},
@@ -2292,7 +2321,7 @@ Let us have a look at these keys in detail:
mechanism is used. Here is a (not quite finished) example that shows how,
say, numbers could be printed in terms of multiples of $\pi$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\def\mytypesetter#1{%
\pgfmathparse{#1/pi}%
\pgfmathprintnumber{\pgfmathresult}$\pi$%
@@ -2317,7 +2346,7 @@ Let us have a look at these keys in detail:
Sometimes, the text of tick labels are so long or so numerous that the text of
adjacent tick labels overlap (or have too little padding):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm},
visualize as smooth line]
@@ -2332,7 +2361,7 @@ There are two ways to address this problem:
\begin{itemize}
\item One can rotate the labels on horizontal axes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm},
x axis={ticks={node style={rotate=90, anchor=east}}},
@@ -2348,7 +2377,7 @@ There are two ways to address this problem:
\item One can specify different shifts of the nodes for the different
ticks, whereby the ticks text no longer overlap.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm},
x axis={ticks={major at={0,4000,8000,
@@ -2367,7 +2396,7 @@ There are two ways to address this problem:
automatically. Instead, the |stack| option can be used, which is much
easier to use and gives better results:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm}, x axis={ticks=stack},
visualize as smooth line]
@@ -2414,7 +2443,7 @@ ticks={major at={1,2,3,4}, major at={0,-1,-2}, minor at={9,8,7}}
\meta{distance} is added to the |low| value, see also
Section~\ref{section-dv-visualize-ticks}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm},
x axis={ticks={tick text low even padding=-1em}},
@@ -2456,7 +2485,7 @@ The following keys work similarly:
\begin{key}{/tikz/data visualization/stack=\meta{dimension} (default 1em)}
Shorthand for |tick text even padding=|\meta{dimension}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm},
x axis={ticks={stack=1.5em}},
@@ -2473,7 +2502,8 @@ The following keys work similarly:
Shorthand for |tick text odd padding=|\meta{dimension}. The difference to
|stack| is that the set of value that are ``lowered'' is exactly exchanged
with the set of value ``lowered'' by |stack|.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes,
all axes={length=2.5cm},
x axis={ticks=stack'},
@@ -2490,7 +2520,10 @@ Note that the above keys have an effect on all tick labels of an axis, also on
special ticks that you may have added using the |also at| key. When using the
|stack| key, you should specify a |tick text padding| explicitly for such keys:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes,
x axis={ticks={stack, many, major also at=
@@ -2527,7 +2560,7 @@ special ticks that you may have added using the |also at| key. When using the
partition the interval between two mayor ticks into ten equally sized minor
intervals.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization
[scientific axes={inner ticks, width=3cm},
@@ -2558,7 +2591,7 @@ special ticks that you may have added using the |also at| key. When using the
The minor steps are added in the same way as for |linear steps|. In
particular, they interpolate \emph{linearly} between mayor steps.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization
[scientific axes,
@@ -2607,7 +2640,7 @@ special ticks that you may have added using the |also at| key. When using the
allows you to access the minimum and the maximum value stored in the
|scaling mapper| of that axis.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[width=7cm,preamble={\usetikzlibrary{datavisualization}}]
\def\silly{
\tikzdatavisualizationset{major={at={
2,3,5,7,11,13}}}
@@ -2630,7 +2663,7 @@ special ticks that you may have added using the |also at| key. When using the
\subsection{Advanced: Creating New Axis Systems}
-The data visualization library comes with a number of predefined axis systems,
+The |datavisualization| library comes with a number of predefined axis systems,
like |scientific axes=clean|, but it is also possible and to define new axis
systems. Doing so involves the following steps:
%
@@ -2709,7 +2742,7 @@ We now already have enough to try our system, although we will not yet see any
axes or ticks, but we will see the correct scaling of the attributes. Let us
first define a data group:
%
-\begin{codeexample}[]
+\begin{codeexample}[setup code]
\tikz \datavisualization data group {people and money} = {
data [set=people 1] {
time, people
@@ -2742,6 +2775,7 @@ first define a data group:
};
\end{codeexample}
+\begin{codeexample}[setup code,hidden]
\tikzdatavisualizationset{
our system/.style={
new Cartesian axis=x axis,
@@ -2755,7 +2789,9 @@ first define a data group:
right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
}
}
-\begin{codeexample}[]
+\end{codeexample}
+%
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
our system,
x axis={attribute=time, length=4cm},
@@ -2809,7 +2845,7 @@ left axis={ visualize axis={ x axis={ goto=min } }
attribute has attained along this axis.
\item |max|: Like |min|.
\item |padded min|: This will also set the \meta{attribute}
- monitored by the axis to the same value as |min|.
+ monitored by the axis to the same value as |min|.
Additionally, however, the subkey
|/data point/|\meta{attribute}|/offset| is set to the current
padding for the minimum, see the description of |padding min|
@@ -2821,10 +2857,10 @@ left axis={ visualize axis={ x axis={ goto=min } }
\end{key}
The |right axis| would be visualized the same way, only at |goto=max|. The
- $x$-axis actually need to be visualized \emph{twice}: Once at the bottom
+ $x$-axis actually needs to be visualized \emph{twice}: Once at the bottom
and once at the top. Thus, we need to call |visualize axis| twice for this
axis:
-%
+ %
\tikzdatavisualizationset{
our system/.style={
new Cartesian axis=x axis,
@@ -2838,7 +2874,21 @@ left axis={ visualize axis={ x axis={ goto=min } }
right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
}
}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikzdatavisualizationset{
+ our system/.style={
+ new Cartesian axis=x axis,
+ new Cartesian axis=left axis,
+ new Cartesian axis=right axis,
+ x axis={attribute=x},
+ left axis={unit vector={(0cm,1pt)}},
+ right axis={unit vector={(0cm,1pt)}},
+ x axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/width}},
+ left axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}},
+ right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
+ }
+}}]
\tikzset{
data visualization/our system/.append style={
left axis= {visualize axis={x axis= {goto=min}}},
@@ -2878,7 +2928,21 @@ left axis={ visualize axis={ x axis={ goto=min } }
corresponding to the fractional positions in the reasonable interval
are not computed.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikzdatavisualizationset{
+ our system/.style={
+ new Cartesian axis=x axis,
+ new Cartesian axis=left axis,
+ new Cartesian axis=right axis,
+ x axis={attribute=x},
+ left axis={unit vector={(0cm,1pt)}},
+ right axis={unit vector={(0cm,1pt)}},
+ x axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/width}},
+ left axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}},
+ right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
+ }
+}}]
\tikzset{
data visualization/our system/.append style={
x axis= {visualize axis={left axis={goto pos=0.25}},
@@ -2963,9 +3027,24 @@ left axis={ visualize axis={ x axis={ goto=min } }
Recall that the |styling| key is set using the |style| key, see
Section~\ref{section-dv-style}.
%
+% TODOsp: codeexamples: What is this empty `\tikzset` good for?
\tikzset{
}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikzdatavisualizationset{
+ our system/.style={
+ new Cartesian axis=x axis,
+ new Cartesian axis=left axis,
+ new Cartesian axis=right axis,
+ x axis={attribute=x},
+ left axis={unit vector={(0cm,1pt)}},
+ right axis={unit vector={(0cm,1pt)}},
+ x axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/width}},
+ left axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}},
+ right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
+ }
+}}]
\tikzset{
data visualization/our system/.append style={
every axis/.style={style=black!50}, % make this the default
@@ -3013,7 +3092,10 @@ left axis={ visualize axis={ x axis={ goto=min } }
(because it starts at a smaller value). The standard axis systems set
the padding to some default and take its value into account:
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\begin{tikzpicture}
\datavisualization [scientific axes=clean,
x axis={padding min=-1cm},
@@ -3028,7 +3110,30 @@ left axis={ visualize axis={ x axis={ goto=min } }
Using padded and using the |padded| key, we can visualize our axis ``a
little removed from the actual data'':
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikzdatavisualizationset{
+ our system/.style={
+ new Cartesian axis=x axis,
+ new Cartesian axis=left axis,
+ new Cartesian axis=right axis,
+ x axis={attribute=x},
+ left axis={unit vector={(0cm,1pt)}},
+ right axis={unit vector={(0cm,1pt)}},
+ x axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/width}},
+ left axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}},
+ right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
+ }
+}%
+\tikzset{
+ data visualization/our system/.append style={
+ every axis/.style={style=black!50}, % make this the default
+ left axis= {visualize axis={x axis= {goto=min}, style=red!75}},
+ right axis={visualize axis={x axis= {goto=max}, style=blue!75}},
+ x axis= {visualize axis={left axis={goto=min}},
+ visualize axis={left axis={goto=max}}},
+ }
+}}]
\tikzset{
data visualization/our system/.append style={
all axes= {padding=.5em},
@@ -3128,7 +3233,7 @@ axis system to specify how grid lines are drawn.
The |low| and |high| keys are the same as the ones used in the
|visualize axis| key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
xyz Cartesian cabinet,
all axes={visualize axis={low=0, style=->}},
@@ -3142,7 +3247,7 @@ axis system to specify how grid lines are drawn.
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
xyz Cartesian cabinet,
all axes={visualize axis={low=0, style=->}, grid=many},
@@ -3183,7 +3288,7 @@ axis system to specify how grid lines are drawn.
lines -- are rather unlikely setting -- or when the styling should deviate
from the usual settings.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
xy Cartesian,
all axes={visualize axis={low=0, style=->},
@@ -3207,7 +3312,7 @@ axis is either of the other two axis (they point in the same direction and they
have the same range). For the other two axes, we visualize one grid
independently of the other, using different colors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikzset{
data visualization/our system/.append style={
x axis= {visualize grid={direction axis=left axis}},
@@ -3242,7 +3347,7 @@ independently of the other, using different colors.
at different places for the same axis. Consider for instance the
|scientific axes|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes, all axes={length=3cm},
x axis={ticks={stack}},
visualize as smooth line]
@@ -3282,7 +3387,7 @@ independently of the other, using different colors.
bottom and at the top. This corresponds to once setting the
|left axis| to its minimal value and once to its maximal value:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikzset{
data visualization/our system/.append style={
x axis={visualize ticks={direction axis=left axis, left axis={goto=min}},
@@ -3335,7 +3440,7 @@ independently of the other, using different colors.
ticks the |low| value is |0pt|, while in the lower one the |high|
value is |0pt|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikzset{
data visualization/our system/.append style={
x axis={
@@ -3375,7 +3480,7 @@ independently of the other, using different colors.
Pass this option to |visualize ticks| when you want tick label nodes to
be placed at the |low| position of each tick mark.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikzset{
data visualization/our system/.append style={
x axis={
@@ -3403,7 +3508,7 @@ independently of the other, using different colors.
\begin{key}{/tikz/data visualization/no tick text}
Shorthand for |tick text at low=false, tick text at high=false|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes, all axes={length=3cm},
x axis={ticks={
major also at={6.5 as [no tick text]}}},
@@ -3457,7 +3562,7 @@ of the |visualize label| key, which is configured by the axis system.
determine this position. Concerning the other axes, we want it to be placed
at the minimum position of the |left axis| with a lot of padding.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[width=7cm,preamble={\usetikzlibrary{datavisualization}}]
\tikzdatavisualizationset{
our system/.append style={
x axis={visualize label={
@@ -3487,7 +3592,7 @@ of the |visualize label| key, which is configured by the axis system.
be at the ``origin'', which is, however, the position computed by the
|goto| keys for the axes:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[width=7cm,preamble={\usetikzlibrary{datavisualization}}]
\tikzdatavisualizationset{
our system/.append style={
x axis={visualize label={
@@ -3572,7 +3677,9 @@ how it is used:
}}
\end{codeexample}
-\tikzdatavisualizationset{
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikzdatavisualizationset{
our system/.style={
% The axes
new Cartesian axis=x axis,
@@ -3620,9 +3727,7 @@ how it is used:
right axis={goto pos=.5}, node style={
at={(0,0 -| data visualization bounding box.east)}, rotate=-90, anchor=south, blue!80!black}}},
}
-}
-
-\begin{codeexample}[]
+}}]
\tikz \datavisualization [
our system,
x axis={attribute=time, label=Year,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
index ce4c95a5e38..a08a999b58b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
@@ -10,7 +10,7 @@
A first example:
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[baseline]
\datavisualization [
school book axes,
@@ -37,7 +37,8 @@ A first example:
};
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[baseline]
\datavisualization [
scientific axes=clean,
@@ -58,9 +59,9 @@ A first example:
501, -2, 0
};
\end{tikzpicture}
-\end{codeexample}
+\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}[baseline,mark=*]
\datavisualization [
scientific axes=inner ticks,
@@ -88,7 +89,7 @@ x y x1 y1 x2 y2 x3 y3
\end{codeexample}
-%%% Local Variables:
+%%% Local Variables:
%%% mode: latex
%%% TeX-master: "pgfmanual"
-%%% End:
+%%% End:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
index 61504874373..00b3ee1e96d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
@@ -120,7 +120,7 @@ angle, radius
that you must surround a comma by curly braces if you which to (re)set
the separator character to a space.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as line]
data [separator=\space] {
@@ -144,7 +144,7 @@ angle, radius
is used as the headline and the first line of the data is treated as a
normal line rather than as a headline.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as line]
data [headline={x, y}] {
@@ -164,7 +164,7 @@ angle, radius
attribute |/data point/x| to be set to |5| and |/data point/lo| to be set
to |500|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as line]
data [format=named] {
@@ -186,7 +186,10 @@ angle, radius
attribute. In this case, a data point is created for each possible
combination of values in the different lists:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization}},
+]
\tikz \datavisualization
[scientific axes=clean,
visualize as scatter/.list={a,b,c},
@@ -207,7 +210,7 @@ data [format=named] {
may not be spread over several lines. However, not each line needs to
produce a data point.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as line]
data [format=TeX code] {
@@ -307,7 +310,7 @@ data [format=named] {
specification. In this case, all of these functions will be evaluated
for each setting of input variables.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz
\datavisualization [school book axes, visualize as smooth line]
data [format=function] {
@@ -317,7 +320,10 @@ data [format=named] {
};
\end{codeexample}
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
school book axes,
all axes={unit length=5mm, ticks={step=2}},
@@ -330,7 +336,10 @@ data [format=function] {
};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes=clean,
y axis={ticks={style={
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
index cd48bd5d675..58e612170a0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
@@ -117,7 +117,7 @@ visualization should look like a |line plot| with |school book axes| or with
|scientific axes|, which selects a certain visualization pipeline that is
appropriate for this kind of plot:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[scale=.7]
\datavisualization [school book axes, visualize as smooth line]
data [format=function] {
@@ -127,7 +127,7 @@ appropriate for this kind of plot:
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[scale=.7]
\datavisualization [scientific axes, visualize as smooth line]
data [format=function] {
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
index 26a97fa4e7f..a0d57858f1c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
@@ -75,7 +75,7 @@ using a comma-separated list of strings of the form |attribute=value|.
Here are two examples, where similar data is given in different formats:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
data {
@@ -91,7 +91,7 @@ Here are two examples, where similar data is given in different formats:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
data [format=function] {
@@ -173,7 +173,7 @@ ticks and grid lines at well-chosen angles of a polar plot.
Typically, you will not need to specify axes explicitly. Rather, predefined
styles take care of this for you:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [
scientific axes,
@@ -187,7 +187,7 @@ styles take care of this for you:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [
scientific axes=clean,
@@ -216,7 +216,7 @@ the data points in the plane using a line. Another common visualizer is the
the data points. More advanced visualizers include, say, box plot visualizers
or pie chart visualizers.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [
scientific axes=clean,
@@ -230,7 +230,7 @@ or pie chart visualizers.
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}
\datavisualization [
scientific axes=clean,
@@ -275,7 +275,7 @@ An example where three functions are plotted and a legend is added is shown
below. Two style sheets are used so that \emph{both} the coloring and the
dashing is varied.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[baseline]
\datavisualization [ scientific axes=clean,
y axis=grid,
@@ -418,7 +418,7 @@ picture to create pictures containing multiple data visualizations.
data [/data point/experiment=23, read from file=experiment023.csv];
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz
\datavisualization [school book axes, visualize as line]
data [/data point/x=1] {
@@ -475,7 +475,7 @@ picture to create pictures containing multiple data visualizations.
data point is created. This means that inside the \meta{options} you just
specify the values of all attributes in key--value syntax.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [school book axes, visualize as line]
data point [x=1, y=1] data point [x=1, y=2]
data point [x=2, y=2] data point [x=2, y=0.5];
@@ -487,7 +487,7 @@ picture to create pictures containing multiple data visualizations.
This key is the ``key version'' of the previous command. The difference is
that this key can be used internally inside styles.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikzdatavisualizationset{
horizontal/.style={
data point={x=#1, y=1}, data point={x=#1, y=2}},
@@ -535,7 +535,7 @@ picture to create pictures containing multiple data visualizations.
``dummy'' data visualization is empty and used only for the definition of
the data group.
%
-\begin{codeexample}[]
+\begin{codeexample}[setup code]
\tikz \datavisualization data group {points} = {
data {
x, y
@@ -551,7 +551,7 @@ picture to create pictures containing multiple data visualizations.
We can now use this data in different plots:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [school book axes, visualize as line] data group {points};
\qquad
\tikz \datavisualization [scientific axes=clean, visualize as line] data group {points};
@@ -593,7 +593,7 @@ picture to create pictures containing multiple data visualizations.
of the data visualization. In sharp contrast, \tikzname\ code given after a
data visualization can no longer access this coordinate system.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[baseline]
\datavisualization [ school book axes, visualize as line ]
data [format=function] {
@@ -626,7 +626,7 @@ picture to create pictures containing multiple data visualizations.
before the visualization is done. This allows you to draw things
\emph{behind} the visualization.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\begin{tikzpicture}[baseline]
\datavisualization [ school book axes, visualize as line ]
data [format=function] {
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
index 5d9f3518052..31167b720a1 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
@@ -23,7 +23,13 @@ data point as follows: One attribute is used to compute a an angle (a
direction) while a second attribute is used as a radius (a distance). The angle
can be measured in degrees, radians, or can be scaled arbitrarily.
%
-\begin{codeexample}[width=8.5cm]
+\begin{codeexample}[
+ width=8.5cm,
+ preamble={\usetikzlibrary{
+ datavisualization.formats.functions,
+ datavisualization.polar,
+}},
+]
\tikz \datavisualization [
scientific polar axes={0 to pi, clean},
all axes=grid,
@@ -56,7 +62,10 @@ configurations possible for, say, Cartesian axes also apply to the ``angle
axis'' and the ``radius axis'' of a polar axis system. For instance, you can
could make both axes logarithmic or style their ticks:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ datavisualization.formats.functions,
+ datavisualization.polar,
+}}]
\tikz[baseline] \datavisualization [
scientific axes={clean},
x axis={attribute=angle, ticks={minor steps between steps=4}},
@@ -117,7 +126,13 @@ could make both axes logarithmic or style their ticks:
attribute value zero is always placed at the center -- and for a
logarithmic plot the value |0| cannot be mapped.
%
-\begin{codeexample}[width=8.8cm]
+\begin{codeexample}[
+ width=8.8cm,
+ preamble={\usetikzlibrary{
+ datavisualization.formats.functions,
+ datavisualization.polar,
+}},
+]
\tikz \datavisualization [
scientific polar axes,
radius axis={
@@ -151,7 +166,13 @@ data [format=function] {
This key, which is the default, causes ticks to be drawn ``outside'' the
outer ``ring'' of the polar axes:
%
-\begin{codeexample}[width=8.8cm]
+\begin{codeexample}[
+ width=8.8cm,
+ preamble={\usetikzlibrary{
+ datavisualization.formats.functions,
+ datavisualization.polar,
+}},
+]
\tikz \datavisualization [
scientific polar axes={outer ticks, 0 to 180},
visualize as smooth line]
@@ -167,7 +188,13 @@ data [format=function] {
This key causes the ticks to be ``turned to the inside''. I do not
recommend using this key.
%
-\begin{codeexample}[width=8.8cm]
+\begin{codeexample}[
+ width=8.8cm,
+ preamble={\usetikzlibrary{
+ datavisualization.formats.functions,
+ datavisualization.polar,
+}},
+]
\tikz \datavisualization [
scientific polar axes={inner ticks, 0 to 180},
visualize as smooth line]
@@ -184,7 +211,13 @@ data [format=function] {
ticks are shown. Usually, this is the best choice for the tick placement
since it avoids a collision of data and explanations.
%
-\begin{codeexample}[width=8.8cm]
+\begin{codeexample}[
+ width=8.8cm,
+ preamble={\usetikzlibrary{
+ datavisualization.formats.functions,
+ datavisualization.polar,
+}},
+]
\tikz \datavisualization [
scientific polar axes={clean, 0 to 180},
visualize as smooth line]
@@ -241,7 +274,7 @@ In order to save some space in this manual, in the following the different
possible keys are only given in a table together with a small example for each
key. The examples were created using the following code:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization [
scientific polar axes={
clean,
@@ -343,7 +376,7 @@ automatically).
a position on the page that is at a distance of $r$ from the origin and at
an angle of~$a$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization
[new polar axes={angle axis}{radius axis},
radius axis={length=2cm},
@@ -373,7 +406,7 @@ automatically).
Both the \meta{unit vector 0 degrees} and the \meta{unit vector 90 degrees}
are \tikzname\ coordinates:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization
[new polar axes={angle axis}{radius axis},
radius axis={unit length=1cm},
@@ -394,7 +427,7 @@ keys:
up the scaling so that a value of |360| on this axis corresponds to a
complete circle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization
[new polar axes={angle axis}{radius axis},
radius axis={unit length=1cm},
@@ -411,7 +444,7 @@ keys:
In contrast to |degrees|, this option sets up things so that a value of
|2*pi| on this axis corresponds to a complete circle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
\tikz \datavisualization
[new polar axes={angle axis}{radius axis},
radius axis={unit length=1cm},
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
index 0e162cc1c32..526992cf0fc 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
@@ -71,7 +71,7 @@ to this attribute is that each visualizer is styled differently.
For the following examples, let us first define a simple data set:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization data group {function classes} = {
data [set=log, format=function] {
var x : interval [0.2:2.5];
@@ -92,7 +92,27 @@ For the following examples, let us first define a simple data set:
};
\end{codeexample}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};}]
\tikz \datavisualization [
school book axes, all axes={unit length=7.5mm},
visualize as smooth line/.list={log, lin, squared, exp},
@@ -100,7 +120,27 @@ For the following examples, let us first define a simple data set:
data group {function classes};
\end{codeexample}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};}]
\tikz \datavisualization [
school book axes, all axes={unit length=7.5mm},
visualize as smooth line/.list={log, lin, squared, exp},
@@ -129,7 +169,27 @@ high-quality legends. Additionally, it also offers ways of easily adding labels
for visualizers directly inside the data visualization, which is even better
than adding a legend, in general.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};}]
\tikz \datavisualization [
school book axes, all axes={unit length=7.5mm},
x axis={label=$x$},
@@ -142,7 +202,27 @@ than adding a legend, in general.
data group {function classes};
\end{codeexample}
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};}]
\tikz \datavisualization [
school book axes,
x axis={label=$x$},
@@ -176,7 +256,28 @@ there is a special, easy-to-remember option for this:
Adds the \meta{style sheet} to the list of style sheets attached to the
|set| attribute.
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
school book axes, all axes={unit length=7.5mm},
visualize as smooth line/.list={log, lin, squared, exp},
@@ -281,7 +382,7 @@ this restriction in a minute).
We would now write:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\pgfkeys{
/pgf/data visualization/style sheets/traffic light/.cd,
% All these styles have the above prefix.
@@ -321,7 +422,17 @@ look at an example:
3/.style={red!80!black},
default style/.style={black}
}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\pgfkeys{
+ /pgf/data visualization/style sheets/traffic light/.cd,
+ % All these styles have the above prefix.
+ 1/.style={green!50!black},
+ 2/.style={yellow!90!black},
+ 3/.style={red!80!black},
+ default style/.style={black}
+}},
+]
% Definition of traffic light keys as above
\begin{tikzpicture}
\datavisualization data group {lines} = {
@@ -354,7 +465,25 @@ with |/data point| are inserted automatically for you, so they can be left out.
However, you would need them for instance when you would like several different
data sets to use the same styling:
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\pgfkeys{
+ /pgf/data visualization/style sheets/traffic light/.cd,
+ % All these styles have the above prefix.
+ 1/.style={green!50!black},
+ 2/.style={yellow!90!black},
+ 3/.style={red!80!black},
+ default style/.style={black}
+}%
+\tikz \datavisualization data group {lines} = {
+ data point [x=0, y=0, set=normal]
+ data point [x=2, y=2, set=normal]
+ data point [x=0, y=1, set=heated]
+ data point [x=2, y=1, set=heated]
+ data point [x=0.5, y=1.5, set=critical]
+ data point [x=2.25, y=1.75, set=critical]
+};},
+]
% Definition of traffic light keys as above
\tikz \datavisualization [
school book axes,
@@ -389,7 +518,17 @@ pattern according to the value of the attribute. We do not need to define an
large number of styles in this case, but can use the |default style| key to
``calculate'' the correct dashing.
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikz \datavisualization data group {lines} = {
+ data point [x=0, y=0, set=normal]
+ data point [x=2, y=2, set=normal]
+ data point [x=0, y=1, set=heated]
+ data point [x=2, y=1, set=heated]
+ data point [x=0.5, y=1.5, set=critical]
+ data point [x=2.25, y=1.75, set=critical]
+};},
+]
\pgfdvdeclarestylesheet{my dashings}{
default style/.style={dash pattern={on #1pt off 1pt}}
}
@@ -418,7 +557,17 @@ the color:
color is simply that it makes many internals of the data visualization
engine a bit simpler.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikz \datavisualization data group {lines} = {
+ data point [x=0, y=0, set=normal]
+ data point [x=2, y=2, set=normal]
+ data point [x=0, y=1, set=heated]
+ data point [x=2, y=1, set=heated]
+ data point [x=0.5, y=1.5, set=critical]
+ data point [x=2.25, y=1.75, set=critical]
+};},
+]
\pgfdvdeclarestylesheet{my colors}
{
default style/.style={visualizer color=black},
@@ -452,7 +601,17 @@ documentation of the |xcolor| package for details.
series is used (since counting starts at |0| for color series). Thus, in
general, you need to start the \meta{initial color} ``one early''.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{datavisualization}},
+ pre={\tikz \datavisualization data group {lines} = {
+ data point [x=0, y=0, set=normal]
+ data point [x=2, y=2, set=normal]
+ data point [x=0, y=1, set=heated]
+ data point [x=2, y=1, set=heated]
+ data point [x=0.5, y=1.5, set=critical]
+ data point [x=2.25, y=1.75, set=critical]
+};},
+]
\tikzdvdeclarestylesheetcolorseries{greens}{hsb}{0.3,1.3,0.8}{0,-.4,-.1}
\tikz \datavisualization [
school book axes,
@@ -533,7 +692,35 @@ data set are used:
are only two or three lines, and even then it is not particularly pleasing
visually.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -551,7 +738,35 @@ data group {sin functions};
often the best choice when the visualization is to be printed in black and
white.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -575,7 +790,35 @@ data group {sin functions};
visualizations when many different lines (ten or more) should be printed in
black and white.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -588,7 +831,35 @@ data group {sin functions};
For comparison, here is the must-less-than-satisfactory result of combining
the two independent style sheets:
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -616,7 +887,35 @@ lines. In the latter case, the marks are added to the lines.
This style supports only up to six different data sets and requires the
|plotmarks| library.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as scatter/.list=
{1,2,3,4,5,6,7,8},
@@ -625,7 +924,35 @@ lines. In the latter case, the marks are added to the lines.
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -663,7 +990,35 @@ situations.
sheet, the visualizations are easier to read when this style sheet is used.
Up to six different data sets are supported.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -672,7 +1027,35 @@ situations.
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -692,7 +1075,35 @@ data sets lead to nearly indistinguishable data sets.
\begin{stylesheet}{vary hue}
This style uses a different hue for each data set.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -706,7 +1117,35 @@ data group {sin functions};
\begin{stylesheet}{shades of blue}
As the name suggests, different shades of blue are used for different data
sets.
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -718,7 +1157,35 @@ data group {sin functions};
\end{stylesheet}
\begin{stylesheet}{shades of red}
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -732,7 +1199,35 @@ data group {sin functions};
For once, this style sheet can also be used when the visualization is
printed in black and white.
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[
+ width=10cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ example visualization/.style={
+ scientific axes=clean,
+ y axis={ticks={style={
+ /pgf/number format/fixed,
+ /pgf/number format/fixed zerofill,
+ /pgf/number format/precision=2}}},
+ x axis={ticks={tick suffix=${}^\circ$}},
+ 1={label in legend={text=$\frac{1}{6}\sin 11x$}},
+ 2={label in legend={text=$\frac{1}{7}\sin 12x$}},
+ 3={label in legend={text=$\frac{1}{8}\sin 13x$}},
+ 4={label in legend={text=$\frac{1}{9}\sin 14x$}},
+ 5={label in legend={text=$\frac{1}{10}\sin 15x$}},
+ 6={label in legend={text=$\frac{1}{11}\sin 16x$}},
+ 7={label in legend={text=$\frac{1}{12}\sin 17x$}},
+ 8={label in legend={text=$\frac{1}{13}\sin 18x$}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list=
{1,2,3,4,5,6,7,8},
@@ -822,7 +1317,28 @@ data set:
point where the \meta{attribute} is at least \meta{number} (if this
never happens, the last data point is used).
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
school book axes,
x axis={label=$x$},
@@ -842,7 +1358,28 @@ data group {function classes};
This key chooses the \meta{number}th data point belonging to the
visualizer's data set.
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
school book axes,
x axis={label=$x$},
@@ -861,7 +1398,28 @@ data group {function classes};
index is at least \meta{fraction} times the number of all data points
in the data set.
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
school book axes,
x axis={label=$x$},
@@ -887,7 +1445,10 @@ data group {function classes};
will be placed at different positions along the lines with hopefully
only little overlap.
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes=clean,
visualize as smooth line/.list={linear, squared, cubed},
@@ -930,7 +1491,28 @@ data [set=cubed, format=function] {
This style has a default definition, usually you should just append
things to this style.
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
school book axes,
x axis={label=$x$},
@@ -964,7 +1546,10 @@ data group {function classes};
to it via a small line (this is like the difference between the |label| and
|pin| options).
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes=clean,
visualize as smooth line/.list={linear, squared, cubed},
@@ -1009,7 +1594,28 @@ data [set=cubed, format=function] {
See the description of |pin angle|.
\end{key}
%
-\begin{codeexample}[width=6.3cm]
+\begin{codeexample}[
+ width=6.3cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
school book axes,
x axis={label=$x$},
@@ -1090,7 +1696,28 @@ usually use the |legend| key instead, see below):
Adds the \meta{options} to the list of options that will be executed
when the legend's node is created.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1115,7 +1742,28 @@ data group {function classes};
the right of the data set visualization.
\end{stylekey}
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes, x axis={label=$x$},
visualize as smooth line/.list={log, lin, squared, exp},
@@ -1139,7 +1787,28 @@ data group {function classes};
key creates a new |main legend| and immediately passes the configuration
\meta{options} to this legend.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes, x axis={label=$x$},
visualize as smooth line/.list={log, lin, squared, exp},
@@ -1192,7 +1861,28 @@ the key |label in legend| must be used together with a data set:
Use this key to setup the \meta{text} that is shown as the label of the
data set.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes, x axis={label=$x$},
visualize as smooth line/.list=
@@ -1256,7 +1946,30 @@ configure which strategy is used using the following keys:
once a column is full, the next column is begun to the right of the
previous one. This is the default.
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1285,7 +1998,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/down then left}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1295,7 +2031,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/up then right}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1305,7 +2064,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/up then left}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1315,7 +2097,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/left then up}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1325,7 +2130,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/left then down}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1335,7 +2163,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/right then up}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1345,7 +2196,30 @@ data group {sin functions};
\end{key}
\begin{key}{/tikz/data visualization/legend options/right then down}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1365,7 +2239,30 @@ begun. This is achieved using the following keys:
As the legend matrix is being filled, whenever the number of rows in the
current column would exceed \meta{number}, a new column is started.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1373,7 +2270,30 @@ begun. This is achieved using the following keys:
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1381,7 +2301,30 @@ data group {sin functions};
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1397,7 +2340,30 @@ data group {sin functions};
you use this key with a strategy that first goes left or right and then up
or down.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1405,7 +2371,30 @@ data group {sin functions};
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1413,7 +2402,30 @@ data group {sin functions};
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1441,7 +2453,30 @@ value.
|max rows| value of rows per column, more columns than the ideal number are
created.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1449,7 +2484,30 @@ value.
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1457,7 +2515,30 @@ data group {sin functions};
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1474,7 +2555,30 @@ data group {sin functions};
\begin{key}{/tikz/data visualization/legend options/ideal number of rows=\meta{number}}
Works like |ideal number of columns|.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1482,7 +2586,30 @@ data group {sin functions};
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1490,7 +2617,30 @@ data group {sin functions};
data group {sin functions};
\end{codeexample}
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {sin functions} = {
+ data [format=function] {
+ var set : {1,...,8};
+ var x : interval [0:50];
+ func y = sin(\value x * (\value{set}+10))/(\value{set}+5);
+ }
+};%
+\tikzdatavisualizationset {
+ legend example/.style={
+ scientific axes, all axes={length=1cm, ticks=none},
+ 1={label in legend={text=1}},
+ 2={label in legend={text=2}},
+ 3={label in legend={text=3}},
+ 4={label in legend={text=4}},
+ 5={label in legend={text=5}},
+ 6={label in legend={text=6}},
+ 7={label in legend={text=7}},
+ 8={label in legend={text=8}}
+ }
+}},
+]
\tikz \datavisualization [
visualize as smooth line/.list={1,2,3,4,5,6,7,8},
legend example, style sheet=vary hue,
@@ -1540,7 +2690,28 @@ but these options internally just map to the following two options:
As an example, let us put a legend to the right of the visualization, but
so that the first entry starts at the top of the visualization:
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes, x axis={label=$x$},
visualize as smooth line/.list=
@@ -1569,7 +2740,28 @@ visualization.
\begin{key}{/tikz/data visualization/legend options/east outside}
Placing the legend to the right of the data visualization is the default:
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1592,7 +2784,28 @@ data group {function classes};
A variant, where the legend is to the right, but aligned with the northern
end of the data visualization:
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1609,7 +2822,28 @@ data group {function classes};
\end{key}
\begin{key}{/tikz/data visualization/legend options/south east outside}
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1627,7 +2861,28 @@ data group {function classes};
\begin{key}{/tikz/data visualization/legend options/west outside}
The legend is placed left. Note that the text also swaps its position.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1647,7 +2902,28 @@ data group {function classes};
\end{key}
\begin{key}{/tikz/data visualization/legend options/north west outside}
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1663,7 +2939,28 @@ data group {function classes};
\end{key}
\begin{key}{/tikz/data visualization/legend options/south west outside}
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1683,7 +2980,28 @@ data group {function classes};
The legend is placed above the data. Note that the legend entries now for a
row rather than a column.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1703,7 +3021,28 @@ data group {function classes};
\end{key}
\begin{key}{/tikz/data visualization/legend options/south outside}
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1734,7 +3073,28 @@ coordinate given by a certain data point.
\begin{key}{/tikz/data visualization/legend options/south east inside}
Puts the legend in the upper right corner of the data.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1796,7 +3156,28 @@ rather than a column for the legend entries:
is now a little smaller since there tends to be much less space inside the
data visualization than next to it.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list={log, lin},
@@ -1823,7 +3204,28 @@ can revert to directly setting the |at| and the |anchor| keys):
key--value pairs that specify a data point. The legend will then be
centered at this data point.
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list={log, lin},
@@ -1839,7 +3241,28 @@ data group {function classes};
\begin{key}{/tikz/data visualization/legend options/right of=\meta{data point}}
Works like |at values|, but the anchor is set to |west|:
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list={log, lin},
@@ -1897,7 +3320,28 @@ first have a look at the keys that allow us to save a set of such styles:
|/tikz/data visualization/legend entry options|. Thus, this key can use
keys like |node style| to configure the styling of all text nodes:
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
every label in legend/.style={node style=
@@ -1920,7 +3364,28 @@ data group {function classes};
This key can be used with a legend. It will simply add the \meta{options}
to the |every label in legend| style for the given legend.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1945,7 +3410,28 @@ The appearance of the text nodes is easy to configure.
\begin{key}{/tikz/data visualization/legend entry options/node style=\meta{options}}
This key adds \meta{options} to the styling of the text nodes of the label.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1967,7 +3453,28 @@ data group {function classes};
effect of this is that the label's text will have the same color as the
data set to which it is attached.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -1997,7 +3504,28 @@ visualization.
\begin{key}{/tikz/data visualization/legend entry options/text left}
Placed the text node to the left of the data set style visualization.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -2018,7 +3546,28 @@ data group {function classes};
options only makes sense in conjunction with the |text colored| options,
which is why this options is also selected implicitly.
%
-\begin{codeexample}[width=8cm]
+\begin{codeexample}[
+ width=8cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+ pre={\tikz \datavisualization data group {function classes} = {
+ data [set=log, format=function] {
+ var x : interval [0.2:2.5];
+ func y = ln(\value x);
+ }
+ data [set=lin, format=function] {
+ var x : interval [-2:2.5];
+ func y = 0.5*\value x;
+ }
+ data [set=squared, format=function] {
+ var x : interval [-1.5:1.5];
+ func y = \value x*\value x;
+ }
+ data [set=exp, format=function] {
+ var x : interval [-2.5:1];
+ func y = exp(\value x);
+ }
+};},
+]
\tikz \datavisualization [
scientific axes,
visualize as smooth line/.list=
@@ -2096,7 +3645,7 @@ for instance by |label in legend|:
picture. Typically, this will be a visual representation of the
data set styling, but it could also be something different.
%
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[width=6cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
style sheet=vary dashing,
@@ -2180,7 +3729,7 @@ globally reconfiguring the default label in legend visualizers:
changing this style will change the appearance of lines in legends. The
main other sensible option for this key is |straight label in legend line|.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
style sheet=vary dashing,
@@ -2189,7 +3738,7 @@ data point [x=-1, y=-1, set=a] data point [x=1, y=0, set=a]
data point [x=-1, y=1, set=b] data point [x=1, y=0.5, set=b];
\end{codeexample}
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
legend entry options/default label in legend path/.style=
@@ -2213,7 +3762,7 @@ data point [x=-1, y=1, set=b] data point [x=1, y=0.5, set=b];
default is to use |label in legend line one mark|. Another possible value
is |label in legend line three marks|.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
visualize as scatter/.list={a,b,c},
style sheet=cross marks,
@@ -2251,7 +3800,7 @@ data point [x=-1, y=1, set=b] data point [x=1, y=0.5, set=b];
that is just a straight line, so it should start somewhere to the left of
the origin at height $0$ and go to the origin:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
style sheet=vary dashing,
@@ -2265,7 +3814,7 @@ data point [x=-1, y=1, set=b] data point [x=1, y=0.5, set=b];
Now let us make this a bit more fancy and useful by using shifted lines:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
legend={up then right}, style sheet=vary dashing,
@@ -2279,7 +3828,7 @@ data point [x=-1, y=1, set=b] data point [x=1, y=0.5, set=b];
In the final example, we use a little ``hat'' to represent lines:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
legend={up then right}, style sheet=vary dashing,
@@ -2306,7 +3855,7 @@ data point [x=-1, y=1, set=b] data point [x=1, y=0.5, set=b];
but usually it is not. In general, it is better to have marks for instance
not at the ends of the line.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
school book axes, visualize as line/.list={a,b},
legend={up then right},
@@ -2335,7 +3884,7 @@ but use one of the following styles:
\begin{key}{/tikz/data visualization/legend entry options/straight label in legend line}
Just gives a straight line and two plot marks.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [visualize as line,
line={style={mark=x}, label in legend={text=example,
straight label in legend line}}];
@@ -2346,7 +3895,7 @@ but use one of the following styles:
distinguish -- even though there is no problem distinguishing them in a
graph.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [visualize as line/.list={a,b,c},
legend entry options/default label in legend path/.style=
straight label in legend line,
@@ -2363,7 +3912,7 @@ but use one of the following styles:
plot marks are at the extremal points of the line. It works pretty well in
almost all situations and is the default.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
visualize as line=a,
visualize as smooth line/.list={b,c},
@@ -2377,7 +3926,7 @@ but use one of the following styles:
optimal. This is the reason that the |cross marks| style uses different
crosses:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
visualize as line/.list={a,b},
visualize as smooth line=c,
@@ -2394,7 +3943,10 @@ but use one of the following styles:
automatically selected for instance by the |polygon| or the |smooth cycle|
styles.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes={clean}, all axes={length=3cm},
visualize as line/.list={a,b,c},
@@ -2423,7 +3975,10 @@ data point [x=1, y=0.25, set=c];
This style is especially tailored to for the |gap cycle| style and
automatically selected by it:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization [
scientific axes={clean}, all axes={length=3cm},
visualize as line/.list={a,b,c},
@@ -2454,7 +4009,7 @@ data point [x=1, y=0.25, set=c];
single mark (this is the default with a scatter plot or when the |no line|
is selected.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [visualize as scatter/.list={a,b,c},
style sheet=cross marks,
a={label in legend={text=example a}},
@@ -2467,7 +4022,7 @@ data point [x=1, y=0.25, set=c];
\begin{key}{/tikz/data visualization/legend entry options/label in legend three marks}
An alternative to the previous style, where several marks are shown.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [visualize as scatter/.list={a,b,c},
style sheet=cross marks,
a={label in legend={text=example a, label in legend three marks}},
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
index 3923339a115..2c6fc8481ec 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
@@ -70,7 +70,7 @@ all that needs to be done in order to choose a visualizer is use one of the
options starting with |visualize as ...| together with the |\datavisualization|
command:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
% Define a data set:
\tikz \datavisualization data group {example} = {
data {
@@ -129,7 +129,7 @@ visualizers, the following key is important:
Since the |set| key has the path prefix |/data point|, it can be set like any
other attribute of a data key:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[width=7cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes=clean,
visualize as line=sin,
@@ -164,7 +164,7 @@ easy to achieve by using multiple |data| and using the following key:
\begin{key}{/pgf/data/set=\meta{name}}
Shorthand for |/data point/set=|\meta{name}.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[width=7cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization
[scientific axes=clean,
visualize as line=sin,
@@ -196,7 +196,10 @@ code by making use of the |.list| key handler: When you add it to a key, the
``value'' passed to the key is parsed as a list of values. The key is then
executed once for each of these values:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean,
visualize as line/.list={sin, cos, tan}]
@@ -236,7 +239,10 @@ In order to style a visualizer that has been created using for instance
|label in legend| and |label in data|. The latter two options are discussed
in Section~\ref{section-dv-labels-in}, the first option below.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean,
visualize as smooth line/.list={sin, cos},
@@ -258,7 +264,10 @@ data [set=cos, format=function] {
The \meta{options} given to this key should be normal \tikzname\ options.
They will be executed when the visualizer is used.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean,
visualize as smooth line=sin,
@@ -282,7 +291,10 @@ data [set=cos, format=function] {
(and easier) to use a style sheet, see
Section~\ref{section-dv-style-sheets}.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes={clean, end labels},
x axis={label=$x$}, y axis={grid={major also at=0}},
@@ -331,7 +343,10 @@ also gets executed when a visualizer is used:
This style is used with every visualizer. Note that it should contain
normal \tikzname\ keys.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean,
every visualizer/.style={dashed},
@@ -379,7 +394,10 @@ data [format=function] {
offered by \tikzname\ for configuring marks are available such as
|mark repeat|:
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean,
visualize as line=my data,
@@ -410,7 +428,10 @@ data [format=function] {
at the previous data point and a new line starts at the next data
point.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean, x axis={grid={major at=(pi/2)}},
visualize as smooth line]
@@ -435,7 +456,7 @@ data [format=function] {
\begin{key}{/tikz/data visualization/visualizer options/straight line}
Causes the data points to be connected by straight lines.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={straight line}]
@@ -451,7 +472,7 @@ data [format=function] {
\begin{key}{/tikz/data visualization/visualizer options/straight cycle}
Causes the data points to be connected by a polygon.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={straight cycle}]
@@ -472,7 +493,7 @@ data [format=function] {
Causes the data points to be connected by a line that is smoothed at the
joins:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={smooth line}]
@@ -489,7 +510,7 @@ data [format=function] {
Causes the data points to be connected by a circular line that is smoothed
at the joins:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={smooth cycle}]
@@ -507,7 +528,7 @@ data [format=function] {
quite touch'' the data points. This is implemented by using the
|\pgfplothandlergaplineto|, see Section~\ref{section-plot-gapped}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={gap line}]
@@ -523,7 +544,7 @@ data [format=function] {
\begin{key}{/tikz/data visualization/visualizer options/gap cycle}
Like |gapped line|, only with a cycle:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={gap cycle}]
@@ -540,7 +561,7 @@ data [format=function] {
Suppresses the line. This option only makes sense when the |mark| option is
used.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz [scale=.55] \datavisualization
[scientific axes=clean, all axes={ticks=few},
visualize as smooth line=my data, my data={no lines, style={mark=x}}]
@@ -562,7 +583,10 @@ data [format=function] {
so that is will use |mark=x| (plus some size adjustments) to draw marks at
the data points.
%
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+ width=7cm,
+ preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
\tikz \datavisualization
[scientific axes=clean,
visualize as scatter]
@@ -715,6 +739,8 @@ Finally, we create a |visualize as| key:
Now, let's see how this works:
+% TODOsp: codeexamples: This stuff is all needed for the next `codeexample`
+% but cannot be stored (simply) in `setup code`, `preample` or `pre`
\pgfooclass{circle visualizer} {
% Stores the name of the visualizer. This is needed for filtering
% and configuration
@@ -765,7 +791,7 @@ Now, let's see how this works:
visualize as circle/.default=circle
}
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[width=7cm,preamble={\usetikzlibrary{datavisualization}}]
\tikz \datavisualization [
scientific axes=clean,
visualize as circle/.list={a, b, c},
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
index aa9fa817a92..9704f9b3de1 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
@@ -509,7 +509,7 @@ example
\subsubsection{Namespaces}
-All parts of the graph drawing library reside in the Lua ``namespace''
+All parts of the |graphdrawing| library reside in the Lua ``namespace''
|pgf.gd|, which is itself a ``sub-namespace'' of |pgf|. For your own
algorithms, you are free to place them in whatever namespace you like; only for
the official distribution of \pgfname\ everything has been put into the correct
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
index b677de2175a..d09a8aef428 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
@@ -106,7 +106,7 @@ results. For instance:
\medskip
\tikz [anchor=base]\graph [layered layout,level distance=2.35cm,sibling
-distance=1.2cm,edges={rounded corners,>=spaced stealth'}] {
+distance=1.2cm,edges={rounded corners,>={Stealth[round,sep]}}] {
Alice;
Bob;
Charly;
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
index 39ecd659a87..8fc660a937f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
@@ -36,7 +36,8 @@ should be. This is something you leave to a \emph{graph drawing algorithm}. The
algorithm gets your description of the graph as an input and then decides where
the nodes should go on the page.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz \graph [binary tree layout, level distance=5mm] {
4 -- {
3 -- 0 -- 1[second],
@@ -48,9 +49,8 @@ the nodes should go on the page.
};
\end{codeexample}
-\begin{codeexample}[]
-% \usetikzlibrary{graphs,graphdrawing,quotes}
-% \usegdlibrary{force}
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing,quotes}
+\usegdlibrary{force}}]
\tikz \graph [spring layout,
edge quotes mid,
edges={nodes={font=\scriptsize, fill=white, sloped, inner sep=1pt}}]
@@ -71,13 +71,13 @@ dozens of new algorithms are proposed.
Unlike the rest of \pgfname\ and \tikzname, which is implemented purely in
\TeX, the graph drawing algorithms are simply too complex to be implemented
-directly in \TeX. Instead, the programming language Lua is used by the graph
-drawing library -- a programming language that has been integrated into recent
-versions of \TeX. This means that (a) as a user of the graph drawing engine you
-run \TeX\ on your documents in the usual way, no external programs are called
-since Lua is already integrated into \TeX, and (b) it is pretty easy to
-implement new graph drawing algorithms for \tikzname\ since Lua can be used and
-no \TeX\ programming knowledge is needed.
+directly in \TeX. Instead, the programming language Lua is used by the
+|graphdrawing| library -- a programming language that has been integrated into
+recent versions of \TeX. This means that (a) as a user of the graph drawing
+engine you run \TeX\ on your documents in the usual way, no external programs
+are called since Lua is already integrated into \TeX, and (b) it is pretty easy
+to implement new graph drawing algorithms for \tikzname\ since Lua can be used
+and no \TeX\ programming knowledge is needed.
\subsection{Using the Graph Drawing System}
@@ -88,8 +88,9 @@ example, where the |layered layout| option tells \tikzname\ that the graph
should be drawn (``should be laid out'') using a so-called ``layered graph
drawing algorithm'' (what these are will be explained later):
%
-\begin{codeexample}[]
-\tikz [>=spaced stealth']
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,graphs,graphdrawing}
+\usegdlibrary{layered}}]
+\tikz [>={Stealth[round,sep]}]
\graph [layered layout, components go right top aligned, nodes=draw, edges=rounded corners]
{
first root -> {1 -> {2, 3, 7} -> {4, 5}, 6 }, 4 -- 5;
@@ -101,7 +102,8 @@ drawing algorithm'' (what these are will be explained later):
Here is another example, where a different layout method is used that is more
appropriate for trees:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphdrawing}
+\usegdlibrary{trees}}]
\tikz [grow'=up, binary tree layout, nodes={circle,draw}]
\node {1}
child { node {2}
@@ -122,7 +124,9 @@ appropriate for trees:
A final example, this time using a ``spring electrical layout'' (whatever that
might be\dots):
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{decorations.pathmorphing,graphdrawing}
+\usegdlibrary{force}}]
\tikz [spring electrical layout, node distance=1.3cm,
every edge/.style={
decoration={coil, aspect=-.5, post length=1mm,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
index 961f1e1076f..633df75b883 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
@@ -45,7 +45,7 @@ The documentation of the \pgfname\ part of the graph drawing system that is
presented in the following includes only those macros that other \TeX\ packages
could conceivably call in order to use the graph drawing system without using
\tikzname; for instance, for efficiency reasons. (The internal callback
-functions defined in the graph drawing library that are part of the binding
+functions defined in the |graphdrawing| library that are part of the binding
between \pgfname\ and the graph drawing system are not documented, should not
be called, and may change in the future.)
@@ -72,7 +72,8 @@ independently of \TeX.
Let us have a look at a simple example to see what happens when a graph is
specified:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz[tree layout]
\graph {root [as=Hello] -> World[fill=blue!20]};
\end{codeexample}
@@ -84,8 +85,8 @@ the next call of |\pgfgdendscope|, all nodes that are created actually get
passed down to the graph drawing engine. This is implemented on the lowest
layer, namely by directly intercepting nodes freshly created using |\pgfnode|.
In our example, this happens in two places: For the |root| node and for the
-|World| node. The |graph| library and \tikzname\ internally call the |\pgfnode|
-macro for these two nodes (after a large number of internal syntax
+|World| node. The |graphs| library and \tikzname\ internally call the
+|\pgfnode| macro for these two nodes (after a large number of internal syntax
translations, but the graph drawing system does not care about them).
Note that the node boxes will have been fully created before they are passed
@@ -110,7 +111,7 @@ An overview of what happens is illustrated by the following call graph:
\begin{tikzpicture}[
class name/.style={draw,minimum size=20pt, fill=blue!20},
object node/.style={draw,minimum size=15pt, fill=yellow!20},
- p/.style={->,>=spaced stealth'},
+ p/.style={->,>={Stealth[round,sep]}},
livespan/.style={very thick},
xscale=0.8,
]
@@ -259,10 +260,10 @@ Graph drawing scopes are created using the following commands:
\item If the |graphs| library has been loaded, the default positioning
mechanisms of this library are switched off, leaving the
positioning to the graph drawing engine. Also, when an edge is
- created by the |graphs| library, this is signalled to the graph
- drawing library. (To be more precise: The keys |new ->| and so on
- are redefined so that they call |\pgfgdedge| instead of creating an
- edge.
+ created by the |graphs| library, this is signalled to the
+ |graphdrawing| library. (To be more precise: The keys |new ->| and
+ so on are redefined so that they call |\pgfgdedge| instead of
+ creating an edge.
\item The |edge| path command is modified so that it also calls
|\pgfgdedge| instead of immediately creating any edges.
\item The |edge from parent| path command is modified so that is also
@@ -533,7 +534,8 @@ of layout keys inside a picture will only open sublayouts.
|{tikzpicture}|, to |\scoped|, to |{scope}|, to |graph|, and to |{graph}|.
For instance, the |tree layout| option can be used in the following ways:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz [tree layout] \graph {1 -> {b,c}};
\tikz \graph [tree layout] {2 -> {b,c}};
\tikz \path graph [tree layout] {3 -> {b,c}};
@@ -555,7 +557,8 @@ of layout keys inside a picture will only open sublayouts.
particular, to typeset a tree given in the |child| syntax somewhere inside
a |{tikzpicture}|, you must prefix it with the |\scoped| command:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphdrawing}
+\usegdlibrary{trees}}]
\begin{tikzpicture}
\scoped [tree layout]
\node {root}
@@ -566,7 +569,8 @@ of layout keys inside a picture will only open sublayouts.
%
Naturally, the above could have been written more succinctly as
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphdrawing}
+\usegdlibrary{trees}}]
\tikz [tree layout]
\node {root}
child { node {left child} }
@@ -575,7 +579,8 @@ of layout keys inside a picture will only open sublayouts.
%
Or even more succinctly:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz \graph [tree layout] { root -- {left child, right child} };
\end{codeexample}
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
index bbedfc01db9..32cf24e59bb 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
@@ -89,7 +89,8 @@ engine should apply a layout algorithm to the nodes in the scope. Typically,
you just add an option ending with |... layout| to the |graph| path operation
and then let the graph drawing do its magic:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{layered}}]
\tikz [rounded corners]
\graph [layered layout, sibling distance=8mm, level distance=8mm]
{
@@ -170,7 +171,8 @@ very specific to a single algorithm, a number of graph parameters will be
important for many algorithms and they are documented in the course of the
present section. Here is an example of an option the ``always works'':
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{force}}]
\tikz \graph [spring layout, vertical=1 to 2] { 1--2--3--1 };
\end{codeexample}
@@ -219,7 +221,8 @@ for sublayouts.
Let us start with the ``plain'' syntax for opening sublayouts: You pass a key
for creating layouts to a |scope|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphdrawing}
+\usegdlibrary{force,trees}}]
\tikz [spring layout] {
\begin{scope}[tree layout]
\node (a) {a};
@@ -258,7 +261,8 @@ brackets. However, you \emph{must} provide a sublayout in braces. The contents
of \meta{sublayout} will be parsed using the usual |graph| syntax, but will
form a sublayout.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{force,trees}}]
\tikz \graph [spring layout] {
// [tree layout] { a -- {b, c} };
// [tree layout] { 1 -- 2 };
@@ -270,7 +274,8 @@ In the above example, there is no node before the double slash, which means
that the two sublayouts will be part of the main graph, but will not be
indicated otherwise.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{circular,trees}}]
\tikz \graph [simple necklace layout] {
// [simple necklace layout] { a -> b -> c -> d -> e -> f -> a };
@@ -294,7 +299,8 @@ layout does nothing here.
Compare the above to the following code:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{circular,trees}}]
\tikz \graph [simple necklace layout] {
// [tree layout] { % first ``giant node''
a -> {1, 2};
@@ -336,7 +342,11 @@ follows:
The idea ist that a subgraph node is declared like a normal node specification,
but is followed by a double slash and a subgraph:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[
+ width=5cm,
+ preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{circular,trees}},
+]
\tikz \graph [simple necklace layout] {
tree 1[draw, circle] // [tree layout] { a -> {1, 2}; }
-> b
@@ -355,7 +365,8 @@ layout: If you do \emph{not} provide a layout name after the double slash, the
subgraph node will simply surround all nodes that were placed by the main
layout wherever they were placed:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz [subgraph text bottom=text centered,
subgraph nodes={font=\itshape}]
\graph [tree layout] {
@@ -377,7 +388,8 @@ Every time a subgraph node is created, the following style is execute:
\begin{key}{/tikz/subgraph nodes=\meta{style}}
Sets the |every subgraph node| style to \meta{style}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz [subgraph text bottom=text centered,
subgraph nodes=red]
\graph [tree layout] {
@@ -398,7 +410,8 @@ Every time a subgraph node is created, the following style is execute:
option is useful in situations when subgraph nodes generally should not
have any text inside them.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz [subgraph text none]
\graph [tree layout] {
a -> { b -> {c, d}, e -> {f, g -> h} };
@@ -417,7 +430,8 @@ Every time a subgraph node is created, the following style is execute:
the subgraph node: Still inside the node, but above all nodes inside the
subgraph node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}}]
\tikz [subgraph text top=text ragged left]
\graph [tree layout] {
a -> { b -> {c, d}, e -> {f, g -> h} };
@@ -432,7 +446,11 @@ Every time a subgraph node is created, the following style is execute:
You can pass any of the \meta{text alignment options} understood by
\tikzname, such as |text centered|:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[
+ width=5cm,
+ preamble={\usetikzlibrary{graphs,graphdrawing}
+\usegdlibrary{trees}},
+]
\tikz [subgraph text top=text centered]
\graph [tree layout] {
a -> { b -> {c, d}, e -> {f, g -> h} };
@@ -444,7 +462,8 @@ Every time a subgraph node is created, the following style is execute:
To place a label \emph{outside} the subgraph node, use a label, typically
defined using the |quotes| library:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing,quotes}
+\usegdlibrary{trees}}]
\tikz \graph [tree layout] {
a -> { b -> {c, d}, e -> {f, g -> h} };
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
index 7117552eff9..5059d7af867 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
@@ -13,7 +13,7 @@
Welcome to the documentation of \tikzname\ and the underlying \pgfname\ system.
What began as a small \LaTeX\ style for creating the graphics in my (Till
Tantau's) PhD thesis directly with pdf\LaTeX\ has now grown to become a
-full-flung graphics language with a manual of over a thousand pages. The wealth
+full-blown graphics language with a manual of over a thousand pages. The wealth
of options offered by \tikzname\ is often daunting to beginners; but
fortunately this documentation comes with a number slowly-paced tutorials that
will teach you almost all you should know about \tikzname\ without your having
@@ -26,7 +26,7 @@ defines a number of \TeX\ commands that draw graphics. For example, the code
\tikz \fill[orange] (1ex,1ex) circle (1ex);. In a sense, when you use
\tikzname\ you ``program'' your graphics, just as you ``program'' your document
when you use \TeX. This also explains the name: \tikzname\ is a recursive
-acronym in the tradition of ``\textsc{gnu} is not unix'' and means ``\tikzname\
+acronym in the tradition of ``\textsc{gnu}'s Not Unix'' and means ``\tikzname\
ist \emph{kein} Zeichenprogramm'', which translates to ``\tikzname\ is not a
drawing program'', cautioning the reader as to what to expect. With \tikzname\
you get all the advantages of the ``\TeX-approach to typesetting'' for your
@@ -104,8 +104,8 @@ With the \tikzname\ frontend all this boils down to a single simple
In practice, \tikzname\ is the only ``serious'' frontend for \pgfname. It gives
you access to all features of \pgfname, but it is intended to be easy to use.
The syntax is a mixture of \textsc{metafont} and \textsc{pstricks} and some
-ideas of myself. There are other frontends besides \tikzname, but they are more
-intended as ``technology studies'' and less as serious alternatives to
+ideas of myself. There are other frontends besides \tikzname, but they are intended
+more as ``technology studies'' and less as serious alternatives to
\tikzname. In particular, the |pgfpict2e| frontend reimplements the standard
\LaTeX\ |{picture}| environment and commands like |\line| or |\vector| using
the \pgfname\ basic layer. This layer is not really ``necessary'' since the
@@ -148,7 +148,7 @@ to give a reasonably fair comparison of \tikzname\ and other packages.
very small, which may or may not be an advantage.
\item The |metapost| program is a powerful alternative to \tikzname. It
used to be an external program, which entailed a bunch of problems,
- but in Lua\TeX\ it is now build in. An obstacle with |metapost| is
+ but in Lua\TeX\ it is now built in. An obstacle with |metapost| is
the inclusion of labels. This is \emph{much} easier to achieve using
\pgfname.
\item The |xfig| program is an important alternative to \tikzname\ for
@@ -253,8 +253,9 @@ When you need help with \pgfname\ and \tikzname, please do the following:
\item \emph{As a last resort} you can try to email me (Till Tantau) or,
if the problem concerns the mathematical engine, Mark Wibrow. I do
not mind getting emails, I simply get way too many of them. Because
- of this, I cannot guarantee that your emails will be answered timely
- or even at all. Your chances that your problem will be fixed are
- somewhat higher if you mail to the \pgfname\ mailing list (naturally,
- I read this list and answer questions when I have the time).
+ of this, I cannot guarantee that your emails will be answered in a
+ timely fashion or even at all. Your chances that your problem will
+ be fixed are somewhat higher if you mail to the \pgfname\ mailing
+ list (naturally, I read this list and answer questions when I have
+ the time).
\end{enumerate}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
index 76014f5e821..a8f91c7309d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
@@ -15,6 +15,7 @@
shapes.
\end{tikzlibrary}
+
\subsection{Coordinate Systems}
\begin{coordinatesystem}{xyz cylindrical}
@@ -38,7 +39,7 @@
Factor by which the $z$-vector is multiplied.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{3d}}]
\begin{tikzpicture}[->]
\draw (0,0,0) -- (xyz cylindrical cs:radius=1);
\draw (0,0,0) -- (xyz cylindrical cs:radius=1,angle=90);
@@ -70,7 +71,7 @@
Same as |longitude|.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{3d}}]
\begin{tikzpicture}[->]
\draw (0,0,0) -- (xyz spherical cs:radius=1);
\draw (0,0,0) -- (xyz spherical cs:radius=1,latitude=90);
@@ -107,7 +108,7 @@ following options help you to switch to a different plane.
Note that you have to set the units \emph{before} calling
|canvas is plane|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{3d}}]
\begin{tikzpicture}[
->,
plane x={(0.707,-0.707)},
@@ -187,7 +188,7 @@ following options help you to switch to a different plane.
\subsection{Examples}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{3d}}]
\begin{tikzpicture}[z={(10:10mm)},x={(-45:5mm)}]
\def\wave{
\draw[fill,thick,fill opacity=.2]
@@ -218,7 +219,7 @@ following options help you to switch to a different plane.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{3d}}]
\begin{tikzpicture}
\begin{scope}[canvas is zy plane at x=0]
\draw (0,0) circle (1cm);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
index 6f6c2e6ef01..a011ea8b58a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
@@ -25,7 +25,7 @@
\begin{key}{/tikz/angle radius=\meta{dimension} (initially 5mm)}
The length of the sides of the angle's wedge:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles}}]
\tikz \draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (-1,-1) coordinate (C)
pic [fill=black!50] {angle = A--B--C}
@@ -47,7 +47,7 @@
an option like |fill| or |shade| is passed to the pic. The following
example shows the difference:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles}}]
\tikz \draw [line width=2mm]
(2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
@@ -61,19 +61,19 @@
following factor:
%
\begin{key}{/tikz/angle eccentricity=\meta{factor} (initially 0.6)}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz \draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
pic ["$\alpha$", draw, ->] {angle};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz \draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
pic ["$\alpha$", draw, angle eccentricity=1] {angle};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz {
\draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
@@ -89,7 +89,7 @@
This pic adds a drawing of a right angle to the current path. It works in
the same way as |angle| pic.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles}}]
\tikz
\draw (0,0,0) coordinate (O)
(1,0,0) coordinate (A) -- (O)
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
index a0e73700ff7..452ee9a6aa7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
@@ -18,7 +18,7 @@
\subsection{Drawing Automata}
-The automata drawing library is intended to make it easy to draw finite
+The |automata| (drawing) library is intended to make it easy to draw finite
automata and Turing machines. It does not cover every situation imaginable, but
most finite automata and Turing machines found in text books can be drawn in a
nice and convenient fashion using this library.
@@ -43,7 +43,7 @@ Let us now see how this works for a real example. Let us consider a
nondeterministic four state automaton that checks whether an input contains the
sequence $0^*1$ or the sequence $1^*0$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{automata,positioning}}]
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,auto]
\draw[help lines] (0,0) grid (3,2);
@@ -82,7 +82,7 @@ By default, the following state styles are defined:
output, use the command |\nodepart{lower}| inside the node. This style also
calls |every state|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{automata}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
@@ -97,7 +97,8 @@ By default, the following state styles are defined:
\begin{stylekey}{/tikz/state (initially state without output)}
You should redefine it to something else, if you wish to use states of a
different nature.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{automata}}]
\begin{tikzpicture}[state/.style=state with output]
\node[state] {$q_0$ \nodepart{lower} $11$};
\node[state] at (2,0) {$q_1$ \nodepart{lower} $00$};
@@ -111,8 +112,8 @@ By default, the following state styles are defined:
|state without output|. By default, it does nothing, but you can use it to
make your state look more fancy:
%
-\begin{codeexample}[]
-\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>=stealth',
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,automata,positioning}}]
+\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>={Stealth[round]},
every state/.style={draw=blue!50,very thick,fill=blue!20}]
\node[state,initial] (q_0) {$q_0$};
@@ -166,7 +167,7 @@ Let us start with the initial states.
whatever.
\end{stylekey}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{automata}}]
\begin{tikzpicture}[every initial by arrow/.style={text=red,->>}]
\node[state,initial,initial distance=2cm] {$q_0$};
\end{tikzpicture}
@@ -236,9 +237,9 @@ now two options: First, |accepting by arrow|, which works the same way as
text.
\end{stylekey}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,automata,positioning}}]
\begin{tikzpicture}
- [shorten >=1pt,node distance=2cm,on grid,>=stealth',initial text=,
+ [shorten >=1pt,node distance=2cm,on grid,>={Stealth[round]},initial text=,
every state/.style={draw=blue!50,very thick,fill=blue!20},
accepting/.style=accepting by arrow]
@@ -282,8 +283,8 @@ previous sections. This time, we use the following rule for accepting/initial
state: Initial states are red, accepting states are green, and normal states
are orange. Then, we must find a path from a red state to a green state.
%
-\begin{codeexample}[]
-\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>=stealth',thick,
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,automata,positioning,shadows}}]
+\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid,>={Stealth[round]},thick,
every state/.style={fill,draw=none,orange,text=white,circular drop shadow},
accepting/.style ={green!50!black,text=white},
initial/.style ={red,text=white}]
@@ -304,8 +305,8 @@ are orange. Then, we must find a path from a red state to a green state.
The next example is the current candidate for the five-state busiest beaver:
%
-\begin{codeexample}[]
-\begin{tikzpicture}[->,>=stealth',shorten >=1pt,%
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,automata,positioning}}]
+\begin{tikzpicture}[->,>={Stealth[round]},shorten >=1pt,%
auto,node distance=2cm,on grid,semithick,
inner sep=2pt,bend angle=45]
\node[initial,state] (A) {$q_a$};
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
index dd8bb7b43a1..35d99396dc4 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
@@ -11,13 +11,13 @@
\section{Babel Library}
\label{section-library-babel}
-\begin{pgflibrary}{babel}
+\begin{tikzlibrary}{babel}
A tiny library that make the interaction with the |babel| package easier.
Despite the name, it may also be useful in other contexts, namely whenever
the catcodes of important symbols are changed globally. Normally, using
this library is always a good idea; it is not always loaded by default
since in some rare cases it may break old code.
-\end{pgflibrary}
+\end{tikzlibrary}
The problems this library tries to fix have to do with the so-called
``catcodes'' of symbols used inside \tikzname. In normal \TeX\ operation,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
index b24a38860a0..7755003fbe3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
@@ -30,7 +30,7 @@ The first use of this library is to make the following key available:
be executed \emph{before} the actual background material starts and, thus,
will have no effect on it.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
% On main layer:
\fill[blue] (0,0) circle (1cm);
@@ -62,7 +62,7 @@ The first use of this library is to make the following key available:
you have a global setup in |every picture|, you should consider putting
that part of it that concerns the graphics state into this style.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\tikzset{
every picture/.style={line width=1ex},
every on background layer/.style={every picture}
@@ -84,7 +84,7 @@ When this package is loaded, the following styles become available:
option must be given to the |{tikzpicture}| environment or to the |\tikz|
command.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}[show background rectangle]
\draw (0,0) ellipse (10mm and 5mm);
\end{tikzpicture}
@@ -130,7 +130,7 @@ When this package is loaded, the following styles become available:
causes a light blue background to be added to the picture. You can also
use more fancy settings as shown in the following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
[background rectangle/.style=
{double,ultra thick,draw=red,top color=blue,rounded corners},
@@ -142,7 +142,7 @@ When this package is loaded, the following styles become available:
Naturally, no one in their right mind would use the above, but here is
a nice background:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
[background rectangle/.style=
{draw=blue!50,fill=blue!20,rounded corners=1ex},
@@ -163,7 +163,7 @@ When this package is loaded, the following styles become available:
right corner of the grid is computed in the same way as for the background
rectangle:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}[show background grid]
\draw (0,0) ellipse (10mm and 5mm);
\end{tikzpicture}
@@ -174,7 +174,7 @@ When this package is loaded, the following styles become available:
\begin{stylekey}{/tikz/background grid (initially draw,help lines)}
This style dictates how the background grid path is drawn.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
[background grid/.style={thick,draw=red,step=.5cm},
show background grid]
@@ -186,7 +186,7 @@ When this package is loaded, the following styles become available:
This option can be combined with the |framed| option (use the |framed|
option first):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\tikzset{background grid/.style={thick,draw=red,step=.5cm},
background rectangle/.style={rounded corners,fill=yellow}}
\begin{tikzpicture}[framed,gridded]
@@ -205,7 +205,7 @@ When this package is loaded, the following styles become available:
rectangle. Normally, the line coincides exactly with the top line of the
background rectangle:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}[
background rectangle/.style={fill=yellow},
framed,show background top]
@@ -218,7 +218,7 @@ When this package is loaded, the following styles become available:
\begin{key}{/tikz/outer frame xsep=\meta{dimension} (initially 0pt)}
The \meta{dimension} is added at the left and right side of the line.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
[background rectangle/.style={fill=yellow},
framed,
@@ -238,7 +238,7 @@ When this package is loaded, the following styles become available:
Sets both the $x$- and $y$-separation.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
[background rectangle={fill=blue!20},
outer frame sep=1ex,%
@@ -254,7 +254,7 @@ When this package is loaded, the following styles become available:
style:
%
\begin{stylekey}{/tikz/background top (initially draw)}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\tikzset{background rectangle/.style={fill=blue!20},
background top/.style={draw=blue!50,line width=1ex}}
\begin{tikzpicture}[framed,show background top]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
new file mode 100644
index 00000000000..972b90714ea
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
@@ -0,0 +1,126 @@
+% Copyright 2019 by an anonymous contributor
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+
+\section{Bounding Boxes for B\'ezier Curves}
+
+\begin{pgflibrary}{bbox}
+ This library provides methods to determine tight bounding boxes for
+ B\'ezier curves.
+\end{pgflibrary}
+
+
+\subsection{Current Status}
+
+\tikzname\ determines the bounding box of (cubic) B\'ezier curves by
+establishing the smallest rectangle that contains the end point and the two
+control points of the curve. This may lead to drastic overestimates of the
+bounding box.
+
+\begin{codeexample}[]
+\begin{tikzpicture}
+ \draw (0,0) .. controls (-1,1) and (1,2) .. (2,0);
+ \draw (current bounding box.south west) rectangle
+ (current bounding box.north east);
+\end{tikzpicture}
+\end{codeexample}
+
+\subsection{Computing the Bounding Box}
+
+Establishing the precise bounding box has been discussed in various places, the
+following discussion uses in part the results from
+\url{https://pomax.github.io/bezierinfo/}. What is a cubic Bezier curve? A
+cubic Bezier curve running from $(x_0,y_0)$ to $(x_1,y_1)$ with control points
+$(x_a,y_a)$ and $(x_a,y_a)$ can be parametrized by
+\begin{equation}
+ \gamma(t) =
+ \begin{pmatrix} x(t)\\ y(t) \end{pmatrix} =
+ \begin{pmatrix}t^3 x_{1}+3 t^2 (1-t) x_{b}+(1-t)^3
+ x_{0}+3 t (1-t)^2 x_{a}\\
+ t^3 y_{1}+3
+ t^2 (1-t) y_{b}+(1-t)^3 y_{0}+3 t (1-t)^2
+ y_{a}\end{pmatrix}\;,\label{eq:gammaBezier}
+\end{equation}
+where $t$ runs from 0 to 1 (and $\gamma(0)=(x_0,y_0)$ and
+$\gamma(1)=(x_1,y_1)$). Surely, the bounding box has to contain
+$(x_0,y_0)$ and $(x_1,y_1)$. If the functions $x(t)$ and $y(t)$ have extrema in
+the interval $[0,1]$, then the bounding box will in general be larger than that.
+In order to determine the extrema of the curve, all
+we need to find the extrema of the functions $x(t)$ and $y(t)$ for $0\le t\le
+1$. That is, we need to find the solutions of the quadratic equations
+\begin{equation}
+ \frac{\mathrm{d}x}{\mathrm{d}t}(t) = 0\quad\text{and}\quad
+ \frac{\mathrm{d}y}{\mathrm{d}t}(t) = 0\;.
+\end{equation}
+Let's discuss $x$, $y$ is analogous. If the discriminant
+\begin{equation}
+ d := (x_a-x_b)^2+(x_1-x_b)(x_0-x_a)
+\end{equation}
+is greater than 0, there are two solutions
+\begin{equation}
+ t_\pm = \frac{x_{0}-2
+ x_{a}+x_{b}\pm\sqrt{d}}{x_{0}-x_{1}-3(x_{a}- x_{b})} \;.
+\end{equation}
+In this case, we need to make sure that the bounding box contains, say
+$(x(t_-),y_0)$ and $(x(t_+),y_0)$. If $d\le0$, the bounding box does not need to
+be increased in the $x$ direction. One can plug $t_\pm$ back into
+\eqref{eq:gammaBezier}, this yields
+\begin{subequations}
+\begin{align}
+ x_- &=
+ \!\begin{aligned}[t]
+ \frac{1}{(x_0 - x_1 - 3x_a + 3x_b)^2}
+ \Bigl[
+ & x_0^2x_1 + x_0x_1^2 - 3x_0x_1x_a + 6x_1x_a^2
+ + 2x_a^3 - 3(x_0 + x_a)(x_1 + x_a)x_b \\
+ & + 3(2x_0 - x_a)x_b^2 + 2x_b^3
+ - 2\sqrt{d}(x_0x_1 - x_1x_a + x_a^2 - (x_0 + x_a)x_b + x_b^2)
+ \Bigr],
+ \end{aligned} \\
+ x_+ &=
+ \!\begin{aligned}[t]
+ \frac{1}{(x_0 - x_1 - 3x_a + 3x_b)^2}
+ \Bigl[
+ & x_0^2x_1 + x_0x_1^2 - 3x_0x_1x_a + 6x_1x_a^2
+ + 2x_a^3 - 3(x_0 + x_a)(x_1 + x_a)x_b \\
+ & + 3(2x_0 - x_a)x_b^2 + 2x_b^3
+ + 2\sqrt{d}(x_0x_1 - x_1x_a + x_a^2 - (x_0 + x_a)x_b + x_b^2)
+ \Bigr].
+ \end{aligned}
+\end{align}
+\end{subequations}
+As already mentioned, the analogous
+statements apply to $y(t)$.
+
+This procedure is implemented in the |bbox| library. It installs a single key
+by which the tight bounding box algorithm can be turned on and off.
+
+\begin{key}{/pgf/bezier bounding box=\meta{boolean} (default true)}
+ Turn the tight bounding box algorithm on and off.
+
+ \emph{Caveat:} As can be seen from the derivations, the necessary
+ computations involve the squaring of lengths, which can easily lead to
+ |dimension too large| errors. The library tries to account for large
+ numbers by appropriate normalization, such that it works in most cases, but
+ errors may still occur.
+\end{key}
+
+\begin{codeexample}[]
+\begin{tikzpicture}[bezier bounding box=true]
+ \draw (0,0) .. controls (-1,1) and (1,2) .. (2,0);
+ \draw (current bounding box.south west) rectangle
+ (current bounding box.north east);
+\end{tikzpicture}
+\end{codeexample}
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "pgfmanual-pdftex-version"
+%%% End:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
index 6d1f3a3f4f4..5037bef78b9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
@@ -101,7 +101,7 @@ say, the |\draw| command).
arrangement is a bit tricky, it is explained only later on. For the time
being, let us use a predefined arrangement to produce our first calendar:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list];
\end{codeexample}
@@ -116,7 +116,7 @@ say, the |\draw| command).
Specifies the horizontal shift between days. This is not the gap
between days, but the shift between the anchors of their nodes.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list,day xshift=3ex];
\end{codeexample}
\end{key}
@@ -125,7 +125,7 @@ say, the |\draw| command).
Specifies the vertical shift between days. Again, this is the shift
between the anchors of their nodes.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list,day yshift=2ex];
\end{codeexample}
\end{key}
@@ -137,12 +137,12 @@ say, the |\draw| command).
\begin{key}{/tikz/month yshift=\meta{dimension}}
Specifies an additional vertical shift between different months.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-02-last,week list,
month yshift=0pt];
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-02-last,week list,
month yshift=1cm];
\end{codeexample}
@@ -169,7 +169,7 @@ say, the |\draw| command).
the whole matrix. For example, the following calendar is placed in such a
way the center of 2000-01-20 lies on the position $(2,2)$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\matrix [anchor=cal-2000-01-20.center] at (2,2)
@@ -195,7 +195,7 @@ say, the |\draw| command).
day. The default is to create a node with an appropriate name, but you
can change this:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list,
day code={\fill[blue] (0,0) circle (2pt);}];
\end{codeexample}
@@ -217,7 +217,7 @@ say, the |\draw| command).
been named |mycal|, then the node containing the |1| for this date will
be names |mycal-2006-01-01|. You can later reference this node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\begin{tikzpicture}
\calendar (mycal) [dates=2000-01-01 to 2000-01-31,week list];
@@ -231,7 +231,7 @@ say, the |\draw| command).
macro simply yields the current day of month, but you can change it
arbitrarily. Here is a silly example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list,
day text=x];
\end{codeexample}
@@ -255,7 +255,7 @@ say, the |\draw| command).
Let us redefine the |day text| so that it yields the day with a leading
zero:
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[leave comments,preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list,
day text=\%d0];
\end{codeexample}
@@ -266,7 +266,7 @@ say, the |\draw| command).
|every day| style is useful for changing the way days look. For
example, let us make all days red:
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[leave comments,preamble={\usetikzlibrary{calendar}}]
\tikz[every day/.style=red]
\calendar[dates=2000-01-01 to 2000-01-31,week list];
\end{codeexample}
@@ -280,7 +280,7 @@ say, the |\draw| command).
per month or year and this is not done by default. Rather, special styles
starting with |month label| place these labels and make them visible:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-02-last,week list,
month label above centered];
\end{codeexample}
@@ -305,7 +305,7 @@ say, the |\draw| command).
default, the month text is a long textual presentation of the current
month being typeset.
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[leave comments,preamble={\usetikzlibrary{calendar}}]
\tikz \calendar[dates=2000-01-01 to 2000-01-31,week list,
month label above centered,
month text=\textcolor{red}{\%mt} \%y-];
@@ -385,7 +385,7 @@ say, the |\draw| command).
Let us now have a look at some examples. First, we use a conditional to
make all Sundays red.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar
[dates=2000-01-01 to 2000-01-31,week list]
@@ -394,7 +394,7 @@ say, the |\draw| command).
%
Next, let us do something on a specific date:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar
[dates=2000-01-01 to 2000-01-31,week list]
@@ -407,7 +407,7 @@ say, the |\draw| command).
|base east| anchor, which shifts the label up and right. To overcome this
problem we can change the anchor:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz [every day/.style={anchor=mid}]
\calendar
[dates=2000-01-01 to 2000-01-31,week list]
@@ -496,7 +496,7 @@ this, we simply shift the coordinate system downward at the end of the code for
each day. This shift must be \emph{outside} the day scope as we want day shifts
to accumulate. Thus, we use the following code:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-01 to 2000-01-08,
execute after day scope=
@@ -523,7 +523,7 @@ beginning of the day scope or before. Either will work fine, but it might be
safer to put the code inside the scope to ensure that settings to not
inadvertently ``leak outside''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar
[dates=2000-01-01 to 2000-01-08,
@@ -555,7 +555,7 @@ at the beginning. To position each day correctly, we use code inside and at the
beginning of the day scope to horizontally shift the day according to its day
of week.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar
[dates=2000-01-01 to 2000-01-20,
@@ -583,7 +583,7 @@ by its day of month. Furthermore, we must additionally shift the day to ensure
that the first day of the month lies on the correct day of week column. For
this, we remember this day of week the first time we see it.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\newcount\mycount
\tikz
\calendar
@@ -610,7 +610,7 @@ this, we remember this day of week the first time we see it.
\subsection{Arrangements}
An \emph{arrangement} specifies how the days of calendar are arranged on the
-page. The calendar library defines a number of predefined arrangements.
+page. The |calendar| library defines a number of predefined arrangements.
We start with arrangements in which the days are listed in a long line.
@@ -619,7 +619,7 @@ We start with arrangements in which the days are listed in a long line.
The shift between days is given by |day yshift|. Between month an
additional shift of |month yshift| is added.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list downward,month yshift=1em];
@@ -630,7 +630,7 @@ We start with arrangements in which the days are listed in a long line.
\begin{stylekey}{/tikz/day list upward}
Works as above, only the list grows upward instead of downward.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list upward,month yshift=1em];
@@ -643,7 +643,7 @@ We start with arrangements in which the days are listed in a long line.
Instead of |day yshift| and |month yshift|, the values of |day xshift| and
|month xshift| are used.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list right,month xshift=1em];
@@ -675,12 +675,12 @@ The next arrangement lists days by the week.
additional vertical space of |month yshift| is added. If this is set to
|0pt| you get a continuous list of days.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-01 to 2000-02-last,week list];
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-01 to 2000-02-last,week list,
month yshift=0pt];
@@ -701,7 +701,7 @@ The following arrangement gives a very compact view of a whole year.
does not start with a Monday, its days are shifted to the right such that
the days lie on the correct columns.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\sffamily\scriptsize
\tikz
\calendar [dates=2000-01-01 to 2000-12-31,
@@ -730,7 +730,7 @@ labels:
position is chosen ``as if'' the month had started on a Monday -- which is
usually exactly what you want.)
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list downward,month yshift=1em,
@@ -743,7 +743,7 @@ labels:
This style works like the above style, only the label is rotated
counterclockwise by 90 degrees.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list downward,month yshift=1em,
@@ -758,7 +758,7 @@ labels:
the right of the first day, for a week list it is to the right of the first
week, and for a month list it is to the right of the whole month.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list downward,month yshift=1em,
@@ -770,7 +770,7 @@ labels:
\begin{stylekey}{/tikz/month label right vertical}
Works as above, only the label is rotated clockwise by 90 degrees.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list downward,month yshift=1em,
@@ -785,14 +785,14 @@ labels:
raised is fixed to |1.25em|; use the |yshift| option with the month node to
modify this.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-28 to 2000-02-03,
day list right,month xshift=1em,
month label above left];
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-20 to 2000-02-10,
week list,month label above left];
@@ -804,13 +804,13 @@ labels:
Works as above, only the label is centered above the row containing the
first day.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-02-01 to 2000-02-last,
day list right,month label above centered];
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-20 to 2000-02-10,
week list,month label above centered];
@@ -821,7 +821,7 @@ labels:
\begin{stylekey}{/tikz/month label above right}
Works as above, but flushed right
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-01-20 to 2000-02-10,
week list,month label above right];
@@ -834,7 +834,7 @@ labels:
row. This placement is not really useful with the |week list| arrangement,
but rather with the |day list right| or |month list| arrangement.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-02-01 to 2000-02-last,
day list right,month label below left];
@@ -845,7 +845,7 @@ labels:
\begin{stylekey}{/tikz/month label below centered}
Works like |month label above centered|, only below.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\tikz
\calendar [dates=2000-02-01 to 2000-02-last,
day list right,month label below centered];
@@ -863,7 +863,10 @@ Let us start with a year-2100-countdown, in which we cross out dates as we
approach the big celebration. For this, we set the shape to |strike out| for
these dates.
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[
+ leave comments,
+ preamble={\usetikzlibrary{calendar,shapes.misc}},
+]
\begin{tikzpicture}
\calendar
[
@@ -882,7 +885,10 @@ current date. The last three days before the deadline are in red, because we
really should be done by then. All days on which we can no longer work on the
project are crossed out.
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[
+ leave comments,
+ preamble={\usetikzlibrary{calendar,shapes.misc}},
+]
\begin{tikzpicture}
\calendar
[
@@ -904,7 +910,7 @@ project are crossed out.
The following example is a futuristic calendar that is all about circles:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calendar}}]
\sffamily
\colorlet{winter}{blue}
@@ -952,7 +958,7 @@ The following example is a futuristic calendar that is all about circles:
Next, let's us have a whole year in a tight column:
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[leave comments,preamble={\usetikzlibrary{calendar}}]
\begin{tikzpicture}
\small\sffamily
\colorlet{darkgreen}{green!50!black}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
index da838741519..1dc247866fb 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
@@ -74,7 +74,7 @@ The first step toward creating a chain is to use the |start chain| option.
Other than this, this key has no further effect. In particular, to place
nodes on the chain, you must use the |on chain| option, described next.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain]
% The chain is called just "chain"
\node [on chain] {A};
@@ -83,7 +83,7 @@ The first step toward creating a chain is to use the |start chain| option.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains,scopes}}]
\begin{tikzpicture}
% Same as above, using the scope shorthand
{ [start chain]
@@ -94,7 +94,7 @@ The first step toward creating a chain is to use the |start chain| option.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain=1 going right,
start chain=2 going below,
node distance=5mm,
@@ -123,7 +123,7 @@ The first step toward creating a chain is to use the |start chain| option.
first is to change the direction of a chain as it is being constructed. For
this, just give this option somewhere inside the scope of the chain.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain=going right,node distance=5mm]
\node [draw,on chain] {Hello};
\node [draw,on chain] {World};
@@ -136,7 +136,7 @@ The first step toward creating a chain is to use the |start chain| option.
The second application is to reactivate a chain after it ``has already been
closed down''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains,scopes}}]
\begin{tikzpicture}[node distance=5mm,
every node/.style=draw]
{ [start chain=1]
@@ -231,7 +231,7 @@ The first step toward creating a chain is to use the |start chain| option.
to |\tikzchainprevious| and |\tikzchaincount| for doing your
positioning calculations.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain=circle placed {at=(\tikzchaincount*30:1.5)}]
\foreach \i in {1,...,10}
\node [on chain] {\i};
@@ -252,7 +252,7 @@ The first step toward creating a chain is to use the |start chain| option.
the right of the previous one, spaced by the current value of
|node distance|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain,node distance=5mm]
\node [draw,on chain] {};
\node [draw,on chain] {Hallo};
@@ -263,7 +263,7 @@ The first step toward creating a chain is to use the |start chain| option.
The optional \meta{direction} allows us to temporarily change the direction
in the middle of a chain:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain,node distance=5mm]
\node [draw,on chain] {Hello};
\node [draw,on chain] {World};
@@ -275,7 +275,7 @@ The first step toward creating a chain is to use the |start chain| option.
You can also use more complicated computations in the \meta{direction}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain=going {at=(\tikzchainprevious),shift=(30:1)}]
\draw [help lines] (0,0) grid (3,2);
\node [draw,on chain] {1};
@@ -326,7 +326,7 @@ process.
In particular, it is possible to continue to path after a |\chainin|
command, though that does not seem very useful.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[node distance=5mm,
every node/.style=draw,every join/.style=->]
\draw [help lines] (0,0) grid (3,2);
@@ -347,7 +347,7 @@ process.
connected using a chain
%
{\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains,matrix,scopes,shapes.geometric}}]
\begin{tikzpicture}[every node/.style=draw]
\matrix [matrix of nodes,column sep=5mm,row sep=5mm]
{
@@ -391,7 +391,7 @@ process.
order to connect it to several nodes. This is especially useful for joining
in branches, see the next section.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains}}]
\begin{tikzpicture}[start chain,node distance=5mm,
every join/.style={->,red}]
\node [draw,on chain,join] {};
@@ -438,7 +438,7 @@ described.
to the fork node.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains,scopes}}]
\begin{tikzpicture}[every on chain/.style=join,every join/.style=->,
node distance=2mm and 1cm]
{ [start chain=trunk]
@@ -473,7 +473,7 @@ described.
chain}|/|\meta{branch name} is used as the chain name, rather than just
\meta{branch name}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{chains,scopes}}]
\begin{tikzpicture}[every on chain/.style=join,every join/.style=->,
node distance=2mm and 1cm]
{ [start chain=trunk]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
index c211fa49ca4..f4fe43c28ed 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
@@ -22,11 +22,23 @@ logical circuits. There is not a single library for this, but a whole hierarchy
of libraries that work in concert. The main design goal was to create a balance
between ease-of-use and ease-of-extending, while creating high-quality
graphical representations of circuits.
+%
+\begin{codeexample}[setup code,hidden]
+\tikzset{
+ % from `shape` library
+ shape example/.style= {color = black!30,
+ draw,
+ fill = yellow!30,
+ line width = .5cm,
+ inner xsep = 2.5cm,
+ inner ysep = 0.5cm}
+}
+\end{codeexample}
\subsubsection{A First Example}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,x=3cm,y=2cm,semithick,
every info/.style={font=\footnotesize},
small circuit symbols,
@@ -72,12 +84,13 @@ graphical representations of circuits.
\end{tikzpicture}
\end{codeexample}
-An important feature of the circuit library is that the appearance of a circuit
-can be configured in general ways and that the labels are placed automatically
-by default. Here is the graphic once more, generated from \emph{exactly the
-same source code}, with only the options of the |{tikzpicture}| environment
-replaced by |[rotate=-90,circuit ee IEC,x=3.25cm,y=2.25cm]|:
-
+An important feature of the |circuits| library is that the appearance of a
+circuit can be configured in general ways and that the labels are placed
+automatically by default. Here is the graphic once more, generated from
+\emph{exactly the same source code}, with only the options of the
+|{tikzpicture}| environment replaced by
+|[rotate=-90,circuit ee IEC,x=3.25cm,y=2.25cm]|:
+%
\begin{tikzpicture}[rotate=-90,circuit ee IEC,x=3cm,y=2.25cm]
% Let us start with some contacts:
\foreach \contact/\y in {1/1,2/2,3/3.5,4/4.5,5/5.5}
@@ -173,7 +186,7 @@ Here is an overview of the different kinds of circuit libraries:
the above library, you can change which symbol graphics are
used ``on the fly''.
\end{itemize}
- \item The \tikzname-library |cirucits.ee| defines keys for symbols from
+ \item The \tikzname-library |circuits.ee| defines keys for symbols from
electrical engineering like resistors or capacitors. Again,
sublibraries define the actual symbol graphics.
%
@@ -203,7 +216,7 @@ appropriate symbol graphic for rendering an |and gate|. Using the
|circuit logic IEC| instead will set up |and gate| to use another symbol
graphic.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.US}}]
\begin{tikzpicture}[circuit logic US]
\matrix[column sep=7mm]
{
@@ -223,7 +236,7 @@ graphic.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\begin{tikzpicture}[circuit logic IEC]
\matrix[column sep=7mm]
{
@@ -255,7 +268,7 @@ diode'', there is just one |diode| symbol, but you can add the |light emitting|
annotation to it. This is done by passing the annotation as a parameter to the
symbol as in the following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\draw (0,0) to [diode={light emitting}] (3,0)
to [resistor={adjustable}] (3,2);
@@ -290,7 +303,7 @@ symbol as in the following example:
Note, that it is still possible to overwrite the size of any particular
symbol. These settings apply only to the default sizes.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC]
\draw (0,1) to [resistor] (3.5,1);
\draw[circuit symbol unit=14pt]
@@ -326,7 +339,7 @@ symbol as in the following example:
value. Thus, this option can be used with a node command to set the size of
the node as a multiple of the circuit symbol unit.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC]
\draw (0,1) to [resistor] (2,1) to[inductor] (4,1);
@@ -373,7 +386,7 @@ symbol as in the following example:
This key gets graphic options as parameter that will be set when a symbol
|foo| should be shown:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits}}]
\begin{tikzpicture}
[circuit declare symbol=foo,
set foo graphic={draw,shape=rectangle,minimum size=5mm}]
@@ -458,14 +471,14 @@ symbol as in the following example:
node. Another effect is that you can use this key multiple times on a path
to add several node to a path, provided they do not overlap.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits}}]
\begin{tikzpicture}[circuit]
\draw (0,0) to [circuit handle symbol={draw,shape=rectangle,near start},
circuit handle symbol={draw,shape=circle,near end}] (3,2);
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits}}]
\begin{tikzpicture}[transform shape,circuit]
\draw (0,0) to [circuit handle symbol={draw,shape=rectangle,at start},
circuit handle symbol={draw,shape=circle,near end}] (3,2);
@@ -488,7 +501,7 @@ of achieving such rotations:
like this: \tikz[circuit ee IEC]\node[inductor]{};) is automatically
rotated around:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\draw (3,0) to[inductor] (1,0) to[inductor] (0,2);
\end{codeexample}
@@ -503,7 +516,7 @@ of achieving such rotations:
\begin{key}{/tikz/point up}
This is the same as |rotate=90|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \node [diode,point up] {};
\end{codeexample}
\end{key}
@@ -511,7 +524,7 @@ of achieving such rotations:
\begin{key}{/tikz/point down}
This is the same as |rotate=-90|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \node [diode,point down] {};
\end{codeexample}
\end{key}
@@ -519,7 +532,7 @@ of achieving such rotations:
\begin{key}{/tikz/point left}
This is the same as |rotate=-180|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \node [diode,point left] {};
\end{codeexample}
\end{key}
@@ -527,7 +540,7 @@ of achieving such rotations:
\begin{key}{/tikz/point right}
This key has no effect.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \node [diode,point right] {};
\end{codeexample}
\end{key}
@@ -558,7 +571,7 @@ that are especially useful in conjunction with circuits.
The \meta{options} and \meta{angle} are passed directly to the |label|
command.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,every info/.style=red]
\node [resistor,info=$3\Omega$] {};
\end{tikzpicture}
@@ -570,7 +583,7 @@ that are especially useful in conjunction with circuits.
Hint: To place some text \emph{on} the main node, use |center| as the
\meta{angle}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,every info/.style=red]
\node [resistor,info=center:$3\Omega$] {};
\node [resistor,point up,info=center:$R_1$] at (2,0) {};
@@ -587,7 +600,7 @@ that are especially useful in conjunction with circuits.
you get a label below the node. In case the node has been rotated, the
positions of the info nodes are rotated accordingly.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,every info/.style=red]
\draw (0,0) to[resistor={info={$3\Omega$},info'={$R_1$}}] (3,0)
to[resistor={info={$4\Omega$},info'={$R_2$}}] (3,2);
@@ -600,7 +613,7 @@ that are especially useful in conjunction with circuits.
This key works like |info|, only the |transform shape| option is set when
the label is drawn, causing it to follow the sloping of the main node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,every info/.style=red]
\draw (0,0) to[resistor={info sloped={$3\Omega$}}] (3,0)
to[resistor={info sloped={$4\Omega$}}] (3,2);
@@ -612,7 +625,7 @@ that are especially useful in conjunction with circuits.
\begin{key}{/tikz/info' sloped=}
This is a combination of |info'| and |info sloped|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,every info/.style=red]
\draw (0,0) to[resistor={info' sloped={$3\Omega$}}] (3,0)
to[resistor={info' sloped={$4\Omega$}}] (3,2);
@@ -642,7 +655,7 @@ that are especially useful in conjunction with circuits.
is used internally, by changing the |every info| style, you can change the
appearance of all units infos.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC,circuit declare unit={my ohm}{O}]
\draw (0,0) to[resistor={my ohm' sloped=3}] (3,2);
\end{tikzpicture}
@@ -709,7 +722,13 @@ Annotations can be declared using the following key:
{8pt}
{(0pt,8pt) arc (-270:80:3.5pt)}
}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{circuits.ee.IEC}}
+ pre={\tikzset{circuit declare annotation=
+ {circular annotation}
+ {8pt}
+ {(0pt,8pt) arc (-270:80:3.5pt)}
+}}]
\tikz[circuit ee IEC]
\draw (0,0) to [resistor={circular annotation}] (3,0);
\end{codeexample}
@@ -719,7 +738,7 @@ Annotations can be declared using the following key:
node an nothing else. This path is not drawn or filled, so we do not see
anything. What we must do is to use an |edge| path operation:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikzset{circuit declare annotation={circular annotation}{9pt}
{(0pt,8pt) edge[to path={arc(-270:80:3.5pt)}] ()}
}
@@ -738,7 +757,12 @@ Annotations can be declared using the following key:
\tikzset{circuit declare annotation={circular annotation}{9pt}
{(0pt,8pt) edge[to path={arc (-270:80:3.5pt)}] ()}
}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}
+ pre={\tikzset{circuit declare annotation=
+ {circular annotation}
+ {8pt}
+ {(0pt,8pt) arc (-270:80:3.5pt)}
+}}]
\tikz[circuit ee IEC]
\draw (0,0) to [resistor={circular annotation,ohm=5}] (2,0)
to [resistor={circular annotation={ohm=5}}] (4,0);
@@ -765,7 +789,7 @@ the symbol. You can modify this graphical representation in several ways:
For instance, in the following picture the symbols are ridiculously
thick and resistors are red.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
[circuit ee IEC,
every circuit symbol/.style={ultra thick},
@@ -784,7 +808,7 @@ the symbol. You can modify this graphical representation in several ways:
some area. For instance, the IEC version of a resistor is an open
symbol.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC,
circuit symbol open/.style={thick,draw,fill=yellow}]
\draw (0,0) to [inductor] ++(right:3) to [resistor] ++(up:2);
@@ -801,7 +825,7 @@ the symbol. You can modify this graphical representation in several ways:
This style is used with symbols that consist only of lines that do
not surround anything. Examples are a capacitor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC,
circuit symbol lines/.style={thick,draw=red}]
\draw (0,0) to [capacitor] ++(right:3) to [resistor] ++(up:2);
@@ -818,7 +842,7 @@ the symbol. You can modify this graphical representation in several ways:
Compare
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC,circuit symbol lines/.style={draw,very thick}]
\draw (0,0) to [capacitor={near start},
make contact={near end}] (3,0);
@@ -826,7 +850,7 @@ the symbol. You can modify this graphical representation in several ways:
%
to
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC,circuit symbol wires/.style={draw,very thick}]
\draw (0,0) to [capacitor={near start},
make contact={near end}] (3,0);
@@ -864,7 +888,7 @@ graphic; for instance, there are two variants for the resistor graphic in the
IEC library. In this case you can set the graphic for the resistor to this
variant (or back to the original) by saying |set resistor graphic| yourself:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[circuit ee IEC]
% Standard resistor
\draw (0,2) to [resistor] (3,2);
@@ -923,7 +947,7 @@ graphical representations of the symbols declared in the following library:
Since the |circuits.logic| library does not define any actual graphics, you need
to use one of the following libraries, instead:
-\begin{pgflibrary}{circuits.logic.IEC}
+\begin{tikzlibrary}{circuits.logic.IEC}
This library provides graphics based on gates recommended by the
International Electrotechnical Commission. When you include this library,
you can use the following key to set up a scope that contains a logical
@@ -938,7 +962,7 @@ to use one of the following libraries, instead:
appearance. These keys are called |and gate IEC graphic|,
|or gate IEC graphic|, and so on.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\begin{tikzpicture}[circuit logic IEC,
every circuit symbol/.style={
logic gate IEC symbol color=black,
@@ -961,9 +985,9 @@ to use one of the following libraries, instead:
\end{tikzpicture}
\end{codeexample}
\end{key}
-\end{pgflibrary}
+\end{tikzlibrary}
-\begin{pgflibrary}{circuits.logic.US}
+\begin{tikzlibrary}{circuits.logic.US}
This library provides graphics showing ``American'' logic gates. It defines
the following key:
@@ -977,7 +1001,7 @@ set and gate graphic = and gate US graphic
Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.CDH}}]
\begin{tikzpicture}[circuit logic CDH,
tiny circuit symbols,
every circuit symbol/.style={
@@ -1000,9 +1024,9 @@ set and gate graphic = and gate US graphic
\end{tikzpicture}
\end{codeexample}
\end{key}
-\end{pgflibrary}
+\end{tikzlibrary}
-\begin{pgflibrary}{circuits.logic.CDH}
+\begin{tikzlibrary}{circuits.logic.CDH}
This library provides graphics based on the logic symbols used in A. Croft,
R. Davidson, and M. Hargreaves (1992), \emph{Engineering Mathematics},
Addison-Wesley, 82--95. They are identical to the US-style symbols, except
@@ -1013,7 +1037,7 @@ set and gate graphic = and gate US graphic
nand-gates, that is, it uses |set and gate graphic| with
|and gate CDH graphic| and likewise for nand-gates.
\end{key}
-\end{pgflibrary}
+\end{tikzlibrary}
Inside |circuit logic XYZ| scopes, you can now use the keys shown in
Section~\ref{section-logic-symbols}. We have a more detailed look at one of
@@ -1025,11 +1049,11 @@ them, all the other work the same way:
dictated by the which circuit environment is used. To further configure the
appearance of the |and gate|, see Section~\ref{section-theming-symbols}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\tikz [circuit logic IEC] \node [and gate] {$A$};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.US}}]
\tikz [circuit logic US]
{
\node [and gate,point down] {$A$};
@@ -1055,7 +1079,7 @@ them, all the other work the same way:
supports one input the anchor is simply called |input| with no
numerical index.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\begin{tikzpicture}[circuit logic IEC]
\node[and gate,inputs={inini}] (A) {};
\foreach \a in {1,...,5}
@@ -1133,7 +1157,7 @@ Let us begin with the base library that defines the handling of inputs.
supports one input the anchor is simply called |input| with no
numerical index.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\begin{tikzpicture}[minimum height=0.75cm]
\node[and gate IEC, draw, logic gate inputs={inverted, normal, inverted}]
(A) {};
@@ -1150,7 +1174,7 @@ Let us begin with the base library that defines the handling of inputs.
\emph{without the commas}. So, for example, |ini| is equivalent to
|inverted, normal, inverted|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.US}}]
\begin{tikzpicture}[minimum height=0.75cm]
\node[or gate US, draw,logic gate inputs=inini] (A) {};
\foreach \a in {1,...,5}
@@ -1176,7 +1200,7 @@ Let us begin with the base library that defines the handling of inputs.
This is also the radius of the circle used for the inverted output of
the |nand|, |nor|, |xnor| and |not| gates.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.CDH}}]
\begin{tikzpicture}[minimum height=0.75cm]
\tikzset{every node/.style={shape=nand gate CDH, draw, logic gate inputs=ii}}
\node[logic gate inverted radius=2pt] {A};
@@ -1190,7 +1214,7 @@ Let us begin with the base library that defines the handling of inputs.
Set the distance between the \emph{centers} of the inputs to the logic
gate.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\begin{tikzpicture}[minimum size=0.75cm]
\draw [help lines] grid (3,2);
\tikzset{every node/.style={shape=and gate IEC, draw, logic gate inputs=ini}}
@@ -1235,7 +1259,7 @@ Let us begin with the base library that defines the handling of inputs.
by shape basis: whether the bounding box is used is determined by value
of this key when the anchor is accessed.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.US}}]
\begin{tikzpicture}[minimum height=1.5cm]
\node[xnor gate US, draw, gray!50,line width=2pt] (A) {};
\foreach \x/\y/\z in {false/blue/1pt, true/red/2pt}
@@ -1274,7 +1298,7 @@ Let us begin with the base library that defines the handling of inputs.
this gate with two non-inverted inputs (using the normal compass point
anchors) are shown below. Anchor |30| is an example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.US}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=nand gate US,shape example, inner sep=0cm,
@@ -1376,7 +1400,7 @@ Let us begin with the base library that defines the handling of inputs.
node and the outer edge of the symbol is determined by the values of
the |inner xsep| and |inner ysep|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.gates.logic.IEC}}]
\begin{tikzpicture}[minimum size=1cm, use IEC style logic gates]
\tikzset{every node/.style={nor gate, draw}}
\node (A) at (0,1.5) {};
@@ -1418,7 +1442,7 @@ Let us begin with the base library that defines the handling of inputs.
gate with two inverted inputs are shown below. Anchor |30| is an
example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.logic.IEC}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=nand gate IEC ,shape example, inner xsep=1cm, inner ysep=1cm,
@@ -1503,7 +1527,7 @@ later sections.
When used with a node, it will cause this node to ``look like'' a resistor
(by default, in the IEC library, this is just a simple rectangle).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\node [resistor] {};
\end{codeexample}
@@ -1512,7 +1536,7 @@ later sections.
in |node [resistor] {foo}|). Instead, the labeling of resistors should be
done using the |label|, |info| and |ohm| options.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\node [resistor,ohm=5] {};
\end{codeexample}
@@ -1521,7 +1545,7 @@ later sections.
with a normal node, you can just as well given them to the |node| itself.
Thus, the following has the same effect as the above example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\node [resistor={ohm=5}] {};
\end{codeexample}
@@ -1531,7 +1555,7 @@ later sections.
useful. They are just shorthands for appropriate rotations like
|rotate=90|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] {
\node (R1) [resistor,point up,ohm=5] at (3,1) {};
\node (R2) [resistor,ohm=10k] at (0,0) {};
@@ -1561,7 +1585,7 @@ later sections.
resistor node on the path, you can use it to add labels to the node. Here
is a simple example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\draw (0,0) to [resistor=red] (3,0)
to [resistor={ohm=2\mu}] (3,2);
@@ -1594,21 +1618,21 @@ predefined units are listed in Section~\ref{section-circuits-units}.
you get $\mathrm{5k\Omega}$, |ohm=5p| yields $\mathrm{5p\Omega}$, and
|ohm=5.6\cdot 10^{2}\mu| yields $\mathrm{5.6\cdot 10^{2}\mu\Omega}$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \draw (0,0) to [resistor={ohm=5M}] (0,2);
\end{codeexample}
Instead of |ohm| you can also use |ohm'|, which places the label on the
other side.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \draw (0,0) to [resistor={ohm'=5M}] (0,2);
\end{codeexample}
Finally, there are also keys |ohm sloped| and |ohm' sloped| for having the
info label rotate together with the main node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
\draw (0,0) to [resistor={ohm sloped=5M}] (0,2)
(2,0) to [resistor={ohm' sloped=6f}] (2,2);
@@ -1627,7 +1651,7 @@ Section~\ref{section-circuits-annotations}.
node. It causes some drawings (in this case, two parallel lines) to be
placed next to the node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC] \draw (0,0) to [diode=light emitting] (2,0);
\end{codeexample}
@@ -1644,7 +1668,7 @@ Section~\ref{section-circuits-annotations}.
been changed to accommodate for the space taken up by the
annotation.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz [circuit ee IEC]
{
\draw (0,2) to [diode={light emitting,info=not good}] (2,2);
@@ -1925,7 +1949,7 @@ automatically. Usually, you will not need to use these shapes directly.
The anchors of this shape are just the compass anchors, which lie on a
rectangle whose width and height are the above-computed height and width.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\pgfsetarrowoptions{direction ee}{6cm}
\node[name=s,shape=direction ee,shape example,minimum height=0.7654*6cm] {};
@@ -1939,7 +1963,7 @@ automatically. Usually, you will not need to use these shapes directly.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}[direction ee arrow=angle 45]
\node[name=s,shape=direction ee,shape example,minimum height=1.75cm] {};
\foreach \anchor/\placement in {north/above, south/below,
@@ -1982,7 +2006,7 @@ automatically. Usually, you will not need to use these shapes directly.
%
Here is an examples of how to use this shape:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz \node [generic circle IEC,
/pgf/generic circle IEC/before background={
\pgfpathmoveto{\pgfpointorigin}
@@ -2002,7 +2026,7 @@ automatically. Usually, you will not need to use these shapes directly.
rectangle around the diode, see the below example. The diode's size is
based on the current settings of |minimum width| and |minimum height|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\node[name=s,shape=generic diode IEC,shape example,minimum size=6cm] {};
\foreach \anchor/\placement in
@@ -2032,7 +2056,7 @@ automatically. Usually, you will not need to use these shapes directly.
The idea is that you use this key to draw different kinds of diode
endings.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz \node [minimum size=1cm,generic diode IEC,
/pgf/generic diode IEC/before background={
\pgfpathmoveto{\pgfqpoint{-.5pt}{-1pt}}
@@ -2053,7 +2077,7 @@ automatically. Usually, you will not need to use these shapes directly.
size is based on the current settings of |minimum width| and
|minimum height|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\node[name=s,shape=breakdown diode IEC,shape example,minimum width=6cm,minimum height=4cm] {};
\foreach \anchor/\placement in
@@ -2082,7 +2106,7 @@ automatically. Usually, you will not need to use these shapes directly.
All of this means that, in general, the shape should be much wider than
high.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\node[name=s,shape=var resistor IEC,shape example,minimum width=7cm,minimum height=1cm] {};
\foreach \anchor/\placement in
@@ -2108,7 +2132,7 @@ automatically. Usually, you will not need to use these shapes directly.
|minimum height|. The |center| of the shape is just above the |south|
anchor, at a distance of the |outer ysep|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\node[name=s,shape=inductor IEC,shape example,minimum width=7cm,minimum height=1cm] {};
\foreach \anchor/\placement in
@@ -2130,7 +2154,7 @@ automatically. Usually, you will not need to use these shapes directly.
the background path, only the ``left and right lines'' that make up the
rectangle are drawn.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\node[name=s,shape=capacitor IEC,shape example,
minimum width=2cm,minimum height=3cm,inner sep=0pt] {};
@@ -2150,7 +2174,7 @@ automatically. Usually, you will not need to use these shapes directly.
This shape is similar to a |capacitor IEC|, however, the right line is only
half the height of the left line.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz \node[shape=battery IEC,shape example,minimum size=2cm,
inner sep=0pt] {};
\end{codeexample}
@@ -2161,7 +2185,7 @@ automatically. Usually, you will not need to use these shapes directly.
This shape is similar to a |batter IEC|, only three lines of different
heights are drawn.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz \node[shape=ground IEC,shape example,minimum size=2cm,
inner sep=0pt] {};
\end{codeexample}
@@ -2173,7 +2197,7 @@ automatically. Usually, you will not need to use these shapes directly.
right corner. The size and anchors of this shape are computed in the same
way as for an |inductor IEC|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\begin{tikzpicture}
\node[name=s,shape=make contact IEC,shape example,minimum width=3cm,minimum height=1cm] {};
\foreach \anchor/\placement in
@@ -2193,7 +2217,7 @@ automatically. Usually, you will not need to use these shapes directly.
the path at the lower left corner. The radius of this circle is one twelfth
of the width of the node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz \node[shape=var make contact IEC,shape example,
minimum height=1cm,minimum width=3cm,inner sep=0pt] {};
\end{codeexample}
@@ -2204,7 +2228,7 @@ automatically. Usually, you will not need to use these shapes directly.
This shape depicts a contact that can be broken. It works like
|make contact IEC|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{circuits.ee.IEC}}]
\tikz \node[shape=break contact IEC,shape example,
minimum height=1cm,minimum width=3cm,inner sep=0pt] {};
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
index 60a4801c7da..9c971d5c91e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
@@ -131,7 +131,7 @@ The following deformations use only straight lines in order to morph the paths.
This decoration is actually always defined when the decoration module is
loaded, but it is documented here for consistency.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations}}]
\begin{tikzpicture}[decoration=lineto]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -155,7 +155,7 @@ The following deformations use only straight lines in order to morph the paths.
|zigzag| decorations.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration={straight zigzag,meta-segment length=1.1cm}]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -177,7 +177,7 @@ The following deformations use only straight lines in order to morph the paths.
$[-d,d]$, where $d$ is the value of |amplitude|.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
[decoration={random steps,segment length=2mm}]
\draw [help lines] grid (3,2);
@@ -198,7 +198,7 @@ The following deformations use only straight lines in order to morph the paths.
\item |segment length| determines the length each spike.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=saw]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -219,7 +219,7 @@ The following deformations use only straight lines in order to morph the paths.
cycle.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=zigzag]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -246,14 +246,14 @@ The following deformations use only straight lines in order to morph the paths.
Note that this decoration makes only little sense for curves. You should
apply it only to straight lines.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=bent]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1) -- (1.5,2) -- (0,1);
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration={bent,aspect=.3}]
\draw [decorate,fill=yellow!80!black] (0,0) rectangle (3.5,2);
\node[circle,draw] (A) at (.5,.5) {A};
@@ -274,7 +274,7 @@ The following deformations use only straight lines in order to morph the paths.
\item |segment length| determines the width of the half ellipse.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=bumps]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -303,7 +303,7 @@ The following deformations use only straight lines in order to morph the paths.
default, means ``look more from the front''.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=coil]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -311,7 +311,7 @@ The following deformations use only straight lines in order to morph the paths.
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
[decoration={coil,aspect=0.3,segment length=3mm,amplitude=3mm}]
\draw [help lines] grid (3,2);
@@ -332,7 +332,7 @@ The following deformations use only straight lines in order to morph the paths.
This decoration is mostly useful in conjunction with meta-decorations. It
is also actually defined in the decoration module and is always available.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=curveto]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -352,7 +352,7 @@ The following deformations use only straight lines in order to morph the paths.
\item |segment length| determines the sine wave's wavelength.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}[decoration=snake]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black]
@@ -388,7 +388,7 @@ The following deformations use only straight lines in order to morph the paths.
the path.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}[decoration=border]
\draw [help lines] grid (3,2);
\draw [postaction={decorate,draw,red}]
@@ -410,7 +410,7 @@ The following deformations use only straight lines in order to morph the paths.
``middle part'' of the brace will be.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}[decoration=brace]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1);
@@ -430,7 +430,7 @@ The following deformations use only straight lines in order to morph the paths.
Thus, the total opening angle is twice this angle.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}[decoration={expanding waves,angle=5}]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1) arc (0:180:1.5 and 1);
@@ -458,7 +458,7 @@ The following deformations use only straight lines in order to morph the paths.
\item |amplitude| determines half the length of the ticks.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}[decoration=ticks]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1) arc (0:180:1.5 and 1);
@@ -479,7 +479,7 @@ The following deformations use only straight lines in order to morph the paths.
\item |radius| determines the radius of each arc.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}[decoration={waves,radius=4mm}]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1) arc (0:180:1.5 and 1);
@@ -494,7 +494,7 @@ The following deformations use only straight lines in order to morph the paths.
Typically, each segment will be replaced with another path, but this need
not necessarily be the case.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}[>=stealth, every node/.style={midway, sloped, font=\tiny},
decoration={show path construction,
moveto code={
@@ -565,8 +565,8 @@ The following deformations use only straight lines in order to morph the paths.
The second support on the curveto input segment path.
\end{command}
%
-{\tikzexternaldisable
-\begin{codeexample}[]
+{\ifpgfmanualexternalize\tikzexternaldisable\fi
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing,shapes.misc}}]
\tikzset{
show curve controls/.style={
decoration={
@@ -642,7 +642,7 @@ with the most general and most useful of these libraries.
Let us start with the above example in real code:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={
markings,% switch on markings
mark=% actually add a mark
@@ -661,7 +661,7 @@ with the most general and most useful of these libraries.
We can also add the cross repeatedly:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={
markings,% switch on markings
mark=% actually add a mark
@@ -681,7 +681,7 @@ with the most general and most useful of these libraries.
The |mark| decoration option is used to specify a marking. It comes in two
versions:
%
- \begin{key}{/pgf/decoration/mark=\texttt{at position} \meta{pos}| with |\meta{code}}
+ \begin{key}{/pgf/decoration/mark=\texttt{at position }\meta{pos}\texttt{ with }\meta{code}}
The options specifies that when a |marking| decoration is applied,
there should be a marking at position \meta{pos} on the path whose code
is given by \meta{code}.
@@ -721,7 +721,7 @@ with the most general and most useful of these libraries.
not allowed (and will result in chaos) to have a marking that lies
earlier on the path to follow a marking that is later on the path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={
markings,% switch on markings
mark=at position 1cm with \node[red]{1cm};,
@@ -736,7 +736,7 @@ with the most general and most useful of these libraries.
Here is an example that shows how markings can be used to place text on
plots:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[domain=0:4,label/.style={postaction={
decorate,
decoration={
@@ -774,10 +774,7 @@ with the most general and most useful of these libraries.
A second way to use the |mark| key is the following:
%
- \begin{key}{/pgf/decoration/mark=|between positions|
- \meta{start pos} |and| \meta{end pos} |step|
- \meta{stepping} |with| \meta{code}%
- }
+ \begin{key}{/pgf/decoration/mark=\texttt{between positions }\meta{start pos}\texttt{ and }\meta{end pos}\texttt{ step }\meta{stepping}\texttt{ with }\meta{code}}
This works similarly to the |at position| version of this option, only
multiple marks are placed, starting at \meta{start pos} and then spaced
apart by \meta{stepping}. The \meta{start pos}, the \meta{end pos}, and
@@ -789,7 +786,7 @@ with the most general and most useful of these libraries.
a path starting with the beginning of the path ($\meta{start pos} = 0$)
and ending at the end ($\meta{end pos} = 1$).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={markings,
mark=between positions 0 and 1 step 0.1
with { \draw (-2pt,-2pt) -- (2pt,2pt);
@@ -803,7 +800,7 @@ with the most general and most useful of these libraries.
crosses. Note the use of the |transform shape| option to ensure that
the nodes are actually rotated.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings,shapes.arrows}}]
\begin{tikzpicture}[decoration={markings,
mark=between positions 0 and 1 step 1cm
with { \node [single arrow,fill=red,
@@ -817,7 +814,7 @@ with the most general and most useful of these libraries.
even refer to them later on.
%
% FIXME: the automatic key highlighting fails here!
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={markings,
mark=between positions 0 and 1 step 1cm with {
\node [draw,
@@ -833,7 +830,7 @@ with the most general and most useful of these libraries.
In the following example we use the distance info to place ``length
information'' on a path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={markings,
% Main marks
mark=between positions 0 and 1 step 40pt with
@@ -880,7 +877,7 @@ with the most general and most useful of these libraries.
Here are two examples that show how this works:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={markings,
mark connection node=my node,
mark=at position .5 with
@@ -890,7 +887,7 @@ with the most general and most useful of these libraries.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={markings,
mark connection node=my node,
mark=at position .25 with
@@ -917,7 +914,7 @@ executed. (They are only defined in this code):
The \meta{options} can only be given when \tikzname\ is used. In this case,
they are executed in a scope that contains the arrow tip.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={
markings,% switch on markings
mark=at position 1cm with {\node[red]{1cm};},
@@ -930,7 +927,8 @@ executed. (They are only defined in this code):
\end{codeexample}
Here is a more useful example:
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings}}]
\begin{tikzpicture}[decoration={
markings,% switch on markings
mark=between positions 0 and .75 step 4mm with {\arrow{stealth}},
@@ -960,7 +958,7 @@ executed. (They are only defined in this code):
The footprint decoration adds little footprints around the path. They start
with the left foot.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.footprints}}]
\begin{tikzpicture}[decoration={footprints,foot length=5pt,stride length=10pt}]
\draw [help lines] grid (3,3);
\fill [decorate] (0,0) -- (3,2) arc (0:180:1.5 and 1);
@@ -974,7 +972,7 @@ executed. (They are only defined in this code):
The length or size of the footprint itself. A larger value makes the
footprint larger, but does not change the stride length.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.footprints}}]
\begin{tikzpicture}[decoration={footprints,foot length=20pt}]
\fill [decorate] (0,0) -- (3,0);
\end{tikzpicture}
@@ -985,7 +983,7 @@ executed. (They are only defined in this code):
The length of strides. This is the distance between the beginnings of
left footprints along the path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.footprints}}]
\begin{tikzpicture}[decoration={footprints,stride length=50pt}]
\fill [decorate] (0,0) -- (3,0);
\end{tikzpicture}
@@ -996,7 +994,7 @@ executed. (They are only defined in this code):
The separation in the middle between the footprints. The footprints are
moved away from the path by half this amount.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.footprints}}]
\begin{tikzpicture}[decoration={footprints,foot sep=10pt}]
\fill [decorate] (0,0) -- (3,0);
\end{tikzpicture}
@@ -1006,7 +1004,7 @@ executed. (They are only defined in this code):
\begin{key}{/pgf/decoration/foot angle (initially 10)}
Footprints are rotated by this much.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.footprints}}]
\begin{tikzpicture}[decoration={footprints,foot angle=60}]
\fill [decorate] (0,0) -- (3,0);
\end{tikzpicture}
@@ -1072,7 +1070,7 @@ shapes. This library is included mostly for historical reasons, using the
\item |shape width| determines the width of each cross.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\begin{tikzpicture}[decoration=crosses]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1) arc (0:180:1.5 and 1);
@@ -1093,7 +1091,7 @@ shapes. This library is included mostly for historical reasons, using the
\item |shape width| determines the width of the triangle.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\begin{tikzpicture}[decoration=triangles]
\draw [help lines] grid (3,2);
\draw [decorate,fill=yellow!80!black] (0,0) -- (3,1) arc (0:180:1.5 and 1);
@@ -1115,14 +1113,14 @@ shapes. This library is included mostly for historical reasons, using the
size of the text box (like the arrow shapes).} If any of these restrictions
pose a problem, use the |markings| library instead.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes,shapes.geometric}}]
\begin{tikzpicture}[decoration={shape backgrounds,shape=star,shape size=5pt}]
\draw [help lines] grid (3,2);
\draw [decorate] (0,0) -- (3,1) arc (0:180:1.5 and 1);
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes,shapes.geometric}}]
\tikzset{paint/.style={ draw=#1!50!black, fill=#1!50 },
decorate with/.style=
{decorate,decoration={shape backgrounds,shape=#1,shape size=2mm}}}
@@ -1144,7 +1142,7 @@ shapes. This library is included mostly for historical reasons, using the
A shape background path is added at the start point of the path and, if the
distance between the shapes is appropriate, at the end point of the path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes,shapes.geometric}}]
\begin{tikzpicture}[decoration={
shape backgrounds,shape=regular polygon,shape size=4mm}]
\draw [help lines] grid (3,2);
@@ -1165,7 +1163,7 @@ shapes. This library is included mostly for historical reasons, using the
|inner sep| and |minimum size| will be ignored, but transformations can be
applied to each segment as described below.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes,shapes.geometric}}]
\tikzset{
paint/.style={draw=#1!50!black, fill=#1!50},
my star/.style={decorate,decoration={shape backgrounds,shape=star},
@@ -1192,7 +1190,7 @@ shapes. This library is included mostly for historical reasons, using the
shapes or between the edges of the \emph{boundaries} of the shape
borders.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes,shapes.symbols}}]
\begin{tikzpicture}[
decoration={shape backgrounds,shape size=.5cm,shape=signal},
signal from=west, signal to=east,
@@ -1218,7 +1216,7 @@ shapes. This library is included mostly for historical reasons, using the
distance between shapes is determined. These keywords will only have a
noticeable effect if the shapes sizes differ over time.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\tikzset{
paint/.style={draw=#1!50!black, fill=#1!50},
spreading/.style={
@@ -1243,7 +1241,7 @@ shapes. This library is included mostly for historical reasons, using the
Internally this sets the \TeX-if |\ifpgfshapedecorationsloped|
accordingly.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes,shapes.geometric}}]
\tikzset{
paint/.style={draw=#1!50!black, fill=#1!50}
}
@@ -1265,7 +1263,7 @@ shapes. This library is included mostly for historical reasons, using the
shapes are scaled:
\begin{key}{/pgf/decoration/shape scaled=\meta{boolean} (initially false)}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\tikzset{
bigger/.style={decoration={shape start size=.125cm, shape end size=.5cm}},
smaller/.style={decoration={shape start size=.5cm, shape end size=.125cm}},
@@ -1301,7 +1299,7 @@ shapes. This library is included mostly for historical reasons, using the
that a shape will take only if it is drawn exactly at the end of the
path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\tikzset{
bigger/.style={decoration={shape start size=.25cm, shape end size=1cm}},
smaller/.style={decoration={shape start size=1cm, shape end size=.25cm}},
@@ -1346,7 +1344,7 @@ shapes. This library is included mostly for historical reasons, using the
the decoration is done. This is why no line is shown in the following
example.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\catcode`\|12
\begin{tikzpicture}[decoration={text along path,
text={Some long text along a ridiculously long curve that}}]
@@ -1397,7 +1395,7 @@ shapes. This library is included mostly for historical reasons, using the
codes of delimiters -- see below).
%
{\catcode`\|12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\catcode`\|12
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -1412,7 +1410,7 @@ shapes. This library is included mostly for historical reasons, using the
added to any existing formatting.
%
{\catcode`\|12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\path [decorate,decoration={text along path,
@@ -1438,7 +1436,7 @@ shapes. This library is included mostly for historical reasons, using the
the specified format commands are added to any existing ones, you
should avoid using |+| as a delimiter.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\path [decorate, decoration={text along path,text format delimiters={[}{]},
@@ -1457,7 +1455,7 @@ shapes. This library is included mostly for historical reasons, using the
This key reverses the path. This is especially useful for typesetting
text along different sides of curves.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [gray, ->]
@@ -1480,7 +1478,7 @@ shapes. This library is included mostly for historical reasons, using the
Aligns the text according to \meta{alignment}, which should be one of
|left|, |right|, or |center|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [red, dashed]
@@ -1521,7 +1519,7 @@ shapes. This library is included mostly for historical reasons, using the
(i.e., the automaton would have to shift \emph{backwards} between
characters) this key will have no effect.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [red, dashed]
@@ -1538,7 +1536,7 @@ shapes. This library is included mostly for historical reasons, using the
forward only for space characters (including |\space|, but
\emph{excluding} |\ |).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [red, dashed]
@@ -1556,7 +1554,7 @@ shapes. This library is included mostly for historical reasons, using the
options (such as |text|, |scale| and |opacity|) can be used to create `text
effects'.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text,math}}]
\bfseries\large
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!}, text align=center,
@@ -1572,8 +1570,8 @@ shapes. This library is included mostly for historical reasons, using the
\end{tikzpicture}
\end{codeexample}
- There are some important differences between this decoration and the |text
- along path| decoration:
+ There are some important differences between this decoration and the
+ |text along path| decoration:
%
\begin{itemize}
\item formatting (e.g., font and color) cannot be specified in the
@@ -1606,7 +1604,7 @@ shapes. This library is included mostly for historical reasons, using the
separated by a \emph{word separator}. This, however, does not mean that you
are limited to using only natural language as the decoration text.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={000-001-010-011-100-101-110-111},
text effects/.cd,
@@ -1620,7 +1618,7 @@ shapes. This library is included mostly for historical reasons, using the
In addition, it is possible to replace characters with \tikzname\ code:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={000-001-010-011-100-101-110-111}, text align=center,
text effects/.cd,
@@ -1664,7 +1662,7 @@ shapes. This library is included mostly for historical reasons, using the
horizontally fit each node to the character it contains, reducing the
spacing between characters).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!}}]
@@ -1741,7 +1739,7 @@ shapes. This library is included mostly for historical reasons, using the
\begin{key}{/pgf/decoration/text effects/character widths=\marg{effects}}
Shorthand for the |every character width| style.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!}, text align=center,
text effects/.cd,
@@ -1765,7 +1763,7 @@ shapes. This library is included mostly for historical reasons, using the
\begin{key}{/pgf/decoration/text effects/character count=\meta{macro}}
Store the number of the character being typeset in \meta{macro}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1783,7 +1781,7 @@ shapes. This library is included mostly for historical reasons, using the
\meta{macro}. This key can be used with the |character count| key to
produce some quite pleasing effects:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text,math}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1802,7 +1800,7 @@ shapes. This library is included mostly for historical reasons, using the
character in the word) in \meta{macro}. Numbering starts at |1| and the
character acting as a word separator is numbered |0|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1825,7 +1823,7 @@ shapes. This library is included mostly for historical reasons, using the
\meta{macro} takes the number of the previous word. If the decoration
text starts with a word separator \meta{macro} will be |0|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1850,7 +1848,7 @@ shapes. This library is included mostly for historical reasons, using the
This key enables \meta{effects} to be applied to every character in the
decoration text that is specified in \meta{characters}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={Falsches {\"U}ben von Xylophonmusik qu{\"a}lt jeden gr{\"o}{\ss}eren Zwerg},
text effects/.cd,
@@ -1870,7 +1868,7 @@ shapes. This library is included mostly for historical reasons, using the
path was actually a straight line starting from the given point. This
`virtual' straight line is then decorated with the text.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1888,7 +1886,7 @@ shapes. This library is included mostly for historical reasons, using the
line that is used as the decorated path is rotated by \meta{angle}
around the starting point.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1905,7 +1903,7 @@ shapes. This library is included mostly for historical reasons, using the
This key will make the decoration increase the space between characters
so that the entire path is used by the decoration.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/every character/.style={text along path}}]
@@ -1924,7 +1922,7 @@ shapes. This library is included mostly for historical reasons, using the
This key will make the decoration scale the text so that the entire
path is used by the decoration.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/every character/.style={text along path}}]
@@ -1944,7 +1942,7 @@ shapes. This library is included mostly for historical reasons, using the
useful if using `right-to-left` languages. Unfortunately, any leading
`soft' spaces in the original text will be lost.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1964,7 +1962,7 @@ shapes. This library is included mostly for historical reasons, using the
Alternatively, to get the numbering to follow the reversed text, it is
possible to reverse the path and then invert the scale:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -1984,7 +1982,7 @@ shapes. This library is included mostly for historical reasons, using the
Group sequences of letters together so they are treated as a single
`character'.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -2004,7 +2002,7 @@ shapes. This library is included mostly for historical reasons, using the
The order in which the |reverse text| and |group letters| keys are applied
is important:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -2031,7 +2029,7 @@ shapes. This library is included mostly for historical reasons, using the
decoration starts. If any of these options are given the behaviour of
the |repeat text| key is undefined, but typically it will be ignored.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!\ },
text effects/.cd,
@@ -2051,7 +2049,7 @@ shapes. This library is included mostly for historical reasons, using the
which takes one argument. The argument will be a macro which when
expanded will contain the current character.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\def\mycommand#1{#1$_\n$}
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
@@ -2075,7 +2073,7 @@ shapes. This library is included mostly for historical reasons, using the
with the |every character| or |every letter| styles) will also be
applied to \meta{code}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text effects along path,
text={text effects along path!},
text effects/.cd,
@@ -2105,7 +2103,7 @@ shapes. This library is included mostly for historical reasons, using the
repeatedly applying this replacement, different levels of the Koch curve
fractal can be created. Its Hausdorff dimension is $\log 5/\log 3$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals}}]
\begin{tikzpicture}[decoration=Koch curve type 1]
\draw decorate{ (0,0) -- (3,0) };
\draw decorate{ decorate{ (0,-1.5) -- (3,-1.5) }};
@@ -2119,7 +2117,7 @@ shapes. This library is included mostly for historical reasons, using the
This decoration replaces a straight line by a ``rectangular sine''. Its
Hausdorff dimension is $3/2$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals}}]
\begin{tikzpicture}[decoration=Koch curve type 2]
\draw decorate{ (0,0) -- (3,0) };
\draw decorate{ decorate{ (0,-2) -- (3,-2) }};
@@ -2133,7 +2131,7 @@ shapes. This library is included mostly for historical reasons, using the
This decoration replaces a straight line by a ``line with a spike''. The
Hausdorff dimension of Koch's snowflake's is $\log 4/\log 3$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals}}]
\begin{tikzpicture}[decoration=Koch snowflake]
\draw decorate{ (0,0) -- (3,0) };
\draw decorate{ decorate{ (0,-1) -- (3,-1) }};
@@ -2148,7 +2146,7 @@ shapes. This library is included mostly for historical reasons, using the
This decoration replaces a straight line by a ``line with a gap in the
middle''. The Hausdorff dimension of the Cantor set is $\log 2/\log 3$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals}}]
\begin{tikzpicture}[decoration=Cantor set,very thick]
\draw decorate{ (0,0) -- (3,0) };
\draw decorate{ decorate{ (0,-.5) -- (3,-.5) }};
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
index 09666becea4..08cb5934af9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
@@ -129,7 +129,7 @@ this curve looks can be influenced via a number of options.
If no \meta{angle} is given, the last given |bend left| or |bend right|
angle is used.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{automata,positioning}}]
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid]
\node[state,initial] (q_0) {$q_0$};
\node[state] (q_1) [right=of q_0] {$q_1$};
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
index 691d4e1d790..28939c1a5c3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
@@ -34,7 +34,7 @@ The package defines a simple style for drawing entities:
and a class in object-oriented programming). If this bothers you, feel free
to define a style |entity type| instead.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er,positioning}}]
\begin{tikzpicture}
\node[entity] (sheep) {Sheep};
\node[entity] (genome) [right=of sheep] {Genome};
@@ -47,7 +47,7 @@ The package defines a simple style for drawing entities:
This style is evoked by the style |entity|. To change the appearance of
entities, you can change this style.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er,positioning}}]
\begin{tikzpicture}
[every entity/.style={draw=blue!50,fill=blue!20,thick}]
\node[entity] (sheep) {Sheep};
@@ -67,7 +67,7 @@ entities.
This style works like |entity|, only it is to be used for relationships.
Again, |relationship|s are actually relationship types.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er}}]
\begin{tikzpicture}
\node[entity] (sheep) at (0,0) {Sheep};
\node[entity] (genome) at (2,0) {Genome};
@@ -82,7 +82,7 @@ entities.
\begin{stylekey}{/tikz/every relationship}
Works like |every entity|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er}}]
\begin{tikzpicture}
[every entity/.style={fill=blue!20,draw=blue,thick},
every relationship/.style={fill=orange!20,draw=orange,thick,aspect=1.5}]
@@ -104,7 +104,7 @@ entities.
attribute to its entity, you can use, for example, the |child| command or
the |pin| option.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er}}]
\begin{tikzpicture}
\node[entity] (sheep) {Sheep}
child {node[attribute] {name}}
@@ -112,7 +112,7 @@ entities.
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er}}]
\begin{tikzpicture}[every pin edge/.style=draw]
\node[entity,pin={[attribute]60:name},pin={[attribute]120:color}] {Sheep};
\end{tikzpicture}
@@ -130,7 +130,7 @@ entities.
This style is used with every attribute, and therefore also for every key
attribute.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{er}}]
\begin{tikzpicture}
[text depth=1pt,
every attribute/.style={fill=black!20,draw=black},
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
index db97f4400e1..e96a27c470d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
@@ -18,7 +18,7 @@
{\noindent {\emph{by Christian Feuersänger}}}
\begin{tikzlibrary}{external}
- This library provides a high-level automatic or semi--automatic export
+ This library provides a high-level automatic or semi-automatic export
feature for \tikzname\ pictures. Its purpose is to convert each picture to
a separate \pdf\ without changing the document as such.
@@ -268,7 +268,7 @@ support for a) is unavailable for versions up to and including \pgfname\ 3.0.1.
Note that |\pageref| is not supported (sorry).
Point b) works as follows: a |\label| inside of an externalized graphics
- causes the external library to generate separate auxiliary files for every
+ causes the |external| library to generate separate auxiliary files for every
external image. These files are called \meta{imagename}|.dpth|. The
extension |.dpth| indicates that the file also contains the image's depth
(the |baseline| key of \tikzname). Furthermore, anything which would have
@@ -461,7 +461,7 @@ pdflatex -shell-escape main
\begin{command}{\tikzexternalfiledependsonfile\marg{external graphics}\marg{file name}}
A variant of |\tikzpicturedependsonfile| which adds a dependency for an
\meta{external graphics}. The argument \meta{external graphics} must be the
- path as it would have been generated by the external library, i.e.\ without
+ path as it would have been generated by the |external| library, i.e.\ without
file extension but including any prefixes.
\end{command}
@@ -596,7 +596,7 @@ pdflatex -shell-escape main
What happens if you change ``My comment'' to ``My super comment''? Well,
|external| will \emph{not} pick it up; you will need to handle this
manually. However, if you modify anything between |\begin{tikzpicture}| and
- |\end{tikzpicture}|, the external library \emph{will} pick it up and
+ |\end{tikzpicture}|, the |external| library \emph{will} pick it up and
regenerate the picture.
The |up to date check| is applied for |mode=convert with system call| and
@@ -606,7 +606,7 @@ pdflatex -shell-escape main
\begin{command}{\tikzexternaldisable}
Allows to disable the complete externalization. While |export next| will
still collect the contents of picture environments, this command uninstalls
- the hooks for the external library completely. Thus, nested picture
+ the hooks for the |external| library completely. Thus, nested picture
environments or environments where |\end{tikzpicture}| is not directly
reachable won't produce compilation failures -- although it is not possible
to externalize them automatically.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
index 1e0fbbd8f25..d528a2a4e8b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
@@ -38,7 +38,7 @@ When you load this library, the following options become available:
fit these points again in a circular node. Note how the circle encompasses
exactly the same bounding box.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fit}}]
\begin{tikzpicture}[inner sep=0pt,thick,
dot/.style={fill=blue,circle,minimum size=3pt}]
\draw[help lines] (0,0) grid (3,2);
@@ -92,7 +92,7 @@ When you load this library, the following options become available:
Suppose, for instance, that in the above example we want the word ``box''
to appear inside the box, but at its top. This can be achieved as follows:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fit}}]
\begin{tikzpicture}[inner sep=0pt,thick,
dot/.style={fill=blue,circle,minimum size=3pt}]
\draw[help lines] (0,0) grid (3,2);
@@ -109,7 +109,7 @@ When you load this library, the following options become available:
Here is a real-life example that uses fitting:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fit,shapes.geometric}}]
\begin{tikzpicture}
[vertex/.style={minimum size=2pt,fill,draw,circle},
open/.style={fill=none},
@@ -144,7 +144,7 @@ When you load this library, the following options become available:
This key fits \meta{coordinates or nodes} inside a node that is rotated by
\meta{angle}. As a side effect, it also sets the |/tikz/rotate| key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fit}}]
\begin{tikzpicture}[inner sep=0pt,thick,
dot/.style={fill=blue,circle,minimum size=3pt}]
\draw[help lines] (0,0) grid (3,2);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
index 238d0c16ad2..968db32b754 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
@@ -86,7 +86,7 @@ Currently there are only a few keys key supported for \meta{options}:
|*| is used at the beginning of an expression the evaluation of the
expression will evaluated and then multiplied by \meta{factor}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{fixedpointarithmetic}}]
\begin{tikzpicture}[fixed point arithmetic={scale results=10^-6}]
\draw [help lines] grid (3,2);
\draw (0,0) -- (2,2);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
index cd9092874c5..7deff0a554d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
@@ -18,7 +18,10 @@
Here is a big example that produces a diagram for a calendar:
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[
+ leave comments,
+ preamble={\usetikzlibrary{calendar,folding}},
+]
\sffamily\scriptsize
\tikz \pic [
transform shape,
@@ -78,7 +81,7 @@ The foldings are sorted by number of faces.
Here is a simple example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [
transform shape,
folding line length=6mm,
@@ -99,7 +102,7 @@ The foldings are sorted by number of faces.
\begin{stylekey}{/tikz/every fold (initially help lines)}
Executed for every line that should be folded.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic[
every cut/.style=red,
every fold/.style=dotted,
@@ -118,7 +121,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{tetrahedron truncated folding}{}
A folding of a truncated tetrahedron.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ tetrahedron truncated folding };
\end{codeexample}
@@ -128,7 +131,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{cube folding}{}
A folding of a cube.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ cube folding };
\end{codeexample}
@@ -138,7 +141,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{cube truncated folding}{}
A folding of a truncated cube.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ cube truncated folding };
\end{codeexample}
@@ -148,7 +151,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{octahedron folding}{}
A folding of an octahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ octahedron folding };
\end{codeexample}
@@ -158,7 +161,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{octahedron folding}{}
A folding of a truncated octahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ octahedron truncated folding };
\end{codeexample}
@@ -168,7 +171,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{dodecahedron folding}{}
A folding of a dodecahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ dodecahedron folding };
\end{codeexample}
@@ -178,7 +181,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{dodecahedron' folding}{}
This is an alternative folding of a dodecahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ dodecahedron' folding };
\end{codeexample}
@@ -188,7 +191,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{cuboctahedron folding}{}
A folding of a cuboctahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ cuboctahedron folding };
\end{codeexample}
@@ -198,7 +201,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{cuboctahedron truncated folding}{}
A folding of a truncated cuboctahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ cuboctahedron truncated folding };
\end{codeexample}
@@ -208,7 +211,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{icosahedron folding}{}
A folding of an icosahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ icosahedron folding };
\end{codeexample}
@@ -218,7 +221,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{rhombicuboctahedron folding}{}
A folding of an rhombicuboctahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ rhombicuboctahedron folding };
\end{codeexample}
@@ -228,7 +231,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{snub cube folding}{}
A folding of a snub cube.
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ snub cube folding };
\end{codeexample}
@@ -238,7 +241,7 @@ The foldings are sorted by number of faces.
\begin{pictype}{icosidodecahedron folding}{}
A folding of an icosidodecahedron.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
\tikz \pic [folding line length=6mm, numbered faces, transform shape]
{ icosidodecahedron folding };
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
index bdc58135ef0..2a46a0a2e5f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
@@ -21,8 +21,8 @@
\begin{pgflibrary}{fpu}
The floating point unit (fpu) allows the full data range of scientific
computing for use in \pgfname. Its core is the \pgfname\ math routines for
- mantissa operations, leading to a reasonable trade--of between speed and
- accuracy. It does not require any third--party packages or external
+ mantissa operations, leading to a reasonable trade-of between speed and
+ accuracy. It does not require any third-party packages or external
programs.
\end{pgflibrary}
@@ -32,7 +32,7 @@
The fpu provides a replacement set of math commands which can be installed in
isolated placed to achieve large data ranges at reasonable accuracy. It
provides at least%
- \footnote{To be more precise, the FPU's exponent is currently a 32 bit
+ \footnote{To be more precise, the FPU's exponent is currently a 32-bit
integer. That means it supports a significantly larger data range than an
IEEE double precision number -- but if a future \TeX\ version may provide
low-level access to doubles, this may change.}%
@@ -56,7 +56,7 @@ by \pgfname.
will be replaced with |\pgfmathfloatadd| and so on. Furthermore, any number
will be parsed with |\pgfmathfloatparsenumber|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{fpu}}]
\pgfkeys{/pgf/fpu}
\pgfmathparse{1+1}\pgfmathresult
\end{codeexample}
@@ -73,7 +73,8 @@ by \pgfname.
such methods as well.
%--------------------------------------------------
-% \begin{codeexample}[]
+% TODOsp: codeexamples: Why is this example commented?
+% \begin{codeexample}[preamble={\usepgflibrary{fpu}}]
% \begin{tikzpicture}
% \fill[red,fpu,/pgf/fpu/scale results=1e-10] (*1.234e10,*1e10) -- (*2e10,*2e10);
% \end{tikzpicture}
@@ -86,7 +87,7 @@ by \pgfname.
It does not hurt to call |fpu=true| or |fpu=false| multiple times.
- Please note that if the |fixed point arithmetics| library of \pgfname\ will
+ Please note that if the |fixedpointarithmetic| library of \pgfname\ will
be activated after the FPU, the FPU will be deactivated automatically.
\end{key}
@@ -97,7 +98,7 @@ by \pgfname.
The predefined choice |float| uses the low-level format used by the FPU.
This is useful for further processing inside of any library.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{fpu}}]
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=float}
\pgfmathparse{exp(50)*42}\pgfmathresult
\end{codeexample}
@@ -106,7 +107,7 @@ by \pgfname.
\meta{mantissa}|e|\meta{exponent}. It provides almost no computational
overhead.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{fpu}}]
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=sci}
\pgfmathparse{4.22e-8^-2}\pgfmathresult
\end{codeexample}
@@ -115,7 +116,7 @@ by \pgfname.
highest compatibility with the \pgfname\ engine. It is activated
automatically in case the FPU scales results.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{fpu}}]
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}
\pgfmathparse{sqrt(1e-12)}\pgfmathresult
\end{codeexample}
@@ -151,8 +152,8 @@ by \pgfname.
There are other ways to increase the data range and/or the precision of
\pgfname's math parser. One of them is the |fp| package, preferable combined
-with \pgfname's |fixed point arithmetic| library. The differences between the
-FPU and |fp| are:
+with \pgfname's |fixedpointarithmetic| library. The differences between the FPU
+and |fp| are:
%
\begin{itemize}
\item The FPU supports at least the complete IEEE double precision number
@@ -357,7 +358,7 @@ Flags: \F; Mantissa \M; Exponent \E
\item[5] for $-\infty$.
\end{description}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fpu}}]
\pgfmathfloatparsenumber{42}
\pgfmathfloatifflags{\pgfmathresult}{0}{It's zero!}{It's not zero!}
\pgfmathfloatifflags{\pgfmathresult}{1}{It's positive!}{It's not positive!}
@@ -650,12 +651,12 @@ been activated -- it is sufficient to load the library.
$\meta{x} \le 0$), |\pgfmathresult| will be \emph{empty}, no error message
will be generated.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fpu}}]
\pgfmathlog{1.452e-7}
\pgfmathresult
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fpu}}]
\pgfmathlog{6.426e+8}
\pgfmathresult
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
index c46b8ed5f53..7d83ccb75fd 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
@@ -25,7 +25,10 @@ executed.
In \pgfname, L-systems can be used to create simple 2-dimensional fractal
patterns\ldots
%
-\begin{codeexample}[pre={\expandafter\let\csname pgf@lsystem@Koch curve\endcsname=\relax}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{lindenmayersystems}},
+ pre={\expandafter\let\csname pgf@lsystem@Koch curve\endcsname=\relax},
+]
\begin{tikzpicture}
\pgfdeclarelindenmayersystem{Koch curve}{
\rule{F -> F-F++F-F}
@@ -39,7 +42,7 @@ patterns\ldots
%
\noindent\ldots and ``plant like'' patterns\ldots
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{lindenmayersystems}}]
\begin{tikzpicture}
\draw [green!50!black, rotate=90]
[l-system={rule set={F -> FF-[-F+F]+[+F-F]}, axiom=F, order=4, step=2pt,
@@ -239,7 +242,10 @@ command:
case |A| and |B|, do not have to have code associated with them. They
simply control the growth of the system.
%
-\begin{codeexample}[pre={\nullfont\expandafter\let\csname pgf@lsystem@Hilbert curve\endcsname=\relax}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{lindenmayersystems}},
+ pre={\nullfont\expandafter\let\csname pgf@lsystem@Hilbert curve\endcsname=\relax},
+]
\pgfdeclarelindenmayersystem{Hilbert curve}{
\symbol{X}{\pgflsystemdrawforward}
\symbol{+}{\pgflsystemturnright} % Explicitly define + and - symbols.
@@ -268,7 +274,7 @@ The following command is used to run an L-system in \pgfname:
This origin will be where the L-system starts. In addition, the relevant
keys should be set appropriately.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{lindenmayersystems}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\pgfset{lindenmayer system/.cd, angle=60, step=2pt}
@@ -352,7 +358,7 @@ not have to keep repeating this path:
drawing (empty symbols can still be used to control the growth of the
system). The rules in \meta{list} should be separated by commas.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{lindenmayersystems}}]
\tikz[rotate=65]\draw [green!60!black] l-system
[l-system={rule set={F -> F[+F]F[-F]}, axiom=F, order=4, angle=25,step=3pt}];
\end{codeexample}
@@ -365,7 +371,7 @@ not have to keep repeating this path:
inside a special (rectangle) node which can be positioned using
\meta{anchor}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{lindenmayersystems}}]
\begin{tikzpicture}[l-system={step=1.75pt, order=5, angle=60}]
\pgfdeclarelindenmayersystem{Sierpinski triangle}{
\symbol{X}{\pgflsystemdrawforward}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
index d090ccae996..4e112adb9d7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
@@ -50,7 +50,7 @@ following command:
that \emph{every statement should end with a semi-colon}. This is likely to
be the most common reason why the |\tikzmath| command fails.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
% Adapted from http://www.cs.northwestern.edu/academics/courses/110/html/fib_rec.html
function fibonacci(\n) {
@@ -82,7 +82,7 @@ In addition to this command the following key is provided:
\begin{key}{/tikz/evaluate={\meta{statements}}}
This key simply executes |\tikzmath{|\meta{statements}|}|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikz[x=0.25cm,y=0.25cm,
evaluate={
int \i, \j;
@@ -96,13 +96,12 @@ In addition to this command the following key is provided:
\foreach \i in {0,...,10}
\foreach \j in {0,...,10}
\fill [red!\a{\i,\j}!yellow] (\i,\j) rectangle ++(1, 1);
-
\end{codeexample}
%
\end{key}
The following sections describe the miniature language that this library
-provides and can be used in the |\tikzmath| command and the |evaluate| key.
+provides and can be used in the |\tikzmath| command and the |evaluate| key.
The language consists only of simple keywords and expressions but the
mini-parser allows you to format code in a reasonably versatile way (much like
the |tikz| parser) except that \emph{all the keywords must be followed by at
@@ -116,7 +115,7 @@ In the simplest case, you will want to evaluate an expression and assign it to
a macro, or a \TeX\ count or dimension register. In this case, use of the
|math| library is straightforward:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\newcount\mycount
\newdimen\mydimen
\tikzmath{
@@ -132,7 +131,7 @@ In addition, \TeX-macros (\emph{not} \TeX\ registers) can be suffixed with an
index, similar to indices in mathematical notation, for example, $x_1$, $x_2$,
$x_3$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
\x1 = 3+4; \x2 = 30+40; \x3 = 300+400;
}
@@ -142,7 +141,7 @@ $x_3$:
The index does not have to be a number. By using braces |{}|, more
sophisticated indices can be created:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
\c{air} = 340; \c{water} = 1435; \c{steel} = 6100;
}
@@ -167,7 +166,7 @@ the following keyword:
Any spaces preceding \meta{expression} are removed, but any trailing spaces
(before the semi-colon) are included.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
let \x = (5*4)+1;
let \c1 = blue;
@@ -196,7 +195,7 @@ keywords shown below. It is important to remember that by telling the |math|
library you want it to do a particular assignment for a variable, it will also
do the same assignment when the variable is indexed.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
integer \x;
\x1 = 3+4; \x2 = 30+40; \x3 = 300+400;
@@ -214,7 +213,7 @@ do the same assignment when the variable is indexed.
\emph{not} \TeX\ registers. In addition the variables should \emph{not} be
indexed.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
integer \x, \y, \z;
\x = 4*5+6;
@@ -249,7 +248,7 @@ following keyword.
|(my node.east)| to be parsed and assigned to \meta{variable} in the form
$x,y$, which can then be used in a |tikzpicture|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
coordinate \c;
\c = (45:10pt);
@@ -261,7 +260,7 @@ following keyword.
performed; the coordinate expression does not have to be surrounded by
|($|\ldots|$)|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
coordinate \c, \d;
\c = (-1,2)+(1,-1);
@@ -277,7 +276,7 @@ following keyword.
the name of \meta{variable} suffixed with |y| (i.e., |\cy|) and is assigned
the $y$ coordinate of |\c|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
coordinate \c;
\c1 = (30:20pt);
@@ -307,7 +306,7 @@ following keyword.
comma, it \emph{must} be surrounded by braces, for example,
|{mod(5, 2)}|.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{math}}]
\tikzmath{
int \x, \v;
\v=1;
@@ -321,7 +320,7 @@ following keyword.
\item Because each item is evaluated, you cannot use \tikzname\
coordinates in \meta{list}.
\item Only single variable assignment is supported.
- \item The ``dots notation'' (e.\,g., |1,2,...,9|) can be used in
+ \item The ``dots notation'' (e.g., |1,2,...,9|) can be used in
\meta{list}, but is not as sophisticated as the \pgfname\
|\foreach| command. In particular, contextual replacement is not
possible.
@@ -330,7 +329,7 @@ following keyword.
|for| statement. This includes the values assigned to the
\meta{variable}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\tikzmath{
int \x, \y;
\y = 0;
@@ -362,7 +361,7 @@ of an expression. In this case the following keyword can be used:
\meta{if-zero-statements} are executed if the expression in
\meta{condition} evaluates to zero.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\begin{tikzpicture}
\tikzmath{
int \x;
@@ -405,7 +404,7 @@ You can add functions by using the following keywords:
Although \meta{definition} can take any statements accepted by |\tikzmath|,
it is not advisable try to define functions inside other functions.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{math}}]
\tikzmath{
function product(\x,\y) {
return \x*\y;
@@ -438,7 +437,7 @@ options. Firstly, the following keyword can be used:
in real programming languages). The \meta{code} is executed inside a \TeX\
group.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{math}}]
\tikzmath{
int \x, \y, \z;
\x = random(2, 5);
@@ -458,7 +457,7 @@ is executed inside a \TeX\ group. Unlike the |print| keyword, the brace
notation can be used in functions so that |tikz| path commands can be safely
executed inside a |tikzpicture|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{math}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\tikzmath{
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
index 5eaed540fa0..1e0e15e49cb 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
@@ -31,7 +31,7 @@ typesetting such matrices.
example, if the matrix has the name |my matrix|, then the node in the
upper left cell will get the name |my matrix-1-1|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix (magic) [matrix of nodes]
{
@@ -51,7 +51,7 @@ typesetting such matrices.
\item You can modify, say, the |row 2 column 3| style to pass special
options to this particular cell.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}[row 2 column 3/.style=red]
\matrix [matrix of nodes]
{
@@ -67,7 +67,7 @@ typesetting such matrices.
and the next bar is passed on to the |node| command.
%
{\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of nodes]
{
@@ -86,7 +86,7 @@ typesetting such matrices.
is an extra column skip.
%
{\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of nodes]
{
@@ -103,7 +103,7 @@ typesetting such matrices.
This means that for this particular cell you can provide totally
different contents.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of nodes]
{
@@ -122,7 +122,7 @@ typesetting such matrices.
on in all nodes.
%
{\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of math nodes]
{
@@ -140,7 +140,7 @@ typesetting such matrices.
Normally, empty cells are just, well, empty. The style can be used together
with both a |matrix of nodes| and a |matrix of math nodes|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of math nodes,nodes={circle,draw}]
{
@@ -151,7 +151,7 @@ typesetting such matrices.
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of math nodes,nodes={circle,draw},nodes in empty cells]
{
@@ -206,7 +206,7 @@ indicator; if you want to use it as an end-of-line indicator in a cell, just
put the whole cell in curly braces. The following example illustrates the
difference:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of nodes,nodes={text width=16mm,draw}]
{
@@ -215,7 +215,8 @@ difference:
};
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of nodes,nodes={text width=16mm,draw}]
{
@@ -235,7 +236,7 @@ of braces).
\subsection{Delimiters}
Delimiters are parentheses or braces to the left and right of a formula or a
-matrix. The matrix library offers options for adding such delimiters to a
+matrix. The |matrix| library offers options for adding such delimiters to a
matrix. However, delimiters can actually be added to any node that has the
standard anchors |north|, |south|, |north west| and so on. In particular, you
can add delimiters to any |rectangle| box. They are implemented by ``measuring
@@ -247,7 +248,7 @@ left or right using some after node magic.
|north|, |south| and so on. The \meta{delimiter} can be any delimiter that
is acceptable to \TeX's |\left| command.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of math nodes,left delimiter=(,right delimiter=\}]
{
@@ -258,7 +259,7 @@ left or right using some after node magic.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\node [fill=red!20,left delimiter=(,right delimiter=\}]
{$\displaystyle\int_0^1 x\,dx$};
@@ -273,7 +274,7 @@ left or right using some after node magic.
\begin{stylekey}{/tikz/every left delimiter (initially \normalfont empty)}
This style is additionally executed for every left delimiter.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
[every left delimiter/.style={red,xshift=1ex},
every right delimiter/.style={xshift=-1ex}]
@@ -300,7 +301,7 @@ left or right using some after node magic.
This option allows you to add a delimiter above the node. It is implemented
by rotating a left delimiter.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of math nodes,%
left delimiter=\|,right delimiter=\rmoustache,%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
index 47bc68db890..ea840cb6b3b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
@@ -25,7 +25,7 @@ way: The root concept is placed in the middle of the page and is drawn as a
huge circle, ellipse, or cloud. The related concepts then ``leave'' this root
concept via branch-like tendrils.
-The mindmap library of \tikzname\ produces mindmaps that look a bit different
+The |mindmap| library of \tikzname\ produces mindmaps that look a bit different
from the standard mindmaps: While the big root concept is still a circle,
related concepts are also depicted as (smaller) circles. The related concepts
are linked to the root concept via organic-looking connections. The overall
@@ -48,7 +48,7 @@ is used. This style installs some internal settings.
Use this style with all pictures or at least scopes that contain a mindmap.
It installs a whole bunch of settings that are useful for drawing mindmaps.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz[mindmap,concept color=red!50]
\node [concept] {Root concept}
child[grow=right] {node[concept] {Child concept}};
@@ -61,7 +61,7 @@ is used. This style installs some internal settings.
This style is included by the |mindmap| style. Change this style to add
special settings to your mindmaps.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz[large mindmap,concept color=red!50]
\node [concept] {Root concept}
child[grow=right] {node[concept] {Child concept}};
@@ -121,7 +121,7 @@ The following styles influence how isolated concepts are rendered:
uniform color called |concept color|, see below. Additionally, the style
|every concept| is called.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz[mindmap,concept color=red!50] \node [concept] {Some concept};
\end{codeexample}
@@ -152,7 +152,7 @@ The following styles influence how isolated concepts are rendered:
order to indicate in the code that these concepts are additional, you can
use this style.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}[mindmap,concept color=blue!80]
\node [concept] {Root concept};
\node [extra concept] at (10,0) {extra concept};
@@ -175,7 +175,7 @@ concepts are rendered at the different levels of a tree.
This style is used for the roots of mindmap trees. By adding something to
this, you can change how the root of a mindmap will be rendered.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz
[root concept/.append style={concept color=blue!80,minimum size=3.5cm},
mindmap]
@@ -190,7 +190,7 @@ concepts are rendered at the different levels of a tree.
The |mindmap| style adds this style to the |level 1| style. This means that
the first level children of a mindmap tree will use this style.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz
[root concept/.append style={concept color=blue!80},
level 1 concept/.append style={concept color=red!50},
@@ -225,7 +225,7 @@ concepts are rendered at the different levels of a tree.
Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz[mindmap,concept color=blue!80]
\node [concept] {Root concept}
child[concept color=red,grow=30] {node[concept] {Child concept}}
@@ -235,7 +235,7 @@ concepts are rendered at the different levels of a tree.
In order to have a concept color which changes with the hierarchy level, a
tiny bit of magic is needed:
% FIXME: is this a bug in the software!? The root concept is black!?
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\tikz[mindmap,text=white,
root concept/.style={concept color=blue},
level 1 concept/.append style=
@@ -267,7 +267,7 @@ been drawn. In this case you will want the connection lines to lie
coordinates of the concepts have been determined. In this case you should place
the connecting lines on a background layer as in the following example:
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds,mindmap}}]
\begin{tikzpicture}
[root concept/.append style={concept color=blue!20,minimum size=2cm},
level 1 concept/.append style={sibling angle=45},
@@ -293,7 +293,7 @@ the two nodes that has slightly organic ends. These bars are also used by
default as the edges from parents in the mindmap tree.
For the drawing of the bars a special decoration is used, which is defined in
-the mindmap library:
+the |mindmap| library:
\begin{decoration}{circle connection bar}
This decoration can be used to connect two circles. The start of the
@@ -321,7 +321,7 @@ the mindmap library:
Here is an example that should make this clearer:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}
[decoration={start radius=1cm,end radius=.5cm,amplitude=2mm,angle=30}]
\fill[blue!20] (0,0) circle (1cm);
@@ -336,7 +336,7 @@ the mindmap library:
really useful for drawing. However, if you fill the decorated path only,
and if you use the same color as for the circles, the result is better.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}
[blue!50,decoration={start radius=1cm,
end radius=.5cm,amplitude=2mm,angle=30}]
@@ -357,7 +357,7 @@ the mindmap library:
one or two points (for very large distances you may need line width up to
4pt).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}
[blue!50,decoration={start radius=1cm,
end radius=.5cm,amplitude=2mm,angle=30}]
@@ -381,7 +381,7 @@ the mindmap library:
The |circle connection bar| decoration is a bit complicated to use. Especially
specifying the radii is quite bothersome (the amplitude and the angle can be
-set once and for all). For this reason, the mindmap library defines a special
+set once and for all). For this reason, the |mindmap| library defines a special
to-path that performs the necessary computations for you.
\begin{stylekey}{/tikz/circle connection bar}
@@ -402,7 +402,7 @@ to-path that performs the necessary computations for you.
to-paths.
\end{stylekey}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}[concept color=blue!50,blue!50,outer sep=0pt]
\node (n1) at (0,0) [circle,minimum size=2cm,fill,draw,thick] {};
\node (n2) at (2.5,0) [circle,minimum size=1cm,fill,draw,thick] {};
@@ -420,15 +420,15 @@ to-path that performs the necessary computations for you.
In a mindmap we sometimes want colors to change from one concept color to
another. Then, the connection bar should, ideally, consist of a smooth
transition between these two colors. Getting this right using shadings is a bit
-tricky if you try this ``by hand'', so the mindmap library provides a special
-option for facilitating this procedure.
+tricky if you try this ``by hand'', so the |mindmap| library provides a
+special option for facilitating this procedure.
\begin{key}{/tikz/circle connection bar switch color=|from (|\meta{first color}|) to (|\meta{second color}|)|}
This style works similarly to the |circle connection bar|. The only
difference is that instead of filling the path with a single color a
shading is used.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}[outer sep=0pt]
\node (n1) at (0,0) [circle,minimum size=2cm,fill,draw,thick,red] {};
\node (n2) at (30:2.5) [circle,minimum size=1cm,fill,draw,thick,blue] {};
@@ -459,7 +459,7 @@ color.
Here is an example of a tree built in this way:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}
\path[mindmap,concept color=black,text=white]
node[concept] {Computer Science}
@@ -498,7 +498,7 @@ node.
style |every annotation|, which allows you to change this style in a
convenient fashion.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}
[mindmap,concept color=blue!80,
every annotation/.style={fill=red!20}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
index d714b8fa86e..9c569fba34f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
@@ -26,9 +26,9 @@
\pattern [path fading=west,pattern=checkerboard light gray]
(0,0) rectangle (5cm,2em);
- \pattern [pattern=#1,pattern color=black] (0,0) rectangle +(1.5cm,2em);
- \pattern [pattern=#1,pattern color=blue] (1.75,0) rectangle +(1.5cm,2em);
- \pattern [pattern=#1,pattern color=red] (3.5,0) rectangle +(1.5cm,2em);
+ \pattern [pattern=#1,pattern color=black] (0,0) rectangle +(1.5cm,2em);
+ \pattern [pattern=#1,pattern color=blue] (1.75,0) rectangle +(1.5cm,2em);
+ \pattern [pattern=#1,pattern color=red] (3.5,0) rectangle +(1.5cm,2em);
\end{tikzpicture} \\[1ex]
}
@@ -81,6 +81,7 @@
\patternindexinherentlycolored{crosshatch dots light steel blue}
\end{tabular}
+
\subsection{User-Defined Patterns}
\label{section-library-patterns-meta}
@@ -91,80 +92,81 @@
\end{pgflibrary}
\emph{Caveat:} This library is currently experimental and might change without
-notice. There are some known shortcomings that will hopefully be fixed in the
+notice. There are some known shortcomings that will hopefully be fixed in the
future.
\begin{command}{\pgfdeclarepattern\marg{config}}
- This command is used to declare a new pattern. In contrast to the normal
+ This command is used to declare a new pattern. In contrast to the normal
patterns and in the spirit of |arrows.meta| this command takes a list of
- keys and values to define the pattern. The following keys are available:
- %
-\begin{key}{/pgf/patterns/name=\meta{name}}
- The name of the pattern by which it can be used later on.
-\end{key}
- %
-\begin{key}{/pgf/patterns/type=\meta{type} (default uncolored)}
- The type of the pattern maps to what was called ``form only'' and ``inherently colored'' in the language of the normal patterns.
- The available choices are:
- \begin{itemize}
- \item |uncolored| the pattern will obey the surrounding color.
- \item |colored| the pattern will have an intrinsic color.
- \item |form only| synonym for |uncolored|
- \item |inherently colored| synonym for |colored|
- \end{itemize}
-\end{key}
- %
-\begin{key}{/pgf/patterns/x=\meta{dimension} (default 1cm)}
- Unit vector of the coordinate system in the $x$-direction.
-\end{key}
- %
-\begin{key}{/pgf/patterns/y=\meta{dimension} (default 1cm)}
- Unit vector of the coordinate system in the $y$-direction.
-\end{key}
- %
-\begin{key}{/pgf/patterns/parameters=\meta{comma separated list} (default empty)}
- A list of parameters that are passed to the pattern. This is usually a
- list of TeX macros. It is very important that these macros are fully
- expandable because the values they hold are being used for deduplication in
- the PDF file.
-\end{key}
- %
-\begin{key}{/pgf/patterns/defaults=\meta{comma separated list} (default empty)}
- This list holds default assignments to the parameters passed to the
- pattern. The default keys can then be found under the |/pgf/pattern keys/|
- prefix.
-\end{key}
- %
-\begin{key}{/pgf/patterns/bottom left=\meta{pgfpoint}}
- Bottom left corner of the pattern's bounding box, e.g.\
- |\pgfqpoint{-.1pt}{-.1pt}|.
-\end{key}
- %
-\begin{key}{/pgf/patterns/top right=\meta{pgfpoint}}
- Top right corner of the pattern's bounding box, e.g.\
- |\pgfqpoint{3.1pt}{3.1pt}|.
-\end{key}
- %
-\begin{key}{/pgf/patterns/tile size=\meta{pgfpoint}}
- Width and height of a single of the pattern as a \pgfname\ point
- specification, i.e. the $x$ coordinate is the width and the $y$ coordinate
- is the height, e.g.\ |\pgfqpoint{3pt}{3pt}|.
-\end{key}
- %
-\begin{key}{/pgf/patterns/tile transformation=\meta{pgftransformation} (default empty)}
- A \pgfname\ transformation, e.g.\ |\pgftransformrotate{30}|.
-\end{key}
- %
-\begin{key}{/pgf/patterns/code=\meta{code}}
- The code should be \pgfname\ code than can be protocolled. It should not
- contain any color code or nodes.
-\end{key}
- %
-\begin{key}{/pgf/patterns/set up code=\meta{code} (default empty)}
- This code can be set if parameters have to be preprocessed before the
- actual pattern code can be run.
-\end{key}
+ keys and values to define the pattern. The following keys are available:
+ %
+ \begin{key}{/pgf/patterns/name=\meta{name}}
+ The name of the pattern by which it can be used later on.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/type=\meta{type} (default uncolored)}
+ The type of the pattern maps to what was called ``form only'' and
+ ``inherently colored'' in the language of the normal patterns. The
+ available choices are:
+ %
+ \begin{itemize}
+ \item |uncolored| the pattern will obey the surrounding color.
+ \item |colored| the pattern will have an intrinsic color.
+ \item |form only| synonym for |uncolored|
+ \item |inherently colored| synonym for |colored|
+ \end{itemize}
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/x=\meta{dimension} (default 1cm)}
+ Unit vector of the coordinate system in the $x$-direction.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/y=\meta{dimension} (default 1cm)}
+ Unit vector of the coordinate system in the $y$-direction.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/parameters=\meta{comma separated list} (default empty)}
+ A list of parameters that are passed to the pattern. This is usually a
+ list of \TeX\ macros. It is very important that these macros are fully
+ expandable because the values they hold are being used for
+ deduplication in the PDF file.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/defaults=\meta{comma separated list} (default empty)}
+ This list holds default assignments to the parameters passed to the
+ pattern. The default keys can then be found under the
+ |/pgf/pattern keys/| prefix.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/bottom left=\meta{pgfpoint}}
+ Bottom left corner of the pattern's bounding box, e.g.\
+ |\pgfqpoint{-.1pt}{-.1pt}|.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/top right=\meta{pgfpoint}}
+ Top right corner of the pattern's bounding box, e.g.\
+ |\pgfqpoint{3.1pt}{3.1pt}|.
+ \end{key}
%
+ \begin{key}{/pgf/patterns/tile size=\meta{pgfpoint}}
+ Width and height of a single of the pattern as a \pgfname\ point
+ specification, i.e. the $x$ coordinate is the width and the $y$
+ coordinate is the height, e.g.\ |\pgfqpoint{3pt}{3pt}|.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/tile transformation=\meta{pgftransformation} (default empty)}
+ A \pgfname\ transformation, e.g.\ |\pgftransformrotate{30}|.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/code=\meta{code}}
+ The code should be \pgfname\ code that can be protocolled. It should not
+ contain any color code or nodes.
+ \end{key}
+ %
+ \begin{key}{/pgf/patterns/set up code=\meta{code} (default empty)}
+ This code can be set if parameters have to be preprocessed before the
+ actual pattern code can be run.
+ \end{key}
\end{command}
\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
@@ -213,46 +215,258 @@ future.
\end{tikzpicture}
\end{codeexample}
+There are a couple of predefined \pgfname\ patterns which are similar
+to their normal counterparts.
+
+\begin{pattern}{Lines}
+ The |Lines| pattern replaces the |horizontal lines|, |vertical lines|,
+ |north east lines|, and |north west lines| patterns. Unfortunately, due to
+ the way the old patterns are constructed, namely that they are not simply
+ related to each other by rotation, the |Lines| pattern cannot be used as a
+ drop-in replacement.
+
+ However, the pattern options can be tuned to resemble the other versions
+ closely. The available parameters are:
+ %
+ \begin{key}{/pgf/pattern keys/distance (initially 3pt)}
+ Distance between lines.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/angle (initially 0)}
+ By default the lines are horizontal. The whole pattern is rotated by
+ this angle. The rotation angle is measured in the mathematically
+ positive sense.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/xshift (initially 0pt)}
+ Shifts the whole pattern in $x$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/yshift (initially 0pt)}
+ Shifts the whole pattern in $y$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/line width (initially \string\the\string\pgflinewidth)}
+ Thickness of the lines.
+ \end{key}
+ %
+ The following settings can be used to reproduce the other |... lines|
+ patterns.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\begin{tikzpicture}
+ \draw[pattern={horizontal lines},pattern color=orange]
+ (0,0) rectangle +(1,1);
+ \draw[pattern={Lines[yshift=.5pt]},pattern color=blue]
+ (0,0) rectangle +(1,1);
+
+ \draw[pattern={vertical lines},pattern color=orange]
+ (1,0) rectangle +(1,1);
+ \draw[pattern={Lines[angle=90,yshift=-.5pt]},pattern color=blue]
+ (1,0) rectangle +(1,1);
+
+ \draw[pattern={north east lines},pattern color=orange]
+ (0,1) rectangle +(1,1);
+ \draw[pattern={Lines[angle=45,distance={3pt/sqrt(2)}]},pattern color=blue]
+ (0,1) rectangle +(1,1);
+
+ \draw[pattern={north west lines},pattern color=orange]
+ (1,1) rectangle +(1,1);
+ \draw[pattern={Lines[angle=-45,distance={3pt/sqrt(2)}]},pattern color=blue]
+ (1,1) rectangle +(1,1);
+\end{tikzpicture}
+\end{codeexample}
+ %
+\end{pattern}
+
+\begin{pattern}{Hatch}
+ The |Hatch| pattern replaces the |grid| and |crosshatch| patterns.
+ The |Hatch| pattern without options is a drop-in replacement for the
+ |grid| pattern.
+ %
+ \begin{key}{/pgf/pattern keys/distance (initially 3pt)}
+ Distance between crosses.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/angle (initially 0)}
+ By default the lines are horizontal and vertical. The whole pattern is
+ rotated by this angle. The rotation angle is measured in the
+ mathematically positive sense.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/xshift (initially 0pt)}
+ Shifts the whole pattern in $x$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/yshift (initially 0pt)}
+ Shifts the whole pattern in $y$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/line width (initially \string\the\string\pgflinewidth)}
+ Thickness of the lines.
+ \end{key}
+ %
+ The following settings can be used to reproduce the |grid| and
+ |crosshatch| patterns.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\begin{tikzpicture}
+ \draw[pattern={grid},pattern color=orange]
+ (0,0) rectangle +(1,1);
+ \draw[pattern={Hatch},pattern color=blue]
+ (0,0) rectangle +(1,1);
+
+ \draw[pattern={crosshatch},pattern color=orange]
+ (1,0) rectangle +(1,1);
+ \draw[pattern={Hatch[angle=45,distance={3pt/sqrt(2)},xshift=.1pt]},
+ pattern color=blue] (1,0) rectangle +(1,1);
+\end{tikzpicture}
+\end{codeexample}
+ %
+\end{pattern}
+
+\begin{pattern}{Dots}
+ The |Dots| pattern replaces the |dots| and |crosshatch dots| patterns. The
+ |Dots| pattern without options is a drop-in replacement for the |dots|
+ pattern.
+ %
+ \begin{key}{/pgf/pattern keys/distance (initially 3pt)}
+ Distance between dots.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/angle (initially 0)}
+ By default the lines are arranged on a regular grid. The whole pattern
+ is rotated by this angle. The rotation angle is measured in the
+ mathematically positive sense.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/xshift (initially 0pt)}
+ Shifts the whole pattern in $x$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/yshift (initially 0pt)}
+ Shifts the whole pattern in $y$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/radius (initially 0.5pt)}
+ Radius of the dots.
+ \end{key}
+ %
+ The following settings can be used to reproduce the |dots| and
+ |crosshatch dots| patterns.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\begin{tikzpicture}
+ \draw[pattern={dots},pattern color=orange]
+ (0,0) rectangle +(1,1);
+ \draw[pattern={Dots},pattern color=blue]
+ (0,0) rectangle +(1,1);
+
+ \draw[pattern={crosshatch dots},pattern color=orange]
+ (1,0) rectangle +(1,1);
+ \draw[pattern={Dots[angle=45,distance={3pt/sqrt(2)}]},
+ pattern color=blue] (1,0) rectangle +(1,1);
+\end{tikzpicture}
+\end{codeexample}
+ %
+\end{pattern}
+
+\begin{pattern}{Stars}
+ The |Stars| pattern replaces the |fivepointed stars| and |sixpointed stars|
+ patterns. However, the stars of the |Stars| pattern are constructed in a
+ fundamentally different fashion, so it can't be used as a drop-in
+ replacement.
+ %
+ \begin{key}{/pgf/pattern keys/distance (initially 3mm)}
+ Distance between stars.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/angle (initially 0)}
+ By default the stars are arranged on a regular grid. The whole pattern
+ is rotated by this angle. The rotation angle is measured in the
+ mathematically positive sense.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/xshift (initially 0pt)}
+ Shifts the whole pattern in $x$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/yshift (initially 0pt)}
+ Shifts the whole pattern in $y$-direction (before applying the
+ rotation).
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/radius (initially 1mm)}
+ Outer radius of the enclosing circle of the stars.
+ \end{key}
+ %
+ \begin{key}{/pgf/pattern keys/points (initially 5)}
+ Number of pointy ends of the stars.
+ \end{key}
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\begin{tikzpicture}
+ \draw[pattern={fivepointed stars},pattern color=orange]
+ (0,0) rectangle +(1,1);
+ \draw[pattern={Stars},pattern color=blue]
+ (0,0) rectangle +(1,1);
+
+ \draw[pattern={sixpointed stars},pattern color=orange]
+ (1,0) rectangle +(1,1);
+ \draw[pattern={Stars[points=6]},pattern color=blue]
+ (1,0) rectangle +(1,1);
+\end{tikzpicture}
+\end{codeexample}
+ %
+\end{pattern}
+
+
\begin{command}{\tikzdeclarepattern\marg{config}}
A pattern declared with |\pgfdeclarepattern| can only execute \pgfname\
- code. This command extends the functionality to also allow \tikzname\
- code. All the same keys of |\pgfdeclarepattern| are valid, but some of
+ code. This command extends the functionality to also allow \tikzname\
+ code. All the same keys of |\pgfdeclarepattern| are valid, but some of
them have been overloaded to give a more natural \tikzname\ syntax.
%
-\begin{key}{/tikz/patterns/bottom left=\meta{point}}
- Instead of a \pgfname\ name point, this key takes a \tikzname\ point, e.g.\
- |(-.1,-.1)|.
-\end{key}
+ \begin{key}{/tikz/patterns/bottom left=\meta{point}}
+ Instead of a \pgfname\ name point, this key takes a \tikzname\ point,
+ e.g.\ |(-.1,-.1)|.
+ \end{key}
%
-\begin{key}{/tikz/patterns/top right=\meta{point}}
- Instead of a \pgfname\ name point, this key takes a \tikzname\ point, e.g.\
- |(3.1,3.1)|.
-\end{key}
+ \begin{key}{/tikz/patterns/top right=\meta{point}}
+ Instead of a \pgfname\ name point, this key takes a \tikzname\ point,
+ e.g.\ |(3.1,3.1)|.
+ \end{key}
%
-\begin{key}{/tikz/patterns/tile size=\meta{point}}
- Instead of a \pgfname\ name point, this key takes a \tikzname\ point, e.g.\
- |(3,3)|.
-\end{key}
+ \begin{key}{/tikz/patterns/tile size=\meta{point}}
+ Instead of a \pgfname\ name point, this key takes a \tikzname\ point,
+ e.g.\ |(3,3)|.
+ \end{key}
%
-\begin{key}{/tikz/patterns/tile transformation=\meta{transformation}}
- Instead of a \pgfname\ transformation, this key takes a list of keys and
- value and extracts the resulting transformation from them, e.g.\
- |rotate=30|.
-\end{key}
+ \begin{key}{/tikz/patterns/tile transformation=\meta{transformation}}
+ Instead of a \pgfname\ transformation, this key takes a list of keys
+ and value and extracts the resulting transformation from them, e.g.\
+ |rotate=30|.
+ \end{key}
In addition to the overloaded keys, some new keys have been added.
%
-\begin{key}{/tikz/patterns/bounding box=\meta{point} and \meta{point}}
- This is a shorthand to set the bounding box. It will assign the first
- point to |bottom left| and the second point to |top right|.
-\end{key}
- %
-\begin{key}{/tikz/patterns/infer tile bounding box=\meta{dimension} (default 0pt)}
- Instead of specifying the bounding box by hand, you can ask \tikzname\ to
- infer the size of the bounding box for you. The \meta{dimension} parameter
- is padding that is added around the bounding box.
-\end{key}
+ \begin{key}{/tikz/patterns/bounding box=\meta{point} and \meta{point}}
+ This is a shorthand to set the bounding box. It will assign the first
+ point to |bottom left| and the second point to |top right|.
+ \end{key}
%
+ \begin{key}{/tikz/patterns/infer tile bounding box=\meta{dimension} (default 0pt)}
+ Instead of specifying the bounding box by hand, you can ask \tikzname\
+ to infer the size of the bounding box for you. The \meta{dimension}
+ parameter is padding that is added around the bounding box.
+ \end{key}
\end{command}
\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
@@ -280,7 +494,7 @@ future.
\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
\tikzdeclarepattern{
- name=Stars,
+ name=mystars,
type=uncolored,
bounding box={(-5pt,-5pt) and (5pt,5pt)},
tile size={(\tikztilesize,\tikztilesize)},
@@ -301,49 +515,50 @@ future.
}
\begin{tikzpicture}
- \draw[pattern=Stars,pattern color=blue] (0,0) rectangle ++(2,2);
- \draw[pattern={Stars[points=7,tile size=15pt]}] (2,0) rectangle ++(2,2);
- \draw[pattern={Stars[rotate=45]},pattern color=red] (0,2) rectangle ++(2,2);
- \draw[pattern={Stars[rotate=30,points=4,radius=5pt]}] (2,2) rectangle ++(2,2);
+ \draw[pattern=mystars,pattern color=blue] (0,0) rectangle +(2,2);
+ \draw[pattern={mystars[points=7,tile size=15pt]}] (2,0) rectangle +(2,2);
+ \draw[pattern={mystars[rotate=45]},pattern color=red] (0,2) rectangle +(2,2);
+ \draw[pattern={mystars[rotate=30,points=4,radius=5pt]}] (2,2) rectangle +(2,2);
\end{tikzpicture}
\end{codeexample}
Instead of macros you can also use \pgfname\ keys as parameters, if that is
what you prefer.
+%
\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
\tikzdeclarepattern{
- name=lines,
+ name=mylines,
parameters={
\pgfkeysvalueof{/pgf/pattern keys/size},
\pgfkeysvalueof{/pgf/pattern keys/angle},
\pgfkeysvalueof{/pgf/pattern keys/line width},
},
- bounding box={(-.1pt,-.1pt) and
- (\pgfkeysvalueof{/pgf/pattern keys/size}+.1pt,
- \pgfkeysvalueof{/pgf/pattern keys/size}+.1pt)},
+ bounding box={
+ (0,-0.5*\pgfkeysvalueof{/pgf/pattern keys/line width}) and
+ (\pgfkeysvalueof{/pgf/pattern keys/size},
+ 0.5*\pgfkeysvalueof{/pgf/pattern keys/line width})},
tile size={(\pgfkeysvalueof{/pgf/pattern keys/size},
\pgfkeysvalueof{/pgf/pattern keys/size})},
tile transformation={rotate=\pgfkeysvalueof{/pgf/pattern keys/angle}},
defaults={
size/.initial=5pt,
- angle/.initial=0,
+ angle/.initial=45,
line width/.initial=.4pt,
},
code={
- \draw[line width=\pgfkeysvalueof{/pgf/pattern keys/line width}]
- (0,0) -- (\pgfkeysvalueof{/pgf/pattern keys/size},
- \pgfkeysvalueof{/pgf/pattern keys/size});
- }
+ \draw [line width=\pgfkeysvalueof{/pgf/pattern keys/line width}]
+ (0,0) -- (\pgfkeysvalueof{/pgf/pattern keys/size},0);
+ },
}
\begin{tikzpicture}
- \draw[pattern={lines[size=10pt,line width=.8pt,angle=10]},
+ \draw[pattern={mylines[size=10pt,line width=.8pt,angle=10]},
pattern color=red] (0,0) rectangle ++(2,2);
- \draw[pattern={lines[size= 5pt,line width=.8pt,angle=40]},
+ \draw[pattern={mylines[size= 5pt,line width=.8pt,angle=40]},
pattern color=blue] (2,0) rectangle ++(2,2);
- \draw[pattern={lines[size=10pt,line width=.4pt,angle=90]},
+ \draw[pattern={mylines[size=10pt,line width=.4pt,angle=90]},
pattern color=green] (0,2) rectangle ++(2,2);
- \draw[pattern={lines[size= 2pt,line width= 1pt,angle=70]},
+ \draw[pattern={mylines[size= 2pt,line width= 1pt,angle=70]},
pattern color=orange] (2,2) rectangle ++(2,2);
\end{tikzpicture}
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
index 61ed10179ec..3d5c9b127f4 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
@@ -1,3 +1,4 @@
+
\section{Three Point Perspective Drawing Library}
\noindent\emph{by Max Snippe}
@@ -7,6 +8,7 @@
vanishing points.
\end{tikzlibrary}
+
\subsection{Coordinate Systems}
\begin{coordinatesystem}{three point perspective}
@@ -32,6 +34,7 @@
coordinate system.
\end{coordinatesystem}
+
\subsection{Setting the view}
\begin{key}{/tikz/3d view=\marg{azimuth}\marg{elevation}
@@ -74,7 +77,8 @@
For example, when both \meta{azimuth} and \meta{elevation} are 0$^\circ$,
$+z$ will be pointing upward, and $+x$ will be pointing right. The default is
as shown below.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[3d view]
\draw[->] (-1,0,0) -- (1,0,0) node[pos=1.1]{x};
\draw[->] (0,-1,0) -- (0,1,0) node[pos=1.1]{y};
@@ -88,7 +92,8 @@
|isometric view| style. It simply sets |3d view={-45}{35.26}|. The value for
\meta{elevation} is determined with $\arctan(1/\sqrt{2})$. In isometric
projection the angle between any pair of axes is 120$^\circ$, as shown below.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[isometric view]
\draw[->] (-1,0,0) -- (1,0,0) node[pos=1.1]{x};
\draw[->] (0,-1,0) -- (0,1,0) node[pos=1.1]{y};
@@ -97,8 +102,14 @@
\end{codeexample}
\end{stylekey}
+
\subsection{Defining the perspective}
+In this section, the following example cuboid will be used with various
+scaling. As a reference, the axes will be shown too, without perspective
+projection.
+%
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\newcommand\simplecuboid[3]{%
\fill[gray!80!white] (tpp cs:x=0,y=0,z=#3)
-- (tpp cs:x=0,y=#2,z=#3)
@@ -112,18 +123,18 @@
-- (tpp cs:x=0,y=0,z=#3)
-- (tpp cs:x=#1,y=0,z=#3)
-- (tpp cs:x=#1,y=0,z=0) -- cycle;}
-
\newcommand{\simpleaxes}[3]{%
\draw[->] (-0.5,0,0) -- (#1,0,0) node[pos=1.1]{x};
\draw[->] (0,-0.5,0) -- (0,#2,0) node[pos=1.1]{y};
\draw[->] (0,0,-0.5) -- (0,0,#3) node[pos=1.1]{z};}
-In this section, the following example cuboid will be used with various scaling.
-As a reference, the axes will be shown too, without perspective projection.
-\begingroup
-\let\simplecuboid\relax
-\let\simpleaxes\relax
-\begin{codeexample}[]
+\begin{tikzpicture}[3d view]
+ \simplecuboid{2}{2}{2}
+ \simpleaxes{2}{2}{2}
+\end{tikzpicture}
+\end{codeexample}
+
+\begin{codeexample}[setup code,hidden]
\newcommand\simplecuboid[3]{%
\fill[gray!80!white] (tpp cs:x=0,y=0,z=#3)
-- (tpp cs:x=0,y=#2,z=#3)
@@ -137,36 +148,34 @@ As a reference, the axes will be shown too, without perspective projection.
-- (tpp cs:x=0,y=0,z=#3)
-- (tpp cs:x=#1,y=0,z=#3)
-- (tpp cs:x=#1,y=0,z=0) -- cycle;}
+
\newcommand{\simpleaxes}[3]{%
\draw[->] (-0.5,0,0) -- (#1,0,0) node[pos=1.1]{x};
\draw[->] (0,-0.5,0) -- (0,#2,0) node[pos=1.1]{y};
\draw[->] (0,0,-0.5) -- (0,0,#3) node[pos=1.1]{z};}
-
-\begin{tikzpicture}[3d view]
- \simplecuboid{2}{2}{2}
- \simpleaxes{2}{2}{2}
-\end{tikzpicture}
\end{codeexample}
-\endgroup
\begin{key}{/tikz/perspective=\meta{vanishing points}
(default p=\{(10,0,0)\},q=\{(0,10,0)\},r=\{(0,0,20)\})}
The `strength' of the perspective can be determined by setting the location of
the vanishing points. The default values have a stronger perspective towards
$x$ and $y$ than towards $z$, as shown below.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[3d view,perspective]
\simplecuboid{2}{2}{2}
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
+%
From this example it also shows that the maximum dimensions of the cuboid are
no longer 2 by 2 by 2. This is inherent to the perspective projection.
%
\begin{key}{/tikz/perspective/p=\marg{x,y,z} (initially (0,0,0))}
The location of the vanishing point that determines the `strength' of the
perspective in $x$-direction can be set with the |p| key.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -175,6 +184,7 @@ As a reference, the axes will be shown too, without perspective projection.
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
+ %
Note also that when only |p| is provided, the perspective in $y$ and $z$
direction is turned off.
@@ -185,7 +195,8 @@ As a reference, the axes will be shown too, without perspective projection.
By changing the $y$ and $z$ components of |p|, one can achieve various
effects.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -194,7 +205,8 @@ As a reference, the axes will be shown too, without perspective projection.
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -203,7 +215,8 @@ As a reference, the axes will be shown too, without perspective projection.
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -212,12 +225,14 @@ As a reference, the axes will be shown too, without perspective projection.
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
%
\begin{key}{/tikz/perspective/q=\marg{x,y,z} (initially (0,0,0))}
Similar to |p|, but can be turned off by setting its $y$ component to
\texttt{0}.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -226,12 +241,14 @@ As a reference, the axes will be shown too, without perspective projection.
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
%
\begin{key}{/tikz/perspective/r=\marg{x,y,z} (initially (0,0,0))}
Similar to |p|, but can be turned off by setting its $z$ component to
\texttt{0}.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -240,29 +257,36 @@ As a reference, the axes will be shown too, without perspective projection.
\simpleaxes{2}{2}{2}
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
\end{key}
+
\subsection{Shortcomings}
- Currently a number of things are not working, mostly due to the fact that PGF
- uses a 2D coordinate system underwater, and perspective projection is a
- non-linear affine transformation which needs to be aware of all three
- coordinates. These three coordinates are currently lost when processing a 3D
- coordinate.
- The issues include, but possibly are not limited to:
- \begin{itemize}
+
+Currently a number of things are not working, mostly due to the fact that PGF
+uses a 2D coordinate system underwater, and perspective projection is a
+non-linear affine transformation which needs to be aware of all three
+coordinates. These three coordinates are currently lost when processing a 3D
+coordinate.
+The issues include, but possibly are not limited to:
+%
+\begin{itemize}
\item Keys like |shift|, |xshift|, |yshift| are not working
\item Keys like |rotate around x|, |rotate around y|, and |rotate around z|
are not working
\item Units are not working
\item Most keys from the |3d| library are unsupported, e.g. all the
|canvas is .. plane| keys.
- \end{itemize}
+\end{itemize}
+
\subsection{Examples}
+
An |r| that lies `below' your drawing can mimic a macro effect.
+%
\nopagebreak
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
isometric view,
perspective={
@@ -278,8 +302,9 @@ An |r| that lies `below' your drawing can mimic a macro effect.
A peculiar phenomenon inherent to perspective drawing, is that however great
your coordinate will become in the direction of the vanishing point, it will
never reach it.
+%
\nopagebreak
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
isometric view,
perspective={
@@ -300,8 +325,9 @@ never reach it.
Even for simple examples, the added perspective might add another `dimension' to
your drawing. In this case, two vanishing points give a more intuitive result
then three would.
+%
\nopagebreak
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
scale=0.7,
3d view,
@@ -327,8 +353,9 @@ then three would.
With the vanishing points nearby, the distortion of parallel lines becomes very
strong. This might lead to \texttt{Dimension too large} errors.
+%
\nopagebreak
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
3d view,
perspective={
@@ -363,8 +390,9 @@ strong. This might lead to \texttt{Dimension too large} errors.
Of course these examples can become as complex as desired, but as with any 3D
drawing using \tikzname, the order of drawing commands is important and can
become increasingly more complex.
+%
\nopagebreak
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
\begin{tikzpicture}[
cycle of vertices/.style 2 args={
insert path={
@@ -415,4 +443,4 @@ become increasingly more complex.
\end{scope}
\end{tikzpicture}
\end{codeexample}
-\fi \ No newline at end of file
+\fi
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
index ccf03560917..1146624d652 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
@@ -26,7 +26,7 @@ The package defines a style for drawing places of Petri nets.
its capacity. You should use the |tokens| options, explained in
Section~\ref{section-tokens}, to add tokens inside the place.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri,positioning}}]
\begin{tikzpicture}
\node[place,label=above:$p_1$,tokens=2] (p1) {};
\node[place,label=below:$p_2\ge1$,right=of p1] (p2) {};
@@ -37,7 +37,7 @@ The package defines a style for drawing places of Petri nets.
This style is evoked by the style |place|. To change the appearance of
places, you can change this style.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri,positioning}}]
\begin{tikzpicture}
[every place/.style={draw=blue,fill=blue!20,thick,minimum size=9mm}]
\node[place,tokens=7,label=above:$p_1$] (p1) {};
@@ -61,7 +61,7 @@ Transitions are also nodes. They should be drawn using the following style:
To connect a transition to places, you can use the |edge| command as in the
following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri,positioning}}]
\begin{tikzpicture}
\node[place,tokens=2,label=above:$p_1$] (p1) {};
\node[place,label=above:$p_2\ge1$,right=of p1] (p2) {};
@@ -112,7 +112,7 @@ style for typesetting them.
be typeset in a tiny font and in white on black (naturally, you can easily
change this by setting the style |every token|).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri,positioning}}]
\begin{tikzpicture}
\node[place,label=above:$p_1$] (p1) {};
\node[token] at (p1) {};
@@ -131,8 +131,8 @@ In the above example, it is bothersome that we need an extra command for the
token node. Worse, when we have \emph{two} tokens on a node, it is difficult to
place both nodes inside the node without overlap.
-The Petri net library offers a solution to this problem: The
-|children are tokens| style.
+The Petri library offers a solution to this problem: The |children are tokens|
+style.
\begin{stylekey}{/tikz/children are tokens}
The idea behind this style is to use trees mechanism for placing tokens.
@@ -143,7 +143,7 @@ The Petri net library offers a solution to this problem: The
the children next to each other inside (or, rather, on top) of the place
node. Additionally, the edge from the parent node is not drawn.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\begin{tikzpicture}
\node[place,label=above:$p_1$] {}
[children are tokens]
@@ -166,7 +166,7 @@ The Petri net library offers a solution to this problem: The
place more than nice tokens on a place, you will have to write your own
placement code.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\begin{tikzpicture}
\node[place,label=above:$p_2$] {}
[children are tokens]
@@ -181,7 +181,7 @@ The Petri net library offers a solution to this problem: The
This specifies the distance between the centers of the tokens in the
arrangements of the option |children are tokens|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\begin{tikzpicture}
\node[place,label=above:$p_3$] {}
[children are tokens,token distance=1.1ex]
@@ -206,7 +206,7 @@ tokens.
having the style |token|. Thus, the following two pieces of codes have the
same effect:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\tikz
\node[place] {}
[children are tokens]
@@ -221,7 +221,7 @@ tokens.
option does not handle ten or more tokens correctly. If you need this many
tokens, you will have to program your own code.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\begin{tikzpicture}[every place/.style={minimum size=9mm}]
\foreach \x/\y/\tokennumber in {0/2/1,1/2/2,2/2/3,
@@ -238,7 +238,7 @@ tokens.
gets a list of colors as parameter. It will then add as many tokens to the
place as there are colors in this list, each filled correspondingly.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\tikz \node[place,colored tokens={black,black,red,blue}] {};
\end{codeexample}
%
@@ -248,11 +248,11 @@ tokens.
This option, which must again be passed to a place, gets a list of texts
for tokens. For each text, a new token will be added to the place.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\tikz \node[place,structured tokens={$x$,$y$,$z$}] {};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\begin{tikzpicture}[every place/.style={minimum size=9mm}]
\foreach \x/\y/\tokennumber in {0/2/1,1/2/2,2/2/3,
@@ -269,7 +269,7 @@ tokens.
\subsection{Examples}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{petri}}]
\begin{tikzpicture}[yscale=-1.6,xscale=1.5,thick,
every transition/.style={draw=red,fill=red!20,minimum size=3mm},
every place/.style={draw=blue,fill=blue!20,minimum size=6mm}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
index 2e5d0b0186c..ca24ecacb01 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
@@ -151,7 +151,7 @@ defined profiler entries will be processed.
\end{codeexample}
%
Thus, \meta{argument pattern} is a copy-paste from the definition of your
- command. The \meta{invocation pattern} is used by the profiler library to
+ command. The \meta{invocation pattern} is used by the |profiler| library to
invoke the \emph{original} command, so it is closely related to
\meta{argument pattern}, but it needs extra curly braces around each
argument.
@@ -223,7 +223,7 @@ defined profiler entries will be processed.
|\jobname.profiler.|\meta{YYYY}|-|\meta{MM}|-|\meta{DD}|_|\meta{HH}|h_|\meta{MM}|m.dat|
with the same information.
- Note that the profiler library predefines two profiler entries, namely
+ Note that the |profiler| library predefines two profiler entries, namely
|main job| which counts time from the beginning of the document until
|\pgfprofilepostprocess| and |preamble| which counts time from the
beginning of the document until |\begin{document}|.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
index d972c80c5ae..c5d276aa027 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
@@ -566,7 +566,7 @@ Here are some possible definitions of these keys that do not (yet) generate
The library could be used as follows:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{graphs,rdf}}]
\tikz [dfa]
\graph [math nodes, grow right = 1.5cm] {
q_0 [state, initial] -> [transition = a]
@@ -895,7 +895,7 @@ Putting it all together, we now get the following library code:
\emph{Using} this code is still ``as easy as before'', indeed, the code for
creating the automaton is perfectly unchanged:
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{graphs,rdf}}]
\tikzset { rdf engine on }
\tikz [dfa]
\graph [math nodes, grow right = 1.5cm] {
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
index 5666c1a07d4..3f73bd926a2 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
@@ -42,7 +42,7 @@ this library is not used.
\item The rotation angle of the shading is set to 0.
\end{enumerate}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \draw[top color=red] (0,0) rectangle (2,1);
\end{codeexample}
\end{key}
@@ -60,7 +60,7 @@ this library is not used.
middle color, this option should be given \emph{last} if all of these
options need to be given:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \draw[top color=white,bottom color=black,middle color=red]
(0,0) rectangle (2,1);
\end{codeexample}
@@ -89,7 +89,7 @@ this library is not used.
black. Because of this, it also makes sense to say |ball color=white|
or |ball color=black|
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\begin{tikzpicture}
\shade[ball color=white] (0,0) circle (2ex);
\shade[ball color=red] (1,0) circle (2ex);
@@ -107,7 +107,7 @@ this library is not used.
also defines four options, called the same way, that can be used to set
these colors and select the shading implicitly.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz
\shade[upper left=red,upper right=green,
lower left=blue,lower right=yellow]
@@ -137,13 +137,13 @@ this library is not used.
\label{shading-color-wheel}%
This shading fills the path with a color wheel.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \shade[shading=color wheel] (0,0) circle (1.5);
\end{codeexample}
%
To produce a color ring, cut out a circle from the color wheel:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \shade[shading=color wheel] [even odd rule]
(0,0) circle (1.5)
(0,0) circle (1);
@@ -155,7 +155,7 @@ this library is not used.
This shading looks like a color wheel, but the brightness drops to zero in
the center.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \shade[shading=color wheel black center] (0,0) circle (1.5);
\end{codeexample}
%
@@ -165,7 +165,7 @@ this library is not used.
This shading looks like a color wheel, but the saturation drops to zero in
the center.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \shade[shading=color wheel white center] (0,0) circle (1.5);
\end{codeexample}
%
@@ -179,7 +179,7 @@ this library is not used.
arbitrarily (give it a try, if you have a fast computer).
%
\pgfutil@ifluatex
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \shade[shading=Mandelbrot set] (0,0) rectangle (2,2);
\end{codeexample}
\else
@@ -205,7 +205,7 @@ this library is not used.
When this option is used, the |shade| and |shading=radial| options are
set.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \draw[inner color=red] (0,0) rectangle (2,1);
\end{codeexample}
\end{key}
@@ -214,7 +214,7 @@ this library is not used.
This option sets the color used at the border and outside of a |radial|
shading.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \draw[outer color=red,inner color=white]
(0,0) rectangle (2,1);
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
index 93b6feaced7..9892064652e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
@@ -11,10 +11,10 @@
\section{Shadows Library}
\label{section-libs-shadows}
-\begin{pgflibrary}{shadows}
+\begin{tikzlibrary}{shadows}
This library defines styles that help adding a (partly) transparent shadow
to a path or node.
-\end{pgflibrary}
+\end{tikzlibrary}
\subsection{Overview}
@@ -63,7 +63,7 @@ You will not need to use this option directly under normal circumstances.
shadows are not taken into account when the picture's bounding box is
computed.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\tikz [even odd rule]
\draw [general shadow={fill=red}] (0,0) circle (.5) (0.5,0) circle (.5);
\end{codeexample}
@@ -71,7 +71,7 @@ You will not need to use this option directly under normal circumstances.
\begin{key}{/tikz/shadow scale=\meta{factor} (initially 1)}
Shadows are scaled by \meta{factor}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\tikz [even odd rule]
\draw [general shadow={fill=red,shadow scale=1.25}]
(0,0) circle (.5) (0.5,0) circle (.5);
@@ -81,7 +81,7 @@ You will not need to use this option directly under normal circumstances.
\begin{key}{/tikz/shadow xshift=\meta{dimension} (initially 0pt)}
Shadows are shifted horizontally by \meta{dimension}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\tikz [even odd rule]
\draw [general shadow={fill=red,shadow xshift=-5pt}]
(0,0) circle (.5) (0.5,0) circle (.5);
@@ -108,19 +108,19 @@ You will not need to use this option directly under normal circumstances.
opacity=.5, fill=black!50, every shadow
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\tikz [even odd rule]
\filldraw [drop shadow,fill=white] (0,0) circle (.5) (0.5,0) circle (.5);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows,shapes.symbols}}]
\begin{tikzpicture}
\foreach \i in {1,...,4}
\node[starburst,drop shadow,fill=white,draw] at (0,\i) {Burst \i};
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\filldraw [drop shadow={opacity=1},fill=white]
@@ -137,7 +137,7 @@ You will not need to use this option directly under normal circumstances.
This style is executed in addition to any \meta{shadow options} for each
shadow. Use this style to reconfigure the way shadows are drawn.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}[every shadow/.style={opacity=.8,fill=blue!50!black}]
\filldraw [drop shadow,fill=white] (0,0) circle (.5) (0.5,0) circle (.5);
\end{tikzpicture}
@@ -163,7 +163,7 @@ visual impression of having multiple copies of the path/object present.
color} are also set, where the \meta{fill color} and \meta{draw color} are
the fill and draw colors used for the main path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows,shapes.symbols}}]
\begin{tikzpicture}
\node [copy shadow,fill=blue!20,draw=blue,thick] {Hello World!};
@@ -189,7 +189,7 @@ visual impression of having multiple copies of the path/object present.
This shadow works like a |copy shadow|, only the shadow is added twice, the
second time with the double |xshift| and |yshift|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows,shapes.symbols}}]
\begin{tikzpicture}
\node [double copy shadow,fill=blue!20,draw=blue,thick] {Hello World!};
@@ -226,7 +226,7 @@ special shape. They will look strange with other shapes.
every shadow,
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}
\foreach \i in {1,...,8}
\node[circle,circular drop shadow,draw=blue,fill=blue!20,thick]
@@ -247,7 +247,7 @@ special shape. They will look strange with other shapes.
every shadow,
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}
\foreach \i in {1,...,8}
\node[circle,circular glow,fill=red!20,draw=red,thick]
@@ -255,7 +255,7 @@ special shape. They will look strange with other shapes.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}
\foreach \i in {1,...,8}
\node[circle,circular glow={fill=white},fill=red!20,draw=red,thick]
@@ -263,7 +263,7 @@ special shape. They will look strange with other shapes.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}
\foreach \i in {1,...,8}
\node[circle,circular glow={fill=green},fill=black,text=green!50!black]
@@ -274,7 +274,7 @@ special shape. They will look strange with other shapes.
An especially interesting effect can be achieved by only using the glow and
not filling the path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shadows}}]
\begin{tikzpicture}
\foreach \i in {1,...,8}
\node[circle,circular glow={fill=red!\i0}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
index be536402d33..22e02202c4a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
@@ -27,7 +27,7 @@ Section~\ref{section-shape-common-options}
In all of the examples presented in this section, the following |shape example|
style is used:
%
-\begin{codeexample}[code only]
+\begin{codeexample}[code only,setup code]
\tikzset{
shape example/.style= {color = black!30,
draw,
@@ -52,7 +52,7 @@ anchors.
figure shows the anchors this shape defines; the anchors |10| and |130| are
example of border anchors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=circle,shape example] {Circle\vrule width 1pt height 2cm};
@@ -77,7 +77,7 @@ anchors.
anchors this shape defines; the anchors |10| and |130| are example of
border anchors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=rectangle,shape example] {Rectangle\vrule width 1pt height 2cm};
@@ -117,7 +117,7 @@ anchors.
The following figure shows the anchors this shape defines; the anchors |10|
and |130| are example of border anchors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=diamond,shape example] {Diamond\vrule width 1pt height 2cm};
@@ -140,7 +140,7 @@ anchors.
separation is given. The following figure shows the anchors this shape
defines; the anchors |10| and |130| are example of border anchors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=ellipse,shape example] {Ellipse\vrule width 1pt height 2cm};
@@ -169,7 +169,7 @@ anchors.
the natural dimensions of the node contents (which includes any
|inner sep|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[every node/.style={trapezium, draw}]
\node at (0,2) {A};
\node[trapezium left angle=75, trapezium right angle=45]
@@ -199,7 +199,7 @@ anchors.
Regardless of the rotation of the shape border, the width and height of the
trapezium are as follows:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[>=stealth, every node/.style={text=black},
shape border uses incircle, shape border rotate=60]
\node [trapezium, fill=gray!25, minimum width=2cm] (t) {};
@@ -216,7 +216,7 @@ anchors.
minimum size specification. This is initially |false|, ensuring that
the shape ``looks the same but bigger'' when enlarged.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikzset{my node/.style={trapezium, fill=#1!20, draw=#1!75, text=black}}
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -229,7 +229,7 @@ anchors.
By setting \meta{boolean} to |true|, the trapezium can be stretched
horizontally or vertically.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikzset{my node/.style={trapezium, fill=#1!20, draw=#1!75, text=black}}
\begin{tikzpicture}
\tikzset{trapezium stretches=true}
@@ -246,7 +246,7 @@ anchors.
\meta{boolean} is |true|, \pgfname{} enlarges only the body of the
trapezium when applying minimum width.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikzset{my node/.style={trapezium, fill=#1!20, draw=#1!75, text=black}}
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -262,7 +262,7 @@ anchors.
The anchors for the trapezium are shown below. The anchor |160| is an
example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=trapezium, shape example, inner sep=1cm]
@@ -291,7 +291,7 @@ anchors.
|semicircle| shape are shown below. Anchor |30| is an example of a border
anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=semicircle,shape border rotate=0,shape example, inner sep=1cm]
@@ -318,7 +318,7 @@ anchors.
whose radius is calculated to tightly fit the node contents (including any
|inner sep|).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\foreach \a in {3,...,7}{
\draw[red, dashed] (\a*2,0) circle(0.5cm);
@@ -332,7 +332,7 @@ anchors.
as the diameter of the circumcircle, that is, the circle that passes
through all the corners of the polygon border.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\foreach \a in {3,...,7}{
\draw[blue, dashed] (\a*2,0) circle(0.5cm);
@@ -351,7 +351,7 @@ anchors.
The anchors for a regular polygon shape are shown below. The anchor |75| is
an example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=regular polygon, shape example, inner sep=.5cm]
@@ -382,7 +382,7 @@ anchors.
specified minimum size, width or height, is interpreted as the diameter of
the circumcircle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (2,2);
\draw [blue, dashed] (1,1) circle(1cm);
@@ -413,10 +413,10 @@ anchors.
increased to maintain the ratio.
\end{key}
- The inner and outer points form the principle anchors for the star, as
+ The inner and outer points form the principal anchors for the star, as
shown below (anchor |75| is an example of a border anchor).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=star, star points=5, star point ratio=1.65, shape example, inner sep=1.5cm]
@@ -443,7 +443,7 @@ anchors.
regardless of the rotation of the shape border, the width and height are
always considered as follows:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[>=stealth, every node/.style={text=black},
shape border uses incircle, shape border rotate=-30]
\node [isosceles triangle, fill=gray!25, minimum width=1.5cm] (t) {};
@@ -467,7 +467,7 @@ anchors.
will increase the width (and vice versa), in order to keep the apex
angle the same.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[paint/.style={draw=#1!75, fill=#1!20}]
\tikzset{every node/.style={isosceles triangle, draw, inner sep=0pt,
anchor=left corner, shape border rotate=90}}
@@ -482,7 +482,7 @@ anchors.
However, by setting \meta{boolean} to |true|, minimum width and height
can be applied independently.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[paint/.style={draw=#1!75, fill=#1!20}]
\tikzset{every node/.style={isosceles triangle, draw, inner sep=0pt,
anchor=south, shape border rotate=90, isosceles triangle stretches}}
@@ -501,7 +501,7 @@ anchors.
is rotated to 90 degrees. Note also that the |center| anchor does not
necessarily correspond to any kind of geometric center.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=isosceles triangle, shape example, inner xsep=1cm]
@@ -545,7 +545,7 @@ anchors.
angles will be the same.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[every node/.style={kite, draw}]
\node[kite upper vertex angle=135, kite lower vertex angle=70] at (0,0) {A};
\node[kite vertex angles=90 and 45] at (1,0) {B};
@@ -556,7 +556,7 @@ anchors.
The anchors for the |kite| are shown below. Anchor |110| is an example of a
border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=kite, shape example, inner sep=1.5cm]
@@ -588,7 +588,7 @@ anchors.
the angle between the `tails' of the dart. To use these keys in \tikzname,
simply remove the \declare{|/pgf/|} path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\node[dart, draw, gray, shape border uses incircle, shape border rotate=45]
(d) {dart};
@@ -611,7 +611,7 @@ anchors.
rotated 90 degrees anti-clockwise). Anchor |110| is an example of a border
anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=dart, shape border rotate=90, shape example, inner sep=1.25cm]
@@ -638,7 +638,7 @@ anchors.
rotation determines the direction in which the `apex' of the sector points
(unless other transformations have been applied).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[
every node/.style={circular sector, shape border uses incircle, draw},
]
@@ -658,7 +658,7 @@ anchors.
The anchors for the circular sector shape are shown below. Anchor |30| is
an example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=circular sector, style=shape example, inner sep=1cm]
@@ -681,7 +681,7 @@ anchors.
the rotation of the shape border as described in
Section~\ref{section-rotating-shape-borders}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\node[cylinder, draw, shape aspect=.5] {ABC};
\end{tikzpicture}
@@ -691,7 +691,7 @@ anchors.
distance between the curved ends, and the width is always the distance
between the straight sides.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[>=stealth]
\node [cylinder, gray!50, rotate=30, draw,
minimum height=2cm, minimum width=1cm] (c) {Cylinder};
@@ -706,7 +706,7 @@ anchors.
the cylinder. By contrast, enlarging the shape to some minimum width will
stretch the curved ends.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[shape aspect=.5]
\tikzset{every node/.style={cylinder, shape border rotate=90, draw}}
\node [minimum height=1.5cm] {A};
@@ -722,7 +722,7 @@ anchors.
cylinder end. This may be ignored if the shape is enlarged to some
minimum width.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[]
\tikzset{every node/.style={cylinder, shape border rotate=90, draw}}
\node [aspect=1.0] {A};
@@ -740,7 +740,7 @@ anchors.
|\ifpgfcylinderusescustomfill| appropriately.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[aspect=0.5]
\node [cylinder, cylinder uses custom fill, cylinder end fill=red!50,
cylinder body fill=red!25] {Cylinder};
@@ -763,7 +763,7 @@ anchors.
also the center of rotation. The |shape center| is the center of the shape
which includes the 2-dimensional representation of the cylinder top.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=cylinder, shape example, aspect=.5, inner xsep=3cm,
@@ -798,7 +798,7 @@ anchors.
diagonal line part of the foreground path; thus, the diagonal line is on
top of the text.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node [correct forbidden sign,line width=1ex,draw=red,fill=white] {Smoking};
\end{tikzpicture}
@@ -812,7 +812,7 @@ anchors.
lower left to the upper right. The strange naming of these shapes is for
historical reasons.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node [forbidden sign,line width=1ex,draw=red,fill=white] {Smoking};
\end{tikzpicture}
@@ -834,7 +834,7 @@ anchors.
The length of the handle as a multiple of the circle radius.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node [magnifying glass,line width=1ex,draw] {huge};
\end{tikzpicture}
@@ -848,7 +848,7 @@ anchors.
speaking, using an ellipse which tightly fits the node contents --
including any |inner sep|).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node[cloud, draw, fill=gray!20, aspect=2] {ABC};
\node[cloud, draw, fill=gray!20] at (1.5,0) {D};
@@ -880,7 +880,7 @@ anchors.
|\ifpgfcloudignoresaspect| is set appropriately. The initial value is
|false|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}[aspect=1, every node/.style={cloud, cloud puffs=11, draw}]
\node [fill=gray!20] {rain};
\node [cloud ignores aspect, fill=white] at (1.5,0) {snow};
@@ -893,7 +893,7 @@ anchors.
These requirements are considered \emph{after} any aspect specification is
applied.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [blue, dashed] (1.5, 1) ellipse (1.5cm and 1cm);
@@ -905,7 +905,7 @@ anchors.
The anchors for the cloud shape are shown below for a cloud with eleven
puffs. Anchor 70 is an example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=cloud, style=shape example, cloud puffs=11, aspect=1.5,
@@ -930,7 +930,7 @@ anchors.
rotation of the shape border as described in
Section~\ref{section-rotating-shape-borders}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node[starburst, fill=yellow, draw=red, line width=2pt] {\bf BANG!};
\end{tikzpicture}
@@ -950,7 +950,7 @@ anchors.
are randomly generated, so there is (unfortunately) no guarantee that any
such requirements will be fully met.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\draw[help lines] grid(3,2);
\node[starburst, draw, minimum width=3cm, minimum height=2cm]
@@ -981,7 +981,7 @@ anchors.
The basic anchors for a nine point |starburst| shape are shown below.
Anchor |80| is an example of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=starburst, starburst points=9, starburst point height=3.5cm,
@@ -1011,7 +1011,7 @@ anchors.
points from that direction. The resulting points extend the node contents
(which include the |inner sep|).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
[every node/.style={signal, draw, text=white, signal to=nowhere}]
\node[fill=green!65!black, signal to=east] at (0,1) {To East};
@@ -1054,7 +1054,7 @@ anchors.
The anchors for the signal shape are shown below. Anchor |70| is an example
of a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=signal, signal from=west, shape example, inner sep=2cm]
@@ -1078,7 +1078,7 @@ anchors.
This shape is a rectangle with optional, ``bendy'' top and bottom sides,
which tightly fits the node contents (including the |inner sep|).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node[tape, draw]{ABCD};
\node[tape, draw, tape bend top=none] at (1.5, 0) {EFGH};
@@ -1096,7 +1096,7 @@ anchors.
style |in and out| will mean the side will first bend inwards and then
bend outwards. The opposite holds true for |out and in|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}[-stealth]
\node[tape, draw, gray, minimum width=2cm](t){Tape};
\draw [blue]([yshift=5pt] t.north west) -- ([yshift=5pt]t.north east)
@@ -1112,7 +1112,7 @@ anchors.
bend styles, but the author of this shape cannot think of a single use
for such a combination.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}[every node/.style={tape, draw}]
\node [tape bend top=out and in, tape bend bottom=out and in] {Parallel};
\node at (2,0) [tape bend bottom=out and in] {Why?};
@@ -1127,7 +1127,7 @@ anchors.
\begin{key}{/pgf/tape bend height=\meta{length} (initially 5pt)}
Sets the total height for a side with a bend.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}[>=stealth]
\draw [help lines] grid(3,2);
\node [tape, fill, minimum size=2cm, red!50, tape bend top=none,
@@ -1142,7 +1142,7 @@ anchors.
of a border anchor. Note that border anchors will snap to the center of
convex curves (i.e.\ when bending in).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=tape, tape bend height=1cm, shape example, inner xsep=3cm]
@@ -1166,7 +1166,7 @@ anchors.
is sometimes used in flowcharts. It is essentially a circle with a little
tail:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\tikz\node [magnetic tape, draw] (A) {A};
\end{codeexample}
@@ -1176,7 +1176,7 @@ anchors.
This key sets how far the tail extends beyond the radius of the tape.
Negative values will be ignored.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}[every node/.style={magnetic tape, draw}]
\node [magnetic tape tail extend=0cm] at (0,0) {A};
\node [magnetic tape tail extend=0.25cm] at (0,1) {B};
@@ -1189,7 +1189,7 @@ anchors.
the radius of the shape. The \meta{proportion} should be between |0.0|
and |1.0|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}[every node/.style={magnetic tape, draw}]
\node [magnetic tape tail=0.5, magnetic tape tail extend=0.5cm] {A};
\node [magnetic tape tail=0.25] at (0,1) {B};
@@ -1200,7 +1200,7 @@ anchors.
The following figure shows the anchors this shape defines; the anchors 10
and 130 are example of border anchors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=magnetic tape,shape example,inner sep=0.75cm,
@@ -1238,7 +1238,7 @@ magnetic tape tail extend=0.5cm]
rotation determines in which direction the arrow points (provided no other
rotational transformations are applied).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}[every node/.style={single arrow, draw},
rotate border/.style={shape border uses incircle, shape border rotate=#1}]
\node {right};
@@ -1251,7 +1251,7 @@ magnetic tape tail extend=0.5cm]
between the back ends of the arrow head, and the height is measured from
the arrow tip to the end of the arrow tail.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}[>=stealth,
rotate border/.style={shape border uses incircle, shape border rotate=#1}]
\node[rotate border=-30, fill=gray!25, minimum height=3cm, single arrow,
@@ -1276,7 +1276,7 @@ magnetic tape tail extend=0.5cm]
of the arrow head. This may change if the shape is enlarged to some
minimum width.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}
\node[single arrow, draw, single arrow head extend=.5cm, gray!50, rotate=60]
(a) {Arrow};
@@ -1290,7 +1290,7 @@ magnetic tape tail extend=0.5cm]
This moves the point where the arrow head joins the shaft of the arrow
\emph{towards} the arrow tip, by \meta{length}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}[every node/.style={single arrow, draw=none, rotate=60}]
\node [fill=red!50] {arrow 1};
\node [fill=blue!50, single arrow head indent=1ex] at (1.5,0) {arrow 2};
@@ -1301,7 +1301,7 @@ magnetic tape tail extend=0.5cm]
The anchors for this shape are shown below (anchor |20| is an example of a
border anchor).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=single arrow, shape example, single arrow head extend=1.5cm]
@@ -1326,7 +1326,7 @@ magnetic tape tail extend=0.5cm]
(including any |inner sep|), and supports the rotation of the shape border,
as described in Section~\ref{section-rotating-shape-borders}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}[every node/.style={double arrow, draw}]
\node [double arrow, draw] {Left or Right};
\end{tikzpicture}
@@ -1337,7 +1337,7 @@ magnetic tape tail extend=0.5cm]
of the arrow heads, and the height is \emph{always} the tip-to-tip
distance.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}[>=stealth,
rotate border/.style={shape border uses incircle, shape border rotate=#1}]
\node[rotate border=210, fill=gray!25, minimum height=3cm, double arrow,
@@ -1368,7 +1368,7 @@ magnetic tape tail extend=0.5cm]
This moves the point where the arrow heads join the shaft of the arrow
\emph{towards} the arrow tips, by \meta{length}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}[every node/.style={double arrow, draw=none, rotate=-60}]
\node [fill=red!50] {arrow 1};
\node [fill=blue!50, double arrow head indent=1ex] at (1.5,0) {arrow 2};
@@ -1379,7 +1379,7 @@ magnetic tape tail extend=0.5cm]
The anchors for this shape are shown below (anchor |20| is an example of a
border anchor).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=double arrow, double arrow head extend=1.5cm, shape example, inner xsep=2cm]
@@ -1403,7 +1403,7 @@ magnetic tape tail extend=0.5cm]
This shape is a rectangle with optional arrows which extend from the four
sides.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}
\node[arrow box, draw] {A};
\node[arrow box, draw, arrow box arrows={north:.5cm, west:0.75cm}]
@@ -1417,7 +1417,7 @@ magnetic tape tail extend=0.5cm]
length of each arrow independently, from either the border of the rectangle
(the default) or the center of the rectangle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\begin{tikzpicture}
\tikzset{box/.style={arrow box, fill=#1}}
\draw [help lines] grid(3,2);
@@ -1485,7 +1485,7 @@ a side is drawn without an arrow, the anchors for that arrow should be
considered unavailable. They are (unavoidably) defined, but default to the
center of the appropriate side.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.arrows}}]
\Huge
\begin{tikzpicture}
\node[shape=arrow box, shape example, inner xsep=1cm, inner ysep=1.5cm, arrow box shaft width=2cm,
@@ -1526,7 +1526,7 @@ center of the appropriate side.
middle. The upper part is the main part (the |text| part), the lower part
is the |lower| part.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}
\node [circle split,draw,double,fill=red!20]
{
@@ -1540,7 +1540,7 @@ center of the appropriate side.
The shape inherits all anchors from the |circle| shape and defines the
|lower| anchor in addition. See also the following figure:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=circle split,shape example] {text\nodepart{lower}lower};
@@ -1562,7 +1562,7 @@ center of the appropriate side.
This shape (due to Manuel Lacruz) is similar to the split circle, but the
two text parts are arranged diagonally.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}
\node [circle solidus,draw,double,fill=red!20]
{
@@ -1573,7 +1573,7 @@ center of the appropriate side.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=circle solidus,shape example,inner xsep=1cm] {text\nodepart{lower}lower};
@@ -1597,7 +1597,7 @@ center of the appropriate side.
part is the |lower| part. The anchors for this shape are shown below.
Anchor |60| is a border anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=ellipse split,shape example] {text\nodepart{lower}lower};
@@ -1618,7 +1618,7 @@ center of the appropriate side.
This shape is a rectangle which can be split either horizontally or
vertically into several parts.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}[my shape/.style={
rectangle split, rectangle split parts=#1, draw, anchor=center}]
\node [my shape=5] at (0,1)
@@ -1668,7 +1668,7 @@ center of the appropriate side.
range |1| to |20|. If more than four parts are needed, the boxes should
be allocated in advance as described above.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}[every text node part/.style={align=center}]
\node[rectangle split, rectangle split parts=3, draw, text width=2.75cm]
{Student
@@ -1693,7 +1693,7 @@ center of the appropriate side.
|rectangle split parts| key in that, if 3 parts (for example) are
specified, but one is empty, only two will be shown.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}[every node/.style={draw, anchor=text, rectangle split,
rectangle split parts=3}]
\node {text \nodepart{second} \nodepart{third}third};
@@ -1730,7 +1730,7 @@ center of the appropriate side.
part and \emph{does not} affect the alignment of the contents of the
boxes.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\def\x{one \nodepart{two} 2 \nodepart{three} three \nodepart{four} 4}
\begin{tikzpicture}[
every node/.style={rectangle split, rectangle split parts=4,
@@ -1749,7 +1749,7 @@ center of the appropriate side.
in relation to each other, whereas the other values align the boxes in
relation to the part of the shape they occupy.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\def\x{\Large w\nodepart{two}x\nodepart{three}\Huge y\nodepart{four}\tiny z}
\begin{tikzpicture}[
every node/.style={rectangle split, rectangle split parts=4,
@@ -1786,7 +1786,7 @@ center of the appropriate side.
color from the last entry in the list. This key will automatically set
|/pgf/rectangle split use custom fill|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}
\tikzset{every node/.style={rectangle split, draw, minimum width=.5cm}}
\node[rectangle split part fill={red!50, green!50, blue!50, yellow!50}] {};
@@ -1803,7 +1803,7 @@ center of the appropriate side.
considered unavailable. They are (unavoidably) defined, but default to
other anchor positions.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=rectangle split, rectangle split parts=4, shape example,
@@ -1844,7 +1844,7 @@ border of the main shape to which the pointer is connected is determined
automatically. However, the pointer is ignored when calculating the minimum
size of the shape, and also when positioning anchors.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\begin{tikzpicture}[remember picture]
\node[ellipse callout, draw] (hallo) {Hallo!};
\end{tikzpicture}
@@ -1860,7 +1860,7 @@ pointer, on the other hand, is much simpler: it points to the specified
coordinate absolutely (and can even point to named coordinates in different
pictures).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\begin{tikzpicture}[remember picture, note/.style={rectangle callout, fill=#1}]
\draw [help lines] grid(3,2);
\node [note=red!50, callout relative pointer={(0,1)}] at (3,1) {Relative};
@@ -1902,7 +1902,7 @@ following key:
Moves the callout pointer towards the center of the callout's main shape by
\meta{distance}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\begin{tikzpicture}
\tikzset{callout/.style={ellipse callout, callout pointer arc=30,
callout absolute pointer={#1}}}
@@ -1930,7 +1930,7 @@ following key:
not to be used to used to position the shape as it is calculated whilst the
shape is being drawn.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=rectangle callout, callout relative pointer={(1.25cm,-1cm)},
@@ -1967,7 +1967,7 @@ following key:
the |pointer| anchor can only be used to position the shape when the
relative anchor is specified.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=ellipse callout, callout relative pointer={(1.25cm,-1cm)},
@@ -1991,10 +1991,10 @@ following key:
\begin{shape}{cloud callout}
This shape is a callout whose main shape is a cloud which fits the node
contents. The pointer is segmented, consisting of a series of shrinking
- ellipses. This callout requires the symbol shape library (for the cloud
+ ellipses. This callout requires the |shapes.callouts| library (for the cloud
shape). If this library is not loaded an error will result.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\begin{tikzpicture}
\node[cloud callout, cloud puffs=15, aspect=2.5, cloud puff arc=120,
shading=ball,text=white] {\bf Imagine...};
@@ -2038,7 +2038,7 @@ following key:
anchor is specified. Note that the center of the last segment is drawn at
the |pointer| anchor.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.callouts}}]
\Huge
\begin{tikzpicture}
\node[name=s, shape=cloud callout, style=shape example, cloud puffs=11, aspect=1.5,
@@ -2073,7 +2073,7 @@ following key:
diagonal lines between the corners of the node's bounding box. Here is an
example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\node [cross out,draw=red] at (1.5,1) {cross out};
@@ -2082,14 +2082,14 @@ following key:
A useful application is inside text as in the following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
Cross \tikz[baseline] \node [cross out,draw,anchor=text] {me}; out!
\end{codeexample}
This shape inherits all anchors from the |rectangle| shape, see also the
following figure:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=cross out,shape example] {cross out\vrule width 1pt height 2cm};
@@ -2111,7 +2111,7 @@ Cross \tikz[baseline] \node [cross out,draw,anchor=text] {me}; out!
This shape is identical to the |cross out| shape, only its foreground path
consists of a single line from the lower left to the upper right.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
\end{codeexample}
@@ -2121,7 +2121,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
\begin{shape}{rounded rectangle}
This shape is a rectangle which can have optionally rounded sides.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\node[rounded rectangle, draw, fill=red!20]{Hallo};
\end{tikzpicture}
@@ -2134,7 +2134,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
Sets the length of the arcs for the rounded ends. Recommended values
for \meta{angle} are between |90| and |180|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\matrix[row sep=5pt, every node/.style={draw, rounded rectangle}]{
\node[rounded rectangle arc length=180] {180}; \\
@@ -2148,7 +2148,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
Sets the style of the rounding for the left side. The permitted values
for \meta{arc type} are |concave|, |convex|, or |none|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\matrix[row sep=5pt, every node/.style={draw, rounded rectangle}]{
\node[rounded rectangle west arc=concave] {Concave}; \\
@@ -2174,7 +2174,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
border angle). Note that if only one side is rounded, the |center| anchor
will not be the precise center of the shape.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=rounded rectangle, shape example, inner xsep=1.5cm, inner ysep=1cm]
@@ -2196,7 +2196,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
\begin{shape}{chamfered rectangle}
This shape is a rectangle with optionally chamfered corners.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\node[chamfered rectangle, white, fill=red, double=red, draw, very thick]
{\bf STOP!};
@@ -2209,7 +2209,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
\begin{key}{/pgf/chamfered rectangle angle=\meta{angle} (initially 45)}
Sets the angle \emph{from the vertical} for the chamfer.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\tikzset{every node/.style={chamfered rectangle, draw}}
\node[chamfered rectangle angle=30] {abc};
@@ -2225,7 +2225,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
\meta{length} is ignored and the chamfered edges are drawn so that they
meet in the middle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\tikzset{every node/.style={chamfered rectangle, draw}}
\node[chamfered rectangle xsep=2pt] {def};
@@ -2254,7 +2254,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
chamfered. Two additional values |chamfer all| and |chamfer none|, are
also permitted.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\tikzset{every node/.style={chamfered rectangle, draw}}
\node[chamfered rectangle corners=north west] {ghi};
@@ -2266,7 +2266,7 @@ Strike \tikz[baseline] \node [strike out,draw,anchor=text] {me}; out!
The anchors for this shape are shown below (anchor |60| is an example of a
border angle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\Huge
\begin{tikzpicture}
\node[name=s,shape=chamfered rectangle, chamfered rectangle sep=1cm,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
index b20b312e0e8..9bc7a69a992 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
@@ -24,7 +24,7 @@ The idea behind the |spy| library is to make is easy to create high-density
pictures in which some important parts are repeated somewhere, but magnified as
if you were looking through a spyglass:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using outlines={circle, magnification=4, size=2cm, connect spies}]
@@ -41,7 +41,7 @@ if you were looking through a spyglass:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}[spy using overlays={size=12mm}]
\draw [decoration=Koch snowflake]
decorate { decorate{ decorate{ decorate{ (0,0) -- (2,0) }}}};
@@ -146,7 +146,7 @@ automatically.
scope, whereas |\spy| commands outside the inner |spy scope| but inside the
outer |spy scope| allow you to ``spy on the spy''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using outlines={rectangle, red, magnification=5,
size=1.5cm, connect spies}]
@@ -240,7 +240,7 @@ automatically.
to-be-magnified area. You can change this by providing the |at|
option yourself:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using outlines={circle, magnification=3, size=1cm}]
@@ -283,7 +283,7 @@ automatically.
node is (also) always named |tikzspyinnode|. Following the spy
scope, you can use this node like any other node:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
\begin{scope}
[spy using outlines={circle, magnification=3, size=2cm, connect spies}]
@@ -324,7 +324,7 @@ automatically.
resulting in a node whose size and shape exactly corresponds to the area in
the picture that is shown in the spy-on node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using outlines={lens={scale=3,rotate=20}, size=2cm, connect spies}]
@@ -364,7 +364,7 @@ way.
filled, using a thick line; and the spy-on node is drawn, but not filled,
using a very thin line.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using outlines={circle, magnification=3, size=1cm, connect spies}]
@@ -381,7 +381,7 @@ way.
This key creates a |spy scope| in which both the spy-in and spy-on nodes
are filled, but with the fill opacity set to 20\%.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using overlays={circle, magnification=3, size=1cm, connect spies}]
@@ -399,7 +399,7 @@ The following style is useful for connecting the spy-in and the spy-on nodes:
\begin{key}{/tikz/connect spies}
Causes the spy-in and the spy-on nodes to be connected by a thin line.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,spy}}]
\begin{tikzpicture}
[spy using overlays={circle, magnification=3, size=1cm}]
@@ -420,7 +420,7 @@ Usually, the spy-in node and the spy-on node should have the same shape.
However, you might also wish to use the |circle| shape for the spy-on node and
the |magnifying glass| shape for the spy-in node:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,shadows,shapes.symbols,spy}}]
\tikzset{spy using mag glass/.style={
spy scope={
every spy on node/.style={
@@ -442,7 +442,7 @@ the |magnifying glass| shape for the spy-in node:
With the magnifying glass, you can also put it ``on top'' of the picture
itself:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals,shadows,shapes.symbols,spy}}]
\begin{tikzpicture}
[spy scope={magnification=4, size=1cm},
every spy in node/.style={
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
index 120eb1d9a7a..8625256173c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
@@ -41,7 +41,7 @@
path commands.
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgflibrary{svg.path}}]
\begin{pgfpicture}
\pgfpathsvg{M 0 0 l 20 0 0 20 -20 0 q 10 0 10 10
t 10 10 10 10 h -50 z}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
index 1222d1ec036..1d9e278f46f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
@@ -26,7 +26,7 @@
\meta{coordinate}.
\end{enumerate}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{through}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\node (a) at (2,1.5) {$a$};
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
index 92f20809216..c29dc7c5560 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
@@ -41,7 +41,7 @@ the following options:
Here are some arrangements based on this growth function. We start with a
simple ``above'' arrangement:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}[grow via three points={%
one child at (0,1) and two children at (-.5,1) and (.5,1)}]
\node at (0,0) {one} child;
@@ -54,7 +54,7 @@ the following options:
The next arrangement places children above, but ``grows only to the
right''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}[grow via three points={%
one child at (0,1) and two children at (0,1) and (1,1)}]
\node at (0,0) {one} child;
@@ -66,7 +66,7 @@ the following options:
In the final arrangement, the children are placed along a line going down
and right.
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}[grow via three points={%
one child at (-1,-.5) and two children at (-1,-.5) and (0,-.75)}]
\node at (0,0) {one} child;
@@ -94,7 +94,7 @@ the following options:
Note that this function will rotate the coordinate system of the children
to ensure that the grandchildren will grow in the right direction.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}
[grow cyclic,
level 1/.style={level distance=8mm,sibling angle=60},
@@ -120,7 +120,7 @@ the following options:
Note that this function will not rotate the coordinate system.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}
\node {root}
[clockwise from=30,sibling angle=30]
@@ -149,7 +149,7 @@ drawn:
distance) and then on to the child using only horizontal and vertical
lines.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}
\node {root}
[edge from parent fork down]
@@ -167,7 +167,7 @@ drawn:
This style behaves similarly, only it will first draw its edge to the
right.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{trees}}]
\begin{tikzpicture}
\node {root}
[edge from parent fork right,grow=right]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
index 6c1187e0c33..5a002fb3b0a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
@@ -11,17 +11,17 @@
\section{Turtle Graphics Library}
\label{section-library-tutrle}
-\begin{pgflibrary}{turtle}
+\begin{tikzlibrary}{turtle}
This little library defines some keys to create simple turtle graphics in
the tradition of the Logo programming language. These commands are mostly
for fun, but they can also be used for more ``serious'' business.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{turtle}}]
\tikz[turtle/distance=2mm]
\draw [turtle={home,forward,right,forward,left,forward,left,forward}];
\end{codeexample}
%
-\end{pgflibrary}
+\end{tikzlibrary}
Even though the |turtle| keys looks like an option, it uses the |insert path|
option internally to produce a path.
@@ -40,7 +40,7 @@ the turtle is managed independently of other path commands.
This key executes the \meta{keys} with the current key path set to
|/tikz/turtle|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{turtle}}]
\tikz[turtle/distance=2mm]
\draw [turtle={home,fd,rt,fd,lt,fd,lt,fd}];
\end{codeexample}
@@ -69,7 +69,7 @@ the turtle is managed independently of other path commands.
This style can set up the |to path| used by turtles. By setting this
style you can change the to-path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{turtle}}]
\tikz \draw [turtle={how/.style={bend left},home,forward,right,forward}];
\end{codeexample}
\end{stylekey}
@@ -107,7 +107,7 @@ the turtle is managed independently of other path commands.
Turtle graphics are especially nice in conjunction with the |\foreach|
statement:
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{turtle}}]
\tikz \filldraw [thick,blue,fill=blue!20]
[turtle=home]
\foreach \i in {1,...,5}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
index c7724e72c47..0a14a10163e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
@@ -50,7 +50,7 @@ it easy to create animations in which you zoom in, zoom out, and pan a graphic.
inside the window rectangle.
\end{enumerate}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{views}}]
\tikz {
\draw [red, very thick] (0,0) rectangle (20mm,20mm);
\begin{scope}[meet = {(0.5,0.5) (2.5,1.5) at (0,0) (2,2)}]
@@ -59,7 +59,7 @@ it easy to create animations in which you zoom in, zoom out, and pan a graphic.
\end{scope} }
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{views}}]
\tikz {
\draw [red, very thick] (0,0) rectangle (20mm,20mm);
\begin{scope}[slice = {(0.5,0.5) (2.5,1.5) at (0,0) (2,2)}]
@@ -73,7 +73,7 @@ it easy to create animations in which you zoom in, zoom out, and pan a graphic.
the |meet| command as the target object and then animate its |:view|
attribute:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations,views}}]
\tikz [animate = {
my scope:view = {
begin on = { click, of next = here },
@@ -92,7 +92,7 @@ it easy to create animations in which you zoom in, zoom out, and pan a graphic.
You can, of course, also specify the animation using the |animate myself:|
key when you specify the animation inside the scope:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations,views}}]
\tikz [animate = {
my scope:view = {
}}] {
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
index 9abbb6f3d57..de2ef33a06e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
@@ -12,6 +12,7 @@
% The titlepage
+\pgfmathsetseed{1}
\newbox\mybox
{
\parindent0pt
@@ -284,8 +285,8 @@ read the present part.
\vskip1cm
-\begin{codeexample}[graphic=white]
-\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,on grid,semithick,
+\begin{codeexample}[graphic=white,preamble={\usetikzlibrary{arrows.meta,automata,positioning,shadows}}]
+\begin{tikzpicture}[->,>={Stealth[round]},shorten >=1pt,auto,node distance=2.8cm,on grid,semithick,
every state/.style={fill=red,draw=none,circular drop shadow,text=white}]
\node[initial,state] (A) {$q_a$};
@@ -331,8 +332,7 @@ read the present part.
\bigskip
\noindent
\vskip3cm
-\begin{codeexample}[graphic=white]
-
+\begin{codeexample}[graphic=white,preamble={\usetikzlibrary{angles,calc,quotes}}]
\begin{tikzpicture}[angle radius=.75cm]
\node (A) at (-2,0) [red,left] {$A$};
@@ -395,10 +395,13 @@ graph for you. \tikzname\ comes with powerful such algorithms, but you can also
implement new algorithms in the Lua programming language. \vskip1cm
\ifluatex
-\begin{codeexample}[graphic=white]
+\begin{codeexample}[
+ graphic=white,
+ preamble={\usetikzlibrary{arrows.meta,graphs,graphdrawing}
+\usegdlibrary{layered}}]
\tikz [nodes={text height=.7em, text depth=.2em,
draw=black!20, thick, fill=white, font=\footnotesize},
- >=spaced stealth', rounded corners, semithick]
+ >={Stealth[round,sep]}, rounded corners, semithick]
\graph [layered layout, level distance=1cm, sibling sep=.5em, sibling distance=1cm] {
"5th Edition" -> { "6th Edition", "PWB 1.0" };
"6th Edition" -> { "LSX" [>child anchor=45], "1 BSD", "Mini Unix", "Wollongong", "Interdata" };
@@ -458,7 +461,7 @@ libraries are not loaded by default since many users will not need them.
\medskip
\noindent
-\begin{codeexample}[graphic=white]
+\begin{codeexample}[graphic=white,preamble={\usetikzlibrary{arrows,trees}}]
\tikzset{
ld/.style={level distance=#1},lw/.style={line width=#1},
level 1/.style={ld=4.5mm, trunk, lw=1ex ,sibling angle=60},
@@ -522,6 +525,7 @@ libraries are not loaded by default since many users will not need them.
\include{pgfmanual-en-library-automata}
\include{pgfmanual-en-library-babel}
\include{pgfmanual-en-library-backgrounds}
+\include{pgfmanual-en-library-bbox}
\include{pgfmanual-en-library-calc}
\include{pgfmanual-en-library-calendar}
\include{pgfmanual-en-library-chains}
@@ -566,7 +570,7 @@ libraries are not loaded by default since many users will not need them.
\bigskip
\noindent
-\begin{codeexample}[graphic=white]
+\begin{codeexample}[graphic=white,preamble={\usetikzlibrary{datavisualization.formats.functions}}]
\tikz \datavisualization [scientific axes=clean]
[
visualize as smooth line=Gaussian,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
index 0909945567b..57f51bda219 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
@@ -35,6 +35,7 @@
arrows,
arrows.spaced,
arrows.meta,
+ bbox,
bending,
babel,
calc,
@@ -137,9 +138,9 @@
\def\LuaTeX{Lua\TeX}%
-
-\iffalse
-%\iftrue
+\newif\ifpgfmanualexternalize
+\pgfmanualexternalizefalse
+\ifpgfmanualexternalize
\tikzexternalize[
mode=list only,export=true,% simply skips EVERY picture -> good for debugging the text.
]{pgfmanual}
@@ -238,6 +239,16 @@
\tikzset{make snapshot if necessary}
+% Detect changed labels
+% by David Carlisle https://tex.stackexchange.com/a/169245
+\makeatletter
+\def\@testdef#1#2#3{%
+ \def\reserved@a{#3}%
+ \expandafter\ifx\csname #1@#2\endcsname\reserved@a\else
+ \typeout{^^JLabel `#2' changed:^^J\meaning\reserved@a^^J\expandafter\meaning\csname #1@#2\endcsname^^J}%
+ \@tempswatrue
+ \fi}
+\makeatother
%% -----------------------------------------------------------------------------
%\includeonly{
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
index 1acec247f8f..93c0aed44b7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
@@ -188,7 +188,7 @@ To redefine a function use the following command:
When specifying multiple functions, functions that appear later on in
\meta{function definitions} can refer to earlier functions:
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}}]
\begin{tikzpicture}[
declare function={
excitation(\t,\w) = sin(\t*\w);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
index 9cd4a9a6dd6..72b60ef6d99 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
@@ -290,8 +290,8 @@ precision.
|fixed relative| ``rounds from the left'': it takes the \emph{first}
non-zero digit, temporarily places the period after this digit, and rounds
that number. The rounding style |fixed| leaves the period where it is, and
- rounds everything behind that digit. The |sci| style is similar to |fixed
- relative|.
+ rounds everything behind that digit. The |sci| style is similar to
+ |fixed relative|.
\end{keylist}
\begin{key}{/pgf/number format/int detect}
@@ -344,7 +344,7 @@ precision.
\begin{key}{/pgf/number format/frac}
Displays numbers as fractionals.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{fpu}}]
\pgfkeys{/pgf/number format/frac}
\pgfmathprintnumber{0.333333333333333}\hspace{1em}
\pgfmathprintnumber{0.5}\hspace{1em}
@@ -370,7 +370,7 @@ precision.
\begin{key}{/pgf/number format/frac denom=\meta{int} (initially empty)}
Allows to provide a custom denominator for |frac|.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{fpu}}]
\pgfkeys{/pgf/number format/.cd,frac, frac denom=10}
\pgfmathprintnumber{0.1}\hspace{1em}
\pgfmathprintnumber{0.5}\hspace{1em}
@@ -385,7 +385,7 @@ precision.
the fractional part. In this case, the fractional part will be less
then $1$. Use |frac whole=false| to avoid whole number parts.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{fpu}}]
\pgfkeys{/pgf/number format/.cd,frac, frac whole=false}
\pgfmathprintnumber{20.1}\hspace{1em}
\pgfmathprintnumber{5.5}\hspace{1em}
@@ -805,9 +805,9 @@ the correct digits, afterwards a display style generates proper \TeX-code.
\begin{stylekey}{/pgf/number format/verbatim}
A style which configures the number printer to produce verbatim text
- output, i.\,e., it doesn't contain \TeX\ macros.
+ output, i.e., it doesn't contain \TeX\ macros.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fpu}}]
\pgfkeys{
/pgf/fpu,
/pgf/number format/.cd,
@@ -823,9 +823,9 @@ the correct digits, afterwards a display style generates proper \TeX-code.
|assume math mode|. Furthermore, it installs a |sci generic| format for
verbatim output of scientific numbers.
- However, it will still respect |precision|, |fixed zerofill|, |sci
- zerofill| and the overall styles |fixed|, |sci|, |int detect| (and their
- variants). It might be useful if you intend to write output files.
+ However, it will still respect |precision|, |fixed zerofill|,
+ |sci zerofill| and the overall styles |fixed|, |sci|, |int detect| (and
+ their variants). It might be useful if you intend to write output files.
\end{stylekey}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
index 4b3f793dadf..9eaed9c975d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
@@ -274,7 +274,7 @@ For this, you can use the following commands:
A typical use of this function is the following:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc,quotes}}]
\tikz{
\coordinate["$A$"] (A) at (2,2);
\coordinate["$B$" below] (B) at (0,0);
@@ -1189,7 +1189,7 @@ some notable exceptions.
Generates a pseudo-random number between $0$ and $1$ with a uniform
distribution.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}}]
\foreach \x in {1,...,10}{\pgfmathparse{rnd}\pgfmathresult, }
\end{codeexample}
%
@@ -1200,7 +1200,7 @@ some notable exceptions.
Generates a pseudo-random number between $-1$ and $1$ with a uniform
distribution.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}}]
\foreach \x in {1,...,10}{\pgfmathparse{rand}\pgfmathresult, }
\end{codeexample}
%
@@ -1215,15 +1215,15 @@ some notable exceptions.
\mvar{x} and \mvar{y} is generated. If there are no arguments, the
\pgfname{} command should be called as follows: |\pgfmathrandom{}|.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}}]
\foreach \x in {1,...,10}{\pgfmathparse{random()}\pgfmathresult, }
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}}]
\foreach \x in {1,...,10}{\pgfmathparse{random(100)}\pgfmathresult, }
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}}]
\foreach \x in {1,...,10}{\pgfmathparse{random(232,762)}\pgfmathresult, }
\end{codeexample}
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
index 1dfec36c239..8a85b57c78e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
@@ -15,7 +15,7 @@
\begin{pgfmodule}{parser}%
This module defines some commands for creating a simple letter-by-letter
parser.
-\end{pgfmodule}%
+\end{pgfmodule}
This module provides commands for defining a parser that scans some given text
letter-by-letter. For each letter, some code is executed and, possibly a
@@ -45,7 +45,7 @@ optionally some code is executed afterwards.
In the following example, the parser counts the number of |a|'s in the
\text{text}, ignoring any |b|'s. The \meta{text} ends with the first~|c|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepgfmodule{parser}}]
\newcount\mycount
\pgfparserdef{myparser}{initial}{the letter a}%
{\advance\mycount by 1\relax}%
@@ -213,8 +213,11 @@ There are \the\mycount\ a's.
This macro stores the letter to which |\pgfparsertoken| was let. So if
you'd use |\pgfparserparse{foo}a| this macro would be defined with
|\def\pgfparserletter{a}|. This definition is done before any action code is
- executed. There are two special cases: If |{| or |}| would be the next letter
- for the parser, this macro is defined to expand to |\bgroup| or |\egroup|.
+ executed. There are four special cases: If the next token is of category code
+ 1, 2, 6, or 10, so with standard category codes the tokens |{|, |}|, |#|, and
+ \textvisiblespace\ (a space) would be treated differently. In those cases this
+ macro expands to |\bgroup|, |\egroup|, |##|, and \textvisiblespace\ for the
+ categories 1, 2, 6, and 10, respectively.
\end{command}%
\begin{command}{\pgfparserset\marg{key list}}%
@@ -223,7 +226,10 @@ There are \the\mycount\ a's.
listed in subsection~\ref{sec:parser:keys}.
\end{command}%
-\subsection{Keys of the Parser Module}\label{sec:parser:keys}%
+
+\subsection{Keys of the Parser Module}
+\label{sec:parser:keys}
+
\begin{key}{/pgfparser/silent=\meta{boolean} (initially false)}%
If |true| then no error will be thrown when a letter is parsed for which no
action is specified, silently ignoring it. This holds true for every parser.
@@ -244,13 +250,19 @@ the following will be defined:
defined parser.
\end{key}%
-\subsection{Examples}%
+
+\subsection{Examples}
+
The following example counts the different letters appearing in a more or less
-random string of letters. Every letter is counted only once, this is achieved by
-defining a new action for every encountered unknown letter that does nothing. We
-can define such rule without knowing which letter is used, because
+random string of letters. Every letter is counted only once, this is achieved
+by defining a new action for every encountered unknown letter that does
+nothing. We can define such rule without knowing which letter is used, because
|\pgfparsertoken| has the same meaning as that letter.
-\begin{codeexample}[]
+%
+\begin{codeexample}[
+ preamble={\usepgfmodule{parser}},
+ pre={\newcount\mycount},
+]
\mycount=0
% using the shortcut syntax of just placing ; after the state
\pgfparserdef{different letters}{all};{\pgfparserswitch{final}}%
@@ -266,7 +278,8 @@ can define such rule without knowing which letter is used, because
Next we want to try something that uses some of the different argument types
available.
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usepgfmodule{parser}}]
% using the same syntax as \pgfparserdef
\pgfparserdef{arguments}{initial}{the letter a}[d()]
{\pgfparserifmark{#1}{\textcolor{red}{\textit{use}}}{\textbf{#1}} }%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
index c35a3b9a5ec..2791a6936f1 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
@@ -306,6 +306,10 @@ package (it this package is not loaded, no translation takes place).
Furthermore, the |pgfcalendar| package will try to load the
|translator-months-dictionary|, if the |translator| package is loaded.
+If you want to use the |translator| package, it has to be loaded before the
+|pgfcalendar| package or, when you are using the |calendar| \tikzname\ library,
+before |tikz|. Otherwise it will not be properly detected.
+
The net effect of all this is that all dates will be translated to the current
language setup in the |translator| package. See the documentation of this
package for more details.
@@ -380,14 +384,14 @@ package for more details.
In a first example, let us create a very simple calendar: It just lists the
dates in a certain range.
%
-\begin{codeexample}[vbox,ignorespaces]
+\begin{codeexample}[vbox,ignorespaces,preamble={\usepackage{pgfcalendar}}]
\pgfcalendar{cal}{2007-01-20}{2007-02-10}{\pgfcalendarcurrentday\ }
\end{codeexample}
%
Let us now make this a little more interesting: Let us add a line break
after each Sunday.
%
-\begin{codeexample}[vbox,ignorespaces]
+\begin{codeexample}[vbox,ignorespaces,preamble={\usepackage{pgfcalendar}}]
\pgfcalendar{cal}{2007-01-20}{2007-02-10}
{
\pgfcalendarcurrentday\
@@ -399,7 +403,7 @@ package for more details.
different approaches work. Here is one based positioning each day
horizontally using a skip.
%
-\begin{codeexample}[vbox,ignorespaces]
+\begin{codeexample}[vbox,ignorespaces,preamble={\usepackage{pgfcalendar}}]
\pgfcalendar{cal}{2007-01-20}{2007-02-10}
{%
\leavevmode%
@@ -410,7 +414,7 @@ package for more details.
%
Let us now typeset two complete months.
%
-\begin{codeexample}[vbox,ignorespaces]
+\begin{codeexample}[vbox,ignorespaces,preamble={\usepackage{pgfcalendar}}]
\pgfcalendar{cal}{2007-01-01}{2007-02-28}{%
\ifdate{day of month=1}{
\par\bigskip\hbox to7.5cm{\itshape\hss\pgfcalendarshorthand mt\hss}\par
@@ -429,7 +433,7 @@ package for more details.
%
For our final example, we use a |{tikzpicture}|.
%
-\begin{codeexample}[vbox,ignorespaces]
+\begin{codeexample}[vbox,ignorespaces,preamble={\usepackage{pgfcalendar}}]
\begin{tikzpicture}
\pgfcalendar{cal}{2007-01-20}{2007-02-10}{%
\ifdate{workday}
@@ -470,7 +474,7 @@ package for more details.
you can write |\%wt| instead of the much more cumbersome
|\pgfcalendarshorthand{w}{t}|.
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[leave comments,preamble={\usepackage{pgfcalendar}}]
\let\%=\pgfcalendarshorthand
\pgfcalendar{cal}{2007-01-20}{2007-01-20}
{ ISO form: \%y0-\%m0-\%d0, long form: \%wt, \%mt \%d-, \%y0}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
index 392e2298142..fdac5a31c42 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
@@ -277,7 +277,7 @@ continue with the next subsection.
Settings keys is done using a powerful command called |\pgfkeys|. This command
takes a list of so-called \emph{key--value pairs}. These are pairs of the form
-\meta{key}|=|\meta{value}. The principle idea is the following: For each pair
+\meta{key}|=|\meta{value}. The principal idea is the following: For each pair
in the list, some \emph{action} is taken. This action can be one of the
following:
%
@@ -376,13 +376,13 @@ instead of the more cumbersome
An example where such a syntax reinterpretation is done is the |quotes|
library, which allows you to write things like
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph { a ->["1" red] b ->["0"] c };
\end{codeexample}
%
\noindent instead of the somewhat longer
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a ->[edge node={node[red,auto]{1}}] b ->[edge label=0] c };
\end{codeexample}
@@ -1416,6 +1416,19 @@ Key 4:& \pgfkeys{/key4}
processing \meta{key}|=|\meta{result}.
\end{handler}
+\begin{handler}{{.evaluated}|=|\meta{value}}
+ This handler will evaluate \meta{value} as a mathematical
+ expression with |\pgfmathparse| and assign \meta{key}|=\pgfmathresult|.
+ %
+\begin{codeexample}[]
+\pgfkeys{
+ /golden ratio/.initial/.evaluated={(1 + sqrt(5))/2},
+}
+\pgfkeys{/golden ratio}
+\end{codeexample}
+ %
+\end{handler}
+
\begin{handler}{{.list}|=|\meta{comma-separated list of values}}
This handler causes the key to be used repeatedly, namely once for every
element of the list of values. Note that the list of values should
@@ -1592,7 +1605,7 @@ Key 4:& \pgfkeys{/key4}
will ``try'' to use the key, but no further action is taken when the key is
not defined.
- The \TeX-if |\||ifpgfkeyssuccess| will be set according to whether the
+ The \TeX-if |\ifpgfkeyssuccess| will be set according to whether the
\meta{key} was successfully executed or not.
%
\begin{codeexample}[]
@@ -1605,7 +1618,7 @@ Key 4:& \pgfkeys{/key4}
\begin{handler}{{.retry}|=|\meta{value}}
This handler works just like |/.try|, only it will not do anything if
- |\||ifpgfkeyssuccess| is false. Thus, this handler will only retry to set a
+ |\ifpgfkeyssuccess| is false. Thus, this handler will only retry to set a
key if ``the last attempt failed''.
%
\begin{codeexample}[]
@@ -1618,7 +1631,7 @@ Key 4:& \pgfkeys{/key4}
\begin{handler}{{.lastretry}|=|\meta{value}}
This handler works like |/.retry|, only it will invoke the usual handlers
- for unknowns keys if |\||ifpgfkeyssuccess| is false. Thus, this handler
+ for unknowns keys if |\ifpgfkeyssuccess| is false. Thus, this handler
will only try to set a key if ``the last attempt failed''. Furthermore,
this here is the last such attempt.
\end{handler}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
index d93c8b8c0e2..2c08141ea2e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
@@ -25,6 +25,7 @@ supports family groupings and more abstract key selection mechanism with
|\pgfkeysfiltered|, a variant of |\pgfkeys|. Suppose we have the example key
grouping
+\begin{codeexample}[setup code,hidden]
\pgfkeys{
/my group/A1/.code=(A1:#1),
/my group/A2/.code=(A2:#1),
@@ -37,7 +38,9 @@ grouping
/my group/A3/.belongs to family=/my group/A,
/pgf/key filters/active families/.install key filter,
/my group/A/.activate family,
-}%
+}
+\end{codeexample}
+%
\begin{codeexample}[code only]
\pgfkeys{
/my group/A1/.code=(A1:#1),
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
index 7ac5b4f795e..85adcf9024b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
@@ -11,6 +11,7 @@
\section{Animation System Layer}
\label{section-pgfsys-anim}
+\begin{codeexample}[setup code,hidden]
\makeatletter
\def\animationexample#1#2#3{%
@@ -24,6 +25,7 @@
(node) {Click \\ here};
}%
}
+\end{codeexample}
In conjunction with the right output format (namely \textsc{svg}), you can
specify that certain parts of you graphics can be animated. For this, there are
@@ -159,7 +161,9 @@ driver implements):
%
Now the example, where the circle will disappear, when clicked:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2}]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscalar{1}
@@ -213,7 +217,7 @@ The ``opposite'' of |\pgfsysanimate| is the following command:
numerically stable.
\end{enumerate}
%
-\begin{codeexample}[width=5cm]
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{animations}}]
\foreach \t in {0.5,1,1.5,2} {
\pgfsysanimsnapshot{\t}
\tikz {
@@ -257,7 +261,10 @@ visibility, and opacity.
Specify values with |\pgfsysanimvalscalar|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscalar{1}
@@ -274,7 +281,10 @@ visibility, and opacity.
Specify values with |\pgfsysanimvalscalar|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscalar{1}
@@ -291,7 +301,10 @@ visibility, and opacity.
Specify values with |\pgfsysanimvalscalar|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscalar{1}
@@ -309,7 +322,10 @@ visibility, and opacity.
Specify values with |\pgfsysanimvaltext|. However, only two values are
allowed: |visible| and |hidden|.
%
-\begin{codeexample}[animation list={-1,0,1,2,3}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={-1,0,1,2,3},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltext{hidden}
@@ -326,7 +342,10 @@ visibility, and opacity.
Specify values with |\pgfsysanimvalcolorrgb| and friends.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalcolorrgb{0}{0}{0}
@@ -343,7 +362,10 @@ visibility, and opacity.
Specify values with |\pgfsysanimvalcolorrgb| and friends.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalcolorrgb{0}{0}{0}
@@ -369,7 +391,11 @@ The following attributes influence paths and how they are rendered.
Specify values with |\pgfsysanimvalpath|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(0.9,-0.1)rectangle(2.1,1.1)}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(0.9,-0.1)rectangle(2.1,1.1)},
+]
\animationexample{my path}{path}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalpath{\pgfsys@moveto{1cm}{0cm}%
@@ -396,7 +422,7 @@ The following attributes influence paths and how they are rendered.
|\pgfsetarrows| and then animate the path, you will get an error
message.
\item Internally, the arrow tips that ``rotate and move along'' are
- drawn using so-called \emph{markers.} These are little graphic
+ drawn using so-called \emph{markers}. These are little graphic
objects that can be added to the start and end of paths and that
are automatically rotated and move along with the path.
@@ -464,7 +490,11 @@ The following attributes influence paths and how they are rendered.
animations may use different arrow tips / markers. This allows you to
animate (change) which arrow tip is used on a path over time.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(0.7,-0.3)rectangle(2.3,1.3)}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(0.7,-0.3)rectangle(2.3,1.3)},
+]
% Declare a marker:
\pgfsys@marker@declare\mymarker{%
\pgfscope%
@@ -503,7 +533,10 @@ The following attributes influence paths and how they are rendered.
Specify values with |\pgfsysanimvaldimension|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaldimension{1pt}
@@ -520,7 +553,10 @@ The following attributes influence paths and how they are rendered.
Specify values with |\pgfsysanimvaldash|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaldash{1pt,10pt}{0pt}
@@ -530,7 +566,10 @@ The following attributes influence paths and how they are rendered.
}
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaldash{1cm,1pt}{0pt}
@@ -540,7 +579,10 @@ The following attributes influence paths and how they are rendered.
}
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaldash{3pt,1pt}{0pt}
@@ -612,7 +654,7 @@ first.
in two seconds and rotates the blue ball over 90$^\circ$ around the origin.
The ball is placed at $(1,0)$.
%
-\begin{codeexample}[code only]
+\begin{codeexample}[code only,setup code]
\def\animationcanvasexample#1#2{%
\animationexample{ball}{}{%
\pgfsysanimkeycanvastransform{#1}{#2}%
@@ -632,6 +674,8 @@ first.
\fill [ball color=blue,name=ball] (1,0) circle [radius=3mm]; } }
\end{codeexample}
%
+% TODOsp: codeexamples: this definition is needed for the next 4 `codeexample`s
+% but because of the hash sign it can't simply be added `pre`
\def\animationcanvasexample#1#2{%
\animationexample{ball}{}{%
\pgfsysanimkeycanvastransform{#1}{#2}%
@@ -650,26 +694,42 @@ first.
\pgfsysanimate{rotate}
\fill [ball color=blue,name=ball] (1,0) circle [radius=3mm]; } }
-\begin{codeexample}[width=9.9cm,animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ width=9.9cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationcanvasexample
{}
{}
\end{codeexample}
%
-\begin{codeexample}[width=9.9cm,animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ width=9.9cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationcanvasexample
{\pgfsys@transformshift{10mm}{0mm}}
{\pgfsys@transformshift{-10mm}{0mm}}
\end{codeexample}
%
-\begin{codeexample}[width=9.9cm,animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ width=9.9cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationcanvasexample
{\pgfsys@transformcm{0.5}{0.5}{-0.5}{0.5}
{0pt}{0pt}}
{}
\end{codeexample}
%
-\begin{codeexample}[width=9.9cm,animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ width=9.9cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationcanvasexample
{\pgfsys@transformcm{0.5}{0.5}{-0.5}{0.5}
{0pt}{0pt}}
@@ -685,7 +745,10 @@ first.
Specify values with |\pgfsysanimvaltranslate|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}%
@@ -703,7 +766,10 @@ first.
Specify values with |\pgfsysanimvalscale|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscale{1}{1}%
@@ -720,7 +786,10 @@ first.
Specify values with |\pgfsysanimvalscalar|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ ]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscalar{0}%
@@ -738,7 +807,10 @@ first.
Specify values with |\pgfsysanimvalscalar|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalscalar{0}%
@@ -782,7 +854,10 @@ first.
simply be executed and must call |\pgfsys@lineto| and similar
path-construction commands, but should not call other commands.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},render instead={
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ render instead={
\animationexample{node}{}{
\pgfsysanimkeymovealong{
\pgfsyssoftpath@movetotoken{0pt}{0pt}
@@ -829,7 +904,10 @@ first.
so that it points along the path as time progresses. This option is
only applicable to motion animations.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},render instead={
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ render instead={
\animationexample{node}{}{
\pgfsysanimkeyrotatealong
\pgfsysanimkeymovealong{
@@ -871,8 +949,12 @@ first.
Specify values with |\pgfsysanimvalviewbox|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},width=5cm,animation
- bb={(0.9,-2.1) rectangle (3.1,2.1)}]
+\begin{codeexample}[
+ width=5cm,
+ preamble={\usetikzlibrary{animations,views}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(0.9,-2.1) rectangle (3.1,2.1)},
+]
\animationexample{my view}{view}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvalviewbox{-10mm}{-20mm}{10mm}{20mm}%
@@ -1122,7 +1204,11 @@ that must be used).
Specifies that the animation should repeat the specified \meta{number of
times}, which may be a fractional number.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1139,7 +1225,11 @@ that must be used).
\begin{command}{\pgfsys@animation@repeat@indefinite}
Specifies that the animation should repeat indefinitely.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1157,7 +1247,11 @@ that must be used).
Specifies that the animation should repeat until \meta{seconds} have
elapsed.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1199,8 +1293,11 @@ possible beginnings (or endings).
after the graphic is shown. For instance, in the next example the animation
will start automatically after 5\,s \emph{or} when then button is pressed.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm,render
- instead={
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+render instead={
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1259,7 +1356,10 @@ possible beginnings (or endings).
onto the object, moved over the object, or moved off the object.
\end{itemize}
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1269,7 +1369,10 @@ possible beginnings (or endings).
\pgfsysanimate{translate} }
\end{codeexample}
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1279,7 +1382,10 @@ possible beginnings (or endings).
\pgfsysanimate{translate} }
\end{codeexample}
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1289,7 +1395,10 @@ possible beginnings (or endings).
\pgfsysanimate{translate} }
\end{codeexample}
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1299,7 +1408,10 @@ possible beginnings (or endings).
\pgfsysanimate{translate} }
\end{codeexample}
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1317,7 +1429,11 @@ possible beginnings (or endings).
The animation begins (or end) with a certain offset when another animation
has reached a certain repeat count.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1350,7 +1466,10 @@ possible beginnings (or endings).
event may not be supported by some browsers for security reasons (prevent
key loggers).
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1372,7 +1491,10 @@ possible beginnings (or endings).
Defines that the animation can be restarted at any time. This is the
default.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1389,7 +1511,10 @@ possible beginnings (or endings).
\begin{command}{\pgfsys@animation@restart@never}
Defines that the animation cannot be restarted once it has run.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1406,7 +1531,10 @@ possible beginnings (or endings).
\begin{command}{\pgfsys@animation@restart@whennotactive}
Defines that the animation cannot be restarted while it is running.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[
+ width=2cm,
+ preamble={\usetikzlibrary{animations}},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1427,7 +1555,11 @@ possible beginnings (or endings).
at the end of the animation the last value of the attributes stays in
effect.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1444,7 +1576,11 @@ possible beginnings (or endings).
\begin{command}{\pgfsys@animation@removeatend{}}
The opposite of |\pgfsysanimkeyfreezeatend|. This is the default.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1471,7 +1607,11 @@ during each repeat the values can add up:
Specifies that each repeat of an animation works as if the last values
attained during previous repeats are added to the current value.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
@@ -1490,7 +1630,11 @@ during each repeat the values can add up:
Specifies that each repeat resets the to-be-animated value. This is the
default.
%
-\begin{codeexample}[animation list={1,2,3,4,5,6,7,8},width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5,6,7,8},
+]
\animationexample{node}{}{
\pgfsysanimkeytime{0}{1}{1}{0}{0}
\pgfsysanimvaltranslate{0cm}{0cm}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
index 03c619eb97f..a889467fb56 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
@@ -126,8 +126,8 @@ The most unspecific option for setting colors is the following:
hours or so). The emulation allows you to do the following:
%
\begin{itemize}
- \item Specify a new color using |\definecolor|. Only the two color
- models |gray| and |rgb| are supported\footnote{Con\TeX t users
+ \item Specify a new color using |\definecolor|. Only the color models
+ |gray|, |rgb|, and |RGB| are supported\footnote{Con\TeX t users
should be aware that \texttt{\textbackslash definecolor} has a
different meaning in Con\TeX t. There is a low-level equivalent
named \texttt{\textbackslash pgfutil@definecolor} which can be
@@ -364,12 +364,12 @@ setting the line width. You can also redefine these styles.
\begin{key}{/tikz/dash expand off}
Makes the |off| part of a dash pattern expandable such that it can stretch.
This only works when there is a single |on| and a single |off| field and
- requires the |decorations| library. Right now this option has to be
- specified on the path where it is supposed to take effect after the |dash
- pattern| option because the dash pattern has to be known at the point where
- it is applied.
+ requires the |decorations| library. Right now this option has to be
+ specified on the path where it is supposed to take effect after the
+ |dash pattern| option because the dash pattern has to be known at the point
+ where it is applied.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations}}]
\begin{tikzpicture}[|-|, dash pattern=on 4pt off 2pt]
\draw [dash expand off] (0pt,30pt) -- (26pt,30pt);
\draw [dash expand off] (0pt,20pt) -- (24pt,20pt);
@@ -582,19 +582,28 @@ transparency in more detail.
This style selects a double line distance such that it corresponds to the
distance of the two lines in an equal sign.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepackage{amsmath}
+\usetikzlibrary{arrows.meta}}
+]
\Huge $=\implies$\tikz[baseline,double equal sign distance]
- \draw[double,thick,-implies](0,0.55ex) --++(3ex,0);
+ \draw[double,thick,-{Implies[]}](0,0.55ex) --++(3ex,0);
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepackage{amsmath}
+\usetikzlibrary{arrows.meta}}
+]
\normalsize $=\implies$\tikz[baseline,double equal sign distance]
- \draw[double,-implies](0,0.6ex) --++(3ex,0);
+ \draw[double,-{Implies[]}](0,0.6ex) --++(3ex,0);
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepackage{amsmath}
+\usetikzlibrary{arrows.meta}}
+]
\tiny $=\implies$\tikz[baseline,double equal sign distance]
- \draw[double,very thin,-implies](0,0.5ex) -- ++(3ex,0);
+ \draw[double,very thin,-{Implies[]}](0,0.5ex) -- ++(3ex,0);
\end{codeexample}
%
\end{stylekey}
@@ -623,11 +632,11 @@ the beginning and at the end of the current path. This is true even when
``only'' arrow tips get drawn for a path without drawing the path itself. Here
is an example:
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{arrows.meta,bending}}]
\tikz \path[tips, -{Latex[open,length=10pt,bend]}] (0,0) to[bend left] (1,0);
\end{codeexample}
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{arrows.meta,bending}}]
\tikz \draw[tips, -{Latex[open,length=10pt,bend]}] (0,0) to[bend left] (1,0);
\end{codeexample}
@@ -714,7 +723,7 @@ simulated ones.
instance the |patterns| library, see
Section~\ref{section-library-patterns}, to install predefined patterns.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\begin{tikzpicture}
\draw[pattern=dots] (0,0) circle (1cm);
\draw[pattern=fivepointed stars] (0,0) rectangle (3,1);
@@ -727,14 +736,14 @@ simulated ones.
This option is used to set the color to be used for form-only patterns.
This option has no effect on inherently colored patterns.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\begin{tikzpicture}
\draw[pattern color=red,pattern=fivepointed stars] (0,0) circle (1cm);
\draw[pattern color=blue,pattern=fivepointed stars] (0,0) rectangle (3,1);
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\begin{tikzpicture}
\def\mypath{(0,0) -- +(0,1) arc (180:0:1.5cm) -- +(0,-1)}
\fill [red] \mypath;
@@ -1306,7 +1315,7 @@ the following two options:
\end{codeexample}
Naturally, you would normally create a style |shadow| that contains the
- above code. The shadow library, see Section~\ref{section-libs-shadows},
+ above code. The |shadows| library, see Section~\ref{section-libs-shadows},
contains predefined shadows of this kind.
It is possible to use the |preaction| option multiple times. In this case,
@@ -1317,7 +1326,7 @@ the following two options:
In the following example, we use one |preaction| to add a shadow and
another to provide a shading, while the main action is to use a pattern.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\draw [pattern=fivepointed stars]
@@ -1333,7 +1342,7 @@ the following two options:
is used several times with different fadings and shadings to create a
special visual effect:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzpicture}
[
% Define an interesting style
@@ -1396,7 +1405,7 @@ the following two options:
In another example, we use a postaction to ``colorize'' a path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
\draw
@@ -1420,7 +1429,7 @@ described in detail in Section~\ref{section-tikz-decorations}. For instance, in
the following example the path is drawn twice: Once normally and then in a
morphed (=decorated) manner.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw (0,0) rectangle (3,2);
\draw [red, decorate, decoration=zigzag]
@@ -1431,7 +1440,7 @@ morphed (=decorated) manner.
Naturally, we could have combined this into a single command using pre- or
postaction. It is also possible to deform shapes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing,shadows}}]
\begin{tikzpicture}
\node [circular drop shadow={shadow scale=1.05},minimum size=3.13cm,
decorate, decoration=zigzag,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
index 6a7f606f43d..a692412fb35 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
@@ -24,7 +24,12 @@ picture, but a change of, say, the opacity of a path is also an animation.
\tikzname\ allows you to specify such animations using special keys and
notations.
%
-\begin{codeexample}[width=8cm,animation list={0.7,1.4,2.1,2.8},animation scale=.25]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ width=8cm,
+ animation list={0.7,1.4,2.1,2.8},
+ animation scale=.25,
+]
\begin{tikzpicture}[
animate/orbit/.style 2 args = {
myself:shift = {
@@ -66,7 +71,7 @@ Adding an animation to a \tikzname\ picture is done as follows:
As a simple example, let us move a circle within thirty seconds by three
centimeters to the left:
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \draw :xshift = {0s = "0cm", 30s = "-3cm", repeats} (0,0) circle (5mm);
\end{codeexample}
@@ -150,7 +155,7 @@ attributes that can be animated:
\item Graphic scopes, which are created by numerous command, including the
|{scope}| environment, the |\scopes| command, but also |\tikz| itself
creates a graphic scope and so does each node and even each path.
- \item View boxes, which can only be created using the |view| library.
+ \item View boxes, which can only be created using the |views| library.
\item Paths, which you create using the |\path| command or commands like
|\draw| that call |\path| internally. However, the (usually background)
path of a node can also be animated. Note that ``animating the path''
@@ -258,12 +263,18 @@ creating these timelines.
you will use it with a |{scope}| environment, inside the options of a node,
or directly with the |\tikz| command:
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2},
+]
\tikz \node [fill, text = white, animate = {
myself:fill = {0s = "red", 2s = "blue", begin on = click }}] {Click me};
\end{codeexample}
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2},
+]
\tikz [animate = {a node:fill = {0s = "red", 2s = "blue",
begin on = click}}]
\node (a node) [fill, text = white] {Click me};
@@ -277,7 +288,7 @@ creating these timelines.
styles for this key path and use them. For instance, we can define a
|shake| animation like this:
%
-\begin{codeexample}[width=4cm]
+\begin{codeexample}[width=4cm,preamble={\usetikzlibrary{animations}}]
\tikzset{
animate/shake/.style = {myself:xshift = { begin on=click,
0s = "0mm", 50ms = "#1", 150ms = "-#1", 250ms = "#1", 300ms = "0mm" }}}
@@ -333,7 +344,10 @@ an entry:
like |begin on|, are also added to the timeline of the object--attribute
pair.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = {
object = node, attribute = fill, time = 0s, value = red, entry,
object = node, attribute = fill, time = 2s, value = blue, entry,
@@ -345,7 +359,10 @@ an entry:
object and the attribute in each line, they retain their values unless they
are overwritten. Thus, we could also have written:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = {
object = node, attribute = fill, time = 0s, value = red, entry,
time = 2s, value = blue, entry,
@@ -364,7 +381,10 @@ an entry:
attributes (that is, between timelines), but the times for any given
timeline must be given in non-decreasing order:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = {
object = node, attribute = fill, time = 0s, value = red, entry,
object = node2, attribute = draw, entry,
@@ -404,7 +424,10 @@ Section~\ref{section-anim-syntax-obj}.
|name path| key is not the same as |name|; it is an older key from the
intersections package and not related.)
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = { object = b, :fill = {0s = "red", 2s = "blue",
begin on = click }}] {
\node (a) [fill, text = white, minimum width=1.5cm] at (0,1cm) {a};
@@ -412,7 +435,10 @@ Section~\ref{section-anim-syntax-obj}.
\node (c) [fill, text = white, minimum width=1.5cm] at (0,0mm) {c}; }
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = { object = b, :fill = {0s = "red", 2s = "blue",
begin on = click },
object = c, :fill = {0s = "green", 2s = "blue",
@@ -452,7 +478,10 @@ Section~\ref{section-anim-syntax-obj}.
exact list of possible attributes is documented in
Section~\ref{section-anim-attrs}.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = {attribute = fill, n: = { 0s = "red", 2s = "blue",
begin on = click } }]
\node (n) [fill, text = white] {The node};
@@ -479,7 +508,10 @@ Section~\ref{section-anim-syntax-obj}.
object, the attribute, and the value of this key. We can now specify two
separate timelines:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = {
id = 1, n:shift = { 0s = "{(0,0)}", 2s = "{(0,5mm)}", begin on = click },
id = 2, n:shift = { 0s = "{(0,0)}", 2s = "{(5mm,0)}", begin on = click }
@@ -557,7 +589,10 @@ the effects accumulate).
is interpreted as an offset to the time in the previous use of the time
key:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :fill = { begin on = click,
0s = "white",
500ms later = "red",
@@ -598,9 +633,12 @@ time = 2s later % same as time = 7s
One application of forks is in the definition of keys that add a
certain part to a longer animation. Consider for instance the
- definition of a |hilight| key:
+ definition of a |highlight| key:
%
-\begin{codeexample}[animation list={1.05,1.1,1.15,1.2,2.05,2.1,2.15,2.2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1.05,1.1,1.15,1.2,2.05,2.1,2.15,2.2},
+]
\tikz [animate/highlight/.style = {
scope = { fork = #1,
:fill = { 0s = "black", 0.1s = "white", 0.2s = "black"} }
@@ -746,7 +784,10 @@ makes this easy:
Executed the \meta{options} inside a \TeX\ scope. In particular, all
settings made inside the scope have no effect after the end of the |scope|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node [animate = { myself: = { begin on = click,
scope = { attribute = fill, repeats = 3, 0s = "red", 2s = "red!50" },
scope = { attribute = draw, 0s = "red", 2s = "red!50" }
@@ -839,7 +880,7 @@ animate = {
\end{codeexample}
Next, we do the same, but ``in two steps'': First, we set the object to
-|my node|, but leave the attribute open and, then, set the attribute, but leave
+|mynode|, but leave the attribute open and, then, set the attribute, but leave
the object:
%
\begin{codeexample}[code only]
@@ -952,7 +993,10 @@ allows you to use a special syntax with nodes and scopes:
Let us have a look at some examples. First, we use the syntax to set the fill
opacity of a node:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node
:fill opacity = { 0s="1", 2s="0", begin on=click }
[fill = blue!20, draw = blue, ultra thick, circle] {Here!};
@@ -960,7 +1004,10 @@ opacity of a node:
%
Next, we additionally rotate the node:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node
:fill opacity = { 0s="1", 2s="0", begin on=click }
:rotate = { 0s="0", 2s="90", begin on=click }
@@ -971,7 +1018,10 @@ Note that there is no comma between consecutive uses of the colon syntax in
this case. We could have exchanged the order of the options and the uses of the
colon syntax:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node
:fill opacity = { 0s="1", 2s="0", begin on=click }
[fill = blue!20, draw = blue, ultra thick, circle]
@@ -980,7 +1030,10 @@ colon syntax:
We can also use the special syntax with the |\tikz| command itself:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz :fill opacity = { 0s="1", 2s="0", begin on=click }
:rotate = { 0s="0", 2s="90", begin on=click }
[ultra thick]
@@ -1254,7 +1307,10 @@ However, when an object inside the scope has its color set explicitly, this
color overrules the color of the scope.
\begin{tikzanimateattribute}{fill, draw}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz :fill = {0s = "red", 2s = "blue", begin on = click}
[text = white, fill = orange ] {
\node [fill] at (0mm,0) {A};
@@ -1268,7 +1324,10 @@ color overrules the color of the scope.
The |text| attribute only applies to nodes and you need to directly animate
the |text| attribute of each node individually.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [my anim/.style={ animate = {
myself:text = {0s = "red", 2s = "blue", begin on = click}}},
text = white, fill = orange ] {
@@ -1280,7 +1339,10 @@ color overrules the color of the scope.
Unlike the |fill| and |draw| colors, you cannot animate the |text| color
for scopes:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz [animate = {myself:text = {0s = "red", 2s = "blue",
begin on = click}},
text = white, fill = orange ] {
@@ -1303,7 +1365,10 @@ color overrules the color of the scope.
for drawing using the attributes |fill opacity| and |draw opacity|, which
are exactly the same as the usual \tikzname\ keys of the same names.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :fill opacity = { 0s="1", 2s="0", begin on=click }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1314,7 +1379,10 @@ color overrules the color of the scope.
which it is applied as a transparency group. In essence, ``this attribute
does what you want'' at least in most situations.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :opacity = { 0s="1", 2s="0", begin on=click }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1327,7 +1395,10 @@ color overrules the color of the scope.
rendered. The (only) two possible values for this attribute are |false| and
|true|.
%
-\begin{codeexample}[animation list={1,2,3,4}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4},
+]
\tikz :visible = {begin on=click, 0s="false", 2s="false"}
\node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
\end{codeexample}
@@ -1340,7 +1411,11 @@ color overrules the color of the scope.
object ``enters'' the stage and ``leaves'' once more when it is no longer
``on stage''.
%
-\begin{codeexample}[animation list={-1,0,1,2,3},animation bb={(1.3,-0.7) rectangle (2.7,0.7)}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={-1,0,1,2,3},
+ animation bb={(1.3,-0.7) rectangle (2.7,0.7)},
+]
\tikz [animate = {example:stage = {
begin on = {click, of next=node},
0s="true", 2s="true" }}] {
@@ -1361,7 +1436,10 @@ since the animation attributes simply have that same names as the properties
that they animate and the syntax for setting is also the same:
\begin{tikzanimateattribute}{line width}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :line width = { 0s="1pt", 2s="5mm", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1378,13 +1456,19 @@ that they animate and the syntax for setting is also the same:
identical. The interpolation of the values is done for each position of the
sequences individually, and also on the phase.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :dash = { 0s="on 10pt off 1pt phase 0pt",
2s="on 1pt off 10pt phase 0pt", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :dash = { 0s="on 1cm off 1pt phase 0pt",
2s="on 1cm off 1pt phase 1cm", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
@@ -1395,7 +1479,10 @@ that they animate and the syntax for setting is also the same:
also set, namely to the current dash pattern that is in force when the
animation is created.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :dash phase = { 0s="0pt", 2s="1cm", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle, dashed] {Click me!};
\end{codeexample}
@@ -1408,7 +1495,10 @@ however, also animate the path itself:
\begin{tikzanimateattribute}{path}
When you animate a path, the values are, of course, paths themselves:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :path = {
0s = "{(0,-1) .. controls (0,0) and (0,0) .. (0,1) -- (1,1)}",
2s = "{(0,-1) .. controls (-1,0) and (-1,0) .. (-1,1) -- (.5,-1)}",
@@ -1432,7 +1522,10 @@ however, also animate the path itself:
example shows, where we used the fact that a circle consists of
four Bézier curves):
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :path = {
0s = "{(0,0) circle [radius=1cm]}",
2s = "{(0,0)
@@ -1505,7 +1598,11 @@ however, also animate the path itself:
Here is an example:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(-0.1,-0.1) rectangle (1.1,1.1)}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(-0.1,-0.1) rectangle (1.1,1.1)},
+]
\tikz [very thick] {
\node (node) at (-2,0)
[fill = blue!20, draw = blue, very thick, circle] {Click me!};
@@ -1540,7 +1637,10 @@ Let us start with the ``standard'' attributes that are also available as keys
in \tikzname:
\begin{tikzanimateattribute}{scale, xscale, yscale}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :scale = { 0s="1", 2s="0.2", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1549,7 +1649,10 @@ in \tikzname:
\begin{tikzanimateattribute}{rotate}
The |rotate| key adds an animation of the rotation:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :rotate = { 0s="45", 2s="90", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1562,12 +1665,18 @@ in \tikzname:
The keys add an animation of the skew (given in degrees) or slant (given as
in the |xslant| and |yslant| key):
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :xskew = { 0s="0", 2s="45", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :xslant = { 0s="-1", 2s="1", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1575,13 +1684,19 @@ in \tikzname:
\end{tikzanimateattribute}
\begin{tikzanimateattribute}{xshift, yshift}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :shift = { 0s="{(0,0)}", 2s="{(5mm,-5mm)}",
begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :xshift = { 0s="0pt", 2s="5mm", begin on=click}
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
@@ -1593,7 +1708,10 @@ in \tikzname:
specify a sequence of coordinates in the same way as you would use the
|shift| key in \tikzname:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz \node :shift = { 0s = "{(0,0)}", 2s = "{(5mm,-5mm)}",
begin on = click }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
@@ -1613,7 +1731,10 @@ in \tikzname:
fractions of the distance along the path. A value of |"0"| refers to
the beginning of the path and |"1"| refers to the end:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,1.2);
\draw (1,.5) circle [radius=1mm];
@@ -1631,7 +1752,10 @@ in \tikzname:
use |sloped|, the object will be continuously rotated so that it always
points along the path.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,1.2);
\draw (1,.5) circle [radius=1mm];
@@ -1655,7 +1779,10 @@ right'', where is ``the right''? By default, movements and transformations like
which defaults to the local coordinate system of the to-be-animated object.
Consider the following example:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,2.2);
\node :rotate = { 0s="0", 2s="45", begin on=click}
@@ -1674,7 +1801,10 @@ system, which is at |(1,1)| in the picture's coordinate system.
Let us, by comparison, do a rotation of a scope surrounding the node where the
origin is not (yet) shifted:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,2.2);
\scoped :rotate = { 0s="0", 2s="45", begin on={click, of next=n} }
@@ -1695,7 +1825,10 @@ expect'', but you can modify it using the following keys:
|(1,1)| relative to the picture's origin and the |origin| key shifts it one
centimeter to the right.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,2.2);
\node :rotate = { 0s="0", 2s="45", begin on=click,
@@ -1724,7 +1857,10 @@ expect'', but you can modify it using the following keys:
transformation matrix), which can by numerically instable when you use
ill-conditioned transformations.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,2.2);
\node :xshift = { 0s="0cm", 2s="5mm", begin on=click,
@@ -1733,7 +1869,10 @@ expect'', but you can modify it using the following keys:
}
\end{codeexample}
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,2.2);
\node :xshift = { 0s="0cm", 2s="5mm", begin on=click,
@@ -1782,7 +1921,10 @@ coordinate system.
\begin{tikzanimateattribute}{position}
Compare the two animations, one with |:position|, one with |:shift|.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,1.2);
\draw (1,.5) circle [radius=1mm] (1.5,0) circle [radius=1mm];
@@ -1793,7 +1935,10 @@ coordinate system.
%
Compare this to a shift:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,1.2);
\draw (1,.5) circle [radius=1mm] (1.5,0) circle [radius=1mm];
@@ -1806,7 +1951,10 @@ coordinate system.
|:shift|, which is especially useful for specifying that a node ``travels''
between positions of the canvas:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+]
\tikz {
\draw [help lines] (-0.2,-0.2) grid (2.2,1.2);
\draw (1,1) circle [radius=1mm] (1.5,0) circle [radius=1mm];
@@ -1839,10 +1987,14 @@ The final method of changing the transformation matrix is to animate a
using the |meet| or |slice| keys from the |views| library, see
Section~\ref{section-library-views}. You can then animate the view using
the |view| attribute. The values passed to the |entry| key follow the same
- syntax as the views in the view library (though you only animate the
+ syntax as the views in the |views| library (though you only animate the
to-be-viewed rectangle).
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.1,-0.9) rectangle (2.9,0.9)}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations,views}},
+ animation list={0.5,1,1.5,2},
+ animation bb={(1.1,-0.9) rectangle (2.9,0.9)},
+]
\tikz [very thick] {
\node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
@@ -1879,7 +2031,10 @@ the to-be-animated attribute. The following keys allows you to change this:
A ``base'' value is a value that is used for the attribute whenever the
timeline is \emph{not} active:
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2,2.5},
+]
\tikz \node [fill = green, text = white] :fill =
{ 1s = "red", 2s = "blue", base = "orange", begin on = click }
{Click me};
@@ -1895,7 +2050,10 @@ the to-be-animated attribute. The following keys allows you to change this:
set the base. However, you can also use the |base| key in other ways; most
noticeably, you can use it \emph{after} some value:
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2,2.5},
+]
\tikz \node [fill = green, text = white] :fill =
{ 1s = {"red" = base}, 2s = "blue", begin on = click }
{Click me};
@@ -1905,7 +2063,10 @@ the to-be-animated attribute. The following keys allows you to change this:
the quotes of a value. This is particularly useful for setting up a base
value that is also used in a timeline:
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2,2.5},
+]
\tikz \node [fill = green, text = white] :fill =
{ 1s = "red" base, 2s = "blue", begin on = click }
{Click me};
@@ -1918,12 +2079,18 @@ the to-be-animated attribute. The following keys allows you to change this:
with the last value. You can also think of this as having the animation
``freeze'' at the end.
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2,2.5},
+]
\tikz \node :fill = { 1s="red", 2s="blue", forever, begin on=click}
[fill = green!50!black, text = white] {Click me};
\end{codeexample}
%
-\begin{codeexample}[animation list = {0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list = {0.5,1,1.5,2,2.5},
+]
\tikz \node [fill = green!50!black, text = white]
:fill = { 1s = "red", 2s = "blue", begin on = click }
{Click me};
@@ -1968,7 +2135,7 @@ to these questions.
will run, relative to the moment when the graphic is displayed from 3\,s to
4\,s.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}}]
\tikz \node [fill = green!50!black, text = white]
:rotate = { 1s = "0", 5s = "90", begin = 2s, end = 4s }
{Click me};
@@ -2005,7 +2172,7 @@ the moment a specific \emph{event} happens using the following key:
referenced object is the node with the label |2| since it is the most
recently referenced node with \meta{id} |X|.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{animations}}]
\tikz [very thick] {
\node (X) at (1,1.2) [fill = blue!20, draw = blue, circle] {1};
\node (X) at (1,0.4) [fill = orange!20, draw = orange, circle] {2};
@@ -2021,7 +2188,7 @@ the moment a specific \emph{event} happens using the following key:
the next) object with the given \meta{id}, not to a previous one. This,
in the next example, the referenced node is the one with label |3|.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{animations}}]
\tikz [very thick] {
\node (X) at (1,1.2) [fill = blue!20, draw = blue, circle] {1};
\node (X) at (1,0.4) [fill = blue!20, draw = blue, circle] {2};
@@ -2050,7 +2217,7 @@ the moment a specific \emph{event} happens using the following key:
when the user clicks on the triggering object with a mouse (or
something equivalent).
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90", begin on = {click}}
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
\end{codeexample}
@@ -2060,7 +2227,7 @@ the moment a specific \emph{event} happens using the following key:
Shorthand for |event=mousedown|. The event gets triggered when the
user presses a mouse button down on the object.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90", begin on = {mouse down}}
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
\end{codeexample}
@@ -2070,7 +2237,7 @@ the moment a specific \emph{event} happens using the following key:
Shorthand for |event=mouseup| and gets triggered, of course, when a
pressed button is released on the object.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90", begin on = {mouse up} }
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
\end{codeexample}
@@ -2080,7 +2247,7 @@ the moment a specific \emph{event} happens using the following key:
Shorthand for |event=mouseover|. The event gets triggered the
moment the mouse cursor moves over the object.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90", begin on = {mouse over} }
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
\end{codeexample}
@@ -2091,7 +2258,7 @@ the moment a specific \emph{event} happens using the following key:
times, namely each time the mouse moves while being ``over'' the
object.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90", begin on = {mouse move} }
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
\end{codeexample}
@@ -2101,7 +2268,7 @@ the moment a specific \emph{event} happens using the following key:
Shorthand for |event=mouseout|. The opposite of |mouse over|:
triggered when the mouse leaves the object.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90", begin on = {mouse out} }
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
\end{codeexample}
@@ -2113,7 +2280,7 @@ the moment a specific \emph{event} happens using the following key:
|of whom|. This means that the current animation will begin when
some other animation begins.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node [animate = {
myself:rotate = { 0s="0", 2s="90", begin on = {begin, of next=anim}},
myself:xshift = { 0s="0mm", 2s="5mm", begin on = {click}, name=anim}
@@ -2128,7 +2295,7 @@ the moment a specific \emph{event} happens using the following key:
This means that the current animation will \emph{begin} when some
other animation \emph{ends}.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node [animate = {
myself:rotate = { 0s="0", 2s="90", begin on = {end, of next=anim}},
myself:xshift = { 0s="0mm", 2s="5mm", begin on = {click}, name=anim }
@@ -2156,11 +2323,14 @@ the moment a specific \emph{event} happens using the following key:
\meta{number} times.
%
\begin{codeexample}[
- animation list={
- 0.333/\frac{1}{3},0.666/\frac{2}{3},1,
- 1.333/1\frac{1}{3},1.666/1\frac{2}{3},2,
- 2.333/2\frac{1}{3},2.666/2\frac{2}{3},3,
- 3.333/2\frac{1}{3},3.666/2\frac{2}{3},4}]
+ preamble={\usetikzlibrary{animations}},
+ animation list={
+ 0.333/\frac{1}{3},0.666/\frac{2}{3},1,
+ 1.333/1\frac{1}{3},1.666/1\frac{2}{3},2,
+ 2.333/2\frac{1}{3},2.666/2\frac{2}{3},3,
+ 3.333/2\frac{1}{3},3.666/2\frac{2}{3},4%
+ },
+]
\tikz
\node [animate = { myself: = {
:rotate = { 0s="0", 2s="90", begin on = {repeat = 2, of next = anim },
@@ -2200,7 +2370,7 @@ should happen:
\item |false| means that once the animation has started once, it will
never be restarted.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90",
restart = false, begin on = {click}}
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
@@ -2210,7 +2380,7 @@ should happen:
\item |when not active| means that the animation will restart when the
event is triggered, but \emph{not} while the animation is running.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \node :rotate = { 0s="0", 2s="90",
restart = when not active, begin on = {click}}
[fill = blue!20, draw = blue, circle, ultra thick] {Here!};
@@ -2237,7 +2407,10 @@ the |end on| allows you to stop is early when some event happens:
\begin{itemize}
\item Empty, in which case the timeline repeats forever.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz \node :rotate = { 0s = "0", 2s = "90",
repeats, begin on = click }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
@@ -2246,7 +2419,10 @@ the |end on| allows you to stop is early when some event happens:
\item A \meta{number} (like |2| or |3.25|), in which case the timeline
repeats \meta{number} times.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz \node :rotate = { 0s = "0", 2s = "90",
repeats = 1.75, begin on = click }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
@@ -2256,7 +2432,10 @@ the |end on| allows you to stop is early when some event happens:
which case the timeline repeats however often necessary so that it
stops exactly after \meta{time}.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz \node :rotate = { 0s = "0", 2s = "90",
repeats = for 3.5s, begin on = click }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
@@ -2278,13 +2457,19 @@ the |end on| allows you to stop is early when some event happens:
jump back, and so on for five times. In contrast, when the repeats
are accumulating, the scope will move by 5\,cm over 5\,s in total.
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz \node :rotate = { 0s = "0", 2s = "90", begin on = click,
repeats = accumulating }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
\end{codeexample}
%
-\begin{codeexample}[animation list={1,2,3,4,5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={1,2,3,4,5},
+]
\tikz \node :rotate = { 0s = "0", 2s = "90", begin on = click,
repeats = for 4s accumulating }
[fill = blue!20, draw = blue, ultra thick, circle] {Click me!};
@@ -2354,7 +2539,10 @@ entry control={0.9}{1},
start position, then a smooth arrival at the end position, and, finally
both.
%
-\begin{codeexample}[animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\node :yshift = { begin on = click,
@@ -2365,7 +2553,10 @@ entry control={0.9}{1},
}
\end{codeexample}
-\begin{codeexample}[animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\node :yshift = { begin on = click,
@@ -2376,7 +2567,10 @@ entry control={0.9}{1},
}
\end{codeexample}
-\begin{codeexample}[animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\node :yshift = { begin on = click,
@@ -2409,7 +2603,10 @@ entry control={0.9}{1},
key with an animation having only two times is particularly easy, since we
only need to set |ease| once:
%
-\begin{codeexample}[animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.333/\frac{1}{3},0.666/\frac{2}{3},1,1.333/1\frac{1}{3},1.666/1\frac{2}{3}},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\node :yshift = { begin on = click, ease, 0s = "0cm", 2s = "-10mm" }
@@ -2428,7 +2625,10 @@ from one value to the next. There are two keys for this:
value. This is similar to an exit control where the curve is ``infinitely
flat''.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2,2.5},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\node :yshift = { begin on = click,
@@ -2446,7 +2646,10 @@ from one value to the next. There are two keys for this:
value right at the beginning of the time interval. It is similar to an
entry control specifying a ``flat'' curve.
%
-\begin{codeexample}[animation list={0.5,1,1.5,2,2.5}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2,2.5},
+]
\tikz {
\foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
\node :yshift = { begin on = click,
@@ -2481,7 +2684,7 @@ animation at different points in time and which can then be inserted alongside
each other into the printed document. This approach has been used with the
examples of animations in this manual.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}}]
\foreach \t in {0.5, 1, 1.5, 2}
\tikz [make snapshot of = \t]
\fill :fill = {0s="black", 2s="red"} (0,0) circle [radius = 5mm];
@@ -2498,7 +2701,7 @@ Creating snapshots is done using the following key:
computation match the computations done by viewer applications as best as
possible).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}}]
\tikz [make snapshot of = 1s] {
\fill :fill = { 0s = "black", 2s = "white" } (0,0) rectangle ++(1,1);
\fill :fill = { 1s = "black", 3s = "white" } (2,0) rectangle ++(1,1);
@@ -2522,7 +2725,7 @@ Creating snapshots is done using the following key:
Computationally, for the timeline the \meta{start time} is subtracted
from the snapshot's \meta{time} when the value needs to be determined:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}}]
\tikz [make snapshot of = 1s] {
\fill :fill = { 0s = "black", 2s = "white",
begin snapshot = 1s } (0,0) rectangle ++(1,1);
@@ -2565,7 +2768,7 @@ Creating snapshots is done using the following key:
the timeline, while this key would not apply the animation at all (it has
already ended at time $t + \epsilon$).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}}]
\tikz [make snapshot of = 2s]
\fill :fill = { 0s = "green", 2s = "red" } (0,0) rectangle ++(1,1);
\tikz [make snapshot after = 2s]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
index 70aaf271cab..e3e500ae9a2 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
@@ -20,7 +20,7 @@ and you can change the appearance of each of them individually using a special
syntax. The following example is a perhaps slightly ``excessive'' demonstration
of what you can do (you need to load the |arrows.meta| library for it to work):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending,positioning}}]
\tikz {
\node [circle,draw] (A) {A};
\node [circle,draw] (B) [right=of A] {B};
@@ -93,7 +93,7 @@ Let us start with an introduction to the basics of the |arrows| key:
text |arrows=|.} What happens is that every (otherwise unknown) option that
contains a |-| is interpreted as an arrow specification.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}
\draw[->] (0,0) -- (1,0);
\draw[>-Stealth] (0,0.3) -- (1,0.3);
@@ -115,7 +115,7 @@ Let us start with an introduction to the basics of the |arrows| key:
Section~\ref{section-arrow-config} below by adding options in square
brackets following the arrow tip kind:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}
\draw[-{Stealth[red]}] (0,0) -- (1,0);
\end{tikzpicture}
@@ -224,6 +224,7 @@ the setting of the key |tips|:
% Two subpaths, but one is closed: No tips, even though last subpath is open
\tikz [<->] \draw (0,0) circle[radius=2pt] (2,0) -- (3,0);
\end{codeexample}
+ %
\end{key}
One common pitfall when arrow tips are added to a path should be addressed
@@ -283,9 +284,9 @@ loaded.
\subsubsection{Size}
-The most important configuration parameter of an arrow tip is
-undoubtedly its size. The following two keys are the main keys that
-are important in this context:
+The most important configuration parameter of an arrow tip is undoubtedly its
+size. The following two keys are the main keys that are important in this
+context:
\begin{key}{/pgf/arrow keys/length=\meta{dimension}| |\opt{\meta{line width factor}}%
| |\opt{\meta{outer factor}}}
@@ -295,19 +296,19 @@ are important in this context:
distance from the ``very tip'' of the arrow to its ``back end'' along the
line:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz{
\draw [-{Stealth[length=5mm]}] (0,0) -- (2,0);
\draw [|<->|] (1.5,.4) -- node[above=1mm] {5mm} (2,.4);
}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz{
\draw [-{Latex[length=5mm]}] (0,0) -- (2,0);
\draw [|<->|] (1.5,.4) -- node[above=1mm] {5mm} (2,.4);
}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz{
\draw [-{Classical TikZ Rightarrow[length=5mm]}] (0,0) -- (2,0);
\draw [|<->|] (1.5,.6) -- node[above=1mm] {5mm} (2,.6);
@@ -354,15 +355,15 @@ are important in this context:
resulting length is 3pt. Finally, for the middle case, the ``middle''
between 5pt and 1pt is 3pt, so the length is 9pt.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [line width=1pt, double distance=3pt,
arrows = {-Latex[length=0pt 3 0]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [line width=1pt, double distance=3pt,
arrows = {-Latex[length=0pt 3 .5]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [line width=1pt, double distance=3pt,
arrows = {-Latex[length=0pt 3 1]} ] (0,0) -- (1,0);
\end{codeexample}
@@ -384,7 +385,7 @@ are important in this context:
``pixel''. Thus, the thickness of the stroked line and also the
miter ends should be taken into account:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz{
\draw [line width=1mm, -{Stealth[length=10mm, open]}]
(0,0) -- (2,0);
@@ -399,7 +400,7 @@ are important in this context:
This creates some ``visual consistency'' if the two modes are
mixed or if you later one change the mode.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz{
\draw [line width=1mm, -{Stealth[length=10mm, open, round]}]
(0,0) -- (2,0);
@@ -423,10 +424,10 @@ are important in this context:
the two optional factor numbers following the \meta{dimension} is the same
as for the |length| key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Latex[width=10pt, length=10pt]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Latex[width=0pt 10, length=10pt]}] (0,0) -- (1,0);
\end{codeexample}
\end{key}
@@ -456,10 +457,10 @@ length = 10pt, width'=5pt 2, length=7pt
the resulting width will be $19\mathrm{pt} = 5\mathrm{pt} + 2\cdot
7\mathrm{pt}$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Latex[width'=0pt .5, length=10pt]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Latex[width'=0pt .5, length=15pt]}] (0,0) -- (1,0);
\end{codeexample}
%
@@ -480,10 +481,10 @@ length = 10pt, width'=5pt 2, length=7pt
line width, where the line width is computed based on the \meta{outer
factor} as described for the |length| key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Stealth[length=10pt, inset=5pt]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Stealth[length=10pt, inset=2pt]}] (0,0) -- (1,0);
\end{codeexample}
@@ -509,10 +510,10 @@ length = 10pt, width'=5pt 2, length=7pt
optional factors are given, they add a certain multiple of the line width
to the \meta{dimension} before the sine and cosines are computed.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Stealth[inset=0pt, angle=90:10pt]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Stealth[inset=0pt, angle=30:10pt]}] (0,0) -- (1,0);
\end{codeexample}
%
@@ -523,11 +524,11 @@ length = 10pt, width'=5pt 2, length=7pt
the arrow length. This results in an arrow tip with an opening angle of
\meta{angle} at its tip and with the specified |length| unchanged.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Stealth[inset=0pt, length=10pt, angle'=90]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Stealth[inset=0pt, length=10pt, angle'=30]}]
(0,0) -- (1,0);
\end{codeexample}
@@ -550,7 +551,7 @@ keys are useful:
size parameters defined by special-purpose arrow tip kinds). Everything is
simply scaled by the given \meta{factor}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [arrows = {-Stealth[]}] (0,1) -- (1,1);
\draw [arrows = {-Stealth[scale=1.5]}] (0,0.5) -- (1,0.5);
@@ -571,7 +572,7 @@ keys simultaneously):
``along the axis of the arrow'', that is, to the length and to the inset,
but not to the width.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [arrows = {-Stealth[]}] (0,1) -- (1,1);
\draw [arrows = {-Stealth[scale length=1.5]}] (0,0.5) -- (1,0.5);
@@ -584,7 +585,7 @@ keys simultaneously):
\begin{key}{/pgf/arrows keys/scale width=\meta{factor} (initially 1)}
Like |scale length|, but for dimensions related to the width.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [arrows = {-Stealth[]}] (0,1) -- (1,1);
\draw [arrows = {-Stealth[scale width=1.5]}] (0,0.5) -- (1,0.5);
@@ -606,7 +607,7 @@ these arrow tips, you use the following key:
setting the length and width''. In contrast, the |arc| key is used to set
the degrees of arcs that are part of an arrow tip:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] {
\draw [arrows = {-Hooks[]}] (0,1) -- (1,1);
\draw [arrows = {-Hooks[arc=90]}] (0,0.5) -- (1,0.5);
@@ -625,7 +626,7 @@ You can ``slant'' arrow tips using the following key:
Slanting is used to create an ``italics'' effect for arrow tips: All arrow
tips get ``slanted'' a little bit relative to the axis of the arrow:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [arrows = {->[]}] (0,1) -- (1,1);
\draw [arrows = {->[slant=.5]}] (0,0.5) -- (1,0.5);
@@ -641,7 +642,7 @@ You can ``slant'' arrow tips using the following key:
Here is another example where slanting is used to match italic text:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,graphs}}]
\tikz [>={[slant=.3] To[] To[]}]
\graph [math nodes] { A -> B <-> C };
\end{codeexample}
@@ -665,10 +666,10 @@ You can ``slant'' arrow tips using the following key:
If you apply this key twice, the effect cancels, which is useful for the
definition of shorthands (which will be discussed later).
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[reversed]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[reversed, reversed]}] (0,0) -- (1,0);
\end{codeexample}
\end{key}
@@ -676,10 +677,10 @@ You can ``slant'' arrow tips using the following key:
\begin{key}{/pgf/arrow keys/harpoon}
The key requests that only the ``left half'' of the arrow tip should drawn:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[harpoon]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {->[harpoon]}] (0,0) -- (1,0);
\end{codeexample}
%
@@ -695,10 +696,10 @@ You can ``slant'' arrow tips using the following key:
only for asymmetric arrow tips like the harpoons created using the
|harpoon| option.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[harpoon]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[harpoon,swap]}] (0,0) -- (1,0);
\end{codeexample}
%
@@ -713,10 +714,10 @@ You can ``slant'' arrow tips using the following key:
\begin{key}{/pgf/arrow keys/right}
A shorthand for |harpoon, swap|.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[left]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [arrows = {-Stealth[right]}] (0,0) -- (1,0);
\end{codeexample}
%
@@ -743,10 +744,10 @@ The following options allow you to configure how arrow tips are colored:
this default draw color of the path. Since this is the default behaviour,
you usually do not need to specify anything:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [red, arrows = {-Stealth}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [blue, arrows = {-Stealth}] (0,0) -- (1,0);
\end{codeexample}
@@ -754,10 +755,10 @@ The following options allow you to configure how arrow tips are colored:
arrow tip should get this color \emph{instead} of the color of the main
path:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [red, arrows = {-Stealth[color=blue]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [red, arrows = {-Stealth[color=black]}] (0,0) -- (1,0);
\end{codeexample}
@@ -767,7 +768,7 @@ The following options allow you to configure how arrow tips are colored:
key is the name of a color and, if so, execute |color=|\meta{arrow key}.
So, the first of the above examples can be rewritten as follows:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [red, arrows = {-Stealth[blue]}] (0,0) -- (1,0);
\end{codeexample}
@@ -781,7 +782,7 @@ The following options allow you to configure how arrow tips are colored:
fill the arrow tips, even if a different color is specified for filling the
path:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [draw=red, fill=red!50, arrows = {-Stealth[length=10pt]}]
(0,0) -- (1,1) -- (2,0);
\end{codeexample}
@@ -800,7 +801,7 @@ The following options allow you to configure how arrow tips are colored:
This color can be different from the color used to draw (stroke) the arrow
tip:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [help lines] (0,-.5) grid [step=1mm] (1,.5);
\draw [thick, red, arrows = {-Stealth[fill=white,length=15pt]}] (0,0) -- (1,0);
@@ -810,7 +811,7 @@ The following options allow you to configure how arrow tips are colored:
You can also specify the special ``color'' |none|. In this case, the arrow
tip is not filled at all (not even with white):
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [help lines] (0,-.5) grid [step=1mm] (1,.5);
\draw [thick, red, arrows = {-Stealth[fill=none,length=15pt]}] (0,0) -- (1,0);
@@ -830,7 +831,7 @@ The following options allow you to configure how arrow tips are colored:
come first since it will reset the filling to the color specified for
drawing.
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [help lines] (0,-.5) grid [step=1mm] (1,.5);
\draw [thick, red, arrows = {-Stealth[color=blue, fill=white, length=15pt]}]
@@ -843,7 +844,7 @@ The following options allow you to configure how arrow tips are colored:
path. (This special color is always available and always set to the current
filling color of the graphic state.):
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [ultra thick] \draw [draw=red, fill=red!50,
arrows = {-Stealth[length=15pt, fill=pgffillcolor]}]
(0,0) -- (1,1) -- (2,0);
@@ -878,22 +879,22 @@ arrow tip:
it will have an effect on where the exact ``tip'' of the arrow is since
this will always be exactly at the end of the arrow:
%
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Computer Modern Rightarrow[line cap=butt]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Computer Modern Rightarrow[line cap=round]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Bracket[reversed,line cap=butt]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Bracket[reversed,line cap=round]}]
(0,0) -- (1,0);
@@ -906,22 +907,22 @@ arrow tip:
the key only has an effect on paths that have ``corners'' in them. The same
rules as for |line cap| apply: the size is not affects, but the tip end is:
%
- \begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Computer Modern Rightarrow[line join=miter]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Computer Modern Rightarrow[line join=round]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Bracket[reversed,line join=miter]}]
(0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Bracket[reversed,line join=round]}]
(0,0) -- (1,0);
@@ -935,11 +936,11 @@ The following keys set both of the above:
A shorthand for |line cap=round, line join=round|, resulting in ``rounded''
arrow heads.
%
- \begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Computer Modern Rightarrow[round]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Bracket[reversed,round]}] (0,0) -- (1,0);
\end{codeexample}
@@ -949,11 +950,12 @@ The following keys set both of the above:
\begin{key}{/pgf/arrow keys/sharp}
A shorthand for |line cap=butt, line join=miter|, resulting in ``sharp'' or
``pointed'' arrow heads.
- \begin{codeexample}[width=3cm]
+ %
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Computer Modern Rightarrow[sharp]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=3cm]
+\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz [line width=2mm]
\draw [arrows = {-Bracket[reversed,sharp]}] (0,0) -- (1,0);
\end{codeexample}
@@ -972,10 +974,10 @@ You can also set the width of lines used inside arrow tips:
The meaning of the factors is as usual the same as for |length| or |width|.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Latex[line width=0.1pt, fill=white, length=10pt]}] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [arrows = {-Latex[line width=1pt, fill=white, length=10pt]}] (0,0) -- (1,0);
\end{codeexample}
%
@@ -998,7 +1000,7 @@ To get a feeling for the difficulties involved, consider the following
situation: We have a ``gray wall'' at the $x$-coordinate of and a red line that
ends in its middle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\def\wall{ \fill [fill=black!50] (1,-.5) rectangle (2,.5);
\pattern [pattern=bricks] (1,-.5) rectangle (2,.5);
\draw [line width=1pt] (1cm+.5pt,-.5) -- ++(0,1); }
@@ -1012,10 +1014,13 @@ ends in its middle.
Now we wish to add a blue open arrow tip the red line like, say,
|Stealth[length=1cm,open,blue]|:
%
+\begin{codeexample}[setup code,hidden]
+\usetikzlibrary{patterns}
\def\wall{ \fill [fill=black!50] (1,-.5) rectangle (2,.5);
\pattern [pattern=bricks] (1,-.5) rectangle (2,.5);
\draw [line width=1pt] (1cm+.5pt,-.5) -- ++(0,1); }
-\begin{codeexample}[]
+\end{codeexample}
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}
\wall
\draw [red,line width=1mm,-{Stealth[length=1cm,open,blue]}]
@@ -1086,7 +1091,7 @@ way (although the option for selecting this option is politely just called
same amount to ensure that the line still has the same tangent at the end.
This will result in the following:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1153,7 +1158,7 @@ you need to load the following library:
original line ended. Then, the arrow is rotated so the \emph{the
visual end lies on the line}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1183,7 +1188,7 @@ you need to load the following library:
|flex=.5| will rotate the arrow's visual end ``halfway away from the
tangent towards the actual position on the line''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1191,7 +1196,7 @@ you need to load the following library:
(-1,-.5) .. controls (0,-.5) and (0,0) .. (1,0);
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1204,7 +1209,7 @@ you need to load the following library:
arrow tip. Open arrow tips do not go well with a flex value other than~|1|.
Here is a more realistic use of the |flex=0| key:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1216,7 +1221,7 @@ you need to load the following library:
If there are several arrow tips on a path, the |flex| option positions them
independently, so that each of them lies optimally on the path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1235,7 +1240,7 @@ you need to load the following library:
distance of |6.25mm| from the tip lie on the path, we have the point at a
distance of |1cm| from the tip lie on the path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1251,7 +1256,7 @@ you need to load the following library:
but rather with tips like the standard |>| in the context of a strongly
curved line:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1269,7 +1274,7 @@ you need to load the following library:
that it should be rotated. This is exactly what the |flex'| option does
since it allows us to align the ``back end'' of the tip with the red line:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1294,7 +1299,7 @@ you need to load the following library:
tips. On the other hand, for most arrow tips their bend version are
visually quite pleasing and create a sophisticated look:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1302,7 +1307,7 @@ you need to load the following library:
(-1,-.5) .. controls (0,-.5) and (0,0) .. (1,0);
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1310,7 +1315,7 @@ you need to load the following library:
(-1,-.5) .. controls (0,-.5) and (0,0) .. (1,0);
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\begin{tikzpicture}
\wall
\draw [red!25,line width=1mm] (-1,0) -- (1,0);
@@ -1320,6 +1325,9 @@ you need to load the following library:
\end{codeexample}
%
\end{key}
+% TODOsp: codeexamples: `bending` library is needed up to here
+% TODOsp: codeexamples: `\def\wall` + `patterns` library are needed up to here
+% TODOsp: codeexamples: `arrows.meta` library needed up to here
\subsection{Arrow Tip Specifications}
@@ -1475,7 +1483,7 @@ following arrow key is important:
Let us now have a look at some examples. First, we use two arrow tips with
different separations between them:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\draw [-{>[sep=1pt]>[sep= 2pt]>}] (0,1.0) -- (1,1.0);
\draw [-{>[sep=1pt]>[sep=-2pt]>}] (0,0.5) -- (1,0.5);
@@ -1489,7 +1497,7 @@ following arrow key is important:
but will rather leave the specified amount of space. This is usually quite
desirable.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,positioning}}]
\tikz {
\node [draw] (A) {A};
\node [draw] (B) [right=of A] {B};
@@ -1550,7 +1558,7 @@ the first one ``wins'' (for end specifications, otherwise the last one).
Note that |.| is parsed as any other shorthand. In particular, if you wish to
add a dot after a normal arrow tip kind name, you need to add brackets:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz [very thick] \draw [-{Stealth[] . Stealth[] Stealth[]}] (0,0) -- (2,0);
\end{codeexample}
%
@@ -1583,11 +1591,11 @@ done using the following handler:
keys inside the \meta{end specification} are translated automatically.
\todosp{remaining instance of bug \#473}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz [foo /.tip = {Stealth[sep]. >>}]
\draw [-foo] (0,0) -- (2,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz [foo /.tip = {Stealth[sep] Latex[sep]},
bar /.tip = {Stealth[length=10pt,open]}]
\draw [-{foo[red] . bar}] (0,0) -- (2,0);
@@ -1633,7 +1641,7 @@ done using the following handler:
\begin{codeexample}[]
\tikz \draw [>->] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [Stealth-Stealth] (0,0) -- (1,0);
\end{codeexample}
%
@@ -1651,10 +1659,10 @@ done using the following handler:
start specifications}|-|\meta{name in end specifications}. Thus, to set the
|>| key correctly, you actually need to write
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz [<-> /.tip = Stealth] \draw [<->>] (0,0) -- (1,0);
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz [<-> /.tip = Latex] \draw [>-<] (0,0) -- (1,0);
\end{codeexample}
@@ -1673,14 +1681,14 @@ done using the following handler:
By default, |>| is a shorthand for |To| and |To| is a shorthand for |to|
(an arrow from the old libraries) when |arrows.meta| is not loaded library.
- When |arrow.meta| is loaded, |To| is redefined to mean the same as
+ When |arrows.meta| is loaded, |To| is redefined to mean the same as
|Computer Modern Rightarrow|.
\end{handler}
\begin{key}{/tikz/>=\meta{end arrow specification}}
This is a short way of saying |<->/.tip=|\meta{end arrow specification}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}[scale=2,ultra thick]
\begin{scope}[>=Latex]
\draw[>->] (0pt,3ex) -- (1cm,3ex);
@@ -1695,6 +1703,14 @@ done using the following handler:
%
\end{key}
+\begin{key}{/tikz/shorten <=\meta{length}}
+ Shorten the path by \meta{length} in the direction of the starting point.
+\end{key}
+
+\begin{key}{/tikz/shorten >=\meta{length}}
+ Shorten the path by \meta{length} in the direction of the end point.
+\end{key}
+
\subsubsection{Scoping of Arrow Keys}
\label{section-arrow-scopes}
@@ -1835,7 +1851,7 @@ classified in different groups:
difference is that the background will ``shine through'' an open
arrow, while a filled arrow always obscures the background:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz {
\shade [left color=white, right color=red!50] (0,0) rectangle (4,1);
@@ -1911,7 +1927,7 @@ classified in different groups:
\end{arrowtipsimple}
\begin{arrowtip}{Bracket}{
- This is an instance of the |Tee Barb| arrow tip that results in something
+ This is an instance of the |Tee Barb| \todosp{no space shown here} arrow tip that results in something
resembling a bracket. Just like the |Parenthesis| arrow tip, a |Bracket| is
not modelled from a text square bracket, but rather its size has been
chosen so that it fits with the other arrow tips.
@@ -1973,7 +1989,7 @@ classified in different groups:
\end{arrowtip}
\begin{arrowtip}{Parenthesis}{
- This arrow tip is an instantiation of the |Arc Barb| so that it resembles a
+ This arrow tip is an instantiation of the |Arc Barb| \todosp{no space shown here} so that it resembles a
parenthesis. However, the idea is not to recreate a ``real'' parenthesis as
it is used in text, but rather a ``bow'' at a size that harmonizes with the
other arrow tips at their default sizes.
@@ -2107,7 +2123,7 @@ classified in different groups:
like \texttt{\string\rightarrow} ($\to$) of the Computer Modern math fonts.
However, it is not a ``perfect'' match: the line caps and joins of the
``real'' $\to$ are rounded differently from this arrow tip; but it takes a
- keen eye to notice the difference. When the |arrow.meta| library is loaded,
+ keen eye to notice the difference. When the |arrows.meta| library is loaded,
this arrow tip becomes the default of |To| and, thus, is used whenever |>|
is used (unless, of course, you redefined |>|).
}%
@@ -2138,7 +2154,7 @@ classified in different groups:
like \TeX's \texttt{\string\implies} arrow ($\implies$). A typical use of
this arrow tip is
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,graphs}}]
\tikz \graph [clockwise=3, math nodes,
edges = {double equal sign distance, -Implies}] {
"\alpha", "\beta", "\gamma";
@@ -2153,7 +2169,7 @@ classified in different groups:
\end{arrowtipsimple}
\begin{arrowtipsimple}{To}
- This is a shorthand for |Computer Modern Rightarrow| when the |arrow.meta|
+ This is a shorthand for |Computer Modern Rightarrow| when the |arrows.meta|
library is loaded. Otherwise, it is a shorthand for the classical
\tikzname\ rightarrow.
\end{arrowtipsimple}
@@ -2382,7 +2398,7 @@ different caps for the end and the start.
happens to differ from the normal cap. In the following example, the line
cap is ``round'', but, nevertheless, the right end is a ``butt'' cap:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [line width=1ex, line cap=round, -Butt Cap] (0,0) -- (1,0);
\end{codeexample}
%
@@ -2399,7 +2415,7 @@ different caps for the end and the start.
{length=5mm,inset=-1cm}%
{-15mm}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [line width=1ex,
-{Round Cap []. Fast Round[] Fast Round[]}]
(0,0) -- (1,0);
@@ -2408,7 +2424,7 @@ different caps for the end and the start.
Note that in conjunction with the |bend| option, this works even quite well
for curves:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\tikz [f/.tip = Fast Round] % shorthand
\draw [line width=1ex, -{[bend] Round Cap[] . f f f}]
(0,0) to [bend left] (1,0);
@@ -2431,7 +2447,7 @@ different caps for the end and the start.
{length=5mm,inset=-1cm}%
{-15mm}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\tikz \draw [line width=1ex,
-{Triangle Cap []. Fast Triangle[] Fast Triangle[]}]
(0,0) -- (1,0);
@@ -2439,7 +2455,7 @@ different caps for the end and the start.
%
Again, this tip works well for curves:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,bending}}]
\tikz [f/.tip = Fast Triangle] % shorthand
\draw [line width=1ex, -{[bend] Triangle Cap[] . f f f}]
(0,0) to [bend left] (1,0);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
index c3921486e6d..047592f5c26 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
@@ -380,7 +380,7 @@ following coordinate system:
\begin{key}{/tikz/anchor=\meta{anchor}}
Specifies an anchor of the node. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}
\node (shape) at (0,2) [draw] {|class Shape|};
\node (rect) at (-2,0) [draw] {|class Rectangle|};
@@ -401,7 +401,7 @@ following coordinate system:
This coordinate refers to a point of the node's border where a ray shot
from the center in the given angle hits the border. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\node (start) [draw,shape=ellipse] {start};
\foreach \angle in {-90, -80, ..., 90}
@@ -415,7 +415,7 @@ following coordinate system:
|angle=| option. In this case, \tikzname\ will calculate an appropriate
border position for you. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\path (0,0) node(a) [ellipse,rotate=10,draw] {An ellipse}
(3,-1) node(b) [circle,draw] {A circle};
@@ -465,7 +465,7 @@ following coordinate system:
Here is a more complete example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[fill=blue!20]
\draw[help lines] (-1,-2) grid (6,3);
\path (0,0) node(a) [ellipse,rotate=10,draw,fill] {An ellipse}
@@ -621,7 +621,7 @@ following coordinate system:
\item |circle|
\end{itemize}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (3,2);
@@ -746,11 +746,11 @@ point $q$. For this situation there is a useful coordinate system.
of the line from $A$ to~$B$ and vertically at the middle of the line from
$C$ to~$D$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
- \node (A) at (0,1) {A};
- \node (B) at (1,1.5) {B};
- \node (C) at (2,0) {C};
+ \node (A) at (0,1) {A};
+ \node (B) at (1,1.5) {B};
+ \node (C) at (2,0) {C};
\node (D) at (2.5,-2) {D};
\draw (A) -- (B) node [midway] {x};
@@ -805,7 +805,7 @@ To find the intersection of named paths, the following key is used:
Optionally, the prefix |intersection| can be changed, and the total number
of intersections stored in a \TeX-macro.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}[every node/.style={opacity=1, black, above left}]
\draw [help lines] grid (3,2);
\draw [name path=ellipse] (2,0.5) ellipse (0.75cm and 1cm);
@@ -833,7 +833,7 @@ To find the intersection of named paths, the following key is used:
stored in \meta{macro}.
\end{key}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}
\clip (-2,-2) rectangle (2,2);
\draw [name path=curve 1] (-2,-1) .. controls (8,-1) and (-8,1) .. (2,1);
@@ -854,7 +854,7 @@ To find the intersection of named paths, the following key is used:
to the |\foreach| statement and for \meta{list member} a coordinate is
created at the already-named intersection.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}
\clip (-2,-2) rectangle (2,2);
\draw [name path=curve 1] (-2,-1) .. controls (8,-1) and (-8,1) .. (2,1);
@@ -874,7 +874,7 @@ To find the intersection of named paths, the following key is used:
is created. A coordinate name can still, but need not, follow the
options. This makes it easy to add labels to intersections:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}
\clip (-2,-2) rectangle (2,2);
\draw [name path=curve 1] (-2,-1) .. controls (8,-1) and (-8,1) .. (2,1);
@@ -895,7 +895,7 @@ To find the intersection of named paths, the following key is used:
should be one of the paths mentioned in the |/tikz/intersection/of|
key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}
\clip (-0.5,-0.75) rectangle (3.25,2.25);
\foreach \pathname/\shift in {line/0cm, curve/2cm}{
@@ -1074,7 +1074,7 @@ essence, you can add and subtract coordinates, scale them, compute midpoints,
and do projections. For instance, |($(a) + 1/3*(1cm,0)$)| is the coordinate
that is $1/3 \text{cm}$ to the right of the point |a|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1141,7 +1141,7 @@ whenever it is unclear where the \meta{factor} would end.
Here are some examples of coordinate specifications that consist of exactly one
\meta{factor} and one \meta{coordinate}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1180,7 +1180,7 @@ second coordinate, not the first. It is permissible to use a \meta{number} that
is smaller than $0$ or larger than $1$. The \meta{number} is evaluated using
the |\pgfmathparse| command and, thus, it can involve complicated computations.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1201,7 +1201,7 @@ computation, namely the partway computation.''
Here are two examples:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,3);
@@ -1218,7 +1218,7 @@ Here are two examples:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (4,4);
@@ -1230,7 +1230,7 @@ Here are two examples:
You can repeatedly apply modifiers. That is, after any modifier you can add
another (possibly different) modifier.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1255,7 +1255,7 @@ When you write \meta{a}|!|\meta{dimension}|!|\meta{b}, this means the
following: Use the point that is distanced \meta{dimension} from \meta{a} on
the straight line from \meta{a} to \meta{b}. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1275,7 +1275,7 @@ computed a point |(c)| that lies somewhere on a line from |(a)| to~|(b)| and
you now wish to offset this point by |1cm| so that the distance from this
offset point to the line is |1cm|. This can be achieved as follows:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1313,7 +1313,7 @@ The effect is the following: We project the \meta{projection coordinate}
orthogonally onto the line from \meta{coordinate} to \meta{second coordinate}.
This makes it easy to compute projected points:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
index 009660a911d..f1027d3bc88 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
@@ -16,7 +16,11 @@
Decorations are a general concept to make (sub)paths ``more interesting''.
Before we have a look at the details, let us have a look at some examples:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.pathreplacing,
+ decorations.shapes,
+}}]
\begin{tikzpicture}[thick]
\draw (0,3) -- (3,3);
\draw[decorate,decoration=zigzag] (0,2.5) -- (3,2.5);
@@ -28,7 +32,7 @@ Before we have a look at the details, let us have a look at some examples:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\node [fill=red!20,draw,decorate,decoration={bumps,mirror},
minimum height=1cm]
@@ -36,7 +40,7 @@ Before we have a look at the details, let us have a look at some examples:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\filldraw[fill=blue!20] (0,3)
decorate [decoration=saw] { -- (3,3) }
@@ -45,7 +49,7 @@ Before we have a look at the details, let us have a look at some examples:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\node [fill=yellow!50,draw,thick, minimum height=2cm, minimum width=3cm,
decorate, decoration={random steps,segment length=3pt,amplitude=1pt}]
@@ -65,12 +69,12 @@ Let us have a look at an example: In the first picture, we see a path that
consists of a line, an arc, and a line. In the second picture, this path has
been used as the basis of a decoration.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz \fill
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz \fill [decorate,decoration={zigzag}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
@@ -78,7 +82,7 @@ been used as the basis of a decoration.
It is also possible to decorate only a subpath (the exact syntax will be
explained later in this section).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz \fill [decoration={zigzag}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1)
decorate { arc (90:-90:.5) } -- cycle;
@@ -106,7 +110,7 @@ decorations.
path has no effect since the path consist only of (numerous)
unconnected straight line subpaths:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\tikz \fill [decorate,decoration={crosses}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
@@ -122,7 +126,7 @@ decorations.
such decorations the path usage command for the main path have no
influence on how the decoration looks like.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\tikz \fill [decorate,decoration={text along path,
text=This is a text along a path. Note how the path is lost.}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
@@ -144,13 +148,16 @@ decorate the decorated path once more.
(0,0) rectangle (3,2);
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz \fill [fill=blue!20,draw=blue,thick]
decorate[decoration={zigzag,segment length=10mm,amplitude=2.5mm}]
{ (0,0) rectangle (3,2) };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.shapes,
+}}]
\tikz \fill [fill=blue!20,draw=blue,thick]
decorate[decoration={crosses,segment length=2mm}] {
decorate[decoration={zigzag,segment length=10mm,amplitude=2.5mm}] {
@@ -169,11 +176,11 @@ pattern will literally be thousands of times faster to typeset. However, for
most decorations there are no real alternatives.
\begin{tikzlibrary}{decorations}
- In order to use decorations, you first have to load a decoration library.
- This |decoration| library defines the basic options described in the
+ In order to use decorations, you first have to load a |decorations| library.
+ This |decorations| library defines the basic options described in the
following, but it does not define any new decorations. This is done by
libraries like |decorations.text|. Since these more specialized libraries
- include the |decoration| library automatically, you usually do not have to
+ include the |decorations| library automatically, you usually do not have to
bother about it.
\end{tikzlibrary}
@@ -187,7 +194,7 @@ The most general way to decorate a (sub)path is the following path command.
current decoration. Depending on the decoration, this may or may not extend
the current path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw decorate [decoration={name=zigzag}]
@@ -205,7 +212,10 @@ The most general way to decorate a (sub)path is the following path command.
You can use nodes normally inside the \meta{subpath}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.shapes,
+}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw decorate [decoration={name=zigzag}]
@@ -230,7 +240,10 @@ The most general way to decorate a (sub)path is the following path command.
|decorate| path command. Naturally, any local options of the |decorate|
path command override these ``global'' options.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.shapes,
+}}]
\begin{tikzpicture}[decoration=zigzag]
\draw decorate {(0,0) -- (3,2)};
\draw [red] decorate [decoration=crosses] {(0,2) -- (3,0)};
@@ -254,7 +267,7 @@ The most general way to decorate a (sub)path is the following path command.
If you set \meta{name} to |none|, no decorations are added.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw decorate [decoration={name=zigzag}]
@@ -266,7 +279,7 @@ The most general way to decorate a (sub)path is the following path command.
|name=| part. Thus, the above example can be rewritten more
succinctly:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw decorate [decoration=zigzag]
@@ -289,7 +302,7 @@ The most general way to decorate a (sub)path is the following path command.
path. In such cases, the construction of the main path is resumed after the
|decorate| path command ends.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}[decoration={text along path,text=
around and around and around and around we go}]
@@ -306,7 +319,7 @@ The most general way to decorate a (sub)path is the following path command.
Repeatedly applying this transformation to a triangle yields a fractal that
looks a bit like a snowflake, hence the name.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.fractals}}]
\begin{tikzpicture}[decoration=Koch snowflake,draw=blue,fill=blue!20,thick]
\filldraw (0,0) -- ++(60:1) -- ++(-60:1) -- cycle ;
\filldraw decorate{ (0,-1) -- ++(60:1) -- ++(-60:1) -- cycle };
@@ -341,7 +354,11 @@ the following option, which allows you to decorate a path ``after the fact''.
in contrast to the |decorate| path command you cannot apply this option
twice (this would just set it to |true|, once more).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.text,
+ shapes.geometric,
+}}]
\begin{tikzpicture}[decoration=zigzag]
\draw [help lines] (0,0) grid (3,5);
@@ -360,7 +377,11 @@ the following option, which allows you to decorate a path ``after the fact''.
Incidentally, this is another application of the |decorate| option that you
cannot achieve with the decorate path command.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.text,
+ shapes.geometric,
+}}]
\begin{tikzpicture}[decoration=zigzag]
\node at (1.5,1) [inner sep=6mm,fill=red!20,ellipse,
postaction={decorate,decoration=
@@ -372,7 +393,7 @@ the following option, which allows you to decorate a path ``after the fact''.
after the main path has been drawn.
%
% \catcode`\|12 % !?
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\fill [draw=red,fill=red!20,
@@ -403,7 +424,7 @@ modify the positioning of decorations relative to the to-be-decorated path.
A negative \meta{dimension} will offset the decoration ``to the right'' of
the to-be-decorated path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -422,7 +443,7 @@ modify the positioning of decorations relative to the to-be-decorated path.
to-be-decorated path. This is done after and in addition to any
transformations set using the |transform| and/or |raise| options.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathreplacing}}]
\begin{tikzpicture}
\node (a) {A};
\node (b) at (2,1) {B};
@@ -445,7 +466,7 @@ modify the positioning of decorations relative to the to-be-decorated path.
In the following example the |shift only| transformation is used to make
sure that the crosses are \emph{not} sloped along the path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.shapes}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -475,17 +496,20 @@ decorations, not with meta-decorations.
also need to set the |pre length| option.
%
% TODO: Nesting tikzpictures is NOT supported
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz [decoration={zigzag,pre=lineto,pre length=1cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz [decoration={zigzag,pre=moveto,pre length=1cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{
+ decorations.pathmorphing,
+ decorations.shapes,
+}}]
\tikz [decoration={zigzag,pre=crosses,pre length=1cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{codeexample}
@@ -494,12 +518,12 @@ decorations, not with meta-decorations.
that the default |pre| decoration will not follow curves (for efficiency
reasons). Change the |pre| key to |curveto| if you have a curved path.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz [decoration={zigzag,pre length=3cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz [decoration={zigzag,pre=curveto,pre length=3cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{codeexample}
@@ -523,7 +547,7 @@ decorations, not with meta-decorations.
Here is a typical example that shows how these keys can be used:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
[decoration=snake,
line around/.style={decoration={pre length=#1,post length=#1}}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
index 607a55fb434..98f888e8eee 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
@@ -171,11 +171,11 @@ Since trees are made up from nodes, it is possible to use options to modify the
way trees are drawn. Here are two examples of the above tree, redrawn with
different options:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,trees}}]
\begin{tikzpicture}
[edge from parent fork down, sibling distance=15mm, level distance=15mm,
every node/.style={fill=red!30,rounded corners},
- edge from parent/.style={red,-o,thick,draw}]
+ edge from parent/.style={red,-{Circle[open]},thick,draw}]
\node {root}
child {node {left}}
child {node {right}
@@ -210,7 +210,7 @@ only differ with respect to the name they show. In these cases, the |graph|
syntax can be used, which is another syntax layer build ``on top'' of the node
syntax.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow down, branch right] {
root -> { left, right -> {child, child} }
};
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
index 7e4560d0da4..7c51ffe0e7c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
@@ -26,11 +26,11 @@ In this section, by \emph{graph} we refer to a set of nodes together with some
edges (sometimes also called arcs, in case they are directed) such as the
following:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a -> {b, c} -> d };
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph {
subgraph I_nm [V={a, b, c}, W={1,...,4}];
@@ -40,7 +40,7 @@ following:
};
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz
\graph [nodes={draw, circle}, clockwise, radius=.5cm, empty nodes, n=5] {
subgraph I_n [name=inner] --[complete bipartite]
@@ -48,7 +48,10 @@ following:
};
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{graphs}},
+ pre={\definecolor{graphicbackground}{rgb}{0.96,0.96,0.8}},
+]
\tikz
\graph [nodes={draw, circle}, clockwise, radius=.75cm, empty nodes, n=8] {
subgraph C_n [name=inner] <->[shorten <=1pt, shorten >=1pt]
@@ -56,7 +59,7 @@ following:
};
\end{codeexample}
-\begin{codeexample}[width=6.6cm]
+\begin{codeexample}[width=6.6cm,preamble={\usetikzlibrary{graphs}}]
\tikz [>={To[sep]}, rotate=90, xscale=-1,
mark/.style={fill=black!50}, mark/.default=]
\graph [trie, simple,
@@ -85,10 +88,10 @@ following:
\end{codeexample}
The nodes of a graph are normal \tikzname\ nodes, the edges are normal lines
-drawn between nodes. There is nothing in the |graph| library that you cannot do
-using the normal |\node| and the |edge| commands. Rather, its purpose is to
+drawn between nodes. There is nothing in the |graphs| library that you cannot
+do using the normal |\node| and the |edge| commands. Rather, its purpose is to
offer a concise and powerful way of \emph{specifying} which nodes are present
-and how they are connected. The |graph| library only offers simple methods for
+and how they are connected. The |graphs| library only offers simple methods for
specifying \emph{where} the nodes should be shown, its main strength is in
specifying which nodes and edges are present in principle. The problem of
finding ``good positions on the canvas'' for the nodes of a graph is left to
@@ -131,12 +134,12 @@ and then using Lua\TeX, resulting in the following drawing of the same graph:
\medskip
\fi
-The |graph| library uses a syntax that is quite different from the normal
+The |graphs| library uses a syntax that is quite different from the normal
\tikzname\ syntax for specifying nodes. The reason for this is that for many
medium-sized graphs it can become quite cumbersome to specify all the nodes
using |\node| repeatedly and then using a great number of |edge| command;
possibly with complicated |\foreach| statements. Instead, the syntax of the
-|graph| library is loosely inspired by the \textsc{dot} format, which is quite
+|graphs| library is loosely inspired by the \textsc{dot} format, which is quite
useful for specifying medium-sized graphs, with some extensions on top.
@@ -152,7 +155,7 @@ sections.
The basic way of specifying a graph is to write down a \emph{node chain} as in
the following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz [every node/.style = draw]
\graph { foo -> bar -> blub };
\end{codeexample}
@@ -165,7 +168,7 @@ the following.
Inside a graph there can be more than one chain:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a -> b -> c;
d -> e -> f;
@@ -182,7 +185,7 @@ When a node like |f| is created, both the node name and the node text are
identical by default. This is not always desirable and can be changed by using
the |as| key or by providing another text after a slash:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
x1/$x_1$ -> x2 [as=$x_2$, red] -> x34/{$x_3,x_4$};
x1 -> [bend left] x34;
@@ -193,7 +196,7 @@ When you wish to use a node name that contains special symbols like commas or
dashes, you must surround the node name by quotes. This allows you to use quite
arbitrary text as a ``node name'':
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
"$x_1$" -> "$x_2$"[red] -> "$x_3,x_4$";
"$x_1$" ->[bend left] "$x_3,x_4$";
@@ -210,7 +213,7 @@ get interesting when you write down a node or even a whole group and connect it
to another group. In this case, the ``exit points'' of the first node or group
get connected to the ``entry points'' of the second node or group:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a -> {
b -> c,
@@ -221,7 +224,7 @@ get connected to the ``entry points'' of the second node or group:
Chain groups make it easy to create tree structures:
%
-\begin{codeexample}[width=10cm]
+\begin{codeexample}[width=10cm,preamble={\usetikzlibrary{graphs}}]
\tikz
\graph [grow down,
branch right=2.5cm] {
@@ -269,7 +272,7 @@ When connectors like |->| or |--| are used to connect nodes or whole chain
groups, one or more edges will typically be created. These edges can be styles
easily by providing options in square brackets directly after these connectors:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a ->[red] b --[thick] {c, d};
};
@@ -278,7 +281,7 @@ easily by providing options in square brackets directly after these connectors:
Using the quotes syntax, see Section~\ref{section-label-quotes}, you can even
add labels to the edges easily by putting the labels in quotes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph {
a ->[red, "foo"] b --[thick, "bar"] {c, d};
};
@@ -295,7 +298,7 @@ somehow also indicate that these options actually ``belong'' to the edge
``leading to'' to nodes. This is achieved by preceding the options with a
greater-than sign:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph {
a -> b -- {c [> "foo"], d [> "bar"']};
};
@@ -304,7 +307,7 @@ greater-than sign:
Symmetrically, preceding the options by |<| causes the options and labels to
apply to the ``outgoing'' edges of the node:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph {
a [< red] -> b -- {c [> blue], d [> "bar"']};
};
@@ -313,7 +316,7 @@ apply to the ``outgoing'' edges of the node:
This syntax allows you to easily create trees with special edge labels as in
the following example of a treap:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz
\graph [edge quotes={fill=white,inner sep=1pt},
grow down, branch right, nodes={circle,draw}] {
@@ -340,7 +343,7 @@ part of a graph than have already been defined prior to the use of the |graph|
command. For this, simply surround a node name by parentheses. This will cause
a reference to be created to an already existing node:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz {
\node (a) at (0,0) {A};
\node (b) at (1,0) {B};
@@ -355,7 +358,7 @@ to belong to a \emph{node set} by adding the option |set=|\meta{node set name}.
Then, inside a |graph| command, you can collectively refer to these nodes by
surrounding the node set name in parentheses:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,shapes.geometric}}]
\tikz [new set=my nodes] {
\node [set=my nodes, circle, draw] at (1,1) {A};
\node [set=my nodes, rectangle, draw] at (1.5,0) {B};
@@ -375,11 +378,11 @@ To facilitate specifying such graphs, you can define a \emph{graph macro}. Once
a graph macro has been defined, you can use the name of the graph to make a
copy of the graph part of the graph currently being specified:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph K_n [n=6, clockwise] };
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph C_n [n=5, clockwise] -> mid };
\end{codeexample}
@@ -406,7 +409,7 @@ saying |complete bipartite={red}{green}| will cause edges to be added between
all red and all green nodes. More advanced connectors, like the |butterfly|
connector, allow you to add edges between color classes in a fancy manner.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz [x=8mm, y=6mm, circle]
\graph [nodes={fill=blue!70}, empty nodes, n=8] {
subgraph I_n [name=A] --[butterfly={level=4}]
@@ -480,7 +483,7 @@ like, say, |plot| or |--|.
This option causes the \meta{options} to be applied to each newly
created node inside the \meta{group specification}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [nodes=red] { a -> b -> c };
\end{codeexample}
%
@@ -491,7 +494,7 @@ like, say, |plot| or |--|.
This option causes the \meta{options} to be applied to each newly
created edge inside the \meta{group specification}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [edges={red,thick}] { a -> b -> c };
\end{codeexample}
%
@@ -506,13 +509,13 @@ like, say, |plot| or |--|.
This key specifies that the \meta{node specification} should be added
to each newly created edge as an implicitly placed node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [edge node={node [red, near end] {X}}] { a -> b -> c };
\end{codeexample}
%
Again, multiple uses of this key accumulate.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [edge node={node [near end] {X}},
edge node={node [near start] {Y}}] { a -> b -> c };
\end{codeexample}
@@ -523,7 +526,7 @@ like, say, |plot| or |--|.
The net effect is that the |text| is placed next to the newly created
edges.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [edge label=x] { a -> b -> {c,d} };
\end{codeexample}
\end{key}
@@ -531,7 +534,7 @@ like, say, |plot| or |--|.
\begin{key}{/tikz/graphs/edge label'=\meta{text}}
This key is an abbreviation for |edge node=node[auto,swap]{|\meta{text}|}|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [edge label=out, edge label'=in]
{ subgraph C_n [clockwise, n=5] };
\end{codeexample}
@@ -558,7 +561,7 @@ ignored by the parser.
In the following example, the group specification consists of three chain
specifications, namely of |a -> b|, then |c| alone, and finally |d -> e -> f|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a -> b,
c;
@@ -574,7 +577,7 @@ Commas are used to detect where chain specifications end. However, you will
often wish to use a comma also inside the options of a single node like in the
following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a [red, draw] -> b [blue, draw],
c [brown, draw, circle]
@@ -593,7 +596,7 @@ difference whether the options are passed to the |graph| command or whether
they are given at the beginning of this group. However, for groups nested
inside other groups, it does make a difference:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a -> { [nodes=red] % the option is local to these nodes:
b, c
@@ -610,7 +613,7 @@ specification} would normally go. In this case, the |\foreach| statement is
executed and for each iteration the content of the statement's body is treated
and parsed as a new chain specification.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [math nodes, branch down=5mm] {
a -> {
\foreach \i in {1,2,3} {
@@ -644,7 +647,7 @@ group.
allows you to say, for instance, |parse/.expand once| to insert the text
stored in some macro into the group.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\def\mychain{ a -> b -> c; }
\tikz \graph { [parse/.expand once=\mychain] d -> e };
\end{codeexample}
@@ -652,7 +655,7 @@ group.
In the following, more fancy example we use a loop to create a chain of
dynamic length.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\def\mychain#1{
\def\mytext{1}
\foreach \i in {2,...,#1} {
@@ -765,13 +768,13 @@ written |->| between them. Then the following happens:
no special anchor is used (which is the default). The \meta{anchor}
is stored in the macro |\tikzgraphleftanchor| with a leading dot.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{a,b,c} -> [complete bipartite] {e,f,g}
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [left anchor=east, right anchor=west] {
{a,b,c} -- [complete bipartite] {e,f,g}
};
@@ -826,7 +829,7 @@ written |->| between them. Then the following happens:
Here is an example that shows the default rendering of the different edge
specifications:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch down=5mm] {
a -> b;
c -- d;
@@ -888,7 +891,7 @@ name was already used inside the current graph. If this is the case, then we
say that the already existing node is \emph{referenced}; otherwise we say that
the node is \emph{fresh}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a -> b; % both are fresh
c -> a; % only c is fresh, a is referenced
@@ -915,7 +918,7 @@ be modified by using the following keys:
name is chosen is follows: An apostrophe (|'|) is appended repeatedly until
a node name is found that has not yet been used:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch down=5mm] {
{ [fresh nodes]
a -> {
@@ -939,7 +942,7 @@ be modified by using the following keys:
\begin{key}{/tikz/graphs/number nodes sep=\meta{text} (initially \normalfont space)}
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch down=5mm] {
{ [number nodes]
a -> {
@@ -984,7 +987,7 @@ is called. The different parameters are as follows:
node name}. Repeated calls of this key accumulate, leading to
ever-longer ``name paths'':
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}
\graph {
{ [name=first] 1, 2, 3} --
@@ -1009,7 +1012,7 @@ is called. The different parameters are as follows:
the \meta{node name}. The default is |\space|, resulting in a
space.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}
\graph [name separator=] { % no separator
{ [name=first] 1, 2, 3} --
@@ -1019,7 +1022,7 @@ is called. The different parameters are as follows:
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}
\graph [name separator=-] {
{ [name=first] 1, 2, 3} --
@@ -1051,7 +1054,7 @@ is called. The different parameters are as follows:
provide a text for the node that differs arbitrarily from the name
of the node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a [as=$x$] -- b [as=$y_5$] -> c [red, as={a--b}] };
\end{codeexample}
%
@@ -1098,7 +1101,7 @@ is called. The different parameters are as follows:
useful to change this: For instance, you might wish that the text of
all graph nodes is, say, surrounded by parentheses:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [typeset=(\tikzgraphnodetext)]
{ a -> b -> c };
\end{codeexample}
@@ -1106,7 +1109,7 @@ is called. The different parameters are as follows:
A more advanced macro might take apart the node text and render it
differently:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\def\mytypesetter{\expandafter\myparser\tikzgraphnodetext\relax}
\def\myparser#1 #2 #3\relax{%
$#1_{#2,\dots,#3}$
@@ -1121,7 +1124,7 @@ is called. The different parameters are as follows:
Just sets |typeset| to nothing, which causes all nodes to have an
empty text (unless, of course, the |as| option is used):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [empty nodes, nodes={circle, draw}] { a -> {b, c} };
\end{codeexample}
\end{key}
@@ -1130,7 +1133,7 @@ is called. The different parameters are as follows:
Sets |typeset| to |$\tikzgraphnodetext$|, which causes all nodes
names to be typeset in math mode:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [math nodes, nodes={circle, draw}] { a_1 -> {b^2, c_3^n} };
\end{codeexample}
\end{key}
@@ -1149,7 +1152,7 @@ for details.
a node is surrounded by quotation marks, you can use all sorts of special
symbols as part of the text that are normally forbidden:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}
\graph [grow right=2cm] {
"Hi, World!" -> "It's \emph{important}!"[red,rotate=-45];
@@ -1251,7 +1254,7 @@ effect is the same as if instead of the reference to the set name you had
created a group specification containing a list of references to all the nodes
that are part of the node set.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}[new set=red, new set=green, shorten >=2pt]
\foreach \i in {1,2,3} {
\node [draw, red!80, set=red] (r\i) at (\i,1) {$r_\i$};
@@ -1276,7 +1279,7 @@ access them as if they had been defined inside the graph. Here is an example
showing how you can create nodes outside a |graph| command and then connect
them inside as if they had been declared inside:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}[new set=import nodes]
\begin{scope}[nodes={set=import nodes}] % make all nodes part of this set
\node [red] (a) at (0,1) {$a$};
@@ -1298,7 +1301,7 @@ should go, you can also instead provide a group specification. Since nodes
specifications are part of chain specifications, which in turn are part of
group specifications, this is a recursive definition.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a -> {b,c,d} -> {e -> {f,g}, h} };
\end{codeexample}
@@ -1334,7 +1337,7 @@ several nodes have the same label.
%
In total, this is exactly the behaviour you would expect of a trie:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [trie] {
a -> {
a,
@@ -1350,7 +1353,7 @@ several nodes have the same label.
libraries, which need Lua\TeX.
%
\ifluatex
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}\usegdlibrary{layered}}]
\tikz \graph [trie, simple, layered layout] {
a -> b -> a,
a -> b -> c,
@@ -1361,7 +1364,7 @@ several nodes have the same label.
In the following example, we setup the |typeset| key so that it shows the
complete names of the nodes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}\usegdlibrary{layered}}]
\tikz \graph [trie, simple, layered layout,
typeset=\tikzgraphnodefullname] {
a -> b -> a,
@@ -1374,7 +1377,7 @@ several nodes have the same label.
You can also use the |trie| key locally and later reference nodes using
their full name:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ [trie, simple]
a -> {
@@ -1456,11 +1459,11 @@ large, algorithmically generated graphs.
Here is a typical way this syntax might be used:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph [quick] { "a" --["foo"] "b"[x=1] };
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [quick] {
"a"/"$a$" -- "b"[x=1] --[red] "c"[x=2];
{ [nodes=blue] "a" -- "d"[y=1]; };
@@ -1487,7 +1490,7 @@ large, algorithmically generated graphs.
\subsection{Simple Versus Multi-Graphs}
\label{section-library-graphs-simple}
-The |graph| library allows you to construct both simple graphs and
+The |graphs| library allows you to construct both simple graphs and
multi-graphs. In a simple graph there can be at most one edge between any two
vertices, while in a multi-graph there can be multiple edges (hence the name).
The two keys |multi| and |simple| allow you to switch (even locally inside on
@@ -1501,7 +1504,7 @@ construct.
part is a multi-graph), then when you specify an edge between two nodes
several times, several such edges get created:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [multi] { % "multi" is not really necessary here
a ->[bend left, red] b;
a ->[bend right, blue] b;
@@ -1523,7 +1526,7 @@ construct.
In contrast a multi-graph, in a simple graph, at most one edge gets created
for every pair of vertices:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [simple]{
a ->[bend left, red] b;
a ->[bend right, blue] b;
@@ -1539,7 +1542,7 @@ construct.
create a complicated graph and then later redirect and otherwise modify
edges easily:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [simple, grow right=2cm] {
{a,b,c,d} ->[complete bipartite] {e,f,g,h};
@@ -1554,7 +1557,7 @@ construct.
superfluous. In a simple graph, however, it counts as an edge kind and you
can thus use it to remove an edge that been added previously:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [simple] {
subgraph K_n [n=8, clockwise];
% Get rid of the following edges:
@@ -1588,7 +1591,7 @@ construct.
\subsection{Graph Edges: Labeling and Styling}
-When the |graph| library creates an edge between two nodes in a graph, the
+When the |graphs| library creates an edge between two nodes in a graph, the
appearance (called ``styling'' in \tikzname) can be specified in different
ways. Sometimes you will simply wish to say ``the edges between these two
groups of node should be red'', but sometimes you may wish to say ``this
@@ -1607,7 +1610,7 @@ chain group before the |->| and the nodes in the chain group following it. The
library and you write some text in quotes inside the |options|, this text will
be added as a label to each edge:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz
\graph [edge quotes=near start] {
{ a, b } -> [red, "x", complete bipartite] { c, d };
@@ -1618,7 +1621,7 @@ As documented in the |quotes| library in more detail, you can easily modify the
appearance of edge labels created using the quotes syntax by adding options
after the closing quotes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph {
a ->["x"] b ->["y"'] c ->["z" red] d;
};
@@ -1628,19 +1631,20 @@ The following options make it easy to setup the styling of nodes created in
this way:
%
\begin{key}{/tikz/graphs/edge quotes=\opt{\meta{options}}}
- A shorthand for setting the style |every edge quotes| to \meta{options}.
-\begin{codeexample}[]
+ A shorthand for setting the style |every edge quotes| to \meta{options}.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph [edge quotes={blue,auto}] {
a ->["x"] b ->["y"'] c ->["b" red] d;
};
\end{codeexample}
-%
+ %
\end{key}
\begin{key}{/tikz/graphs/edge quotes center}
A shorthand for |edge quotes| to |anchor=center|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph [edge quotes center] {
a ->["x"] b ->["y"] c ->["z" red] d;
};
@@ -1651,7 +1655,7 @@ this way:
\begin{key}{/tikz/graphs/edge quotes mid}
A shorthand for |edge quotes| to |anchor=mid|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph [edge quotes mid] {
a ->["x"] b ->["y"] c ->["z" red] d;
};
@@ -1664,7 +1668,7 @@ this way:
Consider the following tree-like graph:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a -> {b,c} };
\end{codeexample}
@@ -1676,7 +1680,7 @@ one of these option |red| or |blue| to the operator.
There are several ways to solve this problem. First, we can simply split up the
specification and specify the two edges separately:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a -> [red] b;
a -> [blue] c;
@@ -1695,7 +1699,7 @@ One can sidestep this problem using the |simple| option: This option allows you
to first specify a graph and then, later on, replace edges by other edges and,
thereby, provide new options:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [simple] {
a -> {b,c};
a -> [red] b;
@@ -1711,7 +1715,7 @@ path in a larger tree: First specify the tree normally and, then, ``respecify''
the path or paths with some other edge options in force. In the following
example, we use this to highlight a whole subtree of a larger tree:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [simple] {
% The larger tree, no special options in force
a -> {
@@ -1737,7 +1741,7 @@ red edge between |a| and |b| and a blue edge between |a| and |c|, this could
also be phrased as follows: ``Make the edge leading to |b| red and make the
edge leading to |c| blue''.
-For this situation, the |graph| library offers a number of special keys, which
+For this situation, the |graphs| library offers a number of special keys, which
are documented in the following. However, most of the time you will not use
these keys directly, but, rather, use a special syntax explained in
Section~\ref{section-syntax-outgoing-incoming}.
@@ -1748,7 +1752,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
that is created by a connector like |->| in which the node is a
\emph{target}. Consider the following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ a, b } ->
{ c [target edge style=red], d } ->
@@ -1762,7 +1766,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
When an edge already has options set directly, the \meta{options} are
executed after these direct options, thus, they ``overrule'' them:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ a, b } -> [blue, thick]
{ c [target edge style=red], d } ->
@@ -1774,7 +1778,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
for edges created later on that lead to the node will have these options
set:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ a, b } ->
{ c [target edge style=red], d } ->
@@ -1793,7 +1797,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
also edge labels (see below) for this node.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ a, b } ->
{ c [target edge style=red], d },
@@ -1808,7 +1812,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
will not be added as options to any newly created edges with the current
node as their target, but rather it will be added as a node specification.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ a, b } ->
{ c [target edge node=node{X}], d } ->
@@ -1825,7 +1829,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
Works exactly like |target edge style|, only now the \meta{options} are
only added when the node is a source of a newly created edge:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{ a, b } ->
{ c [source edge style=red], d } ->
@@ -1844,7 +1848,7 @@ Section~\ref{section-syntax-outgoing-incoming}.
|target node style|.
\end{enumerate}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
a [source edge style=red] ->[green]
b [target edge style=blue] % blue wins
@@ -1902,7 +1906,7 @@ target and source options:
These mechanisms make it especially easy to create trees in which the edges are
labeled in some special way:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz
\graph [edge quotes={fill=white,inner sep=1pt},
grow down, branch right] {
@@ -1924,7 +1928,7 @@ instance when drawing certain kind of trees, the nodes themselves should not
get any text, but rather the edge leading to the node should be labeled as in
the following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,quotes}}]
\tikz \graph [empty nodes]
{
root -> {
@@ -1959,7 +1963,7 @@ The following styles do exactly this:
%
Here is an example that show how this command is used.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [put node text on incoming edges,
math nodes, nodes={circle,draw}]
{ a -> b -> {c, d} };
@@ -2015,7 +2019,7 @@ key:
encompassing scopes, unless it is explicitly changed (see below) or
unset (again, see below).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [color class=red] {
[cycle=red] % causes all "logically" red nodes to be connected in
% a cycle
@@ -2026,7 +2030,7 @@ key:
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [color class=red, color class=green,
math nodes, clockwise, n=5] {
[complete bipartite={red}{green}]
@@ -2041,7 +2045,7 @@ key:
the color \meta{color class name}. You can also use |!|\meta{color
class name} as an alias for this key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [color class=red, color class=green,
math nodes, clockwise, n=5] {
[complete bipartite={red}{green}]
@@ -2057,7 +2061,7 @@ key:
color} instead. They loose having color \meta{color class name}, but
other colors are not affected.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [color class=red, color class=green,
math nodes, clockwise, n=5] {
[complete bipartite={red}{green}]
@@ -2082,12 +2086,13 @@ The following color classes are available by default:
saying |not source| or |not target| with a node, you can influence how
it is connected:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a -> { b, c, d } -> e };
- \end{codeexample}
- \begin{codeexample}[]
+\end{codeexample}
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a -> { b[not source], c, d[not target] } -> e };
- \end{codeexample}
+\end{codeexample}
%
\item Color classes |source'| and |target'|. These are temporary colors
that are also explained in Section~\ref{section-library-graphs-join}.
@@ -2150,7 +2155,7 @@ simply add edges between all nodes of the group.
\begin{key}{/tikz/graphs/--}
Sets the |default edge kind| to |--|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph K_n [--, n=5, clockwise, radius=6mm] };
\end{codeexample}
\end{key}
@@ -2158,7 +2163,7 @@ simply add edges between all nodes of the group.
\begin{key}{/tikz/graphs/->}
Sets the |default edge kind| to |->|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph K_n [->, n=5, clockwise, radius=6mm] };
\end{codeexample}
\end{key}
@@ -2166,7 +2171,7 @@ simply add edges between all nodes of the group.
\begin{key}{/tikz/graphs/<-}
Sets the |default edge kind| to |<-|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph K_n [<-, n=5, clockwise, radius=6mm] };
\end{codeexample}
\end{key}
@@ -2174,7 +2179,7 @@ simply add edges between all nodes of the group.
\begin{key}{/tikz/graphs/<->}
Sets the |default edge kind| to |<->|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph K_n [<->, n=5, clockwise, radius=6mm] };
\end{codeexample}
\end{key}
@@ -2199,7 +2204,7 @@ simply add edges between all nodes of the group.
In the following example we use an operator to connect every node
colored |all| inside the subgroup to he node |root|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\def\myconnect#1{\tikzset{graphs/new ->={root}{#1}{}{}}}
\begin{tikzpicture}
@@ -2232,7 +2237,7 @@ simply add edges between all nodes of the group.
As an example, let us create an operator then adds a zig-zag path
between two color classes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\newcount\leftshorecount \newcount\rightshorecount
\newcount\mycount \newcount\myothercount
\def\zigzag{
@@ -2336,7 +2341,7 @@ them) are connected to the sources of |{d,e->f}| (which are just |d| and~|e|).
Finally, in the whole graph only |a|, |b|, and |c| are sources while only |d|
and |f| are targets.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\def\hilightsource#1{\fill [green, opacity=.25] (#1) circle [radius=2mm]; }
\def\hilighttarget#1{\fill [red, opacity=.25] (#1) circle [radius=2mm]; }
\tikz \graph
@@ -2385,7 +2390,7 @@ determine which operator should be chosen for performing this job:
\meta{edge specification} whose \meta{options} do not contain the
|operator| key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [default edge operator=matching] {
{a, b} ->[matching and star]
{c, d, e} --[complete bipartite]
@@ -2414,7 +2419,7 @@ with an edge specification, it can also be used as a normal operator together
with a group specification. In this case, however, the color classes must be
named explicitly:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\begin{tikzpicture}
\graph [color class=red, color class=green, math nodes]
{ [complete bipartite={red}{green}]
@@ -2461,7 +2466,7 @@ A graph macro is declared using the following key:
with some \meta{options}, they are executed prior to inserting the
\meta{specification}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch down=4mm, declare={claw}{1 -- {2,3,4}}] {
a;
claw;
@@ -2471,7 +2476,7 @@ A graph macro is declared using the following key:
%
In the next example, we use a key to configure a subgraph:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [ n/.code=\def\n{#1}, branch down=4mm,
declare={star}{root -- { \foreach \i in {1,...,\n} {\i} }}]
{ star [n=5]; };
@@ -2481,7 +2486,7 @@ A graph macro is declared using the following key:
As a last example, let us define a somewhat more complicated graph macro.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\newcount\mycount
\tikzgraphsset{
levels/.store in=\tikzgraphlevel,
@@ -2514,7 +2519,7 @@ Note that when you use a graph macro several time inside the same graph, you
will typically have to use the |name| option so that different copies of the
subgraph are created:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch down=4mm, declare={claw}{1 -- {2,3,4}}] {
claw [name=left],
claw [name=right]
@@ -2528,14 +2533,14 @@ Section~\ref{section-library-graphs-reference-macros}.
\subsection{Online Placement Strategies}
\label{section-library-graphs-placement}
-The main job of the |graph| library is to make it easy to specify which nodes
+The main job of the |graphs| library is to make it easy to specify which nodes
are present in a graph and how they are connected. In contrast, it is
\emph{not} the primary job of the library to compute good positions for nodes
in a graph -- use for instance a |\matrix|, specify good positions ``by hand''
or use the graph drawing facilities. Nevertheless, some basic support for
-automatic node placement is provided for simple cases. The graph library will
-provide you with information about the position of nodes inside their groups
-and chains.
+automatic node placement is provided for simple cases. The |graphs| library
+will provide you with information about the position of nodes inside their
+groups and chains.
As a graph is being constructed, a \emph{placement strategy} is used to
determine a (reasonably good) position for the nodes as they are created. These
@@ -2562,7 +2567,7 @@ work together in perfect harmony.
this strategy if you position nodes ``by hand''. For this, you can use the
|at| key, the |shift| keys:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [no placement]
{
a[at={(0:0)}] -> b[at={(1,0)}] -> c[yshift=1cm];
@@ -2577,7 +2582,7 @@ work together in perfect harmony.
written |at={(|\meta{x dimension}|,|\meta{y dimension}|)}|, where
\meta{y dimension} is a value set using the |y| key:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [no placement]
{
a[x=0,y=0] -> b[x=1,y=0] -> c[x=0,y=1];
@@ -2587,7 +2592,7 @@ work together in perfect harmony.
Note that you can specify an |x| or a |y| key for a whole scope and
then vary only the other key:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [no placement]
{
a ->
@@ -2622,10 +2627,10 @@ work together in perfect harmony.
This slightly confusing explanation is perhaps best exemplified. In the
below example, the two numbers indicate the two logical width and depth of
- each node as computed by the |graph| library. Just ignore the arcane code
+ each node as computed by the |graphs| library. Just ignore the arcane code
that is used to print these numbers.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz
\graph [nodes={align=center, inner sep=1pt}, grow right=7mm,
typeset={\tikzgraphnodetext\\[-4pt]
@@ -2656,7 +2661,7 @@ work together in perfect harmony.
Under the regime of the |Cartesian placement| strategy, each node is
shifted by the current logical width times this \meta{coordinate}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [chain shift=(45:1)] {
a -> b -> c;
d -> e;
@@ -2669,7 +2674,7 @@ work together in perfect harmony.
Like for |chain shift|, each node is shifted by the current logical
depth times this \meta{coordinate}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [chain shift=(45:7mm), group shift=(-45:7mm)] {
a -> b -> c;
d -> e;
@@ -2680,11 +2685,11 @@ work together in perfect harmony.
\end{key}
\begin{key}{/tikz/graphs/grow up=\meta{distance} (default 1)}
- Sets the |chain shift| to |(|\meta{distance}|,0)|, so that chains ``grow
+ Sets the |chain shift| to |(0,|\meta{distance}|)|, so that chains ``grow
upward''. The distance by which the center of each new element is removed
from the center of the previous one is \meta{distance}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow up=7mm] { a -> b -> c};
\end{codeexample}
%
@@ -2693,7 +2698,7 @@ work together in perfect harmony.
\begin{key}{/tikz/graphs/grow down=\meta{distance} (default 1)}
Like |grow up|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow down=7mm] { a -> b -> c};
\end{codeexample}
%
@@ -2702,7 +2707,7 @@ work together in perfect harmony.
\begin{key}{/tikz/graphs/grow left=\meta{distance} (default 1)}
Like |grow up|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow left=7mm] { a -> b -> c};
\end{codeexample}
%
@@ -2711,7 +2716,7 @@ work together in perfect harmony.
\begin{key}{/tikz/graphs/grow right=\meta{distance} (default 1)}
Like |grow up|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow right=7mm] { a -> b -> c};
\end{codeexample}
%
@@ -2722,7 +2727,7 @@ work together in perfect harmony.
which the center of each new element is removed from the center of the
previous one is \meta{distance}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch up=7mm] { a -> b -> {c, d, e} };
\end{codeexample}
%
@@ -2733,7 +2738,7 @@ work together in perfect harmony.
\begin{key}{/tikz/graphs/branch down=\meta{distance} (default 1)}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch down=7mm] { a -> b -> {c, d, e}};
\end{codeexample}
%
@@ -2741,7 +2746,7 @@ work together in perfect harmony.
\begin{key}{/tikz/graphs/branch left=\meta{distance} (default 1)}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch left=7mm, grow down=7mm] { a -> b -> {c, d, e}};
\end{codeexample}
%
@@ -2749,7 +2754,7 @@ work together in perfect harmony.
\begin{key}{/tikz/graphs/branch right=\meta{distance} (default 1)}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch right=7mm, grow down=7mm] { a -> b -> {c, d, e}};
\end{codeexample}
%
@@ -2766,17 +2771,17 @@ The following keys place nodes in a $N\times M$ grid.
automatically as $\sqrt{\texttt{\string|V\string|}}$. $N$ is the number of
rows needed to lay out the graph in a grid with $M$ columns.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
% An example with 6 nodes, 3 columns and therefor 2 rows
\tikz \graph [grid placement] { subgraph I_n[n=6, wrap after=3] };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
% An example with 9 nodes with columns and rows computed automatically
\tikz \graph [grid placement] { subgraph Grid_n [n=9] };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
% Directions can be changed
\tikz \graph [grid placement, branch up, grow left] { subgraph Grid_n [n=9] };
\end{codeexample}
@@ -2784,7 +2789,7 @@ The following keys place nodes in a $N\times M$ grid.
In case a user-defined graph instead of a pre-defined |subgraph| is to be
laid out using |grid placement|, |n| has to be specified explicitly:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grid placement] {
[n=6, wrap after=3]
a -- b -- c -- d -- e -- f
@@ -2809,7 +2814,7 @@ or advanced offline strategies to place the nodes.
along a chain are placed in such a way that the left end of a new node is
\meta{distance} from the right end of the previous node:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow right sep, left anchor=east, right anchor=west] {
start -- {
long text -- {short, very long text} -- more text,
@@ -2828,14 +2833,15 @@ or advanced offline strategies to place the nodes.
\begin{key}{/tikz/graphs/grow left sep=\meta{distance} (default 1em)}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow left sep] { long -- longer -- longest };
\end{codeexample}
%
\end{key}
\begin{key}{/tikz/graphs/grow up sep=\meta{distance} (default 1em)}
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow up sep] {
a / $a=x$ --
b / {$b=\displaystyle \int_0^1 x dx$} --
@@ -2853,7 +2859,7 @@ or advanced offline strategies to place the nodes.
This key works like |grow right sep|, only it affects groups rather than
chains.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow down, branch right sep] {
start -- {
an even longer text -- {short, very long text} -- more text,
@@ -2869,7 +2875,7 @@ or advanced offline strategies to place the nodes.
\begin{key}{/tikz/graphs/branch left sep=\meta{distance} (default 1em)}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow down sep, branch left sep] {
start -- {
an even longer text -- {short, very long text} -- more text,
@@ -2883,7 +2889,7 @@ or advanced offline strategies to place the nodes.
\begin{key}{/tikz/graphs/branch up sep=\meta{distance} (default 1em)}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [branch up sep] { a, b, c[draw, circle, inner sep=7mm] };
\end{codeexample}
%
@@ -2910,7 +2916,7 @@ or |counterclockwise|.
chain is shifted by
|(|\meta{logical width}\meta{angle}|:|\meta{logical width}\meta{angle}|)|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement] {
a -> b -> c;
d -> e;
@@ -2924,7 +2930,7 @@ or |counterclockwise|.
Like for |group shift|, each node on a chain is shifted by
|(|\meta{logical depth}\meta{angle}|:|\meta{logical depth}\meta{angle}|)|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement, group polar shift=(30:0)] {
a -> b -> c;
d -> e;
@@ -2932,7 +2938,7 @@ or |counterclockwise|.
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement,
chain polar shift=(30:0),
group polar shift=(0:1cm)] {
@@ -2948,11 +2954,11 @@ or |counterclockwise|.
when the polar shift of a node has been calculated. Essentially, this
key allows you to set the \meta{radius} of the innermost circle.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement, radius=5mm] { a, b, c, d };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement, radius=1cm] { a, b, c, d };
\end{codeexample}
\end{key}
@@ -2961,11 +2967,11 @@ or |counterclockwise|.
This is an initial value that is added to the total computed angle when
the polar shift of a node has been calculated.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement] { a, b, c, d };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [circular placement, phase=0] { a, b, c, d };
\end{codeexample}
\end{key}
@@ -2979,11 +2985,11 @@ or |counterclockwise|.
which is exactly what you want when you use predefined graph macros like
|subgraph K_n|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [clockwise=4] { a, b, c, d };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [clockwise] { subgraph K_n [n=5] };
\end{codeexample}
%
@@ -3006,7 +3012,7 @@ the node inside this tree.
This key stores a number that is increased for each element on a chain, but
gets reset at the end of a group:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [ branch down=5mm, typeset=
\tikzgraphnodetext:\pgfkeysvalueof{/tikz/graphs/placement/level}]
{
@@ -3039,7 +3045,7 @@ command also executes the following keys whenever it creates a node:
This key also gets executed for each newly created node with \meta{level}
set to the current level of the node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [
branch down=5mm,
level 1/.style={nodes=red},
@@ -3058,7 +3064,7 @@ command also executes the following keys whenever it creates a node:
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [
branch down=5mm,
level 1/.style={grow right=2cm},
@@ -3086,7 +3092,7 @@ command also executes the following keys whenever it creates a node:
In the following the details of how to define a new placement strategy are
explained. Most readers may wish to skip this section.
-As a graph specification is being parsed, the |graph| library will keep track
+As a graph specification is being parsed, the |graphs| library will keep track
of different numbers that identify the positions of the nodes. Let us start
with what happens on a chain. First, the following counter is increased for
each element of the chain:
@@ -3096,7 +3102,7 @@ each element of the chain:
current chain. However, you only have access to this value inside the code
passed to the macro |compute position|, explained later on.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [
grow right sep, typeset=\tikzgraphnodetext:\mynum,
placement/compute position/.append code=
@@ -3142,7 +3148,7 @@ gives more interesting information:
just setup things so that the computed width and depth of each node is
displayed at the bottom of each node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz
\graph [nodes={align=center, inner sep=1pt}, grow right=7mm,
typeset={\tikzgraphnodetext\\[-4pt]
@@ -3166,7 +3172,7 @@ gives more interesting information:
option, which internally sets the |logical node width| key so that it
returns the width of its parameter in points.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz
\graph [grow right sep, branch down sep, nodes={align=left, inner sep=1pt},
typeset={\tikzgraphnodetext\\[-4pt] \tiny Width: \mywidth\\[-6pt] \tiny Depth: \mydepth},
@@ -3190,11 +3196,11 @@ Symmetrically to chains, as a group is being constructed, counters are
available for the number of chains encountered so far in the current group and
for the logical depth of the current group:
%
-\begin{key}{/tikz/graphs/placement/element count}
+\begin{key}{/tikz/graphs/placement/chain count}
This key stores a number that tells us the sequence number of the
chain in the current group.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [
grow right sep, branch down=5mm, typeset=\tikzgraphnodetext:\mynum,
placement/compute position/.append code=
@@ -3246,7 +3252,7 @@ following two keys:
(Naturally, the same effect could be achieved much more easily using the
|level| key.)
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\newcount\mycount
\def\lightendeepernodes{
\pgfmathsetcount{\mycount}{
@@ -3321,7 +3327,7 @@ following two keys:
|V={1,...,|\meta{number}|}, name shore V/.style={name=V}|.
\end{key}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [branch right, nodes={draw, circle}]
{ subgraph I_n [V={a,b,c}] };
\end{codeexample}
@@ -3330,7 +3336,7 @@ following two keys:
used to introduce nodes into a graph that are then connected as in the
following example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [clockwise, clique] { subgraph I_n [n=4] };
\end{codeexample}
%
@@ -3341,7 +3347,7 @@ following two keys:
$m$ unconnected vertices. The first set consists of the vertices set by the
key |V|, the other set consists of the vertices set by the key |W|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph { subgraph I_nm [V={1,2,3}, W={a,b,c}] };
\end{codeexample}
%
@@ -3371,7 +3377,7 @@ following two keys:
The main purpose of this subgraph is to setup the nodes in a bipartite
graph:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph {
subgraph I_nm [n=3, m=4];
@@ -3386,7 +3392,7 @@ following two keys:
\begin{graph}{subgraph K\_n}
This graph is the complete clique on the vertices from the |V| key.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [clockwise] { subgraph K_n [n=7] };
\end{codeexample}
%
@@ -3396,12 +3402,12 @@ following two keys:
This graph is the complete bipartite graph with the two shores |V| and |W|
as in |subgraph I_nm|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [branch right, grow down]
{ subgraph K_nm [V={6,...,9}, W={b,...,e}] };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [simple, branch right, grow down]
{
subgraph K_nm [V={1,2,3}, W={a,b,c,d}, ->];
@@ -3414,7 +3420,7 @@ following two keys:
\begin{graph}{subgraph P\_n}
This graph is the path on the vertices in |V|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [branch right] { subgraph P_n [n=3] };
\end{codeexample}
%
@@ -3423,7 +3429,7 @@ following two keys:
\begin{graph}{subgraph C\_n}
This graph is the cycle on the vertices in |V|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [clockwise] { subgraph C_n [n=7, ->] };
\end{codeexample}
%
@@ -3439,12 +3445,12 @@ following two keys:
created between the nodes of a |Grid_n| |subgraph| using different
values for |wrap after|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [grid placement] { subgraph Grid_n [n=3,wrap after=1] };
\tikz \graph [grid placement] { subgraph Grid_n [n=3,wrap after=3] };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [grid placement] { subgraph Grid_n [n=4,wrap after=2] };
\tikz \graph [grid placement] { subgraph Grid_n [n=4] };
\end{codeexample}
@@ -3464,7 +3470,7 @@ following two keys:
% The names of the two shores |V| and |W| can be changed as described in
% the documentation of the keys |/tikz/graphs/name shore V| and
% |/tikz/graphs/name shore W|.
-% \begin{codeexample}[]
+% \begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
%\tikz \graph [grid placement] { subgraph Grid_nm [V={1,2,3}, W={4, 5, 6}] };
% \end{codeexample}
%\end{graph}
@@ -3481,7 +3487,7 @@ vertices of the current group having a certain color in a specific way.
a color that all nodes get by default, when you do not specify anything,
all nodes will be connected.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [clockwise, n=5] {
a,
b,
@@ -3492,7 +3498,7 @@ vertices of the current group having a certain color in a specific way.
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [color class=red, clockwise, n=5] {
[clique=red, ->]
a, b[red], c[red], d, e[red]
@@ -3506,7 +3512,8 @@ vertices of the current group having a certain color in a specific way.
current group having belonging to color class \meta{color}. More precisely,
an edge of kind |-!-| is added for each pair of vertices. This means that
edge only get removed if you specify the |simple| option.
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [simple] {
subgraph K_n [<->, n=7, clockwise]; % create lots of edges
@@ -3520,7 +3527,7 @@ vertices of the current group having a certain color in a specific way.
Connects the nodes colored \meta{color} is a cyclic fashion. The ordering
is the ordering in which they appear in the whole graph specification.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [clockwise, n=6, phase=60] {
{ [cycle, ->] a, b, c },
{ [cycle, <-] d, e, f }
@@ -3534,7 +3541,7 @@ vertices of the current group having a certain color in a specific way.
all other edges between the nodes of the cycle, provided we are
constructing a |simple| graph.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [simple] {
subgraph K_n [n=7, clockwise]; % create lots of edges
@@ -3548,7 +3555,7 @@ vertices of the current group having a certain color in a specific way.
Works like |cycle|, only there is no edge from the last to the first
vertex.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [clockwise, n=6] {
{ [path, ->] a, b, c },
{ [path, <-] d, e, f }
@@ -3561,7 +3568,7 @@ vertices of the current group having a certain color in a specific way.
Works like |induced cycle|, only there is no edge from the last to the
first vertex.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [simple] {
subgraph K_n [n=7, clockwise]; % create lots of edges
@@ -3582,14 +3589,14 @@ the colors need to be set explicitly).
Adds all possible edges from every node having color \meta{from color} to
every node having color \meta{to color}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { {a, b} ->[complete bipartite]
{c, d, e} --[complete bipartite]
{g, h, i, j} --[complete bipartite]
k };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [color class=red, color class=green, clockwise, n=6] {
[complete bipartite={red}{green}, ->]
a [red], b[red], c[red], d[green], e[green], f[green]
@@ -3603,7 +3610,7 @@ the colors need to be set explicitly).
edges between the vertices in either shore are removed (more precisely,
they get replaced by |-!-| edges).
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [simple] {
subgraph K_n [n=5, clockwise]; % Lots of edges
@@ -3622,7 +3629,7 @@ the colors need to be set explicitly).
what graph theoreticians call a \emph{perfect matching}, otherwise only a
maximum, but not perfect matching results.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph {
{a, b, c} ->[matching]
{d, e, f} --[matching]
@@ -3641,7 +3648,7 @@ the colors need to be set explicitly).
This simple rule allows for some powerful effects (since this connector is
the one initially set, there is no need to add it here):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph { a -> {b, c} -> {d, e} -- f};
\end{codeexample}
%
@@ -3661,7 +3668,7 @@ the colors need to be set explicitly).
each node gets connected to the corresponding node in the other set with
the same index (as in a |matching|):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs.standard}}]
\tikz \graph [left anchor=east, right anchor=west,
branch down=4mm, grow right=15mm] {
subgraph I_n [n=12, name=A] --[butterfly={level=3}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
index e8c5a77dc9a..8288a0797f6 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
@@ -68,6 +68,11 @@ tree, and so on. Also, you can refer to the different anchors of a matrix.
\begin{stylekey}{/tikz/every matrix (initially \normalfont empty)}
This style is used in every matrix.
\end{stylekey}
+ %
+ \begin{stylekey}{/tikz/every outer matrix (initially \normalfont empty)}
+ While the |every matrix| key also applies to the matrix contents, this
+ only applies to the outer node which holds the matrix.
+ \end{stylekey}
\end{key}
Even more so than nodes, matrices will often be the only object on a path.
@@ -87,6 +92,11 @@ normal nodes:
transformation matrix is reset.
\item For multi-part shapes you can only set the |text| part of the node.
\item All options starting with |text| such as |text width| have no effect.
+ \item If you place a matrix on a path, the matrix contents will be
+ collected into a macro, which tokenizes them. This means that |&| will
+ lose its meaning as an alignment character, resulting in an error. If
+ you need to place a matrix on a path, use |ampersand replacement| to
+ work around that problem.
\end{enumerate}
@@ -614,7 +624,7 @@ The following examples are adapted from code by Mark Wibrow. The first two
redraw pictures from Timothy van Zandt's PStricks documentation:
%
{\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix [matrix of math nodes,row sep=1cm]
{
@@ -633,7 +643,10 @@ redraw pictures from Timothy van Zandt's PStricks documentation:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{matrix}},
+ pre={\definecolor{graphicbackground}{rgb}{0.96,0.96,0.8}},
+]
\begin{tikzpicture}[>=stealth,->,shorten >=2pt,looseness=.5,auto]
\matrix [matrix of math nodes,
column sep={2cm,between origins},
@@ -658,7 +671,7 @@ redraw pictures from Timothy van Zandt's PStricks documentation:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
\begin{tikzpicture}
\matrix (network)
[matrix of nodes,%
@@ -688,7 +701,7 @@ is based on the following paper: K.~Bossley, M.~Brown, and C.~Harris,
Neurofuzzy identification of an autonomous underwater vehicle,
\emph{International Journal of Systems Science}, 1999, 30, 901--913.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows,shapes.geometric}}]
\begin{tikzpicture}
[auto,
decision/.style={diamond, draw=blue, thick, fill=blue!20,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
index ac0d0080b64..4a8874131de 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
@@ -94,24 +94,25 @@ which is described in the subsections of the present section.
the path options (like filling and drawing the path due to a |fill| and a
|draw| option somewhere in the \meta{specification}), the nodes are added
in a post-processing step.
+\end{command}
- \begin{key}{/tikz/name=\meta{path name}}
- Assigns a name to the path for reference (specifically, for reference
- in animations; for reference in intersections, use the |name path|
- command, which has a different purpose, see the |intersections| library
- for details). Since the name is a ``high-level'' name (drivers never
- know of it), you can use spaces, number, letters, or whatever you like
- when naming a path, but the name may \emph{not} contain any punctuation
- like a dot, a comma, or a colon.
- \end{key}
+\begin{key}{/tikz/name=\meta{path name}}
+ Assigns a name to the path for reference (specifically, for reference
+ in animations; for reference in intersections, use the |name path|
+ command, which has a different purpose, see the |intersections| library
+ for details). Since the name is a ``high-level'' name (drivers never
+ know of it), you can use spaces, number, letters, or whatever you like
+ when naming a path, but the name may \emph{not} contain any punctuation
+ like a dot, a comma, or a colon.
+\end{key}
- The following style influences scopes:
+The following style influences scopes:
+%
+\begin{stylekey}{/tikz/every path (initially \normalfont empty)}
+ This style is installed at the beginning of every path. This can be
+ useful for (temporarily) adding, say, the |draw| option to everything
+ in a scope.
%
- \begin{stylekey}{/tikz/every path (initially \normalfont empty)}
- This style is installed at the beginning of every path. This can be
- useful for (temporarily) adding, say, the |draw| option to everything
- in a scope.
- %
\begin{codeexample}[]
\begin{tikzpicture}
[fill=yellow!80!black, % only sets the color
@@ -120,8 +121,8 @@ which is described in the subsections of the present section.
\shade (2,0) rectangle +(1,1);
\end{tikzpicture}
\end{codeexample}
- \end{stylekey}
-\end{command}
+ %
+\end{stylekey}
\begin{key}{/tikz/insert path=\meta{path}}
This key can be used inside an option to add something to the current path.
@@ -820,7 +821,7 @@ cosine curve whose end points are not multiples of $\pi/2$.
The |svg| operation can be used to extend the current path by a path given in
the \textsc{svg} path data syntax. This syntax is described in detail in
-Section 8.3 of the \textsc{svg 1.1} specification, please consult this
+Section~8.3 of the \textsc{svg 1.1} specification, please consult this
specification for details.
\begin{pathoperation}{svg}{\opt{\oarg{options}}\marg{path data}}
@@ -832,7 +833,7 @@ specification for details.
\meta{options} apply locally to this path operation, typically you will use
them to set up, say, some transformations.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{svg.path}}]
\begin{tikzpicture}
\filldraw [fill=red!20] (0,1) svg[scale=2] {h 10 v 10 h -10}
node [above left] {upper left} -- cycle;
@@ -918,8 +919,8 @@ path to be used instead of the straight line.
To do so, you specify the nodes between the |to| keyword and the coordinate
(if there are options to the |to| operation, these come first). The effect
of |(a) to node {x} (b)| (typically) is the same as if you had written
- |(a) -- node {x} (b)|, namely that the node is placed on the to. This can
- be used to add labels to tos:
+ |(a) -- node {x} (b)|, namely that the node is placed on the |to|. This can
+ be used to add labels to |to|s:
%
\begin{codeexample}[]
\begin{tikzpicture}
@@ -1184,7 +1185,7 @@ not actually extend that path, but have different, mostly local, effects.
and a $y$-part measured in \TeX\ points (|pt|). In particular, point
registers do not store nodes or node names. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1224,7 +1225,7 @@ not actually extend that path, but have different, mostly local, effects.
point. Naturally, using the \verb!|-! notation, this could be written much
more compactly.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1241,7 +1242,7 @@ not actually extend that path, but have different, mostly local, effects.
operation. If you wish to access a computed coordinate outside the body,
you must use a |coordinate| path operation:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -1263,7 +1264,7 @@ not actually extend that path, but have different, mostly local, effects.
For a more useful application of the let operation, let us draw a circle
that touches a given line:
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,3);
@@ -1336,7 +1337,7 @@ to the |node| operation and discussed in detail in Section~\ref{section-pics}.
This causes an animation of \meta{animate attribute} to be added to the
current path, see Section~\ref{section-tikz-animations} for details.
%
-\begin{codeexample}[width=2cm]
+\begin{codeexample}[width=2cm,preamble={\usetikzlibrary{animations}}]
\tikz \draw :xshift = {0s = "0cm", 30s = "-3cm", repeats} (0,0) circle (5mm);
\end{codeexample}
%
@@ -1392,10 +1393,10 @@ experts and should only be used deep inside clever macros, not on normal paths.
\subsection{Interacting with the Soft Path subsystem}
During construction \tikzname\ stores the path internally as a \emph{soft
-path}. Sometimes it is desirable to save a path during the stage of
-construction, restore it elsewhere and continue using it. There are two keys
-to facilitate this operation, which are explained below. To learn more about
-the soft path subsystem, refer to section~\ref{section-soft-paths}.
+path}. Sometimes it is desirable to save a path during the stage of
+construction, restore it elsewhere and continue using it. There are two keys to
+facilitate this operation, which are explained below. To learn more about the
+soft path subsystem, refer to section~\ref{section-soft-paths}.
\begin{key}{/tikz/save path=\meta{macro}}
Save the current soft path into \meta{macro}.
@@ -1405,7 +1406,7 @@ the soft path subsystem, refer to section~\ref{section-soft-paths}.
Set the current path to the soft path stored in \meta{macro}.
\end{key}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}
\path[save path=\pathA,name path=A] (0,1) to [bend left] (1,0);
\path[save path=\pathB,name path=B]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
index c18b7a61766..06145514b4d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
@@ -46,7 +46,13 @@ anywhere). We have now defined a |seagull| pic type and can use it as follows:
\draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
}
}
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz \fill [fill=blue!20]
(1,1)
-- (2,2) pic {seagull}
@@ -126,7 +132,13 @@ braces:
this option behaves exactly like the |node contents| option and,
indeed, the two are interchangeable.)
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz {
\path (0,0) pic [pic type = seagull]
(1,0) pic {seagull};
@@ -143,7 +155,13 @@ braces:
of the origin refers to the last position used on the path or to the
specified |at|.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz { % different ways of placing pics
\draw [help lines] (0,0) grid (3,2);
\pic at (1,0) {seagull};
@@ -157,7 +175,13 @@ braces:
using the |transform shape| option, which has the same effect as for nodes:
The ``outer'' transformation gets applied to the node:
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz [scale=2] {
\pic at (0,0) {seagull};
\pic at (1,0) [transform shape] {seagull};
@@ -167,7 +191,13 @@ braces:
When the \meta{options} contain transformation commands like |scale| or
|rotate|, these transformations always apply to the pic:
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz [rotate=30] {
\pic at (0,0) {seagull};
\pic at (1,0) [rotate=90] {seagull};
@@ -177,7 +207,13 @@ braces:
Just like nodes, pics can also be positioned implicitly and, somewhat
unsurprisingly, the same rules concerning positioning and sloping apply:
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz \draw
(0,0) to [bend left]
pic [near start] {seagull}
@@ -276,7 +312,14 @@ braces:
\draw (-3mm,-3mm) rectangle (3mm,3mm);
}
}
-\begin{codeexample}[width=6cm]
+\begin{codeexample}[
+ width=6cm,
+ pre={\tikzset{
+ my pic/.pic = {
+ \path [pic actions] (0,0) circle[radius=3mm];
+ \draw (-3mm,-3mm) rectangle (3mm,3mm);
+ }
+}}]
\tikz \pic {my pic}; \space
\tikz \pic [red] {my pic}; \space
\tikz \pic [draw] {my pic}; \space
@@ -297,7 +340,13 @@ braces:
regard), then comes the path, and then come all nodes and pics that are in
front of the path in the order they appeared.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz \fill [fill=blue!20]
(1,1)
-- (2,2) pic [behind path] {seagull}
@@ -330,7 +379,13 @@ braces:
As for nodes, a pic specification may start with |foreach|. The effect and
semantics are the same as for nodes.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
\tikz \pic foreach \x in {1,2,3} at (\x,0) {seagull};
\end{codeexample}
@@ -341,9 +396,15 @@ braces:
\begin{stylekey}{/tikz/every pic (initially \normalfont empty)}
This style is installed at the beginning of every pic.
%
-\begin{codeexample}[]
-\begin{tikzpicture}[every node/.style={draw}]
- \draw (0,0) node {A} -- (1,1) node {B};
+\begin{codeexample}[
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \draw (-3mm,0) to [bend left] (0,0) to [bend left] (3mm,0);
+ },
+}}]
+\begin{tikzpicture}[every pic/.style={scale=2,transform shape}]
+ \pic foreach \x in {1,2,3} at (\x,0) {seagull};
\end{tikzpicture}
\end{codeexample}
\end{stylekey}
@@ -416,7 +477,20 @@ braces:
Just as for nodes, you can use the attribute--colon syntax to add an
animation to a pic:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ pre={\tikzset{
+ seagull/.pic={
+ % Code for a "seagull". Do you see it?...
+ \coordinate (-left wing) at (-3mm,0);
+ \coordinate (-head) at (0,0);
+ \coordinate (-right wing) at (3mm,0);
+ %
+ \draw (-left wing) to [bend left] (0,0) (-head) to [bend left] (-right wing);
+ }
+}},
+]
\tikz {
\pic :rotate={0s="0", 20s="90"} {seagull};
\pic at (1.5,1.5) {seagull};
@@ -425,7 +499,11 @@ braces:
%
Naturally, you can also use animations in the code of a picture:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2},width=3cm]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{animations}},
+ animation list={0.5,1,1.5,2},
+ width=3cm,
+]
\begin{tikzpicture} [flapping seagull/.pic={
\draw (0,0) :path={
0s= {"{(180:3mm) to [bend left] (0,0) to [bend left] (0:3mm)}"=base},
@@ -483,7 +561,7 @@ This string is transformed into the following:
As example of a pic type that takes these values into account is the |angle|
pic type:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz \draw (3,0) coordinate (A)
-- (0,1) coordinate (B)
-- (1,2) coordinate (C)
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
index 3859a65f5c0..894f6d44d9e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
@@ -715,7 +715,7 @@ behavior of |plot|.
\end{tikzpicture}
\end{codeexample}
%
- The use of |bar width| and |bar shift| is explained in the plot handler
+ The use of |bar width| and |bar shift| is explained in the |plothandlers|
library documentation, section~\ref{section-plotlib-bar-handlers}. Please
refer to page~\pageref{key-bar-width}.
\end{key}
@@ -723,7 +723,7 @@ behavior of |plot|.
\begin{key}{/tikz/xbar}
This option works like |ybar| except that the bars are horizontal.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns}}]
\tikz \draw[pattern=north west lines] plot[xbar]
coordinates{(1,0) (0.4,1) (1.7,2) (1.6,3)};
\end{codeexample}
@@ -747,7 +747,7 @@ behavior of |plot|.
be ignored.
You can configure relative shifts and relative bar widths, which is
- explained in the plot handler library documentation,
+ explained in the |plothandlers| library documentation,
section~\ref{section-plotlib-bar-handlers}. Please refer to
page~\pageref{key-bar-interval-width}.
\end{key}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
index 61f0aafb81b..d37579fae65 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
@@ -106,8 +106,8 @@ are local to the |{tikzpicture}| to which they apply.
approximation of the bounding box, but will not always be accurate. First,
the line thickness of diagonal lines is not taken into account correctly.
Second, control points of a curve often lie far ``outside'' the curve and
- make the bounding box too large. In this case, you should use the |[use as
- bounding box]| option.
+ make the bounding box too large. In this case, you should use the
+ |[use as bounding box]| option.
The following key influences the baseline of the resulting picture:
%
@@ -140,7 +140,7 @@ $A \mathbin{\tikz[baseline] \draw[->>] (0pt,.5ex) -- (3ex,.5ex);} B$
$y$-coordinate of the resulting point. This makes it easy to reference
the $y$-coordinate of, say, the baseline of nodes.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
Hello
\tikz[baseline=(X.base)]
\node [cross out,draw] (X) {world.};
@@ -173,7 +173,7 @@ Top align:
accumulate. This option must also be given in the optional argument of
the |{tikzpicture}| environment.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}[execute at end picture=%
{
\begin{pgfonlayer}{background}
@@ -358,7 +358,7 @@ When this library is loaded, the following happens: At certain places inside a
\tikzname\ picture, it is allowed to start a scope just using a single brace,
provided the single brace is followed by options in square brackets:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{scopes}}]
\begin{tikzpicture}
{ [ultra thick]
{ [red]
@@ -404,7 +404,7 @@ pair just for a single command, the |\scoped| command may be useful:
semicolon or it may contain multiple commands, but then they must be
surrounded by curly braces.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds}}]
\begin{tikzpicture}
\node [fill=white] at (1,1) {Hello world};
\scoped [on background layer]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
index 01af022c291..e4c7d11f92d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
@@ -175,7 +175,7 @@ The syntax for specifying nodes is the following:
Note that |behind path| only applies to the current path; not to the
current scope or picture. To put a node ``behind everything'' you need
to use layers and options like |on background layer|, see the
- background library in Section~\ref{section-tikz-backgrounds}.
+ |backgrounds| library in Section~\ref{section-tikz-backgrounds}.
\end{key}
\begin{key}{/tikz/in front of path}
@@ -237,7 +237,7 @@ The syntax for specifying nodes is the following:
instead or an ellipse shape (you have to include one of the
|shapes.geometric| library for the latter shape):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikz \fill[fill=yellow!80!black]
(0,0) node {first node}
-- (1,1) node[ellipse,draw, behind path] {second node}
@@ -275,7 +275,7 @@ The syntax for specifying nodes is the following:
Section~\ref{section-tikz-animations}. Here is a typical example of how
this syntax can be used:
%
-\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\begin{codeexample}[preamble={\usetikzlibrary{animations}},animation list={0.5,1,1.5,2}]
\tikz
\node :fill opacity = { 0s="1", 2s="0", begin on=click }
:rotate = { 0s="0", 2s="90", begin on=click }
@@ -632,7 +632,7 @@ that apply to most shapes:
Sets a desired aspect ratio for the shape. For the |diamond| shape, this
option sets the ratio between width and height of the shape.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}
\draw (0,0) node[shape aspect=1,diamond,draw] {aspect 1};
\draw (0,-2) node[shape aspect=2,diamond,draw] {aspect 2};
@@ -647,7 +647,7 @@ Some shapes (but not all), support a special kind of rotation. This rotation
affects only the border of a shape and is independent of the node contents, but
\emph{in addition} to any other transformations.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikzset{every node/.style={dart, shape border uses incircle,
inner sep=1pt, draw}}
\tikz \node foreach \a/\b/\c in {A/0/0, B/45/0, C/0/45, D/45/45}
@@ -669,7 +669,7 @@ rotation must be restricted to integer multiples of 90 degrees. By using an
incircle, unrestricted rotation is possible, but the border will not make a
very tight fit to the node contents.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikzset{every node/.style={isosceles triangle, draw}}
\begin{tikzpicture}
\node {abc};
@@ -699,7 +699,7 @@ Note that if the border of the shape is rotated, the compass point anchors, and
`text box' anchors (including |mid east|, |base west|, and so on), \emph{do not
rotate}, but the other anchors do:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\tikzset{every node/.style={shape=trapezium, draw, shape border uses incircle}}
\begin{tikzpicture}
\node at (0,0) (A) {A};
@@ -742,7 +742,7 @@ the following command:
name} -- until another |\partname| is encountered or until the node
\meta{text} ends. The \meta{options} will be local to this part.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\begin{tikzpicture}
\node [circle split,draw,double,fill=red!20]
{
@@ -763,7 +763,7 @@ the following command:
This style is installed at the beginning of every node part named
\meta{part name}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\tikz [every lower node part/.style={red}]
\node [circle split,draw] {$q_1$ \nodepart{lower} $00$};
\end{codeexample}
@@ -851,7 +851,7 @@ The other font command is:
A useful example of how the |font| option can be used is the following:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.multipart}}]
\tikz [every text node part/.style={font=\itshape},
every lower node part/.style={font=\footnotesize}]
\node [circle split,draw] {state \nodepart{lower} output};
@@ -1424,7 +1424,7 @@ differently.
node is shifted by the vertical component of this point. The anchor
is set to |south|.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\draw[help lines] (0,0) grid (2,2);
\node at (1,1) [above=.2 and 3mm,draw] {above};
@@ -1440,14 +1440,14 @@ differently.
\item The \meta{of-part} can be
\declareandlabel{of}| |\meta{coordinate}, where \meta{coordinate} is
\emph{not} in parentheses and it is \emph{not} just a node name. An
- example would be |of somenode.north| or |of 2,3|. In this case, the
+ example would be |of somenode.north| or |of {2,3}|. In this case, the
following happens: First, the node's |at| parameter is set to the
\meta{coordinate}. Second, the node is shifted according to the
\meta{shift-part}. Third, the anchor is set to |south|.
Here is a basic example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style=draw]
\draw[help lines] (0,0) grid (2,2);
\node (somenode) at (1,1) {some node};
@@ -1480,7 +1480,7 @@ differently.
such a way that the distance between its south border and \meta{node
name}'s north border is exactly the given distance.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style=draw]
\draw[help lines] (0,0) grid (2,2);
\node (some node) at (1,1) {some node};
@@ -1508,7 +1508,7 @@ differently.
will result in nodes that are centered on ``grid coordinate'',
hence the name of the option.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style=draw]
\draw[help lines] (0,0) grid (2,3);
@@ -1530,7 +1530,7 @@ differently.
The value of this key is used as \meta{shifting part} is used if and
only if a \meta{of-part} is present, but no \meta{shifting part}.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style=draw,node distance=5mm]
\draw[help lines] (0,0) grid (2,3);
@@ -1595,7 +1595,7 @@ differently.
%
The following example should help to illustrate the difference:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style={draw,circle}]
\draw[help lines] (0,0) grid (2,5);
\begin{scope}[node distance=5mm and 5mm]
@@ -1615,7 +1615,7 @@ differently.
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style={draw,rectangle}]
\draw[help lines] (0,0) grid (2,5);
\begin{scope}[node distance=5mm and 5mm]
@@ -1635,7 +1635,7 @@ differently.
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every node/.style={draw,rectangle},on grid]
\draw[help lines] (0,0) grid (4,4);
\begin{scope}[node distance=1]
@@ -1679,7 +1679,7 @@ The |positioning| package also introduces the following new placement keys:
This key is useful for chaining together nodes so that their base lines are
aligned.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[node distance=1ex]
\draw[help lines] (0,0) grid (3,1);
\huge
@@ -1734,7 +1734,7 @@ give the |fit| option to a node. The |fit| option expects a list of coordinates
the node's text area has exactly the necessary size so that it contains all the
given coordinates. Here is an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fit,shapes.geometric}}]
\begin{tikzpicture}[level distance=8mm]
\node (root) {root}
child { node (a) {a} }
@@ -1751,7 +1751,7 @@ given coordinates. Here is an example:
If you want to fill the fitted node you will usually have to place it on a
background layer.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds,fit,shapes.geometric}}]
\begin{tikzpicture}[level distance=8mm]
\node (root) {root}
child { node (a) {a} }
@@ -1792,7 +1792,10 @@ ways to achieve this:
\item You can give transformation options \emph{inside} the option list of
the node. \emph{These} transformations always apply to the node.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepgfmodule{nonlineartransformations}\usetikzlibrary{curvilinear}},
+ pre={\makeatletter},
+]
\begin{tikzpicture}[every node/.style={draw}]
\draw[help lines](0,0) grid (3,2);
\draw (1,0) node{A}
@@ -1820,7 +1823,10 @@ force:
Section~\ref{section-nonlinear-transformations}.
%
\makeatletter
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usepgfmodule{nonlineartransformations}\usetikzlibrary{curvilinear}},
+ pre={\makeatletter},
+]
\begin{tikzpicture}
% Install a nonlinear transformation:
\pgfsetcurvilinearbeziercurve
@@ -1960,7 +1966,7 @@ explicitly by using the |pos| option or implicitly by placing the node
placement. That is, if |left| is the current |auto| placement, |right| is
set instead and the other way round.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{automata}}]
\begin{tikzpicture}[auto]
\draw[help lines,use as bounding box] (0,-.5) grid (4,5);
@@ -1972,7 +1978,7 @@ explicitly by using the |pos| option or implicitly by placing the node
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{automata}}]
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,auto]
\draw[help lines] (0,0) grid (3,2);
@@ -2132,7 +2138,7 @@ In addition to the |node| path operation, the two options |label| and |pin| can
be used to ``add a node next to another node''. As an example, suppose we want
to draw a graph in which the nodes are small circles:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\tikz [circle] {
\node [draw] (s) {};
\node [draw] (a) [right=of s] {} edge (s);
@@ -2149,7 +2155,7 @@ the start node and the last node is the target node. We could write
option allow us to do exactly this without having to use the cumbersome |node|
syntax:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\tikz [circle] {
\node [draw] (s) [label=$s$] {};
\node [draw] (a) [right=of s] {} edge (s);
@@ -2338,7 +2344,7 @@ nodes.
\begin{stylekey}{/tikz/every pin edge (initially help lines)}
This style is used in every edge created by the |pin| options.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\tikz [pin distance=15mm,
every pin edge/.style={<-,shorten <=1pt,decorate,
decoration={snake,pre length=4pt}}]
@@ -2403,7 +2409,7 @@ When a \meta{string} of the above form is encountered inside the options of a
Let us have a look at an example:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz \node ["my label" red, draw] {my node};
\end{codeexample}
%
@@ -2417,7 +2423,7 @@ Here are further examples, one where no \meta{options} are added to the
|label|, one where a position is specified, and examples with more complicated
options in curly braces:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\begin{tikzpicture}
\matrix [row sep=5mm] {
\node [draw, "label"] {A}; \\
@@ -2470,7 +2476,7 @@ provides:
the \meta{text} relative to the main node you can just put something like
|left| or |above right| inside the \meta{options}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz
\node ["$90^\circ$" above, "$180^\circ$" left, circle, draw] {circle};
\end{codeexample}
@@ -2479,7 +2485,7 @@ provides:
your \meta{text}. This works since the |label| command allows you to
specify a direction at the beginning when it is separated by a colon:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz
\node ["90:$90^\circ$", "left:$180^\circ$", circle, draw] {circle};
\end{codeexample}
@@ -2491,7 +2497,7 @@ provides:
following style is also executed:
%
\begin{stylekey}{/tikz/every label quotes}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz [every label quotes/.style=red]
\node ["90:$90^\circ$", "left:$180^\circ$", circle, draw] {circle};
\end{codeexample}
@@ -2505,7 +2511,7 @@ provides:
just add curly braces around either the comma or just around the whole
\meta{text}:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz \node ["{yes, we can}", draw] {foo};
\end{codeexample}
%
@@ -2513,7 +2519,7 @@ provides:
specifically the colon by curly braces to stop the |label| option from
interpreting everything before the colon as a direction:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz \node ["yes{:} we can", draw] {foo};
\end{codeexample}
@@ -2542,7 +2548,7 @@ provides:
instead of transforming quoted text to the |label| option, they get
transformed to the |pin| option:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz [quotes mean pin]
\node ["$90^\circ$" above, "$180^\circ$" left, circle, draw] {circle};
\end{codeexample}
@@ -2577,7 +2583,7 @@ interpreted in a different manner, you can also define your own handlers:
Here is an example, where the quotes are used to define labels that are
automatically named according to the |text|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikzset{node quotes mean={label={[#2,name={#1}]#1}}}
\tikz {
@@ -2783,14 +2789,14 @@ The following style is important for the placement of the labels:
quotes-syntax to be placed next to the edges. Unless the setting of |auto|
has been changed, they will be placed to the left.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz \draw (0,0) edge ["left", ->] (2,0);
\end{codeexample}
In order to place all labels to the right by default, change this style to
|auto=right|:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz [every edge quotes/.style={auto=right}]
\draw (0,0) edge ["right", ->] (2,0);
\end{codeexample}
@@ -2798,7 +2804,7 @@ The following style is important for the placement of the labels:
To place all nodes ``on'' the edge, just make this style empty (and,
possibly, make your labels opaque):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz [every edge quotes/.style={fill=white,font=\footnotesize}]
\draw (0,0) edge ["mid", ->] (2,1);
\end{codeexample}
@@ -2815,7 +2821,7 @@ placed on the other side. Because of the special treatment, you can even add
another option like |near end| after the apostrophe without having to add curly
braces and commas:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz
\draw (0,0) edge ["left", "right"',
"start" near start,
@@ -2825,7 +2831,7 @@ braces and commas:
In order to modify the distance between the edge labels and the edge, you
should consider introducing some styles:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{quotes}}]
\tikz [tight/.style={inner sep=1pt}, loose/.style={inner sep=.7em}]
\draw (0,0) edge ["left" tight,
"right"' loose,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
index b93d2f20034..0483ee57ad3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
@@ -424,8 +424,8 @@ commands, which are \emph{only defined in the library}, namely the library
The following shading is 2cm by 2cm and gets more and more transparent from
left to right, but is 50\% transparent for a large circle in the middle.
%
-{\tikzexternaldisable
-\begin{codeexample}[]
+{\ifpgfmanualexternalize\tikzexternaldisable\fi
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzfadingfrompicture}[name=fade right]
\shade[left color=transparent!0,
right color=transparent!100] (0,0) rectangle (2,2);
@@ -446,7 +446,7 @@ commands, which are \emph{only defined in the library}, namely the library
In the next example we create a fading picture that contains some text.
When the fading is used, we only see the shading ``through it''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzfadingfrompicture}[name=tikz]
\node [text=transparent!20]
{\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries\selectfont Ti\emph{k}Z};
@@ -491,7 +491,7 @@ commands, which are \emph{only defined in the library}, namely the library
%
Then, a new fading named \meta{name} will be created based on the shading.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\tikzfading[name=fade right,
left color=transparent!0,
right color=transparent!100]
@@ -507,7 +507,7 @@ commands, which are \emph{only defined in the library}, namely the library
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\tikzfading[name=fade out,
inner color=transparent!0,
outer color=transparent!100]
@@ -550,7 +550,7 @@ current scope or path.
fading for the path will be switched off in case it has been switched on by
previous options or styles.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzpicture}[path fading=south]
% Checker board
\fill [black!20] (0,0) rectangle (4,3);
@@ -579,7 +579,12 @@ current scope or path.
is used. For instance, if \meta{transformation options} is set to
|rotate=90|, the fading is rotated by 90 degrees.
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{fadings,patterns}},
+ pre={\pgfdeclarefading{fade down}{%
+ \tikzset{top color=pgftransparent!0,bottom color=pgftransparent!100}
+ \pgfuseshading{axis}
+}}]
\begin{tikzpicture}[path fading=fade down]
% Checker board
\fill [black!20] (0,0) rectangle (4,1.5);
@@ -600,7 +605,7 @@ current scope or path.
Note that you can ``fade just about anything''. In particular, you can fade
a shading.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzpicture}
% Checker board
\fill [black!20] (0,0) rectangle (4,4);
@@ -613,7 +618,7 @@ current scope or path.
The |fade inside| of the following example is more transparent in the
middle than on the outside.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\tikzfading[name=fade inside,
inner color=transparent!80,
outer color=transparent!30]
@@ -635,7 +640,7 @@ current scope or path.
Note that using fadings in conjunction with patterns can create visually rather
pleasing effects:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns,shadows}}]
\tikzfading[name=middle,
top color=transparent!50,
bottom color=transparent!50,
@@ -680,7 +685,7 @@ then all subsequent drawings in the scope are faded. You will use a
be used. You have to explicitly provide the |scope fading| with a path to
actually install a fading.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzpicture}
\fill [black!20] (-2,-2) rectangle (2,2);
\pattern [pattern=checkerboard,pattern color=black!30]
@@ -701,7 +706,7 @@ then all subsequent drawings in the scope are faded. You will use a
In the following example we resize the fading to the size of the whole
picture:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzpicture}
\fill [black!20] (-2,-2) rectangle (2,2);
\pattern [pattern=checkerboard,pattern color=black!30]
@@ -717,7 +722,7 @@ then all subsequent drawings in the scope are faded. You will use a
Scope fadings are also needed if you wish to fade a node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{fadings}}]
\tikz \node [scope fading=south,fading angle=45,text width=3.5cm]
{
This is some text that will fade out as we go right
@@ -742,7 +747,7 @@ how they were constructed, while this is not really part of the desired effect.
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node at (0,0) [forbidden sign,line width=2ex,draw=red,fill=white] {Smoking};
@@ -762,7 +767,7 @@ Transparency groups are used to render them correctly:
\end{tikzpicture}
\end{codeexample}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.symbols}}]
\begin{tikzpicture}
\node at (0,0) [forbidden sign,line width=2ex,draw=red,fill=white] {Smoking};
@@ -789,7 +794,7 @@ Transparency groups are used to render them correctly:
end, so this red color will be blended with whatever is ``behind'' the
group on the page.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns,shapes.symbols}}]
\begin{tikzpicture}
\pattern[pattern=checkerboard,pattern color=black!15](-1,-1) rectangle (3,1);
\node at (0,0) [forbidden sign,line width=2ex,draw=red,fill=white] {Smoking};
@@ -808,7 +813,7 @@ Transparency groups are used to render them correctly:
open another scope inside it or use the |opacity| key with a command inside
the group:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{patterns,shapes.symbols}}]
\begin{tikzpicture}
\pattern[pattern=checkerboard,pattern color=black!15](-1,-1) rectangle (3,1);
\node at (0,0) [forbidden sign,line width=2ex,draw=red,fill=white] {Smoking};
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
index 91d2030c385..e2c3dc2e34e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
@@ -141,7 +141,7 @@ child node is specified and, thus, it is just |coordinate|.
As for any normal node, you can give the child node a name, shift it around, or
use options to influence how it is rendered.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.geometric}}]
\begin{tikzpicture}[sibling distance=15mm]
\node[rectangle,draw] {root}
child {node[circle,draw,yshift=-5mm] (left node) {left}}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
index ace6c5d8827..b276178cd80 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
@@ -36,6 +36,7 @@ found on his website at Clark University.}
\bigskip
\noindent
\begin{tikzpicture}[thick,help lines/.style={thin,draw=black!50}]
+ \pgfmathsetseed{1}
\def\A{\textcolor{input}{$A$}}
\def\B{\textcolor{input}{$B$}}
\def\C{\textcolor{output}{$C$}}
@@ -226,7 +227,7 @@ it easy to access the $x$- and $y$-coordinates of the coordinates.
Euclid would write the following:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -267,7 +268,7 @@ we can also use a let operation: Instead of writing |\p1 = ...|, we write
``point''). The assignment of a number should be followed by a number in curly
braces.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -288,7 +289,7 @@ have replaced |\n2| in the example by |\n1| and it would still work. Indeed,
the digits following these macros are just normal \TeX\ parameters. We could
also use a longer name, but then we have to use curly braces:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -314,7 +315,7 @@ and outer separations to be set to zero. Then it sets the shape of the node to
parameter given to |circle through|. This radius is computed in essentially the
same way as above.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{through}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -329,8 +330,8 @@ same way as above.
Euclid can now draw the line and the circles. The final problem is to compute
the intersection of the two circles. This computation is a bit involved if you
-want to do it ``by hand''. Fortunately, the intersection library allows us to
-compute the intersection of arbitrary paths.
+want to do it ``by hand''. Fortunately, the |intersections| library allows us
+to compute the intersection of arbitrary paths.
The idea is simple: First, you ``name'' two paths using the |name path| option.
Then, at some later point, you can use the option |name intersections|, which
@@ -339,7 +340,7 @@ intersections of the paths. Euclid assigns the names |D| and |E| to the paths
of the two circles (which happen to be the same names as the nodes themselves,
but nodes and their paths live in different ``namespaces'').
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections,through}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -364,7 +365,7 @@ options for them. This creates more compact code. Although Euclid does not need
it for the current picture, it is just a small step to computing the bisection
of the line $AB$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections,through}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -389,7 +390,7 @@ Back to Euclid's code. He introduces a few macros to make life simpler, like a
|\A| macro for typesetting a blue $A$. He also uses the |background| layer for
drawing the triangle behind everything at the end.
%
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{backgrounds,calc,intersections,through}}]
\begin{tikzpicture}[thick,help lines/.style={thin,draw=black!50}]
\def\A{\textcolor{input}{$A$}} \def\B{\textcolor{input}{$B$}}
\def\C{\textcolor{output}{$C$}} \def\D{$D$}
@@ -434,6 +435,7 @@ The second proposition in the Elements is the following:
\bigskip\noindent
\begin{tikzpicture}[thick,help lines/.style={thin,draw=black!50}]
+ \pgfmathsetseed{1}
\def\A{\textcolor{orange}{$A$}} \def\B{\textcolor{input}{$B$}}
\def\C{\textcolor{input}{$C$}} \def\D{$D$}
\def\E{$E$} \def\F{$F$}
@@ -524,7 +526,7 @@ the |xcolor| syntax for mixing colors.
Here is the computation of the point in the middle of the line $AB$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -543,7 +545,7 @@ a partway computation can be prefixed by an angle. Then the partway point is
computed normally (as if no angle were given), but the resulting point is
rotated by this angle around the first point.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -558,7 +560,7 @@ rotated by this angle around the first point.
Finally, it is not necessary to explicitly name the point $X$. Rather, again
like in the |xcolor| package, it is possible to chain partway modifiers:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (1.25,0.25);
@@ -577,7 +579,7 @@ which is easy enough to do using the |circle through| option. Extending the
lines $DA$ and $DB$ can be done using partway calculations, but this time with
a part value outside the range $[0,1]$:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc,through}}]
\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (0.75,0.25);
@@ -603,9 +605,10 @@ straight line to \meta{q}.
We know that the point $G$ is on the way from $B$ to $F$. The distance is given
by the radius of the circle~$H$. Here is the code for computing $H$:
%
-{\tikzexternaldisable
-\begin{codeexample}[pre={
-\begin{tikzpicture}
+{\ifpgfmanualexternalize\tikzexternaldisable\fi
+\begin{codeexample}[
+ preamble={\usetikzlibrary{calc,through}},
+ pre={\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (0.75,0.25);
\coordinate [label=above:$C$] (C) at (1,1.5);
@@ -613,8 +616,9 @@ by the radius of the circle~$H$. Here is the code for computing $H$:
\coordinate [label=above:$D$] (D) at
($ (A) ! .5 ! (B) ! {sin(60)*2} ! 90:(B) $) {};
\draw (D) -- ($ (D) ! 3.5 ! (B) $) coordinate [label=below:$F$] (F);
- \draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);
-},post={\end{tikzpicture}}]
+ \draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);},
+ post={\end{tikzpicture}},
+]
\node (H) [label=135:$H$,draw,circle through=(C)] at (B) {};
\path let \p1 = ($ (B) - (C) $) in
coordinate [label=left:$G$] (G) at ($ (B) ! veclen(\x1,\y1) ! (F) $);
@@ -625,8 +629,9 @@ However, there is a simpler way: We can simply name the path of the circle and
of the line in question and then use |name intersections| to compute the
intersections.
%
-\begin{codeexample}[pre={
-\begin{tikzpicture}
+\begin{codeexample}[
+ preamble={\usetikzlibrary{calc,intersections,through}},
+ pre={\begin{tikzpicture}
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (0.75,0.25);
\coordinate [label=above:$C$] (C) at (1,1.5);
@@ -634,8 +639,9 @@ intersections.
\coordinate [label=above:$D$] (D) at
($ (A) ! .5 ! (B) ! {sin(60)*2} ! 90:(B) $) {};
\draw (D) -- ($ (D) ! 3.5 ! (B) $) coordinate [label=below:$F$] (F);
- \draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);
-},post={\end{tikzpicture}}]
+ \draw (D) -- ($ (D) ! 2.5 ! (A) $) coordinate [label=below:$E$] (E);},
+ post={\end{tikzpicture}},
+]
\node (H) [name path=H,label=135:$H$,draw,circle through=(C)] at (B) {};
\path [name path=B--F] (B) -- (F);
\path [name intersections={of=H and B--F,by={[label=left:$G$]G}}];
@@ -646,7 +652,7 @@ intersections.
\subsubsection{The Complete Code}
-\begin{codeexample}[]
+\begin{codeexample}[pre={\pgfmathsetseed{1}},preamble={\usetikzlibrary{calc,intersections,through}}]
\begin{tikzpicture}[thick,help lines/.style={thin,draw=black!50}]
\def\A{\textcolor{orange}{$A$}} \def\B{\textcolor{input}{$B$}}
\def\C{\textcolor{input}{$C$}} \def\D{$D$}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
index 023efec0855..9e8dfd00caa 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
@@ -21,39 +21,37 @@ looks like this%
\footnote{The shown diagram was not scanned, but rather typeset using
\tikzname. The jittering lines were created using the |random steps|
decoration.}:
-%
-\begin{codeexample}[setup code, hidden]
-\tikzset{
- nonterminal/.style={
- % The shape:
- rectangle,
- % The size:
- minimum size=6mm,
- % The border:
- very thick,
- draw=red!50!black!50, % 50% red and 50% black,
- % and that mixed with 50% white
- % The filling:
- top color=white, % a shading that is white at the top...
- bottom color=red!50!black!20, % and something else at the bottom
- % Font
- font=\itshape
- },
- terminal/.style={
- % The shape:
- rounded rectangle,
- minimum size=6mm,
- % The rest
- very thick,draw=black!50,
- top color=white,bottom color=black!20,
- font=\ttfamily},
- skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}
-}
-\end{codeexample}
{
+ \tikzset{
+ nonterminal/.style={
+ % The shape:
+ rectangle,
+ % The size:
+ minimum size=6mm,
+ % The border:
+ very thick,
+ draw=red!50!black!50, % 50% red and 50% black,
+ % and that mixed with 50% white
+ % The filling:
+ top color=white, % a shading that is white at the top...
+ bottom color=red!50!black!20, % and something else at the bottom
+ % Font
+ font=\itshape
+ },
+ terminal/.style={
+ % The shape:
+ rounded rectangle,
+ minimum size=6mm,
+ % The rest
+ very thick,draw=black!50,
+ top color=white,bottom color=black!20,
+ font=\ttfamily},
+ skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}
+ }
\tikzset{terminal/.append style={text height=1.5ex,text depth=.25ex}}
\tikzset{nonterminal/.append style={text height=1.5ex,text depth=.25ex}}
+ \pgfmathsetseed{1}
\medskip
\noindent\begin{tikzpicture}[
>=latex,thick,
@@ -106,7 +104,7 @@ For her next lecture, Ilka decides to redo this diagram, but this time perhaps
a bit cleaner and perhaps also bit ``cooler''.
\medskip
-\noindent\begin{tikzpicture}[point/.style={coordinate},>=stealth',thick,draw=black!50,
+\noindent\begin{tikzpicture}[point/.style={coordinate},>={Stealth[round]},thick,draw=black!50,
tip/.style={->,shorten >=1pt},every join/.style={rounded corners},
hv path/.style={to path={-| (\tikztotarget)}},
vh path/.style={to path={|- (\tikztotarget)}}]
@@ -178,7 +176,7 @@ get a bit of red mixed in.
Ilka starts with the simpler nonterminals, as there are no rounded corners
involved. Naturally, she sets up a style:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[
nonterminal/.style={
% The shape:
@@ -212,7 +210,7 @@ setting the radius to 3mm, she will get exactly what she needs: circles, when
the shapes are, indeed, exactly 6mm by 6mm and otherwise half circles on the
sides:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[node distance=5mm,
terminal/.style={
% The shape:
@@ -233,7 +231,7 @@ use it). This shape gives Ilka much more control over the appearance. For
instance, she could have an arc only on the left side, but she will not need
this.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm,
terminal/.style={
% The shape:
@@ -252,7 +250,20 @@ this.
At this point, she notices a problem. The baseline of the text in the nodes is
not aligned:
%
-\begin{codeexample}[]
+\begin{codeexample}[setup code,hidden]
+\tikzset{
+ terminal/.style={
+ % The shape:
+ rounded rectangle,
+ minimum size=6mm,
+ % The rest
+ very thick,draw=black!50,
+ top color=white,bottom color=black!20,
+ font=\ttfamily},
+}
+\end{codeexample}
+%
+\begin{codeexample}[preamble={\usetikzlibrary{calc,positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm]
\node (dot) [terminal] {.};
\node (digit) [terminal,right=of dot] {digit};
@@ -280,9 +291,9 @@ the same line (the |base right| option places a node right of something so that
the baseline is right of the baseline of the other object). However, this does
not have the desired effect:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm]
- \node (dot) [terminal] {.};
+ \node (dot) [terminal] {.};
\node (digit) [terminal,base right=of dot] {digit};
\node (E) [terminal,base right=of digit] {E};
\end{tikzpicture}
@@ -296,7 +307,7 @@ all be positioned vertically in the same manner. So, all Ilka needs to do is to
use the |text height| and |text depth| options to explicitly specify a height
and depth for the nodes.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm,
text height=1.5ex,text depth=.25ex]
\node (dot) [terminal] {.};
@@ -306,7 +317,7 @@ and depth for the nodes.
\end{codeexample}
-\subsection{Aligning the Nodes Using Positioning Options}
+\subsection{Aligning the Nodes Using Positioning Options}
Ilka now has the ``styling'' of the nodes ready. The next problem is to place
them in the right places. There are several ways to do this. The most
@@ -336,11 +347,30 @@ borders separated by |node distance|.
Ilka can use this to draw the place the nodes in a long row:
%
\begin{codeexample}[setup code,hidden]
-\tikzset{terminal/.append style={text height=1.5ex,text depth=.25ex}}
-\tikzset{nonterminal/.append style={text height=1.5ex,text
- depth=.25ex}}
+\tikzset{
+ nonterminal/.style={
+ % The shape:
+ rectangle,
+ % The size:
+ minimum size=6mm,
+ % The border:
+ very thick,
+ draw=red!50!black!50, % 50% red and 50% black,
+ % and that mixed with 50% white
+ % The filling:
+ top color=white, % a shading that is white at the top...
+ bottom color=red!50!black!20, % and something else at the bottom
+ % Font
+ font=\itshape,
+ },
+}
+\tikzset{
+ terminal/.append style={text height=1.5ex,text depth=.25ex},
+ nonterminal/.append style={text height=1.5ex,text depth=.25ex},
+}
\end{codeexample}
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usetikzlibrary{positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm and 5mm]
\node (ui1) [nonterminal] {unsigned integer};
\node (dot) [terminal,right=of ui1] {.};
@@ -363,7 +393,7 @@ between the top of the |E| node and the bottom of the |+| node are both 5mm.
There are several ways of fixing this problem. The easiest way is to simply add
a little bit of horizontal shift by hand:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm and 5mm]
\node (E) [terminal] {E};
\node (plus) [terminal,above right=of E,xshift=5mm] {+};
@@ -376,7 +406,7 @@ A second way is to revert back to the idea of using a normal rectangle for the
terminals, but with rounded corners. Since corner rounding does not affect
anchors, she gets the following result:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm and 5mm,terminal/.append style={rectangle,rounded corners=3mm}]
\node (E) [terminal] {E};
\node (plus) [terminal,above right=of E] {+};
@@ -394,7 +424,7 @@ connections are more difficult than others. Consider for instance the
the left and finally ends at a point a little to the left of |digit|''. Ilka
can put this into code as follows:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc,positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm and 5mm]
\node (dot) [terminal] {.};
\node (digit) [terminal,right=of dot] {digit};
@@ -421,7 +451,7 @@ for this. Whenever the |edge| command is used, it simply adds the current value
of |to path| to the path. So, Ilka can set up a style that contains the correct
path:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc,positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm and 5mm,
skip loop/.style={to path={-- ++(0,-.5) -| (\tikztotarget)}}]
\node (dot) [terminal] {.};
@@ -435,12 +465,12 @@ path:
\end{tikzpicture}
\end{codeexample}
-Ilka can even go a step further and make her |skip look| style parameterized.
+Ilka can even go a step further and make her |skip loop| style parameterized.
For this, the skip loop's vertical offset is passed as parameter |#1|. Also, in
the following code Ilka specifies the start and targets differently, namely as
the positions that are ``in the middle between the nodes''.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{calc,positioning,shapes.misc}}]
\begin{tikzpicture}[node distance=5mm and 5mm,
skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}]
\node (dot) [terminal] {.};
@@ -455,7 +485,7 @@ the positions that are ``in the middle between the nodes''.
\end{codeexample}
-\subsection{Aligning the Nodes Using Matrices}
+\subsection{Aligning the Nodes Using Matrices}
Ilka is still bothered a bit by the placement of the plus and minus nodes.
Somehow, having to add an explicit |xshift| seems too much like cheating.
@@ -470,7 +500,7 @@ In Ilka's graphic, there will be three rows: One row containing only the plus
node, one row containing the main nodes and one row containing only the minus
node.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}
\matrix[row sep=1mm,column sep=5mm] {
% First row:
@@ -496,7 +526,7 @@ idea: She adds small nodes (they will be turned into coordinates later on and
be invisible) at all the places where she would like connections to start and
end.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{shapes.misc}}]
\begin{tikzpicture}[point/.style={circle,inner sep=0pt,minimum size=2pt,fill=red},
skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}]
\matrix[row sep=1mm,column sep=2mm] {
@@ -528,8 +558,8 @@ Now, it's only a small step to add all the missing edges.
Matrices allow Ilka to align the nodes nicely, but the connections are not
quite perfect. The problem is that the code does not really reflect the paths
that underlie the diagram. For this, it seems natural enough to Ilka to use the
-|graph| library since, after all, connecting nodes by edges is exactly what
-happens in a graph. The |graph| library can both be used to connect nodes that
+|graphs| library since, after all, connecting nodes by edges is exactly what
+happens in a graph. The |graphs| library can both be used to connect nodes that
have already been created, but it can also be used to create nodes ``on the
fly'' and these processes can also be mixed.
@@ -543,6 +573,7 @@ allows her to write down edges between them in a simple way (the macro
|\matrixcontent| contains exactly the matrix content from the previous example;
no need to repeat it here):
%
+\begin{codeexample}[setup code,hidden]
\def\matrixcontent{
% First row:
\& \& \& \& \& \& \& \& \& \& \& \node (plus) [terminal] {+};\\
@@ -558,7 +589,12 @@ no need to repeat it here):
% Third row:
\& \& \& \& \& \& \& \& \& \& \& \node (minus)[terminal] {-};\\
}
-\begin{codeexample}[pre={\tikzset{ampersand replacement=\&,point/.style={coordinate}}}]
+\end{codeexample}
+%
+\begin{codeexample}[
+ preamble={\usetikzlibrary{graphs,shapes.misc}},
+ pre={\tikzset{ampersand replacement=\&,point/.style={coordinate}}},
+]
\begin{tikzpicture}[skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}},
hv path/.style={to path={-| (\tikztotarget)}},
vh path/.style={to path={|- (\tikztotarget)}}]
@@ -570,8 +606,8 @@ no need to repeat it here):
(p4) ->[skip loop=-5mm] (p3);
(p2) ->[skip loop=5mm] (p5);
(p6) ->[skip loop=-11mm] (p9);
- (p7) ->[vh path] (plus) -> [hv path] (p8);
- (p7) ->[vh path] (minus) -> [hv path] (p8);
+ (p7) ->[vh path] (plus) -> [hv path] (p8);
+ (p7) ->[vh path] (minus) -> [hv path] (p8);
};
\end{tikzpicture}
\end{codeexample}
@@ -592,11 +628,17 @@ specify, as shown in the next example. Additionally, by using the
|use existing nodes| option, Ilka can also leave out all the parentheses
(again, some options have been moved outside to keep the examples shorter):
%
-\begin{codeexample}[pre={\tikzset{ampersand replacement=\&,point/.style={coordinate},
- skip loop/.style={to path={-- ++(0,##1) -| (\tikztotarget)}},
- hv path/.style={to path={-| (\tikztotarget)}},
- vh path/.style={to path={|- (\tikztotarget)}}}}]
-\begin{tikzpicture}[,>=stealth',thick,black!50,text=black,
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,graphs,shapes.misc}},
+ pre={\tikzset{
+ ampersand replacement=\&,
+ point/.style={coordinate},
+ skip loop/.style={to path={-- ++(0,##1) -| (\tikztotarget)}},
+ hv path/.style={to path={-| (\tikztotarget)}},
+ vh path/.style={to path={|- (\tikztotarget)}},
+}},
+]
+\begin{tikzpicture}[>={Stealth[round]},thick,black!50,text=black,
every new ->/.style={shorten >=1pt},
graphs/every graph/.style={edges=rounded corners}]
\matrix[column sep=4mm] { \matrixcontent };
@@ -620,7 +662,7 @@ create nodes, not only to connect them. This is, indeed, correct: When the
by parentheses, then \tikzname\ will actually create a node whose name and text
is the node name:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [grow right=2cm] { unsigned integer -> d -> digit -> E };
\end{codeexample}
%
@@ -633,8 +675,8 @@ but got some error messages. The reason is that a node cannot be called |.| in
\tikzname, so she had to choose a different name -- which is not good, since
she wants a dot to be shown! The trick is to put the dot in quotation marks,
this allows you to use ``quite arbitrary text'' as a node name:
-
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,shapes.misc}}]
\tikz \graph [grow right sep] {
unsigned integer[nonterminal] -> "."[terminal] -> digit[terminal] -> E[terminal]
};
@@ -643,7 +685,7 @@ this allows you to use ``quite arbitrary text'' as a node name:
Now comes the fork to the plus and minus signs. Here, Ilka can use the grouping
mechanism of the |graph| command to create a split:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,shapes.misc}}]
\tikz \graph [grow right sep] {
unsigned integer [nonterminal] ->
"." [terminal] ->
@@ -677,11 +719,15 @@ anonymous'' node name.
Next, Ilka needs to add some coordinates in between of some nodes where the
back-loops should got and she needs to shift the nodes a bit:
%
-\begin{codeexample}[pre={\tikzset{
- skip loop/.style={to path={-- ++(0,##1) -| (\tikztotarget)}},
- hv path/.style={to path={-| (\tikztotarget)}},
- vh path/.style={to path={|- (\tikztotarget)}}}}]
-\begin{tikzpicture}[>=stealth', thick, black!50, text=black,
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,graphs,shapes.misc}},
+ pre={\tikzset{
+ skip loop/.style={to path={-- ++(0,##1) -| (\tikztotarget)}},
+ hv path/.style={to path={-| (\tikztotarget)}},
+ vh path/.style={to path={|- (\tikztotarget)}},
+}},
+]
+\begin{tikzpicture}[>={Stealth[round]}, thick, black!50, text=black,
every new ->/.style={shorten >=1pt},
graphs/every graph/.style={edges=rounded corners}]
\graph [grow right sep, branch down=7mm] {
@@ -726,8 +772,8 @@ any two nodes. Now, if you specify an edge twice, the options of the second
specification ``win''. Thus, by adding two more lines that ``correct'' these
edges, we get the final diagram with its complete code:
%
-\begin{codeexample}[]
-\tikz [>=stealth', black!50, text=black, thick,
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,graphs,shapes.misc}}]
+\tikz [>={Stealth[round]}, black!50, text=black, thick,
every new ->/.style = {shorten >=1pt},
graphs/every graph/.style = {edges=rounded corners},
skip loop/.style = {to path={-- ++(0,#1) -| (\tikztotarget)}},
@@ -968,8 +1014,8 @@ edges, we get the final diagram with its complete code:
% Ilka starts with the matrix we had earlier, only with slightly adapted
% styles. Then she writes down the main chain and its branches:
%
-% \begin{codeexample}[]
-% \begin{tikzpicture}[point/.style={coordinate},>=stealth',thick,draw=black!50,
+% \begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
+% \begin{tikzpicture}[point/.style={coordinate},>={Stealth[round]},thick,draw=black!50,
% tip/.style={->,shorten >=1pt},every join/.style={rounded corners},
% hv path/.style={to path={-| (\tikztotarget)}},
% vh path/.style={to path={|- (\tikztotarget)}}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
index e3af1d3b5fe..8a81429b678 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
@@ -164,30 +164,33 @@ expect?). There are two problems:
Johannes redraws the tree, but this time with some more appropriate options
set, which he found more or less by trial-and-error:
%
-\begin{codeexample}[render instead={
-\tikz [font=\footnotesize,
- grow=right, level 1/.style={sibling distance=6em},
- level 2/.style={sibling distance=1em}, level distance=5cm]
- \node {Computational Complexity} % root
- child { node {Computational Problems}
- child { node {Problem Measures} } child { node {Problem Aspects} }
- child { node {Problem Domains} } child { node {Key Problems} }
- }
- child { node {Computational Models}
- child { node {Turing Machines} } child { node {Random-Access Machines} }
- child { node {Circuits} } child { node {Binary Decision Diagrams} }
- child { node {Oracle Machines} } child { node {Programming in Logic} }
- }
- child { node {Measuring Complexity}
- child { node {Complexity Measures} } child { node {Classifying Complexity} }
- child { node {Comparing Complexity} } child { node {Describing Complexity} }
- }
- child { node {Solving Problems}
- child { node {Exact Algorithms} } child { node {Randomization} }
- child { node {Fixed-Parameter Algorithms} } child { node {Parallel Computation} }
- child { node {Partial Solutions} } child { node {Approximation} }
- };
- }]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{trees}},
+ render instead={
+ \tikz [font=\footnotesize,
+ grow=right, level 1/.style={sibling distance=6em},
+ level 2/.style={sibling distance=1em}, level distance=5cm]
+ \node {Computational Complexity} % root
+ child { node {Computational Problems}
+ child { node {Problem Measures} } child { node {Problem Aspects} }
+ child { node {Problem Domains} } child { node {Key Problems} }
+ }
+ child { node {Computational Models}
+ child { node {Turing Machines} } child { node {Random-Access Machines} }
+ child { node {Circuits} } child { node {Binary Decision Diagrams} }
+ child { node {Oracle Machines} } child { node {Programming in Logic} }
+ }
+ child { node {Measuring Complexity}
+ child { node {Complexity Measures} } child { node {Classifying Complexity} }
+ child { node {Comparing Complexity} } child { node {Describing Complexity} }
+ }
+ child { node {Solving Problems}
+ child { node {Exact Algorithms} } child { node {Randomization} }
+ child { node {Fixed-Parameter Algorithms} } child { node {Parallel Computation} }
+ child { node {Partial Solutions} } child { node {Approximation} }
+ };
+ },
+]
\tikz [font=\footnotesize,
grow=right, level 1/.style={sibling distance=6em},
level 2/.style={sibling distance=1em}, level distance=5cm]
@@ -224,31 +227,34 @@ can change growth direction ``in the middle of a tree'' simply by changing this
key for a single child or a whole level. By including the |trees| library you
also get access to additional growth strategies such as a ``circular'' growth:
%
-\begin{codeexample}[render instead={
-\tikz [text width=2.7cm, align=flush center,
- grow cyclic,
- level 1/.style={level distance=2.5cm,sibling angle=90},
- level 2/.style={text width=2cm, font=\footnotesize, level distance=3cm,sibling angle=30}]
- \node[font=\bfseries] {Computational Complexity} % root
- child { node {Computational Problems}
- child { node {Problem Measures} } child { node {Problem Aspects} }
- child { node {Problem Domains} } child { node {Key Problems} }
- }
- child { node {Computational Models}
- child { node {Turing Machines} } child { node {Random-Access Machines} }
- child { node {Circuits} } child { node {Binary Decision Diagrams} }
- child { node {Oracle Machines} } child { node {Programming in Logic} }
- }
- child { node {Measuring Complexity}
- child { node {Complexity Measures} } child { node {Classifying Complexity} }
- child { node {Comparing Complexity} } child { node {Describing Complexity} }
- }
- child { node {Solving Problems}
- child { node {Exact Algorithms} } child { node {Randomization} }
- child { node {Fixed-Parameter Algorithms} } child { node {Parallel Computation} }
- child { node {Partial Solutions} } child { node {Approximation} }
- };
- }]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{trees}},
+ render instead={
+ \tikz [text width=2.7cm, align=flush center,
+ grow cyclic,
+ level 1/.style={level distance=2.5cm,sibling angle=90},
+ level 2/.style={text width=2cm, font=\footnotesize, level distance=3cm,sibling angle=30}]
+ \node[font=\bfseries] {Computational Complexity} % root
+ child { node {Computational Problems}
+ child { node {Problem Measures} } child { node {Problem Aspects} }
+ child { node {Problem Domains} } child { node {Key Problems} }
+ }
+ child { node {Computational Models}
+ child { node {Turing Machines} } child { node {Random-Access Machines} }
+ child { node {Circuits} } child { node {Binary Decision Diagrams} }
+ child { node {Oracle Machines} } child { node {Programming in Logic} }
+ }
+ child { node {Measuring Complexity}
+ child { node {Complexity Measures} } child { node {Classifying Complexity} }
+ child { node {Comparing Complexity} } child { node {Describing Complexity} }
+ }
+ child { node {Solving Problems}
+ child { node {Exact Algorithms} } child { node {Randomization} }
+ child { node {Fixed-Parameter Algorithms} } child { node {Parallel Computation} }
+ child { node {Partial Solutions} } child { node {Approximation} }
+ };
+ },
+]
\tikz [text width=2.7cm, align=flush center,
grow cyclic,
level 1/.style={level distance=2.5cm,sibling angle=90},
@@ -292,40 +298,44 @@ is not the case, so you might consider saying |every node/.style=concept|.
The third step is to set up the sibling \emph{angle} (rather than a sibling
distance) to specify the angle between sibling concepts.
%
-\begin{codeexample}[render instead={
-\tikz [mindmap, every node/.style=concept, concept color=black!20,
- grow cyclic,
- level 1/.append style={level distance=4.5cm,sibling angle=90},
- level 2/.append style={level distance=3cm,sibling angle=45}]
- \node [root concept] {Computational Complexity} % root
- child { node {\hbox to 2cm{Computational\hss} Problems}
- child { node {Problem Measures} }
- child { node {Problem Aspects} }
- child { node {Problem Domains} }
- child { node {Key Problems} }
- }
- child { node {\hbox to 2cm{Computational\hss} Models}
- child { node {Turing Machines} }
- child { node {Random-Access Machines} }
- child { node {Circuits} }
- child { node {Binary Decision Diagrams} }
- child { node {Oracle Machines} }
- child { node {\hbox to1.5cm{Programming\hss} in Logic} }
- }
- child { node {Measuring Complexity}
- child { node {Complexity Measures} }
- child { node {Classifying Complexity} }
- child { node {Comparing Complexity} }
- child { node {Describing Complexity} }
- }
- child { node {Solving Problems}
- child { node {Exact Algorithms} }
- child { node {\hbox to 1.5cm{Randomization\hss}} }
- child { node {Fixed-Parameter Algorithms} }
- child { node {Parallel Computation} }
- child { node {Partial Solutions} }
- child { node {\hbox to1.5cm{Approximation\hss}} }
- };}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{mindmap}},
+ render instead={
+ \tikz [mindmap, every node/.style=concept, concept color=black!20,
+ grow cyclic,
+ level 1/.append style={level distance=4.5cm,sibling angle=90},
+ level 2/.append style={level distance=3cm,sibling angle=45}]
+ \node [root concept] {Computational Complexity} % root
+ child { node {\hbox to 2cm{Computational\hss} Problems}
+ child { node {Problem Measures} }
+ child { node {Problem Aspects} }
+ child { node {Problem Domains} }
+ child { node {Key Problems} }
+ }
+ child { node {\hbox to 2cm{Computational\hss} Models}
+ child { node {Turing Machines} }
+ child { node {Random-Access Machines} }
+ child { node {Circuits} }
+ child { node {Binary Decision Diagrams} }
+ child { node {Oracle Machines} }
+ child { node {\hbox to1.5cm{Programming\hss} in Logic} }
+ }
+ child { node {Measuring Complexity}
+ child { node {Complexity Measures} }
+ child { node {Classifying Complexity} }
+ child { node {Comparing Complexity} }
+ child { node {Describing Complexity} }
+ }
+ child { node {Solving Problems}
+ child { node {Exact Algorithms} }
+ child { node {\hbox to 1.5cm{Randomization\hss}} }
+ child { node {Fixed-Parameter Algorithms} }
+ child { node {Parallel Computation} }
+ child { node {Partial Solutions} }
+ child { node {\hbox to1.5cm{Approximation\hss}} }
+ };
+ },
+]
\tikz [mindmap, every node/.style=concept, concept color=black!20,
grow cyclic,
level 1/.append style={level distance=4.5cm,sibling angle=90},
@@ -350,46 +360,49 @@ the first word also. Since Johannes does not want to add |\hskip0pt| inside
each node, he uses the |execute at begin node| option to make \tikzname\ insert
this text with every node.
%
-\begin{codeexample}[render instead={
-\begin{tikzpicture}
- [mindmap,
- every node/.style={concept, execute at begin node=\hskip0pt},
- concept color=black!20,
- grow cyclic,
- level 1/.append style={level distance=4.5cm,sibling angle=90},
- level 2/.append style={level distance=3cm,sibling angle=45}]
- \clip (-1,2) rectangle ++ (-4,5);
- \node [root concept] {Computational Complexity} % root
- child { node {Computational Problems}
- child { node {Problem Measures} }
- child { node {Problem Aspects} }
- child { node {Problem Domains} }
- child { node {Key Problems} }
- }
- child { node {Computational Models}
- child { node {Turing Machines} }
- child { node {Random-Access Machines} }
- child { node {Circuits} }
- child { node {Binary Decision Diagrams} }
- child { node {Oracle Machines} }
- child { node {Programming in Logic} }
- }
- child { node {Measuring Complexity}
- child { node {Complexity Measures} }
- child { node {Classifying Complexity} }
- child { node {Comparing Complexity} }
- child { node {Describing Complexity} }
- }
- child { node {Solving Problems}
- child { node {Exact Algorithms} }
- child { node {Randomization} }
- child { node {Fixed-Parameter Algorithms} }
- child { node {Parallel Computation} }
- child { node {Partial Solutions} }
- child { node {Approximation} }
- };
-\end{tikzpicture}
-}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{mindmap}},
+ render instead={
+ \begin{tikzpicture}
+ [mindmap,
+ every node/.style={concept, execute at begin node=\hskip0pt},
+ concept color=black!20,
+ grow cyclic,
+ level 1/.append style={level distance=4.5cm,sibling angle=90},
+ level 2/.append style={level distance=3cm,sibling angle=45}]
+ \clip (-1,2) rectangle ++ (-4,5);
+ \node [root concept] {Computational Complexity} % root
+ child { node {Computational Problems}
+ child { node {Problem Measures} }
+ child { node {Problem Aspects} }
+ child { node {Problem Domains} }
+ child { node {Key Problems} }
+ }
+ child { node {Computational Models}
+ child { node {Turing Machines} }
+ child { node {Random-Access Machines} }
+ child { node {Circuits} }
+ child { node {Binary Decision Diagrams} }
+ child { node {Oracle Machines} }
+ child { node {Programming in Logic} }
+ }
+ child { node {Measuring Complexity}
+ child { node {Complexity Measures} }
+ child { node {Classifying Complexity} }
+ child { node {Comparing Complexity} }
+ child { node {Describing Complexity} }
+ }
+ child { node {Solving Problems}
+ child { node {Exact Algorithms} }
+ child { node {Randomization} }
+ child { node {Fixed-Parameter Algorithms} }
+ child { node {Parallel Computation} }
+ child { node {Partial Solutions} }
+ child { node {Approximation} }
+ };
+ \end{tikzpicture}
+ },
+]
\begin{tikzpicture}
[mindmap,
every node/.style={concept, execute at begin node=\hskip0pt},
@@ -434,49 +447,53 @@ color to white. The effect of this is that the root concept will be encircled
with a thick black line and the children are connected to the central concept
via bars.
%
-\begin{codeexample}[render instead={
-\begin{tikzpicture}
- [mindmap,
- every node/.style={concept, execute at begin node=\hskip0pt},
- root concept/.append style={
- concept color=black,
- fill=white, line width=1ex,
- text=black},
- text=white,
- grow cyclic,
- level 1/.append style={level distance=4.5cm,sibling angle=90},
- level 2/.append style={level distance=3cm,sibling angle=45}]
- \clip (0,-1) rectangle ++(4,5);
- \node [root concept] {Computational Complexity} % root
- child [concept color=red] { node {Computational Problems}
- child { node {Problem Measures} }
- child { node {Problem Aspects} }
- child { node {Problem Domains} }
- child { node {Key Problems} }
- }
- child [concept color=blue] { node {Computational Models}
- child { node {Turing Machines} }
- child { node {Random-Access Machines} }
- child { node {Circuits} }
- child { node {Binary Decision Diagrams} }
- child { node {Oracle Machines} }
- child { node {Programming in Logic} }
- }
- child [concept color=orange] { node {Measuring Complexity}
- child { node {Complexity Measures} }
- child { node {Classifying Complexity} }
- child { node {Comparing Complexity} }
- child { node {Describing Complexity} }
- }
- child [concept color=green!50!black] { node {Solving Problems}
- child { node {Exact Algorithms} }
- child { node {Randomization} }
- child { node {Fixed-Parameter Algorithms} }
- child { node {Parallel Computation} }
- child { node {Partial Solutions} }
- child { node {Approximation} }
- };
- \end{tikzpicture}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{mindmap}},
+ render instead={
+ \begin{tikzpicture}
+ [mindmap,
+ every node/.style={concept, execute at begin node=\hskip0pt},
+ root concept/.append style={
+ concept color=black,
+ fill=white, line width=1ex,
+ text=black},
+ text=white,
+ grow cyclic,
+ level 1/.append style={level distance=4.5cm,sibling angle=90},
+ level 2/.append style={level distance=3cm,sibling angle=45}]
+ \clip (0,-1) rectangle ++(4,5);
+ \node [root concept] {Computational Complexity} % root
+ child [concept color=red] { node {Computational Problems}
+ child { node {Problem Measures} }
+ child { node {Problem Aspects} }
+ child { node {Problem Domains} }
+ child { node {Key Problems} }
+ }
+ child [concept color=blue] { node {Computational Models}
+ child { node {Turing Machines} }
+ child { node {Random-Access Machines} }
+ child { node {Circuits} }
+ child { node {Binary Decision Diagrams} }
+ child { node {Oracle Machines} }
+ child { node {Programming in Logic} }
+ }
+ child [concept color=orange] { node {Measuring Complexity}
+ child { node {Complexity Measures} }
+ child { node {Classifying Complexity} }
+ child { node {Comparing Complexity} }
+ child { node {Describing Complexity} }
+ }
+ child [concept color=green!50!black] { node {Solving Problems}
+ child { node {Exact Algorithms} }
+ child { node {Randomization} }
+ child { node {Fixed-Parameter Algorithms} }
+ child { node {Parallel Computation} }
+ child { node {Partial Solutions} }
+ child { node {Approximation} }
+ };
+ \end{tikzpicture}
+ },
+]
\begin{tikzpicture}
[mindmap,
every node/.style={concept, execute at begin node=\hskip0pt},
@@ -517,53 +534,57 @@ set up the correct concept color for the whole branch and (b) define the
|circular drop shadow|, defined in the |shadows| library, to the concepts, just
to make things look a bit more fancy.
%
-\begin{codeexample}[render instead={
-\begin{tikzpicture}[mindmap]
- \begin{scope}[
- every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
- root concept/.append style={
- concept color=black,
- fill=white, line width=1ex,
- text=black, font=\large\scshape},
- text=white,
- computational problems/.style={concept color=red,faded/.style={concept color=red!50}},
- computational models/.style={concept color=blue,faded/.style={concept color=blue!50}},
- measuring complexity/.style={concept color=orange,faded/.style={concept color=orange!50}},
- solving problems/.style={concept color=green!50!black,faded/.style={concept color=green!50!black!50}},
- grow cyclic,
- level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
- level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
- \node [root concept] {Computational Complexity} % root
- child [computational problems] { node {Computational Problems}
- child { node {Problem Measures} }
- child { node {Problem Aspects} }
- child [faded] { node {Problem Domains} }
- child { node {Key Problems} }
- }
- child [computational models] { node {Computational Models}
- child { node {Turing Machines} }
- child [faded] { node {Random-Access Machines} }
- child { node {Circuits} }
- child [faded] { node {Binary Decision Diagrams} }
- child { node {Oracle Machines} }
- child { node {Programming in Logic} }
- }
- child [measuring complexity] { node {Measuring Complexity}
- child { node {Complexity Measures} }
- child { node {Classifying Complexity} }
- child { node {Comparing Complexity} }
- child [faded] { node {Describing Complexity} }
- }
- child [solving problems] { node {Solving Problems}
- child { node {Exact Algorithms} }
- child { node {Randomization} }
- child { node {Fixed-Parameter Algorithms} }
- child { node {Parallel Computation} }
- child { node {Partial Solutions} }
- child { node {Approximation} }
- };
- \end{scope}
-\end{tikzpicture}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{mindmap,shadows}},
+ render instead={
+ \begin{tikzpicture}[mindmap]
+ \begin{scope}[
+ every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
+ root concept/.append style={
+ concept color=black,
+ fill=white, line width=1ex,
+ text=black, font=\large\scshape},
+ text=white,
+ computational problems/.style={concept color=red,faded/.style={concept color=red!50}},
+ computational models/.style={concept color=blue,faded/.style={concept color=blue!50}},
+ measuring complexity/.style={concept color=orange,faded/.style={concept color=orange!50}},
+ solving problems/.style={concept color=green!50!black,faded/.style={concept color=green!50!black!50}},
+ grow cyclic,
+ level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
+ level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
+ \node [root concept] {Computational Complexity} % root
+ child [computational problems] { node {Computational Problems}
+ child { node {Problem Measures} }
+ child { node {Problem Aspects} }
+ child [faded] { node {Problem Domains} }
+ child { node {Key Problems} }
+ }
+ child [computational models] { node {Computational Models}
+ child { node {Turing Machines} }
+ child [faded] { node {Random-Access Machines} }
+ child { node {Circuits} }
+ child [faded] { node {Binary Decision Diagrams} }
+ child { node {Oracle Machines} }
+ child { node {Programming in Logic} }
+ }
+ child [measuring complexity] { node {Measuring Complexity}
+ child { node {Complexity Measures} }
+ child { node {Classifying Complexity} }
+ child { node {Comparing Complexity} }
+ child [faded] { node {Describing Complexity} }
+ }
+ child [solving problems] { node {Solving Problems}
+ child { node {Exact Algorithms} }
+ child { node {Randomization} }
+ child { node {Fixed-Parameter Algorithms} }
+ child { node {Parallel Computation} }
+ child { node {Partial Solutions} }
+ child { node {Approximation} }
+ };
+ \end{scope}
+ \end{tikzpicture}
+ },
+]
\begin{tikzpicture}[mindmap]
\begin{scope}[
every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
@@ -602,7 +623,7 @@ acquire during this particular lecture (note that learning targets are not the
same as the contents of a lecture). For each lecture he intends to put a little
rectangle on the map containing these learning targets and the name of the
lecture, each time somewhere near the topic of the lecture. Such ``little
-rectangles'' are called ``annotations'' by the mindmap library.
+rectangles'' are called ``annotations'' by the |mindmap| library.
In order to place the annotations next to the concepts, Johannes must assign
names to the nodes of the concepts. He could rely on \tikzname's automatic
@@ -622,68 +643,72 @@ explicitly name all concepts of the tree in the following manner:
...
\end{codeexample}
-The |annotation| style of the mind map library mainly sets up a rectangular
+The |annotation| style of the |mindmap| library mainly sets up a rectangular
shape of appropriate size. Johannes configures the style by defining
|every annotation| appropriately.
%
-\begin{codeexample}[render instead={
-\begin{tikzpicture}[mindmap]
- \clip (-5.25,-3) rectangle ++ (4,5);
- \begin{scope}[
- every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
- root concept/.append style={
- concept color=black,
- fill=white, line width=1ex,
- text=black, font=\large\scshape},
- text=white,
- computational problems/.style={concept color=red,faded/.style={concept color=red!50}},
- computational models/.style={concept color=blue,faded/.style={concept color=blue!50}},
- measuring complexity/.style={concept color=orange,faded/.style={concept color=orange!50}},
- solving problems/.style={concept color=green!50!black,faded/.style={concept color=green!50!black!50}},
- grow cyclic,
- level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
- level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
- \node [root concept] (Computational Complexity) {Computational Complexity} % root
- child [computational problems] { node (Computational Problems) {Computational Problems}
- child { node (Problem Measures) {Problem Measures} }
- child { node (Problem Aspects) {Problem Aspects} }
- child [faded] { node (problem Domains) {Problem Domains} }
- child { node (Key Problems) {Key Problems} }
- }
- child [computational models] { node (Computational Models) {Computational Models}
- child { node (Turing Machines) {Turing Machines} }
- child [faded] { node (Random-Access Machines) {Random-Access Machines} }
- child { node (Circuits) {Circuits} }
- child [faded] { node (Binary Decision Diagrams) {Binary Decision Diagrams} }
- child { node (Oracle Machines) {Oracle Machines} }
- child { node (Programming in Logic) {Programming in Logic} }
- }
- child [measuring complexity] { node (Measuring Complexity) {Measuring Complexity}
- child { node (Complexity Measures) {Complexity Measures} }
- child { node (Classifying Complexity) {Classifying Complexity} }
- child { node (Comparing Complexity) {Comparing Complexity} }
- child [faded] { node (Describing Complexity) {Describing Complexity} }
- }
- child [solving problems] { node (Solving Problems) {Solving Problems}
- child { node (Exact Algorithms) {Exact Algorithms} }
- child { node (Randomization) {Randomization} }
- child { node (Fixed-Parameter Algorithms) {Fixed-Parameter Algorithms} }
- child { node (Parallel Computation) {Parallel Computation} }
- child { node (Partial Solutions) {Partial Solutions} }
- child { node (Approximation) {Approximation} }
- };
- \end{scope}
- \begin{scope}[every annotation/.style={fill=black!40}]
- \node [annotation, above] at (Computational Problems.north) {
- Lecture 1: Computational Problems
- \begin{itemize}
- \item Knowledge of several key problems
- \item Knowledge of problem encodings
- \item Being able to formalize problems
- \end{itemize}
- };
- \end{scope}
-\end{tikzpicture}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{mindmap,shadows}},
+ render instead={
+ \begin{tikzpicture}[mindmap]
+ \clip (-5.25,-3) rectangle ++ (4,5);
+ \begin{scope}[
+ every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
+ root concept/.append style={
+ concept color=black,
+ fill=white, line width=1ex,
+ text=black, font=\large\scshape},
+ text=white,
+ computational problems/.style={concept color=red,faded/.style={concept color=red!50}},
+ computational models/.style={concept color=blue,faded/.style={concept color=blue!50}},
+ measuring complexity/.style={concept color=orange,faded/.style={concept color=orange!50}},
+ solving problems/.style={concept color=green!50!black,faded/.style={concept color=green!50!black!50}},
+ grow cyclic,
+ level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
+ level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
+ \node [root concept] (Computational Complexity) {Computational Complexity} % root
+ child [computational problems] { node (Computational Problems) {Computational Problems}
+ child { node (Problem Measures) {Problem Measures} }
+ child { node (Problem Aspects) {Problem Aspects} }
+ child [faded] { node (problem Domains) {Problem Domains} }
+ child { node (Key Problems) {Key Problems} }
+ }
+ child [computational models] { node (Computational Models) {Computational Models}
+ child { node (Turing Machines) {Turing Machines} }
+ child [faded] { node (Random-Access Machines) {Random-Access Machines} }
+ child { node (Circuits) {Circuits} }
+ child [faded] { node (Binary Decision Diagrams) {Binary Decision Diagrams} }
+ child { node (Oracle Machines) {Oracle Machines} }
+ child { node (Programming in Logic) {Programming in Logic} }
+ }
+ child [measuring complexity] { node (Measuring Complexity) {Measuring Complexity}
+ child { node (Complexity Measures) {Complexity Measures} }
+ child { node (Classifying Complexity) {Classifying Complexity} }
+ child { node (Comparing Complexity) {Comparing Complexity} }
+ child [faded] { node (Describing Complexity) {Describing Complexity} }
+ }
+ child [solving problems] { node (Solving Problems) {Solving Problems}
+ child { node (Exact Algorithms) {Exact Algorithms} }
+ child { node (Randomization) {Randomization} }
+ child { node (Fixed-Parameter Algorithms) {Fixed-Parameter Algorithms} }
+ child { node (Parallel Computation) {Parallel Computation} }
+ child { node (Partial Solutions) {Partial Solutions} }
+ child { node (Approximation) {Approximation} }
+ };
+ \end{scope}
+ \begin{scope}[every annotation/.style={fill=black!40}]
+ \node [annotation, above] at (Computational Problems.north) {
+ Lecture 1: Computational Problems
+ \begin{itemize}
+ \item Knowledge of several key problems
+ \item Knowledge of problem encodings
+ \item Being able to formalize problems
+ \end{itemize}
+ };
+ \end{scope}
+ \end{tikzpicture}
+ },
+]
\begin{tikzpicture}[mindmap]
\clip (-5,-5) rectangle ++ (4,5);
\begin{scope}[
@@ -717,6 +742,7 @@ position where the node is placed, the fifth is the list of items to be shown,
and the sixth is a date when the lecture will be held (this parameter is not
yet needed, we will, however, need it later on).
%
+% TODOsp: codeexamples: redo `\lecture` definition*s* when `preamble` can be emptied
\begin{codeexample}[code only]
\def\lecture#1#2#3#4#5#6{
\node [annotation, #3, scale=0.65, text width=4cm, inner sep=2mm] at (#4) {
@@ -729,6 +755,8 @@ yet needed, we will, however, need it later on).
};
}
\end{codeexample}
+% TODOsp: codeexamples: this definition can most likely be deleted,
+% because it is moved to the `pre` key in the `codeexamples`
\def\lecture#1#2#3#4#5#6{
\node [annotation, #3, scale=0.65, text width=4cm, inner sep=2mm] at (#4) {
Lecture #1: \textcolor{orange}{\textbf{#2}}
@@ -740,59 +768,74 @@ yet needed, we will, however, need it later on).
};
}
-\begin{codeexample}[render instead={
-\begin{tikzpicture}[mindmap,every annotation/.style={fill=white}]
- \clip (-5.25,-3) rectangle ++ (4,5);
- \begin{scope}[
- every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
- root concept/.append style={
- concept color=black,
- fill=white, line width=1ex,
- text=black, font=\large\scshape},
- text=white,
- computational problems/.style={concept color=red,faded/.style={concept color=red!50}},
- computational models/.style={concept color=blue,faded/.style={concept color=blue!50}},
- measuring complexity/.style={concept color=orange,faded/.style={concept color=orange!50}},
- solving problems/.style={concept color=green!50!black,faded/.style={concept color=green!50!black!50}},
- grow cyclic,
- level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
- level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
- \node [root concept] (Computational Complexity) {Computational Complexity} % root
- child [computational problems] { node (Computational Problems) {Computational Problems}
- child { node (Problem Measures) {Problem Measures} }
- child { node (Problem Aspects) {Problem Aspects} }
- child [faded] { node (problem Domains) {Problem Domains} }
- child { node (Key Problems) {Key Problems} }
- }
- child [computational models] { node (Computational Models) {Computational Models}
- child { node (Turing Machines) {Turing Machines} }
- child [faded] { node (Random-Access Machines) {Random-Access Machines} }
- child { node (Circuits) {Circuits} }
- child [faded] { node (Binary Decision Diagrams) {Binary Decision Diagrams} }
- child { node (Oracle Machines) {Oracle Machines} }
- child { node (Programming in Logic) {Programming in Logic} }
- }
- child [measuring complexity] { node (Measuring Complexity) {Measuring Complexity}
- child { node (Complexity Measures) {Complexity Measures} }
- child { node (Classifying Complexity) {Classifying Complexity} }
- child { node (Comparing Complexity) {Comparing Complexity} }
- child [faded] { node (Describing Complexity) {Describing Complexity} }
- }
- child [solving problems] { node (Solving Problems) {Solving Problems}
- child { node (Exact Algorithms) {Exact Algorithms} }
- child { node (Randomization) {Randomization} }
- child { node (Fixed-Parameter Algorithms) {Fixed-Parameter Algorithms} }
- child { node (Parallel Computation) {Parallel Computation} }
- child { node (Partial Solutions) {Partial Solutions} }
- child { node (Approximation) {Approximation} }
- };
- \end{scope}
- \lecture{1}{Computational Problems}{above,xshift=-3mm}{Computational Problems.north}{
- \item Knowledge of several key problems
- \item Knowledge of problem encodings
- \item Being able to formalize problems
- }{2009-04-08}
-\end{tikzpicture}}]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{mindmap,shadows}},
+ pre={ % !!! replace all `##x` with `#x`
+\def\lecture##1##2##3##4##5##6{
+ \node [annotation, ##3, scale=0.65, text width=4cm, inner sep=2mm] at (##4) {
+ Lecture ##1: \textcolor{orange}{\textbf{##2}}
+ \list{--}{\topsep=2pt\itemsep=0pt\parsep=0pt
+ \parskip=0pt\labelwidth=8pt\leftmargin=8pt
+ \itemindent=0pt\labelsep=2pt}
+ ##5
+ \endlist
+ };
+}},
+ render instead={
+ \begin{tikzpicture}[mindmap,every annotation/.style={fill=white}]
+ \clip (-5.25,-3) rectangle ++ (4,5);
+ \begin{scope}[
+ every node/.style={concept, circular drop shadow,execute at begin node=\hskip0pt},
+ root concept/.append style={
+ concept color=black,
+ fill=white, line width=1ex,
+ text=black, font=\large\scshape},
+ text=white,
+ computational problems/.style={concept color=red,faded/.style={concept color=red!50}},
+ computational models/.style={concept color=blue,faded/.style={concept color=blue!50}},
+ measuring complexity/.style={concept color=orange,faded/.style={concept color=orange!50}},
+ solving problems/.style={concept color=green!50!black,faded/.style={concept color=green!50!black!50}},
+ grow cyclic,
+ level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
+ level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
+ \node [root concept] (Computational Complexity) {Computational Complexity} % root
+ child [computational problems] { node (Computational Problems) {Computational Problems}
+ child { node (Problem Measures) {Problem Measures} }
+ child { node (Problem Aspects) {Problem Aspects} }
+ child [faded] { node (problem Domains) {Problem Domains} }
+ child { node (Key Problems) {Key Problems} }
+ }
+ child [computational models] { node (Computational Models) {Computational Models}
+ child { node (Turing Machines) {Turing Machines} }
+ child [faded] { node (Random-Access Machines) {Random-Access Machines} }
+ child { node (Circuits) {Circuits} }
+ child [faded] { node (Binary Decision Diagrams) {Binary Decision Diagrams} }
+ child { node (Oracle Machines) {Oracle Machines} }
+ child { node (Programming in Logic) {Programming in Logic} }
+ }
+ child [measuring complexity] { node (Measuring Complexity) {Measuring Complexity}
+ child { node (Complexity Measures) {Complexity Measures} }
+ child { node (Classifying Complexity) {Classifying Complexity} }
+ child { node (Comparing Complexity) {Comparing Complexity} }
+ child [faded] { node (Describing Complexity) {Describing Complexity} }
+ }
+ child [solving problems] { node (Solving Problems) {Solving Problems}
+ child { node (Exact Algorithms) {Exact Algorithms} }
+ child { node (Randomization) {Randomization} }
+ child { node (Fixed-Parameter Algorithms) {Fixed-Parameter Algorithms} }
+ child { node (Parallel Computation) {Parallel Computation} }
+ child { node (Partial Solutions) {Partial Solutions} }
+ child { node (Approximation) {Approximation} }
+ };
+ \end{scope}
+ \lecture{1}{Computational Problems}{above,xshift=-3mm}{Computational Problems.north}{
+ \item Knowledge of several key problems
+ \item Knowledge of problem encodings
+ \item Being able to formalize problems
+ }{2009-04-08}
+ \end{tikzpicture}
+ },
+]
\begin{tikzpicture}[mindmap,every annotation/.style={fill=white}]
\clip (-5,-5) rectangle ++ (4,5);
\begin{scope}[
@@ -839,7 +882,7 @@ Johannes puts all his background stuff on the |background| layer.
In the following code, only the central concept is shown to save some space:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{backgrounds,mindmap,shadows}}]
\begin{tikzpicture}[
mindmap,
concept color=black,
@@ -902,7 +945,10 @@ about any kind of calendar imaginable. For Johannes' purposes, a simple
|day list downward| will be a nice option since it produces a list of days that
go ``downward''.
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[
+ leave comments,
+ preamble={\usetikzlibrary{calendar}},
+]
\tiny
\begin{tikzpicture}
\calendar [day list downward,
@@ -955,7 +1001,13 @@ when the lecture will be held:
Johannes can now use this new |\lecture| command as follows (in the example,
only the new part of the definition is used):
%
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{calendar}},
+ pre={ % !!! replace all `##x` with `#x`
+\def\lecture##1##2##3##4##5##6{
+ \node [anchor=base west] at (cal-##6.base east) {\textcolor{orange}{\textbf{##2}}};
+}},
+]
\tiny
\begin{tikzpicture}
\calendar [day list downward,
@@ -979,7 +1031,14 @@ command: He uses the |month text| option to configure how the text of a month
is rendered (see Section~\ref{section-calender} for details) and then typesets
the month text at a special position at the beginning of each month.
%
-\begin{codeexample}[leave comments]
+\begin{codeexample}[
+ leave comments,
+ preamble={\usetikzlibrary{calendar}},
+ pre={ % !!! replace all `##x` with `#x`
+\def\lecture##1##2##3##4##5##6{
+ \node [anchor=base west] at (cal-##6.base east) {\textcolor{orange}{\textbf{##2}}};
+}},
+]
\tiny
\begin{tikzpicture}
\calendar [day list downward,
@@ -1053,7 +1112,9 @@ This is followed by the main mindmap setup\dots
level 1/.append style={level distance=4.5cm,sibling angle=90,font=\scshape},
level 2/.append style={level distance=3cm,sibling angle=45,font=\scriptsize}]
\end{codeexample}
+%
\dots and contents:
+%
\begin{codeexample}[code only]
\node [root concept] (Computational Complexity) {Computational Complexity} % root
child [computational problems] { node [yshift=-1cm] (Computational Problems) {Computational Problems}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
index 26f9805b6a0..71e1486b1c9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
@@ -30,7 +30,7 @@ should look like this, ideally:
%
\begin{quote}
\begin{tikzpicture}
- [node distance=1.3cm,>=stealth',bend angle=45,auto,
+ [node distance=1.3cm,>={Stealth[round]},bend angle=45,auto,
place/.style={circle,thick,draw=blue!75,fill=blue!20,minimum size=6mm},
red place/.style={place,draw=red!75,fill=red!20},
transition/.style={rectangle,thick,draw=black!75,fill=black!20,minimum size=4mm},
@@ -402,22 +402,25 @@ second method is to write the desired name in parentheses after the |node|
operation. Hagen thinks that this second method seems strange, but he will soon
change his opinion.
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
+\begin{codeexample}[setup code,hidden]
+\tikzset{
+ place/.style={circle,draw=blue!50,fill=blue!20,thick,
+ inner sep=0pt,minimum size=6mm},
+ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
+ inner sep=0pt,minimum size=4mm}
+}
+\end{codeexample}
+%
\begin{codeexample}[]
% ... set up styles
\begin{tikzpicture}
- \node (waiting 1) at ( 0,2) [place] {};
- \node (critical 1) at ( 0,1) [place] {};
- \node (semaphore) at ( 0,0) [place] {};
+ \node (waiting 1) at ( 0,2) [place] {};
+ \node (critical 1) at ( 0,1) [place] {};
+ \node (semaphore) at ( 0,0) [place] {};
\node (leave critical) at ( 1,1) [transition] {};
\node (enter critical) at (-1,1) [transition] {};
\end{tikzpicture}
\end{codeexample}
-}
Hagen is pleased to note that the names help in understanding the code. Names
for nodes can be pretty arbitrary, but they should not contain commas, periods,
@@ -430,11 +433,6 @@ can even have multiple option blocks between the |node| and the text in curly
braces, they accumulate. You can rearrange them arbitrarily and perhaps the
following might be preferable:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
\begin{codeexample}[]
\begin{tikzpicture}
\node[place] (waiting 1) at ( 0,2) {};
@@ -444,7 +442,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\node[transition] (enter critical) at (-1,1) {};
\end{tikzpicture}
\end{codeexample}
-}
\subsection{Placing Nodes Using Relative Placement}
@@ -457,12 +454,7 @@ below the |waiting 1| node, wherever the |waiting 1| node might be. There are
different ways of achieving this, but the nicest one in Hagen's case is the
|below| option:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -471,7 +463,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\node[transition] (enter critical) [left=of critical] {};
\end{tikzpicture}
\end{codeexample}
-}
With the |positioning| library loaded, when an option like |below| is followed
by |of|, then the position of the node is shifted in such a manner that it is
@@ -494,12 +485,8 @@ possible:
\begin{enumerate}
\item Hagen can just add a new node above the |north| anchor of the
|semaphore| node.
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -510,7 +497,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\node [red,above] at (semaphore.north) {$s\le 3$};
\end{tikzpicture}
\end{codeexample}
-}
%
This is a general approach that will ``always work''.
@@ -524,12 +510,7 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
3$''. Instead of |above| we could also use things like |below left|
before the colon or a number like |60|.
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -539,7 +520,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\node[transition] (enter critical) [left=of critical] {};
\end{tikzpicture}
\end{codeexample}
-}
%
It is also possible to give multiple |label| options, this causes
multiple labels to be drawn.
@@ -559,12 +539,7 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
|label={[red]above:$s\le3$}|. Since this looks a bit ugly, Hagen
decides to redefine the |every label| style.
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}[every label/.style={red}]
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -574,7 +549,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\node[transition] (enter critical) [left=of critical] {};
\end{tikzpicture}
\end{codeexample}
-}
\end{enumerate}
@@ -590,12 +564,7 @@ on the left of the node, and so on. To access the coordinate of a node, we use
a coordinate that contains the node's name followed by a dot, followed by the
anchor's name:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -605,17 +574,11 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\draw [->] (critical.west) -- (enter critical.east);
\end{tikzpicture}
\end{codeexample}
-}
Next, let us tackle the curve from |waiting| to |enter critical|. This can be
specified using curves and controls:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -627,7 +590,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
.. (enter critical.north);
\end{tikzpicture}
\end{codeexample}
-}
Hagen sees how he can now add all his edges, but the whole process seems a but
awkward and not very flexible. Again, the code seems to obscure the structure
@@ -636,12 +598,7 @@ of the graphic rather than showing it.
So, let us start improving the code for the edges. First, Hagen can leave out
the anchors:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -653,7 +610,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
.. (enter critical);
\end{tikzpicture}
\end{codeexample}
-}
Hagen is a bit surprised that this works. After all, how did \tikzname\ know
that the line from |enter critical| to |critical| should actually start on the
@@ -671,12 +627,7 @@ pair of options is useful for Hagen: The pair |in| and |out|. These options
take angles at which a curve should leave or reach the start or target
coordinates. Without these options, a straight line is drawn:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -687,18 +638,12 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\draw [->] (waiting) to [out=180,in=90] (enter critical);
\end{tikzpicture}
\end{codeexample}
-}
There is another option for the |to| operation, that is even better suited to
Hagen's problem: The |bend right| option. This option also takes an angle, but
this angle only specifies the angle by which the curve is bent to the right:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -710,7 +655,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
\draw [->] (enter critical) to [bend right=45] (semaphore);
\end{tikzpicture}
\end{codeexample}
-}
It is now time for Hagen to learn about yet another way of specifying edges:
Using the |edge| path operation. This operation is very similar to the |to|
@@ -721,12 +665,7 @@ consequences. For example, every edge can have its own arrow tips and its own
color and so on and, still, all the edges can be given on the same path. This
allows Hagen to write the following:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{positioning}}]
\begin{tikzpicture}
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -738,7 +677,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
edge [->,bend right=45] (semaphore);
\end{tikzpicture}
\end{codeexample}
-}
Each |edge| caused a new path to be constructed, consisting of a |to| between
the node |enter critical| and the node following the |edge| command.
@@ -746,17 +684,12 @@ the node |enter critical| and the node following the |edge| command.
The finishing touch is to introduce two styles |pre| and |post| and to use the
|bend angle=45| option to set the bend angle once and for all:
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm}}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta,positioning}}]
% Styles place and transition as before
\begin{tikzpicture}
[bend angle=45,
- pre/.style={<-,shorten <=1pt,>=stealth',semithick},
- post/.style={->,shorten >=1pt,>=stealth',semithick}]
+ pre/.style={<-,shorten <=1pt,>={Stealth[round]},semithick},
+ post/.style={->,shorten >=1pt,>={Stealth[round]},semithick}]
\node[place] (waiting) {};
\node[place] (critical) [below=of waiting] {};
@@ -772,7 +705,6 @@ transition/.style={rectangle,draw=black!50,fill=black!20,thick,
edge [post,bend right] (semaphore);
\end{tikzpicture}
\end{codeexample}
-}
\subsection{Adding Labels Next to Lines}
@@ -783,7 +715,7 @@ Hagen can use \tikzname's automatic node placement: By adding the option
they are not on the curve but next to it. Adding |swap| will mirror the label
with respect to the line. Here is a general example:
%
-{
+% TODOsp: codeexamples: styles not needed here
\begin{codeexample}[]
\begin{tikzpicture}[auto,bend right]
\node (a) at (0:1) {$0^\circ$};
@@ -795,7 +727,6 @@ with respect to the line. Here is a general example:
(c) to node {3} node [swap] {3'} (a);
\end{tikzpicture}
\end{codeexample}
-}
What is happening here? The nodes are given somehow inside the |to| operation!
When this is done, the node is placed on the middle of the curve or line
@@ -807,14 +738,13 @@ For Hagen that |auto| option is not really necessary since the two ``2'' labels
could also easily be placed ``by hand''. However, in a complicated plot with
numerous edges automatic placement can be a blessing.
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm},
-pre/.style={<-,shorten <=1pt,>=stealth',semithick},
-post/.style={->,shorten >=1pt,>=stealth',semithick}}
-\begin{codeexample}[]
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,positioning}},
+ pre={\tikzset{
+ pre/.style={<-,shorten <=1pt,>={Stealth[round]},semithick},
+ post/.style={->,shorten >=1pt,>={Stealth[round]},semithick},
+}},
+]
% Styles as before
\begin{tikzpicture}[bend angle=45]
\node[place] (waiting) {};
@@ -831,7 +761,7 @@ post/.style={->,shorten >=1pt,>=stealth',semithick}}
edge [post,bend right] (semaphore);
\end{tikzpicture}
\end{codeexample}
-}
+% TODOsp: codeexamples: styles and `positioning` are needed up to here
\subsection{Adding the Snaked Line and Multi-Line Text}
@@ -844,7 +774,7 @@ needs to set the two options |decoration=snake| and |decorate| on the path.
This causes all lines of the path to be replaced by snakes. It is also possible
to use snakes only in certain parts of a path, but Hagen will not need this.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [->,decorate,decoration=snake] (0,0) -- (2,0);
\end{tikzpicture}
@@ -855,7 +785,7 @@ happens to end exactly at the position where the arrow begins. Fortunately,
there is an option that helps here. Also, the snake should be a bit smaller,
which can be influenced by even more options.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [->,decorate,
decoration={snake,amplitude=.4mm,segment length=2mm,post length=1mm}]
@@ -868,7 +798,7 @@ since it is a multi-line text. Hagen has two options for this: First, he can
specify an |align=center| and then use the |\\| command to enforce the line
breaks at the desired positions.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [->,decorate,
decoration={snake,amplitude=.4mm,segment length=2mm,post length=1mm}]
@@ -885,7 +815,7 @@ breaks at the desired positions.
Instead of specifying the line breaks ``by hand'', Hagen can also specify a
width for the text and let \TeX\ perform the line breaking for him:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.pathmorphing}}]
\begin{tikzpicture}
\draw [->,decorate,
decoration={snake,amplitude=.4mm,segment length=2mm,post length=1mm}]
@@ -908,7 +838,7 @@ coordinates that make up the corners of the rectangle. If Hagen draws the
rectangle first, then he needs to know the exact size of the Petri net -- which
he does not.
-The solution is to use \emph{layers}. When the background library is loaded,
+The solution is to use \emph{layers}. When the |backgrounds| library is loaded,
Hagen can put parts of his picture inside a scope with the
|on background layer| option. Then this part of the picture becomes part of the
layer that is given as an argument to this environment. When the
@@ -924,14 +854,14 @@ the $x$- and $y$-coordinates of the nodes, but it would be nicer to just have
node, causes the node to be resized and shifted such that it exactly covers all
the nodes and coordinates given as parameters to the |fit| option.
%
-{
-\tikzset{place/.style={circle,draw=blue!50,fill=blue!20,thick,
- inner sep=0pt,minimum size=6mm},
-transition/.style={rectangle,draw=black!50,fill=black!20,thick,
- inner sep=0pt,minimum size=4mm},
-pre/.style={<-,shorten <=1pt,>=stealth',semithick},
-post/.style={->,shorten >=1pt,>=stealth',semithick}}
-\begin{codeexample}[]
+% TODOsp: codeexamples: redo/add styles starting from here
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,backgrounds,fit,positioning}},
+ pre={\tikzset{
+ pre/.style={<-,shorten <=1pt,>={Stealth[round]},semithick},
+ post/.style={->,shorten >=1pt,>={Stealth[round]},semithick},
+}},
+]
% Styles as before
\begin{tikzpicture}[bend angle=45]
\node[place] (waiting) {};
@@ -953,7 +883,6 @@ post/.style={->,shorten >=1pt,>=stealth',semithick}}
\end{scope}
\end{tikzpicture}
\end{codeexample}
-}
\subsection{The Complete Code}
@@ -969,7 +898,7 @@ colors of places and transitions.
%
\begin{codeexample}[code only]
\begin{tikzpicture}
- [node distance=1.3cm,on grid,>=stealth',bend angle=45,auto,
+ [node distance=1.3cm,on grid,>={Stealth[round]},bend angle=45,auto,
every place/.style= {minimum size=6mm,thick,draw=blue!75,fill=blue!20},
every transition/.style={thick,draw=black!75,fill=black!20},
red place/.style= {place,draw=red!75,fill=red!20},
@@ -978,15 +907,18 @@ colors of places and transitions.
Now comes the code for the nets:
%
-{
-\tikzset{
- every place/.style={minimum size=6mm,thick,draw=blue!75,fill=blue!20},
- every transition/.style={thick,draw=black!75,fill=black!20},
- red place/.style={place,draw=red!75,fill=red!20},
- every label/.style={red},
- every picture/.style={on grid,node distance=1.3cm,>=stealth',bend angle=45,auto}}
-\tikzexternaldisable
-\begin{codeexample}[pre=\begin{tikzpicture},post=\end{tikzpicture}]
+\ifpgfmanualexternalize\tikzexternaldisable\fi
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,petri,positioning}},
+ pre={\tikzset{
+ every place/.style={minimum size=6mm,thick,draw=blue!75,fill=blue!20},
+ every transition/.style={thick,draw=black!75,fill=black!20},
+ every label/.style={red},
+ every picture/.style={on grid,node distance=1.3cm,>={Stealth[round]},bend angle=45,auto},
+}%
+\begin{tikzpicture}},
+ post={\end{tikzpicture}},
+]
\node [place,tokens=1] (w1) {};
\node [place] (c1) [below=of w1] {};
\node [place] (s) [below=of c1,label=above:$s\le 3$] {};
@@ -1010,17 +942,20 @@ Now comes the code for the nets:
edge [pre,bend right] (s)
edge [post,bend left] node {2} (w2);
\end{codeexample}
-}
-{
-\tikzset{
-every place/.style={minimum size=6mm,thick,draw=blue!75,fill=blue!20},
-every transition/.style={thick,draw=black!75,fill=black!20},
-red place/.style= {place,draw=red!75,fill=red!20},
-every label/.style={red},
-every picture/.style={on grid,node distance=1.3cm,>=stealth',bend angle=45,auto}}
-\tikzexternaldisable
-\begin{codeexample}[pre=\begin{tikzpicture},post=\end{tikzpicture}]
+\ifpgfmanualexternalize\tikzexternaldisable\fi
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,petri,positioning}},
+ pre={\tikzset{
+ every place/.style={minimum size=6mm,thick,draw=blue!75,fill=blue!20},
+ every transition/.style={thick,draw=black!75,fill=black!20},
+ red place/.style= {place,draw=red!75,fill=red!20},
+ every label/.style={red},
+ every picture/.style={on grid,node distance=1.3cm,>={Stealth[round]},bend angle=45,auto},
+}%
+\begin{tikzpicture}},
+ post={\end{tikzpicture}},
+]
\begin{scope}[xshift=6cm]
\node [place,tokens=1] (w1') {};
\node [place] (c1') [below=of w1'] {};
@@ -1053,7 +988,6 @@ every picture/.style={on grid,node distance=1.3cm,>=stealth',bend angle=45,auto}
edge [post,bend left] node {2} (w2');
\end{scope}
\end{codeexample}
-}
The code for the background and the snake is the following:
%
@@ -1070,3 +1004,17 @@ The code for the background and the snake is the following:
{replacement of the \textcolor{red}{capacity} by \textcolor{red}{two places}};
\end{tikzpicture}
\end{codeexample}
+
+% -----------------------------------------------------------------------------
+% TODOsp: codeexamples: This is needed because -- unlike I thought --
+% `setup code is remembered also outside this file. Thus the changed
+% style of `place` and `transition` are "remembered" in
+% <pgfmanual-en-library-petri.tex>
+\begin{codeexample}[setup code,hidden]
+% from <tikzlibrarypetri.code.tex>
+\tikzset{
+ place/.style={circle,draw,inner sep=0pt,minimum size=5ex,every place},
+ transition/.style={rectangle,draw,inner sep=0pt,minimum size=4mm,every transition},
+}
+\end{codeexample}
+% -----------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
index 614177a7fa5..04ec7082d9b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
@@ -471,6 +471,11 @@ use another color.
\end{tikzpicture}
\end{codeexample}
+ In this example, the definition of the style |Karl's grid| is given as an
+ optional argument to the |{tikzpicture}| environment. Additional styles for other
+ elements would follow after a comma. With many styles in effect, the optional
+ argument of the environment may easily happen to be longer than the actual
+ contents.
\subsection{Drawing Options}
@@ -609,6 +614,7 @@ It is also possible to place the bend somewhere else:
The operations |sin| and |cos| add a sine or cosine curve in the interval
$[0,\pi/2]$ such that the previous current point is at the start of the curve
and the curve ends at the given end point. Here are two examples:
+%
\begin{codeexample}[]
A sine \tikz \draw[x=1ex,y=1ex] (0,0) sin (1.57,1); curve.
\end{codeexample}
@@ -868,7 +874,7 @@ do not care about arrow tips.
It turns out that adding arrow tips is pretty easy: Karl adds the option |->|
to the drawing commands for the axes:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}[scale=3]
\clip (-0.1,-0.2) rectangle (1.1,1.51);
\draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4);
@@ -918,7 +924,7 @@ specification. For example, if Karl says |>=Stealth|, then he tells \tikzname\
that he would like ``stealth-fighter-like'' arrow tips:
\todosp{remaining instance of bug \#473}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{arrows.meta}}]
\begin{tikzpicture}[>=Stealth]
\draw [->] (0,0) arc [start angle=180, end angle=30, radius=10pt];
\draw [<<-,very thick] (1,0) -- (1.5cm,10pt) -- (2cm,0pt) -- (2.5cm,10pt);
@@ -1040,7 +1046,7 @@ All of these can be used together with \tikzname, so if you are familiar with
them, feel free to use them. \tikzname\ introduces yet another command, called
|\foreach|, which I introduced since I could never remember the syntax of the
other packages. |\foreach| is defined in the package |pgffor| and can be used
-independently \tikzname, but \tikzname\ includes it automatically.
+independently of \tikzname, but \tikzname\ includes it automatically.
In its basic form, the |\foreach| command is easy to use:
%
@@ -1232,7 +1238,7 @@ this places the label in the middle of the line, but the |pos=| options can be
used to modify this. Also, options like |near start| and |near end| can be used
to modify this position:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{intersections}}]
\begin{tikzpicture}[scale=3]
\clip (-2,-0.2) rectangle (2,0.8);
\draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4);
@@ -1369,7 +1375,7 @@ The |angle| pic draws an angle between the two lines $BA$ and $BC$, where $A$,
$B$, and $C$ are three coordinates. In our case, $B$ is the origin, $A$ is
somewhere on the $x$-axis and $C$ is somewhere on a line at $30^\circ$.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\begin{tikzpicture}[scale=3]
\coordinate (A) at (1,0);
\coordinate (B) at (0,0);
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
index 2a114913a68..022f2769b83 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
@@ -24,7 +24,7 @@ such an environment is not available.
\begin{environment}{{colormixin}\marg{mix-in specification}}
The mix-in specification is applied to all colors inside the environment.
At the beginning of the environment, the mix-in is applied to the current
- color, i.\,e., the color that was in effect before the environment started.
+ color, i.e., the color that was in effect before the environment started.
A mix-in specification is a number between 0 and 100 followed by an
exclamation mark and a color name. When a |\color| command is encountered
inside a mix-in environment, the number states what percentage of the
@@ -33,7 +33,7 @@ such an environment is not available.
|90!blue| will mix in 10\% of blue into everything, whereas |25!white| will
make everything nearly white.
%
-\begin{codeexample}[width=4cm]
+\begin{codeexample}[width=4cm,preamble={\usepackage{xxcolor}}]
\begin{minipage}{3.5cm}\raggedright
\color{red}Red text,%
\begin{colormixin}{25!white}
@@ -67,7 +67,8 @@ whether there exists an image named |foo.!25!white!25!black|.
Expands to the current accumulated mix-in. Each nesting of a |colormixin|
adds a mix-in to this list.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usepackage{xxcolor}
+\usepackage{calc}}]
\begin{minipage}{\linewidth-6pt}\raggedright
\begin{colormixin}{75!white}
\colorcurrentmixin\ should be ``!75!white''\par
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..173ab5e9c77
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,204 @@
+#Curve 0, 200 points
+#x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..8e728570397
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..de0c383ddde
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 -0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..9ab8f2c8d56
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table
new file mode 100644
index 00000000000..63beeda4b7a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table
@@ -0,0 +1,104 @@
+
+#Curve 0 of 1, 100 points
+#x y type
+-3.14100 0.00059 i
+-3.07755 0.06413 i
+-3.01409 0.12820 i
+-2.95064 0.19331 i
+-2.88718 0.26005 i
+-2.82373 0.32902 i
+-2.76027 0.40094 i
+-2.69682 0.47663 i
+-2.63336 0.55704 i
+-2.56991 0.64335 i
+-2.50645 0.73701 i
+-2.44300 0.83989 i
+-2.37955 0.95436 i
+-2.31609 1.08360 i
+-2.25264 1.23197 i
+-2.18918 1.40553 i
+-2.12573 1.61314 i
+-2.06227 1.86816 i
+-1.99882 2.19188 i
+-1.93536 2.62036 i
+-1.87191 3.22003 o
+-1.80845 4.12820 o
+-1.74500 5.68222 o
+-1.68155 8.99247 o
+-1.61809 21.12830 o
+-1.55464 -61.87594 o
+-1.49118 -12.53398 o
+-1.42773 -6.94188 o
+-1.36427 -4.77302 o
+-1.30082 -3.61357 o
+-1.23736 -2.88713 i
+-1.17391 -2.38590 i
+-1.11045 -2.01664 i
+-1.04700 -1.73126 i
+-0.98355 -1.50245 i
+-0.92009 -1.31351 i
+-0.85664 -1.15368 i
+-0.79318 -1.01569 i
+-0.72973 -0.89443 i
+-0.66627 -0.78621 i
+-0.60282 -0.68828 i
+-0.53936 -0.59856 i
+-0.47591 -0.51542 i
+-0.41245 -0.43755 i
+-0.34900 -0.36390 i
+-0.28555 -0.29357 i
+-0.22209 -0.22582 i
+-0.15864 -0.15998 i
+-0.09518 -0.09547 i
+-0.03173 -0.03174 i
+0.03173 0.03174 i
+0.09518 0.09547 i
+0.15864 0.15998 i
+0.22209 0.22582 i
+0.28555 0.29357 i
+0.34900 0.36390 i
+0.41245 0.43755 i
+0.47591 0.51542 i
+0.53936 0.59856 i
+0.60282 0.68828 i
+0.66627 0.78621 i
+0.72973 0.89443 i
+0.79318 1.01569 i
+0.85664 1.15368 i
+0.92009 1.31351 i
+0.98355 1.50245 i
+1.04700 1.73126 i
+1.11045 2.01664 i
+1.17391 2.38590 i
+1.23736 2.88713 i
+1.30082 3.61357 o
+1.36427 4.77302 o
+1.42773 6.94188 o
+1.49118 12.53398 o
+1.55464 61.87594 o
+1.61809 -21.12830 o
+1.68155 -8.99247 o
+1.74500 -5.68222 o
+1.80845 -4.12820 o
+1.87191 -3.22003 o
+1.93536 -2.62036 i
+1.99882 -2.19188 i
+2.06227 -1.86816 i
+2.12573 -1.61314 i
+2.18918 -1.40553 i
+2.25264 -1.23197 i
+2.31609 -1.08360 i
+2.37955 -0.95436 i
+2.44300 -0.83989 i
+2.50645 -0.73701 i
+2.56991 -0.64335 i
+2.63336 -0.55704 i
+2.69682 -0.47663 i
+2.76027 -0.40094 i
+2.82373 -0.32902 i
+2.88718 -0.26005 i
+2.95064 -0.19331 i
+3.01409 -0.12820 i
+3.07755 -0.06413 i
+3.14100 -0.00059 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table
new file mode 100644
index 00000000000..329b9fa56b5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..a4e517898a8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,104 @@
+#Curve 0, 100 points
+#x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..98e1357c20b
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,205 @@
+
+# Curve 0 of 1, 200 points
+# Curve title: "(t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))"
+# x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..3b4004ac39e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "0.05*exp(x)"
+# x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table
new file mode 100644
index 00000000000..fbd3c23fa7f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "t*sin(t),t*cos(t)"
+# x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 o
+1.66651 1.66503 o
+1.81387 1.04628 o
+1.76998 0.47361 o
+1.57050 -0.00047 o
+1.26407 -0.33904 o
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 o
+1.57050 0.00047 o
+1.76998 -0.47361 o
+1.81387 -1.04628 o
+1.66651 -1.66503 o
+1.30987 -2.26617 o
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..3755e8c6d05
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "t*sin(t),t*cos(t)"
+# x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..756bf7f0934
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "sin(x)"
+# x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table
new file mode 100644
index 00000000000..def4c602751
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table
@@ -0,0 +1,105 @@
+
+# Curve 0 of 1, 100 points
+# Curve title: "tan(x)"
+# x y type
+-3.14100 0.00059 i
+-3.07755 0.06413 i
+-3.01409 0.12820 i
+-2.95064 0.19331 i
+-2.88718 0.26005 i
+-2.82373 0.32902 i
+-2.76027 0.40094 i
+-2.69682 0.47663 i
+-2.63336 0.55704 i
+-2.56991 0.64335 i
+-2.50645 0.73701 i
+-2.44300 0.83989 i
+-2.37955 0.95436 i
+-2.31609 1.08360 i
+-2.25264 1.23197 i
+-2.18918 1.40553 i
+-2.12573 1.61314 i
+-2.06227 1.86816 i
+-1.99882 2.19188 i
+-1.93536 2.62036 i
+-1.87191 3.22003 o
+-1.80845 4.12820 o
+-1.74500 5.68222 o
+-1.68155 8.99247 o
+-1.61809 21.12830 o
+-1.55464 -61.87594 o
+-1.49118 -12.53398 o
+-1.42773 -6.94188 o
+-1.36427 -4.77302 o
+-1.30082 -3.61357 o
+-1.23736 -2.88713 i
+-1.17391 -2.38590 i
+-1.11045 -2.01664 i
+-1.04700 -1.73126 i
+-0.98355 -1.50245 i
+-0.92009 -1.31351 i
+-0.85664 -1.15368 i
+-0.79318 -1.01569 i
+-0.72973 -0.89443 i
+-0.66627 -0.78621 i
+-0.60282 -0.68828 i
+-0.53936 -0.59856 i
+-0.47591 -0.51542 i
+-0.41245 -0.43755 i
+-0.34900 -0.36390 i
+-0.28555 -0.29357 i
+-0.22209 -0.22582 i
+-0.15864 -0.15998 i
+-0.09518 -0.09547 i
+-0.03173 -0.03174 i
+0.03173 0.03174 i
+0.09518 0.09547 i
+0.15864 0.15998 i
+0.22209 0.22582 i
+0.28555 0.29357 i
+0.34900 0.36390 i
+0.41245 0.43755 i
+0.47591 0.51542 i
+0.53936 0.59856 i
+0.60282 0.68828 i
+0.66627 0.78621 i
+0.72973 0.89443 i
+0.79318 1.01569 i
+0.85664 1.15368 i
+0.92009 1.31351 i
+0.98355 1.50245 i
+1.04700 1.73126 i
+1.11045 2.01664 i
+1.17391 2.38590 i
+1.23736 2.88713 i
+1.30082 3.61357 o
+1.36427 4.77302 o
+1.42773 6.94188 o
+1.49118 12.53398 o
+1.55464 61.87594 o
+1.61809 -21.12830 o
+1.68155 -8.99247 o
+1.74500 -5.68222 o
+1.80845 -4.12820 o
+1.87191 -3.22003 o
+1.93536 -2.62036 i
+1.99882 -2.19188 i
+2.06227 -1.86816 i
+2.12573 -1.61314 i
+2.18918 -1.40553 i
+2.25264 -1.23197 i
+2.31609 -1.08360 i
+2.37955 -0.95436 i
+2.44300 -0.83989 i
+2.50645 -0.73701 i
+2.56991 -0.64335 i
+2.63336 -0.55704 i
+2.69682 -0.47663 i
+2.76027 -0.40094 i
+2.82373 -0.32902 i
+2.88718 -0.26005 i
+2.95064 -0.19331 i
+3.01409 -0.12820 i
+3.07755 -0.06413 i
+3.14100 -0.00059 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table
new file mode 100644
index 00000000000..3e745c11668
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "x"
+# x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..29942bca36a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,105 @@
+
+# Curve 0 of 1, 100 points
+# Curve title: "x*sin(x)"
+# x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
new file mode 100644
index 00000000000..2cc03e5cd9a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
@@ -0,0 +1,23 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\documentclass[a4paper]{ltxdoc}
+
+
+% pgf version is defined in \pgfversion in file
+% generic/pgf/utilities/pgfrcs.code.tex
+
+\input{../pgfmanual-dvips.cfg}
+\input{../../text-en/pgfmanual-en-main-preamble.tex}
+
+\begin{document}
+
+\include{pgfmanual-en-tikz-animations}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..173ab5e9c77
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,204 @@
+#Curve 0, 200 points
+#x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..8e728570397
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..de0c383ddde
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 -0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..9ab8f2c8d56
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table
new file mode 100644
index 00000000000..63beeda4b7a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table
@@ -0,0 +1,104 @@
+
+#Curve 0 of 1, 100 points
+#x y type
+-3.14100 0.00059 i
+-3.07755 0.06413 i
+-3.01409 0.12820 i
+-2.95064 0.19331 i
+-2.88718 0.26005 i
+-2.82373 0.32902 i
+-2.76027 0.40094 i
+-2.69682 0.47663 i
+-2.63336 0.55704 i
+-2.56991 0.64335 i
+-2.50645 0.73701 i
+-2.44300 0.83989 i
+-2.37955 0.95436 i
+-2.31609 1.08360 i
+-2.25264 1.23197 i
+-2.18918 1.40553 i
+-2.12573 1.61314 i
+-2.06227 1.86816 i
+-1.99882 2.19188 i
+-1.93536 2.62036 i
+-1.87191 3.22003 o
+-1.80845 4.12820 o
+-1.74500 5.68222 o
+-1.68155 8.99247 o
+-1.61809 21.12830 o
+-1.55464 -61.87594 o
+-1.49118 -12.53398 o
+-1.42773 -6.94188 o
+-1.36427 -4.77302 o
+-1.30082 -3.61357 o
+-1.23736 -2.88713 i
+-1.17391 -2.38590 i
+-1.11045 -2.01664 i
+-1.04700 -1.73126 i
+-0.98355 -1.50245 i
+-0.92009 -1.31351 i
+-0.85664 -1.15368 i
+-0.79318 -1.01569 i
+-0.72973 -0.89443 i
+-0.66627 -0.78621 i
+-0.60282 -0.68828 i
+-0.53936 -0.59856 i
+-0.47591 -0.51542 i
+-0.41245 -0.43755 i
+-0.34900 -0.36390 i
+-0.28555 -0.29357 i
+-0.22209 -0.22582 i
+-0.15864 -0.15998 i
+-0.09518 -0.09547 i
+-0.03173 -0.03174 i
+0.03173 0.03174 i
+0.09518 0.09547 i
+0.15864 0.15998 i
+0.22209 0.22582 i
+0.28555 0.29357 i
+0.34900 0.36390 i
+0.41245 0.43755 i
+0.47591 0.51542 i
+0.53936 0.59856 i
+0.60282 0.68828 i
+0.66627 0.78621 i
+0.72973 0.89443 i
+0.79318 1.01569 i
+0.85664 1.15368 i
+0.92009 1.31351 i
+0.98355 1.50245 i
+1.04700 1.73126 i
+1.11045 2.01664 i
+1.17391 2.38590 i
+1.23736 2.88713 i
+1.30082 3.61357 o
+1.36427 4.77302 o
+1.42773 6.94188 o
+1.49118 12.53398 o
+1.55464 61.87594 o
+1.61809 -21.12830 o
+1.68155 -8.99247 o
+1.74500 -5.68222 o
+1.80845 -4.12820 o
+1.87191 -3.22003 o
+1.93536 -2.62036 i
+1.99882 -2.19188 i
+2.06227 -1.86816 i
+2.12573 -1.61314 i
+2.18918 -1.40553 i
+2.25264 -1.23197 i
+2.31609 -1.08360 i
+2.37955 -0.95436 i
+2.44300 -0.83989 i
+2.50645 -0.73701 i
+2.56991 -0.64335 i
+2.63336 -0.55704 i
+2.69682 -0.47663 i
+2.76027 -0.40094 i
+2.82373 -0.32902 i
+2.88718 -0.26005 i
+2.95064 -0.19331 i
+3.01409 -0.12820 i
+3.07755 -0.06413 i
+3.14100 -0.00059 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table
new file mode 100644
index 00000000000..329b9fa56b5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..a4e517898a8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,104 @@
+#Curve 0, 100 points
+#x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
index 118da0bc8a4..d7b04c4ec75 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
@@ -159,7 +159,7 @@
% ignore
}
- \input{\jobname.toc}%
+ \IfFileExists{\jobname.toc}{\input{\jobname.toc}}{}%
}
{\catcode`\#=11
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
index 3afefe5c9e6..f2f2cfeaea3 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
@@ -17,6 +17,6 @@
\begin{document}
-\include{pgfmanual-en-tutorial-chains}
+\include{pgfmanual-en-library-patterns}
\end{document}
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..98e1357c20b
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,205 @@
+
+# Curve 0 of 1, 200 points
+# Curve title: "(t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))"
+# x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..3b4004ac39e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "0.05*exp(x)"
+# x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..3755e8c6d05
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "t*sin(t),t*cos(t)"
+# x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..756bf7f0934
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "sin(x)"
+# x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table
new file mode 100644
index 00000000000..def4c602751
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table
@@ -0,0 +1,105 @@
+
+# Curve 0 of 1, 100 points
+# Curve title: "tan(x)"
+# x y type
+-3.14100 0.00059 i
+-3.07755 0.06413 i
+-3.01409 0.12820 i
+-2.95064 0.19331 i
+-2.88718 0.26005 i
+-2.82373 0.32902 i
+-2.76027 0.40094 i
+-2.69682 0.47663 i
+-2.63336 0.55704 i
+-2.56991 0.64335 i
+-2.50645 0.73701 i
+-2.44300 0.83989 i
+-2.37955 0.95436 i
+-2.31609 1.08360 i
+-2.25264 1.23197 i
+-2.18918 1.40553 i
+-2.12573 1.61314 i
+-2.06227 1.86816 i
+-1.99882 2.19188 i
+-1.93536 2.62036 i
+-1.87191 3.22003 o
+-1.80845 4.12820 o
+-1.74500 5.68222 o
+-1.68155 8.99247 o
+-1.61809 21.12830 o
+-1.55464 -61.87594 o
+-1.49118 -12.53398 o
+-1.42773 -6.94188 o
+-1.36427 -4.77302 o
+-1.30082 -3.61357 o
+-1.23736 -2.88713 i
+-1.17391 -2.38590 i
+-1.11045 -2.01664 i
+-1.04700 -1.73126 i
+-0.98355 -1.50245 i
+-0.92009 -1.31351 i
+-0.85664 -1.15368 i
+-0.79318 -1.01569 i
+-0.72973 -0.89443 i
+-0.66627 -0.78621 i
+-0.60282 -0.68828 i
+-0.53936 -0.59856 i
+-0.47591 -0.51542 i
+-0.41245 -0.43755 i
+-0.34900 -0.36390 i
+-0.28555 -0.29357 i
+-0.22209 -0.22582 i
+-0.15864 -0.15998 i
+-0.09518 -0.09547 i
+-0.03173 -0.03174 i
+0.03173 0.03174 i
+0.09518 0.09547 i
+0.15864 0.15998 i
+0.22209 0.22582 i
+0.28555 0.29357 i
+0.34900 0.36390 i
+0.41245 0.43755 i
+0.47591 0.51542 i
+0.53936 0.59856 i
+0.60282 0.68828 i
+0.66627 0.78621 i
+0.72973 0.89443 i
+0.79318 1.01569 i
+0.85664 1.15368 i
+0.92009 1.31351 i
+0.98355 1.50245 i
+1.04700 1.73126 i
+1.11045 2.01664 i
+1.17391 2.38590 i
+1.23736 2.88713 i
+1.30082 3.61357 o
+1.36427 4.77302 o
+1.42773 6.94188 o
+1.49118 12.53398 o
+1.55464 61.87594 o
+1.61809 -21.12830 o
+1.68155 -8.99247 o
+1.74500 -5.68222 o
+1.80845 -4.12820 o
+1.87191 -3.22003 o
+1.93536 -2.62036 i
+1.99882 -2.19188 i
+2.06227 -1.86816 i
+2.12573 -1.61314 i
+2.18918 -1.40553 i
+2.25264 -1.23197 i
+2.31609 -1.08360 i
+2.37955 -0.95436 i
+2.44300 -0.83989 i
+2.50645 -0.73701 i
+2.56991 -0.64335 i
+2.63336 -0.55704 i
+2.69682 -0.47663 i
+2.76027 -0.40094 i
+2.82373 -0.32902 i
+2.88718 -0.26005 i
+2.95064 -0.19331 i
+3.01409 -0.12820 i
+3.07755 -0.06413 i
+3.14100 -0.00059 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table
new file mode 100644
index 00000000000..3e745c11668
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table
@@ -0,0 +1,30 @@
+
+# Curve 0 of 1, 25 points
+# Curve title: "x"
+# x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..29942bca36a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,105 @@
+
+# Curve 0 of 1, 100 points
+# Curve title: "x*sin(x)"
+# x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..173ab5e9c77
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,204 @@
+#Curve 0, 200 points
+#x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..8e728570397
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..de0c383ddde
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 -0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..9ab8f2c8d56
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table
new file mode 100644
index 00000000000..63beeda4b7a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table
@@ -0,0 +1,104 @@
+
+#Curve 0 of 1, 100 points
+#x y type
+-3.14100 0.00059 i
+-3.07755 0.06413 i
+-3.01409 0.12820 i
+-2.95064 0.19331 i
+-2.88718 0.26005 i
+-2.82373 0.32902 i
+-2.76027 0.40094 i
+-2.69682 0.47663 i
+-2.63336 0.55704 i
+-2.56991 0.64335 i
+-2.50645 0.73701 i
+-2.44300 0.83989 i
+-2.37955 0.95436 i
+-2.31609 1.08360 i
+-2.25264 1.23197 i
+-2.18918 1.40553 i
+-2.12573 1.61314 i
+-2.06227 1.86816 i
+-1.99882 2.19188 i
+-1.93536 2.62036 i
+-1.87191 3.22003 o
+-1.80845 4.12820 o
+-1.74500 5.68222 o
+-1.68155 8.99247 o
+-1.61809 21.12830 o
+-1.55464 -61.87594 o
+-1.49118 -12.53398 o
+-1.42773 -6.94188 o
+-1.36427 -4.77302 o
+-1.30082 -3.61357 o
+-1.23736 -2.88713 i
+-1.17391 -2.38590 i
+-1.11045 -2.01664 i
+-1.04700 -1.73126 i
+-0.98355 -1.50245 i
+-0.92009 -1.31351 i
+-0.85664 -1.15368 i
+-0.79318 -1.01569 i
+-0.72973 -0.89443 i
+-0.66627 -0.78621 i
+-0.60282 -0.68828 i
+-0.53936 -0.59856 i
+-0.47591 -0.51542 i
+-0.41245 -0.43755 i
+-0.34900 -0.36390 i
+-0.28555 -0.29357 i
+-0.22209 -0.22582 i
+-0.15864 -0.15998 i
+-0.09518 -0.09547 i
+-0.03173 -0.03174 i
+0.03173 0.03174 i
+0.09518 0.09547 i
+0.15864 0.15998 i
+0.22209 0.22582 i
+0.28555 0.29357 i
+0.34900 0.36390 i
+0.41245 0.43755 i
+0.47591 0.51542 i
+0.53936 0.59856 i
+0.60282 0.68828 i
+0.66627 0.78621 i
+0.72973 0.89443 i
+0.79318 1.01569 i
+0.85664 1.15368 i
+0.92009 1.31351 i
+0.98355 1.50245 i
+1.04700 1.73126 i
+1.11045 2.01664 i
+1.17391 2.38590 i
+1.23736 2.88713 i
+1.30082 3.61357 o
+1.36427 4.77302 o
+1.42773 6.94188 o
+1.49118 12.53398 o
+1.55464 61.87594 o
+1.61809 -21.12830 o
+1.68155 -8.99247 o
+1.74500 -5.68222 o
+1.80845 -4.12820 o
+1.87191 -3.22003 o
+1.93536 -2.62036 i
+1.99882 -2.19188 i
+2.06227 -1.86816 i
+2.12573 -1.61314 i
+2.18918 -1.40553 i
+2.25264 -1.23197 i
+2.31609 -1.08360 i
+2.37955 -0.95436 i
+2.44300 -0.83989 i
+2.50645 -0.73701 i
+2.56991 -0.64335 i
+2.63336 -0.55704 i
+2.69682 -0.47663 i
+2.76027 -0.40094 i
+2.82373 -0.32902 i
+2.88718 -0.26005 i
+2.95064 -0.19331 i
+3.01409 -0.12820 i
+3.07755 -0.06413 i
+3.14100 -0.00059 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table
new file mode 100644
index 00000000000..329b9fa56b5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..a4e517898a8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,104 @@
+#Curve 0, 100 points
+#x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..4c854afda9f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200; set parametric; plot [t=0.4:1.5] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..173ab5e9c77
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,204 @@
+#Curve 0, 200 points
+#x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..1d34e313af8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..8e728570397
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..e1c3f3b52f2
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..de0c383ddde
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 -0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..884d534bf4a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..9ab8f2c8d56
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..bb95994cd89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table
new file mode 100644
index 00000000000..329b9fa56b5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..3bd81ae92d1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..a4e517898a8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,104 @@
+#Curve 0, 100 points
+#x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..4c854afda9f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200; set parametric; plot [t=0.4:1.5] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..173ab5e9c77
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,204 @@
+#Curve 0, 200 points
+#x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..1d34e313af8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..8e728570397
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..e1c3f3b52f2
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..de0c383ddde
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 -0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..884d534bf4a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..9ab8f2c8d56
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..bb95994cd89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table
new file mode 100644
index 00000000000..329b9fa56b5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..3bd81ae92d1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..a4e517898a8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,104 @@
+#Curve 0, 100 points
+#x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot
new file mode 100644
index 00000000000..c99b87dbc89
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-asymptotic-example.table"; set format "%.5f"
+set samples 200.0; set parametric; plot [t=0.4:1.5] [] [] (t*t*t)*sin(1/(t*t*t)),(t*t*t)*cos(1/(t*t*t))
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table
new file mode 100644
index 00000000000..173ab5e9c77
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table
@@ -0,0 +1,204 @@
+#Curve 0, 200 points
+#x y type
+0.00530 -0.06378 i
+0.04363 -0.05043 i
+0.06711 -0.01790 i
+0.06896 0.02170 i
+0.05014 0.05606 i
+0.01712 0.07631 i
+-0.02110 0.07849 i
+-0.05579 0.06337 i
+-0.08032 0.03512 i
+-0.09097 -0.00029 i
+-0.08696 -0.03664 i
+-0.06987 -0.06850 i
+-0.04284 -0.09192 i
+-0.00982 -0.10460 i
+0.02515 -0.10585 i
+0.05841 -0.09629 i
+0.08703 -0.07749 i
+0.10892 -0.05162 i
+0.12282 -0.02111 i
+0.12828 0.01163 i
+0.12547 0.04436 i
+0.11507 0.07518 i
+0.09810 0.10255 i
+0.07579 0.12534 i
+0.04948 0.14280 i
+0.02048 0.15454 i
+-0.00995 0.16043 i
+-0.04065 0.16063 i
+-0.07063 0.15545 i
+-0.09905 0.14536 i
+-0.12521 0.13092 i
+-0.14860 0.11273 i
+-0.16882 0.09143 i
+-0.18562 0.06764 i
+-0.19885 0.04197 i
+-0.20848 0.01500 i
+-0.21454 -0.01276 i
+-0.21712 -0.04083 i
+-0.21637 -0.06879 i
+-0.21247 -0.09627 i
+-0.20565 -0.12295 i
+-0.19613 -0.14858 i
+-0.18415 -0.17294 i
+-0.16996 -0.19585 i
+-0.15379 -0.21718 i
+-0.13589 -0.23682 i
+-0.11647 -0.25471 i
+-0.09576 -0.27080 i
+-0.07396 -0.28508 i
+-0.05126 -0.29753 i
+-0.02783 -0.30819 i
+-0.00384 -0.31707 i
+0.02057 -0.32421 i
+0.04526 -0.32967 i
+0.07011 -0.33350 i
+0.09502 -0.33576 i
+0.11989 -0.33651 i
+0.14463 -0.33582 i
+0.16917 -0.33376 i
+0.19345 -0.33040 i
+0.21741 -0.32580 i
+0.24100 -0.32003 i
+0.26418 -0.31315 i
+0.28691 -0.30524 i
+0.30918 -0.29634 i
+0.33096 -0.28653 i
+0.35222 -0.27585 i
+0.37297 -0.26437 i
+0.39318 -0.25213 i
+0.41285 -0.23918 i
+0.43197 -0.22557 i
+0.45056 -0.21134 i
+0.46860 -0.19654 i
+0.48611 -0.18119 i
+0.50309 -0.16535 i
+0.51954 -0.14904 i
+0.53547 -0.13229 i
+0.55090 -0.11514 i
+0.56582 -0.09761 i
+0.58026 -0.07972 i
+0.59422 -0.06150 i
+0.60772 -0.04298 i
+0.62076 -0.02416 i
+0.63336 -0.00508 i
+0.64554 0.01425 i
+0.65729 0.03382 i
+0.66864 0.05361 i
+0.67960 0.07361 i
+0.69018 0.09381 i
+0.70039 0.11420 i
+0.71024 0.13475 i
+0.71975 0.15548 i
+0.72892 0.17636 i
+0.73778 0.19739 i
+0.74632 0.21857 i
+0.75456 0.23989 i
+0.76251 0.26134 i
+0.77018 0.28291 i
+0.77759 0.30461 i
+0.78473 0.32643 i
+0.79162 0.34837 i
+0.79826 0.37042 i
+0.80468 0.39258 i
+0.81087 0.41485 i
+0.81684 0.43723 i
+0.82261 0.45972 i
+0.82817 0.48232 i
+0.83354 0.50502 i
+0.83872 0.52782 i
+0.84372 0.55073 i
+0.84855 0.57374 i
+0.85321 0.59686 i
+0.85772 0.62009 i
+0.86206 0.64342 i
+0.86626 0.66685 i
+0.87032 0.69040 i
+0.87423 0.71405 i
+0.87801 0.73781 i
+0.88167 0.76169 i
+0.88520 0.78567 i
+0.88861 0.80977 i
+0.89191 0.83398 i
+0.89510 0.85831 i
+0.89818 0.88276 i
+0.90115 0.90733 i
+0.90403 0.93202 i
+0.90682 0.95683 i
+0.90951 0.98177 i
+0.91211 1.00683 i
+0.91463 1.03202 i
+0.91707 1.05735 i
+0.91942 1.08280 i
+0.92171 1.10839 i
+0.92391 1.13411 i
+0.92605 1.15998 i
+0.92812 1.18598 i
+0.93012 1.21213 i
+0.93205 1.23842 i
+0.93393 1.26485 i
+0.93575 1.29143 i
+0.93751 1.31817 i
+0.93921 1.34505 i
+0.94086 1.37209 i
+0.94246 1.39929 i
+0.94401 1.42664 i
+0.94552 1.45415 i
+0.94697 1.48183 i
+0.94838 1.50967 i
+0.94975 1.53767 i
+0.95108 1.56584 i
+0.95236 1.59418 i
+0.95361 1.62270 i
+0.95482 1.65138 i
+0.95600 1.68025 i
+0.95713 1.70928 i
+0.95824 1.73850 i
+0.95931 1.76790 i
+0.96035 1.79748 i
+0.96136 1.82725 i
+0.96234 1.85720 i
+0.96329 1.88735 i
+0.96422 1.91768 i
+0.96511 1.94820 i
+0.96598 1.97892 i
+0.96683 2.00983 i
+0.96765 2.04094 i
+0.96845 2.07225 i
+0.96922 2.10376 i
+0.96998 2.13547 i
+0.97071 2.16739 i
+0.97142 2.19952 i
+0.97211 2.23185 i
+0.97278 2.26439 i
+0.97344 2.29714 i
+0.97407 2.33010 i
+0.97469 2.36328 i
+0.97529 2.39667 i
+0.97588 2.43028 i
+0.97644 2.46411 i
+0.97700 2.49817 i
+0.97754 2.53244 i
+0.97806 2.56694 i
+0.97857 2.60166 i
+0.97906 2.63661 i
+0.97955 2.67179 i
+0.98001 2.70720 i
+0.98047 2.74284 i
+0.98092 2.77871 i
+0.98135 2.81482 i
+0.98177 2.85117 i
+0.98218 2.88775 i
+0.98258 2.92457 i
+0.98297 2.96163 i
+0.98335 2.99894 i
+0.98372 3.03649 i
+0.98408 3.07428 i
+0.98443 3.11232 i
+0.98477 3.15061 i
+0.98511 3.18914 i
+0.98543 3.22793 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot
new file mode 100644
index 00000000000..8109ea408c5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table
new file mode 100644
index 00000000000..8e728570397
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.05000 i
+0.16667 0.05907 i
+0.33333 0.06978 i
+0.50000 0.08244 i
+0.66667 0.09739 i
+0.83333 0.11505 i
+1.00000 0.13591 i
+1.16667 0.16056 i
+1.33333 0.18968 i
+1.50000 0.22408 i
+1.66667 0.26472 i
+1.83333 0.31274 i
+2.00000 0.36945 i
+2.16667 0.43646 i
+2.33333 0.51561 i
+2.50000 0.60912 i
+2.66667 0.71960 i
+2.83333 0.85010 i
+3.00000 1.00428 i
+3.16667 1.18641 i
+3.33333 1.40158 i
+3.50000 1.65577 i
+3.66667 1.95606 i
+3.83333 2.31082 i
+4.00000 2.72991 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot
new file mode 100644
index 00000000000..1f81f6a7b90
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example-cut.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [0:1] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot
new file mode 100644
index 00000000000..ea9639bd782
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-parametric-example.table"; set format "%.5f"
+set samples 25; set parametric; plot [t=-3.141:3.141] [] [] t*sin(t),t*cos(t)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table
new file mode 100644
index 00000000000..de0c383ddde
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00186 3.14100 i
+0.74672 2.78074 i
+1.30987 2.26617 i
+1.66651 1.66503 i
+1.81387 1.04628 i
+1.76998 0.47361 i
+1.57050 -0.00047 i
+1.26407 -0.33904 i
+0.90663 -0.52368 i
+0.55517 -0.55534 i
+0.26171 -0.45339 i
+0.06773 -0.25283 i
+0.00000 -0.00000 i
+0.06773 0.25283 i
+0.26171 0.45339 i
+0.55517 0.55534 i
+0.90663 0.52368 i
+1.26407 0.33904 i
+1.57050 0.00047 i
+1.76998 -0.47361 i
+1.81387 -1.04628 i
+1.66651 -1.66503 i
+1.30987 -2.26617 i
+0.74672 -2.78074 i
+0.00186 -3.14100 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot
new file mode 100644
index 00000000000..48df575630c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table
new file mode 100644
index 00000000000..9ab8f2c8d56
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16590 i
+0.33333 0.32719 i
+0.50000 0.47943 i
+0.66667 0.61837 i
+0.83333 0.74018 i
+1.00000 0.84147 i
+1.16667 0.91944 i
+1.33333 0.97194 i
+1.50000 0.99749 i
+1.66667 0.99541 i
+1.83333 0.96573 i
+2.00000 0.90930 i
+2.16667 0.82766 i
+2.33333 0.72309 i
+2.50000 0.59847 i
+2.66667 0.45727 i
+2.83333 0.30340 i
+3.00000 0.14112 i
+3.16667 -0.02507 i
+3.33333 -0.19057 i
+3.50000 -0.35078 i
+3.66667 -0.50128 i
+3.83333 -0.63788 i
+4.00000 -0.75680 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot
new file mode 100644
index 00000000000..0b0a1ad8ff3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-tan-example.table"; set format "%.5f"
+set samples 100.0; plot [x=-3.141:3.141] [-3:3]tan(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table
new file mode 100644
index 00000000000..63beeda4b7a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table
@@ -0,0 +1,104 @@
+
+#Curve 0 of 1, 100 points
+#x y type
+-3.14100 0.00059 i
+-3.07755 0.06413 i
+-3.01409 0.12820 i
+-2.95064 0.19331 i
+-2.88718 0.26005 i
+-2.82373 0.32902 i
+-2.76027 0.40094 i
+-2.69682 0.47663 i
+-2.63336 0.55704 i
+-2.56991 0.64335 i
+-2.50645 0.73701 i
+-2.44300 0.83989 i
+-2.37955 0.95436 i
+-2.31609 1.08360 i
+-2.25264 1.23197 i
+-2.18918 1.40553 i
+-2.12573 1.61314 i
+-2.06227 1.86816 i
+-1.99882 2.19188 i
+-1.93536 2.62036 i
+-1.87191 3.22003 o
+-1.80845 4.12820 o
+-1.74500 5.68222 o
+-1.68155 8.99247 o
+-1.61809 21.12830 o
+-1.55464 -61.87594 o
+-1.49118 -12.53398 o
+-1.42773 -6.94188 o
+-1.36427 -4.77302 o
+-1.30082 -3.61357 o
+-1.23736 -2.88713 i
+-1.17391 -2.38590 i
+-1.11045 -2.01664 i
+-1.04700 -1.73126 i
+-0.98355 -1.50245 i
+-0.92009 -1.31351 i
+-0.85664 -1.15368 i
+-0.79318 -1.01569 i
+-0.72973 -0.89443 i
+-0.66627 -0.78621 i
+-0.60282 -0.68828 i
+-0.53936 -0.59856 i
+-0.47591 -0.51542 i
+-0.41245 -0.43755 i
+-0.34900 -0.36390 i
+-0.28555 -0.29357 i
+-0.22209 -0.22582 i
+-0.15864 -0.15998 i
+-0.09518 -0.09547 i
+-0.03173 -0.03174 i
+0.03173 0.03174 i
+0.09518 0.09547 i
+0.15864 0.15998 i
+0.22209 0.22582 i
+0.28555 0.29357 i
+0.34900 0.36390 i
+0.41245 0.43755 i
+0.47591 0.51542 i
+0.53936 0.59856 i
+0.60282 0.68828 i
+0.66627 0.78621 i
+0.72973 0.89443 i
+0.79318 1.01569 i
+0.85664 1.15368 i
+0.92009 1.31351 i
+0.98355 1.50245 i
+1.04700 1.73126 i
+1.11045 2.01664 i
+1.17391 2.38590 i
+1.23736 2.88713 i
+1.30082 3.61357 o
+1.36427 4.77302 o
+1.42773 6.94188 o
+1.49118 12.53398 o
+1.55464 61.87594 o
+1.61809 -21.12830 o
+1.68155 -8.99247 o
+1.74500 -5.68222 o
+1.80845 -4.12820 o
+1.87191 -3.22003 o
+1.93536 -2.62036 i
+1.99882 -2.19188 i
+2.06227 -1.86816 i
+2.12573 -1.61314 i
+2.18918 -1.40553 i
+2.25264 -1.23197 i
+2.31609 -1.08360 i
+2.37955 -0.95436 i
+2.44300 -0.83989 i
+2.50645 -0.73701 i
+2.56991 -0.64335 i
+2.63336 -0.55704 i
+2.69682 -0.47663 i
+2.76027 -0.40094 i
+2.82373 -0.32902 i
+2.88718 -0.26005 i
+2.95064 -0.19331 i
+3.01409 -0.12820 i
+3.07755 -0.06413 i
+3.14100 -0.00059 i
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot
new file mode 100644
index 00000000000..0e57c0571ad
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table
new file mode 100644
index 00000000000..329b9fa56b5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table
@@ -0,0 +1,29 @@
+#Curve 0, 25 points
+#x y type
+0.00000 0.00000 i
+0.16667 0.16667 i
+0.33333 0.33333 i
+0.50000 0.50000 i
+0.66667 0.66667 i
+0.83333 0.83333 i
+1.00000 1.00000 i
+1.16667 1.16667 i
+1.33333 1.33333 i
+1.50000 1.50000 i
+1.66667 1.66667 i
+1.83333 1.83333 i
+2.00000 2.00000 i
+2.16667 2.16667 i
+2.33333 2.33333 i
+2.50000 2.50000 i
+2.66667 2.66667 i
+2.83333 2.83333 i
+3.00000 3.00000 i
+3.16667 3.16667 i
+3.33333 3.33333 i
+3.50000 3.50000 i
+3.66667 3.66667 i
+3.83333 3.83333 i
+4.00000 4.00000 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot
new file mode 100644
index 00000000000..8e3f24b9172
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table
new file mode 100644
index 00000000000..9d5d248a561
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table
@@ -0,0 +1,24 @@
+#Curve 0, 20 points
+#x y type
+0.00000 0.00000 i
+0.52632 0.50235 i
+1.05263 0.86873 i
+1.57895 0.99997 i
+2.10526 0.86054 i
+2.63158 0.48819 i
+3.15789 -0.01630 i
+3.68421 -0.51638 i
+4.21053 -0.87669 i
+4.73684 -0.99970 i
+5.26316 -0.85212 i
+5.78947 -0.47390 i
+6.31579 0.03260 i
+6.84211 0.53027 i
+7.36842 0.88441 i
+7.89474 0.99917 i
+8.42105 0.84348 i
+8.94737 0.45948 i
+9.47368 -0.04889 i
+10.00000 -0.54402 i
+
+
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot
new file mode 100644
index 00000000000..ebac36dd234
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table
new file mode 100644
index 00000000000..a4e517898a8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table
@@ -0,0 +1,104 @@
+#Curve 0, 100 points
+#x y type
+0.00000 0.00000 i
+0.03535 0.00125 i
+0.07071 0.00500 i
+0.10606 0.01123 i
+0.14141 0.01993 i
+0.17677 0.03108 i
+0.21212 0.04466 i
+0.24747 0.06062 i
+0.28283 0.07893 i
+0.31818 0.09954 i
+0.35354 0.12240 i
+0.38889 0.14745 i
+0.42424 0.17463 i
+0.45960 0.20387 i
+0.49495 0.23509 i
+0.53030 0.26822 i
+0.56566 0.30318 i
+0.60101 0.33986 i
+0.63636 0.37817 i
+0.67172 0.41803 i
+0.70707 0.45932 i
+0.74242 0.50194 i
+0.77778 0.54577 i
+0.81313 0.59069 i
+0.84848 0.63660 i
+0.88384 0.68337 i
+0.91919 0.73086 i
+0.95455 0.77896 i
+0.98990 0.82753 i
+1.02525 0.87643 i
+1.06061 0.92554 i
+1.09596 0.97471 i
+1.13131 1.02381 i
+1.16667 1.07269 i
+1.20202 1.12121 i
+1.23737 1.16923 i
+1.27273 1.21661 i
+1.30808 1.26320 i
+1.34343 1.30886 i
+1.37879 1.35345 i
+1.41414 1.39682 i
+1.44949 1.43884 i
+1.48485 1.47937 i
+1.52020 1.51826 i
+1.55556 1.55537 i
+1.59091 1.59059 i
+1.62626 1.62376 i
+1.66162 1.65477 i
+1.69697 1.68348 i
+1.73232 1.70977 i
+1.76768 1.73353 i
+1.80303 1.75463 i
+1.83838 1.77296 i
+1.87374 1.78841 i
+1.90909 1.80089 i
+1.94444 1.81028 i
+1.97980 1.81650 i
+2.01515 1.81946 i
+2.05051 1.81906 i
+2.08586 1.81524 i
+2.12121 1.80792 i
+2.15657 1.79704 i
+2.19192 1.78252 i
+2.22727 1.76433 i
+2.26263 1.74240 i
+2.29798 1.71671 i
+2.33333 1.68720 i
+2.36869 1.65386 i
+2.40404 1.61667 i
+2.43939 1.57560 i
+2.47475 1.53066 i
+2.51010 1.48184 i
+2.54545 1.42915 i
+2.58081 1.37260 i
+2.61616 1.31223 i
+2.65152 1.24805 i
+2.68687 1.18011 i
+2.72222 1.10845 i
+2.75758 1.03312 i
+2.79293 0.95418 i
+2.82828 0.87170 i
+2.86364 0.78576 i
+2.89899 0.69642 i
+2.93434 0.60380 i
+2.96970 0.50797 i
+3.00505 0.40904 i
+3.04040 0.30713 i
+3.07576 0.20235 i
+3.11111 0.09482 i
+3.14646 -0.01533 i
+3.18182 -0.12796 i
+3.21717 -0.24292 i
+3.25253 -0.36007 i
+3.28788 -0.47926 i
+3.32323 -0.60032 i
+3.35859 -0.72308 i
+3.39394 -0.84739 i
+3.42929 -0.97305 i
+3.46465 -1.09990 i
+3.50000 -1.22774 i
+
+
diff --git a/Master/texmf-dist/scripts/pgf/Makefile.pgf_release b/Master/texmf-dist/scripts/pgf/Makefile.pgf_release
new file mode 100644
index 00000000000..611a6171536
--- /dev/null
+++ b/Master/texmf-dist/scripts/pgf/Makefile.pgf_release
@@ -0,0 +1,144 @@
+# release script which generates a TDS zip file.
+#
+# DO NOT invoke this from a pgf directory,
+# use
+# make -f pgf/scripts/pgf/Makefile.pgf_release
+#
+# use
+# make -f pgf/scripts/pgf/Makefile.pgf_release upload USER=cfeuersaenger
+# to (a) create a current snapshot as-is and (b) upload it to
+# http://pgf.sourceforge.net/
+#
+# Note that the index.php on sourceforge expects VERSION=_CVS .
+#
+
+VERSION=_$(shell git --git-dir=pgf/.git describe --abbrev=0 --tags)
+
+USER=cfeuersaenger
+
+ZIP=pgf$(VERSION).tds.zip
+CTANZIP=pgf$(VERSION).ctan.flatdir.zip
+PDF=pgf$(VERSION).pdf
+CHANGELOG=pgf$(VERSION).ChangeLog
+
+files: zip ctanzip pdf $(CHANGELOG)
+
+zip: $(ZIP)
+
+pdf: $(PDF)
+
+upload: $(ZIP) $(PDF) $(CHANGELOG)
+ scp $^ $(USER),pgf@web.sourceforge.net:htdocs/
+
+FORCE:
+
+$(ZIP): FORCE
+ # collect into /tmp/pgf:
+ rm -fr /tmp/pgf /tmp/$@
+ rsync --copy-links \
+ --exclude=CVS \
+ --exclude=.git \
+ --exclude='.*.sw?' \
+ --exclude='*.aux' \
+ --exclude='*.log' \
+ --exclude='*~' \
+ --exclude='*.bbl' \
+ --exclude='*.blg' \
+ --exclude='*.idx' \
+ --exclude='*.ilg' \
+ --exclude='*.log' \
+ --exclude='*.ind' \
+ --exclude='*.toc' \
+ --exclude='*.out' \
+ --exclude='*.djs' \
+ --exclude='*.tmp' \
+ --exclude='*.tuo' \
+ --exclude='*.tui' \
+ --exclude='*.top' \
+ --exclude='*.pgf' \
+ --exclude='*.mp' \
+ --exclude='.#*' \
+ --exclude='.gitignore' \
+ --exclude='.cvsignore' \
+ --exclude='Makefile.pgf_release' \
+ -r pgf /tmp
+ # cleanup docs:
+ cp /tmp/pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual.pdf /tmp/pgf/doc/generic/pgf/pgfmanual.pdf
+ make -C /tmp/pgf/doc/generic/pgf/version-for-dvipdfm/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-dvipdfmx/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-dvips/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-tex4ht/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-vtex/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-xetex/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-luatex/en clean
+ make -C /tmp/pgf/doc/generic/pgf/version-for-pdftex/en clean
+ # now restructure to get TDS:
+ cd /tmp/pgf; \
+ rm -f README.md; \
+ rm -f .travis.yml; \
+ rm -f .gitignore; \
+ rm -rf .github; \
+ rm -rf ci; \
+ rm -rf experiments; \
+ rm -rf scripts; \
+ rm -f doc/generic/pgf/version-for-dvips/en/pgfmanual-test*; \
+ rm -f doc/generic/pgf/version-for-dvisvgm/en/color.cfg; \
+ rm README; \
+ mv README-3.0.0 doc/generic/pgf;
+ # clean-up tests:
+ make -C /tmp/pgf/source/generic/pgf/testsuite/external clean
+ rm -f /tmp/pgf/source/generic/pgf/testsuite/mathtest/pgfmathtestsuite.pdf
+ # generate FILES file:
+ cd /tmp && find pgf -type f > /tmp/pgf/doc/generic/pgf/FILES
+ # generate zip archive:
+ cd /tmp/pgf && zip -r /tmp/$@ *
+ # copy archive to make target:
+ cp /tmp/$@ $@
+ # show file size(s)
+ find `pwd` -maxdepth 1 \( -name '$(@:.zip=)*' \) -ls
+
+ctanzip: $(CTANZIP)
+
+# code to satisfy http://www.ctan.org/upload ...
+$(CTANZIP): $(ZIP)
+ cd /tmp && zip -r $(abspath $@) pgf pgf.tds.zip
+ rm -fr /tmp/pgf /tmp/pgf.ctan.tmp $@
+ mkdir -p /tmp/pgf /tmp/pgf.ctan.tmp
+ cd /tmp/pgf.ctan.tmp && unzip $(abspath $(ZIP))
+ mv /tmp/pgf.ctan.tmp/doc/generic/pgf/README /tmp/pgf
+ mv /tmp/pgf.ctan.tmp/doc/generic/pgf /tmp/pgf/doc
+ cp $(ZIP) /tmp/pgf.tds.zip
+ mkdir /tmp/pgf/tex
+ mkdir /tmp/pgf/source
+ find /tmp/pgf.ctan.tmp/tex \( -type f ! -name '*.lua' \) -exec mv -i {} /tmp/pgf/tex \;
+ #
+ # try to make the .lua files "browsable" without throwing all in one dir...
+ mkdir -p /tmp/pgf/lua/graphdrawing /tmp/pgf/lua/luamath /tmp/pgf/lua/generic
+ cd /tmp/pgf.ctan.tmp/tex/generic/pgf/graphdrawing/lua && find -name '*.lua' | rsync -r --include-from - . /tmp/pgf/lua/graphdrawing
+ cd /tmp/pgf.ctan.tmp/tex/generic/pgf/libraries/luamath && find -name '*.lua' | rsync -r --include-from - . /tmp/pgf/lua/luamath
+ cd /tmp/pgf.ctan.tmp/tex/generic/pgf/lua && find -name '*.lua' | rsync -r --include-from - . /tmp/pgf/lua/generic
+ #
+ find /tmp/pgf.ctan.tmp/tex -name '*.lua' -delete
+ find /tmp/pgf.ctan.tmp/source \( -type f ! -name Makefile \) -exec mv -i {} /tmp/pgf/source \;
+ find /tmp/pgf.ctan.tmp/source -name 'Makefile' -delete
+ #
+ # I suppose this here is more or less empty anyway, but who cares:
+ find /tmp/pgf.ctan.tmp/doc -type f -exec mv -i {} /tmp/pgf/doc \;
+ #
+ # CTAN wishes to not have empty directories (version-for-*/en/plots):
+ find /tmp/pgf/doc -type d -exec rmdir {} \; > /dev/null 2>&1 || true
+ #
+ @# for some reason, CVS checks out some of the math*.tex files as executable which confuses the CTAN file checker:
+ find /tmp/pgf/tex -type f -exec chmod 06444 {} \;
+ rm /tmp/pgf/doc/INSTALL
+ echo "Please search for pgf.tds.zip and install that one into a local texmf branch (which is typically simpler). This release is intended to satisfy CTAN package browsing policies." > /tmp/pgf/INSTALL_NOTES
+ @NUM_FILES=$$(find /tmp/pgf.ctan.tmp/ -type f |wc -l); \
+ if [ $$NUM_FILES -gt 0 ]; then echo "INTERNAL FAILURE: $$NUM_FILES FILES LEFT OVER IN /tmp/pgf.ctan.tmp! All must be included into $@. Left-overs:"; find /tmp/pgf.ctan.tmp/ -type f; exit 1; fi
+ cd /tmp && zip -r $(abspath $@) pgf pgf.tds.zip
+
+$(CHANGELOG): FORCE
+ cp pgf/doc/generic/pgf/ChangeLog $(CHANGELOG)
+
+$(PDF): pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual.pdf
+ cp $< $@
+
diff --git a/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh b/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh
new file mode 100755
index 00000000000..b2f596ce734
--- /dev/null
+++ b/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+# it generates tex/generic/pgf/pgf.revision.tex which, in turn, will be loaded
+# by pgf.sty
+#
+# The resulting macros define the current version of pgf.
+
+set -e
+
+LATEST_TAG=`git describe --abbrev=0 --tags`
+REVISION=`git describe --tags HEAD`
+
+
+rm -f tex/generic/pgf/pgf.revision.tex
+echo '\begingroup' >> tex/generic/pgf/pgf.revision.tex
+echo '\catcode`\-=12' >> tex/generic/pgf/pgf.revision.tex
+echo '\catcode`\/=12' >> tex/generic/pgf/pgf.revision.tex
+echo '\catcode`\.=12' >> tex/generic/pgf/pgf.revision.tex
+echo '\catcode`\:=12' >> tex/generic/pgf/pgf.revision.tex
+echo '\catcode`\+=12' >> tex/generic/pgf/pgf.revision.tex
+echo '\catcode`\-=12' >> tex/generic/pgf/pgf.revision.tex
+
+# this is the REVISION, i.e. the unique hash of the changeset.
+echo '\gdef\pgfrevision{'"$REVISION}" >> tex/generic/pgf/pgf.revision.tex
+
+# this is the public version name. It corresponds to the latest tag name in the git repo.
+echo '\gdef\pgfversion{'"$LATEST_TAG}" >> tex/generic/pgf/pgf.revision.tex
+
+# this is the commit date of the latest tag, i.e. the date when \pgfversion has been committed.
+# It is NOT the date of \pgfrevision.
+echo -n '\gdef\pgfversiondatetime{' >> tex/generic/pgf/pgf.revision.tex
+git log -n 1 "$LATEST_TAG" --pretty=format:"%ci" >> tex/generic/pgf/pgf.revision.tex
+echo '}' >> tex/generic/pgf/pgf.revision.tex
+
+echo -n '\gdef\pgfrevisiondatetime{' >> tex/generic/pgf/pgf.revision.tex
+git log -n 1 "$REVISION" --pretty=format:"%ci" >> tex/generic/pgf/pgf.revision.tex
+echo '}' >> tex/generic/pgf/pgf.revision.tex
+
+# convert to latex format YYYY/MM/DD :
+echo '\gdef\pgf@glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3}' >> tex/generic/pgf/pgf.revision.tex
+echo '\xdef\pgfversiondate{\expandafter\pgf@glob@TMPa\pgfversiondatetime\relax}' >> tex/generic/pgf/pgf.revision.tex
+echo '\xdef\pgfrevisiondate{\expandafter\pgf@glob@TMPa\pgfrevisiondatetime\relax}' >> tex/generic/pgf/pgf.revision.tex
+echo '\endgroup' >> tex/generic/pgf/pgf.revision.tex
+exit 0
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
index c5b9ee1e99a..e7b8f98dd36 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
@@ -130,9 +130,9 @@
\ifdim#1>\pgf@picmaxx\global\pgf@picmaxx#1\fi%
\ifdim#2<\pgf@picminy\global\pgf@picminy#2\fi%
\ifdim#2>\pgf@picmaxy\global\pgf@picmaxy#2\fi%
- \ifpgf@size@hooked%
- \let\pgf@size@hook@x#1\let\pgf@size@hook@y#2\pgf@path@size@hook%
- \fi%
+ \fi%
+ \ifpgf@size@hooked%
+ \let\pgf@size@hook@x#1\let\pgf@size@hook@y#2\pgf@path@size@hook%
\fi%
\ifdim#1<\pgf@pathminx\global\pgf@pathminx#1\fi%
\ifdim#1>\pgf@pathmaxx\global\pgf@pathmaxx#1\fi%
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
index 028546dde89..15dfbbf1608 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
@@ -851,11 +851,11 @@
\def\pgfpointxyz#1#2#3{%
\pgfmathparse{#1}%
- \global\let\pgftemp@x=\pgfmathresult%
+ \let\pgftemp@x=\pgfmathresult%
\pgfmathparse{#2}%
- \global\let\pgftemp@y=\pgfmathresult%
+ \let\pgftemp@y=\pgfmathresult%
\pgfmathparse{#3}%
- \global\let\pgftemp@z=\pgfmathresult%
+ \let\pgftemp@z=\pgfmathresult%
\global\pgf@x=\pgftemp@x\pgf@xx%
\global\advance\pgf@x by \pgftemp@y\pgf@yx%
\global\advance\pgf@x by \pgftemp@z\pgf@zx%
diff --git a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
index 3e292aa0383..27b9da97bbc 100644
--- a/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
@@ -456,14 +456,12 @@
\pgf@getpathsizes\pgf@interrupt@pathsizes%
\pgfsyssoftpath@getcurrentpath\pgf@interrupt@path%
\pgfsyssoftpath@setcurrentpath\pgfutil@empty%
- \edef\pgfscope@linewidth{\the\pgflinewidth}%
\let\pgf@interrupt@lastmoveto=\pgfsyssoftpath@lastmoveto%
\begingroup%
}
\def\endpgfinterruptpath
{%
\endgroup%
- \global\pgflinewidth=\pgfscope@linewidth%
\pgfsyssoftpath@setcurrentpath\pgf@interrupt@path%
\pgf@setpathsizes\pgf@interrupt@pathsizes%
\global\pgf@path@lastx\pgf@interrupt@savex%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
index 7f26cc00177..c56b29baae5 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
@@ -887,9 +887,9 @@
\let\tikz@dv@at@list\pgfutil@empty%
\let\tikz@dv@style@at@list\pgfutil@empty%
\pgfkeysgetvalue{#2/scaling mapper}\tikz@lib@dv@mapper
- \expandafter\tikzdatavisualizationset\expandafter{\tikz@lib@dv@settings}%
\scope[/tikz/data visualization/.cd,every ticks/.try,every #1 ticks/.try,#3]%
% Setup options
+ \expandafter\tikzdatavisualizationset\expandafter{\tikz@lib@dv@settings}%
\pgfkeysgetvalue{/tikz/data visualization/common}\tikz@temp
\expandafter\tikzdatavisualizationset\expandafter{\tikz@temp}
\pgfkeysgetvalue{/tikz/data visualization/#1}\tikz@temp
@@ -1080,7 +1080,7 @@
\let\tikz@dv@style@at@list\pgfutil@empty
\pgfkeysgetvalue{#2/scaling mapper}\tikz@lib@dv@mapper
\let\tikz@lib@dv@ticks@default@at\pgfutil@empty%
- \scope[data visualization/grid layer,/tikz/data visualization/.cd,every grid,every #1 grid/.try,#3]
+ \scope[data visualization/grid layer,/tikz/data visualization/.cd,every #1 grid/.try,every grid,#3]
% Setup options
\pgfkeysgetvalue{#2/ticks at}\tikz@lib@dv@ticks@at%
\expandafter\tikzdatavisualizationset\expandafter{\tikz@lib@dv@settings}%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
index bfceb3769a5..c7f2daf7443 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
@@ -10,6 +10,7 @@
\ProvidesFileRCS{tikzlibrarygraphs.standard.code.tex}
+\usetikzlibrary{graphs}%
%
% Basic graphs
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
index 55b387f13c6..08fd794319b 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
@@ -749,6 +749,13 @@
\fi
}
+% amsmath signals the first pass of aligned environments with measuring@true.
+% This is just \measuring@false in case \ifmeasuring@ is not defined
+\def\pgf@marshal{\let\ifmeasuring@\iffalse}
+\ifdefined\ifmeasuring@\else
+ \expandafter\pgf@marshal
+\fi
+
% Fills #1 with a filename for the current picture.
%
% The filename will be generated automatically by appending '-figure<number>' to the real jobname.
@@ -779,8 +786,10 @@
}{}%
\t@tikzexternal@tmpb=\expandafter{\tikzexternal@figurename}%
\xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb\csname c@tikzext@no@\tikzexternal@figurename\endcsname}%
- % advance the counter for 'figure name':
- \tikzexternal@getnextfilename@advancecount
+ \ifmeasuring@\else
+ % advance the counter for 'figure name':
+ \tikzexternal@getnextfilename@advancecount
+ \fi
\fi
\else
\t@tikzexternal@tmpb=\expandafter{\tikzexternal@nextfile}%
@@ -798,7 +807,9 @@
\def\tikzexternal@getnextfilename@resetglobals{%
% Reset global flags:
- \global\let\tikzexternal@nextfile=\pgfutil@empty
+ \ifmeasuring@\else
+ \global\let\tikzexternal@nextfile=\pgfutil@empty
+ \fi
\global\tikzexternalexportnexttrue
}%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
index 594ccc6c49a..b6fc75aeef9 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
@@ -39,10 +39,6 @@
\let\x=\tikz@cc@dox%
\let\y=\tikz@cc@doy%
\let\n=\tikz@cc@don%
- \let\rawx=\tikz@cc@dotempx%
- \let\rawy=\tikz@cc@dotempy%
- \let\rawz=\tikz@cc@dotempz%
- \let\coord=\tikz@cc@docoord%
\pgfutil@ifnextchar i{\tikz@cc@stop@let}{\tikz@cc@handle@line}%
}%
\def\tikz@cc@handle@line{%
@@ -74,17 +70,6 @@
\expandafter\edef\csname tikz@cc@p@\tikz@cc@coord@name\endcsname{\the\pgf@x,\the\pgf@y}%
\expandafter\edef\csname tikz@cc@x@\tikz@cc@coord@name\endcsname{\the\pgf@x}%
\expandafter\edef\csname tikz@cc@y@\tikz@cc@coord@name\endcsname{\the\pgf@y}%
- \pgfutil@letfirst\pgfutil@next{#1}%
- \ifx\pgfutil@next\pgfpointxyz
- \expandafter\edef\csname tikz@cc@tempx@\tikz@cc@coord@name\endcsname{\pgftemp@x}%
- \expandafter\edef\csname tikz@cc@tempy@\tikz@cc@coord@name\endcsname{\pgftemp@y}%
- \expandafter\edef\csname tikz@cc@tempz@\tikz@cc@coord@name\endcsname{\pgftemp@z}%
- \else
- \expandafter\edef\csname tikz@cc@tempx@\tikz@cc@coord@name\endcsname{}%
- \expandafter\edef\csname tikz@cc@tempy@\tikz@cc@coord@name\endcsname{}%
- \expandafter\edef\csname tikz@cc@tempz@\tikz@cc@coord@name\endcsname{}%
- \fi
- \expandafter\edef\csname tikz@cc@coord@\tikz@cc@coord@name\endcsname{\csname tikz@declared@coordinate\endcsname}%
\pgfutil@ifnextchar,{\tikz@cc@handle@nextline}{\tikz@cc@stop@let}%
}%
\def\tikz@cc@handle@nextline,{%
@@ -98,10 +83,6 @@
\def\tikz@cc@dox#1{\csname tikz@cc@x@#1\endcsname}%
\def\tikz@cc@doy#1{\csname tikz@cc@y@#1\endcsname}%
\def\tikz@cc@don#1{\csname tikz@cc@n@#1\endcsname}%
-\def\tikz@cc@dotempx#1{\csname tikz@cc@tempx@#1\endcsname}%
-\def\tikz@cc@dotempy#1{\csname tikz@cc@tempy@#1\endcsname}%
-\def\tikz@cc@dotempz#1{\csname tikz@cc@tempz@#1\endcsname}%
-\def\tikz@cc@docoord#1{\csname tikz@cc@coord@#1\endcsname}%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
index 5b0e83d5ee1..f7ff81b7e2a 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
@@ -72,6 +72,10 @@
\let\tikz@intersect@total=\pgfutil@empty
\tikzset{
+ every scope/.append style={
+ execute at begin scope={\let\tikz@intersect@namedpaths@outside\tikz@intersect@namedpaths},
+ execute at end scope={\global\let\tikz@intersect@namedpaths\tikz@intersect@namedpaths@outside},
+ },
name intersections/.code={%
\tikzset{/tikz/intersection/.cd,
by=,
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
index b23cf08caf2..c9ac86f17ee 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
@@ -97,8 +97,20 @@
\pgftransformcm{\pgf@lib@svg@a}{\pgf@lib@svg@b}{\pgf@lib@svg@c}{\pgf@lib@svg@d}{\pgfpointorigin}%
}
}]{};
+ \expandafter\pgfutil@switch\expandafter{\tikz@anchor}{%
+ {north} {\def\tikz@spy@anchor{south}}%
+ {north east}{\def\tikz@spy@anchor{south west}}%
+ {east} {\def\tikz@spy@anchor{west}}%
+ {south east}{\def\tikz@spy@anchor{north west}}%
+ {south} {\def\tikz@spy@anchor{north}}%
+ {south west}{\def\tikz@spy@anchor{north east}}%
+ {west} {\def\tikz@spy@anchor{east}}%
+ {north west}{\def\tikz@spy@anchor{south east}}%
+ % default to center
+ {default} {\def\tikz@spy@anchor{center}}%
+ }
\node [alias=tikzspyinnode,inner sep=0pt,outer sep=0pt,at={#2},every spy in node/.try,
- path picture={\node[anchor=center,tikz@lib@reset@gs]{\nullfont%
+ path picture={\node[anchor=\tikz@spy@anchor,tikz@lib@reset@gs]{\nullfont%
\pgfpicture\relax\pgfsetbaseline{default}\pgfsettrimleft{default}\pgfsettrimright{default}%
\pgftransformreset%
\let\tikz@transform=\relax%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
index 2051fce8fd6..121a570f4b5 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
@@ -163,7 +163,7 @@
\fi%
\tikz@to@start@compute%
\tikz@to@end@compute%
- \edef\tikz@computed@path{.. controls \tikz@computed@start and \tikz@computed@end .. (\tikz@toto)}
+ \edef\tikz@computed@path{.. controls \tikz@computed@start and \tikz@computed@end .. (\tikztotarget)}
}
\def\tikz@to@compute@distance{\tikz@scan@one@point\tikz@@to@compute@distance(\tikz@tofrom)}
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
index 830435a029b..8ff54a03123 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
@@ -59,7 +59,12 @@
% Circle grow
%
-\tikzset{grow cyclic/.style={growth function=\tikz@grow@circle}}%
+\tikzset{
+ grow cyclic/.style={
+ edge from parent/.append style={reset cm},
+ growth function=\tikz@grow@circle,
+ }
+}%
\tikzset{sibling angle/.initial=20}%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
index 009a309e311..76272f1a6cf 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
@@ -28,7 +28,7 @@
% given, by turtle distance
\tikzset{
turtle/forward/.default=\pgfkeysvalueof{/tikz/turtle/distance},
- turtle/forward/.style={/tikz/insert path={to[/tikz/turtle/how]++(\tikz@lib@turtle@dir:#1)}}
+ turtle/forward/.style={/tikz/insert path={to[/tikz/turtle/how]++({\tikz@lib@turtle@dir}:{#1})}}
}%
@@ -46,7 +46,7 @@
\tikzset{
turtle/left/.default=90,
turtle/left/.code={%
- \pgfmathparse{#1+\tikz@lib@turtle@dir}%
+ \pgfmathparse{(#1)+(\tikz@lib@turtle@dir)}%
\ifdim\pgfmathresult pt>360pt\relax%
\pgfmathparse{\pgfmathresult-360}%
\fi%
@@ -60,7 +60,7 @@
turtle/right/.default=90,
turtle/right/.code={%
\pgfmathparse{#1}
- \pgfmathparse{\tikz@lib@turtle@dir-\pgfmathresult}%
+ \pgfmathparse{(\tikz@lib@turtle@dir)-\pgfmathresult}%
\ifdim\pgfmathresult pt<0pt\relax%
\pgfmathparse{\pgfmathresult+360}%
\fi%
diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
index 5f67167ad37..2d428f666f6 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
@@ -283,7 +283,18 @@
% Radii and arc options
\tikzset{x radius/.initial=0pt}%
\tikzset{y radius/.initial=0pt}%
-\tikzset{radius/.style={/tikz/x radius=#1,/tikz/y radius=#1}}%
+\tikzset{%
+ radius/.code={%
+ \pgfmathparse{#1}%
+ \ifpgfmathunitsdeclared
+ \pgfkeyssetevalue{/tikz/x radius}{\pgfmathresult pt}%
+ \pgfkeyssetevalue{/tikz/y radius}{\pgfmathresult pt}%
+ \else
+ \pgfkeyssetevalue{/tikz/x radius}{\pgfmathresult}%
+ \pgfkeyssetevalue{/tikz/y radius}{\pgfmathresult}%
+ \fi
+ }%
+}%
\tikzset{start angle/.initial=}%
\tikzset{end angle/.initial=}%
\tikzset{delta angle/.initial=}%
@@ -696,9 +707,9 @@
\bgroup
[current point is local = true]
\pgfextra{\let\tikz@save@last@node=\tikzlastnode\tikz@node@is@a@labelfalse}%
- node [every pin,
- tikz@label@angle = #2,
+ node [tikz@label@angle = #2,
anchor=@auto,
+ every pin,
#1,
append after command = {%
(\tikz@save@last@node)
@@ -726,9 +737,9 @@
\bgroup
[current point is local = true]
\pgfextra{\let\tikz@save@last@node=\tikzlastnode\tikz@node@is@a@labelfalse}%
- node [every pin,
- tikz@label@angle = #2,
+ node [tikz@label@angle = #2,
anchor=@auto,
+ every pin,
#1,
append after command = {%
(\tikz@save@last@node)
@@ -857,9 +868,9 @@
\bgroup
[current point is local=true]
\pgfextra{\let\tikz@save@last@fig@name=\tikz@last@fig@name\tikz@node@is@a@labelfalse}
- node [every label,
- tikz@label@angle = #2,
+ node [tikz@label@angle = #2,
anchor=@auto,
+ every label,
#1,
tikz@label@post = \tikz@label@distance] {\iftikz@handle@active@nodes\expandafter\scantokens\else\expandafter\pgfutil@firstofone\fi{#3\noexpand}}
\pgfextra{\global\let\tikz@last@fig@name=\tikz@save@last@fig@name}
@@ -887,9 +898,9 @@
\bgroup
[current point is local=true]
\pgfextra{\let\tikz@save@last@fig@name=\tikz@last@fig@name\tikz@node@is@a@labelfalse}
- node [every label,
- tikz@label@angle = #2,
+ node [tikz@label@angle = #2,
anchor=@auto,
+ every label,
#1,
tikz@label@post = \tikz@label@distance] {\iftikz@handle@active@nodes\expandafter\scantokens\else\expandafter\pgfutil@firstofone\fi{#3\noexpand}}
\pgfextra{\global\let\tikz@last@fig@name=\tikz@save@last@fig@name}
@@ -1030,7 +1041,7 @@
\tikz@addtransform{%
\expandafter\tikz@extract@node@dist\tikz@node@distance and\pgf@stop%
\pgftransformshift{\pgfpointpolar{#2}{\tikz@extracted@node@distance}}}%
- \def\tikz@node@at{\pgfpointanchor{#1}{center}}}%
+ \def\tikz@node@at{\pgfpointanchor{\tikz@pp@name{#1}}{center}}}%
\def\tikz@extract@node@dist#1and#2\pgf@stop{%
\def\tikz@extracted@node@distance{#1}}%
@@ -1147,15 +1158,17 @@
\tikzset{badness warnings for centered text/.is if=tikz@warn@for@narrow@centered}%
\newif\iftikz@warn@for@narrow@centered
-\let\tikz@text@width=\pgfutil@empty
-\let\tikz@text@height=\pgfutil@empty
-\let\tikz@text@depth=\pgfutil@empty
-\let\tikz@textcolor=\pgfutil@empty
-\let\tikz@textfont=\pgfutil@empty
-\let\tikz@textopacity=\pgfutil@empty
-\let\tikz@node@textfont=\pgfutil@empty
-
-\def\tikz@text@action{\pgfutil@raggedright\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax}%
+\def\tikz@text@reset{%
+ \let\tikz@text@width=\pgfutil@empty
+ \let\tikz@text@height=\pgfutil@empty
+ \let\tikz@text@depth=\pgfutil@empty
+ \let\tikz@textcolor=\pgfutil@empty
+ \let\tikz@textfont=\pgfutil@empty
+ \let\tikz@textopacity=\pgfutil@empty
+ \let\tikz@node@textfont=\pgfutil@empty
+ \def\tikz@text@action{\pgfutil@raggedright\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax}%
+}
+\tikz@text@reset
% Alignment
@@ -2058,7 +2071,6 @@
% settings.
\def\tikz@command@path{%
- \global\let\tikz@intersect@namedpaths=\pgfutil@empty% clear intersections
\let\tikz@signal@path=\tikz@signal@path% for detection at begin of matrix cell
\pgfutil@ifnextchar[{\tikz@check@earg}%]
{\pgfutil@ifnextchar<{\tikz@doopt}{\tikz@@command@path}}}%
@@ -3615,7 +3627,7 @@
\tikzset{every circle/.try,#1}%
\pgftransformshift{\tikz@node@at}%
\tikz@transform%
- \tikz@do@circle{\pgfkeysvalueof{/tikz/x radius}}{\pgfkeysvalueof{/tikz/y radius}}
+ \tikz@do@ellipse{\pgfkeysvalueof{/tikz/x radius}}{\pgfkeysvalueof{/tikz/y radius}}
}%
\tikz@scan@next@command%
}%
@@ -3627,15 +3639,28 @@
\ifpgfutil@in@%
\tikz@@ellipseB(#1)%
\else%
- \tikz@do@circle{#1}{#1}%
+ \tikz@do@circle{#1}%
\fi%
}%
\tikz@scan@next@command%
}%
\def\tikz@@ellipseB(#1 and #2){%
- \tikz@do@circle{#1}{#2}
+ \tikz@do@ellipse{#1}{#2}%
}%
-\def\tikz@do@circle#1#2{
+\def\tikz@do@circle#1{%
+ \pgfmathparse{#1}%
+ \let\tikz@ellipse@x=\pgfmathresult
+ \ifpgfmathunitsdeclared
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfqpoint{\tikz@ellipse@x pt}{0pt}}%
+ {\pgfpoint{0pt}{\tikz@ellipse@x pt}}%
+ \else
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfpointxy{\tikz@ellipse@x}{0}}%
+ {\pgfpointxy{0}{\tikz@ellipse@x}}%
+ \fi
+}
+\def\tikz@do@ellipse#1#2{
\pgfmathparse{#1}%
\let\tikz@ellipse@x=\pgfmathresult%
\ifpgfmathunitsdeclared%
@@ -3801,9 +3826,11 @@
\tikz@scan@one@point\tikz@@coordinate@at@math(%
}%
\def\tikz@@coordinate@at@math#1{%
- \pgf@process{#1}%
- \edef\tikz@temp{(\the\pgf@x,\the\pgf@y)}%
- \expandafter\tikz@coordinate@caller\tikz@temp{}%
+ \pgfutil@ifundefined{tikz@scan@point@coordinate}%
+ {\pgf@process{#1}%
+ \edef\tikz@temp{(\the\pgf@x,\the\pgf@y)}%
+ \expandafter\tikz@coordinate@caller\tikz@temp{}}
+ {\expandafter\tikz@coordinate@caller\tikz@scan@point@coordinate{}}%
}%
@@ -3935,10 +3962,8 @@
\ifx\tikz@textcolor\pgfutil@empty%
\else%
\pgfutil@colorlet{.}{\tikz@textcolor}%
+ \pgfutil@color{\tikz@textcolor}%
\fi%
- % FIXME : this here is the proposed solution for <https://sourceforge.net/p/pgf/bugs/362/>
- % but it caused <https://sourceforge.net/p/pgf/bugs/503/>.
- % \pgfutil@color{.}%
\setbox\tikz@figbox=\box\pgfutil@voidb@x%
\setbox\tikz@figbox@bg=\box\pgfutil@voidb@x%
\tikz@uninstallcommands%
@@ -3950,6 +3975,8 @@
\ifnum\the\catcode`\:=\active\relax\expandafter\let\tikz@activecolon=\tikz@origcolon\fi%
\ifnum\the\catcode`\|=\active\relax\expandafter\let\tikz@activebar=\tikz@origbar\fi%
\aftergroup\tikz@fig@collectresetcolor%
+ \tikz@signal@halign@check%
+ \tikz@text@reset%
\tikz@halign@check%
\ignorespaces%
}%
@@ -4004,6 +4031,7 @@
\def\tikz@matrix@shift{\pgfpointorigin}%
\fi%
\let\tikz@transform=\relax%
+ \pgfmatrixbeforeassemblenode{\tikzset{every outer matrix/.try}}%
\pgfmatrix%
{\tikz@shape}%
{\tikz@m@anchor}%
@@ -4214,7 +4242,7 @@
\newif\iftikz@do@align
% Alignment handling
-\def\tikz@halign@check{%
+\def\tikz@signal@halign@check{%
\tikz@do@alignfalse
\ifx\tikz@text@width\pgfutil@empty%
\pgfkeysgetvalue{/tikz/node halign header}\tikz@align@header%
@@ -4223,6 +4251,8 @@
\tikz@do@aligntrue%
\fi%
\fi%
+}
+\def\tikz@halign@check{%
\iftikz@do@align%
% Bingo
\setbox\tikz@align@aligned@box=\box\pgfutil@voidb@x% void
@@ -4341,6 +4371,8 @@
\ifnum\the\catcode`\|=\active\relax\expandafter\let\tikz@activebar=\tikz@origbar\fi%
\tikz@atbegin@node%
\aftergroup\tikz@fig@collectresetcolor%
+ \tikz@signal@halign@check%
+ \tikz@text@reset%
\tikz@halign@check%
\ignorespaces%
}%
@@ -4379,9 +4411,17 @@
{\pgfutil@ifnextchar\bgroup{\tikz@nodes@main}%
{\tikzerror{Nodes must have a (possibly empty) label text}%
\tikz@fig@main{}}}}}}%}}%
-\def\tikz@nodes@at at#1){%
+
+% Look ahead whether the next character is a (. If that is the case, we scan
+% until ), otherwise we grab a single token and append.
+\def\tikz@nodes@at at{\pgfutil@ifnextchar({\tikz@nodes@at@}{\tikz@nodes@at@@}}%
+\def\tikz@nodes@at@#1){%
\expandafter\def\expandafter\tikz@nodes@collect\expandafter{\tikz@nodes@collect at#1)}%
\tikz@nodes@scan}%
+\def\tikz@nodes@at@@#1{%
+ \expandafter\def\expandafter\tikz@nodes@collect\expandafter{\tikz@nodes@collect at#1}%
+ \tikz@nodes@scan}%
+
\def\tikz@nodes@name#1){%
\expandafter\def\expandafter\tikz@nodes@collect\expandafter{\tikz@nodes@collect#1)}%
\tikz@nodes@scan}%
@@ -4786,7 +4826,7 @@
\let\tikz@picmode\tikz@mode%
\tikzset{name prefix ../.style/.expanded={/tikz/name prefix=\pgfkeysvalueof{/tikz/name prefix}}}%
\ifx\tikz@fig@name\pgfutil@empty\else%
- \tikzset{name prefix/.prefix/.expanded=\tikz@fig@name}%
+ \tikzset{name prefix/.expanded=\tikz@fig@name}%
\fi%
\pgfkeysvalueof{/tikz/pics/setup code}%
\pgfkeysgetvalue{/tikz/pics/code}{\tikz@pic@code}
@@ -5387,19 +5427,26 @@
\else%
\tikz@calc@anchor#2.center\tikz@stop% to be on the save side, in
% case iftikz@shapeborder is ignored...
- \expandafter\ifx\csname pgf@sh@ns@\tikz@pp@name{#2}\endcsname\tikz@coordinate@text%
- \else
- \tikz@shapebordertrue%
- \def\tikz@shapeborder@name{\tikz@pp@name{#2}}%
- \fi%
+ \ifcsname pgf@sh@ns@\tikz@pp@name{#2}\endcsname
+ \expandafter\ifx\csname pgf@sh@ns@\tikz@pp@name{#2}\endcsname\tikz@coordinate@text%
+ \else
+ \tikz@shapebordertrue%
+ \def\tikz@shapeborder@name{\tikz@pp@name{#2}}%
+ \fi%
+ \fi
\fi%
- \expandafter\let\expandafter\tikz@declared@coordinate\csname tikz@dcl@coord@\tikz@pp@name{#2}\endcsname
\edef\tikz@marshal{\noexpand#1{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}}%
\tikz@marshal%
}%
\def\tikz@calc@anchor#1.#2\tikz@stop{%
- \pgfpointanchor{\tikz@pp@name{#1}}{#2}%
+ % Check if a shape with name prefix exists, otherwise try the global name
+ % without prefix.
+ \ifcsname pgf@sh@ns@\tikz@pp@name{#1}\endcsname%
+ \pgfpointanchor{\tikz@pp@name{#1}}{#2}%
+ \else
+ \pgfpointanchor{#1}{#2}%
+ \fi
}%
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
index 0bd9090a1c1..9198885965d 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
@@ -14,7 +14,6 @@ local documentation = require 'pgf.gd.doc'.documentation
local summary = require 'pgf.gd.doc'.summary
local example = require 'pgf.gd.doc'.example
-
--------------------------------------------------------------------
key "simple necklace layout"
@@ -45,8 +44,10 @@ clockwise). The order of the nodes is the order in which they appear
in the graph, the edges are not taken into consideration, unless the
|componentwise| option is given.
%
-\begin{codeexample}[]
-\tikz[>=spaced stealth']
+\begin{codeexample}[
+ preamble={\usetikzlibrary{arrows.meta,graphs,graphdrawing}
+ \usegdlibrary{circular}}]
+\tikz[>={Stealth[round,sep]}]
\graph [simple necklace layout, grow'=down, node sep=1em,
nodes={draw,circle}, math nodes]
{
@@ -60,14 +61,16 @@ decomposed into connected components, which are then laid out
individually and packed using the usual component packing
mechanisms:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{circular}}]
\tikz \graph [simple necklace layout] {
a -- b -- c -- d -- a,
1 -- 2 -- 3 -- 1
};
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{circular}}]
\tikz \graph [simple necklace layout, componentwise] {
a -- b -- c -- d -- a,
1 -- 2 -- 3 -- 1
@@ -78,7 +81,7 @@ The nodes are placed in such a way that
%
\begin{enumerate}
\item The (angular) distance between the centers of consecutive
- nodes is at least |node distance|,
+ nodes is at least |node distance|,
\item the distance between the borders of consecutive nodes is at
least |node sep|, and
\item the radius is at least |radius|.
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
index 5e5b0635bf4..72a82be978a 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
@@ -47,7 +47,6 @@ local declare = require "pgf.gd.interface.InterfaceToAlgorithms".declare
--
-- @end
-
---
declare {
@@ -86,7 +85,8 @@ declare {
the first node of the component encountered during specification
of the component.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component align=first node]
{ a, b -- c, d -- e[second] -- f };
@@ -99,13 +99,15 @@ declare {
between the maximum and minimum value that the projected nodes
have on the shift line.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component align=center]
{ a, b -- c, d -- e[second] -- f };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component direction=90,
component align=center]
@@ -119,13 +121,15 @@ declare {
through the center of the node whose center has the highest
projected value.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component align=counterclockwise]
{ a, b -- c, d -- e[second] -- f };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component direction=90,
component align=counterclockwise]
@@ -138,13 +142,15 @@ declare {
Works like |counterclockwise|, only in the other direction:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component align=clockwise]
{ a, b -- c, d -- e[second] -- f };
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [binary tree layout, nodes={draw},
component direction=90,
component align=clockwise]
@@ -160,7 +166,8 @@ declare {
packing, this means that the components are aligned so that the
bounding boxes of the components are aligned at the top.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, nodes={draw, align=center},
component sep=0pt,
component align=counterclockwise]
@@ -211,8 +218,8 @@ declare {
summary = [["
Like |components go right top aligned|, but with
- |component align| set to |counterclockwise| |bounding box|.
- This means that the components will be aligned with their bounding
+ |component align| set to |counterclockwise| |bounding box|.
+ This means that the components will be aligned with their bounding
boxed being top-aligned.
"]],
examples = [["
@@ -530,4 +537,4 @@ declare {
-return Components \ No newline at end of file
+return Components
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
index 7ba4d000a7a..a2d04a178f5 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
@@ -23,7 +23,6 @@ local declare = require "pgf.gd.interface.InterfaceToAlgorithms".declare
--
-- @end
-
---
declare {
@@ -42,7 +41,8 @@ declare {
are then shifted such that the padding (separating distance)
between the two boxes is the current value of |component sep|.
%
- \begin{codeexample}[]
+ \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, nodes={draw}, component sep=0pt,
component packing=rectangular]
{ a -- long text, longer text -- b};
@@ -60,7 +60,8 @@ declare {
padding |component sep| can be used to avoid the nodes actually
touching each other.
%
- \begin{codeexample}[]
+ \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, nodes={draw}, component sep=0pt,
level distance=1.5cm,
component packing=skyline]
@@ -89,7 +90,8 @@ declare {
which the line was moved. This means that the holes are ``filled
up by slanted roofs''.
%
- \begin{codeexample}[]
+ \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\begin{tikzpicture}
\graph [tree layout, nodes={draw}, component sep=0pt,
component packing=skyline]
@@ -103,4 +105,4 @@ declare {
}
-return Components \ No newline at end of file
+return Components
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
index c7adfab830e..19bfd52fdf8 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
@@ -31,7 +31,8 @@ Now, when you set this key for a single node of a graph,
then, by shifting the graph around, this ``wish'' can obviously
always be fulfill:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={ \usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{force}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\graph [spring layout]
@@ -41,7 +42,8 @@ always be fulfill:
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={ \usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{force}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\graph [spring layout]
@@ -61,7 +63,8 @@ by a graph drawing algorithm.) A nice side effect of this is that
you can use the |x| and |y| keys (see
Section~\ref{section-graphs-xy}) to specify desired positions:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={ \usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{force}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\graph [spring layout]
@@ -71,7 +74,8 @@ Section~\ref{section-graphs-xy}) to specify desired positions:
\end{tikzpicture}
\end{codeexample}
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={ \usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{layered}}]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\graph [layered layout]
@@ -94,6 +98,11 @@ sense that some nodes are ``nailed to the canvas'' while other
nodes can ``move freely''.
]]
+--[[
+% TODOsp: codeexamples: the following 3 examples need these libraries
+% \usetikzlibrary{graphs,graphdrawing}
+% \usegdlibrary{force}
+--]]
example
[[
\begin{tikzpicture}
@@ -158,6 +167,11 @@ Note how in the last example |c| is placed at |(1,1)| rather than
|b| as would happen by default.
]]
+--[[
+% TODOsp: codeexamples: the following 4 examples need these libraries
+% \usetikzlibrary{graphs,graphdrawing}
+% \usegdlibrary{layered}
+--]]
example
[[
\tikz \draw (0,0)
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
index b7bab378191..fcd5b26fb00 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
@@ -48,7 +48,7 @@ example
[[
\tikz [nodes={text height=.7em, text depth=.2em,
draw=black!20, thick, fill=white, font=\footnotesize},
- >=spaced stealth', rounded corners, semithick]
+ >={Stealth[round,sep]}, rounded corners, semithick]
\graph [FMMMLayout, node sep=1mm, variation=2] {
"5th Edition" -> { "6th Edition", "PWB 1.0" };
"6th Edition" -> { "LSX", "1 BSD", "Mini Unix", "Wollongong", "Interdata" };
@@ -126,4 +126,4 @@ example
-- Local Variables:
-- mode:latex
--- End: \ No newline at end of file
+-- End:
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
index ab9d9ee77f7..ec75fa7e6e2 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
@@ -50,7 +50,7 @@ example
[[
\tikz [nodes={text height=.7em, text depth=.2em,
draw=black!20, thick, fill=white, font=\footnotesize},
- >=spaced stealth', rounded corners, semithick]
+ >={Stealth[round,sep]}, rounded corners, semithick]
\graph [SugiyamaLayout, FastSimpleHierarchyLayout, grow=-80,
level distance=1.5cm, sibling distance=7mm] {
"5th Edition" -> { "6th Edition", "PWB 1.0" };
@@ -110,4 +110,4 @@ documentation [[
-- Local Variables:
-- mode:latex
--- End: \ No newline at end of file
+-- End:
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
index c22c4decf22..3ff5f4ea230 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
@@ -40,7 +40,8 @@ declare {
option is declared and how we use it to look up a vertex in the
graph by its name.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={ \usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{examples}}]
\tikz [simple edge demo layout]
\graph [radius=2cm] {
a, b, c, d, e, f;
@@ -140,4 +141,4 @@ function SimpleEdgeDemo:run()
end
end
-return SimpleEdgeDemo \ No newline at end of file
+return SimpleEdgeDemo
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
index f81abf11058..6aa9bffb724 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
@@ -51,7 +51,8 @@ declare {
HuffmanNode/.style={/tikz/.cd,circle,inner sep=0pt,outer sep=0pt,draw,minimum size=3pt}
}
-\begin{codeexample}[]
+\begin{codeexample}[preamble={ \usetikzlibrary{graphs,graphdrawing,quotes}
+ \usegdlibrary{examples}}]
\tikz \graph [simple Huffman layout,
level distance=7mm, sibling distance=8mm, grow'=up]
{
@@ -178,6 +179,7 @@ function SimpleHuffman:run()
%
Ok, we are mainly done now. Finish by computing vertical placements
and do formal cleanup.
+ %
\begin{codeexample}[code only, tikz syntax=false]
layered.arrange_layers_by_baselines(layers, self.adjusted_bb, self.ugraph)
end
@@ -282,4 +284,4 @@ function SimpleHuffman:run()
layered.arrange_layers_by_baselines(layer, self.adjusted_bb, self.ugraph)
end
-return SimpleHuffman \ No newline at end of file
+return SimpleHuffman
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
index 45b9c9ef55e..71005d85274 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
@@ -26,13 +26,15 @@ local declare = require("pgf.gd.interface.InterfaceToAlgorithms").declare
-- The following examples shows how a simple graph can be scaled by
-- changing the |node distance|:
-- %
--- \begin{codeexample}[]
+-- \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{force}}]
-- \tikz \graph [spring layout, node distance=7mm] { subgraph C_n[n=3] };
-- \tikz \graph [spring layout] { subgraph C_n[n=3] };
-- \tikz \graph [spring layout, node distance=15mm]{ subgraph C_n[n=3] };
-- \end{codeexample}
-- %
--- \begin{codeexample}[]
+-- \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{force}}]
-- \tikz \graph [spring electrical layout, node distance=0.7cm] { subgraph C_n[n=3] };
-- \tikz \graph [spring electrical layout] { subgraph C_n[n=3] };
-- \tikz \graph [spring electrical layout, node distance=1.5cm] { subgraph C_n[n=3] };
@@ -41,7 +43,6 @@ local declare = require("pgf.gd.interface.InterfaceToAlgorithms").declare
-- @end
-
---
declare {
@@ -56,5 +57,3 @@ declare {
the nodes they connect.
"]]
}
-
-
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
index 269b81a3d7c..85a64b0a5a6 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
@@ -14,8 +14,6 @@
local declare = require("pgf.gd.interface.InterfaceToAlgorithms").declare
-
-
---
-- @section subsubsection {Start Configuration}
--
@@ -23,19 +21,21 @@ local declare = require("pgf.gd.interface.InterfaceToAlgorithms").declare
-- random distribution of the vertices. You can influence it by
-- changing the |random seed|:
-- %
---\begin{codeexample}[]
---\tikz \graph [random seed=10, spring layout] {
--- a -- {b, c, d} -- e -- f -- {g,h} -- {a,b,e};
---};
---\end{codeexample}
+-- \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{force}}]
+-- \tikz \graph [random seed=10, spring layout] {
+-- a -- {b, c, d} -- e -- f -- {g,h} -- {a,b,e};
+-- };
+-- \end{codeexample}
-- %
---\begin{codeexample}[]
---\tikz \graph [random seed=11, spring layout] {
--- a -- {b, c, d} -- e -- f -- {g,h} -- {a,b,e};
---};
---\end{codeexample}
+-- \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{force}}]
+-- \tikz \graph [random seed=11, spring layout] {
+-- a -- {b, c, d} -- e -- f -- {g,h} -- {a,b,e};
+-- };
+-- \end{codeexample}
--
-- Other methods, like a planar preembedding, are not implemented
-- currently.
--
--- @end \ No newline at end of file
+-- @end
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
index 5af36428858..815f90d268e 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
@@ -13,7 +13,6 @@
---
-- @section subsection {Specifying Missing Children}
---
-- \label{section-gd-missing-children}
--
-- In the present section we discuss keys for specifying missing children
@@ -38,7 +37,8 @@
-- \item When you use the |child| syntax, you can use the |missing| key
-- with the |child| command to indicate a missing child:
-- %
--- \begin{codeexample}[]
+-- \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{trees}}]
-- \tikz [binary tree layout, level distance=5mm]
-- \node {a}
-- child { node {b}
@@ -57,7 +57,8 @@
-- which really must be completely empty and may not even contain a
-- slash, to indicate a missing node:
-- %
--- \begin{codeexample}[]
+-- \begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{trees}}]
-- \tikz [binary tree layout, level distance=5mm]
-- \graph { a -> { b -> c -> d, e -> { , f -> { , g} } } };
-- \end{codeexample}
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
index 8951ce0538c..dacf6348652 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
@@ -35,14 +35,17 @@
-- Selects the (sub)algorithm that is to be used for computing spanning
-- trees whenever this is requested by a tree layout algorithm. The
-- default algorithm is |breadth first spanning tree|.
---
---\begin{codeexample}[]
+--%
+--\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{trees}}]
--\tikz \graph [tree layout, breadth first spanning tree]
--{
-- 1 -- {2,3,4,5} -- 6;
--};
--\end{codeexample}
---\begin{codeexample}[]
+--%
+--\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+-- \usegdlibrary{trees}}]
--\tikz \graph [tree layout, depth first spanning tree]
--{
-- 1 --[bend right] {2,3,4,5 [>bend left]} -- 6;
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
index 169c7ff5e19..a44fd470317 100644
--- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
+++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
@@ -83,7 +83,8 @@ When the subtrees of the children of a node are arranged, each
position with a missing child is treated as if a zero-width,
zero-height subtree were present at that positions:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz [tree layout, nodes={draw,circle}]
\node {r}
child { node {a}
@@ -95,7 +96,8 @@ zero-height subtree were present at that positions:
%
or in |graph| syntax:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, nodes={draw,circle}]
{
r -> {
@@ -109,7 +111,8 @@ or in |graph| syntax:
%
More than one child can go missing:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, nodes={draw,circle}, sibling sep=0pt]
{ r -> { a, , ,b -> {c,d}, ,e} };
\end{codeexample}
@@ -122,7 +125,8 @@ root node, they are usually \emph{not} considered as part of the
key ensures that |b|, |c|, |e|, and |f| all have a missing right
child):
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, minimum number of children=2,
nodes={draw,circle}]
{ a -> { b -> c -> d, e -> f -> g } };
@@ -136,7 +140,8 @@ Br\"uggemann-Klein and Wood have proposed an extension of the
Reingold--Tilford method that is intended to better highlight the
overall structure of a tree. Consider the following two trees:
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz [baseline=(a.base), tree layout, minimum number of children=2,
sibling distance=5mm, level distance=5mm]
\graph [nodes={circle, inner sep=0pt, minimum size=2mm, fill, as=}]{
@@ -165,7 +170,8 @@ minimum distance is encountered on any level other than the first
level. Thus, in the first example there is no significant pair,
while in the second example |a| and |b| form such a pair.
%
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs,graphdrawing}
+ \usegdlibrary{trees}}]
\tikz \graph [tree layout, minimum number of children=2,
level distance=5mm, nodes={circle,draw}]
{ / -> { a -> / -> /, b -> /[second] -> /[second] }};
@@ -287,6 +293,9 @@ example
};
]]
+--[[
+% TODOsp: codeexamples: the next example needs the library `arrows.meta`
+--]]
example
[[
\tikz \graph [binary tree layout] {
@@ -295,7 +304,7 @@ example
Tobin -> Plass -> { Lamport, Spivak }
}
};\qquad
-\tikz [>=spaced stealth']
+\tikz [>={Stealth[round,sep]}]
\graph [binary tree layout, grow'=right, level sep=1.5em,
nodes={right, fill=blue!50, text=white, chamfered rectangle},
edges={decorate,decoration={snake, post length=5pt}}]
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex
new file mode 100644
index 00000000000..38690faed14
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex
@@ -0,0 +1,94 @@
+% Copyright 2019 by an anonymous contributor
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU General Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+\global\let\pgf@bbox@lt@curveto@normal\pgf@lt@curveto
+\global\let\pgf@bbox@nlt@curveto@normal\pgf@nlt@curveto
+
+\pgfqkeys{/pgf}{bezier bounding box/.is if=pgf@bbox@switch@}
+
+\def\pgf@bbox@switch@false{%
+ \let\pgf@lt@curveto \pgf@bbox@lt@curveto@normal
+ \let\pgf@nlt@curveto\pgf@bbox@nlt@curveto@normal
+}
+
+\def\pgf@bbox@switch@true{%
+ \let\pgf@lt@curveto \pgf@bbox@curveto
+ \let\pgf@nlt@curveto\pgf@bbox@curveto
+}
+
+\def\pgf@bbox@curveto#1#2#3#4#5#6{%
+ % extrema in x
+ \pgfmathsetmacro{\pgf@temp@b}{abs(\pgf@path@lastx-#5-3*#1+3*#3)}%
+ % ^^^ this is used for the denominator below, cannot become too small
+ \pgfmathsetmacro{\pgf@temp@c}{max(1+\pgf@path@lastx,max(#1,max(#3,#5)))}%
+ % ^^^ in order to avoid dimension too large errors from squaring lengths in pt
+ \pgfmathparse{((#1/\pgf@temp@c)*(#1/\pgf@temp@c)-1*((#1/\pgf@temp@c)*(#3/\pgf@temp@c))+(#3/\pgf@temp@c)*(#3/\pgf@temp@c)-1*((#1/\pgf@temp@c)*(#5/\pgf@temp@c))+(-(#3/\pgf@temp@c)+(#5/\pgf@temp@c))*(\pgf@path@lastx/\pgf@temp@c))}%
+ \pgfutil@tempdima=\pgfmathresult pt\relax%
+ % ^^^ discriminant
+ \ifdim\pgf@temp@b pt<0.01pt\relax%
+ % approximately linear
+ \pgfmathparse{abs(2*(#1)-2*(#3)+(#5))}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \ifdim\pgfutil@tempdimb<0.1pt\relax%
+ % if the denominator is very small, t is *likely* large but could be 0/0
+ \else
+ \pgfmathsetmacro{\pgf@temp@a}{(2*(#1)-3*(#3)+(#5))/(2*(#1)-2*(#3)+(#5))}%
+ \pgfmathparse{\pgf@path@lastx*pow(1-\pgf@temp@a,3)+3*#1*pow(1-\pgf@temp@a,2)*\pgf@temp@a+3*#3*(1-\pgf@temp@a)*\pgf@temp@a*\pgf@temp@a+#5*pow(\pgf@temp@a,3)}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \pgf@protocolsizes{\pgfutil@tempdimb}{#6}%
+ \fi%
+ \else
+ \ifdim\pgfutil@tempdima<0pt\relax% negative discriminant -> no turning point
+ \else
+ \pgfmathsetmacro{\pgf@temp@a}{min(1,max(0,(\pgf@path@lastx-2*#1+#3-\pgf@temp@c*sqrt(\pgfutil@tempdima))/(\pgf@path@lastx-#5-3*#1+3*#3)))}%
+ \pgfmathparse{\pgf@path@lastx*pow(1-\pgf@temp@a,3)+3*#1*pow(1-\pgf@temp@a,2)*\pgf@temp@a+3*#3*(1-\pgf@temp@a)*\pgf@temp@a*\pgf@temp@a+#5*pow(\pgf@temp@a,3)}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \pgf@protocolsizes{\pgfutil@tempdimb}{#6}%
+ \pgfmathsetmacro{\pgf@temp@a}{min(1,max(0,(\pgf@path@lastx-2*#1+#3+\pgf@temp@c*sqrt(\pgfutil@tempdima))/(\pgf@path@lastx-#5-3*#1+3*#3)))}%
+ \pgfmathparse{\pgf@path@lastx*pow(1-\pgf@temp@a,3)+3*#1*pow(1-\pgf@temp@a,2)*\pgf@temp@a+3*#3*(1-\pgf@temp@a)*\pgf@temp@a*\pgf@temp@a+#5*pow(\pgf@temp@a,3)}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \pgf@protocolsizes{\pgfutil@tempdimb}{#6}%
+ \fi%
+ \fi
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % extrema in y (completely analogous to the above)
+ \pgfmathsetmacro{\pgf@temp@b}{abs(\pgf@path@lasty-#6-3*#2+3*#4)}%
+ \pgfmathsetmacro{\pgf@temp@c}{max(1+\pgf@path@lasty,max(#2,max(#4,#6)))}%
+ \pgfmathparse{((#2/\pgf@temp@c)*(#2/\pgf@temp@c)-1*((#2/\pgf@temp@c)*(#4/\pgf@temp@c))+(#4/\pgf@temp@c)*(#4/\pgf@temp@c)-1*((#2/\pgf@temp@c)*(#6/\pgf@temp@c))+(-(#4/\pgf@temp@c)+(#6/\pgf@temp@c))*(\pgf@path@lasty/\pgf@temp@c))}%
+ \pgfutil@tempdima=\pgfmathresult pt\relax%
+ % ^^^ discriminant
+ \ifdim\pgf@temp@b pt<0.01pt\relax%
+ % approximately linear
+ \pgfmathparse{abs(2*(#2)-2*(#4)+(#6))}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \ifdim\pgfutil@tempdimb<0.1pt\relax%
+ % if the denominator is very small, t is *likely* large but could be 0/0
+ \else
+ \pgfmathsetmacro{\pgf@temp@a}{(2*(#2)-3*(#4)+(#6))/(2*(#2)-2*(#4)+(#6))}%
+ \pgfmathparse{\pgf@path@lasty*pow(1-\pgf@temp@a,3)+3*#2*pow(1-\pgf@temp@a,2)*\pgf@temp@a+3*#4*(1-\pgf@temp@a)*\pgf@temp@a*\pgf@temp@a+#6*pow(\pgf@temp@a,3)}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \pgf@protocolsizes{#5}{\pgfutil@tempdimb}%
+ \fi%
+ \else
+ \ifdim\pgfutil@tempdima<0pt\relax% negative discriminant -> no turning point
+ \else
+ \pgfmathsetmacro{\pgf@temp@a}{min(1,max(0,(\pgf@path@lasty-2*#2+#4-\pgf@temp@c*sqrt(\pgfutil@tempdima))/(\pgf@path@lasty-#6-3*#2+3*#4)))}%
+ \pgfmathparse{\pgf@path@lasty*pow(1-\pgf@temp@a,3)+3*#2*pow(1-\pgf@temp@a,2)*\pgf@temp@a+3*#4*(1-\pgf@temp@a)*\pgf@temp@a*\pgf@temp@a+#6*pow(\pgf@temp@a,3)}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \pgf@protocolsizes{#5}{\pgfutil@tempdimb}%
+ \pgfmathsetmacro{\pgf@temp@a}{min(1,max(0,(\pgf@path@lasty-2*#2+#4+\pgf@temp@c*sqrt(\pgfutil@tempdima))/(\pgf@path@lasty-#6-3*#2+3*#4)))}%
+ \pgfmathparse{\pgf@path@lasty*pow(1-\pgf@temp@a,3)+3*#2*pow(1-\pgf@temp@a,2)*\pgf@temp@a+3*#4*(1-\pgf@temp@a)*\pgf@temp@a*\pgf@temp@a+#6*pow(\pgf@temp@a,3)}%
+ \pgfutil@tempdimb=\pgfmathresult pt\relax%
+ \pgf@protocolsizes{#5}{\pgfutil@tempdimb}%
+ \fi%
+ \fi
+ \pgf@protocolsizes{\pgf@path@lastx}{\pgf@path@lasty}%
+ \pgf@protocolsizes{#5}{#6}%
+ \pgfsyssoftpath@curveto{\the#1}{\the#2}{\the#3}{\the#4}{\the#5}{\the#6}%
+}
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
index cb20507fa04..270d9af8b5c 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
@@ -104,6 +104,9 @@
\let\pgfmathpostparse=\relax%
\pgfmath@catcodes%
\pgfmath@quickparsefalse%
+ \ifpgfmathfloatparseactive\else
+ \pgfmathfloat@parser@install
+ \fi
\pgfmathfloatparse@}%
% for pgf 2.00 :
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
index 6bed3e4721b..81b7d29c37d 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
@@ -361,23 +361,30 @@
\global\advance\pgf@intersect@solutions by1\relax%
\expandafter\global\expandafter\let\csname pgfpoint@g@intersect@solution@\the\pgf@intersect@solutions\endcsname=\pgf@intersect@solution@candidate
\ifpgf@intersect@sort%
+ % save coordinates of the intersection
+ \pgf@process{\pgf@intersect@solution@candidate}%
\pgf@xc=\pgf@x%
\pgf@yc=\pgf@y%
+ % determine length of path
\pgf@process{\pgfpointdiff{\pgfpoint@intersect@start@a}{\pgfpoint@intersect@end@a}}%
\edef\pgf@marshal{%
- \noexpand\pgfmathveclen@{\pgfmath@tonumber{\pgf@xa}}{\pgfmath@tonumber{\pgf@ya}}%
+ \noexpand\pgfmathveclen@{\pgfmath@tonumber{\pgf@x}}{\pgfmath@tonumber{\pgf@y}}%
}%
\pgf@marshal%
\let\pgf@intersect@length@a=\pgfmathresult%
+ % determine distance of intersection from start
\pgf@process{\pgfpointdiff{\pgfpoint@intersect@start@a}{\pgfqpoint{\pgf@xc}{\pgf@yc}}}%
\edef\pgf@marshal{%
\noexpand\pgfmathveclen@{\pgfmath@tonumber{\pgf@x}}{\pgfmath@tonumber{\pgf@y}}%
}%
\pgf@marshal%
+ % scale the distance to the path length (path time)
\pgfmathdivide@{\pgfmathresult}{\pgf@intersect@length@a}%
\pgf@x=\pgfmathresult pt\relax%
+ % advance by the path segment (see definition of \pgf@intersection@store@properties)
\advance\pgf@x by\pgf@intersect@time@offset pt\relax%
\edef\pgf@intersect@time@a{\pgfmath@tonumber{\pgf@x}}%
+ % save numbered
\expandafter\global\expandafter\let\csname pgf@g@intersect@solution@\the\pgf@intersect@solutions @time@a\endcsname=
\pgf@intersect@time@a
\else
diff --git a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
index 479992ad373..d04e75ab238 100644
--- a/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
@@ -85,7 +85,7 @@
\def\pgfdeclarepattern#1{%
\begingroup%
\nullfont%
- \def\pgf@pat@options{#1}%
+ \def\pgf@pat@options{,#1}%
\pgfkeys{/pgf/patterns/.cd,#1}%
\ifx\pgf@pat@name\pgfutil@empty
\pgferror{Declaring unnamed pattern}%
@@ -274,6 +274,183 @@
\pgfsys@setpatternuncolored{#4}{#1}{#2}{#3}%
}%
+% Predefined patterns
+
+\pgfdeclarepattern{
+ name=Lines,
+ parameters={
+ \pgfkeysvalueof{/pgf/pattern keys/distance},
+ \pgfkeysvalueof{/pgf/pattern keys/angle},
+ \pgfkeysvalueof{/pgf/pattern keys/xshift},
+ \pgfkeysvalueof{/pgf/pattern keys/yshift},
+ \pgfkeysvalueof{/pgf/pattern keys/line width},
+ },
+ bottom left={%
+ \pgfpoint
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ top right={%
+ \pgfpoint
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ tile size={%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}},
+ tile transformation={%
+ \pgftransformrotate{\pgfkeysvalueof{/pgf/pattern keys/angle}}%
+ \pgftransformshift{%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/xshift}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/yshift}}}},
+ defaults={
+ distance/.initial=3pt,
+ angle/.initial=0,
+ xshift/.initial=0pt,
+ yshift/.initial=0pt,
+ line width/.initial=\the\pgflinewidth,
+ },
+ code={%
+ \pgfsetlinewidth{\pgfkeysvalueof{/pgf/pattern keys/line width}}%
+ \pgfpathmoveto{\pgfpoint{-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}{0pt}}%
+ \pgfpathlineto{\pgfpoint{.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}{0pt}}%
+ \pgfusepath{stroke}%
+ },
+}
+
+\pgfdeclarepattern{
+ name=Hatch,
+ parameters={
+ \pgfkeysvalueof{/pgf/pattern keys/distance},
+ \pgfkeysvalueof{/pgf/pattern keys/angle},
+ \pgfkeysvalueof{/pgf/pattern keys/xshift},
+ \pgfkeysvalueof{/pgf/pattern keys/yshift},
+ \pgfkeysvalueof{/pgf/pattern keys/line width},
+ },
+ bottom left={%
+ \pgfpoint
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ top right={%
+ \pgfpoint
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ tile size={%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}},
+ tile transformation={%
+ \pgftransformrotate{\pgfkeysvalueof{/pgf/pattern keys/angle}}%
+ \pgftransformshift{%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/xshift}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/yshift}}}},
+ defaults={
+ distance/.initial=3pt,
+ angle/.initial=0,
+ xshift/.initial=0pt,
+ yshift/.initial=0pt,
+ line width/.initial=\the\pgflinewidth,
+ },
+ code={%
+ \pgfsetlinewidth{\pgfkeysvalueof{/pgf/pattern keys/line width}}%
+ \pgfpathmoveto{\pgfpoint{-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}{0pt}}%
+ \pgfpathlineto{\pgfpoint{.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}{0pt}}%
+ \pgfpathmoveto{\pgfpoint{0pt}{-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}}%
+ \pgfpathlineto{\pgfpoint{0pt}{.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}}%
+ \pgfusepath{stroke}%
+ },
+}
+
+\pgfdeclarepattern{
+ name=Dots,
+ parameters={
+ \pgfkeysvalueof{/pgf/pattern keys/distance},
+ \pgfkeysvalueof{/pgf/pattern keys/angle},
+ \pgfkeysvalueof{/pgf/pattern keys/xshift},
+ \pgfkeysvalueof{/pgf/pattern keys/yshift},
+ \pgfkeysvalueof{/pgf/pattern keys/radius},
+ },
+ bottom left={%
+ \pgfpoint
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ top right={%
+ \pgfpoint
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ tile size={%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}},
+ tile transformation={%
+ \pgftransformrotate{\pgfkeysvalueof{/pgf/pattern keys/angle}}%
+ \pgftransformshift{%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/xshift}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/yshift}}}},
+ defaults={
+ distance/.initial=3pt,
+ angle/.initial=0,
+ xshift/.initial=0pt,
+ yshift/.initial=0pt,
+ radius/.initial=.5pt,
+ },
+ code={%
+ \pgfpathcircle%
+ {\pgfpointorigin}%
+ {\pgfkeysvalueof{/pgf/pattern keys/radius}}
+ \pgfusepath{fill}%
+ },
+}
+
+\pgfdeclarepattern{
+ name=Stars,
+ parameters={
+ \pgfkeysvalueof{/pgf/pattern keys/distance},
+ \pgfkeysvalueof{/pgf/pattern keys/angle},
+ \pgfkeysvalueof{/pgf/pattern keys/xshift},
+ \pgfkeysvalueof{/pgf/pattern keys/yshift},
+ \pgfkeysvalueof{/pgf/pattern keys/radius},
+ \pgfkeysvalueof{/pgf/pattern keys/points},
+ },
+ bottom left={%
+ \pgfpoint
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {-.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ top right={%
+ \pgfpoint
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}%
+ {.5*(\pgfkeysvalueof{/pgf/pattern keys/distance})}},
+ tile size={%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/distance}}},
+ tile transformation={%
+ \pgftransformrotate{\pgfkeysvalueof{/pgf/pattern keys/angle}}%
+ \pgftransformshift{%
+ \pgfpoint
+ {\pgfkeysvalueof{/pgf/pattern keys/xshift}}%
+ {\pgfkeysvalueof{/pgf/pattern keys/yshift}}}},
+ defaults={
+ distance/.initial=3mm,
+ angle/.initial=0,
+ xshift/.initial=0pt,
+ yshift/.initial=0pt,
+ radius/.initial=1mm,
+ points/.initial=5,
+ },
+ code={%
+ \pgfmathsetmacro\a{180/(\pgfkeysvalueof{/pgf/pattern keys/points})}%
+ \pgfpathmoveto{\pgfpointpolar{90}{\pgfkeysvalueof{/pgf/pattern keys/radius}}}%
+ \foreach \i in {1,...,\pgfkeysvalueof{/pgf/pattern keys/points}}{%
+ \pgfpathlineto{\pgfpointpolar{90+2*\i*\a-\a}{.5*(\pgfkeysvalueof{/pgf/pattern keys/radius})}}%
+ \pgfpathlineto{\pgfpointpolar{90+2*\i*\a}{\pgfkeysvalueof{/pgf/pattern keys/radius}}}%
+ }%
+ \pgfpathclose%
+ \pgfusepath{fill}%
+ },
+}
%%% Local Variables:
%%% mode: latex
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
index 2dbf154d8be..64dbe2b09a7 100644
--- a/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
@@ -434,7 +434,7 @@
\fi%
\fi%
\else%
- \ifdim\pgfmath@x>0.000244140625pt\relax% 2^-11
+ \ifdim\pgfmath@x>0.00048828125pt\relax% 2^-11
\ifdim\pgfmath@x>0.001953125pt\relax% 2^-9
\ifdim\pgfmath@x>0.00390625pt\relax% 2^-8
\multiply\pgfmath@x by128\relax%
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
index c16d07005d8..e50dfd615e3 100644
--- a/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
@@ -238,7 +238,7 @@
\pgfmath@tokens@make{mathunit}{{mu}}
\pgfmath@tokens@make{numeric}{.0123456789}
\pgfmath@tokens@make{number}{0123456789}
-\pgfmath@tokens@make{functional}{_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ}
+\pgfmath@tokens@make{functional}{_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}
\pgfmath@tokens@make{exponent}{eE}
\pgfmath@tokens@make{group}{{()}{[]}{\pgfmath@bgroup\pgfmath@egroup}}
\pgfmath@tokens@make{specials}{@)]\pgfmath@egroup}
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
index d98ecb25d59..49313e88491 100644
--- a/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
@@ -13,6 +13,48 @@
\def\pgfmathincluded{}
+% Helper macros for \pgfmath@ifregister
+%
+\def\pgfmath@grabv#1#2#3#4#5#6#7\pgfmath@grabv{#2#3#4#5\ifx#6!!\fi}
+\def\pgfmath@ifskip@extract#1{\expandafter\pgfmath@grabv\meaning#1!!!!!!\pgfmath@grabv}
+\def\pgfmath@iftoks@extract#1{\expandafter\pgfmath@grabv\meaning#1!!!!!!\pgfmath@grabv}
+
+\def\pgfmath@grabvi#1#2#3#4#5#6#7#8\pgfmath@grabvi{#2#3#4#5#6\ifx#7!!\fi}
+\def\pgfmath@ifdimen@extract#1{\expandafter\pgfmath@grabvi\meaning#1!!!!!!\pgfmath@grabvi}
+\def\pgfmath@ifcount@extract#1{\expandafter\pgfmath@grabvi\meaning#1!!!!!!\pgfmath@grabvi}
+
+\def\pgfmath@grabvii#1#2#3#4#5#6#7#8#9\pgfmath@grabvii{#2#3#4#5#6#7\ifx#8!!\fi}
+\def\pgfmath@ifmuskip@extract#1{\expandafter\pgfmath@grabvii\meaning#1!!!!!!\pgfmath@grabvii}
+
+% \pgfmath@ifdimen@unguarded
+%
+% Check if #2 is a register of type #1.
+% Credits to Frank: https://tex.stackexchange.com/a/56905
+%
+% #1 register type (count, dimen, skip, muskip, toks)
+% #2 single token
+%
+\def\pgfmath@ifregister@unguarded#1#2{%
+ \expandafter\ifx\csname\csname pgfmath@if#1@extract\endcsname{#2}\expandafter\endcsname\csname #1\endcsname
+ \expandafter\pgfutil@firstoftwo
+ \else
+ \expandafter\pgfutil@secondoftwo
+ \fi}
+
+% \pgfmath@ifregister
+%
+% Checks if a token is a a certain type of register
+%
+% #1 register type (count, dimen, skip, muskip, toks)
+% #2 single token
+%
+\def\pgfmath@ifregister#1#2{%
+ \pgfutil@IfUndefined{pgfmath@if#1@extract}%
+ {\errmessage{Package PGF Math Error: Cannot test for #1 register}}%
+ {\pgfutil@IfUndefined{\csname pgfmath@if#1@extract\endcsname{#2}}%
+ {\pgfutil@secondoftwo}}%
+ {\pgfmath@ifregister@unguarded{#1}{#2}}}
+
% \pgfmath@ensureregister
%
% Ensure a control sequence exists as a TeX count/dimen register.
@@ -21,27 +63,9 @@
% #2 - a control sequence.
%
\def\pgfmath@ensureregister#1#2{%
- \begingroup%
- \setbox0=\hbox\bgroup\begingroup% In case #2 is a defined macro. Unlikely, but you never know...
- \afterassignment\pgfmath@@ensureregister%
- \noexpand#20.0pt\let\pgfmath@temp\relax\relax\pgfmath@#2#1\pgfmath@}
-
-\def\pgfmath@@ensureregister#1#2\pgfmath@#3#4#5\pgfmath@{%
- \endgroup\egroup%
- \endgroup%
- \ifx#4c%
- \ifx#1.% Already a count register.
- \else%
- \csname newcount\endcsname#3% This gets round \outer in plain TeX.
- \fi%
- \else%
- \ifx#4d%
- \ifx\let#1% Already a dimen register.
- \else%
- \csname newdimen\endcsname#3%
- \fi%
- \fi%
- \fi%
+ \pgfmath@ifregister{#1}{#2}%
+ {}%
+ {\csname new#1\endcsname#2}%
}
% Check registers exist. If not, create them.
diff --git a/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex b/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
index 50c0e1e52f7..4f676aeea47 100644
--- a/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
@@ -24,6 +24,9 @@
\let\pgf@matrix@cell=\pgfnodeparttextbox % alias
\let\pgf@matrix@box=\pgf@matrix@cell % alias
+\long\def\pgfmatrixbeforeassemblenode#1{%
+ \long\def\pgf@matrix@before@assemnble@node{#1}}
+\pgfmatrixbeforeassemblenode{}
% Sets the default row or column sep
%
@@ -211,6 +214,11 @@
\egroup\egroup%
\egroup%
%
+ % Inject custom tokens before assembling the node holding the matrix. Can
+ % be used to apply additional settings.
+ %
+ \pgf@matrix@before@assemnble@node
+ %
% If there are named nodes, we must adjust their coordinates.
%
\ifx\pgf@matrix@node@list\pgfutil@empty%
diff --git a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex
index 3528771b1a8..3ac1aba9fce 100644
--- a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex
@@ -410,7 +410,7 @@
\def\pgfparserlet@g
{%
\ifx\pgfparserlet@argb\pgfutil@sptoken
- % will also gobble the \pgfparserlet@c after \fi
+ % will also gobble the \pgfparserlet@h after \fi
\pgfparserlet@gobble@space\pgfparserlet@f
\fi
\pgfparserlet@h
@@ -496,24 +496,40 @@
{}
{\csname \pgfparser@current\space final action\endcsname}%
}
- {%
- \futurelet\pgfparsertoken\pgfparser@getnexttoken@a
- }%
+ {\futurelet\pgfparsertoken\pgfparser@getnexttoken@a}%
}
\pgfutil@protected\def\pgfparser@getnexttoken@a
{%
- \pgfparser@getnexttoken@iftokengobble\bgroup\bgroup
+ % check the problematic categories based on the meaning of the token
+ \edef\pgfparser@tokencategory{\pgfparser@extractmeaning\pgfparsertoken}%
+ \pgfparser@getnexttoken@ifcategory\pgfparser@category@i\bgroup
{%
- \pgfparser@getnexttoken@iftokengobble\egroup\egroup
+ \pgfparser@getnexttoken@ifcategory\pgfparser@category@ii\egroup
{%
- \pgfparser@getnexttoken@iftokengobble\pgfutil@sptoken{ }%
- {\pgfparser@getnexttoken@defchar}%
+ \pgfparser@getnexttoken@ifcategory\pgfparser@category@x{ }%
+ {%
+ \pgfparser@getnexttoken@ifcategory\pgfparser@category@vi{####}%
+ {\pgfparser@getnexttoken@defchar}%
+ }%
}%
}%
}
-\pgfutil@protected\def\pgfparser@getnexttoken@iftokengobble#1#2%
+\begingroup
+\def\pgfparser@extractmeaning#1%
{%
- \ifx\pgfparsertoken#1%
+ \endgroup
+ \def\pgfparser@extractmeaning##1%
+ {\expandafter\pgfparser@extractmeaning@\meaning##1#1#1\pgfparser@mark}%
+ \def\pgfparser@extractmeaning@##1#1##2#1##3\pgfparser@mark{##1#1##2}%
+ }
+\catcode`\ =12\pgfparser@extractmeaning{ } % ends the group
+\edef\pgfparser@category@i{\pgfparser@extractmeaning\bgroup}
+\edef\pgfparser@category@ii{\pgfparser@extractmeaning\egroup}
+\edef\pgfparser@category@vi{\pgfparser@extractmeaning#}
+\edef\pgfparser@category@x{\pgfparser@extractmeaning\pgfutil@sptoken}
+\pgfutil@protected\def\pgfparser@getnexttoken@ifcategory#1#2%
+ {%
+ \ifx\pgfparser@tokencategory#1%
\def\pgfparserletter{#2}%
\pgfparser@getnexttoken@gobble
\fi
diff --git a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
index 78edf01c626..166a5d56405 100644
--- a/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
@@ -532,7 +532,7 @@
% Ok, check whether #1 is known!
\pgfutil@ifundefined{pgf@sh@ns@#1}
{\pgfutil@ifundefined{pgf@sh@ns@not yet positionedPGFINTERNAL#1}{%
- \pgferror{No shape named #1 is known}}{
+ \pgferror{No shape named `#1' is known}}{
% else, fail silently
}%
\pgfpointorigin}%
@@ -597,7 +597,7 @@
\def\pgfpointshapeborder#1#2{%
% Ok, check whether #1 is known!
\pgfutil@ifundefined{pgf@sh@ns@#1}
- {\pgferror{No shape named #1 is known}%
+ {\pgferror{No shape named `#1' is known}%
\pgfpointorigin}%
{%
\pgf@process{%
@@ -823,7 +823,6 @@
\anchor{north}{\centerpoint}%
\anchor{north west}{\centerpoint}%
\anchor{north east}{\centerpoint}%
- \anchor{center}{\centerpoint}%
\anchor{west}{\centerpoint}%
\anchor{east}{\centerpoint}%
\anchor{mid}{\centerpoint}%
diff --git a/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex b/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex
index 714fd17d5da..fd2ec0044b3 100644
--- a/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex
+++ b/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex
@@ -5,10 +5,10 @@
\catcode`\:=12
\catcode`\+=12
\catcode`\-=12
-\gdef\pgfrevision{3.1.4b}
-\gdef\pgfversion{3.1.4b}
-\gdef\pgfversiondatetime{2019-08-03 20:21:02 +1200}
-\gdef\pgfrevisiondatetime{2019-08-03 20:21:02 +1200}
+\gdef\pgfrevision{3.1.5}
+\gdef\pgfversion{3.1.5}
+\gdef\pgfversiondatetime{2019-12-19 19:56:10 +1300}
+\gdef\pgfrevisiondatetime{2019-12-19 19:56:10 +1300}
\gdef\pgf@glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3}
\xdef\pgfversiondate{\expandafter\pgf@glob@TMPa\pgfversiondatetime\relax}
\xdef\pgfrevisiondate{\expandafter\pgf@glob@TMPa\pgfrevisiondatetime\relax}
diff --git a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
index 67b6cd87b3b..b2be0c9110b 100644
--- a/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
+++ b/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
@@ -307,21 +307,12 @@
% Image Mask came from pgfsys-pdftex.def
% generic/pgf/basiclayer/pgfcoreimage.code.tex must be modified!
\def\pgfsys@defineimage{% width, height, page number
- \ifx\includegraphics\undefined
- \ifx\pgf@imagewidth\pgfutil@empty\edef\pgf@imagewidth{1bp}\fi% width?
- \ifx\pgf@imageheight\pgfutil@empty\edef\pgf@imageheight{1bp}\fi% height?
- \ifx\pgf@imagepage\pgfutil@empty\else\edef\pgf@imagepage{ page \pgf@imagepage}\fi%
- \ifx\pgf@imageinterpolate\pgfutil@empty\else\edef\pgf@imageinterpolate{ /Interpolate\space\pgf@imageinterpolate}\fi%
- \ifx\pgf@imagemask\pgfutil@empty\else\xdef\pgf@imagemask{ /SMask @\pgf@imagemask}\fi%
- \edef\pgf@image{\noexpand\hbox to \pgf@imagewidth{\vbox to \pgf@imageheight{\vfil\special{pdf:image width \pgf@imagewidth\space height \pgf@imageheight\space\pgf@imagepage\space(\pgf@filename) <<\pgf@imageinterpolate\pgf@imagemask\space>>}}\hfil}}%
- \else
- \ifx\pgf@imagewidth\pgfutil@empty\else\edef\pgf@imagewidth{width=\pgf@imagewidth,}\fi%
- \ifx\pgf@imageheight\pgfutil@empty\else\edef\pgf@imageheight{height=\pgf@imageheight,}\fi%
- \ifx\pgf@imagepage\pgfutil@empty\else\edef\pgf@imagepage{page=\pgf@imagepage,}\fi%
- \ifx\pgf@imageinterpolate\pgfutil@empty\else\edef\pgf@imageinterpolate{interpolate=\pgf@imageinterpolate,}\fi%
- \ifx\pgf@imagemask\pgfutil@empty\else\xdef\pgf@imagemask{mask=\pgf@imagemask,}\fi%
- \edef\pgf@image{\noexpand\includegraphics[\pgf@imageheight\pgf@imagewidth\pgf@imagepage\pgf@imageinterpolate\pgf@imagemask]{\pgf@filename}}%
- \fi%
+ \ifx\pgf@imagewidth\pgfutil@empty\edef\pgf@imagewidth{1bp}\fi% width?
+ \ifx\pgf@imageheight\pgfutil@empty\edef\pgf@imageheight{1bp}\fi% height?
+ \ifx\pgf@imagepage\pgfutil@empty\else\edef\pgf@imagepage{ page \pgf@imagepage}\fi%
+ \ifx\pgf@imageinterpolate\pgfutil@empty\else\edef\pgf@imageinterpolate{ /Interpolate\space\pgf@imageinterpolate}\fi%
+ \ifx\pgf@imagemask\pgfutil@empty\else\xdef\pgf@imagemask{ /SMask @\pgf@imagemask}\fi%
+ \edef\pgf@image{\noexpand\hbox to \pgf@imagewidth{\vbox to \pgf@imageheight{\vfil\special{pdf:image width \pgf@imagewidth\space height \pgf@imageheight\space\pgf@imagepage\space(\pgf@filename) <<\pgf@imageinterpolate\pgf@imagemask\space>>}}\hfil}}%
}
\def\pgfsys@definemask#1{%
\ifx\pgf@maskmatte\pgfutil@empty%
@@ -377,7 +368,7 @@
% hook for xdvipdfmx:
\def\pgfsys@dvipdfmx@patternobj#1{%
- #1%
+ \pgfutil@insertatbegincurrentpagefrombox{#1}%
}%
% hook for xdvipdfmx:
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
index 2f17652628a..73922a0f097 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
@@ -74,9 +74,9 @@
}
\long\def\pgfkeyssetevalue#1#2{%
- \pgfkeys@temptoks={#2}%
- \pgfkeys@temptoks=\scantokens\expandafter{\expandafter{\the\pgfkeys@temptoks}}%
- \expandafter\edef\csname pgfk@#1\expandafter\endcsname\expandafter{\the\pgfkeys@temptoks}%
+ \edef\pgfkeys@temp##1##2##3##4##5##6##7##8##9{#2}%
+ \pgfkeys@temptoks=\expandafter{\pgfkeys@temp{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}{##9}}%
+ \expandafter\edef\csname pgfk@#1\endcsname{\the\pgfkeys@temptoks}%
}
% Add text to a key at the end
@@ -401,11 +401,11 @@
% - path := '/my search path'
% - name := 'key/.code'
% - key = '/my search path/key/.code'
- \let\pgfkeys@temp=\pgfkeyscurrentkey
+ \let\pgfkeys@tempa=\pgfkeyscurrentkey
\let\pgfkeys@tempb=\pgfkeyscurrentname
\edef\pgfkeyscurrentkey{\pgfkeyscurrentpath}%
\pgfkeys@split@path%
- \let\pgfkeyscurrentkey=\pgfkeys@temp
+ \let\pgfkeyscurrentkey=\pgfkeys@tempa
\edef\pgfkeyscurrentname{\pgfkeyscurrentname/\pgfkeys@tempb}%
\pgfkeys@unknown
}%
@@ -958,6 +958,16 @@
\long\def\pgfkeys@exp@call#1{\pgfkeysalso{\pgfkeyscurrentpath={#1}}}
+\def\pgfkeys@mathparse{%
+ \ifcsname pgfmathparse\endcsname
+ \expandafter\pgfmathparse
+ \else
+ \pgfkeys@error{You have to load `pgfmath' to use \string\pgfmathparse}%
+ \expandafter\def\expandafter\pgfmathresult
+ \fi
+}
+\pgfkeys{/handlers/.evaluated/.code=\pgfkeys@mathparse{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}}
+
% Try to set a key and do nothing if not define
\newif\ifpgfkeyssuccess
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
index 6fbaf2687ba..b1c0546c17e 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
@@ -59,20 +59,16 @@
\fi}
% A variant of \pgfutil@ifundefined which will NOT let #1 to \relax it
-% is undefined. However, this macro is not expandable.
+% is undefined.
\def\pgfutil@IfUndefined#1{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\pgfutil@firstoftwo
- \else
+ \ifcsname#1\endcsname
\expandafter\pgfutil@secondoftwo
+ \else
+ \expandafter\pgfutil@firstoftwo
\fi
}
\long\def\pgfutil@firstofone#1{#1}
\long\def\pgfutil@firstoftwo#1#2{#1}
-\long\def\pgfutil@letfirst#1#2{\pgfutil@letfirst@#1#2\pgfutil@letfirst@end}
-\long\def\pgfutil@letfirst@#1#2#3\pgfutil@letfirst@end{\let#1=#2}
-\def\pgfutil@letfirst@end{}
\long\def\pgfutil@secondoftwo#1#2{#2}
\def\pgfutil@empty{}
\long\def\pgfutil@gobble@until@relax#1\relax{}
@@ -215,6 +211,45 @@
\let\pgfutil@repeat=\fi % this makes \loop...\if...\repeat skippable
+% \pgfutil@switch
+%
+% #1: string to switch on
+% #2: sequence of label-value pairs
+%
+% Example:
+%
+% \pgfutil@switch{foo}{%
+% {foo}{1}%
+% {bar}{2}%
+% {default}{X}%
+% }
+%
+% If a statement with the label `default' exists it will be executed
+% if no other label matches.
+
+\long\def\pgfutil@switch#1#2{%
+ \begingroup
+ \def\pgfutil@switch@selected{}%
+ \pgfutil@switch@collect@statements#2{}{}%
+ \ifcsname pgfutil@switch@choice@\detokenize{#1}\endcsname
+ \expandafter\let\expandafter\pgfutil@switch@selected\csname pgfutil@switch@choice@\detokenize{#1}\endcsname
+ \else
+ \ifdefined\pgfutil@switch@choice@default
+ \let\pgfutil@switch@selected\pgfutil@switch@choice@default
+ \fi
+ \fi
+ \expandafter\endgroup\pgfutil@switch@selected
+}
+
+\long\def\pgfutil@switch@collect@statements#1{%
+ \if\relax\detokenize{#1}\relax
+ \else
+ \afterassignment\pgfutil@switch@collect@statements
+ \expandafter\def\csname pgfutil@switch@choice@\detokenize{#1}\expandafter\endcsname
+ \fi
+}
+
+
% aux-read-hook
\let\pgfutil@aux@read@hook=\relax
@@ -709,7 +744,7 @@
\let\pgfmathresult=\pgfutil@empty
\else
% xb := rb / bb (the modified rb and modified bb!)
- \edef\pgf@marshal{
+ \edef\pgf@marshal{%
\noexpand\pgfmathfloatdivide@
{\csname r\Pb\endcsname}
{\csname m\Pb b\endcsname}%
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
index bf7e43a298c..7d244efc5fa 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
@@ -167,11 +167,12 @@
\def\pgfutil@minipage[#1]#2{%
\hbox to#2\bgroup
\hsize=#2\relax
- \vbox\bgroup\leavevmode
+ \vbox\bgroup
+ \noindentation
}
\def\pgfutil@endminipage{%
- \egroup
+ \egroup
\egroup
}
@@ -225,7 +226,7 @@
\doifmodeelse {mkiv} {
- \def\pgfsysdriver{pgfsys-pdftex.def}
+ \def\pgfutil@guessdriver{\def\pgfsysdriver{pgfsys-luatex.def}}
\def\pgfutil@driver@if@in#1#2{%
\edef\pgf@marshal{\noexpand\pgfutil@in@{#1}{\preloadedspecials}}%
@@ -358,7 +359,7 @@
\appendtoks \the\pgfutil@everybye \to \everybye
-\long\def\AtBeginDocument#1{#1}%
+\long\def\AtBeginDocument#1{\appendtoks#1\to\everystarttext}%
% pgfcalendar uses translations
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
index 090fcaeb5ae..95dacd18a46 100644
--- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
+++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
@@ -26,6 +26,15 @@
\def\pgfutil@emu@rgb#1#2,#3,#4\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#3,#4}}}
\def\pgfutil@emu@gray#1#2\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#2,#2}}}
+\def\pgfutil@emu@RGB#1#2,#3,#4\@nil{%
+ \begingroup
+ \pgfmathdivide@{#2}{255}\let\pgfutil@emu@RGB@r\pgfmathresult
+ \pgfmathdivide@{#3}{255}\let\pgfutil@emu@RGB@g\pgfmathresult
+ \pgfmathdivide@{#4}{255}\let\pgfutil@emu@RGB@b\pgfmathresult
+ \edef\pgf@marshal{\def\expandafter\noexpand\csname\string\color@#1\endcsname{%
+ \noexpand\xcolor@{}{}{rgb}{\pgfutil@emu@RGB@r,\pgfutil@emu@RGB@g,\pgfutil@emu@RGB@b}}}%
+ \expandafter\endgroup\pgf@marshal
+}
\pgfutil@definecolor{white}{gray}{1}
\pgfutil@definecolor{black}{gray}{0}
diff --git a/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex b/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
index a23b9ad6861..370c5ad071d 100644
--- a/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
+++ b/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
@@ -53,13 +53,6 @@
\newif\ifpgfmanualshowlabels
-% FIXME : \cleanedhypertarget/\cleanedhyperlink have been introduced
-% in http://pgf.cvs.sourceforge.net/viewvc/pgf/pgf/latex/pgf/doc/pgfmanual.pdflinks.code.tex?r1=1.15&r2=1.16
-% but they are not present on my (CFR) system... what problem did they
-% address/how can we satisfy this dependency?
-\pgfutil@IfUndefined{cleanedhypertarget}{\let\cleanedhypertarget=\hypertarget}{}
-\pgfutil@IfUndefined{cleanedhyperlink}{\let\cleanedhyperlink=\hyperlink}{}
-
\pgfkeys{%
/codeexample/prettyprint/cs arguments/pgfkeys/.initial=1,
/codeexample/prettyprint/cs/pgfkeys/.code 2 args={\pgfmanualpdfref{#1}{#1}\{\pgfmanualprettyprintpgfkeys{#2}\pgfmanualclosebrace},
@@ -238,9 +231,9 @@
\expandafter\gdef\csname pgfd@lbl@\pgfmanualpdflabel@@\endcsname{w}% 1. remember the label AND remember that we "w"rote it into the pdf.
\edef\pgfmanualpdflabel@@{\pgfkeysvalueof{/pdflinks/internal link prefix}.\pgfmanualpdflabel@@}%
\ifvmode%
- \expandafter\cleanedhypertarget\expandafter{\pgfmanualpdflabel@@}{#2}%
+ \expandafter\hypertarget\expandafter{\pgfmanualpdflabel@@}{#2}%
\else%
- {\setbox0=\hbox{\raise1em\hbox{\expandafter\cleanedhypertarget\expandafter{\pgfmanualpdflabel@@}{}}}\ht0=0pt\box0}#2%
+ {\setbox0=\hbox{\raise1em\hbox{\expandafter\hypertarget\expandafter{\pgfmanualpdflabel@@}{}}}\ht0=0pt\box0}#2%
\fi%
\else
#2%
@@ -287,7 +280,7 @@
}%
\def\pgfmanualpdfref@#1#2{%
\pgfkeysgetvalue{/pdflinks/internal link prefix}\pgfmanual@temp
- \expandafter\cleanedhyperlink\expandafter{\pgfmanual@temp.#1}{\pgfkeysvalueof{/pdflinks/render hyperlink/.@cmd}{#2}\pgfeov}%
+ \expandafter\hyperlink\expandafter{\pgfmanual@temp.#1}{\pgfkeysvalueof{/pdflinks/render hyperlink/.@cmd}{#2}\pgfeov}%
\ifpgfmanualshowlabels
\pgfkeysvalueof{/pdflinks/show labels code/.@cmd}{#1}\pgfeov
\fi
diff --git a/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex b/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
index e8aa334224c..3a230cac233 100644
--- a/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
+++ b/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
@@ -720,7 +720,7 @@
% Collects tokens inside of a token list up to a single delimiting token, dealing with nested
% catcode-12-braces.
%
-% #1: is the end token, the delimiter. It won't be collected.
+% #1: list of tokens, each of which is marking the end. It won't be collected.
% #2: is code to invoke after
% \pgfmanualprettyprinterhandlecollectedargsVtwo has been invoked.
%
@@ -742,8 +742,9 @@
%
\def\pgfmanualprettyprintercollectupto#1#2{%
\pgfmanualprettyprinterarghasunmatchedbracesfalse
+ \def\pgfmanualprettyprinterterminator{}%
\begingroup
- \def\pgfmanual@loc@delimittoken{#1}%
+ \def\pgfmanual@loc@delimittokens{#1}%
\toksdef\t@afterpgfmanualprettyprinterhandlecollected=10
\t@afterpgfmanualprettyprinterhandlecollected={#2}%
%
@@ -758,6 +759,12 @@
\pgfmanual@pretty@collectupto@loop
}%
+% Stores the token that marks the end in the first argument of
+% \pgfmanualprettyprintercollectupto. For example if the token list was {,]}
+% and ] was encountered first, then \pgfmanualprettyprinterterminator will
+% be ].
+\def\pgfmanualprettyprinterterminator{}
+
% loops through all tokens, collecting the required number of
% arguments. This involves to track nested braces manually.
% #1 is a single token.
@@ -794,11 +801,13 @@
\advance\c@pgfmanual@pretty@openbracecount by-1
\t@pgfmanual@currentarg=\expandafter{\the\t@pgfmanual@currentarg#1}%
\else
- \ifx\pgfmanual@loc@TMPc\pgfmanual@loc@delimittoken
+ \expandafter\expandafter\expandafter\pgfutil@in@\expandafter\pgfmanual@loc@TMPc\expandafter{\pgfmanual@loc@delimittokens}%
+ \ifpgfutil@in@
\ifnum\c@pgfmanual@pretty@openbracecount=0
% do NOT include the delimit token.
\edef\pgfmanual@pretty@collectupto@loop@NEXT{%
\noexpand\endgroup
+ \noexpand\def\noexpand\pgfmanualprettyprinterterminator{\pgfmanual@loc@TMPc}%
\noexpand\pgfmanualprettyprinterhandlecollectedargsVtwo{\the\t@pgfmanual@currentarg}{1}%
\noexpand\pgfmanualprettyprintercollectupto@restore@callback
\the\t@afterpgfmanualprettyprinterhandlecollected
@@ -1053,7 +1062,7 @@
\if\pgfmanual@pretty@isconsumed0%
\def\pgfmanualprettyprinterhandlecollectedargsVtwo##1##2{\pgfmanual@pretty@pgfkeys@processvalue{##1}}% the braces will be handled separately.
\def\pgfmanual@pretty@pgfkeys@collectvalue@next{%
- \pgfmanualprettyprintercollectupto,{\afterpgfmanual@pretty@collectargs@finish@value}#1%
+ \pgfmanualprettyprintercollectupto{,]}{\afterpgfmanual@pretty@collectargs@finish@value}#1%
}%
\fi
\fi
@@ -1063,7 +1072,7 @@
\pgfutil@ifnextchar\pgfmanual@EOI{%
\pgfmanual@pretty@pgfkeys@loop
}{%
- \pgfmanual@pretty@pgfkeys@loop,% re-insert the gobbled comma here!
+ \expandafter\pgfmanual@pretty@pgfkeys@loop\pgfmanualprettyprinterterminator% re-insert the gobbled comma here!
}%
}%
diff --git a/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty b/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty
index 4f9d31572f6..75cb9aedb56 100644
--- a/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty
+++ b/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty
@@ -69,6 +69,10 @@
\def\tikz@opt@process#1#2{\tikzexternal@image}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\pgf@marshal{\let\ifmeasuring@\iffalse}
+\ifdefined\ifmeasuring@\else
+ \expandafter\pgf@marshal
+\fi
\def\tikzexternal@image{%
\leavevmode
\begingroup
@@ -80,14 +84,18 @@
\t@tikzexternal@tmpb=\expandafter{\tikzexternal@figurename}%
\count0=\csname c@tikzext@no@\tikzexternal@figurename\endcsname
\xdef\tikzexternal@curfilename{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb\the\count0 }%
- \advance\count0 by1\relax
+ \ifmeasuring@\else
+ \advance\count0 by1\relax
+ \fi
\expandafter\xdef\csname c@tikzext@no@\tikzexternal@figurename\endcsname{\the\count0 }%
\else
\t@tikzexternal@tmpb=\expandafter{\tikzexternal@nextfile}%
\xdef\tikzexternal@curfilename{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb}%
\fi
\endgroup
- \global\let\tikzexternal@nextfile=\empty
+ \ifmeasuring@\else
+ \global\let\tikzexternal@nextfile=\empty
+ \fi
\pgfincludeexternalgraphics\tikzexternal@curfilename
}%
\def\tikzset#1{}\def\pgfkeys#1{}\def\pgfqkeys#1#2{}