texlive[53187] Master/texmf-dist: pgf (19dec19)

commits+karl at tug.org commits+karl at tug.org
Thu Dec 19 23:12:00 CET 2019


Revision: 53187
          http://tug.org/svn/texlive?view=revision&revision=53187
Author:   karl
Date:     2019-12-19 23:11:59 +0100 (Thu, 19 Dec 2019)
Log Message:
-----------
pgf (19dec19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog
    trunk/Master/texmf-dist/doc/generic/pgf/FILES
    trunk/Master/texmf-dist/doc/generic/pgf/extract.lua
    trunk/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
    trunk/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
    trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
    trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
    trunk/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/scripts/pgf/
    trunk/Master/texmf-dist/scripts/pgf/Makefile.pgf_release
    trunk/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/generic/pgf/README-3.0.0

Modified: trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at 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 at 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 at 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 at 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 at 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

Modified: trunk/Master/texmf-dist/doc/generic/pgf/FILES
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/FILES	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/FILES	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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

Deleted: trunk/Master/texmf-dist/doc/generic/pgf/README-3.0.0
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/README-3.0.0	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/README-3.0.0	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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. 

Modified: trunk/Master/texmf-dist/doc/generic/pgf/extract.lua
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/extract.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/extract.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
                     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("##", "#")

Modified: trunk/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at hlink@#1\endcsname\relax%
-    \global\advance\pgfmanualtargetcount by1\relax%
-    \expandafter\xdef\csname pgfmanual at hlink@#1\endcsname{pgfmanual-pos-\the\pgfmanualtargetcount}%
-  \fi%
-}
-\def\cleanedhypertarget#1#2{% necessary for dvisvgm
-  \cleanuplink{#1}%
-  \hypertarget{\csname pgfmanual at hlink@#1\endcsname}{#2}%
-}
-\def\cleanedhyperlink#1#2{%
-  \cleanuplink{#1}%
-  \hyperlink{\csname pgfmanual at 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 at temp\csname manual at action@#1\endcsname
   \ifx\pgf at temp\relax\else
@@ -1833,7 +1824,7 @@
         \ifx\code at preamble\pgfutil at empty\else
           \pgfutil at tempdima=\hsize
           \vbox{\hsize=\pgfutil at tempdima
-              \scriptsize\detokenize\expandafter{\code at preamble}}%
+              \raggedright\scriptsize\detokenize\expandafter{\code at preamble}}%
         \fi
         \pgfkeysvalueof{/codeexample/typeset listing/. at cmd}{#1}\pgfeov
       }%

Modified: trunk/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -348,7 +348,7 @@
 
     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 @@
 \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 @@
     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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -32,7 +32,10 @@
 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 @@
 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 @@
 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 @@
     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 @@
         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 @@
     \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 @@
     \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 @@
     \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 @@
     \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 @@
     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 @@
     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 @@
     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,7 +567,7 @@
     |\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" }
@@ -546,7 +574,7 @@
     \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 @@
     (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 @@
 \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 @@
 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 @@
 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 @@
   \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 @@
   \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 @@
 (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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
 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 @@
 \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 @@
 }
 \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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
 \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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
         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 @@
         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 @@
 
     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 @@
 }
 \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 @@
     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 @@
     ``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 @@
   \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 @@
     \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 @@
         \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 @@
             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 @@
             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 @@
   \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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -567,10 +567,66 @@
   },
   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 @@
     |\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 at gobble\expandafter\expandafter\expandafter\string\expandafter\csname#1\endcsname}
-    }
+    }%
+\end{codeexample}
+%
 \begin{codeexample}[]
 \pgfarrowsthreeparameters{2pt 1}
 \showvalueofmacro\pgfarrowstheparameters

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -31,7 +31,7 @@
 \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 @@
                 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 @@
                 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 @@
         .. 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 @@
         \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 @@
 
         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 @@
     \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 @@
     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 @@
     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 @@
     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 @@
 
     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]
   {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -257,8 +257,8 @@
     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:
     %

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -159,7 +159,7 @@
     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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -235,8 +235,8 @@
             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

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -212,7 +212,7 @@
     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 @@
     |\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 @@
     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 @@
         |\pgfpointshapeborder| command, the \meta{code} will be executed to
         discern this point. When the execution of  the \meta{code} starts, the
         dimensions |\pgf at x| and |\pgf at 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 at x| and |\pgf at 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 at x| and |\pgf at 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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -93,7 +93,7 @@
     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 @@
     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 @@
     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 @@
     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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -534,7 +534,7 @@
     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
 {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -103,6 +103,7 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -216,7 +216,7 @@
 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 @@
     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

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -806,6 +806,7 @@
 
 \subsubsection{Installing Nonlinear Transformation}
 
+\begin{codeexample}[setup code,hidden]
 \makeatletter
 \def\polartransformation{
   % \pgf at x will contain the radius
@@ -817,6 +818,7 @@
   \pgf at y=\pgfmathresulty\pgf at 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 @@
     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 @@
         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 @@
             (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 @@
 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 @@
             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 @@
     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 @@
     |\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 @@
 \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 @@
     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 @@
 \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);
   {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -218,7 +218,9 @@
 \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 @@
     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 @@
     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);
 

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -98,9 +98,11 @@
 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 @@
 
     \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)}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -179,7 +179,7 @@
     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 @@
     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 @@
   };
 \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 @@
     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 @@
         %
         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 @@
         %
         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 @@
     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 @@
     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 @@
   };
 \end{codeexample}
     %
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.polar}}]
 \tikz \datavisualization
     [new polar axes,
      angle axis={degrees},
@@ -532,7 +535,7 @@
     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 @@
     };
 \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 @@
     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 @@
       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 @@
     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 @@
     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 @@
     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 @@
         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 @@
 
 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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     $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 @@
     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 @@
     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 @@
     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 @@
         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 @@
         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 @@
     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 @@
     |/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 @@
     |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 @@
 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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     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 @@
     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 @@
     %
     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 @@
     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 @@
 \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 @@
 \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 @@
     \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 @@
     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 @@
 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 @@
 \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 @@
     \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 @@
         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 @@
     \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 @@
 \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 @@
     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 @@
 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 @@
     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 @@
     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 @@
     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 @@
 
 \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 @@
 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 @@
   };
 \end{codeexample}
 
+\begin{codeexample}[setup code,hidden]
 \tikzdatavisualizationset{
   our system/.style={
     new Cartesian axis=x axis,
@@ -2755,7 +2789,9 @@
     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 @@
                 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 @@
     \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 @@
     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 @@
         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 @@
     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 @@
         (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,9 +3110,32 @@
         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},
     left axis= {visualize axis={x axis=   {goto=padded min}, padded}},
     right axis={visualize axis={x axis=   {goto=padded max}, padded}},
@@ -3128,7 +3233,7 @@
     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 @@
   };
 \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 @@
     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 @@
 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 @@
     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 @@
             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 @@
             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 @@
         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 @@
     \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 @@
     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 @@
     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 @@
 }}
 \end{codeexample}
 
-\tikzdatavisualizationset{
+\begin{codeexample}[
+    preamble={\usetikzlibrary{datavisualization}},
+    pre={\tikzdatavisualizationset{
   our system/.style={
     % The axes
     new Cartesian axis=x axis,
@@ -3620,9 +3727,7 @@
       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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
   };
 \end{tikzpicture}
 \end{codeexample}
-\begin{codeexample}[]
+%
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
 \begin{tikzpicture}[baseline]
   \datavisualization [
     scientific axes=clean,
@@ -58,9 +59,9 @@
     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 @@
 \end{codeexample}
 
 
-%%% Local Variables: 
+%%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"
-%%% End: 
+%%% End:

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -120,7 +120,7 @@
         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 @@
         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 @@
     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 @@
     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 @@
     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 @@
         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 @@
     };
 \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 @@
 };
 \end{codeexample}
         %
-\begin{codeexample}[width=7cm]
+\begin{codeexample}[
+    width=7cm,
+    preamble={\usetikzlibrary{datavisualization.formats.functions}},
+]
 \tikz \datavisualization [
   scientific axes=clean,
   y axis={ticks={style={

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -117,7 +117,7 @@
 |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 @@
 \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] {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -75,7 +75,7 @@
 
 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 @@
 \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 @@
 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 @@
 \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. 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 @@
 \end{tikzpicture}
 \end{codeexample}
 %
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{datavisualization.formats.functions}}]
 \begin{tikzpicture}
   \datavisualization [
     scientific axes=clean,
@@ -275,7 +275,7 @@
 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 @@
   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 @@
     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 @@
     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 @@
     ``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 @@
 
     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 @@
     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 @@
     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] {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -23,7 +23,13 @@
 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 @@
 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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     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 @@
     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 @@
     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 @@
     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},

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -71,7 +71,7 @@
 
 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 @@
 };
 \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 @@
 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 @@
 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 @@
 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 @@
     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 @@
 
 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 @@
   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 @@
 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 @@
 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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     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 @@
 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 @@
 \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 @@
 \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 @@
 \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 @@
     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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
     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 @@
         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 @@
         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 @@
         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 @@
     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 @@
         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 @@
     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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
     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 @@
 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};
 \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 @@
     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};
 \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};
 \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 @@
     |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 @@
 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};
 \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 @@
 \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};
 \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};
 \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 @@
     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 @@
 \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 @@
     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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
     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 @@
 \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 @@
 \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 @@
     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 @@
     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 @@
 \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 @@
     |/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 @@
     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 @@
 \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 @@
     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 @@
 \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 @@
     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 @@
                 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 @@
     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=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 @@
     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 @@
     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 @@
 
     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 @@
 
     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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 \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}},

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -70,7 +70,7 @@
 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 @@
 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 @@
 \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 @@
 ``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 @@
     |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 @@
     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 @@
     (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 @@
     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 @@
             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 @@
         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 @@
 \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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
 
 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 @@
   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},

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -509,7 +509,7 @@
 
 \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

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -106,7 +106,7 @@
 \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;

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -36,7 +36,8 @@
 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 @@
 };
 \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 @@
 
 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 @@
 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 @@
 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 @@
 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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -45,7 +45,7 @@
 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 @@
 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 @@
 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 @@
 \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 @@
         \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 @@
     |{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 @@
     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 @@
     %
     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 @@
     %
     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}
     %

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -89,7 +89,8 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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} };
 

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
 \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 @@
 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 @@
         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 @@
     \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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
     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 @@
 
 \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 @@
 \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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
 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 @@
     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 @@
 \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 @@
     |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 @@
         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 @@
         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 @@
 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 @@
 
 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$};

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -30,7 +30,7 @@
     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 @@
         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 @@
     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 @@
         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 @@
         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 @@
     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 @@
     \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 @@
     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 @@
     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 @@
     \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 @@
         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 @@
     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]

Added: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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:


Property changes on: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -101,7 +101,7 @@
     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 @@
         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 @@
         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 @@
     \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 @@
     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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         |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 @@
     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 @@
         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 @@
     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 @@
     %
     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 @@
     |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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 \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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 \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,7 +785,7 @@
     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,
@@ -792,7 +792,7 @@
              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 @@
     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 @@
 \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 @@
     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 @@
 \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 @@
 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 @@
 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 @@
 
 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 @@
 
 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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -74,7 +74,7 @@
     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 @@
 \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 @@
 \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 @@
     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 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 @@
             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 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 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 @@
 
     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 @@
     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 @@
     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 @@
     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 @@
             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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -22,11 +22,23 @@
 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 @@
 \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 @@
                 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 @@
 |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 @@
 \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 @@
 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 @@
     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 @@
     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 @@
     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,7 +471,7 @@
     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);
@@ -465,7 +478,7 @@
   \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 @@
         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 @@
         \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 @@
         \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 @@
         \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 @@
         \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
   {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 @@
     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 @@
 \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 @@
         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 @@
             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 @@
             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 @@
 
             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 @@
             %
             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 @@
 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 @@
 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 @@
         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 @@
 \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 @@
 
         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 @@
 \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 @@
         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 @@
     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 @@
         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 @@
         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 @@
         \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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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,7 +1618,7 @@
     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}
 
@@ -1601,7 +1625,7 @@
     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}
 
@@ -1608,7 +1632,7 @@
     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 @@
     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 @@
             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 @@
     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 @@
 \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 @@
     %
     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 @@
     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 @@
         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 @@
     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 @@
     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 @@
     |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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -131,7 +131,7 @@
     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 @@
         |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 @@
             $[-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 @@
         \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 @@
             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,7 +246,7 @@
     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);
