summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/text-en
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-07-12 20:45:15 +0000
committerKarl Berry <karl@freefriends.org>2019-07-12 20:45:15 +0000
commitaebf7cb9eaabd4c0092643c77009a567ede155dc (patch)
treefa4aae570987002e252dd9c3d3b96b7571f03848 /Master/texmf-dist/doc/generic/pgf/text-en
parent2d83a76b7d0fa40bf7b1c90280ee3388258a73f3 (diff)
pgf (12jul19)
git-svn-id: svn://tug.org/texlive/trunk@51626 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex266
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex16
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex11
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex64
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex19
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex4
15 files changed, 379 insertions, 30 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
index a4067c9861a..81be7f5fc99 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
@@ -24,7 +24,7 @@ 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}[]
+\begin{codeexample}[preamble={\usetikzlibrary{decorations,decorations.pathmorphing}}]
\tikz \draw decorate[decoration=zigzag] {(0,0) -- (3,0)};
\end{codeexample}
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
index 42493010673..7117552eff9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
@@ -238,7 +238,7 @@ When you need help with \pgfname\ and \tikzname, please do the following:
\item Read the manual, at least the part that has to do with your
problem.
\item If that does not solve the problem, try having a look at the
- sourceforge development page for \pgfname\ and \tikzname\ (see the
+ GitHub development page for \pgfname\ and \tikzname\ (see the
title of this document). Perhaps someone has already reported a
similar problem and someone has found a solution.
\item On the website you will find numerous forums for getting help.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
index 718d8b7870c..60a4801c7da 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
@@ -1165,7 +1165,8 @@ shapes. This library is included mostly for historical reasons, using the
|inner sep| and |minimum size| will be ignored, but transformations can be
applied to each segment as described below.
%
-\begin{codeexample}[] \tikzset{
+\begin{codeexample}[]
+\tikzset{
paint/.style={draw=#1!50!black, fill=#1!50},
my star/.style={decorate,decoration={shape backgrounds,shape=star},
star points=#1}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
index 281dee5b5de..d714b8fa86e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
@@ -81,6 +81,272 @@
\patternindexinherentlycolored{crosshatch dots light steel blue}
\end{tabular}
+\subsection{User-Defined Patterns}
+\label{section-library-patterns-meta}
+
+\noindent\emph{by Mark Wibrow}
+
+\begin{pgflibrary}{patterns.meta}
+ Define your own patterns with a syntax similar to |arrows.meta|.
+\end{pgflibrary}
+
+\emph{Caveat:} This library is currently experimental and might change without
+notice. There are some known shortcomings that will hopefully be fixed in the
+future.
+
+\begin{command}{\pgfdeclarepattern\marg{config}}
+ This command is used to declare a new pattern. In contrast to the normal
+ patterns and in the spirit of |arrows.meta| this command takes a list of
+ keys and values to define the pattern. The following keys are available:
+ %
+\begin{key}{/pgf/patterns/name=\meta{name}}
+ The name of the pattern by which it can be used later on.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/type=\meta{type} (default uncolored)}
+ The type of the pattern maps to what was called ``form only'' and ``inherently colored'' in the language of the normal patterns.
+ The available choices are:
+ \begin{itemize}
+ \item |uncolored| the pattern will obey the surrounding color.
+ \item |colored| the pattern will have an intrinsic color.
+ \item |form only| synonym for |uncolored|
+ \item |inherently colored| synonym for |colored|
+ \end{itemize}
+\end{key}
+ %
+\begin{key}{/pgf/patterns/x=\meta{dimension} (default 1cm)}
+ Unit vector of the coordinate system in the $x$-direction.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/y=\meta{dimension} (default 1cm)}
+ Unit vector of the coordinate system in the $y$-direction.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/parameters=\meta{comma separated list} (default empty)}
+ A list of parameters that are passed to the pattern. This is usually a
+ list of TeX macros. It is very important that these macros are fully
+ expandable because the values they hold are being used for deduplication in
+ the PDF file.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/defaults=\meta{comma separated list} (default empty)}
+ This list holds default assignments to the parameters passed to the
+ pattern. The default keys can then be found under the |/pgf/pattern keys/|
+ prefix.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/bottom left=\meta{pgfpoint}}
+ Bottom left corner of the pattern's bounding box, e.g.\
+ |\pgfqpoint{-.1pt}{-.1pt}|.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/top right=\meta{pgfpoint}}
+ Top right corner of the pattern's bounding box, e.g.\
+ |\pgfqpoint{3.1pt}{3.1pt}|.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/tile size=\meta{pgfpoint}}
+ Width and height of a single of the pattern as a \pgfname\ point
+ specification, i.e. the $x$ coordinate is the width and the $y$ coordinate
+ is the height, e.g.\ |\pgfqpoint{3pt}{3pt}|.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/tile transformation=\meta{pgftransformation} (default empty)}
+ A \pgfname\ transformation, e.g.\ |\pgftransformrotate{30}|.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/code=\meta{code}}
+ The code should be \pgfname\ code than can be protocolled. It should not
+ contain any color code or nodes.
+\end{key}
+ %
+\begin{key}{/pgf/patterns/set up code=\meta{code} (default empty)}
+ This code can be set if parameters have to be preprocessed before the
+ actual pattern code can be run.
+\end{key}
+ %
+\end{command}
+
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\pgfdeclarepattern{
+ name=hatch,
+ parameters={\hatchsize,\hatchangle,\hatchlinewidth},
+ bottom left={\pgfpoint{-.1pt}{-.1pt}},
+ top right={\pgfpoint{\hatchsize+.1pt}{\hatchsize+.1pt}},
+ tile size={\pgfpoint{\hatchsize}{\hatchsize}},
+ tile transformation={\pgftransformrotate{\hatchangle}},
+ code={
+ \pgfsetlinewidth{\hatchlinewidth}
+ \pgfpathmoveto{\pgfpoint{-.1pt}{-.1pt}}
+ \pgfpathlineto{\pgfpoint{\hatchsize+.1pt}{\hatchsize+.1pt}}
+ \pgfpathmoveto{\pgfpoint{-.1pt}{\hatchsize+.1pt}}
+ \pgfpathlineto{\pgfpoint{\hatchsize+.1pt}{-.1pt}}
+ \pgfusepath{stroke}
+ }
+}
+
+\tikzset{
+ hatch size/.store in=\hatchsize,
+ hatch angle/.store in=\hatchangle,
+ hatch line width/.store in=\hatchlinewidth,
+ hatch size=5pt,
+ hatch angle=0pt,
+ hatch line width=.5pt,
+}
+
+\begin{tikzpicture}
+\foreach \r in {1,...,4}
+ \draw [pattern=hatch, pattern color=red]
+ (\r*3,0) rectangle ++(2,2);
+
+\foreach \r in {1,...,4}
+ \draw [pattern=hatch, pattern color=green, hatch size=2pt]
+ (\r*3,3) rectangle ++(2,2);
+
+\foreach \r in {1,...,4}
+ \draw [pattern=hatch, pattern color=blue, hatch size=10pt, hatch angle=21]
+ (\r*3,6) rectangle ++(2,2);
+
+\foreach \r in {1,...,4}
+ \draw [pattern=hatch, pattern color=orange, hatch line width=2pt]
+ (\r*3,9) rectangle ++(2,2);
+\end{tikzpicture}
+\end{codeexample}
+
+\begin{command}{\tikzdeclarepattern\marg{config}}
+ A pattern declared with |\pgfdeclarepattern| can only execute \pgfname\
+ code. This command extends the functionality to also allow \tikzname\
+ code. All the same keys of |\pgfdeclarepattern| are valid, but some of
+ them have been overloaded to give a more natural \tikzname\ syntax.
+ %
+\begin{key}{/tikz/patterns/bottom left=\meta{point}}
+ Instead of a \pgfname\ name point, this key takes a \tikzname\ point, e.g.\
+ |(-.1,-.1)|.
+\end{key}
+ %
+\begin{key}{/tikz/patterns/top right=\meta{point}}
+ Instead of a \pgfname\ name point, this key takes a \tikzname\ point, e.g.\
+ |(3.1,3.1)|.
+\end{key}
+ %
+\begin{key}{/tikz/patterns/tile size=\meta{point}}
+ Instead of a \pgfname\ name point, this key takes a \tikzname\ point, e.g.\
+ |(3,3)|.
+\end{key}
+ %
+\begin{key}{/tikz/patterns/tile transformation=\meta{transformation}}
+ Instead of a \pgfname\ transformation, this key takes a list of keys and
+ value and extracts the resulting transformation from them, e.g.\
+ |rotate=30|.
+\end{key}
+
+ In addition to the overloaded keys, some new keys have been added.
+ %
+\begin{key}{/tikz/patterns/bounding box=\meta{point} and \meta{point}}
+ This is a shorthand to set the bounding box. It will assign the first
+ point to |bottom left| and the second point to |top right|.
+\end{key}
+ %
+\begin{key}{/tikz/patterns/infer tile bounding box=\meta{dimension} (default 0pt)}
+ Instead of specifying the bounding box by hand, you can ask \tikzname\ to
+ infer the size of the bounding box for you. The \meta{dimension} parameter
+ is padding that is added around the bounding box.
+\end{key}
+ %
+\end{command}
+
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\tikzdeclarepattern{
+ name=flower,
+ type=colored,
+ bottom left={(-.1pt,-.1pt)},
+ top right={(10.1pt,10.1pt)},
+ tile size={(10pt,10pt)},
+ code={
+ \tikzset{x=1pt,y=1pt}
+ \path [draw=green] (5,2.5) -- (5, 7.5);
+ \foreach \i in {0,60,...,300}
+ \path [fill=pink, shift={(5,7.5)}, rotate=-\i]
+ (0,0) .. controls ++(120:4) and ++(60:4) .. (0,0);
+ \path [fill=red] (5,7.5) circle [radius=1];
+ \foreach \i in {-45,45}
+ \path [fill=green, shift={(5,2.5)}, rotate=-\i]
+ (0,0) .. controls ++(120:4) and ++(60:4) .. (0,0);
+ }
+}
+
+\tikz\draw [pattern=flower] circle [radius=1];
+\end{codeexample}
+
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\tikzdeclarepattern{
+ name=Stars,
+ type=uncolored,
+ bounding box={(-5pt,-5pt) and (5pt,5pt)},
+ tile size={(\tikztilesize,\tikztilesize)},
+ parameters={\tikzstarpoints,\tikzstarradius,\tikzstarrotate,\tikztilesize},
+ tile transformation={rotate=\tikzstarrotate},
+ defaults={
+ points/.store in=\tikzstarpoints,points=5,
+ radius/.store in=\tikzstarradius,radius=3pt,
+ rotate/.store in=\tikzstarrotate,rotate=0,
+ tile size/.store in=\tikztilesize,tile size=10pt,
+ },
+ code={
+ \pgfmathparse{180/\tikzstarpoints}\let\a=\pgfmathresult
+ \fill (90:\tikzstarradius) \foreach \i in {1,...,\tikzstarpoints}{
+ -- (90+2*\i*\a-\a:\tikzstarradius/2) -- (90+2*\i*\a:\tikzstarradius)
+ } -- cycle;
+ }
+}
+
+\begin{tikzpicture}
+ \draw[pattern=Stars,pattern color=blue] (0,0) rectangle ++(2,2);
+ \draw[pattern={Stars[points=7,tile size=15pt]}] (2,0) rectangle ++(2,2);
+ \draw[pattern={Stars[rotate=45]},pattern color=red] (0,2) rectangle ++(2,2);
+ \draw[pattern={Stars[rotate=30,points=4,radius=5pt]}] (2,2) rectangle ++(2,2);
+\end{tikzpicture}
+\end{codeexample}
+
+Instead of macros you can also use \pgfname\ keys as parameters, if that is
+what you prefer.
+\begin{codeexample}[preamble={\usetikzlibrary{patterns.meta}}]
+\tikzdeclarepattern{
+ name=lines,
+ parameters={
+ \pgfkeysvalueof{/pgf/pattern keys/size},
+ \pgfkeysvalueof{/pgf/pattern keys/angle},
+ \pgfkeysvalueof{/pgf/pattern keys/line width},
+ },
+ bounding box={(-.1pt,-.1pt) and
+ (\pgfkeysvalueof{/pgf/pattern keys/size}+.1pt,
+ \pgfkeysvalueof{/pgf/pattern keys/size}+.1pt)},
+ tile size={(\pgfkeysvalueof{/pgf/pattern keys/size},
+ \pgfkeysvalueof{/pgf/pattern keys/size})},
+ tile transformation={rotate=\pgfkeysvalueof{/pgf/pattern keys/angle}},
+ defaults={
+ size/.initial=5pt,
+ angle/.initial=0,
+ line width/.initial=.4pt,
+ },
+ code={
+ \draw[line width=\pgfkeysvalueof{/pgf/pattern keys/line width}]
+ (0,0) -- (\pgfkeysvalueof{/pgf/pattern keys/size},
+ \pgfkeysvalueof{/pgf/pattern keys/size});
+ }
+}
+
+\begin{tikzpicture}
+ \draw[pattern={lines[size=10pt,line width=.8pt,angle=10]},
+ pattern color=red] (0,0) rectangle ++(2,2);
+ \draw[pattern={lines[size= 5pt,line width=.8pt,angle=40]},
+ pattern color=blue] (2,0) rectangle ++(2,2);
+ \draw[pattern={lines[size=10pt,line width=.4pt,angle=90]},
+ pattern color=green] (0,2) rectangle ++(2,2);
+ \draw[pattern={lines[size= 2pt,line width= 1pt,angle=70]},
+ pattern color=orange] (2,2) rectangle ++(2,2);
+\end{tikzpicture}
+\end{codeexample}
%%% Local Variables:
%%% mode: latex
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
index 15a678e7270..9abbb6f3d57 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
@@ -71,6 +71,7 @@
\node (left text) [text width=.5\paperwidth-2cm,below right,at={(-.5\paperwidth+1cm,-1.5cm)}]
{
+ \fontencoding{T1}
\fontfamily{pcr}
\def\textbraceleft{\char`\{}
\def\textbraceright{\char`\}}
@@ -121,6 +122,7 @@
\node (right text) [text width=.5\paperwidth-2cm,below right,at={(1cm,-1.5cm)}]
{
+ \fontencoding{T1}
\fontfamily{pcr}
\def\textbraceleft{\char`\{}
\def\textbraceright{\char`\}}
@@ -356,7 +358,7 @@ read the present part.
{
When we assume that $\color{red}AB$ and $\color{blue}CD$ are
parallel, i.\,e., ${\color{red}AB} \mathbin{\|} \color{blue}CD$,
- then $\alpha = \delta$ and $\beta = \gamma$.
+ then $\alpha = \gamma$ and $\beta = \delta$.
};
\end{tikzpicture}
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
index d35c0e89abd..0909945567b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
@@ -17,6 +17,8 @@
\usepackage{xkeyval,calc,listings,tikz,fp}
+\usepackage{imakeidx}
+\makeindex
\usepackage{hyperref}
\hypersetup{%
colorlinks=false, % use true to enable colors below:
@@ -38,6 +40,7 @@
calc,
fit,
patterns,
+ patterns.meta,
plotmarks,
shapes.geometric,
shapes.misc,
@@ -151,10 +154,6 @@
\usepackage{amsmath,amssymb}
\usepackage{xxcolor}
\usepackage{pifont}
-\usepackage{makeidx}
-
-% Fontenc (new beginning 2014, let's see, what it breaks...):
-\usepackage[T1]{fontenc}
\ifluatex
% \usepackage[no-math]{fontspec}
@@ -170,10 +169,15 @@
% pgfmanual-en-macros.tex defines an environment named filedescription
\let\filedescription\relax
\usepackage[utf8]{luainputenc}
+ % dvisvgm does not support OpenType fonts so we have to bite the bullet and
+ % use T1 where quotes are weird. In LuaTeX \outputmode=0 means DVI.
+ \ifnum\outputmode=0
+ \usepackage[T1]{fontenc}
+ \fi
\else
\usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
\fi
-\usepackage{amsmath}
\graphicspath{{../../images/}}
\input{../../macros/pgfmanual-en-macros}
@@ -186,8 +190,6 @@
#1]{#2}
}
-\makeindex
-
\makeatletter
\renewcommand*\l@section[2]{%
\ifnum \c@tocdepth >\z@
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
index 7cb2392d659..4b3f793dadf 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
@@ -429,7 +429,9 @@ recognized:
%
\end{math-operators}
-\begin{math-operators}{\char`\[}{\char`\]}{array access}{array}
+\chardef\lbrack=`\[
+\chardef\rbrack=`\]
+\begin{math-operators}{\lbrack}{\rbrack}{array access}{array}
|[| and |]| are two operators used in one particular circumstance: to
access an array (specified using the |{| and |}| operators) using the index
\mvar{x}. Indexing starts from zero, so, if the index is greater than, or
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
index 578f66e6af4..1dfec36c239 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
@@ -155,22 +155,22 @@ There are \the\mycount\ a's.
\marg{parser name 1}\marg{state 1}\meta{symbol meaning 1}%
\oarg{opt 1}\oarg{opt 2}\meta{symbol meaning 2}%
}%
- If none of of the optional arguments are given in the following \meta{parser
+ If none of the optional arguments are given in the following \meta{parser
name 2} and \meta{state 2} are the same as \meta{parser name 1} and
\meta{state 1}. If only the first is given \meta{state 2} equals
\meta{opt 1}. If both are given \meta{parser name 2} equals \meta{opt 1} and
\meta{state 2} equals \meta{opt 2}.
Defines an action for \meta{parser name 1} in \meta{state 1} for the
- \meta{symbol meaning 1} to do the same as the action of \meta{parser name 2}%
- in \meta{state 2} for the \meta{symbol meaning 2}. For \meta{symbol meaning 1}%
+ \meta{symbol meaning 1} to do the same as the action of \meta{parser name 2}
+ in \meta{state 2} for the \meta{symbol meaning 2}. For \meta{symbol meaning 1}
and \meta{symbol meaning 2} the same parsing rules apply as for \meta{symbol
meaning} in |\pgfparserdef| so you either give the meaning in braces or just
the symbol.
\end{command}%
\begin{command}{\pgfparserdefunknown\marg{parser name}\marg{state}\marg{action}}%
- With this macro you can define an \meta{action} for the \meta{parser name}%
+ With this macro you can define an \meta{action} for the \meta{parser name}
parser in \meta{state} if the letter which was encountered was undefined.
\end{command}%
@@ -238,8 +238,7 @@ Additionally to those keys for every \meta{parser name} for which
|\pgfparserdef|, |\pgfparserdefunknown| or |\pgfparserlet| was run at least once
the following will be defined:
-\begin{key}%
- {/pgfparser/\meta{parser name}/silent=\meta{boolean} (initially false)}%
+\begin{key}{/pgfparser/\meta{parser name}/silent=\meta{boolean} (initially false)}%
If |true| the parser \meta{parser name} will silently ignore undefined
letters. This is an individual equivalent of |/pgfparser/silent| for each
defined parser.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
index 7e6dae54f53..c35a3b9a5ec 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
@@ -213,7 +213,7 @@ This section describes the package |pgfcalendar|.
be used for offsets from Easter Sunday, e.g.\ |Easter=-3| for
Maundy Thursday, |Easter=-2| for Good Friday, |Easter=1| for Easter
Monday. Since the dates of other Christian holidays are determined
- by the date of easter, these can be accessed as well, e.g.\
+ by the date of Easter, these can be accessed as well, e.g.\
|Easter=39| for Feast of the Ascension, |Easter=49| for Pentecost,
and |Easter=50| for Whit Monday.
\end{itemize}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
index ae982952815..47b876cd1b1 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
@@ -637,8 +637,10 @@ done.
\subsection{Pattern System Commands}
\begin{command}{\pgfsys@declarepattern
- \marg{name}\marg{$x_1$}\marg{$y_1$}\marg{$x_2$}\marg{$y_2$}
- \marg{$x$ step}\marg{$y$ step}\marg{code}\marg{flag}%
+ \marg{name}\marg{$x_1$}\marg{$y_1$}\marg{$x_2$}\marg{$y_2$}%
+ \marg{$x$ step}\marg{$y$ step}%
+ \marg{$a$}\marg{$b$}\marg{$c$}\marg{$d$}\allowbreak\marg{$e$}\marg{$f$}%
+ \marg{code}\marg{flag}%
}
This command declares a new colored or uncolored pattern, depending on
whether \meta{flag} is |0|, which means uncolored, or |1|, which means
@@ -652,14 +654,66 @@ done.
The tiling step of the pattern is given by \meta{$x$ step} and \meta{$y$
step}.
+ The parameters \meta{$a$} to \meta{$f$} are entries of the transformation
+ matrix that is applied to the pattern, see |\pgfsys@patternmatrix| for more
+ information.
+
\example
%
\begin{codeexample}[code only]
-\pgfsys@declarepattern{hori}{-.5pt}{0pt}{.5pt}{3pt}{3pt}{3pt}
-{\pgfsys@moveto{0pt}{0pt}\pgfsys@lineto{0pt}{3pt}\pgfsys@stroke}
-{0}
+\pgfsys@declarepattern
+ {hori}{-.5pt}{0pt}{.5pt}{3pt}{3pt}{3pt}%
+ {1.0}{0.0}{0.0}{1.0}{0.0pt}{0.0pt}%
+ {\pgfsys@moveto{0pt}{0pt}\pgfsys@lineto{0pt}{3pt}\pgfsys@stroke}
+ {0}
+\end{codeexample}
+ %
+\end{command}
+
+
+\begin{command}{\pgfsys@patternmatrix}
+ For convenience \pgfname\ defines the transformation matrix that is applied
+ to all patterns defined with |\pgfdeclarepatternformonly| and
+ |\pgfdeclarepatterninherentlycolored| in a macro. This can be used as an
+ extension point for ad-hoc transformation of existing patterns. The
+ default definition is the
+ identity matrix:
+ %
+\begin{codeexample}[code only]
+\def\pgfsys@patternmatrix{{1.0}{0.0}{0.0}{1.0}{0.0pt}{0.0pt}}
\end{codeexample}
%
+ The entries of the enclosed array
+ |{|\meta{$a$}|}{|\meta{$b$}|}{|\meta{$c$}|}{|\meta{$d$}|}{|\meta{$e$}|}{|\meta{$f$}|}|
+ are entries in the transformation matrix, identified as in the following
+ transformation prescription:
+ \begin{equation*}
+ \begin{pmatrix}
+ x' \\
+ y' \\
+ 1 \\
+ \end{pmatrix}
+ =
+ \begin{pmatrix}
+ a & c & e \\
+ b & d & f \\
+ 0 & 0 & 1 \\
+ \end{pmatrix}
+ \begin{pmatrix}
+ x \\
+ y \\
+ 1 \\
+ \end{pmatrix} .
+ \end{equation*}
+ Carrying out the matrix multiplication results in the following system of
+ equations
+ \begin{align*}
+ x' &= a x + c y + e , \\
+ y' &= b x + d y + f .
+ \end{align*}
+ Evidently, the parameters \marg{$a$} to \marg{$d$} have to be dimensionless
+ because they are scaling factors, but the parameters \marg{$e$} and
+ \marg{$f$} are offsets, therefore they have to carry a unit.
\end{command}
\begin{command}{\pgfsys@setpatternuncolored\marg{name}\marg{red}\marg{green}\marg{blue}}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
index cad08b6b71b..03c619eb97f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
@@ -361,6 +361,25 @@ setting the line width. You can also redefine these styles.
%
\end{key}
+\begin{key}{/tikz/dash expand off}
+ Makes the |off| part of a dash pattern expandable such that it can stretch.
+ This only works when there is a single |on| and a single |off| field and
+ requires the |decorations| library. Right now this option has to be
+ specified on the path where it is supposed to take effect after the |dash
+ pattern| option because the dash pattern has to be known at the point where
+ it is applied.
+ %
+\begin{codeexample}[]
+\begin{tikzpicture}[|-|, dash pattern=on 4pt off 2pt]
+ \draw [dash expand off] (0pt,30pt) -- (26pt,30pt);
+ \draw [dash expand off] (0pt,20pt) -- (24pt,20pt);
+ \draw [dash expand off] (0pt,10pt) -- (22pt,10pt);
+ \draw [dash expand off] (0pt, 0pt) -- (20pt, 0pt);
+\end{tikzpicture}
+\end{codeexample}
+ %
+\end{key}
+
As for the line thickness, some predefined styles allow you to set the dashing
conveniently.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
index 4d58fa6d79b..6a7f606f43d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
@@ -123,9 +123,9 @@ mind when considering how and when to use it:
nodes. Now, when you animate the position of~|(a)|, the line connecting
|(a)| and |(b)| will, unfortunately, not ``move along'' automatically
(but it is easy to move the whole group of |(a)|, |(b)|, and the
- connecting ling as whole). You must ``cheat'' and introduce some
+ connecting line as whole). You must ``cheat'' and introduce some
``virtual'' nodes, which leads to rather complex and bloated code.
- \item Animation are taken into consideration for bounding box computations,
+ \item Animations are taken into consideration for bounding box computations,
but only for shifts, not for rotations, scaling, or skewing and also
possibly not when multiple shifts are active at the same time for the
same object.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
index 36c4469d10c..7e4560d0da4 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
@@ -2763,8 +2763,8 @@ The following keys place nodes in a $N\times M$ grid.
width and depth are mapped to a $N\times M$ grid. The values of $N$ and $M$
depend on the size of the graph and the value of |wrap after|. The number
of columns $M$ is either set to |wrap after| explicitly or computed
- automatically as $\sqrt{\verb!|V|!}$. $N$ is the number of rows needed to
- lay out the graph in a grid with $M$ columns.
+ automatically as $\sqrt{\texttt{\string|V\string|}}$. $N$ is the number of
+ rows needed to lay out the graph in a grid with $M$ columns.
%
\begin{codeexample}[]
% An example with 6 nodes, 3 columns and therefor 2 rows
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
index 8d817df5aeb..b93d2f20034 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
@@ -449,7 +449,7 @@ commands, which are \emph{only defined in the library}, namely the library
\begin{codeexample}[]
\begin{tikzfadingfrompicture}[name=tikz]
\node [text=transparent!20]
- {\fontfamily{ptm}\fontsize{45}{45}\bfseries\selectfont Ti\emph{k}Z};
+ {\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries\selectfont Ti\emph{k}Z};
\end{tikzfadingfrompicture}
% Now we use the fading in another picture:
@@ -843,7 +843,7 @@ Transparency groups are used to render them correctly:
\shade [left color=red,right color=blue] (-2,-1) rectangle (2,1);
\begin{scope}[transparency group=knockout]
\fill [white] (-1.9,-.9) rectangle (1.9,.9);
- \node [opacity=0,font=\fontfamily{ptm}\fontsize{45}{45}\bfseries]
+ \node [opacity=0,font=\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries]
{Ti\emph{k}Z};
\end{scope}
\end{tikzpicture}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
index c6ba16ff87f..023efec0855 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
@@ -22,6 +22,7 @@ looks like this%
\tikzname. The jittering lines were created using the |random steps|
decoration.}:
%
+\begin{codeexample}[setup code, hidden]
\tikzset{
nonterminal/.style={
% The shape:
@@ -48,6 +49,7 @@ decoration.}:
font=\ttfamily},
skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}
}
+\end{codeexample}
{
\tikzset{terminal/.append style={text height=1.5ex,text depth=.25ex}}
@@ -333,9 +335,11 @@ borders separated by |node distance|.
Ilka can use this to draw the place the nodes in a long row:
%
+\begin{codeexample}[setup code,hidden]
\tikzset{terminal/.append style={text height=1.5ex,text depth=.25ex}}
\tikzset{nonterminal/.append style={text height=1.5ex,text
depth=.25ex}}
+\end{codeexample}
\begin{codeexample}[]
\begin{tikzpicture}[node distance=5mm and 5mm]
\node (ui1) [nonterminal] {unsigned integer};