texlive[49607] Master/texmf-dist: pgf (5jan19)

commits+karl at tug.org commits+karl at tug.org
Sat Jan 5 23:40:38 CET 2019


Revision: 49607
          http://tug.org/svn/texlive?view=revision&revision=49607
Author:   karl
Date:     2019-01-05 23:40:38 +0100 (Sat, 05 Jan 2019)
Log Message:
-----------
pgf (5jan19)

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/images/brave-gnu-world-logo.25.eps
    trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.eps
    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-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-design.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-internalregisters.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.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-paths.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-plots.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-shadings.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-backend.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-algorithms-in-c.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-circular.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.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-phylogenetics.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.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-guidelines.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-installation.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-arrows.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-calc.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-fadings.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-petri.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.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-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-license.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-main.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-commands.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-design.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-oo.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pages.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-pgffor.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-commands.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.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-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-transformations.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-dvipdfm/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/Makefile
    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.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-vtex/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/Makefile
    trunk/Master/texmf-dist/source/generic/pgf/testsuite/mathtest/unittest_luamathparser.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.IEC.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.CDH.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.IEC.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.US.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.3d.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.barcharts.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/datavisualization/tikzlibrarydatavisualization.formats.functions.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.polar.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.sparklines.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.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/tikzlibrary3d.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryangles.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybabel.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybending.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/tikzlibrarycalendar.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarychains.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.footprints.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.fractals.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.markings.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.text.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryer.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfixedpointarithmetic.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfolding.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfpu.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/tikzlibrarylindenmayersystems.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymath.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.meta.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypetri.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplothandlers.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryscopes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadings.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.IEC.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.US.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.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/tikzlibrarysvg.path.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarythrough.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/bindings/Binding.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings/BindingToPGF.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/Tantau2012.lua
    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/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Anchoring.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/ComponentDirection.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/ComponentOrder.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Components.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Distances.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/FineTune.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/LayoutPipeline.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/NodeAnchors.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Orientation.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Sublayouts.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/control/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/control.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Cluster.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Edge.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Graph.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Iterators.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Node.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Vector.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/energybased/FastMultipoleEmbedder.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/GEMLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/MultilevelLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderFR.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderFRExact.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderKK.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/BarycenterPlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/CirclePlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/EdgeCoverMerger.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/IndependentSetMerger.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/LocalBiconnectedMerger.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/MatchingMerger.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/MedianPlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/RandomMerger.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/RandomPlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/SolarMerger.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/SolarPlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/multilevelmixer/ZeroPlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/BarycenterHeuristic.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/CoffmanGrahamRanking.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/DfsAcyclicSubgraph.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/FastHierarchyLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/FastSimpleHierarchyLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/GreedyCycleRemoval.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/GreedyInsertHeuristic.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/LongestPathRanking.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/MedianHeuristic.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/OptimalRanking.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SiftingHeuristic.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/layered/SplitHeuristic.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/doc/ogdf/layered.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/BalloonLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/CircularLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/AcyclicSubgraphModule.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/HierarchyLayoutModule.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/InitialPlacer.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/MultilevelBuilder.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/RankingModule.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/module/TwoLayerCrossMin.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity/PlanarizationLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleDemo.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/examples/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/CoarseGraph.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlCoarsening.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlElectric.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlIteration.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/force/QuadTree.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalHu2006.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalLayouts.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalWalshaw2000.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringHu2006.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringLayouts.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceCore.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToAlgorithms.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToC.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToDisplay.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/Scope.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CrossingMinimizationGansnerKNV1993.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990a.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990b.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalEadesLS1993.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalGansnerKNV1993.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/EdgeRoutingGansnerKNV1993.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NetworkSimplex.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodePositioningGansnerKNV1993.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingGansnerKNV1993.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingMinimumHeight.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Ranking.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Sugiyama.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/crossing_minimization.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/cycle_removal.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/edge_routing.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_positioning.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_ranking.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Bezier.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/DepthFirstSearch.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Direct.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Event.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/LookupTable.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PathLengths.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PriorityQueue.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Simplifiers.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Stack.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Storage.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Transform.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Arc.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Collection.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Coordinate.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Digraph.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Edge.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Hyperedge.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path_arced.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Vertex.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/model.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/Koerner2015.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/AuthorDefinedPhylogeny.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedMinimumEvolution.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedNearestNeighbourInterchange.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/DistanceMatrix.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/Maeusle2012.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/PhylogeneticTree.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/SokalMichener1958.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/Hints.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/NecklaceRouting.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/tools/make_gd_wrap.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/ReingoldTilford1981.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/graphdrawing/lua/pgf/gd/trees/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.circular.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.examples.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.force.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.layered.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.trees.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/tikzlibrarygraphdrawing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.formats.functions.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.polar.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.footprints.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.fractals.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.markings.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.text.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/luamath/pgf/luamath/functions.lua
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/luamath/pgf/luamath/parser.lua
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/luamath/pgflibraryluamath.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.spaced.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarycurvilinear.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryfixedpointarithmetic.code.tex
    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/pgflibrarylindenmayersystems.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryprofiler.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarysvg.path.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.ee.IEC.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.ee.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.IEC.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.US.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/lua/pgf/manual/DocumentParser.lua
    trunk/Master/texmf-dist/tex/generic/pgf/lua/pgf/manual.lua
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulebending.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulenonlineartransformations.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleoo.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleparser.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulesnakes.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmodulesorting.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvi.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvips.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-textures.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-vtex.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-xetex.def
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfcalendar.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.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-latex.def
    trunk/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def
    trunk/Master/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfarrows.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfautomata.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfheaps.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfnodes.sty
    trunk/Master/texmf-dist/tex/latex/pgf/compatibility/pgfshade.sty
    trunk/Master/texmf-dist/tex/latex/pgf/doc/pgfmanual.code.tex
    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/frontendlayer/libraries/tikzlibraryexternal.code.tex
    trunk/Master/texmf-dist/tex/latex/pgf/utilities/pgfpages.sty
    trunk/Master/texmf-dist/tex/latex/pgf/utilities/xxcolor.sty
    trunk/Master/texmf-dist/tex/plain/pgf/basiclayer/pgf.tex

Added Paths:
-----------
    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-library-rdf.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-pgfsys-animations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/Makefile
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.html
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.html
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-tan-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-x.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfmanual-sine.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfplotgnuplot-example.table
    trunk/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
    trunk/Master/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryrdf.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryviews.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GraphAnimationCoordination.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GreedyTemporalCycleRemoval.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Skambath2016.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Supergraph.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/SupergraphVertexSplitOptimization.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/TimeSpec.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/doc.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/layered.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlDeclare.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/BoyerMyrvold2004.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/Embedding.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/LinkedList.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/List.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PDP.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PlanarLayout.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/ShiftMethod.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/library.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/parameters.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar.lua
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/experimental/
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/tex/experimental/tikzlibrarygraphdrawing.evolving.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/libraries/pgflibrarytimelines.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/modules/pgfmoduleanimations.code.tex
    trunk/Master/texmf-dist/tex/generic/pgf/pgf.revision.tex
    trunk/Master/texmf-dist/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/Control.lua

Modified: trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/ChangeLog	2019-01-05 22:40:38 UTC (rev 49607)
@@ -1,11 +1,183 @@
+2019-01-05 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+	
+	- Release 3.1!
+
+2018-12-28 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- \pgfmathprintnumber: implemented 'retain unit mantissa=true|false' (feature #92)
+
+2018-12-30 Henri Menke
+
+	- fixed wrong projection of `canvas is xy plane at z` in `3d` library (bug #410)
+	- added documentation of `3d` library to the manual (support request #11)
+	- defined CMYK colors for ConTeXt (feature request #33)
+	- `text along path` decoration repeated last char multiple times when 
+	  this was in math mode (bug #479)
+
+2018-12-29 Henri Menke
+
+	- fixed accidental usage of `\rm` (bug #476)
+
+	2018-12-28 Henri Menke
+
+	- fixed newlines for tex4ht (bug #327)
+	- fixed bug that `fit` didn't work with `transform shape` (bug #330)
+	- fill color in nodes now respects colormodel (bug #349)
+	- fixed broken VTeX support (bug #350)
+	- `text=<color>` now works fine when in the nodes' text `\textcolor` is used (bug #362)
+
+2018-12-26 Henri Menke
+
+	- allowed whitespace between layers in `\pgfsetlayers` (bug #376)
+
+2018-12-25 Henri Menke
+
+	- fixed `\method` which can now contain empty lines (bug #448)
+	- manual improvement regarding `pgfoothis` (bug #452)
+	- documented commands `\pgfooeset`, `\pgfooappend`, `\pgfooprefix` (bug #452)
+
+2018-12-24 Henri Menke
+
+	- fixed bug in \pgfkeysedef (bug #306)
+	- `miter limit` now raises an error when a value < 1 is given (bug #347)
+	- fixed bug that `\pgfmathmax` and `pgfmathmin` were broken when
+	  `fixedpointarithmetic` library was loaded (bug #360)
+	- added missing function `\pgfmathpneg` in `fixedpointarithmetic` library (bug #361)
+	- fixed bug that brace decorations were malformed for large amplitudes (bug #351)
+	- made node parser aware of prefix and suffix (bug #397)
+
+2018-12-23 Henri Menke
+
+	- (almost) fixed guillemets for LuaTeX (bug #473)
+
+2018-12-21 Henri Menke
+
+	- fixed incorrect spelling in pgflibrarydecorations.text (bug #479)
+	  (but this doesn't solve the bug 100%)
+	- fixed 'bend left' bug if used with a formula (bug #423)
+	- use \typeout stream instead of \write16 (bug #488)
+	- fixed some bugs regarding graphdrawing electrical "springs" (bugs #380 and #381)
+
+	2018-12-20 Henri Menke
+
+	- fixed pgf_lookup_and_require for new luaotfload (bug #493)
+	- fixed graphdrawing for ConTeXt (bug #477)
+
+2018-04-30 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- added utility \pgfmathifexpression (and special treatment in luamath
+	library and	fpu library)
+
+2017-11-14 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- intersections lib: improved accuracy of intersections for linear paths
+
+2017-02-08 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- fixed incompatibility issue of tikzmath and fpu reported in 
+		http://tex.stackexchange.com/questions/349766/pgfplots-on-tikzmath-function-with-conditionals-returns-an-error
+
+2016-12-31 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- Improved driver detection (bug #395 TikZ does not create output with LuaTeX 0.95.0)
+	- New luatex driver now supports fallback to pdftex driver if
+	luatexversion is older than 95 (let's hope this works reliably - luatex
+	used to have version 240 some time ago!)
+
+2016-08-10 Till Tantau <tantau at users.sourceforge.net>
+
+	- Fixed bugs that caused pgfsys-dvips.def to generate corrupt
+	PostScript for all nodes.
+
+2016-07-16 Till Tantau <tantau at users.sourceforge.net>
+
+	- Bounding box computations for animations implemented.
+	- Animated arrow tips are now possible.
+
+2016-07-13 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- fixed incompatibility between textpos (absolute mode) and external
+
+2016-06-17 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- fixed \write18 issues in luatex 0.87 and later (by using os.execute())
+	  affects external lib and plot function.
+
+2016-03-31 Till Tantau <tantau at users.sourceforge.net>
+
+	- Lots of bugfixes in animation and svg code.
+	- Added optimizations to reduce file size for svg code
+	  (better support by dvisvgm will be needed however for more
+	  compact text!).
+
+2016-03-18 Till Tantau <tantau at users.sourceforge.net>
+
+	- First working, fully documented version of TikZ animations!
+
+2016-02-24 Till Tantau <tantau at users.sourceforge.net>
+
+	- Fixed manual stuff to compile it with dvisvgm.
+
+2016-02-02 Till Tantau <tantau at users.sourceforge.net>
+
+	- Rewrote tikz animation lib.
+
+2016-01-06 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- added context-related aux file fix of Hans Hagen
+
+2016-01-02 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- fixed save stack issues (eliminated 'retaining' issues) about pgf at x and pgf at y
+
+2015-12-29 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- external lib: 'force remake' now also updates .md5 files
+
+2015-11-28 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- fpu: fixed floor and ceil
+	- fixed basic layer floor function
+	- lua library: improved interoperability of luamath and fpu
+	- unit test now compares luamath, fpu, and pgfbasic math
+
+2015-11-15 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- activated math parser in foreach's end notation to allow \foreach \i in {0,...,10-9}
+
+2015-09-09 Till Tantau <tantau at users.sourceforge.net>
+
+	- Worked on pgfsys-dvisvgm.def a lot. Now requires
+	dvisvgm-1.5.3 because of switch from pt to bp there. Does
+	correct bounding box computations.
+
+2015-09-06 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
+
+	- fixed bug in luamath library
+
 2015-08-29 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
 
-	- Release 3.0.1a containing a corrected manual (the one of 3.0.1
-	accidentally deactivated examples in the manual)
+	- external lib: added support to automatically externalize references and
+	labels with 'mode=convert with system call'
 
+2015-08-24 Till Tantau <tantau at users.sourceforge.net>
+
+	- Reworked implementation of animations for tikz and started
+	on documentation of the backend.
+
+2015-08-20 Till Tantau <tantau at users.sourceforge.net>
+
+	- First complete implementation of animations for tikz! (for
+	svg backend). Documentation still missing, but works nicely.
+
+2015-08-13 Till Tantau <tantau at users.sourceforge.net>
+
+	- First work on animations for svg. Added commands in pgfsys
+	and added module pgfmoduleanimations. No documnetation yet.
+
 2015-08-07 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
 
-	- Release 3.0.1!	
+	- Release 3.0.1!
 
 2015-08-03 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
 
@@ -34,7 +206,7 @@
 2015-06-05 Till Tantau <tantau at users.sourceforge.net>
 
 	- Added number nodes option to graph lib.
-	
+
 2015-05-18 Till Tantau <tantau at users.sourceforge.net>
 
 	- Fixed nullfont warnings in axes in datavisualization.
@@ -41,7 +213,7 @@
 	- Fixed wrong axes for school book plots.
 
 2015-05-15 Mark Wibrow <vibrovski at users.sourceforge.net>
-	
+
 	- Fixed nullfont warnings when parsing logic gate inputs.
 
 2015-05-08 Till Tantau <tantau at users.sourceforge.net>
@@ -51,10 +223,10 @@
 	pgf at fillcolor@global over groups was done only in \pgfscope,
 	but not in the scopes opened and closed by tikz when drawing a
 	path (\pgfsys at beginscope is used there). This caused wrong
-	colors to be used. 
+	colors to be used.
 
 2015-05-08 Mark Wibrow <vibrovski at users.sourceforge.net>
-	
+
 	- Updated patterns.meta library.
 
 2015-05-02 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
@@ -86,7 +258,7 @@
 	functions works. I also added support for 'declare function'
 
 2014-10-11 Mark Wibrow <vibrovski at users.sourceforge.net>
-	
+
 	- Added provisional code for patterns.meta library. Patterns
         can now be declared using TikZ code with additional support
         for tile transformations. Currently only PDF output supported
@@ -111,7 +283,7 @@
 	- added automatic "fast lane" to math parser: if the input is a number
 	without units, it will return that as-is. Reduces typesetting time down to
 	66% for huge scatter plots and has just 1% overhead for math intensive
-	figures. 
+	figures.
 
 2014-06-22 Christian Feuersaenger <cfeuersaenger at users.sourceforge.net>
 
@@ -158,7 +330,7 @@
 	option "outer sep=auto", which takes care of both this problem
 	(at least in all normal cases) and also of the draw versus
 	fill problem with outer seps.
-	
+
 2014-03-20 Till Tantau <tantau at users.sourceforge.net>
 
 	- Fixed #285 \tikz at intersect@namedpaths persists outside
@@ -166,7 +338,7 @@
 	- Fixed #284 Additional rerun statement for overlays (for LyX)
 	by adding the proposed solution (essentially).
 	- Added post-fix for #288 by undoing all -- ligatures in
-	verbatim code. 
+	verbatim code.
 
 2014-03-19 Till Tantau <tantau at users.sourceforge.net>
 
@@ -175,7 +347,7 @@
 	- Fixed #288 "All the '£' should be '$' in the examples of
 	pgfmanual..." by switching to T1 enconding.
 	- Fixed #282 "\pgfmathredeclarefunction does not work properly."
-	
+
 2014-02-24 Till Tantau <tantau at users.sourceforge.net>
 
 	- Added first edge routing algorithm to gd.

Modified: trunk/Master/texmf-dist/doc/generic/pgf/FILES
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/FILES	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/FILES	2019-01-05 22:40:38 UTC (rev 49607)
@@ -1,721 +1,772 @@
-pgf/doc/generic/pgf/images/brave-gnu-world-logo-mask.jpg
-pgf/doc/generic/pgf/images/brave-gnu-world-logo-mask.bb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.bb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.eps
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.jpg
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.bb
-pgf/doc/generic/pgf/images/brave-gnu-world-logo.eps
-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/pgfmanual-mindmap-1.pdf
-pgf/doc/generic/pgf/images/pgfmanual-mindmap-2.pdf
-pgf/doc/generic/pgf/licenses/LICENSE
-pgf/doc/generic/pgf/licenses/gnu-free-documentation-license-1.2.txt
-pgf/doc/generic/pgf/licenses/gnu-public-license-2.txt
-pgf/doc/generic/pgf/licenses/latex-project-public-license-1.3c.txt
-pgf/doc/generic/pgf/licenses/manifest-code.txt
-pgf/doc/generic/pgf/licenses/manifest-documentation.txt
-pgf/doc/generic/pgf/macros/pgfmanual-en-macros.tex
-pgf/doc/generic/pgf/text-en/plots/pgfmanual-sine.table
-pgf/doc/generic/pgf/text-en/plots/pgf-x.table
-pgf/doc/generic/pgf/text-en/plots/pgf-asymptotic-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-asymptotic-example.table
-pgf/doc/generic/pgf/text-en/plots/pgf-exp.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-exp.table
-pgf/doc/generic/pgf/text-en/plots/pgf-parametric-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-parametric-example.table
-pgf/doc/generic/pgf/text-en/plots/pgf-sin.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-sin.table
-pgf/doc/generic/pgf/text-en/plots/pgf-tan-example.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgf-tan-example.table
-pgf/doc/generic/pgf/text-en/plots/pgf-x.gnuplot
-pgf/doc/generic/pgf/text-en/plots/pgfplotgnuplot-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/pgfmanual-en-base-decorations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-points.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-base-transformations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-installation.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-calc.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-license.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-main.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-oo.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pages.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
-pgf/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
-pgf/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-dvipdfm/en/Makefile
-pgf/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg
-pgf/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-dvipdfmx/en/Makefile
-pgf/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
-pgf/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
-pgf/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-dvips/en/Makefile
-pgf/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg
-pgf/doc/generic/pgf/version-for-luatex/en/Makefile
-pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
-pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
-pgf/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-pdftex/en/Makefile
-pgf/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
-pgf/doc/generic/pgf/version-for-tex4ht/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-tex4ht/en/Makefile
-pgf/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
-pgf/doc/generic/pgf/version-for-vtex/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-vtex/en/Makefile
-pgf/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg
-pgf/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex
-pgf/doc/generic/pgf/version-for-xetex/en/Makefile
-pgf/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg
-pgf/doc/generic/pgf/ChangeLog
-pgf/doc/generic/pgf/AUTHORS
-pgf/doc/generic/pgf/pgfmanual.pdf
-pgf/doc/generic/pgf/FILES
-pgf/doc/generic/pgf/INSTALL
-pgf/doc/generic/pgf/README
-pgf/doc/generic/pgf/README-3.0.0
-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-pgfbla.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbma.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfbpl.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-pgfbsn.tex
-pgf/tex/context/third/pgf/basiclayer/t-pgfcor.tex
-pgf/tex/context/third/pgf/frontendlayer/t-tikz.tex
-pgf/tex/context/third/pgf/math/t-pgfmat.tex
-pgf/tex/context/third/pgf/systemlayer/t-pgfsys.tex
-pgf/tex/context/third/pgf/utilities/t-pgfcal.tex
-pgf/tex/context/third/pgf/utilities/t-pgffor.tex
-pgf/tex/context/third/pgf/utilities/t-pgfkey.tex
-pgf/tex/context/third/pgf/utilities/t-pgfmod.tex
-pgf/tex/context/third/pgf/utilities/t-pgfrcs.tex
-pgf/tex/latex/pgf/basiclayer/pgfbaseimage.sty
-pgf/tex/latex/pgf/basiclayer/pgf.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaselayers.sty
-pgf/tex/latex/pgf/basiclayer/pgfbasematrix.sty
-pgf/tex/latex/pgf/basiclayer/pgfbasepatterns.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaseplot.sty
-pgf/tex/latex/pgf/basiclayer/pgfbaseshapes.sty
-pgf/tex/latex/pgf/basiclayer/pgfbasesnakes.sty
-pgf/tex/latex/pgf/basiclayer/pgfcore.sty
-pgf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
-pgf/tex/latex/pgf/compatibility/pgfarrows.sty
-pgf/tex/latex/pgf/compatibility/pgfautomata.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty
-pgf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
-pgf/tex/latex/pgf/compatibility/pgfheaps.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryarrows.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryautomata.sty
-pgf/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty
-pgf/tex/latex/pgf/compatibility/pgflibraryshapes.sty
-pgf/tex/latex/pgf/compatibility/pgflibrarysnakes.sty
-pgf/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty
-pgf/tex/latex/pgf/compatibility/pgfnodes.sty
-pgf/tex/latex/pgf/compatibility/pgfshade.sty
-pgf/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
-pgf/tex/latex/pgf/doc/pgfmanual.code.tex
-pgf/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
-pgf/tex/latex/pgf/doc/pgfmanual.sty
-pgf/tex/latex/pgf/frontendlayer/libraries/tikzlibraryexternal.code.tex
-pgf/tex/latex/pgf/frontendlayer/pgfpict2e.sty
-pgf/tex/latex/pgf/frontendlayer/tikz.sty
-pgf/tex/latex/pgf/math/pgfmath.sty
-pgf/tex/latex/pgf/systemlayer/pgfsys.sty
-pgf/tex/latex/pgf/utilities/pgfcalendar.sty
-pgf/tex/latex/pgf/utilities/pgffor.sty
-pgf/tex/latex/pgf/utilities/pgfkeys.sty
-pgf/tex/latex/pgf/utilities/pgfpages.sty
-pgf/tex/latex/pgf/utilities/pgfrcs.sty
-pgf/tex/latex/pgf/utilities/tikzexternal.sty
-pgf/tex/latex/pgf/utilities/xxcolor.sty
-pgf/tex/plain/pgf/basiclayer/pgfbaseimage.tex
-pgf/tex/plain/pgf/basiclayer/pgf.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaselayers.tex
-pgf/tex/plain/pgf/basiclayer/pgfbasematrix.tex
-pgf/tex/plain/pgf/basiclayer/pgfbasepatterns.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaseplot.tex
-pgf/tex/plain/pgf/basiclayer/pgfbaseshapes.tex
-pgf/tex/plain/pgf/basiclayer/pgfbasesnakes.tex
-pgf/tex/plain/pgf/basiclayer/pgfcore.tex
-pgf/tex/plain/pgf/frontendlayer/tikz.tex
-pgf/tex/plain/pgf/math/pgfmath.tex
-pgf/tex/plain/pgf/systemlayer/pgfsys.tex
-pgf/tex/plain/pgf/utilities/pgfcalendar.tex
-pgf/tex/plain/pgf/utilities/pgffor.tex
-pgf/tex/plain/pgf/utilities/pgfkeys.tex
-pgf/tex/plain/pgf/utilities/pgfrcs.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcore.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
-pgf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
+pgf/.travis.yml
+pgf/source/generic/pgf/testsuite/external/tikzexternaltest.sharedpreamble.tex
+pgf/source/generic/pgf/testsuite/external/Makefile
+pgf/source/generic/pgf/testsuite/external/tikzexternaltestmakefile.tex
+pgf/source/generic/pgf/testsuite/external/tikzexternaltest.code.tex
+pgf/source/generic/pgf/testsuite/external/tikzexternaltest.tex
+pgf/source/generic/pgf/testsuite/mathtest/unittest_luamathparser.tex
+pgf/source/generic/pgf/testsuite/mathtest/pgfmathtestsuite.tex
+pgf/source/generic/pgf/c/INSTALL
+pgf/source/generic/pgf/c/config/ExampleLocalMakefileConfig.mk
+pgf/source/generic/pgf/c/config/MakefileConfig.mk
+pgf/source/generic/pgf/c/Makefile
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/Makefile
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoCPlusPlus.c++
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoC.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/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/ogdf/c/planarity/PlanarizationLayout_script.h
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/planarity/planarity_script.h
+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/SpringEmbedderKK_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/MultilevelLayout_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/IndependentSetMerger_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/MedianPlacer_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/SolarMerger_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/RandomPlacer_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/BarycenterPlacer_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/energybased/GEMLayout_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/SpringEmbedderFR_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/BarycenterHeuristic_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/layered/GreedyInsertHeuristic_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/OptimalRanking_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/SplitHeuristic_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/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/DfsAcyclicSubgraph_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/SimpleDemoOGDF.c++
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/Makefile
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/module/module_script.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/BalloonLayout_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/InterfaceFromOGDF.c++
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/ogdf_script.c++
+pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.h
+pgf/tex/generic/pgf/modules/pgfmoduleparser.code.tex
+pgf/tex/generic/pgf/modules/pgfmodulesnakes.code.tex
+pgf/tex/generic/pgf/modules/pgfmodulematrix.code.tex
+pgf/tex/generic/pgf/modules/pgfmodulebending.code.tex
+pgf/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
+pgf/tex/generic/pgf/modules/pgfmoduleanimations.code.tex
+pgf/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
+pgf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
+pgf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+pgf/tex/generic/pgf/modules/pgfmodulesorting.code.tex
+pgf/tex/generic/pgf/modules/pgfmoduleoo.code.tex
+pgf/tex/generic/pgf/modules/pgfmodulenonlineartransformations.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarychains.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.IEC.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarythrough.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadings.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarylindenmayersystems.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfolding.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.US.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.ee.IEC.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.logic.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.IEC.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/circuits/tikzlibrarycircuits.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.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.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryviews.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybabel.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.footprints.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.fractals.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryanimations.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary3d.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfixedpointarithmetic.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybending.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.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/tikzlibrarydecorations.pathmorphing.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/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.3d.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/datavisualization/tikzlibrarydatavisualization.sparklines.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.standard.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/graphs/tikzlibrarygraphs.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybackgrounds.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary3d.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryangles.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryautomata.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybabel.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.meta.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarybending.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarychains.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.footprints.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.fractals.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.markings.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.IEC.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.text.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryer.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfixedpointarithmetic.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfolding.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfpu.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryintersections.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarylindenmayersystems.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymath.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/tikzlibrarypetri.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymatrix.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarymindmap.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.text.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.meta.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypetri.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplothandlers.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryquotes.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalendar.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryscopes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadings.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.gates.logic.US.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryspy.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
 pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysvg.path.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarythrough.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytrees.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryturtle.code.tex
-pgf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
+pgf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryangles.code.tex
+pgf/tex/generic/pgf/pgf.revision.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcore.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
+pgf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
+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.trees.code.tex
+pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.circular.code.tex
+pgf/tex/generic/pgf/graphdrawing/tex/tikzlibrarygraphdrawing.code.tex
+pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.layered.code.tex
+pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.examples.code.tex
+pgf/tex/generic/pgf/graphdrawing/tex/experimental/tikzlibrarygraphdrawing.evolving.code.tex
+pgf/tex/generic/pgf/graphdrawing/lua/LUA_CODING_STYLE
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleEdgeDemo.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/ASCIIDisplayer.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleHuffman.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/BindingToASCII.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/example_graph_for_ascii_displayer.txt
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/SimpleDemo.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/tools/make_gd_wrap.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Node.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Edge.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Cluster.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Vector.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/bindings/BindingToPGF.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings/Binding.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/control/NodeAnchors.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/FineTune.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/library.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentAlign.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/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDirection.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Components.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/ComponentDistance.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/control/ComponentOrder.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Components.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Distances.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/FineTune.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/LayoutPipeline.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/NodeAnchors.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/doc.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Orientation.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Sublayouts.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Iterators.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/deprecated/Graph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Vector.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/deprecated/Node.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control/Anchoring.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalEadesLS1993.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Ranking.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Sugiyama.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/node_ranking.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NetworkSimplex.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/edge_routing.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodePositioningGansnerKNV1993.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990b.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_positioning.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalGansnerKNV1993.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalBergerS1990a.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/crossing_minimization.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/cycle_removal.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/Embedding.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PlanarLayout.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/PDP.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/LinkedList.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/List.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/BoyerMyrvold2004.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/ShiftMethod.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/planar/parameters.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/routing/NecklaceRouting.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/library.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/doc.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity/PlanarizationLayout.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout.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/FMMMLayout.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/multilevelmixer/MedianPlacer.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/BarycenterPlacer.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/MatchingMerger.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/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/EdgeCoverMerger.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/EdgeCoverMerger.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/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/ZeroPlacer.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/RandomPlacer.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/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/MultilevelLayout.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/FastMultipoleEmbedder.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/SpringEmbedderFR.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased/SpringEmbedderKK.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/LongestPathRanking.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/BarycenterHeuristic.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/FastSimpleHierarchyLayout.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/DfsAcyclicSubgraph.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/CoffmanGrahamRanking.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/SplitHeuristic.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/FastHierarchyLayout.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/GreedyCycleRemoval.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/MedianHeuristic.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/SiftingHeuristic.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/misclayout/BalloonLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout/CircularLayout.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/RankingModule.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/InitialPlacer.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/MultilevelBuilder.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/TwoLayerCrossMin.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity/PlanarizationLayout.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased.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/doc/ogdf/layered.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/misclayout.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/planarity.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/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/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples/example_graph_for_ascii_displayer.txt
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityCloseness.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc/ogdf/energybased.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees/Koerner2015.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Edge.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Arc.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/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Digraph.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Collection.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path_arced.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Hyperedge.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Bezier.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Stack.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PathLengths.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Simplifiers.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Transform.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Event.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/LookupTable.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Direct.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Storage.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PriorityQueue.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/DepthFirstSearch.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular/library.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/doc.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/QuadTree.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringLayouts.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalWalshaw2000.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalHu2006.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/CoarseGraph.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlElectric.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringHu2006.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlCoarsening.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalLayouts.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/library.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/ForcePullToPoint.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/ForceGraphDistance.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/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/base/InitialTemplate.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/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/algorithms/SimpleSpring.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityDegree.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/ForceController.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/InitialTemplate.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/PathLengthsFW.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/base/Preprocessing.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/ForceCanvasDistance.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/ForceGraphDistance.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/HuSpringElectricalFW.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/algorithms/SocialGravityCloseness.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/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/jedi/library.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/jedi/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlCoarsening.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/CoarseGraph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/Control.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalHu2006.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlElectric.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlIteration.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlSprings.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/ControlStart.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/QuadTree.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalWalshaw2000.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringElectricalLayouts.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringLayouts.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/SpringHu2006.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToAlgorithms.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/TimeSpec.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Supergraph.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GraphAnimationCoordination.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/GreedyTemporalCycleRemoval.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/Skambath2016.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/experimental/evolving/layered.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/phylogenetics/AuthorDefinedPhylogeny.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/Maeusle2012.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/DistanceMatrix.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/SokalMichener1958.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedNearestNeighbourInterchange.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/PhylogeneticTree.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedMinimumEvolution.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceCore.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToDisplay.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToC.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToAlgorithms.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/Scope.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/cycle_removal.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Ranking.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/CycleRemovalBergerS1990b.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalEadesLS1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/CycleRemovalGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/EdgeRoutingGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NetworkSimplex.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodePositioningGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingGansnerKNV1993.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/NodeRankingMinimumHeight.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/Sugiyama.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/crossing_minimization.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/edge_routing.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_positioning.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered/node_ranking.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/LookupTable.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Direct.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Event.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PriorityQueue.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/PathLengths.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib/Simplifiers.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/Transform.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Collection.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Arc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Coordinate.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Digraph.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Edge.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Hyperedge.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Path_arced.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/Vertex.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model/library.lua
+pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface/InterfaceToDisplay.lua
 pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf/library.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/phylogenetics/AuthorDefinedPhylogeny.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedMinimumEvolution.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/DistanceMatrix.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/Maeusle2012.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/BalancedNearestNeighbourInterchange.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/PhylogeneticTree.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/SokalMichener1958.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics/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/tools/make_gd_wrap.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ReingoldTilford1981.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/ChildSpec.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/library.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees/SpanningTreeComputation.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/interface.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/bindings.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/circular.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/control.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/doc.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/examples.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/force.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/pedigrees.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/layered.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/model.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/ogdf.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/phylogenetics.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/routing.lua
-pgf/tex/generic/pgf/graphdrawing/lua/pgf/gd/trees.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.circular.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.examples.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.force.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.layered.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.trees.code.tex
-pgf/tex/generic/pgf/graphdrawing/tex/tikzlibrarygraphdrawing.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/datavisualization/pgflibrarydatavisualization.polar.code.tex
-pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.footprints.code.tex
+pgf/tex/generic/pgf/libraries/pgflibrarysvg.path.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/pgflibrarypatterns.meta.code.tex
+pgf/tex/generic/pgf/libraries/pgflibrarycurvilinear.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
+pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
+pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.markings.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.pathreplacing.code.tex
 pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.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.footprints.code.tex
 pgf/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.text.code.tex
-pgf/tex/generic/pgf/libraries/luamath/pgf/luamath/functions.lua
-pgf/tex/generic/pgf/libraries/luamath/pgf/luamath/parser.lua
-pgf/tex/generic/pgf/libraries/luamath/pgflibraryluamath.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.IEC.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryfadings.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryarrows.spaced.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryprofiler.code.tex
+pgf/tex/generic/pgf/libraries/pgflibrarylindenmayersystems.code.tex
+pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex
+pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex
+pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.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.US.code.tex
-pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
+pgf/tex/generic/pgf/libraries/shapes/circuits/pgflibraryshapes.gates.logic.IEC.code.tex
 pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.code.tex
+pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex
 pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex
-pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
+pgf/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
 pgf/tex/generic/pgf/libraries/pgflibraryfixedpointarithmetic.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryarrows.spaced.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarycurvilinear.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryfadings.code.tex
+pgf/tex/generic/pgf/libraries/datavisualization/pgflibrarydatavisualization.barcharts.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/pgflibrarypatterns.code.tex
 pgf/tex/generic/pgf/libraries/pgflibraryintersections.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
+pgf/tex/generic/pgf/libraries/pgflibrarytimelines.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
 pgf/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarylindenmayersystems.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarypatterns.meta.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryprofiler.code.tex
-pgf/tex/generic/pgf/libraries/pgflibraryshadings.code.tex
+pgf/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
 pgf/tex/generic/pgf/libraries/pgflibrarysnakes.code.tex
-pgf/tex/generic/pgf/libraries/pgflibrarysvg.path.code.tex
-pgf/tex/generic/pgf/lua/pgf/manual/DocumentParser.lua
-pgf/tex/generic/pgf/lua/pgf/manual.lua
+pgf/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
+pgf/tex/generic/pgf/math/pgfmathutil.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
+pgf/tex/generic/pgf/math/pgfmathode.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
 pgf/tex/generic/pgf/math/pgfmathcalc.code.tex
 pgf/tex/generic/pgf/math/pgfmath.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
 pgf/tex/generic/pgf/math/pgfmathfloat.code.tex
+pgf/tex/generic/pgf/math/pgfmathfunctions.code.tex
 pgf/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
-pgf/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
-pgf/tex/generic/pgf/math/pgfmathode.code.tex
 pgf/tex/generic/pgf/math/pgfmathparser.code.tex
-pgf/tex/generic/pgf/math/pgfmathutil.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduledatavisualization.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulebending.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulematrix.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleoo.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleparser.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulenonlineartransformations.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
-pgf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulesnakes.code.tex
-pgf/tex/generic/pgf/modules/pgfmodulesorting.code.tex
+pgf/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
 pgf/tex/generic/pgf/systemlayer/pgfsys-dvi.def
-pgf/tex/generic/pgf/systemlayer/pgf.cfg
+pgf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
+pgf/tex/generic/pgf/systemlayer/pgfsys-luatex.def
+pgf/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
+pgf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
 pgf/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
+pgf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
+pgf/tex/generic/pgf/systemlayer/pgfsys-vtex.def
 pgf/tex/generic/pgf/systemlayer/pgfsys-common-svg.def
 pgf/tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
 pgf/tex/generic/pgf/systemlayer/pgfsys-dvips.def
+pgf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
+pgf/tex/generic/pgf/systemlayer/pgfsys-common-postscript.def
+pgf/tex/generic/pgf/systemlayer/pgf.cfg
+pgf/tex/generic/pgf/systemlayer/pgfsys-textures.def
+pgf/tex/generic/pgf/systemlayer/pgfsys.code.tex
 pgf/tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-textures.def
-pgf/tex/generic/pgf/systemlayer/pgfsys-vtex.def
+pgf/tex/generic/pgf/systemlayer/pgfsysanimations.code.tex
 pgf/tex/generic/pgf/systemlayer/pgfsys-xetex.def
-pgf/tex/generic/pgf/systemlayer/pgfsys.code.tex
-pgf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
-pgf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
-pgf/tex/generic/pgf/utilities/pgfexternalwithdepth.tex
-pgf/tex/generic/pgf/utilities/pgfcalendar.code.tex
 pgf/tex/generic/pgf/utilities/pgfexternal.tex
 pgf/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
-pgf/tex/generic/pgf/utilities/pgffor.code.tex
+pgf/tex/generic/pgf/utilities/pgfutil-plain.def
+pgf/tex/generic/pgf/utilities/pgfutil-common-lists.tex
 pgf/tex/generic/pgf/utilities/pgfkeys.code.tex
-pgf/tex/generic/pgf/utilities/pgfutil-common-lists.tex
+pgf/tex/generic/pgf/utilities/pgfcalendar.code.tex
 pgf/tex/generic/pgf/utilities/pgfrcs.code.tex
 pgf/tex/generic/pgf/utilities/pgfutil-common.tex
 pgf/tex/generic/pgf/utilities/pgfutil-context.def
+pgf/tex/generic/pgf/utilities/pgfexternalwithdepth.tex
 pgf/tex/generic/pgf/utilities/pgfutil-latex.def
-pgf/tex/generic/pgf/utilities/pgfutil-plain.def
-pgf/source/generic/pgf/c/config/ExampleLocalMakefileConfig.mk
-pgf/source/generic/pgf/c/config/MakefileConfig.mk
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoC.c
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/Makefile
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/examples/c/SimpleDemoCPlusPlus.c++
-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/interface/c/InterfaceFromC.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/interface/c/Makefile
-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/BarycenterPlacer_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/EdgeCoverMerger_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/MatchingMerger_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/RandomMerger_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/SolarMerger_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/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/MultilevelLayout_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/GEMLayout_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/SpringEmbedderFRExact_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/energybased_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/BarycenterHeuristic_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/layered/DfsAcyclicSubgraph_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/GreedyInsertHeuristic_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/LongestPathRanking_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/OptimalRanking_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/SplitHeuristic_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/misclayout/BalloonLayout_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/misclayout_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/planarity/PlanarizationLayout_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/planarity/planarity_script.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/ogdf_script.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/Makefile
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.c++
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/InterfaceFromOGDF.h
-pgf/source/generic/pgf/c/graphdrawing/pgf/gd/ogdf/c/SimpleDemoOGDF.c++
-pgf/source/generic/pgf/c/INSTALL
-pgf/source/generic/pgf/c/Makefile
-pgf/source/generic/pgf/testsuite/external/Makefile
-pgf/source/generic/pgf/testsuite/external/tikzexternaltest.sharedpreamble.tex
-pgf/source/generic/pgf/testsuite/external/tikzexternaltest.code.tex
-pgf/source/generic/pgf/testsuite/external/tikzexternaltestmakefile.tex
-pgf/source/generic/pgf/testsuite/external/tikzexternaltest.tex
-pgf/source/generic/pgf/testsuite/mathtest/unittest_luamathparser.tex
-pgf/source/generic/pgf/testsuite/mathtest/pgfmathtestsuite.tex
+pgf/tex/generic/pgf/utilities/pgffor.code.tex
+pgf/tex/generic/pgf/lua/pgf/manual/DocumentParser.lua
+pgf/tex/generic/pgf/lua/pgf/manual.lua
+pgf/tex/context/third/pgf/frontendlayer/t-tikz.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbla.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbpt.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbpl.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbma.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfcor.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgf.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbsh.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbim.tex
+pgf/tex/context/third/pgf/basiclayer/t-pgfbsn.tex
+pgf/tex/context/third/pgf/math/t-pgfmat.tex
+pgf/tex/context/third/pgf/systemlayer/t-pgfsys.tex
+pgf/tex/context/third/pgf/utilities/t-pgfmod.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-pgffor.tex
+pgf/tex/context/third/pgf/utilities/t-pgfcal.tex
+pgf/tex/plain/pgf/frontendlayer/tikz.tex
+pgf/tex/plain/pgf/basiclayer/pgfbaseplot.tex
+pgf/tex/plain/pgf/basiclayer/pgf.tex
+pgf/tex/plain/pgf/basiclayer/pgfbasesnakes.tex
+pgf/tex/plain/pgf/basiclayer/pgfbaseshapes.tex
+pgf/tex/plain/pgf/basiclayer/pgfbaseimage.tex
+pgf/tex/plain/pgf/basiclayer/pgfbaselayers.tex
+pgf/tex/plain/pgf/basiclayer/pgfbasematrix.tex
+pgf/tex/plain/pgf/basiclayer/pgfbasepatterns.tex
+pgf/tex/plain/pgf/basiclayer/pgfcore.tex
+pgf/tex/plain/pgf/math/pgfmath.tex
+pgf/tex/plain/pgf/systemlayer/pgfsys.tex
+pgf/tex/plain/pgf/utilities/pgffor.tex
+pgf/tex/plain/pgf/utilities/pgfrcs.tex
+pgf/tex/plain/pgf/utilities/pgfkeys.tex
+pgf/tex/plain/pgf/utilities/pgfcalendar.tex
+pgf/tex/latex/pgf/frontendlayer/tikz.sty
+pgf/tex/latex/pgf/frontendlayer/pgfpict2e.sty
+pgf/tex/latex/pgf/frontendlayer/libraries/tikzlibraryexternal.code.tex
+pgf/tex/latex/pgf/compatibility/pgfheaps.sty
+pgf/tex/latex/pgf/compatibility/pgfnodes.sty
+pgf/tex/latex/pgf/compatibility/pgflibraryarrows.sty
+pgf/tex/latex/pgf/compatibility/pgflibraryplothandlers.sty
+pgf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
+pgf/tex/latex/pgf/compatibility/pgflibrarytikztrees.sty
+pgf/tex/latex/pgf/compatibility/pgfautomata.sty
+pgf/tex/latex/pgf/compatibility/pgfshade.sty
+pgf/tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty
+pgf/tex/latex/pgf/compatibility/pgflibraryautomata.sty
+pgf/tex/latex/pgf/compatibility/pgflibraryplotmarks.sty
+pgf/tex/latex/pgf/compatibility/pgfarrows.sty
+pgf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
+pgf/tex/latex/pgf/compatibility/pgflibraryshapes.sty
+pgf/tex/latex/pgf/compatibility/pgflibrarysnakes.sty
+pgf/tex/latex/pgf/basiclayer/pgfbasepatterns.sty
+pgf/tex/latex/pgf/basiclayer/pgfcore.sty
+pgf/tex/latex/pgf/basiclayer/pgfbaseshapes.sty
+pgf/tex/latex/pgf/basiclayer/pgfbasesnakes.sty
+pgf/tex/latex/pgf/basiclayer/pgf.sty
+pgf/tex/latex/pgf/basiclayer/pgfbaseimage.sty
+pgf/tex/latex/pgf/basiclayer/pgfbasematrix.sty
+pgf/tex/latex/pgf/basiclayer/pgfbaselayers.sty
+pgf/tex/latex/pgf/basiclayer/pgfbaseplot.sty
+pgf/tex/latex/pgf/doc/pgfmanual.code.tex
+pgf/tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
+pgf/tex/latex/pgf/doc/pgfmanual.sty
+pgf/tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
+pgf/tex/latex/pgf/math/pgfmath.sty
+pgf/tex/latex/pgf/systemlayer/pgfsys.sty
+pgf/tex/latex/pgf/utilities/pgfcalendar.sty
+pgf/tex/latex/pgf/utilities/pgfpages.sty
+pgf/tex/latex/pgf/utilities/pgffor.sty
+pgf/tex/latex/pgf/utilities/pgfkeys.sty
+pgf/tex/latex/pgf/utilities/tikzexternal.sty
+pgf/tex/latex/pgf/utilities/xxcolor.sty
+pgf/tex/latex/pgf/utilities/pgfrcs.sty
+pgf/doc/generic/pgf/licenses/LICENSE
+pgf/doc/generic/pgf/licenses/latex-project-public-license-1.3c.txt
+pgf/doc/generic/pgf/licenses/gnu-free-documentation-license-1.2.txt
+pgf/doc/generic/pgf/licenses/gnu-public-license-2.txt
+pgf/doc/generic/pgf/licenses/manifest-documentation.txt
+pgf/doc/generic/pgf/licenses/manifest-code.txt
+pgf/doc/generic/pgf/macros/pgfmanual-en-macros.tex
+pgf/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
+pgf/doc/generic/pgf/version-for-luatex/en/Makefile
+pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
+pgf/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
+pgf/doc/generic/pgf/FILES
+pgf/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
+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-dvipdfmx/en/pgfmanual-test.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-3.0.0
+pgf/doc/generic/pgf/INSTALL
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.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/text-en/pgfmanual-en-gd-usage-tikz.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.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-gd-examples.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-oo.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-main.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-pages.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-license.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-calc.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-math-numberprinting.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
+pgf/doc/generic/pgf/text-en/plots/pgfplotgnuplot-example.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgfmanual-sine.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgfmanual-sine.table
+pgf/doc/generic/pgf/text-en/plots/pgf-exp.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgf-tan-example.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgf-asymptotic-example.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgf-asymptotic-example.table
+pgf/doc/generic/pgf/text-en/plots/pgf-sin.table
+pgf/doc/generic/pgf/text-en/plots/pgf-parametric-example.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgfplotgnuplot-example.table
+pgf/doc/generic/pgf/text-en/plots/pgf-tan-example.table
+pgf/doc/generic/pgf/text-en/plots/pgf-x.table
+pgf/doc/generic/pgf/text-en/plots/pgf-x.gnuplot
+pgf/doc/generic/pgf/text-en/plots/pgf-exp.table
+pgf/doc/generic/pgf/text-en/plots/pgf-parametric-example.table
+pgf/doc/generic/pgf/text-en/plots/pgf-sin.gnuplot
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-installation.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
+pgf/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
+pgf/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
+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-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/ChangeLog
+pgf/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
+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-dvisvgm/pgfmanual-dvisvgm.cfg
+pgf/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
+pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.html
+pgf/doc/generic/pgf/version-for-dvisvgm/en/Makefile
+pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgfmanual-sine.table
+pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-asymptotic-example.table
+pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-sin.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-x.table
+pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-exp.table
+pgf/doc/generic/pgf/version-for-dvisvgm/en/plots/pgf-parametric-example.table
+pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
+pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.html
+pgf/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
+pgf/doc/generic/pgf/pgfmanual.pdf
+pgf/doc/generic/pgf/AUTHORS
+pgf/doc/generic/pgf/README
+pgf/doc/generic/pgf/images/brave-gnu-world-logo-mask.bb
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.eps
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.xbb
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.eps
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.jpg
+pgf/doc/generic/pgf/images/brave-gnu-world-logo-mask.jpg
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.bb
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.jpg
+pgf/doc/generic/pgf/images/pgfmanual-mindmap-1.pdf
+pgf/doc/generic/pgf/images/brave-gnu-world-logo.25.bb
+pgf/doc/generic/pgf/images/pgfmanual-mindmap-2.pdf
+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-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/version-for-dvips/en/pgfmanual-test.tex

Modified: trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.25.eps
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.25.eps	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.25.eps	2019-01-05 22:40:38 UTC (rev 49607)
@@ -1,468 +1,468 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Title: brave-gnu-world-logo.25.eps
-%%CreationDate: 09.10.2006 22:09 Uhr
-%%BoundingBox: 0 0 342 387
-%%HiResBoundingBox: 0 0 342 387
-%%SuppressDotGainCompensation
-%%EndComments
-%%BeginProlog
-%%EndProlog
-%%BeginSetup
-%%EndSetup
-%ImageData: 342 387 8 3 0 1 3 "beginimage"
-%BeginPhotoshop: 13952
-% 3842494D0425000000000010000000000000000000000000000000003842494D
-% 03EA000000001DA63C3F786D6C2076657273696F6E3D22312E302220656E636F
-% 64696E673D225554462D38223F3E0A3C21444F435459504520706C6973742050
-% 55424C494320222D2F2F4170706C6520436F6D70757465722F2F44544420504C
-% 49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E63
-% 6F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C
-% 706C6973742076657273696F6E3D22312E30223E0A3C646963743E0A093C6B65
-% 793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D48
-% 6F72697A6F6E74616C5265733C2F6B65793E0A093C646963743E0A09093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F72
-% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
-% 696E676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E61
-% 70706C652E7072696E742E7469636B65742E6974656D41727261793C2F6B6579
-% 3E0A09093C61727261793E0A0909093C646963743E0A090909093C6B65793E63
-% 6F6D2E6170706C652E7072696E742E50616765466F726D61742E504D486F7269
-% 7A6F6E74616C5265733C2F6B65793E0A090909093C7265616C3E37323C2F7265
-% 616C3E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F6D
-% 2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E0A
-% 090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D31302D
-% 30395432303A30333A33365A3C2F646174653E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B
-% 65793E0A090909093C696E74656765723E303C2F696E74656765723E0A090909
-% 3C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B65
-% 793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D4F
-% 7269656E746174696F6E3C2F6B65793E0A093C646963743E0A09093C6B65793E
-% 636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F
-% 6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E
-% 676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E617070
-% 6C652E7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A
-% 09093C61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E50616765466F726D61742E504D4F7269656E74
-% 6174696F6E3C2F6B65793E0A090909093C696E74656765723E313C2F696E7465
-% 6765723E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
-% 636B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F
-% 6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E
-% 0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D3130
-% 2D30395432303A30333A33365A3C2F646174653E0A090909093C6B65793E636F
-% 6D2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F
-% 6B65793E0A090909093C696E74656765723E303C2F696E74656765723E0A0909
-% 093C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B
-% 65793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D
-% 5363616C696E673C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F6B6579
-% 3E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E676D61
-% 6E616765723C2F737472696E673E0A09093C6B65793E636F6D2E6170706C652E
-% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A09093C
-% 61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D2E6170
-% 706C652E7072696E742E50616765466F726D61742E504D5363616C696E673C2F
-% 6B65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B6579
-% 3E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F
-% 6B65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E74
-% 696E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E6D6F64446174653C2F6B6579
-% 3E0A090909093C646174653E323030362D31302D30395432303A30333A33365A
-% 3C2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E74
-% 656765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F
-% 61727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E
-% 7072696E742E50616765466F726D61742E504D566572746963616C5265733C2F
-% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
-% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
-% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
-% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
-% 093C646963743E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E50616765466F726D61742E504D566572746963616C5265733C2F6B65793E0A
-% 090909093C7265616C3E37323C2F7265616C3E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B65793E
-% 0A090909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D
-% 616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E617070
-% 6C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E0A0909
-% 09093C646174653E323030362D31302D30395432303A30333A33365A3C2F6461
-% 74653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465676572
-% 3E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61727261
-% 793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E7072696E
-% 742E50616765466F726D61742E504D566572746963616C5363616C696E673C2F
-% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
-% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
-% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
-% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
-% 093C646963743E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E50616765466F726D61742E504D566572746963616C5363616C696E673C2F6B
-% 65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B65793E
-% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
-% 65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E7469
-% 6E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E
-% 6170706C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E
-% 0A090909093C646174653E323030362D31302D30395432303A30333A33365A3C
-% 2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E
-% 7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465
-% 6765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61
-% 727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E70
-% 72696E742E7375625469636B65742E70617065725F696E666F5F7469636B6574
-% 3C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E
-% 7072696E742E50616765466F726D61742E504D41646A75737465645061676552
-% 6563743C2F6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E61
-% 70706C652E7072696E742E7469636B65742E63726561746F723C2F6B65793E0A
-% 0909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D616E
-% 616765723C2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E
-% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A090909
-% 3C61727261793E0A090909093C646963743E0A09090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E50616765466F726D61742E504D41646A757374
-% 656450616765526563743C2F6B65793E0A09090909093C61727261793E0A0909
-% 090909093C7265616C3E302E303C2F7265616C3E0A0909090909093C7265616C
-% 3E302E303C2F7265616C3E0A0909090909093C7265616C3E3738333C2F726561
-% 6C3E0A0909090909093C7265616C3E3535393C2F7265616C3E0A09090909093C
-% 2F61727261793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E
-% 742E7469636B65742E636C69656E743C2F6B65793E0A09090909093C73747269
-% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
-% 72696E673E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
-% 7469636B65742E6D6F64446174653C2F6B65793E0A09090909093C646174653E
-% 323030362D31302D30395432303A30333A33365A3C2F646174653E0A09090909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E737461
-% 7465466C61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E
-% 74656765723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09
-% 093C2F646963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E
-% 50616765466F726D61742E504D41646A75737465645061706572526563743C2F
-% 6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E6170706C652E
-% 7072696E742E7469636B65742E63726561746F723C2F6B65793E0A0909093C73
-% 7472696E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C
-% 2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E7469636B65742E6974656D41727261793C2F6B65793E0A0909093C61727261
-% 793E0A090909093C646963743E0A09090909093C6B65793E636F6D2E6170706C
-% 652E7072696E742E50616765466F726D61742E504D41646A7573746564506170
-% 6572526563743C2F6B65793E0A09090909093C61727261793E0A090909090909
-% 3C7265616C3E2D31383C2F7265616C3E0A0909090909093C7265616C3E2D3138
-% 3C2F7265616C3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A09
-% 09090909093C7265616C3E3537373C2F7265616C3E0A09090909093C2F617272
-% 61793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
-% 636B65742E636C69656E743C2F6B65793E0A09090909093C737472696E673E63
-% 6F6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E67
-% 3E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B
-% 65742E6D6F64446174653C2F6B65793E0A09090909093C646174653E32303036
-% 2D31302D30395432303A30333A33365A3C2F646174653E0A09090909093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E7374617465466C
-% 61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E74656765
-% 723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09093C2F64
-% 6963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E50617065
-% 72496E666F2E504D50617065724E616D653C2F6B65793E0A09093C646963743E
-% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E617070
-% 6C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A
-% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E69
-% 74656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C64
-% 6963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E50
-% 61706572496E666F2E504D50617065724E616D653C2F6B65793E0A0909090909
-% 3C737472696E673E69736F2D61343C2F737472696E673E0A09090909093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C
-% 2F6B65793E0A09090909093C737472696E673E636F6D2E6170706C652E707269
-% 6E742E706D2E506F73745363726970743C2F737472696E673E0A09090909093C
-% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
-% 74653C2F6B65793E0A09090909093C646174653E323030332D30372D30315431
-% 373A34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
-% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
-% 0A09090909093C696E74656765723E313C2F696E74656765723E0A090909093C
-% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
-% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
-% 556E61646A757374656450616765526563743C2F6B65793E0A09093C64696374
-% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170
-% 706C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E
-% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 6974656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C
-% 646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
-% 5061706572496E666F2E504D556E61646A757374656450616765526563743C2F
-% 6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E302E
-% 303C2F7265616C3E0A0909090909093C7265616C3E302E303C2F7265616C3E0A
-% 0909090909093C7265616C3E3738333C2F7265616C3E0A0909090909093C7265
-% 616C3E3535393C2F7265616C3E0A09090909093C2F61727261793E0A09090909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69
-% 656E743C2F6B65793E0A09090909093C737472696E673E636F6D2E6170706C65
-% 2E7072696E74696E676D616E616765723C2F737472696E673E0A09090909093C
-% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
-% 74653C2F6B65793E0A09090909093C646174653E323030362D31302D30395432
-% 303A30333A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
-% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
-% 0A09090909093C696E74656765723E303C2F696E74656765723E0A090909093C
-% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
-% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
-% 556E61646A75737465645061706572526563743C2F6B65793E0A09093C646963
-% 743E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65
-% 742E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E61
-% 70706C652E7072696E742E706D2E506F73745363726970743C2F737472696E67
-% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E6974656D41727261793C2F6B65793E0A0909093C61727261793E0A09090909
-% 3C646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E5061706572496E666F2E504D556E61646A7573746564506170657252656374
-% 3C2F6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E
-% 2D31383C2F7265616C3E0A0909090909093C7265616C3E2D31383C2F7265616C
-% 3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A0909090909093C
-% 7265616C3E3537373C2F7265616C3E0A09090909093C2F61727261793E0A0909
-% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E63
-% 6C69656E743C2F6B65793E0A09090909093C737472696E673E636F6D2E617070
-% 6C652E7072696E74696E676D616E616765723C2F737472696E673E0A09090909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F64
-% 446174653C2F6B65793E0A09090909093C646174653E323030362D31302D3039
-% 5432303A30333A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E
-% 6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65
-% 793E0A09090909093C696E74656765723E303C2F696E74656765723E0A090909
-% 093C2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09
-% 093C6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E
-% 7070642E504D50617065724E616D653C2F6B65793E0A09093C646963743E0A09
-% 09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6372
-% 6561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170706C65
-% 2E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A0909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E697465
-% 6D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C646963
-% 743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E506170
-% 6572496E666F2E7070642E504D50617065724E616D653C2F6B65793E0A090909
-% 09093C737472696E673E41343C2F737472696E673E0A09090909093C6B65793E
-% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
-% 65793E0A09090909093C737472696E673E636F6D2E6170706C652E7072696E74
-% 2E706D2E506F73745363726970743C2F737472696E673E0A09090909093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F6444617465
-% 3C2F6B65793E0A09090909093C646174653E323030332D30372D30315431373A
-% 34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170706C
-% 652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E0A09
-% 090909093C696E74656765723E313C2F696E74656765723E0A090909093C2F64
-% 6963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E41504956657273
-% 696F6E3C2F6B65793E0A09093C737472696E673E30302E32303C2F737472696E
-% 673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E707269766174654C6F636B3C2F6B65793E0A09093C66616C73652F3E0A0909
-% 3C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E74797065
-% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
-% 2E5061706572496E666F5469636B65743C2F737472696E673E0A093C2F646963
-% 743E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 41504956657273696F6E3C2F6B65793E0A093C737472696E673E30302E32303C
-% 2F737472696E673E0A093C6B65793E636F6D2E6170706C652E7072696E742E74
-% 69636B65742E707269766174654C6F636B3C2F6B65793E0A093C66616C73652F
-% 3E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E74
-% 7970653C2F6B65793E0A093C737472696E673E636F6D2E6170706C652E707269
-% 6E742E50616765466F726D61745469636B65743C2F737472696E673E0A3C2F64
-% 6963743E0A3C2F706C6973743E0A3842494D03E9000000000078000300000048
-% 004800000000030F022FFFEEFFEE033802410367057B03E00002000000480048
-% 0000000002D802280001000000640000000100030303000000017FFF00010001
-% 0000000000000000000000006808001901900000000000200000000000000000
-% 0000000000000000000000000000000000003842494D03ED0000000000100048
-% 00000001000200480000000100023842494D042600000000000E000000000000
-% 000000003F8000003842494D040D0000000000040000001E3842494D04190000
-% 000000040000001E3842494D03F3000000000009000000000000000001003842
-% 494D040A00000000000100003842494D271000000000000A0001000000000000
-% 00023842494D03F5000000000048002F66660001006C66660006000000000001
-% 002F6666000100A1999A0006000000000001003200000001005A000000060000
-% 00000001003500000001002D000000060000000000013842494D03F800000000
-% 00700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFF
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFF
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D04080000000000100000
-% 00010000024000000240000000003842494D041E000000000004000000003842
-% 494D041A00000000036300000006000000000000000000000183000001560000
-% 001700620072006100760065002D0067006E0075002D0077006F0072006C0064
-% 002D006C006F0067006F002E0032003500000001000000000000000000000000
-% 0000000000000001000000000000000000000156000001830000000000000000
-% 0000000000000000010000000000000000000000000000000000000010000000
-% 010000000000006E756C6C0000000200000006626F756E64734F626A63000000
-% 01000000000000526374310000000400000000546F70206C6F6E670000000000
-% 0000004C6566746C6F6E67000000000000000042746F6D6C6F6E670000018300
-% 000000526768746C6F6E670000015600000006736C69636573566C4C73000000
-% 014F626A6300000001000000000005736C6963650000001200000007736C6963
-% 6549446C6F6E67000000000000000767726F757049446C6F6E67000000000000
-% 00066F726967696E656E756D0000000C45536C6963654F726967696E0000000D
-% 6175746F47656E6572617465640000000054797065656E756D0000000A45536C
-% 6963655479706500000000496D672000000006626F756E64734F626A63000000
-% 01000000000000526374310000000400000000546F70206C6F6E670000000000
-% 0000004C6566746C6F6E67000000000000000042746F6D6C6F6E670000018300
-% 000000526768746C6F6E67000001560000000375726C54455854000000010000
-% 000000006E756C6C54455854000000010000000000004D736765544558540000
-% 0001000000000006616C74546167544558540000000100000000000E63656C6C
-% 54657874497348544D4C626F6F6C010000000863656C6C546578745445585400
-% 000001000000000009686F727A416C69676E656E756D0000000F45536C696365
-% 486F727A416C69676E0000000764656661756C740000000976657274416C6967
-% 6E656E756D0000000F45536C69636556657274416C69676E0000000764656661
-% 756C740000000B6267436F6C6F7254797065656E756D0000001145536C696365
-% 4247436F6C6F7254797065000000004E6F6E6500000009746F704F7574736574
-% 6C6F6E67000000000000000A6C6566744F75747365746C6F6E67000000000000
-% 000C626F74746F6D4F75747365746C6F6E67000000000000000B72696768744F
-% 75747365746C6F6E6700000000003842494D041100000000000101003842494D
-% 0414000000000004000000013842494D040C0000000011340000000100000071
-% 00000080000001540000AA000000111800180001FFD8FFE000104A4649460001
-% 0201004800480000FFED000C41646F62655F434D0002FFEE000E41646F626500
-% 648000000001FFDB0084000C08080809080C09090C110B0A0B11150F0C0C0F15
-% 18131315131318110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
-% 0C0C0C0C0C0C0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E14140E0E0E0E
-% 14110C0C0C0C0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
-% 0C0C0C0C0C0C0C0C0C0C0C0CFFC00011080080007103012200021101031101FF
-% DD00040008FFC4013F0000010501010101010100000000000000030001020405
-% 060708090A0B0100010501010101010100000000000000010002030405060708
-% 090A0B1000010401030204020507060805030C33010002110304211231054151
-% 611322718132061491A1B14223241552C16233347282D14307259253F0E1F163
-% 733516A2B283264493546445C2A3743617D255E265F2B384C3D375E3F3462794
-% A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F637475767778797
-% A7B7C7D7E7F71100020201020404030405060707060535010002110321311204
-% 4151617122130532819114A1B14223C152D1F0332462E1728292435315637334
-% F1250616A2B283072635C2D2449354A317644555367465E2F2B384C3D375E3F3
-% 4694A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F62737475767
-% 778797A7B7C7FFDA000C03010002110311003F00F5549249252952EA5D6303A6
-% B01C9B3F48E04D74B06EB1D1FBACFDCFCDF56CD94FEFD8A9F5AEB8EC4B1B8182
-% CF5BA85A040896B377D17387B7D4B1DB7D94FF00D72EF4AA50E93F57C54F766F
-% 513F69CDB4EE739E43849FECB5AE733E87B7F435FD0A2AAAA494969FAC06FD6A
-% C0CA73791ED64F9E82C72B9566DF63B6FD8EE66B05CF35868F3FE777BBFB0C56
-% 80F979240009294275911E09D2492535322DEA35585D5555E4526206E2C7B74F
-% 76ED2C6DBEEFDDF4FF00E2FF00C22A77F51EAFF46BC7C7A9C7F3ADB6C81F9DF4
-% 7D0ABF35BFBEB5D2494E5E066E7DAE8BDF8CFD09D94EEDC60EDFCF73BF3BF796
-% 931E1ED04692260F2151EA1D1E9CB3EAD4EFB3E50D45AD120FFC755F46DFFCF9
-% FCB553A7F53BC669E9FD440A731809601F42D1AFE998FF00F09BA3D9FF00A53D
-% 8929DB49327494A49249253FFFD0F55599D77ABFECDA18DA5A2CCCC825B8EC3A
-% 8111BEE7810E732ADECF637F9DB5F553FA3F53D5669AE4F12D6F53EB36752B3D
-% F57A831F10088D8D163FD4DDB7E8B696DD97F43E9E4D74FF00A2494E8740E91E
-% 8B1F999536655F2E7BDC649DC439DBB46B7DDB7F37FF003C7A55ADBF34CC6ED6
-% 86F8052494A49258791F59EB7DBF67E9349EA16FFA469DB5027DA3F4B0EF57FA
-% D5B7D1FF0086494EE24B370733A8D8FDB96CA5A4CC8ADD3B6086EDE5DB9FB9DF
-% C853EA3D6FA7F4EDADBDE4DCF12CA2B05D6113B6767E637F9566C494DF4967E2
-% F59AB206EFB3DF5375F73DA3B6A67D373DCAF32C658DDCC70703DC24A64B3BAD
-% F4A6F52C4DAC8665D277E2DA646D7FEEB8B7FC15BFCDDBFF006E7F395D6B4524
-% 94E3F42EA8FCEA032F9664D07D3B6B321DB99ED79B3E97FEAE5B0B987B8627D6
-% 6CCF4CED65B48B1FB7B13E9B777F9C3D477F5D74CD208D381A7DDA24A5D24924
-% 94FF00FFD1F547025A434C3A343E6B95FAAAE68C4A75DA7DF519D00B1E2835EF
-% 67B7E936A733DDF9F52EAD60E574BC9C0CBBB3701A6EC6CA9765E20FA41C4973
-% EDA3F7F7B8EED9F4FD4FE6FE9FE8D29DB37541BBDCE01BC1713027E2A166661D
-% 4D2FB6FAEB6375739CF6803E24959B5E4D790C635AE9DA76D8DB25C5A63F384B
-% 1CFB2BDAA4DE89D2FD3F57228640F77BF489ECFF00A2D494E65D9197F59AF763
-% 636EA3A55662C79106D3CFBDA47B5BFB98EFFF00D0BFFB8AB6B1FA562E352296
-% B4069FCD048DC63DDB8B8EF7EEFCFF007FFE05FA34B1EE6399E874F6B1B4D6ED
-% 81EC1EC6E81EE867B3F7FF007D068E9F6FDAB7643DD786C1208105C3875BEEF7
-% 7FC055FA5F47F9CFE752009DBF15A6755E2DD6D0DADB0D6C37521ADD00D1C36B
-% 581BB550B6BC1392F71654ECD11BC020DAD6E9B7D92EB7DCDFDDF52C7AD0B1AD
-% 9DE40DEE01AEE4CB44BB6FE6AAB8A5D91634E562D7518B1ECF7377B06E6ED63D
-% A3DDEA58D77AB76DFD1D7FCDFBD2063746FE8A24F4AFF0BD281D958ED690F2EA
-% F7E9B4CC03EDFD1EDFF02E74B37D5F4FDFFA556A9C864876E0D6C7B23BE9FB8D
-% FA5FF93FF068EDA61CE6C35CC70F708E67F7964BB1FD5C9B7EC47EC81AFF004D
-% A1DB832C786C96FA2F1ED6FF0053FEDBB13B849BAD695C7FBDE9E8EC5993454D
-% 9BAC6543C5CE0047C5D0B3737EB3F4BC7696D160CCC8FCCA68F749FE5DAD9AEB
-% FF00ABFDCAEC556DC9739FF63EA558AED322B9FE69F103D967B7F44DF67A9EE6
-% 7FD6958C7C66B59EC6358ED443181A07F298FF00D35D637DDFA3F4DBFF006D26
-% AE73B031B2ADCD7E56701F6ACA2CB1F5813B6B043AA6ECFCDF5ACA29AAADDF4F
-% 1E9CABAEFF0008BA7ADBB5B1E249FBC9720518B5B786901C4971792E738E8DDC
-% F73FDDEEDBB7FE2995D7FCD2B49294924924A7FFD2F55492492520BB131AD70B
-% 2CAC1B1BC5834788F0B1BB5EAB64E48345C08FB5381DAFC6ADA1E040DCEA4EEF
-% DE6BBDCFB91731D9EF70A30C32ADD05F91619869277368A5BEEB2EF6FF0085F4
-% AAFD27F86F7D4876E217EFB3A85E3ECC047A0D3B6B826375EF9DF91EDF66C7FE
-% 87FE0AD40D9D00DFAA083DE97C66E558FAEDC9BAB68FA5563E39961046DF7DAF
-% DAFC86B5AEF66DAA867F215AB9C5AD0448931204F6EEA149AC173995892434B9
-% A002E81B771FCD4AE739DB1F503635AE2486380D60B750EDAD7FF9E8C850D100
-% 820EBDDCCBD96BAC739D7FA75D624B18DFFA565B61FF00A0C594EEB1496EFA1B
-% 6B9F4BA77BB6B5AE274DB66DDCEDBFC9DAB6ADE9F8F98D7D598CB5C09DE2A712
-% CD3F976D2FD963777F2D3E1BF16B2DAF02B365434229D82961F377B773FF007F
-% 6FA8A200750C03181F30D7C3F97A9CEFB45D9353AABDE0525A1F153C8D9DB67E
-% 8EB2E66DFA75D9BFF46B55D9CEAF2EBA2DA5EFA5EC97646D90D33B5A5E59F98F
-% 9FFAC7FC56FF0042A757EA34E2B4D2D6B6DC8B012E635DED6B4FB77E44FD062A
-% 755DD66DC57D8D76350C8F4BD67B9CD718FCEADCF6BAB73754E8896E02E88978
-% 70F8BB39189899B43314B89A5B04110E0E05AEDA196582CF7B7F9CDECFD325D2
-% 31DD46132AB2CF55ED2438F8104FE8F977F37F450BA6613DB41BAFBBD7C8BD8C
-% 6DEE6BB4696496D34D94FA7FA3A9F659EFDBEA588F45D915BC372FD30EB6368A
-% C1FA41BFA5DEE27DDF454B44824EFD596EA8550D9B8924926AE524924929FFD3
-% F554C74D53A8BDA1ED2D3C1E47924A44CB1FF69B1AF2D02016346A4B40D6C7FB
-% 7DBB9FEC6FFC5A0BB3706CCC6E31BEB75C06E65421CE691FE11DF4B67F21567E
-% 0DD915BDF97A5971F731A4B9AD00FE8AA6CFEEB7F9DFF4967A8957F64E9EE656
-% DDAD2E92F7C06807F96EFDE530803B1B95550FE2D696522C513ADBA2DC7A8012
-% DDC7C5DA93F1944F6B60683B008745ECB9BB9A6478F8A8B1EF0FF4DD5B84925D
-% 669B493FD53BFF00CE6A866640D166870571446FD833B68A6D20D8D0E2D9027C
-% 0FD26FF55CA9D580FC2A5CDC67B4971DCEB2FDC63C5DB1AE6D7F47F36BF415C6
-% 58C2D1E9CB9BC0238FF3BF393DAF656C2EB012D04030D2EE4EDFA2D0EFFCC134
-% 709D579DABBBCE3F0F2B3DD7065FEB536C7AD94DFD1B1DE9977A7563D156F73E
-% A6EFFD25B65D67A9FF0017B158FB0E261DB4D977A7EA39BB2AF6973811FE8F76
-% E72D2A3AB74FBC5A59688A1CE6DA4F0DDBF9CE7FF36D67F2B77FE09BD1DD451B
-% 8DA58DDF1F4C8D614D0C911A01A3164C529697FF0072D2C3ADF4836DAF739D61
-% 009768E33A37467B559C8B1B5D4D6BD9BD847B817098FA3A6FFA7F4BF7D1DA1A
-% 00DBC762B23AC6506D4D0F6C5AED6AD636C3873FBDBFD9FA2FF0B67E8D899932
-% 13B685118184753C44BAB8F732FA596B0CB5C3BE864687FE9222CCFABC727F67
-% 4640877A961699E5AE77A9C7E66C73FD2DBFF06B4D0F3661B6AA49249253FFD4
-% F5550B63D27CC81B4EA2678EDB21FF00E6A9A6735AE696B84B5C2083C1052521
-% 756DB7D37133B007026473DF669EE5917B76BDF6BEB796D7616D4C716D758FE5
-% 0FCEB372D2B32DEC6D0D6D42CB6DD1E1AE68637696B6EF7D858E77A5BBF32BFC
-% C51FD9D5BB25F9169F56C71258481B5A3B358DFDEDBF9EA6C79044907A7460CB
-% 8CCA363525AACCBCD758DAEB6358D03DDB89E4FEEED5A34D8F6B0BAF78D3BC6D
-% 1F892A4DA76C00040F1D4A1370DDB8BAD7FAAE719F701007EEB1A94A5097411F
-% CD8F1C32C28EFE1D190BECB2C0DA9AD2CFCE7870D3FAAD83B9584014EC3B8B8B
-% 8766E908A663DC62398D1472AD299E065AF10D5AD7D599BB6D26B7D446A2E930
-% 7F77D9FCE31DFCBFA1FF000BBFF461AB1B230B1B2AE786E55AE3BEBC7AC7A758
-% DAD8AE9AD8E758DDCE7FB9F77E7FFDB6AF36D63EB0FACEF69E0B759F8154F32E
-% C8C70F758F636A26597381DACFE45CDDDF4BFD1DDFF5BFD17E8FD5611C3A81AA
-% FB02CD5F7F1497DD15C5A62752C64C9FE40DB0EFF5FA0B16D75965B664871391
-% EB86D0D0FDD5D15967A5F687532DFD2BB75DE9FF00C27E8FFD221E5E5B9DF67B
-% CD576CB5F1481A3AD77954E76F6334FF00468DD3F14D4CB2ECD0319D63CD950B
-% 1BC47E84DB65BA535DB6BEFDB8D5DBF99FE0FF009DF4C63F9AE4C71E33648E9A
-% 7F55D2E867761B9ED9F49D63853BB9D8C8A013FD6755B968A0E1D031F16AA75F
-% 6B759E64FB9DFF0049193E5B9F3648EC1492492097FFD5F5549249252175465C
-% 19A171DED9D4077E77B7F95FF56B2197E4B6E353AD3894D0F1E8D75ED797B662
-% E65CCDB635B56EFE6FD3F4ED62DB7B43DA5A6402224120EBE0E6C39AB2BA80B3
-% 1EA631F63D9481FA7CA76E76CAC37F4AF73EBDBFA6DAC6ECBACFD1D7FCF7E93F
-% 997B67777F4639020831BBFC1B14F53ADD98EC176E7DD24B0B58E03601BF758E
-% 70D9FF0007BD8EFF0047FBEACE564371A875EFFA0C8DE7B35A486BAC77EED75B
-% 7F4967F2163538169F4FA8623ADB5EC8153B29C5E367D0F5D94511BDDE9BECF4
-% BDCCFE73E82D5C7C877A7B0EEB6C61DAE716ECDC47EEB53C4254B84C0AE22906
-% 454FAEBBEBB05955801ACD7EF0F0ED5AE6B99BB7336AA7D40D97B4B585D536A9
-% 2E7176D0EFE4EC66EB1EADDEF2C754E86EA483B84BBE8B9D0CD5BFBAA961F56F
-% B56406331DCEC7B1FB29BC35DB5C035EFB2F2EDA6AF437B19456EF57D4B2CFF0
-% 7E9FA6FB146601DB50A944CAC0F36A60D79877B8D8E73C18697CB8347FC1876D
-% 5A7EADE1BE98607088758490493FBAC60F77F9EC44BD8E6B41A9BE32D02499FE
-% DD6D6AA96E6D58A7D323ED196D689AEB074DDF47D5B0EF652D77F2FF00EB75A9
-% 8C8486C3CBAB008CE32278BFB12E174F38F90FCAB6C375D635B5EE7B40735838
-% ADAE6FE6EEF7BFFE11553D359665D7451FA3E9F4B8BDD8EC02BAA49F58C56D1F
-% A675B92EDF63FF0099F4FF0043E9FE96E49D5E5E639A2D787020C5357B6B0276
-% D85EF796D96ECFE6FE87FD67F48B4B1B1ABC6ABD3AC47771F13F3DCA23103CFB
-% 766789BD3A2649249357292492494FFFD6F554924925290EEA59706EED0B0EE6
-% 38685AE1F9CD3FF47F96CFD1BFF4688924A73FA937A836B73B1ACFA65A37113E
-% 9025AC7BEBAEB0DF53FD2FE9ACFF00C013E167E2DEC0DA6C6BAD76E06C6B086B
-% 9ECF6DBDBE96EFF07BD5F42BB1E9BD8596B0381F9107F79AF6FB98EFE53521D7
-% B1457F22E4E7E46654FF00758DA5BCBDF638C081BBD9B5BB76FB7E9D8F546BEA
-% B936D95DD48BEE6BA41706BEBADC08D3D371FF00C8FBD6FB7A7630209DEF8FA3
-% EA3DCF23FAAFB0B9FDFF0079577742C7B06CBEFC8BABEF5BAD2D0E3FBD61A7D2
-% 7D9FBBB1EFF4BFE0D33835DD8C62FE56E659D4F305753ADB61ECD59435E1BBDC
-% DFA2EC87B9DEB3F1B77D3F47F4977FC5AD46306535DE9D64B490E36BC1ADAF71
-% 078AA1B6BABAFD9FF1BFE9559C5C0C2C36918D4B6A9E481A9FEB3CFB9CAC27C6
-% E3B15E23A51D50D18B5504B9A25EE0017F7DADFA15B7F72AAF77E8EB6A324924
-% B94924924A524924929FFFD93842494D04210000000000790000000101000000
-% 1800410064006F00620065002000500068006F0074006F00730068006F007000
-% 200045006C0065006D0065006E007400730000001C00410064006F0062006500
-% 2000500068006F0074006F00730068006F007000200045006C0065006D006500
-% 6E0074007300200032002E003000000001003842494D042200000000012E4D4D
-% 002A000000080007011200030000000100010000011A00050000000100000062
-% 011B0005000000010000006A012800030000000100020000013100020000001D
-% 0000007201320002000000140000008F8769000400000001000000A4000000D0
-% 0000004800000001000000480000000141646F62652050686F746F73686F7020
-% 456C656D656E747320322E3000323030363A31303A30392032323A30393A3238
-% 00000003A001000300000001FFFF0000A00200040000000100000156A0030004
-% 00000001000001830000000000000006010300030000000100060000011A0005
-% 000000010000011E011B00050000000100000126012800030000000100020000
-% 02010004000000010000012E0202000400000001000000000000000000000048
-% 0000000100000048000000013842494D03FD0000000000070000000000000000
-%EndPhotoshop
-%begin_xml_code
-/pdfmark where {pop true} {false} ifelse
-/currentdistillerparams where {pop currentdistillerparams
-/CoreDistVersion get 5000 ge } {false} ifelse
-and not {userdict /pdfmark /cleartomark load put} if
-[/NamespacePush pdfmark
-[/_objdef {photoshop_metadata_stream} /type /stream /OBJ pdfmark
-/MetadataString 5038 string def % exact length of metadata
-/TempString 100 string def
-/ConsumeMetadata {
-currentfile TempString readline pop pop
-currentfile MetadataString readstring pop pop
-} bind def
-ConsumeMetadata
-%begin_xml_packet: 5038
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: brave-gnu-world-logo.25.eps
+%%CreationDate: 09.10.2006 22:09 Uhr
+%%BoundingBox: 0 0 342 387
+%%HiResBoundingBox: 0 0 342 387
+%%SuppressDotGainCompensation
+%%EndComments
+%%BeginProlog
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%ImageData: 342 387 8 3 0 1 3 "beginimage"
+%BeginPhotoshop: 13952
+% 3842494D0425000000000010000000000000000000000000000000003842494D
+% 03EA000000001DA63C3F786D6C2076657273696F6E3D22312E302220656E636F
+% 64696E673D225554462D38223F3E0A3C21444F435459504520706C6973742050
+% 55424C494320222D2F2F4170706C6520436F6D70757465722F2F44544420504C
+% 49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E63
+% 6F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C
+% 706C6973742076657273696F6E3D22312E30223E0A3C646963743E0A093C6B65
+% 793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D48
+% 6F72697A6F6E74616C5265733C2F6B65793E0A093C646963743E0A09093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F72
+% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
+% 696E676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E61
+% 70706C652E7072696E742E7469636B65742E6974656D41727261793C2F6B6579
+% 3E0A09093C61727261793E0A0909093C646963743E0A090909093C6B65793E63
+% 6F6D2E6170706C652E7072696E742E50616765466F726D61742E504D486F7269
+% 7A6F6E74616C5265733C2F6B65793E0A090909093C7265616C3E37323C2F7265
+% 616C3E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F6D
+% 2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E0A
+% 090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D31302D
+% 30395432303A30333A33365A3C2F646174653E0A090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B
+% 65793E0A090909093C696E74656765723E303C2F696E74656765723E0A090909
+% 3C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B65
+% 793E63!
 6F6D2E6170706C652E7072696E742E50616765466F726D61742E504D4F
+% 7269656E746174696F6E3C2F6B65793E0A093C646963743E0A09093C6B65793E
+% 636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F
+% 6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E
+% 676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E617070
+% 6C652E7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A
+% 09093C61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E50616765466F726D61742E504D4F7269656E74
+% 6174696F6E3C2F6B65793E0A090909093C696E74656765723E313C2F696E7465
+% 6765723E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
+% 636B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F
+% 6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E
+% 0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D3130
+% 2D30395432303A30333A33365A3C2F646174653E0A090909093C6B65793E636F
+% 6D2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F
+% 6B65793E0A090909093C696E74656765723E303C2F696E74656765723E0A0909
+% 093C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B
+% 65793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D
+% 5363616C696E673C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D
+% 2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F6B6579
+% 3E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E676D61
+% 6E616765723C2F737472696E673E0A09093C6B65793E636F6D2E6170706C652E
+% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A09093C
+% 61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D2E6170
+% 706C652E7072696E742E50616765466F726D61742E504D5363616C696E673C2F
+% 6B65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B6579
+% 3E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F
+% 6B65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E74
+% 696E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D
+% 2E6170706C652!
 E7072696E742E7469636B65742E6D6F64446174653C2F6B6579
+% 3E0A090909093C646174653E323030362D31302D30395432303A30333A33365A
+% 3C2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E74
+% 656765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F
+% 61727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E
+% 7072696E742E50616765466F726D61742E504D566572746963616C5265733C2F
+% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
+% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
+% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
+% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
+% 093C646963743E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E50616765466F726D61742E504D566572746963616C5265733C2F6B65793E0A
+% 090909093C7265616C3E37323C2F7265616C3E0A090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B65793E
+% 0A090909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D
+% 616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E617070
+% 6C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E0A0909
+% 09093C646174653E323030362D31302D30395432303A30333A33365A3C2F6461
+% 74653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465676572
+% 3E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61727261
+% 793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E7072696E
+% 742E50616765466F726D61742E504D566572746963616C5363616C696E673C2F
+% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
+% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
+% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
+% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
+% 093C646963743E0A0909!
 09093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E50616765466F726D61742E504D566572746963616C5363616C696E673C2F6B
+% 65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B65793E
+% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
+% 65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E7469
+% 6E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E
+% 6170706C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E
+% 0A090909093C646174653E323030362D31302D30395432303A30333A33365A3C
+% 2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E
+% 7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465
+% 6765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61
+% 727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E70
+% 72696E742E7375625469636B65742E70617065725F696E666F5F7469636B6574
+% 3C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E
+% 7072696E742E50616765466F726D61742E504D41646A75737465645061676552
+% 6563743C2F6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E61
+% 70706C652E7072696E742E7469636B65742E63726561746F723C2F6B65793E0A
+% 0909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D616E
+% 616765723C2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E
+% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A090909
+% 3C61727261793E0A090909093C646963743E0A09090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E50616765466F726D61742E504D41646A757374
+% 656450616765526563743C2F6B65793E0A09090909093C61727261793E0A0909
+% 090909093C7265616C3E302E303C2F7265616C3E0A0909090909093C7265616C
+% 3E302E303C2F7265616C3E0A0909090909093C7265616C3E3738333C2F726561
+% 6C3E0A0909090909093C7265616C3E3535393C2F7265616C3E0A09090909093C
+% 2F61727261793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E
+% 742E7469636B65742E636C69656E743C2F6B65793E0A09090909093C73747269
+% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
+% 72696E673E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
+% 7469636B65742E6D6F644461746!
 53C2F6B65793E0A09090909093C646174653E
+% 323030362D31302D30395432303A30333A33365A3C2F646174653E0A09090909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E737461
+% 7465466C61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E
+% 74656765723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09
+% 093C2F646963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E
+% 50616765466F726D61742E504D41646A75737465645061706572526563743C2F
+% 6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E6170706C652E
+% 7072696E742E7469636B65742E63726561746F723C2F6B65793E0A0909093C73
+% 7472696E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C
+% 2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E7469636B65742E6974656D41727261793C2F6B65793E0A0909093C61727261
+% 793E0A090909093C646963743E0A09090909093C6B65793E636F6D2E6170706C
+% 652E7072696E742E50616765466F726D61742E504D41646A7573746564506170
+% 6572526563743C2F6B65793E0A09090909093C61727261793E0A090909090909
+% 3C7265616C3E2D31383C2F7265616C3E0A0909090909093C7265616C3E2D3138
+% 3C2F7265616C3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A09
+% 09090909093C7265616C3E3537373C2F7265616C3E0A09090909093C2F617272
+% 61793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
+% 636B65742E636C69656E743C2F6B65793E0A09090909093C737472696E673E63
+% 6F6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E67
+% 3E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B
+% 65742E6D6F64446174653C2F6B65793E0A09090909093C646174653E32303036
+% 2D31302D30395432303A30333A33365A3C2F646174653E0A09090909093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E7374617465466C
+% 61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E74656765
+% 723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09093C2F64
+% 6963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E50617065
+% 72496E666F2E504D50617065724E616D653C2F6B65793E0A09093C646963743E
+% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 63726561746F723C2F6B65793E0A090909!
 3C737472696E673E636F6D2E617070
+% 6C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A
+% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E69
+% 74656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C64
+% 6963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E50
+% 61706572496E666F2E504D50617065724E616D653C2F6B65793E0A0909090909
+% 3C737472696E673E69736F2D61343C2F737472696E673E0A09090909093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C
+% 2F6B65793E0A09090909093C737472696E673E636F6D2E6170706C652E707269
+% 6E742E706D2E506F73745363726970743C2F737472696E673E0A09090909093C
+% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
+% 74653C2F6B65793E0A09090909093C646174653E323030332D30372D30315431
+% 373A34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
+% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
+% 0A09090909093C696E74656765723E313C2F696E74656765723E0A090909093C
+% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
+% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
+% 556E61646A757374656450616765526563743C2F6B65793E0A09093C64696374
+% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170
+% 706C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E
+% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 6974656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C
+% 646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
+% 5061706572496E666F2E504D556E61646A757374656450616765526563743C2F
+% 6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E302E
+% 303C2F7265616C3E0A0909090909093C7265616C3E302E303C2F7265616C3E0A
+% 0909090909093C7265616C3E3738333C2F7265616C3E0A0909090909093C7265
+% 616C3E3535393C2F7265616C3E0A09090909093C2F61727261793E0A09090909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69
+% 656E743C2F6B65793E0A09090909093C737472696!
 E673E636F6D2E6170706C65
+% 2E7072696E74696E676D616E616765723C2F737472696E673E0A09090909093C
+% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
+% 74653C2F6B65793E0A09090909093C646174653E323030362D31302D30395432
+% 303A30333A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
+% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
+% 0A09090909093C696E74656765723E303C2F696E74656765723E0A090909093C
+% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
+% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
+% 556E61646A75737465645061706572526563743C2F6B65793E0A09093C646963
+% 743E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65
+% 742E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E61
+% 70706C652E7072696E742E706D2E506F73745363726970743C2F737472696E67
+% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E6974656D41727261793C2F6B65793E0A0909093C61727261793E0A09090909
+% 3C646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E5061706572496E666F2E504D556E61646A7573746564506170657252656374
+% 3C2F6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E
+% 2D31383C2F7265616C3E0A0909090909093C7265616C3E2D31383C2F7265616C
+% 3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A0909090909093C
+% 7265616C3E3537373C2F7265616C3E0A09090909093C2F61727261793E0A0909
+% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E63
+% 6C69656E743C2F6B65793E0A09090909093C737472696E673E636F6D2E617070
+% 6C652E7072696E74696E676D616E616765723C2F737472696E673E0A09090909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F64
+% 446174653C2F6B65793E0A09090909093C646174653E323030362D31302D3039
+% 5432303A30333A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E
+% 6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65
+% 793E0A09090909093C696E74656765723E303C2F696E74656765723E0A090909
+% 093C2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09
+% 093C6B65793E636F6D2E6170706C652E7072696E742E5061!
 706572496E666F2E
+% 7070642E504D50617065724E616D653C2F6B65793E0A09093C646963743E0A09
+% 09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6372
+% 6561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170706C65
+% 2E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A0909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E697465
+% 6D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C646963
+% 743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E506170
+% 6572496E666F2E7070642E504D50617065724E616D653C2F6B65793E0A090909
+% 09093C737472696E673E41343C2F737472696E673E0A09090909093C6B65793E
+% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
+% 65793E0A09090909093C737472696E673E636F6D2E6170706C652E7072696E74
+% 2E706D2E506F73745363726970743C2F737472696E673E0A09090909093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F6444617465
+% 3C2F6B65793E0A09090909093C646174653E323030332D30372D30315431373A
+% 34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170706C
+% 652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E0A09
+% 090909093C696E74656765723E313C2F696E74656765723E0A090909093C2F64
+% 6963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E41504956657273
+% 696F6E3C2F6B65793E0A09093C737472696E673E30302E32303C2F737472696E
+% 673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E707269766174654C6F636B3C2F6B65793E0A09093C66616C73652F3E0A0909
+% 3C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E74797065
+% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
+% 2E5061706572496E666F5469636B65743C2F737472696E673E0A093C2F646963
+% 743E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 41504956657273696F6E3C2F6B65793E0A093C737472696E673E30302E32303C
+% 2F737472696E673E0A093C6B65793E636F6D2E6170706C652E7072696E742E74
+% 69636B65742E707269766174654C6F636B3C2F6B65793E0A093C66616C73652F
+% 3E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636!
 B65742E74
+% 7970653C2F6B65793E0A093C737472696E673E636F6D2E6170706C652E707269
+% 6E742E50616765466F726D61745469636B65743C2F737472696E673E0A3C2F64
+% 6963743E0A3C2F706C6973743E0A3842494D03E9000000000078000300000048
+% 004800000000030F022FFFEEFFEE033802410367057B03E00002000000480048
+% 0000000002D802280001000000640000000100030303000000017FFF00010001
+% 0000000000000000000000006808001901900000000000200000000000000000
+% 0000000000000000000000000000000000003842494D03ED0000000000100048
+% 00000001000200480000000100023842494D042600000000000E000000000000
+% 000000003F8000003842494D040D0000000000040000001E3842494D04190000
+% 000000040000001E3842494D03F3000000000009000000000000000001003842
+% 494D040A00000000000100003842494D271000000000000A0001000000000000
+% 00023842494D03F5000000000048002F66660001006C66660006000000000001
+% 002F6666000100A1999A0006000000000001003200000001005A000000060000
+% 00000001003500000001002D000000060000000000013842494D03F800000000
+% 00700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000
+% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFF
+% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFF
+% FFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D04080000000000100000
+% 00010000024000000240000000003842494D041E000000000004000000003842
+% 494D041A00000000036300000006000000000000000000000183000001560000
+% 001700620072006100760065002D0067006E0075002D0077006F0072006C0064
+% 002D006C006F0067006F002E0032003500000001000000000000000000000000
+% 0000000000000001000000000000000000000156000001830000000000000000
+% 0000000000000000010000000000000000000000000000000000000010000000
+% 010000000000006E756C6C0000000200000006626F756E64734F626A63000000
+% 01000000000000526374310000000400000000546F70206C6F6E670000000000
+% 0000004C6566746C6F6E67000000000000000042746F6D6C6F6E670000018300
+% 000000526768746C6F6E670000015600000006736C69636573566C4C73000000
+% 014F626A6300000001000000000005736C6963650000001200000007736C6963
+% 6549446C6F6E67000000000000000767726F757049446C6F6E670000000000!
 00
+% 00066F726967696E656E756D0000000C45536C6963654F726967696E0000000D
+% 6175746F47656E6572617465640000000054797065656E756D0000000A45536C
+% 6963655479706500000000496D672000000006626F756E64734F626A63000000
+% 01000000000000526374310000000400000000546F70206C6F6E670000000000
+% 0000004C6566746C6F6E67000000000000000042746F6D6C6F6E670000018300
+% 000000526768746C6F6E67000001560000000375726C54455854000000010000
+% 000000006E756C6C54455854000000010000000000004D736765544558540000
+% 0001000000000006616C74546167544558540000000100000000000E63656C6C
+% 54657874497348544D4C626F6F6C010000000863656C6C546578745445585400
+% 000001000000000009686F727A416C69676E656E756D0000000F45536C696365
+% 486F727A416C69676E0000000764656661756C740000000976657274416C6967
+% 6E656E756D0000000F45536C69636556657274416C69676E0000000764656661
+% 756C740000000B6267436F6C6F7254797065656E756D0000001145536C696365
+% 4247436F6C6F7254797065000000004E6F6E6500000009746F704F7574736574
+% 6C6F6E67000000000000000A6C6566744F75747365746C6F6E67000000000000
+% 000C626F74746F6D4F75747365746C6F6E67000000000000000B72696768744F
+% 75747365746C6F6E6700000000003842494D041100000000000101003842494D
+% 0414000000000004000000013842494D040C0000000011340000000100000071
+% 00000080000001540000AA000000111800180001FFD8FFE000104A4649460001
+% 0201004800480000FFED000C41646F62655F434D0002FFEE000E41646F626500
+% 648000000001FFDB0084000C08080809080C09090C110B0A0B11150F0C0C0F15
+% 18131315131318110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+% 0C0C0C0C0C0C0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E14140E0E0E0E
+% 14110C0C0C0C0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+% 0C0C0C0C0C0C0C0C0C0C0C0CFFC00011080080007103012200021101031101FF
+% DD00040008FFC4013F0000010501010101010100000000000000030001020405
+% 060708090A0B0100010501010101010100000000000000010002030405060708
+% 090A0B1000010401030204020507060805030C33010002110304211231054151
+% 611322718132061491A1B14223241552C16233347282D14307259253F0E1F163
+% 733516A2B283264493546445C2A3743617D255E265F2B384C3D375E3F3462794
+% A!
 485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F637475767778797
+% A7B7C7D7E7F71100020201020404030405060707060535010002110321311204
+% 4151617122130532819114A1B14223C152D1F0332462E1728292435315637334
+% F1250616A2B283072635C2D2449354A317644555367465E2F2B384C3D375E3F3
+% 4694A485B495C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F62737475767
+% 778797A7B7C7FFDA000C03010002110311003F00F5549249252952EA5D6303A6
+% B01C9B3F48E04D74B06EB1D1FBACFDCFCDF56CD94FEFD8A9F5AEB8EC4B1B8182
+% CF5BA85A040896B377D17387B7D4B1DB7D94FF00D72EF4AA50E93F57C54F766F
+% 513F69CDB4EE739E43849FECB5AE733E87B7F435FD0A2AAAA494969FAC06FD6A
+% C0CA73791ED64F9E82C72B9566DF63B6FD8EE66B05CF35868F3FE777BBFB0C56
+% 80F979240009294275911E09D2492535322DEA35585D5555E4526206E2C7B74F
+% 76ED2C6DBEEFDDF4FF00E2FF00C22A77F51EAFF46BC7C7A9C7F3ADB6C81F9DF4
+% 7D0ABF35BFBEB5D2494E5E066E7DAE8BDF8CFD09D94EEDC60EDFCF73BF3BF796
+% 931E1ED04692260F2151EA1D1E9CB3EAD4EFB3E50D45AD120FFC755F46DFFCF9
+% FCB553A7F53BC669E9FD440A731809601F42D1AFE998FF00F09BA3D9FF00A53D
+% 8929DB49327494A49249253FFFD0F55599D77ABFECDA18DA5A2CCCC825B8EC3A
+% 8111BEE7810E732ADECF637F9DB5F553FA3F53D5669AE4F12D6F53EB36752B3D
+% F57A831F10088D8D163FD4DDB7E8B696DD97F43E9E4D74FF00A2494E8740E91E
+% 8B1F999536655F2E7BDC649DC439DBB46B7DDB7F37FF003C7A55ADBF34CC6ED6
+% 86F8052494A49258791F59EB7DBF67E9349EA16FFA469DB5027DA3F4B0EF57FA
+% D5B7D1FF0086494EE24B370733A8D8FDB96CA5A4CC8ADD3B6086EDE5DB9FB9DF
+% C853EA3D6FA7F4EDADBDE4DCF12CA2B05D6113B6767E637F9566C494DF4967E2
+% F59AB206EFB3DF5375F73DA3B6A67D373DCAF32C658DDCC70703DC24A64B3BAD
+% F4A6F52C4DAC8665D277E2DA646D7FEEB8B7FC15BFCDDBFF006E7F395D6B4524
+% 94E3F42EA8FCEA032F9664D07D3B6B321DB99ED79B3E97FEAE5B0B987B8627D6
+% 6CCF4CED65B48B1FB7B13E9B777F9C3D477F5D74CD208D381A7DDA24A5D24924
+% 94FF00FFD1F547025A434C3A343E6B95FAAAE68C4A75DA7DF519D00B1E2835EF
+% 67B7E936A733DDF9F52EAD60E574BC9C0CBBB3701A6EC6CA9765E20FA41C4973
+% EDA3F7F7B8EED9F4FD4FE6FE9FE8D29DB37541BBDCE01BC1713027E2A166661D
+% 4D2FB6FAEB6375739CF6803E24959B5E4D790C635AE9DA76D8DB25C5A63F384B
+% 1CFB2BDA!
 A4DE89D2FD3F57228640F77BF489ECFF00A2D494E65D9197F59AF763
+% 636EA3A55662C79106D3CFBDA47B5BFB98EFFF00D0BFFB8AB6B1FA562E352296
+% B4069FCD048DC63DDB8B8EF7EEFCFF007FFE05FA34B1EE6399E874F6B1B4D6ED
+% 81EC1EC6E81EE867B3F7FF007D068E9F6FDAB7643DD786C1208105C3875BEEF7
+% 7FC055FA5F47F9CFE752009DBF15A6755E2DD6D0DADB0D6C37521ADD00D1C36B
+% 581BB550B6BC1392F71654ECD11BC020DAD6E9B7D92EB7DCDFDDF52C7AD0B1AD
+% 9DE40DEE01AEE4CB44BB6FE6AAB8A5D91634E562D7518B1ECF7377B06E6ED63D
+% A3DDEA58D77AB76DFD1D7FCDFBD2063746FE8A24F4AFF0BD281D958ED690F2EA
+% F7E9B4CC03EDFD1EDFF02E74B37D5F4FDFFA556A9C864876E0D6C7B23BE9FB8D
+% FA5FF93FF068EDA61CE6C35CC70F708E67F7964BB1FD5C9B7EC47EC81AFF004D
+% A1DB832C786C96FA2F1ED6FF0053FEDBB13B849BAD695C7FBDE9E8EC5993454D
+% 9BAC6543C5CE0047C5D0B3737EB3F4BC7696D160CCC8FCCA68F749FE5DAD9AEB
+% FF00ABFDCAEC556DC9739FF63EA558AED322B9FE69F103D967B7F44DF67A9EE6
+% 7FD6958C7C66B59EC6358ED443181A07F298FF00D35D637DDFA3F4DBFF006D26
+% AE73B031B2ADCD7E56701F6ACA2CB1F5813B6B043AA6ECFCDF5ACA29AAADDF4F
+% 1E9CABAEFF0008BA7ADBB5B1E249FBC9720518B5B786901C4971792E738E8DDC
+% F73FDDEEDBB7FE2995D7FCD2B49294924924A7FFD2F55492492520BB131AD70B
+% 2CAC1B1BC5834788F0B1BB5EAB64E48345C08FB5381DAFC6ADA1E040DCEA4EEF
+% DE6BBDCFB91731D9EF70A30C32ADD05F91619869277368A5BEEB2EF6FF0085F4
+% AAFD27F86F7D4876E217EFB3A85E3ECC047A0D3B6B826375EF9DF91EDF66C7FE
+% 87FE0AD40D9D00DFAA083DE97C66E558FAEDC9BAB68FA5563E39961046DF7DAF
+% DAFC86B5AEF66DAA867F215AB9C5AD0448931204F6EEA149AC173995892434B9
+% A002E81B771FCD4AE739DB1F503635AE2486380D60B750EDAD7FF9E8C850D100
+% 820EBDDCCBD96BAC739D7FA75D624B18DFFA565B61FF00A0C594EEB1496EFA1B
+% 6B9F4BA77BB6B5AE274DB66DDCEDBFC9DAB6ADE9F8F98D7D598CB5C09DE2A712
+% CD3F976D2FD963777F2D3E1BF16B2DAF02B365434229D82961F377B773FF007F
+% 6FA8A200750C03181F30D7C3F97A9CEFB45D9353AABDE0525A1F153C8D9DB67E
+% 8EB2E66DFA75D9BFF46B55D9CEAF2EBA2DA5EFA5EC97646D90D33B5A5E59F98F
+% 9FFAC7FC56FF0042A757EA34E2B4D2D6B6DC8B012E635DED6B4FB77E44FD062A
+% 755DD66DC57D8D76350C8F4BD67B9CD718FCEADCF6BAB73754E8896E02E88978
+% 70F8BB39189899B!
 43314B89A5B04110E0E05AEDA196582CF7B7F9CDECFD325D2
+% 31DD46132AB2CF55ED2438F8104FE8F977F37F450BA6613DB41BAFBBD7C8BD8C
+% 6DEE6BB4696496D34D94FA7FA3A9F659EFDBEA588F45D915BC372FD30EB6368A
+% C1FA41BFA5DEE27DDF454B44824EFD596EA8550D9B8924926AE524924929FFD3
+% F554C74D53A8BDA1ED2D3C1E47924A44CB1FF69B1AF2D02016346A4B40D6C7FB
+% 7DBB9FEC6FFC5A0BB3706CCC6E31BEB75C06E65421CE691FE11DF4B67F21567E
+% 0DD915BDF97A5971F731A4B9AD00FE8AA6CFEEB7F9DFF4967A8957F64E9EE656
+% DDAD2E92F7C06807F96EFDE530803B1B95550FE2D696522C513ADBA2DC7A8012
+% DDC7C5DA93F1944F6B60683B008745ECB9BB9A6478F8A8B1EF0FF4DD5B84925D
+% 669B493FD53BFF00CE6A866640D166870571446FD833B68A6D20D8D0E2D9027C
+% 0FD26FF55CA9D580FC2A5CDC67B4971DCEB2FDC63C5DB1AE6D7F47F36BF415C6
+% 58C2D1E9CB9BC0238FF3BF393DAF656C2EB012D04030D2EE4EDFA2D0EFFCC134
+% 709D579DABBBCE3F0F2B3DD7065FEB536C7AD94DFD1B1DE9977A7563D156F73E
+% A6EFFD25B65D67A9FF0017B158FB0E261DB4D977A7EA39BB2AF6973811FE8F76
+% E72D2A3AB74FBC5A59688A1CE6DA4F0DDBF9CE7FF36D67F2B77FE09BD1DD451B
+% 8DA58DDF1F4C8D614D0C911A01A3164C529697FF0072D2C3ADF4836DAF739D61
+% 009768E33A37467B559C8B1B5D4D6BD9BD847B817098FA3A6FFA7F4BF7D1DA1A
+% 00DBC762B23AC6506D4D0F6C5AED6AD636C3873FBDBFD9FA2FF0B67E8D899932
+% 13B685118184753C44BAB8F732FA596B0CB5C3BE864687FE9222CCFABC727F67
+% 4640877A961699E5AE77A9C7E66C73FD2DBFF06B4D0F3661B6AA49249253FFD4
+% F5550B63D27CC81B4EA2678EDB21FF00E6A9A6735AE696B84B5C2083C1052521
+% 756DB7D37133B007026473DF669EE5917B76BDF6BEB796D7616D4C716D758FE5
+% 0FCEB372D2B32DEC6D0D6D42CB6DD1E1AE68637696B6EF7D858E77A5BBF32BFC
+% C51FD9D5BB25F9169F56C71258481B5A3B358DFDEDBF9EA6C79044907A7460CB
+% 8CCA363525AACCBCD758DAEB6358D03DDB89E4FEEED5A34D8F6B0BAF78D3BC6D
+% 1F892A4DA76C00040F1D4A1370DDB8BAD7FAAE719F701007EEB1A94A5097411F
+% CD8F1C32C28EFE1D190BECB2C0DA9AD2CFCE7870D3FAAD83B9584014EC3B8B8B
+% 8766E908A663DC62398D1472AD299E065AF10D5AD7D599BB6D26B7D446A2E930
+% 7F77D9FCE31DFCBFA1FF000BBFF461AB1B230B1B2AE786E55AE3BEBC7AC7A758
+% DAD8AE9AD8E758DDCE7FB9F77E7FFDB6AF36D63EB0FACEF69E0B759F8154F32E
+% C8C70F758F636A26597381!
 DACFE45CDDDF4BFD1DDFF5BFD17E8FD5611C3A81AA
+% FB02CD5F7F1497DD15C5A62752C64C9FE40DB0EFF5FA0B16D75965B664871391
+% EB86D0D0FDD5D15967A5F687532DFD2BB75DE9FF00C27E8FFD221E5E5B9DF67B
+% CD576CB5F1481A3AD77954E76F6334FF00468DD3F14D4CB2ECD0319D63CD950B
+% 1BC47E84DB65BA535DB6BEFDB8D5DBF99FE0FF009DF4C63F9AE4C71E33648E9A
+% 7F55D2E867761B9ED9F49D63853BB9D8C8A013FD6755B968A0E1D031F16AA75F
+% 6B759E64FB9DFF0049193E5B9F3648EC1492492097FFD5F5549249252175465C
+% 19A171DED9D4077E77B7F95FF56B2197E4B6E353AD3894D0F1E8D75ED797B662
+% E65CCDB635B56EFE6FD3F4ED62DB7B43DA5A6402224120EBE0E6C39AB2BA80B3
+% 1EA631F63D9481FA7CA76E76CAC37F4AF73EBDBFA6DAC6ECBACFD1D7FCF7E93F
+% 997B67777F4639020831BBFC1B14F53ADD98EC176E7DD24B0B58E03601BF758E
+% 70D9FF0007BD8EFF0047FBEACE564371A875EFFA0C8DE7B35A486BAC77EED75B
+% 7F4967F2163538169F4FA8623ADB5EC8153B29C5E367D0F5D94511BDDE9BECF4
+% BDCCFE73E82D5C7C877A7B0EEB6C61DAE716ECDC47EEB53C4254B84C0AE22906
+% 454FAEBBEBB05955801ACD7EF0F0ED5AE6B99BB7336AA7D40D97B4B585D536A9
+% 2E7176D0EFE4EC66EB1EADDEF2C754E86EA483B84BBE8B9D0CD5BFBAA961F56F
+% B56406331DCEC7B1FB29BC35DB5C035EFB2F2EDA6AF437B19456EF57D4B2CFF0
+% 7E9FA6FB146601DB50A944CAC0F36A60D79877B8D8E73C18697CB8347FC1876D
+% 5A7EADE1BE98607088758490493FBAC60F77F9EC44BD8E6B41A9BE32D02499FE
+% DD6D6AA96E6D58A7D323ED196D689AEB074DDF47D5B0EF652D77F2FF00EB75A9
+% 8C8486C3CBAB008CE32278BFB12E174F38F90FCAB6C375D635B5EE7B40735838
+% ADAE6FE6EEF7BFFE11553D359665D7451FA3E9F4B8BDD8EC02BAA49F58C56D1F
+% A675B92EDF63FF0099F4FF0043E9FE96E49D5E5E639A2D787020C5357B6B0276
+% D85EF796D96ECFE6FE87FD67F48B4B1B1ABC6ABD3AC47771F13F3DCA23103CFB
+% 766789BD3A2649249357292492494FFFD6F554924925290EEA59706EED0B0EE6
+% 38685AE1F9CD3FF47F96CFD1BFF4688924A73FA937A836B73B1ACFA65A37113E
+% 9025AC7BEBAEB0DF53FD2FE9ACFF00C013E167E2DEC0DA6C6BAD76E06C6B086B
+% 9ECF6DBDBE96EFF07BD5F42BB1E9BD8596B0381F9107F79AF6FB98EFE53521D7
+% B1457F22E4E7E46654FF00758DA5BCBDF638C081BBD9B5BB76FB7E9D8F546BEA
+% B936D95DD48BEE6BA41706BEBADC08D3D371FF00C8FBD6FB7A7630209DEF8FA3
+% EA3DCF23FAAFB0B9FDFF007957774!
 2C7B06CBEFC8BABEF5BAD2D0E3FBD61A7D2
+% 7D9FBBB1EFF4BFE0D33835DD8C62FE56E659D4F305753ADB61ECD59435E1BBDC
+% DFA2EC87B9DEB3F1B77D3F47F4977FC5AD46306535DE9D64B490E36BC1ADAF71
+% 078AA1B6BABAFD9FF1BFE9559C5C0C2C36918D4B6A9E481A9FEB3CFB9CAC27C6
+% E3B15E23A51D50D18B5504B9A25EE0017F7DADFA15B7F72AAF77E8EB6A324924
+% B94924924A524924929FFFD93842494D04210000000000790000000101000000
+% 1800410064006F00620065002000500068006F0074006F00730068006F007000
+% 200045006C0065006D0065006E007400730000001C00410064006F0062006500
+% 2000500068006F0074006F00730068006F007000200045006C0065006D006500
+% 6E0074007300200032002E003000000001003842494D042200000000012E4D4D
+% 002A000000080007011200030000000100010000011A00050000000100000062
+% 011B0005000000010000006A012800030000000100020000013100020000001D
+% 0000007201320002000000140000008F8769000400000001000000A4000000D0
+% 0000004800000001000000480000000141646F62652050686F746F73686F7020
+% 456C656D656E747320322E3000323030363A31303A30392032323A30393A3238
+% 00000003A001000300000001FFFF0000A00200040000000100000156A0030004
+% 00000001000001830000000000000006010300030000000100060000011A0005
+% 000000010000011E011B00050000000100000126012800030000000100020000
+% 02010004000000010000012E0202000400000001000000000000000000000048
+% 0000000100000048000000013842494D03FD0000000000070000000000000000
+%EndPhotoshop
+%begin_xml_code
+/pdfmark where {pop true} {false} ifelse
+/currentdistillerparams where {pop currentdistillerparams
+/CoreDistVersion get 5000 ge } {false} ifelse
+and not {userdict /pdfmark /cleartomark load put} if
+[/NamespacePush pdfmark
+[/_objdef {photoshop_metadata_stream} /type /stream /OBJ pdfmark
+/MetadataString 5038 string def % exact length of metadata
+/TempString 100 string def
+/ConsumeMetadata {
+currentfile TempString readline pop pop
+currentfile MetadataString readstring pop pop
+} bind def
+ConsumeMetadata
+%begin_xml_packet: 5038
 <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
 <?adobe-xap-filters esc="CR"?>
 <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'>
@@ -526,76 +526,76 @@
                                                                                                     
                                                                                                     
                                                        
-<?xpacket end='w'?>
-%end_xml_packet
-[{photoshop_metadata_stream} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark
-[{photoshop_metadata_stream} MetadataString  /PUT pdfmark
-[/_objdef {nextImage} /NI pdfmark
-%end_xml_code
-gsave % EPS gsave
-/hascolor
-/deviceinfo where
-{pop deviceinfo /Colors known
-{deviceinfo /Colors get exec 1 gt}
-{false} ifelse}
-{/statusdict where
-{pop statusdict /processcolors known
-{statusdict /processcolors get exec 1 gt}
-{false} ifelse}
-{false} ifelse}
-ifelse
-def
-40 dict begin
-/_image systemdict /image get def
-/_setgray systemdict /setgray get def
-/_currentgray systemdict /currentgray get def
-/_settransfer systemdict /settransfer get def
-/_currenttransfer systemdict /currenttransfer get def
-/blank 0 _currenttransfer exec
-1 _currenttransfer exec eq def
-/negative blank
-{0 _currenttransfer exec 0.5 lt}
-{0 _currenttransfer exec 1 _currenttransfer exec gt}
-ifelse def
-/inverted? negative def
-/level2 systemdict /languagelevel known
-{languagelevel 2 ge} {false} ifelse def
-/level3 systemdict /languagelevel known
-{languagelevel 3 ge} {false} ifelse def
-level2 {/band 0 def} {/band 5 def} ifelse
-gsave % Image Header gsave
-/rows 387 def
-/cols 342 def
-342 387 scale
-level2 {
-/DeviceRGB
-setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
-/beginimage level2
-{/image load def}
-{{pop .9 setgray 0 0 moveto 0 1 lineto
-1 1 lineto 1 0 lineto fill 0 setgray
-0 1 translate 1 cols div 1 rows div scale
-/ratio {cols 400 div mul} def
-/Helvetica findfont 15 ratio scalefont setfont
-5 ratio -20 ratio moveto
-(Mit JPEG komprimierte Bilder ben\232tigen PostScript Level 2) show
-/x 128 string def
-{currentfile x readline {} {pop exit} ifelse
-(~>) search {pop pop pop exit} {pop} ifelse
-} loop } def}
-ifelse
-12 dict begin
-/ImageType 1 def
-/Width cols def
-/Height rows def
-/ImageMatrix [cols 0 0 rows neg 0 rows] def
-/BitsPerComponent 8 def
-/Decode [0 1 0 1 0 1] def
-/DataSource currentfile /ASCII85Decode filter
-/DCTDecode filter def
-currentdict end
-%%BeginBinary:      12801
-beginimage
+<?xpacket end='w'?>
+%end_xml_packet
+[{photoshop_metadata_stream} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark
+[{photoshop_metadata_stream} MetadataString  /PUT pdfmark
+[/_objdef {nextImage} /NI pdfmark
+%end_xml_code
+gsave % EPS gsave
+/hascolor
+/deviceinfo where
+{pop deviceinfo /Colors known
+{deviceinfo /Colors get exec 1 gt}
+{false} ifelse}
+{/statusdict where
+{pop statusdict /processcolors known
+{statusdict /processcolors get exec 1 gt}
+{false} ifelse}
+{false} ifelse}
+ifelse
+def
+40 dict begin
+/_image systemdict /image get def
+/_setgray systemdict /setgray get def
+/_currentgray systemdict /currentgray get def
+/_settransfer systemdict /settransfer get def
+/_currenttransfer systemdict /currenttransfer get def
+/blank 0 _currenttransfer exec
+1 _currenttransfer exec eq def
+/negative blank
+{0 _currenttransfer exec 0.5 lt}
+{0 _currenttransfer exec 1 _currenttransfer exec gt}
+ifelse def
+/inverted? negative def
+/level2 systemdict /languagelevel known
+{languagelevel 2 ge} {false} ifelse def
+/level3 systemdict /languagelevel known
+{languagelevel 3 ge} {false} ifelse def
+level2 {/band 0 def} {/band 5 def} ifelse
+gsave % Image Header gsave
+/rows 387 def
+/cols 342 def
+342 387 scale
+level2 {
+/DeviceRGB
+setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
+/beginimage level2
+{/image load def}
+{{pop .9 setgray 0 0 moveto 0 1 lineto
+1 1 lineto 1 0 lineto fill 0 setgray
+0 1 translate 1 cols div 1 rows div scale
+/ratio {cols 400 div mul} def
+/Helvetica findfont 15 ratio scalefont setfont
+5 ratio -20 ratio moveto
+(Mit JPEG komprimierte Bilder ben\232tigen PostScript Level 2) show
+/x 128 string def
+{currentfile x readline {} {pop exit} ifelse
+(~>) search {pop pop pop exit} {pop} ifelse
+} loop } def}
+ifelse
+12 dict begin
+/ImageType 1 def
+/Width cols def
+/Height rows def
+/ImageMatrix [cols 0 0 rows neg 0 rows] def
+/BitsPerComponent 8 def
+/Decode [0 1 0 1 0 1] def
+/DataSo!
 urce currentfile /ASCII85Decode filter
+/DCTDecode filter def
+currentdict end
+%%BeginBinary:      12801
+beginimage
 s4IA0!"_al8O`[\!W`9l!([(is6]js6"FnCAH67k!!!!"s4[O,!"obO%M0*b&.fQt
 '+km!,8q:3)C$FB(Ddl(+qY4l$k*OQ&I]'V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ
 $iq%U',DH$)]';0'FkT_'GM#e%Ls0b$k*OQ$kX'[$k*OQ$kWmV$k*OQ$k*OQ$k*OQ
@@ -789,9 +789,9 @@
 (5C.cK]sbFP`eT`V'M3q.7keJ8lA5+P*D,$,c)cL8L[4VP"JVD,a+CT8L156fBs8X
 *0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at CgeqGuP"L/A-/lrkVqb0V
 *0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at CgeqGuP"L/A-/lrkVqb0V
-*0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at Cs4I~>
-%%EndBinary
-grestore end % Image Trailer grestore
-grestore % EPS grestore
-[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark
-[/NamespacePop pdfmark
+*0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at Cs4I~>
+%%EndBinary
+grestore end % Image Trailer grestore
+grestore % EPS grestore
+[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark
+[/NamespacePop pdfmark
Modified: trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.eps
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.eps	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo.eps	2019-01-05 22:40:38 UTC (rev 49607)
@@ -1,540 +1,540 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Title: brave-gnu-world-logo.eps
-%%CreationDate: 09.10.2006 22:10 Uhr
-%%BoundingBox: 0 0 342 387
-%%HiResBoundingBox: 0 0 342 387
-%%SuppressDotGainCompensation
-%%EndComments
-%%BeginProlog
-%%EndProlog
-%%BeginSetup
-%%EndSetup
-%ImageData: 342 387 8 3 0 1 3 "beginimage"
-%BeginPhotoshop: 16252
-% 3842494D0425000000000010000000000000000000000000000000003842494D
-% 03EA000000001DA63C3F786D6C2076657273696F6E3D22312E302220656E636F
-% 64696E673D225554462D38223F3E0A3C21444F435459504520706C6973742050
-% 55424C494320222D2F2F4170706C6520436F6D70757465722F2F44544420504C
-% 49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E63
-% 6F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C
-% 706C6973742076657273696F6E3D22312E30223E0A3C646963743E0A093C6B65
-% 793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D48
-% 6F72697A6F6E74616C5265733C2F6B65793E0A093C646963743E0A09093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F72
-% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
-% 696E676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E61
-% 70706C652E7072696E742E7469636B65742E6974656D41727261793C2F6B6579
-% 3E0A09093C61727261793E0A0909093C646963743E0A090909093C6B65793E63
-% 6F6D2E6170706C652E7072696E742E50616765466F726D61742E504D486F7269
-% 7A6F6E74616C5265733C2F6B65793E0A090909093C7265616C3E37323C2F7265
-% 616C3E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F6D
-% 2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E0A
-% 090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D31302D
-% 30395432303A31303A30355A3C2F646174653E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B
-% 65793E0A090909093C696E74656765723E303C2F696E74656765723E0A090909
-% 3C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B65
-% 793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D4F
-% 7269656E746174696F6E3C2F6B65793E0A093C646963743E0A09093C6B65793E
-% 636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F
-% 6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E
-% 676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E617070
-% 6C652E7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A
-% 09093C61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E50616765466F726D61742E504D4F7269656E74
-% 6174696F6E3C2F6B65793E0A090909093C696E74656765723E313C2F696E7465
-% 6765723E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
-% 636B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F
-% 6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E
-% 0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D3130
-% 2D30395432303A31303A30355A3C2F646174653E0A090909093C6B65793E636F
-% 6D2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F
-% 6B65793E0A090909093C696E74656765723E303C2F696E74656765723E0A0909
-% 093C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B
-% 65793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D
-% 5363616C696E673C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F6B6579
-% 3E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E676D61
-% 6E616765723C2F737472696E673E0A09093C6B65793E636F6D2E6170706C652E
-% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A09093C
-% 61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D2E6170
-% 706C652E7072696E742E50616765466F726D61742E504D5363616C696E673C2F
-% 6B65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B6579
-% 3E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F
-% 6B65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E74
-% 696E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E6D6F64446174653C2F6B6579
-% 3E0A090909093C646174653E323030362D31302D30395432303A31303A30355A
-% 3C2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E74
-% 656765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F
-% 61727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E
-% 7072696E742E50616765466F726D61742E504D566572746963616C5265733C2F
-% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
-% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
-% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
-% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
-% 093C646963743E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E50616765466F726D61742E504D566572746963616C5265733C2F6B65793E0A
-% 090909093C7265616C3E37323C2F7265616C3E0A090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B65793E
-% 0A090909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D
-% 616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E617070
-% 6C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E0A0909
-% 09093C646174653E323030362D31302D30395432303A31303A30355A3C2F6461
-% 74653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465676572
-% 3E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61727261
-% 793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E7072696E
-% 742E50616765466F726D61742E504D566572746963616C5363616C696E673C2F
-% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
-% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
-% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
-% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
-% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
-% 093C646963743E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E50616765466F726D61742E504D566572746963616C5363616C696E673C2F6B
-% 65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B65793E
-% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
-% 65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E7469
-% 6E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E
-% 6170706C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E
-% 0A090909093C646174653E323030362D31302D30395432303A31303A30355A3C
-% 2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E
-% 7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465
-% 6765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61
-% 727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E70
-% 72696E742E7375625469636B65742E70617065725F696E666F5F7469636B6574
-% 3C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E
-% 7072696E742E50616765466F726D61742E504D41646A75737465645061676552
-% 6563743C2F6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E61
-% 70706C652E7072696E742E7469636B65742E63726561746F723C2F6B65793E0A
-% 0909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D616E
-% 616765723C2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E
-% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A090909
-% 3C61727261793E0A090909093C646963743E0A09090909093C6B65793E636F6D
-% 2E6170706C652E7072696E742E50616765466F726D61742E504D41646A757374
-% 656450616765526563743C2F6B65793E0A09090909093C61727261793E0A0909
-% 090909093C7265616C3E302E303C2F7265616C3E0A0909090909093C7265616C
-% 3E302E303C2F7265616C3E0A0909090909093C7265616C3E3738333C2F726561
-% 6C3E0A0909090909093C7265616C3E3535393C2F7265616C3E0A09090909093C
-% 2F61727261793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E
-% 742E7469636B65742E636C69656E743C2F6B65793E0A09090909093C73747269
-% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
-% 72696E673E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
-% 7469636B65742E6D6F64446174653C2F6B65793E0A09090909093C646174653E
-% 323030362D31302D30395432303A31303A30355A3C2F646174653E0A09090909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E737461
-% 7465466C61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E
-% 74656765723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09
-% 093C2F646963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E
-% 50616765466F726D61742E504D41646A75737465645061706572526563743C2F
-% 6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E6170706C652E
-% 7072696E742E7469636B65742E63726561746F723C2F6B65793E0A0909093C73
-% 7472696E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C
-% 2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E7469636B65742E6974656D41727261793C2F6B65793E0A0909093C61727261
-% 793E0A090909093C646963743E0A09090909093C6B65793E636F6D2E6170706C
-% 652E7072696E742E50616765466F726D61742E504D41646A7573746564506170
-% 6572526563743C2F6B65793E0A09090909093C61727261793E0A090909090909
-% 3C7265616C3E2D31383C2F7265616C3E0A0909090909093C7265616C3E2D3138
-% 3C2F7265616C3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A09
-% 09090909093C7265616C3E3537373C2F7265616C3E0A09090909093C2F617272
-% 61793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
-% 636B65742E636C69656E743C2F6B65793E0A09090909093C737472696E673E63
-% 6F6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E67
-% 3E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B
-% 65742E6D6F64446174653C2F6B65793E0A09090909093C646174653E32303036
-% 2D31302D30395432303A31303A30355A3C2F646174653E0A09090909093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E7374617465466C
-% 61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E74656765
-% 723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09093C2F64
-% 6963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E50617065
-% 72496E666F2E504D50617065724E616D653C2F6B65793E0A09093C646963743E
-% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E617070
-% 6C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A
-% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E69
-% 74656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C64
-% 6963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E50
-% 61706572496E666F2E504D50617065724E616D653C2F6B65793E0A0909090909
-% 3C737472696E673E69736F2D61343C2F737472696E673E0A09090909093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C
-% 2F6B65793E0A09090909093C737472696E673E636F6D2E6170706C652E707269
-% 6E742E706D2E506F73745363726970743C2F737472696E673E0A09090909093C
-% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
-% 74653C2F6B65793E0A09090909093C646174653E323030332D30372D30315431
-% 373A34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
-% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
-% 0A09090909093C696E74656765723E313C2F696E74656765723E0A090909093C
-% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
-% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
-% 556E61646A757374656450616765526563743C2F6B65793E0A09093C64696374
-% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170
-% 706C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E
-% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 6974656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C
-% 646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
-% 5061706572496E666F2E504D556E61646A757374656450616765526563743C2F
-% 6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E302E
-% 303C2F7265616C3E0A0909090909093C7265616C3E302E303C2F7265616C3E0A
-% 0909090909093C7265616C3E3738333C2F7265616C3E0A0909090909093C7265
-% 616C3E3535393C2F7265616C3E0A09090909093C2F61727261793E0A09090909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69
-% 656E743C2F6B65793E0A09090909093C737472696E673E636F6D2E6170706C65
-% 2E7072696E74696E676D616E616765723C2F737472696E673E0A09090909093C
-% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
-% 74653C2F6B65793E0A09090909093C646174653E323030362D31302D30395432
-% 303A31303A30355A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
-% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
-% 0A09090909093C696E74656765723E303C2F696E74656765723E0A090909093C
-% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
-% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
-% 556E61646A75737465645061706572526563743C2F6B65793E0A09093C646963
-% 743E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65
-% 742E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E61
-% 70706C652E7072696E742E706D2E506F73745363726970743C2F737472696E67
-% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E6974656D41727261793C2F6B65793E0A0909093C61727261793E0A09090909
-% 3C646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E74
-% 2E5061706572496E666F2E504D556E61646A7573746564506170657252656374
-% 3C2F6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E
-% 2D31383C2F7265616C3E0A0909090909093C7265616C3E2D31383C2F7265616C
-% 3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A0909090909093C
-% 7265616C3E3537373C2F7265616C3E0A09090909093C2F61727261793E0A0909
-% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E63
-% 6C69656E743C2F6B65793E0A09090909093C737472696E673E636F6D2E617070
-% 6C652E7072696E74696E676D616E616765723C2F737472696E673E0A09090909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F64
-% 446174653C2F6B65793E0A09090909093C646174653E323030362D31302D3039
-% 5432303A31303A30355A3C2F646174653E0A09090909093C6B65793E636F6D2E
-% 6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65
-% 793E0A09090909093C696E74656765723E303C2F696E74656765723E0A090909
-% 093C2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09
-% 093C6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E
-% 7070642E504D50617065724E616D653C2F6B65793E0A09093C646963743E0A09
-% 09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6372
-% 6561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170706C65
-% 2E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A0909
-% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E697465
-% 6D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C646963
-% 743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E506170
-% 6572496E666F2E7070642E504D50617065724E616D653C2F6B65793E0A090909
-% 09093C737472696E673E41343C2F737472696E673E0A09090909093C6B65793E
-% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
-% 65793E0A09090909093C737472696E673E636F6D2E6170706C652E7072696E74
-% 2E706D2E506F73745363726970743C2F737472696E673E0A09090909093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F6444617465
-% 3C2F6B65793E0A09090909093C646174653E323030332D30372D30315431373A
-% 34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170706C
-% 652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E0A09
-% 090909093C696E74656765723E313C2F696E74656765723E0A090909093C2F64
-% 6963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C6B65
-% 793E636F6D2E6170706C652E7072696E742E7469636B65742E41504956657273
-% 696F6E3C2F6B65793E0A09093C737472696E673E30302E32303C2F737472696E
-% 673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
-% 2E707269766174654C6F636B3C2F6B65793E0A09093C66616C73652F3E0A0909
-% 3C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E74797065
-% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
-% 2E5061706572496E666F5469636B65743C2F737472696E673E0A093C2F646963
-% 743E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
-% 41504956657273696F6E3C2F6B65793E0A093C737472696E673E30302E32303C
-% 2F737472696E673E0A093C6B65793E636F6D2E6170706C652E7072696E742E74
-% 69636B65742E707269766174654C6F636B3C2F6B65793E0A093C66616C73652F
-% 3E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E74
-% 7970653C2F6B65793E0A093C737472696E673E636F6D2E6170706C652E707269
-% 6E742E50616765466F726D61745469636B65743C2F737472696E673E0A3C2F64
-% 6963743E0A3C2F706C6973743E0A3842494D03E9000000000078000300000048
-% 004800000000030F022FFFEEFFEE033802410367057B03E00002000000480048
-% 0000000002D802280001000000640000000100030303000000017FFF00010001
-% 0000000000000000000000006808001901900000000000200000000000000000
-% 0000000000000000000000000000000000003842494D03ED0000000000100048
-% 00000001000200480000000100023842494D042600000000000E000000000000
-% 000000003F8000003842494D040D0000000000040000001E3842494D04190000
-% 000000040000001E3842494D03F3000000000009000000000000000001003842
-% 494D040A00000000000100003842494D271000000000000A0001000000000000
-% 00023842494D03F5000000000048002F66660001006C66660006000000000001
-% 002F6666000100A1999A0006000000000001003200000001005A000000060000
-% 00000001003500000001002D000000060000000000013842494D03F800000000
-% 00700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFF
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFF
-% FFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D04080000000000100000
-% 00010000024000000240000000003842494D041E000000000004000000003842
-% 494D041A00000000035D00000006000000000000000000000183000001560000
-% 001400620072006100760065002D0067006E0075002D0077006F0072006C0064
-% 002D006C006F0067006F00000001000000000000000000000000000000000000
-% 0001000000000000000000000156000001830000000000000000000000000000
-% 0000010000000000000000000000000000000000000010000000010000000000
-% 006E756C6C0000000200000006626F756E64734F626A63000000010000000000
-% 00526374310000000400000000546F70206C6F6E6700000000000000004C6566
-% 746C6F6E67000000000000000042746F6D6C6F6E670000018300000000526768
-% 746C6F6E670000015600000006736C69636573566C4C73000000014F626A6300
-% 000001000000000005736C6963650000001200000007736C69636549446C6F6E
-% 67000000000000000767726F757049446C6F6E6700000000000000066F726967
-% 696E656E756D0000000C45536C6963654F726967696E0000000D6175746F4765
-% 6E6572617465640000000054797065656E756D0000000A45536C696365547970
-% 6500000000496D672000000006626F756E64734F626A63000000010000000000
-% 00526374310000000400000000546F70206C6F6E6700000000000000004C6566
-% 746C6F6E67000000000000000042746F6D6C6F6E670000018300000000526768
-% 746C6F6E67000001560000000375726C54455854000000010000000000006E75
-% 6C6C54455854000000010000000000004D736765544558540000000100000000
-% 0006616C74546167544558540000000100000000000E63656C6C546578744973
-% 48544D4C626F6F6C010000000863656C6C546578745445585400000001000000
-% 000009686F727A416C69676E656E756D0000000F45536C696365486F727A416C
-% 69676E0000000764656661756C740000000976657274416C69676E656E756D00
-% 00000F45536C69636556657274416C69676E0000000764656661756C74000000
-% 0B6267436F6C6F7254797065656E756D0000001145536C6963654247436F6C6F
-% 7254797065000000004E6F6E6500000009746F704F75747365746C6F6E670000
-% 00000000000A6C6566744F75747365746C6F6E67000000000000000C626F7474
-% 6F6D4F75747365746C6F6E67000000000000000B72696768744F75747365746C
-% 6F6E6700000000003842494D041100000000000101003842494D041400000000
-% 0004000000013842494D040C000000001A350000000100000071000000800000
-% 01540000AA0000001A1900180001FFD8FFE000104A4649460001020100480048
-% 0000FFED000C41646F62655F434D0002FFEE000E41646F626500648000000001
-% FFDB0084000C08080809080C09090C110B0A0B11150F0C0C0F15181313151313
-% 18110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
-% 0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E14140E0E0E0E14110C0C0C0C
-% 0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
-% 0C0C0C0C0C0CFFC00011080080007103012200021101031101FFDD00040008FF
-% C4013F0000010501010101010100000000000000030001020405060708090A0B
-% 0100010501010101010100000000000000010002030405060708090A0B100001
-% 0401030204020507060805030C33010002110304211231054151611322718132
-% 061491A1B14223241552C16233347282D14307259253F0E1F163733516A2B283
-% 264493546445C2A3743617D255E265F2B384C3D375E3F3462794A485B495C4D4
-% E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F637475767778797A7B7C7D7E7F7
-% 1100020201020404030405060707060535010002110321311204415161712213
-% 0532819114A1B14223C152D1F0332462E1728292435315637334F1250616A2B2
-% 83072635C2D2449354A317644555367465E2F2B384C3D375E3F34694A485B495
-% C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F62737475767778797A7B7C7
-% FFDA000C03010002110311003F00F5549249252962FD63FADFD0BEADD3BFA95F
-% FA67006BC4AA1D7BC1DC039B4EE6EDAFF46FFD35BE9D3FF09BD61FD7EFAFE3A1
-% 8FD91D22323AEDE000000E18E1C3DB658DFA2FC87B7DD451FF00A1191FA2F4AA
-% C9E1FA4FD5DCEEA998EEA7D58BFA8751CC74D3597026D70038716BABAF1F1D8D
-% DB65FF00CC52CF469AB67A94D8929EA2CFF1C4CB2D8E9FD132322AEEEB2C6D6E
-% E63F9BAD993F9BFF0008B5A9FF0018D45AD31D1F3C585E6BA9B1400F7EA1B5D7
-% BF258EB2C76DFA14D76A9F4FFA834B58D7E7E4D8D773F66C6706D4D91F47D6B2
-% BFB4DCE6EEFE77F56FFC2F5ADDE9BD07A474B71B30B19B5DCE043AF717597104
-% 8739AFCABDD6E4399B9BBB67AA9292F4DBFA86452EB73B1460B8B88AA8F505AF
-% 0C1F45F7BEAFD0B2C7FF00A1A5F7FA7FF721FF00E0ADA4924A79BEBBD47EB974
-% 9B1F7E06053D6B05DAB59597539356AEDCCB1937332D9B7D3F4ACC7632DFF494
-% 7F855CB752FF0019FF005971C7A7FB2A8E9F748939A320340D665B65185FF07F
-% E13FF3E2F4D49253E59D37FC66FD64B323D4C9AF03269827ECF8FEA31CE8F67E
-% 8B21CFC8D9EFFF004B4FFDB5FCF57E83D13AFF004EEB743ADC37383EBDBEB63D
-% A36DB5EE1B99BD9AEE63FF00C1DF53ACC7BBFC0DB62C4FAD5FE2EFA4F5B6D995
-% 84D6F4EEABF49B91588AEC7025F199437D96FA9BDDFA7FE91FF1BE9FA2BCFABB
-% FAD740EBC303A89FB1754C40E38990C135DA1FFE1F7B87EB38D76CF753FF005B
-% FD0E4D1FA24A7DB9258DF56FEB0B3ACE31173063E75207AF44CB48FCDC9C677F
-% 84C5B7F33FD1FF00336FE916CA4A524924929FFFD0F555CC7D7DFAE15FD58E96
-% 3D269B3A96687D7835812039BB77DF618DBB28F52BFD1FF86B3F47F43D5B6AE9
-% D782F56EA87EB37D6BCAEAAE71B315961A30441814D42CB3D50DB7DCDD98F5DB
-% 97657B7FA45DFE0D2527FAADD06CCA7D9D433C3F2AFB9C2581FF00A5BEEB9DBD
-% 98E2CB377BED7B7D5CABBFC151FA7C8B3D15EBDD07A1D7D2F1F7DA18FCFB9A06
-% 4DCC076C0FA18F8FBE5D5E263FD0A6BFFAF59FA7B6D58DF527A355481956FBED
-% A2B635B31FA3B2D636FBDBB3DCE6DCDAACAFF49F4FF58BAA5D724A52499CE6B1
-% A5CE21AD689738E8001DCAE03AFF00F8DAC1C6C87E07D5FC63D57246E67AF3B6
-% 86BFE830B3682FCA67A9FB9E8D567F81C9494FA024BCBFA6FF008CDFAD0EC963
-% 73B0F06DAF5DF4D0E7D76684336B2CB2DC9ABD5F51DF42C6319FF0D5AE9FA87F
-% 8CAFAAB81D3E9CCB6EB1F66434BABC163272416BBD1B59754E2C663BAAB37FF3
-% F6D7EAFA567D9FD6494F5292E1F0FF00C6C746C8B62DC0CDA292EDA2ED8D7800
-% 7D27DB5D563AE6EC6EDDDE9577AEB7A6756E9BD5F1465F4DC8665504ED2F61E1
-% D01DE9D8C3EFAACDAE6FE8EC6FA8929B6B9FFAEDF5529FACFD1DD8A36579F4FE
-% 930725E0FB1FA6E61733DEDAB21ADF4EDFFADDFE958FA2B5D024929F11FAB3D7
-% 3A85393582F38BD4F049AB6580B75691F68C7CE66D7BFECB7ECD96B367AACCA6
-% 7E8EAFB4D78FE9FB2F4ECFA3A8E15799402D65920B1D1B98F6935DD4D9B4B9BE
-% A536B1F559B5CBC5FEB8B2AE9FFE303AA8A229AEC6B2D796E9B5D6B28B6DB7FE
-% DE7BAE7AEFBEA266165F6E00115DB59B76811B2DC77370AFF5777B9D6DF5FD99
-% DFF07E8BFF00B694F66924924A7FFFD1F50CA6DCFC5B9943B6DCEADC2B7710E2
-% 0EC77F9CBE7BFAB4E0031BB8377BECA4171F687DA296D46C0DF76C7EC77FDB5F
-% CB5F44AF2FFAEFF50F37133EFEBBD0697E5D19AE2EEA3D3DB2FB03DC4BDD918C
-% DFA56B2C7B9DBAAFE728B1FF00A1FD0FF454A75FEABFD6CE958551C5CFB7ECF5
-% 585A5B976FB6BF576B6ABB1EFB3E856FFD17A8CB5DB29FF03FA3B29FD274EFFA
-% CBF5718DDCFEAB86D6F89C8A80FF00AB5E29565B32D95ED7EE021B66FF007169
-% 8D1CF6EEAFD4B58DFF00AEBFFAEAE51F567A78A1D939748A98D87B59639AC3EF
-% FE65B90E26AAE86BBE97BFFF0003FCF4A6F7D6CFAD79DF5D731DD27A3EFABA15
-% 0EFD259043B21CD3B9AFB07E653B87EAD8EFFF008EBFF58FB3E3D15B1BEAF328
-% A994359B8D861B5D675B0804BFE916D96FE6FAAC67E67E8BFC27A0AE74EB72F2
-% 5870FEAFE28BE9A5C2B665D601C7A3633D4B6DB03D94D3EADAEB376FBEFF00A1
-% BFF43916FF00379FD33A66664752756E75BD42C69DAEAEB0C7EE206DDD6DB697
-% 6DDBFF0069BF4791F63FE91FA0BD3A1094FE51F5DB4592CB18EA5B67A664E3D2
-% 2CFB3D8CA7710D2D6398C0EDAF6B296B3D3AD9EAEBFB9EA7F3BF43F3F3727168
-% 19363AD65673C1FD333783732086ED756E2EB9F6FF00C5FDA2F7B3FE1175DD4D
-% B57D9CBF368C367516FA78ADC2A326FBC8C6AEC7E4E463F517D77D1535FEA3BF
-% 43BFF9CBFF0056FD27ABE9ACCE9F89899F636ACAE9F878990197598CCFB5B28B
-% 2B25D35E2E6E1DF75F915DBB3D4C87BEBC6FF47EAD767E92C481C7C5C249F31C
-% 3308E324D47865A5D7CAE05D7D74EFAAF0FA5EE716163DA46D734B37D3B086FA
-% 16FD0F568FE77DFF00A657BA5F54C8C1CCAF370EFF00B2DAD86B5ED1B9AF6C7F
-% 35918ECFE9547FC67E9B7FF45FB3FD35B35F41EAB876BF763B6DC4B6B873F633
-% 63B74FF3B4B5D7D9F67D5ED6E5595FBFFE2972AFC5AF2736EFD9CE6E157EA0AA
-% 9DC1EDAED786FB9BE859BBD2FA5F9BFF006CFEE38E23FA244BF050C9FBC0C5F5
-% 7E8DF5F3A4655219D5AEA7A5E6B44B9B6D81B4BC69FA5C5C9B7D3ADFBB77F30E
-% FD62AFF8BFD3595BAD7F8D3FAA9D36A78C6C8FDA59634AE8C604B4B88259BB28
-% B7D06D7BBD8FF4DD75ACFF004162F2BBED78B0E1753A832CD4327F9A7C7B5BB2
-% C1FE05AE6FBF6BFF00EDB46C6C460692D0CADDA83B581B13F9D5B9A2FC8B9BFB
-% 9E933E87F39E8A8D911B9DD47AC754BFAAF5100E6E7BD8E3535BA064B7ECF486
-% 39DFE15F551450CDFF00D169CBB6FF00E6BD45E93F526870CC65A5C48B3ED16B
-% 09DB2F639D57BDAD23D477B9DEA596FEFDB5D5FF0072172BD2FA68BEE630576F
-% A4F0EDC04BF22E062A7574D67DEF7E47D0BBF49ECC3FE7B2A9C15E97F573A3BB
-% A6E33ACBDA1995901BEA3038BF635BBBD2A5D6E9EB58CF52CF52EDBFF07FCC55
-% 424A7612492494FF00FFD2F5549249253CF7D68FABFF0055F268B3AA755C3DD7
-% D23DB918FB9992E7BB6D345553F1DD5D9917BECF4E9C5AADF53F49FA35C2E4F5
-% 3661D76B2DA3EDF994EFAB23A78AFED5563B590F7613C3856CCACBF6FA99BD4E
-% EFF26E33FF0047D330723D3FD1749F5D7A9F52CCCFAFA27437554E6B008CAB1E
-% 5B6B5D68B2BB5BD3298FD264D78CCB7D5CD67F43AAEBAA65B55CFB3D3E7F230C
-% B2ACACAEB9946F65120D3539C7098F7FE8EBFB7E5BEFAF2BABE53D9E97EADEAF
-% F83FD62CF4922247488DF792C9DE801AEB6931EFCEFDA15D7D53229C8C363C33
-% 0BA4E23EB661E457B3754FF4EDF4FD7C2AABB7F9CA3A6B2AC8B7F49FCD7A2B5B
-% AE67E453D0FECD5B9CEA3D573336EC4A982B67B4BAAC5CAFB3D8FF00D5AFB1FF
-% 00A4BD9E933F57F432FF004795F67B70BA2E4E3E3DB9165384324BFF00441C1A
-% DC72F1F9D6DAEA5F4E2D357FC17ABB2BAFF4752DAEA3D4DDD4307131FA18A2DA
-% 301CE7E6E2E23DB5B18F1FD15DBEE7D3859B4D0EDEFBB17ED6CFD73ECB91FA5A
-% EAB2A5265C5C38AA20D91F6B1717171441D28D7EFF00F8CF0993539C5FBEF15B
-% 291B9D5D55B8811F9D75B90E63BFEB752C8BBAAE3ED69A45B63AA3BCBDE1AD0E
-% 27F36CDBBB756BAAB3A062D9EA37A9D79B65D66EB68A2C6B6963DAD875B73BA8
-% 5566563E5D0DF519FCCBF7D2A3D32CC365CCAFA7537E63041B29C67B1986C7FD
-% 16B9F75ADDEFFF0084B37AA5A0BB04D74F958408C7420923A7F37170065DD7D4
-% 6AB5CD14002D632A77B6BD7F9B0D656FDAD64FE8B73FF43FE0D74EDEAACBBAB5
-% 54F54A2D38F750D37676D0368693B72AC7E3B1CC7D6EDDEFB3D0A2CC6FE777AC
-% BEBF9D8B84D76331953F2EDDC6E6E35E6DA9A09FFB55B9BB773377E62CFC4B3A
-% BDD857DB5DB8B8C368A4DD6BCD6F7899FD0BED3E9B94B8BDCF9A029920244588
-% 81127691F9BC5ECBAAF4BE92FE934F45AB25D9349B5D6E0DD5D6CBDB734B0B3E
-% CD4E5FAB7E3FDA5AD637D47B3D3C9A3D2F655E865FA8AC7D4AFA96DCCE995DB6
-% 7516BEB63BD3C8AEBAE6EAEC60FD2E1DAEB9F6D0C7635DF47F57BBD7A7D2B3F9
-% 9F4960F4AE946EC62D17FDAAEC96B6BCA2D756CABD6AC3DF8D55198CB2BF4DBE
-% EF7DDB3F4967AAB4FEAA75FCBE97D7AAB7A99ADADEA8598D7FA43F3E3D3664DF
-% EED8EF4727F41F68FDCBAFF53D5FD0FA73F0C88E23BF567040A1B7F2EEFA574D
-% E8FD3FA6348C5ACFA8F1166458E365CFFF008DC8B4BED7FF005377A75FF83575
-% 249317A92492494FFFD3F5540CDCBA7070EFCDBE7D1C6ADF759024EDADA6C7ED
-% 1FD56A3AC6FADED73FEAEE5D4D0E70BFD3A5ED67D2732DB6AA2D637FAF558F6A
-% 205903BA09A04F67CF7033735DD49EFCCBC56FB817E4B2A8B5F73277E5BED716
-% 8AFECD7DFF00AB50C6DB5E27A18FFA0F52BF52EB639FD5FA4F53EA95BDF7D74B
-% F56E363068BACAC47BF3B2AF6B7ECD4E43F6ECA7171BF9AAD6565E065E7B6CCB
-% EA00B6ECB3AD4C97319B0B6BA316B69FA0DA59ECD8D51ADDD3FA45B4D74B9A5C
-% 4137BDCD0D0D703F45EF8F7395D8E2BE136234D2965AE214657FB1EB3A2FD5AC
-% 1CE65561C3765C1871B1CD74FF00C3653ACFFA152E94748E9B896558B9D9D4D3
-% EAB837170DA2AA019D19556C76EB2E589F54BEB1DB957B28B2C2719C4CFBAAAD
-% BFD7DC18CB9FB7F777AA37D79D5B5ECCEE9B7FA5937D97752CDC50C7E2DAF7B9
-% E5CE65949BADFB1B58D63297E5329F43FED5FE9941CD66CB8F4034FD8BB1C61C
-% 3C422724AF500FC81EA3EB5D5F57A707F6BE0D9D42DAF78C4631AE2D13E9FAA2
-% FDAEAB1BD37EDABD97FF00DB6B88C5E875E063D9FB2F3701F1FCF65F546BEA35
-% C0F7BAA6FAD761DBFF0007B28A3FEBCB7BA3F59C3C8C3C5E9E3A7D995D1AA7B6
-% 8A6F6D6E6B68630399F68BB3BDBD3F32B63BDB63E9BBD7FF0083CAB568F55C1E
-% 974D03A87567557E257B431CCADD90F74FD06D7454C737FB7B2C55E1EDE404CE
-% C3626090008F144F4F95F27C9AB273DD90CA328DD8EF2DFB4E5340AABB4D5BFD
-% 1F4F1696EF7B6BF51DFA4BBFF0244FB062605943F20B03EC6EDADA185EE04705
-% ACB0EE5DD1FACBF563A858DB3A6DD461BAB7FA577DB5CEAB68076B2C6D78D5D9
-% 89E959FE96DC9ABFE13629E67D54C4A1B9199BEA3601B9D977B0D74B43BFD1DB
-% 7FB6EFE47A2AD619E28815F9316486422AA8741178FC2A1D8C0E5E53DE5F6383
-% 7F492DB1D3F4767A7BB62D7CEFD99574AC2A32697DADBF7FDA5CDB87A8CAD8E1
-% 8FE8E39B9B5D76DF6FDA5CFB3D4B6AA6AABFE16C5BBD12AE9991655563E3E466
-% 565C19F6A35B4540BBDAEB3DCFF57D26CFEE2E33EB4F561922B6FA5B1A379C0A
-% BE8FA55FABFE135B7ED19190CAAAFB4BFD6B3D6B595D389FA2AFF4ADE672C741
-% 0DEC52DC6271167524D01FCBFAAFAEFD55EA87ABFD5DC0CF738D96DB486DEF23
-% 693757FA0C9F60FF00BB15DAB55711FE2872326DFAAF757907F98CCB5958F06B
-% 9B4E4B9BFF006EE45ABB75036D4924924A7FFFD4F5558DF5BDF6D7F56F3ADA49
-% 6BEA636D2F01C4B5B5BD965B6B3D27D36FA9556C7D95FA76D6FDEB6557EA1875
-% 67E064E0DD22ACBA5F45846876D8D756E8FECB920A7C9EEA6ACA38EE3906D662
-% D4CB5F75EDF4FDD73836D77A34BBDAFF006EC7596FBFD8B9FBDAD63ADBECA9E6
-% BAEE7578F5B8B29AC1ECED9EEB2DDCBB1A73AA181D3F1AFE97567754CE0FC67D
-% 15B8627A2CC670AF2AA7DF93BB7E6E265BF7FA0CF57F55F52FBBF43E9AC7B7A1
-% 0A3AADE3A9EF7673CB9D8E5CC1B5CD0760FB3501D67B9D5ED77D3FE5AB98720E
-% 2E1EDDDA99B1CB8788F5EDFCA2D06750EAD7DADA2BDAC635BEE0E240D7F77D3D
-% BB96DF4EB5F80D6E665DB2FA3FA3B48343371FF876BFD472BB8FD1FA87A6D751
-% 8CD6318D906DF7DA5C78F6FB58CFEA6E552EFAB5998E0E6752C865CEB6093686
-% B4B5AEF6B5B4D13F9AAC4CE396FA9FDE916B43DC8EDE91FBB10A1D6BAE751C81
-% 5636539A376E7D8DCB018C6F01B4D3634AE9B05BD4322E6E4BBA8E7166303EF6
-% 369B19FCADDEDF771FB8B98FB25188064DD6597D6E3B69A890DAE7FE118D1B95
-% DBE9C9C8A98DC9CDAB171DBEEB035E71E96B40ED57D3B1CA0963801A533C72CC
-% CB5B010F59C56E3D95E2F4ECEA9D80E712CC5EA356512D2E3B8D2D6D1558FEA1
-% 539CE73EBB2EFD255FCDDD7DDFA351E9FD2F1307A6754CDEA783FB50E316E4D3
-% 82C16E26234B22A3E85777E8D8E731CFB3F494FAD91FCDD14BEC57F13AEF4AC2
-% C607A6D2FCDA1CE0D2E61735D69F065D99B1EDABFA8A97D64CEEB228FB65B7D6
-% DC5DE0D75BDBB6BC279DD6578D663D363AAC8B7F47EAE1755B3FED47A95FEA17
-% 7A75AA73C631DCA313E619C480B908EA770373E6D6EA9D5B2998EEC379AFA763
-% 3C7E93030B7B5CFD1D355F6B36E5DBB98FD8FF0052EC7FFC28B98C8B85A1F940
-% 9194EC8D9556D7EFA68A7D36D755BE87B76BFF0048FF0041BBBF45E97A5E9A06
-% 4D97D871AEF42F73322C2DC7810EBDE0ECDB5D7B9EE6B77FE6318AE61747B71B
-% 09FD43A8BEBC375B3914D17822D35CBB1DD9505BE937D5BACF4B11B77E93F476
-% 5D4D1E9FE99478ACCAE66FCD18C4F52753AD7689FEAC5F48FF0014B5399F56F2
-% 2D8229BF32C763B9D12EAD95D18BBFFCFC7B176CB17EA6F4B7F49FAAFD3B06D0
-% E6DCDA459736CFA4DB2E2ECABEB3FF001575CFAD6D2909B24B30D8292492412F
-% FFD5F5549249253E7FF59FA2BA8EB36D54322BEA85B97845D5B1F43336B0E666
-% 36E6E8EAA9C8A1FF006AB1FF00E9BED19DFF0068D71BD3BAFF0059E997BF1ABC
-% DBFA6D588F7369C41B6EDAE2FDB94CBB0DFBE86FA567A9B6B6FD9FD25ECDD57A
-% 5E3F54C3762DC5D59FA555F512CB6A7C1636EA2D6FBEBB36BDECFE5D6FB2AB3F
-% 45658BC83AF62752C0CDFB0756B6F168975D9CFDF683496B68B3305EDFD25DED
-% AF1EADF657FAAFF84FD37F3CD98BA901AEC4FF00D12C538906E3609D3FDF76F1
-% FEB7579F9197D3B2E8CAEA179B3ED347D8E9DAD732B6EEDB9955C5DE87BB657E
-% BD3EA63FBEAB6DF47F49BF732EDE91D3F16EEA8CC68CE636B376156F66EA6B2E
-% 6B2FC9B6CC6AAFB594E356FF005AFB3659FF004D79C63F4FCDF4DBD5F019916B
-% 6A314D992E360158DD53AEAE9A19FA6F4B73FDDBBD3FF825D1F40FACAFE9186F
-% C3A319F9E64D6E360FB33741EE6B31EB190CBB9FF0FE9A9E10C9C3E202B8A028
-% 4883D24D8CFC8C7AADAF26CCA63A9B9C7D0C5E9CDF5CD8D9735B7DD9DBF73B7E
-% DFCC585D7F21DD41CE755EAE3328FE75D75D1BDDE544D97B96F7526331B0307A
-% 93BA3E253EAD8EA48B6B326297E4D57D7F637E135DBFECF7FDA7FC1FF33F6654
-% 3A7750AF39AD03A636BA32ED34E26563D37D4031822FCADB6372B0B231FD7FD5
-% BFE50FB431FF00E0D18E500F0CAEC782D30B97A2B6E2FA3CD60559AF2E79B5CF
-% B1876B0D9EF0D1FF00042C236FF9AB77173B330996578D8B45965B5BA9393635
-% CE7FE91A6BB5B8D5D1B37BFD377F38F7A2751A5D4877D9F19F4575CD6FA4B4B9
-% FBBFD23DCCB2AA68639DFE95DEA2A1665518321FB32B318C00D4C6B9DB77F6B2
-% DDEFAA9FEDFF00EC3298CA128D57F6B1819233BBEBA7F55B7D331B2BA7E47DA9
-% D96F7E4DB532B69F49AEB98D67E869A6BB1AF7ECF53F3B66CF5BFC3AB9D23A4D
-% 3D73EB0E1F4BC661FD8D82FF00B5E550C0CFB392DF73BD59AF6E6BB3733F47F4
-% 28C5A71BEDB8DD3EAB31FF004EB0DB89D4FAC64D54301C8B321C594E2E382CAB
-% DA36DAEB2C77E652D3B2D7B99FABB3F9CAFF004F532CF5DFAAFF0056707EAEF4
-% FF00B3E3B41C8BA1F9778E6CB23B6EF7368ABE863D5F98CFF497D975D6D69803
-% 402BC1B10DBC3F96CECA492498BD4924924A7FFFD6F5549249252952EA9D2713
-% AAE31A32439AE1269BEB3B6DA9C46DF571EDFF0006FF00FC0EDAFF00437B2DA6
-% CB2B5752494F997D6BE8DF5C7A66396E2DCEBBA73A03ECC16BAAF4F46FDA6FBF
-% A762EC7DBEB3C7ADEA3B272E967A6FFD16262DDE9ACCE85D7BA735CCF4AAC7AE
-% F757635D9F5D0E70F5D83FA6578D3E93EF636CAAEBB1BF9A7BFF0098F4D7B02C
-% AEABF55BEAF75871B3A8605375CE2D27200F4EEF6FD0FD6A8F4F23DB1FE95189
-% A24EBAF62B4C7EBFDEF57FD27C67AA5DD5E8C99CBB5F55F631AE75D90F739EE6
-% 387A83D3B7F3E9B367F38FB3DFB3F9AFF06A855D63A97DA19958F66497B8906C
-% A8BE96991B36D6FA9DEDFF0037DEBD6F23FC58740BEFF546466D4D6886542E16
-% 359F4B5ADF975E4DEDDAE7EEFE79059FE2A3A00205D9BD4322A9F7D365CC0C7C
-% F6B7D1A29B5DC7FA451FB601D18FDAA363F3D5F361F597AC0AAAFB5E6D8EAEB6
-% 6D6E27AA58CB23F372F65953EDC777F85DBFA7C9FF00C11747D1BEABE5F5CD8F
-% C4C72709E5B65B9F91BA8C7B090DDDF67C46B6ACDC8AAA63FF0045FA4A2AC8FC
-% FCCA7FC27A074AFA97F557A4383F03A6D2CB1AFF005196D80DD635C349AAFC93
-% 75B57FD6DEB6D3E371BA3BB208F7F579B95D03EAEE0F43C7D94FE9B25E22ECA7
-% B5A1EE03E8D4C6D6D65746355FE031286B28ABFE37D5B2CD5492497292492494
-% A49249253FFFD9003842494D0421000000000079000000010100000018004100
-% 64006F00620065002000500068006F0074006F00730068006F00700020004500
-% 6C0065006D0065006E007400730000001C00410064006F006200650020005000
-% 68006F0074006F00730068006F007000200045006C0065006D0065006E007400
-% 7300200032002E003000000001003842494D042200000000012E4D4D002A0000
-% 00080007011200030000000100010000011A00050000000100000062011B0005
-% 000000010000006A012800030000000100020000013100020000001D00000072
-% 01320002000000140000008F8769000400000001000000A4000000D000000048
-% 00000001000000480000000141646F62652050686F746F73686F7020456C656D
-% 656E747320322E3000323030363A31303A30392032323A31303A313900000003
-% A001000300000001FFFF0000A00200040000000100000156A003000400000001
-% 000001830000000000000006010300030000000100060000011A000500000001
-% 0000011E011B0005000000010000012601280003000000010002000002010004
-% 000000010000012E020200040000000100000000000000000000004800000001
-% 00000048000000013842494D03FD0000000000070000000000000000
-%EndPhotoshop
-%begin_xml_code
-/pdfmark where {pop true} {false} ifelse
-/currentdistillerparams where {pop currentdistillerparams
-/CoreDistVersion get 5000 ge } {false} ifelse
-and not {userdict /pdfmark /cleartomark load put} if
-[/NamespacePush pdfmark
-[/_objdef {photoshop_metadata_stream} /type /stream /OBJ pdfmark
-/MetadataString 5038 string def % exact length of metadata
-/TempString 100 string def
-/ConsumeMetadata {
-currentfile TempString readline pop pop
-currentfile MetadataString readstring pop pop
-} bind def
-ConsumeMetadata
-%begin_xml_packet: 5038
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: brave-gnu-world-logo.eps
+%%CreationDate: 09.10.2006 22:10 Uhr
+%%BoundingBox: 0 0 342 387
+%%HiResBoundingBox: 0 0 342 387
+%%SuppressDotGainCompensation
+%%EndComments
+%%BeginProlog
+%%EndProlog
+%%BeginSetup
+%%EndSetup
+%ImageData: 342 387 8 3 0 1 3 "beginimage"
+%BeginPhotoshop: 16252
+% 3842494D0425000000000010000000000000000000000000000000003842494D
+% 03EA000000001DA63C3F786D6C2076657273696F6E3D22312E302220656E636F
+% 64696E673D225554462D38223F3E0A3C21444F435459504520706C6973742050
+% 55424C494320222D2F2F4170706C6520436F6D70757465722F2F44544420504C
+% 49535420312E302F2F454E222022687474703A2F2F7777772E6170706C652E63
+% 6F6D2F445444732F50726F70657274794C6973742D312E302E647464223E0A3C
+% 706C6973742076657273696F6E3D22312E30223E0A3C646963743E0A093C6B65
+% 793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D48
+% 6F72697A6F6E74616C5265733C2F6B65793E0A093C646963743E0A09093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F72
+% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
+% 696E676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E61
+% 70706C652E7072696E742E7469636B65742E6974656D41727261793C2F6B6579
+% 3E0A09093C61727261793E0A0909093C646963743E0A090909093C6B65793E63
+% 6F6D2E6170706C652E7072696E742E50616765466F726D61742E504D486F7269
+% 7A6F6E74616C5265733C2F6B65793E0A090909093C7265616C3E37323C2F7265
+% 616C3E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F6D
+% 2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E0A
+% 090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D31302D
+% 30395432303A31303A30355A3C2F646174653E0A090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B
+% 65793E0A090909093C696E74656765723E303C2F696E74656765723E0A090909
+% 3C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B65
+% 793E636F6!
 D2E6170706C652E7072696E742E50616765466F726D61742E504D4F
+% 7269656E746174696F6E3C2F6B65793E0A093C646963743E0A09093C6B65793E
+% 636F6D2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F
+% 6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E
+% 676D616E616765723C2F737472696E673E0A09093C6B65793E636F6D2E617070
+% 6C652E7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A
+% 09093C61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E50616765466F726D61742E504D4F7269656E74
+% 6174696F6E3C2F6B65793E0A090909093C696E74656765723E313C2F696E7465
+% 6765723E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
+% 636B65742E636C69656E743C2F6B65793E0A090909093C737472696E673E636F
+% 6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E673E
+% 0A090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E6D6F64446174653C2F6B65793E0A090909093C646174653E323030362D3130
+% 2D30395432303A31303A30355A3C2F646174653E0A090909093C6B65793E636F
+% 6D2E6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F
+% 6B65793E0A090909093C696E74656765723E303C2F696E74656765723E0A0909
+% 093C2F646963743E0A09093C2F61727261793E0A093C2F646963743E0A093C6B
+% 65793E636F6D2E6170706C652E7072696E742E50616765466F726D61742E504D
+% 5363616C696E673C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D
+% 2E6170706C652E7072696E742E7469636B65742E63726561746F723C2F6B6579
+% 3E0A09093C737472696E673E636F6D2E6170706C652E7072696E74696E676D61
+% 6E616765723C2F737472696E673E0A09093C6B65793E636F6D2E6170706C652E
+% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A09093C
+% 61727261793E0A0909093C646963743E0A090909093C6B65793E636F6D2E6170
+% 706C652E7072696E742E50616765466F726D61742E504D5363616C696E673C2F
+% 6B65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B6579
+% 3E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F
+% 6B65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E74
+% 696E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D
+% 2E6170706C652E70!
 72696E742E7469636B65742E6D6F64446174653C2F6B6579
+% 3E0A090909093C646174653E323030362D31302D30395432303A31303A30355A
+% 3C2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E74
+% 656765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F
+% 61727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E
+% 7072696E742E50616765466F726D61742E504D566572746963616C5265733C2F
+% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
+% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
+% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
+% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
+% 093C646963743E0A090909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E50616765466F726D61742E504D566572746963616C5265733C2F6B65793E0A
+% 090909093C7265616C3E37323C2F7265616C3E0A090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B65793E
+% 0A090909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D
+% 616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E617070
+% 6C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E0A0909
+% 09093C646174653E323030362D31302D30395432303A31303A30355A3C2F6461
+% 74653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465676572
+% 3E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61727261
+% 793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E7072696E
+% 742E50616765466F726D61742E504D566572746963616C5363616C696E673C2F
+% 6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E7072
+% 696E742E7469636B65742E63726561746F723C2F6B65793E0A09093C73747269
+% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
+% 72696E673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E746963
+% 6B65742E6974656D41727261793C2F6B65793E0A09093C61727261793E0A0909
+% 093C646963743E0A0909090!
 93C6B65793E636F6D2E6170706C652E7072696E74
+% 2E50616765466F726D61742E504D566572746963616C5363616C696E673C2F6B
+% 65793E0A090909093C7265616C3E313C2F7265616C3E0A090909093C6B65793E
+% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
+% 65793E0A090909093C737472696E673E636F6D2E6170706C652E7072696E7469
+% 6E676D616E616765723C2F737472696E673E0A090909093C6B65793E636F6D2E
+% 6170706C652E7072696E742E7469636B65742E6D6F64446174653C2F6B65793E
+% 0A090909093C646174653E323030362D31302D30395432303A31303A30355A3C
+% 2F646174653E0A090909093C6B65793E636F6D2E6170706C652E7072696E742E
+% 7469636B65742E7374617465466C61673C2F6B65793E0A090909093C696E7465
+% 6765723E303C2F696E74656765723E0A0909093C2F646963743E0A09093C2F61
+% 727261793E0A093C2F646963743E0A093C6B65793E636F6D2E6170706C652E70
+% 72696E742E7375625469636B65742E70617065725F696E666F5F7469636B6574
+% 3C2F6B65793E0A093C646963743E0A09093C6B65793E636F6D2E6170706C652E
+% 7072696E742E50616765466F726D61742E504D41646A75737465645061676552
+% 6563743C2F6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E61
+% 70706C652E7072696E742E7469636B65742E63726561746F723C2F6B65793E0A
+% 0909093C737472696E673E636F6D2E6170706C652E7072696E74696E676D616E
+% 616765723C2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E
+% 7072696E742E7469636B65742E6974656D41727261793C2F6B65793E0A090909
+% 3C61727261793E0A090909093C646963743E0A09090909093C6B65793E636F6D
+% 2E6170706C652E7072696E742E50616765466F726D61742E504D41646A757374
+% 656450616765526563743C2F6B65793E0A09090909093C61727261793E0A0909
+% 090909093C7265616C3E302E303C2F7265616C3E0A0909090909093C7265616C
+% 3E302E303C2F7265616C3E0A0909090909093C7265616C3E3738333C2F726561
+% 6C3E0A0909090909093C7265616C3E3535393C2F7265616C3E0A09090909093C
+% 2F61727261793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E
+% 742E7469636B65742E636C69656E743C2F6B65793E0A09090909093C73747269
+% 6E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C2F7374
+% 72696E673E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
+% 7469636B65742E6D6F64446174653C!
 2F6B65793E0A09090909093C646174653E
+% 323030362D31302D30395432303A31303A30355A3C2F646174653E0A09090909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E737461
+% 7465466C61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E
+% 74656765723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09
+% 093C2F646963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E
+% 50616765466F726D61742E504D41646A75737465645061706572526563743C2F
+% 6B65793E0A09093C646963743E0A0909093C6B65793E636F6D2E6170706C652E
+% 7072696E742E7469636B65742E63726561746F723C2F6B65793E0A0909093C73
+% 7472696E673E636F6D2E6170706C652E7072696E74696E676D616E616765723C
+% 2F737472696E673E0A0909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E7469636B65742E6974656D41727261793C2F6B65793E0A0909093C61727261
+% 793E0A090909093C646963743E0A09090909093C6B65793E636F6D2E6170706C
+% 652E7072696E742E50616765466F726D61742E504D41646A7573746564506170
+% 6572526563743C2F6B65793E0A09090909093C61727261793E0A090909090909
+% 3C7265616C3E2D31383C2F7265616C3E0A0909090909093C7265616C3E2D3138
+% 3C2F7265616C3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A09
+% 09090909093C7265616C3E3537373C2F7265616C3E0A09090909093C2F617272
+% 61793E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469
+% 636B65742E636C69656E743C2F6B65793E0A09090909093C737472696E673E63
+% 6F6D2E6170706C652E7072696E74696E676D616E616765723C2F737472696E67
+% 3E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B
+% 65742E6D6F64446174653C2F6B65793E0A09090909093C646174653E32303036
+% 2D31302D30395432303A31303A30355A3C2F646174653E0A09090909093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E7374617465466C
+% 61673C2F6B65793E0A09090909093C696E74656765723E303C2F696E74656765
+% 723E0A090909093C2F646963743E0A0909093C2F61727261793E0A09093C2F64
+% 6963743E0A09093C6B65793E636F6D2E6170706C652E7072696E742E50617065
+% 72496E666F2E504D50617065724E616D653C2F6B65793E0A09093C646963743E
+% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 63726561746F723C2F6B65793E0A0909093C7!
 37472696E673E636F6D2E617070
+% 6C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A
+% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E69
+% 74656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C64
+% 6963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E50
+% 61706572496E666F2E504D50617065724E616D653C2F6B65793E0A0909090909
+% 3C737472696E673E69736F2D61343C2F737472696E673E0A09090909093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C
+% 2F6B65793E0A09090909093C737472696E673E636F6D2E6170706C652E707269
+% 6E742E706D2E506F73745363726970743C2F737472696E673E0A09090909093C
+% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
+% 74653C2F6B65793E0A09090909093C646174653E323030332D30372D30315431
+% 373A34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
+% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
+% 0A09090909093C696E74656765723E313C2F696E74656765723E0A090909093C
+% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
+% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
+% 556E61646A757374656450616765526563743C2F6B65793E0A09093C64696374
+% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170
+% 706C652E7072696E742E706D2E506F73745363726970743C2F737472696E673E
+% 0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 6974656D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C
+% 646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E
+% 5061706572496E666F2E504D556E61646A757374656450616765526563743C2F
+% 6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E302E
+% 303C2F7265616C3E0A0909090909093C7265616C3E302E303C2F7265616C3E0A
+% 0909090909093C7265616C3E3738333C2F7265616C3E0A0909090909093C7265
+% 616C3E3535393C2F7265616C3E0A09090909093C2F61727261793E0A09090909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E636C69
+% 656E743C2F6B65793E0A09090909093C737472696E67!
 3E636F6D2E6170706C65
+% 2E7072696E74696E676D616E616765723C2F737472696E673E0A09090909093C
+% 6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F644461
+% 74653C2F6B65793E0A09090909093C646174653E323030362D31302D30395432
+% 303A31303A30355A3C2F646174653E0A09090909093C6B65793E636F6D2E6170
+% 706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E
+% 0A09090909093C696E74656765723E303C2F696E74656765723E0A090909093C
+% 2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C
+% 6B65793E636F6D2E6170706C652E7072696E742E5061706572496E666F2E504D
+% 556E61646A75737465645061706572526563743C2F6B65793E0A09093C646963
+% 743E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65
+% 742E63726561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E61
+% 70706C652E7072696E742E706D2E506F73745363726970743C2F737472696E67
+% 3E0A0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E6974656D41727261793C2F6B65793E0A0909093C61727261793E0A09090909
+% 3C646963743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E74
+% 2E5061706572496E666F2E504D556E61646A7573746564506170657252656374
+% 3C2F6B65793E0A09090909093C61727261793E0A0909090909093C7265616C3E
+% 2D31383C2F7265616C3E0A0909090909093C7265616C3E2D31383C2F7265616C
+% 3E0A0909090909093C7265616C3E3832343C2F7265616C3E0A0909090909093C
+% 7265616C3E3537373C2F7265616C3E0A09090909093C2F61727261793E0A0909
+% 0909093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E63
+% 6C69656E743C2F6B65793E0A09090909093C737472696E673E636F6D2E617070
+% 6C652E7072696E74696E676D616E616765723C2F737472696E673E0A09090909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F64
+% 446174653C2F6B65793E0A09090909093C646174653E323030362D31302D3039
+% 5432303A31303A30355A3C2F646174653E0A09090909093C6B65793E636F6D2E
+% 6170706C652E7072696E742E7469636B65742E7374617465466C61673C2F6B65
+% 793E0A09090909093C696E74656765723E303C2F696E74656765723E0A090909
+% 093C2F646963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09
+% 093C6B65793E636F6D2E6170706C652E7072696E742E5061706!
 572496E666F2E
+% 7070642E504D50617065724E616D653C2F6B65793E0A09093C646963743E0A09
+% 09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E6372
+% 6561746F723C2F6B65793E0A0909093C737472696E673E636F6D2E6170706C65
+% 2E7072696E742E706D2E506F73745363726970743C2F737472696E673E0A0909
+% 093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E697465
+% 6D41727261793C2F6B65793E0A0909093C61727261793E0A090909093C646963
+% 743E0A09090909093C6B65793E636F6D2E6170706C652E7072696E742E506170
+% 6572496E666F2E7070642E504D50617065724E616D653C2F6B65793E0A090909
+% 09093C737472696E673E41343C2F737472696E673E0A09090909093C6B65793E
+% 636F6D2E6170706C652E7072696E742E7469636B65742E636C69656E743C2F6B
+% 65793E0A09090909093C737472696E673E636F6D2E6170706C652E7072696E74
+% 2E706D2E506F73745363726970743C2F737472696E673E0A09090909093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E6D6F6444617465
+% 3C2F6B65793E0A09090909093C646174653E323030332D30372D30315431373A
+% 34393A33365A3C2F646174653E0A09090909093C6B65793E636F6D2E6170706C
+% 652E7072696E742E7469636B65742E7374617465466C61673C2F6B65793E0A09
+% 090909093C696E74656765723E313C2F696E74656765723E0A090909093C2F64
+% 6963743E0A0909093C2F61727261793E0A09093C2F646963743E0A09093C6B65
+% 793E636F6D2E6170706C652E7072696E742E7469636B65742E41504956657273
+% 696F6E3C2F6B65793E0A09093C737472696E673E30302E32303C2F737472696E
+% 673E0A09093C6B65793E636F6D2E6170706C652E7072696E742E7469636B6574
+% 2E707269766174654C6F636B3C2F6B65793E0A09093C66616C73652F3E0A0909
+% 3C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E74797065
+% 3C2F6B65793E0A09093C737472696E673E636F6D2E6170706C652E7072696E74
+% 2E5061706572496E666F5469636B65743C2F737472696E673E0A093C2F646963
+% 743E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65742E
+% 41504956657273696F6E3C2F6B65793E0A093C737472696E673E30302E32303C
+% 2F737472696E673E0A093C6B65793E636F6D2E6170706C652E7072696E742E74
+% 69636B65742E707269766174654C6F636B3C2F6B65793E0A093C66616C73652F
+% 3E0A093C6B65793E636F6D2E6170706C652E7072696E742E7469636B65!
 742E74
+% 7970653C2F6B65793E0A093C737472696E673E636F6D2E6170706C652E707269
+% 6E742E50616765466F726D61745469636B65743C2F737472696E673E0A3C2F64
+% 6963743E0A3C2F706C6973743E0A3842494D03E9000000000078000300000048
+% 004800000000030F022FFFEEFFEE033802410367057B03E00002000000480048
+% 0000000002D802280001000000640000000100030303000000017FFF00010001
+% 0000000000000000000000006808001901900000000000200000000000000000
+% 0000000000000000000000000000000000003842494D03ED0000000000100048
+% 00000001000200480000000100023842494D042600000000000E000000000000
+% 000000003F8000003842494D040D0000000000040000001E3842494D04190000
+% 000000040000001E3842494D03F3000000000009000000000000000001003842
+% 494D040A00000000000100003842494D271000000000000A0001000000000000
+% 00023842494D03F5000000000048002F66660001006C66660006000000000001
+% 002F6666000100A1999A0006000000000001003200000001005A000000060000
+% 00000001003500000001002D000000060000000000013842494D03F800000000
+% 00700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000
+% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFF
+% FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800000000FFFFFFFFFFFFFFFF
+% FFFFFFFFFFFFFFFFFFFFFFFFFFFF03E800003842494D04080000000000100000
+% 00010000024000000240000000003842494D041E000000000004000000003842
+% 494D041A00000000035D00000006000000000000000000000183000001560000
+% 001400620072006100760065002D0067006E0075002D0077006F0072006C0064
+% 002D006C006F0067006F00000001000000000000000000000000000000000000
+% 0001000000000000000000000156000001830000000000000000000000000000
+% 0000010000000000000000000000000000000000000010000000010000000000
+% 006E756C6C0000000200000006626F756E64734F626A63000000010000000000
+% 00526374310000000400000000546F70206C6F6E6700000000000000004C6566
+% 746C6F6E67000000000000000042746F6D6C6F6E670000018300000000526768
+% 746C6F6E670000015600000006736C69636573566C4C73000000014F626A6300
+% 000001000000000005736C6963650000001200000007736C69636549446C6F6E
+% 67000000000000000767726F757049446C6F6E6700000000000000066F726967
!
 +% 696E656E756D0000000C45536C6963654F726967696E0000000D6175746F4765
+% 6E6572617465640000000054797065656E756D0000000A45536C696365547970
+% 6500000000496D672000000006626F756E64734F626A63000000010000000000
+% 00526374310000000400000000546F70206C6F6E6700000000000000004C6566
+% 746C6F6E67000000000000000042746F6D6C6F6E670000018300000000526768
+% 746C6F6E67000001560000000375726C54455854000000010000000000006E75
+% 6C6C54455854000000010000000000004D736765544558540000000100000000
+% 0006616C74546167544558540000000100000000000E63656C6C546578744973
+% 48544D4C626F6F6C010000000863656C6C546578745445585400000001000000
+% 000009686F727A416C69676E656E756D0000000F45536C696365486F727A416C
+% 69676E0000000764656661756C740000000976657274416C69676E656E756D00
+% 00000F45536C69636556657274416C69676E0000000764656661756C74000000
+% 0B6267436F6C6F7254797065656E756D0000001145536C6963654247436F6C6F
+% 7254797065000000004E6F6E6500000009746F704F75747365746C6F6E670000
+% 00000000000A6C6566744F75747365746C6F6E67000000000000000C626F7474
+% 6F6D4F75747365746C6F6E67000000000000000B72696768744F75747365746C
+% 6F6E6700000000003842494D041100000000000101003842494D041400000000
+% 0004000000013842494D040C000000001A350000000100000071000000800000
+% 01540000AA0000001A1900180001FFD8FFE000104A4649460001020100480048
+% 0000FFED000C41646F62655F434D0002FFEE000E41646F626500648000000001
+% FFDB0084000C08080809080C09090C110B0A0B11150F0C0C0F15181313151313
+% 18110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+% 0C0C0C0C0C010D0B0B0D0E0D100E0E10140E0E0E14140E0E0E0E14110C0C0C0C
+% 0C11110C0C0C0C0C0C110C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C
+% 0C0C0C0C0C0CFFC00011080080007103012200021101031101FFDD00040008FF
+% C4013F0000010501010101010100000000000000030001020405060708090A0B
+% 0100010501010101010100000000000000010002030405060708090A0B100001
+% 0401030204020507060805030C33010002110304211231054151611322718132
+% 061491A1B14223241552C16233347282D14307259253F0E1F163733516A2B283
+% 264493546445C2A3743617D255E265F2B384C3D375E3F3462794A485B495C4D4
+% E4F4!
 A5B5C5D5E5F55666768696A6B6C6D6E6F637475767778797A7B7C7D7E7F7
+% 1100020201020404030405060707060535010002110321311204415161712213
+% 0532819114A1B14223C152D1F0332462E1728292435315637334F1250616A2B2
+% 83072635C2D2449354A317644555367465E2F2B384C3D375E3F34694A485B495
+% C4D4E4F4A5B5C5D5E5F55666768696A6B6C6D6E6F62737475767778797A7B7C7
+% FFDA000C03010002110311003F00F5549249252962FD63FADFD0BEADD3BFA95F
+% FA67006BC4AA1D7BC1DC039B4EE6EDAFF46FFD35BE9D3FF09BD61FD7EFAFE3A1
+% 8FD91D22323AEDE000000E18E1C3DB658DFA2FC87B7DD451FF00A1191FA2F4AA
+% C9E1FA4FD5DCEEA998EEA7D58BFA8751CC74D3597026D70038716BABAF1F1D8D
+% DB65FF00CC52CF469AB67A94D8929EA2CFF1C4CB2D8E9FD132322AEEEB2C6D6E
+% E63F9BAD993F9BFF0008B5A9FF0018D45AD31D1F3C585E6BA9B1400F7EA1B5D7
+% BF258EB2C76DFA14D76A9F4FFA834B58D7E7E4D8D773F66C6706D4D91F47D6B2
+% BFB4DCE6EEFE77F56FFC2F5ADDE9BD07A474B71B30B19B5DCE043AF717597104
+% 8739AFCABDD6E4399B9BBB67AA9292F4DBFA86452EB73B1460B8B88AA8F505AF
+% 0C1F45F7BEAFD0B2C7FF00A1A5F7FA7FF721FF00E0ADA4924A79BEBBD47EB974
+% 9B1F7E06053D6B05DAB59597539356AEDCCB1937332D9B7D3F4ACC7632DFF494
+% 7F855CB752FF0019FF005971C7A7FB2A8E9F748939A320340D665B65185FF07F
+% E13FF3E2F4D49253E59D37FC66FD64B323D4C9AF03269827ECF8FEA31CE8F67E
+% 8B21CFC8D9EFFF004B4FFDB5FCF57E83D13AFF004EEB743ADC37383EBDBEB63D
+% A36DB5EE1B99BD9AEE63FF00C1DF53ACC7BBFC0DB62C4FAD5FE2EFA4F5B6D995
+% 84D6F4EEABF49B91588AEC7025F199437D96FA9BDDFA7FE91FF1BE9FA2BCFABB
+% FAD740EBC303A89FB1754C40E38990C135DA1FFE1F7B87EB38D76CF753FF005B
+% FD0E4D1FA24A7DB9258DF56FEB0B3ACE31173063E75207AF44CB48FCDC9C677F
+% 84C5B7F33FD1FF00336FE916CA4A524924929FFFD0F555CC7D7DFAE15FD58E96
+% 3D269B3A96687D7835812039BB77DF618DBB28F52BFD1FF86B3F47F43D5B6AE9
+% D782F56EA87EB37D6BCAEAAE71B315961A30441814D42CB3D50DB7DCDD98F5DB
+% 97657B7FA45DFE0D2527FAADD06CCA7D9D433C3F2AFB9C2581FF00A5BEEB9DBD
+% 98E2CB377BED7B7D5CABBFC151FA7C8B3D15EBDD07A1D7D2F1F7DA18FCFB9A06
+% 4DCC076C0FA18F8FBE5D5E263FD0A6BFFAF59FA7B6D58DF527A355481956FBED
+% A2B635B31FA3B2D636FBDBB3DCE6DCDAACAFF49F4FF58BAA5D724A52499CE6B1
+% A5CE21AD689!
 738E8001DCAE03AFF00F8DAC1C6C87E07D5FC63D57246E67AF3B6
+% 86BFE830B3682FCA67A9FB9E8D567F81C9494FA024BCBFA6FF008CDFAD0EC963
+% 73B0F06DAF5DF4D0E7D76684336B2CB2DC9ABD5F51DF42C6319FF0D5AE9FA87F
+% 8CAFAAB81D3E9CCB6EB1F66434BABC163272416BBD1B59754E2C663BAAB37FF3
+% F6D7EAFA567D9FD6494F5292E1F0FF00C6C746C8B62DC0CDA292EDA2ED8D7800
+% 7D27DB5D563AE6EC6EDDDE9577AEB7A6756E9BD5F1465F4DC8665504ED2F61E1
+% D01DE9D8C3EFAACDAE6FE8EC6FA8929B6B9FFAEDF5529FACFD1DD8A36579F4FE
+% 930725E0FB1FA6E61733DEDAB21ADF4EDFFADDFE958FA2B5D024929F11FAB3D7
+% 3A85393582F38BD4F049AB6580B75691F68C7CE66D7BFECB7ECD96B367AACCA6
+% 7E8EAFB4D78FE9FB2F4ECFA3A8E15799402D65920B1D1B98F6935DD4D9B4B9BE
+% A536B1F559B5CBC5FEB8B2AE9FFE303AA8A229AEC6B2D796E9B5D6B28B6DB7FE
+% DE7BAE7AEFBEA266165F6E00115DB59B76811B2DC77370AFF5777B9D6DF5FD99
+% DFF07E8BFF00B694F66924924A7FFFD1F50CA6DCFC5B9943B6DCEADC2B7710E2
+% 0EC77F9CBE7BFAB4E0031BB8377BECA4171F687DA296D46C0DF76C7EC77FDB5F
+% CB5F44AF2FFAEFF50F37133EFEBBD0697E5D19AE2EEA3D3DB2FB03DC4BDD918C
+% DFA56B2C7B9DBAAFE728B1FF00A1FD0FF454A75FEABFD6CE958551C5CFB7ECF5
+% 585A5B976FB6BF576B6ABB1EFB3E856FFD17A8CB5DB29FF03FA3B29FD274EFFA
+% CBF5718DDCFEAB86D6F89C8A80FF00AB5E29565B32D95ED7EE021B66FF007169
+% 8D1CF6EEAFD4B58DFF00AEBFFAEAE51F567A78A1D939748A98D87B59639AC3EF
+% FE65B90E26AAE86BBE97BFFF0003FCF4A6F7D6CFAD79DF5D731DD27A3EFABA15
+% 0EFD259043B21CD3B9AFB07E653B87EAD8EFFF008EBFF58FB3E3D15B1BEAF328
+% A994359B8D861B5D675B0804BFE916D96FE6FAAC67E67E8BFC27A0AE74EB72F2
+% 5870FEAFE28BE9A5C2B665D601C7A3633D4B6DB03D94D3EADAEB376FBEFF00A1
+% BFF43916FF00379FD33A66664752756E75BD42C69DAEAEB0C7EE206DDD6DB697
+% 6DDBFF0069BF4791F63FE91FA0BD3A1094FE51F5DB4592CB18EA5B67A664E3D2
+% 2CFB3D8CA7710D2D6398C0EDAF6B296B3D3AD9EAEBFB9EA7F3BF43F3F3727168
+% 19363AD65673C1FD333783732086ED756E2EB9F6FF00C5FDA2F7B3FE1175DD4D
+% B57D9CBF368C367516FA78ADC2A326FBC8C6AEC7E4E463F517D77D1535FEA3BF
+% 43BFF9CBFF0056FD27ABE9ACCE9F89899F636ACAE9F878990197598CCFB5B28B
+% 2B25D35E2E6E1DF75F915DBB3D4C87BEBC6FF47EAD767E92C481C7C5C249F31C
+% 3308E324D47865A5D7!
 CAE05D7D74EFAAF0FA5EE716163DA46D734B37D3B086FA
+% 16FD0F568FE77DFF00A657BA5F54C8C1CCAF370EFF00B2DAD86B5ED1B9AF6C7F
+% 35918ECFE9547FC67E9B7FF45FB3FD35B35F41EAB876BF763B6DC4B6B873F633
+% 63B74FF3B4B5D7D9F67D5ED6E5595FBFFE2972AFC5AF2736EFD9CE6E157EA0AA
+% 9DC1EDAED786FB9BE859BBD2FA5F9BFF006CFEE38E23FA244BF050C9FBC0C5F5
+% 7E8DF5F3A4655219D5AEA7A5E6B44B9B6D81B4BC69FA5C5C9B7D3ADFBB77F30E
+% FD62AFF8BFD3595BAD7F8D3FAA9D36A78C6C8FDA59634AE8C604B4B88259BB28
+% B7D06D7BBD8FF4DD75ACFF004162F2BBED78B0E1753A832CD4327F9A7C7B5BB2
+% C1FE05AE6FBF6BFF00EDB46C6C460692D0CADDA83B581B13F9D5B9A2FC8B9BFB
+% 9E933E87F39E8A8D911B9DD47AC754BFAAF5100E6E7BD8E3535BA064B7ECF486
+% 39DFE15F551450CDFF00D169CBB6FF00E6BD45E93F526870CC65A5C48B3ED16B
+% 09DB2F639D57BDAD23D477B9DEA596FEFDB5D5FF0072172BD2FA68BEE630576F
+% A4F0EDC04BF22E062A7574D67DEF7E47D0BBF49ECC3FE7B2A9C15E97F573A3BB
+% A6E33ACBDA1995901BEA3038BF635BBBD2A5D6E9EB58CF52CF52EDBFF07FCC55
+% 424A7612492494FF00FFD2F5549249253CF7D68FABFF0055F268B3AA755C3DD7
+% D23DB918FB9992E7BB6D345553F1DD5D9917BECF4E9C5AADF53F49FA35C2E4F5
+% 3661D76B2DA3EDF994EFAB23A78AFED5563B590F7613C3856CCACBF6FA99BD4E
+% EFF26E33FF0047D330723D3FD1749F5D7A9F52CCCFAFA27437554E6B008CAB1E
+% 5B6B5D68B2BB5BD3298FD264D78CCB7D5CD67F43AAEBAA65B55CFB3D3E7F230C
+% B2ACACAEB9946F65120D3539C7098F7FE8EBFB7E5BEFAF2BABE53D9E97EADEAF
+% F83FD62CF4922247488DF792C9DE801AEB6931EFCEFDA15D7D53229C8C363C33
+% 0BA4E23EB661E457B3754FF4EDF4FD7C2AABB7F9CA3A6B2AC8B7F49FCD7A2B5B
+% AE67E453D0FECD5B9CEA3D573336EC4A982B67B4BAAC5CAFB3D8FF00D5AFB1FF
+% 00A4BD9E933F57F432FF004795F67B70BA2E4E3E3DB9165384324BFF00441C1A
+% DC72F1F9D6DAEA5F4E2D357FC17ABB2BAFF4752DAEA3D4DDD4307131FA18A2DA
+% 301CE7E6E2E23DB5B18F1FD15DBEE7D3859B4D0EDEFBB17ED6CFD73ECB91FA5A
+% EAB2A5265C5C38AA20D91F6B1717171441D28D7EFF00F8CF0993539C5FBEF15B
+% 291B9D5D55B8811F9D75B90E63BFEB752C8BBAAE3ED69A45B63AA3BCBDE1AD0E
+% 27F36CDBBB756BAAB3A062D9EA37A9D79B65D66EB68A2C6B6963DAD875B73BA8
+% 5566563E5D0DF519FCCBF7D2A3D32CC365CCAFA7537E63041B29C67B1986C7FD
+% 16B9F75ADDEFFF0084B37AA5A!
 0BB04D74F958408C7420923A7F37170065DD7D4
+% 6AB5CD14002D632A77B6BD7F9B0D656FDAD64FE8B73FF43FE0D74EDEAACBBAB5
+% 54F54A2D38F750D37676D0368693B72AC7E3B1CC7D6EDDEFB3D0A2CC6FE777AC
+% BEBF9D8B84D76331953F2EDDC6E6E35E6DA9A09FFB55B9BB773377E62CFC4B3A
+% BDD857DB5DB8B8C368A4DD6BCD6F7899FD0BED3E9B94B8BDCF9A029920244588
+% 81127691F9BC5ECBAAF4BE92FE934F45AB25D9349B5D6E0DD5D6CBDB734B0B3E
+% CD4E5FAB7E3FDA5AD637D47B3D3C9A3D2F655E865FA8AC7D4AFA96DCCE995DB6
+% 7516BEB63BD3C8AEBAE6EAEC60FD2E1DAEB9F6D0C7635DF47F57BBD7A7D2B3F9
+% 9F4960F4AE946EC62D17FDAAEC96B6BCA2D756CABD6AC3DF8D55198CB2BF4DBE
+% EF7DDB3F4967AAB4FEAA75FCBE97D7AAB7A99ADADEA8598D7FA43F3E3D3664DF
+% EED8EF4727F41F68FDCBAFF53D5FD0FA73F0C88E23BF567040A1B7F2EEFA574D
+% E8FD3FA6348C5ACFA8F1166458E365CFFF008DC8B4BED7FF005377A75FF83575
+% 249317A92492494FFFD3F5540CDCBA7070EFCDBE7D1C6ADF759024EDADA6C7ED
+% 1FD56A3AC6FADED73FEAEE5D4D0E70BFD3A5ED67D2732DB6AA2D637FAF558F6A
+% 205903BA09A04F67CF7033735DD49EFCCBC56FB817E4B2A8B5F73277E5BED716
+% 8AFECD7DFF00AB50C6DB5E27A18FFA0F52BF52EB639FD5FA4F53EA95BDF7D74B
+% F56E363068BACAC47BF3B2AF6B7ECD4E43F6ECA7171BF9AAD6565E065E7B6CCB
+% EA00B6ECB3AD4C97319B0B6BA316B69FA0DA59ECD8D51ADDD3FA45B4D74B9A5C
+% 4137BDCD0D0D703F45EF8F7395D8E2BE136234D2965AE214657FB1EB3A2FD5AC
+% 1CE65561C3765C1871B1CD74FF00C3653ACFFA152E94748E9B896558B9D9D4D3
+% EAB837170DA2AA019D19556C76EB2E589F54BEB1DB957B28B2C2719C4CFBAAAD
+% BFD7DC18CB9FB7F777AA37D79D5B5ECCEE9B7FA5937D97752CDC50C7E2DAF7B9
+% E5CE65949BADFB1B58D63297E5329F43FED5FE9941CD66CB8F4034FD8BB1C61C
+% 3C422724AF500FC81EA3EB5D5F57A707F6BE0D9D42DAF78C4631AE2D13E9FAA2
+% FDAEAB1BD37EDABD97FF00DB6B88C5E875E063D9FB2F3701F1FCF65F546BEA35
+% C0F7BAA6FAD761DBFF0007B28A3FEBCB7BA3F59C3C8C3C5E9E3A7D995D1AA7B6
+% 8A6F6D6E6B68630399F68BB3BDBD3F32B63BDB63E9BBD7FF0083CAB568F55C1E
+% 974D03A87567557E257B431CCADD90F74FD06D7454C737FB7B2C55E1EDE404CE
+% C3626090008F144F4F95F27C9AB273DD90CA328DD8EF2DFB4E5340AABB4D5BFD
+% 1F4F1696EF7B6BF51DFA4BBFF0244FB062605943F20B03EC6EDADA185EE04705
+% ACB0EE5DD1FACBF563A858DB3A6DD461!
 BAB7FA577DB5CEAB68076B2C6D78D5D9
+% 89E959FE96DC9ABFE13629E67D54C4A1B9199BEA3601B9D977B0D74B43BFD1DB
+% 7FB6EFE47A2AD619E28815F9316486422AA8741178FC2A1D8C0E5E53DE5F6383
+% 7F492DB1D3F4767A7BB62D7CEFD99574AC2A32697DADBF7FDA5CDB87A8CAD8E1
+% 8FE8E39B9B5D76DF6FDA5CFB3D4B6AA6AABFE16C5BBD12AE9991655563E3E466
+% 565C19F6A35B4540BBDAEB3DCFF57D26CFEE2E33EB4F561922B6FA5B1A379C0A
+% BE8FA55FABFE135B7ED19190CAAAFB4BFD6B3D6B595D389FA2AFF4ADE672C741
+% 0DEC52DC6271167524D01FCBFAAFAEFD55EA87ABFD5DC0CF738D96DB486DEF23
+% 693757FA0C9F60FF00BB15DAB55711FE2872326DFAAF757907F98CCB5958F06B
+% 9B4E4B9BFF006EE45ABB75036D4924924A7FFFD4F5558DF5BDF6D7F56F3ADA49
+% 6BEA636D2F01C4B5B5BD965B6B3D27D36FA9556C7D95FA76D6FDEB6557EA1875
+% 67E064E0DD22ACBA5F45846876D8D756E8FECB920A7C9EEA6ACA38EE3906D662
+% D4CB5F75EDF4FDD73836D77A34BBDAFF006EC7596FBFD8B9FBDAD63ADBECA9E6
+% BAEE7578F5B8B29AC1ECED9EEB2DDCBB1A73AA181D3F1AFE97567754CE0FC67D
+% 15B8627A2CC670AF2AA7DF93BB7E6E265BF7FA0CF57F55F52FBBF43E9AC7B7A1
+% 0A3AADE3A9EF7673CB9D8E5CC1B5CD0760FB3501D67B9D5ED77D3FE5AB98720E
+% 2E1EDDDA99B1CB8788F5EDFCA2D06750EAD7DADA2BDAC635BEE0E240D7F77D3D
+% BB96DF4EB5F80D6E665DB2FA3FA3B48343371FF876BFD472BB8FD1FA87A6D751
+% 8CD6318D906DF7DA5C78F6FB58CFEA6E552EFAB5998E0E6752C865CEB6093686
+% B4B5AEF6B5B4D13F9AAC4CE396FA9FDE916B43DC8EDE91FBB10A1D6BAE751C81
+% 5636539A376E7D8DCB018C6F01B4D3634AE9B05BD4322E6E4BBA8E7166303EF6
+% 369B19FCADDEDF771FB8B98FB25188064DD6597D6E3B69A890DAE7FE118D1B95
+% DBE9C9C8A98DC9CDAB171DBEEB035E71E96B40ED57D3B1CA0963801A533C72CC
+% CB5B010F59C56E3D95E2F4ECEA9D80E712CC5EA356512D2E3B8D2D6D1558FEA1
+% 539CE73EBB2EFD255FCDDD7DDFA351E9FD2F1307A6754CDEA783FB50E316E4D3
+% 82C16E26234B22A3E85777E8D8E731CFB3F494FAD91FCDD14BEC57F13AEF4AC2
+% C607A6D2FCDA1CE0D2E61735D69F065D99B1EDABFA8A97D64CEEB228FB65B7D6
+% DC5DE0D75BDBB6BC279DD6578D663D363AAC8B7F47EAE1755B3FED47A95FEA17
+% 7A75AA73C631DCA313E619C480B908EA770373E6D6EA9D5B2998EEC379AFA763
+% 3C7E93030B7B5CFD1D355F6B36E5DBB98FD8FF0052EC7FFC28B98C8B85A1F940
+% 9194EC8D9556D7EFA68A7D36D755BE87B76BFF0!
 048FF0041BBBF45E97A5E9A06
+% 4D97D871AEF42F73322C2DC7810EBDE0ECDB5D7B9EE6B77FE6318AE61747B71B
+% 09FD43A8BEBC375B3914D17822D35CBB1DD9505BE937D5BACF4B11B77E93F476
+% 5D4D1E9FE99478ACCAE66FCD18C4F52753AD7689FEAC5F48FF0014B5399F56F2
+% 2D8229BF32C763B9D12EAD95D18BBFFCFC7B176CB17EA6F4B7F49FAAFD3B06D0
+% E6DCDA459736CFA4DB2E2ECABEB3FF001575CFAD6D2909B24B30D8292492412F
+% FFD5F5549249253E7FF59FA2BA8EB36D54322BEA85B97845D5B1F43336B0E666
+% 36E6E8EAA9C8A1FF006AB1FF00E9BED19DFF0068D71BD3BAFF0059E997BF1ABC
+% DBFA6D588F7369C41B6EDAE2FDB94CBB0DFBE86FA567A9B6B6FD9FD25ECDD57A
+% 5E3F54C3762DC5D59FA555F512CB6A7C1636EA2D6FBEBB36BDECFE5D6FB2AB3F
+% 45658BC83AF62752C0CDFB0756B6F168975D9CFDF683496B68B3305EDFD25DED
+% AF1EADF657FAAFF84FD37F3CD98BA901AEC4FF00D12C538906E3609D3FDF76F1
+% FEB7579F9197D3B2E8CAEA179B3ED347D8E9DAD732B6EEDB9955C5DE87BB657E
+% BD3EA63FBEAB6DF47F49BF732EDE91D3F16EEA8CC68CE636B376156F66EA6B2E
+% 6B2FC9B6CC6AAFB594E356FF005AFB3659FF004D79C63F4FCDF4DBD5F019916B
+% 6A314D992E360158DD53AEAE9A19FA6F4B73FDDBBD3FF825D1F40FACAFE9186F
+% C3A319F9E64D6E360FB33741EE6B31EB190CBB9FF0FE9A9E10C9C3E202B8A028
+% 4883D24D8CFC8C7AADAF26CCA63A9B9C7D0C5E9CDF5CD8D9735B7DD9DBF73B7E
+% DFCC585D7F21DD41CE755EAE3328FE75D75D1BDDE544D97B96F7526331B0307A
+% 93BA3E253EAD8EA48B6B326297E4D57D7F637E135DBFECF7FDA7FC1FF33F6654
+% 3A7750AF39AD03A636BA32ED34E26563D37D4031822FCADB6372B0B231FD7FD5
+% BFE50FB431FF00E0D18E500F0CAEC782D30B97A2B6E2FA3CD60559AF2E79B5CF
+% B1876B0D9EF0D1FF00042C236FF9AB77173B330996578D8B45965B5BA9393635
+% CE7FE91A6BB5B8D5D1B37BFD377F38F7A2751A5D4877D9F19F4575CD6FA4B4B9
+% FBBFD23DCCB2AA68639DFE95DEA2A1665518321FB32B318C00D4C6B9DB77F6B2
+% DDEFAA9FEDFF00EC3298CA128D57F6B1819233BBEBA7F55B7D331B2BA7E47DA9
+% D96F7E4DB532B69F49AEB98D67E869A6BB1AF7ECF53F3B66CF5BFC3AB9D23A4D
+% 3D73EB0E1F4BC661FD8D82FF00B5E550C0CFB392DF73BD59AF6E6BB3733F47F4
+% 28C5A71BEDB8DD3EAB31FF004EB0DB89D4FAC64D54301C8B321C594E2E382CAB
+% DA36DAEB2C77E652D3B2D7B99FABB3F9CAFF004F532CF5DFAAFF0056707EAEF4
+% FF00B3E3B41C8BA1F9778E6CB23B6EF7368ABE863D5F98!
 CFF497D975D6D69803
+% 402BC1B10DBC3F96CECA492498BD4924924A7FFFD6F5549249252952EA9D2713
+% AAE31A32439AE1269BEB3B6DA9C46DF571EDFF0006FF00FC0EDAFF00437B2DA6
+% CB2B5752494F997D6BE8DF5C7A66396E2DCEBBA73A03ECC16BAAF4F46FDA6FBF
+% A762EC7DBEB3C7ADEA3B272E967A6FFD16262DDE9ACCE85D7BA735CCF4AAC7AE
+% F757635D9F5D0E70F5D83FA6578D3E93EF636CAAEBB1BF9A7BFF0098F4D7B02C
+% AEABF55BEAF75871B3A8605375CE2D27200F4EEF6FD0FD6A8F4F23DB1FE95189
+% A24EBAF62B4C7EBFDEF57FD27C67AA5DD5E8C99CBB5F55F631AE75D90F739EE6
+% 387A83D3B7F3E9B367F38FB3DFB3F9AFF06A855D63A97DA19958F66497B8906C
+% A8BE96991B36D6FA9DEDFF0037DEBD6F23FC58740BEFF546466D4D6886542E16
+% 359F4B5ADF975E4DEDDAE7EEFE79059FE2A3A00205D9BD4322A9F7D365CC0C7C
+% F6B7D1A29B5DC7FA451FB601D18FDAA363F3D5F361F597AC0AAAFB5E6D8EAEB6
+% 6D6E27AA58CB23F372F65953EDC777F85DBFA7C9FF00C11747D1BEABE5F5CD8F
+% C4C72709E5B65B9F91BA8C7B090DDDF67C46B6ACDC8AAA63FF0045FA4A2AC8FC
+% FCCA7FC27A074AFA97F557A4383F03A6D2CB1AFF005196D80DD635C349AAFC93
+% 75B57FD6DEB6D3E371BA3BB208F7F579B95D03EAEE0F43C7D94FE9B25E22ECA7
+% B5A1EE03E8D4C6D6D65746355FE031286B28ABFE37D5B2CD5492497292492494
+% A49249253FFFD9003842494D0421000000000079000000010100000018004100
+% 64006F00620065002000500068006F0074006F00730068006F00700020004500
+% 6C0065006D0065006E007400730000001C00410064006F006200650020005000
+% 68006F0074006F00730068006F007000200045006C0065006D0065006E007400
+% 7300200032002E003000000001003842494D042200000000012E4D4D002A0000
+% 00080007011200030000000100010000011A00050000000100000062011B0005
+% 000000010000006A012800030000000100020000013100020000001D00000072
+% 01320002000000140000008F8769000400000001000000A4000000D000000048
+% 00000001000000480000000141646F62652050686F746F73686F7020456C656D
+% 656E747320322E3000323030363A31303A30392032323A31303A313900000003
+% A001000300000001FFFF0000A00200040000000100000156A003000400000001
+% 000001830000000000000006010300030000000100060000011A000500000001
+% 0000011E011B0005000000010000012601280003000000010002000002010004
+% 000000010000012E0202000400000001000000000000000000000!
 04800000001
+% 00000048000000013842494D03FD0000000000070000000000000000
+%EndPhotoshop
+%begin_xml_code
+/pdfmark where {pop true} {false} ifelse
+/currentdistillerparams where {pop currentdistillerparams
+/CoreDistVersion get 5000 ge } {false} ifelse
+and not {userdict /pdfmark /cleartomark load put} if
+[/NamespacePush pdfmark
+[/_objdef {photoshop_metadata_stream} /type /stream /OBJ pdfmark
+/MetadataString 5038 string def % exact length of metadata
+/TempString 100 string def
+/ConsumeMetadata {
+currentfile TempString readline pop pop
+currentfile MetadataString readstring pop pop
+} bind def
+ConsumeMetadata
+%begin_xml_packet: 5038
 <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
 <?adobe-xap-filters esc="CR"?>
 <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'>
@@ -598,76 +598,76 @@
                                                                                                     
                                                                                                     
                                                        
-<?xpacket end='w'?>
-%end_xml_packet
-[{photoshop_metadata_stream} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark
-[{photoshop_metadata_stream} MetadataString  /PUT pdfmark
-[/_objdef {nextImage} /NI pdfmark
-%end_xml_code
-gsave % EPS gsave
-/hascolor
-/deviceinfo where
-{pop deviceinfo /Colors known
-{deviceinfo /Colors get exec 1 gt}
-{false} ifelse}
-{/statusdict where
-{pop statusdict /processcolors known
-{statusdict /processcolors get exec 1 gt}
-{false} ifelse}
-{false} ifelse}
-ifelse
-def
-40 dict begin
-/_image systemdict /image get def
-/_setgray systemdict /setgray get def
-/_currentgray systemdict /currentgray get def
-/_settransfer systemdict /settransfer get def
-/_currenttransfer systemdict /currenttransfer get def
-/blank 0 _currenttransfer exec
-1 _currenttransfer exec eq def
-/negative blank
-{0 _currenttransfer exec 0.5 lt}
-{0 _currenttransfer exec 1 _currenttransfer exec gt}
-ifelse def
-/inverted? negative def
-/level2 systemdict /languagelevel known
-{languagelevel 2 ge} {false} ifelse def
-/level3 systemdict /languagelevel known
-{languagelevel 3 ge} {false} ifelse def
-level2 {/band 0 def} {/band 5 def} ifelse
-gsave % Image Header gsave
-/rows 387 def
-/cols 342 def
-342 387 scale
-level2 {
-/DeviceRGB
-setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
-/beginimage level2
-{/image load def}
-{{pop .9 setgray 0 0 moveto 0 1 lineto
-1 1 lineto 1 0 lineto fill 0 setgray
-0 1 translate 1 cols div 1 rows div scale
-/ratio {cols 400 div mul} def
-/Helvetica findfont 15 ratio scalefont setfont
-5 ratio -20 ratio moveto
-(Mit JPEG komprimierte Bilder ben\232tigen PostScript Level 2) show
-/x 128 string def
-{currentfile x readline {} {pop exit} ifelse
-(~>) search {pop pop pop exit} {pop} ifelse
-} loop } def}
-ifelse
-12 dict begin
-/ImageType 1 def
-/Width cols def
-/Height rows def
-/ImageMatrix [cols 0 0 rows neg 0 rows] def
-/BitsPerComponent 8 def
-/Decode [0 1 0 1 0 1] def
-/DataSource currentfile /ASCII85Decode filter
-/DCTDecode filter def
-currentdict end
-%%BeginBinary:      21006
-beginimage
+<?xpacket end='w'?>
+%end_xml_packet
+[{photoshop_metadata_stream} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark
+[{photoshop_metadata_stream} MetadataString  /PUT pdfmark
+[/_objdef {nextImage} /NI pdfmark
+%end_xml_code
+gsave % EPS gsave
+/hascolor
+/deviceinfo where
+{pop deviceinfo /Colors known
+{deviceinfo /Colors get exec 1 gt}
+{false} ifelse}
+{/statusdict where
+{pop statusdict /processcolors known
+{statusdict /processcolors get exec 1 gt}
+{false} ifelse}
+{false} ifelse}
+ifelse
+def
+40 dict begin
+/_image systemdict /image get def
+/_setgray systemdict /setgray get def
+/_currentgray systemdict /currentgray get def
+/_settransfer systemdict /settransfer get def
+/_currenttransfer systemdict /currenttransfer get def
+/blank 0 _currenttransfer exec
+1 _currenttransfer exec eq def
+/negative blank
+{0 _currenttransfer exec 0.5 lt}
+{0 _currenttransfer exec 1 _currenttransfer exec gt}
+ifelse def
+/inverted? negative def
+/level2 systemdict /languagelevel known
+{languagelevel 2 ge} {false} ifelse def
+/level3 systemdict /languagelevel known
+{languagelevel 3 ge} {false} ifelse def
+level2 {/band 0 def} {/band 5 def} ifelse
+gsave % Image Header gsave
+/rows 387 def
+/cols 342 def
+342 387 scale
+level2 {
+/DeviceRGB
+setcolorspace currentdict /PhotoshopDuotoneColorSpace undef currentdict /PhotoshopDuotoneAltColorSpace undef } if
+/beginimage level2
+{/image load def}
+{{pop .9 setgray 0 0 moveto 0 1 lineto
+1 1 lineto 1 0 lineto fill 0 setgray
+0 1 translate 1 cols div 1 rows div scale
+/ratio {cols 400 div mul} def
+/Helvetica findfont 15 ratio scalefont setfont
+5 ratio -20 ratio moveto
+(Mit JPEG komprimierte Bilder ben\232tigen PostScript Level 2) show
+/x 128 string def
+{currentfile x readline {} {pop exit} ifelse
+(~>) search {pop pop pop exit} {pop} ifelse
+} loop } def}
+ifelse
+12 dict begin
+/ImageType 1 def
+/Width cols def
+/Height rows def
+/ImageMatrix [cols 0 0 rows neg 0 rows] def
+/BitsPerComponent 8 def
+/Decode [0 1 0 1 0 1] def
+/DataSo!
 urce currentfile /ASCII85Decode filter
+/DCTDecode filter def
+currentdict end
+%%BeginBinary:      21006
+beginimage
 s4IA0!"_al8O`[\!W`9l!([(is6]js6"FnCAH67k!!!!"s4[O,!"obO%M0*b&.fQt
 '+km!,8q:3)C$FB(Ddl(+qY4l$k*OQ&I]'V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ
 $iq%U',DH$)]';0'FkT_'GM#e%Ls0b$k*OQ$kX'[$k*OQ$kWmV$k*OQ$k*OQ$k*OQ
@@ -985,9 +985,9 @@
 e<718C=1KkIR!E`os"4GNSjHmdoMW',cN&P8P2Q"P#@H7,a>*f8L5f2P"A8;,a)&g
 8L0OrP"?rK,a(_ps4?ZO?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at CgeqGuP"L/A-/lrk
 Vqb0V*0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at CgeqGuP"L/A-/lrk
-Vqb0V*0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at CgeqGuP"L/A-/lrkVuPE~>
-%%EndBinary
-grestore end % Image Trailer grestore
-grestore % EPS grestore
-[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark
-[/NamespacePop pdfmark
+Vqb0V*0NpB`?jKb,cBEq?6#,#IDmMkaX!e>;I1?+8q"Z)iQ3 at CgeqGuP"L/A-/lrkVuPE~>
+%%EndBinary
+grestore end % Image Trailer grestore
+grestore % EPS grestore
+[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark
+[/NamespacePop pdfmark
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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -7,7 +7,7 @@
 %
 % See the file doc/generic/pgf/licenses/LICENSE for more details.
 
-% $Header: /cvsroot/pgf/pgf/doc/generic/pgf/macros/pgfmanual-en-macros.tex,v 1.81 2014/03/20 10:07:44 tantau Exp $
+% $Header$
 
 
 \providecommand\href[2]{\texttt{#1}}
@@ -15,9 +15,27 @@
 \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}
+\definecolor{animationgraphicbackground}{rgb}{0.96,0.96,0.8}
 
 \newenvironment{pgfmanualentry}{\list{}{\leftmargin=2em\itemindent-\leftmargin\def\makelabel##1{\hss##1}}}{\endlist}
 \newcommand\pgfmanualentryheadline[1]{\itemsep=0pt\parskip=0pt{\raggedright\item\strut{#1}\par}\topsep=0pt}
@@ -52,6 +70,57 @@
 }
 
 
+\newenvironment{sysanimateattribute}[1]{
+  \begin{pgfmanualentry}
+    \pgfmanualentryheadline{%
+      \pgfmanualpdflabel{#1}{}%
+      \texttt{\string\pgfsysanimate\char`\{\declare{#1}\char`\}}%
+    }
+    \index{#1@\protect\texttt{#1} system layer animation attribute}%
+    \index{Animation attributes (system layer)!#1@\protect\texttt{#1}}%
+    \pgfmanualbody
+}
+{
+  \end{pgfmanualentry}
+}
+
+
+\newenvironment{animateattribute}[1]{
+  \begin{pgfmanualentry}
+    \pgfmanualentryheadline{%
+      \pgfmanualpdflabel{#1}{}%
+      \texttt{\string\pgfanimateattribute\char`\{\declare{#1}\char`\}\marg{options}}%
+    }
+    \index{#1@\protect\texttt{#1} basic layer animation attribute}%
+    \index{Animation attributes (basic layer)!#1@\protect\texttt{#1}}%
+    \pgfmanualbody
+}
+{
+  \end{pgfmanualentry}
+}
+
+
+\newenvironment{tikzanimateattribute}[1]{
+  \begin{pgfmanualentry}
+    \pgfmanualentryheadline{%
+      \foreach \attr in{#1} {\expandafter\pgfmanualpdflabel\expandafter{\attr}{}}%
+      \textbf{Animation attribute} \foreach \attr[count=\i]
+      in{#1}{{\ifnum\i>1 \textbf,\fi} \texttt{:\declare{\attr}}}%
+    }
+    \foreach\attr in{#1}{%
+      \edef\indexcall{%
+        \noexpand\index{\attr@\noexpand\protect\noexpand\texttt{\attr} animation attribute}%
+        \noexpand\index{Animation attributes!\attr@\noexpand\protect\noexpand\texttt{\attr}}%
+      }%
+      \indexcall%
+    }%
+    \pgfmanualbody
+}
+{
+  \end{pgfmanualentry}
+}
+
+
 \newenvironment{command}[1]{
   \begin{pgfmanualentry}
     \extractcommand#1\@@
@@ -163,7 +232,7 @@
 \newenvironment{luafiledescription}[1]{}{}
 
 \newenvironment{luacommand}[4]{
-  \hypertarget{pgf/lua/#1}{\luageneric{#2}{#3}{\texttt{(#4)}}{\texttt{function}}}
+  \cleanedhypertarget{pgf/lua/#1}{\luageneric{#2}{#3}{\texttt{(#4)}}{\texttt{function}}}
 }{\endluageneric}
 
 \newenvironment{luaparameters}{\par\emph{Parameters:}%
@@ -244,7 +313,7 @@
 \newenvironment{math-function}[1]{
   \def\mathdefaultname{#1}
   \extractmathfunctionname{#1}
-  \edef\mathurl{{math:\mathname}}\expandafter\hypertarget\expandafter{\mathurl}{}%
+  \edef\mathurl{{math:\mathname}}\expandafter\cleanedhypertarget\expandafter{\mathurl}{}%
   \begin{pgfmanualentry}
     \pgfmanualentryheadline{\texttt{#1}}%
     \index{\mathname @\protect\texttt{\mathname} math function}%
@@ -845,7 +914,7 @@
   \index{Class \currentclass!#1@\protect\texttt{#1}}%
 }
 
-\newenvironment{attribute}[1]{
+\newenvironment{classattribute}[1]{
   \begin{pgfmanualentry}
     \extractattribute#1\@nil
     \pgfmanualbody
@@ -1521,6 +1590,8 @@
   code/.code=  {\colorlet{codebackground}{#1}},
   execute code/.is if=code at execute,
   code only/.code=  {\code at executefalse},
+  setup code/.code=  {\pgfmanual at setup@codetrue\code at executefalse},
+  multipage/.code=  {\code at executefalse\pgfmanual at multipage@codetrue},
   pre/.store in=\code at pre,
   post/.store in=\code at post,
   % #1 is the *complete* environment contents as it shall be
@@ -1534,8 +1605,23 @@
   every codeexample/.style={width=4cm+7pt, tikz syntax=true},
   from file/.code={\codeexamplefromfiletrue\def\codeexamplesource{#1}},
   tikz syntax/.is if=pgfmanualtikzsyntaxhilighting,
+  animation list/.store in=\code at animation@list,
+  animation pre/.store in=\code at animation@pre,
+  animation post/.store in=\code at animation@post,
+  animation scale/.store in=\pgfmanualanimscale,
+  animation bb/.style={
+    animation pre={
+      \tikzset{
+        every picture/.style={
+          execute at begin picture={
+            \useasboundingbox[clip] #1;}
+        }
+      }
+    }
+  }
 }
 
+\def\pgfmanualanimscale{.5}
 
 \newread\examplesource
 
@@ -1562,16 +1648,24 @@
   \fi
 }
 
+\let\code at animation@pre\pgfutil at empty
+\let\code at animation@post\pgfutil at empty
+\let\code at animation@list\pgfutil at empty
+
 \let\code at pre\pgfutil at empty
 \let\code at post\pgfutil at empty
 \let\code at render\pgfutil at empty
 \def\code at catcode@hook{}
 
+\newif\ifpgfmanual at multipage@code
+\newif\ifpgfmanual at setup@code
 \newif\ifcodeexamplefromfile
 \newdimen\codeexamplewidth
 \newif\ifcode at execute
 \newbox\codeexamplebox
 \def\codeexample[#1]{%
+  \global\let\pgfmanual at do@this\relax%
+  \aftergroup\pgfmanual at do@this%
   \begingroup%
   \code at executetrue
   \pgfqkeys{/codeexample}{every codeexample,#1}%
@@ -1598,6 +1692,19 @@
   \fi}
 \def\endofcodeexample#1{%
   \endgroup%
+  \ifpgfmanual at setup@code%
+    \gdef\pgfmanual at do@this{%
+      {%
+        \returntospace%
+        \commenthandler%
+        \xdef\code at temp{#1}% removes returns and comments
+      }%
+      \edef\pgfmanualmcatcode{\the\catcode`\^^M}%
+      \catcode`\^^M=9\relax%
+      \expandafter\scantokens\expandafter{\code at temp}%
+      \catcode`\^^M=\pgfmanualmcatcode%
+    }%
+  \fi%
   \ifcode at execute%
     \setbox\codeexamplebox=\hbox{%
       \ifx\code at render\pgfutil at empty%
@@ -1612,10 +1719,34 @@
           \code at pre\expandafter\scantokens\expandafter{\code at temp\ignorespaces}\code at post\ignorespaces}%
       }%
       \else%
+        \global\let\code at temp\code at render%
         \colorbox{graphicbackground}{\color{black}\ignorespaces%
           \code at render}%
       \fi%
     }%
+    \ifx\code at animation@list\pgfutil at empty%
+    \else%
+    \setbox\codeexampleboxanim=\vbox{%
+      \rightskip0pt\leftskip0pt plus1filll%
+      \ifdim\wd\codeexamplebox>\codeexamplewidth%
+      \else%
+        \hsize\codeexamplewidth%
+        \advance\hsize by2cm%
+      \fi%
+      \leavevmode\catcode`\^^M=9%
+      \foreach \pgfmanualtime/\pgfmanualtimehow in\code at animation@list{%
+        \setbox\codeexampleboxanim=\hbox{\colorbox{animationgraphicbackground}{%
+            \tikzset{make snapshot of=\pgfmanualtime}%
+            \scalebox{\pgfmanualanimscale}{\color{black}\ignorespaces%
+              \code at animation@pre\expandafter\scantokens\expandafter{\code at temp\ignorespaces}\code at animation@post\ignorespaces}%
+          }}%
+        \space\raise4pt\hbox to0pt{\vrule width0pt height1em\hbox
+          to\wd\codeexampleboxanim{\hfil\scriptsize$t{=}\pgfmanualtimehow \mathrm s$\hfil}\hss}%
+        \lower\ht\codeexampleboxanim\box\codeexampleboxanim\hfil\penalty0\hskip0ptplus-1fil%
+      }%
+    }%
+    \setbox\codeexampleboxanim=\hbox{\hbox{}\hskip-2cm\box\codeexampleboxanim}%
+    \fi%
     \ifdim\wd\codeexamplebox>\codeexamplewidth%
       \def\code at start{\par}%
       \def\code at flushstart{}\def\code at flushend{}%
@@ -1640,6 +1771,9 @@
       \hrule width0pt%
       \footnotesize\vskip-1em%
       \code at flushstart\box\codeexamplebox\code at flushend%
+      \vskip0pt%
+      \leavevmode%
+      \box\codeexampleboxanim%
       \vskip-1ex
       \leavevmode%
     \end{minipage}%
@@ -1648,10 +1782,29 @@
     \def\code at width{\linewidth-6pt}
     \def\code at end{}
   \fi%
-  \code at mid%  
-  \colorbox{codebackground}{%
-    \pgfkeysvalueof{/codeexample/prettyprint/base color}%
-    \begin{minipage}[t]{\code at width}%
+  \code at mid%
+  \ifpgfmanual at multipage@code%
+    {%
+      \pgfkeysvalueof{/codeexample/prettyprint/base color}%
+      \pgfmanualdolisting{#1}%
+    }%
+  \else%
+    \colorbox{codebackground}{%
+      \pgfkeysvalueof{/codeexample/prettyprint/base color}%
+      \begin{minipage}[t]{\code at width}%
+        \pgfmanualdolisting{#1}%
+      \end{minipage}}%
+  \fi%
+  \code at end%
+  \par%
+  \medskip
+  \endcodeexample\endgroup%
+}
+
+\def\endcodeexample{\endgroup}
+\newbox\codeexampleboxanim
+
+\def\pgfmanualdolisting#1{%
       {%
         \let\do\@makeother
         \dospecials
@@ -1670,17 +1823,10 @@
         \obeylines
         \everypar \expandafter{\the\everypar \unpenalty}%
         \pgfkeysvalueof{/codeexample/typeset listing/. at cmd}{#1}\pgfeov
-      }
-    \end{minipage}}%
-  \code at end%
-  \par%
-  \medskip
-  \endcodeexample\endgroup
+      }%
 }
 
-\def\endcodeexample{\endgroup}
 
-
 \makeatother
 
 \usepackage{pgfmanual}

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -12,47 +12,42 @@
 
 \subsection{Overview}
 
-Once a path has been constructed, it can be \emph{used} in different
-ways. For example, you can draw the path or fill it or use it for
-clipping.
+Once a path has been constructed, it can be \emph{used} in different ways. For
+example, you can draw the path or fill it or use it for clipping.
 
-Numerous graph parameters influence how a path will be rendered. For
-example, when you draw a path, the line width is important as well as
-the dashing pattern. The options that govern how paths are rendered
-can all be set with commands starting with |\pgfset|. \emph{All
-  options that influence how a path is rendered always influence the
-  complete path.} Thus, it is not possible to draw part of a path
-using, say, a red color and drawing another part using a green
-color. To achieve such an effect, you must use two paths.
+Numerous graph parameters influence how a path will be rendered. For example,
+when you draw a path, the line width is important as well as the dashing
+pattern. The options that govern how paths are rendered can all be set with
+commands starting with |\pgfset|. \emph{All options that influence how a path
+is rendered always influence the complete path.} Thus, it is not possible to
+draw part of a path using, say, a red color and drawing another part using a
+green color. To achieve such an effect, you must use two paths.
 
 In detail, paths can be used in the following ways:
-
+%
 \begin{enumerate}
-\item
-  You can \emph{stroke} (also known as \emph{draw}) a path.
-\item
-  You can add \emph{arrow tips} to a path.
-\item
-  You can \emph{fill} a path with a uniform color.
-\item
-  You can \emph{clip} subsequent renderings against the path.
-\item
-  You can \emph{shade} a path.
-\item
-  You can \emph{use the path as bounding box} for the whole picture.
+    \item You can \emph{stroke} (also known as \emph{draw}) a path.
+    \item You can add \emph{arrow tips} to a path.
+    \item You can \emph{fill} a path with a uniform color.
+    \item You can \emph{clip} subsequent renderings against the path.
+    \item You can \emph{shade} a path.
+    \item You can \emph{use the path as bounding box} for the whole picture.
 \end{enumerate}
-You can also perform any combination of the above, though it makes no
-sense to fill and shade a path at the same time.
+%
+You can also perform any combination of the above, though it makes no sense to
+fill and shade a path at the same time.
 
-To perform (a combination of) the first four actions, you can use the
-following command:
+To perform (a combination of) the first four actions, you can use the following
+command:
+%
 \begin{command}{\pgfusepath\marg{actions}}
-  Applies the given \meta{actions} to the current path. Afterwards,
-  the current path is (globally) empty. The following actions are
-  possible:
-  \begin{itemize}
-  \item \declare{|fill|}
-    fills the path. See Section~\ref{section-fill} for further details.
+    Applies the given \meta{actions} to the current path. Afterwards, the
+    current path is (globally) empty. The following actions are possible:
+    %
+    \begin{itemize}
+        \item \declare{|fill|} fills the path. See Section~\ref{section-fill}
+            for further details.
+            %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -61,8 +56,10 @@
   \pgfusepath{fill}
 \end{pgfpicture}
 \end{codeexample}
-  \item \declare{|stroke|} strokes the path. See
-    Section~\ref{section-stroke} for further details. 
+            %
+        \item \declare{|stroke|} strokes the path. See
+            Section~\ref{section-stroke} for further details.
+            %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -71,10 +68,12 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
-  \item \declare{|draw|} has the same effect as |stroke|.
-  \item \declare{|clip|}
-    clips all subsequent drawings against the path. Always supresses
-    arrow tips. See Section~\ref{section-clip} for further details. 
+            %
+        \item \declare{|draw|} has the same effect as |stroke|.
+        \item \declare{|clip|} clips all subsequent drawings against the path.
+            Always suppresses arrow tips. See Section~\ref{section-clip} for
+            further details.
+            %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -85,45 +84,45 @@
   \pgfusepath{fill}
 \end{pgfpicture}
 \end{codeexample}
-  \item \declare{|discard|}
-    discards the path, that is, it is not used at all. Giving this
-    option (alone) has the same effect as giving an empty options
-    list.
-  \end{itemize}
-  When more than one of the first three actions are given, they are
-  applied in the above ordering, regardless of their ordering in
-  \meta{actions}. Thus, |{stroke,fill}| and |{fill,stroke}| have the
-  same effect. 
+            %
+        \item \declare{|discard|} discards the path, that is, it is not used at
+            all. Giving this option (alone) has the same effect as giving an
+            empty options list.
+    \end{itemize}
+    %
+    When more than one of the first three actions are given, they are applied
+    in the above ordering, regardless of their ordering in \meta{actions}.
+    Thus, |{stroke,fill}| and |{fill,stroke}| have the same effect.
 \end{command}
 
-To shade a path, use the |\pgfshadepath| command, which is explained
-in Section~\ref{section-shadings}.
+To shade a path, use the |\pgfshadepath| command, which is explained in
+Section~\ref{section-shadings}.
 
 
-
 \subsection{Stroking a Path}
 \label{section-stroke}
 
-When you use |\pgfusepath{stroke}| to stroke a path, several graphic
-parameters influence how the path is drawn. The commands for setting
-these parameters are explained in the following.
+When you use |\pgfusepath{stroke}| to stroke a path, several graphic parameters
+influence how the path is drawn. The commands for setting these parameters are
+explained in the following.
 
-Note that all graphic parameters apply to the path as a whole, never
-only to a part of it.
+Note that all graphic parameters apply to the path as a whole, never only to a
+part of it.
 
-All graphic parameters are local to the current |{pgfscope}|, but they
-persists past \TeX\ groups, \emph{except} for the interior rule
-(even-odd or nonzero) and the arrow tip kinds. The latter graphic
-parameters only persist till the end of the current \TeX\ group, but 
-this may change in the future, so do not count on this.
+All graphic parameters are local to the current |{pgfscope}|, but they persists
+past \TeX\ groups, \emph{except} for the interior rule (even-odd or nonzero)
+and the arrow tip kinds. The latter graphic parameters only persist till the
+end of the current \TeX\ group, but this may change in the future, so do not
+count on this.
 
+
 \subsubsection{Graphic Parameter: Line Width}
 
 \begin{command}{\pgfsetlinewidth\marg{line width}}
-  This command sets the line width for subsequent strokes (in the
-  current |pgfscope|). The line width is given as a normal \TeX\
-  dimension like |0.4pt| or |1mm|.
-
+    This command sets the line width for subsequent strokes (in the current
+    |pgfscope|). The line width is given as a normal \TeX\ dimension like
+    |0.4pt| or |1mm|.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetlinewidth{1mm}
@@ -136,14 +135,15 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{textoken}{\pgflinewidth}
-  You can access the current line width via the \TeX\ dimension
-  |\pgflinewidth|. It will be set to the correct line width, that is,
-  even when a \TeX\ group closed, the value will be correct since it
-  is set globally, but when a |{pgfscope}| closes, the value is set to
-  the correct value it had before the scope.
+    You can access the current line width via the \TeX\ dimension
+    |\pgflinewidth|. It will be set to the correct line width, that is, even
+    when a \TeX\ group closed, the value will be correct since it is set
+    globally, but when a |{pgfscope}| closes, the value is set to the correct
+    value it had before the scope.
 \end{textoken}
 
 
@@ -150,44 +150,45 @@
 \subsubsection{Graphic Parameter: Caps and Joins}
 
 \begin{command}{\pgfsetbuttcap}
-  Sets the line cap to a butt cap. See Section~\ref{section-cap-joins}
-  for an explanation of what this is.
+    Sets the line cap to a butt cap. See Section~\ref{section-cap-joins} for an
+    explanation of what this is.
 \end{command}
+%
 \begin{command}{\pgfsetroundcap}
-  Sets the line cap to a round cap. See again
-  Section~\ref{section-cap-joins}.
+    Sets the line cap to a round cap. See again Section~\ref{section-cap-joins}.
 \end{command}
 \begin{command}{\pgfsetrectcap}
-  Sets the line cap to a square cap. See again
-  Section~\ref{section-cap-joins}. 
+    Sets the line cap to a square cap. See again Section~\ref{section-cap-joins}.
 \end{command}
+%
 \begin{command}{\pgfsetroundjoin}
-  Sets the line join to a round join. See again
-  Section~\ref{section-cap-joins}. 
+    Sets the line join to a round join. See again Section~\ref{section-cap-joins}.
 \end{command}
+%
 \begin{command}{\pgfsetbeveljoin}
-  Sets the line join to a bevel join. See again
-  Section~\ref{section-cap-joins}. 
+    Sets the line join to a bevel join. See again Section~\ref{section-cap-joins}.
 \end{command}
+%
 \begin{command}{\pgfsetmiterjoin}
-  Sets the line join to a miter join. See again
-  Section~\ref{section-cap-joins}. 
+    Sets the line join to a miter join. See again Section~\ref{section-cap-joins}.
 \end{command}
+%
 \begin{command}{\pgfsetmiterlimit\marg{miter limit factor}}
-  Sets the miter limit to  \meta{miter limit factor}. See again 
-  Section~\ref{section-cap-joins}. 
+    Sets the miter limit to  \meta{miter limit factor}. See again
+    Section~\ref{section-cap-joins}.
 \end{command}
 
+
 \subsubsection{Graphic Parameter: Dashing}
 
 \begin{command}{\pgfsetdash\marg{list of even length of dimensions}\marg{phase}}
-  Sets the dashing of a line. The first entry in the list specifies
-  the length of the first solid part of the list. The second entry
-  specifies the length of the following gap. Then comes the length of
-  the second solid part, following by the length of the second gap,
-  and so on. The \meta{phase} specifies where the first solid part
-  starts relative to the beginning of the line.
-
+    Sets the dashing of a line. The first entry in the list specifies the
+    length of the first solid part of the list. The second entry specifies the
+    length of the following gap. Then comes the length of the second solid
+    part, following by the length of the second gap, and so on. The
+    \meta{phase} specifies where the first solid part starts relative to the
+    beginning of the line.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetdash{{0.5cm}{0.5cm}{0.1cm}{0.2cm}}{0cm}
@@ -205,29 +206,29 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  Use |\pgfsetdash{}{0pt}| to get a solid dashing.
+    Use |\pgfsetdash{}{0pt}| to get a solid dashing.
 \end{command}
 
+
 \subsubsection{Graphic Parameter: Stroke Color}
 
 \begin{command}{\pgfsetstrokecolor\marg{color}}
-  Sets the color used for stroking lines to \meta{color}, where
-  \meta{color} is a \LaTeX\ color like |red| or |black!20!red|. Unlike
-  the |\color| command, the effect of this command lasts till the end
-  of the current |{pgfscope}| and not till the end of the current
-  \TeX\ group.
+    Sets the color used for stroking lines to \meta{color}, where \meta{color}
+    is a \LaTeX\ color like |red| or |black!20!red|. Unlike the |\color|
+    command, the effect of this command lasts till the end of the current
+    |{pgfscope}| and not till the end of the current \TeX\ group.
 
-  The color used for stroking may be different from the color used for
-  filling. However, a |\color| command will always ``immediately
-  override'' any special settings for the stroke and fill colors.
+    The color used for stroking may be different from the color used for
+    filling. However, a |\color| command will always ``immediately override''
+    any special settings for the stroke and fill colors.
 
-  In plain \TeX, this command will also work, but the problem of
-  \emph{defining} a color arises. After all, plain \TeX\ does not
-  provide \LaTeX\ colors. For this reason, \pgfname\ implements a
-  minimalistic ``emulation'' of the |\definecolor|, |\colorlet|, and
-  |\color| commands. Only gray-scale and rgb colors are supported. For
-  most cases this turns out to be enough.
-
+    In plain \TeX, this command will also work, but the problem of
+    \emph{defining} a color arises. After all, plain \TeX\ does not provide
+    \LaTeX\ colors. For this reason, \pgfname\ implements a minimalistic
+    ``emulation'' of the |\definecolor|, |\colorlet|, and |\color| commands.
+    Only gray-scale and rgb colors are supported. For most cases this turns out
+    to be enough.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetlinewidth{1pt}
@@ -239,69 +240,66 @@
   \pgfpathcircle{\pgfpoint{2cm}{0cm}}{3mm} \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetcolor\marg{color}}
-  Sets both the stroke and fill color. The difference to the normal
-  |\color| command is that the effect lasts till the end of the
-  current |{pgfscope}|, not only till the end of the current \TeX\
-  group. 
+    Sets both the stroke and fill color. The difference to the normal |\color|
+    command is that the effect lasts till the end of the current |{pgfscope}|,
+    not only till the end of the current \TeX\ group.
 \end{command}
 
 
 \subsubsection{Graphic Parameter: Stroke Opacity}
 
-You can set the stroke opacity using |\pgfsetstrokeopacity|. This
-command is described in Section~\ref{section-transparency}.
+You can set the stroke opacity using |\pgfsetstrokeopacity|. This command is
+described in Section~\ref{section-transparency}.
 
 
 \subsubsection{Inner Lines}
 
-When a path is stroked, it is possible to request that it is stroked
-twice, the second time with a different line width and a different
-color. This is a useful effect for creating ``double'' lines, for
-instance by setting the line width to 2pt and stroking a black line
-and then setting the inner line width to 1pt and stroking a white
-line on the same path as the original path. This results in what looks
-like two lines, each of thickness 0.5pt, spaced 1pt apart.
+When a path is stroked, it is possible to request that it is stroked twice, the
+second time with a different line width and a different color. This is a useful
+effect for creating ``double'' lines, for instance by setting the line width to
+2pt and stroking a black line and then setting the inner line width to 1pt and
+stroking a white line on the same path as the original path. This results in
+what looks like two lines, each of thickness 0.5pt, spaced 1pt apart.
 
-You may wonder why there is direct support for this ``double
-stroking'' in the basic layer. After all, this effect is easy to
-achieve ``by hand''. The main reason is that arrow tips must be
-treated in a special manner when such ``double lines'' are
-present. First, the order of actions is important: First, the (thick)
-main line should be stroked, then the (thin) inner line, and only then
-should the arrow tip be drawn. Second, the way an arrow tip looks
-typically depends strongly on the width of the inner line, so the
-arrow tip code, which is part of the basic layer, needs access to the
-inner line thickness.
+You may wonder why there is direct support for this ``double stroking'' in the
+basic layer. After all, this effect is easy to achieve ``by hand''. The main
+reason is that arrow tips must be treated in a special manner when such
+``double lines'' are present. First, the order of actions is important: First,
+the (thick) main line should be stroked, then the (thin) inner line, and only
+then should the arrow tip be drawn. Second, the way an arrow tip looks
+typically depends strongly on the width of the inner line, so the arrow tip
+code, which is part of the basic layer, needs access to the inner line
+thickness.
 
 Two commands are used to set the inner line width and color.
 
 \begin{command}{\pgfsetinnerlinewidth\marg{dimension}}
-  This command sets the width of the inner line. Whenever a path is
-  stroked (and only then), it will be stroked normally and, afterward,
-  it is stroked once more with the color set to the inner line color
-  and the line width set to \meta{dimension}.
+    This command sets the width of the inner line. Whenever a path is stroked
+    (and only then), it will be stroked normally and, afterward, it is stroked
+    once more with the color set to the inner line color and the line width set
+    to \meta{dimension}.
 
-  In case arrow tips are added to a path, the path is first stroked
-  normally, then the inner line is stroked, and then the arrow tip is
-  added. In case the main path is shortened because of the added arrow
-  tip, this shortened path is double stroked, not the original path
-  (which is exactly what you want).
+    In case arrow tips are added to a path, the path is first stroked normally,
+    then the inner line is stroked, and then the arrow tip is added. In case
+    the main path is shortened because of the added arrow tip, this shortened
+    path is double stroked, not the original path (which is exactly what you
+    want).
 
-  When the inner line width is set to 0pt, which is the default, no
-  inner line is stroked at all (not even a line of width 0pt). So, in
-  order to ``switch off'' double stroking, set \meta{dimension}
-  to~|0pt|.
+    When the inner line width is set to 0pt, which is the default, no inner
+    line is stroked at all (not even a line of width 0pt). So, in order to
+    ``switch off'' double stroking, set \meta{dimension} to~|0pt|.
 
-  The setting of the inner line width is local to the current \TeX\
-  group and \emph{not} to the current \pgfname\ scope.
+    The setting of the inner line width is local to the current \TeX\ group and
+    \emph{not} to the current \pgfname\ scope.
 
-  Note that inner lines will \emph{not} be drawn for paths that are
-  also used for clipping. However, this may change in the future, so
-  you should not depend on this.
-
+    Note that inner lines will \emph{not} be drawn for paths that are also used
+    for clipping. However, this may change in the future, so you should not
+    depend on this.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -311,15 +309,15 @@
   \pgfsetinnerlinewidth{1pt}
   \pgfusepath{stroke}
 \end{pgfpicture}
-\end{codeexample}  
+\end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfsetinnerstrokecolor\marg{color}}
-  This command sets the \meta{color} that is to be used when the inner
-  line is stroked. The effect of this command is also local to the
-  current \TeX\ group.
-
+    This command sets the \meta{color} that is to be used when the inner line
+    is stroked. The effect of this command is also local to the current \TeX\
+    group.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -330,7 +328,8 @@
   \pgfsetinnerstrokecolor{red!50}
   \pgfusepath{stroke}
 \end{pgfpicture}
-\end{codeexample}  
+\end{codeexample}
+    %
 \end{command}
 
 
@@ -337,18 +336,18 @@
 \subsection{Arrow Tips on a Path}
 \label{section-tips}
 
-After a path has been drawn, \pgfname\ can add arrow tips at the
-ends, depending on how the |tips| key is set, on whether |stroke| or
-|clip| arw used and on whether the path contains closed subpaths. The
-exact rules when arrow tips are added are explained in
-Section~\ref{section-arrow-tips-where}.
+After a path has been drawn, \pgfname\ can add arrow tips at the ends,
+depending on how the |tips| key is set, on whether |stroke| or |clip| are used
+and on whether the path contains closed subpaths. The exact rules when arrow
+tips are added are explained in Section~\ref{section-arrow-tips-where}.
 
 \begin{command}{\pgfsetarrowsstart\marg{start arrow tip specification}}
-  Sets the arrow tip kind used at the start of a (possibly curved)
-  path. The syntax of the \meta{start arrow specification} is detailed
-  in Section~\ref{section-arrow-spec}. 
+    Sets the arrow tip kind used at the start of a (possibly curved) path. The
+    syntax of the \meta{start arrow specification} is detailed in
+    Section~\ref{section-arrow-spec}.
 
-  To ``clear'' the start arrow, say |\pgfsetarrowsstart{}|.
+    To ``clear'' the start arrow, say |\pgfsetarrowsstart{}|.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetarrowsstart{Latex[length=10pt]}
@@ -362,12 +361,13 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  The effect of this command persists only till the end of the current
-  \TeX\ scope.
+    The effect of this command persists only till the end of the current \TeX\
+    scope.
 \end{command}
 
 \begin{command}{\pgfsetarrowsend\marg{end arrow tip specification}}
-  Sets the arrow tip kind used at the end of a path.
+    Sets the arrow tip kind used at the end of a path.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetarrowsstart{Latex[length=10pt]}
@@ -377,12 +377,14 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetarrows\marg{argument}}
-  The \meta{argument} can be of the form \meta{start arrow tip
-    specifciation}|-|\meta{end arrow tip specification}. In this
-  case, both the start and the end arrow specification are set:
+    The \meta{argument} can be of the form \meta{start arrow tip
+    specification}|-|\meta{end arrow tip specification}. In this case, both the
+    start and the end arrow specification are set:
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetarrows{Latex[length=10pt]->>}
@@ -391,22 +393,22 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
-  Alternatively, \meta{argument} can be of the form |[|\meta{arrow
-    keys}|]|. In this case, the \meta{arrow keys} will be set for all
-  arrow tips in the current scope, see Section~\ref{section-arrow-scopes}.
+    %
+    Alternatively, \meta{argument} can be of the form |[|\meta{arrow keys}|]|.
+    In this case, the \meta{arrow keys} will be set for all arrow tips in the
+    current scope, see Section~\ref{section-arrow-scopes}.
 \end{command}
 
-
 \begin{command}{\pgfsetshortenstart\marg{dimension}}
-  This command will shortened the start of every stroked path by the
-  given dimension. This shortening is done in addition to automatic
-  shortening done by a start arrow, but it can be used even if no
-  start arrow is given.
+    This command will shortened the start of every stroked path by the given
+    dimension. This shortening is done in addition to automatic shortening done
+    by a start arrow, but it can be used even if no start arrow is given.
 
-  It is usually better to use the |sep| key with arrow tips.
+    It is usually better to use the |sep| key with arrow tips.
 
-  This command is useful if you wish arrows or lines to ``stop shortly
-  before'' a given point.
+    This command is useful if you wish arrows or lines to ``stop shortly
+    before'' a given point.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathcircle{\pgfpointorigin}{5mm}
@@ -418,34 +420,34 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
-  
+
 \begin{command}{\pgfsetshortenend\marg{dimension}}
-  Works like |\pgfsetshortenstart|.
+    Works like |\pgfsetshortenstart|.
 \end{command}
 
 
-
 \subsection{Filling a Path}
 \label{section-fill}
 
-Filling a path means coloring every interior point of the path with
-the current fill color. It is not always obvious whether a point is
-``inside'' a  path when the path is self-intersecting and/or consists
-or multiple parts. In this case either the nonzero winding number rule
-or the even-odd crossing number rule is used to decide which points
-lie ``inside.'' These rules are explained in
-Section~\ref{section-rules}. 
+Filling a path means coloring every interior point of the path with the current
+fill color. It is not always obvious whether a point is ``inside'' a  path when
+the path is self-intersecting and/or consists or multiple parts. In this case
+either the nonzero winding number rule or the even-odd crossing number rule is
+used to decide which points lie ``inside''. These rules are explained in
+Section~\ref{section-rules}.
 
+
 \subsubsection{Graphic Parameter: Interior Rule}
 
 You can set which rule is used using the following commands:
 
 \begin{command}{\pgfseteorule}
-  Dictates that the even-odd rule is used in subsequent fillings in
-  the current \emph{\TeX\ scope}. Thus, for once, the effect of this
-  command does not persist past the current \TeX\ scope.
-
+    Dictates that the even-odd rule is used in subsequent fillings in the
+    current \emph{\TeX\ scope}. Thus, for once, the effect of this command does
+    not persist past the current \TeX\ scope.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfseteorule
@@ -454,12 +456,13 @@
   \pgfusepath{fill}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetnonzerorule}
-  Dictates that the nonzero winding number rule is used in subsequent
-  fillings in the current \TeX\ scope. This is the default.
-
+    Dictates that the nonzero winding number rule is used in subsequent
+    fillings in the current \TeX\ scope. This is the default.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetnonzerorule
@@ -468,47 +471,52 @@
   \pgfusepath{fill}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
+
 \subsubsection{Graphic Parameter: Filling Color}
 
 \begin{command}{\pgfsetfillcolor\marg{color}}
-  Sets the color used for filling paths to \meta{color}. Like the
-  stroke color, the effect lasts only till the next use of |\color|. 
+    Sets the color used for filling paths to \meta{color}. Like the stroke
+    color, the effect lasts only till the next use of |\color|.
 \end{command}
 
 
 \subsubsection{Graphic Parameter: Fill Opacity}
 
-You can set the fill opacity using |\pgfsetfillopacity|. This
-command is described in Section~\ref{section-transparency}.
+You can set the fill opacity using |\pgfsetfillopacity|. This command is
+described in Section~\ref{section-transparency}.
 
+
 \subsection{Clipping a Path}
 \label{section-clip}
 
-When you add the |clip| option, the current path is used for
-clipping subsequent drawings. The same rule as for filling is used to
-decide whether a point is inside or outside the path, that is, either
-the even-odd rule or the nonzero rule.
+When you add the |clip| option, the current path is used for clipping
+subsequent drawings. The same rule as for filling is used to decide whether a
+point is inside or outside the path, that is, either the even-odd rule or the
+nonzero rule.
 
-Clipping never enlarges the clipping area. Thus, when you clip against
-a certain path and then clip again against another path, you clip
-against the intersection of both.
+Clipping never enlarges the clipping area. Thus, when you clip against a
+certain path and then clip again against another path, you clip against the
+intersection of both.
 
-The only way to enlarge the clipping path is to end the |{pgfscope}|
-in which the clipping was done. At the end of a |{pgfscope}| the
-clipping path that was in force at the beginning of the scope is
-reinstalled. 
+The only way to enlarge the clipping path is to end the |{pgfscope}| in which
+the clipping was done. At the end of a |{pgfscope}| the clipping path that was
+in force at the beginning of the scope is reinstalled.
 
+
 \subsection{Using a Path as a Bounding Box}
 \label{section-using-bb}
 
-When you add the |use as bounding box| option, the bounding box of the
-picture will be enlarged such that the path in encompassed, but any
-\emph{subsequent} paths of the current \TeX\ scope will not have any
-effect on the size of the bounding box. Typically, you use this
-command at the very beginning of a |{pgfpicture}| environment. Alternatively, you can use |\pgfresetboundingbox|, followed by |\pgfusepath{use as bounding box}| to overrule the picture's bounding box completely.
-
+When you add the |use as bounding box| option, the bounding box of the picture
+will be enlarged such that the path in encompassed, but any \emph{subsequent}
+paths of the current \TeX\ scope will not have any effect on the size of the
+bounding box. Typically, you use this command at the very beginning of a
+|{pgfpicture}| environment. Alternatively, you can use |\pgfresetboundingbox|,
+followed by |\pgfusepath{use as bounding box}| to overrule the picture's
+bounding box completely.
+%
 \begin{codeexample}[]
 Left
 \begin{pgfpicture}
@@ -520,4 +528,3 @@
 \end{pgfpicture}
 right.
 \end{codeexample}
-

Added: 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	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -0,0 +1,1348 @@
+% Copyright 2015 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.
+
+
+\section{Animations}
+\label{section-base-animations}
+
+\begin{pgfmodule}{animations}
+    This module contains the basic layer support of animations, which is
+    documented in the following.
+\end{pgfmodule}
+
+This section described the basic layer support of animations, the \tikzname\
+support is described in Section~\ref{section-tikz-animations}. As always,
+\tikzname\ mainly converts syntactic constructs (like the special colon or
+quote syntax) to appropriate basic layer commands, which are documented here.
+Note, however, that while many attributes and options are the same on both
+layers, some things are handled differently on the basic layer.
+
+
+\subsection{Overview}
+
+An \emph{animation} changes the way some part of a graphic looks like over
+time. The archetypical animation is, of course, a \emph{movement} of node, but
+a change of, say, the opacity of a path is also an animation. \pgfname\ allows
+you to specify such animations using a set of commands and keys that are
+documented in the following.
+%
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{opacity}{
+    whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+
+Differently from other packages, the animations created by \pgfname\ are not
+precomputed sequences of pictures that are displayed in rapid succession.
+Rather, an animation created by \pgfname\ consists mainly of an annotation in
+the output that a certain attribute of a certain object should change over time
+in some specific way when the object is displayed. It is the job of the
+document viewer application to actually compute and display the animation.
+Interestingly, this means that animations neither increase the size of the
+ouput files noticably nor does it put a special burden on \TeX. The hard and
+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
+\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}
+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.
+
+Because of the shortcomings of the other formats and, also, for purposes of
+printing and depicting animations in a sequential manner, \pgfname\ also allows
+you to create ``snapshots'' of animations. As an example, the following code
+shows how the same drawing is shown at different ``time snapshots'':
+%
+\begin{codeexample}[width=3.9cm]
+\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" }
+  \node [draw=blue, very thick] {\pgfname};
+\tikz [make snapshot of=1.5s] \scoped :rotate = { 0s = "0", 2s = "90" }
+  \node [draw=blue, very thick] {\pgfname};
+\tikz [make snapshot of=2s]   \scoped :rotate = { 0s = "0", 2s = "90" }
+  \node [draw=blue, very thick] {\pgfname};
+\end{codeexample}
+
+
+\subsection{Animating an Attribute}
+
+\subsubsection{The Main Command}
+
+Creating an animation is done using the command |\pgfanimateattribute|, which
+takes a to-be-animated attribute and options specifying the timeline:
+
+\begin{command}{\pgfanimateattribute\marg{attribute}\marg{options}}
+    Adds an animation of the \meta{attribute} of a future \emph{object} to the
+    current graphic. Attributes are things like the ``fill opacity'' or the
+    transformation matrix or the line width.
+
+    The \meta{options} are keys that configure how the attribute changes over
+    time. Using the |entry| key multiple times, you specify which value the
+    chosen attribute should have at different points in time. Unless special
+    keys are used, ``outside'' the specified timeline the animation has no
+    effect:
+    %
+\begin{codeexample}[animation list={0.5,1,1.5,2,2.5}]
+\tikz {
+  \pgfanimateattribute{opacity}{
+    whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+
+    Other keys, like |repeats|, allow you to specify how the animation behaves
+    ``as a whole''. These keys are documented later in this section.
+
+
+    \medskip
+    \textbf{The Attributes}
+
+    In detail, the |\pgfanimateattribute| command opens a \TeX-scope, looks up
+    the \emph{type} values of the specified \meta{attribute} have (if you wish
+    to animate the |opacity| of an object, the type is ``scalar'' meaning that
+    entries must be scalar numbers; when you animate the |fill| attribute, the
+    type is ``color'' and values must be colors, and so on), and then executes
+    the \meta{options} with the path prefix |/pgf/animation|. Finally, an
+    appropriate system layer command |\pgfsysanimate...| is called to create
+    the actual animation and the scope is closed.
+
+    The following \meta{attributes} are permissible:
+
+    \begin{tabular}{ll}
+        \emph{Attribute}  & \emph{Type} \\
+        |draw|, |fill|    & color \\
+        |line width|      & dimension \\
+        |motion|          & scalar \\
+        |opacity|, |fill opacity|, |draw opacity| & scalar \\
+        |path|            & path \\
+        |rotate|          & scalar \\
+        |scale|           & scaling \\
+        |softpath|        & softpath \\
+        |translate|       & point \\
+        |view|            & viewbox \\
+        |visible|         & boolean \\
+        |stage|           & boolean \\
+        |xskew|, |yskew|  & scalar \\
+    \end{tabular}
+
+    These attributes are detailed in Sections
+    \ref{section-base-animation-painting}
+    to~\ref{section-base-animation-views}, but here is a quick overview:
+    %
+    \begin{itemize}
+        \item |draw| and |fill| refer to the color used to draw (stroke) and
+            fill paths in an object, respectively. Typical values for this
+            attribute are |red| or |black!10|.
+        \item |line width| is, of course, the line width used in an object.
+            Typical values are |0.4pt| or |1mm|. Note that you (currently)
+            cannot use keys like |thin| or |thick| here, but this may change in
+            the future.
+        \item |motion| is a slightly special attribute: It allows you to
+            specify a path along which the object should be moved (using the
+            |along| key). The values given to the |entry| key for this
+            attribute refer to a \emph{fraction of the distance along the
+            path}. See the |along| key for details.
+        \item |opacity| and the variants |fill opacity| and |draw opacity|
+            animate the opacity of an object. Allowed values range between 0
+            and 1.
+        \item |path| allows you to animate a path (it will morph). The
+            ``values'' are now paths themselves. See
+            Section~\ref{section-base-animation-paths} for details.
+        \item |rotate| refers to a rotation of the object. Values for the
+            |entry| key are the rotation angles like |0| or |90|.
+        \item |scale| refers to the scaling of the object. Values are either
+            single scalars values (like |1| or  |1.5|) or two numbers separated
+            by a comma (like |1,1.5| or |0.5,2|), referring to the $x$-scaling
+            and $y$-scaling.
+        \item |softpath| is a special case of the |path| attribute, see
+            Section~\ref{section-base-animation-paths} once more.
+        \item |translate| shifts the object by a certain vector. Values are
+            points like |\pgfpoint{1cm}{2cm}|.
+        \item |view| allows you to animate the view box of a view, see
+            Section~\ref{section-base-animation-views} for details.
+        \item |visible| refers to the visibility of an object. Allowed values
+            are |true| and |false|.
+        \item |stage| is identical to |visible|, but when the object is not
+            animated, it will be hidden by default.
+        \item |xskew| and |yskew| skew the object. Attributes are angles like
+            |0| or |45| or even |90|.
+    \end{itemize}
+
+
+    \medskip
+    \textbf{The Target Object}
+
+    As stated earlier, the \meta{options} are used to specify the object whose
+    attribute for which an animation should be added to the picture. Indeed,
+    you \emph{must} specify the object explicitly using the |whom| key and you
+    must do so \emph{before} the object is created. Note that, in contrast, in
+    \textsc{svg} you can specify an animation more or less anywhere and then
+    use hyper-references to link the animation to the to-be-animated object;
+    \pgfname\ insists that you specify the animation before the object. This is
+    a bit of a bother in some situations, but it is the only way to ensure that
+    \pgfname\ has a fighting chance to attach some additional code to the
+    object (which is necessary for almost all animations of the transformation
+    matrix).
+
+    \begin{key}{/pgf/animation/whom=\meta{id}\opt{|.|\meta{type}}}
+        You \emph{must} use this key once which each call of the
+        |\pgfanimateattribute| command. The \meta{id} and the optional
+        \meta{type} (which is whatever follows the first dot) will be passed to
+        |\pgfidrefnextuse|, see that command for details.
+    \end{key}
+
+    As explained in the introduction of this chapter, an ``animation'' is just
+    a bit of special text in the output document asking a viewer application to
+    animate the object at some later time. The |\pgfanimateattribute| command
+    inserts this special text immediately, even though it refers to an object
+    created only later on. Normally, this is not a problem, but the special
+    text should be on the same page as the to-be-animated object. To ensure
+    this, it suffices to call |\pgfanimateattribute| no earlier than the
+    beginning of the |pgfpicture| containing the object.
+
+
+    \medskip
+    \textbf{Naming the Animation}
+
+    You can assign a name to an animation for later (or early) reference. In
+    particular, it is possible to begin \emph{another} animation relative to
+    the beginning or end of this animation and for referencing this animation
+    must be assigned a name. See the |of| and |of next| keys for details.
+
+    \begin{key}{/pgf/animation/name=\meta{name}}
+        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}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {end, of next = my move animation, delay = 1s},
+    entry = {0s}{0}, entry = {2s}{90}, begin snapshot = 3s, }
+  \pgfanimateattribute{translate}{
+    name = my move animation, whom = node, begin on = {click},
+    entry = {0s}{\pgfpointorigin}, entry = {2s}{\pgfpoint{0cm}{-5mm}} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Here!};
+}
+\end{codeexample}
+    \end{key}
+\end{command}
+
+\begin{command}{\pgfanimateattributecode\marg{attribute}\marg{code}}
+    The command works like |\pgfanimateattribute|, only instead of
+    \meta{options} you specify some \meta{code} whose job is to setup the
+    options.
+\end{command}
+
+
+\subsubsection{Specifying the Timeline}
+
+The core key for specifying how an attribute varies over time is the |entry|
+key:
+%
+\begin{key}{/pgf/animation/entry=\marg{time}\marg{value}}
+    You use this key repeatedly to specify the different values that the
+    \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}]
+\tikz {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click},
+    entry = {0s}{0}, entry = {1s}{90}, entry = {1.1s}{45}, entry = {2s}{90}
+  }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+
+    You need to call |entry| once for each time in the timeline for which you
+    want to specify a \meta{value} explicitly. Between these times, the values
+    get interpolated (see below for details). You need to specify the
+    \meta{time}s in non-decreasing order (it is permissible and sometimes also
+    necessary to specify the same time twice, namely to create a ``jump'' of
+    the value of some attribute).
+
+    The \meta{time} is parsed using the command |\pgfparsetime| described
+    later.
+
+
+    \medskip
+    \textbf{Start and end of the timeline.}
+    The first and last times of the timeline are a bit special: The timeline
+    starts on the first time and the duration of the timeline is the difference
+    between the first and last time. ``Starting'' on the start time actually
+    means that any beginnings (see the |begin| and |end| keys) get offset by
+    the start time; similarly end times are offset by this value.
+
+
+    \medskip
+    \textbf{Syntax of the values.}
+    The syntax of the \meta{value} varies according to the type of the
+    \meta{attribute}. In detail, these are:
+
+    \begin{tabular}{lp{12cm}}
+        \emph{Type} & \emph{Syntax} \\
+        color       & Standard color syntax like |red| or |black!10| \\
+        scalar      & A value parsed using |\pgfmathparse| \\
+        dimension   & A dimension parsed using |\pgfmathparse| \\
+        path        & A sequence of path construction commands \\
+        softpath    & A sequence of soft path construction commands \\
+        scaling     & A scalar value or a pair of scalar values separated by a comma \\
+        point       & A \pgfname-point like |\pgfpoint{1cm}{5mm}| \\
+        viewbox     & Two \pgfname-points \\
+        boolean     & |true| or |false| \\
+    \end{tabular}
+
+
+    \medskip
+    \textbf{Interpolation between key times.}
+    You use the |entry| key repeatedly, namely once for each ``key time'',
+    which is a time point for which you specify the value of the attribute
+    explicitly. Between these key times, the attribute's value is interpolated.
+    Normally, this is just a linear interpolation, but you can influence this
+    using the following keys, see Section~\ref{section-anim-smooth} for
+    details.
+
+    \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}}]
+\tikz {
+  \foreach \i in {0,0.1,...,1} \draw (-0.9,.9-\i) -- ++(1.8,0);
+  \pgfanimateattribute{translate}{
+    whom = node, begin on = {click},
+    exit control={1}{0},
+    entry = {0s}{\pgfpointorigin},
+    linear, % revert to default
+    entry = {1s}{\pgfpoint{0cm}{-5mm}},
+    entry control={0}{1},
+    entry = {2s}{\pgfpoint{0cm}{-10mm}} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    \end{key}
+
+    \begin{key}{/pgf/animations/entry control=\marg{time fraction}\marg{value fraction}}
+        Works like |exit control|.
+    \end{key}
+
+    \begin{key}{/pgf/animations/linear}
+        A shorthand for |exit control={0}{0}, entry control={1}{1}|. This will
+        (re)install a linear curve.
+    \end{key}
+
+    \begin{key}{/pgf/animations/stay}
+        Same as |/tikz/animate/options/stay|.
+        %
+\begin{codeexample}[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}{
+    whom = node, begin on = {click},
+    entry = {0s}{\pgfpointorigin},
+    stay,
+    entry = {1s}{\pgfpoint{0cm}{-5mm}},
+    linear,
+    entry = {2s}{\pgfpoint{0cm}{-10mm}},
+    entry = {3s}{\pgfpoint{0cm}{-15mm}} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    \end{key}
+
+    \begin{key}{/pgf/animations/jump}
+        Same as |/tikz/animate/options/jump|.
+        %
+\begin{codeexample}[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}{
+    whom = node, begin on = {click},
+    entry = {0s}{\pgfpointorigin},
+    jump,
+    entry = {1s}{\pgfpoint{0cm}{-1cm}},
+    linear,
+    entry = {2s}{\pgfpoint{0cm}{-2cm}} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    \end{key}
+\end{key}
+
+When the time of an animation lies outside the timeline specified by the
+|entry| keys, no animation is present. This means that the value of the
+attribute is the object's scope is used instead. Using the following key, you
+can set this value directly:
+
+\begin{key}{/tikz/animations/base=\meta{value}}
+    The syntax of the \meta{value} is the same as for the |entry| key. The
+    \meta{value} is installed as the value of the object's attribute whenever
+    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}]
+\tikz {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click},
+    entry = {0s}{90}, entry = {2s}{180},
+    base  = 45
+  }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+\end{key}
+
+It may happen that there is more than one timeline active that is ``trying to
+modify'' a given attribute. In this case, the following rules are used to
+determine, which timeline ``wins'':
+%
+\begin{enumerate}
+    \item If no animation is active at the current time (all animation either
+        have not yet started or they have already ended), then the base value
+        given in the animation encountered last in the code is used. (If there
+        are no base values, the attribute is taken from the surrounding scope.)
+    \item If there are several active animations, the one that has started last
+        is used and the its value is used.
+    \item If there are several active animations that have started at the same
+        time, the one that comes last in the code is used.
+\end{enumerate}
+
+Note that these rules do not apply to transformations of the canvas since these
+are always additive (or, phrased differently, they are always all active and
+the effects accumulate).
+
+\begin{command}{\pgfparsetime\marg{time}}
+    This command works like |\pgfmathparse| (indeed, it calls is internally),
+    but returns the result in the macro |\pgftimeresult| rather than
+    |\pgfmathresult|. Furthermore, the following changes are installed:
+    %
+    \begin{itemize}
+        \item The postfix operator |s| is added, which has no effect.
+        \item The postfix operator |ms| is added, which divides a number by
+            1000, so |2ms| equals 0.002s.
+        \item The postfix operator |min| is added, which multiplies a number by
+            60.
+        \item The postfix operator |h| is added, which multiplies a number by
+            3600.
+        \item The infix operator |:| is redefined, so that it multiplies its
+            first argument by 60 and adds the second. This implies that |1:20|
+            equals 80s and |01:00:00| equals 3600s.
+        \item The parsing of octal numbers is switched off to allow things like
+            |01:08| for 68s.
+    \end{itemize}
+\end{command}
+
+
+\subsubsection{``Anti-Animations'': Snapshots}
+
+There are a number of situations in which you want the ``opposite'' of an
+animation to happen: You want to create a ``still image''. For instance, when
+you want to print an animation you will typically wish to show one or more
+``temporal snapshots'' of the animation. Also, you may wish to specify a value
+for an object when it is \emph{not} being animated.
+
+Let us start with creating a snapshot:
+
+\begin{command}{\pgfsnapshot\marg{time}}
+    When this command is used inside a \TeX\ scope, the behaviour of
+    |\pgfanimateattribute| changes: Instead of adding an animation to the
+    object and the attribute, the object's attribute is set to value it would
+    have during the animation at time \meta{time}. Note that when this command
+    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}[]
+\tikz [make snapshot of=1s,
+       animate = { myself: = {
+         :rotate = { 0s = "0", 2s = "90" },
+         :color  = { 0s = "red", 2s = "green" },
+         :line width = { 0s = "0mm", 4s = "4mm" }
+       }}]
+  \node [fill=black!20, draw] { Node };
+\end{codeexample}
+
+
+    \medskip\textbf{Timing and Events.}
+    The timeline of an animation normally starts at a ```moment |0s|'' and the
+    \meta{time} is considered relative to this time. For instance, if a
+    timeline contains, say, the settings |entry={2s}{0}| and |entry={3s}{10}|
+    and \marg{time} is set to |2.5s|, then the value the attribute will get is
+    5.
+
+    It is, however, also possible to specify that animations begin and end at
+    certain times relative to events like a |click| event. \emph{These events
+    are not relevant with respect to snapshots.} However, there is one key that
+    allows you to specify the beginning of the snapshot timeline:
+    %
+    \begin{key}{/tikz/animations/begin snapshot=\meta{begin time}}
+        When this key is used inside the options of |\pgfanimateattribute|,
+        with respect to snapshots, the timeline begins at \meta{begin time}.
+        This means that, if the snapshot time is set to \meta{time} and the
+        beginning of the snapshot's timeline is set to \meta{begin time}, the
+        attribute is set to the value of the timeline at time $\meta{time} -
+        \meta{begin time}$.
+
+        The idea is that when you make a snapshot of several animations and all
+        of them have started at different times because of different events,
+        you use |begin snapshot| with each object and attribute to directly
+        specify when these different events have happened.
+    \end{key}
+
+    Note that the |end| keys have no effect with snapshots, that is, with a
+    snapshot all animations always run till the end of the timeline (which may
+    or may not be ``forever'').
+
+
+    \medskip\textbf{Limitations.}
+    For snapshots, the value an animation has at time \meta{time} must be
+    computed by \TeX. While in many cases this is easy to achieve, in some
+    cases this is not trivial such as a timeline for a path with repeats plus
+    smoothing via splines. An additional complication is the fact that an
+    animation may be specified at a place far removed from the actual
+    to-be-animated object. For these reasons, certain limitations apply to
+    snapshots:
+    %
+    \begin{itemize}
+        \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).
+        \item The |accumulating| specification may not be used with paths,
+            views, or motions.
+        \item Since the timing computations are done using \TeX\ code, they are
+            not necessarily stable. For instance, when a time interval is very
+            small and there are many repeats or when a spline is very
+            complicated, the calculated values may not be fully accurate.
+    \end{itemize}
+\end{command}
+
+\begin{command}{\pgfsnapshotafter\marg{time}}
+    This command works exactly like |\pgfsnapshot| only the ``moment'' that
+    \meta{time} refers to is conceptually $\meta{time} + \epsilon$: When
+    timeline specifies several values for \meta{time}, this command will select
+    the last value at \meta{time}, while |\pgfsnapshot| will select the first
+    value at \meta{time}. Similarly, when a timeline ends at \meta{time},
+    |\pgfsnapshot| will select the last value of the timeline while
+    |\pgfsnapshotafter| will not apply the animation any more:
+    %
+\begin{codeexample}[]
+\foreach \t in {0,1,2,3,4} {
+  \pgfsnapshot{\t}
+  \tikz :rotate = { 0s = "0", 2s = "90", 2s = "180", 4s = "270" }
+    \node [draw=blue, very thick] {f}; }
+\end{codeexample}
+    %
+\begin{codeexample}[]
+\foreach \t in {0,1,2,3,4} {
+  \pgfsnapshotafter{\t}
+  \tikz :rotate = { 0s = "0", 2s = "90", 2s = "180", 4s = "270" }
+    \node [draw=blue, very thick] {f}; }
+\end{codeexample}
+    %
+\end{command}
+
+
+\subsection{Animating Color, Opacity, Visibility, and Staging}
+\label{section-base-animation-painting}
+
+\begin{animateattribute}{fill}
+    You can animate the color of the target object of an animation using the
+    attributes |fill| or |draw|, which animate the fill color and the drawing
+    (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}]
+\tikz {
+  \pgfanimateattribute{fill}{
+    whom = node.background, begin on = {click},
+    entry = {0s}{white}, entry = {2s}{red} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+\end{animateattribute}
+
+\begin{animateattribute}{draw}
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{draw}{
+    whom = node.background, begin on = {click},
+    entry = {0s}{white}, entry = {2s}{red} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+\end{animateattribute}
+
+When the target of a color animation is a scope, you animate the color ``used
+in this scope'' for filling or stroking. However, when an object inside the
+scope has its color set explicitly, this color overrules the color of the
+scope:
+%
+\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.5,-0.75) rectangle (3,0.75)}]
+\tikz {
+  \pgfanimateattribute{fill}{
+    whom = example, begin on = {click, of next=node},
+    entry = {0s}{white}, entry = {2s}{red} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \begin{scope}[name = example]
+    \fill (1.5,-0.75) rectangle ++ (1,1);
+    \fill [blue] (2,-0.25) rectangle ++ (1,1);
+  \end{scope}
+}
+\end{codeexample}
+
+Note that in certain cases, a graphic scope may contain graphic objects with
+their colors set explicitly ``in places where you do not expect it'': In
+particular, a node normally consists at least of a background path and a text.
+For both the text and for the background path, colors will be set for the text
+and also for the path explicitly. This means that when you pick the fill
+attribute of a node as the target of an animation, you will \emph{not} animate
+the color of the background path in case this color has been set explicitly.
+Instead, you must choose the background path of the node as the target of the
+animation. Fortunately, this is easy to achieve since when the background path
+of a node is created, the identifier type is set to |background|, which in turn
+allows you to access it as \meta{node}|.background| through the |whom| key.
+
+The text of a node also gets it color set explicitly, which means that a change
+of the node's scope's color has no effect on the text color. Instead, you must
+choose \meta{name}|.text| as the target (or, if the node has more parts, use
+the name of the part as the identifier type instead of |text|).
+%
+\begin{codeexample}[animation list={0.5,1,1.5,2},animation bb={(1.1,-0.9) rectangle (2.9,0.9)}]
+\tikz {
+  \pgfanimateattribute{fill}{
+    whom = example, begin on = {click, of next=node},
+    entry = {0s}{white}, entry = {2s}{red} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \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)}]
+\tikz {
+  \pgfanimateattribute{fill}{
+    whom = example.background, begin on = {click, of next=node},
+    entry = {0s}{white}, entry = {2s}{red} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \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)}]
+\tikz {
+  \pgfanimateattribute{fill}{
+    whom = example.text, begin on = {click, of next=node},
+    entry = {0s}{white}, entry = {2s}{red} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \node at (2,0) (example) [fill = blue!20, circle, font=\huge] {Text}; }
+\end{codeexample}
+
+Similarly to the color, you can also set the opacity used for filling and for
+drawing. You specify the opacity using a number between 0 (transparent) and 1
+(opaque).
+
+\begin{animateattribute}{fill opacity}
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{fill opacity}{
+    whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+\end{animateattribute}
+
+\begin{animateattribute}{draw opacity}
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{draw opacity}{
+    whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+\end{animateattribute}
+
+\begin{animateattribute}{opacity}
+    Unlike colors, where there is no joint attribute for filling and stroking,
+    there is a single |opacity| attribute in addition to the above two
+    attributes. If supported by the driver, it treats the graphic object to
+    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}]
+\tikz {
+  \pgfanimateattribute{opacity}{
+    whom = node, begin on = {click}, entry = {0s}{1}, entry = {2s}{0} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+\end{animateattribute}
+
+\begin{animateattribute}{visible}
+    The difference between the |visible| attribute and an opacity of |0| is
+    that an invisible object cannot be clicked and does not need to be
+    rendered. The (only) two possible values for this attribute are |false| and
+    |true|.
+    %
+\begin{codeexample}[animation list={1,2,3,4}]
+\tikz {
+  \pgfanimateattribute{visible}{
+    whom = node, begin on = {click}, entry = {0s}{false}, entry = {2s}{false} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+\end{animateattribute}
+
+\begin{animateattribute}{stage}
+    This attribute is the same as the |visible| attribute, only |base=false| is
+    set by default. This means that the object is \emph{only} visible when you
+    explicitly during the time the entries are set to |true|. The idea behind
+    the name ``stage'' is that the object is normally ``off stage'' and when
+    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)}]
+\tikz {
+  \pgfanimateattribute{stage}{
+    whom = example, begin on = {click, of next=node},
+    entry = {0s}{true}, entry = {2s}{true} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \node at (2,0) (example) [fill = blue!20, circle] {Effect}; }
+\end{codeexample}
+    %
+\end{animateattribute}
+
+
+\subsection{Animating Paths and their Rendering}
+\label{section-base-animation-paths}
+
+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}]
+\tikz [very thick] {
+  \pgfanimateattribute{line width}{
+    whom = node, begin on = {click}, entry = {0s}{1pt}, entry = {2s}{5mm} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    The possible values passed to the |entry| key are, of course, dimensions.
+\end{animateattribute}
+
+\begin{animateattribute}{dash}
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{dash}{
+    whom = node, begin on = {click}, entry = {0s}{{{10pt}{1pt}}{0pt}},
+                                     entry = {2s}{{{1pt}{10pt}}{0pt}} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{dash}{
+    whom = node, begin on = {click}, entry = {0s}{{{1cm}{1pt}}{0pt}},
+                                     entry = {2s}{{{1cm}{1pt}}{1cm}} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    To specify the dash pattern, you specify a sequence of ``on and off''
+    dimensions; see |\pgfsetdash| for details. Note that you \emph{must}
+    specify the same number of elements in all patterns of a timeline: You
+    cannot specify that the dash pattern for |1s| is |{1pt}{2pt}| and for |2s|
+    is |{1pt}{3pt}{2pt}| since the number of elements would differ. In
+    particular, you cannot (sensibly) use |current value| for the first entry
+    since this corresponds to an empty dash pattern (even when you have
+    specified a dash pattern for the target object: this pattern will not be
+    attached to the to-be-animated scope or object but to a surrounding scope
+    and, thus, the to-be-animated scope will not have any dash pattern
+    installed).
+\end{animateattribute}
+
+\begin{animateattribute}{path}
+    You can animate the path itself:
+    %
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz {
+  \pgfanimateattribute{path}{
+    whom = node.background.path, begin on = {click, of next=node},
+    entry = {0s}{\pgfpathellipse{\pgfpointorigin}
+                  {\pgfpointxy{1}{0}}{\pgfpointxy{0}{1.5}}},
+    entry = {2s}{\pgfpathellipse{\pgfpointxy{.5}{0}}
+                  {\pgfpointxy{.5}{.5}}{\pgfpointxy{0.25}{.25}}}}
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    The path is specified by giving path construction commands as in the above
+    example. They will be executed in a special protected scope to ensure that
+    they have only little side effects.
+
+    As for the dash pattern, you must ensure that all paths in the timeline
+    have the same structure (same sequence of path construction commands); only
+    the coordinates may differ. In particular, you cannot say that the path at
+    |1s| is a rectangle using |\pgfpathrectangle| and at |2s| is a circle using
+    |\pgfpathcircle|. Instead, you would have to ensure that at both times that
+    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
+    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.
+
+    When a path is animated, it cannot have ``normal'' arrows attached to it
+    since due to the way \pgfname\ adds arrow tips to paths, these would not
+    ``move along'' with the path (you get an error message if you try).
+    However, it still \emph{is} possible to add arrow tips to an animated path,
+    only you need to use the |arrows| key described next.
+
+    Concerning the bounding box computation of the path, a bounding box for all
+    paths mentioned for any time point is used as the overall bounding box.
+\end{animateattribute}
+
+\begin{key}{/pgf/animation/arrows=\meta{start tip spec}|-|\meta{end tip spec}}
+    This key specifies arrow tips during the animation of the path. The syntax
+    for the arrow tips is the same syntax as the |\pgfsetarrow| command or
+    \tikzname's |arrows| key.  The specified start and end arrow tips are
+    rendered as ``markers'', which are added to the path \emph{only} during the
+    animation. The markers are rotated along with the path in exactly the  same
+    way as normal arrow tips would be. To be precise, the rules used for the
+    computation of where arrow tips go and in which direction they head is not
+    always the same for ``static'' arrow tips (arrow tips added to a normal
+    path) and the ``dynamic'' arrow tips based on markers; namely when the
+    paths are very short or closed. For this reason, you should add arrow tips
+    to animated paths only when the paths are ``nice and simple'' in the sense
+    that they consist of a single segment whose ends are reasonably long.
+
+    In addition to adding the arrow tips to the path during the animation, the
+    path gets shortened as necessary to compensate for the extend of the arrow
+    tips. However, for this to work, the arrow tips have to be specified before
+    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)}]
+\tikz {
+  \pgfanimateattribute{path}{
+    whom = p.path, begin on = {click, of next=node}, arrows = ->,
+    entry = {1s}{\pgfpathmoveto{\pgfpoint{1cm}{0cm}}
+                 \pgfpathlineto{\pgfpoint{2cm}{1cm}}},
+    entry = {3s}{\pgfpathmoveto{\pgfpoint{1cm}{1cm}}
+                 \pgfpathlineto{\pgfpoint{2cm}{5mm}}}}
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \draw [very thick, blue, name=p] (1,0.5) -- (2,0.5);
+}
+\end{codeexample}
+
+    Note that the markers that visualize the arrow tips are rendered only once
+    per animation. In consequence, ``bending'' arrow tips cannot be rendered
+    correctly: As a path ``morphs'' a bend arrow tip needs not only to rotate
+    along, but must actually ``bend along'', which is not supported (neither by
+    \pgfname\ nor by \textsc{svg}).
+
+    As pointed out earlier, an animated path cannot have ``static'' arrow tips.
+    However, when you specify a |base| value, which is the path used whenever
+    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)}]
+\tikz {
+  \pgfanimateattribute{path}{
+    whom = p.path, begin on = {click, of next=node}, arrows = ->,
+    base = {\pgfpathmoveto{\pgfpoint{1cm}{5mm}}
+            \pgfpathlineto{\pgfpoint{2cm}{5mm}}},
+    entry = {1s}{\pgfpathmoveto{\pgfpoint{1cm}{0cm}}
+                 \pgfpathlineto{\pgfpoint{2cm}{1cm}}},
+    entry = {3s}{\pgfpathmoveto{\pgfpoint{1cm}{1cm}}
+                 \pgfpathlineto{\pgfpoint{2cm}{5mm}}}}
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \draw [very thick, blue, name=p];
+}
+\end{codeexample}
+    %
+\end{key}
+
+\begin{key}{/pgf/animation/shorten >=\meta{dimension}}
+    Just like the normal \tikzname\ key |shorten >|, this key specifies an
+    extra shortening of to-be-animated paths. Whenever a path is parsed as a
+    value for a path animation, it gets shortened at the end by the
+    \meta{dimension} (and, additionally, by the length of the attached arrow
+    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)}]
+\tikz {
+  \pgfanimateattribute{path}{
+    whom = p.path, begin on = {click, of next=node}, arrows = ->,
+    shorten > = 2mm,
+    base = {\pgfpathmoveto{\pgfpoint{1cm}{5mm}}
+            \pgfpathlineto{\pgfpoint{2cm}{5mm}}},
+    entry = {1s}{\pgfpathmoveto{\pgfpoint{1cm}{0cm}}
+                 \pgfpathlineto{\pgfpoint{2cm}{1cm}}},
+    entry = {3s}{\pgfpathmoveto{\pgfpoint{1cm}{1cm}}
+                 \pgfpathlineto{\pgfpoint{2cm}{5mm}}}}
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+  \draw              (0.9,-0.1) grid (2.1,1.1);
+  \draw [help lines] (0.9,-0.1) grid[step=1mm] (2.1,1.1);
+  \draw [very thick, blue, name=p];
+}
+\end{codeexample}
+    %
+\end{key}
+
+\begin{key}{/pgf/animation/shorten <=\meta{dimension}}
+    Works like |shorten >|.
+\end{key}
+
+
+\subsection{Animating Transformations  and Views}
+\label{section-base-animation-views}
+
+In order to animate the canvas transformation matrix, you do not animate an
+attribute called ``|transform|'' (or something similar). Rather, there are
+several keys that all manipulate the canvas transformation matrix in different
+ways. These keys, taken in appropriate combination, allow you to achieve any
+particular canvas transformation matrix. All keys that animate the
+transformation matrix \emph{always} accumulate.
+
+Some, but not all, of these keys also have an effect on the bounding box
+computation: The |translate| and |motion| attribute change the computation of
+the bounding box in such a way that it is chosen large enough as to include the
+whole picture during all stages of the animation (however, if there are
+multiple transformations active at the same time, the computation may not be
+correct). In contrast, |scale|, |rotate| and |skew| animations change the
+canvas transformation, but are ignored for the bounding box computation. When
+in doubt, please set the bounding box explicitly.
+
+Let us start with the basic keys that allow you to change the canvas
+transformation matrix directly:
+
+\begin{animateattribute}{scale}
+    The |scale| attribute adds an animation of the scaling:
+    %
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz [very thick] {
+  \pgfanimateattribute{scale}{
+    whom = node, begin on = {click},
+    entry = {0s}{0.5}, entry = {2s}{0.75,1.5} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    The values passed to the |entry| key must either be single scalar values or
+    a pair of such numbers separated by a comma (which then refer to the $x$-
+    and $y$-scaling).
+\end{animateattribute}
+
+\begin{animateattribute}{rotate}
+    The |rotate| key adds an animation of the rotation:
+    %
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click},
+    entry = {0s}{45}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    The values are scalar values representing a rotation in degrees.
+\end{animateattribute}
+
+\begin{animateattribute}{xskew}
+    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}]
+\tikz [very thick] {
+  \pgfanimateattribute{xskew}{
+    whom = node, begin on = {click}, entry = {0s}{0}, entry = {2s}{45} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    The values are scalar values.
+\end{animateattribute}
+
+\begin{animateattribute}{yskew}
+    See |xskew|.
+\end{animateattribute}
+
+\begin{animateattribute}{skew x}
+    An alias of |xskew|.
+\end{animateattribute}
+
+\begin{animateattribute}{skew y}
+    An alias of |yskew|.
+\end{animateattribute}
+
+\begin{animateattribute}{translate}
+    The |translate| key adds an animation of the translation (shift):
+    %
+\begin{codeexample}[animation list={0.5,1,1.5,2}]
+\tikz [very thick] {
+  \pgfanimateattribute{translate}{
+    whom = node, begin on = {click},
+    entry = {0s}{\pgfpointorigin}, entry = {2s}{\pgfpoint{5mm}{-5mm}} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!};
+}
+\end{codeexample}
+    %
+    The values are \pgfname-points.
+
+    Unlike for the previous canvas transformations, for this key the bounding
+    box computation is changed: All points in the to-be-animated scope do not
+    only contribute to the normal bounding box, but they also contribute
+    shifted by all points in the entry list. The effect is that a bounding box
+    is computed that encompasses the animated scope at all stages.
+\end{animateattribute}
+
+For all of these attributes, the following key is of importance:
+%
+\begin{key}{/pgf/animation/origin=\meta{pgf point}}
+    An animation of the canvas transformation is added to all other
+    transformations from surrounding or interior scopes. This means that, in
+    particular, the origin of a canvas transformation is, by default, the
+    origin of the canvas of the scope surrounding the transformation object.
+
+    For some canvas animations, like a rotation or a scaling, you will
+    typically wish to use a different origin (like the center of an object that
+    is to be rotated or scaled). You can achieve this effect by surrounding the
+    object by a scope that shifts the canvas to the desired origin, followed by
+    a scope whose transformation matrix you animate, followed by a scope that
+    shifts back the canvas.
+
+    The |origin| key simplifies this process by allowing you to specify the
+    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}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click},
+    origin = \pgfpoint{-5mm}{0mm}, entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!};
+}
+\end{codeexample}
+    %
+\end{key}
+
+\begin{animateattribute}{motion}
+    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}]
+\tikz [very thick] {
+  \pgfanimateattribute{motion}{
+    whom = node, begin on = {click},
+    along = \pgfpathcircle{\pgfpointorigin}{5mm},
+    entry = {0s}{.25}, entry = {2s}{.5} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+
+    Just like the |translate| attribute, this key also changes the bounding box
+    computation.
+    %
+    \begin{key}{/pgf/animation/along=\meta{path}}
+        This key must be used with |motion| attribute to specify a path along
+        which the transformation matrix will be ``moved'' (that is, a shift
+        transformation will be added to the different points on the path).
+
+        The values passed to the |entry| key specify fractions of the distance
+        along the \meta{path}. That means, when you provide a value of |0|, you
+        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}]
+\tikz [very thick] {
+  \pgfanimateattribute{motion}{
+    whom = node, begin on = {click},
+    along = \pgfpathmoveto{\pgfpointorigin}
+            \pgfpathlineto{\pgfpoint{0mm}{5mm}},
+    entry = {0s}{0}, entry = {1s}{0.5}, entry = {2s}{0.25}, entry={3s}{1} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+    \end{key}
+
+    \begin{key}{/pgf/animation/rotate along=\meta{Boolean} (default true)}
+        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}]
+\tikz [very thick] {
+  \pgfanimateattribute{motion}{
+    whom = node, begin on = {click},
+    rotate along = true,
+    along = \pgfpathmoveto {\pgfpointorigin}
+            \pgfpathcurveto{\pgfpoint{5mm}{0cm}}{\pgfpoint{5mm}{0cm}}
+                           {\pgfpoint{5mm}{5mm}},
+    entry = {0s}{0}, entry = {2s}{1} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+    \end{key}
+\end{animateattribute}
+
+The final method of changing the transformation matrix is to animate a
+\emph{view.}
+
+\begin{animateattribute}{view}
+    A view is a canvas transformation that shifts and scales the canvas in such
+    a way that a certain rectangle ``matches'' another rectangle: The idea is
+    that you ``look through'' a ``window'' (the view) and ``see'' a certain
+    area of the canvas. View animation do not allow you to do anything that
+    cannot also be done using the |translate| and |scale| keys in combination,
+    but it often much more natural to animate which area of a graphic you wish
+    to see than to compute and animate a scaling and shift explicitly.
+
+    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
+    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)}]
+\tikz [very thick] {
+  \pgfanimateattribute{view}{
+    whom = me.view, begin on = {click, of next=node}, freeze at end,
+    entry = {0s}{{\pgfpoint{0mm}{0mm}}{\pgfpoint{20mm}{20mm}}},
+    entry = {2s}{{\pgfpoint{10mm}{10mm}}{\pgfpoint{15mm}{15mm}}} }
+  \node (node) [fill = blue!20, draw = blue, very thick, circle] {Click me!};
+
+  \draw [green!50!black] (1.2,-0.8) rectangle (2.7,0.8);
+  \begin{scope}[name = me, view = {(0,0) (2,2) at (1.2,-0.8) (2.7,0.8)}]
+    \draw [red] (10mm,10mm) rectangle (15mm,15mm);
+    \node at (10mm,10mm) [circle, fill=red, text=white, font=\tiny] {red};
+  \end{scope}
+}
+\end{codeexample}
+
+\begin{codeexample}[width=2cm]
+\tikz [very thick] {
+  \pgfanimateattribute{view}{
+    whom = me.view, begin on = {click, of next=n1}, freeze at end,
+    entry = {0s}{\pgfpoint{0mm}{0mm}}{\pgfpoint{2cm}{2cm}},
+    entry = {2s}{{\pgfpoint{5mm}{5mm}}{\pgfpoint{15mm}{20mm}}} }
+  \pgfanimateattribute{view}{
+    whom = me.view, begin on = {click, of next=n2}, freeze at end,
+    entry = {0s}{\pgfpoint{0mm}{0mm}}{\pgfpoint{2cm}{2cm}},
+    entry = {2s}{{\pgfpoint{10mm}{10mm}}{\pgfpoint{15mm}{15mm}}} }
+  \node (n1) at (0,0) [fill = blue!20, draw = blue, circle] {Zoom blue};
+  \node (n2) at (2,0) [fill = blue!20, draw = blue, circle] {Zoom red};
+
+  \draw [green!50!black] (4,0) rectangle (6,2);
+  \begin{scope}[name = me, view = {(0,0) (2,2) at (4,0) (6,2)}]
+    \draw [blue] (5mm,5mm) rectangle (15mm,20mm);
+    \node at (5mm,5mm) [circle, fill=blue, text=white] {blue};
+
+    \draw [red] (10mm,10mm) rectangle (15mm,15mm);
+    \node at (10mm,10mm) [circle, fill=red, text=white, font=\tiny] {red};
+  \end{scope}
+}
+\end{codeexample}
+    %
+\end{animateattribute}
+
+
+\subsection{Commands for Specifying Timing: Beginnings and Endings}
+
+Using the |entry| key repeatedly, you specify a timeline: The \meta{time} used
+with the first use of the |entry| key in a timeline is the start time and the
+\meta{time} in the last |entry| key is the stop time. However, this leaves open
+then question of when the whole timeline is to be started: The moment the
+document is opened? When the page is displayed? When the user scrolls to the
+to-be-animated object? When some other object is clicked? The key |begin|, and
+also the key |end|, allow you to specify answers to these questions.
+
+\begin{key}{/pgf/animation/begin=\meta{time}}
+    This key specifies when the ``moment |0s|'' should be relative to the
+    moment when the current graphic is first displayed. You can use this key
+    multiple times, in this case the timeline is restarted for each of the
+    times specified (if it is already running, it will be reset). If no |begin|
+    key is given at all, the effect is the same as if |begin=0s| had been
+    specified.
+
+    It is permissible to set \meta{time} to a negative value.
+\end{key}
+
+\begin{key}{/pgf/animation/end=\meta{time}}
+    This key will truncate the timeline so that it ends \meta{time} after the
+    display of the graphic, provided the timeline begins before the specified
+    end time. For instance, if you specify a timeline starting at 2\,s and
+    ending at 5\,s and you set |begin| to 1\,s and |end| to 4\,s, the timeline
+    will run, relative to the moment when the graphic is displayed from 3\,s to
+    4\,s.
+    %
+\begin{codeexample}[width=3cm]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin = 2s, end = 4s,
+    entry = {1s}{0}, entry = {2s}{90}, entry = {3s}{180}, entry = {4s}{270} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Turn after 3s!}; }
+\end{codeexample}
+    %
+\end{key}
+
+It is not immediately clear what should happen with the attribute of an object
+when an animation ends: Should it revert to its original value ``as if there
+had never been an animation'' or should it ``stay at the last value''? The
+following key governs what should happen:
+
+\begin{key}{/pgf/animation/freeze at end=\meta{true or false} (default true, initially false)}
+    When set to |true|, whenever a timeline ends (either because the last time
+    of timeline has been reached or because an |end| or |end of| key have ended
+    it prematurely), the last value the attribute had because of the animation
+    ``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}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, freeze at end = false,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Here!}; }
+\end{codeexample}
+    %
+\begin{codeexample}[animation list={0,1,2,3,4}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, freeze at end,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Here!}; }
+\end{codeexample}
+    %
+\end{key}
+
+Instead of specifying the beginning of the timeline relative to the moment to
+to-be-animated graphic is displayed, you can also set the ``moment |0s|'' to
+the moment a specific \emph{event} happens using the following key:
+
+\begin{key}{/pgf/animation/begin on=\meta{options}}
+    Has the same effect as |/tikz/animate/option/begin on|, see
+    Section~\ref{section-anim-begin-end}.
+\end{key}
+
+When you use |begin on| to start an animation when a certain event is
+triggered, it is not clear what should happen when the event is triggered
+\emph{again}. Should this be ignored completely? Should it only be ignored
+while the animation is running? The following key allows you to specify when
+should happen:
+
+\begin{key}{/pgf/animation/restart=\meta{choice} (default true)}
+    Has the same effect as |/tikz/animate/option/restart|, see
+    Section~\ref{section-anim-begin-end}.
+\end{key}
+
+Just like |begin on| specifies when a timeline begins relative to some event,
+the |end on| allows you to stop is early when some event happens:
+
+\begin{key}{/pgf/animation/end on=\meta{options}}
+    Works exactly like |begin on|, one possible end of the timeline is
+    specified using the \meta{options}.
+\end{key}
+
+
+\subsection{Commands for Specifying Timing: Repeats}
+
+Normally, a timeline is displayed once and then ends. You can, however, request
+that the timeline should be repeated a certain number of times or indefinitely.
+
+\begin{key}{/pgf/animation/repeats=\meta{specification}}
+    Use this key to specify that the timeline animation should repeat at the
+    end. The \meta{specification} must consist of two parts, each of which may
+    be empty. The first part is one of the following:
+    %
+    \begin{itemize}
+        \item Empty, in which case the timeline repeats forever.
+            %
+\begin{codeexample}[animation list={1,2,3,4,5}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, repeats,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+            %
+        \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}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, repeats = 1.75,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+            %
+        \item The text ``|for| \meta{time}'' (like |for 2s| or |for 300ms|), in
+            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}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, repeats = for 3.5s,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+    \end{itemize}
+    %
+    The second part of the specification must be one of the following:
+    %
+    \begin{itemize}
+        \item Empty, in which case each time the timeline is restarted, the
+            attribute's value undergoes the same series of values it did
+            previously.
+        \item The text |accumulating|. This has the effect that each time the
+            timeline is restarted, the attribute values specified by the
+            timeline are \emph{added} to the value from the previous
+            iteration(s). A typical example is an animation that shifts a scope
+            by, say, 1\,cm over a time of 1\,s. Now, if you repeat this five
+            times, normally the scope will shift 1\,cm for 1\,s then ``jump
+            back'', shift again, 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}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, repeats = accumulating,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+            %
+\begin{codeexample}[animation list={1,2,3,4,5}]
+\tikz [very thick] {
+  \pgfanimateattribute{rotate}{
+    whom = node, begin on = {click}, repeats = 2 accumulating,
+    entry = {0s}{0}, entry = {2s}{90} }
+  \node (node) [fill = blue!20, draw = blue, circle] {Click me!}; }
+\end{codeexample}
+    \end{itemize}
+\end{key}
+
+\begin{key}{/pgf/animation/repeat=\meta{specification}}
+    This is an alias for |repeats|.
+\end{key}
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "pgfmanual"
+%%% End:


Property changes on: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.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-base-arrows.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -11,64 +11,61 @@
 \section{Defining New Arrow Tip Kinds}
 \label{section-arrows}
 
-
 \subsection{Overview}
 
-In present section we have a look at how you can define new arrow tips
-for use in \pgfname. The low-level commands for selecting which arrow
-tips are to be used have already been described in
-Section~\ref{section-tips}, the general syntax rules for using arrows
-are detailed in Section~\ref{section-tikz-arrows}. Although
-Section~\ref{section-tikz-arrows} describes the use of arrows in
-\tikzname, in reality, \tikzname\ itself does not actually do anything
-about arrow tips; all of the functionality is implemented on the
-\pgfname\ level in the commands described in
-Section~\ref{section-tikz-arrows}. Indeed, even the |/.tip| key
-handler described in Section~\ref{section-tikz-arrows} is actually
-implemented on the \pgfname\ layer.
+In present section we have a look at how you can define new arrow tips for use
+in \pgfname. The low-level commands for selecting which arrow tips are to be
+used have already been described in Section~\ref{section-tips}, the general
+syntax rules for using arrows are detailed in
+Section~\ref{section-tikz-arrows}. Although Section~\ref{section-tikz-arrows}
+describes the use of arrows in \tikzname, in reality, \tikzname\ itself does
+not actually do anything about arrow tips; all of the functionality is
+implemented on the \pgfname\ level in the commands described in
+Section~\ref{section-tikz-arrows}. Indeed, even the |/.tip| key handler
+described in Section~\ref{section-tikz-arrows} is actually implemented on the
+\pgfname\ layer.
 
-What has \emph{not} yet been covered is how you can actually define a
-complete new arrow tip. In \pgfname, arrows are ``meta-arrows'' in the
-same way that fonts in \TeX\ are ``meta-fonts.'' When a meta-arrow is
-resized, it is not simply scaled, but a possibly complicated
-transformation is applied to the size.
+What has \emph{not} yet been covered is how you can actually define a complete
+new arrow tip. In \pgfname, arrows are ``meta-arrows'' in the same way that
+fonts in \TeX\ are ``meta-fonts''. When a meta-arrow is resized, it is not
+simply scaled, but a possibly complicated transformation is applied to the
+size.
 
-A meta-font is not one particular font at a specific size with a
-specific stroke width (and with a large number of other parameters
-being fixed). Rather, it is a ``blueprint'' (actually, more like a
-program) for generating such a font at a particular size and
-width. This allows the designer of a meta-font to make sure that, say,
-the font is somewhat thicker and wider at very small sizes. To
-appreciate the difference: Compare the following texts: ``Berlin'' and
-``\tikz{\node [scale=2,inner sep=0pt,outer sep=0pt]{\tiny
-    Berlin};}''. The first is a ``normal'' text, the second is the tiny
-version scaled by a factor of two. Obviously, the first look
-better. Now, compare  ``\tikz{\node [scale=.5,inner sep=0pt,outer
-  sep=0pt]{Berlin};}'' and ``{\tiny Berlin}''. This time, the normal
-text was scaled down, while the second text is a ``normal'' tiny
-text. The second text is easier to read.
+A meta-font is not one particular font at a specific size with a specific
+stroke width (and with a large number of other parameters being fixed). Rather,
+it is a ``blueprint'' (actually, more like a program) for generating such a
+font at a particular size and width. This allows the designer of a meta-font to
+make sure that, say, the font is somewhat thicker and wider at very small
+sizes. To appreciate the difference: Compare the following texts: ``Berlin''
+and ``\tikz{\node [scale=2,inner sep=0pt,outer sep=0pt]{\tiny Berlin};}''. The
+first is a ``normal'' text, the second is the tiny version scaled by a factor
+of two. Obviously, the first look better. Now, compare ``\tikz{\node
+[scale=.5,inner sep=0pt,outer sep=0pt]{Berlin};}'' and ``{\tiny Berlin}''. This
+time, the normal text was scaled down, while the second text is a ``normal''
+tiny text. The second text is easier to read.
 
-\pgfname's meta-arrows work in a similar fashion: The shape of an
-arrow tip can vary according to a great number of parameters, the line
-width of the arrow tip being one of them. Thus, an arrow tip drawn at
-a line width of 5pt will typically \emph{not} be five times as large
-as an arrow tip of line width 1pt. Instead, the size of the arrow will
-get bigger only slowly as the line width increases. 
+\pgfname's meta-arrows work in a similar fashion: The shape of an arrow tip can
+vary according to a great number of parameters, the line width of the arrow tip
+being one of them. Thus, an arrow tip drawn at a line width of 5pt will
+typically \emph{not} be five times as large as an arrow tip of line width 1pt.
+Instead, the size of the arrow will get bigger only slowly as the line width
+increases.
 
 To appreciate the difference, here are the |Latex| and
-|Classical TikZ Rightarrow| arrows, as drawn by \pgfname\ at four different sizes:
+|Classical TikZ Rightarrow| arrows, as drawn by \pgfname\ at four different
+sizes:
 
 \medskip
 \begin{tikzpicture}[1/.tip=Latex, 2/.tip=Classical TikZ Rightarrow]
-  \draw[-1, line width=0.1pt] (0pt,0ex) -- +(3,0)  node[thin,right] {line width is 0.1pt};
-  \draw[-1, line width=0.4pt] (0pt,-2em) -- +(3,0) node[thin,right] {line width is 0.4pt};
-  \draw[-1, line width=1.2pt] (0pt,-4em) -- +(3,0) node[thin,right] {line width is 1.2pt};
-  \draw[-1, line width=5pt]   (0pt,-6em) -- +(3,0) node[thin,right] {line width is 5pt};
+    \draw[-1, line width=0.1pt] (0pt,0ex) -- +(3,0)  node[thin,right] {line width is 0.1pt};
+    \draw[-1, line width=0.4pt] (0pt,-2em) -- +(3,0) node[thin,right] {line width is 0.4pt};
+    \draw[-1, line width=1.2pt] (0pt,-4em) -- +(3,0) node[thin,right] {line width is 1.2pt};
+    \draw[-1, line width=5pt]   (0pt,-6em) -- +(3,0) node[thin,right] {line width is 5pt};
 
-  \draw[-2, line width=0.1pt] (6cm,0ex) -- +(3,0)  node[thin,right] {line width is 0.1pt};
-  \draw[-2, line width=0.4pt] (6cm,-2em) -- +(3,0) node[thin,right] {line width is 0.4pt};
-  \draw[-2, line width=1.2pt] (6cm,-4em) -- +(3,0) node[thin,right] {line width is 1.2pt};
-  \draw[-2, line width=5pt]   (6cm,-6em) -- +(3,0) node[thin,right] {line width is 5pt};
+    \draw[-2, line width=0.1pt] (6cm,0ex) -- +(3,0)  node[thin,right] {line width is 0.1pt};
+    \draw[-2, line width=0.4pt] (6cm,-2em) -- +(3,0) node[thin,right] {line width is 0.4pt};
+    \draw[-2, line width=1.2pt] (6cm,-4em) -- +(3,0) node[thin,right] {line width is 1.2pt};
+    \draw[-2, line width=5pt]   (6cm,-6em) -- +(3,0) node[thin,right] {line width is 5pt};
 \end{tikzpicture}
 
 \medskip
@@ -88,434 +85,431 @@
 \end{tikzpicture}
 
 \bigskip
-As can be seen, simple scaling produces arrow tips that are way too
-large at larger sizes and way too small at smaller sizes.
+As can be seen, simple scaling produces arrow tips that are way too large at
+larger sizes and way too small at smaller sizes.
 
-In addition to the line width, other options may also influence the
-appearance of an arrow tip. In particular, the width of the inner line
-(the line used to create the effect of a double line) influences arrow
-tips as well as other options that are specific to the arrow tip.
+In addition to the line width, other options may also influence the appearance
+of an arrow tip. In particular, the width of the inner line (the line used to
+create the effect of a double line) influences arrow tips as well as other
+options that are specific to the arrow tip.
 
 
 \subsection{Terminology}
 \label{section-arrow-terminology}
 
-Before we have a look at the exact commands used for defining arrow
-tips, we need to fix some terminology. Consider the following drawing
-of an arrow tip where the arrow tip is drawn transparently so that we
-can see what is ``happening behind it'':
-
+Before we have a look at the exact commands used for defining arrow tips, we
+need to fix some terminology. Consider the following drawing of an arrow tip
+where the arrow tip is drawn transparently so that we can see what is
+``happening behind it'':
+%
 \begin{tikzpicture}
-  \draw [red!50, ,line width=1cm] (0,0) -- (4,0);
-  \path [tips, opacity=.25,line width=1cm, -{Stealth[black,line width=0pt,length=4cm, width=4cm, inset=1cm]}] (0,0) -- (6,0);
-  
-  \draw [->,thick] (1,0) -- (8,0) node [right] {$x$-axis};
-  \draw [->,thick] (5,-2.25) -- (5,2.25) node [above] {$y$-axis};
+    \draw [red!50, ,line width=1cm] (0,0) -- (4,0);
+    \path [tips, opacity=.25,line width=1cm, -{Stealth[black,line width=0pt,length=4cm, width=4cm, inset=1cm]}] (0,0) -- (6,0);
 
-  \foreach \i in {-3,-2,-1,1,2} \draw (\i+5,-1mm) -- (\i+5,1mm) node [above] {\small$\i$};
-  \foreach \i in {-2,-1,1,2} \draw (49mm,\i) -- (51mm,\i) node [right] {\small$\i$};;
+    \draw [->,thick] (1,0) -- (8,0) node [right] {$x$-axis};
+    \draw [->,thick] (5,-2.25) -- (5,2.25) node [above] {$y$-axis};
+
+    \foreach \i in {-3,-2,-1,1,2} \draw (\i+5,-1mm) -- (\i+5,1mm) node [above] {\small$\i$};
+    \foreach \i in {-2,-1,1,2} \draw (49mm,\i) -- (51mm,\i) node [right] {\small$\i$};;
 \end{tikzpicture}
 
-I have also added a coordinate system. The code for drawing an arrow
-tip always draws it in the way shown above: Pointing right along the
-$x$-axis.
+I have also added a coordinate system. The code for drawing an arrow tip always
+draws it in the way shown above: Pointing right along the $x$-axis.
 
 We will use the following terminology:
+%
 \begin{itemize}
-\item The point where tip of the arrow ends is called the
-  \emph{tip end}. It is at $(1,0)$ in our example and we always
-  assume it to lie on the $x$-axis, so we just treat it as a distance,
-  1 in this case. This is the position where the original path was
-  supposed to end (so if the arrow tip had not been added to the red
-  path, it would have ended here).
-\item The \emph{back end} of the arrow is where a vertical line just
-  to the left of the arrow intersects the $x$-axis. In our case, this
-  is the point $(-3,0)$ and again we treat it as a distance, $-3$ in
-  this case.
-\item The \emph{line end} is the position where the path now
-  ends. This should be a position inside the arrow head that gets
-  ``covered'' by the path. Note that a path may have a round or a rect
-  head and should still be covered. Clearly, necessary shortening of
-  the path will be the difference between the tip end and the line
-  end.
-\item The \emph{visual back end} is the position where the path and
-  the the arrow head ``meet last'' on the path. In our case, because
-  of the inset, the visual back end is not the same as the back end:
-  The arrow ends ``visually'' at $(-2,0)$. The difference between the
-  back end and the visual back end is important when the arrow tip is
-  flexed, see Section~\ref{section-arrow-flex} for an explanation of
-  flexing.
-\item There is also a \emph{visual tip end}, the counterpart of the
-  visual back end for the front. In our case, the visual tip end and
-  the tip end obviously coincide, but if we were to reverse the arrow
-  tip, the visual tip end would be different form the tip end (while
-  the visual back end would then coincide with the new back end).
-\item There are four points that make up the \emph{convex hull} of the
-  arrow tip: $(1,0)$, $(-3,2)$, and $(-3,-2)$.
+    \item The point where tip of the arrow ends is called the \emph{tip end}.
+        It is at $(1,0)$ in our example and we always assume it to lie on the
+        $x$-axis, so we just treat it as a distance, 1 in this case. This is
+        the position where the original path was supposed to end (so if the
+        arrow tip had not been added to the red path, it would have ended
+        here).
+    \item The \emph{back end} of the arrow is where a vertical line just to the
+        left of the arrow intersects the $x$-axis. In our case, this is the
+        point $(-3,0)$ and again we treat it as a distance, $-3$ in this case.
+    \item The \emph{line end} is the position where the path now ends. This
+        should be a position inside the arrow head that gets ``covered'' by the
+        path. Note that a path may have a round or a rect head and should still
+        be covered. Clearly, necessary shortening of the path will be the
+        difference between the tip end and the line end.
+    \item The \emph{visual back end} is the position where the path and the the
+        arrow head ``meet last'' on the path. In our case, because of the
+        inset, the visual back end is not the same as the back end: The arrow
+        ends ``visually'' at $(-2,0)$. The difference between the back end and
+        the visual back end is important when the arrow tip is flexed, see
+        Section~\ref{section-arrow-flex} for an explanation of flexing.
+    \item There is also a \emph{visual tip end}, the counterpart of the visual
+        back end for the front. In our case, the visual tip end and the tip end
+        obviously coincide, but if we were to reverse the arrow tip, the visual
+        tip end would be different form the tip end (while the visual back end
+        would then coincide with the new back end).
+    \item There are four points that make up the \emph{convex hull} of the
+        arrow tip: $(1,0)$, $(-3,2)$, and $(-3,-2)$.
 
-  Normally, \pgfname\ automatically keeps track of a bounding box of
-  everything you draw. However, since arrow tips are drawn so often,
-  \pgfname\ caches the code needing for drawing arrow tips internally
-  and because of this cache it cannot determine the size of the arrow
-  tip just based on the drawing commands used for drawing the
-  tip. Instead, a convex hull of the arrow tip must be explicitly
-  provided in the definition.
+        Normally, \pgfname\ automatically keeps track of a bounding box of
+        everything you draw. However, since arrow tips are drawn so often,
+        \pgfname\ caches the code needing for drawing arrow tips internally and
+        because of this cache it cannot determine the size of the arrow tip
+        just based on the drawing commands used for drawing the tip. Instead, a
+        convex hull of the arrow tip must be explicitly provided in the
+        definition.
 \end{itemize}
 
-When you design a new arrow tip, all of the above parameters must be
-defined.
+When you design a new arrow tip, all of the above parameters must be defined.
 
+
 \subsection{Caching and Rendering of Arrows}
 
-As a last preparation for the description of the commands for
-declaring arrows, it is important to understand the exact process by
-which \pgfname\ draws arrows.
-
+As a last preparation for the description of the commands for declaring arrows,
+it is important to understand the exact process by which \pgfname\ draws
+arrows.
+%
 \begin{enumerate}
-\item First, you have to define an arrow tip kind using
-  |\pgfdeclarearrow{name=foo,...|. This will tell \pgfname\ that  %}
-  |foo| is now the name of an arrow tip. In particular, the 
-  parser for arrow tip specifications will now treat |foo| as the name
-  of an arrow tip and will not try to consider |f|, |o|, and |o| as
-  the names of single-char shorthands.
+    \item First, you have to define an arrow tip kind using
+        |\pgfdeclarearrow{name=foo,...|. This will tell \pgfname\ that |foo| is %}
+        now the name of an arrow tip. In particular, the parser for arrow tip
+        specifications will now treat |foo| as the name of an arrow tip and
+        will not try to consider |f|, |o|, and |o| as the names of single-char
+        shorthands.
 
-  Other than storing the definitions in the declaration internally,
-  this command has little other effect. In particular, no drawing or
-  other processing takes place.
-\item Now assume that at some point the arrow tip |foo| is actually
-  used. In this case, certain options may have been set, for instance
-  the user may have requested the arrow tip
-  |foo[length=5pt,open]|. What happens next depends on whether it is
-  the first time the arrow tip |foo| is used with \emph{these exact
-    options} ornot.
-\item Assume that is the first time |foo| is requested at a length of
-  5pt and in an ``open'' version. \pgfname\ now retrieves the
-  definition of the arrow tip kind that it stored in the first step
-  and executes the so-called \emph{setup} code. When this code is
-  executed, all the options will be in force (for
-  instance, |\pgfarrowlength| will equal |5pt| in our case). The job
-  of the setup code is two-fold: First, it needs to compute all of the
-  parameters listed in Section~\ref{section-arrow-terminology}, that
-  is, it has to compute where the tip end will lie in the arrow tip's
-  coordinate system \emph{at the particular size of 5pt}, where the
-  back end will be, where the convex hull points lie, and so
-  on. Second, the setup code should precompute values that will be
-  important for constructing the path of the arrow. In our example,
-  there is little to do in this regard, but for more complicated
-  arrows, all time-consuming preparations are done now.
+        Other than storing the definitions in the declaration internally, this
+        command has little other effect. In particular, no drawing or other
+        processing takes place.
+    \item Now assume that at some point the arrow tip |foo| is actually used.
+        In this case, certain options may have been set, for instance the user
+        may have requested the arrow tip |foo[length=5pt,open]|. What happens
+        next depends on whether it is the first time the arrow tip |foo| is
+        used with \emph{these exact options} or not.
+    \item Assume that is the first time |foo| is requested at a length of 5pt
+        and in an ``open'' version. \pgfname\ now retrieves the definition of
+        the arrow tip kind that it stored in the first step and executes the
+        so-called \emph{setup} code. When this code is executed, all the
+        options will be in force (for instance, |\pgfarrowlength| will equal
+        |5pt| in our case). The job of the setup code is two-fold: First, it
+        needs to compute all of the parameters listed in
+        Section~\ref{section-arrow-terminology}, that is, it has to compute
+        where the tip end will lie in the arrow tip's coordinate system
+        \emph{at the particular size of 5pt}, where the back end will be, where
+        the convex hull points lie, and so on. Second, the setup code should
+        precompute values that will be important for constructing the path of
+        the arrow. In our example, there is little to do in this regard, but
+        for more complicated arrows, all time-consuming preparations are done
+        now.
 
-  It is \emph{not} the job of the setup to actually draw the arrow
-  tip, only to ``prepare'' this as much as possible.
+        It is \emph{not} the job of the setup to actually draw the arrow tip,
+        only to ``prepare'' this as much as possible.
 
-  The setup code will always be executed only once for each arrow tip
-  kind for a given set of options. Thus, when a user uses
-  |foo[length=5pt,open]| once more later anywhere in the document, the
-  setup code will not be executed again.
-\item The next thing that happens is that we have a look at the
-  \emph{drawin code} stored in the |code| field of the arrow. In our 
-  example, the drawing code would consist of creating a filled path
-  with four   straight segments.
+        The setup code will always be executed only once for each arrow tip
+        kind for a given set of options. Thus, when a user uses
+        |foo[length=5pt,open]| once more later anywhere in the document, the
+        setup code will not be executed again.
+    \item The next thing that happens is that we have a look at the
+        \emph{drawin code} stored in the |code| field of the arrow. In our
+        example, the drawing code would consist of creating a filled path with
+        four straight segments.
 
-  In most cases, what happens now is that the drawing code is executed in a
-  special sandbox in which the low-level driver commands that do the
-  actual drawing are intercepted and stored away in a so-called
-  \emph{cache}. Once such a cache has been created, its contents will
-  be reused whenever |foo[length=5pt,open]| is requested by a user and
-  just like the setup code, the drawing code will not be executed
-  again.
+        In most cases, what happens now is that the drawing code is executed in
+        a special sandbox in which the low-level driver commands that do the
+        actual drawing are intercepted and stored away in a so-called
+        \emph{cache}. Once such a cache has been created, its contents will be
+        reused whenever |foo[length=5pt,open]| is requested by a user and just
+        like the setup code, the drawing code will not be executed again.
 
-  There are, however, two cases in which the drawing code gets executed
-  each time the arrow is used: First, an arrow tip kind can specify
-  that this should always happen by saying |cachable=false| in its
-  definition. This is necessary if the drawing code contains
-  low-level drawing commands that cannot be intercepted such as a use
-  of |\pgftext| for arrow tips that ``contain text.'' Second, when the
-  |bend| option is used, the same arrow tip will look different each
-  time it is used, namely in dependence on the exact curvature of the
-  path to which it is added.
+        There are, however, two cases in which the drawing code gets executed
+        each time the arrow is used: First, an arrow tip kind can specify that
+        this should always happen by saying |cachable=false| in its definition.
+        This is necessary if the drawing code contains low-level drawing
+        commands that cannot be intercepted such as a use of |\pgftext| for
+        arrow tips that ``contain text''. Second, when the |bend| option is
+        used, the same arrow tip will look different each time it is used,
+        namely in dependence on the exact curvature of the path to which it is
+        added.
 
-  Because the drawing code may be executed several times, while the
-  setup code may not, we must find a way to ``communicate'' the
-  values computed by the setup code to the drawing code. This is done
-  by explicitly calling |\pgfarrowssave| inside the setup
-  code. Whatever is ``saved'' in this way is restored each time before
-  the drawing code is executed.
+        Because the drawing code may be executed several times, while the setup
+        code may not, we must find a way to ``communicate'' the values computed
+        by the setup code to the drawing code. This is done by explicitly
+        calling |\pgfarrowssave| inside the setup code. Whatever is ``saved''
+        in this way is restored each time before the drawing code is executed.
 \end{enumerate}
 
-As can be seen, the process is a bit involved, but it leads to
-a reasonably fast arrow tip management.
+As can be seen, the process is a bit involved, but it leads to a reasonably
+fast arrow tip management.
 
 
 \subsection{Declaring an Arrow Tip Kind}
 
 \begin{command}{\pgfdeclarearrow\marg{config}}
-  This command is both used to define a new arrow tip kind and to to
-  declare a so-called shorthand. We have a look at the case that a
-  complete new arrow tip kind is created and then have a look how the
-  command can be used to create shorthands.
-  
-  \medskip
-  \noindent\textbf{Defining a Complete New Arrow Tip Kind.}  
-  The \meta{config} is a key--value list in which different keys are
-  used to setup the to-be defined arrow. The following keys can be given:
+    This command is both used to define a new arrow tip kind and to to declare
+    a so-called shorthand. We have a look at the case that a complete new arrow
+    tip kind is created and then have a look how the command can be used to
+    create shorthands.
 
-  \begin{itemize}
-  \item \declare{|name|}|=|\meta{name} or |name=|\meta{start name}|-|\meta{end
-      name}
 
-    This defines the name of the arrow tip. It is legal to define an
-    arrow tip a second time, in this case the previous definition will
-    be overwritten in the current \TeX\ scope. It is customary to use
-    a name with an uppercase fist letter for a ``complete'' arrow tip
-    kind. Short names and lower case names should be used for
-    shorthands that change their meaning inside a document, while
-    arrow tips with uppercase first letters should not be redefined.
+    \medskip
+    \noindent\textbf{Defining a Complete New Arrow Tip Kind.}
+    The \meta{config} is a key--value list in which different keys are used to
+    setup the to-be defined arrow. The following keys can be given:
+    %
+    \begin{itemize}
+        \item \declare{|name|}|=|\meta{name} or |name=|\meta{start
+            name}|-|\meta{end name}
 
-    If the name contains a hyphen, the second syntax is assumed and
-    everything before the hyphen will be the name used in start arrow
-    specifications, while the text after the hyphen is the name used
-    in end specifications.
-  \item \declare{|parameters|}|=|\marg{list of macros}
-    
-    As explained earlier, an arrow tip typically needs to be redrawn
-    each time an option like |length| or |inset| is changed. However,
-    for some arrow tips, the |inset| has no influence, while for other
-    it is important whether the arrow is reversed or not. (How keys
-    like |length| actually set \TeX\ dimensions like |\pgfarrowlength|
-    is explained in Section~\ref{section-arrow-options}.)
+            This defines the name of the arrow tip. It is legal to define an
+            arrow tip a second time, in this case the previous definition will
+            be overwritten in the current \TeX\ scope. It is customary to use a
+            name with an uppercase fist letter for a ``complete'' arrow tip
+            kind. Short names and lower case names should be used for
+            shorthands that change their meaning inside a document, while arrow
+            tips with uppercase first letters should not be redefined.
 
-    The job of the |parameters| key is to specify which dependencies
-    the arrow tip has. Everything that will influence any of the
-    parameters computed in the setup code or used in the drawing code
-    should be listed here.
+            If the name contains a hyphen, the second syntax is assumed and
+            everything before the hyphen will be the name used in start arrow
+            specifications, while the text after the hyphen is the name used in
+            end specifications.
+        \item \declare{|parameters|}|=|\marg{list of macros}
 
-    The \meta{list of macros} will be used inside a
-    |\csname|-|\endcsname| pair and should expand to the current
-    values of the relevant parameters have. For example, if the arrow
-    tip depends on the current value of |\pgfarrowlength| and
-    |\pgfarrowwidth| only, then \meta{list of macros} should be set to
-    |\the\pgfarrowlength,\the\pgfarrowwidth|. (Actually, the comma is
-    optional, the \meta{list of macros} does not really have to be a
-    list, just something that can be expanded unambiuously.)
-    
-    Note that the line width (|\pgflinewidth|) and the inner line
-    width (|\pgfinnerlinewidth|) are always parameters and need not be
-    specified in the |parameters|.
+            As explained earlier, an arrow tip typically needs to be redrawn
+            each time an option like |length| or |inset| is changed. However,
+            for some arrow tips, the |inset| has no influence, while for other
+            it is important whether the arrow is reversed or not. (How keys
+            like |length| actually set \TeX\ dimensions like |\pgfarrowlength|
+            is explained in Section~\ref{section-arrow-options}.)
 
-    It is important to get this parameter right. Otherwise, arrow tips
-    may look wrong because \pgfname\ thinks that it can reuse some
-    code when, in reality, this code actually depends on a parameter
-    not listed here.
-    
-  \item \declare{|setup code|}|=|\marg{code}
+            The job of the |parameters| key is to specify which dependencies
+            the arrow tip has. Everything that will influence any of the
+            parameters computed in the setup code or used in the drawing code
+            should be listed here.
 
-    When an arrow tip is used, the value stored in |parameters| is
-    expanded and it is tested whether the result was encountered
-    before. If not, the \meta{code} gets executed (only this
-    once). The code can now do aribtrarily complicated computations
-    the prepare the later drawing of the arrow tip. Also the
-    \meta{code} must specify the different tip and back ends and the
-    convex hull points. This is done by calling the following macros
-    inside the \meta{code}:
+            The \meta{list of macros} will be used inside a
+            |\csname|-|\endcsname| pair and should expand to the current values
+            of the relevant parameters have. For example, if the arrow tip
+            depends on the current value of |\pgfarrowlength| and
+            |\pgfarrowwidth| only, then \meta{list of macros} should be set to
+            |\the\pgfarrowlength,\the\pgfarrowwidth|. (Actually, the comma is
+            optional, the \meta{list of macros} does not really have to be a
+            list, just something that can be expanded unambiguously.)
 
-    \begin{command}{\pgfarrowssettipend\marg{dimension}}
-      When this command is called inside the setup code of an arrow
-      tip, it specifies that the tip of the drawn arrow will end
-      exactly at \meta{dimension}. For example, for our earlier
-      example of the large arrow tip, where the tip end was at 1cm, we
-      would call
+            Note that the line width (|\pgflinewidth|) and the inner line width
+            (|\pgfinnerlinewidth|) are always parameters and need not be
+            specified in the |parameters|.
+
+            It is important to get this parameter right. Otherwise, arrow tips
+            may look wrong because \pgfname\ thinks that it can reuse some code
+            when, in reality, this code actually depends on a parameter not
+            listed here.
+        \item \declare{|setup code|}|=|\marg{code}
+
+            When an arrow tip is used, the value stored in |parameters| is
+            expanded and it is tested whether the result was encountered
+            before. If not, the \meta{code} gets executed (only this once). The
+            code can now do arbitrarily complicated computations the prepare
+            the later drawing of the arrow tip. Also the \meta{code} must
+            specify the different tip and back ends and the convex hull points.
+            This is done by calling the following macros inside the
+            \meta{code}:
+            %
+            \begin{command}{\pgfarrowssettipend\marg{dimension}}
+                When this command is called inside the setup code of an arrow
+                tip, it specifies that the tip of the drawn arrow will end
+                exactly at \meta{dimension}. For example, for our earlier
+                example of the large arrow tip, where the tip end was at 1cm,
+                we would call
+                %
 \begin{codeexample}[code only]
-\pgfarrowssettipend{1cm}        
+\pgfarrowssettipend{1cm}
 \end{codeexample}
-      Note that for efficience reasons, the \meta{dimension} is not
-      passed through |\pgfmathsetlength|; rather what happens is that
-      |\pgf at x=|\meta{dimension} gets executed. In particular, you can
-      pack further computations into the \meta{dimension} by simply
-      starting it with a number and then appending some code that
-      modifies |\pgf at x|. Here is an example where instead of 1cm we
-      use $1\mathrm{cm} - \frac12\mathrm{linewidth}$ as the tip end:
+                %
+                Note that for efficiency reasons, the \meta{dimension} is not
+                passed through |\pgfmathsetlength|; rather what happens is that
+                |\pgf at x=|\meta{dimension} gets executed. In particular, you can
+                pack further computations into the \meta{dimension} by simply
+                starting it with a number and then appending some code that
+                modifies |\pgf at x|. Here is an example where instead of 1cm we
+                use $1\mathrm{cm} - \frac12\mathrm{linewidth}$ as the tip end:
+                %
 \begin{codeexample}[code only]
-\pgfarrowssettipend{1cm\advance\pgf at x by-.5\pgflinewidth}        
+\pgfarrowssettipend{1cm\advance\pgf at x by-.5\pgflinewidth}
 \end{codeexample}
-      If the command is not called at all inside the setup code, the
-      tip end is set to |0pt|.
-    \end{command}
+                %
+                If the command is not called at all inside the setup code, the
+                tip end is set to |0pt|.
+            \end{command}
 
-    \begin{command}{\pgfarrowssetbackend\marg{dimension}}
-      Works like the command for the tip end, only it sets the back
-      end. In our example we would call
+            \begin{command}{\pgfarrowssetbackend\marg{dimension}}
+                Works like the command for the tip end, only it sets the back
+                end. In our example we would call
+                %
 \begin{codeexample}[code only]
-\pgfarrowssettipend{-3cm}        
+\pgfarrowssettipend{-3cm}
 \end{codeexample}
-      Defaults to |0pt|.
-    \end{command}
+                %
+                Defaults to |0pt|.
+            \end{command}
 
-    \begin{command}{\pgfarrowssetlineend\marg{dimension}}
-      Sets the line end, so in the example we have
-      |\pgfarrowssettipend{-1cm}|. Default to |0pt|.
-    \end{command}
+            \begin{command}{\pgfarrowssetlineend\marg{dimension}}
+                Sets the line end, so in the example we have
+                |\pgfarrowssettipend{-1cm}|. Default to |0pt|.
+            \end{command}
 
-    \begin{command}{\pgfarrowssetvisualbackend\marg{dimension}}
-      Sets the visual back end, |\pgfarrowssetvisualbackend{-2cm}| in
-      our example. Default to the value of the normal back end.
-    \end{command}
+            \begin{command}{\pgfarrowssetvisualbackend\marg{dimension}}
+                Sets the visual back end, |\pgfarrowssetvisualbackend{-2cm}| in
+                our example. Default to the value of the normal back end.
+            \end{command}
 
-    \begin{command}{\pgfarrowssetvisualtipend\marg{dimension}}
-      Sets the visual tip end. Default to the value of the normal tip
-      end and, thus, we need not set it in our example.
-    \end{command}
+            \begin{command}{\pgfarrowssetvisualtipend\marg{dimension}}
+                Sets the visual tip end. Default to the value of the normal tip
+                end and, thus, we need not set it in our example.
+            \end{command}
 
-    \begin{command}{\pgfarrowshullpoint\marg{x dimension}\marg{y dimension}}
-      Adds a point to the convex hull of the arrow tip. As for the
-      previous commands, no math parsing is done; instead \pgfname\
-      says |\pgf at x=|\meta{x dimension} and then |\pgf at y=|\meta{y
-        dimension}. Thus, both ``dimensions'' can contain code for
-      advancing and thus modifying |\pgf at x| and |\pgf at y|.
+            \begin{command}{\pgfarrowshullpoint\marg{x dimension}\marg{y dimension}}
+                Adds a point to the convex hull of the arrow tip. As for the
+                previous commands, no math parsing is done; instead \pgfname\
+                says |\pgf at x=|\meta{x dimension} and then |\pgf at y=|\meta{y
+                dimension}. Thus, both ``dimensions'' can contain code for
+                advancing and thus modifying |\pgf at x| and |\pgf at y|.
 
-      In our example we would write
+                In our example we would write
+                %
 \begin{codeexample}[code only]
 \pgfarrowshullpoint{1cm}{0pt}
 \pgfarrowshullpoint{-3cm}{2cm}
 \pgfarrowshullpoint{-3cm}{-2cm}
 \end{codeexample}
-    \end{command}
+            \end{command}
 
+            \begin{command}{\pgfarrowsupperhullpoint\marg{x dimension}\marg{y dimension}}
+                This command works like the previous command, only it normally
+                adds \emph{two} points to the convex hull: First, the point
+                $(\meta{x dimension},\meta{y dimension})$ and, secondly, the
+                point $(\meta{x dimension},-\meta{y dimension})$. However, the
+                second point is only added if the arrow is not a harpoon.
 
-    \begin{command}{\pgfarrowsupperhullpoint\marg{x dimension}\marg{y dimension}}
-      This command works like the previous command, only it normally
-      adds \emph{two} points to the convex hull: First, the point $(\meta{x
-        dimension},\meta{y dimension})$ and, secondly, the point $(\meta{x
-        dimension},-\meta{y dimension})$. However, the second point is
-      only added if the arrow is not a harpoon. 
-
-      Thus, in our example we could simplify the convex hull to
+                Thus, in our example we could simplify the convex hull to
+                %
 \begin{codeexample}[code only]
 \pgfarrowshullpoint{1cm}{0pt}
 \pgfarrowsupperhullpoint{-3cm}{2cm}
 \end{codeexample}
-      If the \meta{y dimension} is zero or less, only one point,
-      namely $(\meta{x dimension},\meta{y dimension})$, is added to
-      the hull. Thus, we could also have used the upper convex hull
-      command in the first of the two of the above commands.
-    \end{command}
+                %
+                If the \meta{y dimension} is zero or less, only one point,
+                namely $(\meta{x dimension},\meta{y dimension})$, is added to
+                the hull. Thus, we could also have used the upper convex hull
+                command in the first of the two of the above commands.
+            \end{command}
 
-    \begin{command}{\pgfarrowssave\marg{macro}}
-      As explained earlier, the setup code needs to ``communicate''
-      with the drawing code via ``saved values.'' This command get the
-      name of a macro and will store the value this macro had
-      internally. Then, each time drawing code is executed, the value
-      of this macro will be restored.
-    \end{command}
+            \begin{command}{\pgfarrowssave\marg{macro}}
+                As explained earlier, the setup code needs to ``communicate''
+                with the drawing code via ``saved values''. This command get
+                the name of a macro and will store the value this macro had
+                internally. Then, each time drawing code is executed, the value
+                of this macro will be restored.
+            \end{command}
 
-    \begin{command}{\pgfarrowssavethe\marg{register}}
-      Works like |\pgfarrowssave|, only the parameter must be a
-      register and |\the|\meta{register} will be saved.
-      Typically, you will write something like
+            \begin{command}{\pgfarrowssavethe\marg{register}}
+                Works like |\pgfarrowssave|, only the parameter must be a
+                register and |\the|\meta{register} will be saved. Typically,
+                you will write something like
+                %
 \begin{codeexample}[code only]
 \pgfarrowssavethe{\pgfarrowlength}
 \pgfarrowssavethe{\pgfarrowwidth}
 \end{codeexample}
-      To ensure that inside the drawing code the the dimension
-      registers |\pgfarrowlength| and |\pgfarrowwidth| are setup with
-      the values they had during the setup.
-    \end{command}
-    
-  \item \declare{|drawing code|}|=|\marg{code}
+                %
+                To ensure that inside the drawing code the the dimension
+                registers |\pgfarrowlength| and |\pgfarrowwidth| are setup with
+                the values they had during the setup.
+            \end{command}
+        \item \declare{|drawing code|}|=|\marg{code}
 
-    This code will be executed at least once for each setting of the
-    parameters when the time arrow tip is actually drawn. Usually,
-    this one execution will be all and the 
-    low-level commands generated inside the \meta{code} will we stored
-    in a special cache; but in some cases the \meta{code} gets
-    executed each time the arrow tip is used, so do not assume
-    anything about it. Inside the \meta{code}, you have access to all
-    values that were saved in the setup code as well as to the line
-    width.
-    
-    The \meta{code} should draw the arrow tip ``going right along the
-    $x$-axis.'' \pgfname\ will take care of setting up a  canvas
-    transformation beforehand to a rotation such that when the
-    drawing is rendered, the arrow tip that is  actually drawn points
-    in the direction of the line. Alternatively, when bending is
-    switched on, even more complicated low-level transformations will
-    be done automatically.
-    
-    The are some special considerations concerning the \meta{code}:
-    \begin{itemize}
-    \item
-      In the \meta{code} you may \emph{not} use |\pgfusepath|
-      since this would try to add arrow tips to the arrow tip and lead
-      to a recursion. Use the ``quick'' versions |\pgfusepathqstroke|
-      and so on instead, which never try to add arrow tips.
-    \item
-      If you stroke the path that you construct, you should first set
-      the dashing to solid and set up fixed joins and caps, as
-      needed. This will ensure that the arrow tip will always look the
-      same.
-    \item
-      When the arrow tip code is executed, it is automatically put
-      inside a low-level scope, so nothing will ``leak out'' from the
-      scope.
-    \item
-      The high-level coordinate transformation matrix will be set to the
-      identity matrix when the code is executed for the first time.
-    \end{itemize}
-    
-  \item \declare{|cache|}|=|\meta{true or false}
+            This code will be executed at least once for each setting of the
+            parameters when the time arrow tip is actually drawn. Usually, this
+            one execution will be all and the low-level commands generated
+            inside the \meta{code} will we stored in a special cache; but in
+            some cases the \meta{code} gets executed each time the arrow tip is
+            used, so do not assume anything about it. Inside the \meta{code},
+            you have access to all values that were saved in the setup code as
+            well as to the line width.
 
-    When set to |true|, which is the default, the \meta{code} will be
-    executed only once for a partiular value of parameters and the
-    low-level commands created by the drawing code (using the system
-    layer protocol subsystem, see Section~\ref{section-protocols})
-    will be cached and reused later on. However, when the drawing code
-    contains ``uncachable'' code like a call to |\pgftext|, caching
-    must be switched off by saying |cache=false|.
+            The \meta{code} should draw the arrow tip ``going right along the
+            $x$-axis''. \pgfname\ will take care of setting up a  canvas
+            transformation beforehand to a rotation such that when the drawing
+            is rendered, the arrow tip that is  actually drawn points in the
+            direction of the line. Alternatively, when bending is switched on,
+            even more complicated low-level transformations will be done
+            automatically.
 
-  \item \declare{|bending mode|}|=|\meta{mode}
+            The are some special considerations concerning the \meta{code}:
+            %
+            \begin{itemize}
+                \item In the \meta{code} you may \emph{not} use |\pgfusepath|
+                    since this would try to add arrow tips to the arrow tip and
+                    lead to a recursion. Use the ``quick'' versions
+                    |\pgfusepathqstroke| and so on instead, which never try to
+                    add arrow tips.
+                \item If you stroke the path that you construct, you should
+                    first set the dashing to solid and set up fixed joins and
+                    caps, as needed. This will ensure that the arrow tip will
+                    always look the same.
+                \item When the arrow tip code is executed, it is automatically
+                    put inside a low-level scope, so nothing will ``leak out''
+                    from the scope.
+                \item The high-level coordinate transformation matrix will be
+                    set to the identity matrix when the code is executed for
+                    the first time.
+            \end{itemize}
+        \item \declare{|cache|}|=|\meta{true or false}
 
-    This key is important only when the |bend| option is used with an
-    arrow, see Section~\ref{section-arrow-flex} for an introduction to
-    this option. The |bend| option asks us to, well, bend the arrow
-    head. For some arrow head this is not possible or leads to very
-    strange drawings (for instance, when the |\pgftext| command is
-    used) and then it is better to switch bending off for the arrow
-    head (|flex| will then be used instead). To achieve this, set
-    \meta{mode} to |none|.
+            When set to |true|, which is the default, the \meta{code} will be
+            executed only once for a particular value of parameters and the
+            low-level commands created by the drawing code (using the system
+            layer protocol subsystem, see Section~\ref{section-protocols}) will
+            be cached and reused later on. However, when the drawing code
+            contains ``uncachable'' code like a call to |\pgftext|, caching
+            must be switched off by saying |cache=false|.
+        \item \declare{|bending mode|}|=|\meta{mode}
 
-    For most arrow tips it does, however, make sense to bend
-    them. There are (at least) two different mathematical ways of
-    doing so, see Section~\ref{section-library-curvilinear} for details. Which of
-    these ways is use can be configured by setting \meta{mode} to
-    either |orthogonal| or to |polar|. It is best to try simply try
-    out both when designing an arrow tip to see which works
-    better. Since |orthogonal| is quicker and often gives good oder
-    even better results, it is the default. Some arrow tips, however,
-    profit from saying |bending mode=polar|.
+            This key is important only when the |bend| option is used with an
+            arrow, see Section~\ref{section-arrow-flex} for an introduction to
+            this option. The |bend| option asks us to, well, bend the arrow
+            head. For some arrow head this is not possible or leads to very
+            strange drawings (for instance, when the |\pgftext| command is
+            used) and then it is better to switch bending off for the arrow
+            head (|flex| will then be used instead). To achieve this, set
+            \meta{mode} to |none|.
 
-  \item \declare{|defaults|}|=|\meta{arrow keys}
+            For most arrow tips it does, however, make sense to bend them.
+            There are (at least) two different mathematical ways of doing so,
+            see Section~\ref{section-library-curvilinear} for details. Which of
+            these ways is use can be configured by setting \meta{mode} to
+            either |orthogonal| or to |polar|. It is best to try simply try out
+            both when designing an arrow tip to see which works better. Since
+            |orthogonal| is quicker and often gives good oder even better
+            results, it is the default. Some arrow tips, however, profit from
+            saying |bending mode=polar|.
+        \item \declare{|defaults|}|=|\meta{arrow keys}
 
-    The \meta{arrow keys} allow you to configure the default values
-    for the parameters on which an arrow tip depends. The \meta{arrow
-      keys} will be executed first before any other arrow tip options
-    are executed, see Section~\ref{section-arrow-scopes} for the exact
-    sequence. Also see Section~\ref{section-arrow-options} below for
-    more details on arrow options.
-  \end{itemize}
+            The \meta{arrow keys} allow you to configure the default values for
+            the parameters on which an arrow tip depends. The \meta{arrow keys}
+            will be executed first before any other arrow tip options are
+            executed, see Section~\ref{section-arrow-scopes} for the exact
+            sequence. Also see Section~\ref{section-arrow-options} below for
+            more details on arrow options.
+    \end{itemize}
 
-  This concludes the description of the keys you provide for the
-  declaration of an arrow. Let us now have a look at a simple example
-  that uses these features: We want to define an arrow tip kind |foo|
-  that produces the arrow tip we used as our running examlpe. However,
-  to make things a bit more interesting, let us make it
-  ``configurable'' insofar as the length of the arrow tip can be
-  configured using the |length| option, which sets the
-  |\pgfarrowlength|. By default, this length should be the gigantic
-  4cm we say in the example, but uses should be able to set it to
-  anything they like. We will not worry about the arrow width or
-  insets, of arrow line width, or harpoons, or anything else in this
-  example to keep it simple.
+    This concludes the description of the keys you provide for the declaration
+    of an arrow. Let us now have a look at a simple example that uses these
+    features: We want to define an arrow tip kind |foo| that produces the arrow
+    tip we used as our running example. However, to make things a bit more
+    interesting, let us make it ``configurable'' insofar as the length of the
+    arrow tip can be configured using the |length| option, which sets the
+    |\pgfarrowlength|. By default, this length should be the gigantic 4cm we
+    say in the example, but uses should be able to set it to anything they
+    like. We will not worry about the arrow width or insets, of arrow line
+    width, or harpoons, or anything else in this example to keep it simple.
 
-  Here is the code:
+    Here is the code:
+    %
 \begin{codeexample}[code only]
 \pgfdeclarearrow{
   name = foo,
@@ -534,17 +528,19 @@
     \pgfarrowssavethe\pgfarrowlength
   },
   drawing code = {
-    \pgfpathmoveto{.25\pgfarrowlength}{0pt}
-    \pgfpathlineto{-.75\pgfarrowlength}{.5\pgfarrowlength}
-    \pgfpathlineto{-.5\pgfarrowlength}{0pt}
-    \pgfpathlineto{-.75\pgfarrowlength}{-.5\pgfarrowlength}
+    \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 }
-}   
+}
 \end{codeexample}
-  We can now use it:
+    %
+    We can now use it:
+    %
 \pgfdeclarearrow{
   name = foo,
   parameters = { \the\pgfarrowlength },
@@ -570,166 +566,165 @@
     \pgfusepathqfill
   },
   defaults = { length = 4cm }
-}    
+}
 \begin{codeexample}[]
-\tikz \draw [-foo] (0,0) -- (8,0);    
+\tikz \draw [-foo] (0,0) -- (8,0);
 \end{codeexample}
 \begin{codeexample}[]
-\tikz \draw [-{foo[length=2cm,bend]}] (0,0) to [bend left] (3,0);    
+\tikz \draw [-{foo[length=2cm,bend]}] (0,0) to [bend left] (3,0);
 \end{codeexample}
 
-  \medskip
-  \noindent\textbf{Defining a Shorthand.}  
-  The |\pgfdeclarearrow| command can also used to define
-  \emph{shorthands}. This works as follows:
-  \begin{itemize}
-  \item First, you must provide a |name| just in the same way as when
-    you define a full-flung new arrow tip kind.
-  \item Second, instead of all of the other options listed above, you
-    just use one more option:
-    
-    \smallskip
-    \declare{|means|}|=|\meta{end arrow specification}
-    
-    This sets up things so that whenever \meta{name} is now used in an
-    arrow specification, it will be replaced by the \meta{end arrow
-      specification} (the problems resulting form the \meta{name}
-    begin used in a start arrow  specification are taken care of
-    automatically). See also Section~\ref{section-arrow-tip-macro} for
-    details on the order in which options get executed in such cases.
 
-    Note that the \meta{end arrow specification} will be executed
-    immediately to build the so-called arrow option caches, a concept
-    explored in more detail in
-    Section~\ref{section-arrow-option-cache}. In practice, this has
-    mainly two effects: First, all arrow tips referred to in the
-    specification must already exist (at least as ``dummy''
-    versions). Second, all dimensions mentioned in options of the
-    \meta{end arrow specification} will be evaluated immediately. For
-    instance, when you write
+    \medskip
+    \noindent\textbf{Defining a Shorthand.}
+    The |\pgfdeclarearrow| command can also used to define
+    \emph{shorthands}. This works as follows:
+    \begin{itemize}
+        \item First, you must provide a |name| just in the same way as when you
+            define a full-flung new arrow tip kind.
+        \item Second, instead of all of the other options listed above, you
+            just use one more option:
+
+            \smallskip
+            \declare{|means|}|=|\meta{end arrow specification}
+
+            This sets up things so that whenever \meta{name} is now used in an
+            arrow specification, it will be replaced by the \meta{end arrow
+            specification} (the problems resulting form the \meta{name} begin
+            used in a start arrow  specification are taken care of
+            automatically). See also Section~\ref{section-arrow-tip-macro} for
+            details on the order in which options get executed in such cases.
+
+            Note that the \meta{end arrow specification} will be executed
+            immediately to build the so-called arrow option caches, a concept
+            explored in more detail in
+            Section~\ref{section-arrow-option-cache}. In practice, this has
+            mainly two effects: First, all arrow tips referred to in the
+            specification must already exist (at least as ``dummy'' versions).
+            Second, all dimensions mentioned in options of the \meta{end arrow
+            specification} will be evaluated immediately. For instance, when
+            you write
+            %
 \begin{codeexample}[code only]
-\pgfdeclarearrow{ name=foo, means = bar[length=2cm+\mydimen] }      
+\pgfdeclarearrow{ name=foo, means = bar[length=2cm+\mydimen] }
 \end{codeexample}
-    The value |2cm+\mydimen| is evaluated immediately. When |foo| is
-    used later on and |\mydimen| has changed, this has no effect. 
-  \end{itemize}
+            %
+            The value |2cm+\mydimen| is evaluated immediately. When |foo| is
+            used later on and |\mydimen| has changed, this has no effect.
+    \end{itemize}
 \end{command}
 
 
-
 \subsection{Handling Arrow Options}
-
 \label{section-arrow-options}
 
-When you declare an arrow tip, your drawing code should take into
-account the different arrow keys set for it (like the arrow tip length, 
-width, or harpooning). The different arrow keys that are available
-have been described in detail in Section~\ref{section-arrow-config}; but
-how do we access the values set by an option like |length| or
-|harpoon| or |bend| in the drawing code? In the present section we
-have a look at how this works.
+When you declare an arrow tip, your drawing code should take into account the
+different arrow keys set for it (like the arrow tip length, width, or
+harpooning). The different arrow keys that are available have been described in
+detail in Section~\ref{section-arrow-config}; but how do we access the values
+set by an option like |length| or |harpoon| or |bend| in the drawing code? In
+the present section we have a look at how this works.
 
 
 \subsubsection{Dimension Options}
 
-Most arrow keys, like |length| or |width'|, simple set a \TeX\
-dimension register to a certain value. For example, |length| sets the
-value of the \TeX\ dimension register |\pgfarrowlength|. Note that
-|length| takes several values as input with a complicated semantics as
-explained for the |length| key on
-page~\pageref{length-arrow-key}. All of these settings are not
-important for the setup code: When it gets executed, the code behind
-the |length| key will have computed a simple number that is stored
-in |\pgfarrowlength|. Indeed, inside the setup code you do not have
-access to the exact value given to the |length| key; just to the
-final computed value.
+Most arrow keys, like |length| or |width'|, simple set a \TeX\ dimension
+register to a certain value. For example, |length| sets the value of the \TeX\
+dimension register |\pgfarrowlength|. Note that |length| takes several values
+as input with a complicated semantics as explained for the |length| key on
+page~\pageref{length-arrow-key}. All of these settings are not important for
+the setup code: When it gets executed, the code behind the |length| key will
+have computed a simple number that is stored in |\pgfarrowlength|. Indeed,
+inside the setup code you do not have access to the exact value given to the
+|length| key; just to the final computed value.
 
 The following \TeX\ dimensions are available to the setup code:
-
+%
 \begin{itemize}
-\item |\pgfarrowslength|. It gets set by the arrow keys |length| and |angle|.
-\item |\pgfarrowswidth|. It gets set by |width|, |width'|, and |angle|.
-\item |\pgfarrowsinset|. It gets set by |inset| and |inset'|.
-\item |\pgfarrowslinewidth|. It gets set by |line width| and |line width'|.
+    \item |\pgfarrowslength|. It gets set by the arrow keys |length| and
+        |angle|.
+    \item |\pgfarrowswidth|. It gets set by |width|, |width'|, and |angle|.
+    \item |\pgfarrowsinset|. It gets set by |inset| and |inset'|.
+    \item |\pgfarrowslinewidth|. It gets set by |line width| and |line width'|.
 \end{itemize}
 
-If your setup code depends on any of them, add them to the
-|parameters| key of the arrow tip.
+If your setup code depends on any of them, add them to the |parameters| key of
+the arrow tip.
 
 
 \subsubsection{True--False Options}
 
-A number of arrow keys just do a yes/no switch, like |reversed|. All
-of them setup a \TeX-if that you can access in the setup code:
-
+A number of arrow keys just do a yes/no switch, like |reversed|. All of them
+setup a \TeX-if that you can access in the setup code:
+%
 \begin{itemize}
-\item |\ifpgfarrowreversed| is setup by |reversed|.
-\item |\ifpgfarrowswap| is setup by |swap| and also |right|.
-\item |\ifpgfarrowharpoon| is setup by |harpoon| and also |left| and |right|.
-\item |\ifpgfarrowroundcap| is set to true by |line cap=round| and set
-  to false by |line cap=butt|. It also gets (re)set by  |round| and |sharp|.
-\item |\ifpgfarrowroundjoin| is set to true by |line join=round| and set
-  to false by |line join=miter|. It also gets (re)set by  |round| and |sharp|.
-\item |\ifpgfarrowopen| is set to true by |fill=none| and by |open|
-  (which is a shorthand for |fill=none|) and set to false by |color|
-  and all other |fill=|\meta{color}.  
+    \item |\ifpgfarrowreversed| is setup by |reversed|.
+    \item |\ifpgfarrowswap| is setup by |swap| and also |right|.
+    \item |\ifpgfarrowharpoon| is setup by |harpoon| and also |left| and
+        |right|.
+    \item |\ifpgfarrowroundcap| is set to true by |line cap=round| and set to
+        false by |line cap=butt|. It also gets (re)set by  |round| and |sharp|.
+    \item |\ifpgfarrowroundjoin| is set to true by |line join=round| and set to
+        false by |line join=miter|. It also gets (re)set by  |round| and
+        |sharp|.
+    \item |\ifpgfarrowopen| is set to true by |fill=none| and by |open| (which
+        is a shorthand for |fill=none|) and set to false by |color| and all
+        other |fill=|\meta{color}.
 \end{itemize}
 
-If you code depends on any of these, you must add them to
-the |parameters| in such a way that the parameters are different when
-the \TeX-if is set from when it is not set. An easy way to achieve
-this is to write something like
+If you code depends on any of these, you must add them to the |parameters| in
+such a way that the parameters are different when the \TeX-if is set from when
+it is not set. An easy way to achieve this is to write something like
+%
 \begin{codeexample}[code only]
   parameters = { \the\pgfarrowlength,...,
                  \ifpgfarrowharpoon h\fi\
-                 \ifpgfarrowroundjoin j\fi}  
+                 \ifpgfarrowroundjoin j\fi}
 \end{codeexample}
-In other words, for each set parameter on which the arrow tip depends,
-a specific letter is added to the parameters, making them unique.
+%
+In other words, for each set parameter on which the arrow tip depends, a
+specific letter is added to the parameters, making them unique.
 
 The first two of the above keys are a bit special: Reversing and swapping an
-arrow tip can be done just by fiddling with the
-transformation matrix: a reverse is a ``flip'' along the $y$-axis and
-a swap is a flip along the $x$-axis. This is done automatically by
-\pgfname.
+arrow tip can be done just by fiddling with the transformation matrix: a
+reverse is a ``flip'' along the $y$-axis and a swap is a flip along the
+$x$-axis. This is done automatically by \pgfname.
 
-Nevertheless, you may wish to modify you code in dependence
-especially of the |reverse| key: When |\ifpgfarrowreverse| is true,
-\pgfname\ will flip the coordinate system along the $y$-axis, will
-negate all end values (like line end, tip end, and so on) and will
-exchange the meaning of back end and tip end as well as of visual back
-end and visual back end. Usually, this is exactly what one need;
-\emph{except} that the line end may no longer be appropriate. After
-all, the line end should be chosen so that it is completely covered by
-the arrow. Now, when the arrow tip is open, a reversed arrow should no
-longer have the line end near the old visual back end, but near to the
-old visual tip end.
+Nevertheless, you may wish to modify you code in dependence especially of the
+|reverse| key: When |\ifpgfarrowreverse| is true, \pgfname\ will flip the
+coordinate system along the $y$-axis, will negate all end values (like line
+end, tip end, and so on) and will exchange the meaning of back end and tip end
+as well as of visual back end and visual back end. Usually, this is exactly
+what one need; \emph{except} that the line end may no longer be appropriate.
+After all, the line end should be chosen so that it is completely covered by
+the arrow. Now, when the arrow tip is open, a reversed arrow should no longer
+have the line end near the old visual back end, but near to the old visual tip
+end.
 
-For these reasons, you may need to make the computation of the line
-end dependent on whether the arrow is reversed or not. Note that when
-you specify a different line end for a reversed arrow tip, the
-transformation and inverting of the coordinate system will still be
-done, meaning that if |reverse| is true, you need to specify a line
-end in the ``old'' coordinate system that is at the position where,
-after everything is inverted, it will be at the correct
-position. Usually that means that if the |reverse| option is set, you
-need to \emph{increase} the line end.
+For these reasons, you may need to make the computation of the line end
+dependent on whether the arrow is reversed or not. Note that when you specify a
+different line end for a reversed arrow tip, the transformation and inverting
+of the coordinate system will still be done, meaning that if |reverse| is true,
+you need to specify a line end in the ``old'' coordinate system that is at the
+position where, after everything is inverted, it will be at the correct
+position. Usually that means that if the |reverse| option is set, you need to
+\emph{increase} the line end.
 
 
 \subsubsection{Inaccessible Options}
 
-There are some options that influence the way an arrow tip looks, but
-that you cannot access inside the setup code. Handling these options
-lies entirely with \pgfname. If you wish your setup code to handle
-these options, you have to setup your own ``parallel'' options.
-
+There are some options that influence the way an arrow tip looks, but that you
+cannot access inside the setup code. Handling these options lies entirely with
+\pgfname. If you wish your setup code to handle these options, you have to
+setup your own ``parallel'' options.
+%
 \begin{itemize}
-\item |quick|, |flex|, |flex'|, and |bend| are all handled
-  automatically. You can, however, set the |bending mode| to avoid
-  bending of your arrow tip.
-\item The colors set by |color| and |fill|. You can, however, access
-  them indirectly, namely through the current stroke and fill colors.
-\item |sep|
+    \item |quick|, |flex|, |flex'|, and |bend| are all handled automatically.
+        You can, however, set the |bending mode| to avoid bending of your arrow
+        tip.
+    \item The colors set by |color| and |fill|. You can, however, access them
+        indirectly, namely through the current stroke and fill colors.
+    \item |sep|
 \end{itemize}
 
 
@@ -736,140 +731,140 @@
 \subsubsection{Defining New Arrow Keys}
 \label{section-arrow-option-cache}
 
-The set of predefined options is already quite long and most arrow
-tips will not need more than the predefined options. However,
-sometimes an arrow tip may need to introduce a new special-purpose
-option. For instance, suppose we wish to introcue a new fictive arrow
-key |depth|. In such cases, you must do two things:
-
+The set of predefined options is already quite long and most arrow tips will
+not need more than the predefined options. However, sometimes an arrow tip may
+need to introduce a new special-purpose option. For instance, suppose we wish
+to introduce a new fictive arrow key |depth|. In such cases, you must do two
+things:
+%
 \begin{enumerate}
-\item
-  Introduce a new dimension register or macro that will hold the
-  configuration value and which will be accessed by the setup
-  code. The could be achieved by saying
+    \item Introduce a new dimension register or macro that will hold the
+        configuration value and which will be accessed by the setup code. The
+        could be achieved by saying
+        %
 \begin{codeexample}[code only]
 \newdimen\pgfarrowdepth
 \end{codeexample}
-\item
-  Introduce a new arrow key option |/pgf/arrow keys/depth| that allows
-  users to configure the new macro or register.
+        %
+    \item Introduce a new arrow key option |/pgf/arrow keys/depth| that allows
+        users to configure the new macro or register.
 \end{enumerate}
 
-When an arrow is selected via for instance |foo[depth=5pt]|, the
-key--value pairs between the square brackets are executed with the
-path prefix |/pgf/arrow keys|. Thus, in the example, our depth key
-would get executed. Thus, it is temping to write something like
+When an arrow is selected via for instance |foo[depth=5pt]|, the key--value
+pairs between the square brackets are executed with the path prefix
+|/pgf/arrow keys|. Thus, in the example, our depth key would get executed.
+Thus, it is tempting to write something like
+%
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/arrow keys/depth/.code = \pgfmathsetlength{\pgfarrowdepth}{#1}}
 \end{codeexample}
 
-Sadly, this will not work. The reason is that the is yet another level
-of caching involved when \pgfname\ processes arrow tips: The option
-cache! The problem is each time an arrow tip is used, even when the
-drawing code of the arrow tip is nicely cached, we still need to
-process the options in |foo[length=5pt]| to find out which version in
-the cache we would like to access. To make matters worse, |foo| might
-be a shorthand that calls other arrow tips, which add more options,
-and so on. Unfortunately, executing keys is quite an expensive
-operation (\pgfname's key--value parser is powerful, but that power
-comes at a price). So, whenever possible, we do \emph{not} want the
+Sadly, this will not work. The reason is that there is yet another level of
+caching involved when \pgfname\ processes arrow tips: The option cache! The
+problem is each time an arrow tip is used, even when the drawing code of the
+arrow tip is nicely cached, we still need to process the options in
+|foo[length=5pt]| to find out which version in the cache we would like to
+access. To make matters worse, |foo| might be a shorthand that calls other
+arrow tips, which add more options, and so on. Unfortunately, executing keys is
+quite an expensive operation (\pgfname's key--value parser is powerful, but
+that power comes at a price). So, whenever possible, we do \emph{not} want the
 key--value parser to be started.
 
-For these reasons, when something like |foo[|\meta{options}|]| is 
-encountered inside a shorthand, the \meta{options} are executed only
-once. They should now setup the \emph{arrow option cache}, which is
-some code that, when executed, should setup the values that the
-\meta{options} configure. In our example, the |depth| key should add
-something to the arrow option cache that sets |\pgfarrowdepth| to the
-given value.
+For these reasons, when something like |foo[|\meta{options}|]| is encountered
+inside a shorthand, the \meta{options} are executed only once. They should now
+setup the \emph{arrow option cache}, which is some code that, when executed,
+should setup the values that the \meta{options} configure. In our example, the
+|depth| key should add something to the arrow option cache that sets
+|\pgfarrowdepth| to the given value.
 
-Adding something to the arrow option cache is done using the following
-command:
+Adding something to the arrow option cache is done using the following command:
 
 \begin{command}{\pgfarrowsaddtooptions\marg{code}}
-  This command should be called by keys with the prefix
-  |/pgf/arrow keys| to add code to the arrow option cache. For our
-  |depth| key example, we could use this key as follows:
+    This command should be called by keys with the prefix |/pgf/arrow keys| to
+    add code to the arrow option cache. For our |depth| key example, we could
+    use this key as follows:
+    %
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/arrow keys/depth/.code=
   \pgfarrowsaddtooptions{\pgfmathsetlength{\pgfarrowdepth}{#1}}
 \end{codeexample}
-  Actually, this is still not optimal since the expensive
-  |\pgfmathsetlength| command is now called each time an arrow tip is
-  used with the |depth| option set. The trick is to do the expensive
-  operation only once and then store only very quick code in the arrow
-  option cache:
+    %
+    Actually, this is still not optimal since the expensive |\pgfmathsetlength|
+    command is now called each time an arrow tip is used with the |depth|
+    option set. The trick is to do the expensive operation only once and then
+    store only very quick code in the arrow option cache:
+    %
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/arrow keys/depth/.code=
   \pgfmathsetlength{\somedimen}{#1}
   \pgfarrowsaddtooptions{\pgfarrowdepth=\somedimen} % buggy
 \end{codeexample}
-  The above code will not (yet) work since |\somedimen| will surely
-  have a different value when the cache is executed. The trick is to
-  use some |\expandafter|s:
+    %
+    The above code will not (yet) work since |\somedimen| will surely have a
+    different value when the cache is executed. The trick is to use some
+    |\expandafter|s:
+    %
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/arrow keys/depth/.code=
   \pgfmathsetlength{\somedimen}{#1}
   \expandafter\pgfarrowsaddtooptions\expandafter{\expandafter\pgfarrowdepth\expandafter=\the\somedimen}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfarrowsaddtolateoptions\marg{code}}
-  This command works like |\pgfarrowsaddtooptions|, only the
-  \meta{code} will be executed ``later'' than the code added by the
-  normal version of the command. This is useful for keys that depend
-  on the length of an arrow: Keys like |width'| want to define the
-  arrow width as a multiple of the arrow length, but when the |width'|
-  key is given, the length may not yet have been specified. By making
-  the computation of the width a ``late'' option, we ensure that
-  |\pgfarrowlength| will have been setup correctly.
+    This command works like |\pgfarrowsaddtooptions|, only the \meta{code} will
+    be executed ``later'' than the code added by the normal version of the
+    command. This is useful for keys that depend on the length of an arrow:
+    Keys like |width'| want to define the arrow width as a multiple of the
+    arrow length, but when the |width'| key is given, the length may not yet
+    have been specified. By making the computation of the width a ``late''
+    option, we ensure that |\pgfarrowlength| will have been setup correctly.
 \end{command}
 
-If you define a new option that sets a dimensions and if that
-dimension should change in accordance to the setting of either
-|scale length| or |scale width|, you need to make \pgfname\ ``aware''
-of this using the following key:
+If you define a new option that sets a dimensions and if that dimension should
+change in accordance to the setting of either |scale length| or |scale width|,
+you need to make \pgfname\ ``aware'' of this using the following key:
 
 \begin{command}{\pgfarrowsaddtolengthscalelist\marg{dimension register}}
-  Each time an arrow tip is used, the given \meta{dimension register}
-  will be multiplied by the |scale length| factor prior to the actual
-  drawing. You call this command only once in the preamble somewhere.
+    Each time an arrow tip is used, the given \meta{dimension register} will be
+    multiplied by the |scale length| factor prior to the actual drawing. You
+    call this command only once in the preamble somewhere.
 \end{command}
 
 \begin{command}{\pgfarrowsaddtowidthscalelist\marg{dimension register}}
-  Works like |\pgfarrowsaddtolengthscalelist|, only for width parameters.
+    Works like |\pgfarrowsaddtolengthscalelist|, only for width parameters.
 \end{command}
 
 
-\begin{command}{\pgfarrowsthreeparameters\marg{line-width dependent
-      size specification}}
-  This command is useful for parsing the values given to keys like
-  |length| or |width| the expect a dimension followed optionally for
-  some numbers. This command converts the \meta{line-width dependent
-    size specification}, which may consist of one, two, or three
-  numbers, into a triple of three numbers in curly braces, which gets
-  stored in the macro |\pgfarrowstheparameters|. Here is an example,
-  where |\showvalueofmacro| is used in this example to show the value
-  stored in a macro:
-  \makeatletter
-  \def\showvalueofmacro#1{%
-    \texttt{\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\pgfutil at gobble\expandafter\expandafter\expandafter\string\expandafter\csname#1\endcsname}
-  }
+\begin{command}{\pgfarrowsthreeparameters\marg{line-width dependent size specification}}
+    This command is useful for parsing the values given to keys like |length|
+    or |width| the expect a dimension followed optionally for some numbers.
+    This command converts the \meta{line-width dependent size specification},
+    which may consist of one, two, or three numbers, into a triple of three
+    numbers in curly braces, which gets stored in the macro
+    |\pgfarrowstheparameters|. Here is an example, where |\showvalueofmacro| is
+    used in this example to show the value stored in a macro:
+    %
+    \makeatletter
+    \def\showvalueofmacro#1{%
+        \texttt{\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\pgfutil at gobble\expandafter\expandafter\expandafter\string\expandafter\csname#1\endcsname}
+    }
 \begin{codeexample}[]
 \pgfarrowsthreeparameters{2pt 1}
-\showvalueofmacro\pgfarrowstheparameters 
+\showvalueofmacro\pgfarrowstheparameters
 \end{codeexample}
+    %
 \end{command}
 
+\begin{command}{\pgfarrowslinewidthdependent\marg{dimension}\marg{line width factor}\marg{outer factor}}
+    This command take three parameters and does the ``line width dependent
+    computation'' described on page~\pageref{length-arrow-key} for the |length|
+    key. The result is returned in |\pgf at x|.
 
-\begin{command}{\pgfarrowslinewidthdependent\marg{dimension}\marg{line
-      width factor}\marg{outer factor}}
-  This command take three parameters and does the ``line width
-  dependent computation'' described on page~\pageref{length-arrow-key} 
-  for the |length| key. The result is returned in |\pgf at x|.
-
-  The idea is that you can setup line-width dependent keys like
-  |length| or |width| using code like the following:
+    The idea is that you can setup line-width dependent keys like |length| or
+    |width| using code like the following:
+    %
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/arrow keys/depth/.code={%
   \pgfarrowsthreeparameters{#1}%
@@ -877,16 +872,18 @@
     \expandafter\pgfarrowslinewidthdependent\pgfarrowstheparameters% compute...
     \pgfarrowdepth\pgf at x% ... and store.
   }%
-}    
+}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfarrowslengthdependent\marg{dimension}\marg{length factor}\marg{dummy}}
-  This command take three parameters, of which the last one is
-  ignored, and does the ``length dependent computation'' described for
-  the |width'| and |inset'| keys. The result is returned in |\pgf at x|.
+    This command take three parameters, of which the last one is ignored, and
+    does the ``length dependent computation'' described for the |width'| and
+    |inset'| keys. The result is returned in |\pgf at x|.
 
-  You can setup length dependent keys using code like the following:
+    You can setup length dependent keys using code like the following:
+    %
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/arrow keys/depth'/.code={%
   \pgfarrowsthreeparameters{#1}%
@@ -894,8 +891,9 @@
     \expandafter\pgfarrowslengthdependent\pgfarrowstheparameters% compute...
     \pgfarrowdepth\pgf at x% ... and store.
   }%
-}    
+}
 \end{codeexample}
+    %
 \end{command}
 
 

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -1,4 +1,4 @@
- % Copyright 2008 by Till Tantau and Mark Wibrow
+% Copyright 2008 by Till Tantau and Mark Wibrow
 %
 % This file may be distributed and/or modified
 %
@@ -7,29 +7,29 @@
 %
 % See the file doc/generic/pgf/licenses/LICENSE for more details.
 
+
 \section{Decorations}
 \label{section-base-decorations}
 
-
 \begin{pgfmodule}{decorations}
-  The commands for creating decorations are defined in this
-  module, so you need to load this module to use decorations. This
-  module is automatically loaded by the different decoration
-  libraries.
+    The commands for creating decorations are defined in this module, so you
+    need to load this module to use decorations. This module is automatically
+    loaded by the different decoration libraries.
 \end{pgfmodule}
 
 
 \subsection{Overview}
 
-Decorations are a general way of creating graphics by ``moving along''
-a path and, while doing so, either drawing something or constructing a
-new path. This could be as simple as extending a path with a
-``zigzagged'' line\ldots
-
+Decorations are a general way of creating graphics by ``moving along'' a path
+and, while doing so, either drawing something or constructing a new path. This
+could be as simple as extending a path with a ``zigzagged'' line\ldots
+%
 \begin{codeexample}[]
 \tikz \draw decorate[decoration=zigzag] {(0,0) -- (3,0)};
 \end{codeexample}
+%
 \ldots but could also be as complex as typesetting text along a path:
+%
 {\catcode`\|12
 \begin{codeexample}[]
 \tikz \path decorate [decoration={text along path,
@@ -39,115 +39,109 @@
 }
 
 The workflow for using decorations is the following:
+%
 \begin{enumerate}
-\item You define a decoration using the |\pgfdeclaredecoration|
-  command. Different useful decorations are already declared in
-  libraries like |decorations.shapes|.
-\item You use normal path construction commands like |\pgfpathlineto|
-  to construct a path. Let us call this path the
-  \emph{to-be-decorated} path.
-\item You place the path construction commands inside the environment
-  |{pgfdecoration}|. This environment takes the name of a previously
-  declared decoration as a parameter. It will then start ``walking
-  along'' the to-be-decorated path. As it does this, a special finite
-  automaton called a \emph{decoration automaton} produces new path commands as its output (or even other outputs). These
-  outputs replace the to-be-decorated path; indeed, after the
-  to-be-decorated path has been fully walked along it is thrown away,
-  only the output of the automaton persists.
+    \item You define a decoration using the |\pgfdeclaredecoration| command.
+        Different useful decorations are already declared in libraries like
+        |decorations.shapes|.
+    \item You use normal path construction commands like |\pgfpathlineto| to
+        construct a path. Let us call this path the \emph{to-be-decorated}
+        path.
+    \item You place the path construction commands inside the environment
+        |{pgfdecoration}|. This environment takes the name of a previously
+        declared decoration as a parameter. It will then start ``walking
+        along'' the to-be-decorated path. As it does this, a special finite
+        automaton called a \emph{decoration automaton} produces new path
+        commands as its output (or even other outputs). These outputs replace
+        the to-be-decorated path; indeed, after the to-be-decorated path has
+        been fully walked along it is thrown away, only the output of the
+        automaton persists.
 \end{enumerate}
 
-In the present section the process of how decoration automata work is
-explained first. Then the command(s) for declaring decoration automata
-and for using them are covered.
+In the present section the process of how decoration automata work is explained
+first. Then the command(s) for declaring decoration automata and for using them
+are covered.
 
 
-
 \subsection{Decoration Automata}
 
-Decoration automata (and the closely related meta-decoration automata)
-are a general concept for creating graphics ``along paths.'' For
-straight lines, this idea was first proposed by Till Tantau in an
-earlier version of \pgfname, the idea to extend this to arbitrary path
-was proposed and implemented by Mark Wibrow. Further versatility is
-provided by ``meta-decorations''. These are automata that decorate a
-path with decorations.
+Decoration automata (and the closely related meta-decoration automata) are a
+general concept for creating graphics ``along paths''. For straight lines, this
+idea was first proposed by Till Tantau in an earlier version of \pgfname, the
+idea to extend this to arbitrary path was proposed and implemented by Mark
+Wibrow. Further versatility is provided by ``meta-decorations''. These are
+automata that decorate a path with decorations.
 
-In the present subsection the different ideas underlying decoration
-automata are presented.
+In the present subsection the different ideas underlying decoration automata
+are presented.
 
 
-
 \subsubsection{The Different Paths}
 
-In order to prevent confusion with different types of paths, such
-as those that are extended, those that are decorated and those that
-are created, the following conventions will be used:
-
+In order to prevent confusion with different types of paths, such as those that
+are extended, those that are decorated and those that are created, the
+following conventions will be used:
+%
 \begin{itemize}
-\item
-  The \emph{preexisting} path refers to the current path in existence
-  before a decoration environment. (Possibly this path has been
-  created by another decoration used earlier, but we will still call
-  this path the preexisting path also in this case.)
-\item
-  The \emph{input} path refers to the to-be-decorated path that the
-  decoration automaton moves along. The input path may consist of many
-  line and curve input segments (for example, a circle or an ellipse
-  consists of four curves). It is specified inside the decoration
-  environment.
-\item
-  The \emph{output} path refers to the path that the decoration
-  creates. Depending on the decoration, this path may or may not be
-  empty (a decoration can also choose to use side-effects instead of
-  producing an output path). The input path is always consumed by the
-  decoration automaton, that is, it is no longer available in any way
-  after the decoration automaton has finished.
+    \item The \emph{preexisting} path refers to the current path in existence
+        before a decoration environment. (Possibly this path has been created
+        by another decoration used earlier, but we will still call this path
+        the preexisting path also in this case.)
+    \item The \emph{input} path refers to the to-be-decorated path that the
+        decoration automaton moves along. The input path may consist of many
+        line and curve input segments (for example, a circle or an ellipse
+        consists of four curves). It is specified inside the decoration
+        environment.
+    \item The \emph{output} path refers to the path that the decoration
+        creates. Depending on the decoration, this path may or may not be empty
+        (a decoration can also choose to use side-effects instead of producing
+        an output path). The input path is always consumed by the decoration
+        automaton, that is, it is no longer available in any way after the
+        decoration automaton has finished.
 \end{itemize}
 
-The effect of a decoration environment is the following: The input
-path, which is specified inside the environment, is constructed and
-stored. This process does not alter the preexisting path in any
-way. Then the decoration automaton is started (as described later) and
-it produces an output path (possibly empty). Whenever part of the
-output path is produced, it is concatenated with the preexisting
-path. After the environment, the current path will equal the original
-preexisting path followed by the output path.
+The effect of a decoration environment is the following: The input path, which
+is specified inside the environment, is constructed and stored. This process
+does not alter the preexisting path in any way. Then the decoration automaton
+is started (as described later) and it produces an output path (possibly
+empty). Whenever part of the output path is produced, it is concatenated with
+the preexisting path. After the environment, the current path will equal the
+original preexisting path followed by the output path.
 
-It is permissible that a decoration issues a |\pgfusepath|
-command. As usual, this causes the current path to be
-filled or stroked or some other action to be taken and the current
-path is set to the empty path. As described above, when the decoration
-automaton starts, the current path is the preexisting path and as the
-automaton progresses, the current path is constantly being extended by
-the output path. This means that first time a |\pgfusepath| command is
-used on a decoration, the preexisting path is part of the path this
-command operates on; in subsequent calls only the part of the output
-path constructed since the last |\pgfusepath| command will be used.
+It is permissible that a decoration issues a |\pgfusepath| command. As usual,
+this causes the current path to be filled or stroked or some other action to be
+taken and the current path is set to the empty path. As described above, when
+the decoration automaton starts, the current path is the preexisting path and
+as the automaton progresses, the current path is constantly being extended by
+the output path. This means that first time a |\pgfusepath| command is used on
+a decoration, the preexisting path is part of the path this command operates
+on; in subsequent calls only the part of the output path constructed since the
+last |\pgfusepath| command will be used.
 
-You can use this mechanism to stroke or fill different parts of the
-output path in different colors, line widths, fills and shades; all
-within the same decoration. Alternatively, a decoration can choose to
-produce no output path at all: the |text| decoration simply typesets
-text along a path.
+You can use this mechanism to stroke or fill different parts of the output path
+in different colors, line widths, fills and shades; all within the same
+decoration. Alternatively, a decoration can choose to produce no output path at
+all: the |text| decoration simply typesets text along a path.
 
 
 \subsubsection{Segments and States}
 
-The most common use of a decoration is to ``repeat something along a
-path'' (for example, the |zigzag| decoration
-repeats \tikz\draw decorate[decoration=zigzag]
-{(0,0)--(\pgfdecorationsegmentlength,0)}; along a path). However, it
-not necessarily the case that only one thing is repeated: a decoration
-can consist of different parts, or \emph{segments}, repeated in a
-particular order.
+The most common use of a decoration is to ``repeat something along a path''
+(for example, the |zigzag| decoration repeats
+%
+\tikz\draw decorate[decoration=zigzag] {(0,0)--(\pgfdecorationsegmentlength,0)};
+%
+along a path). However, it not necessarily the case that only one thing is
+repeated: a decoration can consist of different parts, or \emph{segments},
+repeated in a particular order.
 
-When you declare a decoration, you provide a description
-of how their different segments will be rendered. The description of
-each segment should be given in a way as if the ``$x$-axis'' of the
-segment is the tangent to the path at a particular point,
-and that point is the origin of the segment.
-Thus, for example, the segment of the |zigzag| decoration might be
-defined using the following code:
+When you declare a decoration, you provide a description of how their different
+segments will be rendered. The description of each segment should be given in a
+way as if the ``$x$-axis'' of the segment is the tangent to the path at a
+particular point, and that point is the origin of the segment. Thus, for
+example, the segment of the |zigzag| decoration might be defined using the
+following code:
+%
 \begin{codeexample}[code only]
 \pgfpathlineto{\pgfpoint{5pt}{5pt}}
 \pgfpathlineto{\pgfpoint{15pt}{-5pt}}
@@ -154,122 +148,113 @@
 \pgfpathlineto{\pgfpoint{20pt}{0pt}}
 \end{codeexample}
 
-\pgfname\ will ensure that an appropriate coordinate transformation
-is in place when the segment is rendered such that
-the segment actually points in the right direction. Also,
-subsequent segments will be transformed such that they are
-``further along the path'' toward the end of the path.
-All transformations are set up automatically.
+\pgfname\ will ensure that an appropriate coordinate transformation is in place
+when the segment is rendered such that the segment actually points in the right
+direction. Also, subsequent segments will be transformed such that they are
+``further along the path'' toward the end of the path. All transformations are
+set up automatically.
 
-Note that we did not use a |\pgfpathmoveto{\pgfpointorigin}| at the
-beginning of the segment code. Doing so would subdivide the path into
-numerous subpaths. Rather, we assume that the previous segment caused
-the current point to be at the origin.
+Note that we did not use a |\pgfpathmoveto{\pgfpointorigin}| at the beginning
+of the segment code. Doing so would subdivide the path into numerous subpaths.
+Rather, we assume that the previous segment caused the current point to be at
+the origin.
 
-The width of a segment can (and must) be specified
-explicitly. \pgfname\ will use this width to find out the start point
-of the next segment and the correct rotation. The width the you
-provide need not be the ``real'' width of the segment, which allows
-decoration segments to overlap or to be spaced far apart.
+The width of a segment can (and must) be specified explicitly. \pgfname\ will
+use this width to find out the start point of the next segment and the correct
+rotation. The width the you provide need not be the ``real'' width of the
+segment, which allows decoration segments to overlap or to be spaced far apart.
 
-The |zigzag| decoration only has one segment that is repeated again and
-again. However, we might also like to have \emph{different} segments
-and use rules to describe which segment should be used where. For
-example, we might have special segments at the start and at the end.
+The |zigzag| decoration only has one segment that is repeated again and again.
+However, we might also like to have \emph{different} segments and use rules to
+describe which segment should be used where. For example, we might have special
+segments at the start and at the end.
 
-Decorations use a mechanism known in theoretical in computer science
-as \emph{finite state automata} to describe which segment is used at a
-particular point. The idea is the following: For the first segment we
-start in a special \emph{state} called the \emph{initial state}. In
-this state, and also in all other states later, \pgfname\ first
-computes how much space is left on the input path. That is, \pgfname\ keeps
-track of the distance to the end of the input path. Attached to each state
-there is a set of rules of the following form: ``If the remaining
-distance on the input path is less than $x$, switch to state~$q$.''
-\pgfname\ checks for each of these rules whether it applies and, if
-so, immediately switches to state~$q$.
+Decorations use a mechanism known in theoretical in computer science as
+\emph{finite state automata} to describe which segment is used at a particular
+point. The idea is the following: For the first segment we start in a special
+\emph{state} called the \emph{initial state}. In this state, and also in all
+other states later, \pgfname\ first computes how much space is left on the
+input path. That is, \pgfname\ keeps track of the distance to the end of the
+input path. Attached to each state there is a set of rules of the following
+form: ``If the remaining distance on the input path is less than $x$, switch to
+state~$q$.'' \pgfname\ checks for each of these rules whether it applies and,
+if so, immediately switches to state~$q$.
 
-Only if none of the rules tell us to switch to another
-state, \pgfname\ will execute the state's code. This code will
-(typically) add a segment to the output path. In addition to the rules
-there is also a width parameter attached to each state. \pgfname\ then
-translates the coordinate system by this width and reduces the
-remaining distance on the input path. Then, \pgfname\ either stays in
-the current state or switches to another state, depending on yet
+Only if none of the rules tell us to switch to another state, \pgfname\ will
+execute the state's code. This code will (typically) add a segment to the
+output path. In addition to the rules there is also a width parameter attached
+to each state. \pgfname\ then translates the coordinate system by this width
+and reduces the remaining distance on the input path. Then, \pgfname\ either
+stays in the current state or switches to another state, depending on yet
 another property attached of the state.
 
-The whole process stops when a special state called |final| is
-reached. The segment of this state is immediately added to the output
-path (it is often empty, though) and the process ends.
+The whole process stops when a special state called |final| is reached. The
+segment of this state is immediately added to the output path (it is often
+empty, though) and the process ends.
 
 
-
-
 \subsection{Declaring Decorations}
 
-The following command is used to declare a decoration. Essentially,
-this command describes the decoration automaton.
+The following command is used to declare a decoration. Essentially, this
+command describes the decoration automaton.
 
+\begin{command}{\pgfdeclaredecoration\marg{name}\marg{initial state}\marg{states}}
+    This command declares a new decoration called \meta{name}. The
+    \meta{states} argument contains a description of the decoration automaton's
+    states and the transitions between them. The \meta{initial state} is the
+    state in which the automaton starts.
 
-\begin{command}{\pgfdeclaredecoration\marg{name}\marg{initial
-      state}\marg{states}}
-  This command declares a new decoration called \meta{name}. The
-  \meta{states} argument contains a description of the decoration
-  automaton's states and the transitions between them. The
-  \meta{initial state} is the state in which the automaton starts.
+    When the automaton is later applied to an input path, it keeps track of a
+    certain position on the input path. This current point will ``travel along
+    the path'', each time being moved along by a certain distance. This will
+    also work if the path is not a straight line. That is, it is permissible
+    that the path curves are veers at a sharp angle.  It is also permissible
+    that while traveling along the input path, the current input segment ends
+    and a new input segment starts. In this case, the remaining distance on the
+    first input segment is subtracted from the \meta{dimension} and then we
+    travel along the second input segment for the remaining distance. This
+    input segment may also end early, in which case we travel along the next
+    input segment, and so on. Note that it cannot happen that we travel past
+    the end of the input path since this would have caused an immediate switch
+    to the |final| state.
 
-  When the automaton is later applied to an input path, it keeps track
-  of a certain position on the input path. This current point
-  will ``travel along the path,'' each time being moved along by a
-  certain distance. This will also work if the path is not a straight
-  line. That is, it is permissible that the path curves are veers at a
-  sharp angle.  It is also permissible that while traveling along the
-  input path, the current input segment ends and a new input segment starts. In this
-  case, the remaining distance on the first input segment is subtracted
-  from the \meta{dimension} and then we travel along the second
-  input segment for the remaining distance. This input segment may also end
-  early, in which case we travel along the next input segment, and so
-  on. Note that it cannot happen that we travel past the end of the
-  input path since this would have caused an immediate switch to
-  the |final| state.
+    Note that the computation of the path lengths has only a low accuracy
+    because of \TeX's small math capabilities. Do not expect high accuracy
+    alignments when using decorations (unless the input path consists only of
+    horizontal and vertical lines).
 
-  Note that the computation of the path lengths has only a low
-  accuracy because of \TeX's small math capabilities. Do not
-  expect high accuracy alignments when using decorations (unless the
-  input path consists only of horizontal and vertical lines).
+    The \meta{states} argument should consist of |\state| commands, one for
+    each state of the decoration automaton. The |\state| command is defined
+    only when the \meta{states} argument is executed.
 
-  The \meta{states} argument should consist of |\state| commands, one
-  for each state of the decoration automaton. The |\state| command is
-  defined only when the \meta{states} argument is executed.
+    \begin{command}{\state\marg{name}\oarg{options}\marg{code}}
+        This command declares a new state inside the current decoration
+        automaton. The state is named \meta{name}.
 
-  \begin{command}{\state\marg{name}\oarg{options}\marg{code}}
-    This command declares a new state inside the current decoration
-    automaton. The state is named \meta{name}.
+        When the decoration automaton is in state \meta{name}, the following
+        things happen:
+        %
+        \begin{enumerate}
+            \item The \meta{options} are parsed. This may lead to a state
+                switch, see below. When this happens, the following steps are
+                not executed. The \meta{options} are executed one after the
+                other in the given order. If an option causes a state switch,
+                the switch is immediate, even if later options might cause a
+                different state switch.
+            \item The \meta{code} is executed in a \TeX-group with the current
+                transformation matrix set up in such a way that the origin is
+                on the input path at the current point (the point at the
+                distance traveled up to now) and the coordinate system is
+                rotated in such a way that the positive $x$-axis points in the
+                direction of the tangent to the input path at the current
+                point, while the positive $y$-axis points to the left of this
+                tangent.
 
-    When the decoration automaton is in state \meta{name}, the following things
-    happen:
-    \begin{enumerate}
-    \item
-      The \meta{options} are parsed. This may lead to a
-      state switch, see below. When this happens, the following steps are not
-      executed. The \meta{options} are executed one after the other in
-      the given order. If an option causes a state switch, the switch
-      is immediate, even if later options might cause a different
-      state switch.
-    \item
-      The \meta{code} is executed in a \TeX-group with the current
-      transformation matrix set up in such a way that the origin is on
-      the input path at the current point (the point at the distance
-      traveled up to now) and the coordinate system is rotated in
-      such a way that the positive $x$-axis points in the direction of
-      the tangent to the input path at the current point, while the
-      positive $y$-axis points to the left of this tangent.
-
-      As described earlier, the \meta{code} can have two different
-      effects: If it just contains path construction commands, the
-      decoration will produce an output path, that is, it extends the
-      preexisting path. Here is an example:
-
+                As described earlier, the \meta{code} can have two different
+                effects: If it just contains path construction commands, the
+                decoration will produce an output path, that is, it extends the
+                preexisting path. Here is an example:
+                %
 \begin{codeexample}[]
 \pgfdeclaredecoration{example}{initial}
 {
@@ -293,13 +278,13 @@
 }
 \end{codeexample}
 
-    Alternatively, the \meta{code} can also contain the
-    |\pgfusepath| command. This will use the path in the usual manner,
-    where ``the path'' is the preexisting path plus a part of the
-    output path for the first invocation and the different parts of
-    the rest of the output path for the following invocation. Here is
-    an example:
-
+                Alternatively, the \meta{code} can also contain the
+                |\pgfusepath| command. This will use the path in the usual
+                manner, where ``the path'' is the preexisting path plus a part
+                of the output path for the first invocation and the different
+                parts of the rest of the output path for the following
+                invocation. Here is an example:
+                %
 \begin{codeexample}[]
 \pgfdeclaredecoration{stars}{initial}{
   \state{initial}[width=15pt]
@@ -320,171 +305,175 @@
         .. controls (3,-3) and (0,0)  .. (0,-3)
         .. 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}
-      using the |next state| option. If no |next state| has been
-      specified, the state stays the same.
-    \end{enumerate}
+            \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}
+                using the |next state| option. If no |next state| has been
+                specified, the state stays the same.
+        \end{enumerate}
 
-    The \meta{options} are executed with the key path set to
-    |/pgf/decoration automaton|. The following keys are defined:
-    \begin{key}{/pgf/decoration automaton/switch if less than=\meta{dimension}\texttt{ to }\meta{new state}}
-      When this key is encountered, \pgfname\ checks whether the
-      remaining distance to the end of the input path is less than
-      \meta{dimension}. If so, an immediate state switch to \meta{new
-        state} occurs.
-    \end{key}
-    \begin{key}{/pgf/decoration automaton/switch if input segment less than=\\\meta{dimension}\texttt{ to }\meta{new state}}
-      When this key is encountered, \pgfname\ checks whether the
-      remaining distance to the end of the current input segment of the
-      input path is less than \meta{dimension}. If so, an immediate
-      state switch to \meta{new state} occurs.
-    \end{key}
-    \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| option.
+        The \meta{options} are executed with the key path set to
+        |/pgf/decoration automaton|. The following keys are defined:
+        %
+        \begin{key}{/pgf/decoration automaton/switch if less than=\meta{dimension}\texttt{ to }\meta{new state}}
+            When this key is encountered, \pgfname\ checks whether the
+            remaining distance to the end of the input path is less than
+            \meta{dimension}. If so, an immediate state switch to \meta{new
+            state} occurs.
+        \end{key}
+        %
+        \begin{key}{/pgf/decoration automaton/switch if input segment less than=\\\meta{dimension}\texttt{ to }\meta{new state}}
+            When this key is encountered, \pgfname\ checks whether the
+            remaining distance to the end of the current input segment of the
+            input path is less than \meta{dimension}. If so, an immediate state
+            switch to \meta{new state} occurs.
+        \end{key}
+        %
+        \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|
+            option.
 
-      If no switch occurs, this option tells \pgfname\ the width of
-      the segment. The current point will travel along the input path
-      (as described earlier)   by this distance.
-    \end{key}
-    \begin{key}{/pgf/decoration automaton/repeat state=\meta{repetitions} (initially 0)}
-      Tells \pgfname\ how long the automaton stays ``normally'' in the
-      current state. This count is reset to \meta{repetitions} each
-      time one of the |switch if| keys causes a state switch. If no
-      state switches occur, the \meta{code} is executed and the
-      repetition counter is decreased. Then, there is once more a
-      chance of a state change caused by any of the \meta{options}. If
-      no repetition occurs, the \meta{code} is executed
-      once more and the counter is decreased once more. When the
-      counter reaches zero, the \meta{code} is executed once more,
-      but, then, a different state is entered, as specified by the
-      |next state| option.
+            If no switch occurs, this option tells \pgfname\ the width of the
+            segment. The current point will travel along the input path (as
+            described earlier) by this distance.
+        \end{key}
+        %
+        \begin{key}{/pgf/decoration automaton/repeat state=\meta{repetitions} (initially 0)}
+            Tells \pgfname\ how long the automaton stays ``normally'' in the
+            current state. This count is reset to \meta{repetitions} each time
+            one of the |switch if| keys causes a state switch. If no state
+            switches occur, the \meta{code} is executed and the repetition
+            counter is decreased. Then, there is once more a chance of a state
+            change caused by any of the \meta{options}. If no repetition
+            occurs, the \meta{code} is executed once more and the counter is
+            decreased once more. When the counter reaches zero, the \meta{code}
+            is executed once more, but, then, a different state is entered, as
+            specified by the |next state| option.
 
-      Note, that the maximum number of times the state will be executed
-      is $\meta{repetitions}+1$.
-    \end{key}
-    \begin{key}{/pgf/decoration automaton/next state=\meta{new state}}
-      After the \meta{code} for state has been executed for the last
-      time, a state switch to \meta{new state} is performed. If this
-      option is not given, the next state is the same as the current state.
-    \end{key}
+            Note, that the maximum number of times the state will be executed
+            is $\meta{repetitions}+1$.
+        \end{key}
+        %
+        \begin{key}{/pgf/decoration automaton/next state=\meta{new state}}
+            After the \meta{code} for state has been executed for the last
+            time, a state switch to \meta{new state} is performed. If this
+            option is not given, the next state is the same as the current
+            state.
+        \end{key}
 
-    \begin{key}{/pgf/decoration automaton/if input segment is closepath=\meta{options}}
-      This key checks whether the current input segment is a closepath
-      operation. If so, the \meta{options} get executed; otherwise
-      nothing happens. You can use this option to handle a closepath
-      in some special way, for instance, switching to a new state in
-      which |\pgfpathclose| is executed.
-    \end{key}
+        \begin{key}{/pgf/decoration automaton/if input segment is closepath=\meta{options}}
+            This key checks whether the current input segment is a closepath
+            operation. If so, the \meta{options} get executed; otherwise
+            nothing happens. You can use this option to handle a closepath in
+            some special way, for instance, switching to a new state in which
+            |\pgfpathclose| is executed.
+        \end{key}
 
-    \begin{key}{/pgf/decoration automaton/auto end on length=\meta{dimension}}
-      This key is just included for convenience, it does nothing that
-      cannot be achieved using the previous options. The effect is the
-      following: If the remaining input path's length is at most
-      \meta{dimension}, the decorated path is ended with a straight
-      line to the end of the input path and, possibly, it is closed,
-      namely if the input path ended with a closepath
-      operation. Otherwise, it is checked whether the current input
-      segment is a closepath segment and whether the remaining
-      distance on the current input segment is at most
-      \meta{distance}. If so, then a closepath operation is used to
-      close the decorated path and the automaton continues with the
-      next subpath, remaining in the current state.
+        \begin{key}{/pgf/decoration automaton/auto end on length=\meta{dimension}}
+            This key is just included for convenience, it does nothing that
+            cannot be achieved using the previous options. The effect is the
+            following: If the remaining input path's length is at most
+            \meta{dimension}, the decorated path is ended with a straight line
+            to the end of the input path and, possibly, it is closed, namely if
+            the input path ended with a closepath operation. Otherwise, it is
+            checked whether the current input segment is a closepath segment
+            and whether the remaining distance on the current input segment is
+            at most \meta{distance}. If so, then a closepath operation is used
+            to close the decorated path and the automaton continues with the
+            next subpath, remaining in the current state.
 
-      In all other cases, nothing happens.
-    \end{key}
+            In all other cases, nothing happens.
+        \end{key}
 
-    \begin{key}{/pgf/decoration automaton/auto corner on length=\meta{dimension}}
-      This key has the following effect: Firstly, in case the \TeX-if
-      |\ifpgfdecoratepathhascorners| is false, nothing
-      happens. Otherwise, it is tested whether the remaining distance
-      on the current input segment is at most \meta{dimension}. If so,
-      a |lineto| operation is used to reach the end of this input
-      segment and the automaton continues with the next input segment,
-      but remains in the current state.
+        \begin{key}{/pgf/decoration automaton/auto corner on length=\meta{dimension}}
+            This key has the following effect: Firstly, in case the \TeX-if
+            |\ifpgfdecoratepathhascorners| is false, nothing happens.
+            Otherwise, it is tested whether the remaining distance on the
+            current input segment is at most \meta{dimension}. If so, a
+            |lineto| operation is used to reach the end of this input segment
+            and the automaton continues with the next input segment, but
+            remains in the current state.
 
-      The main idea behind this option is to avoid having decoration
-      segments ``overshoot'' past a corner.
-    \end{key}
+            The main idea behind this option is to avoid having decoration
+            segments ``overshoot'' past a corner.
+        \end{key}
 
-    You may sometimes wish to do computations outside the
-    transformational \TeX-group of the current segment,
-    so that these results of these computations are available in the
-    next state. For this, the following two options are useful:
+        You may sometimes wish to do computations outside the transformational
+        \TeX-group of the current segment, so that these results of these
+        computations are available in the next state. For this, the following
+        two options are useful:
 
-    \begin{key}{/pgf/decoration automaton/persistent precomputation=\meta{precode}}
-      If the \meta{code} of the state is executed, the \meta{precode} is
-      executed first and it is executed outside the \TeX-group of the
-      \meta{code}. Note that when the \meta{precode} is executed, the
-      transformation matrix is not set up.
-    \end{key}
+        \begin{key}{/pgf/decoration automaton/persistent precomputation=\meta{precode}}
+            If the \meta{code} of the state is executed, the \meta{precode} is
+            executed first and it is executed outside the \TeX-group of the
+            \meta{code}. Note that when the \meta{precode} is executed, the
+            transformation matrix is not set up.
+        \end{key}
 
-    \begin{key}{/pgf/decoration automaton/persistent postcomputation=\meta{postcode}}
-      Works like the |persistent precomputation| option, only the
-      \meta{postcode} is executed after (and also outside) the
-      \TeX-group of the main \meta{code}.
-    \end{key}
+        \begin{key}{/pgf/decoration automaton/persistent postcomputation=\meta{postcode}}
+            Works like the |persistent precomputation| option, only the
+            \meta{postcode} is executed after (and also outside) the \TeX-group
+            of the main \meta{code}.
+        \end{key}
 
-    There are a number of macros and dimensions which may be useful
-    inside a decoration automaton. The following macros are available:
+        There are a number of macros and dimensions which may be useful inside
+        a decoration automaton. The following macros are available:
 
-    \begin{command}{\pgfdecoratedpathlength}
-      The length of the input path. If the input path consists of
-      several input segments, this number is the sum of the lengths of the
-      input segments.
-    \end{command}
+        \begin{command}{\pgfdecoratedpathlength}
+            The length of the input path. If the input path consists of several
+            input segments, this number is the sum of the lengths of the input
+            segments.
+        \end{command}
 
-    \begin{command}{\pgfdecoratedinputsegmentlength}
-      The length of the current input segment of the input path. ``Current
-      input segment''  refers to the input segment on which the current point
-      lies.
-    \end{command}
-		
-    \begin{command}{\pgfpointdecoratedpathlast}
-      The final point of the input path.
-    \end{command}
+        \begin{command}{\pgfdecoratedinputsegmentlength}
+            The length of the current input segment of the input path.
+            ``Current input segment''  refers to the input segment on which the
+            current point lies.
+        \end{command}
 
-    \begin{command}{\pgfpointdecoratedinputsegmentlast}
-      The final point of the current input segment of the input path.
-    \end{command}
-		
-    \begin{command}{\pgfdecoratedangle}
-      The angle of the tangent to the decorated path at the \emph{origin}
-      of the current segment. The transformation matrix applied at
-      the beginning of a state includes a rotation equivalent to
-      this angle.
-    \end{command}
-		
-    The following \TeX\ dimension registers are also available inside the
-    automaton:
+        \begin{command}{\pgfpointdecoratedpathlast}
+            The final point of the input path.
+        \end{command}
 
-    \begin{command}{\pgfdecoratedremainingdistance}
-      The remaining distance on the input path.
-    \end{command}
-		
-    \begin{command}{\pgfdecoratedcompleteddistance}
-      The completed distance on the input path.
-    \end{command}
+        \begin{command}{\pgfpointdecoratedinputsegmentlast}
+            The final point of the current input segment of the input path.
+        \end{command}
 
-    \begin{command}{\pgfdecoratedinputsegmentremainingdistance}
-      The remaining distance on the current input segment of the input path.
-    \end{command}
+        \begin{command}{\pgfdecoratedangle}
+            The angle of the tangent to the decorated path at the \emph{origin}
+            of the current segment. The transformation matrix applied at the
+            beginning of a state includes a rotation equivalent to this angle.
+        \end{command}
 
-    \begin{command}{\pgfdecoratedinputsegmentcompleteddistance}
-      The completed distance on the current input segment of the input path.
-    \end{command}
+        The following \TeX\ dimension registers are also available inside the
+        automaton:
 
-    Further keys and macros are defined and used by the decoration
-    libraries, see Section~\ref{section-library-decorations}.
+        \begin{command}{\pgfdecoratedremainingdistance}
+            The remaining distance on the input path.
+        \end{command}
 
-    The following example shows how these options can be used:
+        \begin{command}{\pgfdecoratedcompleteddistance}
+            The completed distance on the input path.
+        \end{command}
+
+        \begin{command}{\pgfdecoratedinputsegmentremainingdistance}
+            The remaining distance on the current input segment of the input path.
+        \end{command}
+
+        \begin{command}{\pgfdecoratedinputsegmentcompleteddistance}
+            The completed distance on the current input segment of the input path.
+        \end{command}
+
+        Further keys and macros are defined and used by the decoration
+        libraries, see Section~\ref{section-library-decorations}.
+
+        The following example shows how these options can be used:
+        %
 \begin{codeexample}[]
 \pgfdeclaredecoration{complicated example decoration}{initial}
 {
@@ -530,105 +519,91 @@
     decorate {(.5,-2) -- ++(2.5,-2.5)} -- (3,-5) -| (0,-2) -- cycle;
 \end{tikzpicture}
 \end{codeexample}
-  \end{command}
+    \end{command}
 \end{command}
 
 
-
 \subsubsection{Predefined Decorations}
 
-The three decorations |moveto|, |lineto|, and |curveto| are predefined
-and ``always available.'' They are mostly useful in conjunction with
+The three decorations |moveto|, |lineto|, and |curveto| are predefined and
+``always available''. They are mostly useful in conjunction with
 meta-decorations. They are documented in
-Section~\ref{section-library-decorations} alongside the other
-decorations.
+Section~\ref{section-library-decorations} alongside the other decorations.
 
 
-
 \subsection{Using Decorations}
 
 Once a decoration has been declared, it can be used.
 
 \begin{environment}{{pgfdecoration}\marg{decoration list}}
-  The \meta{environment contents} should contain commands for creating
-  an path. This path is the basis for the \emph{input paths}
-  for the decorations in the \meta{decoration list}. In detail, the
-  following happens:
-  \begin{enumerate}
-  \item
-    The preexisting unused path is saved.
-  \item
-    The path commands specified in \meta{environment contents} are
-    executed and this resulting path is saved. The path is then
-    divided into different \emph{input paths} as follows:
-    The format for each item in \marg{decoration list} is
-    \begin{quote}
-      \marg{decoration}\marg{length}\opt{\marg{before code}\marg{after code}}
-    \end{quote}
-    The \meta{before code} and the \meta{after code} are optional. The
-    input path is divided into input paths as follows: The first input
-    path consists of the first lines of the path specified in the
-    \meta{environment contents} until the \meta{length}  of the first
-    element of the \meta{decoration list} is reached. If this length
-    is reached in the middle of a line, the line is broken up at this
-    exact position. Then the second input path has the \meta{length}
-    of the second element in the \meta{decoration list} and consists
-    of the lines making up the following \meta{length} part of the
-    path in the \meta{environment contents}, and so on.
+    The \meta{environment contents} should contain commands for creating an
+    path. This path is the basis for the \emph{input paths} for the decorations
+    in the \meta{decoration list}. In detail, the following happens:
+    %
+    \begin{enumerate}
+        \item The preexisting unused path is saved.
+        \item The path commands specified in \meta{environment contents} are
+            executed and this resulting path is saved. The path is then divided
+            into different \emph{input paths} as follows: The format for each
+            item in \marg{decoration list} is
+            %
+            \begin{quote}
+                \marg{decoration}\marg{length}\opt{\marg{before code}\marg{after code}}
+            \end{quote}
+            %
+            The \meta{before code} and the \meta{after code} are optional. The
+            input path is divided into input paths as follows: The first input
+            path consists of the first lines of the path specified in the
+            \meta{environment contents} until the \meta{length}  of the first
+            element of the \meta{decoration list} is reached. If this length is
+            reached in the middle of a line, the line is broken up at this
+            exact position. Then the second input path has the \meta{length} of
+            the second element in the \meta{decoration list} and consists of
+            the lines making up the following \meta{length} part of the path in
+            the \meta{environment contents}, and so on.
 
-    If the lengths in the \meta{decoration list}
-    do not add up to the total length of the path in the
-    \meta{environment contents}, either some  decorations are dropped
-    (if their lengths add up to more than the length of the
-    \meta{environment contents}) or
-    the input path is not fully used (if their lengths  add up to less).
-  \item
-    The preexisting path is reinstalled.
-  \item
-    The decoration automata move along the input paths, thus creating
-    (and  possibly using) the output paths. These output paths extend
-     the current path (unless they are used).
-  \end{enumerate}
-	
-  Some important points should be noted regarding the use of this
-  environment:
+            If the lengths in the \meta{decoration list} do not add up to the
+            total length of the path in the \meta{environment contents}, either
+            some  decorations are dropped (if their lengths add up to more than
+            the length of the \meta{environment contents}) or the input path is
+            not fully used (if their lengths  add up to less).
+        \item The preexisting path is reinstalled.
+        \item The decoration automata move along the input paths, thus creating
+            (and  possibly using) the output paths. These output paths extend
+            the current path (unless they are used).
+    \end{enumerate}
 
-  \begin{itemize}
-  \item
-    If \meta{environment contents} does not begin with
-    |\pgfpathmoveto|, the last known point on the preexisting path is
-    assumed as the starting point.
-  \item
-    All except the last of any sequence of consecutive move-to commands
-    in \meta{environment contents} are discarded.
-  \item
-    Any move-to commands at the end of \meta{environment contents} are
-    ignored.
-  \item
-    Any close-path commands on the input path are interpreted as
-    straight lines.
-    Internally, something a little more complicated is going on,
-    however, a closed path on the input path has no effect on the
-    output path, other than causing the automaton to travel in a
-    straight line towards the location of the last move-to command on
-    the input path.
-  \item
-    Although tangent computations for the input path work with the
-    last point on the preexisting path, no automatic move-to
-    operations are issued for the output path.
-    If an output path starts with a line-to or curve-to when the
-    existing path is empty, an appropriate move-to command should be
-    inserted before the decoration starts.
-  \item
-    If a decoration uses its own path, the first time this happens the
-    preexisting path is part of the path that is used at this point.
-  \end{itemize}
+    Some important points should be noted regarding the use of this
+    environment:
+    %
+    \begin{itemize}
+        \item If \meta{environment contents} does not begin with
+            |\pgfpathmoveto|, the last known point on the preexisting path is
+            assumed as the starting point.
+        \item All except the last of any sequence of consecutive move-to
+            commands in \meta{environment contents} are discarded.
+        \item Any move-to commands at the end of \meta{environment contents}
+            are ignored.
+        \item Any close-path commands on the input path are interpreted as
+            straight lines. Internally, something a little more complicated is
+            going on, however, a closed path on the input path has no effect on
+            the output path, other than causing the automaton to travel in a
+            straight line towards the location of the last move-to command on
+            the input path.
+        \item Although tangent computations for the input path work with the
+            last point on the preexisting path, no automatic move-to operations
+            are issued for the output path. If an output path starts with a
+            line-to or curve-to when the existing path is empty, an appropriate
+            move-to command should be inserted before the decoration starts.
+        \item If a decoration uses its own path, the first time this happens
+            the preexisting path is part of the path that is used at this
+            point.
+    \end{itemize}
 
-Before the automata start to "work on" their respective inputs paths,
-  \meta{before code} is
-  executed. After the decoration automaton has finished, \meta{after
-    code} is executed.
-
+    Before the automata start to "work on" their respective inputs paths,
+    \meta{before code} is executed. After the decoration automaton has
+    finished, \meta{after code} is executed.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}[decoration={segment length=5pt}]
   \draw [help lines] grid (3,2);
@@ -641,12 +616,12 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  When the lengths are evaluated, the dimension
-  |\pgfdecoratedremainingdistance| holds the remaining distance on
-  the entire decorated path, and |\pgfdecoratedpathlength| holds the
-  total length of the path. Thus, it is possible to specify lengths
-  like |\pgfdecoratedpathlength/3|.
-
+    When the lengths are evaluated, the dimension
+    |\pgfdecoratedremainingdistance| holds the remaining distance on the entire
+    decorated path, and |\pgfdecoratedpathlength| holds the total length of the
+    path. Thus, it is possible to specify lengths like
+    |\pgfdecoratedpathlength/3|.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}[decoration={segment length=5pt}]
   \draw [help lines] grid (3,2);
@@ -663,20 +638,21 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  When \meta{before code} is executed, the following macro is useful:
-  \begin{command}{\pgfpointdecoratedpathfirst}
-    Returns the point corresponding to the start of the current
-    input path.
-  \end{command}
-  When \meta{after code} is executed, the following macro can be used:
-  \begin{command}{\pgfpointdecoratedpathlast}
-    Returns the point corresponding to the end of the current input
-    path.
-  \end{command}
-  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.
-	
+    When \meta{before code} is executed, the following macro is useful:
+    %
+    \begin{command}{\pgfpointdecoratedpathfirst}
+        Returns the point corresponding to the start of the current input path.
+    \end{command}
+    %
+    When \meta{after code} is executed, the following macro can be used:
+    %
+    \begin{command}{\pgfpointdecoratedpathlast}
+        Returns the point corresponding to the end of the current input path.
+    \end{command}
+    %
+    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{tikzpicture}
   \draw [help lines] grid (3,2);
@@ -706,53 +682,56 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
-	
-  After the |{decoration}| environment has finished, the following
-  macros are available:
-	
-  \begin{command}{\pgfdecorateexistingpath}
-    The preexisting path before the environment was entered.
-  \end{command}
-	
-  \begin{command}{\pgfdecoratedpath}
-    The (total) input path (that is, the path created by the environment contents).
-  \end{command}
-	
-  \begin{command}{\pgfdecorationpath}
-    The output path. If the path is used, this macro contains only the
-    last unused part of the output path.
-  \end{command}
-	
-  \begin{command}{\pgfpointdecoratedpathlast}
-    The final point of the input path.
-  \end{command}
 
-  \begin{command}{\pgfpointdecorationpathlast}
-    The final point of the output path.
-  \end{command}
+    After the |{decoration}| environment has finished, the following macros are
+    available:
 
-  The following style is executed each time a decoration is used. You
-  may use it to set up default options for decorations.
-  \begin{stylekey}{/pgf/every decoration (initially \normalfont empty)}
-    This style is executed for every decoration.
-  \end{stylekey}
+    \begin{command}{\pgfdecorateexistingpath}
+        The preexisting path before the environment was entered.
+    \end{command}
+
+    \begin{command}{\pgfdecoratedpath}
+        The (total) input path (that is, the path created by the environment
+        contents).
+    \end{command}
+
+    \begin{command}{\pgfdecorationpath}
+        The output path. If the path is used, this macro contains only the last
+        unused part of the output path.
+    \end{command}
+
+    \begin{command}{\pgfpointdecoratedpathlast}
+        The final point of the input path.
+    \end{command}
+
+    \begin{command}{\pgfpointdecorationpathlast}
+        The final point of the output path.
+    \end{command}
+
+    The following style is executed each time a decoration is used. You may use
+    it to set up default options for decorations.
+    %
+    \begin{stylekey}{/pgf/every decoration (initially \normalfont empty)}
+        This style is executed for every decoration.
+    \end{stylekey}
 \end{environment}
 
 \begin{plainenvironment}{{pgfdecoration}\marg{name}}
-  The plain-\TeX{} version of the |{pgfdecorate}| environment.      % TODOsp: `pgfdecorate' right or `pgfdecoration'? really no idea
+    The plain-\TeX{} version of the |{pgfdecorate}| environment.
+    \todosp{`pgfdecorate' right or `pgfdecoration'? really no idea}
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfdecoration}\marg{name}}
-  The Con\TeX t version of the |{pgfdecoration}| environment.
+    The Con\TeX t version of the |{pgfdecoration}| environment.
 \end{contextenvironment}
 
-For convenience, the following macros provide a ``shorthand''
-for decorations (internally, they all use the |{pgfdecoration}|
-environment).
+For convenience, the following macros provide a ``shorthand'' for decorations
+(internally, they all use the |{pgfdecoration}| environment).
 
 \begin{command}{\pgfdecoratepath\marg{name}\marg{path commands}}
-  Decorate the path described by \meta{path commands} with the
-  decoration \meta{name}. This is equivalent to
+    Decorate the path described by \meta{path commands} with the decoration
+    \meta{name}. This is equivalent to
+    %
 \begin{codeexample}[code only]
 \pgfdecorate{{name}{\pgfdecoratedpathlength}
              {\pgfdecoratebeforecode}{\pgfdecorateaftercode}}
@@ -759,35 +738,32 @@
   // the path commands.
 \endpgfdecorate
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfdecoratecurrentpath\marg{name}}
-  Decorate the preexisting path with the decoration \meta{name}.
+    Decorate the preexisting path with the decoration \meta{name}.
 \end{command}
 
-Both the above commands use the current definitions of the following
-macros:
+Both the above commands use the current definitions of the following macros:
 
 \begin{command}{\pgfdecoratebeforecode}
-  Code executed as \meta{before code}, see the description of
-  |\pgfdecorate|.
+    Code executed as \meta{before code}, see the description of |\pgfdecorate|.
 \end{command}
 
 \begin{command}{\pgfdecorateaftercode}
-  Code executed as \meta{after code}, see the description of
-  |\pgfdecorate|.
+    Code executed as \meta{after code}, see the description of |\pgfdecorate|.
 \end{command}
 
-It may sometimes be useful to add an additional transformation
-for each segment of a decoration. The following command allows
-you to define such a ``last minute transformation.''
+It may sometimes be useful to add an additional transformation for each segment
+of a decoration. The following command allows you to define such a ``last
+minute transformation''.
 
 \begin{command}{\pgfsetdecorationsegmenttransformation\marg{code}}
-  The \meta{code} will be executed at the very beginning of each
-  segment. Note when applying multiple decorations, this will
-  be reset between decorations, so it needs to be specified for
-  each segment.
-
+    The \meta{code} will be executed at the very beginning of each segment.
+    Note when applying multiple decorations, this will be reset between
+    decorations, so it needs to be specified for each segment.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] grid (3,2);
@@ -807,141 +783,133 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
-
 \subsection{Meta-Decorations}
-
 \label{section-base-meta-decorations}
 
-A meta-decoration provides an alternative way to decorate a path with
-multiple decorations. It is, in essence, an automaton that decorates
-an input path with decoration automatons. In general, however, the end
-effect is still that a path is decorated with other paths, and the input
-path should be thought of as being divided into sub-input-paths, each with
-their own decoration. Like ordinary decorations, a meta-decoration must be declared before it can be used.
+A meta-decoration provides an alternative way to decorate a path with multiple
+decorations. It is, in essence, an automaton that decorates an input path with
+decoration automatons. In general, however, the end effect is still that a path
+is decorated with other paths, and the input path should be thought of as being
+divided into sub-input-paths, each with their own decoration. Like ordinary
+decorations, a meta-decoration must be declared before it can be used.
 
+
 \subsubsection{Declaring Meta-Decorations}
 
 \begin{command}{\pgfdeclaremetadecorate\marg{name}\marg{initial state}\marg{states}}
+    This command declares a new meta-decoration called \meta{name}. The
+    \meta{states} argument contains a description of the meta-decoration
+    automaton's states and the transitions between them. The \meta{initial
+    state} is the state in which the automaton starts.
 
-  This command declares a new meta-decoration called \meta{name}. The
-  \meta{states} argument contains a description of the meta-decoration
-  automaton's states and the transitions between them. The
-  \meta{initial state} is the state in which the automaton starts.
+    The |\state| command is similar to the one found in decoration
+    declarations, and takes the same form:
 
-  The |\state| command is similar to the one found in
-  decoration declarations, and takes the same form:
+    \begin{command}{\state\marg{name}\oarg{options}\marg{code}} Declares the
+        state \meta{name} inside the current meta-decoration automaton. Unlike
+        decorations, states in meta-decorations are not executed within a
+        group, which makes the persistent computation options superfluous.
+        Consider using an initial state with |width=0pt| to do precalculations
+        that could speed the execution of the meta-decoration.
 
-  \begin{command}{\state\marg{name}\oarg{options}\marg{code}}
-    Declares the state \meta{name} inside the current meta-decoration
-    automaton. Unlike decorations, states in meta-decorations are not
-    executed within a group, which makes the persistent computation
-    options superfluous. Consider using an initial state with
-    |width=0pt| to do precalculations that could speed the execution
-    of the meta-decoration.
+        The \meta{options} are executed with the key path set to
+        |/pgf/meta-decorations automaton/|, and the following keys are defined
+        for this path:
 
-    The \meta{options} are executed with the key path set to
-    |/pgf/meta-decorations automaton/|, and the following keys are defined for
-    this path:
+        \begin{key}{/pgf/meta-decoration automaton/switch if less than=\meta{dimension}| to |\meta{new state}}
+            This causes \pgfname\ to check whether the remaining distance to
+            the end of the input path is less than \meta{dimension}, and, if
+            so, to immediately switch to the state \meta{new state}. When this
+            key is evaluated, the macro |\pgfmetadecoratedpathlength| will be
+            defined as the total length of the decoration path, allowing for
+            values such as |\pgfmetadecoratedpathlength/8|.
+        \end{key}
 
-    \begin{key}{/pgf/meta-decoration automaton/switch if less than=\meta{dimension}| to |\meta{new state}}
-      This causes \pgfname\ to check whether the
-      remaining distance to the end of the input path is less than
-      \meta{dimension}, and, if so, to immediately switch to the state
-      \meta{new state}. When this key is evaluated, the macro
-      |\pgfmetadecoratedpathlength| will be defined as the total length of
-      the decoration path, allowing for values such as
-      |\pgfmetadecoratedpathlength/8|.
-    \end{key}
+        \begin{key}{/pgf/meta-decoration automaton/width=\meta{dimension}}
+            As always, this option will cause an immediate switch to the state
+            |final| if the remaining distance on the input path is less than
+            \meta{dimension}.
 
-    \begin{key}{/pgf/meta-decoration automaton/width=\meta{dimension}}
-      As always, this option will cause an immediate switch to the
-      state |final| if the remaining distance on the input path is less than
-      \meta{dimension}.
+            Otherwise, this option tells \pgfname\ the width of the
+            ``meta-segment'', that is, the length of the sub-input-path which
+            the decoration automaton specified  in \meta{code} will decorate.
+        \end{key}
 
-      Otherwise, this option tells \pgfname\ the width of the
-      ``meta-segment'', that is, the length of the sub-input-path
-      which the decoration automaton specified  in \meta{code} will decorate.
-    \end{key}
+        \begin{key}{/pgf/meta-decoration automaton/next state=\meta{new state}}
+            After the code for a state has been executed, a state switch to
+            \meta{new state} is performed. If this option is not given, the
+            next state is the same as the current state.
+        \end{key}
 
-    \begin{key}{/pgf/meta-decoration automaton/next state=\meta{new state}}
-      After the code for a state has been executed, a state switch to
-      \meta{new state} is performed. If this option is not given, the
-      next state is the same as the current state.
-    \end{key}
+        The code in \meta{code} is quite different from the code in a
+        decoration state. In almost all cases only the following three macros
+        will be required:
 
-    The code in \meta{code} is quite different from the code in a
-    decoration state. In almost all cases only the following three
-    macros will be required:
+        \begin{command}{\decoration\marg{name}}
+            This sets the decoration for the current state to \meta{name}. If
+            this command is omitted, the |moveto| decoration will be used.
+        \end{command}
 
-    \begin{command}{\decoration\marg{name}}
-      This sets the decoration for the current state to \meta{name}.
-      If this command is omitted, the |moveto| decoration will be
-      used.
-    \end{command}
+        \begin{command}{\beforedecoration\marg{before code}}
+            Defines \meta{before code} as (typically) \pgfname{} commands to be
+            executed before the decoration is applied to the current segment.
+            This command can be omitted. If you wish to set up some decoration
+            specific parameters such as segment length, or segment amplitude,
+            then they can be set in \meta{before code}.
+        \end{command}
 
-    \begin{command}{\beforedecoration\marg{before code}}
-      Defines \meta{before code} as (typically) \pgfname{} commands to be
-      executed before the decoration is applied to the current segment.
-      This command can be omitted.
-      If you wish to set up some decoration specific parameters
-      such as segment length, or segment amplitude, then they
-      can be set in \meta{before code}.
-    \end{command}
+        \begin{command}{\afterdecoration\marg{after code}}
+            Defines \meta{after code} as commands to be executed after the
+            decoration has been applied to the current segment. This command
+            can be omitted.
+        \end{command}
 
-    \begin{command}{\afterdecoration\marg{after code}}
-      Defines \meta{after code} as commands to be executed after the
-      decoration has been applied to the current segment.
-      This command can be omitted.
-    \end{command}
+        There are some macros that may be useful when creating meta-decorations
+        (note that they are all macros):
 
-    There are some macros that may be useful when creating
-    meta-decorations (note that they are all macros):
+        \begin{command}{\pgfpointmetadecoratedpathfirst}
+            When the \meta{before code} is executed, this macro stores the
+            first point on the current sub-input-path.
+        \end{command}
 
-    \begin{command}{\pgfpointmetadecoratedpathfirst}
-      When the \meta{before code} is executed,
-      this macro stores the first point on the current
-      sub-input-path.
-    \end{command}
+        \begin{command}{\pgfpointmetadecoratedpathlast}
+            When the \meta{after code} is executed, this macro stores the last
+            point on the current sub-input-path.
+        \end{command}
 
-    \begin{command}{\pgfpointmetadecoratedpathlast}
-      When the \meta{after code} is executed,
-      this macro stores the last point on the current
-      sub-input-path.
-    \end{command}
+        \begin{command}{\pgfmetadecoratedpathlength}
+            The entire length of the entire input path.
+        \end{command}
 
-    \begin{command}{\pgfmetadecoratedpathlength}
-      The entire length of the entire input path.
-    \end{command}
+        \begin{command}{\pgfmetadecoratedcompleteddistance}
+            The completed distance on the entire input path.
+        \end{command}
 
-    \begin{command}{\pgfmetadecoratedcompleteddistance}
-      The completed distance on the entire input path.
-    \end{command}
+        \begin{command}{\pgfmetadecoratedremainingdistance}
+            The remaining distance on the entire input path.
+        \end{command}
 
-    \begin{command}{\pgfmetadecoratedremainingdistance}
-      The remaining distance on the entire input path.
-    \end{command}
+        \begin{command}{\pgfmetadecoratedinputsegmentcompleteddistance}
+            The completed distance on the current input segment of the entire
+            input path.
+        \end{command}
 
-    \begin{command}{\pgfmetadecoratedinputsegmentcompleteddistance}
-      The completed distance on the current input segment of the entire
-      input path.
+        \begin{command}{\pgfmetadecoratedinputsegmentremainingdistance}
+            The remaining distance on the current input segment of the entire
+            input path.
+        \end{command}
     \end{command}
 
-    \begin{command}{\pgfmetadecoratedinputsegmentremainingdistance}
-      The remaining distance on the current input segment of the entire
-      input path.
-    \end{command}
-  \end{command}
-
-  Here is a complete example of a meta-decoration:
-
+    Here is a complete example of a meta-decoration:
+    %
 \begin{codeexample}[]
 \pgfdeclaremetadecoration{arrows}{initial}{
   \state{initial}[width=0pt, next state=arrow]
-  {	
+  {
     \pgfmathdivide{100}{\pgfmetadecoratedpathlength}
     \let\factor\pgfmathresult
     \pgfsetlinewidth{1pt}
@@ -958,11 +926,11 @@
       \pgfmathparse{\pgfmetadecoratedcompleteddistance*\factor}
       \pgfsetcolor{red!\pgfmathresult!yellow}
       \pgfpathmoveto{\pgfpointmetadecoratedpathfirst}
-    }	
+    }
   }
   \state{zigzag}[width=\pgfmetadecorationsegmentlength/3, next state=end arrow]
   {
-  	\decoration{zigzag}
+    \decoration{zigzag}
   }
   \state{end arrow}[width=\pgfmetadecorationsegmentlength/3, next state=move]
   {
@@ -969,9 +937,9 @@
     \decoration{curveto}
     \beforedecoration{\pgfpathmoveto{\pgfpointmetadecoratedpathfirst}}
     \afterdecoration
-    {	
+    {
       \pgfsetarrowsend{to}
-      \pgfusepath{stroke}	
+      \pgfusepath{stroke}
     }
   }
   \state{move}[width=\pgfmetadecorationsegmentlength/2, next state=arrow]{}
@@ -984,7 +952,7 @@
         .. controls (0,-6)  and (3,-6)  .. (3,-8)
         .. controls (3,-10) and (0,-10) .. (0,-8);
 \end{codeexample}
-
+    %
 \end{command}
 
 
@@ -995,18 +963,18 @@
 
 \subsubsection{Using Meta-Decorations}
 
-Using meta-decorations is ``simpler'' than using decorations, because
-you can only use one meta-decoration per path.
+Using meta-decorations is ``simpler'' than using decorations, because you can
+only use one meta-decoration per path.
 
 \begin{environment}{{pgfmetadecoration}\marg{name}}
-  This environment decorates the input path described in
-  \meta{environment contents}, with the	meta-decoration \meta{name}.
+    This environment decorates the input path described in \meta{environment
+    contents}, with the	meta-decoration \meta{name}.
 \end{environment}
 
 \begin{plainenvironment}{{pgfmetadecoration}\marg{name}}
-  The plain \TeX{} version of the |{pgfmetadecoration}| environment.
+    The plain \TeX{} version of the |{pgfmetadecoration}| environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfmetadecoration}\marg{name}}
-  The Con\TeX t version of the |{pgfmetadecoration}| environment.
+    The Con\TeX t version of the |{pgfmetadecoration}| environment.
 \end{contextenvironment}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -10,54 +10,51 @@
 
 \section{Design Principles}
 
-This section describes the basic layer of \pgfname. This layer is
-built on top of the system layer. Whereas the system layer just
-provides the absolute minimum for drawing graphics, the basic
-layer provides numerous commands that make it possible to create
-sophisticated graphics easily and also quickly.
+This section describes the basic layer of \pgfname. This layer is built on top
+of the system layer. Whereas the system layer just provides the absolute
+minimum for drawing graphics, the basic layer provides numerous commands that
+make it possible to create sophisticated graphics easily and also quickly.
 
-The basic layer does not provide a convenient syntax for describing
-graphics, which is left to frontends like \tikzname. For this reason, the
-basic layer is typically used only by ``other programs.'' For example,
-the \textsc{beamer} package uses the basic layer extensively, but does
-not need a convenient input syntax. Rather, speed and flexibility are
-needed when \textsc{beamer} creates graphics.
+The basic layer does not provide a convenient syntax for describing graphics,
+which is left to frontends like \tikzname. For this reason, the basic layer is
+typically used only by ``other programs''. For example, the \textsc{beamer}
+package uses the basic layer extensively, but does not need a convenient input
+syntax. Rather, speed and flexibility are needed when \textsc{beamer} creates
+graphics.
 
 The following basic design principles underlie the basic layer:
+%
 \begin{enumerate}
-\item Structuring into a core and modules.
-\item Consistently named \TeX\ macros for all graphics commands.
-\item Path-centered description of graphics.
-\item Coordinate transformation system.
+    \item Structuring into a core and modules.
+    \item Consistently named \TeX\ macros for all graphics commands.
+    \item Path-centered description of graphics.
+    \item Coordinate transformation system.
 \end{enumerate}
 
 
-
 \subsection{Core and Modules}
 
-The basic layer consists of a \emph{core package}, called |pgfcore|,
-which provides the most basic commands, and several
-\emph{modules} like commands for plotting (in the |plot| module).
-Modules are loaded using the |\usepgfmodule| command. 
+The basic layer consists of a \emph{core package}, called |pgfcore|, which
+provides the most basic commands, and several \emph{modules} like commands for
+plotting (in the |plot| module). Modules are loaded using the |\usepgfmodule|
+command.
 
-If you say |\usepackage{pgf}| or |\input pgf.tex| or
-|\usemodule[pgf]|, the |plot| and |shapes| modules are preloaded (as
-well as the core and the system layer).
+If you say |\usepackage{pgf}| or |\input pgf.tex| or |\usemodule[pgf]|, the
+|plot| and |shapes| modules are preloaded (as well as the core and the system
+layer).
 
 
-
 \subsection{Communicating with the Basic Layer via Macros}
 
-In order to ``communicate'' with the basic layer you use long
-sequences of commands that start with |\pgf|. You are only allowed to
-give these commands inside a |{pgfpicture}| environment. (Note that
-|{tikzpicture}| opens a |{pgfpicture}| internally, so you can freely
-mix \pgfname\ commands and \tikzname\ commands inside a
-|{tikzpicture}|.) It is possible to ``do other things'' between the
-commands. For example, you might use one command to move to a certain
-point, then have a complicated computation of the next point, and then
-move there. 
-
+In order to ``communicate'' with the basic layer you use long sequences of
+commands that start with |\pgf|. You are only allowed to give these commands
+inside a |{pgfpicture}| environment. (Note that |{tikzpicture}| opens a
+|{pgfpicture}| internally, so you can freely mix \pgfname\ commands and
+\tikzname\ commands inside a |{tikzpicture}|.) It is possible to ``do other
+things'' between the commands. For example, you might use one command to move
+to a certain point, then have a complicated computation of the next point, and
+then move there.
+%
 \begin{codeexample}[]
 \newdimen\myypos
 \begin{pgfpicture}
@@ -71,94 +68,79 @@
 \end{codeexample}
 
 The following naming conventions are used in the basic layer:
-
+%
 \begin{enumerate}
-\item
-  All commands and environments start with |pgf|.
-\item
-  All commands that specify a point (a coordinate) start with |\pgfpoint|.
-\item
-  All commands that extend the current path start with |\pgfpath|.
-\item
-  All commands that set/change a graphics parameter start with |\pgfset|.
-\item
-  All commands that use a previously declared object (like a path,
-  image or shading) start with |\pgfuse|.
-\item
-  All commands having to do with coordinate transformations start with
-  |\pgftransform|. 
-\item
-  All commands having to do with arrow tips start with |\pgfarrows|.
-\item
-  All commands for ``quickly'' extending or drawing a path start with
-  |\pgfpathq| or |\pgfusepathq|.
-\item
-  All commands having to do with matrices start with |\pgfmatrix|.
+    \item All commands and environments start with |pgf|.
+    \item All commands that specify a point (a coordinate) start with
+        |\pgfpoint|.
+    \item All commands that extend the current path start with |\pgfpath|.
+    \item All commands that set/change a graphics parameter start with
+        |\pgfset|.
+    \item All commands that use a previously declared object (like a path,
+        image or shading) start with |\pgfuse|.
+    \item All commands having to do with coordinate transformations start with
+        |\pgftransform|.
+    \item All commands having to do with arrow tips start with |\pgfarrows|.
+    \item All commands for ``quickly'' extending or drawing a path start with
+        |\pgfpathq| or |\pgfusepathq|.
+    \item All commands having to do with matrices start with |\pgfmatrix|.
 \end{enumerate}
 
 
 \subsection{Path-Centered Approach}
 
-In \pgfname\ the most important entity is the \emph{path}. All
-graphics are composed of numerous paths that can be stroked,
-filled, shaded, or clipped against. Paths can be closed or open, they
-can self-intersect and consist of unconnected parts.
+In \pgfname\ the most important entity is the \emph{path}. All graphics are
+composed of numerous paths that can be stroked, filled, shaded, or clipped
+against. Paths can be closed or open, they can self-intersect and consist of
+unconnected parts.
 
-Paths are first \emph{constructed} and then \emph{used}. In order to
-construct a path, you can use commands starting with |\pgfpath|. Each
-time such a command is called, the current path is extended in some
-way.
+Paths are first \emph{constructed} and then \emph{used}. In order to construct
+a path, you can use commands starting with |\pgfpath|. Each time such a command
+is called, the current path is extended in some way.
 
-Once a path has been completely constructed, you can use it using the
-command |\pgfusepath|. Depending on the parameters given to this
-command, the path will be stroked (drawn) or filled or subsequent
-drawings will be clipped against this path.
+Once a path has been completely constructed, you can use it using the command
+|\pgfusepath|. Depending on the parameters given to this command, the path will
+be stroked (drawn) or filled or subsequent drawings will be clipped against
+this path.
 
 
-
-
 \subsection{Coordinate Versus Canvas Transformations}
-
 \label{section-design-transformations}
 
-\pgfname\ provides two transformation systems: \pgfname's own
-\emph{coordinate} transformation matrix and \pdf's or PostScript's
-\emph{canvas} transformation matrix. These two systems are quite
-different. Whereas a scaling by a factor of, say, $2$ of the canvas
-causes \emph{everything} to be scaled by this factor (including
-the thickness of lines and text), a scaling of two in the coordinate 
-system causes only the \emph{coordinates} to be scaled, but not the
-line width nor text.
+\pgfname\ provides two transformation systems: \pgfname's own \emph{coordinate}
+transformation matrix and \pdf's or PostScript's \emph{canvas} transformation
+matrix. These two systems are quite different. Whereas a scaling by a factor
+of, say, $2$ of the canvas causes \emph{everything} to be scaled by this factor
+(including the thickness of lines and text), a scaling of two in the coordinate
+system causes only the \emph{coordinates} to be scaled, but not the line width
+nor text.
 
-By default, all transformations only apply to the coordinate
-transformation system. However, using the command |\pgflowlevel|
-it is possible to apply a transformation to the canvas.
+By default, all transformations only apply to the coordinate transformation
+system. However, using the command |\pgflowlevel| it is possible to apply a
+transformation to the canvas.
 
-Coordinate transformations are often preferable over canvas
-transformations. Text and lines that are transformed using canvas 
-transformations suffer from differing sizes and lines whose thickness 
-differs depending on whether the line is horizontal or vertical. To
-appreciate the difference, consider the following two ``circles'' both
-of which have been scaled in the $x$-direction by a factor of $3$ and
-by a factor of $0.5$ in the $y$-direction. The left circle uses a
-canvas transformation, the right uses \pgfname's coordinate
-transformation (some viewers will render the left graphic incorrectly
-since they do no apply the low-level transformation the way they
-should):  
+Coordinate transformations are often preferable over canvas transformations.
+Text and lines that are transformed using canvas transformations suffer from
+differing sizes and lines whose thickness differs depending on whether the line
+is horizontal or vertical. To appreciate the difference, consider the following
+two ``circles'' both of which have been scaled in the $x$-direction by a factor
+of $3$ and by a factor of $0.5$ in the $y$-direction. The left circle uses a
+canvas transformation, the right uses \pgfname's coordinate transformation
+(some viewers will render the left graphic incorrectly since they do no apply
+the low-level transformation the way they should):
 
 \begin{tikzpicture}[line width=5pt]
-  \useasboundingbox (-1.75,-1) rectangle (14,1);
-  
-  \begin{scope}
-    \pgflowlevel{\pgftransformxscale{3}}
-    \pgflowlevel{\pgftransformyscale{.5}}
+    \useasboundingbox (-1.75,-1) rectangle (14,1);
 
-    \draw (0,0) circle (0.5cm);
-    \draw (.55cm,0pt) node[right] {canvas};
-  \end{scope}
-  \begin{scope}[xshift=9cm,xscale=3,yscale=.5]
-    \draw (0,0) circle (0.5cm);
-    \draw (.55cm,0pt) node[right] {coordinate};
-  \end{scope}
+    \begin{scope}
+        \pgflowlevel{\pgftransformxscale{3}}
+        \pgflowlevel{\pgftransformyscale{.5}}
+
+        \draw (0,0) circle (0.5cm);
+        \draw (.55cm,0pt) node[right] {canvas};
+    \end{scope}
+    \begin{scope}[xshift=9cm,xscale=3,yscale=.5]
+        \draw (0,0) circle (0.5cm);
+        \draw (.55cm,0pt) node[right] {coordinate};
+    \end{scope}
 \end{tikzpicture}
-

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -11,87 +11,82 @@
 \section{Externalizing Graphics}
 \label{section-external}
 
-
 \subsection{Overview}
 
-There are two fundamentally different ways of inserting graphics into
-a \TeX-document. First, you can create a graphic using some external
-program like |xfig| or |InDesign| and then include this graphic in
-your text. This is done using commands like |\includegraphics| or
-|\pgfimage|. In this case, the graphic file contains all the low-level
-graphic commands that describe the picture. When such a file is
-included, all \TeX\ has to worry about is the size of the picture; the
-internals of the picture are unknown to \TeX\ and it does not care
-about them.
+There are two fundamentally different ways of inserting graphics into a
+\TeX-document. First, you can create a graphic using some external program like
+|xfig| or |InDesign| and then include this graphic in your text. This is done
+using commands like |\includegraphics| or |\pgfimage|. In this case, the
+graphic file contains all the low-level graphic commands that describe the
+picture. When such a file is included, all \TeX\ has to worry about is the size
+of the picture; the internals of the picture are unknown to \TeX\ and it does
+not care about them.
 
-The second method of creating graphics is to use a special package
-that transforms \TeX-commands like |\draw| or |\psline| into
-appropriate low-level graphic commands. In this case, \TeX\ has to do
-all the hard work of ``typesetting'' the picture and if a picture has
-a complicated internal structure this may take a lot of time.
+The second method of creating graphics is to use a special package that
+transforms \TeX-commands like |\draw| or |\psline| into appropriate low-level
+graphic commands. In this case, \TeX\ has to do all the hard work of
+``typesetting'' the picture and if a picture has a complicated internal
+structure this may take a lot of time.
 
-While \pgfname\ was created to facilitate the second method of
-creating pictures, there are two main reasons why you may need to
-employ the first method of image-inclusion, nevertheless:
-
+While \pgfname\ was created to facilitate the second method of creating
+pictures, there are two main reasons why you may need to employ the first
+method of image-inclusion, nevertheless:
+%
 \begin{enumerate}
-\item Typesetting a picture using \TeX\ can be a very time-consuming
-  process. If \TeX\ needs a minute to typeset a picture, you do not
-  want to wait this minute when you re\TeX\ your document after having
-  changed a single comma.
-\item Some users, especially journal editors, may not be able to
-  process files that contain \pgfname\ commands -- for the simple
-  reason that the systems of many publishing houses do not have
-  \pgfname\ installed. 
+    \item Typesetting a picture using \TeX\ can be a very time-consuming
+        process. If \TeX\ needs a minute to typeset a picture, you do not want
+        to wait this minute when you re\TeX\ your document after having changed
+        a single comma.
+    \item Some users, especially journal editors, may not be able to process
+        files that contain \pgfname\ commands -- for the simple reason that the
+        systems of many publishing houses do not have \pgfname\ installed.
 \end{enumerate}
 
-In both cases, the solution is to ``extract'' or ``externalize''
-pictures that would normally be typeset every time a document is \TeX
-ed. Once the pictures have been extracted into separate graphics
-files, these graphic files can be reinserted into the text using the
-first method.
+In both cases, the solution is to ``extract'' or ``externalize'' pictures that
+would normally be typeset every time a document is \TeX ed. Once the pictures
+have been extracted into separate graphics files, these graphic files can be
+reinserted into the text using the first method.
 
-Extracting a graphic from a file is not as easy as it may sound at
-first since \TeX\ cannot write parts of its output into different
-files and a bit of trickery is needed. The following macros
-simplify the workflow: 
-
+Extracting a graphic from a file is not as easy as it may sound at first since
+\TeX\ cannot write parts of its output into different files and a bit of
+trickery is needed. The following macros simplify the workflow:
+%
 \begin{enumerate}
-\item You have to tell \pgfname\ which files will be used for which
-  pictures. To do so, you enclose each picture that you wish to be
-  ``externalized'' in a pair of |\beginpgfgraphicnamed| and
-  |\endpgfgraphicnamed| macros.
-\item The next step is to generate the extracted graphics. For this
-  you run \TeX\ with the |\jobname| set to the graphic file's
-  name. This will cause |\pgfname| to behave in a very special way:
-  All of your document will simply be thrown away, \emph{except} for
-  the single graphic having the same name as the current jobname.
-\item After you have run \TeX\ once for each graphic that your wish to
-  externalize, you can rerun \TeX\ on your document normally. This
-  will have the following effect: Each time a |\beginpgfgraphicnamed|
-  is encountered, \pgfname\ checks whether a graphic file of the given
-  name exists (if you did step 2, it will). If this graphic file
-  exists, it will be input and the text till the corresponding
-  |\endpgfgraphicnamed| will be ignored.
+    \item You have to tell \pgfname\ which files will be used for which
+        pictures. To do so, you enclose each picture that you wish to be
+        ``externalized'' in a pair of |\beginpgfgraphicnamed| and
+        |\endpgfgraphicnamed| macros.
+    \item The next step is to generate the extracted graphics. For this you run
+        \TeX\ with the |\jobname| set to the graphic file's name. This will
+        cause |\pgfname| to behave in a very special way: All of your document
+        will simply be thrown away, \emph{except} for the single graphic having
+        the same name as the current jobname.
+    \item After you have run \TeX\ once for each graphic that your wish to
+        externalize, you can rerun \TeX\ on your document normally. This will
+        have the following effect: Each time a |\beginpgfgraphicnamed| is
+        encountered, \pgfname\ checks whether a graphic file of the given name
+        exists (if you did step 2, it will). If this graphic file exists, it
+        will be input and the text till the corresponding |\endpgfgraphicnamed|
+        will be ignored.
 \end{enumerate}
 
-In the rest of this section, the above workflow is explained in more
-detail.
+In the rest of this section, the above workflow is explained in more detail.
 
 
 \subsection{Workflow Step 1: Naming Graphics}
 
-In order to put each graphic in an external file, you first need to
-tell \pgfname\ the names of these files.
+In order to put each graphic in an external file, you first need to tell
+\pgfname\ the names of these files.
 
 \begin{command}{\beginpgfgraphicnamed\marg{file name prefix}}
-  This command indicates that everything up to
-  the next call of |\endpgfgraphicnamed| is part of a graphic that
-  should be placed in a file named \meta{file name
-    prefix}|.|\meta{suffix}, where the \meta{suffix} depends on your
-  backend driver. Typically, \meta{suffix} will be |dvi| or |pdf|.
+    This command indicates that everything up to the next call of
+    |\endpgfgraphicnamed| is part of a graphic that should be placed in a file
+    named \meta{file name prefix}|.|\meta{suffix}, where the \meta{suffix}
+    depends on your backend driver. Typically, \meta{suffix} will be |dvi| or
+    |pdf|.
 
-  Here is a typical example of how this command is used:
+    Here is a typical example of how this command is used:
+    %
 \begin{codeexample}[code only]
 % In file main.tex:
 ...
@@ -107,65 +102,69 @@
 \end{figure}
 \end{codeexample}
 
-  Each graphic to be externalized should have a unique name. Note
-  that this name will be used as the name of a file in the file
-  system, so it should not contain any funny characters.
+    Each graphic to be externalized should have a unique name. Note that this
+    name will be used as the name of a file in the file system, so it should
+    not contain any funny characters.
 
-  This command can have three different effects:
-  \begin{enumerate}
-  \item The easiest situation arises if there does not yet exist a
-    graphic file called \meta{file name  prefix}|.|\meta{suffix},
-    where the \meta{suffix} is one of the suffixes understood by your
-    current backend driver (so |pdf| or |jpg| if you use |pdftex|,
-    |eps| if you use |dvips|, and so on). In this case, both this
-    command and the |\endpgfgraphicnamed| command simply have no
-    effect. 
-  \item A more complex situation arises when a graphic file named
-    \meta{file name  prefix}|.|\meta{suffix} \emph{does} exist. In
-    this case, this graphic file is included using the
-    |\includegraphics| command%
-	\footnote{Actually, the command key \texttt{/pgf/images/include external} is invoked which calls an appropriate \texttt{\textbackslash includegraphics} command.}.
-	Furthermore, the text between
-    |\beginpgfgraphicnamed| and |\endpgfgraphicnamed| is ignored.
+    This command can have three different effects:
+    %
+    \begin{enumerate}
+        \item The easiest situation arises if there does not yet exist a
+            graphic file called \meta{file name  prefix}|.|\meta{suffix}, where
+            the \meta{suffix} is one of the suffixes understood by your current
+            backend driver (so |pdf| or |jpg| if you use |pdftex|, |eps| if you
+            use |dvips|, and so on). In this case, both this command and the
+            |\endpgfgraphicnamed| command simply have no effect.
+        \item A more complex situation arises when a graphic file named
+            \meta{file name  prefix}|.|\meta{suffix} \emph{does} exist. In this
+            case, this graphic file is included using the |\includegraphics|
+            command%
+            %
+            \footnote{Actually, the command key \texttt{/pgf/images/include
+            external} is invoked which calls an appropriate
+            \texttt{\textbackslash includegraphics} command.}.
+            %
+            Furthermore, the text between |\beginpgfgraphicnamed| and
+            |\endpgfgraphicnamed| is ignored.
 
-    When the text is ``ignored,'' what actually happens is that all
-    text up to the next occurrence  of |\endpgfgraphicnamed| is thrown
-    away without any macro expansion. This means, in particular, that
-    (a) you cannot put |\endpgfgraphicnamed| inside a macro and (b)
-    the macros used in the graphics need not be defined at all when
-    the graphic file is included.
-  \item The most complex behaviour arises when current the |\jobname|
-    equals the \meta{file name prefix} and, furthermore, the
-    \emph{real job name} has been declared. The behaviour for this
-    case is explained later.
-  \end{enumerate}
+            When the text is ``ignored'', what actually happens is that all
+            text up to the next occurrence of |\endpgfgraphicnamed| is thrown
+            away without any macro expansion. This means, in particular, that
+            (a) you cannot put |\endpgfgraphicnamed| inside a macro and (b) the
+            macros used in the graphics need not be defined at all when the
+            graphic file is included. \item The most complex behaviour arises
+            when current the |\jobname| equals the \meta{file name prefix} and,
+            furthermore, the \emph{real job name} has been declared. The
+            behaviour for this case is explained later.
+    \end{enumerate}
 
-  Note that the |\beginpgfgraphicnamed| does not really have any
-  effect until you have generated the graphic files named. Till then,
-  this command is simply ignored. Also, if you delete the graphics
-  file later on, the graphics are typeset normally once more.
+    Note that the |\beginpgfgraphicnamed| does not really have any effect until
+    you have generated the graphic files named. Till then, this command is
+    simply ignored. Also, if you delete the graphics file later on, the
+    graphics are typeset normally once more.
 \end{command}
 
 \begin{command}{\endpgfgraphicnamed}
-  This command just marks the end of the graphic that should be
-  externalized.
+    This command just marks the end of the graphic that should be externalized.
 \end{command}
 
 
 \subsection{Workflow Step 2: Generating the External Graphics}
 
-We have now indicated all the graphics for which we would like graphic
-files to be generated. In order to generate the files, you now need to
-modify the |\jobname| appropriately. This is done in two steps:
-
+We have now indicated all the graphics for which we would like graphic files to
+be generated. In order to generate the files, you now need to modify the
+|\jobname| appropriately. This is done in two steps:
+%
 \begin{enumerate}
-\item You use the following command to tell \pgfname\ the real name of
-  your |.tex| file:
-  \begin{command}{\pgfrealjobname\marg{name}}
-    Tells \pgfname\ the real name of your job. For instance, if you
-    have a file called |survey.tex| that contains two graphics that
-    you wish to be called |survey-graphic1| and |survey-graphic2|,
-    then you should write the following.
+    \item You use the following command to tell \pgfname\ the real name of your
+        |.tex| file:
+        %
+        \begin{command}{\pgfrealjobname\marg{name}}
+            Tells \pgfname\ the real name of your job. For instance, if you
+            have a file called |survey.tex| that contains two graphics that you
+            wish to be called |survey-graphic1| and |survey-graphic2|, then you
+            should write the following.
+            %
 \begin{codeexample}[code only]
 % This is file survey.tex
 \documentclass{article}
@@ -173,138 +172,148 @@
 \usepackage{tikz}
 \pgfrealjobname{survey}
 \end{codeexample}
-  \end{command}
-\item  You run \TeX\ with the |\jobname| set to the name of
-the graphic for which you need an external graphic to be generated.
-To set the |\jobname|, you use the |--jobname=| option of \TeX:
-
+        \end{command}
+    \item You run \TeX\ with the |\jobname| set to the name of the graphic for
+        which you need an external graphic to be generated. To set the
+        |\jobname|, you use the |--jobname=| option of \TeX:
+        %
 \begin{codeexample}[code only, tikz syntax=false]
 bash> latex --jobname=survey-graphic1 survey.tex
 \end{codeexample}
+        %
 \end{enumerate}
 
 The following things will now happen:
+%
 \begin{enumerate}
-\item |\pgfrealjobname| notices that the |\jobname|
-  is not the ``real'' jobname and, thus, must be the name of a graphic
-  that is to be put in an external file.
-\item At the beginning of the document, \pgfname\ changes the
-  definition of \TeX's internal |\shipout| macro. The new shipout
-  macro simply throws away the output. This means that the document is
-  typeset normally, but no output is produced.
-\item When the |\beginpgfgraphicnamed{|\meta{name}|}| command is
-  encountered where the \meta{name} is the same as the current
-  |\jobname|, then a \TeX-box is started and \meta{everything} up to the
-  following |\endpgfgraphicnamed| command is stored inside this box.
+    \item |\pgfrealjobname| notices that the |\jobname| is not the ``real''
+        jobname and, thus, must be the name of a graphic that is to be put in
+        an external file.
+    \item At the beginning of the document, \pgfname\ changes the definition of
+        \TeX's internal |\shipout| macro. The new shipout macro simply throws
+        away the output. This means that the document is typeset normally, but
+        no output is produced.
+    \item When the |\beginpgfgraphicnamed{|\meta{name}|}| command is
+        encountered where the \meta{name} is the same as the current
+        |\jobname|, then a \TeX-box is started and \meta{everything} up to the
+        following |\endpgfgraphicnamed| command is stored inside this box.
 
-  Note that, typically, \meta{everything} will contain just a single
-  |{tikzpicture}| or |{pgfpicture}| environment. However, this need
-  not be the case, you can use, say, a |{pspicture}| environment as
-  \meta{everything} or even just some normal \TeX-text.  
-\item At the |\endpgfgraphicnamed|, the box \emph{is} shipped out
-  using the original |\shipout| command. Thus, unlike everything else,
-  the contents of the graphic is made part of the output.
-\item When the box containing the graphic is shipped out, the paper
-  size is modified such that it is exactly equal to the height and width
-  of the box. 
+        Note that, typically, \meta{everything} will contain just a single
+        |{tikzpicture}| or |{pgfpicture}| environment. However, this need not
+        be the case, you can use, say, a |{pspicture}| environment as
+        \meta{everything} or even just some normal \TeX-text.
+    \item At the |\endpgfgraphicnamed|, the box \emph{is} shipped out using the
+        original |\shipout| command. Thus, unlike everything else, the contents
+        of the graphic is made part of the output.
+    \item When the box containing the graphic is shipped out, the paper size is
+        modified such that it is exactly equal to the height and width of the
+        box.
 \end{enumerate}
 
-The net effect of everything described above is that the two
-commands
+The net effect of everything described above is that the two commands
+%
 \begin{codeexample}[code only, tikz syntax=false]
 bash> latex --jobname=survey-graphic1 survey.tex
 bash> dvips survey-graphic1
 \end{codeexample}
+%
 \noindent produce a file called |survey-graphic1.ps| that consists of a single
 page that contains exactly the graphic produced by the code between
-|\beginpgfgraphicnamed{survey-graphic1}| and
-|\endpgfgraphicnamed|. Furthermore, the size of this single page is
-exactly the size of the graphic.
+|\beginpgfgraphicnamed{survey-graphic1}| and |\endpgfgraphicnamed|.
+Furthermore, the size of this single page is exactly the size of the graphic.
 
 If you use pdf\TeX, producing the graphic is even simpler:
+%
 \begin{codeexample}[code only, tikz syntax=false]
 bash> pdflatex --jobname=survey-graphic1 survey.tex
 \end{codeexample}
+%
 \noindent produces the single-page |pdf|-file |survey-graphic1.pdf|.
 
+
 \subsection{Workflow Step 3: Including the External Graphics}
 
-Once you have produced all the pictures in the text, including them
-into the main document is easy: Simply run \TeX\ again without any
-modification of the |\jobname|. In this case the
-|\pgfrealjobname| command will notice that the main file is, indeed,
-the main file. The main file will then be typeset normally and the
-|\beginpgfgraphicnamed| commands also behave normally, which means
-that they will try to include the generated graphic files -- which is
+Once you have produced all the pictures in the text, including them into the
+main document is easy: Simply run \TeX\ again without any modification of the
+|\jobname|. In this case the |\pgfrealjobname| command will notice that the
+main file is, indeed, the main file. The main file will then be typeset
+normally and the |\beginpgfgraphicnamed| commands also behave normally, which
+means that they will try to include the generated graphic files -- which is
 exactly what you want.
 
-Suppose that you wish to send your survey to a journal that does not
-have \pgfname\ installed. In this case, you now have all the necessary
-external graphics, but you still need \pgfname\ to automatically
-include them instead of the executing the picture code! One way to
-solve this problem is to simply delete all of the \pgfname\ or
-\tikzname\ code from your |survey.tex| and instead insert appropriate
-|\includegraphics| commands ``by hand.'' However, there is a better
-way: You input the file |pgfexternal.tex|.
+Suppose that you wish to send your survey to a journal that does not have
+\pgfname\ installed. In this case, you now have all the necessary external
+graphics, but you still need \pgfname\ to automatically include them instead of
+the executing the picture code! One way to solve this problem is to simply
+delete all of the \pgfname\ or \tikzname\ code from your |survey.tex| and
+instead insert appropriate |\includegraphics| commands ``by hand''. However,
+there is a better way: You input the file |pgfexternal.tex|.
 
 \begin{filedescription}{pgfexternal.tex}
-  This file defines the command |\beginpgfgraphicnamed| and causes it
-  to have the following effect: It includes the graphic file given as
-  a parameter to it and then gobbles everything up to
-  |\endpgfgraphicnamed|.
+    This file defines the command |\beginpgfgraphicnamed| and causes it to have
+    the following effect: It includes the graphic file given as a parameter to
+    it and then gobbles everything up to |\endpgfgraphicnamed|.
 
-  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|.
+    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|.
 
-  Indeed, the contents of this file is simply the following line:
+    Indeed, the contents of this file is simply the following line:
+    %
 \begin{codeexample}[code only]
 \long\def\beginpgfgraphicnamed#1#2\endpgfgraphicnamed{\includegraphics{#1}}
 \end{codeexample}
 
-  Instead of |\input pgfexternal.tex| you could also include this line
-  in your main file. 
+    Instead of |\input pgfexternal.tex| you could also include this line in
+    your main file.
 \end{filedescription}
 
-As a final remark, note that the |baseline| option does not work directly
-with pictures written to an external graphic file. The simple
-reason is that there is no way to store this baseline information in
-an external graphic file. To allow the |baseline| option (or any \TeX\ construction
-with non-zero depth), the baseline information is stored into a separate file.
-This file is named \marg{image file}|.dpth| and contains something like |5pt|.
+As a final remark, note that the |baseline| option does not work directly with
+pictures written to an external graphic file. The simple reason is that there
+is no way to store this baseline information in an external graphic file. To
+allow the |baseline| option (or any \TeX\ construction with non-zero depth),
+the baseline information is stored into a separate file. This file is named
+\marg{image file}|.dpth| and contains something like |5pt|.
 
-So, if you need baseline information, you will have to keep the external graphic file
-together with its~|.dpth| file. Furthermore, the short command in |\input pgfexternal.tex|
-is no longer enough because it ignores any baseline information. You will need to use
-|\input pgfexternalwithdepth.tex| instead (it is shown below). It is slightly longer,
-but it can be used in the same way as |pgfexternal.tex|.
+So, if you need baseline information, you will have to keep the external
+graphic file together with its~|.dpth| file. Furthermore, the short command in
+|\input pgfexternal.tex| is no longer enough because it ignores any baseline
+information. You will need to use |\input pgfexternalwithdepth.tex| instead (it
+is shown below). It is slightly longer, but it can be used in the same way as
+|pgfexternal.tex|.
 
 \begin{key}{/pgf/images/include external (initially \textbackslash pgfimage\{\#1\})}
 \label{pgf:includeexternalkey}
 \index{External Graphics!Bounding Box Issues}
-	This key constitutes the public interface to exchange the |\includegraphics| command used for the image inclusion.
+    This key constitutes the public interface to exchange the
+    |\includegraphics| command used for the image inclusion.
 
-	Redefining this key allows to provide bounding box or viewport options:
+    Redefining this key allows to provide bounding box or viewport options:
+    %
 \begin{codeexample}[code only]
 \pgfkeys{/pgf/images/include external/.code={\includegraphics[viewport=0 0 211.28 175.686]{#1}}}
 \end{codeexample}
-	Do not forget the |.code| here which redefines the command.
+    %
+    Do not forget the |.code| here which redefines the command.
 
-	One application could be image externalization and bounding box restrictions: 
-	As far as I know, a |.pdf| graphics with restricted bounding box 
-	is always cropped (which is not always desired). One solution could be to use |latex| and |dvips|
-	which doesn't have this restriction. Another is to manually provide the |viewport| option as shown above.
+    One application could be image externalization and bounding box
+    restrictions: As far as I know, a |.pdf| graphics with restricted bounding
+    box is always cropped (which is not always desired). One solution could be
+    to use |latex| and |dvips| which doesn't have this restriction. Another is
+    to manually provide the |viewport| option as shown above.
 
-	A possible value for |viewport| can be found in the |.pdf| image, search for |/MediaBox = [ ... ]|.
+    A possible value for |viewport| can be found in the |.pdf| image, search
+    for |/MediaBox = [ ... ]|.
 \end{key}
 
+
 \subsection{A Complete Example}
 
-Let us now have a look at a simple, but complete example. We start out
-with a normal file called |survey.tex| that has the following
-contents:
+Let us now have a look at a simple, but complete example. We start out with a
+normal file called |survey.tex| that has the following contents:
+%
 \begin{codeexample}[code only]
 % This is the file survey.tex
 \documentclass{article}
@@ -325,10 +334,10 @@
 \end{document}
 \end{codeexample}
 
-Now our editor tells us that the publisher will need all figures to be
-provided in separate PostScript or |.pdf|-files. For this, we 
-enclose all figures in |...graphicnamed|-pairs and we add a call to
-the |\pgfrealjobname| macro:
+Now our editor tells us that the publisher will need all figures to be provided
+in separate PostScript or |.pdf|-files. For this, we enclose all figures in
+|...graphicnamed|-pairs and we add a call to the |\pgfrealjobname| macro:
+%
 \begin{codeexample}[code only]
 % This is the file survey.tex
 \documentclass{article}
@@ -354,12 +363,12 @@
 \end{document}
 \end{codeexample}
 
-After these changes, typesetting the file will still yield the same
-output as it did before -- after all, we have not yet created any
-external graphics.
+After these changes, typesetting the file will still yield the same output as
+it did before -- after all, we have not yet created any external graphics.
 
-To create the external graphics, we run |pdflatex| twice, once for
-each graphic:
+To create the external graphics, we run |pdflatex| twice, once for each
+graphic:
+%
 \begin{codeexample}[code only, tikz syntax=false]
 bash> pdflatex --jobname=survey-f1 survey.tex
 This is pdfTeX, Version 3.141592-1.40.3 (Web2C 7.5.6)
@@ -390,6 +399,7 @@
 |\usepackage{tikz}| and they do not have \pgfname\ installed.
 
 Thus, we modify the main file |survey.tex| as follows:
+%
 \begin{codeexample}[code only]
 % This is the file survey.tex
 \documentclass{article}
@@ -415,9 +425,11 @@
 \endpgfgraphicnamed
 \end{document}
 \end{codeexample}
+%
 If we now run pdf\LaTeX, then, indeed, \pgfname\ is no longer needed:
 % In the following, we switch off typesetting of listings because the
 % parentheses confuse the pretty printer
+%
 \begin{codeexample}[code only,typeset listing/.code=#1]
 bash> pdflatex survey.tex
 This is pdfTeX, Version 3.141592-1.40.3 (Web2C 7.5.6)
@@ -445,25 +457,33 @@
 Transcript written on survey.log.
 \end{codeexample}
 
- To our editor, we send the following files:
+To our editor, we send the following files:
+%
 \begin{itemize}
-\item The last |survey.tex| shown above.
-\item The graphic file |survey-f1.pdf|.
-\item The graphic file |survey-f2.pdf|.
-\item The file |pgfexternal.tex|, whose contents is simply
+    \item The last |survey.tex| shown above.
+    \item The graphic file |survey-f1.pdf|.
+    \item The graphic file |survey-f2.pdf|.
+    \item The file |pgfexternal.tex|, whose contents is simply
+        %
 \begin{codeexample}[code only]
 \long\def\beginpgfgraphicnamed#1#2\endpgfgraphicnamed{\includegraphics{#1}}
 \end{codeexample}
-  (Alternatively, we can also directly add this line to our
-  |survey.tex| file).
+        %
+        (Alternatively, we can also directly add this line to our |survey.tex|
+        file).
 \end{itemize}
-In case we have used the |baseline| option, we also need to include any |.dpth| files and we need to use the file |pgfexternalwithdepth.tex| instead of |pgfexternal.tex|. This file also checks for the existence of |.dpth| files containing baseline information, its contents is
+%
+In case we have used the |baseline| option, we also need to include any |.dpth|
+files and we need to use the file |pgfexternalwithdepth.tex| instead of
+|pgfexternal.tex|. This file also checks for the existence of |.dpth| files
+containing baseline information, its contents is
+%
 \begin{codeexample}[code only]
 \long\def\beginpgfgraphicnamed#1#2\endpgfgraphicnamed{%
     \begingroup
     \setbox1=\hbox{\includegraphics{#1}}%
     \openin1=#1.dpth
-    \ifeof1 \box1 
+    \ifeof1 \box1
     \else
         \read1 to\pgfincludeexternalgraphicsdp\closein1
         \dimen0=\pgfincludeexternalgraphicsdp\relax
@@ -472,10 +492,11 @@
     \endgroup
 }
 \end{codeexample}
+%
 Again, we could simply copy these lines to our |survey.tex| file.
 
 
-%%% Local Variables: 
+%%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"
-%%% End: 
+%%% End:

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -11,7 +11,6 @@
 \section{Declaring and Using Images}
 \label{section-images}
 
-
 This section describes the commands for creating images.
 
 
@@ -19,110 +18,104 @@
 
 To be quite frank, \LaTeX's |\includegraphics| is designed better than
 \pgfname's image mechanism. For this reason, \emph{I recommend that you use the
-  standard image inclusion mechanism of your format}. Thus, \LaTeX\
-users are encouraged to use |\includegraphics| to include images.
+standard image inclusion mechanism of your format}. Thus, \LaTeX\ users are
+encouraged to use |\includegraphics| to include images.
 
-However, there are reasons why you might need to use the image
-inclusion facilities of \pgfname:
+However, there are reasons why you might need to use the image inclusion
+facilities of \pgfname:
+%
 \begin{itemize}
-\item
-  There is no standard image inclusion mechanism in your format. For
-  example, plain \TeX\ does not have one, so \pgfname's inclusion
-  mechanism is ``better than nothing.''
+    \item There is no standard image inclusion mechanism in your format. For
+        example, plain \TeX\ does not have one, so \pgfname's inclusion
+        mechanism is ``better than nothing''.
 
-  However, this applies only to the |pdftex| backend. For all other
-  backends, \pgfname\ currently maps its commands back to the |graphicx|
-  package. Thus, in plain \TeX, this does not really help. It might be
-  a good idea to fix this in the future such that \pgfname\ becomes
-  independent of \LaTeX, thereby providing a uniform image abstraction
-  for all formats.
-\item
-  You wish to use masking. This is a feature that is only supported by
-  \pgfname, though I hope that someone will implement this also for
-  the graphics package in \LaTeX\ in the future.
+        However, this applies only to the |pdftex| backend. For all other
+        backends, \pgfname\ currently maps its commands back to the |graphicx|
+        package. Thus, in plain \TeX, this does not really help. It might be a
+        good idea to fix this in the future such that \pgfname\ becomes
+        independent of \LaTeX, thereby providing a uniform image abstraction
+        for all formats.
+    \item You wish to use masking. This is a feature that is only supported by
+        \pgfname, though I hope that someone will implement this also for the
+        graphics package in \LaTeX\ in the future.
 \end{itemize}
 
-Whatever your choice, you can still use the usual image inclusion
-facilities of the |graphics| package.
+Whatever your choice, you can still use the usual image inclusion facilities of
+the |graphics| package.
 
-The general approach taken by \pgfname\ to including an image is the
-following: First, |\pgfdeclareimage| declares the
-image. This must be done prior to the first use of the image. Once you
-have declared an image, you can insert it into the text using
-|\pgfuseimage|. The advantage of this two-phase approach is that, at
-least for \textsc{pdf}, the image data will only be included once in the
-file. This can drastically reduce the file size if you use an image
-repeatedly, for example in an overlay. However, there is also a
-command called |\pgfimage| that declares and then immediately uses the
-image.
+The general approach taken by \pgfname\ to including an image is the following:
+First, |\pgfdeclareimage| declares the image. This must be done prior to the
+first use of the image. Once you have declared an image, you can insert it into
+the text using |\pgfuseimage|. The advantage of this two-phase approach is
+that, at least for \textsc{pdf}, the image data will only be included once in
+the file. This can drastically reduce the file size if you use an image
+repeatedly, for example in an overlay. However, there is also a command called
+|\pgfimage| that declares and then immediately uses the image.
 
-To speedup the compilation, you may wish to use the following class
-option:
+To speedup the compilation, you may wish to use the following class option:
+%
 \begin{packageoption}{draft}
-  In draft mode boxes showing the image name replace the
-  images. It is checked whether the image files exist, but they are
-  not read. If either height or width is not given, 1cm is used
-  instead.
+    In draft mode boxes showing the image name replace the images. It is
+    checked whether the image files exist, but they are not read. If either
+    height or width is not given, 1cm is used instead.
 \end{packageoption}
 
+
 \subsection{Declaring an Image}
 
-\begin{command}{\pgfdeclareimage\oarg{options}\marg{image
-      name}\marg{filename}}
-  Declares an image, but does not paint anything. To draw the image,
-  use |\pgfuseimage{|\meta{image name}|}|. The \meta{filename} may not
-  have an extension.  For \textsc{pdf}, the extensions |.pdf|, |.jpg|,
-  and |.png| will automatically tried. For PostScript, the extensions
-  |.eps|, |.epsi|, and |.ps| will be tried.
+\begin{command}{\pgfdeclareimage\oarg{options}\marg{image name}\marg{filename}}
+    Declares an image, but does not paint anything. To draw the image, use
+    |\pgfuseimage{|\meta{image name}|}|. The \meta{filename} may not have an
+    extension.  For \textsc{pdf}, the extensions |.pdf|, |.jpg|, and |.png|
+    will automatically tried. For PostScript, the extensions |.eps|, |.epsi|,
+    and |.ps| will be tried.
 
-  The following options are possible:
-  \begin{itemize}
-  \item
-    \declare{|height=|\meta{dimension}} sets the height of the
-    image. If the width is not specified simultaneously, the aspect
-    ratio of the image is kept.
-  \item
-    \declare{|width=|\meta{dimension}} sets the width of the
-    image. If the height is not specified simultaneously, the aspect
-    ratio of the image is kept.
-  \item
-    \declare{|page=|\meta{page number}} selects a given page number
-    from a multipage document. Specifying this option will have the
-    following effect: first, \pgfname\ tries to find a file named
-    \begin{quote}
-      \meta{filename}|.page|\meta{page number}|.|\meta{extension}
-    \end{quote}
-    If such a file is found, it will be used instead of the originally
-    specified filename. If not, \pgfname\ inserts the image stored in
-    \meta{filename}|.|\meta{extension} and if a recent version of
-    |pdflatex| is used, only the selected page is inserted. For older
-    versions of |pdflatex| and for |dvips| the complete document is
-    inserted and a warning is printed.
-  \item
-    \declare{|interpolate=|\meta{true or false}} selects whether the
-    image should be ``smoothed'' when zoomed. False by default.
-  \item
-    \declare{|mask=|\meta{mask name}} selects a transparency mask. The
-    mask must previously be declared using |\pgfdeclaremask| (see
-    below). This option only has an effect for |pdf|. Not all viewers
-    support masking.
-  \end{itemize}
-
+    The following options are possible:
+    %
+    \begin{itemize}
+        \item \declare{|height=|\meta{dimension}} sets the height of the image.
+            If the width is not specified simultaneously, the aspect ratio of
+            the image is kept.
+        \item \declare{|width=|\meta{dimension}} sets the width of the image.
+            If the height is not specified simultaneously, the aspect ratio of
+            the image is kept.
+        \item \declare{|page=|\meta{page number}} selects a given page number
+            from a multipage document. Specifying this option will have the
+            following effect: first, \pgfname\ tries to find a file named
+            %
+            \begin{quote}
+                \meta{filename}|.page|\meta{page number}|.|\meta{extension}
+            \end{quote}
+            %
+            If such a file is found, it will be used instead of the originally
+            specified filename. If not, \pgfname\ inserts the image stored in
+            \meta{filename}|.|\meta{extension} and if a recent version of
+            |pdflatex| is used, only the selected page is inserted. For older
+            versions of |pdflatex| and for |dvips| the complete document is
+            inserted and a warning is printed.
+        \item \declare{|interpolate=|\meta{true or false}} selects whether the
+            image should be ``smoothed'' when zoomed. False by default.
+        \item \declare{|mask=|\meta{mask name}} selects a transparency mask.
+            The mask must previously be declared using |\pgfdeclaremask| (see
+            below). This option only has an effect for |pdf|. Not all viewers
+            support masking.
+    \end{itemize}
+    %
 \begin{codeexample}[code only]
 \pgfdeclareimage[interpolate=true,height=1cm]{image1}{brave-gnu-world-logo}
 \pgfdeclareimage[interpolate=true,width=1cm,height=1cm]{image2}{brave-gnu-world-logo}
 \pgfdeclareimage[interpolate=true,height=1cm]{image3}{brave-gnu-world-logo}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfaliasimage\marg{new image name}\marg{existing image name}}
-  The \marg{existing image name} is ``cloned'' and the \marg{new image
-    name} can now be used whenever the original image is used. This
-  command is useful for creating aliases for alternate extensions
-  and for accessing the last image inserted using |\pgfimage|.
+    The \marg{existing image name} is ``cloned'' and the \marg{new image name}
+    can now be used whenever the original image is used. This command is useful
+    for creating aliases for alternate extensions and for accessing the last
+    image inserted using |\pgfimage|.
 
-  \example |\pgfaliasimage{image.!30!white}{image.!25!white}|
+    \example |\pgfaliasimage{image.!30!white}{image.!25!white}|
 \end{command}
 
 
@@ -129,24 +122,23 @@
 \subsection{Using an Image}
 
 \begin{command}{\pgfuseimage\marg{image name}}
-  Inserts a previously declared image into the \emph{normal text}. If
-  you wish to use it in a |{pgfpicture}| environment, you must put a
-  |\pgftext| around it.
+    Inserts a previously declared image into the \emph{normal text}. If you
+    wish to use it in a |{pgfpicture}| environment, you must put a |\pgftext|
+    around it.
 
-  If the macro |\pgfalternateextension| expands to some nonempty
-  \meta{alternate extension}, \pgfname\ will first try to use the image
-  named \meta{image name}|.|\meta{alternate extension}. If this
-  image is not defined, \pgfname\ will next check whether \meta{alternate
-    extension} contains a |!| character. If so, everything up to this
-  exclamation mark and including it is deleted from \meta{alternate
-    extension} and the \pgfname\ again tries to use the image \meta{image
-    name}|.|\meta{alternate extension}. This is repeated until
-  \meta{alternate extension} no longer contains a~|!|. Then the
-  original image is used.
+    If the macro |\pgfalternateextension| expands to some nonempty
+    \meta{alternate extension}, \pgfname\ will first try to use the image named
+    \meta{image name}|.|\meta{alternate extension}. If this image is not
+    defined, \pgfname\ will next check whether \meta{alternate extension}
+    contains a |!| character. If so, everything up to this exclamation mark and
+    including it is deleted from \meta{alternate extension} and the \pgfname\
+    again tries to use the image \meta{image name}|.|\meta{alternate
+    extension}. This is repeated until \meta{alternate extension} no longer
+    contains a~|!|. Then the original image is used.
 
-  The |xxcolor| package sets the alternate extension to the current
-  color mixin.          % TODOsp: `color mixin': meant `color mixing' or the `colormixin' environment?
-
+    The |xxcolor| package sets the alternate extension to the current color
+    mixin.
+    %
 \begin{codeexample}[]
 \pgfdeclareimage[interpolate=true,width=1cm,height=1cm]
   {image1}{brave-gnu-world-logo}
@@ -164,9 +156,9 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  The following example demonstrates the effect of using
-  |\pgfuseimage| inside a colormixin environment.
-
+    The following example demonstrates the effect of using |\pgfuseimage|
+    inside a colormixin environment.
+    %
 \begin{codeexample}[]
 \pgfdeclareimage[interpolate=true,width=1cm,height=1cm]
   {image1.!25!white}{brave-gnu-world-logo.25}
@@ -187,21 +179,21 @@
 \end{pgfpicture}
 \end{colormixin}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfalternateextension}
-  You should redefine this command to install a different alternate
-  extension.
+    You should redefine this command to install a different alternate
+    extension.
 
-  \example |\def\pgfalternateextension{!25!white}|
+    \example |\def\pgfalternateextension{!25!white}|
 \end{command}
 
-
 \begin{command}{\pgfimage\oarg{options}\marg{filename}}
-  Declares the image under the name |pgflastimage| and
-  immediately uses it. You can ``save'' the image for later usage by
-  invoking |\pgfaliasimage| on |pgflastimage|.
-
+    Declares the image under the name |pgflastimage| and immediately uses it.
+    You can ``save'' the image for later usage by invoking |\pgfaliasimage| on
+    |pgflastimage|.
+    %
 \begin{codeexample}[]
 \begin{colormixin}{25!white}
 \begin{pgfpicture}
@@ -219,44 +211,45 @@
 \end{pgfpicture}
 \end{colormixin}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsection{Masking an Image}
 
-
 \begin{command}{\pgfdeclaremask\oarg{options}\marg{mask  name}\marg{filename}}
-  Declares a transparency mask named \meta{mask name} (called a
-  \emph{soft mask} in the \textsc{pdf} specification). This mask is
-  read from the file \meta{filename}. This file should contain a
-  grayscale image that is as large as the actual image. A white
-  pixel in the mask will correspond to ``transparent,'' a black pixel
-  to ``solid,'' and gray values correspond to intermediate values. The
-  mask must have a single ``color channel.'' This means that the
-  mask must be a ``real'' grayscale image, not an \textsc{rgb}-image
-  in which all \textsc{rgb}-triples happen to have the same
-  components.
+    Declares a transparency mask named \meta{mask name} (called a \emph{soft
+    mask} in the \textsc{pdf} specification). This mask is read from the file
+    \meta{filename}. This file should contain a grayscale image that is as
+    large as the actual image. A white pixel in the mask will correspond to
+    ``transparent'', a black pixel to ``solid'', and gray values correspond to
+    intermediate values. The mask must have a single ``color channel''. This
+    means that the mask must be a ``real'' grayscale image, not an
+    \textsc{rgb}-image in which all \textsc{rgb}-triples happen to have the
+    same components.
 
-  You can only mask images the are in a ``pixel format.'' These are
-  |.jpg| and |.png|.  You cannot mask |.pdf| images in this way. Also,
-  again, the mask file and the image file must have the same size.
+    You can only mask images the are in a ``pixel format''. These are |.jpg|
+    and |.png|. You cannot mask |.pdf| images in this way. Also, again, the
+    mask file and the image file must have the same size.
 
-  The following options may be given:
-  \begin{itemize}
-  \item |matte=|\marg{color components} sets the so-called
-    \emph{matte} of the actual image (strangely, this has to be
-    specified together with the mask, not with the image itself). The
-    matte is the color that has been used to preblend the image. For
-    example, if the image has been preblended with a red background,
-    then \meta{color components} should be set to |{1 0 0}|. The
-    default is |{1 1 1}|, which is white in the rgb model.
+    The following options may be given:
+    %
+    \begin{itemize}
+        \item |matte=|\marg{color components} sets the so-called \emph{matte}
+            of the actual image (strangely, this has to be specified together
+            with the mask, not with the image itself). The matte is the color
+            that has been used to preblend the image. For example, if the image
+            has been preblended with a red background, then \meta{color
+            components} should be set to |{1 0 0}|. The default is |{1 1 1}|,
+            which is white in the rgb model.
 
-    The matte is specified in terms of the parent's image color
-    space. Thus, if the parent is a grayscale image, the matte has to
-    be set to |{1}|.
-  \end{itemize}
-  \example
+            The matte is specified in terms of the parent's image color space.
+            Thus, if the parent is a grayscale image, the matte has to be set
+            to |{1}|.
+    \end{itemize}
+    %
+    \example
+    %
 \begin{codeexample}[]
 %% Draw a large colorful background
 \pgfdeclarehorizontalshading{colorful}{5cm}{color(0cm)=(red);
@@ -269,8 +262,10 @@
 \pgfdeclaremask{mymask}{brave-gnu-world-logo-mask}
 \pgfimage[mask=mymask,height=4cm,interpolate=true]{brave-gnu-world-logo}}
 \end{codeexample}
+    %
 \end{command}
 
+
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,59 +9,87 @@
 
 
 \section{Adding libraries to \pgfname: temporary registers}
-
 \label{section-internal-registers}
 
-This section is intended for those who like to write libraries to extend \pgfname. Of course, this requires a good deal of knowledge about \TeX-programming and the structure of the \pgfname\ basic layer. Besides, one will encounter the need of temporary variables and, especially, temporary \TeX\ registers. This section describes how to use a set of pre-allocated temporary registers of the basic layer without needing to allocate more of them.
+This section is intended for those who like to write libraries to extend
+\pgfname. Of course, this requires a good deal of knowledge about
+\TeX-programming and the structure of the \pgfname\ basic layer. Besides, one
+will encounter the need of temporary variables and, especially, temporary \TeX\
+registers. This section describes how to use a set of pre-allocated temporary
+registers of the basic layer without needing to allocate more of them.
 
-A part of these internals are already mentioned in section~\ref{section-internal-pointcmds}, but the basic layer provides more temporaries than |\pgf at x| and |\pgf at y|.
+A part of these internals are already mentioned in
+section~\ref{section-internal-pointcmds}, but the basic layer provides more
+temporaries than |\pgf at x| and |\pgf at y|.
 
 \begin{internallist}[dimen register]{\pgf at x,\pgf at y}
-	These registers are used to process point coordinates in the basic layer of \pgfname, see section~\ref{section-internal-pointcmds}. After a |\pgfpoint|$\dotsc$ command, they contain the final $x$ and $y$ coordinate, respectively.
+    These registers are used to process point coordinates in the basic layer of
+    \pgfname, see section~\ref{section-internal-pointcmds}. After a
+    |\pgfpoint|$\dotsc$ command, they contain the final $x$ and $y$ coordinate,
+    respectively.
 
-	The values of |\pgf at x| and |\pgf at y| are set \emph{globally} in contrast to other available \pgfname\ registers. You should never assume anything about their value unless the context defines them explicitly.
+    The values of |\pgf at x| and |\pgf at y| are set \emph{globally} in contrast to
+    other available \pgfname\ registers. You should never assume anything about
+    their value unless the context defines them explicitly.
 
-
-	Please prefer the |\pgf at xa|, |\pgf at xb|, $\dotsc$ registers for temporary dimen registers unless you are writing point coordinate commands.
+    Please prefer the |\pgf at xa|, |\pgf at xb|, $\dotsc$ registers for temporary
+    dimen registers unless you are writing point coordinate commands.
 \end{internallist}
 
 \begin{internallist}[dimen register]{
-	\pgf at xa,
-	\pgf at xb,
-	\pgf at xc,
-	\pgf at ya,
-	\pgf at yb,
-	\pgf at yc}
-	Temporary registers for \TeX\ dimensions which can be modified freely. Just make sure changes occur only within \TeX\ groups. 
+    \pgf at xa,
+    \pgf at xb,
+    \pgf at xc,
+    \pgf at ya,
+    \pgf at yb,
+    \pgf at yc%
+}
+    Temporary registers for \TeX\ dimensions which can be modified freely. Just
+    make sure changes occur only within \TeX\ groups.
 
-	\paragraph{Attention:}
-	\pgfname\ uses these registers to perform path operations. For reasons of efficiency, path commands do not always guard them. As a consequence, the code
+    \paragraph{Attention:}
+    %
+    \pgfname\ uses these registers to perform path operations. For reasons of
+    efficiency, path commands do not always guard them. As a consequence, the
+    code
+    %
 \begin{codeexample}[code only]
 \pgfpointadd{\pgfpoint{\pgf at xa}{\pgf at ya}}{\pgfpoint{\pgf at xb}{\pgf at yb}}
 \end{codeexample}
-\noindent
-may fail: Inside |\pgfpointadd|, the |\pgf at xa| and friend registers might be  
-modified. In particular, it might happen that |\pgf at xb| is changed  
-before |\pgfpoint{\pgf at xb}{\pgf at yb}| is evaluated. The right thing to do  
-would be to first expand everything using |\edef| and process the values afterwards,
-resulting in unnecessary expensive operations. Of course, one can avoid this by simply 
-looking into the source code of |\pgfpointadd| to see which registers are used.
+    %
+    \noindent may fail: Inside |\pgfpointadd|, the |\pgf at xa| and friend
+    registers might be modified. In particular, it might happen that |\pgf at xb|
+    is changed before |\pgfpoint{\pgf at xb}{\pgf at yb}| is evaluated. The right
+    thing to do would be to first expand everything using |\edef| and process
+    the values afterwards, resulting in unnecessary expensive operations. Of
+    course, one can avoid this by simply looking into the source code of
+    |\pgfpointadd| to see which registers are used.
 \end{internallist}
 
 \begin{internallist}[dimen register]{\pgfutil at tempdima,\pgfutil at tempdimb}
-	Further multi-purpose temporary dimen registers. For \LaTeX, these registers are already allocated as |\@tempdima| and |\@tempdimb| and are simply |\let| to the |\pgfutil@|$\dotsc$ names.
+    Further multi-purpose temporary dimen registers. For \LaTeX, these
+    registers are already allocated as |\@tempdima| and |\@tempdimb| and are
+    simply |\let| to the |\pgfutil@|$\dotsc$ names.
 \end{internallist}
 
 \begin{internallist}[count register]{
-	\c at pgf@counta,
-	\c at pgf@countb,
-	\c at pgf@countc,
-	\c at pgf@countd}
-	These multiple-purpose count registers are used throughout \pgfname\ to perform integer computations. Feel free to use them as well, just make sure changes are scoped by local \TeX\ groups.
+    \c at pgf@counta,
+    \c at pgf@countb,
+    \c at pgf@countc,
+    \c at pgf@countd%
+}
+    These multiple-purpose count registers are used throughout \pgfname\ to
+    perform integer computations. Feel free to use them as well, just make sure
+    changes are scoped by local \TeX\ groups.
 \end{internallist}
 
 \begin{internallist}[openout handle]{\w at pgf@writea}
-	An |\openout| handle which is used to generate complete output files within locally scoped parts of \pgfname\ (for example, to interact with |gnuplot|). You should always use |\immediate| in front of output operations involving |\w at pgf@writea| and you should always close the file before returning from your code.
+    An |\openout| handle which is used to generate complete output files within
+    locally scoped parts of \pgfname\ (for example, to interact with
+    |gnuplot|). You should always use |\immediate| in front of output
+    operations involving |\w at pgf@writea| and you should always close the file
+    before returning from your code.
+    %
 \begin{codeexample}[code only]
 \immediate\openout\w at pgf@writea=myfile.dat
 \immediate\write\w at pgf@writea{...}%
@@ -68,10 +96,16 @@
 \immediate\write\w at pgf@writea{...}%
 \immediate\closeout\w at pgf@writea%
 \end{codeexample}
+    %
 \end{internallist}
 
 \begin{internallist}[openin handle]{\r at pgf@reada}
-	An |\openin| handle which is used to read files within locally scoped parts of \pgfname, for example to check if a file exists or to read data files. You should always use |\immediate| in front of output operations involving |\r at pgf@writea| and you should always close the file before returning from your code.
+    An |\openin| handle which is used to read files within locally scoped parts
+    of \pgfname, for example to check if a file exists or to read data files.
+    You should always use |\immediate| in front of output operations involving
+    |\r at pgf@writea| and you should always close the file before returning from
+    your code.
+    %
 \begin{codeexample}[code only]
 \immediate\openin\r at pgf@reada=myfile.dat
 % do something with \macro
@@ -84,9 +118,10 @@
 \fi
 \immediate\closein\r at pgf@reada
 \end{codeexample}
+    %
 \end{internallist}
 
 \begin{internallist}[box]{\pgfutil at tempboxa}
-	A box for temporary use inside of local \TeX\ scopes. For \LaTeX, this box is the same as the already pre-allocated |\@tempboxa|.
+    A box for temporary use inside of local \TeX\ scopes. For \LaTeX, this box
+    is the same as the already pre-allocated |\@tempboxa|.
 \end{internallist}
-

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,95 +9,91 @@
 
 
 \section{Layered Graphics}
-
 \label{section-layers}
 
 \subsection{Overview}
 
-\pgfname\ provides a layering mechanism for composing graphics from
-multiple layers. (This mechanism is not to be confused with the
-conceptual ``software layers'' the \pgfname\ system is composed of.)
-Layers are often used in graphic programs. The idea is that you can
-draw on the different layers in any order. So you might start drawing
-something on the ``background'' layer, then something on the
-``foreground'' layer, then something on the ``middle'' layer, and then
-something on the background layer once more, and so on. At the end, no
-matter in which ordering you drew on the different layers, the layers
-are ``stacked on top of each other'' in a fixed ordering to produce
-the final picture. Thus, anything drawn on the middle layer would come
-on top of everything of the background layer.
+\pgfname\ provides a layering mechanism for composing graphics from multiple
+layers. (This mechanism is not to be confused with the conceptual ``software
+layers'' the \pgfname\ system is composed of.) Layers are often used in graphic
+programs. The idea is that you can draw on the different layers in any order.
+So you might start drawing something on the ``background'' layer, then
+something on the ``foreground'' layer, then something on the ``middle'' layer,
+and then something on the background layer once more, and so on. At the end, no
+matter in which ordering you drew on the different layers, the layers are
+``stacked on top of each other'' in a fixed ordering to produce the final
+picture. Thus, anything drawn on the middle layer would come on top of
+everything of the background layer.
 
-Normally, you do not need to use different layers since you will have
-little trouble ``ordering'' your graphic commands in such a way that
-layers are superfluous. However, in certain situations you only
-``know'' what you should draw behind something else after the
-``something else'' has been drawn.
+Normally, you do not need to use different layers since you will have little
+trouble ``ordering'' your graphic commands in such a way that layers are
+superfluous. However, in certain situations you only ``know'' what you should
+draw behind something else after the ``something else'' has been drawn.
 
-For example, suppose you wish to draw a yellow background behind your
-picture. The background should be as large as the bounding box of the
-picture, plus a little border. If you know the size of the bounding box
-of the picture at its beginning, this is easy to accomplish. However,
-in general this is not the case and you need to create a
-``background'' layer in addition to the standard ``main'' layer. Then,
-at the end of the picture, when the bounding box has been established,
-you can add a rectangle of the appropriate size to the picture.
+For example, suppose you wish to draw a yellow background behind your picture.
+The background should be as large as the bounding box of the picture, plus a
+little border. If you know the size of the bounding box of the picture at its
+beginning, this is easy to accomplish. However, in general this is not the case
+and you need to create a ``background'' layer in addition to the standard
+``main'' layer. Then, at the end of the picture, when the bounding box has been
+established, you can add a rectangle of the appropriate size to the picture.
 
 
-
 \subsection{Declaring Layers}
 
-In \pgfname\ layers are referenced using names. The standard layer,
-which is a bit special in certain ways, is called |main|. If nothing
-else is specified, all graphic commands are added to the |main|
-layer. You can declare a new layer using the following command:
+In \pgfname\ layers are referenced using names. The standard layer, which is a
+bit special in certain ways, is called |main|. If nothing else is specified,
+all graphic commands are added to the |main| layer. You can declare a new layer
+using the following command:
 
 \begin{command}{\pgfdeclarelayer\marg{name}}
-  This command declares a layer named \meta{name} for later
-  use. Mainly, this will set up some internal bookkeeping.
+    This command declares a layer named \meta{name} for later use. Mainly, this
+    will set up some internal bookkeeping.
 \end{command}
 
-The next step toward using a layer is to tell \pgfname\ which layers
-will be part of the actual picture and which will be their
-ordering. Thus, it is possible to have more layers declared than are
-actually used.
+The next step toward using a layer is to tell \pgfname\ which layers will be
+part of the actual picture and which will be their ordering. Thus, it is
+possible to have more layers declared than are actually used.
 
 \begin{command}{\pgfsetlayers\marg{layer list}}
-  This command tells \pgfname\ which layers will be used in
-  pictures. They are stacked on top of each other in the order
-  given. The layer |main| should always be part of the list. Here is
-  an example:
+    This command tells \pgfname\ which layers will be used in pictures. They
+    are stacked on top of each other in the order given. The layer |main|
+    should always be part of the list. Here is an example:
+    %
 \begin{codeexample}[code only]
 \pgfdeclarelayer{background}
-\pgfdeclarelayer{foreground}  
+\pgfdeclarelayer{foreground}
 \pgfsetlayers{background,main,foreground}
 \end{codeexample}
 
-  This command should be given either outside of any picture or ``directly inside'' of a picture.
-  Here, the ``directly inside'' means that there should be no further level of \TeX\ grouping between |\pgfsetlayers| and the matching |\end{pgfpicture}| (no closing braces, no |\end{...}|). It will also work if |\pgfsetlayers| is provided before |\end{tikzpicture}| (with similar restrictions).
+    This command should be given either outside of any picture or ``directly
+    inside'' of a picture. Here, the ``directly inside'' means that there
+    should be no further level of \TeX\ grouping between |\pgfsetlayers| and
+    the matching |\end{pgfpicture}| (no closing braces, no |\end{...}|). It
+    will also work if |\pgfsetlayers| is provided before |\end{tikzpicture}|
+    (with similar restrictions).
 \end{command}
 
 
 \subsection{Using Layers}
 
-Once the layers of your picture have been declared, you can start to
-``fill'' them. As said before, all graphics commands are normally
-added to the |main| layer. Using the |{pgfonlayer}| environment, you
-can tell \pgfname\ that certain commands should, instead, be added to
-the given layer.
+Once the layers of your picture have been declared, you can start to ``fill''
+them. As said before, all graphics commands are normally added to the |main|
+layer. Using the |{pgfonlayer}| environment, you can tell \pgfname\ that
+certain commands should, instead, be added to the given layer.
 
 \begin{environment}{{pgfonlayer}\marg{layer name}}
-  The whole \meta{environment contents} is added to the layer with the
-  name \meta{layer name}. This environment can be used anywhere inside
-  a picture. Thus, even if it is used inside a |{pgfscope}| or a \TeX\
-  group, the contents will still be added to the ``whole'' picture.
-  Using this environment multiple times inside the same picture will
-  cause the \meta{environment contents} to accumulate.
+    The whole \meta{environment contents} is added to the layer with the name
+    \meta{layer name}. This environment can be used anywhere inside a picture.
+    Thus, even if it is used inside a |{pgfscope}| or a \TeX\ group, the
+    contents will still be added to the ``whole'' picture. Using this
+    environment multiple times inside the same picture will cause the
+    \meta{environment contents} to accumulate.
 
-  \emph{Note:} You can \emph{not} add anything to the |main| layer
-  using this environment. The only way to add anything to the main
-  layer is to give graphic commands outside all |{pgfonlayer}|
-  environments. 
-
+    \emph{Note:} You can \emph{not} add anything to the |main| layer using this
+    environment. The only way to add anything to the main layer is to give
+    graphic commands outside all |{pgfonlayer}| environments.
+    %
 \begin{codeexample}[]
 \pgfdeclarelayer{background layer}
 \pgfdeclarelayer{foreground layer}
@@ -105,15 +101,15 @@
 \begin{tikzpicture}
   % On main layer:
   \fill[blue] (0,0) circle (1cm);
-  
+
   \begin{pgfonlayer}{background layer}
     \fill[yellow] (-1,-1) rectangle (1,1);
   \end{pgfonlayer}
-  
+
   \begin{pgfonlayer}{foreground layer}
     \node[white] {foreground};
   \end{pgfonlayer}
-  
+
   \begin{pgfonlayer}{background layer}
     \fill[black] (-.8,-.8) rectangle (.8,.8);
   \end{pgfonlayer}
@@ -122,22 +118,19 @@
   \fill[blue!50] (-.5,-1) rectangle (.5,1);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{environment}
 
 \begin{plainenvironment}{{pgfonlayer}\marg{layer name}}
-  This is the plain \TeX\ version of the environment.
+    This is the plain \TeX\ version of the environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfonlayer}\marg{layer name}}
-  This is the Con\TeX t version of the environment.
+    This is the Con\TeX t version of the environment.
 \end{contextenvironment}
 
 
-
-
-
-
-%%% Local Variables: 
+%%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"
-%%% End: 
+%%% End:

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,51 +9,46 @@
 
 
 \section{Matrices}
-
 \label{section-base-matrices}
 
 \begin{pgfmodule}{matrix}
-  The present section documents the commands of this module.
+The present section documents the commands of this module.
 \end{pgfmodule}
 
 \subsection{Overview}
 
 Matrices are a mechanism for aligning several so-called cell pictures
-horizontally and vertically. The resulting alignment is placed in a
-normal node and the command for creating matrices, |\pgfmatrix|, takes
-options very similar to the |\pgfnode| command.
+horizontally and vertically. The resulting alignment is placed in a normal node
+and the command for creating matrices, |\pgfmatrix|, takes options very similar
+to the |\pgfnode| command.
 
-In the following, the basic idea behind the alignment mechanism is
-explained first. Then the command |\pgfmatrix| is explained. At the
-end of the section, additional ways of modifying the width of columns
-and rows are discussed.
+In the following, the basic idea behind the alignment mechanism is explained
+first. Then the command |\pgfmatrix| is explained. At the end of the section,
+additional ways of modifying the width of columns and rows are discussed.
 
 
 \subsection{Cell Pictures and Their Alignment}
 
-A matrix consists of rows of \emph{cells}. Cells are separated using
-the special command |\pgfmatrixnextcell|, rows are ended using the
-command |\pgfmatrixendrow| (the command |\\| is set up to mean the same
-as |\pgfmatrixendrow| by default). Each cell contains a \emph{cell
-  picture}, although cell pictures are not complete pictures as they
-lack layers. However, each cell picture has its own bounding box like a
-normal picture does. These bounding boxes are important for the
-alignment as explained in the following.
+A matrix consists of rows of \emph{cells}. Cells are separated using the
+special command |\pgfmatrixnextcell|, rows are ended using the command
+|\pgfmatrixendrow| (the command |\\| is set up to mean the same as
+|\pgfmatrixendrow| by default). Each cell contains a \emph{cell picture},
+although cell pictures are not complete pictures as they lack layers. However,
+each cell picture has its own bounding box like a normal picture does. These
+bounding boxes are important for the alignment as explained in the following.
 
-Each cell picture will have an origin somewhere in the picture (or
-even outside the picture). The position of these origins are important
-for the alignment: On each row the origins will be on the same
-horizontal line and for each column the origins will also be on the
-same vertical line. These two requirements mean that the cell pictures
-may need to be shifted around so that the origins wind up on the same
-lines. The top of a row is given by the top of the cell picture whose
-bounding box's maximum $y$-position is largest. Similarly, the bottom
-of a row is given by the bottom of the cell picture whose bounding
-box's minimum $y$-position is the most negative. Similarly, the left
-end of a row is given by the left end of the cell whose bounding box's
-$x$-position is the most negative; and similarly for the right end of
-a row.
-
+Each cell picture will have an origin somewhere in the picture (or even outside
+the picture). The position of these origins are important for the alignment: On
+each row the origins will be on the same horizontal line and for each column
+the origins will also be on the same vertical line. These two requirements mean
+that the cell pictures may need to be shifted around so that the origins wind
+up on the same lines. The top of a row is given by the top of the cell picture
+whose bounding box's maximum $y$-position is largest. Similarly, the bottom of
+a row is given by the bottom of the cell picture whose bounding box's minimum
+$y$-position is the most negative. Similarly, the left end of a column is given
+by the left end of the cell whose bounding box's $x$-position is the most
+negative; and similarly for the right end of a column.
+%
 \begin{codeexample}[]
 \begin{tikzpicture}[x=3mm,y=3mm,fill=blue!50]
   \def\atorig#1{\node[black] at (0,0) {\tiny #1};}
@@ -78,47 +73,45 @@
 
 All matrices are typeset using the following command:
 
-\begin{command}{\pgfmatrix\marg{shape}\marg{anchor}\marg{name}%
-    \marg{usage}\marg{shift}\marg{pre-code}\marg{matrix cells}}
+\begin{command}{\pgfmatrix\marg{shape}\marg{anchor}\marg{name}\marg{usage}\marg{shift}\marg{pre-code}\marg{matrix cells}}
+    This command creates a node that contains a matrix. The name of the node is
+    \meta{name}, its shape is \meta{shape} and the node is anchored at
+    \meta{anchor}.
 
-  This command creates a node that contains a matrix. The name of the
-  node is \meta{name}, its shape is \meta{shape} and the node is
-  anchored at \meta{anchor}.
+    The \meta{matrix cell} parameter contains the cells of the matrix. In each
+    cell drawing commands may be given, which create a so-called cell picture.
+    For each cell picture a bounding box is computed and the cells are aligned
+    according to the rules outlined in the previous section.
 
-  The \meta{matrix cell} parameter contains the cells of the
-  matrix. In each cell drawing commands may be given, which create a
-  so-called cell picture. For each cell picture a bounding box is
-  computed and the cells are aligned according to the rules outlined
-  in the previous section.
+    The resulting matrix is used as the |text| box of the node. As for a normal
+    node, the \meta{usage} commands are applied, so that the path(s) of the
+    resulting node is (are) stroked or filled or whatever.
 
-  The resulting matrix is used as the |text| box of the node. As for a
-  normal node, the \meta{usage} commands are applied, so that the
-  path(s) of the resulting node is (are) stroked or filled or whatever.
 
-  \medskip
-  \textbf{Specifying the cells and rows.\ }
-  Even though this command uses |\halign| internally, there are two
-  special rules for indicating cells:
-  \begin{enumerate}
-  \item Cells in the same row must be separated using the macro
-    |\pgfmatrixnextcell| rather than |&|. Using |&| will result in an
-    error message.
+    \medskip
+    \textbf{Specifying the cells and rows.\ }
+    Even though this command uses |\halign| internally, there are two special
+    rules for indicating cells:
+    %
+    \begin{enumerate}
+        \item Cells in the same row must be separated using the macro
+            |\pgfmatrixnextcell| rather than |&|. Using |&| will result in an
+            error message.
 
-    However, you can make |&| an active character and have it expand
-    to |\pgfmatrixnextcell|. This way, it will ``look'' as if |&| is
-    used.
-  \item Rows are ended using the command |\pgfmatrixendrow|, but |\\|
-    is set up to mean the same by default. However, some environments
-    like |{minipage}| redefine |\\|, so it is good to have
-    |\pgfmatrixendrow| as a ``fallback.''
-  \item Every row \emph{including the last row} must be ended using
-    the command |\\| or |\pgfmatrixendrow|.
-  \end{enumerate}
+            However, you can make |&| an active character and have it expand to
+            |\pgfmatrixnextcell|. This way, it will ``look'' as if |&| is used.
+        \item Rows are ended using the command |\pgfmatrixendrow|, but |\\| is
+            set up to mean the same by default. However, some environments like
+            |{minipage}| redefine |\\|, so it is good to have
+            |\pgfmatrixendrow| as a ``fallback''.
+        \item Every row \emph{including the last row} must be ended using the
+            command |\\| or |\pgfmatrixendrow|.
+    \end{enumerate}
 
-  Both |\pgfmatrixnextcell| and |\pgfmatrixendrow| (and, thus, also
-  |\\|) take an optional argument as explained in the
-  Section~\ref{section-matrix-spacing}
-
+    Both |\pgfmatrixnextcell| and |\pgfmatrixendrow| (and, thus, also |\\|)
+    take an optional argument as explained in the
+    Section~\ref{section-matrix-spacing}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \pgfmatrix{rectangle}{center}{mymatrix}
@@ -130,78 +123,81 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  \medskip
-  \textbf{Anchoring matrices at nodes inside the matrix.\ }
-  The parameter \meta{shift} is an additional negative shift for the
-  node. Normally, such a shift could be given beforehand (that is, the
-  shift could be preapplied to the current transformation
-  matrix). However, when \meta{shift} is evaluated, you can refer to
-  \emph{temporary} positions of nodes inside the matrix. In detail,
-  the following happens: When the matrix has been typeset, all nodes
-  in the matrix temporarily get assigned their positions in the matrix
-  box. The origin of this coordinate system is at the left baseline
-  end of the matrix box, which corresponds to the |text| anchor. The
-  position \meta{shift} is then interpreted inside this coordinate
-  system and then used for shifting.
 
-  This allows you to use the parameter \meta{shift} in the following
-  way: If you use |text| as the \meta{anchor} and specify
-  |\pgfpointanchor{inner node}{some anchor}| for the parameter
-  \meta{shift}, where |inner node| is a node that
-  is created in the matrix, then the whole matrix will be shifted such
-  that |inner node.some anchor| lies at the origin of the whole
-  picture.
+    \medskip
+    \textbf{Anchoring matrices at nodes inside the matrix.\ }
+    The parameter \meta{shift} is an additional negative shift for the node.
+    Normally, such a shift could be given beforehand (that is, the shift could
+    be preapplied to the current transformation matrix). However, when
+    \meta{shift} is evaluated, you can refer to \emph{temporary} positions of
+    nodes inside the matrix. In detail, the following happens: When the matrix
+    has been typeset, all nodes in the matrix temporarily get assigned their
+    positions in the matrix box. The origin of this coordinate system is at the
+    left baseline end of the matrix box, which corresponds to the |text|
+    anchor. The position \meta{shift} is then interpreted inside this
+    coordinate system and then used for shifting.
 
-  \medskip
-  \textbf{Rotations and scaling.\ }
-  The matrix node is never rotated or shifted, because the current
-  coordinate transformation matrix is reset (except for the
-  translational part) at the beginning of |\pgfmatrix|. This is
-  intentional and will not change in the future. If you need to rotate
-  the matrix, you must install an appropriate canvas transformation
-  yourself.
+    This allows you to use the parameter \meta{shift} in the following way: If
+    you use |text| as the \meta{anchor} and specify
+    |\pgfpointanchor{inner node}{some anchor}| for the parameter \meta{shift},
+    where |inner node| is a node that is created in the matrix, then the whole
+    matrix will be shifted such that |inner node.some anchor| lies at the
+    origin of the whole picture.
 
-  However, nodes and stuff inside the cell pictures can be rotated and
-  scaled normally.
 
-  \medskip
-  \textbf{Callbacks.\ }
-  At the beginning and at the end of each cell the special macros
-  |\pgfmatrixbegincode|, |\pgfmatrixendcode| and possibly
-  |\pgfmatrixemptycode| are called. The effect is explained in
-  Section~\ref{section-matrix-callbacks}.
+    \medskip
+    \textbf{Rotations and scaling.\ }
+    The matrix node is never rotated or scaled, because the current coordinate
+    transformation matrix is reset (except for the translational part) at the
+    beginning of |\pgfmatrix|. This is intentional and will not change in the
+    future. If you need to rotate or scale the matrix, you must install an
+    appropriate canvas transformation yourself.
 
-  \medskip
-  \textbf{Executing extra code.\ }
-  The parameter \meta{pre-code} is executed at the beginning of the
-  outermost \TeX-group enclosing the matrix node. It is inside this
-  \TeX-group, but outside the matrix itself. It can be used
-  for different purposes:
-  \begin{enumerate}
-  \item It can be used to simplify the next cell macro. For example,
-    saying |\let\&=\pgfmatrixnextcell| allows you to use |\&| instead
-    of |\pgfmatrixnextcell|. You can also set the catcode of |&| to
-    active.
-  \item It can be used to issue an |\aftergroup| command. This allows
-    you to regain control after the |\pgfmatrix| command. (If you do
-    not know the |\aftergroup| command, you are probably blessed with
-    a simple and happy life.)
-  \end{enumerate}
+    However, nodes and stuff inside the cell pictures can be rotated and scaled
+    normally.
 
-  \medskip
-  \textbf{Special considerations concerning macro expansion.\ }
-  As said before, the matrix is typeset using |\halign|
-  internally. This command does a lot of strange and magic things like
-  expanding the first macro of every cell in a most unusual
-  manner. Here are some effects you may wish to be aware of:
-  \begin{itemize}
-  \item It is not necessary to actually mention |\pgfmatrixnextcell|
-    or |\pgfmatrixendrow| inside the \meta{matrix cells}. It suffices
-    that the  macros inside \meta{matrix cells} expand to these macros
-    sooner or later.
-  \item In particular, you can define clever macros that insert
-    columns and rows as needed for special effects.
-  \end{itemize}
+
+    \medskip
+    \textbf{Callbacks.\ }
+    At the beginning and at the end of each cell the special macros
+    |\pgfmatrixbegincode|, |\pgfmatrixendcode| and possibly
+    |\pgfmatrixemptycode| are called. The effect is explained in
+    Section~\ref{section-matrix-callbacks}.
+
+
+    \medskip
+    \textbf{Executing extra code.\ }
+    The parameter \meta{pre-code} is executed at the beginning of the outermost
+    \TeX-group enclosing the matrix node. It is inside this \TeX-group, but
+    outside the matrix itself. It can be used for different purposes:
+    %
+    \begin{enumerate}
+        \item It can be used to simplify the next cell macro. For example,
+            saying |\let\&=\pgfmatrixnextcell| allows you to use |\&| instead
+            of |\pgfmatrixnextcell|. You can also set the catcode of |&| to
+            active.
+        \item It can be used to issue an |\aftergroup| command. This allows you
+            to regain control after the |\pgfmatrix| command. (If you do not
+            know the |\aftergroup| command, you are probably blessed with a
+            simple and happy life.)
+    \end{enumerate}
+
+
+    \medskip
+    \textbf{Special considerations concerning macro expansion.\ }
+    As said before, the matrix is typeset using |\halign| internally. This
+    command does a lot of strange and magic things like expanding the first
+    macro of every cell in a most unusual manner. Here are some effects you may
+    wish to be aware of:
+    %
+    \begin{itemize}
+        \item It is not necessary to actually mention |\pgfmatrixnextcell| or
+            |\pgfmatrixendrow| inside the \meta{matrix cells}. It suffices that
+            the  macros inside \meta{matrix cells} expand to these macros
+            sooner or later.
+        \item In particular, you can define clever macros that insert columns
+            and rows as needed for special effects.
+    \end{itemize}
 \end{command}
 
 
@@ -208,92 +204,97 @@
 \subsection{Row and Column Spacing}
 \label{section-matrix-spacing}
 
-It is possible to control the space between columns and rows rather
-detailedly. Two commands are important for the row spacing and two
-commands for the column spacing.
+It is possible to control the space between columns and rows rather detailedly.
+Two commands are important for the row spacing and two commands for the column
+spacing.
 
 \begin{command}{\pgfsetmatrixcolumnsep\marg{sep list}}
-  This macro sets the default separation list for columns. The details of the
-  format of this list are explained in the description of the next command.
+    This macro sets the default separation list for columns. The details of the
+    format of this list are explained in the description of the next command.
 \end{command}
 
 \begin{command}{\pgfmatrixnextcell\opt{\oarg{additional sep list}}}
-  This command has two purposes: First, it is used to separate
-  cells. Second, by providing the optional argument \meta{additional
-    sep list} you can modify the spacing between the columns that are
-  separated by this command.
+    This command has two purposes: First, it is used to separate cells. Second,
+    by providing the optional argument \meta{additional sep list} you can
+    modify the spacing between the columns that are separated by this command.
 
-  The optional \meta{additional sep list} may only be provided when
-  the |\pgfmatrixnextcell| command starts a new column. Normally, this
-  will only be the case in the first row, but sometimes a later row
-  has more elements than the first row. In this case, the
-  |\pgfmatrixnextcell| commands that start the new columns in the
-  later row may also have the optional argument. Once a column has
-  been started, subsequent uses of this optional argument for the
-  column have no effect.
+    The optional \meta{additional sep list} may only be provided when the
+    |\pgfmatrixnextcell| command starts a new column. Normally, this will only
+    be the case in the first row, but sometimes a later row has more elements
+    than the first row. In this case, the |\pgfmatrixnextcell| commands that
+    start the new columns in the later row may also have the optional argument.
+    Once a column has been started, subsequent uses of this optional argument
+    for the column have no effect.
 
-  To determine the space between the two columns that are separated by
-  |\pgfmatrixnextcell|, the following algorithm is executed:
-  \begin{enumerate}
-  \item Both the default separation list (as set up by
-    |\pgfsetmatrixcolumnsep|) and the \meta{additional sep list} are
-    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|.
-  \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
-    neither keyword is present, we proceed as if |between borders|
-    were present.
-  \end{enumerate}
-  At the end of the algorithm, a dimension $d$ has been computed and
-  one of the two \emph{modes} |between borders| and |between origins|
-  has been determined. Depending on which mode has been determined,
-  the following happens:
-  \begin{itemize}
-  \item For the |between borders| mode, an additional horizontal space
-    of $d$ is added between the two columns. Note that $d$ may be
-    negative.
-  \item For the |between origins| mode, the spacing between the two
-    columns is computed differently: Recall that the origins of the
-    cell pictures in both pictures lie on two vertical lines. The
-    spacing between the two columns is set up such that the horizontal
-    distance between these two lines is exactly $d$.
+    To determine the space between the two columns that are separated by
+    |\pgfmatrixnextcell|, the following algorithm is executed:
+    %
+    \begin{enumerate}
+        \item Both the default separation list (as set up by
+            |\pgfsetmatrixcolumnsep|) and the \meta{additional sep list} are
+            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|.
+        \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
+            neither keyword is present, we proceed as if |between borders| were
+            present.
+    \end{enumerate}
+    %
+    At the end of the algorithm, a dimension $d$ has been computed and one of
+    the two \emph{modes} |between borders| and |between origins| has been
+    determined. Depending on which mode has been determined, the following
+    happens:
+    %
+    \begin{itemize}
+        \item For the |between borders| mode, an additional horizontal space of
+            $d$ is added between the two columns. Note that $d$ may be
+            negative.
+        \item For the |between origins| mode, the spacing between the two
+            columns is computed differently: Recall that the origins of the
+            cell pictures in both pictures lie on two vertical lines. The
+            spacing between the two columns is set up such that the horizontal
+            distance between these two lines is exactly $d$.
 
-    This mode may only be used between columns \emph{already
-      introduced in the first row}.
-  \end{itemize}
-  All of the above rules boil down to the following effects:
-  \begin{itemize}
-  \item A default spacing between columns should be set up using
-    |\pgfsetmatrixcolumnsep|. For example, you might say
-    |\pgfsetmatrixcolumnsep{5pt}| to have columns spaced apart by
-    |5pt|. You could say
+            This mode may only be used between columns \emph{already introduced
+            in the first row}.
+    \end{itemize}
+    %
+    All of the above rules boil down to the following effects:
+    %
+    \begin{itemize}
+        \item A default spacing between columns should be set up using
+            |\pgfsetmatrixcolumnsep|. For example, you might say
+            |\pgfsetmatrixcolumnsep{5pt}| to have columns spaced apart by
+            |5pt|. You could say
+            %
 \begin{verbatim}
 \pgfsetmatrixcolumnsep{1cm,between origins}
 \end{verbatim}
-    to specify that horizontal space between the origins of cell
-    pictures in adjacent columns should be 1cm by default --
-    regardless of the actual size of the cell pictures.
-  \item You can now use the optional argument of |\pgfmatrixnextcell|
-    to locally overrule the spacing between two columns. By saying
-    |\pgfmatrixnextcell[5pt]| you \emph{add} 5pt to the space between
-    of the two columns, regardless of the mode.
+            %
+            to specify that horizontal space between the origins of cell
+            pictures in adjacent columns should be 1cm by default -- regardless
+            of the actual size of the cell pictures.
+        \item You can now use the optional argument of |\pgfmatrixnextcell| to
+            locally overrule the spacing between two columns. By saying
+            |\pgfmatrixnextcell[5pt]| you \emph{add} 5pt to the space between
+            of the two columns, regardless of the mode.
 
-    You can also (locally) change the spacing mode for these two
-    columns. For example, even if the normal spacing mode is
-    |between origins|, you can say
+            You can also (locally) change the spacing mode for these two
+            columns. For example, even if the normal spacing mode is
+            |between origins|, you can say
+            %
 \begin{verbatim}
 \pgfmatrixnextcell[5pt,between borders]
 \end{verbatim}
-    to locally change the mode for these columns to
-    |between borders|.
-  \end{itemize}
-
-    \begin{codeexample}[]
+            %
+            to locally change the mode for these columns to |between borders|.
+    \end{itemize}
+    %
+\begin{codeexample}[]
 \begin{tikzpicture}[every node/.style=draw]
   \pgfsetmatrixcolumnsep{1mm}
   \pgfmatrix{rectangle}{center}{mymatrix}
@@ -304,8 +305,9 @@
     \node {4}; \&      \node{9}; \&       \node {2}; \\
   }
 \end{tikzpicture}
-    \end{codeexample}
-    \begin{codeexample}[]
+\end{codeexample}
+    %
+\begin{codeexample}[]
 \begin{tikzpicture}[every node/.style=draw]
   \pgfsetmatrixcolumnsep{1mm}
   \pgfmatrix{rectangle}{center}{mymatrix}
@@ -318,8 +320,9 @@
   \draw [<->,red,thick,every node/.style=] (a.center) -- (b.center)
         node [above,midway] {11mm};
 \end{tikzpicture}
-    \end{codeexample}
-    \begin{codeexample}[]
+\end{codeexample}
+    %
+\begin{codeexample}[]
 \begin{tikzpicture}[every node/.style=draw]
   \pgfsetmatrixcolumnsep{1cm,between origins}
   \pgfmatrix{rectangle}{center}{mymatrix}
@@ -335,28 +338,25 @@
     {10mm};
   \end{scope}
 \end{tikzpicture}
-    \end{codeexample}
+\end{codeexample}
+    %
 \end{command}
 
-The mechanism for the between-row-spacing is the same, only the
-commands are called differently.
+The mechanism for the between-row-spacing is the same, only the commands are
+called differently.
 
-
 \begin{command}{\pgfsetmatrixrowsep\marg{sep list}}
-  This macro sets the default separation list for rows.
+    This macro sets the default separation list for rows.
 \end{command}
 
-
-
 \begin{command}{\pgfmatrixendrow\opt{\oarg{additional sep list}}}
-  This command ends a line. The optional \meta{additional sep list} is
-  used to determine the spacing between the row being ended and the
-  next row. The modes and the computation of $d$ is done in the same
-  way as for columns. For the last row the optional argument has no
-  effect.
+    This command ends a line. The optional \meta{additional sep list} is used
+    to determine the spacing between the row being ended and the next row. The
+    modes and the computation of $d$ is done in the same way as for columns.
+    For the last row the optional argument has no effect.
 
-  Inside matrices (and only there) the command |\\| is set up to mean
-  the same as this command.
+    Inside matrices (and only there) the command |\\| is set up to mean the
+    same as this command.
 \end{command}
 
 
@@ -363,16 +363,17 @@
 \subsection{Callbacks}
 \label{section-matrix-callbacks}
 
-There are three macros that get called at the beginning and end of
-cells. By redefining these macros, which are empty by default, you can
-change the appearance of cells in a very general manner.
+There are three macros that get called at the beginning and end of cells. By
+redefining these macros, which are empty by default, you can change the
+appearance of cells in a very general manner.
 
 \begin{command}{\pgfmatrixemptycode}
-  This macro is executed for empty cells. This means that \pgfname\
-  uses some macro magic to determine whether a cell is empty (it
-  immediately ends with |\pgfmatrixemptycode| or |\pgfmatrixendrow|)
-  and, if so, put this macro inside the cell.
-  \begin{codeexample}[]
+    This macro is executed for empty cells. This means that \pgfname\ uses some
+    macro magic to determine whether a cell is empty (it immediately ends with
+    |\pgfmatrixemptycode| or |\pgfmatrixendrow|) and, if so, put this macro
+    inside the cell.
+    %
+\begin{codeexample}[]
 \begin{tikzpicture}
   \def\pgfmatrixemptycode{\node{empty};}
   \pgfmatrix{rectangle}{center}{mymatrix}
@@ -382,17 +383,18 @@
                \& \node{c}; \& \node {d}; \& \\
   }
 \end{tikzpicture}
-  \end{codeexample}
-  As can be seen, the macro is not executed for empty cells at the end
-  of row when columns are added only later on.
+\end{codeexample}
+    %
+    As can be seen, the macro is not executed for empty cells at the end of row
+    when columns are added only later on.
 \end{command}
 
-
 \begin{command}{\pgfmatrixbegincode}
-  This macro is executed at the beginning of non-empty
-  cells. Correspondingly, |\pgfmatrixendcode| is added at
-  the end of every non-empty cell.
-  \begin{codeexample}[]
+    This macro is executed at the beginning of non-empty cells.
+    Correspondingly, |\pgfmatrixendcode| is added at the end of every non-empty
+    cell.
+    %
+\begin{codeexample}[]
 \begin{tikzpicture}
   \def\pgfmatrixbegincode{\node[draw]\bgroup}
   \def\pgfmatrixendcode{\egroup;}
@@ -403,33 +405,32 @@
     d \&   \& e \\
   }
 \end{tikzpicture}
-  \end{codeexample}
-  Note that between |\pgfmatrixbegincode| and |\pgfmatrixendcode|
-  there will \emph{not} only be the contents of the cell. Rather,
-  \pgfname\ will add some (invisible) commands for book-keeping
-  purposes that involve |\let| and |\gdef|. In particular, it is not a
-  good idea to have |\pgfmatrixbegincode| end with |\csname| and
-  |\pgfmatrixendcode| start with |\endcsname|.
+\end{codeexample}
+    %
+    Note that between |\pgfmatrixbegincode| and |\pgfmatrixendcode| there will
+    \emph{not} only be the contents of the cell. Rather, \pgfname\ will add
+    some (invisible) commands for book-keeping purposes that involve |\let| and
+    |\gdef|. In particular, it is not a good idea to have |\pgfmatrixbegincode|
+    end with |\csname| and |\pgfmatrixendcode| start with |\endcsname|.
 \end{command}
 
 \begin{command}{\pgfmatrixendcode}
-  See the explanation above.
+    See the explanation above.
 \end{command}
 
+The following two counters allow you to access the current row and current
+column in a callback:
 
-The following two counters allow you to access the current row and
-current column in a callback:
-
 \begin{command}{\pgfmatrixcurrentrow}
-  This counter stores the current row of the current cell of the
-  matrix. Do not even think about changing this counter.
+    This counter stores the current row of the current cell of the matrix. Do
+    not even think about changing this counter.
 \end{command}
 
 \begin{command}{\pgfmatrixcurrentcolumn}
-  This counter stores the current column of the current cell of the
-  matrix.
+    This counter stores the current column of the current cell of the matrix.
 \end{command}
 
+
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -15,36 +15,33 @@
 This section describes the |shapes| module.
 
 \begin{pgfmodule}{shapes}
-  This module defines commands both for creating nodes and for
-  creating shapes. The package is loaded automatically by |pgf|, but
-  you can load it manually if you have  only included |pgfcore|.
+    This module defines commands both for creating nodes and for creating
+    shapes. The package is loaded automatically by |pgf|, but you can load it
+    manually if you have  only included |pgfcore|.
 \end{pgfmodule}
 
 
 \subsection{Overview}
 
-\pgfname\ comes with a sophisticated set of commands for creating
-\emph{nodes} and \emph{shapes}. A \emph{node} is a graphical object
-that consists (typically) of (one or more) text labels and some
-additional stroked or filled paths. Each node has a certain
-\emph{shape}, which may be something simple like a |rectangle| or a
-|circle|, but it may also be something complicated like a
-|uml class diagram| (this shape is currently not implemented,
-though). Different nodes that have the same shape may look quite
-different, however, since shapes (need not) specify whether the shape
-path is stroked or filled.
+\pgfname\ comes with a sophisticated set of commands for creating \emph{nodes}
+and \emph{shapes}. A \emph{node} is a graphical object that consists
+(typically) of (one or more) text labels and some additional stroked or filled
+paths. Each node has a certain \emph{shape}, which may be something simple like
+a |rectangle| or a |circle|, but it may also be something complicated like a
+|uml class diagram| (this shape is currently not implemented, though).
+Different nodes that have the same shape may look quite different, however,
+since shapes (need not) specify whether the shape path is stroked or filled.
 
 
 \subsubsection{Creating and Referencing Nodes}
 
 You create a node by calling the macro |\pgfnode| or the more general
-|\pgfmultipartnode|. This macro takes several parameters and draws
-the requested shape at a certain position. In addition, it will
-``remember'' the node's position within the current
-|{pgfpicture}|. You can then, later on, refer to the
-node's position. Coordinate transformations are ``fully supported,''
-which means that if you used coordinate transformations to shift or
-rotate the shape of a node, the node's position will still be correctly
+|\pgfmultipartnode|. This macro takes several parameters and draws the
+requested shape at a certain position. In addition, it will ``remember'' the
+node's position within the current |{pgfpicture}|. You can then, later on,
+refer to the node's position. Coordinate transformations are ``fully
+supported'', which means that if you used coordinate transformations to shift
+or rotate the shape of a node, the node's position will still be correctly
 determined by \pgfname. This is \emph{not} the case if you use canvas
 transformations instead.
 
@@ -51,123 +48,109 @@
 
 \subsubsection{Anchors}
 
-An important property of a node or a shape in general are its
-\emph{anchors}. Anchors are ``important'' positions in a shape. For
-example, the |center| anchor lies at the center of a shape, the
-|north| anchor is usually ``at the top, in the middle'' of a shape,
-the |text| anchor is the lower left corner of the shape's text label
-(if present), and so on.
+An important property of a node or a shape in general are its \emph{anchors}.
+Anchors are ``important'' positions in a shape. For example, the |center|
+anchor lies at the center of a shape, the |north| anchor is usually ``at the
+top, in the middle'' of a shape, the |text| anchor is the lower left corner of
+the shape's text label (if present), and so on.
 
-Anchors are important both when you create a node and when you
-reference it. When you create a node, you specify the node's
-``position'' by asking \pgfname\ to place the shape in such a way that
-a certain anchor lies at a certain point. For example, you might ask
-that the node is placed such that the |north| anchor is at the
-origin. This will effectively cause the node to be placed below the
+Anchors are important both when you create a node and when you reference it.
+When you create a node, you specify the node's ``position'' by asking \pgfname\
+to place the shape in such a way that a certain anchor lies at a certain point.
+For example, you might ask that the node is placed such that the |north| anchor
+is at the origin. This will effectively cause the node to be placed below the
 origin.
 
-When you reference a node, you always reference an anchor of the
-node. For example, when you request the ``|north| anchor of the node
-just placed'' you will get the origin. However, you can also request
-the ``|south| anchor of this node,'' which will give you a point
-somewhere below the origin. When a coordinate transformation was in
-force at the time of creation of a node, all anchors are also
-transformed accordingly.
+When you reference a node, you always reference an anchor of the node. For
+example, when you request the ``|north| anchor of the node just placed'' you
+will get the origin. However, you can also request the ``|south| anchor of this
+node'', which will give you a point somewhere below the origin. When a
+coordinate transformation was in force at the time of creation of a node, all
+anchors are also transformed accordingly.
 
+
 \subsubsection{Layers of a Shape}
 
-The simplest shape, the |coordinate|, has just one anchor, namely the
-|center|, and a label (which is usually empty). More complicated
-shapes like the |rectangle| shape also have a \emph{background
-  path}. This is a \pgfname-path that is defined by the shape. The
-shape does not prescribe what should happen with the path: When a node
-is created, this path may be stroked (resulting in a frame around the
-label), filled (resulting in a background color for the text), or just
-discarded.
+The simplest shape, the |coordinate|, has just one anchor, namely the |center|,
+and a label (which is usually empty). More complicated shapes like the
+|rectangle| shape also have a \emph{background path}. This is a \pgfname-path
+that is defined by the shape. The shape does not prescribe what should happen
+with the path: When a node is created, this path may be stroked (resulting in a
+frame around the label), filled (resulting in a background color for the text),
+or just discarded.
 
-Although most shapes consist just of a background path plus some label
-text, when a shape is drawn, up to seven different layers are drawn:
-
+Although most shapes consist just of a background path plus some label text,
+when a shape is drawn, up to seven different layers are drawn:
+%
 \begin{enumerate}
-\item
-  The ``behind the background layer.'' Unlike the background path,
-  which can be used in different ways by different nodes, the graphic
-  commands given for this layer will always stroke or
-  always fill the path they construct. They might also insert some
-  text that is ``behind everything.''
-\item
-  The background path layer. How this path is used depends on the
-  arguments of the |\pgfnode| command.
-\item
-  The ``before the background path layer.'' This layer works like the
-  first one, only the commands of this layer are executed after the
-  background path has been used (in whatever way the creator of the
-  node chose).
-\item
-  The label layer. This layer inserts the node's text box(es).
-\item
-  The ``behind the foreground layer.'' This layer, like the
-  first layer, once more contains graphic commands that are ``simply
-  executed.''
-\item
-  The foreground path layer. This path is treated in the same way as the
-  background path, only it is drawn after the label text has been
-  drawn.
-\item
-  The ``before the foreground layer.''
+    \item The ``behind the background layer''. Unlike the background path,
+        which can be used in different ways by different nodes, the graphic
+        commands given for this layer will always stroke or always fill the
+        path they construct. They might also insert some text that is ``behind
+        everything''.
+    \item The background path layer. How this path is used depends on the
+        arguments of the |\pgfnode| command.
+    \item The ``before the background path layer''. This layer works like the
+        first one, only the commands of this layer are executed after the
+        background path has been used (in whatever way the creator of the node
+        chose).
+    \item The label layer. This layer inserts the node's text box(es).
+    \item The ``behind the foreground layer''. This layer, like the first
+        layer, once more contains graphic commands that are ``simply
+        executed''.
+    \item The foreground path layer. This path is treated in the same way as
+        the background path, only it is drawn after the label text has been
+        drawn.
+    \item The ``before the foreground layer''.
 \end{enumerate}
 
 Which of these layers are actually used depends on the shape.
 
 
-
 \subsubsection{Node Parts}
 
-A shape typically does not consist only of different background and
-foreground paths, but it may also have text labels. Indeed, for many
-shapes the text labels are the more important part of the shape.
+A shape typically does not consist only of different background and foreground
+paths, but it may also have text labels. Indeed, for many shapes the text
+labels are the more important part of the shape.
 
-Most shapes will have only one text label. In this case, this text
-label is simply passed as a parameter to the |\pgfnode| command. When
-the node is drawn, the text label is shifted around such that its
-lower left corner is at the |text| anchor of the node.
+Most shapes will have only one text label. In this case, this text label is
+simply passed as a parameter to the |\pgfnode| command. When the node is drawn,
+the text label is shifted around such that its lower left corner is at the
+|text| anchor of the node.
 
-More complicated shapes may have more than one text label. Nodes of
-such shapes are called \emph{multipart nodes}. The different
-\emph{node parts} are simply the different text labels. For example, a
-|uml class| shape might have a |class name| part, a |method| part and
-an |attributes| part. Indeed, single part nodes are a special case of
-multipart nodes: They only have one part named |text|.
+More complicated shapes may have more than one text label. Nodes of such shapes
+are called \emph{multipart nodes}. The different \emph{node parts} are simply
+the different text labels. For example, a |uml class| shape might have a
+|class name| part, a |method| part and an |attributes| part. Indeed, single
+part nodes are a special case of multipart nodes: They only have one part named
+|text|.
 
-When a shape is declared, you must specify the node parts. There is a
-simple command called |\nodeparts| that takes a list of the part names
-as input. When you create a node of a multipart shape, for each part
-of the node you must have set up a \TeX-box containing the text of the
-part. For a part named |XYZ| you must set up the box
-|\pgfnodepartXYZbox|. The box will be placed at the anchor |XYZ|. See
-the description of |\pgfmultipartnode| for more details.
+When a shape is declared, you must specify the node parts. There is a simple
+command called |\nodeparts| that takes a list of the part names as input. When
+you create a node of a multipart shape, for each part of the node you must have
+set up a \TeX-box containing the text of the part. For a part named |XYZ| you
+must set up the box |\pgfnodepartXYZbox|. The box will be placed at the anchor
+|XYZ|. See the description of |\pgfmultipartnode| for more details.
 
 
 \subsection{Creating Nodes}
 
-
 \subsubsection{Creating Simple Nodes}
 
-\begin{command}{\pgfnode\marg{shape}\marg{anchor}\marg{label
-      text}\marg{name}\marg{path usage command}}
-  This command creates a new node. The \meta{shape} of the node must
-  have been declared previously using |\pgfdeclareshape|.
+\begin{command}{\pgfnode\marg{shape}\marg{anchor}\marg{label text}\marg{name}\marg{path usage command}}
+    This command creates a new node. The \meta{shape} of the node must have
+    been declared previously using |\pgfdeclareshape|.
 
-  The shape is shifted such that the \meta{anchor} is at the
-  origin. In order to place the shape somewhere else, use the
-  coordinate transformation prior to calling this command.
+    The shape is shifted such that the \meta{anchor} is at the origin. In order
+    to place the shape somewhere else, use the coordinate transformation prior
+    to calling this command.
 
-  The \meta{name} is a name for later reference. If no name is given,
-  nothing will be ``saved'' for the node, it will just be drawn.
+    The \meta{name} is a name for later reference. If no name is given, nothing
+    will be ``saved'' for the node, it will just be drawn.
 
-  The \meta{path usage command} is executed for the background and the
-  foreground path (if the shape defines them).
-
+    The \meta{path usage command} is executed for the background and the
+    foreground path (if the shape defines them).
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (4,3);
@@ -185,14 +168,13 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  As can be seen, all coordinate transformations are also applied to
-  the text of the shape. Sometimes, it is desirable that the
-  transformations are applied to the point where the shape will be
-  anchored, but you do not wish the shape itself to the
-  transformed. In this case, you should call
-  |\pgftransformresetnontranslations| prior to calling the |\pgfnode|
-  command.
-
+    As can be seen, all coordinate transformations are also applied to the text
+    of the shape. Sometimes, it is desirable that the transformations are
+    applied to the point where the shape will be anchored, but you do not wish
+    the shape itself to the transformed. In this case, you should call
+    |\pgftransformresetnontranslations| prior to calling the |\pgfnode|
+    command.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (4,3);
@@ -207,33 +189,29 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The \meta{label text} is typeset inside the \TeX-box
-  |\pgfnodeparttextbox|. This box is shown at the |text| anchor of the
-  node, if the node has a |text| part. See the description of
-  |\pgfmultipartnode| for details.
+    The \meta{label text} is typeset inside the \TeX-box |\pgfnodeparttextbox|.
+    This box is shown at the |text| anchor of the node, if the node has a
+    |text| part. See the description of |\pgfmultipartnode| for details.
 \end{command}
 
 
-
 \subsubsection{Creating Multi-Part Nodes}
 
-\begin{command}{\pgfmultipartnode\marg{shape}\marg{anchor}\marg{name}\marg{path
-      usage command}}
-  This command is the more general (and less user-friendly) version of
-  the |\pgfnode| command. While the |\pgfnode| command can only be
-  used for shapes that have a single part (which is the case for most
-  shapes), this command can also be used with multi-part nodes.
+\begin{command}{\pgfmultipartnode\marg{shape}\marg{anchor}\marg{name}\marg{path usage command}}
+    This command is the more general (and less user-friendly) version of the
+    |\pgfnode| command. While the |\pgfnode| command can only be used for
+    shapes that have a single part (which is the case for most shapes), this
+    command can also be used with multi-part nodes.
 
-  When this command is called, for each node part of the node you must
-  have set up one \TeX-box. Suppose the shape has two parts: The |text|
-  part and the |lower| part. Then, prior to calling
-  |\pgfmultipartnode|, you must have set up the boxes
-  |\pgfnodeparttextbox| and |\pgfnodepartlowerbox|. These boxes may
-  contain any \TeX-text. The shape code will then compute the
-  positions of the shape's anchors based on the sizes of the these
-  shapes. Finally, when the node is drawn, the boxes are placed at the
-  anchor positions |text| and |lower|.
-
+    When this command is called, for each node part of the node you must have
+    set up one \TeX-box. Suppose the shape has two parts: The |text| part and
+    the |lower| part. Then, prior to calling |\pgfmultipartnode|, you must have
+    set up the boxes |\pgfnodeparttextbox| and |\pgfnodepartlowerbox|. These
+    boxes may contain any \TeX-text. The shape code will then compute the
+    positions of the shape's anchors based on the sizes of the these shapes.
+    Finally, when the node is drawn, the boxes are placed at the anchor
+    positions |text| and |lower|.
+    %
 \begin{codeexample}[]
 \setbox\pgfnodeparttextbox=\hbox{$q_1$}
 \setbox\pgfnodepartlowerbox=\hbox{01}
@@ -242,66 +220,66 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  \emph{Note:\/} Be careful when using the |\setbox| command inside a
-  |{pgfpicture}| command. You will have to use |\pgfinterruptpath| at
-  the beginning of the box and |\endpgfinterruptpath| at the end of
-  the box to make sure that the box is typeset correctly. In the above
-  example this problem was sidestepped by moving the box construction
-  outside the environment.
+    \emph{Note:\/} Be careful when using the |\setbox| command inside a
+    |{pgfpicture}| command. You will have to use |\pgfinterruptpath| at the
+    beginning of the box and |\endpgfinterruptpath| at the end of the box to
+    make sure that the box is typeset correctly. In the above example this
+    problem was sidestepped by moving the box construction outside the
+    environment.
 
-  \emph{Note:\/} It is not necessary to use |\newbox| for every node
-  part name. Although you need a different box for each part of a
-  single shape, two different shapes may very well use the same box
-  even when the names of the parts are different. Suppose you have a
-  |circle split| shape that has a |lower| part and you have a
-  |uml class| shape that has a |methods| part. Then, in order to avoid
-  exhausting \TeX's limited number of box registers, you can say
+    \emph{Note:\/} It is not necessary to use |\newbox| for every node part
+    name. Although you need a different box for each part of a single shape,
+    two different shapes may very well use the same box even when the names of
+    the parts are different. Suppose you have a |circle split| shape that has a
+    |lower| part and you have a |uml class| shape that has a |methods| part.
+    Then, in order to avoid exhausting \TeX's limited number of box registers,
+    you can say
+    %
 \begin{codeexample}[code only]
 \newbox\pgfnodepartlowerbox
 \let\pgfnodepartmethodsbox=\pgfnodepartlowerbox
 \end{codeexample}
-  Also, when you have a node part name with spaces like |class name|,
-  it may be useful to create an alias:
+    %
+    Also, when you have a node part name with spaces like |class name|, it may
+    be useful to create an alias:
+    %
 \begin{codeexample}[code only]
 \newbox\mybox
 \expandafter\let\csname pgfnodepartclass namebox\endcsname=\mybox
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfcoordinate\marg{name}\marg{coordinate}}
-  This command creates a node of shape |coordinate| at the given
-  \meta{coordinate}. Exactly the same effect can be achieved using
-  first a shift of the coordinate system to \meta{coordinate},
-  followed by creating a node of shape |coordinate| named
-  \meta{name}. However, this command is easier and more natural to use
-  and, more importantly, it is much faster.
+    This command creates a node of shape |coordinate| at the given
+    \meta{coordinate}. Exactly the same effect can be achieved using first a
+    shift of the coordinate system to \meta{coordinate}, followed by creating a
+    node of shape |coordinate| named \meta{name}. However, this command is
+    easier and more natural to use and, more importantly, it is much faster.
 \end{command}
 
 \begin{command}{\pgfnodealias\marg{new name}\marg{existing node}}
-  This command does not actually create a new node. Rather, it allows
-  you to subsequently access the node \meta{existing node} using the
-  name \meta{new name}.
+    This command does not actually create a new node. Rather, it allows you to
+    subsequently access the node \meta{existing node} using the name \meta{new
+    name}.
 \end{command}
 
-
 \begin{command}{\pgfnoderename\marg{new name}\marg{existing node}}
-  This command renames an existing node.
+    This command renames an existing node.
 \end{command}
 
+There are a number of values that have an influence on the size of a node.
+These values are stored in the following keys.
 
-There are a number of values that have an influence on the size of a
-node. These values are stored in the following keys.
-
 \begin{key}{/pgf/minimum width=\meta{dimension} (initially 1pt)}
-  \keyalias{tikz}
-  This key stores the \emph{recommended} minimum width of a
-  shape. Thus, when a shape is drawn and when the shape's width would
-  be smaller than \meta{dimension}, the shape's width is enlarged by
-  adding some empty space.
+\keyalias{tikz}
+    This key stores the \emph{recommended} minimum width of a shape. Thus, when
+    a shape is drawn and when the shape's width would be smaller than
+    \meta{dimension}, the shape's width is enlarged by adding some empty space.
 
-  Note that this value is just a recommendation. A shape may choose to
-  ignore this key.
-
+    Note that this value is just a recommendation. A shape may choose to ignore
+    this key.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (-2,0) grid (2,1);
@@ -310,26 +288,25 @@
   \pgfnode{rectangle}{center}{Hello World}{}{\pgfusepath{stroke}}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/pgf/minimum height=\meta{dimension} (initially 1pt)}
-  \keyalias{tikz}
-  Works like |/pgf/minimum width|.
+\keyalias{tikz}
+    Works like |/pgf/minimum width|.
 \end{key}
 
 \begin{key}{/pgf/minimum size=\meta{dimension}}
-  \keyalias{tikz}
-  This style both |/pgf/minimum width| and |/pgf/minimum height| to \meta{dimension}.
+\keyalias{tikz}
+    This style both |/pgf/minimum width| and |/pgf/minimum height| to \meta{dimension}.
 \end{key}
 
-
 \begin{key}{/pgf/inner xsep=\meta{dimension} (initially 0.3333em)}
-  \keyalias{tikz}
-  This key stores the \emph{recommended} horizontal
-  inner separation between the label text and the background path. As
-  before, this value is just a recommendation and a shape may choose
-  to ignore this key.
-
+\keyalias{tikz}
+    This key stores the \emph{recommended} horizontal inner separation between
+    the label text and the background path. As before, this value is just a
+    recommendation and a shape may choose to ignore this key.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (-2,0) grid (2,1);
@@ -338,28 +315,28 @@
   \pgfnode{rectangle}{center}{Hello World}{}{\pgfusepath{stroke}}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/pgf/inner ysep=\meta{dimension} (initially 0.3333em)}
-  \keyalias{tikz}
-  Works like |/pgf/inner xsep|.
+\keyalias{tikz}
+    Works like |/pgf/inner xsep|.
 \end{key}
 
 \begin{key}{/pgf/inner sep=\meta{dimension}}
-  \keyalias{tikz}
-  This style sets both |/pgf/inner xsep| and |/pgf/inner ysep| to \meta{dimension}.
+\keyalias{tikz}
+    This style sets both |/pgf/inner xsep| and |/pgf/inner ysep| to
+    \meta{dimension}.
 \end{key}
 
-
-
 \begin{key}{/pgf/outer xsep=\meta{dimension} (initially .5\string\pgflinewidth)}
-  \keyalias{tikz}
-  This key stores the recommended horizontal separation between the
-  background path and the ``outer anchors.'' For example, if
-  \meta{dimension} is |1cm| then the |east| anchor will be 1cm to the
-  right of the right border of the background path.
-  As before, this value is just a recommendation.
-
+\keyalias{tikz}
+    This key stores the recommended horizontal separation between the
+    background path and the ``outer anchors''. For example, if \meta{dimension}
+    is |1cm| then the |east| anchor will be 1cm to the right of the right
+    border of the background path. As before, this value is just a
+    recommendation.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (-2,0) grid (2,1);
@@ -375,16 +352,18 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/pgf/outer ysep=\meta{dimension} (initially .5\string\pgflinewidth)}
-  \keyalias{tikz}
-  Works like |/pgf/outer xsep|.
+\keyalias{tikz}
+    Works like |/pgf/outer xsep|.
 \end{key}
 
 \begin{key}{/pgf/outer sep=\meta{dimension}}
-  \keyalias{tikz}
-  This style sets both |/pgf/outer xsep| and |/pgf/outer ysep| to \meta{dimension}.
+\keyalias{tikz}
+    This style sets both |/pgf/outer xsep| and |/pgf/outer ysep| to
+    \meta{dimension}.
 \end{key}
 
 
@@ -391,90 +370,89 @@
 \subsubsection{Deferred Node Positioning}
 \label{section-shapes-deferred-node-positioning}
 
-Normally, when a node is created using a command like |\pgfnode|, the
-node is immediately inserted into the current picture. In particular,
-you have no chance to change the position of a created node after it
-has been created. Using |\pgfpositionnodelater| in concert with
-|\pgfpositionnodenow|, you can create a node whose position is
-determined only at some later time.
+Normally, when a node is created using a command like |\pgfnode|, the node is
+immediately inserted into the current picture. In particular, you have no
+chance to change the position of a created node after it has been created.
+Using |\pgfpositionnodelater| in concert with |\pgfpositionnodenow|, you can
+create a node whose position is determined only at some later time.
 
 \begin{command}{\pgfpositionnodelater\marg{macro name}}
-  This command is not a replacement for |\pgfnode|. Rather, when this
-  command is used in a scope, all subsequent node creations in this
-  scope will be affected in the following way:  When a node is
-  created, it is not inserted into the current picture. Instead, it
-  is stored in the box |\pgfpositionnodelaterbox|. Furthermore, the
-  node is not relevant for the picture's bounding box, but a bounding
-  box for the node is computed and stored in the macros
-  |\pgfpositionnodelaterminx| to |\pgfpositionnodelatermaxy|. Then,
-  the \meta{macro name} is called with the following macros set up:
+    This command is not a replacement for |\pgfnode|. Rather, when this command
+    is used in a scope, all subsequent node creations in this scope will be
+    affected in the following way:  When a node is created, it is not inserted
+    into the current picture. Instead, it is stored in the box
+    |\pgfpositionnodelaterbox|. Furthermore, the node is not relevant for the
+    picture's bounding box, but a bounding box for the node is computed and
+    stored in the macros |\pgfpositionnodelaterminx| to
+    |\pgfpositionnodelatermaxy|. Then, the \meta{macro name} is called with the
+    following macros set up:
 
-  \begin{command}{\pgfpositionnodelaterbox}
-    A box register number (|0| currently) that stores the node's paths
-    and texts. You should move the contents of this box to a box of
-    your choice inside \meta{macro name}.
-  \end{command}
+    \begin{command}{\pgfpositionnodelaterbox}
+        A box register number (|0| currently) that stores the node's paths and
+        texts. You should move the contents of this box to a box of your choice
+        inside \meta{macro name}.
+    \end{command}
 
-  \begin{command}{\pgfpositionnodelatername}
-    The name of the just-created-node. This name will be the
-    originally ``desired'' name of the box plus the fixed prefix
-    |not yet positionedPGFINTERNAL|. The idea is to ensure that the
-    original name is not inadvertently used before the node is actually
-    positioned. When |\pgfpositionnodenow| is called, it will change
-    the name to the original name.
-  \end{command}
+    \begin{command}{\pgfpositionnodelatername}
+        The name of the just-created-node. This name will be the originally
+        ``desired'' name of the box plus the fixed prefix
+        |not yet positionedPGFINTERNAL|. The idea is to ensure that the
+        original name is not inadvertently used before the node is actually
+        positioned. When |\pgfpositionnodenow| is called, it will change the
+        name to the
+        original name.
+    \end{command}
 
-  \begin{command}{\pgfpositionnodelaterminx}
-    The minimal $x$-position of a bounding box of the node. This
-    bounding box refers to the node when it is positioned with the
-    anchor at the origin. It is guaranteed, that this macro will
-    contain a dimension in the format \meta{number}|pt|.
-  \end{command}
-  \begin{command}{\pgfpositionnodelaterminy}
-  \end{command}
-  \begin{command}{\pgfpositionnodelatermaxx}
-  \end{command}
-  \begin{command}{\pgfpositionnodelatermaxy}
-  \end{command}
+    \begin{command}{\pgfpositionnodelaterminx}
+        The minimal $x$-position of a bounding box of the node. This bounding
+        box refers to the node when it is positioned with the anchor at the
+        origin. It is guaranteed, that this macro will contain a dimension in
+        the format \meta{number}|pt|.
+    \end{command}
+    %
+    \begin{command}{\pgfpositionnodelaterminy}
+    \end{command}
+    %
+    \begin{command}{\pgfpositionnodelatermaxx}
+    \end{command}
+    %
+    \begin{command}{\pgfpositionnodelatermaxy}
+    \end{command}
 
-  Once a late node has been created, you can add arbitrary code in the
-  same picture. Then, at some later point, you call
-  |\pgfpositionnodenow| to finally position the node at a given
-  position.  At this point, the above macros must have the exact same
-  values they had when \meta{macro name} was called. Note that the
-  above macros are local to a scope that ends right after the call to
-  \meta{macro name}, so it is your job to copy the values to safety
-  inside \meta{macro name}.
-  
-  The following two macros will also be set inside the call to
-  \meta{macro name}, but they are only ``informative'' in the sense
-  that you need \emph{not} restore these macros when
-  |\pgfpositionnodenow| is called.
-  
-  \begin{command}{\pgfpositionnodelaterpath}
-    This macro stores the path of the background of the node. See
-    Section~\ref{section-soft-paths} for an overview of how these
-    paths are encode.
-  \end{command}
+    Once a late node has been created, you can add arbitrary code in the same
+    picture. Then, at some later point, you call |\pgfpositionnodenow| to
+    finally position the node at a given position.  At this point, the above
+    macros must have the exact same values they had when \meta{macro name} was
+    called. Note that the above macros are local to a scope that ends right
+    after the call to \meta{macro name}, so it is your job to copy the values
+    to safety inside \meta{macro name}.
 
-  By setting \meta{macro name} to |\relax| (which is the default), you
-  can switch off the whole mechanism. When a picture is interrupted,
-  this is done automatically.
+    The following two macros will also be set inside the call to \meta{macro
+    name}, but they are only ``informative'' in the sense that you need
+    \emph{not} restore these macros when |\pgfpositionnodenow| is called.
+
+    \begin{command}{\pgfpositionnodelaterpath}
+        This macro stores the path of the background of the node. See
+        Section~\ref{section-soft-paths} for an overview of how these paths are
+        encode.
+    \end{command}
+
+    By setting \meta{macro name} to |\relax| (which is the default), you can
+    switch off the whole mechanism. When a picture is interrupted, this is done
+    automatically.
 \end{command}
 
-
 \begin{command}{\pgfpositionnodenow\marg{coordinate}}
-  This command is used to position a node that has previously been
-  created using the command |\pgfpositionnodelater|. When |\pgfpositionnodenow| is
-  called, the macros and boxes mentioned in the description of
-  |\pgfpositionnodenow| must be set to the value they had when the
-  \meta{macro name} was called. Provided this is the case, this
-  command will insert the box into the current picture, shifted by
-  \meta{coordinate}. Then, the late code (see below)
-  is called. Subsequently, you can refer to the node with its
-  original name as if it had just been created.
-
-  \begin{codeexample}[]
+    This command is used to position a node that has previously been created
+    using the command |\pgfpositionnodelater|. When |\pgfpositionnodenow| is
+    called, the macros and boxes mentioned in the description of
+    |\pgfpositionnodenow| must be set to the value they had when the
+    \meta{macro name} was called. Provided this is the case, this command will
+    insert the box into the current picture, shifted by \meta{coordinate}.
+    Then, the late code (see below) is called. Subsequently, you can refer to
+    the node with its original name as if it had just been created.
+    %
+\begin{codeexample}[]
 \newbox\mybox
 
 \def\mysaver{
@@ -503,50 +481,47 @@
 
   \draw (hi) -- (0,0);
 \end{tikzpicture}
-  \end{codeexample}
+\end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfnodepostsetupcode\marg{node name}\marg{code}}
-  When you call this macro inside a scope for which the
-  |\pgfpositionnodelater| has been called, the \meta{code} will be
-  stored internally. Later, when the node named \meta{node name} is
-  actually positioned using |\pgfpositionnodenow|, the \meta{code}
-  will be executed. When this macro is called multiple times with the
-  same \meta{node name}, the \meta{code} accumulates. However, When
-  |\pgfpositionnodenow| is called, the code stored for the node is
-  cleared.
+    When you call this macro inside a scope for which the
+    |\pgfpositionnodelater| has been called, the \meta{code} will be stored
+    internally. Later, when the node named \meta{node name} is actually
+    positioned using |\pgfpositionnodenow|, the \meta{code} will be executed.
+    When this macro is called multiple times with the same \meta{node name},
+    the \meta{code} accumulates. However, When |\pgfpositionnodenow| is called,
+    the code stored for the node is cleared.
 
-  The main purpose of this mechanism is to allow \tikzname\ to store
-  so-called ``late options'' with a node that will be positioned only
-  later. 
+    The main purpose of this mechanism is to allow \tikzname\ to store
+    so-called ``late options'' with a node that will be positioned only later.
 \end{command}
 
 
 \subsection{Using Anchors}
 
-Each shape defines a set of anchors. We saw already that the anchors
-are used when the shape is drawn: the shape is placed in such a way
-that the given anchor is at the origin (which in turn is typically
-translated somewhere else).
+Each shape defines a set of anchors. We saw already that the anchors are used
+when the shape is drawn: the shape is placed in such a way that the given
+anchor is at the origin (which in turn is typically translated somewhere else).
 
-One has to look up the set of anchors of each shape, there is no
-``default'' set of anchors, except for the |center| anchor, which
-should always be present. Also, most shapes will declare anchors like
-|north| or |east|, but this is not guaranteed.
+One has to look up the set of anchors of each shape, there is no ``default''
+set of anchors, except for the |center| anchor, which should always be present.
+Also, most shapes will declare anchors like |north| or |east|, but this is not
+guaranteed.
 
 
 \subsubsection{Referencing Anchors of Nodes in the Same Picture}
 
-Once a node has been defined, you can refer to its anchors using the
-following commands:
+Once a node has been defined, you can refer to its anchors using the following
+commands:
 
 \begin{command}{\pgfpointanchor\marg{node}\marg{anchor}}
-  This command is another ``point command'' like the commands
-  described in Section~\ref{section-points}. It returns the coordinate
-  of the given \meta{anchor} in the given \meta{node}. The command can
-  be used in commands like |\pgfpathmoveto|.
-
+    This command is another ``point command'' like the commands described in
+    Section~\ref{section-points}. It returns the coordinate of the given
+    \meta{anchor} in the given \meta{node}. The command can be used in commands
+    like |\pgfpathmoveto|.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgftransformrotate{30}
@@ -561,23 +536,21 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  In the above example, you may have noticed something curious: The
-  rotation transformation is still in force when the anchors are
-  invoked, but it does not seem to have an effect. You might expect
-  that the rotation should apply to the already rotated points once
-  more.
+    In the above example, you may have noticed something curious: The rotation
+    transformation is still in force when the anchors are invoked, but it does
+    not seem to have an effect. You might expect that the rotation should apply
+    to the already rotated points once more.
 
-  However, |\pgfpointanchor| returns a point that takes the current
-  transformation matrix into account: \emph{The inverse transformation
-    to the current coordinate transformation is applied to an anchor
-    point before returning it.}
+    However, |\pgfpointanchor| returns a point that takes the current
+    transformation matrix into account: \emph{The inverse transformation to the
+    current coordinate transformation is applied to an anchor point before
+    returning it.}
 
-  This behavior may seem a bit strange, but you will find it very
-  natural in most cases. If you really want to apply a transformation
-  to an anchor point (for example, to ``shift it away'' a little bit),
-  you have to invoke |\pgfpointanchor| without any transformations in
-  force. Here is an example:
-
+    This behavior may seem a bit strange, but you will find it very natural in
+    most cases. If you really want to apply a transformation to an anchor point
+    (for example, to ``shift it away'' a little bit), you have to invoke
+    |\pgfpointanchor| without any transformations in force. Here is an example:
+    %
 \makeatletter
 \begin{codeexample}[]
 \begin{pgfpicture}
@@ -595,28 +568,25 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  A special situation arises when the \meta{node} lies in a picture
-  different from the current picture. In this case, if you have not
-  told \pgfname\ that the picture should be ``remembered,'' the
-  \meta{node} will be treated as if it lay in the current
-  picture. For example, if the \meta{node} was at position $(3,2)$ in
-  the original picture, it is treated as if it lay at position
-  $(3,2)$ in the current picture. However, if you have told \pgfname\
-  to remember the picture position of the node's picture and also of
-  the current picture,
-  then |\pgfpointanchor| will return a coordinate that corresponds to
-  the position of the node's anchor on the page, transformed into the
-  current coordinate system. For examples and more details see
-  Section~\ref{section-cross-pictures-pgf}.
+    A special situation arises when the \meta{node} lies in a picture different
+    from the current picture. In this case, if you have not told \pgfname\ that
+    the picture should be ``remembered'', the \meta{node} will be treated as if
+    it lay in the current picture. For example, if the \meta{node} was at
+    position $(3,2)$ in the original picture, it is treated as if it lay at
+    position $(3,2)$ in the current picture. However, if you have told
+    \pgfname\ to remember the picture position of the node's picture and also
+    of the current picture, then |\pgfpointanchor| will return a coordinate
+    that corresponds to the position of the node's anchor on the page,
+    transformed into the current coordinate system. For examples and more
+    details see Section~\ref{section-cross-pictures-pgf}.
 \end{command}
 
 \begin{command}{\pgfpointshapeborder\marg{node}\marg{point}}
-  This command returns the point on the border of the shape that lies
-  on a straight line from the center of the node to \meta{point}. For
-  complex shapes it is not guaranteed that this point will actually
-  lie on the border, it may be on the border of a ``simplified''
-  version of the shape.
-
+    This command returns the point on the border of the shape that lies on a
+    straight line from the center of the node to \meta{point}. For complex
+    shapes it is not guaranteed that this point will actually lie on the
+    border, it may be on the border of a ``simplified'' version of the shape.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \begin{pgfscope}
@@ -630,6 +600,7 @@
   \pgfusepath{fill}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
@@ -636,96 +607,95 @@
 \subsubsection{Referencing Anchors of Nodes in Different Pictures}
 \label{section-cross-pictures-pgf}
 
-As a picture is typeset, \pgfname\ keeps track of the positions of all
-nodes inside the picture. What \pgfname\ does not remember is the
-position of the picture \emph{itself} on the page. Thus, if you define
-a node in one picture and then try to reference this node while
-another picture is typeset, \pgfname\ will only know the position of
-the nodes that you try to typeset inside the original picture, but it
-will not know where this picture lies. What is missing is the relative
-positioning of the two pictures.
+As a picture is typeset, \pgfname\ keeps track of the positions of all nodes
+inside the picture. What \pgfname\ does not remember is the position of the
+picture \emph{itself} on the page. Thus, if you define a node in one picture
+and then try to reference this node while another picture is typeset, \pgfname\
+will only know the position of the nodes that you try to typeset inside the
+original picture, but it will not know where this picture lies. What is missing
+is the relative positioning of the two pictures.
 
-To overcome this problem, you need to tell \pgfname\ that it should
-remember the position of pictures on a page. If these positions are
-remembered, then \pgfname\ can compute the offset between the pictures
-and make nodes in different pictures accessible.
+To overcome this problem, you need to tell \pgfname\ that it should remember
+the position of pictures on a page. If these positions are remembered, then
+\pgfname\ can compute the offset between the pictures and make nodes in
+different pictures accessible.
 
-Determining the positions of pictures on the page is, alas,
-not-so-easy. Because of this, \pgfname\ does not do so
-automatically. Rather, you have to proceed as follows:
+Determining the positions of pictures on the page is, alas, not-so-easy.
+Because of this, \pgfname\ does not do so automatically. Rather, you have to
+proceed as follows:
+%
 \begin{enumerate}
-\item You have to use a backend driver that supports position
-  tracking. pdf\TeX\ is one such driver, |dvips| currently is not.
-\item You have to say |\pgfrememberpicturepositiononpagetrue|
-  somewhere before or inside every picture
-  \begin{itemize}
-  \item in which you wish to reference a node and
-  \item from which you wish to reference a node in another picture.
-  \end{itemize}
-  The second item is important since \pgfname\ does not only need to
-  know the position of the picture in which the node you wish to
-  reference lies, but it also needs to know where the current picture
-  lies.
-\item You typically have to run \TeX\ twice (depending on the backend
-  driver) since the position information typically gets written into
-  an external file on the first run and is available only on the
-  second run.
-\item You have to switch off automatic bounding bound
-  computations. The reason is that the node in the other picture
-  should not influence the size of the bounding box of the current
-  picture. You should say |\pgfusepath{use as bounding box}| before
-  using a coordinate in another picture.
+    \item You have to use a backend driver that supports position tracking.
+        pdf\TeX\ is one such driver, |dvips| currently is not.
+    \item You have to say |\pgfrememberpicturepositiononpagetrue| somewhere
+        before or inside every picture
+        %
+        \begin{itemize}
+            \item in which you wish to reference a node and
+            \item from which you wish to reference a node in another picture.
+        \end{itemize}
+        %
+        The second item is important since \pgfname\ does not only need to know
+        the position of the picture in which the node you wish to reference
+        lies, but it also needs to know where the current picture lies.
+    \item You typically have to run \TeX\ twice (depending on the backend
+        driver) since the position information typically gets written into an
+        external file on the first run and is available only on the second run.
+    \item You have to switch off automatic bounding bound computations. The
+        reason is that the node in the other picture should not influence the
+        size of the bounding box of the current picture. You should say
+        |\pgfusepath{use as bounding box}| before using a coordinate in another
+        picture.
 \end{enumerate}
 
 
-
 \subsection{Special Nodes}
 
-There are several special nodes that are always defined and which you
-should not attempt to redefine.
+There are several special nodes that are always defined and which you should
+not attempt to redefine.
 
 \begin{predefinednode}{current bounding box}
-  This node is of shape |rectangle|. Unlike normal nodes, its size
-  changes constantly and always reflects the size of the bounding box
-  of the current picture. This means that, for instance, that
+    This node is of shape |rectangle|. Unlike normal nodes, its size changes
+    constantly and always reflects the size of the bounding box of the current
+    picture. This means that, for instance, that
+    %
 \begin{codeexample}[code only]
 \pgfpointanchor{current bounding box}{south east}
 \end{codeexample}
-  returns the lower left corner of the bounding box of the current
-  picture.
+    %
+    returns the lower left corner of the bounding box of the current picture.
 \end{predefinednode}
 
 \begin{predefinednode}{current path bounding box}
-  This node is also of shape |rectangle|. Its size is the size of the
-  bounding box of the current path.
+    This node is also of shape |rectangle|. Its size is the size of the
+    bounding box of the current path.
 \end{predefinednode}
 
 \begin{predefinednode}{current subpath start}
-  This node is of shape |coordinate| and is at the beginning of the
-  current subpath. This is the position of the last move-to
-  operation. 
+    This node is of shape |coordinate| and is at the beginning of the current
+    subpath. This is the position of the last move-to operation.
 \end{predefinednode}
 
 \begin{predefinednode}{current page}
-  This node is inside a virtual remembered picture. The size of this
-  node is the size of the current page. This means that if you create
-  a remembered picture and inside this picture you reference an anchor
-  of this node, you reference an absolute position on the page. To
-  demonstrate the effect, the following code puts some text in the
-  lower left corner of the current page. Note that this works only if
-  the backend driver supports it, otherwise the text is inserted right
-  here.%
+    This node is inside a virtual remembered picture. The size of this node is
+    the size of the current page. This means that if you create a remembered
+    picture and inside this picture you reference an anchor of this node, you
+    reference an absolute position on the page. To demonstrate the effect, the
+    following code puts some text in the lower left corner of the current page.
+    Note that this works only if the backend driver supports it, otherwise the
+    text is inserted right here.
+    %
 {%
 \pgfrememberpicturepositiononpagetrue%
 \begin{pgfpicture}
-  \pgfusepath{use as bounding box}
-  \pgftransformshift{\pgfpointanchor{current page}{south west}}
-  \pgftransformshift{\pgfpoint{1cm}{1cm}}
-  \pgftext[left,base]{
-    \textcolor{red}{
-      Text absolutely positioned in
-      the lower left corner.}
-  }
+    \pgfusepath{use as bounding box}
+    \pgftransformshift{\pgfpointanchor{current page}{south west}}
+    \pgftransformshift{\pgfpoint{1cm}{1cm}}
+    \pgftext[left,base]{
+        \textcolor{red}{
+            Text absolutely positioned in
+            the lower left corner.}
+    }
 \end{pgfpicture}
 }%
 \begin{codeexample}[code only]
@@ -741,20 +711,21 @@
   }
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{predefinednode}
 
-
-There is also an option that allows you to create new special nodes
-quite similar to the above:
+There is also an option that allows you to create new special nodes quite
+similar to the above:
+%
 \begin{key}{/pgf/local bounding box=\meta{node name}}
-  \keyalias{tikz}
-  This defines a new node \meta{node name} whose size is the bounding
-  box around all objects in the current scope starting at the position
-  where this option was given. After the end of the scope, the \meta{node
-    name} is still available. You can use this option to keep track of
-  the size of a certain area. Note that excessive use of this option
-  (keeping track of dozens of bounding boxes at the same time)
-  will slow things down.
+\keyalias{tikz}
+    This defines a new node \meta{node name} whose size is the bounding box
+    around all objects in the current scope starting at the position where this
+    option was given. After the end of the scope, the \meta{node name} is still
+    available. You can use this option to keep track of the size of a certain
+    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{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -765,6 +736,7 @@
   \draw[red] (inner box.south west) rectangle (inner box.north east);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 
@@ -771,95 +743,88 @@
 \subsection{Declaring New Shapes}
 
 There are only three predefined shapes, see
-Section~\ref{section-predefined-shapes}, so there must be some way of
-defining new shapes. Defining a shape is, unfortunately, a
-not-quite-trivial process. The reason is that shapes need to be both
-very flexible (their size will vary greatly according to
-circumstances) and they need to be constructed reasonably ``fast.''
-\pgfname\ must be able to handle pictures with several hundreds of
-nodes and documents with thousands of nodes in total. It would not do
-if \pgfname\ had to compute and store, say, dozens of anchor positions
-for every node.
+Section~\ref{section-predefined-shapes}, so there must be some way of defining
+new shapes. Defining a shape is, unfortunately, a not-quite-trivial process.
+The reason is that shapes need to be both very flexible (their size will vary
+greatly according to circumstances) and they need to be constructed reasonably
+``fast''. \pgfname\ must be able to handle pictures with several hundreds of
+nodes and documents with thousands of nodes in total. It would not do if
+\pgfname\ had to compute and store, say, dozens of anchor positions for every
+node.
 
 
 \subsubsection{What Must Be Defined For a Shape?}
 
 In order to define a new shape, you must provide:
+%
 \begin{itemize}
-\item
-  a \emph{shape name},
-\item
-  code for computing the  \emph{saved anchors} and \emph{saved
+    \item a \emph{shape name},
+    \item code for computing the  \emph{saved anchors} and \emph{saved
     dimensions},
-\item
-  code for computing \emph{anchor} positions in terms of the saved anchors,
-\item
-  optionally code for the \emph{background path} and \emph{foreground path},
-\item
-  optionally code for \emph{things to be drawn before or behind} the
-  background and foreground paths.
-\item
-  optionally a list of node parts.
+    \item code for computing \emph{anchor} positions in terms of the saved
+        anchors,
+    \item optionally code for the \emph{background path} and \emph{foreground
+        path},
+    \item optionally code for \emph{things to be drawn before or behind} the
+        background and foreground paths.
+    \item optionally a list of node parts.
 \end{itemize}
 
 
 \subsubsection{Normal Anchors Versus Saved Anchors}
 
-Anchors  are special places in a shape. For example, the |north east|
-anchor, which is a normal anchor, lies at the upper right corner of
-the  |rectangle| shape, as does |\northeast|, which is a saved
-anchor. The difference is the following: \emph{saved anchors are
-  computed and stored for each node, anchors are only computed as
-  needed.} The user only has access to the normal anchors, but a
-normal anchor can just ``copy'' or ``pass through'' the location of a
+Anchors  are special places in a shape. For example, the |north east| anchor,
+which is a normal anchor, lies at the upper right corner of the |rectangle|
+shape, as does |\northeast|, which is a saved anchor. The difference is the
+following: \emph{saved anchors are computed and stored for each node, anchors
+are only computed as needed.} The user only has access to the normal anchors,
+but a normal anchor can just ``copy'' or ``pass through'' the location of a
 saved anchor.
 
-The idea behind all this is that a shape can declare a very large
-number of normal anchors, but when a node of this shape is created,
-these anchors are not actually computed. However, this causes a
-problem: When we wish to reference an anchor of a node at some later
-time, we must still be able to compute the position of the anchor. For
-this, we may need a lot of information: What was the transformation
-matrix that was in force when the node was created? What was the size
-of the text box? What were the values of the different separation
+The idea behind all this is that a shape can declare a very large number of
+normal anchors, but when a node of this shape is created, these anchors are not
+actually computed. However, this causes a problem: When we wish to reference an
+anchor of a node at some later time, we must still be able to compute the
+position of the anchor. For this, we may need a lot of information: What was
+the transformation matrix that was in force when the node was created? What was
+the size of the text box? What were the values of the different separation
 dimensions? And so on.
 
-To solve this problem, \pgfname\ will always compute the locations of
-all \emph{saved anchors} and store these positions. Then, when an
-normal anchor position is requested later on, the anchor position can
-be given just from knowing where the locations of the saved anchors are.
+To solve this problem, \pgfname\ will always compute the locations of all
+\emph{saved anchors} and store these positions. Then, when an normal anchor
+position is requested later on, the anchor position can be given just from
+knowing where the locations of the saved anchors are.
 
-As an example, consider the |rectangle| shape. For this shape two
-anchors are saved: The |\northeast| corner and the |\southwest|
-corner. A normal anchor like |north west| can now easily be expressed
-in terms of these coordinates: Take the $x$-position of the
-|\southwest| point  and the $y$-position of the |\northeast| point.
-The |rectangle| shape currently defines 13 normal anchors, but needs
-only two saved anchors. Adding new anchors like a  |south south east|
-anchor would not increase the memory and computation requirements of
-pictures.
+As an example, consider the |rectangle| shape. For this shape two anchors are
+saved: The |\northeast| corner and the |\southwest| corner. A normal anchor
+like |north west| can now easily be expressed in terms of these coordinates:
+Take the $x$-position of the |\southwest| point  and the $y$-position of the
+|\northeast| point. The |rectangle| shape currently defines 13 normal anchors,
+but needs only two saved anchors. Adding new anchors like a  |south south east|
+anchor would not increase the memory and computation requirements of pictures.
 
-All anchors (both saved and normal) are specified in a local
-\emph{shape coordinate space}. This is also true for the background
-and foreground paths. The |\pgfnode| macro will automatically apply
-appropriate transformations to the coordinates so that the shape is
-shifted to the right anchor or otherwise transformed.
+All anchors (both saved and normal) are specified in a local \emph{shape
+coordinate space}. This is also true for the background and foreground paths.
+The |\pgfnode| macro will automatically apply appropriate transformations to
+the coordinates so that the shape is shifted to the right anchor or otherwise
+transformed.
 
 
 \subsubsection{Command for Declaring New Shapes}
 
 The following command declares a new shape:
-\begin{command}{\pgfdeclareshape\marg{shape name}\marg{shape
-      specification}}
-  This command declares a new shape named \meta{shape name}. The shape
-  name can later be used in commands like |\pgfnode|.
+%
+\begin{command}{\pgfdeclareshape\marg{shape name}\marg{shape specification}}
+    This command declares a new shape named \meta{shape name}. The shape name
+    can later be used in commands like |\pgfnode|.
 
-  The \meta{shape specification} is some \TeX\ code containing calls
-  to special commands that are only defined inside the \meta{shape
-    specification} (similarly to commands like |\draw| that are only
-  available inside the |{tikzpicture}| environment).
+    The \meta{shape specification} is some \TeX\ code containing calls to
+    special commands that are only defined inside the \meta{shape
+    specification} (similarly to commands like |\draw| that are only available
+    inside the |{tikzpicture}| environment).
 
-  \example Here is the code of the |coordinate| shape:
+    \example Here is the code of the |coordinate| shape:
+    %
 \begin{codeexample}[code only]
 \pgfdeclareshape{coordinate}
 {
@@ -873,11 +838,12 @@
 }
 \end{codeexample}
 
-  The special commands are explained next. In the examples given for
-  the special commands a new shape will be constructed, which we might
-  call |simple rectangle|. It should behave like the normal rectangle
-  shape, only without bothering about the fine details like inner and
-  outer separations. The skeleton for the shape is the following.
+    The special commands are explained next. In the examples given for the
+    special commands a new shape will be constructed, which we might call
+    |simple rectangle|. It should behave like the normal rectangle shape, only
+    without bothering about the fine details like inner and outer separations.
+    The skeleton for the shape is the following.
+    %
 \begin{codeexample}[code only]
 \pgfdeclareshape{simple rectangle}{
   ...
@@ -884,75 +850,70 @@
 }
 \end{codeexample}
 
-  \begin{command}{\nodeparts\marg{list of node parts}}
-    This command declares which parts make up nodes of this shape. A
-    \emph{node part} is a (possibly empty) text label that is drawn
-    when a node of the shape is created.
+    \begin{command}{\nodeparts\marg{list of node parts}}
+        This command declares which parts make up nodes of this shape. A
+        \emph{node part} is a (possibly empty) text label that is drawn when a
+        node of the shape is created.
 
-    By default, a shape has just one node part called |text|. However,
-    there can be several node parts. For example, the
-    |circle split| shape has two parts: the |text| part, which
-    shows that the upper text, and a |lower| part, which shows the
-    lower text. For the |circle split| shape the |\nodeparts| command
-    was called with the argument |{text,lower}|.
+        By default, a shape has just one node part called |text|. However,
+        there can be several node parts. For example, the |circle split| shape
+        has two parts: the |text| part, which shows that the upper text, and a
+        |lower| part, which shows the lower text. For the |circle split| shape
+        the |\nodeparts| command was called with the argument |{text,lower}|.
 
-    When a multipart node is created, the text labels are drawn in the
-    sequences listed in the \meta{list of node parts}. For each node
-    part, you must have declared one anchor and the \TeX-box of
-    the part is placed at this anchor. For a node part called |XYZ|
-    the \TeX-box |\pgfnodepartXYZbox| is placed at anchor |XYZ|.
-  \end{command}
+        When a multipart node is created, the text labels are drawn in the
+        sequences listed in the \meta{list of node parts}. For each node part,
+        you must have declared one anchor and the \TeX-box of the part is
+        placed at this anchor. For a node part called |XYZ| the \TeX-box
+        |\pgfnodepartXYZbox| is placed at anchor |XYZ|.
+    \end{command}
 
-  \begin{command}{\savedanchor\marg{command}\marg{code}}
-    This command declares a saved anchor. The argument \meta{command}
-    should be a \TeX\ macro name like |\centerpoint|.
+    \begin{command}{\savedanchor\marg{command}\marg{code}}
+        This command declares a saved anchor. The argument \meta{command}
+        should be a \TeX\ macro name like |\centerpoint|.
 
-    The \meta{code} will be executed each time |\pgfnode| (or
-    |\pgfmultipartnode|) is called to  create a node of the shape
-    \meta{shape name}. When the \meta{code}
-    is executed, the \TeX-boxes of the node parts will contain the
-    text labels of the node. Possibly, these box are void. For
-    example, if there is just a |text| part, the node
-    |\pgfnodeparttextbox| will be set up when the \meta{code} is
-    executed.
+        The \meta{code} will be executed each time |\pgfnode| (or
+        |\pgfmultipartnode|) is called to  create a node of the shape
+        \meta{shape name}. When the \meta{code} is executed, the \TeX-boxes of
+        the node parts will contain the text labels of the node. Possibly,
+        these box are void. For example, if there is just a |text| part, the
+        node |\pgfnodeparttextbox| will be set up when the \meta{code} is
+        executed.
 
-    The \meta{code} can use the width, height, and depth of the
-    box(es) to compute the location of the saved anchor. In addition,
-    the \meta{code} can take into account the values of dimensions like
-    |\pgfshapeminwidth| or |\pgfshapeinnerxsep|. Furthermore, the
-    \meta{code} can take into consideration the values of any further
-    shape-specific variables that are set at the moment when
-    |\pgfnode| is called.
+        The \meta{code} can use the width, height, and depth of the box(es) to
+        compute the location of the saved anchor. In addition, the \meta{code}
+        can take into account the values of dimensions like |\pgfshapeminwidth|
+        or |\pgfshapeinnerxsep|. Furthermore, the \meta{code} can take into
+        consideration the values of any further shape-specific variables that
+        are set at the moment when |\pgfnode| is called.
 
-    The net effect of the \meta{code} should be to set the two \TeX\
-    dimensions |\pgf at x| and |\pgf at y|. One way to achieve this is to
-    say |\pgfpoint{|\meta{x value}|}{|\meta{y value}|}| at the end of
-    the \meta{code}, but you can also just set these variables.
-    The values that |\pgf at x| and |\pgf at y| have after the code has been
-    executed, let us call them $x$ and $y$, will be recorded and
-    stored together with the node that is created by the command
-    |\pgfnode|.
+        The net effect of the \meta{code} should be to set the two \TeX\
+        dimensions |\pgf at x| and |\pgf at y|. One way to achieve this is to say
+        |\pgfpoint{|\meta{x value}|}{|\meta{y value}|}| at the end of the
+        \meta{code}, but you can also just set these variables. The values that
+        |\pgf at x| and |\pgf at y| have after the code has been executed, let us
+        call them $x$ and $y$, will be recorded and stored together with the
+        node that is created by the command |\pgfnode|.
 
-    The macro \meta{command} is defined to be
-    |\pgfpoint{|$x$|}{|$y$|}|. However, the \meta{command} is only
-    locally defined while anchor positions are being computed. Thus,
-    it is possible to use very simple names for \meta{command}, like
-    |\center| or |\a|, without causing a name-clash. (To be precise,
-    very simple \meta{command} names will clash with existing names,
-    but only locally inside the computation of anchor positions; and
-    we do not need the normal |\center| command during these
-    computations.)
+        The macro \meta{command} is defined to be |\pgfpoint{|$x$|}{|$y$|}|.
+        However, the \meta{command} is only locally defined while anchor
+        positions are being computed. Thus, it is possible to use very simple
+        names for \meta{command}, like |\center| or |\a|, without causing a
+        name-clash. (To be precise, very simple \meta{command} names will clash
+        with existing names, but only locally inside the computation of anchor
+        positions; and we do not need the normal |\center| command during these
+        computations.)
 
-    For our |simple rectangle| shape, we will need only one saved
-    anchor: The upper right corner. The lower left corner could either
-    be the origin or the ``mirrored'' upper right corner, depending on
-    whether we want the text label to have its lower left corner at
-    the origin or whether the text label should be centered on the
-    origin. Either will be fine, for the final shape this will make no
-    difference since the shape will be shifted anyway. So, let us
-    assume that the text label is centered on the origin (this will be
-    specified later on using the |text| anchor). We get
-    the following code for the upper right corner:
+        For our |simple rectangle| shape, we will need only one saved anchor:
+        The upper right corner. The lower left corner could either be the
+        origin or the ``mirrored'' upper right corner, depending on whether we
+        want the text label to have its lower left corner at the origin or
+        whether the text label should be centered on the origin. Either will be
+        fine, for the final shape this will make no difference since the shape
+        will be shifted anyway. So, let us assume that the text label is
+        centered on the origin (this will be specified later on using the
+        |text| anchor). We get the following code for the upper right corner:
+        %
 \begin{codeexample}[code only]
 \savedanchor{\upperrightcorner}{
   \pgf at y=.5\ht\pgfnodeparttextbox % height of the box, ignoring the depth
@@ -960,9 +921,9 @@
 }
 \end{codeexample}
 
-    If we wanted to take, say, the |\pgfshapeminwidth| into account,
-    we could use the following code:
-
+        If we wanted to take, say, the |\pgfshapeminwidth| into account, we
+        could use the following code:
+        %
 \begin{codeexample}[code only]
 \savedanchor{\upperrightcorner}{
   \pgf at y=.\ht\pgfnodeparttextbox % height of the box
@@ -973,76 +934,79 @@
   \fi
 }
 \end{codeexample}
-    Note that we could not have written |.5\pgfshapeminwidth| since
-    the minimum width is stored in a ``plain text macro,'' not as a
-    real dimension. So if |\pgfshapeminwidth| depth were
-    2cm, writing |.5\pgfshapeminwidth| would yield the same as |.52cm|.
+        %
+        Note that we could not have written |.5\pgfshapeminwidth| since the
+        minimum width is stored in a ``plain text macro'', not as a real
+        dimension. So if |\pgfshapeminwidth| depth were 2cm, writing
+        |.5\pgfshapeminwidth| would yield the same as |.52cm|.
 
-    In the ``real'' |rectangle| shape the code is somewhat more
-    complex, but you get the basic idea.
-  \end{command}
-  \begin{command}{\saveddimen\marg{command}\marg{code}}
-    This command is similar to |\savedanchor|, only instead of setting
-    \meta{command} to |\pgfpoint{|$x$|}{|$y$|}|, the \meta{command} is
-    set just to (the value of) $x$.
+        In the ``real'' |rectangle| shape the code is somewhat more complex,
+        but you get the basic idea.
+    \end{command}
+    %
+    \begin{command}{\saveddimen\marg{command}\marg{code}}
+        This command is similar to |\savedanchor|, only instead of setting
+        \meta{command} to |\pgfpoint{|$x$|}{|$y$|}|, the \meta{command} is set
+        just to (the value of) $x$.
 
-    In the |simple rectangle| shape we might use a saved dimension to
-    store the depth of the shape box.
-
+        In the |simple rectangle| shape we might use a saved dimension to store
+        the depth of the shape box.
+        %
 \begin{codeexample}[code only]
 \saveddimen{\depth}{
   \pgf at x=\dp\pgfnodeparttextbox
 }
 \end{codeexample}
-  \end{command}
-  \begin{command}{\savedmacro\marg{command}\marg{code}}
-    This command is similar to |\saveddimen|, only at some point
-    in \meta{code}, \meta{command} should be defined appropriately,
-    (this could be a value, or some text).
+    \end{command}
+    %
+    \begin{command}{\savedmacro\marg{command}\marg{code}}
+        This command is similar to |\saveddimen|, only at some point in
+        \meta{code}, \meta{command} should be defined appropriately, (this
+        could be a value, or some text).
 
-    In the |regular polygon| shape, a saved macro is used to
-    store the number of sides of the polygon.
-
+        In the |regular polygon| shape, a saved macro is used to store the
+        number of sides of the polygon.
+        %
 \begin{codeexample}[code only]
 \savedmacro{\sides}{\let\sides\pgfpolygonsides}
 \end{codeexample}
-  \end{command}
-  \begin{command}{\anchor\marg{name}\marg{code}}
-    This command declares an anchor named \meta{name}. Unlike for saved
-    anchors, the \meta{code} will not be executed each time a node is
-    declared. Rather, the \meta{code} is only executed when the anchor
-    is specifically requested; either for anchoring the node during
-    its creation or as a  position in the shape referenced later on.
+    \end{command}
+    %
+    \begin{command}{\anchor\marg{name}\marg{code}}
+        This command declares an anchor named \meta{name}. Unlike for saved
+        anchors, the \meta{code} will not be executed each time a node is
+        declared. Rather, the \meta{code} is only executed when the anchor is
+        specifically requested; either for anchoring the node during its
+        creation or as a position in the shape referenced later on.
 
-    The \meta{name} is a quite arbitrary string that is not ``passed
-    down'' to the system level. Thus, names like |south| or |1| or
-    |::| would all be fine.
+        The \meta{name} is a quite arbitrary string that is not ``passed down''
+        to the system level. Thus, names like |south| or |1| or |::| would all
+        be fine.
 
-    A saved anchor is not automatically also a normal anchor. If you
-    wish to give the users access to a saved anchor you must declare a
-    normal anchor that just returns the position of the saved anchor.
+        A saved anchor is not automatically also a normal anchor. If you wish
+        to give the users access to a saved anchor you must declare a normal
+        anchor that just returns the position of the saved anchor.
 
-    When the \meta{code} is executed, all saved anchor macros will be
-    defined. Thus, you can reference them in your \meta{code}. The
-    effect of the \meta{code} should be to set the values of |\pgf at x|
-    and |\pgf at y| to the coordinates of the anchor.
+        When the \meta{code} is executed, all saved anchor macros will be
+        defined. Thus, you can reference them in your \meta{code}. The effect
+        of the \meta{code} should be to set the values of |\pgf at x| and |\pgf at y|
+        to the coordinates of the anchor.
 
-    Let us consider some example for the |simple rectangle|
-    shape. First, we would like to make the upper right corner
-    publicly available, for example as |north east|:
-
+        Let us consider some example for the |simple rectangle| shape. First,
+        we would like to make the upper right corner publicly available, for
+        example as |north east|:
+        %
 \begin{codeexample}[code only]
 \anchor{north east}{\upperrightcorner}
 \end{codeexample}
 
-    The |\upperrightcorner| macro will set |\pgf at x| and |\pgf at y| to
-    the coordinates of the upper right corner. Thus, |\pgf at x| and
-    |\pgf at y| will have exactly the right values at the end of the
-    anchor's code.
+        The |\upperrightcorner| macro will set |\pgf at x| and |\pgf at y| to the
+        coordinates of the upper right corner. Thus, |\pgf at x| and |\pgf at y| will
+        have exactly the right values at the end of the anchor's code.
 
-    Next, let us define a |north west| anchor. For this anchor, we can
-    negate the |\pgf at x| variable:
-
+        Next, let us define a |north west| anchor. For this anchor, we can
+        negate the |\pgf at x| variable:
+        %
 \begin{codeexample}[code only]
 \anchor{north west}{
   \upperrightcorner
@@ -1050,28 +1014,28 @@
 }
 \end{codeexample}
 
-    Finally, it is a good idea to always define a |center| anchor,
-    which will be the default location for a shape.
-
+        Finally, it is a good idea to always define a |center| anchor, which
+        will be the default location for a shape.
+        %
 \begin{codeexample}[code only]
 \anchor{center}{\pgfpointorigin}
 \end{codeexample}
 
-    You might wonder whether we should not take into consideration
-    that the node is not placed at the origin, but has been shifted
-    somewhere. However, the anchor positions are always specified in
-    the shape's ``private'' coordinate system. The ``outer''
-    transformation that has been applied to the shape upon its
-    creation is applied automatically to the coordinates returned by
-    the anchor's \meta{code}.
+        You might wonder whether we should not take into consideration that the
+        node is not placed at the origin, but has been shifted somewhere.
+        However, the anchor positions are always specified in the shape's
+        ``private'' coordinate system. The ``outer'' transformation that has
+        been applied to the shape upon its creation is applied automatically to
+        the coordinates returned by the anchor's \meta{code}.
 
-    Our |simple rectangle| only has one text label (node
-    part) called |text|. This is the default situation, so we do not need to
-    do anything. For the |text| node part we must set up a |text|
-    anchor. This   anchor is used upon creation of a node to determine
-    the lower left  corner of the text label (within the private
-    coordinate system of the shape). By default, the |text| anchor is
-    at the origin, but you may change this. For example, we would say
+        Our |simple rectangle| only has one text label (node part) called
+        |text|. This is the default situation, so we do not need to do
+        anything. For the |text| node part we must set up a |text| anchor. Upon
+        creation of a node, this anchor will be made to coincide with the left
+        endpoint of the baseline of the text label (within the private
+        coordinate system of the shape). By default, the |text| anchor is at
+        the origin, but you may change this. For example, we would say
+        %
 \begin{codeexample}[code only]
 \anchor{text}{%
   \upperrightcorner%
@@ -1079,31 +1043,31 @@
   \pgf at y=-\pgf at y%
 }
 \end{codeexample}
-    to center the text label on the origin in the shape coordinate
-    space. Note that we could \emph{not} have written the following:
-
+        to center the text label on the origin in the shape coordinate space.
+        Note that we could \emph{not} have written the following:
+        %
 \begin{codeexample}[code only]
 \anchor{text}{\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
 \end{codeexample}
-    Do you see why this is wrong? The problem is that the box
-    |\pgfnodeparttextbox| will most likely not have the correct size
-    when the anchor is computed. After all, the anchor position might
-    be recomputed at a time when several other nodes have been created.
+        %
+        Do you see why this is wrong? The problem is that the box
+        |\pgfnodeparttextbox| will most likely not have the correct size when
+        the anchor is computed. After all, the anchor position might be
+        recomputed at a time when several other nodes have been created.
 
-    If a shape has several node parts, we would have to define an
-    anchor for each part.
+        If a shape has several node parts, we would have to define an anchor
+        for each part.
   \end{command}
 
   \begin{command}{\deferredanchor\marg{name}\marg{code}}
-    This command declares an anchor named \meta{name}. It works like
-    |\anchor|. However, unlike for
-    anchors declared by |\anchor|, \meta{name} will \emph{not} be
-    expanded during the shape declaration (i.e.\ not during
-    |\pgfdeclareshape|). Rather, the \meta{name} is expanded when the
-    \emph{node} is actually used (with |\pgfnode| or more likely with
-    |\node|). This may be useful if the anchor name is context
-    dependent (depending, for example, on the value of a key).
-
+        This command declares an anchor named \meta{name}. It works like
+        |\anchor|. However, unlike for anchors declared by |\anchor|,
+        \meta{name} will \emph{not} be expanded during the shape declaration
+        (i.e.\ not during |\pgfdeclareshape|). Rather, the \meta{name} is
+        expanded when the \emph{node} is actually used (with |\pgfnode| or more
+        likely with |\node|). This may be useful if the anchor name is context
+        dependent (depending, for example, on the value of a key).
+        %
 \begin{codeexample}[code only]
 \makeatletter
 \def\foo{foo}
@@ -1125,27 +1089,28 @@
   \fill (Test2.anchor bar) circle (2pt) node[below] {anchor bar anchor};
 \end{tikzpicture}
 \end{codeexample}
-  \end{command}
-  \begin{command}{\anchorborder\marg{code}}
-    A \emph{border anchor} is an anchor point on the border of the
-    shape. What exactly is considered as the ``border'' of the shape
-    depends on the shape.
+    \end{command}
+    %
+    \begin{command}{\anchorborder\marg{code}}
+        A \emph{border anchor} is an anchor point on the border of the shape.
+        What exactly is considered as the ``border'' of the shape depends on
+        the shape.
 
-    When the user requests a point on the border of the shape using the
-    |\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.
+        When the user requests a point on the border of the shape using the
+        |\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.
 
-    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 simplicity) and whose other corner is |\upperrightcorner|. The
-    following code might be used:
+        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
+        simplicity) and whose other corner is |\upperrightcorner|. The
+        following code might be used:
+        %
 \begin{codeexample}[code only]
 \anchorborder{%
   % Call a function that computes a border point. Since this
@@ -1156,22 +1121,22 @@
   \pgfpointborderrectangle{\pgfpoint{\@tempdima}{\@tempdimb}}{\upperrightcorner}
 }
 \end{codeexample}
-  \end{command}
-  \begin{command}{\backgroundpath\marg{code}}
-    This command specifies the path that ``makes up'' the background
-    of the shape. Note that the shape cannot prescribe what is going
-    to happen with the path: It might be drawn, shaded, filled, or
-    even thrown away. If you want to specify that something should
-    ``always'' happen when this shape is drawn (for example, if the
-    shape is a stop-sign, we \emph{always} want it to be filled with a
-    red color), you can use commands like |\beforebackgroundpath|,
-    explained below.
+    \end{command}
+    %
+    \begin{command}{\backgroundpath\marg{code}}
+        This command specifies the path that ``makes up'' the background of the
+        shape. Note that the shape cannot prescribe what is going to happen
+        with the path: It might be drawn, shaded, filled, or even thrown away.
+        If you want to specify that something should ``always'' happen when
+        this shape is drawn (for example, if the shape is a stop-sign, we
+        \emph{always} want it to be filled with a red color), you can use
+        commands like |\beforebackgroundpath|, explained below.
 
-    When the \meta{code} is executed, all saved anchors will be in
-    effect. The \meta{code} should contain path construction
-    commands.
+        When the \meta{code} is executed, all saved anchors will be in effect.
+        The \meta{code} should contain path construction commands.
 
-    For our |simple rectangle|, the following code might be used:
+        For our |simple rectangle|, the following code might be used:
+        %
 \begin{codeexample}[code only]
 \backgroundpath{
   \pgfpathrectanglecorners
@@ -1179,84 +1144,101 @@
     {\pgfpointscale{-1}{\upperrightcorner}}
 }
 \end{codeexample}
-    As the name suggests, the background path is used ``behind'' the
-    text labels. Thus, this path is used first, then the text labels are
-    drawn, possibly obscuring part of the path.
-  \end{command}
-  \begin{command}{\foregroundpath\marg{code}}
-    This command works like |\backgroundpath|, only it is invoked
-    after the text labels have been drawn. This means that this path can
-    possibly obscure (part of) the text labels.
-  \end{command}
-  \begin{command}{\behindbackgroundpath\marg{code}}
-    Unlike the previous two commands, \meta{code} should not only
-    construct a path, it should also use this path in whatever way is
-    appropriate. For example, the \meta{code} might fill some area
-    with a uniform color.
+        %
+        As the name suggests, the background path is used ``behind'' the text
+        labels. Thus, this path is used first, then the text labels are drawn,
+        possibly obscuring part of the path.
+    \end{command}
+    %
+    \begin{command}{\foregroundpath\marg{code}}
+        This command works like |\backgroundpath|, only it is invoked after the
+        text labels have been drawn. This means that this path can possibly
+        obscure (part of) the text labels.
+    \end{command}
+    %
+    \begin{command}{\behindbackgroundpath\marg{code}}
+        Unlike the previous two commands, \meta{code} should not only construct
+        a path, it should also use this path in whatever way is appropriate.
+        For example, the \meta{code} might fill some area with a uniform color.
 
-    Whatever the \meta{code} does, it does it first. This means that
-    any drawing done by \meta{code} will be even behind the background
-    path.
+        Whatever the \meta{code} does, it does it first. This means that any
+        drawing done by \meta{code} will be even behind the background path.
 
-    Note that the \meta{code} is protected with a |{pgfscope}|.
-  \end{command}
-  \begin{command}{\beforebackgroundpath\marg{code}}
-    This command works like |\behindbackgroundpath|, only the
-    \meta{code} is executed after the background path has been used,
-    but before the texts label are drawn.
-  \end{command}
-  \begin{command}{\behindforegroundpath\marg{code}}
-    The \meta{code} is executed after the text labels have been drawn,
-    but before the foreground path is used.
-  \end{command}
-  \begin{command}{\beforeforegroundpath\marg{code}}
-    This \meta{code} is executed at the very end.
-  \end{command}
-  \begin{command}{\inheritsavedanchors|[from=|\marg{another shape name}|]|}
-    This command allows you to inherit the code for saved anchors from
-    \meta{another shape name}. The idea is that if you wish to create
-    a new shape that is just a small modification of a another shape,
-    you can recycle the code used for \meta{another shape name}.
+        Note that the \meta{code} is protected with a |{pgfscope}|.
+    \end{command}
+    %
+    \begin{command}{\beforebackgroundpath\marg{code}}
+        This command works like |\behindbackgroundpath|, only the \meta{code}
+        is executed after the background path has been used, but before the
+        texts label are drawn.
+    \end{command}
+    %
+    \begin{command}{\behindforegroundpath\marg{code}}
+        The \meta{code} is executed after the text labels have been drawn, but
+        before the foreground path is used.
+    \end{command}
+    %
+    \begin{command}{\beforeforegroundpath\marg{code}}
+        This \meta{code} is executed at the very end.
+    \end{command}
+    %
+    \begin{command}{\inheritsavedanchors|[from=|\marg{another shape name}|]|}
+        This command allows you to inherit the code for saved anchors from
+        \meta{another shape name}. The idea is that if you wish to create a new
+        shape that is just a small modification of a another shape, you can
+        recycle the code used for \meta{another shape name}.
 
-    The effect of this command is the same as if you had called
-    |\savedanchor| and |\saveddimen| for each saved anchor or saved
-    dimension declared in \meta{another shape name}. Thus, it is not
-    possible to ``selectively'' inherit only some saved anchors, you
-    always have to inherit all saved anchors from another
-    shape. However, you can inherit the saved anchors of more than one
-    shape by calling this command several times.
-  \end{command}
-  \begin{command}{\inheritbehindbackgroundpath|[from=|\marg{another shape name}|]|}
-    This command can be used to inherit the code used for the
-    drawings behind the background path from \meta{another shape name}.
-  \end{command}
-  \begin{command}{\inheritbackgroundpath|[from=|\marg{another shape name}|]|}
-    Inherits the background path code from \meta{another shape name}.
-  \end{command}
-  \begin{command}{\inheritbeforebackgroundpath|[from=|\marg{another shape name}|]|}
-    Inherits the before background path code from \meta{another shape name}.
-  \end{command}
-  \begin{command}{\inheritbehindforegroundpath|[from=|\marg{another shape name}|]|}
-    Inherits the behind foreground path code from \meta{another shape name}.
-  \end{command}
-  \begin{command}{\inheritforegroundpath|[from=|\marg{another shape name}|]|}
-    Inherits the foreground path code from \meta{another shape name}.
-  \end{command}
-  \begin{command}{\inheritbeforeforegroundpath|[from=|\marg{another shape name}|]|}
-    Inherits the before foreground path code from \meta{another shape name}.
-  \end{command}
-  \begin{command}{\inheritanchor|[from=|\marg{another shape name}|]|\marg{name}}
-    Inherits the code of one specific anchor named \meta{name} from
-    \meta{another shape name}. Thus, unlike saved anchors, which must
-    be inherited collectively, normal anchors can and must be
-    inherited individually.
-  \end{command}
-  \begin{command}{\inheritanchorborder|[from=|\marg{another shape name}|]|}
-    Inherits the border anchor code from \meta{another shape name}.
-  \end{command}
+        The effect of this command is the same as if you had called
+        |\savedanchor| and |\saveddimen| for each saved anchor or saved
+        dimension declared in \meta{another shape name}. Thus, it is not
+        possible to ``selectively'' inherit only some saved anchors, you always
+        have to inherit all saved anchors from another shape. However, you can
+        inherit the saved anchors of more than one shape by calling this
+        command several times.
+    \end{command}
+    %
+    \begin{command}{\inheritbehindbackgroundpath|[from=|\marg{another shape name}|]|}
+        This command can be used to inherit the code used for the drawings
+        behind the background path from \meta{another shape name}.
+    \end{command}
+    %
+    \begin{command}{\inheritbackgroundpath|[from=|\marg{another shape name}|]|}
+        Inherits the background path code from \meta{another shape name}.
+    \end{command}
+    %
+    \begin{command}{\inheritbeforebackgroundpath|[from=|\marg{another shape name}|]|}
+        Inherits the before background path code from \meta{another shape
+        name}.
+    \end{command}
+    %
+    \begin{command}{\inheritbehindforegroundpath|[from=|\marg{another shape name}|]|}
+        Inherits the behind foreground path code from \meta{another shape
+        name}.
+    \end{command}
+    %
+    \begin{command}{\inheritforegroundpath|[from=|\marg{another shape name}|]|}
+        Inherits the foreground path code from \meta{another shape name}.
+    \end{command}
+    %
+    \begin{command}{\inheritbeforeforegroundpath|[from=|\marg{another shape name}|]|}
+        Inherits the before foreground path code from \meta{another shape
+        name}.
+    \end{command}
+    %
+    \begin{command}{\inheritanchor|[from=|\marg{another shape name}|]|\marg{name}}
+        Inherits the code of one specific anchor named \meta{name} from
+        \meta{another shape name}. Thus, unlike saved anchors, which must be
+        inherited collectively, normal anchors can and must be inherited
+        individually.
+    \end{command}
+    %
+    \begin{command}{\inheritanchorborder|[from=|\marg{another shape name}|]|}
+        Inherits the border anchor code from \meta{another shape name}.
+    \end{command}
 
-  The following example shows how a shape can be defined that relies
-  heavily on inheritance:
+    The following example shows how a shape can be defined that relies heavily
+    on inheritance:
+    %
 \makeatletter
 \begin{codeexample}[]
 \pgfdeclareshape{document}{
@@ -1297,12 +1279,10 @@
   \draw[dashed] (x) -- (y);
 \end{tikzpicture}
 \end{codeexample}
-
+    %
 \end{command}
 
 
-
-
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -12,13 +12,13 @@
 
 \subsection{Overview}
 
-The ``basic entity of drawing'' in \pgfname\ is the \emph{path}. A
-path consists of several parts, each of which is either a closed or
-open curve. An open curve has a starting point and an end point and,
-in between, consists of several \emph{segments}, each of which is
-either a straight line or a B\'ezier curve. Here is an example of a
-path (in red) consisting of two parts, one open, one closed:
-
+The ``basic entity of drawing'' in \pgfname\ is the \emph{path}. A path
+consists of several parts, each of which is either a closed or open curve. An
+open curve has a starting point and an end point and, in between, consists of
+several \emph{segments}, each of which is either a straight line or a Bézier
+curve. Here is an example of a path (in red) consisting of two parts, one open,
+one closed:
+%
 \begin{codeexample}[]
 \begin{tikzpicture}[scale=2]
   \draw[thick,red]
@@ -35,47 +35,47 @@
 \end{tikzpicture}
 \end{codeexample}
 
-A path, by itself, has no ``effect,'' that is, it does not leave any
-marks on the page. It is just a set of points on the plane. However,
-you can \emph{use} a path in different ways. The most natural actions
-are \emph{stroking} (also known as \emph{drawing}) and
-\emph{filling}. Stroking can be imagined as picking up a pen of a
-certain diameter and ``moving it along the path.'' Filling means that
-everything ``inside'' the path is filled with a uniform
-color. Naturally, the open parts of a path must first be closed before
-a path can be filled.
+A path, by itself, has no ``effect'', that is, it does not leave any marks on
+the page. It is just a set of points on the plane. However, you can \emph{use}
+a path in different ways. The most natural actions are \emph{stroking} (also
+known as \emph{drawing}) and \emph{filling}. Stroking can be imagined as
+picking up a pen of a certain diameter and ``moving it along the path''.
+Filling means that everything ``inside'' the path is filled with a uniform
+color. Naturally, the open parts of a path must first be closed before a path
+can be filled.
 
-In \pgfname, there are numerous commands for constructing paths, all
-of which start with |\pgfpath|. There are also commands for
-\emph{using} paths, though most operations can be performed by calling
-|\pgfusepath| with an appropriate parameter.
+In \pgfname, there are numerous commands for constructing paths, all of which
+start with |\pgfpath|. There are also commands for \emph{using} paths, though
+most operations can be performed by calling |\pgfusepath| with an appropriate
+parameter.
 
-As a side-effect, the path construction commands keep track of two
-bounding boxes. One is the bounding box for the current path, the
-other is a bounding box for all paths in the current picture. See
-Section~\ref{section-bb} for more details.
+As a side-effect, the path construction commands keep track of two bounding
+boxes. One is the bounding box for the current path, the other is a bounding
+box for all paths in the current picture. See Section~\ref{section-bb} for more
+details.
 
-Each path construction command extends the current path in some
-way. The ``current path'' is a global entity that persists across
-\TeX\ groups. Thus, between calls to the path construction commands
-you can perform arbitrary computations and even open and close \TeX\
-groups. The current path only gets ``flushed'' when the |\pgfusepath|
-command is called (or when the soft-path subsystem is used directly,
-see Section~\ref{section-soft-paths}).
+Each path construction command extends the current path in some way. The
+``current path'' is a global entity that persists across \TeX\ groups. Thus,
+between calls to the path construction commands you can perform arbitrary
+computations and even open and close \TeX\ groups. The current path only gets
+``flushed'' when the |\pgfusepath| command is called (or when the soft-path
+subsystem is used directly, see Section~\ref{section-soft-paths}).
 
+
 \subsection{The Move-To Path Operation}
 
-The most basic operation is the move-to operation. It must be given at
-the beginning of paths, though some path construction command (like
-|\pgfpathrectangle|) generate move-tos implicitly. A move-to operation
-can also be used to start a new part of a path.
+The most basic operation is the move-to operation. It must be given at the
+beginning of paths, though some path construction command (like
+|\pgfpathrectangle|) generate move-tos implicitly. A move-to operation can also
+be used to start a new part of a path.
 
 \begin{command}{\pgfpathmoveto\marg{coordinate}}
-  This command expects a \pgfname-coordinate like |\pgfpointorigin| as
-  its parameter. When the current path is empty, this operation will
-  start the path at the given \meta{coordinate}. If a path has already
-  been partly constructed, this command will end the current part of
-  the path and start a new one.
+    This command expects a \pgfname-coordinate like |\pgfpointorigin| as its
+    parameter. When the current path is empty, this operation will start the
+    path at the given \meta{coordinate}. If a path has already been partly
+    constructed, this command will end the current part of the path and start a
+    new one.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -87,6 +87,7 @@
   \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -99,11 +100,12 @@
   \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
-  The command will apply the current coordinate transformation matrix
-  to \meta{coordinate} before using it.
+    %
+    The command will apply the current coordinate transformation matrix to
+    \meta{coordinate} before using it.
 
-  It will update the bounding box of the current path and
-  picture, if necessary.
+    It will update the bounding box of the current path and picture, if
+    necessary.
 \end{command}
 
 
@@ -110,12 +112,13 @@
 \subsection{The Line-To Path Operation}
 
 \begin{command}{\pgfpathlineto\marg{coordinate}}
-  This command extends the current path in a straight line to the
-  given \meta{coordinate}. If this command is given at the beginning
-  of path without any other path construction command given before (in
-  particular without a move-to operation), the \TeX\ file may compile
-  without an error message, but a viewer application may display an
-  error message when trying to render the picture.
+    This command extends the current path in a straight line to the given
+    \meta{coordinate}. If this command is given at the beginning of path
+    without any other path construction command given before (in particular
+    without a move-to operation), the \TeX\ file may compile without an error
+    message, but a viewer application may display an error message when trying
+    to render the picture.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -125,11 +128,12 @@
   \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
-  The command will apply the current coordinate transformation matrix
-  to \meta{coordinate} before using it.
+    %
+    The command will apply the current coordinate transformation matrix to
+    \meta{coordinate} before using it.
 
-  It will update the bounding box of the current path and
-  picture, if necessary.
+    It will update the bounding box of the current path and picture, if
+    necessary.
 \end{command}
 
 
@@ -136,14 +140,14 @@
 \subsection{The Curve-To Path Operations}
 
 \begin{command}{\pgfpathcurveto\marg{support 1}\marg{support 2}\marg{coordinate}}
-  This command extends the current path with a B\'ezier curve from the
-  last point of the path to  \meta{coordinate}. The \meta{support 1}
-  and \meta{support 2} are the first and second support point of the
-  B\'ezier curve. For more information on B\'ezier curves, please consult a
-  standard textbook on computer graphics.
+    This command extends the current path with a Bézier curve from the last
+    point of the path to  \meta{coordinate}. The \meta{support 1} and
+    \meta{support 2} are the first and second support point of the Bézier
+    curve. For more information on Bézier curves, please consult a standard
+    textbook on computer graphics.
 
-  Like the line-to command, this command may not be the first path
-  construction command in a path.
+    Like the line-to command, this command may not be the first path
+    construction command in a path.
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -153,23 +157,24 @@
   \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
-  The command will apply the current coordinate transformation matrix
-  to \meta{coordinate} before using it.
+    %
+    The command will apply the current coordinate transformation matrix to
+    \meta{coordinate} before using it.
 
-  It will update the bounding box of the current path and
-  picture, if necessary. However, the bounding box is simply made
-  large enough such that it encompasses all of the support points and
-  the \meta{coordinate}. This will guarantee that the curve is
-  completely inside the bounding box, but the bounding box will
-  typically be quite a bit too large. It is not clear (to me) how this
-  can be avoided without resorting to ``some serious math'' in order
-  to calculate a precise bounding box.
+    It will update the bounding box of the current path and picture, if
+    necessary. However, the bounding box is simply made large enough such that
+    it encompasses all of the support points and the \meta{coordinate}. This
+    will guarantee that the curve is completely inside the bounding box, but
+    the bounding box will typically be quite a bit too large. It is not clear
+    (to me) how this can be avoided without resorting to ``some serious math''
+    in order to calculate a precise bounding box.
 \end{command}
 
 \begin{command}{\pgfpathquadraticcurveto\marg{support}\marg{coordinate}}
-  This command works like |\pgfpathcurveto|, only it uses a quadratic
-  B\'ezier curve rather than a cubic one. This means that only one
-  support point is needed.
+    This command works like |\pgfpathcurveto|, only it uses a quadratic Bézier
+    curve rather than a cubic one. This means that only one support point is
+    needed.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -179,25 +184,23 @@
   \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
-  Internally, the quadratic curve is converted into a cubic
-  curve. The only noticeable effect of this is that the points used for
-  computing the bounding box are the control points of the converted
-  curve rather than \meta{support}. The main effect of this is that
-  the bounding box will be a bit tighter than might be expected. In
-  particular, \meta{support} will not always be part of the bounding
-  box.
+    %
+    Internally, the quadratic curve is converted into a cubic curve. The only
+    noticeable effect of this is that the points used for computing the
+    bounding box are the control points of the converted curve rather than
+    \meta{support}. The main effect of this is that the bounding box will be a
+    bit tighter than might be expected. In particular, \meta{support} will not
+    always be part of the bounding box.
 \end{command}
 
+There exist two commands to draw only part of a cubic Bézier curve:
 
-There exist two commands to draw only part of a cubic B\'ezier curve:
-
 \begin{command}{\pgfpathcurvebetweentime\marg{time $t_1$}\marg{time $t_2$}\marg{point p}\marg{point $s_1$}\marg{point $s_2$}\marg{point q}}
-
-  This command draws the part of the curve described by $p$, $s_1$,
-  $s_2$ and $q$ between the times $t_1$ and $t_2$. A time value of 0
-  indicates the point $p$ and a time value of 1 indicates point $q$.
-  This command includes a moveto operation to the first point.
-
+    This command draws the part of the curve described by $p$, $s_1$, $s_2$ and
+    $q$ between the times $t_1$ and $t_2$. A time value of 0 indicates the
+    point $p$ and a time value of 1 indicates point $q$. This command includes
+    a moveto operation to the first point.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [thin] (0,0) .. controls (0,2) and (3,0) .. (3,2);
@@ -209,11 +212,12 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpathcurvebetweentimecontinue\marg{time $t_1$}\marg{time $t_2$}\marg{point p}\marg{point $s_1$}\marg{point $s_2$}\marg{point q}}
-  This command works like |\pgfpathcurvebetweentime|, except that a
-  moveto operation is \emph{not} made to the first point.
+    This command works like |\pgfpathcurvebetweentime|, except that a moveto
+    operation is \emph{not} made to the first point.
 \end{command}
 
 
@@ -220,12 +224,13 @@
 \subsection{The Close Path Operation}
 
 \begin{command}{\pgfpathclose}
-  This command closes the current part of the path by appending a
-  straight line to the start point of the current part. Note that there
-  \emph{is} a difference between closing a path and using the line-to
-  operation to add a straight line to the start of the current
-  path. The difference is demonstrated by the upper corners of the triangles
-  in the following example:
+    This command closes the current part of the path by appending a straight
+    line to the start point of the current part. Note that there \emph{is} a
+    difference between closing a path and using the line-to operation to add a
+    straight line to the start of the current path. The difference is
+    demonstrated by the upper corners of the triangles in the following
+    example:
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -241,30 +246,30 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
 \subsection{Arc, Ellipse and Circle Path Operations}
 
-The path construction commands that we have discussed up to now are
-sufficient to create all paths that can be created ``at all.''
-However, it is useful to have special commands to create certain
-shapes, like circles, that arise often in practice.
+The path construction commands that we have discussed up to now are sufficient
+to create all paths that can be created ``at all''. However, it is useful to
+have special commands to create certain shapes, like circles, that arise often
+in practice.
 
-In the following, the commands for adding (parts of) (transformed)
-circles to a path are described.
+In the following, the commands for adding (parts of) (transformed) circles to a
+path are described.
 
-\begin{command}{\pgfpatharc\marg{start angle}\marg{end
-      angle}{\ttfamily\char`\{}\meta{radius}\opt{| and |\meta{y-radius}}{\ttfamily\char`\}}}
-  This command appends a part of a circle (or an ellipse) to the current
-  path. Imagine the curve between \meta{start angle} and \meta{end
-    angle} on a circle of radius \meta{radius} (if $\meta{start angle}
-  < \meta{end angle}$, the curve goes around the circle
-  counterclockwise, otherwise clockwise). This curve is now moved such
-  that the point where the curve starts is the previous last point of the
-  path. Note that this command will \emph{not} start a new part of the
-  path, which is important for example for filling purposes.
-
+\begin{command}{\pgfpatharc\marg{start angle}\marg{end angle}{\ttfamily\char`\{}\meta{radius}\opt{| and |\meta{y-radius}}{\ttfamily\char`\}}}
+    This command appends a part of a circle (or an ellipse) to the current
+    path. Imagine the curve between \meta{start angle} and \meta{end angle} on
+    a circle of radius \meta{radius} (if $\meta{start angle} < \meta{end
+    angle}$, the curve goes around the circle counterclockwise, otherwise
+    clockwise). This curve is now moved such that the point where the curve
+    starts is the previous last point of the path. Note that this command will
+    \emph{not} start a new part of the path, which is important for example for
+    filling purposes.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -277,14 +282,14 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  Saying |\pgfpatharc{0}{360}{1cm}| ``nearly'' gives you a full
-  circle. The ``nearly'' refers to the fact that the circle will not
-  be closed. You can close it using |\pgfpathclose|.
+    Saying |\pgfpatharc{0}{360}{1cm}| ``nearly'' gives you a full circle. The
+    ``nearly'' refers to the fact that the circle will not be closed. You can
+    close it using |\pgfpathclose|.
 
-  If the optional \meta{y-radius} is given, the \meta{radius} is the
-  $x$-radius and the \meta{y-radius} the $y$-radius of the ellipse
-  from which the curve is taken:
-
+    If the optional \meta{y-radius} is given, the \meta{radius} is the
+    $x$-radius and the \meta{y-radius} the $y$-radius of the ellipse from which
+    the curve is taken:
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -294,11 +299,10 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The axes of the circle or ellipse from which the arc is ``taken''
-  always point up and right. However, the current coordinate
-  transformation matrix will have an effect on the arc. This can be
-  used to, say, rotate an arc:
-
+    The axes of the circle or ellipse from which the arc is ``taken'' always
+    point up and right. However, the current coordinate transformation matrix
+    will have an effect on the arc. This can be used to, say, rotate an arc:
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -309,22 +313,22 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The command will update the bounding box of the current path and
-  picture, if necessary. Unless rotation or shearing transformations
-  are applied, the bounding box will be tight.
+    The command will update the bounding box of the current path and picture,
+    if necessary. Unless rotation or shearing transformations are applied, the
+    bounding box will be tight.
 \end{command}
 
-\begin{command}{\pgfpatharcaxes\marg{start angle}\marg{end
-      angle}\marg{first axis}\marg{second axis}}
-  This command is similar to |\pgfpatharc|. The main difference is how
-  the ellipse or circle is specified from which the arc is taken. The
-  two parameters \meta{first axis} and \meta{second axis} are the
-  $0^\circ$-axis and the $90^\circ$-axis of the ellipse from which the
-  path is taken. Thus, |\pgfpatharc{0}{90}{1cm and 2cm}| has the same effect
-  as
+\begin{command}{\pgfpatharcaxes\marg{start angle}\marg{end angle}\marg{first axis}\marg{second axis}}
+    This command is similar to |\pgfpatharc|. The main difference is how the
+    ellipse or circle is specified from which the arc is taken. The two
+    parameters \meta{first axis} and \meta{second axis} are the $0^\circ$-axis
+    and the $90^\circ$-axis of the ellipse from which the path is taken. Thus,
+    |\pgfpatharc{0}{90}{1cm and 2cm}| has the same effect as
+    %
 \begin{verbatim}
 \pgfpatharcaxes{0}{90}{\pgfpoint{1cm}{0cm}}{\pgfpoint{0cm}{2cm}}
 \end{verbatim}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -335,23 +339,22 @@
   \pgfusepath{draw}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
-\begin{command}{\pgfpatharcto\marg{x-radius}\marg{y-radius}\marg{rotation}
-    \marg{large arc flag}\marg{counterclockwise flag}\\\marg{target point}}
-  This command (which directly corresponds to the arc-path command of
-  \textsc{svg}) is used to add an arc to the path that starts at the
-  current point and ends at \meta{target point}. This arc is part of
-  an ellipse that is determined in the following way: Imagine an
-  ellipse with radii \meta{x-radius} and \meta{y-radius} that is
-  rotated around its center by \meta{rotation} degrees. When you move
-  this ellipse around in the plane, there will be exactly two
-  positions such that the two current point and the target point lie
-  on the border of the ellipse (excluding pathological cases). The
-  flags \meta{large arc flag} and \meta{clockwise flag} are then used to
-  decide which of these ellipses should be picked and which arc on the
-  picked ellipsis should be used.
+\begin{command}{\pgfpatharcto\marg{x-radius}\marg{y-radius}\marg{rotation} \marg{large arc flag}\marg{counterclockwise flag}\\\marg{target point}}
+    This command (which directly corresponds to the arc-path command of
+    \textsc{svg}) is used to add an arc to the path that starts at the current
+    point and ends at \meta{target point}. This arc is part of an ellipse that
+    is determined in the following way: Imagine an ellipse with radii
+    \meta{x-radius} and \meta{y-radius} that is rotated around its center by
+    \meta{rotation} degrees. When you move this ellipse around in the plane,
+    there will be exactly two positions such that the two current point and the
+    target point lie on the border of the ellipse (excluding pathological
+    cases). The flags \meta{large arc flag} and \meta{clockwise flag} are then
+    used to decide which of these ellipses should be picked and which arc on
+    the picked ellipsis should be used.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -361,14 +364,15 @@
   \pgfusepath{draw}
 \end{tikzpicture}
 \end{codeexample}
-  Both flags are considered to be false exactly if they evaluate to
-  |0|, otherwise they are true. If the \meta{large arc flag} is true,
-  then the angle spanned by the arc will be greater than $180^\circ$,
-  otherwise it will be less than $180^\circ$. The \meta{clockwise
-    flag} is used to determine which of the two ellipses should be
-  used: if the flag is true, then the arc goes from the current point
-  to the target point in a counterclockwise direction, otherwise in a
-  clockwise fashion.
+    %
+    Both flags are considered to be false exactly if they evaluate to |0|,
+    otherwise they are true. If the \meta{large arc flag} is true, then the
+    angle spanned by the arc will be greater than $180^\circ$, otherwise it
+    will be less than $180^\circ$. The \meta{clockwise flag} is used to
+    determine which of the two ellipses should be used: if the flag is true,
+    then the arc goes from the current point to the target point in a
+    counterclockwise direction, otherwise in a clockwise fashion.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \pgfsetlinewidth{2pt}
@@ -394,21 +398,25 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
-  \emph{Warning:} The internal computations necessary for this command
-  are numerically very unstable. In particular, the arc will not
-  always really end at the \meta{target coordinate}, but may be off by
-  up to several points. A more precise positioning is currently
-  infeasible due to \TeX's numerical weaknesses. The only case it
-  works quite nicely is when the resulting angle is a multiple
-  of~$90^\circ$.
+    %
+    \emph{Warning:} The internal computations necessary for this command are
+    numerically very unstable. In particular, the arc will not always really
+    end at the \meta{target coordinate}, but may be off by up to several
+    points. A more precise positioning is currently infeasible due to \TeX's
+    numerical weaknesses. The only case it works quite nicely is when the
+    resulting angle is a multiple of~$90^\circ$.
 \end{command}
 
 \begin{command}{\pgfpatharctoprecomputed\marg{center point}\marg{start angle}\marg{end angle}\marg{end point}\\\marg{x-radius}\marg{y-radius}\marg{ratio x-radius/y-radius}\marg{ratio y-radius/x-radius}}
-	A specialized arc operation which is fast and numerically stable, provided a lot of information is given in advance.
+    A specialized arc operation which is fast and numerically stable, provided
+    a lot of information is given in advance.
 
-	In contrast to |\pgfpatharc|, it explicitly interpolates start and end points.
+    In contrast to |\pgfpatharc|, it explicitly interpolates start and end
+    points.
 
-	In contrast to |\pgfpatharcto|, this routine is numerically stable and quite fast since it relies on a lot of available information.
+    In contrast to |\pgfpatharcto|, this routine is numerically stable and
+    quite fast since it relies on a lot of available information.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -437,33 +445,31 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  	\begin{command}{\pgfpatharctomaxstepsize}
-          The quality of arc approximation taken by
-          |\pgfpatharctoprecomputed| by means of B\'ezier splines is
-          controlled by a mesh width, which is initially
+    \begin{command}{\pgfpatharctomaxstepsize}
+        The quality of arc approximation taken by |\pgfpatharctoprecomputed| by
+        means of Bézier splines is controlled by a mesh width, which is
+        initially
 
-	|\def\pgfpatharctoprecomputed{45}|.
+        |\def\pgfpatharctoprecomputed{45}|.
 
-	The mesh width is provided in (full!) degrees. The smaller the mesh
-	width, the more precise the arc approximation.
+        The mesh width is provided in (full!) degrees. The smaller the mesh
+        width, the more precise the arc approximation.
 
-	Use an empty value to disable spline approximation (uses a single
-	cubic polynomial for the complete arc).
+        Use an empty value to disable spline approximation (uses a single cubic
+        polynomial for the complete arc).
 
-	The value must be an integer!
-	\end{command}
+        The value must be an integer!
+    \end{command}
 \end{command}
 
-\begin{command}{\pgfpathellipse\marg{center}\marg{first
-      axis}\marg{second axis}}
-  The effect of this command is to append an ellipse to the current
-  path (if the path is not empty, a new part is started). The
-  ellipse's center will be \meta{center} and \meta{first axis} and
-  \meta{second axis} are the axis \emph{vectors}. The same effect as
-  this command can also be achieved using an appropriate sequence of
-  move-to, arc, and close operations, but this command is easier and
-  faster.
-
+\begin{command}{\pgfpathellipse\marg{center}\marg{first axis}\marg{second axis}}
+    The effect of this command is to append an ellipse to the current path (if
+    the path is not empty, a new part is started). The ellipse's center will be
+    \meta{center} and \meta{first axis} and \meta{second axis} are the axis
+    \emph{vectors}. The same effect as this command can also be achieved using
+    an appropriate sequence of move-to, arc, and close operations, but this
+    command is easier and faster.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -479,35 +485,32 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The command will apply coordinate transformations to all coordinates
-  of the ellipse. However, the coordinate transformations are applied
-  only after the ellipse is ``finished conceptually.'' Thus, a
-  transformation of 1cm to the right will simply shift the ellipse one
-  centimeter to the right; it will not add 1cm to the $x$-coordinates
-  of the two axis vectors.
+    The command will apply coordinate transformations to all coordinates of the
+    ellipse. However, the coordinate transformations are applied only after the
+    ellipse is ``finished conceptually''. Thus, a transformation of 1cm to the
+    right will simply shift the ellipse one centimeter to the right; it will
+    not add 1cm to the $x$-coordinates of the two axis vectors.
 
-  The command will update the bounding box of the current path and
-  picture, if necessary.
+    The command will update the bounding box of the current path and picture,
+    if necessary.
 \end{command}
 
 \begin{command}{\pgfpathcircle\marg{center}\marg{radius}}
-  A shorthand for |\pgfpathellipse| applied to \meta{center} and the
-  two axis vectors $(\meta{radius},0)$ and $(0,\meta{radius})$.
+    A shorthand for |\pgfpathellipse| applied to \meta{center} and the two axis
+    vectors $(\meta{radius},0)$ and $(0,\meta{radius})$.
 \end{command}
 
 
 \subsection{Rectangle Path Operations}
 
-Another shape that arises frequently is the rectangle. Two commands
-can be used to add a rectangle to the current path. Both commands will
-start a new part of the path.
+Another shape that arises frequently is the rectangle. Two commands can be used
+to add a rectangle to the current path. Both commands will start a new part of
+the path.
 
-
 \begin{command}{\pgfpathrectangle\marg{corner}\marg{diagonal vector}}
-  Adds a rectangle to the path whose one corner is \meta{corner} and
-  whose opposite corner is given by $\meta{corner} + \meta{diagonal
-    vector}$.
-
+    Adds a rectangle to the path whose one corner is \meta{corner} and whose
+    opposite corner is given by $\meta{corner} + \meta{diagonal vector}$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -517,14 +520,15 @@
   \pgfusepath{draw}
 \end{tikzpicture}
 \end{codeexample}
-  The command will apply coordinate transformations and update the
-  bounding boxes tightly.
+    %
+    The command will apply coordinate transformations and update the bounding
+    boxes tightly.
 \end{command}
 
-
 \begin{command}{\pgfpathrectanglecorners\marg{corner}\marg{opposite corner}}
-  Adds a rectangle to the path whose two opposing corners are
-  \meta{corner} and \meta{opposite corner}.
+    Adds a rectangle to the path whose two opposing corners are \meta{corner}
+    and \meta{opposite corner}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -532,37 +536,40 @@
   \pgfusepath{draw}
 \end{tikzpicture}
 \end{codeexample}
-  The command will apply coordinate transformations and update the
-  bounding boxes tightly.
+    %
+    The command will apply coordinate transformations and update the bounding
+    boxes tightly.
 \end{command}
 
 
-
 \subsection{The Grid Path Operation}
 
 \begin{command}{\pgfpathgrid\oarg{options}\marg{first corner}\marg{second corner}}
-  Appends a grid to the current path. That is, a (possibly large)
-  number of parts are added to the path, each part consisting of a
-  single horizontal or vertical straight line segment.
+    Appends a grid to the current path. That is, a (possibly large) number of
+    parts are added to the path, each part consisting of a single horizontal or
+    vertical straight line segment.
 
-  Conceptually, the origin is part of the grid and the grid is clipped
-  to the rectangle specified by the \meta{first corner} and
-  the \meta{second corner}. However, no clipping occurs (this
-  command just adds parts to the current path) and the points
-  where the lines enter and leave the ``clipping area'' are computed
-  and used to add simple lines to the current path.
+    Conceptually, the origin is part of the grid and the grid is clipped to the
+    rectangle specified by the \meta{first corner} and the \meta{second
+    corner}. However, no clipping occurs (this command just adds parts to the
+    current path) and the points where the lines enter and leave the ``clipping
+    area'' are computed and used to add simple lines to the current path.
 
-  The following keys influence the grid:
-  \begin{key}{/pgf/stepx=\meta{dimension} (initially 1cm)}
-    The horizontal stepping.
-  \end{key}
-  \begin{key}{/pgf/stepy=\meta{dimension} (initially 1cm)}
-    The vertical stepping.
-  \end{key}
-  \begin{key}{/pgf/step=\meta{vector}}
-    Sets the horizontal stepping to the $x$-coordinate of
-    \meta{vector} and the vertical stepping to its $y$-coordinate.
-  \end{key}
+    The following keys influence the grid:
+    %
+    \begin{key}{/pgf/stepx=\meta{dimension} (initially 1cm)}
+        The horizontal stepping.
+    \end{key}
+    %
+    \begin{key}{/pgf/stepy=\meta{dimension} (initially 1cm)}
+        The vertical stepping.
+    \end{key}
+    %
+    \begin{key}{/pgf/step=\meta{vector}}
+        Sets the horizontal stepping to the $x$-coordinate of \meta{vector} and
+        the vertical stepping to its $y$-coordinate.
+    \end{key}
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetlinewidth{0.8pt}
@@ -575,9 +582,11 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
-  The command will apply coordinate transformations and update the
-  bounding boxes. As for ellipses, the transformations are
-  applied to the ``conceptually finished'' grid.
+    %
+    The command will apply coordinate transformations and update the bounding
+    boxes. As for ellipses, the transformations are applied to the
+    ``conceptually finished'' grid.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgftransformrotate{10}
@@ -585,6 +594,7 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
@@ -591,21 +601,21 @@
 \subsection{The Parabola Path Operation}
 
 \begin{command}{\pgfpathparabola\marg{bend vector}\marg{end vector}}
-  This command appends two half-parabolas to the  current path. The
-  first starts at the current point and ends at the current point plus
-  \meta{bend vector}. At this point, it has its bend. The second half
-  parabola starts at that bend point and ends at point that is given by
-  the bend plus \meta{end vector}.
+    This command appends two half-parabolas to the  current path. The first
+    starts at the current point and ends at the current point plus \meta{bend
+    vector}. At this point, it has its bend. The second half parabola starts at
+    that bend point and ends at point that is given by the bend plus \meta{end
+    vector}.
 
-  If you set \meta{end vector} to the null vector, you append only a
-  half parabola that goes from the current point to the bend; by
-  setting \meta{bend vector} to the null vector, you append only a
-  half parabola that goes through the current point and \meta{end vector} and
-  has its bend at the current point.
+    If you set \meta{end vector} to the null vector, you append only a half
+    parabola that goes from the current point to the bend; by setting
+    \meta{bend vector} to the null vector, you append only a half parabola that
+    goes through the current point and \meta{end vector} and has its bend at
+    the current point.
 
-  It is not possible to use this command to draw a part of a parabola
-  that does not contain the bend.
-
+    It is not possible to use this command to draw a part of a parabola that
+    does not contain the bend.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   % Half-parabola going ``up and right''
@@ -627,22 +637,24 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
-  The command will apply coordinate transformations and update the
-  bounding boxes.
+    %
+    The command will apply coordinate transformations and update the bounding
+    boxes.
 \end{command}
 
 
 \subsection{Sine and Cosine Path Operations}
 
-Sine and cosine curves often need to be drawn and the following commands
-may help with this. However, they only allow you to append sine and
-cosine curves in intervals that are multiples of $\pi/2$.
+Sine and cosine curves often need to be drawn and the following commands may
+help with this. However, they only allow you to append sine and cosine curves
+in intervals that are multiples of $\pi/2$.
 
 \begin{command}{\pgfpathsine\marg{vector}}
-  This command appends a sine curve in the interval $[0,\pi/2]$ to the
-  current path. The sine curve is squeezed or stretched such that the
-  curve starts at the current point and ends at the current point plus
-  \meta{vector}.
+    This command appends a sine curve in the interval $[0,\pi/2]$ to the
+    current path. The sine curve is squeezed or stretched such that the curve
+    starts at the current point and ends at the current point plus
+    \meta{vector}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,1);
@@ -656,16 +668,18 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
-  The command will apply coordinate transformations and update the
-  bounding boxes.
+    %
+    The command will apply coordinate transformations and update the bounding
+    boxes.
 \end{command}
 
 \begin{command}{\pgfpathcosine\marg{vector}}
-  This command appends a cosine curve in the interval $[0,\pi/2]$ to the
-  current path. The curve is squeezed or stretched such that the
-  curve starts at the current point and ends at the current point plus
-  \meta{vector}. Using several sine and cosine operations in sequence
-  allows you to produce a complete sine or cosine curve
+    This command appends a cosine curve in the interval $[0,\pi/2]$ to the
+    current path. The curve is squeezed or stretched such that the curve starts
+    at the current point and ends at the current point plus \meta{vector}.
+    Using several sine and cosine operations in sequence allows you to produce
+    a complete sine or cosine curve
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
@@ -677,43 +691,42 @@
   \pgfusepath{fill,stroke}
 \end{pgfpicture}
 \end{codeexample}
-  The command will apply coordinate transformations and update the
-  bounding boxes.
+    %
+    The command will apply coordinate transformations and update the bounding
+    boxes.
 \end{command}
 
 
-
 \subsection{Plot Path Operations}
 
-There exist several commands for appending
-plots to a path. These
-commands are available through the module |plot|. They are
-documented in Section~\ref{section-plots}.
+There exist several commands for appending plots to a path. These commands are
+available through the module |plot|. They are documented in
+Section~\ref{section-plots}.
 
 
 \subsection{Rounded Corners}
 
-Normally, when you connect two straight line segments or when you
-connect two curves that end and start ``at different angles,'' you get
-``sharp corners'' between the lines or curves. In some cases it is
-desirable to produce ``rounded corners'' instead. Thus, the lines
-or curves should be shortened a bit and then connected by arcs.
+Normally, when you connect two straight line segments or when you connect two
+curves that end and start ``at different angles'', you get ``sharp corners''
+between the lines or curves. In some cases it is desirable to produce ``rounded
+corners'' instead. Thus, the lines or curves should be shortened a bit and then
+connected by arcs.
 
-\pgfname\ offers an easy way to achieve this effect, by calling the
-following two commands.
+\pgfname\ offers an easy way to achieve this effect, by calling the following
+two commands.
 
 \begin{command}{\pgfsetcornersarced\marg{point}}
-  This command causes all subsequent corners to be replaced by little
-  arcs. The effect of this command lasts till the end of the current
-  \TeX\ scope.
+    This command causes all subsequent corners to be replaced by little
+    arcs. The effect of this command lasts till the end of the current
+    \TeX\ scope.
 
-  The \meta{point} dictates how large the corner arc will be. Consider
-  a corner made by two lines $l$ and~$r$ and assume that the line $l$
-  comes first on the path. The $x$-dimension of the \meta{point}
-  decides by how much the line~$l$ will be shortened, the
-  $y$-dimension of \meta{point} decides by how much the line $r$ will
-  be shortened. Then, the shortened lines are connected by an arc.
-
+    The \meta{point} dictates how large the corner arc will be. Consider a
+    corner made by two lines $l$ and~$r$ and assume that the line $l$ comes
+    first on the path. The $x$-dimension of the \meta{point} decides by how
+    much the line~$l$ will be shortened, the $y$-dimension of \meta{point}
+    decides by how much the line $r$ will be shortened. Then, the shortened
+    lines are connected by an arc.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -742,15 +755,14 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  If the $x$- and $y$-coordinates of \meta{point} are the same and the
-  corner is a right angle, you will get a perfect quarter circle
-  (well, not quite perfect, but perfect up to six decimals). When the
-  angle is not $90^\circ$, you only get a fair approximation.
+    If the $x$- and $y$-coordinates of \meta{point} are the same and the corner
+    is a right angle, you will get a perfect quarter circle (well, not quite
+    perfect, but perfect up to six decimals). When the angle is not $90^\circ$,
+    you only get a fair approximation.
 
-  More or less ``all'' corners will be rounded, even the corner
-  generated by a |\pgfpathclose| command. (The author is a bit proud
-  of this feature.)
-
+    More or less ``all'' corners will be rounded, even the corner generated by
+    a |\pgfpathclose| command. (The author is a bit proud of this feature.)
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetcornersarced{\pgfpoint{4pt}{4pt}}
@@ -764,102 +776,101 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  To return to normal (unrounded) corners, use
-  |\pgfsetcornersarced{\pgfpointorigin}|.
+    To return to normal (unrounded) corners, use
+    |\pgfsetcornersarced{\pgfpointorigin}|.
 
-  Note that the rounding will produce strange and undesirable effects
-  if the lines at the corners are too short. In this case the
-  shortening may cause the lines to ``suddenly extend over the other
-  end'' which is rarely desirable.
+    Note that the rounding will produce strange and undesirable effects if the
+    lines at the corners are too short. In this case the shortening may cause
+    the lines to ``suddenly extend over the other end'' which is rarely
+    desirable.
 \end{command}
 
 
-
-
 \subsection{Internal Tracking of Bounding Boxes for Paths and Pictures}
-
 \label{section-bb}
 
 \makeatletter
 
-The path construction commands keep track of two bounding boxes: One
-for the current path, which is reset whenever the path is used and
-thereby flushed, and a bounding box for the current |{pgfpicture}|.
+The path construction commands keep track of two bounding boxes: One for the
+current path, which is reset whenever the path is used and thereby flushed, and
+a bounding box for the current |{pgfpicture}|.
 
 \begin{command}{\pgfresetboundingbox}
-	Resets the picture's bounding box. The picture will simply forget any previous bounding box updates and start collecting from scratch.
-	
-	You can use this together with |\pgfusepath{use as bounding box}| to replace the bounding box by the one of a particular path (ignoring subsequent paths).
+    Resets the picture's bounding box. The picture will simply forget any
+    previous bounding box updates and start collecting from scratch.
+
+    You can use this together with |\pgfusepath{use as bounding box}| to
+    replace the bounding box by the one of a particular path (ignoring
+    subsequent paths).
 \end{command}
 
-The bounding boxes are not accessible by ``normal'' macros. Rather,
-two sets of four dimension variables are used for this, all of which
-contain the letter~|@|.
+The bounding boxes are not accessible by ``normal'' macros. Rather, two sets of
+four dimension variables are used for this, all of which contain the
+letter~|@|.
 
 \begin{textoken}{\pgf at pathminx}
-  The minimum $x$-coordinate ``mentioned'' in the current
-  path. Initially, this is set to $16000$pt.
+    The minimum $x$-coordinate ``mentioned'' in the current path. Initially,
+    this is set to $16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at pathmaxx}
-  The maximum $x$-coordinate ``mentioned'' in the current
-  path. Initially, this is set to $-16000$pt.
+    The maximum $x$-coordinate ``mentioned'' in the current path. Initially,
+    this is set to $-16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at pathminy}
-  The minimum $y$-coordinate ``mentioned'' in the current
-  path. Initially, this is set to $16000$pt.
+    The minimum $y$-coordinate ``mentioned'' in the current path. Initially,
+    this is set to $16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at pathmaxy}
-  The maximum $y$-coordinate ``mentioned'' in the current
-  path. Initially, this is set to $-16000$pt.
+    The maximum $y$-coordinate ``mentioned'' in the current path. Initially,
+    this is set to $-16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at picminx}
-  The minimum $x$-coordinate ``mentioned'' in the current
-  picture. Initially, this is set to $16000$pt.
+    The minimum $x$-coordinate ``mentioned'' in the current picture. Initially,
+    this is set to $16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at picmaxx}
-  The maximum $x$-coordinate ``mentioned'' in the current
-  picture. Initially, this is set to $-16000$pt.
+    The maximum $x$-coordinate ``mentioned'' in the current picture. Initially,
+    this is set to $-16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at picminy}
-  The minimum $y$-coordinate ``mentioned'' in the current
-  picture. Initially, this is set to $16000$pt.
+    The minimum $y$-coordinate ``mentioned'' in the current picture. Initially,
+    this is set to $16000$pt.
 \end{textoken}
 
 \begin{textoken}{\pgf at picmaxy}
-  The maximum $y$-coordinate ``mentioned'' in the current
-  picture. Initially, this is set to $-16000$pt.
+    The maximum $y$-coordinate ``mentioned'' in the current picture. Initially,
+    this is set to $-16000$pt.
 \end{textoken}
 
 
-Each time a path construction command is called, the above variables
-are (globally) updated. To facilitate this, you can use the following
-command:
+Each time a path construction command is called, the above variables are
+(globally) updated. To facilitate this, you can use the following command:
 
 \begin{command}{\pgf at protocolsizes\marg{x-dimension}\marg{y-dimension}}
-  Updates all of the above dimensions in such a way that the point
-  specified by the two arguments is inside both bounding boxes. For
-  the picture's bounding box this updating occurs only if
-  |\ifpgf at relevantforpicturesize| is true, see below.
+    Updates all of the above dimensions in such a way that the point specified
+    by the two arguments is inside both bounding boxes. For the picture's
+    bounding box this updating occurs only if |\ifpgf at relevantforpicturesize|
+    is true, see below.
 \end{command}
 
-For the bounding box of the picture it is not always desirable that
-every path construction command affects this bounding box. For
-example, if you have just used a clip command, you do not want anything
-outside the clipping area to affect the bounding box. For this reason,
-there exists a special ``\TeX\ if'' that (locally) decides whether
-updating should be applied to the picture's bounding box. Clipping
-will set this if to false, as will certain other commands.
+For the bounding box of the picture it is not always desirable that every path
+construction command affects this bounding box. For example, if you have just
+used a clip command, you do not want anything outside the clipping area to
+affect the bounding box. For this reason, there exists a special ``\TeX\ if''
+that (locally) decides whether updating should be applied to the picture's
+bounding box. Clipping will set this if to false, as will certain other
+commands.
 
 \begin{command}{\pgf at relevantforpicturesizefalse}
-  Suppresses updating of the picture's bounding box.
+    Suppresses updating of the picture's bounding box.
 \end{command}
 
 \begin{command}{\pgf at relevantforpicturesizetrue}
-  Causes updating of the picture's bounding box.
+    Causes updating of the picture's bounding box.
 \end{command}

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,96 +9,90 @@
 
 
 \section{Patterns}
-
 \label{section-patterns}
 
 \subsection{Overview}
 
-There are many ways of filling a path. First, you can fill it using a
-solid color and this is also the fastest method. Second, you can also
-fill it using a shading, which means that the color changes smoothly
-between two (or more) different colors. Third, you can fill it using a
-tiling pattern and it is explained in the following how this is done.
+There are many ways of filling a path. First, you can fill it using a solid
+color and this is also the fastest method. Second, you can also fill it using a
+shading, which means that the color changes smoothly between two (or more)
+different colors. Third, you can fill it using a tiling pattern and it is
+explained in the following how this is done.
 
-A tiling pattern can be imagined as a rectangular tile (hence the
-name) on which a small picture is painted. There is not a single tile,
-but (conceptually) an infinite number of tiles, all showing the same
-picture, and these tiles are arranged horizontally and vertically to
-fill the plane. When you use a tiling pattern to fill a path, what
-happens is that the path clips out a ``window'' through which we see
-part of this infinite plane.
+A tiling pattern can be imagined as a rectangular tile (hence the name) on
+which a small picture is painted. There is not a single tile, but
+(conceptually) an infinite number of tiles, all showing the same picture, and
+these tiles are arranged horizontally and vertically to fill the plane. When
+you use a tiling pattern to fill a path, what happens is that the path clips
+out a ``window'' through which we see part of this infinite plane.
 
 Patterns come in two versions: \emph{inherently colored patterns} and
-\emph{form-only patterns}. (These are often called ``color patterns''
-and ``uncolored patterns,'' but these names are misleading since
-uncolored patterns do have a color and the color changes. As I said,
-the name is misleading\dots) An inherently colored pattern is just a
-colored tile like, say, a red star with a black outline. A form-only
-pattern can be imagined as a tile that is a kind of rubber stamp. When
-this pattern is used, the stamp is used to print copies of the stamp
-picture onto the plane, but we can use a different stamp color each
-time we use a form-only pattern.
+\emph{form-only patterns}. (These are often called ``color patterns'' and
+``uncolored patterns'', but these names are misleading since uncolored patterns
+do have a color and the color changes. As I said, the name is misleading\dots)
+An inherently colored pattern is just a colored tile like, say, a red star with
+a black outline. A form-only pattern can be imagined as a tile that is a kind
+of rubber stamp. When this pattern is used, the stamp is used to print copies
+of the stamp picture onto the plane, but we can use a different stamp color
+each time we use a form-only pattern.
 
-\pgfname\ provides a special support for patterns. You can declare a
-pattern and then use it very much like a fill color. \pgfname\
-directly maps patterns to the pattern facilities of the underlying
-graphic languages (PostScript, \textsc{pdf}, and \textsc{svg}). This
-means that filling a path using a pattern will be nearly as fast as if
-you used a uniform color.
+\pgfname\ provides a special support for patterns. You can declare a pattern
+and then use it very much like a fill color. \pgfname\ directly maps patterns
+to the pattern facilities of the underlying graphic languages (PostScript,
+\textsc{pdf}, and \textsc{svg}). This means that filling a path using a pattern
+will be nearly as fast as if you used a uniform color.
 
-There are a number of pitfalls and restrictions when using
-patterns. First, once a pattern has been declared, you cannot change
-it anymore. In particular, it is not possible to enlarge it or change
-the line width. Such flexibility would require that the repeating of
-the pattern were not done by the graphic language, but on the
-\pgfname\ level. This would make patterns orders of magnitude slower
-to produce and to render. However, \pgfname{} does provide a
-more-or-less successful emulation of ``mutable'' patterns, although
-internally, a new (fixed) instance of a pattern is declared when
-the parameters of a pattern change.
+There are a number of pitfalls and restrictions when using patterns. First,
+once a pattern has been declared, you cannot change it anymore. In particular,
+it is not possible to enlarge it or change the line width. Such flexibility
+would require that the repeating of the pattern were not done by the graphic
+language, but on the \pgfname\ level. This would make patterns orders of
+magnitude slower to produce and to render. However, \pgfname{} does provide a
+more-or-less successful emulation of ``mutable'' patterns, although internally,
+a new (fixed) instance of a pattern is declared when the parameters of a
+pattern change.
 
-Second, the phase of patterns is not well-defined, that is, it is not
-clear where the origin of the ``first'' tile is. To be more precise,
-PostScript and \textsc{pdf} on the one hand and \textsc{svg} on the
-other hand define the origin differently. PostScript and \textsc{pdf}
-define a fixed origin that is independent of where the path lies. This
-has the highly desirable effect that if you use the same pattern to
-fill multiple paths, the outcome is the same as if you had filled a single path consisting of the union of all these paths. By
-comparison, \textsc{svg} uses the upper-left (?) corner of the path to
-be filled as the origin. However, the \textsc{svg} specification is a
-bit vague on this question.
+Second, the phase of patterns is not well-defined, that is, it is not clear
+where the origin of the ``first'' tile is. To be more precise, PostScript and
+\textsc{pdf} on the one hand and \textsc{svg} on the other hand define the
+origin differently. PostScript and \textsc{pdf} define a fixed origin that is
+independent of where the path lies. This has the highly desirable effect that
+if you use the same pattern to fill multiple paths, the outcome is the same as
+if you had filled a single path consisting of the union of all these paths. By
+comparison, \textsc{svg} uses the upper-left (?) corner of the path to be
+filled as the origin. However, the \textsc{svg} specification is a bit vague on
+this question.
 
 
 \subsection{Declaring a Pattern}
 
-Before a pattern can be used, it must be declared. The following
-command is used for this:
+Before a pattern can be used, it must be declared. The following command is
+used for this:
 
 \begin{command}{\pgfdeclarepatternformonly%
-	\opt{\oarg{variables}}%
-	\marg{name}%
-	\marg{bottom left}%
-	\marg{top right}%
-	\marg{tile size}%
-	\marg{code}}
+    \opt{\oarg{variables}}%
+    \marg{name}%
+    \marg{bottom left}%
+    \marg{top right}%
+    \marg{tile size}%
+    \marg{code}%
+}
+    This command declares a new form-only pattern. The \meta{name} is a name
+    for later reference. The two parameters \meta{lower left} and \meta{upper
+    right} must describe a bounding box that is large enough to encompass the
+    complete tile.
 
-	This command declares a new form-only pattern. The \meta{name} is a
-  name for later reference. The two parameters \meta{lower left} and
-  \meta{upper right} must describe a bounding box that is large enough
-  to encompass the complete tile.
+    The size of a tile is given by \meta{tile size}, that is, a tile is a
+    rectangle whose lower left   corner is the origin and whose upper right
+    corner is given by \meta{tile size}. This might make you wonder why the
+    second and third parameters are needed. First, the bounding box might be
+    smaller than the tile size if the tile is larger than the picture on the
+    tile. Second, the bounding box might be bigger, in which case the picture
+    will ``bleed'' over the tile.
 
-  The size of a tile is given by \meta{tile size}, that is, a tile is
-  a rectangle whose lower left   corner is the origin and whose upper
-  right corner is given by \meta{tile size}. This might make you
-  wonder why the second and third parameters are needed. First, the
-  bounding box might be smaller than the tile size if the tile is
-  larger than the picture on the tile. Second, the bounding box might
-  be bigger, in which case the picture will ``bleed'' over the tile.
-
-  The \meta{code} should be \pgfname\ code than can be protocolled. It
-  should not contain any color code.
-
-
+    The \meta{code} should be \pgfname\ code than can be protocolled. It should
+    not contain any color code.
+    %
 \begin{codeexample}[]
 \pgfdeclarepatternformonly{stars}
 {\pgfpointorigin}{\pgfpoint{1cm}{1cm}}
@@ -120,37 +114,33 @@
 \end{tikzpicture}
 \end{codeexample}
 
-	The optional argument \meta{variables} consists of a comma
-	separated	list of macros,	registers or keys, representing the
-	parameters of the pattern that may vary. If a variable is a key,
-	then the full path name must be used (specifically, it must start
-	with |/|).
-	As an example, a list might look like the following:
-	|\mymacro,\mydimen,/pgf/my key|. Note that macros and keys should
-	be ``simple''. They should only store values in themselves.
-	
-	The effect of \meta{variables}, is the following:
-  Normally, when this argument is empty, once a pattern has been
-  declared, it becomes ``frozen''. This means that it is not possible
-  to enlarge the pattern or change the line width later on.
-  By specifying \meta{variables}, no pattern is actually created.
-  Instead, the arguments are stored away
-  (so the macros,	registers or keys do not have to be defined in advance).
+    The optional argument \meta{variables} consists of a comma separated list
+    of macros, registers or keys, representing the parameters of the pattern
+    that may vary. If a variable is a key, then the full path name must be used
+    (specifically, it must start with |/|). As an example, a list might look
+    like the following: |\mymacro,\mydimen,/pgf/my key|. Note that macros and
+    keys should be ``simple''. They should only store values in themselves.
 
-  When the fill pattern is set, \pgfname{} checks if the pattern has
-  already been created with the \meta{variables} set to their current
-  values (\pgfname{} is usually ``smart enough'' to distinguish between
-  macros, registers and keys). If so, this already-declared-pattern
-  is used as the fill pattern.
-  If not, a new instance of the pattern (which will have a
-  unique internal name) is declared using the current values of
-  \meta{variables}. These values are then saved and the fill pattern
-  set accordingly.
-	
-	The following shows an example of a pattern which varies
-	according to the values of the macro |\size|, the key |/tikz/radius|,
-	and the \TeX{} dimension |\thickness|.
+    The effect of \meta{variables}, is the following: Normally, when this
+    argument is empty, once a pattern has been declared, it becomes ``frozen''.
+    This means that it is not possible to enlarge the pattern or change the
+    line width later on. By specifying \meta{variables}, no pattern is actually
+    created. Instead, the arguments are stored away (so the macros, registers
+    or keys do not have to be defined in advance).
 
+    When the fill pattern is set, \pgfname{} checks if the pattern has already
+    been created with the \meta{variables} set to their current values
+    (\pgfname{} is usually ``smart enough'' to distinguish between macros,
+    registers and keys). If so, this already-declared-pattern is used as the
+    fill pattern. If not, a new instance of the pattern (which will have a
+    unique internal name) is declared using the current values of
+    \meta{variables}. These values are then saved and the fill pattern set
+    accordingly.
+
+    The following shows an example of a pattern which varies according to the
+    values of the macro |\size|, the key |/tikz/radius|, and the \TeX{}
+    dimension |\thickness|.
+    %
 \begin{codeexample}[]
 \pgfdeclarepatternformonly[/tikz/radius,\thickness,\size]{rings}
 {\pgfpoint{-0.5*\size}{-0.5*\size}}
@@ -175,21 +165,22 @@
   \filldraw [rings, radius=8pt, thickness=4pt] (2,2.5) rectangle +(1.5,2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfdeclarepatterninherentlycolored
-		\opt{\oarg{variables}}
+    \opt{\oarg{variables}}
     \marg{name}
     \marg{lower left}
     \marg{upper right}
     \marg{tile size}
-    \marg{code}}
-  This command works like |\pgfdeclarepatternuncolored|, only the
-  pattern will have an inherent color. To set the color, you should
-  use \pgfname's color commands, not the |\color| command, since this
-  fill is not protocolled.
-
+    \marg{code}%
+}
+    This command works like |\pgfdeclarepatternuncolored|, only the pattern
+    will have an inherent color. To set the color, you should use \pgfname's
+    color commands, not the |\color| command, since this fill is not
+    protocolled.
+    %
 \begin{codeexample}[]
 \pgfdeclarepatterninherentlycolored{green stars}
 {\pgfpointorigin}{\pgfpoint{1cm}{1cm}}
@@ -209,21 +200,20 @@
   \filldraw[pattern=green stars] (0,0) rectangle (3,2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
-
 \subsection{Setting a Pattern}
 
 Once a pattern has been declared, it can be used.
 
 \begin{command}{\pgfsetfillpattern\marg{name}\marg{color}}
-  This command specifies that paths that are filled should be filled
-  with the ``color'' by the pattern \meta{name}. For an inherently
-  colored pattern, the \meta{color} parameter is ignored. For
-  form-only patterns, the \meta{color} parameter specifies the color
-  to be used for the pattern.
+    This command specifies that paths that are filled should be filled with the
+    ``color'' by the pattern \meta{name}. For an inherently colored pattern,
+    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{tikzpicture}
   \pgfsetfillpattern{stars}{red}
@@ -233,10 +223,10 @@
   \filldraw (1.5,0) rectangle (3,2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,70 +9,59 @@
 
 
 \section{Creating Plots}
-
 \label{section-plots}
 
 This section describes the |plot| module.
 
 \begin{pgfmodule}{plot}
-  This module provides a set of commands that are intended to make it
-  reasonably easy to plot functions using \pgfname. It is loaded
-  automatically by |pgf|, but you can load it manually if you have
-  only included |pgfcore|.
+    This module provides a set of commands that are intended to make it
+    reasonably easy to plot functions using \pgfname. It is loaded
+    automatically by |pgf|, but you can load it manually if you have only
+    included |pgfcore|.
 \end{pgfmodule}
 
 
 \subsection{Overview}
 
-There are different reasons for using \pgfname\ for creating plots
-rather than some more powerful program such as \textsc{gnuplot} or
-\textsc{mathematica}, as discussed in
-Section~\ref{section-why-pgname-for-plots}. So, let us assume that --
-for whatever reason -- you wish to use \pgfname\ for generating a plot.
+There are different reasons for using \pgfname\ for creating plots rather than
+some more powerful program such as \textsc{gnuplot} or \textsc{mathematica}, as
+discussed in Section~\ref{section-why-pgname-for-plots}. So, let us assume that
+-- for whatever reason -- you wish to use \pgfname\ for generating a plot.
 
-\pgfname\ (conceptually) uses a two-stage process for generating
-plots. First, a \emph{plot stream} must be produced. This stream
-consists (more or less) of a large number of coordinates. Second a
-\emph{plot handler} is applied to the stream. A plot handler ``does
-something'' with the stream. The standard handler will issue
-line-to operations to the coordinates in the stream. However, a
-handler might also try to issue appropriate curve-to operations in
-order to smooth the curve. A handler may even do something else
-entirely, like writing each coordinate to another stream, thereby
-duplicating the original stream.
+\pgfname\ (conceptually) uses a two-stage process for generating plots. First,
+a \emph{plot stream} must be produced. This stream consists (more or less) of a
+large number of coordinates. Second a \emph{plot handler} is applied to the
+stream. A plot handler ``does something'' with the stream. The standard handler
+will issue line-to operations to the coordinates in the stream. However, a
+handler might also try to issue appropriate curve-to operations in order to
+smooth the curve. A handler may even do something else entirely, like writing
+each coordinate to another stream, thereby duplicating the original stream.
 
-Both for the creation of streams and the handling of streams different
-sets of commands exist. The commands for creating streams start with
-|\pgfplotstream|, the commands for setting the handler start with
-|\pgfplothandler|.
+Both for the creation of streams and the handling of streams different sets of
+commands exist. The commands for creating streams start with |\pgfplotstream|,
+the commands for setting the handler start with |\pgfplothandler|.
 
 
-
 \subsection{Generating Plot Streams}
 
 \subsubsection{Basic Building Blocks of Plot Streams}
 
-A \emph{plot stream} is a (long) sequence of the following 
-commands:
+A \emph{plot stream} is a (long) sequence of the following commands:
+%
 \begin{enumerate}
-\item
-  |\pgfplotstreamstart|,
-\item
-  |\pgfplotstreampoint|, 
-\item
-  |\pgfplotstreampointoutlier|, 
-\item
-  |\pgfplotstreampointundefined|,
-\item
-  |\pgfplotstreamnewdataset|,
-\item
-  |\pgfplotstreamspecial|, and
-\item
-  |\pgfplotstreamend|.
+    \item |\pgfplotstreamstart|,
+    \item |\pgfplotstreampoint|,
+    \item |\pgfplotstreampointoutlier|,
+    \item |\pgfplotstreampointundefined|,
+    \item |\pgfplotstreamnewdataset|,
+    \item |\pgfplotstreamspecial|, and
+    \item |\pgfplotstreamend|.
 \end{enumerate}
-Between calls of these commands arbitrary other code may be
-called. Obviously, the stream should start with the first command and
-end with the last command. Here is an example of a plot stream:
+%
+Between calls of these commands arbitrary other code may be called. Obviously,
+the stream should start with the first command and end with the last command.
+Here is an example of a plot stream:
+%
 \begin{codeexample}[code only]
 \pgfplotstreamstart
 \pgfplotstreampoint{\pgfpoint{1cm}{1cm}}
@@ -84,151 +73,151 @@
 \pgfplotstreamend
 \end{codeexample}
 
-Streams are \emph{global}, meaning that they are not influenced by
-\TeX\ groups.
+Streams are \emph{global}, meaning that they are not influenced by \TeX\
+groups.
 
 \begin{command}{\pgfplotstreamstart}
-  This command signals that a plot stream starts. The effect of this
-  command is to call the internal command |\pgf at plotstreamstart|,
-  which is set by the current plot handler to do whatever needs to be
-  done at the beginning of the plot. It will also reset the
-  meaning of the internal commands like |\pgf at plotstreampoint| to the
-  initial setting for the plot handler (what this means will be
-  explained in a moment).
+    This command signals that a plot stream starts. The effect of this command
+    is to call the internal command |\pgf at plotstreamstart|, which is set by the
+    current plot handler to do whatever needs to be done at the beginning of
+    the plot. It will also reset the meaning of the internal commands like
+    |\pgf at plotstreampoint| to the initial setting for the plot handler (what
+    this means will be explained in a moment).
 \end{command}
 
 \begin{command}{\pgfplotstreampoint\marg{point}}
-  This command adds a \meta{point} to the current plot stream. The
-  effect of this command is to call the internal command |\pgf at plotstreampoint|,
-  which is also set by the current plot handler. This command should
-  now ``handle'' the point in some sensible way. For example, a
-  line-to command might be issued for the point.
-  
-  When a plot handler is installed, it will setup the internal command
-  |\pgf at plotstreampoint| in some way. It is permissible to change the
-  meaning of this internal command during a stream. For instance, a
-  handler might setup |\pgf at plotstreampoint| in some sensible way for
-  the first point and then redefine it so that subsequent points are
-  handled in some other way.
+    This command adds a \meta{point} to the current plot stream. The effect of
+    this command is to call the internal command |\pgf at plotstreampoint|, which
+    is also set by the current plot handler. This command should now ``handle''
+    the point in some sensible way. For example, a line-to command might be
+    issued for the point.
 
-  As mentioned earlier, the |\pgfplotstreamstart| will always reset
-  the definition of the internal command to the initial meaning it had
-  when the handler was installed. This is true for the other commands
-  mentioned in the following.
+    When a plot handler is installed, it will setup the internal command
+    |\pgf at plotstreampoint| in some way. It is permissible to change the meaning
+    of this internal command during a stream. For instance, a handler might
+    setup |\pgf at plotstreampoint| in some sensible way for the first point and
+    then redefine it so that subsequent points are handled in some other way.
+
+    As mentioned earlier, the |\pgfplotstreamstart| will always reset the
+    definition of the internal command to the initial meaning it had when the
+    handler was installed. This is true for the other commands mentioned in the
+    following.
 \end{command}
 
 \begin{command}{\pgfplotstreampointoutlier\marg{point}}
-  An \emph{outlier} is a point that is ``out of bounds'' in some
-  way. For instance, it might have very large coordinates or the
-  coordinates might just be outside some specified
-  range. Nevertheless, an outlier is still a well-defined point. This
-  command is issued, for instance, by \textsc{gnuplot} when a value is
-  outside the specified range.
+    An \emph{outlier} is a point that is ``out of bounds'' in some way. For
+    instance, it might have very large coordinates or the coordinates might
+    just be outside some specified range. Nevertheless, an outlier is still a
+    well-defined point. This command is issued, for instance, by
+    \textsc{gnuplot} when a value is outside the specified range.
 
-  You can configure how outliers are treated using the following key:
-  \begin{key}{/pgf/handle outlier points in plots=\meta{how}
-      (initially jump)}
+    You can configure how outliers are treated using the following key:
+    %
+    \begin{key}{/pgf/handle outlier points in plots=\meta{how} (initially jump)}
     \keyalias{tikz}
-    You can set \meta{how} to one of the following values:
-    \begin{itemize}
-    \item |plot| This will cause the outlier to be drawn normally,
-      just as if |\pgfplotstreampoint| had been used rather than this
-      command.
-    \item |ignore| The outlier will be completely ignored, just as if
-      the command had not been used at all.
-    \item |jump| This causes the internal macro |\pgf at plotstreamjump|
-      to be called. A ``jump'' in a stream is a position where a
-      ``gap'' is introduced. For instance, a simple line-to plot
-      handler will stop the current subpath at a jump position and
-      begin with a move-to operation at the next normal point of the
-      stream.
+        You can set \meta{how} to one of the following values:
+        %
+        \begin{itemize}
+            \item |plot| This will cause the outlier to be drawn normally, just
+                as if |\pgfplotstreampoint| had been used rather than this
+                command.
+            \item |ignore| The outlier will be completely ignored, just as if
+                the command had not been used at all.
+            \item |jump| This causes the internal macro |\pgf at plotstreamjump|
+                to be called. A ``jump'' in a stream is a position where a
+                ``gap'' is introduced. For instance, a simple line-to plot
+                handler will stop the current subpath at a jump position and
+                begin with a move-to operation at the next normal point of the
+                stream.
 
-      The net effect of this setting is that at outlier points plots
-      get interrupted and ``restarted'' when the points are no longer
-      outliers. This is usually the behaviour you will be looking for.
-    \end{itemize}
-  \end{key}
+                The net effect of this setting is that at outlier points plots
+                get interrupted and ``restarted'' when the points are no longer
+                outliers. This is usually the behaviour you will be looking
+                for.
+        \end{itemize}
+    \end{key}
 \end{command}
 
 \begin{command}{\pgfplotstreampointundefined}
-  This command indicated that the stream contains an ``undefined''
-  point like a point where some coordinate results for a division by
-  zero. Such a point cannot be plotted, which is why it is not given
-  as a parameter. However, such a point \emph{can} result in a jump in
-  the plot, depending on the setting of the following key:
-  \begin{key}{/pgf/handle undefined points in plots=\meta{how}
-      (initially jump)}
+    This command indicated that the stream contains an ``undefined'' point like
+    a point where some coordinate results for a division by zero. Such a point
+    cannot be plotted, which is why it is not given as a parameter. However,
+    such a point \emph{can} result in a jump in the plot, depending on the
+    setting of the following key:
+    %
+    \begin{key}{/pgf/handle undefined points in plots=\meta{how} (initially jump)}
     \keyalias{tikz}
-    You can set \meta{how} to one of the following values:
-    \begin{itemize}
-    \item |ignore| The undefined point will be completely ignored, just as if
-      the command had not been used at all.
-    \item |jump| This causes the internal macro |\pgf at plotstreamjump|
-      to be called. 
-    \end{itemize}
-  \end{key}
+        You can set \meta{how} to one of the following values:
+        %
+        \begin{itemize}
+            \item |ignore| The undefined point will be completely ignored, just
+                as if the command had not been used at all.
+            \item |jump| This causes the internal macro |\pgf at plotstreamjump|
+                to be called.
+        \end{itemize}
+    \end{key}
 \end{command}
 
 \begin{command}{\pgfplotstreamnewdataset}
-  This command indicated that in the stream a ``new data set'' starts.
-  So, the stream does not end, but there is a logical break in the
-  data. For example, when a table is read from a file, empty lines are
-  interpreted as indicating new data sets. What happens when a new
-  data set is encountered is governed by the following key:
-  \begin{key}{/pgf/handle new data sets in plots=\meta{how}
-      (initially jump)}
+    This command indicated that in the stream a ``new data set'' starts. So,
+    the stream does not end, but there is a logical break in the data. For
+    example, when a table is read from a file, empty lines are interpreted as
+    indicating new data sets. What happens when a new data set is encountered
+    is governed by the following key:
+    %
+    \begin{key}{/pgf/handle new data sets in plots=\meta{how} (initially jump)}
     \keyalias{tikz}
-    You can set \meta{how} to one of the following values:
-    \begin{itemize}
-    \item |ignore| The command will be completely ignored, just as if
-      the command had not been used at all.
-    \item |jump| This causes the internal macro |\pgf at plotstreamjump|
-      to be called. 
-    \end{itemize}
-  \end{key}
+        You can set \meta{how} to one of the following values:
+        %
+        \begin{itemize}
+            \item |ignore| The command will be completely ignored, just as if
+                the command had not been used at all.
+            \item |jump| This causes the internal macro |\pgf at plotstreamjump|
+                to be called.
+        \end{itemize}
+    \end{key}
 \end{command}
 
 \begin{command}{\pgfplotstreamspecial\marg{text}}
-  This command causes |\pgf at plotstreamspecial| to be called with
-  \meta{text} as its parameter. This allows handler-specific
-  information to be passed to the handler. All normal handlers ignore
-  this command.
+    This command causes |\pgf at plotstreamspecial| to be called with \meta{text}
+    as its parameter. This allows handler-specific information to be passed to
+    the handler. All normal handlers ignore this command.
 \end{command}
 
 \begin{command}{\pgfplotstreamend}
-  This command signals that a plot stream ends. It calls
-  |\pgf at plotstreamend|, which should now do any necessary ``cleanup.'' 
+    This command signals that a plot stream ends. It calls
+    |\pgf at plotstreamend|, which should now do any necessary ``cleanup''.
 \end{command}
 
-Note that plot streams are not buffered, that is, the different points
-are handled immediately. However, using the recording handler, it is
-possible to record a stream.
+Note that plot streams are not buffered, that is, the different points are
+handled immediately. However, using the recording handler, it is possible to
+record a stream.
 
 
 \subsubsection{Commands That Generate Plot Streams}
 \label{section-plot-jumps}
 
-Plot streams can be created ``by hand'' as in the earlier
-example. However, most of the time the coordinates will be produced
-internally by some command. For example, the |\pgfplotxyfile| reads a
-file and converts it into a plot stream.
+Plot streams can be created ``by hand'' as in the earlier example. However,
+most of the time the coordinates will be produced internally by some command.
+For example, the |\pgfplotxyfile| reads a file and converts it into a plot
+stream.
 
 \begin{command}{\pgfplotxyfile\marg{filename}}
-  This command will try to open the file \meta{filename}. If this
-  succeeds, it will convert the file contents into a plot stream as
-  follows: A |\pgfplotstreamstart| is issued. Then, for each nonempty
-  line a |\pgfplotstreamnewdataset| is produced. Other lines in the
-  file should start with two numbers separated by a space, such as
-  |0.1 1| or |100 -.3|. The numbers may be followed by some text,
-  which will be ignore \emph{except} if it is exactly ``|u|'' or
-  ``|o|''. For ``|u|'', the point is considered to be undefined and
-  |\pgfplotstreampointundefined| is called. For ``|o|'', the point is
-  considered to be an outlier and |\pgfplotstreampointoutlier| is
-  called. Otherwise, each pair \meta{x} and \meta{y} of numbers is
-  converted into one  plot stream point in the xy-coordinate
-  system. Thus, a line like 
+    This command will try to open the file \meta{filename}. If this succeeds,
+    it will convert the file contents into a plot stream as follows: A
+    |\pgfplotstreamstart| is issued. Then, for each empty line a
+    |\pgfplotstreamnewdataset| is produced. Other lines in the file should
+    start with two numbers separated by a space, such as |0.1 1| or |100 -.3|.
+    The numbers may be followed by some text, which will be ignore
+    \emph{except} if it is exactly ``|u|'' or ``|o|''. For ``|u|'' the point
+    is considered to be undefined and |\pgfplotstreampointundefined| is called.
+    For ``|o|'' the point is considered to be an outlier and
+    |\pgfplotstreampointoutlier| is called. Otherwise, each pair \meta{x} and
+    \meta{y} of numbers is converted into one plot stream point in the
+    $xy$-coordinate system. Thus, a line like
+    %
 \begin{codeexample}[code only, tikz syntax=false]
-0 Nan u  
+0 Nan u
 1 1 some text
 2 4
 3 9
@@ -236,7 +225,9 @@
 4 16 o
 5 25 oo
 \end{codeexample}
-  is turned into
+    %
+    is turned into
+    %
 \begin{codeexample}[code only]
 \pgfplotstreamstart
 \pgfplotstreampointundefined
@@ -248,22 +239,22 @@
 \pgfplotstreampoint{\pgfpointxy{5}{25}}
 \pgfplotstreamend
 \end{codeexample}
-  (Note that the last line is not an outlier because |oo| is not the
-  same as |o|).
+    %
+    (Note that the last line is not an outlier because |oo| is not the same as
+    |o|).
 
-  The two characters |%| and |#| are also allowed in a file and they
-  are both treated as comment characters. Thus, a line starting with
-  either of them is treated as empty.
+    The two characters |%| and |#| are also allowed in a file and they are both
+    treated as comment characters. Thus, a line starting with either of them is
+    treated as empty.
 
-  When the file has been read completely, |\pgfplotstreamend| is
-  called.
+    When the file has been read completely, |\pgfplotstreamend| is called.
 \end{command}
 
-
 \begin{command}{\pgfplotxyzfile\marg{filename}}
-  This command works like |\pgfplotxyfile|, only \emph{three} numbers
-  are expected on each non-empty line. They are converted into points
-  in the xyz-coordinate system. Consider, the following file:
+    This command works like |\pgfplotxyfile|, only \emph{three} numbers are
+    expected on each non-empty line. They are converted into points in the
+    $xyz$-coordinate system. Consider, the following file:
+    %
 \begin{codeexample}[code only, tikz syntax=false]
 % Some comments
 # more comments
@@ -271,7 +262,9 @@
 2 -.2 2 o
 2 -5  2 third entry
 \end{codeexample}
-  It is turned into the following stream:
+    %
+    It is turned into the following stream:
+    %
 \begin{codeexample}[code only]
 \pgfplotstreamstart
 \pgfplotstreamnewdataset
@@ -281,22 +274,20 @@
 \pgfplotstreampoint{\pgfpointxyz{2}{-5}{2}}
 \pgfplotstreamend
 \end{codeexample}
+    %
 \end{command}
 
-Currently, there is no command that can decide automatically whether
-the xy-coordinate system should be used or whether the xyz-system
-should be used. However, it would not be terribly difficult to write a
-``smart file reader'' that parses coordinate files a bit more
-intelligently.
+Currently, there is no command that can decide automatically whether the
+$xy$-coordinate system should be used or whether the $xyz$-system should be
+used. However, it would not be terribly difficult to write a ``smart file
+reader'' that parses coordinate files a bit more intelligently.
 
-
 \begin{command}{\pgfplotfunction\marg{variable}\marg{sample list}\marg{point}}
-  This command will produce coordinates by iterating the
-  \meta{variable} over all values in \meta{sample list}, which should
-  be a list in the |\foreach| syntax. For each value of
-  \meta{variable}, the \meta{point} is evaluated and the resulting
-  coordinate is inserted into the plot stream.
-
+    This command will produce coordinates by iterating the \meta{variable} over
+    all values in \meta{sample list}, which should be a list in the |\foreach|
+    syntax. For each value of \meta{variable}, the \meta{point} is evaluated
+    and the resulting coordinate is inserted into the plot stream.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}[x=3.8cm/360]
   \pgfplothandlerlineto
@@ -313,40 +304,38 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  Be warned that if the expressions that need to evaluated for each
-  point are complex, then this command can be very slow.
+    Be warned that if the expressions that need to evaluated for each point are
+    complex, then this command can be very slow.
 \end{command}
 
-
-
 \begin{command}{\pgfplotgnuplot\oarg{prefix}\marg{function}}
-  This command will ``try'' to call the \textsc{gnuplot} program to
-  generate the coordinates of the \meta{function}. In detail, the
-  following happens:
+    This command will ``try'' to call the \textsc{gnuplot} program to generate
+    the coordinates of the \meta{function}. In detail, the following happens:
 
-  This command works with two files: \meta{prefix}|.gnuplot| and
-  \meta{prefix}|.table|.  If the optional argument \meta{prefix} is
-  not given, it is set to |\jobname|.
+    This command works with two files: \meta{prefix}|.gnuplot| and
+    \meta{prefix}|.table|.  If the optional argument \meta{prefix} is not
+    given, it is set to |\jobname|.
 
-  Let us start with the situation where none of these files
-  exists. Then \pgfname\ will first generate the file
-  \meta{prefix}|.gnuplot|. In this file it writes
+    Let us start with the situation where none of these files exists. Then
+    \pgfname\ will first generate the file \meta{prefix}|.gnuplot|. In this
+    file it writes
+    %
 \begin{codeexample}[code only, tikz syntax=false]
 set terminal table; set output "#1.table"; set format "%.5f"
 \end{codeexample}
-  where |#1| is replaced by \meta{prefix}. Then, in a second line, it
-  writes the text \meta{function}.
+    %
+    where |#1| is replaced by \meta{prefix}. Then, in a second line, it writes
+    the text \meta{function}.
 
-  Next, \pgfname\ will try to invoke the program |gnuplot| with the
-  argument \meta{prefix}|.gnuplot|. This call may or may not succeed,
-  depending on whether the |\write18| mechanism (also known as
-  shell escape) is switched on and whether the |gnuplot| program is
-  available.
+    Next, \pgfname\ will try to invoke the program |gnuplot| with the argument
+    \meta{prefix}|.gnuplot|. This call may or may not succeed, depending on
+    whether the |\write18| mechanism (also known as shell escape) is switched
+    on and whether the |gnuplot| program is available.
 
-  Assuming that the call succeeded, the next step is to invoke
-  |\pgfplotxyfile| on the file \meta{prefix}|.table|; which is exactly
-  the file that has just been created by |gnuplot|.
-
+    Assuming that the call succeeded, the next step is to invoke
+    |\pgfplotxyfile| on the file \meta{prefix}|.table|; which is exactly the
+    file that has just been created by |gnuplot|.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,-1) grid (4,1);
@@ -356,59 +345,53 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The more difficult situation arises when the |.gnuplot| file exists,
-  which will be the case on the second run of \TeX\ on the \TeX\
-  file. In this case \pgfname\ will read this file and check whether
-  it contains exactly what \pgfname\ ``would have written'' into
-  this file. If this is not the case, the file contents is overwritten
-  with what ``should be there'' and, as above, |gnuplot| is invoked to
-  generate a new |.table| file. However, if the file contents is ``as
-  expected,'' the external |gnuplot| program is \emph{not}
-  called. Instead, the \meta{prefix}|.table| file is immediately
-  read.
+    The more difficult situation arises when the |.gnuplot| file exists, which
+    will be the case on the second run of \TeX\ on the \TeX\ file. In this case
+    \pgfname\ will read this file and check whether it contains exactly what
+    \pgfname\ ``would have written'' into this file. If this is not the case,
+    the file contents is overwritten with what ``should be there'' and, as
+    above, |gnuplot| is invoked to generate a new |.table| file. However, if
+    the file contents is ``as expected'', the external |gnuplot| program is
+    \emph{not} called. Instead, the \meta{prefix}|.table| file is immediately
+    read.
 
-  As explained in Section~\ref{section-tikz-gnuplot}, the net effect
-  of the above mechanism is that |gnuplot| is called as seldom as
-  possible and that when you pass along the |.gnuplot| and |.table|
-  files with your |.tex| file to someone else, that person can
-  \TeX\ the |.tex| file without having |gnuplot| installed and without
-  having the |\write18| mechanism switched on.
+    As explained in Section~\ref{section-tikz-gnuplot}, the net effect of the
+    above mechanism is that |gnuplot| is called as seldom as possible and that
+    when you pass along the |.gnuplot| and |.table| files with your |.tex| file
+    to someone else, that person can \TeX\ the |.tex| file without having
+    |gnuplot| installed and without having the |\write18| mechanism switched
+    on.
 
-  \begin{key}{/pgf/plot/gnuplot call=\meta{gnuplot invocation} (initially gnuplot)}
-    This key can be used to change the way gnuplot is called.
+    \begin{key}{/pgf/plot/gnuplot call=\meta{gnuplot invocation} (initially gnuplot)}
+        This key can be used to change the way gnuplot is called.
 
-    Some portable Mik\TeX{} distribution needs something like the
-    following.
-
+        Some portable MiK\TeX{} distribution needs something like the
+        following.
+        %
 \begin{codeexample}[code only]
   \pgfkeys{/pgf/plot/gnuplot call="/Programs/gnuplot/binary/gnuplot"}
 \end{codeexample}
-
-  \end{key}
+    \end{key}
 \end{command}
 
 
-
 \subsection{Plot Handlers}
-
 \label{section-plot-handlers}
 
-A \emph{plot handler}  determines what ``should be done'' with a
-plot stream. You must set the plot handler before the stream starts.
-The following commands install the most basic plot handlers; more plot
-handlers are defined in the file |pgflibraryplothandlers|, which is
-documented in Section~\ref{section-library-plothandlers}.
+A \emph{plot handler}  determines what ``should be done'' with a plot stream.
+You must set the plot handler before the stream starts. The following commands
+install the most basic plot handlers; more plot handlers are defined in the
+file |pgflibraryplothandlers|, which is documented in
+Section~\ref{section-library-plothandlers}.
 
-All plot handlers work by setting or redefining the following three
-macros: |\pgf at plotstreamstart|, |\pgf at plotstreampoint|, and
-|\pgf at plotstreamend|.
+All plot handlers work by setting or redefining the following three macros:
+|\pgf at plotstreamstart|, |\pgf at plotstreampoint|, and |\pgf at plotstreamend|.
 
 \begin{command}{\pgfplothandlerlineto}
-  This handler will issue a |\pgfpathlineto| command for each point of
-  the plot, \emph{except} possibly for the first. What happens with
-  the first point can be specified using the two commands described
-  below.
-
+    This handler will issue a |\pgfpathlineto| command for each point of the
+    plot, \emph{except} possibly for the first. What happens with the first
+    point can be specified using the two commands described below.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -422,20 +405,20 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetmovetofirstplotpoint}
-  Specifies that the line-to plot handler (and also some other plot
-  handlers) should issue a move-to command for the
-  first point of the plot instead of a line-to. This will start a new
-  part of the current path, which is not always, but often,
-  desirable. This is the default.
+    Specifies that the line-to plot handler (and also some other plot handlers)
+    should issue a move-to command for the first point of the plot instead of a
+    line-to. This will start a new part of the current path, which is not
+    always, but often, desirable. This is the default.
 \end{command}
 
 \begin{command}{\pgfsetlinetofirstplotpoint}
-  Specifies that  plot handlers should issue a line-to command for the
-  first point of the plot.
-
+    Specifies that  plot handlers should issue a line-to command for the first
+    point of the plot.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpointorigin}
@@ -450,25 +433,25 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfplothandlerpolygon}
-  This handler works like the line-to plot handler, only the line is
-  closed at the end using |\pgfpathclose|, resulting in a polygon.
+    This handler works like the line-to plot handler, only the line is closed
+    at the end using |\pgfpathclose|, resulting in a polygon.
 \end{command}
 
 \begin{command}{\pgfplothandlerdiscard}
-  This handler will simply throw away the stream.
+    This handler will simply throw away the stream.
 \end{command}
 
 \begin{command}{\pgfplothandlerrecord\marg{macro}}
-  When this handler is installed, each time a plot stream command is
-  called, this command will be appended to \meta{macro}. Thus, at
-  the end of the stream, \meta{macro} will contain all the
-  commands that were issued on the stream. You can then install
-  another handler and invoke \meta{macro} to ``replay'' the stream
-  (possibly many times).
-
+    When this handler is installed, each time a plot stream command is called,
+    this command will be appended to \meta{macro}. Thus, at the end of the
+    stream, \meta{macro} will contain all the commands that were issued on the
+    stream. You can then install another handler and invoke \meta{macro} to
+    ``replay'' the stream (possibly many times).
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfplothandlerrecord{\mystream}
@@ -485,19 +468,20 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsection{Defining New Plot Handlers}
 
 You can define new plot handlers using the following command:
 
 \begin{command}{\pgfdeclareplothandler\marg{macro}\marg{arguments}\marg{configuration}}
-  This command creates a new plot handler that can subsequently be
-  called using the macro \meta{macro}. This macro take the arguments
-  given in \meta{arguments}, which can be a list like |#1#2| if
-  \meta{macro} should be invoked with two arguments. Here is a typical example:
+    This command creates a new plot handler that can subsequently be called
+    using the macro \meta{macro}. This macro take the arguments given in
+    \meta{arguments}, which can be a list like |#1#2| if \meta{macro} should be
+    invoked with two arguments. Here is a typical example:
+    %
 \begin{codeexample}[code only]
 \pgfdeclareplothandler{\myhandler}{#1}{...}
 ...
@@ -507,14 +491,15 @@
 \pgfplotstreamend
 \end{codeexample}
 
-  The \meta{configuration} is used to define the behaviour of the
-  handler. It is a list of key--value pairs, where the following keys
-  are allowed:
-  \begin{itemize}
-  \item |start=|\meta{code}. The \meta{code} will be executed whenever
-    |\pgfplotstreamstart| is used while the handler \meta{macro} is
-    selected. Inside the \meta{code}, you can use |#1|, |#2|, and so
-    on to refer to the parameters that were given to \meta{macro}:
+    The \meta{configuration} is used to define the behaviour of the handler. It
+    is a list of key--value pairs, where the following keys are allowed:
+    %
+    \begin{itemize}
+        \item |start=|\meta{code}. The \meta{code} will be executed whenever
+            |\pgfplotstreamstart| is used while the handler \meta{macro} is
+            selected. Inside the \meta{code}, you can use |#1|, |#2|, and so on
+            to refer to the parameters that were given to \meta{macro}:
+            %
 \begin{codeexample}[width=6cm]
 \pgfdeclareplothandler{\myhandler}{#1}{
   start = Hi #1.,
@@ -521,19 +506,21 @@
   end   = Bye #1.,
 }
 \myhandler{foo}
-\pgfplotstreamstart 
+\pgfplotstreamstart
 \pgfplotstreamend
 \myhandler{bar}
-\pgfplotstreamstart 
+\pgfplotstreamstart
 \pgfplotstreamend
 \end{codeexample}
-  \item |end=|\meta{code} Works just like |start|.
-  \item |point=|\meta{code}. The \meta{code} will be executed whenever
-    |\pgfplotstreampoint| is used while the handler \meta{macro} is in
-    force. Inside the \meta{code}, you can use |#1|, |#2|, and so on
-    to refer to the arguments give to \meta{macro}, while you can use
-    |##1| to refer to the argument given to |\pgfplotstreampoint|
-    itself (this will be the coordinate).
+            %
+        \item |end=|\meta{code} Works just like |start|.
+        \item |point=|\meta{code}. The \meta{code} will be executed whenever
+            |\pgfplotstreampoint| is used while the handler \meta{macro} is in
+            force. Inside the \meta{code}, you can use |#1|, |#2|, and so on to
+            refer to the arguments give to \meta{macro}, while you can use
+            |##1| to refer to the argument given to |\pgfplotstreampoint|
+            itself (this will be the coordinate).
+            %
 \begin{codeexample}[]
 \pgfdeclareplothandler{\myhandler}{#1}{
   point=\pgfpathcircle{##1}{#1} % ##1 is the coordinate,
@@ -556,40 +543,42 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
-    The \meta{code} will also be called for
-    |\pgfplotstreampointoutlier| when this command has been configured
-    to |plot| the outliers.
-  \item |jump=|\meta{code} The \meta{code} will be called whenever a
-    jump has been requested indirectly via an outlier point, and
-    undefined point, or a new data set (for each of which the command
-    needs to be configured to |jump|). As always, inside the
-    \meta{code} you can access |#1| and so on.
-  \item |special=|\meta{code} Causes \meta{code} to be executed
-    whenever |\pgfplotstreamspecial|\marg{something} is used. Inside
-    the \meta{code}, you can access \meta{something} via |##1| and the
-    parameters of \meta{macro} as |#1|, |#2|, and so on.
-  \end{itemize}
-  
-  In addition to the above keys, there exist also ``code macro
-  versions'' of them:
-  \begin{itemize}
-  \item |point macro=|\meta{some macro}. Causes |\pgfplotstreampoint|
-    to call \meta{some macro} directly (actually,
-    |\pgf at plotstreampoint| is set to be equal to \meta{some
-      macro}). Inside the \meta{some macro} you can use |#1| to access
-    the coordinate passed to |\pgfplotstreampoint| and you can no
-    longer access the parameters passed to the original call to
-    \meta{macro} that installed the handler. So, \meta{some macro}
-    must take exactly one argument, namely |#1|.
-  \item |special macro=|\meta{some macro}. As |point macro|, only for
-    specials.
-  \item |start macro=|\meta{some macro}. Causes \meta{some macro} to
-    be executed at the start. This macro, like the below ones, may not
-    take any parameters and will not have access to the parameters
-    passed to the original \meta{macro}.
-  \item |end macro=|\meta{some macro}. As above.
-  \item |jump macro=|\meta{some macro}. As above.
-  \end{itemize}
+            %
+            The \meta{code} will also be called for
+            |\pgfplotstreampointoutlier| when this command has been configured
+            to |plot| the outliers.
+        \item |jump=|\meta{code} The \meta{code} will be called whenever a jump
+            has been requested indirectly via an outlier point, and undefined
+            point, or a new data set (for each of which the command needs to be
+            configured to |jump|). As always, inside the \meta{code} you can
+            access |#1| and so on.
+        \item |special=|\meta{code} Causes \meta{code} to be executed whenever
+            |\pgfplotstreamspecial|\marg{something} is used. Inside the
+            \meta{code}, you can access \meta{something} via |##1| and the
+            parameters of \meta{macro} as |#1|, |#2|, and so on.
+    \end{itemize}
+
+    In addition to the above keys, there exist also ``code macro versions'' of
+    them:
+    %
+    \begin{itemize}
+        \item |point macro=|\meta{some macro}. Causes |\pgfplotstreampoint| to
+            call \meta{some macro} directly (actually, |\pgf at plotstreampoint|
+            is set to be equal to \meta{some macro}). Inside the \meta{some
+            macro} you can use |#1| to access the coordinate passed to
+            |\pgfplotstreampoint| and you can no longer access the parameters
+            passed to the original call to \meta{macro} that installed the
+            handler. So, \meta{some macro} must take exactly one argument,
+            namely |#1|.
+        \item |special macro=|\meta{some macro}. As |point macro|, only for
+            specials.
+        \item |start macro=|\meta{some macro}. Causes \meta{some macro} to be
+            executed at the start. This macro, like the below ones, may not
+            take any parameters and will not have access to the parameters
+            passed to the original \meta{macro}.
+        \item |end macro=|\meta{some macro}. As above.
+        \item |jump macro=|\meta{some macro}. As above.
+    \end{itemize}
 \end{command}
 
 

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,28 +9,24 @@
 
 
 \section{Specifying Coordinates}
-
 \label{section-points}
 
 \subsection{Overview}
 
-Most \pgfname\ commands expect you to provide the coordinates of a
-\emph{point} (also called \emph{coordinate}) inside your
-picture. Points are always ``local'' to your picture, that is, they
-never refer to an absolute position on the page, but to a position
-inside the current |{pgfpicture}| environment. To specify a coordinate
-you can use commands that start with |\pgfpoint|.
+Most \pgfname\ commands expect you to provide the coordinates of a \emph{point}
+(also called \emph{coordinate}) inside your picture. Points are always
+``local'' to your picture, that is, they never refer to an absolute position on
+the page, but to a position inside the current |{pgfpicture}| environment. To
+specify a coordinate you can use commands that start with |\pgfpoint|.
 
 
 \subsection{Basic Coordinate Commands}
 
-The following commands are the most basic  for specifying a
-coordinate.
+The following commands are the most basic  for specifying a coordinate.
 
 \begin{command}{\pgfpoint\marg{x coordinate}\marg{y coordinate}}
-  Yields a point location. The coordinates are given as \TeX\
-  dimensions.
-
+    Yields a point location. The coordinates are given as \TeX\ dimensions.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -40,19 +36,21 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpointorigin}
-  Yields the origin. Same as |\pgfpoint{0pt}{0pt}|.
+    Yields the origin. Same as |\pgfpoint{0pt}{0pt}|.
 \end{command}
 
 \begin{command}{\pgfpointpolar\marg{degree}{\ttfamily\char`\{}\meta{radius}\opt{|/|\meta{y-radius}}{\ttfamily\char`\}}}
-  Yields a point location given in polar coordinates. You can specify
-  the angle only in degrees, radians are not supported, currently.
+    Yields a point location given in polar coordinates. You can specify the
+    angle only in degrees, radians are not supported, currently.
 
-  If the optional \meta{y-radius} is given, the polar coordinate is
-  actually a coordinate on an ellipse whose $x$-radius is given by
-  \meta{radius} and whose $y$-radius is given by \meta{y-radius}.
+    If the optional \meta{y-radius} is given, the polar coordinate is actually
+    a coordinate on an ellipse whose $x$-radius is given by \meta{radius} and
+    whose $y$-radius is given by \meta{y-radius}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -62,6 +60,7 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -71,23 +70,23 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsection{Coordinates in the XY-Coordinate System}
 
 Coordinates can also be specified as multiples of an $x$-vector and a
-$y$-vector. Normally, the $x$-vector points one centimeter in the
-$x$-direction and the $y$-vector points one centimeter in the
-$y$-direction, but using the commands |\pgfsetxvec| and
-|\pgfsetyvec| they can be changed. Note that the $x$- and
-$y$-vector do not necessarily point ``horizontally'' and
-``vertically.''
+$y$-vector. Normally, the $x$-vector points one centimeter in the $x$-direction
+and the $y$-vector points one centimeter in the $y$-direction, but using the
+commands |\pgfsetxvec| and |\pgfsetyvec| they can be changed. Note that the
+$x$- and $y$-vector do not necessarily point ``horizontally'' and
+``vertically''.
 
 \begin{command}{\pgfpointxy\marg{$s_x$}\marg{$s_y$}}
-  Yields a point that is situated at $s_x$ times the
-  $x$-vector plus $s_y$ times the $y$-vector.
+    Yields a point that is situated at $s_x$ times the $x$-vector plus $s_y$
+    times the $y$-vector.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -96,13 +95,13 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfsetxvec\marg{point}}
-  Sets that current $x$-vector for usage in the $xyz$-coordinate
-  system.
-  \example
+    Sets that current $x$-vector for usage in the $xyz$-coordinate system.
+    \example
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -118,23 +117,22 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetyvec\marg{point}}
-  Works like |\pgfsetxvec|.
+    Works like |\pgfsetxvec|.
 \end{command}
 
-
-
 \begin{command}{\pgfpointpolarxy\marg{degree}{\ttfamily\char`\{}\meta{radius}\opt{|/|\meta{y-radius}}{\ttfamily\char`\}}}
-  This command is similar to the |\pgfpointpolar| command, but the
-  \meta{radius} is now a factor to be interpreted in the
-  $xy$-coordinate system. This means that a degree of |0| is the same
-  as the $x$-vector of the $xy$-coordinate  system times \meta{radius}
-  and a degree of |90| is the $y$-vector times \meta{radius}. As for
-  |\pgfpointpolar|, a \meta{radius} can also be a pair separated by a
-  slash. In this case, the $x$- and $y$-vectors are multiplied by
-  different factors.
+    This command is similar to the |\pgfpointpolar| command, but the
+    \meta{radius} is now a factor to be interpreted in the $xy$-coordinate
+    system. This means that a degree of |0| is the same as the $x$-vector of
+    the $xy$-coordinate  system times \meta{radius} and a degree of |90| is the
+    $y$-vector times \meta{radius}. As for |\pgfpointpolar|, a \meta{radius}
+    can also be a pair separated by a slash. In this case, the $x$- and
+    $y$-vectors are multiplied by different factors.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -146,20 +144,20 @@
   \end{scope}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsection{Three Dimensional Coordinates}
 
-It is also possible to specify a point as a multiple of three vectors,
-the $x$-, $y$-, and $z$-vector. This is useful for creating simple
-three dimensional graphics.
+It is also possible to specify a point as a multiple of three vectors, the
+$x$-, $y$-, and $z$-vector. This is useful for creating simple three
+dimensional graphics.
 
 \begin{command}{\pgfpointxyz\marg{$s_x$}\marg{$s_y$}\marg{$s_z$}}
-  Yields a point that is situated at $s_x$ times the
-  $x$-vector plus $s_y$ times the $y$-vector plus  $s_z$ times the
-  $z$-vector.
+    Yields a point that is situated at $s_x$ times the $x$-vector plus $s_y$
+    times the $y$-vector plus  $s_z$ times the $z$-vector.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetarrowsend{to}
@@ -175,21 +173,23 @@
   \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetzvec\marg{point}}
-  Works like |\pgfsetxvec|.
+    Works like |\pgfsetxvec|.
 \end{command}
 
-Inside the $xyz$-coordinate system, you can also specify points
-using spherical and cylindrical coordinates.
+Inside the $xyz$-coordinate system, you can also specify points using spherical
+and cylindrical coordinates.
 
-
 \begin{command}{\pgfpointcylindrical\marg{degree}\marg{radius}\marg{height}}
-  This command yields the same as
+    This command yields the same as
+    %
 \begin{verbatim}
 \pgfpointadd{\pgfpointpolarxy{degree}{radius}}{\pgfpointxyz{0}{0}{height}}
 \end{verbatim}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [->] (0,0) -- (1,0,0) node [right] {$x$};
@@ -202,13 +202,14 @@
   \draw[red] (0,0) -- (0,0,.5) -- +(80:1);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpointspherical\marg{longitude}\marg{latitude}\marg{radius}}
-  This command yields a point ``on the surface of the earth''
-  specified by the \meta{longitude} and the \meta{latitude}. The
-  radius of the earth is given by \meta{radius}. The equator lies in
-  the $xy$-plane.
+    This command yields a point ``on the surface of the earth'' specified by
+    the \meta{longitude} and the \meta{latitude}. The radius of the earth is
+    given by \meta{radius}. The equator lies in the $xy$-plane.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \pgfsetfillcolor{lightgray}
@@ -227,10 +228,10 @@
   }
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsection{Building Coordinates From Other Coordinates}
 
 Many commands allow you to construct a coordinate in terms of other
@@ -240,7 +241,8 @@
 \subsubsection{Basic Manipulations of Coordinates}
 
 \begin{command}{\pgfpointadd\marg{$v_1$}\marg{$v_2$}}
-  Returns the sum vector $\meta{$v_1$} + \meta{$v_2$}$.
+    Returns the sum vector $\meta{$v_1$} + \meta{$v_2$}$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -248,10 +250,12 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpointscale\marg{factor}\marg{coordinate}}
-  Returns the vector $\meta{factor}\meta{coordinate}$.
+    Returns the vector $\meta{factor}\meta{coordinate}$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -259,10 +263,12 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpointdiff\marg{start}\marg{end}}
-  Returns the difference vector $\meta{end} - \meta{start}$.
+    Returns the difference vector $\meta{end} - \meta{start}$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -270,23 +276,23 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfpointnormalised\marg{point}}
-  This command returns a normalised version of \meta{point}, that is,
-  a vector of length 1pt pointing in the direction of \meta{point}. If
-  \meta{point} is the $0$-vector or extremely short, a vector of
-  length 1pt pointing upwards is returned.
+    This command returns a normalised version of \meta{point}, that is, a
+    vector of length 1pt pointing in the direction of \meta{point}. If
+    \meta{point} is the $0$-vector or extremely short, a vector of length 1pt
+    pointing upwards is returned.
 
-  This command is \emph{not} implemented by calculating the length of
-  the vector, but rather by calculating the angle of the vector and
-  then using (something equivalent to) the |\pgfpointpolar|
-  command. This ensures that the point will really have length 1pt,
-  but it is not guaranteed that the vector will \emph{precisely} point
-  in the direction of \meta{point} due to the fact that the polar
-  tables are accurate only up to one degree. Normally, this is not a
-  problem.
+    This command is \emph{not} implemented by calculating the length of the
+    vector, but rather by calculating the angle of the vector and then using
+    (something equivalent to) the |\pgfpointpolar| command. This ensures that
+    the point will really have length 1pt, but it is not guaranteed that the
+    vector will \emph{precisely} point in the direction of \meta{point} due to
+    the fact that the polar tables are accurate only up to one degree.
+    Normally, this is not a problem.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -296,32 +302,27 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
 \subsubsection{Points Traveling along Lines and Curves}
-
 \label{section-pointsattime}
 
-The commands in this section allow you to specify points on a line or
-a curve. Imagine a point ``traveling'' along a curve from some point
-$p$ to another point $q$. At time $t=0$ the point is at $p$ and at
-time $t=1$ it is at $q$ and at time, say, $t=1/2$ it is ``somewhere in
-the middle.'' The exact location at time $t=1/2$ will not necessarily
-be the ``halfway point,'' that is, the point whose distance on the
-curve from $p$ and $q$ is equal. Rather, the exact location will
-depend on the ``speed'' at which the point is traveling, which in
-turn depends on the lengths of the support vectors in a complicated
-manner. If you are interested in the details, please see a good book
-on B\'ezier curves.
+The commands in this section allow you to specify points on a line or a curve.
+Imagine a point ``traveling'' along a curve from some point $p$ to another
+point $q$. At time $t=0$ the point is at $p$ and at time $t=1$ it is at $q$ and
+at time, say, $t=1/2$ it is ``somewhere in the middle''. The exact location at
+time $t=1/2$ will not necessarily be the ``halfway point'', that is, the point
+whose distance on the curve from $p$ and $q$ is equal. Rather, the exact
+location will depend on the ``speed'' at which the point is traveling, which in
+turn depends on the lengths of the support vectors in a complicated manner. If
+you are interested in the details, please see a good book on Bézier curves.
 
-
-
 \begin{command}{\pgfpointlineattime\marg{time $t$}\marg{point $p$}\marg{point $q$}}
-  Yields a point that is the $t$th fraction between $p$
-  and~$q$, that is, $p + t(q-p)$. For $t=1/2$ this is the middle of
-  $p$ and $q$.
-
+    Yields a point that is the $t$th fraction between $p$ and~$q$, that is, $p
+    + t(q-p)$. For $t=1/2$ this is the middle of $p$ and $q$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -333,14 +334,17 @@
       \pgfpointlineattime{\t}{\pgfpointorigin}{\pgfpoint{2cm}{2cm}}]{\t}}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpointlineatdistance\marg{distance}\marg{start point}\marg{end point}}
-  Yields a point that is located \meta{distance} many units away
-  from the start point in the direction of the end point. In other
-  words, this is the point that results if we travel \meta{distance}
-  steps from \meta{start point} towards \meta{end point}.
-  \example
+    Yields a point that is located \meta{distance} many units away from the
+    start point in the direction of the end point. In other words, this is the
+    point that results if we travel \meta{distance} steps from \meta{start
+    point} towards \meta{end point}.
+    %
+    \example
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -352,17 +356,16 @@
       \pgfpointlineatdistance{\d}{\pgfpointorigin}{\pgfpoint{3cm}{2cm}}]{\d}}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-\begin{command}{\pgfpointarcaxesattime\marg{time
-      $t$}\marg{center}\marg{0-degree axis}\marg{90-degree
-      axis}\marg{start angle}\\\marg{end angle}}
-  Yields a point on the arc between \meta{start angle} and \meta{end
-    angle} on an ellipse whose center is at \meta{center} and whose
-  two principal axes are \meta{0-degree axis} and \meta{90-degree
-    axis}. For $t=0$ the point at the \meta{start angle} is returned
-  and for $t=1$ the point at the \meta{end angle}.
-
+\begin{command}{\pgfpointarcaxesattime\marg{time $t$}\marg{center}\marg{0-degree axis}\marg{90-degree axis}\marg{start angle}\\\marg{end angle}}
+    Yields a point on the arc between \meta{start angle} and \meta{end angle}
+    on an ellipse whose center is at \meta{center} and whose two principal axes
+    are \meta{0-degree axis} and \meta{90-degree axis}. For $t=0$ the point at
+    the \meta{start angle} is returned and for $t=1$ the point at the \meta{end
+    angle}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -374,14 +377,14 @@
        {\pgfpoint{2cm}{0cm}}{\pgfpoint{0cm}{1cm}}{0}{60}]{\t}}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-\begin{command}{\pgfpointcurveattime\marg{time $t$}\marg{point
-      $p$}\marg{point $s_1$}\marg{point $s_2$}\marg{point $q$}}
-  Yields a point that is on the B\'ezier curve from $p$ to $q$ with the
-  support points $s_1$ and $s_2$. The time $t$ is used to determine
-  the location, where $t=0$ yields $p$ and $t=1$ yields $q$.
-
+\begin{command}{\pgfpointcurveattime\marg{time $t$}\marg{point $p$}\marg{point $s_1$}\marg{point $s_2$}\marg{point $q$}}
+    Yields a point that is on the Bézier curve from $p$ to $q$ with the support
+    points $s_1$ and $s_2$. The time $t$ is used to determine the location,
+    where $t=0$ yields $p$ and $t=1$ yields $q$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -396,24 +399,26 @@
                                          {\pgfpoint{3cm}{2cm}}]{\t}}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
+
 \subsubsection{Points on Borders of Objects}
 
-The following commands are useful for specifying a point that lies on
-the border of special shapes. They are used, for example, by the shape
-mechanism to determine border points of shapes.
+The following commands are useful for specifying a point that lies on the
+border of special shapes. They are used, for example, by the shape mechanism to
+determine border points of shapes.
 
 \begin{command}{\pgfpointborderrectangle\marg{direction point}\marg{corner}}
-  This command returns a point that lies on the intersection of a line
-  starting at the origin and going towards the point \meta{direction
-    point} and a rectangle whose center is in the origin and whose
-  upper right corner is at \meta{corner}.
+    This command returns a point that lies on the intersection of a line
+    starting at the origin and going towards the point \meta{direction point}
+    and a rectangle whose center is in the origin and whose upper right corner
+    is at \meta{corner}.
 
-  The \meta{direction point} should have length ``about 1pt,'' but it
-  will be normalized automatically. Nevertheless, the ``nearer'' the
-  length is to 1pt, the less rounding errors.
-
+    The \meta{direction point} should have length ``about 1pt'', but it will be
+    normalized automatically. Nevertheless, the ``nearer'' the length is to
+    1pt, the less rounding errors.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (2,1.5);
@@ -431,14 +436,14 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfpointborderellipse\marg{direction point}\marg{corner}}
-  This command works like the corresponding command for rectangles,
-  only this time the \meta{corner} is the corner of the bounding
-  rectangle of an ellipse.
-
+    This command works like the corresponding command for rectangles, only this
+    time the \meta{corner} is the corner of the bounding rectangle of an
+    ellipse.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (2,1.5);
@@ -456,17 +461,17 @@
   \pgfusepath{fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
 \subsubsection{Points on the Intersection of Lines}
 
-
 \begin{command}{\pgfpointintersectionoflines\marg{$p$}\marg{$q$}\marg{$s$}\marg{$t$}}
-  This command returns the intersection of a line going through $p$
-  and $q$ and a line going through $s$ and $t$. If the lines do not
-  intersection, an arithmetic overflow will occur.
-
+    This command returns the intersection of a line going through $p$ and $q$
+    and a line going through $s$ and $t$. If the lines do not intersection, an
+    arithmetic overflow will occur.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (2,2);
@@ -480,18 +485,17 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
 \subsubsection{Points on the Intersection of Two Circles}
 
-
 \begin{command}{\pgfpointintersectionofcircles\marg{$p_1$}\marg{$p_2$}\marg{$r_1$}\marg{$r_2$}\marg{solution}}
-  This command returns the intersection of the two circles centered at
-  $p_1$ and $p_2$ with radii $r_1$ and $r_2$. If \meta{solution} is
-  |1|, the first intersection is returned, otherwise the second one is
-  returned.
-
+    This command returns the intersection of the two circles centered at $p_1$
+    and $p_2$ with radii $r_1$ and $r_2$. If \meta{solution} is |1|, the first
+    intersection is returned, otherwise the second one is returned.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (2,2);
@@ -505,32 +509,31 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
+
 \subsubsection{Points on the Intersection of Two Paths}
 
-
 \begin{pgflibrary}{intersections}
-  This library defines the below command and allows you to calculate
-  the intersections of  two arbitrary paths. However, due to the low accuracy of
-  \TeX, the paths should not be ``too complicated''.
-  In particular, you should not try to intersect paths consisting of
-  lots of very small segments such as plots or decorated paths.
+    This library defines the below command and allows you to calculate the
+    intersections of  two arbitrary paths. However, due to the low accuracy of
+    \TeX, the paths should not be ``too complicated''. In particular, you
+    should not try to intersect paths consisting of lots of very small segments
+    such as plots or decorated paths.
 \end{pgflibrary}
 
 \begin{command}{\pgfintersectionofpaths\marg{path 1}\marg{path 2}}
-  This command finds the intersection points on the paths
-  \meta{path 1} and \meta{path 2}. The number of intersection points
-  (``solutions'') that are found will be stored, and each point
-  can be accessed afterward. The code for \meta{path 1} and
-  \meta{path 2} is executed within a \TeX{} group and so can contain
-  transformations (which will be in addition to any existing
-  transformations). The code should not use the path in any way,
-  unless the path is saved first and restored afterward.
-  \pgfname{} will regard solutions as ``a bit
-  special'', in that the points returned  will be ``absolute'' and
-  unaffected by any further transformations.
-
+    This command finds the intersection points on the paths \meta{path 1} and
+    \meta{path 2}. The number of intersection points (``solutions'') that are
+    found will be stored, and each point can be accessed afterward. The code
+    for \meta{path 1} and \meta{path 2} is executed within a \TeX{} group and
+    so can contain transformations (which will be in addition to any existing
+    transformations). The code should not use the path in any way, unless the
+    path is saved first and restored afterward. \pgfname{} will regard
+    solutions as ``a bit special'', in that the points returned  will be
+    ``absolute'' and unaffected by any further transformations.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
 \pgfintersectionofpaths
@@ -553,38 +556,35 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  \begin{command}{\pgfintersectionsolutions}
-    After using the |\pgfintersectionofpaths| command, this \TeX-macro
-    will indicate the number of solutions found.
-  \end{command}
+    \begin{command}{\pgfintersectionsolutions}
+        After using the |\pgfintersectionofpaths| command, this \TeX-macro will
+        indicate the number of solutions found.
+    \end{command}
 
-  \begin{command}{\pgfpointintersectionsolution\marg{number}}
-    After using the |\pgfintersectionofpaths| command, this command
-    will return the point for solution \meta{number} or the origin
-    if this solution was not found.
-    By default, the intersections are simply returned in the order that
-		the intersection algorithm finds them. Unfortunately, this is not
-		necessarily a ``helpful'' ordering. However the following two
-		commands can be used to order the solutions more helpfully.
-  \end{command}
+    \begin{command}{\pgfpointintersectionsolution\marg{number}}
+        After using the |\pgfintersectionofpaths| command, this command will
+        return the point for solution \meta{number} or the origin if this
+        solution was not found. By default, the intersections are simply
+        returned in the order that the intersection algorithm finds them.
+        Unfortunately, this is not necessarily a ``helpful'' ordering. However
+        the following two commands can be used to order the solutions more
+        helpfully.
+    \end{command}
 
-\let\ifpgfintersectionsortbyfirstpath=\relax
-  \begin{command}{\pgfintersectionsortbyfirstpath}
-    Using this command will mean the solutions will be sorted along
-    \meta{path 1}.
-  \end{command}
+        \let\ifpgfintersectionsortbyfirstpath=\relax
+    \begin{command}{\pgfintersectionsortbyfirstpath}
+        Using this command will mean the solutions will be sorted along
+        \meta{path 1}.
+    \end{command}
 
-\let\ifpgfintersectionsortbysecondpath=\relax
-  \begin{command}{\pgfintersectionsortbysecondpath}
-    Using this command will mean the solutions will be sorted along
-    \meta{path 2}.
-  \end{command}
-
+        \let\ifpgfintersectionsortbysecondpath=\relax
+    \begin{command}{\pgfintersectionsortbysecondpath}
+        Using this command will mean the solutions will be sorted along
+        \meta{path 2}.
+    \end{command}
 \end{command}
 
 
-
-
 \subsection{Extracting Coordinates}
 
 There are two commands that can be used to ``extract'' the $x$- or
@@ -591,53 +591,54 @@
 $y$-coordinate of a coordinate.
 
 \begin{command}{\pgfextractx\marg{dimension}\marg{point}}
-  Sets the \TeX-\meta{dimension} to the $x$-coordinate of the point.
-
+    Sets the \TeX-\meta{dimension} to the $x$-coordinate of the point.
+    %
 \begin{codeexample}[code only]
 \newdimen\mydim
 \pgfextractx{\mydim}{\pgfpoint{2cm}{4pt}}
 %% \mydim is now 2cm
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfextracty\marg{dimension}\marg{point}}
-  Like |\pgfextractx|, except for the $y$-coordinate.
+    Like |\pgfextractx|, except for the $y$-coordinate.
 \end{command}
 
 \begin{command}{\pgfgetlastxy\marg{macro for $x$}\marg{macro for $y$}}
-	Stores the most recently used $(x,y)$ coordinates into two macros.
+    Stores the most recently used $(x,y)$ coordinates into two macros.
+    %
 \begin{codeexample}[]
 \pgfpoint{2cm}{4cm}
 \pgfgetlastxy{\macrox}{\macroy}
 Macro $x$ is `\macrox' and macro $y$ is `\macroy'.
 \end{codeexample}
-	Since $(x,y)$ coordinates are usually assigned globally, it is safe to use this command after path operations.
+    %
+    Since $(x,y)$ coordinates are usually assigned globally, it is safe to use
+    this command after path operations.
 \end{command}
 
 
-
 \subsection{Internals of How Point Commands Work}
-
 \label{section-internal-pointcmds}
 
-As a normal user of \pgfname\ you do not need to read this section. It
-is relevant only if you need to understand how the point commands work
-internally.
+As a normal user of \pgfname\ you do not need to read this section. It is
+relevant only if you need to understand how the point commands work internally.
 
-When a command like |\pgfpoint{1cm}{2pt}| is called, all that happens
-is that the two \TeX-dimension variables |\pgf at x| and |\pgf at y| are set
-to |1cm| and |2pt|, respectively. These variables belong to the set of
-internal \pgfname\ registers, see section~\ref{section-internal-registers}
-for details. A command like |\pgfpathmoveto| that
-takes a coordinate as parameter will just execute this parameter and
-then use the values of |\pgf at x| and |\pgf at y| as the coordinates to
-which it will move the pen on the current path.
+When a command like |\pgfpoint{1cm}{2pt}| is called, all that happens is that
+the two \TeX-dimension variables |\pgf at x| and |\pgf at y| are set to |1cm| and
+|2pt|, respectively. These variables belong to the set of internal \pgfname\
+registers, see section~\ref{section-internal-registers} for details. A command
+like |\pgfpathmoveto| that takes a coordinate as parameter will just execute
+this parameter and then use the values of |\pgf at x| and |\pgf at y| as the
+coordinates to which it will move the pen on the current path.
 
-Since commands like |\pgfpointnormalised| modify other variables
-besides |\pgf at x| and |\pgf at y| during the computation of the final values of
-|\pgf at x| and |\pgf at y|, it is a good idea to enclose a call of a
-command like |\pgfpoint| in a \TeX-scope and then make the changes of
-|\pgf at x| and |\pgf at y| global as in the following example:
+Since commands like |\pgfpointnormalised| modify other variables besides
+|\pgf at x| and |\pgf at y| during the computation of the final values of |\pgf at x|
+and |\pgf at y|, it is a good idea to enclose a call of a command like |\pgfpoint|
+in a \TeX-scope and then make the changes of |\pgf at x| and |\pgf at y| global as in
+the following example:
+    %
 \begin{codeexample}[code only]
 ...
 { % open scope
@@ -652,18 +653,19 @@
 \makeatletter
 Since this situation arises very often, the macro |\pgf at process| can
 be used to perform the above code:
+    %
 \begin{command}{\pgf at process\marg{code}}
-  Executes the \meta{code} in a scope and then makes |\pgf at x| and
-  |\pgf at y| global.
+    Executes the \meta{code} in a scope and then makes |\pgf at x| and |\pgf at y|
+    global.
 \end{command}
 
-Note that this macro is used often internally. For this reason, it is
-not a good idea to keep anything important in the variables |\pgf at x|
-and |\pgf at y| since they will be overwritten and changed
-frequently. Instead, intermediate values can ge stored in the
-\TeX-dimensions |\pgf at xa|, |\pgf at xb|, |\pgf at xc| and their
-|y|-counterparts |\pgf at ya|, |\pgf at yb|, |pgf at yc|. For example, here is
-the code of the command |\pgfpointadd|:
+Note that this macro is used often internally. For this reason, it is not a
+good idea to keep anything important in the variables |\pgf at x| and |\pgf at y|
+since they will be overwritten and changed frequently. Instead, intermediate
+values can ge stored in the \TeX-dimensions |\pgf at xa|, |\pgf at xb|, |\pgf at xc| and
+their |y|-counterparts |\pgf at ya|, |\pgf at yb|, |pgf at yc|. For example, here is the
+code of the command |\pgfpointadd|:
+%
 \begin{codeexample}[code only]
 \def\pgfpointadd#1#2{%
   \pgf at process{#1}%
@@ -675,7 +677,6 @@
 \end{codeexample}
 
 
-
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -10,59 +10,61 @@
 
 \section{Quick Commands}
 
-This section explains the ``quick'' commands of \pgfname. These
-commands are executed more quickly than the normal commands of
-\pgfname, but offer less functionality. You should use these commands
-only if you either have a very large number of commands that need to
-be processed or if you expect your commands to be executed very often.
+This section explains the ``quick'' commands of \pgfname. These commands are
+executed more quickly than the normal commands of \pgfname, but offer less
+functionality. You should use these commands only if you either have a very
+large number of commands that need to be processed or if you expect your
+commands to be executed very often.
 
 
 \subsection{Quick Coordinate Commands}
 
 \begin{command}{\pgfqpoint\marg{x}\marg{y}}
-  This command does the same as |\pgfpoint|, but \meta{x} and \meta{y}
-  must be simple dimensions like |1pt| or |1cm|. Things like |2ex| or
-  |2cm+1pt| are not allowed.
+    This command does the same as |\pgfpoint|, but \meta{x} and \meta{y} must
+    be simple dimensions like |1pt| or |1cm|. Things like |2ex| or |2cm+1pt|
+    are not allowed.
 \end{command}
 
 \begin{command}{\pgfqpointxy\marg{$s_x$}\marg{$s_y$}}
-  This command does the same as |\pgfpointxy|, but \meta{$s_x$} and \meta{$s_y$}
-  must be simple numbers without unit, like |1.234| or |5.0|. Mathematical expressions or units are not allowed.
+    This command does the same as |\pgfpointxy|, but \meta{$s_x$} and
+    \meta{$s_y$} must be simple numbers without unit, like |1.234| or |5.0|.
+    Mathematical expressions or units are not allowed.
 \end{command}
 
 \begin{command}{\pgfqpointxyz\marg{$s_x$}\marg{$s_y$}\marg{$s_z$}}
-  As |\pgfqpointxy|, but for three-dimensional coordinates. Any argument needs to be a number without unit.
+    As |\pgfqpointxy|, but for three-dimensional coordinates. Any argument
+    needs to be a number without unit.
 \end{command}
 
 \begin{command}{\pgfqpointscale\marg{factor}\marg{coordinate}}
-	As |\pgfpointscale|, but \marg{factor} must be a simple number without unit, as for the other ``quick'' commands.
+    As |\pgfpointscale|, but \marg{factor} must be a simple number without
+    unit, as for the other ``quick'' commands.
 \end{command}
 
+
 \subsection{Quick Path Construction Commands}
 
-The difference between the quick and the normal path commands is that
-the quick path commands
+The difference between the quick and the normal path commands is that the quick
+path commands
+%
 \begin{itemize}
-\item
-  do not keep track of the bounding boxes,
-\item
-  do not allow you to arc corners,
-\item
-  do not apply coordinate transformations.
+    \item do not keep track of the bounding boxes,
+    \item do not allow you to arc corners,
+    \item do not apply coordinate transformations.
 \end{itemize}
 
 However, they do use the soft-path subsystem (see
-Section~\ref{section-soft-paths} for details), which allows you to mix
-quick and normal path commands arbitrarily.
+Section~\ref{section-soft-paths} for details), which allows you to mix quick
+and normal path commands arbitrarily.
 
 All quick path construction commands start with |\pgfpathq|.
 
 \begin{command}{\pgfpathqmoveto\marg{x dimension}\marg{y dimension}}
-  Either starts a path or starts a new part of a path at the coordinate
-  $(\meta{x dimension},\meta{y dimension})$. The coordinate is
-  \emph{not} transformed by the current coordinate transformation
-  matrix. However, any low-level transformations apply.
-
+    Either starts a path or starts a new part of a path at the coordinate
+    $(\meta{x dimension},\meta{y dimension})$. The coordinate is \emph{not}
+    transformed by the current coordinate transformation matrix. However, any
+    low-level transformations apply.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -73,17 +75,18 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpathqlineto\marg{x dimension}\marg{y dimension}}
-  The quick version of the line-to operation.
+    The quick version of the line-to operation.
 \end{command}
 
 \begin{command}{\pgfpathqcurveto\marg{$s^1_x$}\marg{$s^1_y$}\marg{$s^2_x$}\marg{$s^2_y$}\marg{$t_x$}\marg{$t_y$}}
-  The quick version of the curve-to operation. The first support point
-  is $(s^1_x,s^1_y)$, the second support point is  $(s^2_x,s^2_y)$,
-  and the target is $(t_x,t_y)$.
- 
+    The quick version of the curve-to operation. The first support point is
+    $(s^1_x,s^1_y)$, the second support point is  $(s^2_x,s^2_y)$, and the
+    target is $(t_x,t_y)$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -92,13 +95,13 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfpathqcircle\marg{radius}}
-  Adds a radius around the origin of the given \meta{radius}. This
-  command is orders of magnitude faster than
-  |\pgfcircle{\pgfpointorigin}{|\meta{radius}|}|. 
- 
+    Adds a radius around the origin of the given \meta{radius}. This command is
+    orders of magnitude faster than |\pgfcircle{\pgfpointorigin}{|\meta{radius}|}|.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (1,1);
@@ -107,33 +110,29 @@
   \pgfusepath{stroke,fill}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsection{Quick Path Usage Commands}
 
-The quick path usage commands perform similar tasks as |\pgfusepath|,
-but they
+The quick path usage commands perform similar tasks as |\pgfusepath|, but they
+%
 \begin{itemize}
-\item
-  do not add arrows,
-\item
-  do not modify the path in any way, in particular,
-\item
-  ends are not shortened,
-\item
-  corners are not replaced by arcs.
+    \item do not add arrows,
+    \item do not modify the path in any way, in particular,
+    \item ends are not shortened,
+    \item corners are not replaced by arcs.
 \end{itemize}
 
-Note that you \emph{have to} use the quick versions in the code of
-arrow tip definitions since, inside these definition, you obviously do
-not want arrows to be drawn.
+Note that you \emph{have to} use the quick versions in the code of arrow tip
+definitions since, inside these definition, you obviously do not want arrows to
+be drawn.
 
 \begin{command}{\pgfusepathqstroke}
-  Strokes the path without further ado. No arrows are drawn, no
-  corners are arced.
-
+    Strokes the path without further ado. No arrows are drawn, no corners are
+    arced.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathqcircle{5pt}
@@ -140,19 +139,20 @@
   \pgfusepathqstroke
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfusepathqfill}
-  Fills the path without further ado.
+    Fills the path without further ado.
 \end{command}
 
 \begin{command}{\pgfusepathqfillstroke}
-  Fills and then strokes the path without further ado.
+    Fills and then strokes the path without further ado.
 \end{command}
 
 \begin{command}{\pgfusepathqclip}
-  Clips all subsequent drawings against the current path. The path is
-  not processed.
+    Clips all subsequent drawings against the current path. The path is not
+    processed.
 \end{command}
 
 
@@ -159,31 +159,30 @@
 \subsection{Quick Text Box Commands}
 
 \begin{command}{\pgfqbox\marg{box number}}
-  This command inserts a \TeX\ box into a |{pgfpicture}| by
-  ``escaping'' to \TeX, inserting the box number \meta{box number} at
-  the origin, and then returning to the typesetting the picture.
+    This command inserts a \TeX\ box into a |{pgfpicture}| by ``escaping'' to
+    \TeX, inserting the box number \meta{box number} at the origin, and then
+    returning to the typesetting the picture.
 \end{command}
 
 \begin{command}{\pgfqboxsynced\marg{box number}}
-  This command works similarly to the |\pgfqbox| command. However,
-  before inserting the text in \meta{box number}, the current
-  coordinate transformation matrix is applied to the current canvas
-  transformation matrix (is it ``synced'' with this matrix, hence the
-  name).
+    This command works similarly to the |\pgfqbox| command. However, before
+    inserting the text in \meta{box number}, the current coordinate
+    transformation matrix is applied to the current canvas transformation
+    matrix (is it ``synced'' with this matrix, hence the name).
 
-  Thus, this command basically has the same effect as if you first
-  called |\pgflowlevelsynccm| followed by |\pgfqbox|. However, this
-  command will use |\hskip| and |\raise| commands for the
-  ``translational part'' of the coordinate transformation matrix,
-  instead of adding the translational part to the current
-  canvas transformation matrix directly. Both methods have the same
-  effect (box \meta{box number} is translated to where it should be), but
-  the method used by |\pgfqboxsynced| ensures that hyperlinks are
-  placed correctly. Note that scaling and rotation will not (cannot,
-  even) apply to hyperlinks.
+    Thus, this command basically has the same effect as if you first called
+    |\pgflowlevelsynccm| followed by |\pgfqbox|. However, this command will use
+    |\hskip| and |\raise| commands for the ``translational part'' of the
+    coordinate transformation matrix, instead of adding the translational part
+    to the current canvas transformation matrix directly. Both methods have the
+    same effect (box \meta{box number} is translated to where it should be),
+    but the method used by |\pgfqboxsynced| ensures that hyperlinks are placed
+    correctly. Note that scaling and rotation will not (cannot, even) apply to
+    hyperlinks.
 \end{command}
 
-%%% Local Variables: 
+
+%%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"
-%%% End: 
+%%% End:

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,296 +9,266 @@
 
 
 \section[Hierarchical Structures: Package, Environments, Scopes, and Text]
-{Hierarchical Structures:\\
-  Package, Environments, Scopes, and Text}
+        {Hierarchical Structures:\\
+         Package, Environments, Scopes, and Text}
 
-
 \subsection{Overview}
 
-\pgfname\ uses two kinds of hierarchical structuring: First, the
-package itself is structured hierarchically, consisting of different
-packages that are built on top of each other. Second, \pgfname\ allows you
-to structure your graphics hierarchically using environments and scopes.
+\pgfname\ uses two kinds of hierarchical structuring: First, the package itself
+is structured hierarchically, consisting of different packages that are built
+on top of each other. Second, \pgfname\ allows you to structure your graphics
+hierarchically using environments and scopes.
 
-\subsubsection{The  Hierarchical Structure of the Package}
 
+\subsubsection{The Hierarchical Structure of the Package}
+
 The \pgfname\ system consists of several layers:
-
+%
 \begin{description}
-\item[System layer.]
-  The lowest layer is called the \emph{system layer}, though it might
-  also be called ``driver layer'' or perhaps ``backend layer.'' Its
-  job is to provide an abstraction of the details of which driver
-  is used to transform the |.dvi| file. The system layer is
-  implemented by the package |pgfsys|, which will load appropriate
-  driver files as needed.
+    \item[System layer.]
+        The lowest layer is called the \emph{system layer}, though it might
+        also be called ``driver layer'' or perhaps ``backend layer''. Its job
+        is to provide an abstraction of the details of which driver is used to
+        transform the |.dvi| file. The system layer is implemented by the
+        package |pgfsys|, which will load appropriate driver files as needed.
 
-  The system layer is documented in Part~\ref{part-system}.
-\item[Basic layer.]
-  The basic layer is loaded by the package |pgfcore| and subsequent
-  use of the command |\usepgfmodule| to load additional modules of the
-  basic layer.
+        The system layer is documented in Part~\ref{part-system}.
+    \item[Basic layer.]
+        The basic layer is loaded by the package |pgfcore| and subsequent use
+        of the command |\usepgfmodule| to load additional modules of the basic
+        layer.
 
-  The basic layer is documented in the present part.
-\item[Frontend layer.]
-  The frontend layer is not loaded by a single package. Rather,
-  different packages, like \tikzname\ or \textsc{pgfpict2e}, are
-  different frontends to the basic layer.
+        The basic layer is documented in the present part.
+    \item[Frontend layer.]
+        The frontend layer is not loaded by a single package. Rather, different
+        packages, like \tikzname\ or \textsc{pgfpict2e}, are different
+        frontends to the basic layer.
 
-  The \tikzname\ frontend is documented in Part~\ref{part-tikz}.
+        The \tikzname\ frontend is documented in Part~\ref{part-tikz}.
 \end{description}
 
-Each layer will automatically load the necessary files of the layers below
-it.
+Each layer will automatically load the necessary files of the layers below it.
 
-In addition to the packages of these layers, there are also some
-library packages. These packages provide additional definitions of
-things like new arrow tips or new plot handlers.
+In addition to the packages of these layers, there are also some library
+packages. These packages provide additional definitions of things like new
+arrow tips or new plot handlers.
 
 The library packages are documented in Part~\ref{part-libraries}.
 
 
-
-
 \subsubsection{The Hierarchical Structure of Graphics}
 
-Graphics in \pgfname\ are typically structured
-hierarchically. Hierarchical structuring can be used to identify
-groups of graphical elements that are to be treated ``in the same
-way.'' For example, you might group together a number of paths, all of
-which are to be drawn in red. Then, when you decide later on that you
-like them to be drawn in, say, blue, all you have to do is to change
-the color once.
+Graphics in \pgfname\ are typically structured hierarchically. Hierarchical
+structuring can be used to identify groups of graphical elements that are to be
+treated ``in the same way''. For example, you might group together a number of
+paths, all of which are to be drawn in red. Then, when you decide later on that
+you like them to be drawn in, say, blue, all you have to do is to change the
+color once.
 
 The general mechanism underlying hierarchical structuring is known as
-\emph{scoping} in computer science. The idea is that all changes to
-the general ``state'' of the graphic that are done inside a scope are
-local to that scope. So, if you change the color inside a scope, this
-does not affect the color used outside the scope. Likewise, when you
-change the line width in a scope, the line width outside is not
-changed, and so on.
+\emph{scoping} in computer science. The idea is that all changes to the general
+``state'' of the graphic that are done inside a scope are local to that scope.
+So, if you change the color inside a scope, this does not affect the color used
+outside the scope. Likewise, when you change the line width in a scope, the
+line width outside is not changed, and so on.
 
-There are different ways of starting and ending scopes of graphic
-parameters. Unfortunately, these scopes are sometimes ``in conflict''
-with each other and it is sometimes not immediately clear which scopes
-apply. In essence, the following scoping mechanisms are available:
-
+There are different ways of starting and ending scopes of graphic parameters.
+Unfortunately, these scopes are sometimes ``in conflict'' with each other and
+it is sometimes not immediately clear which scopes apply. In essence, the
+following scoping mechanisms are available:
+%
 \begin{enumerate}
-\item
-  The ``outermost'' scope supported by \pgfname\ is the |{pgfpicture}|
-  environment. All changes to the graphic state done inside a
-  |{pgfpicture}| are local to that picture.
+    \item The ``outermost'' scope supported by \pgfname\ is the |{pgfpicture}|
+        environment. All changes to the graphic state done inside a
+        |{pgfpicture}| are local to that picture.
 
-  In general, it is \emph{not} possible to set graphic parameters
-  globally outside any |{pgfpicture}| environments. Thus, you can
-  \emph{not} say |\pgfsetlinewidth{1pt}| at the beginning of your
-  document to have a default line width of one point. Rather, you have
-  to (re)set all graphic parameters inside each |{pgfpicture}|. (If
-  this is too bothersome, try defining some macro that does the job
-  for you.)
-\item
-  Inside a |{pgfpicture}| you can use a |{pgfscope}| environment to
-  keep changes of the graphic state local to that environment.
+        In general, it is \emph{not} possible to set graphic parameters
+        globally outside any |{pgfpicture}| environments. Thus, you can
+        \emph{not} say |\pgfsetlinewidth{1pt}| at the beginning of your
+        document to have a default line width of one point. Rather, you have to
+        (re)set all graphic parameters inside each |{pgfpicture}|. (If this is
+        too bothersome, try defining some macro that does the job for you.)
+    \item Inside a |{pgfpicture}| you can use a |{pgfscope}| environment to
+        keep changes of the graphic state local to that environment.
 
-  The effect of commands that change the graphic state are local to
-  the current |{pgfscope}|, but not always to the current \TeX\
-  group. Thus, if you open a \TeX\ group (some text in curly braces)
-  inside a |{pgfscope}|, and if you change, for example, the dash
-  pattern, the effect of this changed dash pattern will persist till
-  the end of the |{pgfscope}|.
+        The effect of commands that change the graphic state are local to the
+        current |{pgfscope}|, but not always to the current \TeX\ group. Thus,
+        if you open a \TeX\ group (some text in curly braces) inside a
+        |{pgfscope}|, and if you change, for example, the dash pattern, the
+        effect of this changed dash pattern will persist till the end of the
+        |{pgfscope}|.
 
-  Unfortunately, this is not always the case. \emph{Some} graphic
-  parameters only persist till the end of the current \TeX\ group. For
-  example, when you use |\pgfsetarrows| to set the arrow tip
-  inside a \TeX\ group, the effect lasts only till the end of the
-  current \TeX\ group.
-\item
-  Some graphic parameters are not scoped by |{pgfscope}| but
-  ``already'' by \TeX\ groups. For example, the effect of coordinate
-  transformation commands is always local to the current \TeX\
-  group.
+        Unfortunately, this is not always the case. \emph{Some} graphic
+        parameters only persist till the end of the current \TeX\ group. For
+        example, when you use |\pgfsetarrows| to set the arrow tip inside a
+        \TeX\ group, the effect lasts only till the end of the current \TeX\
+        group.
+    \item Some graphic parameters are not scoped by |{pgfscope}| but
+        ``already'' by \TeX\ groups. For example, the effect of coordinate
+        transformation commands is always local to the current \TeX\ group.
 
-  Since every |{pgfscope}| automatically creates a \TeX\ group, all
-  graphic parameters that are local to the current \TeX\ group are
-  also local to the current |{pgfscope}|.
-\item
-  Some graphic parameters can only be scoped using \TeX\ groups, since
-  in some situations it is not possible to introduce a
-  |{pgfscope}|. For example, a path always has to be completely
-  constructed and used in the same |{pgfscope}|. However, we might
-  wish to have different coordinate transformations apply to different
-  points on the path. In this case, we can use \TeX\ groups to keep
-  the effect local, but we could not use |{pgfscope}|.
-\item
-  The |\pgftext| command can be used to create a scope in which \TeX\
-  ``escapes back'' to normal \TeX\ mode. The text passed to the
-  |\pgftext| is ``heavily guarded'' against having any effect on the
-  scope in which it is used. For example, it is possible to use
-  another  |{pgfpicture}| environment inside the argument of
-  |\pgftext|.
+        Since every |{pgfscope}| automatically creates a \TeX\ group, all
+        graphic parameters that are local to the current \TeX\ group are also
+        local to the current |{pgfscope}|.
+    \item Some graphic parameters can only be scoped using \TeX\ groups, since
+        in some situations it is not possible to introduce a |{pgfscope}|. For
+        example, a path always has to be completely constructed and used in the
+        same |{pgfscope}|. However, we might wish to have different coordinate
+        transformations apply to different points on the path. In this case, we
+        can use \TeX\ groups to keep the effect local, but we could not use
+        |{pgfscope}|.
+    \item The |\pgftext| command can be used to create a scope in which \TeX\
+        ``escapes back'' to normal \TeX\ mode. The text passed to the
+        |\pgftext| is ``heavily guarded'' against having any effect on the
+        scope in which it is used. For example, it is possible to use another
+        |{pgfpicture}| environment inside the argument of |\pgftext|.
 \end{enumerate}
 
-
 Most of the complications can be avoided if you stick to the following
 rules:
-
+%
 \begin{itemize}
-\item
-  Give graphic commands only inside |{pgfpicture}| environments.
-\item
-  Use |{pgfscope}| to structure graphics.
-\item
-  Do not use \TeX\ groups inside graphics, \emph{except} for keeping
-  the effect of coordinate transformations local.
+    \item Give graphic commands only inside |{pgfpicture}| environments.
+    \item Use |{pgfscope}| to structure graphics.
+    \item Do not use \TeX\ groups inside graphics, \emph{except} for keeping
+        the effect of coordinate transformations local.
 \end{itemize}
 
 
+\subsection{The Hierarchical Structure of the Package}
 
+Before we come to the structuring commands provided by \pgfname\ to structure
+your graphics, let us first have a look at the structure of the package itself.
 
-\subsection{The Hierarchical Structure of the Package}
 
-Before we come to the structuring commands provided by \pgfname\ to
-structure your graphics, let us first have a look at the structure of
-the package itself.
-
 \subsubsection{The Core Package}
 
 To use \pgfname, include the following package:
 
 \begin{package}{pgfcore}
-  This package loads the complete core of the ``basic layer'' of
-  \pgfname, but not any modules. That is, it will load all of the
-  commands described in the current part of this manual, but it will
-  not load frontends like \tikzname. It will also load the system
-  layer. To load additional modules, use the |\usepgfmodule| command
-  explained below.
+    This package loads the complete core of the ``basic layer'' of \pgfname,
+    but not any modules. That is, it will load all of the commands described in
+    the current part of this manual, but it will not load frontends like
+    \tikzname. It will also load the system layer. To load additional modules,
+    use the |\usepgfmodule| command explained below.
 \end{package}
 
 The following package is just a convenience.
 
 \begin{package}{pgf}
-  This package loads the |pgfcore| and the two modules |shapes| and
-  |plot|.
+    This package loads the |pgfcore| and the two modules |shapes| and |plot|.
 
-  In \LaTeX, the package takes two options:
-  \begin{packageoption}{draft}
-    When this option is set, all images will be replaced by empty
-    rectangles. This can speedup compilation.
-  \end{packageoption}
+    In \LaTeX, the package takes two options:
+    %
+    \begin{packageoption}{draft}
+        When this option is set, all images will be replaced by empty
+        rectangles. This can speedup compilation.
+    \end{packageoption}
 
-  \begin{packageoption}{version=\meta{version}}
-    Indicates that the commands of version \meta{version} need to be
-    defined. If you set \meta{version} to |0.65|, then a large bunch of
-    ``compatibility commands'' are loaded. If you set \meta{version} to
-    |0.96|, then these compatibility commands will not be loaded.
+    \begin{packageoption}{version=\meta{version}}
+        Indicates that the commands of version \meta{version} need to be
+        defined. If you set \meta{version} to |0.65|, then a large bunch of
+        ``compatibility commands'' are loaded. If you set \meta{version} to
+        |0.96|, then these compatibility commands will not be loaded.
 
-    If this option is not given at all, then the commands of all
-    versions are defined.
-  \end{packageoption}
+        If this option is not given at all, then the commands of all versions
+        are defined.
+    \end{packageoption}
 \end{package}
 
 
-
 \subsubsection{The Modules}
 
-\begin{command}{\usepgflibrary\marg{module names}}
-  Once the core has been loaded, you can use this command to load
-  further modules. The modules in the \meta{module names} list should
-  be separated by commas. Instead of curly braces, you can also
-  use square brackets, which is something Con\TeX t users will
-  like. If you try to load a module a second time, nothing will
-  happen.
+\begin{command}{\usepgfmodule\marg{module names}}
+    Once the core has been loaded, you can use this command to load further
+    modules. The modules in the \meta{module names} list should be separated by
+    commas. Instead of curly braces, you can also use square brackets, which is
+    something Con\TeX t users will like. If you try to load a module a second
+    time, nothing will happen.
 
-  \example |\usepgfmodule{matrix,shapes}|
+    \example |\usepgfmodule{matrix,shapes}|
 
-  What this command does is to load the file
-  |pgfmodule|\meta{module}|.code.tex| for each \meta{module} in
-  the list of \meta{module names}. Thus, to write your own module,
-  all you need to do is to place a file of the appropriate name
-  somewhere \TeX\ can find it. \LaTeX, plain \TeX, and Con\TeX t
-  users can then use your library.
+    What this command does is to load the file
+    |pgfmodule|\meta{module}|.code.tex| for each \meta{module} in the list of
+    \meta{module names}. Thus, to write your own module, all you need to do is
+    to place a file of the appropriate name somewhere \TeX\ can find it.
+    \LaTeX, plain \TeX, and Con\TeX t users can then use your library.
 \end{command}
 
-The following modules are available for use with |pgfcore|:
-
+The following modules are available for use with |pgfcore|: \todosp{In the
+meantime there are some more modules. Also mention them here?}
+%
 \begin{itemize}
-\item The |plot| module provides commands for plotting functions.  The
-  commands are explained in Section~\ref{section-plots}.
-\item The |shapes| module provides commands for drawing shapes and
-  nodes. These commands are explained in
-  Section~\ref{section-shapes}.
-\item The |decorations| module provides commands for adding
-  decorations to paths. These commands are explained in
-  Section~\ref{section-base-decorations}.
-\item The |matrix| module provides the |\pgfmatrix| command. The
-  commands are documented in Section~\ref{section-base-matrices}.
+    \item The |plot| module provides commands for plotting functions. The
+        commands are explained in Section~\ref{section-plots}.
+    \item The |shapes| module provides commands for drawing shapes and nodes.
+        These commands are explained in Section~\ref{section-shapes}.
+    \item The |decorations| module provides commands for adding decorations to
+        paths. These commands are explained in
+        Section~\ref{section-base-decorations}.
+    \item The |matrix| module provides the |\pgfmatrix| command. The commands
+        are documented in Section~\ref{section-base-matrices}.
 \end{itemize}
 
 
-
 \subsubsection{The Library Packages}
 
-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 decorations, while a decoration module
-defines the whole code for handling decorations.
+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
+decorations, while a decoration module defines the whole code for handling
+decorations.
 
 \begin{command}{\usepgflibrary\marg{list of libraries}}
-  Use this command to load further libraries. The list of libraries
-  should contain the names of libraries separated by commas. Instead
-  of curly braces, you can also use square brackets. If you try to
-  load a library a second time, nothing will happen.
+    Use this command to load further libraries. The list of libraries should
+    contain the names of libraries separated by commas. Instead of curly
+    braces, you can also use square brackets. If you try to load a library a
+    second time, nothing will happen.
 
-  \example |\usepgflibrary{arrows}|
+    \example |\usepgflibrary{arrows}|
 
-  This command causes the file
-  |pgflibrary|\meta{library}|.code.tex| to be loaded for each \meta{library} in
-  the \meta{list of libraries}. This means that in order to write your
-  own library file, place a file of the appropriate name somewhere
-  where \TeX\ can find it. \LaTeX, plain \TeX, and Con\TeX t
-  users can then use your library.
+    This command causes the file |pgflibrary|\meta{library}|.code.tex| to be
+    loaded for each \meta{library} in the \meta{list of libraries}. This means
+    that in order to write your own library file, place a file of the
+    appropriate name somewhere where \TeX\ can find it. \LaTeX, plain \TeX, and
+    Con\TeX t users can then use your library.
 
-  You should also consider adding a \tikzname\ library that simply
-  includes your \pgfname\ library.
+    You should also consider adding a \tikzname\ library that simply includes
+    your \pgfname\ library.
 \end{command}
 
 
-
 \subsection{The Hierarchical Structure of the Graphics}
 
 \subsubsection{The Main Environment}
 
+Most, but not all, commands of the \pgfname\ package must be given within a
+|{pgfpicture}| environment. The only commands that (must) be given outside are
+commands having to do with including images (like |\pgfuseimage|) and with
+inserting complete shadings (like |\pgfuseshading|). However, just to keep life
+entertaining, the |\pgfshadepath| command must be given \emph{inside} a
+|{pgfpicture}| environment.
 
-Most, but not all, commands of the \pgfname\ package must be given
-within a |{pgfpicture}| environment. The only commands that (must) be
-given outside are commands having to do with including images (like
-|\pgfuseimage|) and with inserting complete shadings (like
-|\pgfuseshading|). However, just to keep life entertaining, the
-|\pgfshadepath| command must be given \emph{inside} a |{pgfpicture}|
-environment.
-
 \begin{environment}{{pgfpicture}}
-  This environment will insert a \TeX\ box containing the graphic drawn by
-  the \meta{environment contents} at the current position.
+    This environment will insert a \TeX\ box containing the graphic drawn by
+    the \meta{environment contents} at the current position.
 
-  \medskip
-  \textbf{The size of the bounding box.}
-  The size of the box is determined in the following
-  manner: While \pgfname\ parses the \meta{environment contents}, it
-  keeps track of a bounding box for the graphic. Essentially, this
-  bounding box is the smallest box that contains all coordinates
-  mentioned in the graphics. Some coordinates may be ``mentioned'' by
-  \pgfname\ itself; for example, when you add circle to the current
-  path, the support points of the curve making up the circle are also
-  ``mentioned'' despite the fact that you will not ``see'' them in
-  your code.
 
-  Once the \meta{environment contents} have been parsed completely, a
-  \TeX\ box is created whose size is the size of the computed bounding
-  box and this box is inserted at the current position.
+    \medskip
+    \textbf{The size of the bounding box.}
+    The size of the box is determined in the following manner: While \pgfname\
+    parses the \meta{environment contents}, it keeps track of a bounding box
+    for the graphic. Essentially, this bounding box is the smallest box that
+    contains all coordinates mentioned in the graphics. Some coordinates may be
+    ``mentioned'' by \pgfname\ itself; for example, when you add circle to the
+    current path, the support points of the curve making up the circle are also
+    ``mentioned'' despite the fact that you will not ``see'' them in your code.
 
+    Once the \meta{environment contents} have been parsed completely, a \TeX\
+    box is created whose size is the size of the computed bounding box and this
+    box is inserted at the current position.
+    %
 \begin{codeexample}[]
 Hello \begin{pgfpicture}
   \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{1ex}}
@@ -306,22 +276,21 @@
 \end{pgfpicture} World!
 \end{codeexample}
 
-  Sometimes, you may need more fine-grained control over the size of
-  the bounding box. For example, the computed bounding box may be too
-  large or you intensionally wish the box to be ``too small.'' In
-  these cases, you can use the command
-  |\pgfusepath{use as bounding box}|, as described in
-  Section~\ref{section-using-bb}.
+    Sometimes, you may need more fine-grained control over the size of the
+    bounding box. For example, the computed bounding box may be too large or
+    you intensionally wish the box to be ``too small''. In these cases, you can
+    use the command |\pgfusepath{use as bounding box}|, as described in
+    Section~\ref{section-using-bb}.
 
 
-  \medskip
-  \textbf{The baseline of the bounding box.}
-  When the box containing the graphic is inserted into the normal
-  text, the baseline of the graphic is normally at the bottom of the
-  graphic. For this reason, the following two sets of code lines have
-  the same effect, despite the fact that the second graphic uses
-  ``higher'' coordinates than the first:
-
+    \medskip
+    \textbf{The baseline of the bounding box.}
+    When the box containing the graphic is inserted into the normal text, the
+    baseline of the graphic is normally at the bottom of the graphic. For this
+    reason, the following two sets of code lines have the same effect, despite
+    the fact that the second graphic uses ``higher'' coordinates than the
+    first:
+    %
 \begin{codeexample}[]
 Rectangles \begin{pgfpicture}
   \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{1ex}}
@@ -332,9 +301,8 @@
 \end{pgfpicture}.
 \end{codeexample}
 
-  You can change the baseline using the |\pgfsetbaseline| command, see
-  below.
-
+    You can change the baseline using the |\pgfsetbaseline| command, see below.
+    %
 \begin{codeexample}[]
 Rectangles \begin{pgfpicture}
   \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{1ex}}
@@ -347,79 +315,77 @@
 \end{pgfpicture}.
 \end{codeexample}
 
-  \medskip
-  \textbf{Including text and images in a picture.}
-  You cannot directly include text and images in a picture. Thus, you
-  should \emph{not} simply write some text in a |{pgfpicture}| or use
-  a command like |\includegraphics| or even |\pgfimage|. In all these
-  cases, you need to place the text inside a |\pgftext| command. This
-  will ``escape back'' to normal \TeX\ mode, see
-  Section~\ref{section-text-command} for details.
 
-  \medskip
-  \textbf{Remembering a picture position for later reference.}
-  After a picture has been typeset, its position on the page is
-  normally forgotten by \pgfname\ and also by \TeX. This means that is
-  not possible to reference a node in this picture later on. In
-  particular, it is normally impossible to draw lines between nodes in
-  different pictures automatically.
+    \medskip
+    \textbf{Including text and images in a picture.}
+    You cannot directly include text and images in a picture. Thus, you should
+    \emph{not} simply write some text in a |{pgfpicture}| or use a command like
+    |\includegraphics| or even |\pgfimage|. In all these cases, you need to
+    place the text inside a |\pgftext| command. This will ``escape back'' to
+    normal \TeX\ mode, see Section~\ref{section-text-command} for details.
 
-  In order to make \pgfname\ ``remember'' a picture, the \TeX-if
-  |\||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 positions of all pictures are remembered.
 
-  There are several reasons why the remembering is not switched on by
-  default. First, it does not work for all backend drivers (currently, it
-  works only for pdf\TeX). Second, it requires two passes of \TeX\
-  over the file; on the first pass all positions will be wrong. Third,
-  for every remembered picture a line is added to the |.aux|-file,
-  which may result in a large number of extra lines.
+    \medskip
+    \textbf{Remembering a picture position for later reference.}
+    After a picture has been typeset, its position on the page is normally
+    forgotten by \pgfname\ and also by \TeX. This means that is not possible to
+    reference a node in this picture later on. In particular, it is normally
+    impossible to draw lines between nodes in different pictures automatically.
 
-  Despite all these ``problems,'' for documents that are processed
-  with pdf\TeX\ and in which there is only a small number of pictures
-  (less than a hundred or so), you can switch on this option globally,
-  it will not cause any significant slowing of \TeX.
+    In order to make \pgfname\ ``remember'' a picture, the \TeX-if
+    |\||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
+    positions of all pictures are remembered.
+
+    There are several reasons why the remembering is not switched on by
+    default. First, it does not work for all backend drivers (currently, it
+    works only for pdf\TeX). Second, it requires two passes of \TeX\ over the
+    file; on the first pass all positions will be wrong. Third, for every
+    remembered picture a line is added to the |.aux|-file, which may result in
+    a large number of extra lines.
+
+    Despite all these ``problems'', for documents that are processed with
+    pdf\TeX\ and in which there is only a small number of pictures (less than a
+    hundred or so), you can switch on this option globally, it will not cause
+    any significant slowing of \TeX.
 \end{environment}
 
 \begin{plainenvironment}{{pgfpicture}}
-  The plain \TeX\ version of the environment. Note that in this
-  version, also, a \TeX\ group is created around the environment.
+    The plain \TeX\ version of the environment. Note that in this version,
+    also, a \TeX\ group is created around the environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfpicture}}
-  This is the Con\TeX t version of the environment.
+    This is the Con\TeX t version of the environment.
 \end{contextenvironment}
 
-
 {\let\ifpgfrememberpicturepositiononpage=\relax
 \begin{command}{\ifpgfrememberpicturepositiononpage}
-  Determines whether the position of pictures on the page should be
-  recorded. The value of this \TeX-if at the end of a |{pgfpicture}|
-  environment is important, not the value at the beginning.
+    Determines whether the position of pictures on the page should be recorded.
+    The value of this \TeX-if at the end of a |{pgfpicture}| environment is
+    important, not the value at the beginning.
 
-  If this option is set to true of a picture, \pgfname\ will attempt
-  to record the position of the picture on the page. (This attempt
-  will fail with most drivers and when it works, it typically requires
-  two runs of \TeX.) The position is not directly accessible. Rather,
-  the nodes mechanism will use this position if you access a node from
-  another picture. See Sections~\ref{section-cross-pictures-pgf}
-  and~\ref{section-cross-picture-tikz} for more details.
+    If this option is set to true of a picture, \pgfname\ will attempt to
+    record the position of the picture on the page. (This attempt will fail
+    with most drivers and when it works, it typically requires two runs of
+    \TeX.) The position is not directly accessible. Rather, the nodes mechanism
+    will use this position if you access a node from another picture. See
+    Sections~\ref{section-cross-pictures-pgf}
+    and~\ref{section-cross-picture-tikz} for more details.
 \end{command}
 }
 
-
 \makeatletter
 \begin{command}{\pgfsetbaseline\marg{dimension}}
-  This command specifies a $y$-coordinate of the picture that should
-  be used as the baseline of the whole picture. When a \pgfname\
-  picture has been typeset completely, \pgfname\ must decide at which
-  height the baseline of the picture should lie. Normally, the
-  baseline is set to the $y$-coordinate of the bottom of the picture,
-  but it is often desirable to use a different height.
-
+    This command specifies a $y$-coordinate of the picture that should be used
+    as the baseline of the whole picture. When a \pgfname\ picture has been
+    typeset completely, \pgfname\ must decide at which height the baseline of
+    the picture should lie. Normally, the baseline is set to the $y$-coordinate
+    of the bottom of the picture, but it is often desirable to use a different
+    height.
+    %
 \begin{codeexample}[]
 Text
 \begin{pgfpicture}
@@ -438,19 +404,18 @@
   \pgfpathcircle{\pgfpointorigin}{1ex}\pgfusepath{stroke}
 \end{pgfpicture}.
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetbaselinepointnow\marg{point}}
-  This command specifies the baseline indirectly, namely as the
-  $y$-coordinate that the given \meta{point} has when the command is
-  called.
+    This command specifies the baseline indirectly, namely as the
+    $y$-coordinate that the given \meta{point} has when the command is called.
 \end{command}
 
 \begin{command}{\pgfsetbaselinepointlater\marg{point}}
-  This command also specifies the baseline indirectly, but the
-  $y$-coordinate of the given \meta{point} is only computed at the end
-  of the picture.
-
+    This command also specifies the baseline indirectly, but the $y$-coordinate
+    of the given \meta{point} is only computed at the end of the picture.
+    %
 \begin{codeexample}[]
 Hello
 \begin{pgfpicture}
@@ -459,42 +424,37 @@
   \pgfnode{cross out}{center}{world.}{X}{\pgfusepath{stroke}}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-
 \subsubsection{Graphic Scope Environments}
 
-Inside a |{pgfpicture}| environment you can substructure your picture
-using the following environment:
+Inside a |{pgfpicture}| environment you can substructure your picture using the
+following environment:
 
 \begin{environment}{{pgfscope}}
-  All changes to the graphic state done inside this environment are
-  local to the environment. The graphic state includes the following:
-  \begin{itemize}
-  \item
-    The line width.
-  \item
-    The stroke and fill colors.
-  \item
-    The dash pattern.
-  \item
-    The line join and cap.
-  \item
-    The miter limit.
-  \item
-    The canvas transformation matrix.
-  \item
-    The clipping path.
-  \end{itemize}
-  Other parameters may also influence how graphics are rendered, but they
-  are \emph{not} part of the graphic state. For example, the arrow tip
-  kind is not part of the graphic state and the effect of commands
-  setting the arrow tip kind are local to the current \TeX\ group, not
-  to the current |{pgfscope}|. However, since |{pgfscope}| starts and
-  ends a \TeX\ group automatically, a |{pgfscope}| can be used to
-  limit the effect of, say, commands that set the arrow tip kind.
-
+    All changes to the graphic state done inside this environment are
+    local to the environment. The graphic state includes the following:
+    %
+    \begin{itemize}
+        \item The line width.
+        \item The stroke and fill colors.
+        \item The dash pattern.
+        \item The line join and cap.
+        \item The miter limit.
+        \item The canvas transformation matrix.
+        \item The clipping path.
+    \end{itemize}
+    %
+    Other parameters may also influence how graphics are rendered, but they are
+    \emph{not} part of the graphic state. For example, the arrow tip kind is
+    not part of the graphic state and the effect of commands setting the arrow
+    tip kind are local to the current \TeX\ group, not to the current
+    |{pgfscope}|. However, since |{pgfscope}| starts and ends a \TeX\ group
+    automatically, a |{pgfscope}| can be used to limit the effect of, say,
+    commands that set the arrow tip kind.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \begin{pgfscope}
@@ -527,63 +487,59 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  At the start of the scope, the current path must be empty, that is,
-  you cannot open a scope while constructing a path.
+    At the start of the scope, the current path must be empty, that is, you
+    cannot open a scope while constructing a path.
 
-  It is usually a good idea \emph{not} to introduce \TeX\ groups
-  inside a |{pgfscope}| environment.
+    It is usually a good idea \emph{not} to introduce \TeX\ groups inside a
+    |{pgfscope}| environment.
 \end{environment}
 
 \begin{plainenvironment}{{pgfscope}}
-  Plain \TeX\ version of the |{pgfscope}| environment.
+    Plain \TeX\ version of the |{pgfscope}| environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfscope}}
-  This is the Con\TeX t version of the environment.
+    This is the Con\TeX t version of the environment.
 \end{contextenvironment}
 
+The following scopes also encapsulate certain properties of the graphic state.
+However, they are typically not used directly by the user.
 
-The following scopes also encapsulate certain properties of the
-graphic state. However, they are typically not used directly by the
-user.
-
 \begin{environment}{{pgfinterruptpath}}
-  This environment can be used to temporarily interrupt the
-  construction of the current path. The effect will be that the path
-  currently under construction will be ``stored away'' and restored at
-  the end of the environment. Inside the environment you can construct
-  a new path and do something with it.
+    This environment can be used to temporarily interrupt the construction of
+    the current path. The effect will be that the path currently under
+    construction will be ``stored away'' and restored at the end of the
+    environment. Inside the environment you can construct a new path and do
+    something with it.
 
-  An example application of this environment is the arrow tip
-  caching. Suppose you ask \pgfname\ to use a specific arrow tip
-  kind. When the arrow tip needs to be rendered for the first time,
-  \pgfname\ will ``cache'' the path that makes up the arrow tip. To do
-  so, it interrupts the current path construction and then protocols
-  the path of the arrow tip. The |{pgfinterruptpath}| environment is
-  used to ensure that this does not interfere with the path to which
-  the arrow tips should be attached.
+    An example application of this environment is the arrow tip caching.
+    Suppose you ask \pgfname\ to use a specific arrow tip kind. When the arrow
+    tip needs to be rendered for the first time, \pgfname\ will ``cache'' the
+    path that makes up the arrow tip. To do so, it interrupts the current path
+    construction and then protocols the path of the arrow tip. The
+    |{pgfinterruptpath}| environment is used to ensure that this does not
+    interfere with the path to which the arrow tips should be attached.
 
-  This command does \emph{not} install a |{pgfscope}|. In particular,
-  it does not call any |\pgfsys@| commands at all, which would,
-  indeed, be dangerous in the middle of a path construction.
+    This command does \emph{not} install a |{pgfscope}|. In particular, it does
+    not call any |\pgfsys@| commands at all, which would, indeed, be dangerous
+    in the middle of a path construction.
 \end{environment}
 
 \begin{plainenvironment}{{pgfinterruptpath}}
-  Plain \TeX\ version of the environment.
+    Plain \TeX\ version of the environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfinterruptpath}}
-  Con\TeX t version of the environment.
+    Con\TeX t version of the environment.
 \end{contextenvironment}
 
-
 \begin{environment}{{pgfinterruptpicture}}
-  This environment can be used to temporarily interrupt a
-  |{pgfpicture}|. However, the environment is intended only to be used
-  at the beginning and end of a box that is (later) inserted into a
-  |{pgfpicture}| using |\pgfqbox|. You cannot use this environment
-  directly inside a |{pgfpicture}|.
-
+    This environment can be used to temporarily interrupt a |{pgfpicture}|.
+    However, the environment is intended only to be used at the beginning and
+    end of a box that is (later) inserted into a |{pgfpicture}| using
+    |\pgfqbox|. You cannot use this environment directly inside a
+    |{pgfpicture}|.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfpathmoveto{\pgfpoint{0cm}{0cm}} % In the middle of path, now
@@ -602,166 +558,470 @@
   \pgfusepath{stroke}
 \end{pgfpicture}\hskip3.9cm
 \end{codeexample}
+    %
 \end{environment}
 
 \begin{plainenvironment}{{pgfinterruptpicture}}
-  Plain \TeX\ version of the environment.
+    Plain \TeX\ version of the environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfinterruptpicture}}
-  Con\TeX t version of the environment.
+    Con\TeX t version of the environment.
 \end{contextenvironment}
 
-
-
 \begin{environment}{{pgfinterruptboundingbox}}
-  This environment temporarily interrupts the computation of the
-  bounding box and sets up a new bounding box. At the beginning of the
-  environment the old bounding box is saved and an empty bounding box
-  is installed. After the environment the original bounding box is
-  reinstalled as if nothing has happened.
+    This environment temporarily interrupts the computation of the bounding box
+    and sets up a new bounding box. At the beginning of the environment the old
+    bounding box is saved and an empty bounding box is installed. After the
+    environment the original bounding box is reinstalled as if nothing has
+    happened.
 \end{environment}
 
 \begin{plainenvironment}{{pgfinterruptboundingbox}}
-  Plain \TeX\ version of the environment.
+    Plain \TeX\ version of the environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgfinterruptboundingbox}}
-  Con\TeX t version of the environment.
+    Con\TeX t version of the environment.
 \end{contextenvironment}
 
 
 \subsubsection{Inserting Text and Images}
-
 \label{section-text-command}
 
-Often, you may wish to add normal \TeX\ text at a certain point inside
-a |{pgfpicture}|. You cannot do so ``directly,'' that is, you cannot
-simply write this text inside the |{pgfpicture}| environment. Rather,
-you must pass the text as an argument to the |\pgftext| command.
+Often, you may wish to add normal \TeX\ text at a certain point inside a
+|{pgfpicture}|. You cannot do so ``directly'', that is, you cannot simply write
+this text inside the |{pgfpicture}| environment. Rather, you must pass the text
+as an argument to the |\pgftext| command.
 
-You must \emph{also} use the |\pgftext| command to insert an image or
-a shading into a |{pgfpicture}|.
+You must \emph{also} use the |\pgftext| command to insert an image or a shading
+into a |{pgfpicture}|.
 
 \begin{command}{\pgftext\opt{\oarg{options}}\marg{text}}
-  This command will typeset \meta{text} in normal \TeX\ mode and
-  insert the resulting box into the |{pgfpicture}|. The bounding box
-  of the graphic will be updated so that all of the text box is
-  inside. By default, the text box is centered at the origin, but this
-  can be changed either by giving appropriate \meta{options} or by
-  applying an appropriate coordinate transformation beforehand.
+    This command will typeset \meta{text} in normal \TeX\ mode and insert the
+    resulting box into the |{pgfpicture}|. The bounding box of the graphic will
+    be updated so that all of the text box is inside. By default, the text box
+    is centered at the origin, but this can be changed either by giving
+    appropriate \meta{options} or by applying an appropriate coordinate
+    transformation beforehand.
 
-  The \meta{text} may contain verbatim text. (In other words, the
-  \meta{text} ``argument'' is not a normal argument, but is put in a
-  box and some |\aftergroup| hackery is used to find the end of the
-  box.)
+    The \meta{text} may contain verbatim text. (In other words, the \meta{text}
+    ``argument'' is not a normal argument, but is put in a box and some
+    |\aftergroup| hackery is used to find the end of the box.)
 
-  \pgfname's current (high-level) coordinate transformation is
-  synchronized with the canvas transformation matrix temporarily
-  when the text box is inserted. The effect is that if there is
-  currently a high-level rotation of, say, 30 degrees, the \meta{text}
-  will also be rotated by thirty degrees. If you do not want this
-  effect, you have to (possibly temporarily) reset the high-level
-  transformation matrix.
+    \pgfname's current (high-level) coordinate transformation is synchronized
+    with the canvas transformation matrix temporarily when the text box is
+    inserted. The effect is that if there is currently a high-level rotation
+    of, say, 30 degrees, the \meta{text} will also be rotated by thirty
+    degrees. If you do not want this effect, you have to (possibly temporarily)
+    reset the high-level transformation matrix.
 
-  The \meta{options} keys are used with the path |/pgf/text/|. The
-  following keys are defined for this path:
-  \begin{key}{/pgf/text/left}
-    The key causes the text box to be placed such that its left
-    border is on the origin.
+    The \meta{options} keys are used with the path |/pgf/text/|. The following
+    keys are defined for this path:
+    %
+    \begin{key}{/pgf/text/left}
+        The key causes the text box to be placed such that its left border is
+        on the origin.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[left] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/right}
-    The key causes the text box to be placed such that its right
-    border is on the origin.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/right}
+        The key causes the text box to be placed such that its right border is
+        on the origin.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[right] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/right}
-    This key causes the text box to be placed such that its top is on the
-    origin. This option can be used together with the |left| or
-    |right| option.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/top}
+        This key causes the text box to be placed such that its top is on the
+        origin. This option can be used together with the |left| or |right|
+        option.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[top] {lovely}}
 \end{codeexample}
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[top,right] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/bottom}
-    This key causes the text box to be placed such that its bottom is
-    on the origin.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/bottom}
+        This key causes the text box to be placed such that its bottom is on
+        the origin.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[bottom] {lovely}}
 \end{codeexample}
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[bottom,right] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/base}
-    This key causes the text box to be placed such that its baseline
-    is on the origin.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/base}
+        This key causes the text box to be placed such that its baseline is on
+        the origin.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[base] {lovely}}
 \end{codeexample}
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[base,right] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/at=\meta{point}}
-    Translates the origin (that is, the point where the text is
-    shown) to \meta{point}.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/at=\meta{point}}
+        Translates the origin (that is, the point where the text is shown) to
+        \meta{point}.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[base,at={\pgfpoint{1cm}{0cm}}] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/x=\meta{dimension}}
-    Translates the origin by \meta{dimension} along the $x$-axis.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/x=\meta{dimension}}
+        Translates the origin by \meta{dimension} along the $x$-axis.
+        %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[base,x=1cm,y=-0.5cm] {lovely}}
 \end{codeexample}
-  \end{key}
-  \begin{key}{/pgf/text/y=\meta{dimension}}
-    This key works like the |x| option.
-  \end{key}
-  \begin{key}{/pgf/text/rotate=\meta{degree}}
-    Rotates the coordinate system by \meta{degree}. This will also
-    rotate the text box.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/y=\meta{dimension}}
+        This key works like the |x| option.
+    \end{key}
+    %
+    \begin{key}{/pgf/text/rotate=\meta{degree}}
+        Rotates the coordinate system by \meta{degree}. This will also rotate
+        the text box.
+    %
 \begin{codeexample}[]
 \tikz{\draw[help lines] (-1,-.5) grid (1,.5);
      \pgftext[base,x=1cm,y=-0.5cm,rotate=30] {lovely}}
 \end{codeexample}
-\end{key}
+    \end{key}
+\end{command}
 
+
+\subsection{Object Identifiers}
+
+Graphical objects can have an \emph{identifier,} which allows you to reference
+the object later on. For instance, you could reference the object as the target
+of a hyperlink (although this capability is not necessarily implemented by
+drivers) or as the target of an animation; indeed, animations always need an
+object identifier to identify the to-be-animated object.
+
+Attaching an identifier to an object is a two-step process:
+%
+\begin{enumerate}
+    \item You call |\pgfuseid{|\meta{id}|}| to choose an id, which is a normal
+        string.
+    \item Next, you call one of several commands like |\pgfidscope| or
+        |\pgftext|, which create an object. This object will have then have the
+        id.
+\end{enumerate}
+
+
+\subsubsection{Commands for Creating Graphic Objects}
+
+The following system level commands create an object with an id:
+%
+\begin{enumerate}
+    \item |\pgfsys at begin@idscope|, which creates a graphic scope.
+    \item |\pgfsys at viewboxmeet| or |\pgfsys at viewboxslice|, which create view
+        boxes,
+    \item |\pgfsys at fill|, |\pgfsys at stroke|, and all other path usage command,
+    \item |\pgfsys at hbox| or |\pgfsys at hboxsynced|, which create text boxes, and
+    \item |\pgfsys at animate...|, which create animations.
+\end{enumerate}
+
+These system layer commands are, in turn, called by the following basic layer
+commands (and, also, by the commands that call them, in turn):
+%
+\begin{itemize}
+    \item |\pgfidscope|, which creates an id scope (see below).
+    \item |\pgfviewboxscope|, which creates a view box.
+    \item |\pgfusepath|, which creates a path.
+    \item |\pgftext| and |\pgfnode| and |\pgfmultipartnode|, which create text
+        boxes and nodes, and
+    \item |\pgfanimateattribute|, which creates an animation.
+\end{itemize}
+
+\begin{environment}{{pgfidscope}}
+    Creates a graphic scope that will have the id last used with |\pgfuseid|
+    attached to, provided such an id was set and was not already used with
+    another object. In the latter cases, no graphic scope is created. Thus, if
+    you wish to ensure that a graphic scope is created, you must (additionally)
+    call |\pgfscope| inside or outside the id scope.
+\end{environment}
+
+The Plain\TeX\ and Con\TeX t versions of the environment are:
+%
+\begin{plainenvironment}{{pgfidscope}}
+\end{plainenvironment}
+
+\begin{contextenvironment}{{pgfidscope}}
+\end{contextenvironment}
+
+
+\subsubsection{Settings and Querying Identifiers}
+
+In order to attach an identifier to an object, you first use the following
+command:
+
+\begin{command}{\pgfuseid\marg{name}}
+    The \meta{name} is a string by which the object will be referenced (see
+    |\pgfidrefnextuse|). The next time a graphic object is created in the
+    current \TeX\ scope, the name will be attached to it (actually, it will get
+    a system layer identifier attached to it that is automatically created
+    using |\pgfsys at new@id|, the \meta{name} is bound to that identifier and it
+    can be retrieved using |\pgfidrefnextuse|). This holds true only for the
+    next object: If a second object is created, it will not get the name
+    attached to it. This does not mean, however, that you cannot attach the
+    same name to different objects; you just need to call |\pgfuseid| again
+    before each object.
+
+    Besides the \meta{name} (or, more precisely, besides the system layer
+    identifier is refers to), the current \emph{identifier type} is also
+    important: Actually, a graphic object is not referenced by a system layer
+    identifier, but by the combination of the identifier and a type. You can
+    use the following commands for modifying the type used for the creation of
+    objects:
+
+    \begin{command}{\pgfusetype\marg{type}}
+        Sets the type used for the referencing of graphic objects for the
+        current scope to \meta{type} or, if \meta{type} starts with a dot,
+        appends \meta{type} to the current type.
+
+        You use this command with compound graphic objects: Before each part of
+        a graphic object, set the type to an appropriate value. Now, if the
+        object is named using |\pgfuseid|, you can later on access all parts of
+        the compound object using the combination of the \meta{name} used with
+        |\pgfuseid| and the type of the part.
+
+        As an example, this system is used to give you access to the different
+        parts of a node: When use say |\pgfuseid{mynode}| and then create a
+        node, you can use |mynode| with the empty type to reference the
+        graphics scope that encompasses the whole node, but also |mynode|
+        together with the type |background| to access the background path of
+        the node.
+
+        In detail, \pgfname\ uses this command to set the following types:
+        %
+        \begin{itemize}
+            \item Inside the command |\pgfviewboxscope|, the type |.view| is
+                used for the view object.
+            \item Inside the command |\pgfmultipartnode|, the type
+                |.behind background| is used for the scope of drawings behind
+                the background. Similarly, |.before background| and
+                |.behind foreground| and finally |.before foreground| are used
+                with the respective parts of a node.
+            \item Also inside a node, |.background| and |.foreground| are used
+                as types of the background and foreground paths, respectively.
+            \item Finally, inside a node, for each text part, the text part's
+                name is used as a type (so |.text| is used for the main part).
+        \end{itemize}
+
+        In addition, \tikzname\ uses this command in the following
+        situations:
+        %
+        \begin{itemize}
+            \item The type |.path| is used with a named path (named using the
+                |name| key). This is the graphic object you need to reference
+                when you wish to morph a path.
+            \item The type |.path picture| is used with the scope of the
+                optional path picture.
+            \item The type |.path fill| is used with the path used for filling.
+                This is not the same as the normal path in case the path is
+                filled and patterned, for instance.
+            \item The type |.path shade| is used with the path used for shading
+                a path.
+        \end{itemize}
+    \end{command}
+
+    \begin{command}{\pgfpushtype}
+        Pushes the current type on an internal global stack. The idea is to
+        allow you to temporarily change the current type without having to open
+        a \TeX\ scope.
+    \end{command}
+
+    \begin{command}{\pgfpoptype}
+        Restores the most recent type from the internal global stack of types.
+    \end{command}
 \end{command}
 
+\begin{command}{\pgfclearid}
+    Clears the current id (and type) for the local scope.
+\end{command}
 
+\begin{command}{\pgfidrefnextuse\marg{macro}\marg{name}}
+    This command assigns a system layer identifier (the identifier returned by
+    |\pgfsys at new@id|) to the \meta{macro}, namely the one that will be used the
+    \emph{next} time |\pgfuseid| is used. You use this command for ``forward
+    referencing''.
+
+    A typical use case is the following: A key like |whom| for animations uses
+    this command to get the system identifier that will be used for a future
+    object. Then, this identifier can be passed to system layer commands like
+    |\pgfsys at animation@whom|.
+
+    Note that the ``next'' use need not be on the same page (or there may not
+    even be any use at all), in which case the reference will not refer to any
+    object.
+\end{command}
+
+\begin{command}{\pgfidrefprevuse\marg{macro}\marg{name}}
+    Works like |\pgfidrefnextuse|, only it references the most recent
+    \emph{previous} use of the \meta{name}. As for |\pgfidrefnextuse|, the most
+    recent use need not be on the same page.
+\end{command}
+
+\begin{command}{\pgfaliasid\marg{alias}\marg{name}}
+    Creates an alias of a name inside the current \TeX\ scope. After calling
+    this command, you can use \meta{alias} anywhere where you would normally
+    use \meta{name}. Note that the binding between \meta{alias} and \meta{name}
+    is not kept when |\pgfuseid| is used on the \meta{name} (or the
+    \meta{alias}).
+\end{command}
+
+\begin{command}{\pgfgaliasid\marg{1}\marg{2}}
+    Like |\pgfaliasid|, only the alias is set globally.
+\end{command}
+
+\begin{command}{\pgfifidreferenced\marg{name}\marg{then code}\marg{else code}}
+    If \meta{name} has been referenced, \meta{then code} is executed, otherwise
+    \meta{else code}.
+\end{command}
+
+
+\subsection{Resource Description Framework Annotations (RDFa)}
+\label{section-base-rdf}
+
+With certain output formats (in particular, with \textsc{svg}) you can insert
+annotations into the output file following the standard set by the
+\emph{resource description framework} (known as ``\textsc{rdf}'', please
+consult the literature on \textsc{rdf} and \textsc{rdf}a for an introduction to
+resource descriptions and ontologies and their purpose in general). To do so,
+you call one (or several) of the following commands before you call
+|\pgfidscope|. The attributes and values you specify using the commands will
+then be added to the resulting scope (if the driver supports this, which is
+only the case for \textsc{svg} at the moment). As an example, when you write
+%
+\begin{codeexample}[code only]
+\pgfrdfresource{/fruits/apple}
+\pgfidscope
+...
+\pgfendidscope
+\end{codeexample}
+
+in the resulting \textsc{svg} file you get
+%
+\begin{codeexample}[code only]
+<g resource="/fruits/apple">
+  ...
+</g>
+\end{codeexample}
+
+Most of the following commands just set a single attribute for the next id
+scope. In some cases, however, repeated calling of these commands makes sense
+and causes the passed values to accumulate as in the following example:
+%
+\begin{codeexample}[code only]
+\pgfrdfresource{/fruits/apple}
+\pgfrdfproperty{http://foo.com/props/juicy}
+\pgfrdfproperty{http://foo.com/props/green}
+\pgfidscope
+...
+\pgfendidscope
+\end{codeexample}
+
+Now you get:
+%
+\begin{codeexample}[code only]
+<g resource="/fruits/apple"
+   property="http://foo.com/props/juicy http://foo.com/props/green">
+  ...
+</g>
+\end{codeexample}
+
+The following commands ``accumulate'': |\pgfrdfproperty|, |\pgfrdfrel|,
+|\pgfrdfrev| and also the command |\pgfrdftypeof|.
+
+\begin{command}{\pgfrdfabout\marg{text}}
+    Adds the \textsc{rdf} attribute |about="|\meta{text}|"| to the next id
+    scope (please see the \textsc{rdf}a specification for details on the
+    semantics of |about| in the context of the resource description framework).
+\end{command}
+
+The following commands work the same way.
+
+\begin{command}{\pgfrdfcontent\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfdatatype\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfhref\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfinlist}
+\end{command}
+
+\begin{command}{\pgfrdfprefix\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfproperty\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfrel\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfresource\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfrev\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfsrc\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdftypeof\marg{text}}
+\end{command}
+
+\begin{command}{\pgfrdfvocab\marg{text}}
+\end{command}
+
+
 \subsection{Error Messages and Warnings}
 
-Sometimes, a command inside \pgfname\ may fail. In this case, two
-commands are useful to communicate with the author:
+Sometimes, a command inside \pgfname\ may fail. In this case, two commands are
+useful to communicate with the author:
 
 \begin{command}{\pgferror\marg{message}}
-  Stops the processing of the current document and prints out the
-  \meta{message}. In \LaTeX, this will be done using |\PackageError|,
-  otherwise |\errmessage| is used directly.  
+    Stops the processing of the current document and prints out the
+    \meta{message}. In \LaTeX, this will be done using |\PackageError|,
+    otherwise |\errmessage| is used directly.
 \end{command}
 
 \begin{command}{\pgfwarning\marg{message}}
-  Prints the \meta{message} on the output, but does not interrupt the
-  processing. In \LaTeX, this will be done using |\PackageWarning|,
-  otherwise a write to stream $17$ is used.
+    Prints the \meta{message} on the output, but does not interrupt the
+    processing. In \LaTeX, this will be done using |\PackageWarning|, otherwise
+    a write to stream $17$ is used.
 \end{command}

Modified: trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex	2019-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,51 +9,49 @@
 
 
 \section{Shadings}
-
 \label{section-shadings}
 
 \subsection{Overview}
 
 A shading is an area in which the color changes smoothly between different
-colors. Similarly to an image, a shading must first be declared before
-it can be used. Also similarly to an image, a shading is put into a
-\TeX-box. Hence, in order to include a shading in a |{pgfpicture}|,
-you have to use |\pgftext| around it.
+colors. Similarly to an image, a shading must first be declared before it can
+be used. Also similarly to an image, a shading is put into a \TeX-box. Hence,
+in order to include a shading in a |{pgfpicture}|, you have to use |\pgftext|
+around it.
 
-There are different kinds of shadings: horizontal, vertical, radial,
-and functional shadings. However, you can rotate and clip shadings
-like any other graphics object, which allows you to create more
-complicated shadings. Horizontal shadings could be created by rotating
-a vertical shading by 90 degrees, but explicit commands for creating both
-horizontal and vertical shadings are included for convenience.
+There are different kinds of shadings: horizontal, vertical, radial, and
+functional shadings. However, you can rotate and clip shadings like any other
+graphics object, which allows you to create more complicated shadings.
+Horizontal shadings could be created by rotating a vertical shading by 90
+degrees, but explicit commands for creating both horizontal and vertical
+shadings are included for convenience.
 
-Once you have declared a shading, you can insert it into the text using
-the command |\pgfuseshading|. This command cannot be used directly in
-a |{pgfpicture}|, you have to put a |\pgftext| around it. The second
-command for using shadings, |\pgfshadepath|, on the other hand, can
-only be used  inside |{pgfpicture}| environments. It will ``fill'' the
-current path with the shading.
+Once you have declared a shading, you can insert it into the text using the
+command |\pgfuseshading|. This command cannot be used directly in a
+|{pgfpicture}|, you have to put a |\pgftext| around it. The second command for
+using shadings, |\pgfshadepath|, on the other hand, can only be used  inside
+|{pgfpicture}| environments. It will ``fill'' the current path with the
+shading.
 
-A horizontal shading is a horizontal bar of a certain height whose
-color changes smoothly. You must at least specify the colors at the
-left and at the right end of the bar, but you can also add color
-specifications for points in between. For example, suppose you
-wish to create a bar that is red at the left end, green in the
-middle, and blue at the end, and you would like the bar to be 4cm
-long. This could be specified as follows:
+A horizontal shading is a horizontal bar of a certain height whose color
+changes smoothly. You must at least specify the colors at the left and at the
+right end of the bar, but you can also add color specifications for points in
+between. For example, suppose you wish to create a bar that is red at the left
+end, green in the middle, and blue at the end, and you would like the bar to be
+4cm long. This could be specified as follows:
+%
 \begin{codeexample}[code only]
 rgb(0cm)=(1,0,0); rgb(2cm)=(0,1,0); rgb(4cm)=(0,0,1)
 \end{codeexample}
-This line means that at 0cm (the left end) of the bar, the color
-should be red, which has red-green-blue (rgb) components (1,0,0). At
-2cm, the bar should be green, and at 4cm it should be blue.
-Instead of |rgb|, you can currently also specify |gray| as
-color model, in which case only one value is needed, or |color|,
-in which case you must provide the name of a color in parentheses. In
-a color specification the individual specifications must
-be separated using a semicolon, which may be followed by a whitespace
-(like a space or a newline). Individual specifications must be given
-in increasing order.
+%
+This line means that at 0cm (the left end) of the bar, the color should be red,
+which has red-green-blue (rgb) components (1,0,0). At 2cm, the bar should be
+green, and at 4cm it should be blue. Instead of |rgb|, you can currently also
+specify |gray| as color model, in which case only one value is needed, or
+|color|, in which case you must provide the name of a color in parentheses. In
+a color specification the individual specifications must be separated using a
+semicolon, which may be followed by a whitespace (like a space or a newline).
+Individual specifications must be given in increasing order.
 
 
 \subsection{Declaring Shadings}
@@ -60,12 +58,11 @@
 
 \subsubsection{Horizontal and Vertical Shadings}
 
-\begin{command}{\pgfdeclarehorizontalshading\oarg{color list}\marg{shading
-      name}\marg{shading height}\marg{color specification}}
-  Declares a horizontal shading named \meta{shading name} of the specified
-  \meta{height} with the specified colors. The width of the bar is
-  deduced automatically from the maximum dimension in the specification.
-
+\begin{command}{\pgfdeclarehorizontalshading\oarg{color list}\marg{shading name}\marg{shading height}\marg{color specification}}
+    Declares a horizontal shading named \meta{shading name} of the specified
+    \meta{height} with the specified colors. The width of the bar is deduced
+    automatically from the maximum dimension in the specification.
+    %
 \begin{codeexample}[]
 \pgfdeclarehorizontalshading{myshadingA}
   {1cm}{rgb(0cm)=(1,0,0); color(2cm)=(green); color(4cm)=(blue)}
@@ -72,31 +69,27 @@
 \pgfuseshading{myshadingA}
 \end{codeexample}
 
-  The effect of the \meta{color list}, which is a
-  comma-separated list of colors, is the following: Normally, when
-  this list is empty, once a shading has been declared, it becomes
-  ``frozen.'' This means that even if you change a color that was used
-  in the declaration of the shading later on, the shading will not
-  change. By specifying a \meta{color list} you can specify
-  that the shading should be recalculated whenever one of the colors
-  listed in the list changes (this includes effects like color
-  mixins). Thus, when you specify a \meta{color list},                      % TODOsp: mixins --> mixings? (ff) (or is here really the object meant?)
-  whenever the shading is used, \pgfname\ first converts the colors in the
-  list to \textsc{rgb} triples using the current values of the
-  colors and taking any mixins and blends into account. If the
-  resulting \textsc{rgb} triples have not yet been   used, a new
-  shading is internally created and used. Note that if the
-  option \meta{color list} is used, then no shading is created until
-  the first use of |\pgfuseshading|. In particular, the colors
-  mentioned in the shading need not be defined when the declaration is
-  given.
+    The effect of the \meta{color list}, which is a comma-separated list of
+    colors, is the following: Normally, when this list is empty, once a shading
+    has been declared, it becomes ``frozen''. This means that even if you
+    change a color that was used in the declaration of the shading later on,
+    the shading will not change. By specifying a \meta{color list} you can
+    specify that the shading should be recalculated whenever one of the colors
+    listed in the list changes (this includes effects like color mixins). Thus,
+    when you specify a \meta{color list}, whenever the shading is used,
+    \pgfname\ first converts the colors in the list to \textsc{rgb} triples
+    using the current values of the colors and taking any mixins and blends
+    into account. If the resulting \textsc{rgb} triples have not yet been used,
+    a new shading is internally created and used. Note that if the option
+    \meta{color list} is used, then no shading is created until the first use
+    of |\pgfuseshading|. In particular, the colors mentioned in the shading
+    need not be defined when the declaration is given.
 
-  When a shading is recalculated because of a change in the
-  colors mentioned in \meta{color list}, the complete shading
-  is recalculated. Thus even colors not mentioned in the list will be
-  used with their current values, not with the values they had upon
-  declaration.
-
+    When a shading is recalculated because of a change in the colors mentioned
+    in \meta{color list}, the complete shading is recalculated. Thus even
+    colors not mentioned in the list will be used with their current values,
+    not with the values they had upon declaration.
+    %
 \begin{codeexample}[]
 \pgfdeclarehorizontalshading[mycolor]{myshadingB}
   {1cm}{rgb(0cm)=(1,0,0); color(2cm)=(mycolor)}
@@ -105,40 +98,37 @@
 \colorlet{mycolor}{blue}
 \pgfuseshading{myshadingB}
 \end{codeexample}
+    %
 \end{command}
 
-
-\begin{command}{\pgfdeclareverticalshading\oarg{color list}\marg{shading
-      name}\marg{shading width}\marg{color specification}}
-   Declares a vertical shading named \meta{shading name} of the
-   specified \meta{width}. The height of the bar is deduced
-   automatically. The effect of \meta{color list} is the same as for
-   horizontal shadings.
-
+\begin{command}{\pgfdeclareverticalshading\oarg{color list}\marg{shading name}\marg{shading width}\marg{color specification}}
+    Declares a vertical shading named \meta{shading name} of the specified
+    \meta{width}. The height of the bar is deduced automatically. The effect of
+    \meta{color list} is the same as for horizontal shadings.
+    %
 \begin{codeexample}[]
 \pgfdeclareverticalshading{myshadingC}
   {4cm}{rgb(0cm)=(1,0,0); rgb(1.5cm)=(0,1,0); rgb(2cm)=(0,0,1)}
 \pgfuseshading{myshadingC}
 \end{codeexample}
+    %
 \end{command}
 
 
 \subsubsection{Radial Shadings}
 
-\begin{command}{\pgfdeclareradialshading\oarg{color list}\marg{shading
-      name}\marg{center point}\marg{color specification}}
-  Declares a radial shading. A radial shading is a circle whose inner
-  color changes as specified by the color specification. Assuming that
-  the center of the shading is at the origin, the color of the center
-  will be the color specified for 0cm and the color of the border of
-  the circle will be the color for the maximum dimension given in
-  the \meta{color specified}. This maximum will also be the radius of
-  the circle. If the \meta{center point} is not at the
-  origin, the whole shading inside the circle (whose size remains
-  exactly the same) will be distorted such that the given center now
-  has the color specified for 0cm. The effect of \meta{color list} is
-  the same as for horizontal shadings.
-
+\begin{command}{\pgfdeclareradialshading\oarg{color list}\marg{shading name}\marg{center point}\marg{color specification}}
+    Declares a radial shading. A radial shading is a circle whose inner color
+    changes as specified by the color specification. Assuming that the center
+    of the shading is at the origin, the color of the center will be the color
+    specified for 0cm and the color of the border of the circle will be the
+    color for the maximum dimension given in the \meta{color specified}. This
+    maximum will also be the radius of the circle. If the \meta{center point}
+    is not at the origin, the whole shading inside the circle (whose size
+    remains exactly the same) will be distorted such that the given center now
+    has the color specified for 0cm. The effect of \meta{color list} is the
+    same as for horizontal shadings.
+    %
 \begin{codeexample}[]
 \pgfdeclareradialshading{sphere}{\pgfpoint{0.5cm}{0.5cm}}%
   {rgb(0cm)=(0.9,0,0);
@@ -147,6 +137,7 @@
    rgb(1.05cm)=(1,1,1)}
 \pgfuseshading{sphere}
 \end{codeexample}
+    %
 \end{command}
 
 
@@ -153,75 +144,69 @@
 \subsubsection{General (Functional) Shadings}
 
 \begin{command}{\pgfdeclarefunctionalshading\oarg{color list}\marg{shading
-      name}\marg{lower left corner}\marg{upper right corner}\\
-    \marg{init code}\marg{type 4 function}}
-  \emph{Warning: These shadings are the least portable of all and they
-  put the heaviest burden of the renderer. They are slow and,
-  possibly, will not print correctly!}
+    name}\marg{lower left corner}\marg{upper right corner}\\
+    \marg{init code}\marg{type 4 function}%
+}
+    \emph{Warning: These shadings are the least portable of all and they put
+    the heaviest burden of the renderer. They are slow and, possibly, will not
+    print correctly!}
 
-  This command creates a \emph{functional shading}. For such a
-  shading, the color of each point is calculated by calling a function
-  that takes the coordinates of the point as input and yields the
-  color as an output. Note that the function is evaluated by the
-  \emph{renderer}, not by \pgfname\ or \TeX\ or someone else at
-  compile-time. This means that the evaluation of this function has to
-  be done \emph{extremely quickly} and the function should be
-  \emph{very simple}. For this reason, only a very restricted set of
-  operations are possible in the function and functions should be
-  kept small. Any errors in the function will only be noticed by the
-  renderer.
+    This command creates a \emph{functional shading}. For such a shading, the
+    color of each point is calculated by calling a function that takes the
+    coordinates of the point as input and yields the color as an output. Note
+    that the function is evaluated by the \emph{renderer}, not by \pgfname\ or
+    \TeX\ or someone else at compile-time. This means that the evaluation of
+    this function has to be done \emph{extremely quickly} and the function
+    should be \emph{very simple}. For this reason, only a very restricted set
+    of operations are possible in the function and functions should be kept
+    small. Any errors in the function will only be noticed by the renderer.
 
-  The syntax for specifying functions is the following: You use a
-  simplified form of a subset of the PostScript language. This subset
-  will be understood by the PDF-renderer (yes, PDF-renderers do
-  have a basic understanding of PostScript) and also by PostScript
-  renders. This subset is detailed in Section~3.9.4 of the
-  PDF-specification (version 1.7). In essence, the specification
-  states that these functions may contain ``expressions involving
-  integers, real numbers, and boolean values only. There are no
-  composite data structures such as strings or arrays, no procedures,
-  and no variables or names.'' The allowed operators are (exactly) the
-  following: \texttt{abs}, \texttt{add}, \texttt{atan},
-  \texttt{ceiling}, \texttt{cos}, \texttt{cvi}, \texttt{cvr},
-  \texttt{div}, \texttt{exp}, \texttt{floor}, \texttt{idiv},
-  \texttt{ln}, \texttt{log}, \texttt{mod}, \texttt{mul}, \texttt{neg},
-  \texttt{round}, \texttt{sin}, \texttt{sqrt}, \texttt{sub},
-  \texttt{truncate}, \texttt{and}, \texttt{bitshift}, \texttt{eq},
-  \texttt{false}, \texttt{ge}, \texttt{gt}, \texttt{le}, \texttt{lt},
-  \texttt{ne}, \texttt{not}, \texttt{or}, \texttt{true}, \texttt{xor},
-  \texttt{if}, \texttt{ifelse}, \texttt{copy}, \texttt{dup},
-  \texttt{exch}, \texttt{index}, \texttt{pop}.
+    The syntax for specifying functions is the following: You use a simplified
+    form of a subset of the PostScript language. This subset will be understood
+    by the PDF-renderer (yes, PDF-renderers do have a basic understanding of
+    PostScript) and also by PostScript renders. This subset is detailed in
+    Section~3.9.4 of the PDF-specification (version~1.7). In essence, the
+    specification states that these functions may contain ``expressions
+    involving integers, real numbers, and boolean values only. There are no
+    composite data structures such as strings or arrays, no procedures, and no
+    variables or names.'' The allowed operators are (exactly) the following:
+    \texttt{abs}, \texttt{add}, \texttt{atan}, \texttt{ceiling}, \texttt{cos},
+    \texttt{cvi}, \texttt{cvr}, \texttt{div}, \texttt{exp}, \texttt{floor},
+    \texttt{idiv}, \texttt{ln}, \texttt{log}, \texttt{mod}, \texttt{mul},
+    \texttt{neg}, \texttt{round}, \texttt{sin}, \texttt{sqrt}, \texttt{sub},
+    \texttt{truncate}, \texttt{and}, \texttt{bitshift}, \texttt{eq},
+    \texttt{false}, \texttt{ge}, \texttt{gt}, \texttt{le}, \texttt{lt},
+    \texttt{ne}, \texttt{not}, \texttt{or}, \texttt{true}, \texttt{xor},
+    \texttt{if}, \texttt{ifelse}, \texttt{copy}, \texttt{dup}, \texttt{exch},
+    \texttt{index}, \texttt{pop}.
 
-  When the function is evaluated, the top two stack elements are the
-  coordinates of the point for which the color should be computed. The
-  coordinates are dimensionless and given in big points, so for the
-  coordinate $(50bp, 72.27pt)$ the top two stack elements would be
-  \texttt{50.0} and \texttt{72.0}. Otherwise, the (virtual) stack is
-  empty (or should be treated as if it were empty). The function
-  should then replace these two values by three values, representing
-  the red, green, and blue color of the point. The numbers should be
-  real values, not integers since, Apple's PDF renderer is broken in
-  this regard (use cvr at the end if necessary).
+    When the function is evaluated, the top two stack elements are the
+    coordinates of the point for which the color should be computed. The
+    coordinates are dimensionless and given in big points, so for the
+    coordinate $(50bp, 72.27pt)$ the top two stack elements would be
+    \texttt{50.0} and \texttt{72.0}. Otherwise, the (virtual) stack is empty
+    (or should be treated as if it were empty). The function should then
+    replace these two values by three values, representing the red, green, and
+    blue color of the point. The numbers should be real values, not integers
+    since, Apple's PDF renderer is broken in this regard (use cvr at the end if
+    necessary).
 
-  Conceptually, the function will be evaluated once for each point of
-  the rectangle \meta{lower left corner} to \meta{upper right corner},
-  which should be a \pgfname-point expression like
-  |\pgfpoint{100bp}{100bp}|. A renderer may choose to evaluate the
-  function at less points, but, in principle, the function will be
-  evaluated for each pixel independently.
+    Conceptually, the function will be evaluated once for each point of the
+    rectangle \meta{lower left corner} to \meta{upper right corner}, which
+    should be a \pgfname-point expression like |\pgfpoint{100bp}{100bp}|. A
+    renderer may choose to evaluate the function at less points, but, in
+    principle, the function will be evaluated for each pixel independently.
 
-  Because of the rather difficult PostScript syntax, use this macro
-  only \emph{if you know what you are doing} (or if you are
-  adventurous, of course).
+    Because of the rather difficult PostScript syntax, use this macro only
+    \emph{if you know what you are doing} (or if you are adventurous, of
+    course).
 
-  As for other shadings, the optional \meta{color list} is used to
-  determine whether a shading needs to be recalculated when a color
-  has changed.
+    As for other shadings, the optional \meta{color list} is used to determine
+    whether a shading needs to be recalculated when a color has changed.
 
-  The \meta{init code} is executed each time a shading is
-  (re)calculated. Typically, it will contain code to extract
-  coordinates from colors.
-
+    The \meta{init code} is executed each time a shading is (re)calculated.
+    Typically, it will contain code to extract coordinates from colors.
+    %
 \begin{codeexample}[]
 \pgfdeclarefunctionalshading{twospots}
     {\pgfpointorigin}{\pgfpoint{4cm}{4cm}}{}{
@@ -244,20 +229,17 @@
 \pgfuseshading{twospots}
 \end{codeexample}
 
-  Inside the PostScript function \meta{type 4 function} you cannot use
-  colors directly. Rather, you must push the color components on the
-  stack. For this, it is useful to call |\pgfshadecolortorgb| in the
-  \meta{init code}:
+    Inside the PostScript function \meta{type 4 function} you cannot use colors
+    directly. Rather, you must push the color components on the stack. For
+    this, it is useful to call |\pgfshadecolortorgb| in the \meta{init code}:
 
-\begin{command}{\pgfshadecolortorgb\marg{color name}\marg{macro}}
-	This command takes \meta{color name} as input and stores
-  the color's red/green/blue components real numbers between 0.0 and
-  1.0 separated by spaces (which is exactly what you need if you want
-  to push it on a stack) in \meta{macro}. This macro can then be used
-  inside the
-  \meta{type 4 function} argument for |\pgfdeclarefunctionalshading|.
-
-
+    \begin{command}{\pgfshadecolortorgb\marg{color name}\marg{macro}}
+        This command takes \meta{color name} as input and stores the color's
+        red/green/blue components real numbers between 0.0 and 1.0 separated by
+        spaces (which is exactly what you need if you want to push it on a
+        stack) in \meta{macro}. This macro can then be used inside the
+        \meta{type 4 function} argument for |\pgfdeclarefunctionalshading|.
+        %
 \begin{codeexample}[]
 \pgfdeclarefunctionalshading[mycol]{sweep}{\pgfpoint{-1cm}{-1cm}}
 {\pgfpoint{1cm}{1cm}}{\pgfshadecolortorgb{mycol}{\myrgb}}{
@@ -289,17 +271,15 @@
 \pgfuseshading{sweep}
 \end{codeexample}
 
-
-In addition, three macros suffixed with |red|, |green| and |blue|
-are defined, which store the individual components of
-\meta{color name}. These can also
-be used in the \meta{type 4 function} argument.
-
+        In addition, three macros suffixed with |red|, |green| and |blue| are
+        defined, which store the individual components of \meta{color name}.
+        These can also be used in the \meta{type 4 function} argument.
+        %
 \begin{codeexample}[]
 \pgfshadecolortorgb{orange}{\mycol}
 |\mycol|=\mycol |\mycolred|=\mycolred |\mycolgreen|=\mycolgreen |\mycolblue|=\mycolblue
 \end{codeexample}
-\end{command}
+    \end{command}
 
 \begin{codeexample}[]
 \pgfdeclarefunctionalshading[col1,col2,col3,col4]{bilinear interpolation}
@@ -333,6 +313,7 @@
 \colorlet{col4}{green}
 \pgfuseshading{bilinear interpolation}
 \end{codeexample}
+    %
 \end{command}
 
 
@@ -340,10 +321,9 @@
 \label{section-shading-a-path}
 
 \begin{command}{\pgfuseshading\marg{shading name}}
-  Inserts a previously declared shading into the text. If you wish to
-  use it in a |pgfpicture| environment, you should put a |\pgfbox|
-  around it.
-
+    Inserts a previously declared shading into the text. If you wish to use it
+    in a |pgfpicture| environment, you should put a |\pgftext| around it.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfdeclareverticalshading{myshadingD}
@@ -352,58 +332,55 @@
   \pgftext[at=\pgfpoint{2cm}{0.5cm}]{\pgfuseshading{myshadingD}}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfshadepath\marg{shading name}\marg{angle}}
-  This command must be used inside a |{pgfpicture}| environment. The
-  effect is a bit complex, so let us go over it step by step.
+    This command must be used inside a |{pgfpicture}| environment. The effect
+    is a bit complex, so let us go over it step by step.
 
-  First, \pgfname\ will set up a local scope.
+    First, \pgfname\ will set up a local scope.
 
-  Second, it uses the current path to clip everything inside this
-  scope. However, the current path is once more available after the
-  scope, so it can be used, for example, to stroke it.
+    Second, it uses the current path to clip everything inside this scope.
+    However, the current path is once more available after the scope, so it can
+    be used, for example, to stroke it.
 
-  Now, the \meta{shading name} should be a shading whose width and
-  height are 100\,bp, that is, 100 big points. \pgfname\ has a look at
-  the bounding box of the current path. This bounding box is computed
-  automatically when a path is computed; however, it can sometimes be
-  (quite a bit) too large, especially when complicated curves are
-  involved.
+    Now, the \meta{shading name} should be a shading whose width and height are
+    100\,bp, that is, 100 big points. \pgfname\ has a look at the bounding box
+    of the current path. This bounding box is computed automatically when a
+    path is computed; however, it can sometimes be (quite a bit) too large,
+    especially when complicated curves are involved.
 
-  Inside the scope, the low-level transformation matrix is modified.
-  The center of the shading is translated (moved) such that it lies on
-  the center of the bounding box of the path. The low-level coordinate
-  system is also scaled such that the shading ``covers'' the path (the
-  details are a bit more complex, see below). Then, the coordinate
-  system is rotated by \meta{angle}. Finally, if the macro
-  |\pgfsetadditionalshadetransform| has been used, an additional
-  transformation is applied.
+    Inside the scope, the low-level transformation matrix is modified. The
+    center of the shading is translated (moved) such that it lies on the center
+    of the bounding box of the path. The low-level coordinate system is also
+    scaled such that the shading ``covers'' the path (the details are a bit
+    more complex, see below). Then, the coordinate system is rotated by
+    \meta{angle}. Finally, if the macro |\pgfsetadditionalshadetransform| has
+    been used, an additional transformation is applied.
 
-  After everything has been set up, the shading is inserted. Due to
-  the transformations and clippings, the effect will be that  the
-  shading seems to ``fill'' the path.
+    After everything has been set up, the shading is inserted. Due to the
+    transformations and clippings, the effect will be that  the shading seems
+    to ``fill'' the path.
 
-  If both the path and the shadings were always rectangles and if
-  rotations were never involved, it would be easy to scale shadings
-  such they always cover the path. However, when a vertical shading is
-  rotated, it must obviously be ``magnified'' so that it
-  still covers the path. Things get worse when the path is not a
-  rectangle itself.
+    If both the path and the shadings were always rectangles and if rotations
+    were never involved, it would be easy to scale shadings such they always
+    cover the path. However, when a vertical shading is rotated, it must
+    obviously be ``magnified'' so that it still covers the path. Things get
+    worse when the path is not a rectangle itself.
 
-  For these reasons, things work slightly differently ``in reality.''
-  The shading is scaled and translated such that
-  the point $(50\mathrm{bp},50\mathrm{bp})$, which is the middle of
-  the shading, is at the middle of the path and such that the
-  point $(25\mathrm{bp},25\mathrm{bp})$ is at the lower left corner of
-  the path and that  $(75\mathrm{bp},75\mathrm{bp})$  is at upper
-  right corner.
+    For these reasons, things work slightly differently ``in reality''. The
+    shading is scaled and translated such that the point
+    $(50\mathrm{bp},50\mathrm{bp})$, which is the middle of the shading, is at
+    the middle of the path and such that the point
+    $(25\mathrm{bp},25\mathrm{bp})$ is at the lower left corner of the path and
+    that  $(75\mathrm{bp},75\mathrm{bp})$  is at upper right corner.
 
-  In other words, only the center quarter of the shading will actually
-  ``survive the clipping'' if the path is a rectangle. If the path is
-  not a rectangle, but, say, a circle, even less is seen of the
-  shading. Here is an example that demonstrates this effect:
-
+    In other words, only the center quarter of the shading will actually
+    ``survive the clipping'' if the path is a rectangle. If the path is not a
+    rectangle, but, say, a circle, even less is seen of the shading. Here is an
+    example that demonstrates this effect:
+    %
 \begin{codeexample}[]
 \pgfdeclareverticalshading{myshadingE}{100bp}
  {color(0bp)=(red); color(25bp)=(green);  color(75bp)=(blue);  color(100bp)=(black)}
@@ -425,14 +402,12 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  As can be seen above in the last case, the ``hidden'' part of the
-  shading actually \emph{can} become visible if the shading is
-  rotated. The reason is that it is scaled as if no rotation took
-  place, then the rotation is done.
+    As can be seen above in the last case, the ``hidden'' part of the shading
+    actually \emph{can} become visible if the shading is rotated. The reason is
+    that it is scaled as if no rotation took place, then the rotation is done.
 
-  The following graphics show which part of the shading are actually
-  shown:
-
+    The following graphics show which part of the shading are actually shown:
+    %
 \begin{codeexample}[]
 \pgfdeclareverticalshading{myshadingF}{100bp}
  {color(0bp)=(red); color(25bp)=(green);  color(75bp)=(blue);  color(100bp)=(black)}
@@ -455,9 +430,9 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  An advantage of this approach is that when you rotate a radial
-  shading, no distortion is introduced:
-
+    An advantage of this approach is that when you rotate a radial shading, no
+    distortion is introduced:
+    %
 \begin{codeexample}[]
 \pgfdeclareradialshading{ballshading}{\pgfpoint{-10bp}{10bp}}
  {color(0bp)=(red!15!white); color(9bp)=(red!75!white);
@@ -477,11 +452,11 @@
 \end{pgfpicture}
 \end{codeexample}
 
-  If you specify a rotation of $90^\circ$
-  and if the path is not a square, but an elongated rectangle,  the
-  ``desired'' effect results: The shading will exactly vary between
-  the colors at the 25bp and 75bp boundaries. Here is an example:
-
+    If you specify a rotation of $90^\circ$ and if the path is not a square,
+    but an elongated rectangle,  the ``desired'' effect results: The shading
+    will exactly vary between the colors at the 25bp and 75bp boundaries. Here
+    is an example:
+    %
 \begin{codeexample}[]
 \pgfdeclareverticalshading{myshadingG}{100bp}
  {color(0bp)=(red); color(25bp)=(green);  color(75bp)=(blue);  color(100bp)=(black)}
@@ -498,9 +473,9 @@
 \end{pgfpicture}
 \end{codeexample}
 
-
-  As a final example, let us define a ``rainbow spectrum'' shading for
-  use with \tikzname.
+    As a final example, let us define a ``rainbow spectrum'' shading for use
+    with \tikzname.
+    %
 \begin{codeexample}[]
 \pgfdeclareverticalshading{rainbow}{100bp}
  {color(0bp)=(red); color(25bp)=(red); color(35bp)=(yellow);
@@ -512,17 +487,18 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  Note that rainbow shadings are \emph{way} too colorful in almost all
-  applications.
+    Note that rainbow shadings are \emph{way} too colorful in almost all
+    applications.
 \end{command}
 
 \begin{command}{\pgfsetadditionalshadetransform\marg{transformation}}
-    This command allows you to specify an additional transformation
-    that should be applied to shadings when the |\pgfshadepath|
-    command is used. The \meta{transformation} should be
-    transformation code like |\pgftransformrotate{20}|.
+    This command allows you to specify an additional transformation that should
+    be applied to shadings when the |\pgfshadepath| command is used. The
+    \meta{transformation} should be transformation code like
+    |\pgftransformrotate{20}|.
 \end{command}
 
+
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -7,64 +7,58 @@
 %
 % See the file doc/generic/pgf/licenses/LICENSE for more details.
 
+
 \section{Coordinate, Canvas, and Nonlinear Transformations}
 
 \subsection{Overview}
 
-\pgfname\ offers different ways of scaling, shifting, and rotating
-(these operations are generally known as \emph{transformations})
-graphics: You can apply \emph{coordinate transformations} to all
-coordinates, you can apply \emph{canvas transformations} to the
-canvas on which you draw, and you can apply \emph{additional nonlinear
-  transformations.} (The names ``coordinate'' and ``canvas''
-transformations are not standard, I introduce them only for the
-purposes of this manual.) 
+\pgfname\ offers different ways of scaling, shifting, and rotating (these
+operations are generally known as \emph{transformations}) graphics: You can
+apply \emph{coordinate transformations} to all coordinates, you can apply
+\emph{canvas transformations} to the canvas on which you draw, and you can
+apply \emph{additional nonlinear transformations}. (The names ``coordinate''
+and ``canvas'' transformations are not standard, I introduce them only for the
+purposes of this manual.)
 
 The differences are the following:
-
+%
 \begin{itemize}
-\item
-  As the name ``coordinate transformation'' suggests, coordinate
-  transformations apply only to coordinates. For example, when you
-  specify a coordinate like |\pgfpoint{1cm}{2cm}| and you wish to
-  ``use'' this coordinate---for example as an argument to a
-  |\pgfpathmoveto| command---then the coordinate transformation matrix
-  is applied to the coordinate, resulting in a new
-  coordinate. Continuing the example, if the current coordinate
-  transformation is ``scale by a factor of two,'' the coordinate
-  |\pgfpoint{1cm}{2cm}| actually designates the point
-  $(2\mathrm{cm},4\mathrm{cm})$. 
+    \item As the name ``coordinate transformation'' suggests, coordinate
+        transformations apply only to coordinates. For example, when you
+        specify a coordinate like |\pgfpoint{1cm}{2cm}| and you wish to ``use''
+        this coordinate -- for example as an argument to a |\pgfpathmoveto|
+        command -- then the coordinate transformation matrix is applied to the
+        coordinate, resulting in a new coordinate. Continuing the example, if
+        the current coordinate transformation is ``scale by a factor of two'',
+        the coordinate |\pgfpoint{1cm}{2cm}| actually designates the point
+        $(2\mathrm{cm},4\mathrm{cm})$.
 
-  Note that coordinate transformations apply \emph{only} to
-  coordinates. They do not apply to, say, line width or shadings or
-  text.
-\item
-  The effect of a ``canvas transformation'' like ``scale by a factor
-  of two'' can be imagined as follows: You first draw your picture on
-  a ``rubber canvas'' normally. Then, once you are done, the whole
-  canvas is transformed, in this case stretched by a factor of
-  two. In the resulting image \emph{everything} will be larger: Text,
-  lines, coordinates, and shadings.
-\item
-  Nonlinear transformations are a special form of coordinate
-  transformations that are, as the name suggests, not linear. The
-  support for nonlinear transformations is quite different from the
-  support for linear coordinate transformations, the main reason being
-  speed: While linear coordinate transformations can be applied very
-  quickly (\pgfname\ does so almost constantly), nonlinear
-  transformations are much harder to apply and also to use. For this
-  reason, nonlinear transformations are implemented in a special
-  module |nonlineartransformations| that has to be loaded
-  explicitly. By default, they are not available.
+        Note that coordinate transformations apply \emph{only} to coordinates.
+        They do not apply to, say, line width or shadings or text.
+    \item The effect of a ``canvas transformation'' like ``scale by a factor of
+        two'' can be imagined as follows: You first draw your picture on a
+        ``rubber canvas'' normally. Then, once you are done, the whole canvas
+        is transformed, in this case stretched by a factor of two. In the
+        resulting image \emph{everything} will be larger: Text, lines,
+        coordinates, and shadings.
+    \item Nonlinear transformations are a special form of coordinate
+        transformations that are, as the name suggests, not linear. The support
+        for nonlinear transformations is quite different from the support for
+        linear coordinate transformations, the main reason being speed: While
+        linear coordinate transformations can be applied very quickly
+        (\pgfname\ does so almost constantly), nonlinear transformations are
+        much harder to apply and also to use. For this reason, nonlinear
+        transformations are implemented in a special module
+        |nonlineartransformations| that has to be loaded explicitly. By
+        default, they are not available.
 \end{itemize}
 
-In many cases, it is preferable that you use coordinate
-transformations and not canvas transformations. When canvas
-transformations are used, \pgfname\ looses track of the coordinates of
-nodes and shapes. Also, canvas transformations often cause undesirable
-effects like changing text size. For these reasons, \pgfname\ makes it
-easy to setup the coordinate transformation, but a bit harder to
-change the canvas transformation. Because of the speed penalties
+In many cases, it is preferable that you use coordinate transformations and not
+canvas transformations. When canvas transformations are used, \pgfname\ looses
+track of the coordinates of nodes and shapes. Also, canvas transformations
+often cause undesirable effects like changing text size. For these reasons,
+\pgfname\ makes it easy to setup the coordinate transformation, but a bit
+harder to change the canvas transformation. Because of the speed penalties
 caused by nonlinear transformations, they are even harder to set up.
 
 
@@ -71,53 +65,47 @@
 \subsection{Coordinate Transformations}
 \label{section-linear-coordinate-transformations}
 
-\subsubsection{How PGF Keeps Track of the Coordinate Transformation
-  Matrix}
+\subsubsection{How PGF Keeps Track of the Coordinate Transformation Matrix}
 \label{section-transform-cm}
 
-\pgfname\ has an internal coordinate transformation matrix. This
-matrix is applied to coordinates ``in certain situations.'' This means
-that the matrix is not always applied to every coordinate ``no matter
-what.'' Rather, \pgfname\ tries to be reasonably smart at when and how
-this matrix should be applied. The most prominent examples are the
-path construction commands, which apply the coordinate transformation
-matrix to their inputs.
+\pgfname\ has an internal coordinate transformation matrix. This matrix is
+applied to coordinates ``in certain situations''. This means that the matrix is
+not always applied to every coordinate ``no matter what''. Rather, \pgfname\
+tries to be reasonably smart at when and how this matrix should be applied. The
+most prominent examples are the path construction commands, which apply the
+coordinate transformation matrix to their inputs.
 
-The coordinate transformation matrix consists of four numbers $a$,
-$b$, $c$, and $d$, and two dimensions $s$ and $t$. When the coordinate
-transformation matrix is applied to a coordinate $(x,y)$, the new
-coordinate $(ax+by+s,cx+dy+t)$ results. For more details on how
-transformation matrices work in general, please see, for example, the
-\textsc{pdf} or PostScript reference or a textbook on computer
-graphics.
+The coordinate transformation matrix consists of four numbers $a$, $b$, $c$,
+and $d$, and two dimensions $s$ and $t$. When the coordinate transformation
+matrix is applied to a coordinate $(x,y)$, the new coordinate
+$(ax+cy+s,bx+dy+t)$ results. For more details on how transformation matrices
+work in general, please see, for example, the \textsc{pdf} or PostScript
+reference or a textbook on computer graphics.
 
-The coordinate transformation matrix is equal to the identity matrix
-at the beginning. More precisely, $a=1$, $b=0$, $c=0$, $d=1$,
-$s=0\mathrm{pt}$, and $t=0\mathrm{pt}$.
+The coordinate transformation matrix is equal to the identity matrix at the
+beginning. More precisely, $a=1$, $b=0$, $c=0$, $d=1$, $s=0\mathrm{pt}$, and
+$t=0\mathrm{pt}$.
 
-The different coordinate transformation commands will modify the
-matrix by concatenating it with another transformation matrix. This
-way the effect of applying several transformation commands will
-\emph{accumulate}.
+The different coordinate transformation commands will modify the matrix by
+concatenating it with another transformation matrix. This way the effect of
+applying several transformation commands will \emph{accumulate}.
 
-The coordinate transformation matrix is local to the current \TeX\
-group (unlike the canvas transformation matrix, which is local to the
-current |{pgfscope}|). Thus, the effect of adding a coordinate
-transformation to the coordinate transformation matrix will last only
-till the end of the current \TeX\ group.
+The coordinate transformation matrix is local to the current \TeX\ group
+(unlike the canvas transformation matrix, which is local to the current
+|{pgfscope}|). Thus, the effect of adding a coordinate transformation to the
+coordinate transformation matrix will last only till the end of the current
+\TeX\ group.
 
 
-
-
 \subsubsection{Commands for Relative Coordinate Transformations}
 
-The following commands add a basic coordinate transformation to the
-current coordinate transformation matrix. For all commands, the
-transformation is applied \emph{in addition} to any previous
-coordinate transformations.
+The following commands add a basic coordinate transformation to the current
+coordinate transformation matrix. For all commands, the transformation is
+applied \emph{in addition} to any previous coordinate transformations.
 
 \begin{command}{\pgftransformshift\marg{point}}
-  Shifts coordinates by \meta{point}.
+    Shifts coordinates by \meta{point}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -126,10 +114,12 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgftransformxshift\marg{dimensions}}
-  Shifts coordinates by \meta{dimension} along the $x$-axis.
+    Shifts coordinates by \meta{dimension} along the $x$-axis.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -138,14 +128,16 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgftransformyshift\marg{dimensions}}
-  Like |\pgftransformxshift|, only for the $y$-axis.
+    Like |\pgftransformxshift|, only for the $y$-axis.
 \end{command}
 
 \begin{command}{\pgftransformscale\marg{factor}}
-  Scales coordinates by \meta{factor}.
+    Scales coordinates by \meta{factor}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -154,10 +146,12 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgftransformxscale\marg{factor}}
-  Scales coordinates by \meta{factor} in the $x$-direction.
+    Scales coordinates by \meta{factor} in the $x$-direction.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -166,17 +160,17 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgftransformyscale\marg{factor}}
-  Like |\pgftransformxscale|, only for the $y$-axis.
+    Like |\pgftransformxscale|, only for the $y$-axis.
 \end{command}
 
-
 \begin{command}{\pgftransformxslant\marg{factor}}
-  Slants coordinates by \meta{factor} in the $x$-direction. Here, a
-  factor of |1| means $45^\circ$.
+    Slants coordinates by \meta{factor} in the $x$-direction. Here, a factor of
+    |1| means $45^\circ$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -185,11 +179,12 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgftransformyslant\marg{factor}}
-  Slants coordinates by \meta{factor} in the $y$-direction.
+    Slants coordinates by \meta{factor} in the $y$-direction.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -198,12 +193,13 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-  
 
 \begin{command}{\pgftransformrotate\marg{angles}}
-  Rotates coordinates counterclockwise by \meta{angles} given in degrees.
+    Rotates coordinates counterclockwise by \meta{angles} given in degrees.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -212,15 +208,15 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-  
-
 \begin{command}{\pgftransformtriangle\marg{a}\marg{b}\marg{c}}
-  This command transforms the coordinate system in such a way that the
-  triangle given by the points \meta{a}, \meta{b} and \meta{c} lies at
-  the coordinates $(0,0)$, $(1\mathrm{pt},0\mathrm{pt})$ and
-  $(0\mathrm{pt},1\mathrm{pt})$. 
+    This command transforms the coordinate system in such a way that the
+    triangle given by the points \meta{a}, \meta{b} and \meta{c} lies at the
+    coordinates $(0,0)$, $(1\mathrm{pt},0\mathrm{pt})$ and
+    $(0\mathrm{pt},1\mathrm{pt})$.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -228,17 +224,18 @@
   {\pgfpoint{1cm}{0cm}}
   {\pgfpoint{0cm}{2cm}}
   {\pgfpoint{3cm}{1cm}}
-  
+
   \draw (0,0) -- (1pt,0pt) -- (0pt,1pt) -- cycle;
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-  
 \begin{command}{\pgftransformcm\marg{a}\marg{b}\marg{c}\marg{d}\marg{point}}
-  Applies the transformation matrix given by $a$, $b$, $c$, and $d$
-  and the shift \meta{point} to coordinates (in addition to any
-  previous transformations already in force).
+    Applies the transformation matrix given by $a$, $b$, $c$, and $d$ and the
+    shift \meta{point} to coordinates (in addition to any previous
+    transformations already in force).
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -247,12 +244,13 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-  
 \begin{command}{\pgftransformarrow\marg{start}\marg{end}}
-  Shifts coordinates to the end of the line going from \meta{start} 
-  to \meta{end} with the correct rotation. 
+    Shifts coordinates to the end of the line going from \meta{start} to
+    \meta{end} with the correct rotation.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -261,18 +259,18 @@
   \pgftext{tip}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-  
 \begin{command}{\pgftransformlineattime\marg{time}\marg{start}\marg{end}}
-  Shifts coordinates by a specific point on a line at a specific
-  time. The point by which the coordinate is shifted is calculated by
-  calling |\pgfpointlineattime|, see
-  Section~\ref{section-pointsattime}.
+    Shifts coordinates by a specific point on a line at a specific time. The
+    point by which the coordinate is shifted is calculated by calling
+    |\pgfpointlineattime|, see Section~\ref{section-pointsattime}.
 
-  In addition to shifting the coordinate, a rotation \emph{may} also
-  be applied. Whether this is the case depends on whether the \TeX\ if
-  |\ifpgfslopedattime| is set to true or not.
+    In addition to shifting the coordinate, a rotation \emph{may} also be
+    applied. Whether this is the case depends on whether the \TeX\ if
+    |\ifpgfslopedattime| is set to true or not.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -281,6 +279,7 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -290,16 +289,17 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
-  If |\ifpgfslopedattime| is true, another \TeX\ |\if| is important:
-  |\ifpgfallowupsidedowattime|. If this is false, \pgfname\ will
-  ensure that the rotation is done in such a way that text is never
-  ``upside down.''
+    %
+    If |\ifpgfslopedattime| is true, another \TeX\ |\if| is important:
+    |\ifpgfallowupsidedowattime|. If this is false, \pgfname\ will ensure that
+    the rotation is done in such a way that text is never ``upside down''.
 
-  There is another \TeX\ |\if| that influences this command. If you set
-  |\ifpgfresetnontranslationattime| to true, then, between
-  shifting the coordinate and (possibly) rotating/sloping the
-  coordinate, the command |\pgftransformresetnontranslations| is
-  called. See the description of this command for details.
+    There is another \TeX\ |\if| that influences this command. If you set
+    |\ifpgfresetnontranslationattime| to true, then, between shifting the
+    coordinate and (possibly) rotating/sloping the coordinate, the command
+    |\pgftransformresetnontranslations| is called. See the description of this
+    command for details.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -311,6 +311,7 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -322,17 +323,17 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
+\begin{command}{\pgftransformcurveattime\marg{time}\marg{start}\marg{first support}\marg{second support}\marg{end}}
+    Shifts coordinates by a specific point on a curve at a specific time, see
+    Section~\ref{section-pointsattime} once more.
 
-\begin{command}{\pgftransformcurveattime\marg{time}\marg{start}\marg{first
-      support}\marg{second support}\marg{end}}
-  Shifts coordinates by a specific point on a curve at a specific
-  time, see  Section~\ref{section-pointsattime} once more.
-
-  As for the line-at-time transformation command, |\ifpgfslopedattime|
-  decides whether an additional rotation should be applied. Again, the
-  value of |\ifpgfallowupsidedowattime| is also considered. 
+    As for the line-at-time transformation command, |\ifpgfslopedattime|
+    decides whether an additional rotation should be applied. Again, the value
+    of |\ifpgfallowupsidedowattime| is also considered.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -342,6 +343,7 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -352,19 +354,21 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
-  The value of |\ifpgfresetnontranslationsattime| is also taken into account.
+    %
+    The value of |\ifpgfresetnontranslationsattime| is also taken into account.
 \end{command}
 
-
 \begin{command}{\pgftransformarcaxesattime\marg{time
       $t$}\marg{center}\marg{0-degree axis}\marg{90-degree
-      axis}\marg{start angle}\marg{end angle}}
-  Shifts coordinates by a specific point on an arc at a specific
-  time, see  Section~\ref{section-pointsattime} once more.
-  
-  As for the previous commands, |\ifpgfslopedattime|
-  decides whether an additional rotation should be applied and
-  |\ifpgfallowupsidedowattime| is also considered.  
+      axis}\marg{start angle}\marg{end angle}%
+}
+    Shifts coordinates by a specific point on an arc at a specific time, see
+    Section~\ref{section-pointsattime} once more.
+
+    As for the previous commands, |\ifpgfslopedattime| decides whether an
+    additional rotation should be applied and |\ifpgfallowupsidedowattime| is
+    also considered.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -379,47 +383,48 @@
   \pgftext{Hi!}
 \end{tikzpicture}
 \end{codeexample}
-  The value of |\ifpgfresetnontranslationsattime| is also taken into account.
+    %
+    The value of |\ifpgfresetnontranslationsattime| is also taken into account.
 \end{command}
 
-
 {
-  \let\ifpgfslopedattime=\relax
-  \begin{textoken}{\ifpgfslopedattime}
-    Decides whether the ``at time'' transformation commands also
-    rotate coordinates or not.
-  \end{textoken}
+    \let\ifpgfslopedattime=\relax
+    \begin{textoken}{\ifpgfslopedattime}
+        Decides whether the ``at time'' transformation commands also rotate
+        coordinates or not.
+    \end{textoken}
 }
 {
-  \let\ifpgfallowupsidedowattime=\relax
-  \begin{textoken}{\ifpgfallowupsidedowattime}
-    Decides whether the ``at time'' transformation commands should
-    allow the rotation be done in such a way that ``upside-down text''
-    can result.
-  \end{textoken}
+    \let\ifpgfallowupsidedowattime=\relax
+    \begin{textoken}{\ifpgfallowupsidedowattime}
+        Decides whether the ``at time'' transformation commands should allow
+        the rotation be done in such a way that ``upside-down text'' can
+        result.
+    \end{textoken}
 }
 {
-  \let\ifpgfresetnontranslationsattime=\relax
-  \begin{textoken}{\ifpgfresetnontranslationsattime}
-    Decides whether the ``at time'' transformation commands should
-    reset the non-translations between shifting and rotating.
-  \end{textoken}
+    \let\ifpgfresetnontranslationsattime=\relax
+    \begin{textoken}{\ifpgfresetnontranslationsattime}
+        Decides whether the ``at time'' transformation commands should reset
+        the non-translations between shifting and rotating.
+    \end{textoken}
 }
 
 
 \subsubsection{Commands for Absolute Coordinate Transformations}
 
-The coordinate transformation commands introduced up to now are always
-applied in addition to any previous transformations. In contrast, the
-commands presented in the following can be used to change the
-transformation matrix ``in absolute terms.'' Note that this is, in general,
-dangerous and will often produce unexpected effects. You should use
-these commands only if you really know what you are doing.
+The coordinate transformation commands introduced up to now are always applied
+in addition to any previous transformations. In contrast, the commands
+presented in the following can be used to change the transformation matrix ``in
+absolute terms''. Note that this is, in general, dangerous and will often
+produce unexpected effects. You should use these commands only if you really
+know what you are doing.
 
 \begin{command}{\pgftransformreset}
-  Resets the coordinate transformation matrix to the identity
-  matrix. Thus, once this command is given no transformations are
-  applied till the end of the scope.
+    Resets the coordinate transformation matrix to the identity matrix. Thus,
+    once this command is given no transformations are applied till the end of
+    the scope.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -429,20 +434,20 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgftransformresetnontranslations}
-  This command sets the $a$, $b$, $c$, and $d$ part of the coordinate
-  transformation matrix to $a=1$, $b=0$, $c=0$, and $d=1$. However,
-  the current shifting of the matrix is not modified.
+    This command sets the $a$, $b$, $c$, and $d$ part of the coordinate
+    transformation matrix to $a=1$, $b=0$, $c=0$, and $d=1$. However, the
+    current shifting of the matrix is not modified.
 
-  The effect of this command is that any rotation/scaling/slanting is
-  undone in the current \TeX\ group, but the origin is not ``moved
-  back.''
+    The effect of this command is that any rotation/scaling/slanting is undone
+    in the current \TeX\ group, but the origin is not ``moved back''.
 
-  This command is mostly useful directly before a |\pgftext| command
-  to ensure that the text is not scaled or rotated.
+    This command is mostly useful directly before a |\pgftext| command to
+    ensure that the text is not scaled or rotated.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -454,18 +459,19 @@
   \pgftext{shifted only}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgftransforminvert}
-  Replaces the coordinate transformation matrix by a coordinate
-  transformation matrix that ``exactly undoes the original
-  transformation.'' For example, if the original transformation was
-  ``scale by 2 and then shift right by 1cm'' the new one is ``shift
-  left by 1cm and then scale by $1/2$.''
+    Replaces the coordinate transformation matrix by a coordinate
+    transformation matrix that ``exactly undoes the original transformation''.
+    For example, if the original transformation was ``scale by 2 and then shift
+    right by 1cm'' the new one is ``shift left by 1cm and then scale by
+    $1/2$''.
 
-  This command will produce an error if the determinant of
-  the matrix is too small, that is, if the matrix is near-singular.
+    This command will produce an error if the determinant of the matrix is too
+    small, that is, if the matrix is near-singular.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -475,74 +481,71 @@
   \draw[red] (0,0) -- (2,1) -- (1,0);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
+\subsubsection{Saving and Restoring the Coordinate Transformation Matrix}
 
-\subsubsection{Saving and Restoring the Coordinate Transformation
-  Matrix}
+There are two commands for saving and restoring coordinate transformation
+matrices.
 
-There are two commands for saving and restoring coordinate
-transformation matrices.
-
 \begin{command}{\pgfgettransform\marg{macro}}
-  This command will (locally) define \meta{macro} to a representation
-  of the current coordinate transformation matrix. This matrix can
-  later on be reinstalled using |\pgfsettransform|.
+    This command will (locally) define \meta{macro} to a representation of the
+    current coordinate transformation matrix. This matrix can later on be
+    reinstalled using |\pgfsettransform|.
 \end{command}
 
-
 \begin{command}{\pgfsettransform\marg{macro}}
-  Reinstalls a coordinate transformation matrix that was previously
-  saved using |\pgfgettransform|.
+    Reinstalls a coordinate transformation matrix that was previously saved
+    using |\pgfgettransform|.
 \end{command}
 
 \begin{command}{\pgfgettransformentries\marg{macro for a}\marg{macro
       for b}\marg{macro for c}\marg{macro for d}\marg{macro for shift
-      x}\marg{macro for shift y}} 
-  This command is similar to |\pgfgettransform| except that it stores
-  the current coordinate transformation matrix in a set of six
-  macros. 
+      x}\marg{macro for shift y}%
+}
+    This command is similar to |\pgfgettransform| except that it stores the
+    current coordinate transformation matrix in a set of six macros.
 
-  The matrix can later on be reinstalled using
-  |\pgfsettransformentries|. Furthermore, all these macros (or just a
-  few of them) can be used as arguments for |\pgftransformcm|. 
+    The matrix can later on be reinstalled using |\pgfsettransformentries|.
+    Furthermore, all these macros (or just a few of them) can be used as
+    arguments for |\pgftransformcm|.
 \end{command}
 
 \begin{command}{\pgfsettransformentries\marg{a}\marg{b}\marg{c}\marg{d}\marg{shiftx}\marg{shifty}}
-  Reinstalls a coordinate transformation matrix that was previously
-  saved using the storage command |\pgfgettransformentries|. This
-  command can also be used to replace any previously existing
-  coordinate transformation matrix (it is thus equivalent to
-  |\pgftransformreset| followed by |\pgftransformcm|). 
+    Reinstalls a coordinate transformation matrix that was previously saved
+    using the storage command |\pgfgettransformentries|. This command can also
+    be used to replace any previously existing coordinate transformation matrix
+    (it is thus equivalent to |\pgftransformreset| followed by
+    |\pgftransformcm|).
 \end{command}
 
 
-
 \subsubsection{Computing Adjustments for Coordinate Transformations}
 \label{section-adjustment-transformations}
 
 \begin{command}{\pgftransformationadjustments}
-  This command computes ``adjustments'' for the current transformation
-  matrix so that even when you install a transformation matrix that
-  scales everything by a certain factor, you can still draw
-  something of ``an absolute size.'' Suppose for instance that you
-  install a transformation matrix that scales everything by a factor
-  of 4 and you now wish to draw a horizontal line of length 1cm. Then,
-  if you do not reset the transformation matrix, you can draw a line
-  of logical length 2.5mm, which will then get scaled to a line of
-  1cm. Things get more difficult in case you scale things only, say,
-  vertically. In this case, the adjustement necessary for horizontal
-  lines is different from the one needed for vertical lines.
- 
-  This function computes two scaling factors, one for horizontal lines
-  and one for vertical lines, and stores them in the following macros:
-  \begin{command}{\pgfhorizontaltransformationadjustment}
-    When you scale the length of a horizontal line by this factor in
-    the current transformation, you compensate for the
-    scaling. Formally, it is $1/\|\mathit{transform}(1,0)\|_2$, where
-    $\mathit{transform}$ applies the current transformations matrix to
-    the given number.
+    This command computes ``adjustments'' for the current transformation matrix
+    so that even when you install a transformation matrix that scales
+    everything by a certain factor, you can still draw something of ``an
+    absolute size''. Suppose for instance that you install a transformation
+    matrix that scales everything by a factor of 4 and you now wish to draw a
+    horizontal line of length 1cm. Then, if you do not reset the transformation
+    matrix, you can draw a line of logical length 2.5mm, which will then get
+    scaled to a line of 1cm. Things get more difficult in case you scale things
+    only, say, vertically. In this case, the adjustment necessary for
+    horizontal lines is different from the one needed for vertical lines.
+
+    This function computes two scaling factors, one for horizontal lines
+    and one for vertical lines, and stores them in the following macros:
+    %
+    \begin{command}{\pgfhorizontaltransformationadjustment}
+        When you scale the length of a horizontal line by this factor in the
+        current transformation, you compensate for the scaling. Formally, it is
+        $1/\|\mathit{transform}(1,0)\|_2$, where $\mathit{transform}$ applies
+        the current transformations matrix to the given number.
+        %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (2,2);
@@ -552,8 +555,9 @@
     \pgftransformationadjustments
     \draw [blue] (1,0) -- ++(\pgfhorizontaltransformationadjustment,0);
   \end{scope}
-\end{tikzpicture}  
+\end{tikzpicture}
 \end{codeexample}
+        %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (2,2);
@@ -563,65 +567,65 @@
     \pgftransformationadjustments
     \draw [blue] (1,0) -- ++(\pgfhorizontaltransformationadjustment,0);
   \end{scope}
-\end{tikzpicture}  
+\end{tikzpicture}
 \end{codeexample}
-  \end{command}
-  \begin{command}{\pgfverticaltransformationadjustment}
-    $1/\|\mathit{transform}(0,1)\|_2$.
-  \end{command}
- 
-  Note that the ``right'' way to draw a line of absolute length 1cm in
-  a transformed coordinate system is to first compute the start point
-  and to then reset the transformation matrix. The transformation
-  adjustments computed here are important only in situations where you
-  cannot do this, for instance when an |outer xsep| must be set.
+    \end{command}
+    %
+    \begin{command}{\pgfverticaltransformationadjustment}
+        $1/\|\mathit{transform}(0,1)\|_2$.
+    \end{command}
+
+    Note that the ``right'' way to draw a line of absolute length 1cm in a
+    transformed coordinate system is to first compute the start point and to
+    then reset the transformation matrix. The transformation adjustments
+    computed here are important only in situations where you cannot do this,
+    for instance when an |outer xsep| must be set.
 \end{command}
 
 
 \subsection{Canvas Transformations}
 
-The canvas transformation matrix is not managed by \pgfname, but by
-the output format like \pdf\ or PostScript. All that \pgfname\ does is
-to call appropriate low-level |\pgfsys@| commands to change the canvas
-transformation matrix.
+The canvas transformation matrix is not managed by \pgfname, but by the output
+format like \pdf\ or PostScript. All that \pgfname\ does is to call appropriate
+low-level |\pgfsys@| commands to change the canvas transformation matrix.
 
 Unlike coordinate transformations, canvas transformations apply to
-``everything,'' including images, text, shadings, line thickness, and
-so on. The idea is that a canvas transformation really stretches and
-deforms the canvas after the graphic is finished.
+``everything'', including images, text, shadings, line thickness, and so on.
+The idea is that a canvas transformation really stretches and deforms the
+canvas after the graphic is finished.
 
-Unlike coordinate transformations, canvas transformations are local to
-the current |{pgfscope}|, not to the current \TeX\ group. This is due
-to the fact that they are managed by the backend driver, not by \TeX\
-or \pgfname.
+Unlike coordinate transformations, canvas transformations are local to the
+current |{pgfscope}|, not to the current \TeX\ group. This is due to the fact
+that they are managed by the backend driver, not by \TeX\ or \pgfname.
 
-Unlike the coordinate transformation matrix, it is not possible to
-``reset'' the canvas transformation matrix. The only way to change it
-is to concatenate it with another canvas transformation matrix or to
-end the current |{pgfscope}|.
+Unlike the coordinate transformation matrix, it is not possible to ``reset''
+the canvas transformation matrix. The only way to change it is to concatenate
+it with another canvas transformation matrix or to end the current
+|{pgfscope}|.
 
-Unlike coordinate transformations, \pgfname\ does not ``keep track''
-of canvas transformations. In particular, it will not be able to
-correctly save the coordinates of shapes or nodes when a canvas
-transformation is used.
+Unlike coordinate transformations, \pgfname\ does not ``keep track'' of canvas
+transformations. In particular, it will not be able to correctly save the
+coordinates of shapes or nodes when a canvas transformation is used.
 
-\pgfname\ does not offer a whole set of special commands for modifying
-the canvas transformation matrix. Instead, different commands allow
-you to concatenate the canvas transformation matrix with a coordinate
-transformation matrix (and there are numerous commands for specifying
-a coordinate transformation, see the previous section).
 
+\subsubsection{Applying General Canvas Transformations}
+
+\pgfname\ does not offer many commands for modifying the canvas transformation
+matrix. Instead, different commands allow you to concatenate the canvas
+transformation matrix with a coordinate transformation matrix (and there are
+numerous commands for specifying a coordinate transformation, see the previous
+section).
+
 \begin{command}{\pgflowlevelsynccm}
-  This command concatenates the canvas transformation matrix with the
-  current coordinate transformation matrix. Afterward, the coordinate
-  transformation matrix is reset.
+    This command concatenates the canvas transformation matrix with the current
+    coordinate transformation matrix. Afterward, the coordinate transformation
+    matrix is reset.
 
-  The effect of this command is to ``synchronize'' the coordinate
-  transformation matrix and the canvas transformation matrix. All
-  transformations that were previously applied by the coordinate
-  transformations matrix are now applied by the canvas transformation
-  matrix.
-
+    The effect of this command is to ``synchronize'' the coordinate
+    transformation matrix and the canvas transformation matrix. All
+    transformations that were previously applied by the coordinate
+    transformations matrix are now applied by the canvas transformation matrix.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -633,13 +637,13 @@
   \draw[red] (0,0) -- (0.4,.2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgflowlevel\marg{transformation code}}
-  This command concatenates the canvas transformation matrix with the
-  coordinate transformation specified by \meta{transformation code}.
-
+    This command concatenates the canvas transformation matrix with the
+    coordinate transformation specified by \meta{transformation code}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -648,14 +652,14 @@
   \draw      (0,0) -- (0.4,.2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgflowlevelobj\marg{transformation code}\marg{code}}
-  This command creates a local |{pgfscope}|. Inside this scope,
-  |\pgflowlevel| is first called with the argument
-  \meta{transformation code}, then the \meta{code} is inserted. 
-
+    This command creates a local |{pgfscope}|. Inside this scope,
+    |\pgflowlevel| is first called with the argument \meta{transformation
+    code}, then the \meta{code} is inserted.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -664,14 +668,14 @@
   \pgflowlevelobj{\pgftransformxshift{-1cm}}{\draw (0,0) -- (0.4,.2);}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{environment}{{pgflowlevelscope}\marg{transformation code}}
-  This environment first surrounds the \meta{environment contents} by
-  a |{pgfscope}|. Then it calls |\pgflowlevel| with the argument
-  \meta{transformation code}.
-
+    This environment first surrounds the \meta{environment contents} by a
+    |{pgfscope}|. Then it calls |\pgflowlevel| with the argument
+    \meta{transformation code}.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw[help lines] (0,0) grid (3,2);
@@ -684,25 +688,84 @@
   \end{pgflowlevelscope}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{environment}
 
-
 \begin{plainenvironment}{{pgflowlevelscope}\marg{transformation code}}
-  Plain \TeX\ version of the environment.
+    Plain \TeX\ version of the environment.
 \end{plainenvironment}
 
 \begin{contextenvironment}{{pgflowlevelscope}\marg{transformation code}}
-  Con\TeX t version of the environment.
+    Con\TeX t version of the environment.
 \end{contextenvironment}
 
 
+\subsubsection{Establishing View Boxes}
+\label{section-base-view}
+
+A \emph{view box} is like a ``window'' through which you see a graphic. To
+establish a view box, you specify a rectangle -- which is the window -- and
+another rectangle surrounding the to-be-viewed graphic. The graphic will then
+be rescaled and shifted in such a way that the to-be-viewed rectangle matches
+the view box's rectangle as well as possible. Note that establishing a view box
+does, indeed, cause a canvas transformation to be installed.
+
+View boxes are only seldom needed in normal graphics. Their main application is
+with animations since you can \emph{animate} the to-be-viewed rectangle. This
+makes it easy to create animations in which you zoom in, zoom out, and pan a
+graphic.
+
+\begin{environment}{{pgfviewboxscope}\marg{$ll_1$}\marg{$ur_1$}\marg{$ll_2$}\marg{$ur_2$}\marg{meet or slice}}
+    Inside the viewbox scope, the source rectangle (with the two \pgfname\
+    points $ll_1$ and $ur_1$ as corners) will be translated and scaled so that
+    it becomes centered on the target rectangle (with the corners $ll_2$ and
+    $ur_2$) and will, for |meet| as last parameter, be as large as possible so
+    that it fits inside the target and, for |slice|, be as small as possible so
+    that it encompasses the target.
+    %
+\begin{codeexample}[]
+\tikz {
+  \draw [red, very thick] (0,0) rectangle (20mm,20mm);
+  \begin{pgfviewboxscope}
+    {\pgfpoint{5mm}{5mm}}{\pgfpoint{25mm}{15mm}} % Source
+    {\pgfpoint{0mm}{0mm}}{\pgfpoint{20mm}{20mm}} % Target
+    {meet}
+    \draw [blue, very thick] (5mm,5mm) rectangle (25mm,15mm);
+    \draw [thick] (1,1) circle [radius=8mm] node {Hi};
+  \end{pgfviewboxscope} }
+\end{codeexample}
+    %
+\begin{codeexample}[]
+\tikz {
+  \draw [red, very thick] (0,0) rectangle (20mm,20mm);
+  \begin{pgfviewboxscope}
+    {\pgfpoint{5mm}{5mm}}{\pgfpoint{25mm}{15mm}} % Source
+    {\pgfpoint{0mm}{0mm}}{\pgfpoint{20mm}{20mm}} % Target
+    {slice}
+    \draw [blue, very thick] (5mm,5mm) rectangle (25mm,15mm);
+    \draw [thick] (1,1) circle [radius=8mm] node {Hi};
+  \end{pgfviewboxscope} }
+\end{codeexample}
+    %
+\end{environment}
+
+\begin{plainenvironment}{{pgfviewboxscope}\marg{$ll_1$}\marg{$ur_1$}\marg{$ll_2$}\marg{$ur_2$}\marg{meet or slice}}
+    Plain \TeX\ version of the environment.
+\end{plainenvironment}
+
+\begin{contextenvironment}{{pgfviewboxscope}\marg{$ll_1$}\marg{$ur_1$}\marg{$ll_2$}\marg{$ur_2$}\marg{meet or slice}}
+    Con\TeX t version of the environment.
+\end{contextenvironment}
+
+
 \subsection{Nonlinear Transformations}
 \label{section-nonlinear-transformations}
-In order to use nonlinear transformations, you first have to load the
-following \pgfname\ module:
 
+In order to use nonlinear transformations, you first have to load the following
+\pgfname\ module:
+
 \begin{pgfmodule}{nonlineartransformations}
-  Loads the necessary functionality for nonlinear transformations.
+    Loads the necessary functionality for nonlinear transformations.
 \end{pgfmodule}
 
 
@@ -709,38 +772,35 @@
 \subsubsection{Introduction}
 
 The difference between the coordinate transformations introduced in
-Section~\ref{section-linear-coordinate-transformations} above to
-nonlinear transformations is, of course, that the transformations can
-be nonlinear. An example of a nonlinear transformation is the
-transformation underlying polar coordinates: A polar coordinate
-$(r,d)$ gets transformed to the canvas position $(d\cos r,d\sin r)$,
-which is clearly not a linear transformation.
+Section~\ref{section-linear-coordinate-transformations} above to nonlinear
+transformations is, of course, that the transformations can be nonlinear. An
+example of a nonlinear transformation is the transformation underlying polar
+coordinates: A polar coordinate $(r,d)$ gets transformed to the canvas position
+$(d\cos r,d\sin r)$, which is clearly not a linear transformation.
 
-Nonlinear transformations work somewhat like the normal linear
-coordinate transformations in the sense that they apply to coordinate
-and thereby to the construction of paths, but not to things like text
-or line width or shadings. (Indeed, it is not possible to apply
-nonlinear transformations to, say, text.)
+Nonlinear transformations work somewhat like the normal linear coordinate
+transformations in the sense that they apply to coordinate and thereby to the
+construction of paths, but not to things like text or line width or shadings.
+(Indeed, it is not possible to apply nonlinear transformations to, say, text.)
 
-This means that there is a fundamental
-difference between, on the one hand, calling a function like
-|\pgfpointpolar| or specifying a coordinate as |(45:2)| in \tikzname\
-and, on the other hand, installing the nonlinear transformation
+This means that there is a fundamental difference between, on the one hand,
+calling a function like |\pgfpointpolar| or specifying a coordinate as |(45:2)|
+in \tikzname\ and, on the other hand, installing the nonlinear transformation
 ``polar coordinates'' using the command |\pgftransformnonlinear|: In a
-coordinate like |(45:2)| the user explicitly says ``please evaluate
-this one  coordinate in polar coordinate and then continue in the
-normal coordinate system with the result.'' Otherwise nothing changes
-and a line between two points specified in this way is still a
-straight line.
+coordinate like |(45:2)| the user explicitly says ``please evaluate this one
+coordinate in polar coordinate and then continue in the normal coordinate
+system with the result''. Otherwise nothing changes and a line between two
+points specified in this way is still a straight line.
 
-Things are quite different when we install a polar
-\emph{transformation} using |\pgftransformnonlinear|. Now, even a
-seemingly low-level Cartesian coordinate |\pgfqpoint{1pt}{1pt}| will
-get transformed. Even more drastically, what is specified as a
-straight line like
+Things are quite different when we install a polar \emph{transformation} using
+|\pgftransformnonlinear|. Now, even a seemingly low-level Cartesian coordinate
+|\pgfqpoint{1pt}{1pt}| will get transformed. Even more drastically, what is
+specified as a straight line like
+%
 \begin{codeexample}[code only]
 \draw (0,1) -- (1,1);
 \end{codeexample}
+%
 can become curved since \emph{everything} gets transformed.
 
 
@@ -759,19 +819,19 @@
 \makeatother
 
 \begin{command}{\pgftransformnonlinear\marg{transformation code}}
-  This command adds the \meta{transformation code} to the list of non-linear
-  transformations currently in force. Thus, similar to linear
-  coordinate transformations, each additional call to this function
-  adds another transformation to the current \TeX\ scope and the
-  effect ends at the end of the current scope. In practice, however,
-  you typically will not have more than one active nonlinear
-  transformation.
+    This command adds the \meta{transformation code} to the list of non-linear
+    transformations currently in force. Thus, similar to linear coordinate
+    transformations, each additional call to this function adds another
+    transformation to the current \TeX\ scope and the effect ends at the end of
+    the current scope. In practice, however, you typically will not have more
+    than one active nonlinear transformation.
 
-  The job of the \meta{transformation code} is to map a point~$p$
-  given in the registers |\pgf at x| and |\pgf at y| to a new
-  coordinate~$f(p)$, which should be returned in |\pgf at x| and |\pgf at y|
-  as well. As an example, suppose we wish to install polar coordinates
-  as the nonlinear transformation. For this, we need a bit of code:
+    The job of the \meta{transformation code} is to map a point~$p$ given in
+    the registers |\pgf at x| and |\pgf at y| to a new coordinate~$f(p)$, which
+    should be returned in |\pgf at x| and |\pgf at y| as well. As an example, suppose
+    we wish to install polar coordinates as the nonlinear transformation. For
+    this, we need a bit of code:
+    %
 \begin{codeexample}[code only]
 \def\polartransformation{%
   % \pgf at x will contain the radius
@@ -783,28 +843,30 @@
   \pgf at y=\pgfmathresulty\pgf at y%
 }
 \end{codeexample}
-  (In case you wonder why you cannot just call |\pgfpointpolar| at
-  this point: You can, but this function internally uses |\pgf at x|
-  and |\pgf at y| in complicated ways, so you would first have to safe
-  them so some other registers. Also, the above is faster.)
-  
-  If we were to call this function again, we would get something funny
-  like ``polar-polar coordinates,'' so let's not do this. Let us
-  instead have a look at the effect this call has: Once a nonlinear
-  transformation is installed, all subsequent path constructions are
-  affected by this transformation. In particular, a normal grid now
-  becomes the typical ``polar grid.''
+    %
+    (In case you wonder why you cannot just call |\pgfpointpolar| at this
+    point: You can, but this function internally uses |\pgf at x| and |\pgf at y| in
+    complicated ways, so you would first have to safe them so some other
+    registers. Also, the above is faster.)
 
+    If we were to call this function again, we would get something funny like
+    ``polar-polar coordinates'', so let's not do this. Let us instead have a
+    look at the effect this call has: Once a nonlinear transformation is
+    installed, all subsequent path constructions are affected by this
+    transformation. In particular, a normal grid now becomes the typical
+    ``polar grid''.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
   % Start nonlinear transformation
   \pgftransformnonlinear{\polartransformation}% see above
-  
+
   % Draw something with this transformation in force
   \draw (0pt,0mm) grid [xstep=10pt, ystep=5mm] (90pt, 20mm);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
@@ -811,42 +873,41 @@
 \subsubsection{Applying Nonlinear Transformations to Points}
 
 \begin{command}{\pgfpointtransformednonlinear\marg{point}}
-  Works like |\pgfpointtransformed|, but also applies the current
-  nonlinear transformation; that is, it first applies the current
-  linear transformation and then the current nonlinear
-  transformations. Note that, just like |\pgfpointtransformed|, you
-  normally do not call this function directly since it is called
-  internally by the path drawing commands.
+    Works like |\pgfpointtransformed|, but also applies the current nonlinear
+    transformation; that is, it first applies the current linear transformation
+    and then the current nonlinear transformations. Note that, just like
+    |\pgfpointtransformed|, you normally do not call this function directly
+    since it is called internally by the path drawing commands.
 \end{command}
 
 
 \subsubsection{Applying Nonlinear Transformations to Paths}
 
-When a nonlinear transformation is installed, the normal path
-construction commands like |\pgfpathmoveto| get adjusted so that the
-``honour'' the nonlinear transformations currently in force. For
-|\pgfpathmoveto| this is pretty simple: Instead of just applying the
-linear transformation matrix to the point to which the path should
-``jump'' next, we also apply the nonlinear transformation. However,
-for a command like |\pgfpathlineto|, things are much more difficult:
-A straight line will no longer be a straight line!
+When a nonlinear transformation is installed, the normal path construction
+commands like |\pgfpathmoveto| get adjusted so that the ``honour'' the
+nonlinear transformations currently in force. For |\pgfpathmoveto| this is
+pretty simple: Instead of just applying the linear transformation matrix to the
+point to which the path should ``jump'' next, we also apply the nonlinear
+transformation. However, for a command like |\pgfpathlineto|, things are much
+more difficult: A straight line will no longer be a straight line!
 
-In order to make straight lines ``bend'', the following changes are in
-force while a nonlinear transformation is installed:
-
+In order to make straight lines ``bend'', the following changes are in force
+while a nonlinear transformation is installed:
+%
 \begin{enumerate}
-\item Whenever a straight line between two points $p$ and $q$ should
-  be added to the path, either through |\pgfpathlineto| or through
-  |\pgfpathclose|, we replace this straight line by a ``degenerated
-  curve'' from $p$ to $q$ whose control points are at one third and
-  two third of the distance between $p$ and $q$ on the line between
-  $p$ and $q$. In this way, while nonlinear transformations are in
-  force, we only need to transform curves.
-\item Next, suppose we wish to transform a curve from $p$ to $q$ with
-  supports $s$ and $t$. For this, we simply apply the nonlinear
-  transformation $f$ to all four points and draw a line with the
-  results. Note that this mapping is actually not quite satisfactory
-  for long lines that are strongly curved:
+    \item Whenever a straight line between two points $p$ and $q$ should be
+        added to the path, either through |\pgfpathlineto| or through
+        |\pgfpathclose|, we replace this straight line by a ``degenerated
+        curve'' from $p$ to $q$ whose control points are at one third and two
+        third of the distance between $p$ and $q$ on the line between $p$ and
+        $q$. In this way, while nonlinear transformations are in force, we only
+        need to transform curves.
+    \item Next, suppose we wish to transform a curve from $p$ to $q$ with
+        supports $s$ and $t$. For this, we simply apply the nonlinear
+        transformation $f$ to all four points and draw a line with the results.
+        Note that this mapping is actually not quite satisfactory for long
+        lines that are strongly curved:
+        %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -856,28 +917,29 @@
     \draw [red] (0,20mm) -- (90pt,20mm);
   }
   % Here is the curve with controls just transformed:
-  \draw (0:20mm) .. controls (30pt:20mm) and (60pt:20mm) .. (90pt:20mm);  
+  \draw (0:20mm) .. controls (30pt:20mm) and (60pt:20mm) .. (90pt:20mm);
 \end{tikzpicture}
 \end{codeexample}
-  As the example shows, the control points now lie on the arc; but in
-  reality they should point along the tangents at the start and the
-  end. This is exactly when \pgfname\ does through the computation
-  described above.
-\item
-  To overcome the effect of the control points being ``off,'' it is
-  necessary to split up longer curves into smaller parts, which are
-  drawn individually to increase the accuracy. When such splitting
-  occurs, can be configured using the following command: 
-  \begin{command}{\pgfsettransformnonlinearflatness\marg{dimension}
-      (initially 5pt)}
-    Whenever in a to-be-drawn curve the $L^\infty$-distance (maximum
-    of the distances in $x$- and $y$-directions) between the start of
-    a curve and its first control point or between the first and
-    second control points or between the second control point and the
-    end is more than \meta{distance}, the curve gets split in the
-    middle (more precisely, at time $t= 0.5$) and we draw the two
-    parts individually (for them, splitting may occur again, if the
-    curve is still too long).
+        %
+        As the example shows, the control points now lie on the arc; but in
+        reality they should point along the tangents at the start and the end.
+        This is exactly when \pgfname\ does through the computation described
+        above.
+    \item To overcome the effect of the control points being ``off'', it is
+        necessary to split up longer curves into smaller parts, which are drawn
+        individually to increase the accuracy. When such splitting occurs, can
+        be configured using the following command:
+        %
+        \begin{command}{\pgfsettransformnonlinearflatness\marg{dimension} (initially 5pt)}
+            Whenever in a to-be-drawn curve the $L^\infty$-distance (maximum of
+            the distances in $x$- and $y$-directions) between the start of a
+            curve and its first control point or between the first and second
+            control points or between the second control point and the end is
+            more than \meta{distance}, the curve gets split in the middle (more
+            precisely, at time $t= 0.5$) and we draw the two parts individually
+            (for them, splitting may occur again, if the curve is still too
+            long).
+            %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -889,33 +951,31 @@
   }
 \end{tikzpicture}
 \end{codeexample}
-  \end{command}
+        \end{command}
 \end{enumerate}
 
 
 \subsubsection{Applying Nonlinear Transformations to Text}
 
-Earlier, it was pointed that nonlinear transformations do not apply
-to text. Nevertheless, when you use |\pgftext| or |\pgfnode|,
-\pgfname\ will do a sort of ``best effort'' to render the text in
-the nonlinear coordinate system: The point where the text should be
-shown can obviously be computed easily. When then temporarily reset
-the nonlinear transformation and, instead, setup a linear
-transformation that matches the nonlinear transformation at the
-point where the text should be. Then, the text is shown. This means
-that if the text is longer, it will not ``follow'' the nonlinear
-transformation, but near the origin of the text it will look
-``correct.'' As an example, let us add some text at the grid point
-of the above example:
-
+Earlier, it was pointed that nonlinear transformations do not apply to text.
+Nevertheless, when you use |\pgftext| or |\pgfnode|, \pgfname\ will do a sort
+of ``best effort'' to render the text in the nonlinear coordinate system: The
+point where the text should be shown can obviously be computed easily. When
+then temporarily reset the nonlinear transformation and, instead, setup a
+linear transformation that matches the nonlinear transformation at the point
+where the text should be. Then, the text is shown. This means that if the text
+is longer, it will not ``follow'' the nonlinear transformation, but near the
+origin of the text it will look ``correct''. As an example, let us add some
+text at the grid point of the above example:
+%
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
   \pgftransformnonlinear{\polartransformation}% see above
-  
+
   % Draw something with this transformation in force
   \draw (0pt,0mm) grid [xstep=10pt, ystep=5mm] (90pt, 20mm);
-  
+
   \foreach \angle in {0,30,60,90}
     \foreach \dist in {1,2}
       {
@@ -928,22 +988,23 @@
 
 \subsubsection{Approximating Nonlinear Transformations Using Linear Transformations}
 
-At any given point, the current nonlinear transformation can be
-approximated using a linear transformation. The following two
-functions allow you to install such a local approximation:
+At any given point, the current nonlinear transformation can be approximated
+using a linear transformation. The following two functions allow you to install
+such a local approximation:
 
 \begin{command}{\pgfapproximatenonlineartransformation}
-  This command will do two things:
-  \begin{enumerate}
-  \item It clears the nonlinear transformations for the rest of the
-    current \TeX\ scope, so only linear transformations apply.
-  \item However, before removing the nonlinear transformations, the
-    linear transformation matrix is modified so that it mimics the
-    effect the nonlinear transformation had at the origin. That is,
-    after you call this command, drawing something near the origin
-    will look almost the same as if you had not called it.
-  \end{enumerate}
-
+    This command will do two things:
+    %
+    \begin{enumerate}
+        \item It clears the nonlinear transformations for the rest of the
+            current \TeX\ scope, so only linear transformations apply.
+        \item However, before removing the nonlinear transformations, the
+            linear transformation matrix is modified so that it mimics the
+            effect the nonlinear transformation had at the origin. That is,
+            after you call this command, drawing something near the origin will
+            look almost the same as if you had not called it.
+    \end{enumerate}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -952,27 +1013,28 @@
 
   \begin{scope}[shift={(45pt,20mm)}]
     % Draw something near "origin":
-    \draw [red] (-10pt,-10pt) -- (10pt,10pt);    
+    \draw [red] (-10pt,-10pt) -- (10pt,10pt);
     \draw [red] (10pt,-10pt) -- (-10pt,10pt);
 
     % Now draw the same, but in the "approximate" coordinate system:
     \pgfapproximatenonlineartransformation
-    \draw [] (-10pt,-10pt) -- (10pt,10pt);    
+    \draw [] (-10pt,-10pt) -- (10pt,10pt);
     \draw [] (10pt,-10pt) -- (-10pt,10pt);
     \pgftext{foo};
   \end{scope}
 \end{tikzpicture}
-\end{codeexample}  
-  This command is used by |\pgftext| and |\pgfnode| to transform text
-  when a nonlinear transformation is in force.
+\end{codeexample}
+    %
+    This command is used by |\pgftext| and |\pgfnode| to transform text when a
+    nonlinear transformation is in force.
 \end{command}
 
 \begin{command}{\pgfapproximatenonlineartranslation}
-  This command works like the normal approximation command, but it
-  will only approximate how the origin gets translated, it will not
-  approximate the rotation, skewing, or scaling that is involved. This
-  is useful for drawing text at the right position, but without
-  ``mutilating'' the text.
+    This command works like the normal approximation command, but it will only
+    approximate how the origin gets translated, it will not approximate the
+    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{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -981,17 +1043,18 @@
 
   \begin{scope}[shift={(45pt,20mm)}]
     % Draw something near "origin":
-    \draw [red] (-10pt,-10pt) -- (10pt,10pt);    
+    \draw [red] (-10pt,-10pt) -- (10pt,10pt);
     \draw [red] (10pt,-10pt) -- (-10pt,10pt);
 
     % Now draw the same, but in the "approximate" coordinate system:
     \pgfapproximatenonlineartranslation
-    \draw [] (-10pt,-10pt) -- (10pt,10pt);    
+    \draw [] (-10pt,-10pt) -- (10pt,10pt);
     \draw [] (10pt,-10pt) -- (-10pt,10pt);
     \pgftext{foo};
   \end{scope}
 \end{tikzpicture}
-\end{codeexample}  
+\end{codeexample}
+    %
 \end{command}
 
 
@@ -999,27 +1062,26 @@
 \label{section-library-curvilinear}
 
 \begin{pgflibrary}{curvilinear}
-  This library defines commands for computing nonlinear
-  transformations ``along B\'ezier curves''.
+    This library defines commands for computing nonlinear transformations
+    ``along Bézier curves''.
 \end{pgflibrary}
 
-Up to now, our running example for a nonlinear transformation was
-polar transformation. However, is \pgfname\ nonlinear transformations
-are \emph{actually} mainly used for transforming arrow tips; and these
-need to be transformed ``along curves.'' The |curvilinear| library
-defines a number of commands that offer the necessary computations for
-such transformations.
+Up to now, our running example for a nonlinear transformation was polar
+transformation. However, is \pgfname\ nonlinear transformations are
+\emph{actually} mainly used for transforming arrow tips; and these need to be
+transformed ``along curves''. The |curvilinear| library defines a number of
+commands that offer the necessary computations for such transformations.
 
-\begin{command}{\pgfsetcurvilinearbeziercurve\marg{start}\marg{first
-      support}\marg{second support}\marg{end}}
-  Prior to using any other command from this library, you first call
-  this function to ``install'' a B\'ezier curve to which the commands
-  will refer. This curve will be local to the current \TeX\ scope and
-  you can install only one curve at a time.
+\begin{command}{\pgfsetcurvilinearbeziercurve\marg{start}\marg{first support}\marg{second support}\marg{end}}
+    Prior to using any other command from this library, you first call this
+    function to ``install'' a Bézier curve to which the commands will refer.
+    This curve will be local to the current \TeX\ scope and you can install
+    only one curve at a time.
 
-  The main job of this command is to store the passed points
-  internally and to build a lookup table for distance-to-time
-  conversions, see the next command.
+    The main job of this command is to store the passed points internally and
+    to build a lookup table for distance-to-time conversions, see the next
+    command.
+    %
 \begin{codeexample}[code only]
 \pgfsetcurvilinearbeziercurve
   {\pgfpointorigin}
@@ -1027,33 +1089,34 @@
   {\pgfpoint{2cm}{1cm}}
   {\pgfpoint{3cm}{0cm}}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfcurvilineardistancetotime\marg{distance}}
-  This command does a ``distance-to-time-conversion'': It tries to
-  compute a time $t$, returned in |\pgf at x|, that corresponds to
-  travelling \meta{distance} along the curve that has last been
-  installed using the command   |\pgfsetcurvilinearbeziercurve|. The distance-to-time-conversion
-  uses the precomputations done by that command. Note that several
-  compromises had to be made between speed and accuracy:
-  \begin{itemize}
-  \item The conversion will be best near the start of the curve.
-  \item The more ``degenerate'' the curve, the worse the results.
-  \end{itemize}
+    This command does a ``distance-to-time-conversion'': It tries to compute a
+    time $t$, returned in |\pgf at x|, that corresponds to travelling
+    \meta{distance} along the curve that has last been installed using the
+    command |\pgfsetcurvilinearbeziercurve|. The distance-to-time-conversion
+    uses the precomputations done by that command. Note that several
+    compromises had to be made between speed and accuracy:
+    %
+    \begin{itemize}
+        \item The conversion will be best near the start of the curve.
+        \item The more ``degenerate'' the curve, the worse the results.
+    \end{itemize}
 \end{command}
 
-
 \begin{command}{\pgfpointcurvilinearbezierorthogonal\marg{distance}\marg{offset}}
-  This command computes the following point: Consider the curve
-  last installed using the command |\pgfsetcurvilinearbeziercurve|. We
-  travel along this curve by \meta{distance}, arriving at a point
-  $p$. Then, we turn by $90^\circ$ and travel by \meta{offset} units
-  ``aways from the curve,'' arriving at a point $q$. This point $q$
-  will now be returned in |\pgf at x| and |\pgf at y|; furthermore, the
-  transformed local coordinate system at point $q$ will also be
-  returned |\pgf at xa| and the other registers, see
-  |\pgftransformnonlinear| for details.
-  \makeatletter
+    This command computes the following point: Consider the curve last
+    installed using the command |\pgfsetcurvilinearbeziercurve|. We travel
+    along this curve by \meta{distance}, arriving at a point $p$. Then, we turn
+    by $90^\circ$ and travel by \meta{offset} units ``always from the curve'',
+    arriving at a point $q$. This point $q$ will now be returned in |\pgf at x|
+    and |\pgf at y|; furthermore, the transformed local coordinate system at point
+    $q$ will also be returned |\pgf at xa| and the other registers, see
+    |\pgftransformnonlinear| for details.
+    %
+\makeatletter
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -1087,27 +1150,27 @@
     (0mm,20mm) .. controls (10mm,20mm) and (10mm,10mm) .. (20mm,10mm);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfpointcurvilinearbezierpolar\marg{x}\marg{y}}
-  This command is similar to the previous version, but the
-  transformation is different: The idea is that a line form $(0,0)$ to
-  $(x,0)$ gets transformed to the curve from the start of the curve to
-  a point at distance $x$ along the curve. This is identical to what
-  the ``orthogonal'' transformation above also does. The difference is
-  that a line from $(0,0)$ to $(0,y)$ gets still transformed to an
-  initial segment of the curve of a length of $y$, but now rotated by
-  $90^\circ$. In general, the point $p = (x,y)$ gets transferred to a
-  point that at distance $|p| = \sqrt{x^2+y^2}$ along the curve, but
-  rotated by the angle of $p$ relative to the $x$-axis.
+    This command is similar to the previous version, but the transformation is
+    different: The idea is that a line form $(0,0)$ to $(x,0)$ gets transformed
+    to the curve from the start of the curve to a point at distance $x$ along
+    the curve. This is identical to what the ``orthogonal'' transformation
+    above also does. The difference is that a line from $(0,0)$ to $(0,y)$ gets
+    still transformed to an initial segment of the curve of a length of $y$,
+    but now rotated by $90^\circ$. In general, the point $p = (x,y)$ gets
+    transferred to a point that at distance $|p| = \sqrt{x^2+y^2}$ along the
+    curve, but rotated by the angle of $p$ relative to the $x$-axis.
 
-  All of these computations mainly have the following effect: Two
-  straight lines from the start of the curve as in a |Straight Barb|
-  arrow tip get transformed to an initial segment of the curve whose
-  length is the length of the two lines, but this segment gets rotated
-  by the angle of the two lines. 
-  \makeatletter
+    All of these computations mainly have the following effect: Two straight
+    lines from the start of the curve as in a |Straight Barb| arrow tip get
+    transformed to an initial segment of the curve whose length is the length
+    of the two lines, but this segment gets rotated by the angle of the two
+    lines.
+    %
+\makeatletter
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -1145,13 +1208,14 @@
     (0mm,20mm) .. controls (10mm,20mm) and (10mm,10mm) .. (20mm,10mm);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 
-%%% Local Variables: 
+%%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"
-%%% End: 
+%%% End:
 
 % LocalWords:  nonlineartransformations PGF cx dy pdf PostScript pgfscope xstep
 % LocalWords:  Reinstalls shiftx backend pgflowlevelscope ystep ezier lookup xa

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -9,24 +9,22 @@
 
 
 \section{Transparency}
-
 \label{section-transparency}
 
+For an introduction to the notion of transparency, fadings, and transparency
+groups, please consult Section~\ref{section-tikz-transparency}.
 
-For an introduction to the notion of transparency, fadings, and
-transparency groups, please consult Section~\ref{section-tikz-transparency}.
 
-
 \subsection{Specifying a Uniform Opacity}
 
 Specifying a stroke and/or fill opacity is quite easy.
 
 \begin{command}{\pgfsetstrokeopacity\marg{value}}
-  Sets the opacity of stroking operations. The \meta{value} should be
-  a number between |0| and |1|, where |1| means ``fully opaque'' and
-  |0| means ``fully transparent.'' A value like |0.5| will cause paths
-  to be stroked in a semitransparent way.
-
+    Sets the opacity of stroking operations. The \meta{value} should be a
+    number between |0| and |1|, where |1| means ``fully opaque'' and |0| means
+    ``fully transparent''. A value like |0.5| will cause paths to be stroked in
+    a semitransparent way.
+    %
 \begin{codeexample}[]
 \begin{pgfpicture}
   \pgfsetlinewidth{5mm}
@@ -37,15 +35,15 @@
   \pgfpathcircle{\pgfpoint{1cm}{0cm}}{10mm} \pgfusepath{stroke}
 \end{pgfpicture}
 \end{codeexample}
+    %
 \end{command}
 
-
 \begin{command}{\pgfsetfillopacity\marg{value}}
-  Sets the opacity of filling operations. As for stroking, the
-  \meta{value} should be a number between |0| and~|1|.
+    Sets the opacity of filling operations. As for stroking, the \meta{value}
+    should be a number between |0| and~|1|.
 
-  The ``filling transparency'' will also be used for text and images.
-
+    The ``filling transparency'' will also be used for text and images.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \pgfsetfillopacity{0.5}
@@ -54,12 +52,12 @@
   \fill[blue]  (-30:1cm) circle (11mm);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-Note the following effect: If you set up a certain opacity for stroking
-or filling and you stroke or fill the same area twice, the effect
-accumulates:
-
+Note the following effect: If you set up a certain opacity for stroking or
+filling and you stroke or fill the same area twice, the effect accumulates:
+%
 \begin{codeexample}[]
 \begin{tikzpicture}
   \pgfsetfillopacity{0.5}
@@ -77,52 +75,49 @@
 To set the blend mode, use the following command:
 
 \begin{command}{\pgfsetblendmode\marg{mode}}
-  Sets the blend mode to one of the values described in
-  Section~\ref{section-blend-modes}. As described there, blend modes
-  are an advanced feature of \textsc{pdf} and not always rendered
-  correctly.
-
-  
+    Sets the blend mode to one of the values described in
+    Section~\ref{section-blend-modes}. As described there, blend modes are an
+    advanced feature of \textsc{pdf} and not always rendered correctly.
+    %
 \begin{codeexample}[]
 \tikz [transparency group] {
   \pgfsetblendmode{screen}
-  
+
   \fill[red!90!black]   ( 90:.6) circle (1);
   \fill[green!80!black] (210:.6) circle (1);
   \fill[blue!90!black]  (330:.6) circle (1);
 }
 \end{codeexample}
+    %
 \end{command}
 
 
 \subsection{Specifying a Fading}
 
-The method used by \pgfname\ for specifying fadings is quite
-general: You ``paint'' the fading using any of the standard graphics
-commands. In more detail: You create a normal picture, which may even
-contain text, image, and shadings. Then, you create a fading based on
-this picture. For this, the \emph{luminosity} of each pixel of the
-picture is analyzed (the brighter the pixel, the higher the luminosity
--- a black pixel has luminosity $0$, a white pixel has luminosity $1$,
-a gray pixel has some intermediate value as does a red pixel). Then,
-when the fading is used, the luminosity of the pixel determines the
-opacity of the fading at that position. Positions in the fading where
-the picture was black will be completely transparent, positions where
-the picture was white will be completely opaque. Positions that have
-not been painted at all in the picture are always completely
-transparent.
+The method used by \pgfname\ for specifying fadings is quite general: You
+``paint'' the fading using any of the standard graphics commands. In more
+detail: You create a normal picture, which may even contain text, image, and
+shadings. Then, you create a fading based on this picture. For this, the
+\emph{luminosity} of each pixel of the picture is analyzed (the brighter the
+pixel, the higher the luminosity -- a black pixel has luminosity $0$, a white
+pixel has luminosity $1$, a gray pixel has some intermediate value as does a
+red pixel). Then, when the fading is used, the luminosity of the pixel
+determines the opacity of the fading at that position. Positions in the fading
+where the picture was black will be completely transparent, positions where the
+picture was white will be completely opaque. Positions that have not been
+painted at all in the picture are always completely transparent.
 
-
 \begin{command}{\pgfdeclarefading\marg{name}\marg{contents}}
-  This command declares a fading named \meta{name} for later use. The
-  ``picture'' on which the fading is based is given by the
-  \meta{contents}. The \meta{contents} are normally typeset in a \TeX\
-  box. The resulting box is then used as the ``picture.'' In
-  particular, inside the \meta{contents} you must explicitly open a
-  |{pgfpicture}| environment if you wish to use \pgfname\ commands.
+    This command declares a fading named \meta{name} for later use. The
+    ``picture'' on which the fading is based is given by the \meta{contents}.
+    The \meta{contents} are normally typeset in a \TeX\ box. The resulting box
+    is then used as the ``picture''. In particular, inside the \meta{contents}
+    you must explicitly open a |{pgfpicture}| environment if you wish to use
+    \pgfname\ commands.
 
-  Let's start with an easy example. Our first fading picture is just
-  some text:
+    Let's start with an easy example. Our first fading picture is just some
+    text:
+    %
 \begin{codeexample}[]
 \pgfdeclarefading{fading1}{\color{white}Ti\emph{k}Z}
 \begin{tikzpicture}
@@ -132,32 +127,31 @@
   \fill [red] (0,0) rectangle (2,2);
 \end{tikzpicture}
 \end{codeexample}
-  What's happening here? The ``fading picture'' is mostly transparent,
-  except for the pixels that are part of the word Ti\emph{k}Z. Now,
-  these pixels are \emph{white} and, thus, have a high
-  luminosity. This in turn means that these pixels of the fading will
-  be highly opaque. For this reason, only those pixels of the big red
-  rectangle ``shine through'' that are at the positions of these
-  opaque pixels.
+    %
+    What's happening here? The ``fading picture'' is mostly transparent, except
+    for the pixels that are part of the word Ti\emph{k}Z. Now, these pixels are
+    \emph{white} and, thus, have a high luminosity. This in turn means that
+    these pixels of the fading will be highly opaque. For this reason, only
+    those pixels of the big red rectangle ``shine through'' that are at the
+    positions of these opaque pixels.
 
-  It is somewhat counter-intuitive that the white pixels in a fading
-  picture are opaque in a fading. For this reason, the color
-  |pgftransparent| is defined to be the same as |black|. This allows
-  one to write |pgftransparent| for completely transparent parts of a
-  fading picture and |pgftransparent!0| for the opaque parts and
-  things like |pgftransparent!20| for parts that are 20\%
-  transparent.
+    It is somewhat counter-intuitive that the white pixels in a fading picture
+    are opaque in a fading. For this reason, the color |pgftransparent| is
+    defined to be the same as |black|. This allows one to write
+    |pgftransparent| for completely transparent parts of a fading picture and
+    |pgftransparent!0| for the opaque parts and things like |pgftransparent!20|
+    for parts that are 20\% transparent.
 
-  Furthermore, the color |pgftransparent!0| (which is the same as
-  white and which corresponds to completely opaque) is installed at
-  the beginning of a fading picture. Thus, in the above example the
-  |\color{white}| was not really necessary.
+    Furthermore, the color |pgftransparent!0| (which is the same as white and
+    which corresponds to completely opaque) is installed at the beginning of a
+    fading picture. Thus, in the above example the |\color{white}| was not
+    really necessary.
 
-  Next, let us create a fading that gets more and more transparent as
-  we go from left to right. For this, we put a shading inside the
-  fading picture that has the color |pgftransparent!0| at the
-  left-hand side and the color |pgftransparent!100| at the right-hand
-  side.
+    Next, let us create a fading that gets more and more transparent as we go
+    from left to right. For this, we put a shading inside the fading picture
+    that has the color |pgftransparent!0| at the left-hand side and the color
+    |pgftransparent!100| at the right-hand side.
+    %
 \begin{codeexample}[]
 \pgfdeclarefading{fading2}
 {\tikz \shade[left color=pgftransparent!0,
@@ -170,8 +164,8 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  In our final example, we create a fading that is based on a radial
-  shading.
+    In our final example, we create a fading that is based on a radial shading.
+    %
 \begin{codeexample}[]
 \pgfdeclareradialshading{myshading}{\pgfpointorigin}
 {
@@ -188,29 +182,30 @@
   \fill [red] (0,0) rectangle (2,2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
-After having declared a fading, we can use it. As for shadings, there
-are different commands for using fadings:
+After having declared a fading, we can use it. As for shadings, there are
+different commands for using fadings:
 
 \begin{command}{\pgfsetfading\marg{name}\marg{transformations}}
-  This command sets the graphic state parameter ``fading'' to a
-  previously defined fading \meta{name}. This graphic state works like
-  other graphic states, that is, is persists till the end of the
-  current scope or until a different transparency setting is chosen.
+    This command sets the graphic state parameter ``fading'' to a previously
+    defined fading \meta{name}. This graphic state works like other graphic
+    states, that is, is persists till the end of the current scope or until a
+    different transparency setting is chosen.
 
-  When the fading is installed, it will be centered on the origin with
-  its natural size. Anything outside the fading picture's original
-  bounding box will be transparent and, thus, the fading effectively
-  clips against this bounding box.
+    When the fading is installed, it will be centered on the origin with its
+    natural size. Anything outside the fading picture's original bounding box
+    will be transparent and, thus, the fading effectively clips against this
+    bounding box.
 
-  The \meta{transformations} are applied to the fading before it is
-  used. They contain normal \pgfname\ transformation commands like
-  |\pgftransformshift|. You can also scale the fading using this
-  command. Note, however, that the transformation needs to be inverted
-  internally, which may result in inaccuracies and the following
-  graphics may be slightly distorted if you use a strong
-  \meta{transformation}.
+    The \meta{transformations} are applied to the fading before it is used.
+    They contain normal \pgfname\ transformation commands like
+    |\pgftransformshift|. You can also scale the fading using this command.
+    Note, however, that the transformation needs to be inverted internally,
+    which may result in inaccuracies and the following graphics may be slightly
+    distorted if you use a strong \meta{transformation}.
+    %
 \begin{codeexample}[]
 \pgfdeclarefading{fading2}
 {\tikz \shade[left color=pgftransparent!0,
@@ -222,6 +217,7 @@
   \fill [red] (0,0) rectangle (2,2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \fill [black!20] (0,0) rectangle (2,2);
@@ -231,28 +227,29 @@
   \fill [red] (0,0) rectangle (2,2);
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
 \begin{command}{\pgfsetfadingforcurrentpath\marg{name}\marg{transformations}}
-  This command works like |\pgfsetfading|, but the fading is scaled
-  and transformed according to the following rules:
-  \begin{enumerate}
-  \item
-    If the current path is empty, the command has the same effect as
-    |\pgfsetfading|.
-  \item
-    Otherwise it is assumed that the fading has a size of 100bp times
-    100bp.
-  \item
-    The fading is resized and shifted (using appropriate
-    transformations) such that the position
-    $(25\mathrm{bp},25\mathrm{bp})$ lies at the lower-left corner of
-    the current path and the position $(75\mathrm{bp},75\mathrm{bp})$
-    lies at the upper-right corner of the current path.
-  \end{enumerate}
-  Note that these rules are the same as the ones used in
-  |\pgfshadepath| for shadings. After these transformations, the
-  \meta{transformations} are executed (typically a rotation).
+    This command works like |\pgfsetfading|, but the fading is scaled and
+    transformed according to the following rules:
+    %
+    \begin{enumerate}
+        \item If the current path is empty, the command has the same effect as
+            |\pgfsetfading|.
+        \item Otherwise it is assumed that the fading has a size of 100bp times
+            100bp.
+        \item The fading is resized and shifted (using appropriate
+            transformations) such that the position
+            $(25\mathrm{bp},25\mathrm{bp})$ lies at the lower-left corner of
+            the current path and the position $(75\mathrm{bp},75\mathrm{bp})$
+            lies at the upper-right corner of the current path.
+    \end{enumerate}
+    %
+    Note that these rules are the same as the ones used in |\pgfshadepath| for
+    shadings. After these transformations, the \meta{transformations} are
+    executed (typically a rotation).
+    %
 \begin{codeexample}[]
 \pgfdeclarehorizontalshading{shading}{100bp}
 { color(0pt)=(transparent!0);    color(25bp)=(transparent!0);
@@ -277,16 +274,16 @@
   \fill [red] (0,1) rectangle (2,2);
 \end{tikzpicture}
 \end{codeexample}
-
+    %
 \end{command}
 
 \begin{command}{\pgfsetfadingforcurrentpathstroked\marg{name}\marg{transformations}}
-  This command works line |\pgfsetfadingforcurrentpath|, only the
-  current path is enlarged by the line width in both $x$- and
-  $y$-direction. This is exactly the enlargement necessary to
-  compensate for the fact that if the current path will be stroked,
-  this much needs to be added around the path's bounding box to
-  actually contain the path.
+    This command works line |\pgfsetfadingforcurrentpath|, only the current
+    path is enlarged by the line width in both $x$- and $y$-direction. This is
+    exactly the enlargement necessary to compensate for the fact that if the
+    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{tikzpicture}
   \pgfsetlinewidth{2mm}
@@ -296,59 +293,62 @@
   \pgfusepath{stroke}
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{command}
 
+
 \subsection{Transparency Groups}
 
 Transparency groups are declared using the following commands.
 
 \begin{environment}{{pgftransparencygroup}\opt{\oarg{options}}}
-  This environment should only be used inside a |{pgfpicture}|. It has
-  the following effect:
-  \begin{enumerate}
-  \item The \meta{environment contents} are stroked/filled
-    ``ignoring any outside transparency.'' This means, all previous
-    transparency settings are ignored (you can still set transparency
-    inside the group, but never mind). This means that if in the
-    \meta{environment contents} you stroke a pixel three times in
-    black, it is just black. Stroking it white afterwards yields a
-    white pixel, and so on.
-  \item When the group is finished, it is painted as a whole. The
-    \emph{fill} transparency settings are now applied to the resulting
-    picture. For instance, the pixel that has been painted three times
-    in black and once in white is just white at the end, so this white
-    color will be blended with whatever is ``behind'' the group on the
-    page.
-  \end{enumerate}
-  
-  The optional \meta{options} are keys that configure the transparency
-  group further. Two keys are currently defined:
-  \begin{itemize}
-  \item \declare{|knockout|\opt{|=|\meta{true or false}}} Configures
-    whether the group is a knockout group (if no argument is given,
-    |true| is assumed; initially the key is always false, even when
-    the command is used in a nested manner.) See
-    Section~\ref{section-transparency-groups} for details on knockout groups.
-  \item \declare{|isolated|\opt{|=|\meta{true or false}}} Similar, but
-    configures whether the group is an isolated group. Also see
-    Section~\ref{section-transparency-groups} for details on isolated groups.
-  \end{itemize}
-    
-  Note that, depending on the driver, \pgfname\ may have to guess the
-  size of the contents of the transparency group (because such a group
-  is put in an XForm in \textsc{pdf} and a bounding box must be
-  supplied). \pgfname\ will use normally use the size of the picture's
-  bounding box at the end of the transparency group plus a safety
-  margin of 1cm. Under normal circumstances, this will work nicely
-  since the picture's bounding box contains everything
-  anyway. However, if you have switched off the picture size tracking
-  or if you are using canvas transformations, you may have to make
-  sure that the bounding box is big enough. The trick is to locally
-  create a picture that is ``large enough'' and then insert this
-  picture into the main picture while ignoring the size. The following
-  example shows how this is done:
+    This environment should only be used inside a |{pgfpicture}|. It has the
+    following effect:
+    %
+    \begin{enumerate}
+        \item The \meta{environment contents} are stroked/filled ``ignoring any
+            outside transparency''. This means, all previous transparency
+            settings are ignored (you can still set transparency inside the
+            group, but never mind). This means that if in the \meta{environment
+            contents} you stroke a pixel three times in black, it is just
+            black. Stroking it white afterwards yields a white pixel, and so
+            on.
+        \item When the group is finished, it is painted as a whole. The
+            \emph{fill} transparency settings are now applied to the resulting
+            picture. For instance, the pixel that has been painted three times
+            in black and once in white is just white at the end, so this white
+            color will be blended with whatever is ``behind'' the group on the
+            page.
+    \end{enumerate}
 
+    The optional \meta{options} are keys that configure the transparency group
+    further. Two keys are currently defined:
+    %
+    \begin{itemize}
+        \item \declare{|knockout|\opt{|=|\meta{true or false}}} Configures
+            whether the group is a knockout group (if no argument is given,
+            |true| is assumed; initially the key is always false, even when the
+            command is used in a nested manner.) See
+            Section~\ref{section-transparency-groups} for details on knockout
+            groups.
+        \item \declare{|isolated|\opt{|=|\meta{true or false}}} Similar, but
+            configures whether the group is an isolated group. Also see
+            Section~\ref{section-transparency-groups} for details on isolated
+            groups.
+    \end{itemize}
 
+    Note that, depending on the driver, \pgfname\ may have to guess the size of
+    the contents of the transparency group (because such a group is put in an
+    XForm in \textsc{pdf} and a bounding box must be supplied). \pgfname\ will
+    use normally use the size of the picture's bounding box at the end of the
+    transparency group plus a safety margin of 1cm. Under normal circumstances,
+    this will work nicely since the picture's bounding box contains everything
+    anyway. However, if you have switched off the picture size tracking or if
+    you are using canvas transformations, you may have to make sure that the
+    bounding box is big enough. The trick is to locally create a picture that
+    is ``large enough'' and then insert this picture into the main picture
+    while ignoring the size. The following example shows how this is done:
+
 {\tikzexternaldisable
 \begin{codeexample}[]
 \begin{tikzpicture}
@@ -368,19 +368,16 @@
 \end{codeexample}
 }%
 
+    \begin{plainenvironment}{{pgftransparencygroup}}
+        Plain \TeX\ version of the |{pgftransparencygroup}| environment.
+    \end{plainenvironment}
 
-\begin{plainenvironment}{{pgftransparencygroup}}
-  Plain \TeX\ version of the |{pgftransparencygroup}| environment.
-\end{plainenvironment}
-
-\begin{contextenvironment}{{pgftransparencygroup}}
-  This is the Con\TeX t version of the environment.
-\end{contextenvironment}
-
+    \begin{contextenvironment}{{pgftransparencygroup}}
+        This is the Con\TeX t version of the environment.
+    \end{contextenvironment}
 \end{environment}
 
 
-
 %%% Local Variables:
 %%% mode: latex
 %%% TeX-master: "pgfmanual"

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -11,43 +11,38 @@
 \section{Supported Formats}
 \label{section-formats}
 
-
 \TeX\ was designed to be a flexible system. This is true both for the
-\emph{input} for \TeX\ as well as for the \emph{output}. The present
-section explains which input formats there are and how they are
-supported by \pgfname. It also explains which different output formats
-can be produced.
+\emph{input} for \TeX\ as well as for the \emph{output}. The present section
+explains which input formats there are and how they are supported by \pgfname.
+It also explains which different output formats can be produced.
 
 
-
 \subsection{Supported Input Formats: \LaTeX, Plain \TeX, Con\TeX t}
 
-\TeX\ does not prescribe exactly how your input should be
-formatted. While it is \emph{customary} that, say, an opening brace
-starts a scope in \TeX, this is by no means necessary. Likewise, it is
-\emph{customary} that environments start with |\begin|, but \TeX\
-could not really care less about the exact command name.
+\TeX\ does not prescribe exactly how your input should be formatted. While it
+is \emph{customary} that, say, an opening brace starts a scope in \TeX, this is
+by no means necessary. Likewise, it is \emph{customary} that environments start
+with |\begin|, but \TeX\ could not really care less about the exact command
+name.
 
-Even though \TeX\ can be reconfigured, users can not. For this reason,
-certain \emph{input formats} specify a set of commands and conventions
-how input for \TeX\ should be formatted. There are currently three
-``major'' formats: Donald Knuth's original |plain| \TeX\ format,
-Leslie Lamport's popular \LaTeX\ format, and Hans Hangen's Con\TeX t
-format.
+Even though \TeX\ can be reconfigured, users can not. For this reason, certain
+\emph{input formats} specify a set of commands and conventions how input for
+\TeX\ should be formatted. There are currently three ``major'' formats: Donald
+Knuth's original |plain| \TeX\ format, Leslie Lamport's popular \LaTeX\ format,
+and Hans Hangen's Con\TeX t format.
 
 
-\subsubsection{Using the  \LaTeX\ Format}
+\subsubsection{Using the \LaTeX\ Format}
 
-Using \pgfname\ and \tikzname\ with the \LaTeX\ format is easy: You
-say |\usepackage{pgf}| or |\usepackage{tikz}|. Usually, that is all
-you need to do, all configuration will be done automatically and
-(hopefully) correctly.
+Using \pgfname\ and \tikzname\ with the \LaTeX\ format is easy: You say
+|\usepackage{pgf}| or |\usepackage{tikz}|. Usually, that is all you need to do,
+all configuration will be done automatically and (hopefully) correctly.
 
 The style files used for the \LaTeX\ format reside in the subdirectory
-|latex/pgf/| of the \pgfname-system. Mainly, what these files do is to
-include files in the directory |generic/pgf|. For example, here is the
-content of the file |latex/pgf/frontends/tikz.sty|:
-
+|latex/pgf/| of the \pgfname-system. Mainly, what these files do is to include
+files in the directory |generic/pgf|. For example, here is the content of the
+file |latex/pgf/frontends/tikz.sty|:
+%
 \begin{codeexample}[code only]
 % Copyright 2006 by Till Tantau
 %
@@ -69,251 +64,221 @@
 The files in the |generic/pgf| directory do the actual work.
 
 
-
 \subsubsection{Using the Plain \TeX\ Format}
 
 When using the plain \TeX\ format, you say |\input{pgf.tex}| or
 |\input{tikz.tex}|. Then, instead of  |\begin{pgfpicture}| and
-  |\end{pgfpicture}| you use  |\pgfpicture| and |\endpgfpicture|.
+|\end{pgfpicture}| you use |\pgfpicture| and |\endpgfpicture|.
 
-Unlike for the \LaTeX\ format, \pgfname\ is not as good at discerning
-the appropriate configuration for the plain \TeX\ format. In
-particular, it can only automatically determine the correct output
-format if you use |pdftex| or |tex| plus |dvips|. For all other output
-formats you need to set the macro |\pgfsysdriver| to the correct
-value. See the description of using output formats later on.
+Unlike for the \LaTeX\ format, \pgfname\ is not as good at discerning the
+appropriate configuration for the plain \TeX\ format. In particular, it can
+only automatically determine the correct output format if you use |pdftex| or
+|tex| plus |dvips|. For all other output formats you need to set the macro
+|\pgfsysdriver| to the correct value. See the description of using output
+formats later on.
 
-Like the \LaTeX\ style files, the plain \TeX\ files like |tikz.tex|
-also just include the correct |tikz.code.tex| file.
+Like the \LaTeX\ style files, the plain \TeX\ files like |tikz.tex| also just
+include the correct |tikz.code.tex| file.
 
 
-
 \subsubsection{Using the Con\TeX t Format}
 
 When using the Con\TeX t format, you say |\usemodule[pgf]| or
-|\usemodule[tikz]|. As for the plain \TeX\ format you also have to
-replace the start- and end-of-environment tags as follows: Instead of
-|\begin{pgfpicture}| and |\end{pgfpicture}| you use |\startpgfpicture|
-and |\stoppgfpicture|; similarly, instead of |\begin{tikzpicture}| and
-  |\end{tikzpicture}| you use must now use |\starttikzpicture| and
-|\stoptikzpicture|; and so on for other environments.
+|\usemodule[tikz]|. As for the plain \TeX\ format you also have to replace the
+start- and end-of-environment tags as follows: Instead of |\begin{pgfpicture}|
+and |\end{pgfpicture}| you use |\startpgfpicture| and |\stoppgfpicture|;
+similarly, instead of |\begin{tikzpicture}| and |\end{tikzpicture}| you use
+must now use |\starttikzpicture| and |\stoptikzpicture|; and so on for other
+environments.
 
-The Con\TeX t support is very similar to the plain \TeX\ support, so
-the same restrictions apply: You may have to set the output
-format directly and graphics inclusion may be a problem.
+The Con\TeX t support is very similar to the plain \TeX\ support, so the same
+restrictions apply: You may have to set the output format directly and graphics
+inclusion may be a problem.
 
-In addition to |pgf| and |tikz| there also exist modules like
-|pgfcore| or |pgfmodulematrix|. To
-use them, you may need to include the module |pgfmod| first (the
-modules |pgf| and |tikz| both include |pgfmod| for you, so typically
+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|.
+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|.
 
 
-
-
-
 \subsection{Supported Output Formats}
 \label{section-drivers}
 
-An output format is a format in which \TeX\ outputs the text it has
-typeset. Producing the output is (conceptually) a two-stage process:
+An output format is a format in which \TeX\ outputs the text it has typeset.
+Producing the output is (conceptually) a two-stage process:
+%
 \begin{enumerate}
-\item
-  \TeX\ typesets your text and graphics. The result of this
-  typesetting is mainly a long list of letter--coordinate pairs, plus
-  (possibly) some ``special'' commands. This long list of pairs
-  is written to something called a |.dvi|-file (informally known as
-  ``device-independent file'').
-\item
-  Some other program reads this |.dvi|-file and translates the
-  letter--coordinate pairs into, say, PostScript commands for placing
-  the given letter at the given coordinate.
+    \item \TeX\ typesets your text and graphics. The result of this
+        typesetting is mainly a long list of letter--coordinate pairs, plus
+        (possibly) some ``special'' commands. This long list of pairs is
+        written to something called a |.dvi|-file (informally known as
+        ``device-independent file'').
+    \item Some other program reads this |.dvi|-file and translates the
+        letter--coordinate pairs into, say, PostScript commands for placing
+        the given letter at the given coordinate.
 \end{enumerate}
 
-The classical example of this process is the combination of |latex|
-and |dvips|. The |latex| program (which is just the |tex| program
-called with the \LaTeX-macros preinstalled) produces a |.dvi|-file as
-its output. The |dvips| program takes this output and produces a
-|.ps|-file (a PostScript file). Possibly, this file is further
-converted using, say, |ps2pdf|, whose name is supposed to mean
-``PostScript to PDF.'' Another example of programs using this
-process is the combination of |tex| and |dvipdfm|. The |dvipdfm|
-program takes a |.dvi|-file as
-input and translates the letter--coordinate pairs therein into
-\pdf-commands, resulting in a |.pdf| file directly. Finally, the
-|tex4ht| is also a program that takes a |.dvi|-file and produces an
-output, this time it is a |.html| file. The programs |pdftex| and
-|pdflatex| are special: They directly produce a |.pdf|-file without
-the intermediate |.dvi|-stage. However, from the programmer's point of
-view they behave exactly as if there was an intermediate stage.
+The classical example of this process is the combination of |latex| and
+|dvips|. The |latex| program (which is just the |tex| program called with the
+\LaTeX-macros preinstalled) produces a |.dvi|-file as its output. The |dvips|
+program takes this output and produces a |.ps|-file (a PostScript file).
+Possibly, this file is further converted using, say, |ps2pdf|, whose name is
+supposed to mean ``PostScript to PDF''. Another example of programs using this
+process is the combination of |tex| and |dvipdfm|. The |dvipdfm| program takes
+a |.dvi|-file as input and translates the letter--coordinate pairs therein into
+\pdf-commands, resulting in a |.pdf| file directly. Finally, the |tex4ht| is
+also a program that takes a |.dvi|-file and produces an output, this time it is
+a |.html| file. The programs |pdftex| and |pdflatex| are special: They directly
+produce a |.pdf|-file without the intermediate |.dvi|-stage. However, from the
+programmer's point of view they behave exactly as if there was an intermediate
+stage.
 
-Normally, \TeX\ only produces letter--coordinate pairs as its
-``output.'' This obviously makes it difficult to draw, say, a
-curve. For this, ``special'' commands can be used. Unfortunately,
-these special commands are not the same for the different programs
-that process the |.dvi|-file. Indeed, every program that takes a
-|.dvi|-file as input has a totally different syntax for the special
-commands.
+Normally, \TeX\ only produces letter--coordinate pairs as its ``output''. This
+obviously makes it difficult to draw, say, a curve. For this, ``special''
+commands can be used. Unfortunately, these special commands are not the same
+for the different programs that process the |.dvi|-file. Indeed, every program
+that takes a |.dvi|-file as input has a totally different syntax for the
+special commands.
 
-One of the main jobs of \pgfname\ is to ``abstract away'' the
-difference in the syntax of the different programs. However, this
-means that support for each program has to be ``programmed,'' which is
-a time-consuming and complicated process.
+One of the main jobs of \pgfname\ is to ``abstract away'' the difference in the
+syntax of the different programs. However, this means that support for each
+program has to be ``programmed'', which is a time-consuming and complicated
+process.
 
 
 \subsubsection{Selecting the Backend Driver}
 
-When \TeX\ typesets your document, it does not know which program
-you are going to use to transform the |.dvi|-file. If your |.dvi|-file
-does not contain any special commands, this would be fine; but these
-days almost all |.dvi|-files contain lots of special commands. It is
-thus necessary to tell \TeX\ which program you are going to use later
-on.
+When \TeX\ typesets your document, it does not know which program you are going
+to use to transform the |.dvi|-file. If your |.dvi|-file does not contain any
+special commands, this would be fine; but these days almost all |.dvi|-files
+contain lots of special commands. It is thus necessary to tell \TeX\ which
+program you are going to use later on.
 
-Unfortunately, there is no ``standard'' way of telling this to
-\TeX. For the \LaTeX\ format a sophisticated mechanism exists inside
-the |graphics| package and \pgfname\ plugs into this mechanism. For
-other formats and when this plugging does not work as expected, it is
-necessary to tell \pgfname\ directly which program you are going to
-use. This is done by redefining the macro |\pgfsysdriver| to an
-appropriate value \emph{before} you load |pgf|. If you are going to
-use the |dvips| program, you set this macro to the value
+Unfortunately, there is no ``standard'' way of telling this to \TeX. For the
+\LaTeX\ format a sophisticated mechanism exists inside the |graphics| package
+and \pgfname\ plugs into this mechanism. For other formats and when this
+plugging does not work as expected, it is necessary to tell \pgfname\ directly
+which program you are going to use. This is done by redefining the macro
+|\pgfsysdriver| to an appropriate value \emph{before} you load |pgf|. If you
+are going to use the |dvips| program, you set this macro to the value
 |pgfsys-dvips.def|; if you use |pdftex| or |pdflatex|, you set it to
-|pgfsys-pdftex.def|; and so on. In the following, details of the
-support of the different programs are discussed.
+|pgfsys-pdftex.def|; and so on. In the following, details of the support of the
+different programs are discussed.
 
 
 \subsubsection{Producing PDF Output}
 
 \pgfname\ supports three programs that produce \pdf\ output (\pdf\ means
-``portable document format'' and was invented by the Adobe company):
-|dvipdfm|, |pdftex|, and |vtex|. The |pdflatex| program is the same as the
-|pdftex| program: it uses a different input format, but the output is
-exactly the same.
+``portable document format'' and was invented by the Adobe company): |dvipdfm|,
+|pdftex|, and |vtex|. The |pdflatex| program is the same as the |pdftex|
+program: it uses a different input format, but the output is exactly the same.
 
 \begin{filedescription}{pgfsys-pdftex.def}
-  This is the driver file for use with pdf\TeX, that is, with the
-  |pdftex| or |pdflatex| command. It includes
-  |pgfsys-common-pdf.def|.
+    This is the driver file for use with pdf\TeX, that is, with the |pdftex| or
+    |pdflatex| command. It includes |pgfsys-common-pdf.def|.
 
-  This driver has a lot of functionality. (Almost) everything
-  \pgfname\ ``can do at all'' is implemented in this driver.
+    This driver has a lot of functionality. (Almost) everything \pgfname\ ``can
+    do at all'' is implemented in this driver.
 \end{filedescription}
 
 \begin{filedescription}{pgfsys-dvipdfm.def}
-  This is a driver file for use with (|la|)|tex| followed by |dvipdfm|. It
-  includes |pgfsys-common-pdf.def|.
+    This is a driver file for use with (|la|)|tex| followed by |dvipdfm|. It
+    includes |pgfsys-common-pdf.def|.
 
-  This driver supports most of \pgfname's features, but there are some
-  restrictions:
-  \begin{enumerate}
-  \item
-    In \LaTeX\ mode it uses |graphicx| for the graphics
-    inclusion and does not support masking.
-  \item
-    In plain \TeX\ mode it does not support image inclusion.
-  \end{enumerate}
+    This driver supports most of \pgfname's features, but there are some
+    restrictions:
+    %
+    \begin{enumerate}
+        \item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion
+            and does not support masking.
+        \item In plain \TeX\ mode it does not support image inclusion.
+    \end{enumerate}
 \end{filedescription}
 
 \begin{filedescription}{pgfsys-xetex.def}
-  This is a driver file for use with |xe|(|la|)|tex| followed by
-  |xdvipdfmx|. This driver supports largely the same operations as the
-  |dvipdfm| driver.
+    This is a driver file for use with |xe|(|la|)|tex| followed by |xdvipdfmx|.
+    This driver supports largely the same operations as the |dvipdfm| driver.
 \end{filedescription}
 
 \begin{filedescription}{pgfsys-vtex.def}
-  This is the driver file for use with the commercial \textsc{vtex}
-  program. Even though it produces  \textsc{pdf} output, it
-  includes |pgfsys-common-postscript.def|. Note that the
-  \textsc{vtex} program can produce \emph{both} Postscript and
-  \textsc{pdf} output, depending on the command line
-  parameters. However, whether you produce Postscript or
-  \textsc{pdf} output does not change anything with respect to the
-  driver.
+    This is the driver file for use with the commercial \textsc{vtex} program.
+    Even though it produces  \textsc{pdf} output, it includes
+    |pgfsys-common-postscript.def|. Note that the \textsc{vtex} program can
+    produce \emph{both} Postscript and \textsc{pdf} output, depending on the
+    command line parameters. However, whether you produce Postscript or
+    \textsc{pdf} output does not change anything with respect to the driver.
 
-  This driver supports most of \pgfname's features, except for
-  the following restrictions:
-  \begin{enumerate}
-  \item
-    In \LaTeX\ mode it uses |graphicx| for the graphics
-    inclusion and does not support masking.
-  \item
-    In plain \TeX\ mode it does not support image inclusion.
-  \item
-    Shading is fully implemented, but yields the same quality as the
-    implementation for |dvips|.
-  \item
-    Opacity is not supported.
-  \item
-    Remembering of pictures (inter-picture connections) is not
-    supported.
-  \end{enumerate}
+    This driver supports most of \pgfname's features, except for the following
+    restrictions:
+    %
+    \begin{enumerate}
+        \item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion
+            and does not support masking.
+        \item In plain \TeX\ mode it does not support image inclusion.
+        \item Shading is fully implemented, but yields the same quality as
+            the implementation for |dvips|.
+        \item Opacity is not supported.
+        \item Remembering of pictures (inter-picture connections) is not
+            supported.
+    \end{enumerate}
 \end{filedescription}
 
-It is also possible to produce a |.pdf|-file by first producing a
-PostScript file (see below) and then using a PostScript-to-\pdf\
-conversion program like |ps2pdf| or the Acrobat Distiller.
+It is also possible to produce a |.pdf|-file by first producing a PostScript
+file (see below) and then using a PostScript-to-\pdf\ conversion program like
+|ps2pdf| or the Acrobat Distiller.
 
 
 \subsubsection{Producing PostScript Output}
 
 \begin{filedescription}{pgfsys-dvips.def}
-  This is a driver file for use with (|la|)|tex| followed by
-  |dvips|. It includes |pgfsys-common-postscript.def|.
+    This is a driver file for use with (|la|)|tex| followed by |dvips|. It
+    includes |pgfsys-common-postscript.def|.
 
-  This driver also supports most of \pgfname's features, except for
-  the following restrictions:
-  \begin{enumerate}
-  \item
-    In \LaTeX\ mode it uses |graphicx| for the graphics
-    inclusion and does not support masking.
-  \item
-    In plain \TeX\ mode it does not support image inclusion.
-  \item
-    Shading is fully implemented, but the results will not be
-    as good as with a driver producing |.pdf| as output.
-  \item
-    Opacity works only in conjunction with newer versions of
-    Ghostscript.
-  \item
-    For remembering of pictures (inter-picture connections) you need
-    to use a recent version of |pdftex| running in DVI-mode.
-  \end{enumerate}
+    This driver also supports most of \pgfname's features, except for the
+    following restrictions:
+    %
+    \begin{enumerate}
+        \item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion
+            and does not support masking.
+        \item In plain \TeX\ mode it does not support image inclusion.
+        \item Shading is fully implemented, but the results will not be as
+            good as with a driver producing |.pdf| as output.
+        \item Opacity works only in conjunction with newer versions of
+            Ghostscript.
+        \item For remembering of pictures (inter-picture connections) you
+            need to use a recent version of |pdftex| running in DVI-mode.
+    \end{enumerate}
 \end{filedescription}
 
 \begin{filedescription}{pgfsys-textures.def}
-  This is a driver file for use with the \textsc{textures} program. It
-  includes |pgfsys-common-postscript.def|.
+    This is a driver file for use with the \textsc{textures} program. It
+    includes |pgfsys-common-postscript.def|.
 
-  This driver has exactly the same restrictions as the driver for
-  |dvips|.
+    This driver has exactly the same restrictions as the driver for |dvips|.
 \end{filedescription}
 
-You can also use the |vtex| program together with |pgfsys-vtex.def| to
-produce Postscript output.
+You can also use the |vtex| program together with |pgfsys-vtex.def| to produce
+Postscript output.
 
 
-
 \subsubsection{Producing SVG Output}
 
 \begin{filedescription}{pgfsys-dvisvgm.def}
-  This driver converts \textsc{dvi} files to \textsc{svg} file,
-  including text and fonts. When you select this driver, \pgfname\
-  will output the required raw \textsc{svg} code for the pictures it
-  produces.
+    This driver converts \textsc{dvi} files to \textsc{svg} file, including
+    text and fonts. When you select this driver, \pgfname\ will output the
+    required raw \textsc{svg} code for the pictures it produces.
 
-  Since the |graphics| package does not (yet?) support this driver
-  directly, there is special rule for this driver in \LaTeX: If the
-  option |dvisvgm| is given to the |tikz| package, this driver gets
-  selected (normally, the driver selected by |graphics| would be
-  used). For packages like |beamer| that load \pgfname\ 
-  themselves, this means that the option |dvisvgm| should be given to
-  the document class.
+    Since the |graphics| package does not (yet?) support this driver directly,
+    there is special rule for this driver in \LaTeX: If the option |dvisvgm| is
+    given to the |tikz| package, this driver gets selected (normally, the
+    driver selected by |graphics| would be used). For packages like |beamer|
+    that load \pgfname\ themselves, this means that the option |dvisvgm| should
+    be given to the document class.
+    %
 \begin{codeexample}[code only]
-% example.tex  
+% example.tex
 \documentclass[dvisvgm]{minimal}
 
 \usepackage{tikz}
@@ -320,143 +285,134 @@
 
 \begin{document}
 Hello \tikz [baseline] \fill [fill=blue!80!black] (0,.75ex) circle[radius=.75ex];
-\end{document}  
+\end{document}
 \end{codeexample}
 
-  And then run
+    And then run
+    %
 \begin{codeexample}[code only]
 latex example
-dvisvgm example  
+dvisvgm example
 \end{codeexample}
-  or better
+    %
+    or better
+    %
 \begin{codeexample}[code only]
 lualatex --output-format=dvi example
-dvisvgm example  
+dvisvgm example
 \end{codeexample}
-   (This is ``better'' since it gives you access to the full power of
-   Lua\TeX\ inside your \TeX-file. In particular, \tikzname\ is able
-   to run graph drawing algorithms in this case.)
+    %
+    (This is ``better'' since it gives you access to the full power of Lua\TeX\
+    inside your \TeX-file. In particular, \tikzname\ is able to run graph
+    drawing algorithms in this case.)
 
-   Unlike the |tex4ht| driver below, this driver has full support of
-   text nodes.
+    Unlike the |tex4ht| driver below, this driver has full support of text
+    nodes.
 \end{filedescription}
 
-
 \begin{filedescription}{pgfsys-tex4ht.def}
-  This is a driver file for use with the |tex4ht| program. It is
-  selected automatically when the |tex4ht| style or command is
-  loaded. It includes |pgfsys-common-svg.def|.
-  
-  The |tex4ht| program converts |.dvi|-files to |.html|-files. While the
-  \textsc{html}-format cannot be used to draw graphics, the
-  \textsc{svg}-format can. This driver will ask
-  \pgfname\ to produce an \textsc{svg}-picture for each \pgfname\
-  graphic in your text.
+    This is a driver file for use with the |tex4ht| program. It is selected
+    automatically when the |tex4ht| style or command is loaded. It includes
+    |pgfsys-common-svg.def|.
 
-  When using this driver you should be aware of the following
-  restrictions:
-  \begin{enumerate}
-  \item
-    In \LaTeX\ mode it uses |graphicx| for the graphics
-    inclusion.
-  \item
-    In plain \TeX\ mode it does not support image inclusion.
-  \item
-    Remembering of pictures (inter-picture connections) is not
-    supported.
-  \item
-    Text inside |pgfpicture|s is not supported very well. The reason
-    is that the \textsc{svg} specification currently does not support
-    text very well and, although it is  possible to ``escape
-    back'' to \textsc{html}, \tikzname\ has then to guess what size the text
-    rendered by the browser would have.
-  \item
-    Unlike for other output formats, the bounding box of a picture
-    ``really crops'' the picture.
-  \item
-    Matrices do not work.
-  \item
-    Functional shadings are not supported.
-  \end{enumerate}
+    The |tex4ht| program converts |.dvi|-files to |.html|-files. While the
+    \textsc{html}-format cannot be used to draw graphics, the
+    \textsc{svg}-format can. This driver will ask \pgfname\ to produce an
+    \textsc{svg}-picture for each \pgfname\ graphic in your text.
 
-  The driver basically works as follows: When a |{pgfpicture}| is
-  started, appropriate |\special| commands are used to directed the
-  output of |tex4ht| to a new file called |\jobname-xxx.svg|, where
-  |xxx| is a number that is increased for each graphic. Then, till the
-  end of the picture, each (system layer) graphic command creates a
-  special that inserts appropriate \textsc{svg} literal text into the
-  output file. The exact details are a bit complicated since the
-  imaging model and the processing model of PostScript/\pdf\ and
-  \textsc{svg} are not quite the same; but they are ``close enough''
-  for \pgfname's purposes.
+    When using this driver you should be aware of the following restrictions:
+    %
+    \begin{enumerate}
+        \item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion.
+        \item In plain \TeX\ mode it does not support image inclusion.
+        \item Remembering of pictures (inter-picture connections) is not
+            supported.
+        \item Text inside |pgfpicture|s is not supported very well. The
+            reason is that the \textsc{svg} specification currently does not
+            support text very well and, although it is  possible to ``escape
+            back'' to \textsc{html}, \tikzname\ has then to guess what size
+            the text rendered by the browser would have.
+        \item Unlike for other output formats, the bounding box of a picture
+            ``really crops'' the picture.
+        \item Matrices do not work.
+        \item Functional shadings are not supported.
+    \end{enumerate}
 
-  Because text is not supported very well in the
-  \textsc{svg} standard, you may wish to use the following options to
-  modify the way text is handled:
+    The driver basically works as follows: When a |{pgfpicture}| is started,
+    appropriate |\special| commands are used to directed the output of |tex4ht|
+    to a new file called |\jobname-xxx.svg|, where |xxx| is a number that is
+    increased for each graphic. Then, till the end of the picture, each (system
+    layer) graphic command creates a special that inserts appropriate
+    \textsc{svg} literal text into the output file. The exact details are a bit
+    complicated since the imaging model and the processing model of
+    PostScript/\pdf\ and \textsc{svg} are not quite the same; but they are
+    ``close enough'' for \pgfname's purposes.
 
-  \begin{key}{/pgf/tex4ht node/escape=\meta{boolean} (default |false|)}
-    Selects the rendering method for a text node with the tex4ht driver.
+    Because text is not supported very well in the \textsc{svg} standard, you
+    may wish to use the following options to modify the way text is handled:
 
-    When this key is set to |false|, text is translated into
-    \textsc{svg} text, which is somewhat limited: simple
-    characters (letters, numerals, punctuation, $\sum$, $\int$, \ldots),
-    subscripts and superscripts (but not subsubscripts) will display but
-    everything else will be filtered out, ignored or will produce
-    invalid \textsc{html} code (in the worst case). This means that two
-    kind of texts render reasonably well:
-    \begin{enumerate}
-    \item First, plain text without math mode, special characters or
-      anything else special.
-    \item Second, \emph{very} simple mathematical text that contains
-      subscripts or superscripts. Even then, variables are not correctly
-      set in italics and, in general, text simple does not look very
-      nice.
-    \end{enumerate}
-    If you use text that contains anything special, even something as
-    simple as |$\alpha$|, this may corrupt the graphic.
+    \begin{key}{/pgf/tex4ht node/escape=\meta{boolean} (default |false|)}
+        Selects the rendering method for a text node with the tex4ht driver.
 
+        When this key is set to |false|, text is translated into \textsc{svg}
+        text, which is somewhat limited: simple characters (letters, numerals,
+        punctuation, $\sum$, $\int$, \ldots), subscripts and superscripts (but
+        not subsubscripts) will display but everything else will be filtered
+        out, ignored or will produce invalid \textsc{html} code (in the worst
+        case). This means that two kind of texts render reasonably well:
+        %
+        \begin{enumerate}
+            \item First, plain text without math mode, special characters or
+                anything else special.
+            \item Second, \emph{very} simple mathematical text that contains
+                subscripts or superscripts. Even then, variables are not
+                correctly set in italics and, in general, text simple does
+                not look very nice.
+        \end{enumerate}
+        %
+        If you use text that contains anything special, even something as
+        simple as |$\alpha$|, this may corrupt the graphic.
+        %
 \begin{codeexample}[code only]
 \tikz \node[draw,/pgf/tex4ht node/escape=false] {Example : $(a+b)^2=a^2+2ab+b^2$};
 \end{codeexample}
 
     When you write |node[/pgf/tex4ht node/escape=true] {|\meta{text}|}|,
-    \pgfname\ escapes back to \textsc{html} to render the
-    \meta{text}. This method produces valid \textsc{html} code in most
-    cases and the support for complicated text nodes is much better since
-    code that renders well outside a |{pgfpicture}|, should also
-    render well inside a text node. Another advantage is that inside
-    text nodes with fixed width, \textsc{html} will produce line
-    breaks for long  lines. On the other hand, you need a browser with
-    good \textsc{svg} support to display the picture. Also, the text
-    will display differently, depending on your browsers, the fonts
-    you have on your system and your settings. Finally,
-    \pgfname\ has to guess the size of the text rendered by the
-    browser to scale it and prevent it from sticking from the
-    node. When it fails, the text will be either cropped or too small.
+    \pgfname\ escapes back to \textsc{html} to render the \meta{text}. This
+    method produces valid \textsc{html} code in most cases and the support for
+    complicated text nodes is much better since code that renders well outside
+    a |{pgfpicture}|, should also render well inside a text node. Another
+    advantage is that inside text nodes with fixed width, \textsc{html} will
+    produce line breaks for long  lines. On the other hand, you need a browser
+    with good \textsc{svg} support to display the picture. Also, the text will
+    display differently, depending on your browsers, the fonts you have on your
+    system and your settings. Finally, \pgfname\ has to guess the size of the
+    text rendered by the browser to scale it and prevent it from sticking from
+    the node. When it fails, the text will be either cropped or too small.
+    %
 \begin{codeexample}[code only]
 \tikz \node[draw,/pgf/tex4ht node/escape=true]
   {Example : $\int_0^\infty\frac{1}{1+t^2}dt=\frac{\pi}{2}$};
 \end{codeexample}
-  \end{key}
+    %
+    \end{key}
 
-  \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|).
-  \end{key}
+    \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|).
+    \end{key}
 
-  \begin{key}{/pgf/tex4ht node/class=\meta{class name}  (default foreignobject)}
-    This option allows you to give a class name to the node, allowing
-    it to be styled by a \textsc{css} file (only with
-    |tex4ht node/escape=true|).
-  \end{key}
+    \begin{key}{/pgf/tex4ht node/class=\meta{class name} (default foreignobject)}
+        This option allows you to give a class name to the node, allowing it to
+        be styled by a \textsc{css} file (only with |tex4ht node/escape=true|).
+    \end{key}
 
-  \begin{key}{/pgf/tex4ht node/id=\meta{id name} (default
-      |\string\jobname\ picture number-node number|)}
-    This option allows you to give a unique id to the node, allowing
-    it to be styled by a \textsc{css} file (only with
-    |tex4ht node/escape=true|).
-  \end{key}
+    \begin{key}{/pgf/tex4ht node/id=\meta{id name} (default |\string\jobname\ picture number-node number|)}
+        This option allows you to give a unique id to the node, allowing
+        it to be styled by a \textsc{css} file (only with
+        |tex4ht node/escape=true|).
+    \end{key}
 \end{filedescription}
 
 
@@ -463,29 +419,31 @@
 \subsubsection{Producing Perfectly Portable DVI Output}
 
 \begin{filedescription}{pgfsys-dvi.def}
-  This is a driver file that can be used with any output driver,
-  except for |tex4ht|.
+    This is a driver file that can be used with any output driver, except for
+    |tex4ht|.
 
-  The driver will produce perfectly portable |.dvi| files by composing
-  all pictures entirely of black rectangles, the basic and only graphic
-  shape supported by the \TeX\ core. Even straight, but slanted lines
-  are tricky to get right in this model (they need to be composed of
-  lots of little squares).
+    The driver will produce perfectly portable |.dvi| files by composing all
+    pictures entirely of black rectangles, the basic and only graphic shape
+    supported by the \TeX\ core. Even straight, but slanted lines are tricky to
+    get right in this model (they need to be composed of lots of little
+    squares).
 
-  Naturally, \emph{very little} is possible with this driver. In fact,
-  so little is possible that it is easier to list what is possible:
-  \begin{itemize}
-  \item Text boxes can be placed in the normal way.
-  \item Lines and curves can be drawn (stroked). If they are not
-    horizontal or vertical, they are composed of hundreds of small
-    rectangles.
-  \item Lines of different width are supported.
-  \item Transformations are supported.
-  \end{itemize}
-  Note that, say, even filling is not supported! (Let alone color or
-  anything fancy.)
+    Naturally, \emph{very little} is possible with this driver. In fact, so
+    little is possible that it is easier to list what is possible:
+    %
+    \begin{itemize}
+        \item Text boxes can be placed in the normal way.
+        \item Lines and curves can be drawn (stroked). If they are not
+            horizontal or vertical, they are composed of hundreds of small
+            rectangles.
+        \item Lines of different width are supported.
+        \item Transformations are supported.
+    \end{itemize}
+    %
+    Note that, say, even filling is not supported! (Let alone color or anything
+    fancy.)
 
-  This driver has only one real application: It might be useful when
-  you only need horizontal or vertical lines in a picture. Then, the
-  results are quite satisfactory.
+    This driver has only one real application: It might be useful when you only
+    need horizontal or vertical lines in a picture. Then, the results are quite
+    satisfactory.
 \end{filedescription}

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-01-05 22:38:02 UTC (rev 49606)
+++ trunk/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex	2019-01-05 22:40:38 UTC (rev 49607)
@@ -7,151 +7,149 @@
 %
 % See the file doc/generic/pgf/licenses/LICENSE for more details.
 
+
 \section{Axes}
 \label{section-dv-axes}
 
-
 \subsection{Overview}
 
-When a data point is visualized, the most obvious way of creating a
-visual representation of its many attributes is to
-vary \emph{where} the data point is shown. The data visualization
-system uses \emph{axes} to turn data point attributes into positions
-on a page. The simplest -- and most common -- use of axes is to vary
-the horizontal position of data points according to one attribute and
-to vary the vertical position according to another attribute. In
-contrast, in a polar plot one attribute dictates the distance of the
-data point from the origin and another attribute describes the
-angle. From the data visualization engine's point of view, in both
-cases two \emph{axes} are involved.
+When a data point is visualized, the most obvious way of creating a visual
+representation of its many attributes is to vary \emph{where} the data point is
+shown. The data visualization system uses \emph{axes} to turn data point
+attributes into positions on a page. The simplest -- and most common -- use of
+axes is to vary the horizontal position of data points according to one
+attribute and to vary the vertical position according to another attribute. In
+contrast, in a polar plot one attribute dictates the distance of the data point
+from the origin and another attribute describes the angle. From the data
+visualization engine's point of view, in both cases two \emph{axes} are
+involved.
 
-In addition to specifying how the value of a certain attribute is
-converted into a displacement on the page, an axis is also typically
-(but not always) visualized (``drawn'') somewhere on the page. In this case, it is
-also customary to add a visual representation on this axis of which
-attribute values correspond to which positions on the page --
-something commonly known as \emph{ticks}. Similar to ticks, \emph{grid
-  lines} also indicate positions where a certain attribute has a
-certain value, but instead of just indicating a single position on an
-axis, a grid line goes through all points that share an attribute
-value.
+In addition to specifying how the value of a certain attribute is converted
+into a displacement on the page, an axis is also typically (but not always)
+visualized (``drawn'') somewhere on the page. In this case, it is also
+customary to add a visual representation on this axis of which attribute values
+correspond to which positions on the page -- something commonly known as
+\emph{ticks}. Similar to ticks, \emph{grid lines} also indicate positions where
+a certain attribute has a certain value, but instead of just indicating a
+single position on an axis, a grid line goes through all points that share an
+attribute value.
 
-In the following, in Section~\ref{section-dv-axes-main} we first have
-a look at how axes can be defined and configured. As you will see, a
-lot of powerful configurations are available, but you will rarely
-define and configure an axis from scratch. Rather, it is more common
-to use a preconfigured axis
-instead. Section~\ref{section-dv-axis-systems} introduces \emph{axis
-  systems}, which are predefined bundles of axes. You can define your
-own axis systems, but, again, in most cases it will suffice to just
-use one of the many preconfigured axis systems and use a few options
-to configure it so that it fits your
-need. Section~\ref{section-dv-ticks-and-grids} explains how ticks and
-grid lines can be configured. Again, several layers of
-options allow you to configure the way ticks look and where they are
-placed in great detail.
+In the following, in Section~\ref{section-dv-axes-main} we first have a look at
+how axes can be defined and configured. As you will see, a lot of powerful
+configurations are available, but you will rarely define and configure an axis
+from scratch. Rather, it is more common to use a preconfigured axis instead.
+Section~\ref{section-dv-axis-systems} introduces \emph{axis systems}, which are
+predefined bundles of axes. You can define your own axis systems, but, again,
+in most cases it will suffice to just use one of the many preconfigured axis
+systems and use a few options to configure it so that it fits your need.
+Section~\ref{section-dv-ticks-and-grids} explains how ticks and grid lines can
+be configured. Again, several layers of options allow you to configure the way
+ticks look and where they are placed in great detail.
 
-This section documents the standard axis systems that are always
-available. For polar axis systems, a special library needs to be
-loaded, which is documented in Section~\ref{section-dv-polar}.
+This section documents the standard axis systems that are always available. For
+polar axis systems, a special library needs to be loaded, which is documented
+in Section~\ref{section-dv-polar}.
 
 
-
 \subsection{Basic Configuration of Axes}
 \label{section-dv-axes-main}
 
-Inside the data visualization system, an \emph{axis} is roughly a
-``systematic, named way of mapping an attribute to a 
-position on a page''. For instance, the classical ``$x$-axis'' is the
-``systematic way of mapping the value of the |x| attribute of data
-points to a horizontal position on the page''. An axis is \emph{not}
-its visual representation (such as the horizontal line with the ticks
-drawn to represent the $x$-axis), but a visual representation can be
+Inside the data visualization system, an \emph{axis} is roughly a ``systematic,
+named way of mapping an attribute to a position on a page''. For instance, the
+classical ``$x$-axis'' is the ``systematic way of mapping the value of the |x|
+attribute of data points to a horizontal position on the page''. An axis is
+\emph{not} its visual representation (such as the horizontal line with the
+ticks drawn to represent the $x$-axis), but a visual representation can be
 created once an axis has been defined.
 
-The transformation of an attribute value (such as the value |1000000000|
-for the |x| attribute) to a specific displacement of the corresponding
-data point on the page involves two steps:
+The transformation of an attribute value (such as the value |1000000000| for
+the |x| attribute) to a specific displacement of the corresponding data point
+on the page involves two steps:
+%
 \begin{enumerate}
-\item First, the range of possible values such as $[-5.6\cdot
-  10^{12},7.8\cdot 10^{12}]$ must be mapped to a ``reasonable''
-  interval such as $[0\mathrm{cm},5\mathrm{cm}]$ or
-  $[0^\circ,180^\circ]$. \tikzname's drawing routines will only be
-  able to cope with values from such a ``reasonable'' interval.
-\item Second, the values from the reasonable interval must be mapped
-  to a transformation.
+    \item First, the range of possible values such as $[-5.6\cdot
+        10^{12},7.8\cdot 10^{12}]$ must be mapped to a ``reasonable'' interval
+        such as $[0\mathrm{cm},5\mathrm{cm}]$ or $[0^\circ,180^\circ]$.
+        \tikzname's drawing routines will only be able to cope with values from
+        such a ``reasonable'' interval.
+    \item Second, the values from the reasonable interval must be mapped to a
+        transformation.
 \end{enumerate}
-The first step is always the same for all axes, while the second
-requires different strategies. For this reason, the command
-|new axis base| is used to create a ``basic'' axis that has a
-``scaling mapper'', whose job it is to map the range of values of a
-specific attribute to a reasonable interval, but such a basic axis
-does not define an actual transformation object. For this second step,
-additional objects such as a |linear transformer| need to be created
-separately. 
+%
+The first step is always the same for all axes, while the second requires
+different strategies. For this reason, the command |new axis base| is used to
+create a ``basic'' axis that has a ``scaling mapper'', whose job it is to map
+the range of values of a specific attribute to a reasonable interval, but such
+a basic axis does not define an actual transformation object. For this second
+step, additional objects such as a |linear transformer| need to be created
+separately.
 
 
 \subsubsection{Usage}
 
-To create an axis, the key |new axis base| is used first. Since this key
-does not create a transformation object, users typically do not use
-this key directly. Rather, it is used internally by other keys
-that create ``real'' axes. These keys are listed in
-Section~\ref{section-dv-reference-axis-types}. 
+To create an axis, the key |new axis base| is used first. Since this key does
+not create a transformation object, users typically do not use this key
+directly. Rather, it is used internally by other keys that create ``real''
+axes. These keys are listed in Section~\ref{section-dv-reference-axis-types}.
 
 \begin{key}{/tikz/data visualization/new axis base=\meta{axis name}}
-  This key defines a new axis for the current data visualization
-  called \meta{name}. This has two effects:
-  \begin{enumerate}
-  \item A so called \emph{scaling mapper} is created that will monitor
-    a certain attribute, rescale it, and map it to another
-    attribute. (This will be explained in detail in a moment.)
-  \item The \meta{axis name} is made available as a key that can be
-    used to configure the axis:
-    \begin{key}{/tikz/data visualization/\meta{axis name}=\meta{options}}
-      This key becomes available once |new axis base=|meta{axis name} has
-      been called. It will execute the \meta{options} with the path
-      prefix |/tikz/data visualization/axis options|.
+    This key defines a new axis for the current data visualization called
+    \meta{name}. This has two effects:
+    %
+    \begin{enumerate}
+        \item A so called \emph{scaling mapper} is created that will monitor a
+            certain attribute, rescale it, and map it to another attribute.
+            (This will be explained in detail in a moment.)
+        \item The \meta{axis name} is made available as a key that can be used
+            to configure the axis:
+            %
+            \begin{key}{/tikz/data visualization/\meta{axis name}=\meta{options}}
+                This key becomes available once |new axis base=|meta{axis name}
+                has been called. It will execute the \meta{options} with the
+                path prefix |/tikz/data visualization/axis options|.
+                %
 \begin{codeexample}[code only]
 [new axis base=my axis,
  my axis={attribute=some attribute}]
 \end{codeexample}
-    \end{key}
-  \item The \meta{axis name} becomes part of the current set of
-    axes. This set can be accessed through the following key:
-    \begin{key}{/tikz/data visualization/all axes=\meta{options}}
-      This key passes the \meta{options} to all axes inside the
-      current scope, just as if you had written \meta{some axis
-        name}|=|\meta{options} for each \meta{some axis name} in the
-      current scope, including the just-created name \meta{axis name}.
-    \end{key}
-  \end{enumerate}
-  There are many \meta{options} that can be passed to a newly created
-  axis. They are explained in the rest of this section.
+            \end{key}
+        \item The \meta{axis name} becomes part of the current set of axes.
+            This set can be accessed through the following key:
+            %
+            \begin{key}{/tikz/data visualization/all axes=\meta{options}}
+                This key passes the \meta{options} to all axes inside the
+                current scope, just as if you had written \meta{some axis
+                name}|=|\meta{options} for each \meta{some axis name} in the
+                current scope, including the just-created name \meta{axis
+                name}.
+            \end{key}
+    \end{enumerate}
+    %
+    There are many \meta{options} that can be passed to a newly created axis.
+    They are explained in the rest of this section.
 \end{key}
 
 Note the |new axis base| does \emph{not} cause attributes to be mapped to
-positions on a page. Rather, special keys like |new Cartesian axis|
-first use |new axis base| to create an axis and then create an internal
-object that performs a linear mapping of the attribute to 
-positions along a vectors.
+positions on a page. Rather, special keys like |new Cartesian axis| first use
+|new axis base| to create an axis and then create an internal object that
+performs a linear mapping of the attribute to positions along a vectors.
 
 
 \subsubsection{The Axis Attribute}
 \label{section-dv-axis-attribute}
 
-The first main job of an axis is to map the different values of some
-attribute to a reasonable interval. To achieve this, the following
-options are important (recall that these options are passed to the key
-whose name is the name of the axis):
+The first main job of an axis is to map the different values of some attribute
+to a reasonable interval. To achieve this, the following options are important
+(recall that these options are passed to the key whose name is the name of the
+axis):
 
 \begin{key}{/tikz/data visualization/axis options/attribute=\meta{attribute}}
-  Specifies that the axis is used to transform the data points
-  according the different values of the key
-  |/data point/|\meta{attribute}. For instance, when we create a
-  classical two-dimensional Cartesian coordinate system, then there
-  are two axes called |x axis| and |y axis| that monitor the values of
-  the attributes |/data point/x| and |/data point/y|, respectively:
+    Specifies that the axis is used to transform the data points according the
+    different values of the key |/data point/|\meta{attribute}. For instance,
+    when we create a classical two-dimensional Cartesian coordinate system,
+    then there are two axes called |x axis| and |y axis| that monitor the
+    values of the attributes |/data point/x| and |/data point/y|, respectively:
+    %
 \begin{codeexample}[code only]
   [new axis base=x axis,
    new axis base=y axis,
@@ -158,10 +156,12 @@
    x axis={attribute=x},
    y axis={attribute=y}]
 \end{codeexample}
-  In another example, we also create an |x axis| and a
-  |y axis|. However, this time, we want to plot the values of the
-  |/data point/time| attribute on the $x$-axis and, say, the value of
-  the |height| attribute on the $y$-axis:
+    %
+    In another example, we also create an |x axis| and a |y axis|. However,
+    this time, we want to plot the values of the |/data point/time| attribute
+    on the $x$-axis and, say, the value of the |height| attribute on the
+    $y$-axis:
+    %
 \begin{codeexample}[code only]
   [new axis base=x axis,
    new axis base=y axis,
@@ -168,15 +168,17 @@
    x axis={attribute=time},
    y axis={attribute=height}]
 \end{codeexample}
-  During the data visualization, the \meta{attribute} will be
-  ``monitored'' during the survey phase. This means that for each data
-  point, the current value of |/data point/|\meta{attribute} is
-  examined and the minimum value of all of these values as well as the
-  maximum value is recorded internally. Note that this works even when
-  very large numbers like |100000000000| are involved.
+    %
+    During the data visualization, the \meta{attribute} will be ``monitored''
+    during the survey phase. This means that for each data point, the current
+    value of |/data point/|\meta{attribute} is examined and the minimum value
+    of all of these values as well as the maximum value is recorded internally.
+    Note that this works even when very large numbers like |100000000000| are
+    involved.
 
-  Here is a real-life example. The |scientific axes| create two axes,
-  called |x axis| and |y axis|, respectively.
+    Here is a real-life example. The |scientific axes| create two axes, called
+    |x axis| and |y axis|, respectively.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           x axis={attribute=people, length=2.5cm, ticks=few},
@@ -191,39 +193,41 @@
     2000, 150
   };
 \end{codeexample}
+    %
 \end{key}
 
 
 \subsubsection{The Axis Attribute Range Interval}
 
-Once an attribute has been specified for an axis, the data
-visualization engine will start monitoring this value. This means that
-before anything actual visualization is done, a ``survey phase'' is
-used to determine the range of values encountered for the attribute
-for all data points. This range of values results in what is called
-the \emph{attribute range interval}. Its minimum is the smallest value
-encountered in the data and its maximum is the largest value.
+Once an attribute has been specified for an axis, the data visualization engine
+will start monitoring this value. This means that before anything actual
+visualization is done, a ``survey phase'' is used to determine the range of
+values encountered for the attribute for all data points. This range of values
+results in what is called the \emph{attribute range interval}. Its minimum is
+the smallest value encountered in the data and its maximum is the largest
+value.
 
-Even though the attribute range interval is computed automatically and
-even though you typically do not need to worry about it, there are
-some situations where you may wish to set or enlarge the attribute
-range interval:
+Even though the attribute range interval is computed automatically and even
+though you typically do not need to worry about it, there are some situations
+where you may wish to set or enlarge the attribute range interval:
+%
 \begin{itemize}
-\item You may wish to start the interval with $0$, even though the
-  range of values contains only positive values.
-\item You may wish to slightly enlarge the interval so that, say, the
-  maximum is some ``nice'' value like |100| or |60|.
+    \item You may wish to start the interval with $0$, even though the range of
+        values contains only positive values.
+    \item You may wish to slightly enlarge the interval so that, say, the
+        maximum is some ``nice'' value like |100| or |60|.
 \end{itemize}
 
-The following keys can be used to influence the size of the attribute
-range interval:
-\begin{key}{/tikz/data visualization/axis options/include
-    value=\meta{list of value}}
-  This key ``fakes'' data points for which the attribute's values are
-  in the comma-separated \meta{list of values}. For instance, when you
-  write |include value=0|, then the attribute range interval is
-  guaranteed to contain |0| -- even if the actual data points are all
-  positive or all negative.
+The following keys can be used to influence the size of the attribute range
+interval:
+%
+\begin{key}{/tikz/data visualization/axis options/include value=\meta{list of value}}
+    This key ``fakes'' data points for which the attribute's values are in the
+    comma-separated \meta{list of values}. For instance, when you write
+    |include value=0|, then the attribute range interval is guaranteed to
+    contain |0| -- even if the actual data points are all positive or all
+    negative.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes, all axes={length=3cm},
                           visualize as line]
@@ -231,7 +235,8 @@
     var x : interval [5:10];
     func y = \value x * \value x;
   };
-\end{codeexample}  
+\end{codeexample}
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes, all axes={length=3cm},
                           visualize as line,
@@ -241,44 +246,48 @@
     var x : interval [5:10];
     func y = \value x * \value x;
   };
-\end{codeexample}  
+\end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/axis options/min value=\meta{value}}
-  This key allows you to simply set the minimum value, regardless of
-  which values are present in the actual data. This key should be used
-  with care: If there are data points for which the attribute's value
-  is less than \meta{value}, they will still be depicted, but
-  typically outside the normal visualization area. Usually, saying
-  |include value=|\meta{value} will achieve the same as saying
-  |min value=|\meta{value}, but with less danger of creating
-  ill-formed visualizations.
+    This key allows you to simply set the minimum value, regardless of which
+    values are present in the actual data. This key should be used with care:
+    If there are data points for which the attribute's value is less than
+    \meta{value}, they will still be depicted, but typically outside the normal
+    visualization area. Usually, saying |include value=|\meta{value} will
+    achieve the same as saying |min value=|\meta{value}, but with less danger
+    of creating ill-formed visualizations.
 \end{key}
 
 \begin{key}{/tikz/data visualization/axis options/max value=\meta{value}}
-  Works like |min value|.
+    Works like |min value|.
 \end{key}
 
 
 \subsubsection{Scaling: The General Mechanism}
 
-The above key allows us specify which attribute should be
-``monitored''. The next key is used to specify what should happen with
-the observed values.
+The above key allows us specify which attribute should be ``monitored''. The
+next key is used to specify what should happen with the observed values.
 
 \begin{key}{/tikz/data visualization/axis options/scaling=\meta{scaling spec}}
-  The \meta{scaling spec} must have the following form:
-  \begin{quote}
-    \meta{$s_1$}| at |\meta{$t_1$}| and |\meta{$s_2$}| at |\meta{$t_2$}
-  \end{quote}
-  This means that monitored values in the interval $[s_1,s_2]$ should
-  be mapped to values the ``reasonable'' interval $[t_1,t_2]$,
-  instead. For instance, we might write
+    The \meta{scaling spec} must have the following form:
+    %
+    \begin{quote}
+        \meta{$s_1$}| at |\meta{$t_1$}| and |\meta{$s_2$}| at |\meta{$t_2$}
+    \end{quote}
+    %
+    This means that monitored values in the interval $[s_1,s_2]$ should be
+    mapped to values the ``reasonable'' interval $[t_1,t_2]$, instead. For
+    instance, we might write
+    %
 \begin{codeexample}[code only]
 [y axis = {scaling = 1900 at 0cm and 2000 at 5cm}]
 \end{codeexample}
-  in order to map dates between 1900 and 2000 to the dimension
-  interval $[0\mathrm{cm},5\mathrm{cm}]$.
+    %
+    in order to map dates between 1900 and 2000 to the dimension interval
+    $[0\mathrm{cm},5\mathrm{cm}]$.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
    [scientific axes,
@@ -294,115 +303,120 @@
     2000, 150
   };
 \end{codeexample}
-  So much for the basic idea. Let us now have a detailed look at what
-  happens.
+    %
+    So much for the basic idea. Let us now have a detailed look at what
+    happens.
 
-  \medskip
-  \textbf{Number format and the min and max keywords.}
-  The source values $s_1$ and $s_2$ are typically just numbers like
-  |3.14| or |10000000000|. However, as described in
-  Section~\ref{section-dv-expressions}, you can also specify
-  expressions like |(pi/2)|, provided that (currently) you put them in
-  parentheses.
 
-  Instead of a number, you may alternatively also use the two key
-  words |min| and |max| for $s_1$ and/or $s_2$. In this case, |min|
-  evaluates to the smallest value observed for the attribute in the
-  data, symmetrically |max| evaluates to the largest values. For
-  instance, in the above example with the |year| attribute ranging
-  from |1900| to |2000|, the keyword |min| would stand for |1900| and
-  |max| for |2000|. Similarly, for the |people| attribute |min| stands
-  for |100| and |max| for |250|. Note that |min| and |max| can only be
-  used for $s_1$ and $s_2$, not for $t_1$ and $t_2$.
+    \medskip
+    \textbf{Number format and the min and max keywords.}
+    The source values $s_1$ and $s_2$ are typically just numbers like |3.14| or
+    |10000000000|. However, as described in
+    Section~\ref{section-dv-expressions}, you can also specify expressions like
+    |(pi/2)|, provided that (currently) you put them in parentheses.
 
-  A typical use of the |min| and |max| keywords is to say
+    Instead of a number, you may alternatively also use the two key words |min|
+    and |max| for $s_1$ and/or $s_2$. In this case, |min| evaluates to the
+    smallest value observed for the attribute in the data, symmetrically |max|
+    evaluates to the largest values. For instance, in the above example with
+    the |year| attribute ranging from |1900| to |2000|, the keyword |min| would
+    stand for |1900| and |max| for |2000|. Similarly, for the |people|
+    attribute |min| stands for |100| and |max| for |250|. Note that |min| and
+    |max| can only be used for $s_1$ and $s_2$, not for $t_1$ and $t_2$.
+
+    A typical use of the |min| and |max| keywords is to say
+    %
 \begin{codeexample}[code only]
-scaling = min at 0cm and max at 5cm    
+scaling = min at 0cm and max at 5cm
 \end{codeexample}
-  to map the complete range of values into an interval of length of
-  5cm. 
+    %
+    to map the complete range of values into an interval of length of 5cm.
 
-  The interval  $[s_1,s_2]$ need not contain all values that the
-  \meta{attribute} may attain. It is permissible that values are less
-  than $s_1$ or more than $s_2$.
-  
-  \medskip
-  \textbf{Linear transformation of the attribute.}
-  As indicated earlier, the main job of an axis is to map values from
-  a ``large'' interval $[s_1,s_2]$ to a more reasonable interval
-  $[t_1,t_2]$. Suppose
-  that for the current data point the value of the key
-  |/data point/|\meta{attribute} is the number $v$. In the simplest 
-  case, the following happens: A new value $v'$ is computed so that
-  $v' = t_1$ when $v=s_1$ and $v'=t_2$ when $v=s_2$ and $v'$ is some
-  value in between $t_1$ and $t_2$ then $v$ is some value in between
-  $s_1$ and $s_2$. (Formally, in this basic case $v' = t_1 +
-  (v-s_1)\frac{t_2-t_1}{s_2-s_1}$.)
+    The interval  $[s_1,s_2]$ need not contain all values that the
+    \meta{attribute} may attain. It is permissible that values are less than
+    $s_1$ or more than $s_2$.
 
-  Once $v'$ has been computed, it is stored in the key
-  |/data point/|\meta{attribute}|/scaled|. Thus, the ``reasonable''
-  value $v'$ does not replace the value of the attribute, but it is
-  placed in a different key. This means that both the original value
-  and the more ``scaled'' values are available when the data point is
-  visualized.
 
-  As an example, suppose you have written
+    \medskip
+    \textbf{Linear transformation of the attribute.}
+    As indicated earlier, the main job of an axis is to map values from a
+    ``large'' interval $[s_1,s_2]$ to a more reasonable interval $[t_1,t_2]$.
+    Suppose that for the current data point the value of the key
+    |/data point/|\meta{attribute} is the number $v$. In the simplest case, the
+    following happens: A new value $v'$ is computed so that $v' = t_1$ when
+    $v=s_1$ and $v'=t_2$ when $v=s_2$ and $v'$ is some value in between $t_1$
+    and $t_2$ then $v$ is some value in between $s_1$ and $s_2$. (Formally, in
+    this basic case $v' = t_1 + (v-s_1)\frac{t_2-t_1}{s_2-s_1}$.)
+
+    Once $v'$ has been computed, it is stored in the key
+    |/data point/|\meta{attribute}|/scaled|. Thus, the ``reasonable'' value
+    $v'$ does not replace the value of the attribute, but it is placed in a
+    different key. This means that both the original value and the more
+    ``scaled'' values are available when the data point is visualized.
+
+    As an example, suppose you have written
+    %
 \begin{codeexample}[code only]
 [x axis = {attribute = x, scaling=1000 at 20 and 2000 at 30}]
 \end{codeexample}
-  Now suppose that |/data point/x| equals |1200| for a data
-  point. Then the key |/data point/x/scaled| will be set to |22| when
-  the data point is being visualized.
-  
-  \medskip
-  \textbf{Nonlinear transformations of the attribute.}
-  By default, the transformation of $[s_1,s_2]$ to $[t_1,t_2]$ is the
-  linear transformation described above. However, in some case you may
-  be interested in a different kind of transformation: For example, in
-  a logarithmic plot, values of an attribute may range between, say,
-  |1| and |1000| and we want an axis of length |3cm|. So, we would
-  write
-  \begin{codeexample}[code only]
+    %
+    Now suppose that |/data point/x| equals |1200| for a data point. Then the
+    key |/data point/x/scaled| will be set to |22| when the data point is being
+    visualized.
+
+
+    \medskip
+    \textbf{Nonlinear transformations of the attribute.}
+    By default, the transformation of $[s_1,s_2]$ to $[t_1,t_2]$ is the linear
+    transformation described above. However, in some case you may be interested
+    in a different kind of transformation: For example, in a logarithmic plot,
+    values of an attribute may range between, say, |1| and |1000| and we want
+    an axis of length |3cm|. So, we would write
+    %
+\begin{codeexample}[code only]
 [x axis = {attribute = x, scaling=1 at 0cm and 1000 at 3cm}]
-  \end{codeexample}
-  Indeed, |1| will now be mapped to position |0cm| and |1000| will be
-  mapped to position |3cm|. Now, the value |10| will be mapped to
-  approximately |0.03cm| because it is (almost) at one percent between
-  |1| and |1000|. However, in a logarithmic plot we actually want |10|
-  to be mapped to the position |1cm| rather than |0.03cm| and we want
-  |100| to be mapped to the position |2cm|. Such a mapping a
-  \emph{nonlinear} mapping between the intervals.
+\end{codeexample}
+    %
+    Indeed, |1| will now be mapped to position |0cm| and |1000| will be mapped
+    to position |3cm|. Now, the value |10| will be mapped to approximately
+    |0.03cm| because it is (almost) at one percent between |1| and |1000|.
+    However, in a logarithmic plot we actually want |10| to be mapped to the
+    position |1cm| rather than |0.03cm| and we want |100| to be mapped to the
+    position |2cm|. Such a mapping a \emph{nonlinear} mapping between the
+    intervals.
 
-  In order to achieve such a nonlinear mapping, the |function| key can
-  be used, whose syntax is described in a moment. The effect of this key is
-  to specify a function $f \colon \mathbb R \to \mathbb R$ like, say,
-  the logarithm function. When such a function is specified, the
-  mapping of $v$ to $v'$ is computed as follows:
-  \begin{align*}
-    v' = t_1 + (f(s_2) - f(v))\frac{t_2 - t_1}{f(s_2)-f(s_1)}.
-  \end{align*}
-  
-  The syntax of the |function| key is described next, but you
-  typically will not call this key directly. Rather, you will use a
-  key like |logarithmic| that installs appropriate code for the
-  |function| key for you.
-  \begin{key}{/tikz/data visualization/axis options/function=\meta{code}}
-    The \meta{code} should specify a function $f$ that is applied
-    during the transformation of the interval $[s_1,s_2]$ to the
-    interval $[t_1,t_2]$ in the following way: When the \meta{code} is
-    called, the macro |\pgfvalue| will have been set to an internal
-    representation of the to-be-transformed value~$v$. You can then
-    call the commands of the math-micro-kernel of the data
-    visualization system, see Section~\ref{section-dv-math-kernel}, to
-    compute a new value. This new value must once more be stored in
-    |\pgfvalue|.
+    In order to achieve such a nonlinear mapping, the |function| key can be
+    used, whose syntax is described in a moment. The effect of this key is to
+    specify a function $f \colon \mathbb{R} \to \mathbb{R}$ like, say, the
+    logarithm function. When such a function is specified, the mapping of $v$
+    to $v'$ is computed as follows:
+    %
+    \begin{align*}
+        v' = t_1 + (f(s_2) - f(v))\frac{t_2 - t_1}{f(s_2)-f(s_1)}.
+    \end{align*}
 
-    The most common use of this key is to say
+    The syntax of the |function| key is described next, but you typically will
+    not call this key directly. Rather, you will use a key like |logarithmic|
+    that installs appropriate code for the |function| key for you.
+    %
+    \begin{key}{/tikz/data visualization/axis options/function=\meta{code}}
+        The \meta{code} should specify a function $f$ that is applied during
+        the transformation of the interval $[s_1,s_2]$ to the interval
+        $[t_1,t_2]$ in the following way: When the \meta{code} is called, the
+        macro |\pgfvalue| will have been set to an internal representation of
+        the to-be-transformed value~$v$. You can then call the commands of the
+        math-micro-kernel of the data visualization system, see
+        Section~\ref{section-dv-math-kernel}, to compute a new value. This new
+        value must once more be stored in |\pgfvalue|.
+
+        The most common use of this key is to say
+        %
 \begin{codeexample}[code only]
-some axis={function=\pgfdvmathln{\pgfvalue}{\pgfvalue}} 
+some axis={function=\pgfdvmathln{\pgfvalue}{\pgfvalue}}
 \end{codeexample}
-    This specifies that the function $f$ is the logarithm
-    function.
+        %
+        This specifies that the function $f$ is the logarithm function.
+        %
 \begin{codeexample}[]
 \tikz \datavisualization
    [scientific axes,
@@ -414,7 +428,9 @@
     x={1,100,...,1000}, y={1,2,3}
   };
 \end{codeexample}
-    Another possibility might be to use the square-root function, instead:
+        %
+        Another possibility might be to use the square-root function, instead:
+        %
 \begin{codeexample}[]
 \tikz \datavisualization
    [scientific axes,
@@ -426,49 +442,52 @@
     x={0,100,...,1000}, y={1,2,3}
   };
 \end{codeexample}
-  \end{key}
-  
-  \medskip
-  \textbf{Default scaling.}
-  When no scaling is specified, it may seem natural to use $[0,1]$
-  both as the source and the target interval. However, this would not
-  work when the logarithm function is used as transformations: In this
-  case the logarithm of zero would be computed, leading to an
-  error. Indeed, for a logarithmic axis it is far more natural to use
-  $[1,10]$ as the source interval and $[0,1]$ as the target interval.
+    \end{key}
 
-  For these reasons, the default value for the |scaling| that is used
-  when no value is specified explicitly can be set using a special
-  key:   
-  \begin{key}{/tikz/data visualization/axis options/scaling/default=\meta{text}}
-    The \meta{text} is used as |scaling| whenever no other scaling is
-    specified. This key is mainly used when a transformation function
-    is set using |function|; normally, you will not use this key
-    directly. 
-  \end{key}
+
+    \medskip
+    \textbf{Default scaling.}
+    When no scaling is specified, it may seem natural to use $[0,1]$ both as
+    the source and the target interval. However, this would not work when the
+    logarithm function is used as transformations: In this case the logarithm
+    of zero would be computed, leading to an error. Indeed, for a logarithmic
+    axis it is far more natural to use $[1,10]$ as the source interval and
+    $[0,1]$ as the target interval.
+
+    For these reasons, the default value for the |scaling| that is used when no
+    value is specified explicitly can be set using a special key:
+    %
+    \begin{key}{/tikz/data visualization/axis options/scaling/default=\meta{text}}
+        The \meta{text} is used as |scaling| whenever no other scaling is
+        specified. This key is mainly used when a transformation function is
+        set using |function|; normally, you will not use this key directly.
+    \end{key}
 \end{key}
 
-Most of the time, you will not use neither the |scaling| nor the
-|function| key directly, but rather you will use one of the following
-predefined styles documented in the following. 
+Most of the time, you will not use neither the |scaling| nor the |function| key
+directly, but rather you will use one of the following predefined styles
+documented in the following.
 
 
 \subsubsection{Scaling: Logarithmic Axes}
 
 \begin{key}{/tikz/data visualization/axis options/logarithmic}
-  When this key is used with an axis, three things happen:
-  \begin{enumerate}
-  \item The transformation |function| of the axis is setup to the
-    logarithm.
-  \item The strategy for automatically generating ticks and grid lines
-    is set to the |exponential strategy|, see
-    Section~\ref{section-dv-exponential-strategy} for details.
-  \item The default scaling is setup sensibly.
-  \end{enumerate}
-  All told, to turn an axis into a logarithmic axis, you just need to
-  add this option to the axis.
+    When this key is used with an axis, three things happen:
+    %
+    \begin{enumerate}
+        \item The transformation |function| of the axis is setup to the
+            logarithm.
+        \item The strategy for automatically generating ticks and grid lines is
+            set to the |exponential strategy|, see
+            Section~\ref{section-dv-exponential-strategy} for details.
+        \item The default scaling is setup sensibly.
+    \end{enumerate}
+    %
+    All told, to turn an axis into a logarithmic axis, you just need to add
+    this option to the axis.
+    %
 \begin{codeexample}[width=8cm]
-\tikz \datavisualization [scientific axes, 
+\tikz \datavisualization [scientific axes,
                           x axis={logarithmic},
                           y axis={logarithmic},
                           visualize as line]
@@ -477,11 +496,13 @@
    func y = \value x * \value x;
  };
 \end{codeexample}
-  Note that this will work with any axis,
-  including, say, the degrees on a polar axis:
+    %
+    Note that this will work with any axis, including, say, the degrees on a
+    polar axis:
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
-    [new polar axes, 
+    [new polar axes,
      angle axis={logarithmic, scaling=1 at 0 and 90 at 90},
      radius axis={scaling=0 at 0cm and 100 at 3cm},
      visualize as scatter]
@@ -488,10 +509,11 @@
   data [format=named] {
     angle={1,10,...,90}, radius={1,10,...,100}
   };
-\end{codeexample}  
+\end{codeexample}
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
-    [new polar axes, 
+    [new polar axes,
      angle axis={degrees},
      radius axis={logarithmic, scaling=1 at 0cm and 100 at 3cm},
      visualize as scatter]
@@ -498,18 +520,18 @@
   data [format=named] {
     angle={1,10,...,90}, radius={1,10,...,100}
   };
-\end{codeexample}  
+\end{codeexample}
+    %
 \end{key}
 
 
-
 \subsubsection{Scaling: Setting the Length or Unit Length}
 
 \begin{key}{/tikz/data visualization/axis options/length=\meta{dimension}}
-  Sets |scaling| to |min at 0cm and max at |\meta{dimension}. The
-  effect is that the range of all values of the axis's attribute will
-  be mapped to an interval of exact length \meta{dimension}.
-  
+    Sets |scaling| to |min at 0cm and max at |\meta{dimension}. The effect is
+    that the range of all values of the axis's attribute will be mapped to an
+    interval of exact length \meta{dimension}.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           x axis={length=3cm},
@@ -524,6 +546,7 @@
       13, 20
     };
 \end{codeexample}
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           x axis={length=3cm},
@@ -538,15 +561,15 @@
       13, 20
     };
 \end{codeexample}
-  
+    %
 \end{key}
 
-\begin{key}{/tikz/data visualization/axis
-    options/unit length=\meta{dimension}\opt{| per |\meta{number}| units|}}
-  Sets |scaling| to |0 at 0cm and 1 at |\meta{dimension}. In other
-  words, this key allows you to specify how long a single unit should
-  be. This key is particularly useful when you wish to ensure that the
-  same scaling is used across multiple axes or pictures.  
+\begin{key}{/tikz/data visualization/axis options/unit length=\meta{dimension}\opt{| per |\meta{number}| units|}}
+    Sets |scaling| to |0 at 0cm and 1 at |\meta{dimension}. In other words,
+    this key allows you to specify how long a single unit should be. This key
+    is particularly useful when you wish to ensure that the same scaling is
+    used across multiple axes or pictures.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           all axes={ticks=few, unit length=1mm},
@@ -559,12 +582,13 @@
       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 to a hundredth of a nanometer -- much too small for
-  \TeX\ to handle as a dimension. In this case, you can write
-  |unit length=1cm per 1000000000 units|:
+    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
+    to a hundredth of a nanometer -- much too small for \TeX\ to handle as a
+    dimension. In this case, you can write
+    |unit length=1cm per 1000000000 units|:
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes,
@@ -578,18 +602,19 @@
    13000000000, 20
  };
 \end{codeexample}
+    %
 \end{key}
-\begin{key}{/tikz/data visualization/axis
-    options/power unit length=\meta{dimension}}
-  This key is used in conjunction with the |logarithmic| setting. It
-  cases the |scaling| to be set to
-  |1 at 0cm and 10 at |\meta{dimension}. This causes a ``power unit,''
-  that is, one power of ten in a logarithmic plot, 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{key}{/tikz/data visualization/axis options/power unit length=\meta{dimension}}
+    This key is used in conjunction with the |logarithmic| setting. It cases
+    the |scaling| to be set to |1 at 0cm and 10 at |\meta{dimension}. This
+    causes a ``power unit'', that is, one power of ten in a logarithmic plot,
+    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]
 \tikz \datavisualization
-  [scientific axes, 
+  [scientific axes,
    y axis={logarithmic, power unit length=1mm, grid},
    visualize as line]
  data {
@@ -603,25 +628,26 @@
    6, 5000000000000000000
  };
 \end{codeexample}
+    %
 \end{key}
 
 
-
 \subsubsection{Axis Label}
 
-An axis can have a \emph{label}, which is a textual representation of
-the attribute according to which the axis varies the position of the
-page. You can set the attribute using the following key:
+An axis can have a \emph{label}, which is a textual representation of the
+attribute according to which the axis varies the position of the page. You can
+set the attribute using the following key:
 
-\begin{key}{/tikz/data visualization/axis
-    options/label=\opt{|\char`\{[|\meta{options}|]|}\meta{text}\opt{|\char`\}|}
-  (default \normalfont axis's label in math mode)}
-  This key sets the label of an axis to \meta{text}. This text will
-  typically be placed inside a |node| and the \meta{options} can be
-  used to further configure the way this node is rendered. The
-  \meta{options} will be executed with the path prefix
-  |/tikz/data visualization/|, so you need to say |node style| to
-  configure the styling of a node, see Section~\ref{section-dv-style}.
+\begin{key}{/tikz/data visualization/axis options/label=\opt{|\char`\{[|\meta{options}|]|}\meta{text}\opt{|\char`\}|}
+        (default \normalfont axis's label in math mode)%
+}
+    This key sets the label of an axis to \meta{text}. This text will typically
+    be placed inside a |node| and the \meta{options} can be used to further
+    configure the way this node is rendered. The \meta{options} will be
+    executed with the path prefix |/tikz/data visualization/|, so you need to
+    say |node style| to configure the styling of a node, see
+    Section~\ref{section-dv-style}.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [
     scientific axes,
@@ -632,55 +658,52 @@
    var x : interval [-3:5];
    func y = \value x * \value x;
  };
-\end{codeexample}  
+\end{codeexample}
+    %
 \end{key}
 
-Note that using the |label| key does not actually cause a node to be
-created, because it is somewhat unclear where the label should be
-placed. Instead, the |visualize label| key is used (typically
-internally by an axis system) to show the label at some sensible
-position. This key is documented in
-Section~\ref{section-dv-visualize-label}. 
+Note that using the |label| key does not actually cause a node to be created,
+because it is somewhat unclear where the label should be placed. Instead, the
+|visualize label| key is used (typically internally by an axis system) to show
+the label at some sensible position. This key is documented in
+Section~\ref{section-dv-visualize-label}.
 
 
-
 \subsubsection{Reference: Axis Types}
-
 \label{section-dv-reference-axis-types}
 
-As explained earlier, when you use |new axis base| to create a new axis,
-a powerful scaling and attribute mapping mechanism is installed, but
-no mapping of values to positions on the page is performed. For this,
-a \emph{transformation object} must be installed. The following keys
-take care of this for you. Note, however, that even these keys do not
-cause a visual representation of the axis to be added to the
-visualization -- this is the job of an axis system, see
-Section~\ref{section-dv-axis-systems}. 
+As explained earlier, when you use |new axis base| to create a new axis, a
+powerful scaling and attribute mapping mechanism is installed, but no mapping
+of values to positions on the page is performed. For this, a
+\emph{transformation object} must be installed. The following keys take care of
+this for you. Note, however, that even these keys do not cause a visual
+representation of the axis to be added to the visualization -- this is the job
+of an axis system, see Section~\ref{section-dv-axis-systems}.
 
 \begin{key}{/tikz/data visualization/new Cartesian axis=\meta{name}}
-  This key creates a new ``Cartesian'' axis, named \meta{name}. For
-  such an axis, the (scaled) values of the axis's attribute are
-  transformed into a displacement on the page along a straight
-  line. The following key is used to configure in which ``direction''
-  the axis points:
-  \begin{key}{/tikz/data visualization/axis options/unit
-      vector=\meta{coordinate} (initially {(1pt,0pt)})}
-    Recall that an axis takes the values of an attribute and rescales
-    them so that they fit into a ``reasonable'' interval
-    $[t_1,t_2]$. Suppose that $v'$ is the rescaled dimension in (\TeX)
-    points. Then when the data point is visualized, the coordinate
-    system will be shifted by $v'$ times the \meta{coordinate}.
+    This key creates a new ``Cartesian'' axis, named \meta{name}. For such an
+    axis, the (scaled) values of the axis's attribute are transformed into a
+    displacement on the page along a straight line. The following key is used
+    to configure in which ``direction'' the axis points:
+    %
+    \begin{key}{/tikz/data visualization/axis options/unit vector=\meta{coordinate} (initially {(1pt,0pt)})}
+        Recall that an axis takes the values of an attribute and rescales them
+        so that they fit into a ``reasonable'' interval $[t_1,t_2]$. Suppose
+        that $v'$ is the rescaled dimension in (\TeX) points. Then when the
+        data point is visualized, the coordinate system will be shifted by $v'$
+        times the \meta{coordinate}.
 
-    As an example, suppose that you have said
-    |scaling=0 and 10pt and 50 and 20pt|. Then when the underlying
-    attribute has the value |25|, it will be mapped to a $v'$ of $15$
-    (because |25| lies in the middle of |0| and |50| and |15pt| lies
-    in the middle of |10pt| and |20pt|). This, in turn, causes the
-    data point to be displaced by $15$ times the \meta{coordinate}.
+        As an example, suppose that you have said
+        |scaling=0 and 10pt and 50 and 20pt|. Then when the underlying
+        attribute has the value |25|, it will be mapped to a $v'$ of $15$
+        (because |25| lies in the middle of |0| and |50| and |15pt| lies in the
+        middle of |10pt| and |20pt|). This, in turn, causes the data point to
+        be displaced by $15$ times the \meta{coordinate}.
 
-    The bottom line is that the \meta{coordinate} should usually
-    denote a point that is at distance |1pt| from the origin and that
-    points into the direction of the axis.
+        The bottom line is that the \meta{coordinate} should usually denote a
+        point that is at distance |1pt| from the origin and that points into
+        the direction of the axis.
+        %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \draw [help lines] (0,0) grid (3,2);
@@ -703,71 +726,72 @@
   };
 \end{tikzpicture}
 \end{codeexample}
+    \end{key}
 \end{key}
-\end{key}
 
 
-
 \subsection{Axis Systems}
 \label{section-dv-axis-systems}
 
+An \emph{axis system} is, as the name suggests, a whole family of axes that act
+in concert. For example, in the ``standard'' axis system there is a horizontal
+axis called the $x$-axis that monitors the |x| attribute (by default, you can
+change this easily) and a vertical axis called the $y$-axis. Furthermore, a
+certain number of ticks are added and labels are placed at sensible positions.
 
-An \emph{axis system} is, as the name suggests, a whole family of axes
-that act in concert. For example, in the ``standard'' axis system there
-is a horizontal axis called the $x$-axis that monitors the |x|
-attribute (by default, you can change this easily) and a vertical axis
-called the $y$-axis. Furthermore, a certain number of ticks are added
-and labels are placed at sensible positions.
 
 \subsubsection{Usage}
 
-Using an axis system is usually pretty easy: You just specify a key
-like |scientific axes| and the necessary axes get initialized with
-sensible default values. You can then start to modify these default
-values, if necessary.
+Using an axis system is usually pretty easy: You just specify a key like
+|scientific axes| and the necessary axes get initialized with sensible default
+values. You can then start to modify these default values, if necessary.
 
-First, you can (and should) set the attributes to which the difference 
-axes refer. For instance, if the |time| attribute is plotted along the
-$x$-axis, you would write
+First, you can (and should) set the attributes to which the difference axes
+refer. For instance, if the |time| attribute is plotted along the $x$-axis, you
+would write
+%
 \begin{codeexample}[code only]
 x axis = {attribute = time}
 \end{codeexample}
 
-Second, you may wish to modify the lengths of the axes. For this, you
-can use keys like |length| or further keys as described in the
-references later on.
+Second, you may wish to modify the lengths of the axes. For this, you can use
+keys like |length| or further keys as described in the references later on.
 
-Third, you may often wish to modify how many ticks and grid lines are
-shown. By default, no grid lines are shown, but you can say the
-following in order to cause grid lines to be shown:
+Third, you may often wish to modify how many ticks and grid lines are shown. By
+default, no grid lines are shown, but you can say the following in order to
+cause grid lines to be shown:
+%
 \begin{codeexample}[code only]
 all axes={grid}
 \end{codeexample}
-Naturally, instead of |all axes| you can also specify a single axis,
-causing only grid lines to be shown for this axis.
-In order to change the number of ticks that are shown, you can say
+%
+Naturally, instead of |all axes| you can also specify a single axis, causing
+only grid lines to be shown for this axis. In order to change the number of
+ticks that are shown, you can say
+%
 \begin{codeexample}[code only]
-all axes={ticks=few}  
+all axes={ticks=few}
 \end{codeexample}
-or also |many| instead of |few| or even |none|. Far more fine-grained
-control over the tick placement and rendering is possible, 
-see Section~\ref{section-dv-ticks-and-grids} for details.
+%
+or also |many| instead of |few| or even |none|. Far more fine-grained control
+over the tick placement and rendering is possible, see
+Section~\ref{section-dv-ticks-and-grids} for details.
 
 Fourth, consider adding units (like ``cm'' for centimeters or
-``$\mathrm m/\mathrm s^2$'' for acceleration) to your ticks:
+``$\mathrm{m}/\mathrm{s}^2$'' for acceleration) to your ticks:
+%
 \begin{codeexample}[code only]
-x axis={ticks={tick unit=cm}}, y axis={ticks={tick unit=m/s^2}}  
+x axis={ticks={tick unit=cm}}, y axis={ticks={tick unit=m/s^2}}
 \end{codeexample}
 
-
-Finally, consider adding labels to your axes. For this, use the label
-option:
+Finally, consider adding labels to your axes. For this, use the label option:
+%
 \begin{codeexample}[code only]
-x axes={time $t$ (ms)}, y axis={distance $d$ (mm)}  
+x axes={time $t$ (ms)}, y axis={distance $d$ (mm)}
 \end{codeexample}
 
 Here is an example that employs most of the above features:
-
+%
 \begin{codeexample}[width=8.5cm]
 \tikz \datavisualization [
   scientific axes=clean,
@@ -790,13 +814,12 @@
 \end{codeexample}
 
 
-
 \subsubsection{Reference: Scientific Axis Systems}
 
 \begin{key}{/tikz/data visualization/scientific axes=\opt{\meta{options}}}
-  This key installs a two-dimensional coordinate system based on the
-  attributes |/data point/x| and |/data point/y|.
-
+    This key installs a two-dimensional coordinate system based on the
+    attributes |/data point/x| and |/data point/y|.
+    %
 \begin{codeexample}[width=7cm]
 \begin{tikzpicture}
   \datavisualization [scientific axes,
@@ -808,24 +831,25 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  This axis system is usually a good choice to depict ``arbitrary two
-  dimensional data.'' Because the axes are automatically scaled, you
-  do not need to worry about how large or small the values will
-  be. The name |scientific axes| is intended to indicate that this
-  axis system is often used in scientific publications.
+    This axis system is usually a good choice to depict ``arbitrary two
+    dimensional data''. Because the axes are automatically scaled, you do not
+    need to worry about how large or small the values will be. The name
+    |scientific axes| is intended to indicate that this axis system is often
+    used in scientific publications.
 
-  You can use the \meta{options} to fine tune the axis system. The
-  \meta{options} will be executed with the following path prefix:
+    You can use the \meta{options} to fine tune the axis system. The
+    \meta{options} will be executed with the following path prefix:
+    %
 \begin{codeexample}[code only]
-/tikz/data visualization/scientific axes    
+/tikz/data visualization/scientific axes
 \end{codeexample}
-  All keys with this prefix can thus be passed as \meta{options}.
+    %
+    All keys with this prefix can thus be passed as \meta{options}.
 
-  This axis system will always distort the
-  relative magnitudes of the units on the two axis. If you wish the
-  units on both axes to be equal, consider directly specifying the
-  unit length ``by hand'':
-
+    This axis system will always distort the relative magnitudes of the units
+    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{tikzpicture}
   \datavisualization [visualize as smooth line,
@@ -838,44 +862,46 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The |scientific axes| have the following properties:
-  \begin{itemize}
-  \item The |x|-values are surveyed and the $x$-axis is then scaled
-    and shifted so  that it has the length specified by the following key.
-    \begin{key}{/tikz/data visualization/scientific
-        axes/width=\meta{dimension} (initially 5cm)}
-    \end{key}
-    The minimum value is at the left end of the axis and at the canvas
-    origin. The maximum value is at the right end of the axis.
-  \item The |y|-values are surveyed and the $y$-axis is then scaled so
-    that is has the length specified by the following key.
-    \begin{key}{/tikz/data visualization/scientific
-        axes/height=\meta{dimension}}
-      By default, the |height| is the golden ratio times the |width|.
-    \end{key}
-    The minimum value is at the bottom of the axis and at the canvas
-    origin. The maximum value is at the top of the axis.
-  \item Lines (forming a frame) are depicted at the minimum and
-    maximum values of the axes in 50\% black.
-  \end{itemize}
+    The |scientific axes| have the following properties:
+    %
+    \begin{itemize}
+        \item The |x|-values are surveyed and the $x$-axis is then scaled and
+            shifted so  that it has the length specified by the following key.
+            %
+            \begin{key}{/tikz/data visualization/scientific axes/width=\meta{dimension} (initially 5cm)}
+            \end{key}
+            %
+            The minimum value is at the left end of the axis and at the canvas
+            origin. The maximum value is at the right end of the axis. \item
+            The |y|-values are surveyed and the $y$-axis is then scaled so that
+            is has the length specified by the following key.
+            %
+            \begin{key}{/tikz/data visualization/scientific axes/height=\meta{dimension}}
+                By default, the |height| is the golden ratio times the |width|.
+            \end{key}
+            %
+            The minimum value is at the bottom of the axis and at the canvas
+            origin. The maximum value is at the top of the axis.
+        \item Lines (forming a frame) are depicted at the minimum and maximum
+            values of the axes in 50\% black.
+    \end{itemize}
 
-  The following keys are executed by default as options: |outer ticks|
-  and |standard labels|.
+    The following keys are executed by default as options: |outer ticks| and
+    |standard labels|.
 
-  You can use the following style to overrule the defaults:
+    You can use the following style to overrule the defaults:
 
-  \begin{stylekey}{/tikz/data visualization/every scientific axes}
-  \end{stylekey}
+    \begin{stylekey}{/tikz/data visualization/every scientific axes}
+    \end{stylekey}
 \end{key}
 
-The  keys described in the following can be used to fine-tune the way
-the scientific axis system is rendered.
+The keys described in the following can be used to fine-tune the way the
+scientific axis system is rendered.
 
 \begin{key}{/tikz/data visualization/scientific axes/outer ticks}
-  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. 
-
+    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{tikzpicture}
   \datavisualization [scientific axes=outer ticks,
@@ -886,12 +912,13 @@
     };
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/scientific axes/inner ticks}
-  This axis system works like |scientific axes|, only the ticks are on
-  the ``inside'' of the frame.
-
+    This axis system works like |scientific axes|, only the ticks are on the
+    ``inside'' of the frame.
+    %
 \begin{codeexample}[width=7cm]
 \begin{tikzpicture}
   \datavisualization [scientific axes=inner ticks,
@@ -903,9 +930,10 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  This axis system is also common in publications, but the ticks tend
-  to interfere with marks if they are near to the border as can be
-  seen in the following example:
+    This axis system is also common in publications, but the ticks tend to
+    interfere with marks if they are near to the border as can be seen in the
+    following example:
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \datavisualization [scientific axes={inner ticks, width=3.2cm},
@@ -927,14 +955,14 @@
     };
 \end{tikzpicture}
 \end{codeexample}
-
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/scientific axes/clean}
-  The axes and the ticks are completely removed from the actual data,
-  making this axis system especially useful for scatter plots, but
-  also for most other scientific plots.
-
+    The axes and the ticks are completely removed from the actual data, making
+    this axis system especially useful for scatter plots, but also for most
+    other scientific plots.
+    %
 \begin{codeexample}[width=7.5cm]
 \tikz \datavisualization [
   scientific axes=clean,
@@ -945,19 +973,19 @@
 };
 \end{codeexample}
 
-  The distance of the axes from the actual plot is given by the
-  padding of the axes.
+    The distance of the axes from the actual plot is given by the padding of
+    the axes.
 \end{key}
 
+For all scientific axis systems, different label placement strategies can be
+specified. They are discussed in the following.
 
-For all scientific axis systems, different label placement strategies
-can be specified. They are discussed in the following.
-
 \begin{key}{/tikz/data visualization/scientific axes/standard labels}
-  As the name suggests, this is the standard placement strategy. The
-  label of the $x$-axis is placed below the center of the $x$-axis,
-  the label of the $y$-axis is rotated by $90^\circ$ and placed left
-  of the center of the $y$-axis.
+    As the name suggests, this is the standard placement strategy. The label of
+    the $x$-axis is placed below the center of the $x$-axis, the label of the
+    $y$-axis is rotated by $90^\circ$ and placed left of the center of the
+    $y$-axis.
+    %
 \begin{codeexample}[width=8cm]
 \tikz \datavisualization
  [scientific axes={clean, standard labels},
@@ -970,11 +998,13 @@
   func y = sin(\value x);
 };
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/scientific axes/upright labels}
-  Works like |scientific axes standard labels|, only the label of the
-  $y$-axis is not rotated.
+    Works like |scientific axes standard labels|, only the label of the
+    $y$-axis is not rotated.
+    %
 \begin{codeexample}[width=8cm]
 \tikz \datavisualization [
   scientific axes={clean, upright labels},
@@ -990,12 +1020,13 @@
   func y = cos(\value x);
 };
 \end{codeexample}
+    %
 \end{key}
 
-
 \begin{key}{/tikz/data visualization/scientific axes/end labels}
-  Places the labels at the end of the $x$- and the $y$-axis, similar
-  to the axis labels of a school book axis system.
+    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]
 \tikz \datavisualization [
   scientific axes={clean, end labels},
@@ -1008,28 +1039,26 @@
   func y = tan(\value x);
 };
 \end{codeexample}
+    %
 \end{key}
 
 
-
 \subsubsection{Reference: School Book Axis Systems}
 
 \begin{key}{/tikz/data visualization/school book axes=\meta{options}}
-  This axis system is intended to ``look like'' the coordinate systems
-  often used in school books: The axes are drawn in such a way that
-  they intersect to origin. Furthermore, no automatic
-  scaling is done to ensure that the lengths of units are the same in
-  all directions.
+    This axis system is intended to ``look like'' the coordinate systems often
+    used in school books: The axes are drawn in such a way that they intersect
+    to origin. Furthermore, no automatic scaling is done to ensure that the
+    lengths of units are the same in all directions.
 
-  This axis system must be used with care -- it is nearly always
-  necessary to specify the desired unit length by hand using the
-  option |unit length|. If the magnitudes of the units on the two axes
-  differ, different unit lengths typically need to be specified for
-  the different axes.
+    This axis system must be used with care -- it is nearly always necessary to
+    specify the desired unit length by hand using the option |unit length|. If
+    the magnitudes of the units on the two axes differ, different unit lengths
+    typically need to be specified for the different axes.
 
-  Finally, if the data is ``far removed'' from the origin, this
-  axis system will also ``look bad.''
-
+    Finally, if the data is ``far removed'' from the origin, this axis system
+    will also ``look bad''.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \datavisualization [school book axes, visualize as smooth line]
@@ -1040,15 +1069,17 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  The stepping of the ticks is one unit by default. Using keys like
-  |ticks=some| may help to give better steppings.
-  
-  The \meta{options} are executed with the key itself as path
-  prefix. Thus, the following subkeys are permissible options:
-  \begin{key}{/tikz/data visualization/school book axes/unit=\meta{value}}
-    Sets the scaling so that 1\,cm corresponds to \meta{value}
-    units. At the same time, the stepping of the ticks will also be
-    set to \meta{value}.
+    The stepping of the ticks is one unit by default. Using keys like
+    |ticks=some| may help to give better steppings.
+
+    The \meta{options} are executed with the key itself as path prefix. Thus,
+    the following subkeys are permissible options:
+    %
+    \begin{key}{/tikz/data visualization/school book axes/unit=\meta{value}}
+        Sets the scaling so that 1\,cm corresponds to \meta{value} units. At
+        the same time, the stepping of the ticks will also be set to
+        \meta{value}.
+        %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \datavisualization [school book axes={unit=10},
@@ -1062,15 +1093,16 @@
     };
 \end{tikzpicture}
 \end{codeexample}
-  \end{key}
+    \end{key}
 
-  \begin{key}{/tikz/data visualization/school book axes/standard labels}
-    This key makes the label of the $x$-axis appear at the right end of
-    this axis and it makes the label of the $y$-axis appear at the top
-    of the $y$-axis.
+    \begin{key}{/tikz/data visualization/school book axes/standard labels}
+        This key makes the label of the $x$-axis appear at the right end of
+        this axis and it makes the label of the $y$-axis appear at the top of
+        the $y$-axis.
 
-    Currently, this is the only supported placement strategy for the
-    school book axis system.
+        Currently, this is the only supported placement strategy for the school
+        book axis system.
+        %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \datavisualization [school book axes={standard labels},
@@ -1084,29 +1116,25 @@
     };
 \end{tikzpicture}
 \end{codeexample}
-  \end{key}
+    \end{key}
 \end{key}
 
 
-
 \subsubsection{Advanced Reference: Underlying Cartesian Axis Systems}
 
-The axis systems described in the following are typically not used
-directly by the user. The systems setup \emph{directions} for several
-axes in some sensible way, but they do not actually draw anything on
-these axes. For instance, the |xy Cartesian| creates two axes called
-|x axis| and |y axis| and makes the $x$-axis point right and the
-$y$-axis point up. In contrast, an axis system like |scientific axes|
-uses the axis system |xy Cartesian| internally and then proceeds to
-setup a lot of keys so that the axis lines are drawn,
-ticks and grid lines are drawn, and labels are placed at the correct
-positions.
+The axis systems described in the following are typically not used directly by
+the user. The systems setup \emph{directions} for several axes in some sensible
+way, but they do not actually draw anything on these axes. For instance, the
+|xy Cartesian| creates two axes called |x axis| and |y axis| and makes the
+$x$-axis point right and the $y$-axis point up. In contrast, an axis system
+like |scientific axes| uses the axis system |xy Cartesian| internally and then
+proceeds to setup a lot of keys so that the axis lines are drawn, ticks and
+grid lines are drawn, and labels are placed at the correct positions.
 
 \begin{key}{/tikz/data visualization/xy Cartesian}
-  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.
-
+    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{tikzpicture}
   \datavisualization [xy Cartesian, visualize as smooth line]
@@ -1117,122 +1145,112 @@
 \end{tikzpicture}
 \end{codeexample}
 
-
-  \begin{key}{/tikz/data visualization/xy axes=\meta{options}}
-    This key applies the \meta{options} both to the |x axis| and the
-    |y axis|.
-  \end{key}
-
+    \begin{key}{/tikz/data visualization/xy axes=\meta{options}}
+        This key applies the \meta{options} both to the |x axis| and the
+        |y axis|.
+    \end{key}
 \end{key}
 
-
 \begin{key}{/tikz/data visualization/xyz Cartesian cabinet}
-  This axis system works like |xy Cartesian|, only it
-  \emph{additionally} creates an axis called |z axis| that points left
-  and down. For this axis, one unit corresponds to $\frac{1}{2}\sin
-  45^\circ\mathrm{cm}$. This is also known as a cabinet projection.
+    This axis system works like |xy Cartesian|, only it \emph{additionally}
+    creates an axis called |z axis| that points left and down. For this axis,
+    one unit corresponds to $\frac{1}{2}\sin 45^\circ\mathrm{cm}$. This is also
+    known as a cabinet projection.
 
-  \begin{key}{/tikz/data visualization/xyz axes=\meta{options}}
-    This key applies the \meta{options} both to the |x axis| and the
-    |y axis|.
-  \end{key}
-
+    \begin{key}{/tikz/data visualization/xyz axes=\meta{options}}
+        This key applies the \meta{options} both to the |x axis| and the
+        |y axis|.
+    \end{key}
 \end{key}
 
-
 \begin{key}{/tikz/data visualization/uv Cartesian}
-  This axis system works like |xy Cartesian|, but it introduces two
-  axes called |u axis| and |v axis| rather than the |x axis| and the
-  |y axis|. The idea is that in addition to a ``major''
-  $xy$-coordinate system this is also a ``smaller'' or ``minor''
-  coordinate system in use for depicting, say, small vectors with
-  respect to this second coordinate system.
+    This axis system works like |xy Cartesian|, but it introduces two axes
+    called |u axis| and |v axis| rather than the |x axis| and the |y axis|. The
+    idea is that in addition to a ``major'' $xy$-coordinate system this is also
+    a ``smaller'' or ``minor'' coordinate system in use for depicting, say,
+    small vectors with respect to this second coordinate system.
 
-  \begin{key}{/tikz/data visualization/uv axes=\meta{options}}
-    Applies the \meta{options} to both the |u axis| and the |y axis|.
-  \end{key}
-
+    \begin{key}{/tikz/data visualization/uv axes=\meta{options}}
+        Applies the \meta{options} to both the |u axis| and the |y axis|.
+    \end{key}
 \end{key}
 
 \begin{key}{/tikz/data visualization/uvw Cartesian cabinet}
-  Like |xyz Cartesian cabinet|, but for the $uvw$-system.
+    Like |xyz Cartesian cabinet|, but for the $uvw$-system.
 
-  \begin{key}{/tikz/data visualization/uvw axes=\meta{options}}
-    Like |xyz axes|.
-  \end{key}
+    \begin{key}{/tikz/data visualization/uvw axes=\meta{options}}
+        Like |xyz axes|.
+    \end{key}
 \end{key}
 
 
-
 \subsection{Ticks and Grids}
 \label{section-dv-ticks-and-grids}
 
-
 \subsubsection{Concepts}
 
-A \emph{tick} is a small visual indication on an axis of the value of
-the axis's attribute at the position where the tick is shown. A tick
-may be accompanied additionally by a textual representation, but it
-need not. A \emph{grid line} is similar to a tick, but it is not an
-indication on the axis, but rather a whole line that indicates all
-positions where the attribute has a certain value. Unlike ticks,
-grid lines (currently) are not accompanied by a textual
-representation.
+A \emph{tick} is a small visual indication on an axis of the value of the
+axis's attribute at the position where the tick is shown. A tick may be
+accompanied additionally by a textual representation, but it need not. A
+\emph{grid line} is similar to a tick, but it is not an indication on the axis,
+but rather a whole line that indicates all positions where the attribute has a
+certain value. Unlike ticks, grid lines (currently) are not accompanied by a
+textual representation.
 
-Just as for axes, the data visualization system decouples the
-specification of which ticks are present \emph{in principle} from
-where they are visualized. In the following, I describe how you
-specify which ticks and grid lines you would like to be drawn and how
-they should look like (their styling). The axis system of your choice
-will then visualize the ticks at a sensible position for the chosen
-system. For details on how to change where whole axis is shown along
-with its ticks, see Section~\ref{section-dv-visualize-ticks}. 
+Just as for axes, the data visualization system decouples the specification of
+which ticks are present \emph{in principle} from where they are visualized. In
+the following, I describe how you specify which ticks and grid lines you would
+like to be drawn and how they should look like (their styling). The axis system
+of your choice will then visualize the ticks at a sensible position for the
+chosen system. For details on how to change where whole axis is shown along
+with its ticks, see Section~\ref{section-dv-visualize-ticks}.
 
-Specifying which ticks you are interested in is done as follows:
-First, you use |ticks| key (or, for specifying which grid lines  should
-be present, the |grid| key). This key takes several possible options,
-described in detail in the following, which have different effects:
+Specifying which ticks you are interested in is done as follows: First, you use
+|ticks| key (or, for specifying which grid lines should be present, the |grid|
+key). This key takes several possible options, described in detail in the
+following, which have different effects:
+%
 \begin{enumerate}
-\item Keys like |step=10| or |minor steps between steps| cause a
-  ``semi-automatic'' computation of possible steps. Here, you
-  explicitly specify the stepping of steps, but the first stepping and
-  their number are computed automatically according to the range of
-  possible values for the attribute.
-\item Keys like |few|, |some|, or |many| can be passed to |ticks| in
-  order to have \tikzname\ compute good tick positions
-  automatically. This is usually what you want to happen, which is why
-  most axis system will implicitly say |ticks={some}|.
-\item Keys like |at| or |also at| provide ``absolute control'' over
-  which ticks or grid lines are shown. For these keys, you can not only
-  specify at what value a tick should be shown, but also its styling
-  and also whether it is a major, minor, or subminor tick or grid line.
+    \item Keys like |step=10| or |minor steps between steps| cause a
+        ``semi-automatic'' computation of possible steps. Here, you explicitly
+        specify the stepping of steps, but the first stepping and their number
+        are computed automatically according to the range of possible values
+        for the attribute.
+    \item Keys like |few|, |some|, or |many| can be passed to |ticks| in order
+        to have \tikzname\ compute good tick positions automatically. This is
+        usually what you want to happen, which is why most axis system will
+        implicitly say |ticks={some}|.
+    \item Keys like |at| or |also at| provide ``absolute control'' over which
+        ticks or grid lines are shown. For these keys, you can not only specify
+        at what value a tick should be shown, but also its styling and also
+        whether it is a major, minor, or subminor tick or grid line.
 \end{enumerate}
 
-In the following, the main keys |ticks| and |grids| are documented
-first. Then the different kinds of ways of specifying where ticks or
-grid lines should be shown are explained.  
+In the following, the main keys |ticks| and |grids| are documented first. Then
+the different kinds of ways of specifying where ticks or grid lines should be
+shown are explained.
 
 
 \subsubsection{The Main Options: Tick and Grid}
 
-\begin{key}{/tikz/data visualization/axis options/ticks=\meta{options}
-  (default some)}
-  This key can be passed to an axis in order to configure which ticks
-  are present for the axis. The possible \meta{options} include, for
-  instance, keys like |step|, which is used to specify a stepping for
-  the ticks, but also keys like |major| or |minor| for specifying the
-  positions of major and minor ticks in detail. The list of possible
-  options is described in the rest of this section.
+\begin{key}{/tikz/data visualization/axis options/ticks=\meta{options} (default some)}
+    This key can be passed to an axis in order to configure which ticks are
+    present for the axis. The possible \meta{options} include, for instance,
+    keys like |step|, which is used to specify a stepping for the ticks, but
+    also keys like |major| or |minor| for specifying the positions of major and
+    minor ticks in detail. The list of possible options is described in the
+    rest of this section.
 
-  Note that the |ticks| option will only configure which ticks should
-  be shown in principle. The actual rendering is done only when the
-  |visualize ticks| key is used, documented in
-  Section~\ref{section-dv-visualize-ticks}, which is typically done
-  only internally by an axis system.
+    Note that the |ticks| option will only configure which ticks should be
+    shown in principle. The actual rendering is done only when the
+    |visualize ticks| key is used, documented in
+    Section~\ref{section-dv-visualize-ticks}, which is typically done only
+    internally by an axis system.
 
-  The \meta{options} will be executed with the path prefix
-  |/tikz/data visualization/|. When the |ticks| key is used multiple
-  times for an axis, the \meta{options} accumulate.
+    The \meta{options} will be executed with the path prefix
+    |/tikz/data visualization/|. When the |ticks| key is used multiple times
+    for an axis, the \meta{options} accumulate.
+    %
 \begin{codeexample}[width=6cm]
 \tikz \datavisualization [
   scientific axes, visualize as line,
@@ -1251,29 +1269,29 @@
     80, 0.47
   };
 \end{codeexample}
+    %
 \end{key}
 
-\begin{key}{/tikz/data visualization/axis options/grid=\meta{options}
-    (default at default ticks)}
-  This key is similar to |ticks|, only it is used to configure where
-  grid lines should be shown rather than ticks. In particular, the
-  options that can be passed to the |ticks| key can also be passed to
-  the |grid| key. Just like |ticks|, the \meta{options} only specify
-  which grid lines should be drawn in principle; it is the job of the
-  |visualize grid| key to actually cause any grid lines to be shown.
+\begin{key}{/tikz/data visualization/axis options/grid=\meta{options} (default at default ticks)}
+    This key is similar to |ticks|, only it is used to configure where grid
+    lines should be shown rather than ticks. In particular, the options that
+    can be passed to the |ticks| key can also be passed to the |grid| key. Just
+    like |ticks|, the \meta{options} only specify which grid lines should be
+    drawn in principle; it is the job of the |visualize grid| key to actually
+    cause any grid lines to be shown.
 
-  If you do not specify any \meta{options}, the default text
-  |at default ticks| is used. This option causes grid lines to be
-  drawn at all positions where ticks are shown by default. Since this
-  usually exactly what you would like to happen, most of the time you
-  just need to |all axes=grid| to cause a grid to be shown.
+    If you do not specify any \meta{options}, the default text
+    |at default ticks| is used. This option causes grid lines to be drawn at
+    all positions where ticks are shown by default. Since this usually exactly
+    what you would like to happen, most of the time you just need to
+    |all axes=grid| to cause a grid to be shown.
 \end{key}
 
 \begin{key}{/tikz/data visualization/axis options/ticks and grid=\meta{options}}
-  This key passes the \meta{options} to both the |ticks| key and also
-  to the |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.
+    This key passes the \meta{options} to both the |ticks| key and also to the
+    |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}[]
 \tikz \datavisualization
   [scientific axes,
@@ -1286,6 +1304,7 @@
     func y = sin(\value x r);
   };
 \end{codeexample}
+    %
 \end{key}
 
 
@@ -1292,38 +1311,35 @@
 \subsubsection{Semi-Automatic Computation of Tick and Grid Line Positions}
 \label{section-dv-concept-tick-placement-strategies}
 
-Consider the following problem: The data visualization engine
-determines that in a plot the $x$-values vary between $17.4$ and
-$34.5$. In this case, we 
-certainly do not want, say, ten ticks at exactly ten evenly spaced
-positions starting with $17.4$ and ending with $34.5$, because this
-would yield ticks at positions like $32.6$. Ticks should be placed at
-``nice'' positions like $20$, $25$, and $30$.
+Consider the following problem: The data visualization engine determines that
+in a plot the $x$-values vary between $17.4$ and $34.5$. In this case, we
+certainly do not want, say, ten ticks at exactly ten evenly spaced positions
+starting with $17.4$ and ending with $34.5$, because this would yield ticks at
+positions like $32.6$. Ticks should be placed at ``nice'' positions like $20$,
+$25$, and $30$.
 
-Determining which positions are ``nice'' is somewhat difficult. In the
-above example, the positions $20$, $25$, and $30$ are certainly nice,
-but only three ticks may be a bit few of them. Better might be the
-tick positions $17.5$, $20$, $22.5$, through to $32.5$. However, users
-might prefer even numbers over fractions like $2.5$ as the stepping.
+Determining which positions are ``nice'' is somewhat difficult. In the above
+example, the positions $20$, $25$, and $30$ are certainly nice, but only three
+ticks may be a bit few of them. Better might be the tick positions $17.5$,
+$20$, $22.5$, through to $32.5$. However, users might prefer even numbers over
+fractions like $2.5$ as the stepping.
 
-A \emph{tick placement strategy} is a method of automatically deciding
-which positions are \emph{good} for placing ticks. The data
-visualization engine comes with a number of predefined strategies, but
-you can also define new ones yourself. When the data visualization is
-requested to automatically determine
-``good'' positions for the placement of ticks on an axis, it uses one
-of several possible \emph{basic strategies}. These strategies differ
-dramatically in which tick positions they will choose: For a range of
-values between $5$ and $1000$, a |linear steps| strategy might place
-ticks at positions $100$, $200$, through to $1000$, while an
-|exponential steps| strategy would prefer the tick positions $10$,
-$100$ and $1000$. The exact number and values of the tick positions
-chosen by either strategy can be fine-tuned using additional options
+A \emph{tick placement strategy} is a method of automatically deciding which
+positions are \emph{good} for placing ticks. The data visualization engine
+comes with a number of predefined strategies, but you can also define new ones
+yourself. When the data visualization is requested to automatically determine
+``good'' positions for the placement of ticks on an axis, it uses one of
+several possible \emph{basic strategies}. These strategies differ dramatically
+in which tick positions they will choose: For a range of values between $5$ and
+$1000$, a |linear steps| strategy might place ticks at positions $100$, $200$,
+through to $1000$, while an |exponential steps| strategy would prefer the tick
+positions $10$, $100$ and $1000$. The exact number and values of the tick
+positions chosen by either strategy can be fine-tuned using additional options
 like |step| or |about|.
 
-Here is an example of the different stepping chosen when one varies
-the tick placement strategy:
-
+Here is an example of the different stepping chosen when one varies the tick
+placement strategy:
+%
 \begin{codeexample}[]
 \begin{tikzpicture}
   \datavisualization [scientific axes, visualize as smooth line]
@@ -1346,25 +1362,24 @@
 \end{codeexample}
 
 Two strategies are always available: |linear steps|, which yields
-(semi)automatic ticks are evenly spaced positions, and
-|exponential steps|, which yields (semi)automatic steps at positions
-at exponentially increasing positions -- which is exactly what is
-needed for logarithmic plots. These strategies are details in
-Section~\ref{section-dv-strategies}.
+(semi)automatic ticks are evenly spaced positions, and |exponential steps|,
+which yields (semi)automatic steps at positions at exponentially increasing
+positions -- which is exactly what is needed for logarithmic plots. These
+strategies are details in Section~\ref{section-dv-strategies}.
 
-The following options are used to configure tick placement strategies
-like |linear steps|. Unlike the basic choice of a placement strategy,
-which is an axis option, the following should be passed to the option
-|ticks| or |grid| only. So, you would write
-things like |x axis={ticks={step=2}}|, but |x axis={linear steps}|.
+The following options are used to configure tick placement strategies like
+|linear steps|. Unlike the basic choice of a placement strategy, which is an
+axis option, the following should be passed to the option |ticks| or |grid|
+only. So, you would write things like |x axis={ticks={step=2}}|, but
+|x axis={linear steps}|.
 
 \begin{key}{/tikz/data visualization/step=\meta{value} (initially 1)}
-  The value of this key is used to determine the spacing of the major
-  ticks. The key is used by the |linear steps| and |exponential steps|
-  strategies, see the explanations in
-  Section~\ref{section-dv-strategies} for details. Basically, all
-  ticks are placed at all multiples of \meta{value} that lie in the
-  attribute range interval.
+    The value of this key is used to determine the spacing of the major ticks.
+    The key is used by the |linear steps| and |exponential steps| strategies,
+    see the explanations in Section~\ref{section-dv-strategies} for details.
+    Basically, all ticks are placed at all multiples of \meta{value} that lie
+    in the attribute range interval.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [
     school book axes, visualize as smooth line,
@@ -1375,16 +1390,16 @@
       func y = \value x*\value x/2;
     };
 \end{codeexample}
+    %
 \end{key}
 
-\begin{key}{/tikz/data visualization/minor steps between
-    steps=\meta{number} (default 9)}
-  Specifies that between any two major steps (whose positions are
-  specified by the |step| key), there should be \meta{number} many
-  minor steps. Note that the default of |9| is exactly the right
-  number so that each interval 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{key}{/tikz/data visualization/minor steps between steps=\meta{number} (default 9)}
+    Specifies that between any two major steps (whose positions are specified
+    by the |step| key), there should be \meta{number} many minor steps. Note
+    that the default of |9| is exactly the right number so that each interval
+    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{tikzpicture}
   \datavisualization [school book axes, visualize as smooth line,
@@ -1397,270 +1412,260 @@
     };
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/phase=\meta{value} (initially 0)}
-  See Section~\ref{section-dv-strategies} for details on how the phase
-  of steps influences the tick placement.
+    See Section~\ref{section-dv-strategies} for details on how the phase of
+    steps influences the tick placement.
 \end{key}
 
 
-
 \subsubsection{Automatic Computation of Tick and Grid Line Positions}
 
-The |step| option gives you ``total control'' over the stepping of
-ticks on an axis, but you often do not know the correct stepping in
-advance. In this case, you may prefer to have a good value for |step|
-being computed for you automatically.
+The |step| option gives you ``total control'' over the stepping of ticks on an
+axis, but you often do not know the correct stepping in advance. In this case,
+you may prefer to have a good value for |step| being computed for you
+automatically.
 
-Like the |step| key, these options are passed to the |ticks|
-option. So, for instance, you would write |x axis={ticks={about=4}}|
-to request about four ticks to be placed on the $x$-axis.
+Like the |step| key, these options are passed to the |ticks| option. So, for
+instance, you would write |x axis={ticks={about=4}}| to request about four
+ticks to be placed on the $x$-axis.
 
-
 \begin{key}{/tikz/data visualization/about=\meta{number}}
-  This key asks the data visualization to place \emph{about}
-  \meta{number} many ticks on an axis. It is not guaranteed that
-  \emph{exactly} \meta{number} many ticks will be used, rather the
-  actual number will be the closest number of ticks to \meta{number}
-  so that their stepping is still ``good''. For instance, when you say
-  |about=10|, it may happen that exactly |10|, but perhaps even |13| ticks are
-  actually selected, provided that these numbers of ticks lead to good
-  stepping values like |5| or |2.5| rather than numbers like |3.4| or
-  |7|. The method that is used to determine which steppings a deemed to
-  be ``good'' depends on the current tick placement strategy.
+    This key asks the data visualization to place \emph{about} \meta{number}
+    many ticks on an axis. It is not guaranteed that \emph{exactly}
+    \meta{number} many ticks will be used, rather the actual number will be the
+    closest number of ticks to \meta{number} so that their stepping is still
+    ``good''. For instance, when you say |about=10|, it may happen that exactly
+    |10|, but perhaps even |13| ticks are actually selected, provided that
+    these numbers of ticks lead to good stepping values like |5| or |2.5|
+    rather than numbers like |3.4| or |7|. The method that is used to determine
+    which steppings a deemed to be ``good'' depends on the current tick
+    placement strategy.
 
-  \medskip
-  \textbf{Linear steps.}
-  Let us start with |linear steps|: First, the difference between the
-  maximum value $v_{\max}$ and the minimum value $v_{\min}$ on the
-  axis is computed; let us call it $r$ for ``range.'' Then, $r$ is
-  divided by \meta{number},
-  yielding a target stepping~$s$. If $s$ is a number like $1$ or $5$
-  or $10$, then this number could be used directly as the new value of
-  |step|. However, $s$ will typically something strange like $0.02345$
-  or $345223.76$, so $s$ must be replaced by a better value like $0.02$
-  in the first case and perhaps $250000$ in the second case.
 
-  In order to determine which number is to be used, $s$ is rewritten
-  in the form $m \cdot 10^k$ with $1 \le m < 10$ and $k \in \mathbb
-  Z$. For instance, $0.02345$ would be rewritten as $2.345 \cdot
-  10^{-2}$ and $345223.76$ as $3.4522376 \cdot 10^5$. The next step
-  is to replace the still not-so-good number $m$ like $2.345$ or
-  $3.452237$ by a ``good'' value $m'$. For this, the current value of
-  the |about strategy| is used:
-  \begin{key}{/tikz/data visualization/about strategy=\meta{list}}
-    The \meta{list} is a comma-separated sequence of pairs
-    \meta{threshold}/\meta{value} like for instance |1.5/1.0| or
-    |2.3/2.0|. When a good value $m'$ is sought for a given $m$, we
-    iterate over the list and find the first pair
-    \meta{threshold}/\meta{value} where \meta{threshold}
-    exceeds~$m$. Then $m'$ is set to \meta{value}. For instance, if
-    \meta{list} is |1.5/1.0,2.3/2.0,4/2.5,7/5,11/10|, which is the
-    default, then for $m=3.141$ we would get $m'=2.5$ since $4 >
-    3.141$, but $2.3 \le 3.141$. For $m=6.3$ we would get $m'=5$.
-  \end{key}
-  Once $m'$ has been determined, the stepping is set to $s' = m'
-  \cdot 10^k$.
+    \medskip
+    \textbf{Linear steps.}
+    Let us start with |linear steps|: First, the difference between the maximum
+    value $v_{\max}$ and the minimum value $v_{\min}$ on the axis is computed;
+    let us call it $r$ for ``range''. Then, $r$ is divided by \meta{number},
+    yielding a target stepping~$s$. If $s$ is a number like $1$ or $5$ or $10$,
+    then this number could be used directly as the new value of |step|.
+    However, $s$ will typically something strange like $0.023\,45$ or
+    $345\,223.76$, so $s$ must be replaced by a better value like $0.02$ in the
+    first case and perhaps $250\,000$ in the second case.
 
-  % Define an axis type
-  \tikzdatavisualizationset{
-    one dimensional axis/.style={
-      new Cartesian axis=axis,
-      axis={
-        attribute=main,
-        unit vector={(0pt,1pt)},
-        visualize axis={style=->},
-        visualize ticks={major={tick text at low},direction axis=perpendicular},
-        length=3cm
-      },
-      new Cartesian axis=perpendicular,
-      perpendicular={
-        attribute=perp,
-        unit vector={(1pt,0pt)},
-        include value=0,
-        include value=1
+    In order to determine which number is to be used, $s$ is rewritten in the
+    form $m \cdot 10^k$ with $1 \le m < 10$ and $k \in \mathbb Z$. For
+    instance, $0.023\,45$ would be rewritten as $2.345 \cdot 10^{-2}$ and
+    $345\,223.76$ as $3.452\,2376 \cdot 10^5$. The next step is to replace the
+    still not-so-good number $m$ like $2.345$ or $3.452\,237$ by a ``good''
+    value $m'$. For this, the current value of the |about strategy| is used:
+    %
+    \begin{key}{/tikz/data visualization/about strategy=\meta{list}}
+        The \meta{list} is a comma-separated sequence of pairs
+        \meta{threshold}/\meta{value} like for instance |1.5/1.0| or |2.3/2.0|.
+        When a good value $m'$ is sought for a given $m$, we iterate over the
+        list and find the first pair \meta{threshold}/\meta{value} where
+        \meta{threshold} exceeds~$m$. Then $m'$ is set to \meta{value}. For
+        instance, if \meta{list} is |1.5/1.0,2.3/2.0,4/2.5,7/5,11/10|, which is
+        the default, then for $m=3.141$ we would get $m'=2.5$ since $4 >
+        3.141$, but $2.3 \le 3.141$. For $m=6.3$ we would get $m'=5$.
+    \end{key}
+    %
+    Once $m'$ has been determined, the stepping is set to $s' = m' \cdot 10^k$.
+
+    % Define an axis type
+    \tikzdatavisualizationset{
+      one dimensional axis/.style={
+        new Cartesian axis=axis,
+        axis={
+          attribute=main,
+          unit vector={(0pt,1pt)},
+          visualize axis={style=->},
+          visualize ticks={major={tick text at low},direction axis=perpendicular},
+          length=3cm
+        },
+        new Cartesian axis=perpendicular,
+        perpendicular={
+          attribute=perp,
+          unit vector={(1pt,0pt)},
+          include value=0,
+          include value=1
+        }
       }
     }
-  }
 
-  \def\showstrategy#1{
+    \def\showstrategy#1{
+        % Show the effect for the different strategies
+        \medskip
+        \begin{tikzpicture}
+          \foreach \max/\about [count=\c] in {10/5,20/5,30/5,40/5,50/5,60/5,70/5,80/5,90/5,100/5,100/3,100/10}
+          {
+            \begin{scope}[xshift=\c pt*30]
+              \datavisualization [#1,
+              one dimensional axis,
+              axis={
+                ticks={about=\about},
+                include value=0,
+                include value=\max
+              }
+              ];
 
-  % Show the effect for the different strategies
-    \medskip
-    \begin{tikzpicture}
-      \foreach \max/\about [count=\c] in {10/5,20/5,30/5,40/5,50/5,60/5,70/5,80/5,90/5,100/5,100/3,100/10}
-      {
-        \begin{scope}[xshift=\c pt*30]
-          \datavisualization [#1,
-          one dimensional axis,
-          axis={
-            ticks={about=\about},
-            include value=0,
-            include value=\max
+              \node at (0,-5mm) [anchor=mid] {\texttt{\about}};
+            \end{scope}
           }
-          ];
 
-          \node at (0,-5mm) [anchor=mid] {\texttt{\about}};
-        \end{scope}
-      }
+          \node at (30pt,-5mm) [anchor=mid east] {\texttt{about=\ \ }};
+      \end{tikzpicture}
+    }
 
-      \node at (30pt,-5mm) [anchor=mid east] {\texttt{about=\ \ }};
-  \end{tikzpicture}
-}
+    The net effect of all this is that for the default strategy the only valid
+    stepping are the values $1$, $2$, $2.5$ and $5$ and every value obtainable
+    by multiplying one of these values by a power of ten. The following example
+    shows the effects of, first, setting |about=5| (corresponding to the |some|
+    option) and then having axes where the minimum value is always |0| and
+    where the maximum value ranges from |10| to |100| and, second, setting
+    |about| to the values from |3| (corresponding to the |few| option) and to
+    |10| (corresponding to the |many| option) while having the minimum at |0|
+    and the maximum at |100|:
 
-  The net effect of all this is that for the default strategy the
-  only valid stepping are the values $1$, $2$, $2.5$ and $5$ and every
-  value obtainable by multiplying one of these values by a power of
-  ten. The following example shows the effects of, first, setting
-  |about=5| (corresponding to the |some| option) and then having axes
-  where the minimum value is always |0| and where the maximum value
-  ranges from |10| to |100| and, second, setting |about| to the values
-  from |3| (corresponding to the |few| option) and to |10|
-  (corresponding to the |many| option) while having the
-  minimum at |0| and the maximum at |100|:
+    \showstrategy{standard about strategy}
 
-  \showstrategy{standard about strategy}
+    \medskip
+    \textbf{Exponential steps.}
+    For |exponential steps| the strategy for determining a good stepping value
+    is similar to |linear steps|, but with the following differences:
+    %
+    \begin{itemize}
+        \item Naturally, since the stepping value refers to the exponent, the
+            whole computation of a good stepping value needs to be done ``in
+            the exponent''. Mathematically spoken, instead of considering the
+            difference $r = v_{\max} - v_{\min}$, we consider the difference $r
+            = \log v_{\max} - \log v_{\min}$. With this difference, we still
+            compute $s = r / \meta{number}$ and let $s = m \cdot 10^k$ with $1
+            \le m < 10$.
+        \item It makes no longer sense to use values like $2.5$ for $m'$ since
+            this would yield a fractional exponent. Indeed, the only sensible
+            values for $m'$ seem to be $1$, $3$, $6$, and $10$. Because of
+            this, the |about strategy| is ignored and one of these values or a
+            multiple of one of them by a power of ten is used.
+    \end{itemize}
 
-  \medskip
-  \textbf{Exponential steps.}
-  For |exponential steps| the strategy for determining a good stepping
-  value is similar to |linear steps|, but with the following
-  differences:
-  \begin{itemize}
-  \item Naturally, since the stepping value refers to the exponent,
-    the whole computation of a good stepping value needs to be done
-    ``in the exponent.'' Mathematically spoken, instead of considering
-    the difference $r = v_{\max} - v_{\min}$, we consider the difference $r =
-    \log v_{\max} - \log v_{\min}$. With this difference, we still
-    compute $s = r / \meta{number}$ and let $s = m \cdot 10^k$ with $1
-    \le m < 10$.
-  \item It makes no longer sense to use values like $2.5$ for $m'$
-    since this would yield a fractional exponent. Indeed, the only
-    sensible values for $m'$ seem to be $1$, $3$, $6$, and
-    $10$. Because of this, the |about strategy| is ignored and one of
-    these values or a multiple of one of them by a power of ten is
-    used.
-  \end{itemize}
+    The following example shows the chosen steppings for a maximum varying from
+    $10^1$ to $10^5$ and from $10^{10}$ to $10^{50}$ as well as for $10^{100}$
+    for |about=3|:
 
-  The following example shows the chosen steppings for a maximum
-  varying from $10^1$ to $10^5$ and from $10^{10}$ to $10^{50}$ as
-  well as for $10^{100}$ for |about=3|:
+    \medskip
+    \begin{tikzpicture}
+      \foreach \max [count=\c] in {1,...,5,10,20,...,50,100}
+        {
+          \begin{scope}[xshift=\c pt*40]
+            \datavisualization [
+            one dimensional axis,
+            axis={
+              logarithmic,
+              ticks={about=3},
+              include value=1,
+              include value=1e\max
+            }
+            ];
+          \end{scope}
+        }
+    \end{tikzpicture}
 
-  \medskip
-  \begin{tikzpicture}
-    \foreach \max [count=\c] in {1,...,5,10,20,...,50,100}
-      {
-        \begin{scope}[xshift=\c pt*40]
-          \datavisualization [
-          one dimensional axis,
-          axis={
-            logarithmic,
-            ticks={about=3},
-            include value=1,
-            include value=1e\max
-          }
-          ];
-        \end{scope}
-      }
-  \end{tikzpicture}
 
+    \medskip
+    \textbf{Alternative strategies.}
 
-  \medskip
-  \textbf{Alternative strategies.}
+    In addition to the standard |about strategy|, there are some additional
+    strategies that you might wish to use instead:
 
-  In addition to the standard |about strategy|, there are some
-  additional strategies that you might wish to use instead:
+    \begin{key}{/tikz/data visualization/standard about strategy}
+        Permissible values for $m'$ are: $1$, $2$, $2.5$, and~$5$. This
+        strategy is the default strategy.
+    \end{key}
 
-  \begin{key}{/tikz/data visualization/standard about
-      strategy}
-    Permissible values for $m'$ are: $1$, $2$, $2.5$, and~$5$. This
-    strategy is the default strategy.
-  \end{key}
+    \begin{key}{/tikz/data visualization/euro about strategy}
+        Permissible values for $m'$ are: $1$, $2$, and~$5$. These are the same
+        values as for the Euro coins, hence the name.
 
-  \begin{key}{/tikz/data visualization/euro about strategy}
-    Permissible values for $m'$ are: $1$, $2$, and~$5$. These are the
-    same values as for the Euro coins, hence the
-    name.
+        \showstrategy{euro about strategy}
+    \end{key}
 
-    \showstrategy{euro about strategy}
-  \end{key}
+    \begin{key}{/tikz/data visualization/half about strategy}
+        Permissible values for $m'$: $1$ and $5$. Use this strategy if only
+        powers of $10$ or halves thereof seem logical.
 
-  \begin{key}{/tikz/data visualization/half about strategy}
-    Permissible values for $m'$: $1$ and $5$. Use this
-    strategy if only powers of $10$ or halves thereof seem logical.
+        \showstrategy{half about strategy}
+    \end{key}
 
-    \showstrategy{half about strategy}
-  \end{key}
+    \begin{key}{/tikz/data visualization/decimal about strategy}
+        The only permissible value for $m'$ is $1$. This is an even more
+        radical version of the previous strategy.
 
-  \begin{key}{/tikz/data visualization/decimal about strategy}
-    The only permissible value for $m'$ is $1$. This is an even more
-    radical version of the previous strategy.
+        \showstrategy{decimal about strategy}
+    \end{key}
 
-    \showstrategy{decimal about strategy}
-  \end{key}
+    \begin{key}{/tikz/data visualization/quarter about strategy}
+        Permissible values for $m'$ are: $1$, $2.5$, and $5$.
 
-  \begin{key}{/tikz/data visualization/quarter about strategy}
-    Permissible values for $m'$ are: $1$, $2.5$, and $5$.
+        \showstrategy{quarter about strategy}
+    \end{key}
 
-    \showstrategy{quarter about strategy}
-  \end{key}
+    \begin{key}{/tikz/data visualization/int about strategy}
+        Permissible values for $m'$ are: $1$, $2$, $3$, $4$, and $5$.
 
-  \begin{key}{/tikz/data visualization/int about strategy}
-    Permissible values for $m'$ are: $1$, $2$, $3$, $4$, and $5$.
-
-    \showstrategy{int about strategy}
-  \end{key}
+        \showstrategy{int about strategy}
+    \end{key}
 \end{key}
 
 \begin{key}{/tikz/data visualization/many}
-  This is an abbreviation for |about=10|.
+    This is an abbreviation for |about=10|.
 \end{key}
 
 \begin{key}{/tikz/data visualization/some}
-  This is an abbreviation for |about=5|.
+    This is an abbreviation for |about=5|.
 \end{key}
 
 \begin{key}{/tikz/data visualization/few}
-  This is an abbreviation for |about=3|.
+    This is an abbreviation for |about=3|.
 \end{key}
 
 \begin{key}{/tikz/data visualization/none}
-  Switches off the automatic step computation. Unless you use |step=|
-  explicitly to set a stepping, no ticks will be (automatically)
-  added.
+    Switches off the automatic step computation. Unless you use |step=|
+    explicitly to set a stepping, no ticks will be (automatically) added.
 \end{key}
 
 
-
 \subsubsection{Manual Specification of Tick and Grid Line Positions}
 
-The automatic computation of ticks and grid lines will usually do a
-good job, but not always. For instance, you might wish to have ticks
-exactly at, say, prime numbers or at Fibonacci numbers or you might
-wish to have an additional tick at $\pi$. In these cases you need more
-direct control over the specification of tick positions.
+The automatic computation of ticks and grid lines will usually do a good job,
+but not always. For instance, you might wish to have ticks exactly at, say,
+prime numbers or at Fibonacci numbers or you might wish to have an additional
+tick at $\pi$. In these cases you need more direct control over the
+specification of tick positions.
 
-First, it is important to understand that the data visualization
-system differentiates between three kinds of 
-ticks and grid lines: major, minor, and subminor. The major ticks are
-the most prominent ticks where, typically, a textual representation of
-the tick is shown; and the major grid lines are the thickest. The
-minor ticks are smaller, more numerous, and lie between major
-ticks. They are used, for instance, to indicate positions in the
-middle between major ticks or at all integer positions between major
-ticks. Finally, subminor ticks are even smaller than minor ticks and
-they lie between minor ticks. 
+First, it is important to understand that the data visualization system
+differentiates between three kinds of ticks and grid lines: major, minor, and
+subminor. The major ticks are the most prominent ticks where, typically, a
+textual representation of the tick is shown; and the major grid lines are the
+thickest. The minor ticks are smaller, more numerous, and lie between major
+ticks. They are used, for instance, to indicate positions in the middle between
+major ticks or at all integer positions between major ticks. Finally, subminor
+ticks are even smaller than minor ticks and they lie between minor ticks.
 
 Four keys are used to configure the different kinds:
 
 \begin{key}{/tikz/data visualization/major=\meta{options}}
-  The key can be passed as an option to the |ticks| key and also to
-  the |grid| key, which in turn is passed as an option to an axis. The
-  \meta{options} passed to |major| specify at which positions
-  major ticks/grid lines should be shown (using the |at| option and
-  |also at| option) and also any special styling. The different
-  possible options are described later in this section.
+    The key can be passed as an option to the |ticks| key and also to the
+    |grid| key, which in turn is passed as an option to an axis. The
+    \meta{options} passed to |major| specify at which positions major
+    ticks/grid lines should be shown (using the |at| option and |also at|
+    option) and also any special styling. The different possible options are
+    described later in this section.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [ school book axes, visualize as smooth line,
@@ -1670,10 +1675,12 @@
     func y = \value x * \value x / 2;
   };
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/minor=\meta{options}}
-  Like |major|, only for minor ticks/grid lines.
+    Like |major|, only for minor ticks/grid lines.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [ school book axes, visualize as smooth line,
@@ -1683,19 +1690,20 @@
     func y = \value x * \value x / 2;
   };
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/subminor=\meta{options}}
-  Like |major|, only for subminor ticks/grid lines.
+    Like |major|, only for subminor ticks/grid lines.
 \end{key}
 
-
 \begin{key}{/tikz/data visualization/common=\meta{options}}
-  This key allows you to specify \meta{options} that apply to |major|,
-  |minor| and |subminor| alike. It does not make sense to use |common|
-  to specify positions (since you typically do not want both a major
-  and a minor tick at the same position), but it can be useful to
-  configure, say, the size of all kinds of ticks:
+    This key allows you to specify \meta{options} that apply to |major|,
+    |minor| and |subminor| alike. It does not make sense to use |common| to
+    specify positions (since you typically do not want both a major and a minor
+    tick at the same position), but it can be useful to configure, say, the
+    size of all kinds of ticks:
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [ school book axes, visualize as smooth line,
@@ -1705,20 +1713,21 @@
     func y = \value x * \value x / 2;
   };
 \end{codeexample}
+    %
 \end{key}
 
+The following keys can now be passed to the |major|, |minor|, and |subminor|
+keys to specify where ticks or grid lines should be shown:
 
-The following keys can now be passed to the |major|, |minor|, and
-|subminor| keys to specify where ticks or grid lines should be shown: 
-
 \begin{key}{/tikz/data visualization/at=\meta{list}}
-  Basically, the \meta{list} must be a list of values that is
-  processed with the |\foreach| macro (thus, it can contain ellipses
-  to specify ranges of value). Empty values are skipped.
+    Basically, the \meta{list} must be a list of values that is processed with
+    the |\foreach| macro (thus, it can contain ellipses to specify ranges of
+    value). Empty values are skipped.
 
-  The effect of passing |at| to a |major|, |minor|, or |subminor| key
-  is that ticks or grid lines on the axis will be placed exactly at
-  the values in \meta{list}. Here is an example:
+    The effect of passing |at| to a |major|, |minor|, or |subminor| key is that
+    ticks or grid lines on the axis will be placed exactly at the values in
+    \meta{list}. Here is an example:
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [ school book axes, visualize as smooth line,
@@ -1727,44 +1736,48 @@
     var x : interval [-1.25:2];
     func y = \value x * \value x / 2;
   };
-\end{codeexample}  
-  When this option is used, any previously specified tick positions
-  are overwritten by the values in \meta{list}. Automatically computed
-  ticks are also overwritten. Thus, this option gives you complete
-  control over where ticks should be placed.
+\end{codeexample}
+    When this option is used, any previously specified tick positions are
+    overwritten by the values in \meta{list}. Automatically computed ticks are
+    also overwritten. Thus, this option gives you complete control over where
+    ticks should be placed.
 
-  Normally, the individual values inside the \meta{list} are just
-  numbers that are specified in the same way as an attribute
-  value. However, such a value may also contain the keyword |as|,
-  which allows you so specify the styling of the tick in
-  detail. Section~\ref{section-dv-ticks-styling} details how this
-  works.
+    Normally, the individual values inside the \meta{list} are just numbers
+    that are specified in the same way as an attribute value. However, such a
+    value may also contain the keyword |as|, which allows you so specify the
+    styling of the tick in detail. Section~\ref{section-dv-ticks-styling}
+    details how this works.
 
-  It is often a bit cumbersome that one has to write things like
+    It is often a bit cumbersome that one has to write things like
+    %
 \begin{codeexample}[code only]
-some axis = {ticks = {major = {at = {...}}}}    
+some axis = {ticks = {major = {at = {...}}}}
 \end{codeexample}
-  A slight simplification is given by the following keys, which can be
-  passed directly to |ticks| and |grid|:
-  \begin{key}{/tikz/data visualization/major at=\meta{list}}
-    A shorthand for |major={at={|\meta{list}|}}|.
-  \end{key}
-  \begin{key}{/tikz/data visualization/minor at=\meta{list}}
-    A shorthand for |major={at={|\meta{list}|}}|.
-  \end{key}
-  \begin{key}{/tikz/data visualization/subminor at=\meta{list}}
-    A shorthand for |major={at={|\meta{list}|}}|.
-  \end{key}
+    %
+    A slight simplification is given by the following keys, which can be passed
+    directly to |ticks| and |grid|:
+    %
+    \begin{key}{/tikz/data visualization/major at=\meta{list}}
+        A shorthand for |major={at={|\meta{list}|}}|.
+    \end{key}
+    %
+    \begin{key}{/tikz/data visualization/minor at=\meta{list}}
+        A shorthand for |major={at={|\meta{list}|}}|.
+    \end{key}
+    %
+    \begin{key}{/tikz/data visualization/subminor at=\meta{list}}
+        A shorthand for |major={at={|\meta{list}|}}|.
+    \end{key}
 \end{key}
 
 \begin{key}{/tikz/data visualization/also at=\meta{list}}
-  This key is similar to |at|, but it causes ticks or grid lines to be
-  placed at the positions in the \meta{list} \emph{in addition} to the
-  ticks that have already been specified either directly using |at| or
-  indirectly using keys like |step| or |some|. The effect of multiple
-  calls of this key 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.
+    This key is similar to |at|, but it causes ticks or grid lines to be placed
+    at the positions in the \meta{list} \emph{in addition} to the ticks that
+    have already been specified either directly using |at| or indirectly using
+    keys like |step| or |some|. The effect of multiple calls of this key
+    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}[]
 \tikz \datavisualization
   [ school book axes, visualize as smooth line,
@@ -1773,76 +1786,75 @@
     var x : interval [-1.25:2];
     func y = \value x * \value x / 2;
   };
-\end{codeexample}  
-  As for |at|, there are some shorthands available:
-  \begin{key}{/tikz/data visualization/major also at=\meta{list}}
-    A shorthand for |major={also at={|\meta{list}|}}|.
-  \end{key}
-  \begin{key}{/tikz/data visualization/minor also at=\meta{list}}
-    A shorthand for |major={also at={|\meta{list}|}}|.
-  \end{key}
-  \begin{key}{/tikz/data visualization/subminor also at=\meta{list}}
-    A shorthand for |major={also at={|\meta{list}|}}|.
-  \end{key}
+\end{codeexample}
+    %
+    As for |at|, there are some shorthands available:
+    %
+    \begin{key}{/tikz/data visualization/major also at=\meta{list}}
+        A shorthand for |major={also at={|\meta{list}|}}|.
+    \end{key}
+    %
+    \begin{key}{/tikz/data visualization/minor also at=\meta{list}}
+        A shorthand for |major={also at={|\meta{list}|}}|.
+    \end{key}
+    %
+    \begin{key}{/tikz/data visualization/subminor also at=\meta{list}}
+        A shorthand for |major={also at={|\meta{list}|}}|.
+    \end{key}
 \end{key}
 
 
 \subsubsection{Styling Ticks and Grid Lines: Introduction}
-
 \label{section-dv-ticks-styling}
 
-When a tick, a tick label, or a grid line is visualized on the page, a
-whole regiment of styles influences the appearance. The reason for
-this large number of interdependent styles is the fact that we often
-wish to influence only a very certain part of how a tick is rendered
-while leaving the other aspects untouched: Sometimes we need to modify
-just the font of the tick label; sometimes we wish to change the
-length of the tick label and the tick label position at the same time;
-sometimes we wish to change the color of grid line, tick, and tick
-label; and sometimes we wish to generally change the thickness of all
-ticks.
+When a tick, a tick label, or a grid line is visualized on the page, a whole
+regiment of styles influences the appearance. The reason for this large number
+of interdependent styles is the fact that we often wish to influence only a
+very certain part of how a tick is rendered while leaving the other aspects
+untouched: Sometimes we need to modify just the font of the tick label;
+sometimes we wish to change the length of the tick label and the tick label
+position at the same time; sometimes we wish to change the color of grid line,
+tick, and tick label; and sometimes we wish to generally change the thickness
+of all ticks.
 
-Let us go over the different kinds of things that can be styled (grid
-lines, ticks, and tick labels) one by one and let us have a look at
-which styles are involved. We will start with the grid lines, since they
-turn out to be the most simple, but first let us have a look at the
-general |style| and |styling| mechanism that is used in many placed in
-the following:
+Let us go over the different kinds of things that can be styled (grid lines,
+ticks, and tick labels) one by one and let us have a look at which styles are
+involved. We will start with the grid lines, since they turn out to be the most
+simple, but first let us have a look at the general |style| and |styling|
+mechanism that is used in many placed in the following:
 
+
 \subsubsection{Styling Ticks and Grid Lines: The Style and Node Style Keys}
-
 \label{section-dv-style}
 
 All keys of the data visualization system have the path prefix
-|/tikz/data visualization|. This is not only true for the main keys
-like |scientific axes| or  |visualize as line|, but also for keys that
-govern how ticks are visualized. In particular, a style like
-|every major grid| has the path prefix |/tikz/data visualization| and
-all keys stored in this style are also executed with this path
-prefix.
+|/tikz/data visualization|. This is not only true for the main keys like
+|scientific axes| or |visualize as line|, but also for keys that govern how
+ticks are visualized. In particular, a style like |every major grid| has the
+path prefix |/tikz/data visualization| and all keys stored in this style are
+also executed with this path prefix.
 
-Normally, this does not cause any trouble since most of the keys and
-even styles used in a data visualization are intended to configure
-what is shown in the visualization. However, at some point, we may
-also with to specify options that no longer configure the
-visualization in general, but specify the appearance of a line or a
-node on the \tikzname\ layer.
+Normally, this does not cause any trouble since most of the keys and even
+styles used in a data visualization are intended to configure what is shown in
+the visualization. However, at some point, we may also with to specify options
+that no longer configure the visualization in general, but specify the
+appearance of a line or a node on the \tikzname\ layer.
 
 Two keys are used to ``communicate'' with the \tikzname\ layer:
 
 \begin{key}{/tikz/data visualization/style=\meta{\tikzname\ options}}
-  This key takes options whose path prefix is |/tikz|, not
-  |/tikz/data visualization|. These options will be \emph{appended} to
-  a current list of such options (thus, multiple calls of this key
-  accumulate). The resulting list of keys is not executed
-  immediately, but it will be executed whenever the data visualization
-  engine calls the \tikzname\ layer to draw something (this placed
-  will be indicated in the following).
+    This key takes options whose path prefix is |/tikz|, not
+    |/tikz/data visualization|. These options will be \emph{appended} to a
+    current list of such options (thus, multiple calls of this key accumulate).
+    The resulting list of keys is not executed immediately, but it will be
+    executed whenever the data visualization engine calls the \tikzname\ layer
+    to draw something (this placed will be indicated in the following).
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes,
    all axes={ticks={style=blue}, length=3cm},
-   y axis={grid, grid={minor steps between steps, major={style=red}}}, 
+   y axis={grid, grid={minor steps between steps, major={style=red}}},
    visualize as line]
   data [format=function] {
     var x : interval [5:10];
@@ -1849,25 +1861,27 @@
     func y = \value x * \value x;
   };
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/styling}
-  Executing this key will cause all ``accumulated'' \tikzname\ options
-  from previous calls to the key |/tikz/data visualization/style| to be
-  executed. Thus, you use |style| to set \tikzname\ options, but you
-  use |styling| to actually apply these options. Usually, you do not
-  call this option directly since this application is only done deep
-  inside the data visualization engine.
+    Executing this key will cause all ``accumulated'' \tikzname\ options from
+    previous calls to the key |/tikz/data visualization/style| to be executed.
+    Thus, you use |style| to set \tikzname\ options, but you use |styling| to
+    actually apply these options. Usually, you do not call this option directly
+    since this application is only done deep inside the data visualization
+    engine.
 \end{key}
 
-Similar to |style| (and |styling|) there also exist the 
-|node style| (and |node styling|) key that takes \tikzname\ options that
-apply to nodes only -- in addition to the usual |style|.
+Similar to |style| (and |styling|) there also exist the |node style| (and
+|node styling|) key that takes \tikzname\ options that apply to nodes only --
+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 created during a data visualization. This includes tick
-  labels and axis labels: 
+    This key works like |style|, only it has an effect only on nodes that are
+    created during a data visualization. This includes tick labels and axis
+    labels:
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes,
@@ -1878,13 +1892,14 @@
     func y = \value x * \value x;
   };
 \end{codeexample}
-  Note that in the example the ticks themselves (the little thicker
-  lines) are not red.
+    %
+    Note that in the example the ticks themselves (the little thicker lines)
+    are not red.
 \end{key}
 
 \begin{key}{/tikz/data visualization/node styling}
-  Executing this key will cause all ``accumulated'' node stylings to
-  be executed. 
+    Executing this key will cause all ``accumulated'' node stylings to be
+    executed.
 \end{key}
 
 
@@ -1892,40 +1907,35 @@
 \label{section-dv-styling-grid-lines}
 
 When a grid line is visualized, see
-Section~\ref{section-dv-visualize-gridlines} for details on when this
-happens, the following styles are executed in the specified order. 
-
+Section~\ref{section-dv-visualize-gridlines} for details on when this happens,
+the following styles are executed in the specified order.
+%
 \begin{enumerate}
-\item
-  |grid layer|.
-\item
-  |every grid|.
-\item |every major grid| or |every minor grid| or
-  |every subminor grid|, depending on the kind of grid line.
-\item
-  locally specified options for the individual grid line, see
-  Section~\ref{section-dv-local-styles}. 
-\item
-  |styling|, see Section~\ref{section-dv-style}.
+    \item |grid layer|.
+    \item |every grid|.
+    \item |every major grid| or |every minor grid| or |every subminor grid|,
+        depending on the kind of grid line.
+    \item locally specified options for the individual grid line, see
+        Section~\ref{section-dv-local-styles}.
+    \item |styling|, see Section~\ref{section-dv-style}.
 \end{enumerate}
 
-All of these keys have the path prefix
-|/tikz/data visualization|. However, the options stored in the first
-style (|grid layer|) and also in the last (|styling|) are executed
-with the path prefix |/tikz| (see Section~\ref{section-dv-style}).
+All of these keys have the path prefix |/tikz/data visualization|. However, the
+options stored in the first style (|grid layer|) and also in the last
+(|styling|) are executed with the path prefix |/tikz| (see
+Section~\ref{section-dv-style}).
 
 Let us now have a look at these keys in detail:
 
 \begin{stylekey}{/tikz/data visualization/grid layer (initially on background layer)}
-  \label{section-dv-grid-layer}%
-  This key is used to specified the \emph{layer} on which grid lines
-  should be drawn (layers are explained in
-  Section~\ref{section-tikz-backgrounds}). By default, all grid lines
-  are placed on the |background| layer and thus behind the data
-  visualization. This is a sensible strategy since it avoids 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'':
+\label{section-dv-grid-layer}%
+    This key is used to specified the \emph{layer} on which grid lines should
+    be drawn (layers are explained in Section~\ref{section-tikz-backgrounds}).
+    By default, all grid lines are placed on the |background| layer and thus
+    behind the data visualization. This is a sensible strategy since it avoids
+    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}[]
 \tikz \datavisualization
   [scientific axes,
@@ -1940,26 +1950,29 @@
     var x : interval [5:10];
     func y = \value x * \value x;
   };
-\end{codeexample}   
-  When this style is executed, the keys stored in the style will be
-  executed with the prefix |/tikz|. Normally, you should only set this
-  style to be empty or to |on background layer|.
+\end{codeexample}
+    %
+    When this style is executed, the keys stored in the style will be executed
+    with the prefix |/tikz|. Normally, you should only set this style to be
+    empty or to |on background layer|.
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every grid}
-  This style provides overall configuration options for grid lines. By
-  default, it is set to the following:
+    This style provides overall configuration options for grid lines. By
+    default, it is set to the following:
+    %
 \begin{codeexample}[code only]
 low=min, high=max
 \end{codeexample}
-  This causes grid lines to span all possible values when they are
-  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).
+    %
+    This causes grid lines to span all possible values when they are
+    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).
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes,
@@ -1970,18 +1983,21 @@
     var x : interval [5:10];
     func y = \value x * \value x;
   };
-\end{codeexample}   
+\end{codeexample}
+    %
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every major grid}
-  This style configures the appearance of major grid lines. It does so
-  by calling the |style| key to setup appropriate \tikzname\ options
-  for visualizing major grid lines. The default definition of this
-  style is:
+    This style configures the appearance of major grid lines. It does so by
+    calling the |style| key to setup appropriate \tikzname\ options for
+    visualizing major grid lines. The default definition of this style is:
+    %
 \begin{codeexample}[code only]
 style = {help lines, thin, black!25}
 \end{codeexample}
-  In the following example, we use thin major blue grid lines:
+    %
+    In the following example, we use thin major blue grid lines:
+    %
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes,
@@ -1996,83 +2012,74 @@
     var x : interval [5:10];
     func y = \value x * \value x;
   };
-\end{codeexample}   
-  As can be seen, this is not exactly visually pleasing. The default
-  settings for the grid lines should work in most situations; you may
-  wish to increase the blackness level, however, when you experience
-  trouble during printing or projecting graphics.
+\end{codeexample}
+    %
+    As can be seen, this is not exactly visually pleasing. The default settings
+    for the grid lines should work in most situations; you may wish to increase
+    the blackness level, however, when you experience trouble during printing
+    or projecting graphics.
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every minor grid}
-  Works like |every major grid|. The default is
+    Works like |every major grid|. The default is
+    %
 \begin{codeexample}[code only]
 style = {help lines, black!25}
 \end{codeexample}
+    %
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every subminor grid}
-  Works like |every major grid|. The default is
+    Works like |every major grid|. The default is
+    %
 \begin{codeexample}[code only]
 style = {help lines, black!10}
 \end{codeexample}
+    %
 \end{stylekey}
 
 
-
 \subsubsection{Styling Ticks and Grid Lines: Styling Ticks and Tick Labels}
-
 \label{section-dv-styling-ticks}
 
-Styling ticks and tick labels is somewhat similar to styling grid
-lines. Let us start with the tick \emph{mark}, that is, the small line
-that represents the tick. When this mark is drawn, the following styles are applied:
-
+Styling ticks and tick labels is somewhat similar to styling grid lines. Let us
+start with the tick \emph{mark}, that is, the small line that represents the
+tick. When this mark is drawn, the following styles are applied:
+%
 \begin{enumerate}
-\item
-  |every ticks|.
-\item |every major ticks| or |every minor ticks| or
-  |every subminor ticks|, depending on the kind of ticks to be
-  visualized. 
-\item
-  locally specified options for the individual tick, see
-  Section~\ref{section-dv-local-styles}. 
-\item
-  |tick layer|
-\item
-  |every odd tick| or |every even tick|, see Section~\ref{section-dv-stacking}.
-\item
-  |draw|
-\item
-  |styling|, see Section~\ref{section-dv-style}.
+    \item |every ticks|.
+    \item |every major ticks| or |every minor ticks| or |every subminor ticks|,
+        depending on the kind of ticks to be visualized.
+    \item locally specified options for the individual tick, see
+        Section~\ref{section-dv-local-styles}.
+    \item |tick layer|
+    \item |every odd tick| or |every even tick|, see
+        Section~\ref{section-dv-stacking}.
+    \item |draw|
+    \item |styling|, see Section~\ref{section-dv-style}.
 \end{enumerate}
 
-For the tick label node (the node containing the textual
-representation of the attribute's value at the tick position), the
-following styles are applied:
-
+For the tick label node (the node containing the textual representation of the
+attribute's value at the tick position), the following styles are applied:
+%
 \begin{enumerate}
-\item
-  |every ticks|.
-\item |every major ticks| or |every minor ticks| or
-  |every subminor ticks|, depending on the kind of ticks to be
-  visualized. 
-\item
-  locally specified options for the individual tick, see
-  Section~\ref{section-dv-local-styles}. 
-\item
-  |tick node layer| 
-\item
-  |every odd tick| or |every even tick|, see Section~\ref{section-dv-stacking}.
-\item
-  |styling|, see Section~\ref{section-dv-style}.
-\item
-  |node styling|, see Section~\ref{section-dv-style}.
+    \item |every ticks|.
+    \item |every major ticks| or |every minor ticks| or |every subminor ticks|,
+        depending on the kind of ticks to be visualized.
+    \item locally specified options for the individual tick, see
+        Section~\ref{section-dv-local-styles}.
+    \item |tick node layer|
+    \item |every odd tick| or |every even tick|, see
+        Section~\ref{section-dv-stacking}.
+    \item |styling|, see Section~\ref{section-dv-style}.
+    \item |node styling|, see Section~\ref{section-dv-style}.
 \end{enumerate}
 
 \begin{stylekey}{/tikz/data visualization/every ticks}
-  This style allows you to configure the appearance of ticks using the
-  |style| and |node style| key. Here is (roughly) the default
-  definition of this style:
+    This style allows you to configure the appearance of ticks using the
+    |style| and |node style| key. Here is (roughly) the default definition of
+    this style:
+    %
 \begin{codeexample}[code only]
 node style={
   font=\footnotesize,
@@ -2079,65 +2086,70 @@
   inner sep=1pt,
   outer sep=.1666em,
   rounded corners=1.5pt
-}    
+}
 \end{codeexample}
+    %
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every major ticks}
-  The default is
+    The default is
+    %
 \begin{codeexample}[code only]
   style={line cap=round}, tick length=2pt
 \end{codeexample}
+    %
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every minor ticks}
-  The default is
+    The default is
+    %
 \begin{codeexample}[code only]
   style={help lines,thin, line cap=round}, tick length=1.4pt
 \end{codeexample}
+    %
 \end{stylekey}
 
 \begin{stylekey}{/tikz/data visualization/every subminor ticks}
-  The default is
+    The default is
+    %
 \begin{codeexample}[code only]
   style={help lines, line cap=round}, tick length=0.8pt
 \end{codeexample}
+    %
 \end{stylekey}
 
-
 \begin{stylekey}{/tikz/data visualization/tick layer (initially on background layer)}
-  Like |grid layer|, this key specifies on which layer the ticks
-  should be placed.
+    Like |grid layer|, this key specifies on which layer the ticks should be
+    placed.
 \end{stylekey}
 
-\begin{stylekey}{/tikz/data visualization/tick node layer (initially
-    \normalfont empty)}
-  Like |tick layer|, but now for the nodes. By default, tick nodes are
-  placed on the main layer and thus on top of the data in case that
-  the tick nodes are inside the data.
+\begin{stylekey}{/tikz/data visualization/tick node layer (initially \normalfont empty)}
+    Like |tick layer|, but now for the nodes. By default, tick nodes are placed
+    on the main layer and thus on top of the data in case that the tick nodes
+    are inside the data.
 \end{stylekey}
 
 
 \subsubsection{Styling Ticks and Grid Lines: Exceptional Ticks}
 
-You may sometimes wish to style a few ticks differently from the other
-ticks. For instance, in the axis system |school book axes| there
-should be a tick label at the |0| position only on one axis and then
-this label should be offset a bit. In many cases this is easy to
-achieve: When you add a tick ``by hand'' using the |at| or |also at|
-option, you can add any special options in square brackets.
+You may sometimes wish to style a few ticks differently from the other ticks.
+For instance, in the axis system |school book axes| there should be a tick
+label at the |0| position only on one axis and then this label should be offset
+a bit. In many cases this is easy to achieve: When you add a tick ``by hand''
+using the |at| or |also at| option, you can add any special options in square
+brackets.
 
-However, in some situations the special tick position has been
-computed automatically for you, for instance by the |step| key or by
-saying |tick=some|. In this case, adding a tick mark with the desired
-options using |also at| would cause the tick mark with the correct
-options to be shown in addition to the tick mark with the wrong
-options. In cases like this one, the following option may be helpful:
+However, in some situations the special tick position has been computed
+automatically for you, for instance by the |step| key or by saying |tick=some|.
+In this case, adding a tick mark with the desired options using |also at| would
+cause the tick mark with the correct options to be shown in addition to the
+tick mark with the wrong options. In cases like this one, the following option
+may be helpful:
 
 \begin{key}{/tikz/data visualization/options at=\meta{value} |as [|\meta{options}|]|}
-  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:
+    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]
 \tikz \datavisualization [
   scientific axes,
@@ -2151,53 +2163,45 @@
   func y = sin(\value x r);
 };
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/no tick text at=\meta{value}}
-  Shorthand for |options at=|\meta{value}| as [no tick text]|.  
+    Shorthand for |options at=|\meta{value}| as [no tick text]|.
 \end{key}
 
 
-
 \subsubsection{Styling Ticks and Grid Lines: Styling and Typesetting a Value}
-
 \label{section-dv-local-styles}
 \label{section-dv-tick-labels}
 
-
-The |at| and |also at| key allow you to provide a comma-separated
-\meta{list} of \meta{value}s where ticks or grid lines should be
-placed. In the simplest case, the \meta{value} is simply a
-number. However, the general syntax allows three different kinds of
-\meta{value}s: 
-
+The \todosp{why 2 labels?} |at| and |also at| key allow you to provide a
+comma-separated \meta{list} of \meta{value}s where ticks or grid lines should
+be placed. In the simplest case, the \meta{value} is simply a number. However,
+the general syntax allows three different kinds of \meta{value}s:
+%
 \begin{enumerate}
-\item
-  \meta{value}
-\item
-  \meta{value} |as| |[|\meta{local options}|]|
-\item
-  \meta{value} |as| \opt{|[|\meta{local options}|]|} \meta{text}
+    \item \meta{value}
+    \item \meta{value} |as| |[|\meta{local options}|]|
+    \item \meta{value} |as| \opt{|[|\meta{local options}|]|} \meta{text}
 \end{enumerate}
 
-In the first case, the \meta{value} is just a number that is
-interpreted like any other attribute value.
+In the first case, the \meta{value} is just a number that is interpreted like
+any other attribute value.
 
-In the second case, where the keyword |as| is present, followed by
-some option in square brackets, but nothing following the closing
-square bracket, when the tick or grid line at position \meta{value} is
-shown, the \meta{local options} are executed first. These can use the
-|style| key or the |node style| key to configure the appearance of
-this single tick or grid line. You can also use keys like |low| or
-|high| to influence how large the grid lines or the ticks are or keys
-like |tick text at low| to explicitly hide or show a tick label.
+In the second case, where the keyword |as| is present, followed by some option
+in square brackets, but nothing following the closing square bracket, when the
+tick or grid line at position \meta{value} is shown, the \meta{local options}
+are executed first. These can use the |style| key or the |node style| key to
+configure the appearance of this single tick or grid line. You can also use
+keys like |low| or |high| to influence how large the grid lines or the ticks
+are or keys like |tick text at low| to explicitly hide or show a tick label.
 
-In the third case, which is only important for |ticks| and not for
-|grid|, the same happens as in the second case, but the 
-text that is shown as tick label is \meta{text} rather than the 
-automatically generated tick label. This automatic generation of tick
-labels is explained in the following.
-
+In the third case, which is only important for |ticks| and not for |grid|, the
+same happens as in the second case, but the text that is shown as tick label is
+\meta{text} rather than the automatically generated tick label. This automatic
+generation of tick labels is explained in the following.
+%
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes=clean,
@@ -2215,36 +2219,33 @@
   };
 \end{codeexample}
 
+A value like ``2'' or ``17'' could just be used as \meta{text} to be displayed
+in the node of a tick label. However, things are more difficult when the
+to-be-shown value is $0.0000000015$, because we then would typically (but not
+always) prefer something like $1.5 \cdot 10^{-9}$ to be shown. Also, we might
+wish a unit to be added like $23\mathrm{m}/\mathrm{s}$. Finally, we might wish
+a number like $3.141$ to be replaced by $\pi$. For these reasons, the data
+visualization system does not simply put the to-be-shown value in a node as
+plain text. Instead, the number is passed to a \emph{typesetter} whose job it
+is to typeset this number nicely using \TeX's typesetting capabilities. The
+only exception is, as indicated above, the third syntax version of the |at| and
+|also at| keys, where \meta{text} is placed in the tick label's node,
+regardless of what the typesetting would usually do.
 
-A value like ``2'' or ``17'' could just be used as \meta{text} to be
-displayed in the node of a tick label. However, things are more
-difficult when the to-be-shown value is $0.0000000015$, because we
-then would typically (but not always) prefer something like $1.5 \cdot
-10^{-9}$ to be shown. Also, we might wish a unit to be added like
-$23\mathrm{m}/\mathrm{s}$. Finally, we might wish a number like
-$3.141$ to be replaced by $\pi$. For these reasons, the data
-visualization system does not simply put the to-be-shown value in a
-node as plain text. Instead, the number is passed to a
-\emph{typesetter} whose job it is to typeset this number nicely using
-\TeX's typesetting capabilities. The only exception is, as indicated
-above, the third syntax version of the |at| and |also at| keys, where
-\meta{text} is placed in the tick label's node, regardless of what the
-typesetting would usually do.
-
 The text produced by the automatic typesetting is computed as follows:
+%
 \begin{enumerate}
-\item The current contents of the key |tick prefix| is put into the node.
-\item This is followed by a call of the key |tick typesetting| which
-  gets the \meta{value} of the tick as its argument in scientific
-  notation.
-\item This is followed by the contents of the key |tick suffix|.
+    \item The current contents of the key |tick prefix| is put into the node.
+    \item This is followed by a call of the key |tick typesetting| which gets
+        the \meta{value} of the tick as its argument in scientific notation.
+    \item This is followed by the contents of the key |tick suffix|.
 \end{enumerate}
 
 Let us have a look at these keys in detail:
 
-\begin{key}{/tikz/data visualization/tick prefix=\meta{text}
-    (initially \normalfont empty)}
-  The \meta{text} will be put in front of every typeset tick:
+\begin{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}[]
 \tikz \datavisualization
   [scientific axes, all axes={ticks=few, length=2.5cm},
@@ -2255,15 +2256,17 @@
     func y = \value x * \value x;
   };
 \end{codeexample}
+    %
 \end{key}
 
-\begin{key}{/tikz/data visualization/tick suffix=\meta{text}
-    (initially \normalfont empty)}
-  Works like |tick prefix|. This key is especially useful for adding
-  units like ``cm'' or ``$\mathrm m/\mathrm s$'' to every tick
-  label. For this reason, there is a (near) alias that is easier to memorize:
-  \begin{key}{/tikz/data visualization/tick unit=\meta{roman math text}}
-    A shorthand for |tick suffix={$\,\rm|\meta{roman math text}|$}|:
+\begin{key}{/tikz/data visualization/tick suffix=\meta{text} (initially \normalfont empty)}
+    Works like |tick prefix|. This key is especially useful for adding units
+    like ``cm'' or ``$\mathrm m/\mathrm s$'' to every tick label. For this
+    reason, there is a (near) alias that is easier to memorize:
+    %
+    \begin{key}{/tikz/data visualization/tick unit=\meta{roman math text}}
+        A shorthand for |tick suffix={$\,\rm|\meta{roman math text}|$}|:
+        %
 \begin{codeexample}[]
 \tikz \datavisualization
   [scientific axes, all axes={length=3cm},
@@ -2275,21 +2278,20 @@
     func y = \value x * \value x;
   };
 \end{codeexample}
-  \end{key}
+    \end{key}
 \end{key}
 
 \begin{key}{/tikz/data visualization/tick typesetting=\meta{value}}
-  The key gets called for each number that should be typeset. The
-  argument \meta{value} will be in scientific notation (like |1.0e1|
-  for $10$). By default, this key applies |\pgfmathprintnumber| to its
-  argument. This command is a powerful number printer whose
-  configuration is documented in
-  Section~\ref{pgfmath-numberprinting}. 
+    The key gets called for each number that should be typeset. The argument
+    \meta{value} will be in scientific notation (like |1.0e1| for $10$). By
+    default, this key applies |\pgfmathprintnumber| to its argument. This
+    command is a powerful number printer whose configuration is documented in
+    Section~\ref{pgfmath-numberprinting}.
 
-  You are invited to code underlying this key so that a different
-  typesetting mechanism is used. Here is a (not quite finished)
-  example that shows how, say, numbers could be printed in terms of
-  multiples of $\pi$:
+    You are invited to code underlying this key so that a different typesetting
+    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}[]
 \def\mytypesetter#1{%
   \pgfmathparse{#1/pi}%
@@ -2305,19 +2307,16 @@
     func y = sin(\value x r);
   };
 \end{codeexample}
+    %
 \end{key}
 
 
-
-
 \subsubsection{Stacked Ticks}
-
 \label{section-dv-stacking}
 
-
-
-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):
+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}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm},
@@ -2327,9 +2326,12 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
+%
 There are two ways to address this problem:
+%
 \begin{itemize}
-\item One can rotate the labels on horizontal axes:
+    \item One can rotate the labels on horizontal axes:
+        %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm},
@@ -2340,10 +2342,12 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
-  This is often a good solution, but may be hard to read. Also
-  consider rotating labels only by $45^\circ$ or $30^\circ$.
-\item One can specify different shifts of the nodes for the different
-  ticks, whereby the ticks text no longer overlap.
+        %
+        This is often a good solution, but may be hard to read. Also consider
+        rotating labels only by $45^\circ$ or $30^\circ$.
+    \item One can specify different shifts of the nodes for the different
+        ticks, whereby the ticks text no longer overlap.
+        %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm},
@@ -2357,10 +2361,12 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
-  However, specifying shifts ``by hand'' in the above way is not
-  always an option, especially when the tick positions should be
-  computed automatically. Instead, the |stack| option can be used,
-  which is much easier to use and gives better results:
+        %
+        However, specifying shifts ``by hand'' in the above way is not always
+        an option, especially when the tick positions should be computed
+        automatically. Instead, the |stack| option can be used, which is much
+        easier to use and gives better results:
+        %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm}, x axis={ticks=stack},
@@ -2370,44 +2376,44 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
+        %
 \end{itemize}
 
-
-The |stack| option is actually just a style that gives you access to
-the general even/odd mechanism for ticks with labels. Whenever a tick
-mark is created where a tick label is also to be drawn, two special
-things happen:
-
+The |stack| option is actually just a style that gives you access to the
+general even/odd mechanism for ticks with labels. Whenever a tick mark is
+created where a tick label is also to be drawn, two special things happen:
+%
 \begin{enumerate}
-\item For every odd tick mark, the |every odd tick| style is executed,
-  for every even tick mark the |every even tick|. Here, ``odd'' and
-  ``even'' are with respect to the order in which the ticks have been
-  added to the list of |at| positions for each major, minor, or
-  subminor tick list, not with respect to the order in which they will
-  appear on the axis. Thus, when you write 
+    \item For every odd tick mark, the |every odd tick| style is executed, for
+        every even tick mark the |every even tick|. Here, ``odd'' and ``even''
+        are with respect to the order in which the ticks have been added to the
+        list of |at| positions for each major, minor, or subminor tick list,
+        not with respect to the order in which they will appear on the axis.
+        Thus, when you write
+        %
 \begin{codeexample}[code only]
 ticks={major at={1,2,3,4}, major at={0,-1,-2}, minor at={9,8,7}}
 \end{codeexample}
-  then for |1|, |3|, |0|, and |-2| as well as |9| and |7| the key
-  |every odd tick| will be executed, while |every even tick| will be
-  executed for positions |2|, |4|, |-1|, and also |8|.
-\item When a tick node label is shown at the |low| position of the
-  tick mark, the dimension stored in the key
-  |tick text low even padding| is added to the |low| value. Provided
-  that this padding is not zero (which is the default), the length of
-  the even tick marks will be increased and the tick label node will
-  be placed at a greater distance from the axis.
+        %
+        then for |1|, |3|, |0|, and |-2| as well as |9| and |7| the key
+        |every odd tick| will be executed, while |every even tick| will be
+        executed for positions |2|, |4|, |-1|, and also |8|.
+    \item When a tick node label is shown at the |low| position of the tick
+        mark, the dimension stored in the key |tick text low even padding| is
+        added to the |low| value. Provided that this padding is not zero (which
+        is the default), the length of the even tick marks will be increased
+        and the tick label node will be placed at a greater distance from the
+        axis.
 
-  Similar keys exist for padding ticks with labels at high positions
-  and also at even positions.
+        Similar keys exist for padding ticks with labels at high positions and
+        also at even positions.
 \end{enumerate}
 
-
-\begin{key}{/tikz/data visualization/tick text low even
-    padding=\meta{dimension} (initially 0pt)}
-  When a tick label is shown at the low position of an even tick, the
-  \meta{distance} is added to the |low| value, see also
-  Section~\ref{section-dv-visualize-ticks}.
+\begin{key}{/tikz/data visualization/tick text low even padding=\meta{dimension} (initially 0pt)}
+    When a tick label is shown at the low position of an even tick, the
+    \meta{distance} is added to the |low| value, see also
+    Section~\ref{section-dv-visualize-ticks}.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm},
@@ -2418,36 +2424,38 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
-  Note that \meta{dimension} should usually be non-positive.
+    %
+    Note that \meta{dimension} should usually be non-positive.
 \end{key}
 
 The following keys work similarly:
+%
 \begin{key}{/tikz/data visualization/tick text low odd padding=\meta{dimension} (initially 0pt)}
 \end{key}
+%
 \begin{key}{/tikz/data visualization/tick text high even padding=\meta{dimension} (initially 0pt)}
 \end{key}
+%
 \begin{key}{/tikz/data visualization/tick text high odd padding=\meta{dimension} (initially 0pt)}
 \end{key}
 
-\begin{key}{/tikz/data visualization/tick text odd
-    padding=\meta{dimension}}
-  A shorthand for setting |tick text odd low padding| and
-  |tick text odd high padding| at the same time.
+\begin{key}{/tikz/data visualization/tick text odd padding=\meta{dimension}}
+    A shorthand for setting |tick text odd low padding| and
+    |tick text odd high padding| at the same time.
 \end{key}
 
-\begin{key}{/tikz/data visualization/tick text even
-    padding=\meta{dimension}}
-  A shorthand for setting |tick text even low padding| and
-  |tick text even high padding| at the same time.
+\begin{key}{/tikz/data visualization/tick text even padding=\meta{dimension}}
+    A shorthand for setting |tick text even low padding| and
+    |tick text even high padding| at the same time.
 \end{key}
 
-\begin{key}{/tikz/data visualization/tick text 
-    padding=\meta{dimension}}
-  Sets all text paddings to \meta{dimension}.
+\begin{key}{/tikz/data visualization/tick text padding=\meta{dimension}}
+    Sets all text paddings to \meta{dimension}.
 \end{key}
 
 \begin{key}{/tikz/data visualization/stack=\meta{dimension} (default 1em)}
-  Shorthand for |tick text even padding=|\meta{dimension}.  
+    Shorthand for |tick text even padding=|\meta{dimension}.
+    %
 \begin{codeexample}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm},
@@ -2458,13 +2466,13 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
+    %
 \end{key}
 
 \begin{key}{/tikz/data visualization/stack'=\meta{dimension}}
-  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|.
+    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}[]
 \tikz \datavisualization [scientific axes,
                           all axes={length=2.5cm},
@@ -2475,13 +2483,13 @@
     func x = \value y*\value y;
   };
 \end{codeexample}
+    %
 \end{key}
 
-Note that the above keys have an effect on all tick labels of an axis,
-also on special ticks that you may have added using the |also at|
-key. When using the |stack| key, you should specify a |tick text padding|
-explicitly for such keys:
-
+Note that the above keys have an effect on all tick labels of an axis, also on
+special ticks that you may have added using the |also at| key. When using the
+|stack| key, you should specify a |tick text padding| explicitly for such keys:
+%
 \begin{codeexample}[width=7cm]
 \tikz \datavisualization
   [scientific axes,
@@ -2496,31 +2504,29 @@
 
 
 \subsubsection{Reference: Basic Strategies}
-
 \label{section-dv-strategies}
 
 \begin{key}{/tikz/data visualization/axis options/linear steps}
-  This strategy places ticks at positions that are evenly spaced by
-  the current value of |step|.
+    This strategy places ticks at positions that are evenly spaced by the
+    current value of |step|.
 
-  In detail, the following happens: Let $a$ be the minimum value of the
-  data values along the axis and let $b$ be the maximum. Let the
-  current \emph{stepping} be $s$ (the stepping is set using the |step|
-  option, see below) and let the current \emph{phasing} be $p$ (set
-  using the |phase|) option. Then ticks are placed all positions
-  $i\cdot s + p$ that lie in the interval $[a,b]$, where $i$ ranges
-  over all integers.
+    In detail, the following happens: Let $a$ be the minimum value of the data
+    values along the axis and let $b$ be the maximum. Let the current
+    \emph{stepping} be $s$ (the stepping is set using the |step| option, see
+    below) and let the current \emph{phasing} be $p$ (set using the |phase|)
+    option. Then ticks are placed all positions $i\cdot s + p$ that lie in the
+    interval $[a,b]$, where $i$ ranges over all integers.
 
-  The tick positions computed in the way described above are
-  \emph{mayor} step positions. In addition to these, if the key
-  |minor steps between steps| is set to some number $n$, then $n$ many
-  minor ticks are introduced between each two mayor ticks (and also
-  before and after the last mayor tick, provided the values still lie
-  in the interval $[a,b]$). Note that is $n$ is $1$, then one minor tick
-  will be added in the middle between any two mayor ticks. Use a value
-  of $9$ (not $10$) to partition the interval between two mayor ticks
-  into ten equally sized minor intervals.
-
+    The tick positions computed in the way described above are \emph{mayor}
+    step positions. In addition to these, if the key
+    |minor steps between steps| is set to some number $n$, then $n$ many minor
+    ticks are introduced between each two mayor ticks (and also before and
+    after the last mayor tick, provided the values still lie in the interval
+    $[a,b]$). Note that is $n$ is $1$, then one minor tick will be added in the
+    middle between any two mayor ticks. Use a value of $9$ (not $10$) to
+    partition the interval between two mayor ticks into ten equally sized minor
+    intervals.
+    %
 \begin{codeexample}[]
 \begin{tikzpicture}
   \datavisualization
@@ -2535,23 +2541,23 @@
     };
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 \label{section-dv-exponential-strategy}
 
 \begin{key}{/tikz/data visualization/axis options/exponential steps}
-  This strategy produces ticks at positions that are appropriate for
-  logarithmic plots. It is automatically selected when you use the
-  |logarithmic| option with an axis.
+    This strategy produces ticks at positions that are appropriate for
+    logarithmic plots. It is automatically selected when you use the
+    |logarithmic| option with an axis.
 
-  In detail, the following happens: As for |linear steps| let numbers
-  $a$, $b$, $s$, and $p$ be given. Then, mayor ticks are placed at all
-  positions $10^{i\cdot s+p}$ that lie in the interval $[a,b]$ for $i
-  \in \mathbb Z$.
+    In detail, the following happens: As for |linear steps| let numbers $a$,
+    $b$, $s$, and $p$ be given. Then, mayor ticks are placed at all positions
+    $10^{i\cdot s+p}$ that lie in the interval $[a,b]$ for $i \in \mathbb{Z}$.
 
-  The minor steps are added in the same way as for |linear steps|. In
-  particular, they interpolate \emph{linearly} between mayor steps.
-
+    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{tikzpicture}
   \datavisualization
@@ -2566,40 +2572,41 @@
     };
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 
-
 \subsubsection{Advanced: Defining New Placement Strategies}
 
-\begin{key}{/tikz/data visualization/axis options/tick placement
-    strategy=\meta{macro}} 
-  This key can be used to install a so-called \emph{tick placement
-    strategy}. Whenever |visualize ticks| is used to request some
-  ticks to be visualized, it is checked whether some automatic ticks
-  should be created. This is the case when the following key is set:
-  \begin{key}{/tikz/data visualization/compute step=\meta{code}}
-    The \meta{code} should compute a suitable value for the stepping
-    to be used by the \meta{macro} in the tick placement strategy.
+\begin{key}{/tikz/data visualization/axis options/tick placement strategy=\meta{macro}}
+    This key can be used to install a so-called \emph{tick placement strategy}.
+    Whenever |visualize ticks| is used to request some ticks to be visualized,
+    it is checked whether some automatic ticks should be created. This is the
+    case when the following key is set:
+    %
+    \begin{key}{/tikz/data visualization/compute step=\meta{code}}
+        The \meta{code} should compute a suitable value for the stepping to be
+        used by the \meta{macro} in the tick placement strategy.
 
-    For instance, the |step| key sets |compute step| to
-    |\def\tikz at lib@dv at step{#1}|. Thus, when you say |step=5|, then the
-    desired stepping of |5| is communicated to the \meta{macro} via the
-    macro |\tikz at lib@dv at step|.
-  \end{key}
+        For instance, the |step| key sets |compute step| to
+        |\def\tikz at lib@dv at step{#1}|. Thus, when you say |step=5|, then the
+        desired stepping of |5| is communicated to the \meta{macro} via the
+        macro |\tikz at lib@dv at step|.
+    \end{key}
 
-  Provided |compute step| is set to some nonempty value, upon
-  visualization of ticks the \meta{macro} is executed. Typically,
-  \meta{macro} will first call the \meta{code} stored in the key
-  |compute step|. Then, it should implement some strategy then uses
-  the value of the computed or desired stepping to create appropriate
-  |at| commands. To be precise, it should set the keys |major|,
-  |minor|, and/or |subminor| with some appropriate |at| values.
+    Provided |compute step| is set to some nonempty value, upon visualization
+    of ticks the \meta{macro} is executed. Typically, \meta{macro} will first
+    call the \meta{code} stored in the key |compute step|. Then, it should
+    implement some strategy then uses the value of the computed or desired
+    stepping to create appropriate |at| commands. To be precise, it should set
+    the keys |major|, |minor|, and/or |subminor| with some appropriate |at|
+    values.
 
-  Inside the call of \meta{macro}, the macro |\tikzdvaxis| will have
-  been set to the name of the axis for which default ticks need to be
-  computed. This allows you to access the minimum and the maximum
-  value stored in the |scaling mapper| of that axis.
+    Inside the call of \meta{macro}, the macro |\tikzdvaxis| will have been set
+    to the name of the axis for which default ticks need to be computed. This
+    allows you to access the minimum and the maximum value stored in the
+    |scaling mapper| of that axis.
+    %
 \begin{codeexample}[width=7cm]
 \def\silly{
   \tikzdatavisualizationset{major={at={
@@ -2617,46 +2624,44 @@
     };
 \end{tikzpicture}
 \end{codeexample}
+    %
 \end{key}
 
 
-
-
-
 \subsection{Advanced: Creating New Axis Systems}
 
-The data visualization 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:
-
+The data visualization 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:
+%
 \begin{enumerate}
-\item Creating a number of axes.
-\item Configuring attributes of these axes like their length or
-  default scaling.
-\item Creating visual representations of the axes.
-\item Creating visual representations of the ticks and grid lines.
+    \item Creating a number of axes.
+    \item Configuring attributes of these axes like their length or default
+        scaling.
+    \item Creating visual representations of the axes.
+    \item Creating visual representations of the ticks and grid lines.
 \end{enumerate}
 
-The first step uses |new ... axis| keys to create new axes, the
-last steps use |visualize ...| keys to create the visual
-representations of the axes.
+The first step uses |new ... axis| keys to create new axes, the last steps use
+|visualize ...| keys to create the visual representations of the axes.
 
-Note that the axis system has no control over the actual attribute
-value ranges and neither over which ticks need to be drawn. The axis
-system can only provide good defaults and then specify \emph{how} the
-ticks or labels should be drawn and \emph{where} on the page -- but
-not at which values.
+Note that the axis system has no control over the actual attribute value ranges
+and neither over which ticks need to be drawn. The axis system can only provide
+good defaults and then specify \emph{how} the ticks or labels should be drawn
+and \emph{where} on the page -- but not at which values.
 
 In the following, as a running example let us develop an axis system
-|our system| that does the following: For the $x$-axis is looks like a
-normal scientific axis system, but there are actually two $y$-axes:
-One at the left and one at the right, each using a different
-attribute, but both coexisting in the same picture.
+|our system| that does the following: For the $x$-axis is looks like a normal
+scientific axis system, but there are actually two $y$-axes: One at the left
+and one at the right, each using a different attribute, but both coexisting in
+the same picture.
 
+
 \subsubsection{Creating the Axes}
 
 A new axis system is created as a style key with the prefix
 |/tikz/data visualization|. Thus, we would write:
+%
 \begin{codeexample}[code only]
 \tikzset{
   data visualization/our system/.style={
@@ -2665,9 +2670,9 @@
 }
 \end{codeexample}
 
-In our system we need three axis: The $x$-axis, the left axis and the
-right axis. Since all of these axes are Cartesian axes, we write the
-following:
+In our system we need three axis: The $x$-axis, the left axis and the right
+axis. Since all of these axes are Cartesian axes, we write the following:
+%
 \begin{codeexample}[code only]
 \tikzset{
   data visualization/our system/.style={
@@ -2680,19 +2685,20 @@
   }
 }
 \end{codeexample}
-As can be seen, we also configure things so that the $x$-axis will use
-the |x| attribute by default (users can later change this by saying
-|x axis={attribute=|\meta{some other attribute}|}|), but we do not
-configure the attributes of the |left axis| nor the |right axis|. We
-also make the left and right axis point upward (the |x axis| needs no
-configuration here since a Cartesian axis points right by default). The
-reason is the |left| would not be a particularly good attribute name
-and this way we ensure that users have to pick names themselves
-(hopefully good ones).
+%
+As can be seen, we also configure things so that the $x$-axis will use the |x|
+attribute by default (users can later change this by saying
+|x axis={attribute=|\meta{some other attribute}|}|), but we do not configure
+the attributes of the |left axis| nor the |right axis|. We also make the left
+and right axis point upward (the |x axis| needs no configuration here since a
+Cartesian axis points right by default). The reason is the |left| would not be
+a particularly good attribute name and this way we ensure that users have to
+pick names themselves (hopefully good ones).
 
-The next step is to define a standard scaling for the axes. Here, we
-can use the same as for |scientific axes|, so we would add the
-following keys to the definition of |our system|:
+The next step is to define a standard scaling for the axes. Here, we can use
+the same as for |scientific axes|, so we would add the following keys to the
+definition of |our system|:
+%
 \begin{codeexample}[code only]
 x axis    ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/width}},
 left axis ={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}},
@@ -2699,9 +2705,10 @@
 right axis={length=\pgfkeysvalueof{/tikz/data visualization/scientific axes/height}}
 \end{codeexample}
 
-We now already have enough to try our system, although we will not yet
-see any axes or ticks, but we will see the correct scaling of the
-attributes. Let us first define a data group:
+We now already have enough to try our system, although we will not yet see any
+axes or ticks, but we will see the correct scaling of the attributes. Let us
+first define a data group:
+%
 \begin{codeexample}[]
 \tikz \datavisualization data group {people and money} = {
     data [set=people 1] {
@@ -2731,7 +2738,7 @@
       1960, 3
       1970, 4
       1990, 3.5
-    } 
+    }
   };
 \end{codeexample}
 
@@ -2759,66 +2766,65 @@
     people 2={style={visualizer color=blue!50}},
     money 1={style={visualizer color=red}},
     money 2={style={visualizer color=red!50}}]
-  data group {people and money};  
+  data group {people and money};
 \end{codeexample}
 
 
-
 \subsubsection{Visualizing the Axes}
-
 \label{section-dv-visualize-axis}
 
-We must now show the axes themselves. For this we can use the
-|visualize axis| key:
+We must now show the axes themselves. For this we can use the |visualize axis|
+key:
 
 \begin{key}{/tikz/data visualization/axis options/visualize axis=\meta{options}}
-  This key is passed to an axis as an option. It causes a visual
-  representation of the axis to be created during the data visualization. The
-  \meta{options} are used to determine where the axis should be drawn
-  and how long it should be. We can specify, for instance, that an
-  axis should be drawn at the minimum value of another axis or where
-  another axis has the value |0|.
-  
-  \medskip
-  \textbf{The goto, high, and low Keys.}
-  In our example, the |left axis| should be shown at the left hand
-  side. This is the position where the |x axis| has its minimum
-  value. To specify this, we would use the following code:
+    This key is passed to an axis as an option. It causes a visual
+    representation of the axis to be created during the data visualization. The
+    \meta{options} are used to determine where the axis should be drawn and how
+    long it should be. We can specify, for instance, that an axis should be
+    drawn at the minimum value of another axis or where another axis has the
+    value |0|.
+
+
+    \medskip
+    \textbf{The goto, high, and low Keys.}
+    In our example, the |left axis| should be shown at the left hand side. This
+    is the position where the |x axis| has its minimum value. To specify this,
+    we would use the following code:
+    %
 \begin{codeexample}[code only]
 left axis={ visualize axis={ x axis={ goto=min } }
 \end{codeexample}
-  As can be seen, we can pass another axis as an \meta{option} to
-  |visualize axis|, where we pass the following key to the axis in
-  turn: 
-  \begin{key}{/tikz/data visualization/axis options/goto=\meta{value}}
-    The key can be passed to an axis. It will set the attribute
-    monitored by the axis to the given \meta{value}, which is usually
-    some number. However, \meta{value} may also be one of the
-    following, which causes a special behaviour:
-    \begin{itemize}
-    \item
-      |min|: The attribute is set to the minimal value that the
-      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|. Additionally, however,
-      the subkey |/data point/|\meta{attribute}|/offset| is set to the
-      current padding for the minimum, see the description of
-      |padding min| later on. The effect of this is that the actual
-      point ``meant'' by the attribute is offset by this padding along
-      the attribute's axis.
-    \item
-      |padded max|: Like |padded min|.
-    \end{itemize}
-  \end{key}
+    %
+    As can be seen, we can pass another axis as an \meta{option} to
+    |visualize axis|, where we pass the following key to the axis in turn:
+    %
+    \begin{key}{/tikz/data visualization/axis options/goto=\meta{value}}
+        The key can be passed to an axis. It will set the attribute monitored
+        by the axis to the given \meta{value}, which is usually some number.
+        However, \meta{value} may also be one of the following, which causes a
+        special behaviour:
+        %
+        \begin{itemize}
+            \item |min|: The attribute is set to the minimal value that the
+                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|.
+                Additionally, however, the subkey
+                |/data point/|\meta{attribute}|/offset| is set to the current
+                padding for the minimum, see the description of |padding min|
+                later on. The effect of this is that the actual point ``meant''
+                by the attribute is offset by this padding along the
+                attribute's axis.
+            \item |padded max|: Like |padded min|.
+        \end{itemize}
+    \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 and once at the top. Thus, we need
-  to call |visualize axis| twice for this axis:
-  
+    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
+    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,
@@ -2847,30 +2853,31 @@
     left axis ={attribute=money},
     right axis={attribute=people},
     visualize as line/.list={people 1, people 2, money 1, money 2}]
-  data group {people and money};  
+  data group {people and money};
 \end{codeexample}
 
-  There is another key that is similar to |goto|, but has a slightly
-  different semantics:
-  \begin{key}{/tikz/data visualization/axis options/goto pos=\meta{fraction}}
-    The key works like |goto|, only the \meta{fraction} is not
-    interpreted as a value but as a fraction of the way between the
-    minimum and the maximum value for this axis.
+    There is another key that is similar to |goto|, but has a slightly
+    different semantics:
+    %
+    \begin{key}{/tikz/data visualization/axis options/goto pos=\meta{fraction}}
+        The key works like |goto|, only the \meta{fraction} is not interpreted
+        as a value but as a fraction of the way between the minimum and the
+        maximum value for this axis.
 
-    Suppose that for an axis the attribute range interval is
-    $[500,1000]$ and the reasonable interval is $[1,3]$. Then for a
-    \meta{fraction} of |0|, the mapping process would choose value
-    $1$ from the reasonable interval, for a \meta{fraction} of |1| the
-    position $3$ from the reasonable interval, and for a
-    \meta{fraction} or |0.25| the position $1.5$ since it is one
-    quarter at the distance from $1$ to $3$.
+        Suppose that for an axis the attribute range interval is $[500,1000]$
+        and the reasonable interval is $[1,3]$. Then for a \meta{fraction} of
+        |0|, the mapping process would choose value $1$ from the reasonable
+        interval, for a \meta{fraction} of |1| the position $3$ from the
+        reasonable interval, and for a \meta{fraction} or |0.25| the position
+        $1.5$ since it is one quarter at the distance from $1$ to $3$.
 
-    Note that neither the attribute range interval nor the
-    transformation function for the attribute are important for the
-    |goto pos| option -- the \meta{fraction} is computed with respect
-    to the reasonable interval. Also note that the values of the
-    actual attribute corresponding to the fractional positions in the
-    reasonable interval are not computed.
+        Note that neither the attribute range interval nor the transformation
+        function for the attribute are important for the |goto pos| option --
+        the \meta{fraction} is computed with respect to the reasonable
+        interval. Also note that the values of the actual attribute
+        corresponding to the fractional positions in the reasonable interval
+        are not computed.
+        %
 \begin{codeexample}[]
 \tikzset{
   data visualization/our system/.append style={
@@ -2884,73 +2891,78 @@
     left axis ={attribute=money},
     right axis={attribute=people},
     visualize as line/.list={people 1, people 2, money 1, money 2}]
-  data group {people and money};  
+  data group {people and money};
 \end{codeexample}
-  \end{key}
+    \end{key}
 
-  By default, when an axis is visualized, it spans the set of all
-  possible values for the monitored attribute, that is, from |min| to
-  |max|. However, there are actually two keys that allow you to adjust
-  this:
-  \begin{key}{/tikz/data visualization/low=\meta{value}}
-    This is the attribute value where the axis visualization
-    starts. The same special values as for |goto| are permissible
-    (like |min| or |padded min|, but also |0| or |1|).
-  \end{key}
-  \begin{key}{/tikz/data visualization/high=\meta{value}}
-    Like |low|, only for where the axis ends.
-  \end{key}
+    By default, when an axis is visualized, it spans the set of all possible
+    values for the monitored attribute, that is, from |min| to |max|. However,
+    there are actually two keys that allow you to adjust this:
+    %
+    \begin{key}{/tikz/data visualization/low=\meta{value}}
+        This is the attribute value where the axis visualization starts. The
+        same special values as for |goto| are permissible (like |min| or
+        |padded min|, but also |0| or |1|).
+    \end{key}
+    %
+    \begin{key}{/tikz/data visualization/high=\meta{value}}
+        Like |low|, only for where the axis ends.
+    \end{key}
 
-  By default, |low=min| and |high=max| are set for an axis
-  visualization. Another sensible setting is |low=padded min| and
-  |high=padded max|. The following key provides a shorthand for this:
-  \begin{key}{/tikz/data visualization/padded}
-    Shorthand for |low=padded min, high=padded max|.
-  \end{key}
-  As an example, consider the |scientific axes=clean|. Here, each axis
-  is actually drawn three times: Once at the minimum, once at the
-  maximum and then once more at the padded minimum. 
+    By default, |low=min| and |high=max| are set for an axis visualization.
+    Another sensible setting is |low=padded min| and |high=padded max|. The
+    following key provides a shorthand for this:
+    %
+    \begin{key}{/tikz/data visualization/padded}
+        Shorthand for |low=padded min, high=padded max|.
+    \end{key}
+    %
+    As an example, consider the |scientific axes=clean|. Here, each axis is
+    actually drawn three times: Once at the minimum, once at the maximum and
+    then once more at the padded minimum.
 
-    
-  \medskip
-  \textbf{The axis line.}
-  When an axis is drawn, \tikzname\ does not simply draw a straight
-  line from the |low| position to the |high| position. In reality, the
-  data visualization system uses the two commands |\pgfpathdvmoveto|
-  and |\pgfpathdvlineto| internally. These will replace the straight
-  line by a curve in certain situations. For instance, in a polar
-  coordinate system, if an axis should be drawn along an angle axis
-  for a fixed radius, an arc will be used instead of a straight line.
-    
-  \medskip
-  \textbf{Styling the axis.}
-  As can be seen, we now get the axis we want (but without the ticks,
-  visualizing them will be explained later). The axis is, however,
-  simply a black line. We can \emph{style} the axis in a manner
-  similar to styling ticks and grid lines, see
-  Section~\ref{section-dv-style}. In detail, the following styles get
-  executed:
-  \begin{enumerate}
-  \item |axis layer|
-  \item |every axis|
-  \item |styling|
-  \end{enumerate}
-  Additionally, even before |every axis| is executed, |low=min| and
-  |high=max| are executed.
-  
-  \begin{stylekey}{/tikz/data visualization/axis layer (initially on
-      background layer)}
-    The layer on which the axis is drawn. See the description of
-    |grid layer| on page~\ref{section-dv-grid-layer} for details.
-  \end{stylekey}
-  
-  \begin{stylekey}{/tikz/data visualization/every axis}
-    Put styling of the axis here. It is usually a good idea to set
-    this style to |style={black!50}|.
-  \end{stylekey}
 
-  Recall that the |styling| key is set using the |style| key, see
-  Section~\ref{section-dv-style}. 
+    \medskip
+    \textbf{The axis line.}
+    When an axis is drawn, \tikzname\ does not simply draw a straight line from
+    the |low| position to the |high| position. In reality, the data
+    visualization system uses the two commands |\pgfpathdvmoveto| and
+    |\pgfpathdvlineto| internally. These will replace the straight line by a
+    curve in certain situations. For instance, in a polar coordinate system, if
+    an axis should be drawn along an angle axis for a fixed radius, an arc will
+    be used instead of a straight line.
+
+
+    \medskip
+    \textbf{Styling the axis.}
+    As can be seen, we now get the axis we want (but without the ticks,
+    visualizing them will be explained later). The axis is, however, simply a
+    black line. We can \emph{style} the axis in a manner similar to styling
+    ticks and grid lines, see Section~\ref{section-dv-style}. In detail, the
+    following styles get executed:
+    %
+    \begin{enumerate}
+        \item |axis layer|
+        \item |every axis|
+        \item |styling|
+    \end{enumerate}
+    %
+    Additionally, even before |every axis| is executed, |low=min| and
+    |high=max| are executed.
+
+    \begin{stylekey}{/tikz/data visualization/axis layer (initially on background layer)}
+        The layer on which the axis is drawn. See the description of
+        |grid layer| on page~\ref{section-dv-grid-layer} for details.
+    \end{stylekey}
+
+    \begin{stylekey}{/tikz/data visualization/every axis}
+        Put styling of the axis here. It is usually a good idea to set this
+        style to |style={black!50}|.
+    \end{stylekey}
+
+    Recall that the |styling| key is set using the |style| key, see
+    Section~\ref{section-dv-style}.
+    %
 \tikzset{
 }
 \begin{codeexample}[]
@@ -2969,7 +2981,7 @@
     left axis ={attribute=money},
     right axis={attribute=people},
     visualize as line/.list={people 1, people 2, money 1, money 2}]
-  data group {people and money};  
+  data group {people and money};
 \end{codeexample}
 \tikzset{
   data visualization/our system/.append style={
@@ -2980,27 +2992,27 @@
                 visualize axis={left axis={goto=max}}},
  }
 }
-  
-  \medskip
-  \textbf{Padding the Axis.}
-  When an axis is visualized, it is often a good idea to make it ``a
-  little bit longer'' or to ``remove it a bit from the border,'' because
-  the visualization of an axis should not interfere with the actual
-  data. For this reason, a \emph{padding} can be specified for axes:
-  
-  \begin{key}{/tikz/data visualization/axis options/padding min=\meta{dimension}}
-    This is the dimension that is used whenever |goto=padded min| is
-    used. The \meta{dimension} is then put into the |offset| subkey of
-    the attribute monitored by the axis. When a data point is
-    transformed by a linear transformer and when this subkey is
-    nonzero, this offset is added. (For an angle axis of a polar
-    transformer, the \meta{dimension} is interpreted as an additional
-    angle rather than as an additional distance). Note that
-    \meta{dimension} should typically be negative since 
-    ``adding the \meta{dimension}'' will then make the axis longer
-    (because it starts at a smaller value). The standard
-    axis systems set the padding to some default and take its value
-    into account: 
+
+
+    \medskip
+    \textbf{Padding the Axis.}
+    When an axis is visualized, it is often a good idea to make it ``a little
+    bit longer'' or to ``remove it a bit from the border'', because the
+    visualization of an axis should not interfere with the actual data. For
+    this reason, a \emph{padding} can be specified for axes:
+
+    \begin{key}{/tikz/data visualization/axis options/padding min=\meta{dimension}}
+        This is the dimension that is used whenever |goto=padded min| is used.
+        The \meta{dimension} is then put into the |offset| subkey of the
+        attribute monitored by the axis. When a data point is transformed by a
+        linear transformer and when this subkey is nonzero, this offset is
+        added. (For an angle axis of a polar transformer, the \meta{dimension}
+        is interpreted as an additional angle rather than as an additional
+        distance). Note that \meta{dimension} should typically be negative
+        since ``adding the \meta{dimension}'' will then make the axis longer
+        (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{tikzpicture}
   \datavisualization [scientific axes=clean,
@@ -3013,8 +3025,9 @@
 \end{tikzpicture}
 \end{codeexample}
 
-  Using padded and using the |padded| key, we can visualize our axis
-  ``a little removed from the actual data'':
+        Using padded and using the |padded| key, we can visualize our axis ``a
+        little removed from the actual data'':
+        %
 \begin{codeexample}[]
 \tikzset{
   data visualization/our system/.append style={
@@ -3031,88 +3044,90 @@
     left axis ={attribute=money},
     right axis={attribute=people},
     visualize as line/.list={people 1, people 2, money 1, money 2}]
-  data group {people and money};  
-\end{codeexample}  
-  \end{key}
+  data group {people and money};
+\end{codeexample}
+    \end{key}
 
-  \begin{key}{/tikz/data visualization/axis options/padding max=\meta{dimension}}
-    Works like |padding min|, but \meta{dimension} should typically be positive.
-  \end{key}
-  
-  \begin{key}{/tikz/data visualization/axis options/padding=\meta{dimension}}
-    Sets both |padding min| to the negated value of \meta{dimension} and
-    |padding max| to \meta{dimension}.
-  \end{key}
+    \begin{key}{/tikz/data visualization/axis options/padding max=\meta{dimension}}
+        Works like |padding min|, but \meta{dimension} should typically be
+        positive.
+    \end{key}
+
+    \begin{key}{/tikz/data visualization/axis options/padding=\meta{dimension}}
+        Sets both |padding min| to the negated value of \meta{dimension} and
+        |padding max| to \meta{dimension}.
+    \end{key}
 \end{key}
 
 
-
 \subsubsection{Visualizing Grid Lines}
-
 \label{section-dv-visualize-gridlines}
 
-As explained earlier, the |grid| key is used to specify at which
-positions grid lines should be drawn in principle. However, this key
-does not actually cause any grid lines to be drawn. Instead, the
-|visualize grid| key is used by the axis system to specify how grid
-lines are drawn.
+As explained earlier, the |grid| key is used to specify at which positions grid
+lines should be drawn in principle. However, this key does not actually cause
+any grid lines to be drawn. Instead, the |visualize grid| key is used by the
+axis system to specify how grid lines are drawn.
 
 \begin{key}{/tikz/data visualization/axis options/visualize grid=\meta{options}}
-  This key is passed to an axis. It causes grid lines to be drawn at
-  the positions specified by the |grid| key for this axis. The
-  \meta{options} govern where and how the grid lines will be drawn.
-  
-  \medskip
-  \textbf{The direction axis.}
-  At first sight, one might expect that the grid lines for an axis
-  should simply be drawn perpendicular to the axis between the minimum
-  and maximum value of the axis. However, things are somewhat more
-  difficult in reality:
-  \begin{enumerate}
-  \item A grid line is supposed to indicate all positions where a
-    certain attribute attains a fixed value. But, then, a grid line
-    does not really need to be a grid \emph{line}. Consider for
-    instance a three dimensional axis system. A ``grid line'' for the
-    $x$-coordinate |3| would actually     be a ``grid plane.''
-  \item For a polar coordinate  system and a fixed radius, this set of
-    positions at a certain radius is not a straight line, but an
-    arc. For more complicated coordinate systems such as the one
-    arising from three-dimensional spherical projections, a grid line
-    may well be a fairly involved curve. 
-  \end{enumerate}
-  The |visualize grid| command addresses these complications as
-  follows:
-  \begin{enumerate}
-  \item A grid line is always a line, not a plane or a volume. This
-    means that in the example of a three dimensional axis system and
-    the $x$-attribute being |3|, one would have to choose whether the
-    grid line should go ``along'' the $y$-axis or ``along'' the
-    $z$-axis for this position. One can, however, call the
-    |visualize grid| command twice, once for each direction, to cause
-    grid lines to be shown for both directions.
-  \item A grid line is created by moving to a start position and then
-    doing a lineto to the target position. However, the ``moveto''
-    and ``lineto'' are done by calling special commands of the data
-    visualization system. These special commands allow coordinate
-    system to ``notice'' that the line is along an axis and will allow
-    them to replace the straight line by an appropriate curve. The
-    polar axes systems employ this strategy, for instance.
-  \end{enumerate}
-  
-  By the above discussion, in order to create a grid line for
-  attribute $a$ having value $v$, we need to specify an axis ``along''
-  which the line should be drawn. When there  are only two axes, this
-  is usually ``the other axis''. This ``other axis'' is specified using the following key:
-  \begin{key}{/tikz/data visualization/direction axis=\meta{axis name}}
-    You must pass this key as an \meta{option} each time you use
-    |visualize axis|. When the grid line is drawn, the attribute $a$
-    is set to $v$ and the axis \meta{axis name}'s attribute is set
-    once to the current value of |low| and once to |high|. Then a line
-    is drawn between these two positions using |\pgfpathdvlineto|. 
-  \end{key}
-  The |low| and |high| keys are the same as the ones used in the
-  |visualize axis| key.
-  
+    This key is passed to an axis. It causes grid lines to be drawn at the
+    positions specified by the |grid| key for this axis. The \meta{options}
+    govern where and how the grid lines will be drawn.
+
+
+    \medskip
+    \textbf{The direction axis.}
+    At first sight, one might expect that the grid lines for an axis should
+    simply be drawn perpendicular to the axis between the minimum and maximum
+    value of the axis. However, things are somewhat more difficult in reality:
+    %
+    \begin{enumerate}
+        \item A grid line is supposed to indicate all positions where a certain
+            attribute attains a fixed value. But, then, a grid line does not
+            really need to be a grid \emph{line}. Consider for instance a three
+            dimensional axis system. A ``grid line'' for the $x$-coordinate |3|
+            would actually be a ``grid plane''.
+        \item For a polar coordinate  system and a fixed radius, this set of

@@ Diff output truncated at 1234567 characters. @@


More information about the tex-live-commits mailing list