@@ -253,7 +253,7 @@
 \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 @@
         \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 @@
             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 @@
 \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 @@
     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 @@
         \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 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 @@
             ``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 @@
             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 @@
         \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 @@
         \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 @@
     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 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 @@
 
     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 @@
 
     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 @@
     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 @@
         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 @@
         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 @@
 
     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 @@
         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 @@
         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 @@
         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 @@
         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 @@
 
         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 @@
 \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 @@
     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 @@
 \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 @@
     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 @@
         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 @@
         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 @@
         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 @@
     \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 @@
         \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 @@
         \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,7 +1113,7 @@
     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);
@@ -1122,7 +1120,7 @@
 \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 @@
     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 @@
     |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 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 @@
         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 @@
         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 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 @@
         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 @@
     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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         (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 @@
         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 @@
     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 @@
 \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 @@
     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 @@
 
     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 @@
         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 @@
     \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 @@
     \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 @@
         \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 @@
         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 @@
         \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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
         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 @@
     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 @@
         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 @@
         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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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) }};

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -129,7 +129,7 @@
         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$};

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -34,7 +34,7 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
 \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 @@
     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},

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
     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 @@
 \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 @@
     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 @@
 \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.

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -38,7 +38,7 @@
     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 @@
     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 @@
 
     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 @@
     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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -86,7 +86,7 @@
     |*| 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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
 
     Here is a simple example:
     %
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
 \tikz \pic [
   transform shape,
   folding line length=6mm,
@@ -99,7 +102,7 @@
     \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
 \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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
     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 @@
     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 @@
 
     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 @@
     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 @@
     \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 @@
     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 @@
 
 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 @@
         \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 @@
     $\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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -25,7 +25,10 @@
 In \pgfname, L-systems can be used to create simple 2-dimensional fractal
 patterns\ldots
 %
-\begin{codeexample}[pre={\expandafter\let\csname pgf at lsystem@Koch curve\endcsname=\relax}]
+\begin{codeexample}[
+    preamble={\usetikzlibrary{lindenmayersystems}},
+    pre={\expandafter\let\csname pgf at lsystem@Koch curve\endcsname=\relax},
+]
 \begin{tikzpicture}
 \pgfdeclarelindenmayersystem{Koch curve}{
   \rule{F -> F-F++F-F}
@@ -39,7 +42,7 @@
 %
 \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 @@
     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 at lsystem@Hilbert curve\endcsname=\relax}]
+\begin{codeexample}[
+    preamble={\usetikzlibrary{lindenmayersystems}},
+    pre={\nullfont\expandafter\let\csname pgf at lsystem@Hilbert curve\endcsname=\relax},
+]
 \pgfdeclarelindenmayersystem{Hilbert curve}{
   \symbol{X}{\pgflsystemdrawforward}
   \symbol{+}{\pgflsystemturnright} % Explicitly define + and - symbols.
@@ -268,7 +274,7 @@
     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 @@
     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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -50,7 +50,7 @@
     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 @@
 \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 @@
 \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 @@
 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 @@
 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 @@
 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 @@
     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 @@
 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 @@
     \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 @@
     |(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 @@
     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 @@
     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 @@
             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 @@
         \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 @@
             |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 @@
     \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 @@
     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 @@
     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 @@
 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{

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -31,7 +31,7 @@
     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 @@
         \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 @@
             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 @@
             is an extra column skip.
             %
 {\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
 \begin{tikzpicture}
   \matrix [matrix of nodes]
   {
@@ -103,7 +103,7 @@
             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 @@
     on in all nodes.
     %
 {\catcode`\|=12
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
 \begin{tikzpicture}
   \matrix [matrix of math nodes]
   {
@@ -140,7 +140,7 @@
     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 @@
 \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 @@
 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 @@
   };
 \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 @@
 \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 @@
     |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 @@
 \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 @@
     \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 @@
     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,%

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -25,7 +25,7 @@
 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 @@
     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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 
     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 @@
     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 @@
 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 @@
 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 @@
 
     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 @@
     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 @@
     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 |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-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,8 +420,8 @@
 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
@@ -428,7 +428,7 @@
     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 @@
 
 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 @@
     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}]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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:
+    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/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/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/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/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/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/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/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/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 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/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/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}
-    %
+    \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 @@
 \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/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/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 @@
 
 \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 @@
 }
 
 \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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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,17 +148,12 @@
     -- (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)\})}
@@ -154,12 +160,14 @@
   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.
   %
@@ -166,7 +174,8 @@
   \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 @@
   \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 @@
 
     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 @@
   \simpleaxes{2}{2}{2}
 \end{tikzpicture}
 \end{codeexample}
-\begin{codeexample}[]
+    %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
 \begin{tikzpicture}[
   3d view,
   perspective={
@@ -203,7 +215,8 @@
   \simpleaxes{2}{2}{2}
 \end{tikzpicture}
 \end{codeexample}
-\begin{codeexample}[]
+    %
+\begin{codeexample}[preamble={\usetikzlibrary{perspective}}]
 \begin{tikzpicture}[
   3d view,
   perspective={
@@ -212,12 +225,14 @@
   \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 @@
   \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,17 +257,21 @@
   \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
@@ -257,12 +278,15 @@
     \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 @@
 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 @@
 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 @@
 
 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 @@
 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 @@
   \end{scope}
 \end{tikzpicture}
 \end{codeexample}
-\fi
\ No newline at end of file
+\fi

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -26,7 +26,7 @@
     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 @@
         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 @@
     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 @@
     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 @@
 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 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 @@
     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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 
 \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}]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -151,7 +151,7 @@
 \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 @@
     |\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}|.

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -566,7 +566,7 @@
 
 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 @@
 \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] {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -42,7 +42,7 @@
             \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 @@
         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 @@
         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 @@
     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 @@
 \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 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 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 @@
     arbitrarily (give it a try, if you have a fast computer).
     %
 \pgfutil at 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 @@
         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 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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
     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 @@
     \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 @@
     \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,12 +108,12 @@
   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};
@@ -120,7 +120,7 @@
 \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 @@
     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 @@
     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 @@
     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 @@
   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 @@
   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 @@
 \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 @@
 \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 @@
     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}]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -27,7 +27,7 @@
 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 @@
     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 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 @@
     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 @@
     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 @@
     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 @@
     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 @@
         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 @@
         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 @@
         \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 @@
     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 @@
     |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 @@
     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 @@
     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 @@
     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 @@
     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 @@
         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 @@
     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 @@
         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 @@
         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 @@
     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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
         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 @@
       |\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 @@
     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 @@
     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 @@
     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 @@
         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 @@
     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 @@
         |\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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
         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 @@
         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 @@
     \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 @@
     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 @@
     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 @@
         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 @@
         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 @@
     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 @@
     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 @@
     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 @@
         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 @@
         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 @@
     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 @@
     (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 @@
     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 @@
         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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
         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 @@
         |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 @@
         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 @@
         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 @@
         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 @@
     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 @@
 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 @@
 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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
     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,7 +2082,7 @@
 
     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}
 
@@ -2089,7 +2089,7 @@
     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 @@
     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 @@
 \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 @@
         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 @@
         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 @@
     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 @@
 \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 @@
     \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 @@
         \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 @@
         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 @@
     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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -24,7 +24,7 @@
 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 @@
 \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 @@
     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 @@
             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 @@
             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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
 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 @@
 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={

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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$};

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -41,7 +41,7 @@
     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 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 @@
 
     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 @@
     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 @@
 
     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 @@
     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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
     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 @@
         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 @@
 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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -50,7 +50,7 @@
             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 @@
   \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 @@
     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 @@
     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 = {
   }}] {

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -12,6 +12,7 @@
 
 % The titlepage
 
+\pgfmathsetseed{1}
 \newbox\mybox
 {
   \parindent0pt
@@ -284,8 +285,8 @@
 
 \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 @@
 \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 @@
 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 @@
 
 \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 @@
 \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 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at a{#3}%
+  \expandafter\ifx\csname #1@#2\endcsname\reserved at a\else
+    \typeout{^^JLabel `#2' changed:^^J\meaning\reserved at a^^J\expandafter\meaning\csname #1@#2\endcsname^^J}%
+    \@tempswatrue
+  \fi}
+\makeatother
 
 %% -----------------------------------------------------------------------------
 %\includeonly{

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -188,7 +188,7 @@
     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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -290,8 +290,8 @@
     |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 @@
 \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 @@
     \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 @@
         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 @@
 
 \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 @@
     |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}
 
 

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -274,7 +274,7 @@
 
     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 @@
     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 @@
     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 @@
     \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}
     %

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
   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 @@
   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 @@
   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 @@
   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 @@
 
 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}} }%

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -306,6 +306,10 @@
 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,7 +384,7 @@
     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}
     %
@@ -387,7 +391,7 @@
     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 @@
     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 @@
     %
     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 @@
     %
     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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -277,7 +277,7 @@
 
 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 @@
 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 @@
     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 @@
     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 @@
 
 \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 @@
 
 \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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -25,6 +25,7 @@
 |\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 @@
     /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),

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
     %
     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 @@
             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 @@
 
     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 @@
 
     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 @@
 
     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 @@
     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 @@
 
     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 @@
 
     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 @@
 
     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 at moveto{1cm}{0cm}%
@@ -396,7 +422,7 @@
             |\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 @@
         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 at marker@declare\mymarker{%
   \pgfscope%
@@ -503,7 +533,10 @@
 
     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 @@
 
     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 @@
 }
 \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 @@
 }
 \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 @@
     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 @@
     \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,19 +694,31 @@
     \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 at transformshift{10mm}{0mm}}
 {\pgfsys at 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 at transformcm{0.5}{0.5}{-0.5}{0.5}
                     {0pt}{0pt}}
@@ -669,7 +725,11 @@
 {}
 \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 at transformcm{0.5}{0.5}{-0.5}{0.5}
                     {0pt}{0pt}}
@@ -685,7 +745,10 @@
 
     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 @@
 
     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 @@
 
     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 @@
 
     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 @@
         simply be executed and must call |\pgfsys at 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 at movetotoken{0pt}{0pt}
@@ -829,7 +904,10 @@
         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 @@
 
     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 @@
     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 @@
 \begin{command}{\pgfsys at animation@repeat at 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 @@
     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 @@
     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 @@
             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 @@
   \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 @@
   \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 @@
   \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 @@
   \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 @@
     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 @@
     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 @@
     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 @@
 \begin{command}{\pgfsys at animation@restart at 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 @@
 \begin{command}{\pgfsys at animation@restart at 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 @@
     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 @@
 \begin{command}{\pgfsys at 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 @@
     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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -126,8 +126,8 @@
     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 at definecolor} which can be
@@ -364,12 +364,12 @@
 \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 @@
     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 @@
 ``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 @@
     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,7 +736,7 @@
     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);
@@ -734,7 +743,7 @@
 \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 @@
 \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 @@
     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 @@
     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 @@
 
     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 @@
 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 @@
 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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -24,7 +24,12 @@
 \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 @@
 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 @@
     \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     |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 @@
   \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 @@
     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 @@
     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 @@
     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 @@
 
         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 @@
     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 @@
 \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 @@
 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 @@
 %
 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 @@
 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 @@
 
 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 @@
 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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     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 @@
     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 @@
 \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 @@
             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 @@
 
     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 @@
 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 @@
 \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 @@
     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 @@
 \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 @@
     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 @@
         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 @@
     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 @@
 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 @@
 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 @@
     |(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 @@
     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 @@
 }
 \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 @@
 \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 @@
     %
     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 @@
     |: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 @@
     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 @@
     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 @@
     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 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 @@
     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 @@
     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 @@
         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 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 @@
             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 @@
             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 @@
             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 @@
             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 @@
             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 @@
             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 @@
             |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 @@
             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 @@
         \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 @@
         \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 @@
         \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 @@
     \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 @@
         \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 @@
             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 @@
             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 @@
     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 @@
 }
 \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 @@
 }
 \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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     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 @@
         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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -20,7 +20,7 @@
 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 @@
     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 @@
     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 @@
 % 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 @@
 
 \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 @@
     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 @@
     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 @@
             ``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 @@
             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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     ``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 @@
 \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 @@
     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 @@
     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 @@
 
     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 @@
     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 @@
 \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 @@
     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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
 
     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 @@
 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 @@
 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 @@
     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 @@
             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 @@
     |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 @@
         (-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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
         (-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 @@
         (-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 @@
 \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 @@
     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 @@
     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 @@
 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 @@
     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 @@
 \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 @@
     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,7 +1681,7 @@
 
     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}
 
@@ -1680,7 +1688,7 @@
 \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,7 +1703,15 @@
     %
 \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 @@
         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 @@
 \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 @@
 \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 @@
     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 @@
     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 @@
 \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 @@
     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 @@
 {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 @@
     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 @@
 {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 @@
     %
     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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -380,7 +380,7 @@
     \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 @@
         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 @@
     |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 @@
 
     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 @@
         \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 @@
     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 @@
     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 @@
         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 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 @@
         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 @@
         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 @@
 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 @@
 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 @@
 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 @@
 
 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 @@
 \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 @@
 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 @@
 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 @@
 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 @@
 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);
 

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 @@
 \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 @@
 \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 @@
 \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 @@
 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 @@
 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 @@
         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 @@
         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 @@
   (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 @@
 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 @@
     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 @@
 
     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 @@
         |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 @@
 
             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 @@
             |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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 
 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}}]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -171,11 +171,11 @@
 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 @@
 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} }
 };

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -26,11 +26,11 @@
 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 @@
 };
 \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 @@
   };
 \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 @@
   };
 \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 @@
 \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 @@
 \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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 ``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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
         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 @@
         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 @@
         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 @@
         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 @@
     \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 @@
 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 @@
 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 @@
 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 @@
 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 @@
     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 @@
     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 @@
             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 @@
 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 @@
 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 @@
     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 @@
     \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 @@
             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 @@
             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 @@
 \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 @@
             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 @@
         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 @@
         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 @@
             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 @@
             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 @@
 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 @@
 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 @@
 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 @@
 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 @@
     %
     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 @@
     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 @@
     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 @@
     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 @@
 
     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 @@
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 
 \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 @@
 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 @@
 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 @@
 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 @@
 \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 @@
 
 Consider the following tree-like graph:
 %
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
 \tikz \graph { a -> {b,c} };
 \end{codeexample}
 
@@ -1676,7 +1680,7 @@
 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 @@
 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 @@
 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 @@
 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 @@
     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 @@
     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 @@
     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 @@
         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 @@
     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 @@
     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 @@
             |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 @@
 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 @@
 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 @@
     %
     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 @@
         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 @@
 };
 \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 @@
         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 @@
         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 @@
         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 @@
     \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 @@
     \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 @@
     \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 @@
     \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 @@
         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 @@
         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 @@
 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 @@
             \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 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 @@
     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 @@
     %
     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 @@
 
     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 @@
 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 @@
 \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 @@
     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 @@
         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 @@
         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 @@
 
     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 @@
         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 @@
         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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
     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 @@
 
 \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 @@
 
 \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 @@
 
 \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 @@
     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 @@
     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 @@
     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,7 +2833,7 @@
 
 \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}
 %
@@ -2835,7 +2840,8 @@
 \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 @@
     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 @@
 
 \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 @@
 
 \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 @@
         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 @@
         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 @@
 };
 \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 @@
         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 @@
         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 @@
     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 @@
     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 @@
     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 @@
 };
 \end{codeexample}
     %
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
 \tikz \graph [
   branch down=5mm,
   level 1/.style={grow right=2cm},
@@ -3086,7 +3092,7 @@
 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 @@
     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 @@
     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 @@
     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 @@
 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 @@
     (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 @@
         |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 @@
     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 @@
     $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 @@
     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 @@
 \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 @@
     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 @@
 \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 @@
 \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 @@
         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 @@
 %  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 @@
     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 @@
 };
 \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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,7 +3589,7 @@
     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]
@@ -3589,7 +3596,7 @@
                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 @@
     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 @@
     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 @@
     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 @@
     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}]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -68,6 +68,11 @@
     \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 @@
         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 @@
 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 @@
 \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 @@
 \end{tikzpicture}
 \end{codeexample}
 
-\begin{codeexample}[]
+\begin{codeexample}[preamble={\usetikzlibrary{matrix}}]
 \begin{tikzpicture}
   \matrix (network)
     [matrix of nodes,%
@@ -688,7 +701,7 @@
 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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -94,24 +94,25 @@
     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 @@
   \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 @@
 
 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 @@
     \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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
 \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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -46,7 +46,13 @@
     \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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     \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 @@
     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 @@
     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 @@
     \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 @@
     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 @@
     %
     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 @@
 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)

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -715,7 +715,7 @@
 \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 @@
 \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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -106,8 +106,8 @@
     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 @@
         $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 @@
         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 @@
 \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 @@
     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]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -175,7 +175,7 @@
         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 @@
     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 @@
     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 @@
     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 @@
 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 @@
 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 @@
 `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 @@
     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 @@
         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 @@
 
     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 @@
             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,7 +1440,7 @@
         \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|.
@@ -1447,7 +1447,7 @@
 
             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 @@
             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 @@
                 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 @@
         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 @@
     %
     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 @@
 \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 @@
 \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 @@
     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 @@
 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 @@
 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 @@
     \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 @@
     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 @@
     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 @@
 \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 @@
 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 @@
 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 @@
     \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 @@
 
 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 @@
 |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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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,7 +2789,7 @@
     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}
 
@@ -2790,7 +2796,7 @@
     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 @@
     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 @@
 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 @@
 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,

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -424,8 +424,8 @@
     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 @@
     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 @@
     %
     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 @@
 \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 @@
     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 @@
         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 @@
     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 @@
     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 @@
 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 @@
     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 @@
     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 @@
 
     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 @@
 \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 @@
 \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 @@
     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 @@
     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};

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -141,7 +141,7 @@
 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}}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -36,6 +36,7 @@
 \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 @@
 
 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 @@
 ``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 @@
 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 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 |\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 @@
 
 \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 @@
 
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
   \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 @@
 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 @@
   \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 @@
 
 \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$}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -21,39 +21,37 @@
 \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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 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 @@
 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 @@
 \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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 \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 @@
 \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 @@
 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 @@
 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 @@
 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 @@
 |\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 @@
   % 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 @@
     (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 @@
 |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 @@
 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 @@
 \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 @@
 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 @@
 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 @@
 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 @@
 % 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)}}]

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -164,35 +164,38 @@
 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={
+\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]
   \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]
-  \node {Computational Complexity} % root
-    child { node {Computational Problems}
       child { node {Problem Measures} }
       child { node {Problem Aspects} }
       ... % as before
@@ -224,7 +227,34 @@
 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={
+\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},
@@ -231,30 +261,6 @@
        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},
-       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} }
       ... % as before
@@ -292,45 +298,49 @@
 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={
+\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},
        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},
-       level 2/.append style={level distance=3cm,sibling angle=45}]
-  \node [root concept] {Computational Complexity} % root
     child { node {Computational Problems}
       child { node {Problem Measures} }
       child { node {Problem Aspects} }
@@ -350,7 +360,49 @@
 each node, he uses the |execute at begin node| option to make \tikzname\ insert
 this text with every node.
 %
-\begin{codeexample}[render instead={
+\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},
@@ -363,45 +415,6 @@
     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},
-   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} }
       ... % as before
 \end{tikzpicture}
 \end{codeexample}
@@ -434,53 +447,57 @@
 with a thick black line and the children are connected to the central concept
 via bars.
 %
-\begin{codeexample}[render instead={
+\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},
    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},
-   root concept/.append style={
      concept color=black, fill=white, line width=1ex, text=black},
    text=white,
    grow cyclic,
@@ -517,55 +534,59 @@
 |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{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},
-   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},
     root concept/.append style={
       concept color=black, fill=white, line width=1ex, text=black, font=\large\scshape},
@@ -602,7 +623,7 @@
 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,69 +643,73 @@
 ...
 \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{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.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}[
      every node/.style={concept, circular drop shadow, ...}] % as before
@@ -717,6 +742,7 @@
 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 @@
   };
 }
 \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,60 +768,75 @@
   };
 }
 
-\begin{codeexample}[render instead={
+\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.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}[
      every node/.style={concept, circular drop shadow, ... % as before
@@ -839,7 +882,7 @@
 
 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 @@
 |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 @@
 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 @@
 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 @@
     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}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -30,7 +30,7 @@
 %
 \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 @@
 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 @@
 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 @@
   \node[transition] (enter critical) at (-1,1) {};
 \end{tikzpicture}
 \end{codeexample}
-}
 
 
 \subsection{Placing Nodes Using Relative Placement}
@@ -457,12 +454,7 @@
 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 @@
   \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 @@
 \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 @@
   \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 @@
         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 @@
   \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 @@
         |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 @@
   \node[transition] (enter critical) [left=of critical]  {};
 \end{tikzpicture}
 \end{codeexample}
-}
 \end{enumerate}
 
 
@@ -590,12 +564,7 @@
 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 @@
   \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 @@
                             .. (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 @@
 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 @@
                        .. (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 @@
 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 @@
   \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 @@
   \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 @@
 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 @@
     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 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 @@
     edge [post,bend right] (semaphore);
 \end{tikzpicture}
 \end{codeexample}
-}
 
 
 \subsection{Adding Labels Next to Lines}
@@ -783,7 +715,7 @@
 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 @@
         (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 @@
 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 @@
     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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
   \end{scope}
 \end{tikzpicture}
 \end{codeexample}
-}
 
 
 \subsection{The Complete Code}
@@ -969,7 +898,7 @@
 %
 \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 @@
 
 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 @@
      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 @@
       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 @@
       {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}
+% -----------------------------------------------------------------------------

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -471,6 +471,11 @@
 \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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 $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);

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -24,7 +24,7 @@
 \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 @@
     |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 @@
     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

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-tan-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example-cut.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-tan-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-tan-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Index: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg	2019-12-19 22:11:59 UTC (rev 53187)

Property changes on: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Modified: trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg	2019-12-19 22:11:59 UTC (rev 53187)
@@ -159,7 +159,7 @@
     % ignore
   }
   
-  \input{\jobname.toc}%
+  \IfFileExists{\jobname.toc}{\input{\jobname.toc}}{}%
 }
 
 {\catcode`\#=11

Modified: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -17,6 +17,6 @@
 
 \begin{document}
 
-\include{pgfmanual-en-tutorial-chains}
+\include{pgfmanual-en-library-patterns}
 
 \end{document}

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-tan-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-tan-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set terminal table; set output "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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))

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-asymptotic-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-exp.table"; set format "%.5f"
+set samples 25; plot [x=0:4] 0.05*exp(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-exp.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example-cut.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-parametric-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-sin.table"; set format "%.5f"
+set samples 25; plot [x=0:4] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-sin.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-tan-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgf-x.table"; set format "%.5f"
+set samples 25; plot [x=0:4] x

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgf-x.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,5 @@
+set terminal table
+set output "pgfmanual-sine.table"
+set format "%.5f"
+set samples 20
+plot [x=0:10] sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfmanual-sine.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.gnuplot	2019-12-19 22:11:59 UTC (rev 53187)
@@ -0,0 +1,2 @@
+set table "plots/pgfplotgnuplot-example.table"; set format "%.5f"
+plot [x=0:3.5] x*sin(x)

Added: trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/plots/pgfplotgnuplot-example.table	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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
+
+

Added: trunk/Master/texmf-dist/scripts/pgf/Makefile.pgf_release
===================================================================
--- trunk/Master/texmf-dist/scripts/pgf/Makefile.pgf_release	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/pgf/Makefile.pgf_release	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at 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 $< $@
+

Added: trunk/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh
===================================================================
--- trunk/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3}' >> tex/generic/pgf/pgf.revision.tex
+echo '\xdef\pgfversiondate{\expandafter\pgf at glob@TMPa\pgfversiondatetime\relax}' >> tex/generic/pgf/pgf.revision.tex
+echo '\xdef\pgfrevisiondate{\expandafter\pgf at glob@TMPa\pgfrevisiondatetime\relax}' >> tex/generic/pgf/pgf.revision.tex
+echo '\endgroup' >> tex/generic/pgf/pgf.revision.tex
+exit 0


Property changes on: trunk/Master/texmf-dist/scripts/pgf/pgfrevisionfile.sh
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -130,10 +130,10 @@
     \ifdim#1>\pgf at picmaxx\global\pgf at picmaxx#1\fi%
     \ifdim#2<\pgf at picminy\global\pgf at picminy#2\fi%
     \ifdim#2>\pgf at picmaxy\global\pgf at picmaxy#2\fi%
-    \ifpgf at size@hooked%
-      \let\pgf at size@hook at x#1\let\pgf at size@hook at y#2\pgf at path@size at hook%
-    \fi%
   \fi%
+  \ifpgf at size@hooked%
+    \let\pgf at size@hook at x#1\let\pgf at size@hook at y#2\pgf at path@size at hook%
+  \fi%
   \ifdim#1<\pgf at pathminx\global\pgf at pathminx#1\fi%
   \ifdim#1>\pgf at pathmaxx\global\pgf at pathmaxx#1\fi%
   \ifdim#2<\pgf at pathminy\global\pgf at pathminy#2\fi%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -851,11 +851,11 @@
 
 \def\pgfpointxyz#1#2#3{%
   \pgfmathparse{#1}%
-  \global\let\pgftemp at x=\pgfmathresult%
+  \let\pgftemp at x=\pgfmathresult%
   \pgfmathparse{#2}%
-  \global\let\pgftemp at y=\pgfmathresult%
+  \let\pgftemp at y=\pgfmathresult%
   \pgfmathparse{#3}%
-  \global\let\pgftemp at z=\pgfmathresult%
+  \let\pgftemp at z=\pgfmathresult%
   \global\pgf at x=\pgftemp at x\pgf at xx%
   \global\advance\pgf at x by \pgftemp at y\pgf at yx%
   \global\advance\pgf at x by \pgftemp at z\pgf at zx%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -456,7 +456,6 @@
   \pgf at getpathsizes\pgf at interrupt@pathsizes%
   \pgfsyssoftpath at getcurrentpath\pgf at interrupt@path%
   \pgfsyssoftpath at setcurrentpath\pgfutil at empty%
-  \edef\pgfscope at linewidth{\the\pgflinewidth}%
   \let\pgf at interrupt@lastmoveto=\pgfsyssoftpath at lastmoveto%
   \begingroup%
 }
@@ -463,7 +462,6 @@
 \def\endpgfinterruptpath
 {%
   \endgroup%
-  \global\pgflinewidth=\pgfscope at linewidth%
   \pgfsyssoftpath at setcurrentpath\pgf at interrupt@path%
   \pgf at setpathsizes\pgf at interrupt@pathsizes%
   \global\pgf at path@lastx\pgf at interrupt@savex%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -887,9 +887,9 @@
       \let\tikz at dv@at at list\pgfutil at empty%
       \let\tikz at dv@style at at@list\pgfutil at empty%
       \pgfkeysgetvalue{#2/scaling mapper}\tikz at lib@dv at mapper
-      \expandafter\tikzdatavisualizationset\expandafter{\tikz at lib@dv at settings}%
       \scope[/tikz/data visualization/.cd,every ticks/.try,every #1 ticks/.try,#3]%
         % Setup options
+        \expandafter\tikzdatavisualizationset\expandafter{\tikz at lib@dv at settings}%
         \pgfkeysgetvalue{/tikz/data visualization/common}\tikz at temp
         \expandafter\tikzdatavisualizationset\expandafter{\tikz at temp}
         \pgfkeysgetvalue{/tikz/data visualization/#1}\tikz at temp
@@ -1080,7 +1080,7 @@
       \let\tikz at dv@style at at@list\pgfutil at empty
       \pgfkeysgetvalue{#2/scaling mapper}\tikz at lib@dv at mapper
       \let\tikz at lib@dv at ticks@default at at\pgfutil at 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 at lib@dv at ticks@at%
         \expandafter\tikzdatavisualizationset\expandafter{\tikz at lib@dv at settings}%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -10,6 +10,7 @@
 
 \ProvidesFileRCS{tikzlibrarygraphs.standard.code.tex}
 
+\usetikzlibrary{graphs}%
 
 %
 % Basic graphs

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -749,6 +749,13 @@
     \fi
 }
 
+% amsmath signals the first pass of aligned environments with measuring at true.
+% This is just \measuring at false in case \ifmeasuring@ is not defined
+\def\pgf at marshal{\let\ifmeasuring@\iffalse}
+\ifdefined\ifmeasuring@\else
+    \expandafter\pgf at 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 at tikzexternal@tmpb=\expandafter{\tikzexternal at figurename}%
                     \xdef\pgf at tempa{\the\t at tikzexternal@tmpa\the\t at tikzexternal@tmpb\csname c at tikzext@no@\tikzexternal at figurename\endcsname}%
-                    % advance the counter for 'figure name':
-                    \tikzexternal at getnextfilename@advancecount
+                    \ifmeasuring@\else
+                        % advance the counter for 'figure name':
+                        \tikzexternal at getnextfilename@advancecount
+                    \fi
                 \fi
             \else
                 \t at tikzexternal@tmpb=\expandafter{\tikzexternal at nextfile}%
@@ -798,7 +807,9 @@
 
 \def\tikzexternal at getnextfilename@resetglobals{%
     % Reset global flags:
-    \global\let\tikzexternal at nextfile=\pgfutil at empty
+    \ifmeasuring@\else
+        \global\let\tikzexternal at nextfile=\pgfutil at empty
+    \fi
     \global\tikzexternalexportnexttrue
 }%
 

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -39,10 +39,6 @@
   \let\x=\tikz at cc@dox%
   \let\y=\tikz at cc@doy%
   \let\n=\tikz at cc@don%
-  \let\rawx=\tikz at cc@dotempx%
-  \let\rawy=\tikz at cc@dotempy%
-  \let\rawz=\tikz at cc@dotempz%
-  \let\coord=\tikz at cc@docoord%
   \pgfutil at ifnextchar i{\tikz at cc@stop at let}{\tikz at cc@handle at line}%
 }%
 \def\tikz at cc@handle at line{%
@@ -74,17 +70,6 @@
   \expandafter\edef\csname tikz at cc@p@\tikz at cc@coord at name\endcsname{\the\pgf at x,\the\pgf at y}%
   \expandafter\edef\csname tikz at cc@x@\tikz at cc@coord at name\endcsname{\the\pgf at x}%
   \expandafter\edef\csname tikz at cc@y@\tikz at cc@coord at name\endcsname{\the\pgf at y}%
-  \pgfutil at letfirst\pgfutil at next{#1}%
-  \ifx\pgfutil at next\pgfpointxyz
-    \expandafter\edef\csname tikz at cc@tempx@\tikz at cc@coord at name\endcsname{\pgftemp at x}%
-    \expandafter\edef\csname tikz at cc@tempy@\tikz at cc@coord at name\endcsname{\pgftemp at y}%
-    \expandafter\edef\csname tikz at cc@tempz@\tikz at cc@coord at name\endcsname{\pgftemp at z}%
-  \else
-    \expandafter\edef\csname tikz at cc@tempx@\tikz at cc@coord at name\endcsname{}%
-    \expandafter\edef\csname tikz at cc@tempy@\tikz at cc@coord at name\endcsname{}%
-    \expandafter\edef\csname tikz at cc@tempz@\tikz at cc@coord at name\endcsname{}%
-  \fi
-  \expandafter\edef\csname tikz at cc@coord@\tikz at cc@coord at name\endcsname{\csname tikz at declared@coordinate\endcsname}%
   \pgfutil at ifnextchar,{\tikz at cc@handle at nextline}{\tikz at cc@stop at let}%
 }%
 \def\tikz at cc@handle at nextline,{%
@@ -98,10 +83,6 @@
 \def\tikz at cc@dox#1{\csname tikz at cc@x@#1\endcsname}%
 \def\tikz at cc@doy#1{\csname tikz at cc@y@#1\endcsname}%
 \def\tikz at cc@don#1{\csname tikz at cc@n@#1\endcsname}%
-\def\tikz at cc@dotempx#1{\csname tikz at cc@tempx@#1\endcsname}%
-\def\tikz at cc@dotempy#1{\csname tikz at cc@tempy@#1\endcsname}%
-\def\tikz at cc@dotempz#1{\csname tikz at cc@tempz@#1\endcsname}%
-\def\tikz at cc@docoord#1{\csname tikz at cc@coord@#1\endcsname}%
 
 
 

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -72,6 +72,10 @@
 \let\tikz at intersect@total=\pgfutil at empty
 
 \tikzset{
+  every scope/.append style={
+    execute at begin scope={\let\tikz at intersect@namedpaths at outside\tikz at intersect@namedpaths},
+    execute at end scope={\global\let\tikz at intersect@namedpaths\tikz at intersect@namedpaths at outside},
+  },
   name intersections/.code={%
     \tikzset{/tikz/intersection/.cd,
       by=,

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -97,8 +97,20 @@
         \pgftransformcm{\pgf at lib@svg at a}{\pgf at lib@svg at b}{\pgf at lib@svg at c}{\pgf at lib@svg at d}{\pgfpointorigin}%
       }
     }]{};
+    \expandafter\pgfutil at switch\expandafter{\tikz at anchor}{%
+      {north}     {\def\tikz at spy@anchor{south}}%
+      {north east}{\def\tikz at spy@anchor{south west}}%
+      {east}      {\def\tikz at spy@anchor{west}}%
+      {south east}{\def\tikz at spy@anchor{north west}}%
+      {south}     {\def\tikz at spy@anchor{north}}%
+      {south west}{\def\tikz at spy@anchor{north east}}%
+      {west}      {\def\tikz at spy@anchor{east}}%
+      {north west}{\def\tikz at spy@anchor{south east}}%
+      % default to center
+      {default}   {\def\tikz at 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 at lib@reset at gs]{\nullfont%
+    path picture={\node[anchor=\tikz at spy@anchor,tikz at lib@reset at gs]{\nullfont%
         \pgfpicture\relax\pgfsetbaseline{default}\pgfsettrimleft{default}\pgfsettrimright{default}%
         \pgftransformreset%
         \let\tikz at transform=\relax%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -163,7 +163,7 @@
   \fi%
   \tikz at to@start at compute%
   \tikz at to@end at compute%
-  \edef\tikz at computed@path{.. controls \tikz at computed@start and \tikz at computed@end .. (\tikz at toto)}
+  \edef\tikz at computed@path{.. controls \tikz at computed@start and \tikz at computed@end .. (\tikztotarget)}
 }
 
 \def\tikz at to@compute at distance{\tikz at scan@one at point\tikz@@to at compute@distance(\tikz at tofrom)}

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -59,7 +59,12 @@
 % Circle grow
 %
 
-\tikzset{grow cyclic/.style={growth function=\tikz at grow@circle}}%
+\tikzset{
+  grow cyclic/.style={
+    edge from parent/.append style={reset cm},
+    growth function=\tikz at grow@circle,
+  }
+}%
 
 \tikzset{sibling angle/.initial=20}%
 

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at lib@turtle at dir:#1)}}
+  turtle/forward/.style={/tikz/insert path={to[/tikz/turtle/how]++({\tikz at lib@turtle at dir}:{#1})}}
 }%
 
 
@@ -46,7 +46,7 @@
 \tikzset{
   turtle/left/.default=90,
   turtle/left/.code={%
-    \pgfmathparse{#1+\tikz at lib@turtle at dir}%
+    \pgfmathparse{(#1)+(\tikz at lib@turtle at 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 at lib@turtle at dir-\pgfmathresult}%
+    \pgfmathparse{(\tikz at lib@turtle at dir)-\pgfmathresult}%
     \ifdim\pgfmathresult pt<0pt\relax%
       \pgfmathparse{\pgfmathresult+360}%
     \fi%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at save@last at node=\tikzlastnode\tikz at node@is at a@labelfalse}%
-          node [every pin,
-                tikz at label@angle = #2,
+          node [tikz at label@angle = #2,
                 anchor=@auto,
+                every pin,
                 #1,
                 append after command = {%
                   (\tikz at save@last at node)
@@ -726,9 +737,9 @@
       \bgroup
         [current point is local = true]
         \pgfextra{\let\tikz at save@last at node=\tikzlastnode\tikz at node@is at a@labelfalse}%
-        node [every pin,
-              tikz at label@angle = #2,
+        node [tikz at label@angle = #2,
               anchor=@auto,
+              every pin,
               #1,
               append after command = {%
                 (\tikz at save@last at node)
@@ -857,9 +868,9 @@
         \bgroup
           [current point is local=true]
           \pgfextra{\let\tikz at save@last at fig@name=\tikz at last@fig at name\tikz at node@is at a@labelfalse}
-          node [every label,
-                tikz at label@angle = #2,
+          node [tikz at label@angle = #2,
                 anchor=@auto,
+                every label,
                 #1,
                 tikz at label@post = \tikz at label@distance] {\iftikz at handle@active at nodes\expandafter\scantokens\else\expandafter\pgfutil at firstofone\fi{#3\noexpand}}
           \pgfextra{\global\let\tikz at last@fig at name=\tikz at save@last at fig@name}
@@ -887,9 +898,9 @@
       \bgroup
         [current point is local=true]
         \pgfextra{\let\tikz at save@last at fig@name=\tikz at last@fig at name\tikz at node@is at a@labelfalse}
-        node [every label,
-              tikz at label@angle = #2,
+        node [tikz at label@angle = #2,
               anchor=@auto,
+              every label,
               #1,
               tikz at label@post = \tikz at label@distance] {\iftikz at handle@active at nodes\expandafter\scantokens\else\expandafter\pgfutil at firstofone\fi{#3\noexpand}}
         \pgfextra{\global\let\tikz at last@fig at name=\tikz at save@last at fig@name}
@@ -1030,7 +1041,7 @@
   \tikz at addtransform{%
     \expandafter\tikz at extract@node at dist\tikz at node@distance and\pgf at stop%
     \pgftransformshift{\pgfpointpolar{#2}{\tikz at extracted@node at distance}}}%
-  \def\tikz at node@at{\pgfpointanchor{#1}{center}}}%
+  \def\tikz at node@at{\pgfpointanchor{\tikz at pp@name{#1}}{center}}}%
 \def\tikz at extract@node at dist#1and#2\pgf at stop{%
   \def\tikz at extracted@node at distance{#1}}%
 
@@ -1147,17 +1158,19 @@
 \tikzset{badness warnings for centered text/.is if=tikz at warn@for at narrow@centered}%
 \newif\iftikz at warn@for at narrow@centered
 
-\let\tikz at text@width=\pgfutil at empty
-\let\tikz at text@height=\pgfutil at empty
-\let\tikz at text@depth=\pgfutil at empty
-\let\tikz at textcolor=\pgfutil at empty
-\let\tikz at textfont=\pgfutil at empty
-\let\tikz at textopacity=\pgfutil at empty
-\let\tikz at node@textfont=\pgfutil at empty
+\def\tikz at text@reset{%
+  \let\tikz at text@width=\pgfutil at empty
+  \let\tikz at text@height=\pgfutil at empty
+  \let\tikz at text@depth=\pgfutil at empty
+  \let\tikz at textcolor=\pgfutil at empty
+  \let\tikz at textfont=\pgfutil at empty
+  \let\tikz at textopacity=\pgfutil at empty
+  \let\tikz at node@textfont=\pgfutil at empty
+  \def\tikz at text@action{\pgfutil at raggedright\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax}%
+}
+\tikz at text@reset
 
-\def\tikz at text@action{\pgfutil at raggedright\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax}%
 
-
 % Alignment
 \tikzset{
   node halign header/.initial=,
@@ -2058,7 +2071,6 @@
 % settings.
 
 \def\tikz at command@path{%
-  \global\let\tikz at intersect@namedpaths=\pgfutil at empty% clear intersections
   \let\tikz at signal@path=\tikz at signal@path% for detection at begin of matrix cell
   \pgfutil at ifnextchar[{\tikz at check@earg}%]
   {\pgfutil at ifnextchar<{\tikz at doopt}{\tikz@@command at path}}}%
@@ -3615,7 +3627,7 @@
     \tikzset{every circle/.try,#1}%
     \pgftransformshift{\tikz at node@at}%
     \tikz at transform%
-    \tikz at do@circle{\pgfkeysvalueof{/tikz/x radius}}{\pgfkeysvalueof{/tikz/y radius}}
+    \tikz at do@ellipse{\pgfkeysvalueof{/tikz/x radius}}{\pgfkeysvalueof{/tikz/y radius}}
   }%
   \tikz at scan@next at command%
 }%
@@ -3627,16 +3639,29 @@
     \ifpgfutil at in@%
       \tikz@@ellipseB(#1)%
     \else%
-      \tikz at do@circle{#1}{#1}%
+      \tikz at do@circle{#1}%
     \fi%
   }%
   \tikz at scan@next at command%
 }%
 \def\tikz@@ellipseB(#1 and #2){%
-  \tikz at do@circle{#1}{#2}
+  \tikz at do@ellipse{#1}{#2}%
 }%
-\def\tikz at do@circle#1#2{
+\def\tikz at do@circle#1{%
   \pgfmathparse{#1}%
+  \let\tikz at ellipse@x=\pgfmathresult
+  \ifpgfmathunitsdeclared
+    \pgfpathellipse{\pgfpointorigin}%
+      {\pgfqpoint{\tikz at ellipse@x pt}{0pt}}%
+      {\pgfpoint{0pt}{\tikz at ellipse@x pt}}%
+  \else
+    \pgfpathellipse{\pgfpointorigin}%
+      {\pgfpointxy{\tikz at ellipse@x}{0}}%
+      {\pgfpointxy{0}{\tikz at ellipse@x}}%
+  \fi
+}
+\def\tikz at do@ellipse#1#2{
+  \pgfmathparse{#1}%
   \let\tikz at ellipse@x=\pgfmathresult%
   \ifpgfmathunitsdeclared%
     \pgfmathparse{#2}%
@@ -3801,9 +3826,11 @@
   \tikz at scan@one at point\tikz@@coordinate at at@math(%
 }%
 \def\tikz@@coordinate at at@math#1{%
-  \pgf at process{#1}%
-  \edef\tikz at temp{(\the\pgf at x,\the\pgf at y)}%
-  \expandafter\tikz at coordinate@caller\tikz at temp{}%
+  \pgfutil at ifundefined{tikz at scan@point at coordinate}%
+    {\pgf at process{#1}%
+     \edef\tikz at temp{(\the\pgf at x,\the\pgf at y)}%
+     \expandafter\tikz at coordinate@caller\tikz at temp{}}
+    {\expandafter\tikz at coordinate@caller\tikz at scan@point at coordinate{}}%
 }%
 
 
@@ -3935,10 +3962,8 @@
             \ifx\tikz at textcolor\pgfutil at empty%
             \else%
               \pgfutil at colorlet{.}{\tikz at textcolor}%
+              \pgfutil at color{\tikz at 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 at color{.}%
             \setbox\tikz at figbox=\box\pgfutil at voidb@x%
             \setbox\tikz at figbox@bg=\box\pgfutil at voidb@x%
             \tikz at uninstallcommands%
@@ -3950,6 +3975,8 @@
             \ifnum\the\catcode`\:=\active\relax\expandafter\let\tikz at activecolon=\tikz at origcolon\fi%
             \ifnum\the\catcode`\|=\active\relax\expandafter\let\tikz at activebar=\tikz at origbar\fi%
             \aftergroup\tikz at fig@collectresetcolor%
+            \tikz at signal@halign at check%
+            \tikz at text@reset%
             \tikz at halign@check%
             \ignorespaces%
 }%
@@ -4004,6 +4031,7 @@
                   \def\tikz at matrix@shift{\pgfpointorigin}%
                 \fi%
                 \let\tikz at transform=\relax%
+                \pgfmatrixbeforeassemblenode{\tikzset{every outer matrix/.try}}%
                 \pgfmatrix%
                 {\tikz at shape}%
                 {\tikz at m@anchor}%
@@ -4214,7 +4242,7 @@
 \newif\iftikz at do@align
 
 % Alignment handling
-\def\tikz at halign@check{%
+\def\tikz at signal@halign at check{%
   \tikz at do@alignfalse
   \ifx\tikz at text@width\pgfutil at empty%
     \pgfkeysgetvalue{/tikz/node halign header}\tikz at align@header%
@@ -4223,6 +4251,8 @@
       \tikz at do@aligntrue%
     \fi%
   \fi%
+}
+\def\tikz at halign@check{%
   \iftikz at do@align%
     % Bingo
     \setbox\tikz at align@aligned at box=\box\pgfutil at voidb@x% void
@@ -4341,6 +4371,8 @@
             \ifnum\the\catcode`\|=\active\relax\expandafter\let\tikz at activebar=\tikz at origbar\fi%
             \tikz at atbegin@node%
             \aftergroup\tikz at fig@collectresetcolor%
+            \tikz at signal@halign at check%
+            \tikz at text@reset%
             \tikz at halign@check%
             \ignorespaces%
 }%
@@ -4379,9 +4411,17 @@
       {\pgfutil at ifnextchar\bgroup{\tikz at nodes@main}%
       {\tikzerror{Nodes must have a (possibly empty) label text}%
         \tikz at fig@main{}}}}}}%}}%
-\def\tikz at 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 at nodes@at at{\pgfutil at ifnextchar({\tikz at nodes@at@}{\tikz at nodes@at@@}}%
+\def\tikz at nodes@at@#1){%
   \expandafter\def\expandafter\tikz at nodes@collect\expandafter{\tikz at nodes@collect at#1)}%
   \tikz at nodes@scan}%
+\def\tikz at nodes@at@@#1{%
+  \expandafter\def\expandafter\tikz at nodes@collect\expandafter{\tikz at nodes@collect at#1}%
+  \tikz at nodes@scan}%
+
 \def\tikz at nodes@name#1){%
   \expandafter\def\expandafter\tikz at nodes@collect\expandafter{\tikz at nodes@collect#1)}%
   \tikz at nodes@scan}%
@@ -4786,7 +4826,7 @@
   \let\tikz at picmode\tikz at mode%
   \tikzset{name prefix ../.style/.expanded={/tikz/name prefix=\pgfkeysvalueof{/tikz/name prefix}}}%
   \ifx\tikz at fig@name\pgfutil at empty\else%
-    \tikzset{name prefix/.prefix/.expanded=\tikz at fig@name}%
+    \tikzset{name prefix/.expanded=\tikz at fig@name}%
   \fi%
   \pgfkeysvalueof{/tikz/pics/setup code}%
   \pgfkeysgetvalue{/tikz/pics/code}{\tikz at pic@code}
@@ -5387,19 +5427,26 @@
   \else%
     \tikz at calc@anchor#2.center\tikz at stop% to be on the save side, in
                                 % case iftikz at shapeborder is ignored...
-    \expandafter\ifx\csname pgf at sh@ns@\tikz at pp@name{#2}\endcsname\tikz at coordinate@text%
-    \else
-      \tikz at shapebordertrue%
-      \def\tikz at shapeborder@name{\tikz at pp@name{#2}}%
-    \fi%
+    \ifcsname pgf at sh@ns@\tikz at pp@name{#2}\endcsname
+      \expandafter\ifx\csname pgf at sh@ns@\tikz at pp@name{#2}\endcsname\tikz at coordinate@text%
+      \else
+        \tikz at shapebordertrue%
+        \def\tikz at shapeborder@name{\tikz at pp@name{#2}}%
+      \fi%
+    \fi
   \fi%
-  \expandafter\let\expandafter\tikz at declared@coordinate\csname tikz at dcl@coord@\tikz at pp@name{#2}\endcsname
   \edef\tikz at marshal{\noexpand#1{\noexpand\pgfqpoint{\the\pgf at x}{\the\pgf at y}}}%
   \tikz at marshal%
 }%
 
 \def\tikz at calc@anchor#1.#2\tikz at stop{%
-  \pgfpointanchor{\tikz at pp@name{#1}}{#2}%
+  % Check if a shape with name prefix exists, otherwise try the global name
+  % without prefix.
+  \ifcsname pgf at sh@ns@\tikz at pp@name{#1}\endcsname%
+    \pgfpointanchor{\tikz at pp@name{#1}}{#2}%
+  \else
+    \pgfpointanchor{#1}{#2}%
+  \fi
 }%
 
 

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/doc.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -14,7 +14,6 @@
 local summary       = require 'pgf.gd.doc'.summary
 local example       = require 'pgf.gd.doc'.example
 
-
 --------------------------------------------------------------------
 key          "simple necklace layout"
 
@@ -45,8 +44,10 @@
 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,7 +61,8 @@
 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
@@ -67,7 +69,8 @@
 };
 \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 @@
 %
 \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|.

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -47,7 +47,6 @@
 --
 -- @end
 
-
 ---
 
 declare {
@@ -86,7 +85,8 @@
         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 @@
         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 @@
         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 @@
 
         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 @@
         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 @@
 
   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 @@
 
 
 
-return Components
\ No newline at end of file
+return Components

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -23,7 +23,6 @@
 --
 -- @end
 
-
 ---
 
 declare {
@@ -42,7 +41,8 @@
         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 @@
         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 @@
         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 @@
 }
 
 
-return Components
\ No newline at end of file
+return Components

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -31,7 +31,8 @@
 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 @@
 \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 @@
 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 @@
 \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 @@
 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 @@
 |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)

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/FMMMLayout.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -48,7 +48,7 @@
 [[
 \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 @@
 
 -- Local Variables:
 -- mode:latex
--- End:
\ No newline at end of file
+-- End:

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SugiyamaLayout.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -50,7 +50,7 @@
 [[
 \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 @@
 
 -- Local Variables:
 -- mode:latex
--- End:
\ No newline at end of file
+-- End:

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -40,7 +40,8 @@
     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 @@
   end
 end
 
-return SimpleEdgeDemo
\ No newline at end of file
+return SimpleEdgeDemo

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -51,7 +51,8 @@
       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 @@
     %
     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 @@
   layered.arrange_layers_by_baselines(layer, self.adjusted_bb, self.ugraph)
 end
 
-return SimpleHuffman
\ No newline at end of file
+return SimpleHuffman

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -26,13 +26,15 @@
 -- 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 @@
 -- @end
 
 
-
 ---
 
 declare {
@@ -56,5 +57,3 @@
     the nodes they connect.
   "]]
 }
-
-

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -14,8 +14,6 @@
 local declare = require("pgf.gd.interface.InterfaceToAlgorithms").declare
 
 
-
-
 ---
 -- @section subsubsection {Start Configuration}
 --
@@ -23,19 +21,21 @@
 -- 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

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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}

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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;

Modified: trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua	2019-12-19 22:11:59 UTC (rev 53187)
@@ -83,7 +83,8 @@
 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 @@
 %
 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 @@
 %
 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 @@
 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 @@
 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 @@
 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 @@
   };
 ]]
 
+--[[
+% TODOsp: codeexamples: the next example needs the library `arrows.meta`
+--]]
 example
 [[
 \tikz \graph [binary tree layout] {
@@ -295,7 +304,7 @@
     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}}]

Added: trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at bbox@lt at curveto@normal\pgf at lt@curveto
+\global\let\pgf at bbox@nlt at curveto@normal\pgf at nlt@curveto
+
+\pgfqkeys{/pgf}{bezier bounding box/.is if=pgf at bbox@switch@}
+
+\def\pgf at bbox@switch at false{%
+  \let\pgf at lt@curveto \pgf at bbox@lt at curveto@normal
+  \let\pgf at nlt@curveto\pgf at bbox@nlt at curveto@normal
+}
+
+\def\pgf at bbox@switch at true{%
+  \let\pgf at lt@curveto \pgf at bbox@curveto
+  \let\pgf at nlt@curveto\pgf at bbox@curveto
+}
+
+\def\pgf at bbox@curveto#1#2#3#4#5#6{%
+  % extrema in x
+  \pgfmathsetmacro{\pgf at temp@b}{abs(\pgf at path@lastx-#5-3*#1+3*#3)}%
+  % ^^^ this is used for the denominator below, cannot become too small
+  \pgfmathsetmacro{\pgf at temp@c}{max(1+\pgf at path@lastx,max(#1,max(#3,#5)))}%
+  % ^^^ in order to avoid dimension too large errors from squaring lengths in pt
+  \pgfmathparse{((#1/\pgf at temp@c)*(#1/\pgf at temp@c)-1*((#1/\pgf at temp@c)*(#3/\pgf at temp@c))+(#3/\pgf at temp@c)*(#3/\pgf at temp@c)-1*((#1/\pgf at temp@c)*(#5/\pgf at temp@c))+(-(#3/\pgf at temp@c)+(#5/\pgf at temp@c))*(\pgf at path@lastx/\pgf at temp@c))}%
+  \pgfutil at tempdima=\pgfmathresult pt\relax%
+  % ^^^ discriminant
+  \ifdim\pgf at temp@b pt<0.01pt\relax%
+   % approximately linear
+   \pgfmathparse{abs(2*(#1)-2*(#3)+(#5))}%
+   \pgfutil at tempdimb=\pgfmathresult pt\relax%
+   \ifdim\pgfutil at tempdimb<0.1pt\relax%
+        % if the denominator is very small, t is *likely* large but could be 0/0
+   \else
+        \pgfmathsetmacro{\pgf at temp@a}{(2*(#1)-3*(#3)+(#5))/(2*(#1)-2*(#3)+(#5))}%
+        \pgfmathparse{\pgf at path@lastx*pow(1-\pgf at temp@a,3)+3*#1*pow(1-\pgf at temp@a,2)*\pgf at temp@a+3*#3*(1-\pgf at temp@a)*\pgf at temp@a*\pgf at temp@a+#5*pow(\pgf at temp@a,3)}%
+        \pgfutil at tempdimb=\pgfmathresult pt\relax%
+        \pgf at protocolsizes{\pgfutil at tempdimb}{#6}%
+   \fi%
+  \else
+   \ifdim\pgfutil at tempdima<0pt\relax% negative discriminant -> no turning point
+   \else
+         \pgfmathsetmacro{\pgf at temp@a}{min(1,max(0,(\pgf at path@lastx-2*#1+#3-\pgf at temp@c*sqrt(\pgfutil at tempdima))/(\pgf at path@lastx-#5-3*#1+3*#3)))}%
+         \pgfmathparse{\pgf at path@lastx*pow(1-\pgf at temp@a,3)+3*#1*pow(1-\pgf at temp@a,2)*\pgf at temp@a+3*#3*(1-\pgf at temp@a)*\pgf at temp@a*\pgf at temp@a+#5*pow(\pgf at temp@a,3)}%
+           \pgfutil at tempdimb=\pgfmathresult pt\relax%
+         \pgf at protocolsizes{\pgfutil at tempdimb}{#6}%
+         \pgfmathsetmacro{\pgf at temp@a}{min(1,max(0,(\pgf at path@lastx-2*#1+#3+\pgf at temp@c*sqrt(\pgfutil at tempdima))/(\pgf at path@lastx-#5-3*#1+3*#3)))}%
+         \pgfmathparse{\pgf at path@lastx*pow(1-\pgf at temp@a,3)+3*#1*pow(1-\pgf at temp@a,2)*\pgf at temp@a+3*#3*(1-\pgf at temp@a)*\pgf at temp@a*\pgf at temp@a+#5*pow(\pgf at temp@a,3)}%
+         \pgfutil at tempdimb=\pgfmathresult pt\relax%
+         \pgf at protocolsizes{\pgfutil at tempdimb}{#6}%
+   \fi%
+  \fi
+  %%%%%%%%%%%%%%%%%%%%%%%%%%%
+  % extrema in y (completely analogous to the above)
+  \pgfmathsetmacro{\pgf at temp@b}{abs(\pgf at path@lasty-#6-3*#2+3*#4)}%
+  \pgfmathsetmacro{\pgf at temp@c}{max(1+\pgf at path@lasty,max(#2,max(#4,#6)))}%
+  \pgfmathparse{((#2/\pgf at temp@c)*(#2/\pgf at temp@c)-1*((#2/\pgf at temp@c)*(#4/\pgf at temp@c))+(#4/\pgf at temp@c)*(#4/\pgf at temp@c)-1*((#2/\pgf at temp@c)*(#6/\pgf at temp@c))+(-(#4/\pgf at temp@c)+(#6/\pgf at temp@c))*(\pgf at path@lasty/\pgf at temp@c))}%
+  \pgfutil at tempdima=\pgfmathresult pt\relax%
+  % ^^^ discriminant
+  \ifdim\pgf at temp@b pt<0.01pt\relax%
+   % approximately linear
+   \pgfmathparse{abs(2*(#2)-2*(#4)+(#6))}%
+   \pgfutil at tempdimb=\pgfmathresult pt\relax%
+   \ifdim\pgfutil at tempdimb<0.1pt\relax%
+        % if the denominator is very small, t is *likely* large but could be 0/0
+   \else
+        \pgfmathsetmacro{\pgf at temp@a}{(2*(#2)-3*(#4)+(#6))/(2*(#2)-2*(#4)+(#6))}%
+        \pgfmathparse{\pgf at path@lasty*pow(1-\pgf at temp@a,3)+3*#2*pow(1-\pgf at temp@a,2)*\pgf at temp@a+3*#4*(1-\pgf at temp@a)*\pgf at temp@a*\pgf at temp@a+#6*pow(\pgf at temp@a,3)}%
+        \pgfutil at tempdimb=\pgfmathresult pt\relax%
+        \pgf at protocolsizes{#5}{\pgfutil at tempdimb}%
+   \fi%
+  \else
+   \ifdim\pgfutil at tempdima<0pt\relax% negative discriminant -> no turning point
+   \else
+         \pgfmathsetmacro{\pgf at temp@a}{min(1,max(0,(\pgf at path@lasty-2*#2+#4-\pgf at temp@c*sqrt(\pgfutil at tempdima))/(\pgf at path@lasty-#6-3*#2+3*#4)))}%
+         \pgfmathparse{\pgf at path@lasty*pow(1-\pgf at temp@a,3)+3*#2*pow(1-\pgf at temp@a,2)*\pgf at temp@a+3*#4*(1-\pgf at temp@a)*\pgf at temp@a*\pgf at temp@a+#6*pow(\pgf at temp@a,3)}%
+           \pgfutil at tempdimb=\pgfmathresult pt\relax%
+         \pgf at protocolsizes{#5}{\pgfutil at tempdimb}%
+         \pgfmathsetmacro{\pgf at temp@a}{min(1,max(0,(\pgf at path@lasty-2*#2+#4+\pgf at temp@c*sqrt(\pgfutil at tempdima))/(\pgf at path@lasty-#6-3*#2+3*#4)))}%
+         \pgfmathparse{\pgf at path@lasty*pow(1-\pgf at temp@a,3)+3*#2*pow(1-\pgf at temp@a,2)*\pgf at temp@a+3*#4*(1-\pgf at temp@a)*\pgf at temp@a*\pgf at temp@a+#6*pow(\pgf at temp@a,3)}%
+         \pgfutil at tempdimb=\pgfmathresult pt\relax%
+         \pgf at protocolsizes{#5}{\pgfutil at tempdimb}%
+   \fi%
+  \fi
+  \pgf at protocolsizes{\pgf at path@lastx}{\pgf at path@lasty}%
+  \pgf at protocolsizes{#5}{#6}%
+  \pgfsyssoftpath at curveto{\the#1}{\the#2}{\the#3}{\the#4}{\the#5}{\the#6}%
+}


Property changes on: trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarybbox.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -104,6 +104,9 @@
         \let\pgfmathpostparse=\relax%
         \pgfmath at catcodes%
         \pgfmath at quickparsefalse%
+        \ifpgfmathfloatparseactive\else
+          \pgfmathfloat at parser@install
+        \fi
         \pgfmathfloatparse@}%
 
 % for pgf 2.00 :

Modified: trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -361,23 +361,30 @@
             \global\advance\pgf at intersect@solutions by1\relax%
             \expandafter\global\expandafter\let\csname pgfpoint at g@intersect at solution@\the\pgf at intersect@solutions\endcsname=\pgf at intersect@solution at candidate
             \ifpgf at intersect@sort%
+                % save coordinates of the intersection
+                \pgf at process{\pgf at intersect@solution at candidate}%
                 \pgf at xc=\pgf at x%
                 \pgf at yc=\pgf at y%
+                % determine length of path
                 \pgf at process{\pgfpointdiff{\pgfpoint at intersect@start at a}{\pgfpoint at intersect@end at a}}%
                 \edef\pgf at marshal{%
-                    \noexpand\pgfmathveclen@{\pgfmath at tonumber{\pgf at xa}}{\pgfmath at tonumber{\pgf at ya}}%
+                    \noexpand\pgfmathveclen@{\pgfmath at tonumber{\pgf at x}}{\pgfmath at tonumber{\pgf at y}}%
                 }%
                 \pgf at marshal%
                 \let\pgf at intersect@length at a=\pgfmathresult%
+                % determine distance of intersection from start
                 \pgf at process{\pgfpointdiff{\pgfpoint at intersect@start at a}{\pgfqpoint{\pgf at xc}{\pgf at yc}}}%
                 \edef\pgf at marshal{%
                     \noexpand\pgfmathveclen@{\pgfmath at tonumber{\pgf at x}}{\pgfmath at tonumber{\pgf at y}}%
                 }%
                 \pgf at marshal%
+                % scale the distance to the path length (path time)
                 \pgfmathdivide@{\pgfmathresult}{\pgf at intersect@length at a}%
                 \pgf at x=\pgfmathresult pt\relax%
+                % advance by the path segment (see definition of \pgf at intersection@store at properties)
                 \advance\pgf at x by\pgf at intersect@time at offset pt\relax%
                 \edef\pgf at intersect@time at a{\pgfmath at tonumber{\pgf at x}}%
+                % save numbered
                 \expandafter\global\expandafter\let\csname pgf at g@intersect at solution@\the\pgf at intersect@solutions @time at a\endcsname=
                     \pgf at intersect@time at a
             \else

Modified: trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -85,7 +85,7 @@
 \def\pgfdeclarepattern#1{%
   \begingroup%
     \nullfont%
-    \def\pgf at pat@options{#1}%
+    \def\pgf at pat@options{,#1}%
     \pgfkeys{/pgf/patterns/.cd,#1}%
     \ifx\pgf at pat@name\pgfutil at empty
         \pgferror{Declaring unnamed pattern}%
@@ -274,7 +274,184 @@
   \pgfsys at 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
 %%% TeX-master: t

Modified: trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -434,7 +434,7 @@
                         \fi%
                     \fi%
                 \else%
-                    \ifdim\pgfmath at x>0.000244140625pt\relax% 2^-11
+                    \ifdim\pgfmath at x>0.00048828125pt\relax% 2^-11
                         \ifdim\pgfmath at x>0.001953125pt\relax% 2^-9
                             \ifdim\pgfmath at x>0.00390625pt\relax% 2^-8
                                 \multiply\pgfmath at x by128\relax%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -238,7 +238,7 @@
 \pgfmath at tokens@make{mathunit}{{mu}}
 \pgfmath at tokens@make{numeric}{.0123456789}
 \pgfmath at tokens@make{number}{0123456789}
-\pgfmath at tokens@make{functional}{_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ}
+\pgfmath at tokens@make{functional}{_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ}
 \pgfmath at tokens@make{exponent}{eE}
 \pgfmath at tokens@make{group}{{()}{[]}{\pgfmath at bgroup\pgfmath at egroup}}
 \pgfmath at tokens@make{specials}{@)]\pgfmath at egroup}

Modified: trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -13,6 +13,48 @@
 
 \def\pgfmathincluded{}
 
+% Helper macros for \pgfmath at ifregister
+%
+\def\pgfmath at grabv#1#2#3#4#5#6#7\pgfmath at grabv{#2#3#4#5\ifx#6!!\fi}
+\def\pgfmath at ifskip@extract#1{\expandafter\pgfmath at grabv\meaning#1!!!!!!\pgfmath at grabv}
+\def\pgfmath at iftoks@extract#1{\expandafter\pgfmath at grabv\meaning#1!!!!!!\pgfmath at grabv}
+
+\def\pgfmath at grabvi#1#2#3#4#5#6#7#8\pgfmath at grabvi{#2#3#4#5#6\ifx#7!!\fi}
+\def\pgfmath at ifdimen@extract#1{\expandafter\pgfmath at grabvi\meaning#1!!!!!!\pgfmath at grabvi}
+\def\pgfmath at ifcount@extract#1{\expandafter\pgfmath at grabvi\meaning#1!!!!!!\pgfmath at grabvi}
+
+\def\pgfmath at grabvii#1#2#3#4#5#6#7#8#9\pgfmath at grabvii{#2#3#4#5#6#7\ifx#8!!\fi}
+\def\pgfmath at ifmuskip@extract#1{\expandafter\pgfmath at grabvii\meaning#1!!!!!!\pgfmath at grabvii}
+
+% \pgfmath at 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 at ifregister@unguarded#1#2{%
+    \expandafter\ifx\csname\csname pgfmath at if#1 at extract\endcsname{#2}\expandafter\endcsname\csname #1\endcsname
+        \expandafter\pgfutil at firstoftwo
+    \else
+        \expandafter\pgfutil at secondoftwo
+    \fi}
+
+% \pgfmath at 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 at ifregister#1#2{%
+    \pgfutil at IfUndefined{pgfmath at if#1 at extract}%
+        {\errmessage{Package PGF Math Error: Cannot test for #1 register}}%
+        {\pgfutil at IfUndefined{\csname pgfmath at if#1 at extract\endcsname{#2}}%
+            {\pgfutil at secondoftwo}}%
+            {\pgfmath at ifregister@unguarded{#1}{#2}}}
+
 % \pgfmath at ensureregister
 %
 % Ensure a control sequence exists as a TeX count/dimen register.
@@ -21,27 +63,9 @@
 % #2 - a control sequence.
 %
 \def\pgfmath at 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 at 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 at ifregister{#1}{#2}%
+        {}%
+        {\csname new#1\endcsname#2}%
 }
 
 % Check registers exist. If not, create them.

Modified: trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -24,6 +24,9 @@
 \let\pgf at matrix@cell=\pgfnodeparttextbox % alias
 \let\pgf at matrix@box=\pgf at matrix@cell % alias
 
+\long\def\pgfmatrixbeforeassemblenode#1{%
+  \long\def\pgf at matrix@before at 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 at matrix@before at assemnble@node
+    %
     % If there are named nodes, we must adjust their coordinates.
     %
     \ifx\pgf at matrix@node at list\pgfutil at empty%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -410,7 +410,7 @@
 \def\pgfparserlet at g
   {%
     \ifx\pgfparserlet at argb\pgfutil at sptoken
-      % will also gobble the \pgfparserlet at c after \fi
+      % will also gobble the \pgfparserlet at h after \fi
       \pgfparserlet at gobble@space\pgfparserlet at f
     \fi
     \pgfparserlet at h
@@ -496,24 +496,40 @@
         {}
         {\csname \pgfparser at current\space final action\endcsname}%
     }
-    {%
-      \futurelet\pgfparsertoken\pgfparser at getnexttoken@a
-    }%
+    {\futurelet\pgfparsertoken\pgfparser at getnexttoken@a}%
   }
 \pgfutil at protected\def\pgfparser at getnexttoken@a
   {%
-    \pgfparser at getnexttoken@iftokengobble\bgroup\bgroup
+    % check the problematic categories based on the meaning of the token
+    \edef\pgfparser at tokencategory{\pgfparser at extractmeaning\pgfparsertoken}%
+    \pgfparser at getnexttoken@ifcategory\pgfparser at category@i\bgroup
       {%
-        \pgfparser at getnexttoken@iftokengobble\egroup\egroup
+        \pgfparser at getnexttoken@ifcategory\pgfparser at category@ii\egroup
           {%
-            \pgfparser at getnexttoken@iftokengobble\pgfutil at sptoken{ }%
-              {\pgfparser at getnexttoken@defchar}%
+            \pgfparser at getnexttoken@ifcategory\pgfparser at category@x{ }%
+              {%
+                \pgfparser at getnexttoken@ifcategory\pgfparser at category@vi{####}%
+                  {\pgfparser at getnexttoken@defchar}%
+              }%
           }%
       }%
   }
-\pgfutil at protected\def\pgfparser at getnexttoken@iftokengobble#1#2%
+\begingroup
+\def\pgfparser at extractmeaning#1%
   {%
-    \ifx\pgfparsertoken#1%
+    \endgroup
+    \def\pgfparser at extractmeaning##1%
+      {\expandafter\pgfparser at extractmeaning@\meaning##1#1#1\pgfparser at mark}%
+    \def\pgfparser at extractmeaning@##1#1##2#1##3\pgfparser at mark{##1#1##2}%
+  }
+\catcode`\ =12\pgfparser at extractmeaning{ } % ends the group
+\edef\pgfparser at category@i{\pgfparser at extractmeaning\bgroup}
+\edef\pgfparser at category@ii{\pgfparser at extractmeaning\egroup}
+\edef\pgfparser at category@vi{\pgfparser at extractmeaning#}
+\edef\pgfparser at category@x{\pgfparser at extractmeaning\pgfutil at sptoken}
+\pgfutil at protected\def\pgfparser at getnexttoken@ifcategory#1#2%
+  {%
+    \ifx\pgfparser at tokencategory#1%
       \def\pgfparserletter{#2}%
       \pgfparser at getnexttoken@gobble
     \fi

Modified: trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -532,7 +532,7 @@
   % Ok, check whether #1 is known!
   \pgfutil at ifundefined{pgf at sh@ns@#1}
   {\pgfutil at ifundefined{pgf at sh@ns at 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 at ifundefined{pgf at sh@ns@#1}
-  {\pgferror{No shape named #1 is known}%
+  {\pgferror{No shape named `#1' is known}%
     \pgfpointorigin}%
   {%
     \pgf at 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}%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at glob@TMPa#1-#2-#3 #4\relax{#1/#2/#3}
 \xdef\pgfversiondate{\expandafter\pgf at glob@TMPa\pgfversiondatetime\relax}
 \xdef\pgfrevisiondate{\expandafter\pgf at glob@TMPa\pgfrevisiondatetime\relax}

Modified: trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def	2019-12-19 22:11:59 UTC (rev 53187)
@@ -307,21 +307,12 @@
 % Image Mask came from pgfsys-pdftex.def
 % generic/pgf/basiclayer/pgfcoreimage.code.tex must be modified!
 \def\pgfsys at defineimage{% width, height, page number
-  \ifx\includegraphics\undefined
-    \ifx\pgf at imagewidth\pgfutil at empty\edef\pgf at imagewidth{1bp}\fi% width?
-    \ifx\pgf at imageheight\pgfutil at empty\edef\pgf at imageheight{1bp}\fi% height?
-    \ifx\pgf at imagepage\pgfutil at empty\else\edef\pgf at imagepage{ page \pgf at imagepage}\fi%
-    \ifx\pgf at imageinterpolate\pgfutil at empty\else\edef\pgf at imageinterpolate{ /Interpolate\space\pgf at imageinterpolate}\fi%
-    \ifx\pgf at imagemask\pgfutil at empty\else\xdef\pgf at imagemask{ /SMask @\pgf at imagemask}\fi%
-    \edef\pgf at image{\noexpand\hbox to \pgf at imagewidth{\vbox to \pgf at imageheight{\vfil\special{pdf:image width \pgf at imagewidth\space height \pgf at imageheight\space\pgf at imagepage\space(\pgf at filename) <<\pgf at imageinterpolate\pgf at imagemask\space>>}}\hfil}}%
-  \else
-    \ifx\pgf at imagewidth\pgfutil at empty\else\edef\pgf at imagewidth{width=\pgf at imagewidth,}\fi%
-    \ifx\pgf at imageheight\pgfutil at empty\else\edef\pgf at imageheight{height=\pgf at imageheight,}\fi%
-    \ifx\pgf at imagepage\pgfutil at empty\else\edef\pgf at imagepage{page=\pgf at imagepage,}\fi%
-    \ifx\pgf at imageinterpolate\pgfutil at empty\else\edef\pgf at imageinterpolate{interpolate=\pgf at imageinterpolate,}\fi%
-    \ifx\pgf at imagemask\pgfutil at empty\else\xdef\pgf at imagemask{mask=\pgf at imagemask,}\fi%
-    \edef\pgf at image{\noexpand\includegraphics[\pgf at imageheight\pgf at imagewidth\pgf at imagepage\pgf at imageinterpolate\pgf at imagemask]{\pgf at filename}}%
-  \fi%
+  \ifx\pgf at imagewidth\pgfutil at empty\edef\pgf at imagewidth{1bp}\fi% width?
+  \ifx\pgf at imageheight\pgfutil at empty\edef\pgf at imageheight{1bp}\fi% height?
+  \ifx\pgf at imagepage\pgfutil at empty\else\edef\pgf at imagepage{ page \pgf at imagepage}\fi%
+  \ifx\pgf at imageinterpolate\pgfutil at empty\else\edef\pgf at imageinterpolate{ /Interpolate\space\pgf at imageinterpolate}\fi%
+  \ifx\pgf at imagemask\pgfutil at empty\else\xdef\pgf at imagemask{ /SMask @\pgf at imagemask}\fi%
+  \edef\pgf at image{\noexpand\hbox to \pgf at imagewidth{\vbox to \pgf at imageheight{\vfil\special{pdf:image width \pgf at imagewidth\space height \pgf at imageheight\space\pgf at imagepage\space(\pgf at filename) <<\pgf at imageinterpolate\pgf at imagemask\space>>}}\hfil}}%
 }
 \def\pgfsys at definemask#1{%
   \ifx\pgf at maskmatte\pgfutil at empty%
@@ -377,7 +368,7 @@
 
 % hook for xdvipdfmx:
 \def\pgfsys at dvipdfmx@patternobj#1{%
-    #1%
+    \pgfutil at insertatbegincurrentpagefrombox{#1}%
 }%
 
 % hook for xdvipdfmx:

Modified: trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -74,9 +74,9 @@
 }
 
 \long\def\pgfkeyssetevalue#1#2{%
-  \pgfkeys at temptoks={#2}%
-  \pgfkeys at temptoks=\scantokens\expandafter{\expandafter{\the\pgfkeys at temptoks}}%
-  \expandafter\edef\csname pgfk@#1\expandafter\endcsname\expandafter{\the\pgfkeys at temptoks}%
+  \edef\pgfkeys at temp##1##2##3##4##5##6##7##8##9{#2}%
+  \pgfkeys at temptoks=\expandafter{\pgfkeys at temp{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}{##9}}%
+  \expandafter\edef\csname pgfk@#1\endcsname{\the\pgfkeys at 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 at temp=\pgfkeyscurrentkey
+    \let\pgfkeys at tempa=\pgfkeyscurrentkey
     \let\pgfkeys at tempb=\pgfkeyscurrentname
       \edef\pgfkeyscurrentkey{\pgfkeyscurrentpath}%
       \pgfkeys at split@path%
-    \let\pgfkeyscurrentkey=\pgfkeys at temp
+    \let\pgfkeyscurrentkey=\pgfkeys at tempa
     \edef\pgfkeyscurrentname{\pgfkeyscurrentname/\pgfkeys at tempb}%
       \pgfkeys at unknown
   }%
@@ -958,6 +958,16 @@
 
 \long\def\pgfkeys at exp@call#1{\pgfkeysalso{\pgfkeyscurrentpath={#1}}}
 
+\def\pgfkeys at mathparse{%
+  \ifcsname pgfmathparse\endcsname
+    \expandafter\pgfmathparse
+  \else
+    \pgfkeys at error{You have to load `pgfmath' to use \string\pgfmathparse}%
+    \expandafter\def\expandafter\pgfmathresult
+  \fi
+}
+\pgfkeys{/handlers/.evaluated/.code=\pgfkeys at mathparse{#1}\expandafter\pgfkeys at exp@call\expandafter{\pgfmathresult}}
+
 % Try to set a key and do nothing if not define
 
 \newif\ifpgfkeyssuccess

Modified: trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -59,20 +59,16 @@
   \fi}
 
 % A variant of \pgfutil at ifundefined which will NOT let #1 to \relax it
-% is undefined. However, this macro is not expandable.
+% is undefined.
 \def\pgfutil at IfUndefined#1{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname#1\endcsname\relax
+  \ifcsname#1\endcsname
+    \expandafter\pgfutil at secondoftwo
+  \else
     \expandafter\pgfutil at firstoftwo
-  \else
-    \expandafter\pgfutil at secondoftwo
   \fi
 }
 \long\def\pgfutil at firstofone#1{#1}
 \long\def\pgfutil at firstoftwo#1#2{#1}
-\long\def\pgfutil at letfirst#1#2{\pgfutil at letfirst@#1#2\pgfutil at letfirst@end}
-\long\def\pgfutil at letfirst@#1#2#3\pgfutil at letfirst@end{\let#1=#2}
-\def\pgfutil at letfirst@end{}
 \long\def\pgfutil at secondoftwo#1#2{#2}
 \def\pgfutil at empty{}
 \long\def\pgfutil at gobble@until at relax#1\relax{}
@@ -215,6 +211,45 @@
 \let\pgfutil at repeat=\fi % this makes \loop...\if...\repeat skippable
 
 
+% \pgfutil at switch
+%
+% #1: string to switch on
+% #2: sequence of label-value pairs
+%
+% Example:
+%
+% \pgfutil at 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 at switch#1#2{%
+  \begingroup
+    \def\pgfutil at switch@selected{}%
+    \pgfutil at switch@collect at statements#2{}{}%
+    \ifcsname pgfutil at switch@choice@\detokenize{#1}\endcsname
+      \expandafter\let\expandafter\pgfutil at switch@selected\csname pgfutil at switch@choice@\detokenize{#1}\endcsname
+    \else
+      \ifdefined\pgfutil at switch@choice at default
+        \let\pgfutil at switch@selected\pgfutil at switch@choice at default
+      \fi
+    \fi
+  \expandafter\endgroup\pgfutil at switch@selected
+}
+
+\long\def\pgfutil at switch@collect at statements#1{%
+  \if\relax\detokenize{#1}\relax
+  \else
+    \afterassignment\pgfutil at switch@collect at statements
+    \expandafter\def\csname pgfutil at switch@choice@\detokenize{#1}\expandafter\endcsname
+  \fi
+}
+
+
 % aux-read-hook
 
 \let\pgfutil at aux@read at hook=\relax
@@ -709,7 +744,7 @@
                 \let\pgfmathresult=\pgfutil at empty
             \else
                 % xb := rb / bb (the modified rb and modified bb!)
-                \edef\pgf at marshal{
+                \edef\pgf at marshal{%
                     \noexpand\pgfmathfloatdivide@
                         {\csname r\Pb\endcsname}
                         {\csname m\Pb b\endcsname}%

Modified: trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-context.def	2019-12-19 22:11:59 UTC (rev 53187)
@@ -167,12 +167,13 @@
 \def\pgfutil at minipage[#1]#2{%
   \hbox to#2\bgroup
     \hsize=#2\relax
-    \vbox\bgroup\leavevmode
+    \vbox\bgroup
+      \noindentation
 }
 
 \def\pgfutil at endminipage{%
+    \egroup
   \egroup
-  \egroup
 }
 
 % global colors
@@ -225,7 +226,7 @@
 
 \doifmodeelse {mkiv} {
 
-    \def\pgfsysdriver{pgfsys-pdftex.def}
+    \def\pgfutil at guessdriver{\def\pgfsysdriver{pgfsys-luatex.def}}
 
     \def\pgfutil at driver@if at in#1#2{%
         \edef\pgf at marshal{\noexpand\pgfutil at in@{#1}{\preloadedspecials}}%
@@ -358,7 +359,7 @@
 
 \appendtoks \the\pgfutil at everybye \to \everybye
 
-\long\def\AtBeginDocument#1{#1}%
+\long\def\AtBeginDocument#1{\appendtoks#1\to\everystarttext}%
 
 % pgfcalendar uses translations
 

Modified: trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def	2019-12-19 22:11:59 UTC (rev 53187)
@@ -26,6 +26,15 @@
 
 \def\pgfutil at emu@rgb#1#2,#3,#4\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#3,#4}}}
 \def\pgfutil at emu@gray#1#2\@nil{\expandafter\def\csname\string\color@#1\endcsname{\xcolor@{}{}{rgb}{#2,#2,#2}}}
+\def\pgfutil at emu@RGB#1#2,#3,#4\@nil{%
+    \begingroup
+    \pgfmathdivide@{#2}{255}\let\pgfutil at emu@RGB at r\pgfmathresult
+    \pgfmathdivide@{#3}{255}\let\pgfutil at emu@RGB at g\pgfmathresult
+    \pgfmathdivide@{#4}{255}\let\pgfutil at emu@RGB at b\pgfmathresult
+    \edef\pgf at marshal{\def\expandafter\noexpand\csname\string\color@#1\endcsname{%
+        \noexpand\xcolor@{}{}{rgb}{\pgfutil at emu@RGB at r,\pgfutil at emu@RGB at g,\pgfutil at emu@RGB at b}}}%
+    \expandafter\endgroup\pgf at marshal
+}
 
 \pgfutil at definecolor{white}{gray}{1}
 \pgfutil at definecolor{black}{gray}{0}

Modified: trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at IfUndefined{cleanedhypertarget}{\let\cleanedhypertarget=\hypertarget}{}
-\pgfutil at 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 at 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 at temp
-    \expandafter\cleanedhyperlink\expandafter{\pgfmanual at temp.#1}{\pgfkeysvalueof{/pdflinks/render hyperlink/. at cmd}{#2}\pgfeov}%
+    \expandafter\hyperlink\expandafter{\pgfmanual at temp.#1}{\pgfkeysvalueof{/pdflinks/render hyperlink/. at cmd}{#2}\pgfeov}%
     \ifpgfmanualshowlabels
         \pgfkeysvalueof{/pdflinks/show labels code/. at cmd}{#1}\pgfeov
     \fi

Modified: trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex	2019-12-19 22:11:59 UTC (rev 53187)
@@ -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 at loc@delimittoken{#1}%
+    \def\pgfmanual at loc@delimittokens{#1}%
     \toksdef\t at afterpgfmanualprettyprinterhandlecollected=10
     \t at afterpgfmanualprettyprinterhandlecollected={#2}%
     %
@@ -758,6 +759,12 @@
     \pgfmanual at pretty@collectupto at 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 at pgfmanual@pretty at openbracecount by-1
                         \t at pgfmanual@currentarg=\expandafter{\the\t at pgfmanual@currentarg#1}%
                     \else
-                        \ifx\pgfmanual at loc@TMPc\pgfmanual at loc@delimittoken
+                        \expandafter\expandafter\expandafter\pgfutil at in@\expandafter\pgfmanual at loc@TMPc\expandafter{\pgfmanual at loc@delimittokens}%
+                        \ifpgfutil at in@
                             \ifnum\c at pgfmanual@pretty at openbracecount=0
                                 % do NOT include the delimit token.
                                 \edef\pgfmanual at pretty@collectupto at loop@NEXT{%
                                     \noexpand\endgroup
+                                    \noexpand\def\noexpand\pgfmanualprettyprinterterminator{\pgfmanual at loc@TMPc}%
                                     \noexpand\pgfmanualprettyprinterhandlecollectedargsVtwo{\the\t at pgfmanual@currentarg}{1}%
                                     \noexpand\pgfmanualprettyprintercollectupto at restore@callback
                                     \the\t at afterpgfmanualprettyprinterhandlecollected
@@ -1053,7 +1062,7 @@
         \if\pgfmanual at pretty@isconsumed0%
             \def\pgfmanualprettyprinterhandlecollectedargsVtwo##1##2{\pgfmanual at pretty@pgfkeys at processvalue{##1}}% the braces will be handled separately.
             \def\pgfmanual at pretty@pgfkeys at collectvalue@next{%
-                \pgfmanualprettyprintercollectupto,{\afterpgfmanual at pretty@collectargs at finish@value}#1%
+                \pgfmanualprettyprintercollectupto{,]}{\afterpgfmanual at pretty@collectargs at finish@value}#1%
             }%
         \fi
     \fi
@@ -1063,7 +1072,7 @@
     \pgfutil at ifnextchar\pgfmanual at EOI{%
         \pgfmanual at pretty@pgfkeys at loop
     }{%
-        \pgfmanual at pretty@pgfkeys at loop,% re-insert the gobbled comma here!
+        \expandafter\pgfmanual at pretty@pgfkeys at loop\pgfmanualprettyprinterterminator% re-insert the gobbled comma here!
     }%
 }%
 

Modified: trunk/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty	2019-12-19 19:10:54 UTC (rev 53186)
+++ trunk/Master/texmf-dist/tex/latex/pgf/utilities/tikzexternal.sty	2019-12-19 22:11:59 UTC (rev 53187)
@@ -69,6 +69,10 @@
 \def\tikz at opt@process#1#2{\tikzexternal at image}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+\def\pgf at marshal{\let\ifmeasuring@\iffalse}
+\ifdefined\ifmeasuring@\else
+    \expandafter\pgf at marshal
+\fi
 \def\tikzexternal at image{%
     \leavevmode
     \begingroup
@@ -80,7 +84,9 @@
         \t at tikzexternal@tmpb=\expandafter{\tikzexternal at figurename}%
         \count0=\csname c at tikzext@no@\tikzexternal at figurename\endcsname
         \xdef\tikzexternal at curfilename{\the\t at tikzexternal@tmpa\the\t at tikzexternal@tmpb\the\count0 }%
-        \advance\count0 by1\relax
+        \ifmeasuring@\else
+            \advance\count0 by1\relax
+        \fi
         \expandafter\xdef\csname c at tikzext@no@\tikzexternal at figurename\endcsname{\the\count0 }%
     \else
         \t at tikzexternal@tmpb=\expandafter{\tikzexternal at nextfile}%
@@ -87,7 +93,9 @@
         \xdef\tikzexternal at curfilename{\the\t at tikzexternal@tmpa\the\t at tikzexternal@tmpb}%
     \fi
     \endgroup
-    \global\let\tikzexternal at nextfile=\empty
+    \ifmeasuring@\else
+        \global\let\tikzexternal at nextfile=\empty
+    \fi
     \pgfincludeexternalgraphics\tikzexternal at curfilename
 }%
 \def\tikzset#1{}\def\pgfkeys#1{}\def\pgfqkeys#1#2{}



More information about the tex-live-commits mailing list