summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex464
1 files changed, 235 insertions, 229 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
index 5c1276b02cb..1600e6f5378 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
@@ -7,17 +7,15 @@
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
-\section{Decorated Paths}
+\section{Decorated Paths}
\label{section-tikz-decorations}
-
\subsection{Overview}
-Decorations are a general concept to make (sub)paths ``more
-interesting.'' Before we have a look at the details, let us have a
-look at some examples:
-
+Decorations are a general concept to make (sub)paths ``more interesting''.
+Before we have a look at the details, let us have a look at some examples:
+%
\begin{codeexample}[]
\begin{tikzpicture}[thick]
\draw (0,3) -- (3,3);
@@ -55,103 +53,103 @@ look at some examples:
\end{tikzpicture}
\end{codeexample}
-The general idea of decorations is the following: First, you construct
-a path using the usual path construction commands. The resulting path
-is, in essence, a series of straight and curved lines. Instead of
-directly using this path for filling or drawing, you can then specify
-that it should form the basis for a decoration. In this case,
-depending on which decoration you use, a new path is constructed
-``along'' the path you specified. For instance, with the |zigzag|
-decoration, the new path is a zigzagging line that goes along the old
-path.
-
-Let us have a look at an example: In the first picture, we see a path
-that consists of a line, an arc, and a line. In the second picture,
-this path has been used as the basis of a decoration.
-
+The general idea of decorations is the following: First, you construct a path
+using the usual path construction commands. The resulting path is, in essence,
+a series of straight and curved lines. Instead of directly using this path for
+filling or drawing, you can then specify that it should form the basis for a
+decoration. In this case, depending on which decoration you use, a new path is
+constructed ``along'' the path you specified. For instance, with the |zigzag|
+decoration, the new path is a zigzagging line that goes along the old path.
+
+Let us have a look at an example: In the first picture, we see a path that
+consists of a line, an arc, and a line. In the second picture, this path has
+been used as the basis of a decoration.
+%
\begin{codeexample}[]
\tikz \fill
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
+%
\begin{codeexample}[]
\tikz \fill [decorate,decoration={zigzag}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
-It is also possible to decorate only a subpath (the exact syntax will
-be explained later in this section).
+It is also possible to decorate only a subpath (the exact syntax will be
+explained later in this section).
+%
\begin{codeexample}[]
\tikz \fill [decoration={zigzag}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1)
decorate { arc (90:-90:.5) } -- cycle;
\end{codeexample}
-The |zigzag| decoration will be called a \emph{path
- morphing} decoration because it morphs a path into a different, but
-topologically equivalent path. Not all decorations are path
-morphing; rather there are three kinds of decorations.
-
+The |zigzag| decoration will be called a \emph{path morphing} decoration
+because it morphs a path into a different, but topologically equivalent path.
+Not all decorations are path morphing; rather there are three kinds of
+decorations.
\begin{enumerate}
-\item The just-mentioned \emph{path morphing} decorations morph the
- path in the sense that what used to be a straight line might
- afterwards be a squiggly line or might have bumps. However, a line
- is still and a line and path deforming decorations do not change
- the number of subpaths.
-
- Examples of such decorations are the |snake| or the |zigzag|
- decoration. Many such decorations are defined in the library
- |decorations.pathmorphing|.
-
-\item \emph{Path replacing} decorations completely replace the
- path by a different path that is only ``loosely based'' on the
- original path. For instance, the |crosses| decoration replaces a path
- by a path consisting of a sequence of crosses. Note how in the
- following example filling the path has no effect since the path
- consist only of (numerous) unconnected straight line subpaths:
+ \item The just-mentioned \emph{path morphing} decorations morph the path in
+ the sense that what used to be a straight line might afterwards be a
+ squiggly line or might have bumps. However, a line is still and a line
+ and path deforming decorations do not change the number of subpaths.
+
+ Examples of such decorations are the |snake| or the |zigzag|
+ decoration. Many such decorations are defined in the library
+ |decorations.pathmorphing|.
+
+ \item \emph{Path replacing} decorations completely replace the path by a
+ different path that is only ``loosely based'' on the original path. For
+ instance, the |crosses| decoration replaces a path by a path consisting
+ of a sequence of crosses. Note how in the following example filling the
+ path has no effect since the path consist only of (numerous)
+ unconnected straight line subpaths:
+ %
\begin{codeexample}[]
\tikz \fill [decorate,decoration={crosses}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
- Examples of path replacing decorations are |crosses| or |ticks| or
- |shape backgrounds|. Such decorations are defined in the library
- |decorations.pathreplacing|, but also in |decorations.shapes|.
-
-\item \emph{Path removing} decorations completely remove the
- to-be-decorated path. Thus, they have no effect on the main path
- that is being constructed. Instead, they typically have numerous
- \emph{side effects}. For instance, they might ``write some text''
- along the (removed) path or they might place nodes along this
- path. Note that for such decorations the path usage command for the
- main path have no influence on how the decoration looks like.
-
+ Examples of path replacing decorations are |crosses| or |ticks| or
+ |shape backgrounds|. Such decorations are defined in the library
+ |decorations.pathreplacing|, but also in |decorations.shapes|.
+ \item \emph{Path removing} decorations completely remove the
+ to-be-decorated path. Thus, they have no effect on the main path that
+ is being constructed. Instead, they typically have numerous \emph{side
+ effects}. For instance, they might ``write some text'' along the
+ (removed) path or they might place nodes along this path. Note that for
+ such decorations the path usage command for the main path have no
+ influence on how the decoration looks like.
+ %
\begin{codeexample}[]
\tikz \fill [decorate,decoration={text along path,
text=This is a text along a path. Note how the path is lost.}]
[fill=blue!20,draw=blue,thick] (0,0) -- (2,1) arc (90:-90:.5) -- cycle;
\end{codeexample}
+ %
\end{enumerate}
Decorations are defined in different decoration libraries, see
-Section~\ref{section-library-decorations} for details. It is also
-possible to define your own decorations, see
-Section~\ref{section-base-decorations}, but you need to use the
-\pgfname\ basic layer and a bit of theory is involved.
-
-Decorations can be used to decorate already decorated paths. In the
-following three graphics, we start with a simple path, then decorate
-it once, and then decorate the decorated path once more.
+Section~\ref{section-library-decorations} for details. It is also possible to
+define your own decorations, see Section~\ref{section-base-decorations}, but
+you need to use the \pgfname\ basic layer and a bit of theory is involved.
+Decorations can be used to decorate already decorated paths. In the following
+three graphics, we start with a simple path, then decorate it once, and then
+decorate the decorated path once more.
+%
\begin{codeexample}[]
\tikz \fill [fill=blue!20,draw=blue,thick]
(0,0) rectangle (3,2);
\end{codeexample}
+%
\begin{codeexample}[]
\tikz \fill [fill=blue!20,draw=blue,thick]
decorate[decoration={zigzag,segment length=10mm,amplitude=2.5mm}]
{ (0,0) rectangle (3,2) };
\end{codeexample}
+%
\begin{codeexample}[]
\tikz \fill [fill=blue!20,draw=blue,thick]
decorate[decoration={crosses,segment length=2mm}] {
@@ -161,37 +159,34 @@ it once, and then decorate the decorated path once more.
};
\end{codeexample}
-One final word of warning: Decorations can be pretty slow to
-typeset and they can be inaccurate. The reason is that \pgfname\ has
-to a \emph{lot} of rather difficult computations in the background and
-\TeX\ is not very good at doing math. Decorations are fastest when
-applied to straight line segments, but even then they are much slower
-than other alternatives. For instance, the |ticks| decoration can be
-simulated by clever use of a dashing pattern and the dashing pattern
-will literally be thousands of times faster to typeset. However, for
+One final word of warning: Decorations can be pretty slow to typeset and they
+can be inaccurate. The reason is that \pgfname\ has to a \emph{lot} of rather
+difficult computations in the background and \TeX\ is not very good at doing
+math. Decorations are fastest when applied to straight line segments, but even
+then they are much slower than other alternatives. For instance, the |ticks|
+decoration can be simulated by clever use of a dashing pattern and the dashing
+pattern will literally be thousands of times faster to typeset. However, for
most decorations there are no real alternatives.
\begin{tikzlibrary}{decorations}
- In order to use decorations, you first have to load a decoration
- library. This |decoration| library defines the basic options
- described in the following, but it does not define any new
- decorations. This is done by libraries like
- |decorations.text|. Since these more specialized libraries include
- the |decoration| library automatically, you usually do not have to
- bother about it.
+ In order to use decorations, you first have to load a decoration library.
+ This |decoration| library defines the basic options described in the
+ following, but it does not define any new decorations. This is done by
+ libraries like |decorations.text|. Since these more specialized libraries
+ include the |decoration| library automatically, you usually do not have to
+ bother about it.
\end{tikzlibrary}
-
\subsection{Decorating a Subpath Using the Decorate Path Command}
-The most general way to decorate a (sub)path is the following path
-command.
+The most general way to decorate a (sub)path is the following path command.
\begin{pathoperation}{decorate}{\opt{\oarg{options}}\marg{subpath}}
- This path operation causes the \meta{subpath} to be
- decorated using the current decoration. Depending on the decoration,
- this may or may not extend the current path.
+ This path operation causes the \meta{subpath} to be decorated using the
+ current decoration. Depending on the decoration, this may or may not extend
+ the current path.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -199,16 +194,17 @@ command.
{ (0,0) .. controls (0,2) and (3,0) .. (3,2) |- (0,0) };
\end{tikzpicture}
\end{codeexample}
- The path can include straight lines, curves,
- rectangles, arcs, circles, ellipses, and even already decorated
- paths (that is, you can nest applications of the |decorate| path
- command, see below).
+ %
+ The path can include straight lines, curves, rectangles, arcs, circles,
+ ellipses, and even already decorated paths (that is, you can nest
+ applications of the |decorate| path command, see below).
- Due to the limits on the precision in \TeX, some inaccuracies in
- positioning when crossing input segment boundaries may occasionally be
- found.
+ Due to the limits on the precision in \TeX, some inaccuracies in
+ positioning when crossing input segment boundaries may occasionally be
+ found.
- You can use nodes normally inside the \meta{subpath}.
+ You can use nodes normally inside the \meta{subpath}.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -219,21 +215,21 @@ command.
\end{tikzpicture}
\end{codeexample}
- The following key is used to select the decoration and also to
- select further ``rendering options'' for the decoration.
-
- \begin{key}{/pgf/decoration=\meta{decoration options}}
- \keyalias{tikz}
- This option is used to specify which decoration is used and how it
- will look like. Note that this key will \emph{not} cause any
- decorations to be applied, immediately. It takes the |decorate| path
- command or the |decorate| option to actually decorate a path. The
- |decoration| option is only used to specify which decoration should
- be used, in principle. You can also use this option at the
- beginning of a picture or a scope to specify the decoration to be
- used with each invocation of the |decorate| path
- command. Naturally, any local options of the |decorate| path
- command override these ``global'' options.
+ The following key is used to select the decoration and also to select
+ further ``rendering options'' for the decoration.
+
+ \begin{key}{/pgf/decoration=\meta{decoration options}}
+ \keyalias{tikz}
+ This option is used to specify which decoration is used and how it will
+ look like. Note that this key will \emph{not} cause any decorations to
+ be applied, immediately. It takes the |decorate| path command or the
+ |decorate| option to actually decorate a path. The |decoration| option
+ is only used to specify which decoration should be used, in principle.
+ You can also use this option at the beginning of a picture or a scope
+ to specify the decoration to be used with each invocation of the
+ |decorate| path command. Naturally, any local options of the |decorate|
+ path command override these ``global'' options.
+ %
\begin{codeexample}[]
\begin{tikzpicture}[decoration=zigzag]
\draw decorate {(0,0) -- (3,2)};
@@ -241,21 +237,23 @@ command.
\end{tikzpicture}
\end{codeexample}
- The \meta{decoration options} are special options
- (which have the path prefix |/pgf/decoration/|) that determine the
- properties of the decoration. Which options are appropriate for a
- decoration strongly depend on the decoration, you will have to look
- up the appropriate options in the documentation of the decoration,
- see Section~\ref{section-library-decorations}.
-
- There is one option (available only in \tikzname) that is special:
- \begin{key}{/pgf/decoration/name=\meta{name} (initially none)}
- Use this key to set which decoration is to be used. The
- \meta{name} can both be a decoration or a meta-decoration (you
- need to worry about the difference only if you wish to define
- your own decorations).
-
- If you set \meta{name} to |none|, no decorations are added.
+ The \meta{decoration options} are special options (which have the path
+ prefix |/pgf/decoration/|) that determine the properties of the
+ decoration. Which options are appropriate for a decoration strongly
+ depend on the decoration, you will have to look up the appropriate
+ options in the documentation of the decoration, see
+ Section~\ref{section-library-decorations}.
+
+ There is one option (available only in \tikzname) that is special:
+ %
+ \begin{key}{/pgf/decoration/name=\meta{name} (initially none)}
+ Use this key to set which decoration is to be used. The \meta{name}
+ can both be a decoration or a meta-decoration (you need to worry
+ about the difference only if you wish to define your own
+ decorations).
+
+ If you set \meta{name} to |none|, no decorations are added.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -263,9 +261,11 @@ command.
{ (0,0) .. controls (0,2) and (3,0) .. (3,2) };
\end{tikzpicture}
\end{codeexample}
- Since this option is used so often, you can also leave out the
- |name=| part. Thus, the above example can be rewritten more
- succinctly:
+ %
+ Since this option is used so often, you can also leave out the
+ |name=| part. Thus, the above example can be rewritten more
+ succinctly:
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\draw [help lines] grid (3,2);
@@ -273,21 +273,22 @@ command.
{ (0,0) .. controls (0,2) and (3,0) .. (3,2) };
\end{tikzpicture}
\end{codeexample}
- In general, when \meta{decoration options} are parsed, for each
- unknown key it is checked whether that key happens to be a
- (meta-)decoration and, if so, the |name| option is executed for
- this key.
+ %
+ In general, when \meta{decoration options} are parsed, for each
+ unknown key it is checked whether that key happens to be a
+ (meta-)decoration and, if so, the |name| option is executed for
+ this key.
+ \end{key}
+
+ Further options allow you to adjust the position of decorations
+ relative to the to-be-decorated path. See
+ Section~\ref{section-decorations-adjust} below for details.
\end{key}
- Further options allow you to adjust the position of decorations
- relative to the to-be-decorated path. See
- Section~\ref{section-decorations-adjust} below for details.
- \end{key}
-
- Recall that some decorations actually completely remove the
- to-be-decorated path. In such cases, the construction of the main
- path is resumed after the |decorate| path command ends.
-
+ Recall that some decorations actually completely remove the to-be-decorated
+ path. In such cases, the construction of the main path is resumed after the
+ |decorate| path command ends.
+ %
\begin{codeexample}[]
\begin{tikzpicture}[decoration={text along path,text=
around and around and around and around we go}]
@@ -296,14 +297,15 @@ command.
\end{tikzpicture}
\end{codeexample}
- It is permissible to nest |decorate| commands. In this case, the
- path resulting from the first decoration process is used as the
- to-be-decorated path for the second decoration process. This is
- especially useful for drawing fractals. The |Koch snowflake|
- decoration replaces a straight line like \tikz\draw (0,0) -- (1,0);
- by \tikz[decoration=Koch snowflake] \draw decorate{(0,0) --
- (1,0)};. Repeatedly applying this transformation to a triangle
- yields a fractal that looks a bit like a snowflake, hence the name.
+ It is permissible to nest |decorate| commands. In this case, the path
+ resulting from the first decoration process is used as the to-be-decorated
+ path for the second decoration process. This is especially useful for
+ drawing fractals. The |Koch snowflake| decoration replaces a straight line
+ like \tikz\draw (0,0) -- (1,0); by
+ \tikz[decoration=Koch snowflake] \draw decorate{(0,0) -- (1,0)};.
+ Repeatedly applying this transformation to a triangle yields a fractal that
+ looks a bit like a snowflake, hence the name.
+ %
\begin{codeexample}[]
\begin{tikzpicture}[decoration=Koch snowflake,draw=blue,fill=blue!20,thick]
\filldraw (0,0) -- ++(60:1) -- ++(-60:1) -- cycle ;
@@ -311,34 +313,34 @@ command.
\filldraw decorate{ decorate{ (0,-2.5) -- ++(60:1) -- ++(-60:1) -- cycle }};
\end{tikzpicture}
\end{codeexample}
+ %
\end{pathoperation}
-
\subsection{Decorating a Complete Path}
-You may sometimes wish to decorate a path over whose construction you
-have no control. For instance, the path of the background of a node is
-created without having a chance to issue a |decorate| path
-command. In such cases you can use the following option, which allows
-you to decorate a path ``after the fact.''
+You may sometimes wish to decorate a path over whose construction you have no
+control. For instance, the path of the background of a node is created without
+having a chance to issue a |decorate| path command. In such cases you can use
+the following option, which allows you to decorate a path ``after the fact''.
\begin{key}{/tikz/decorate=\opt{\meta{boolean}} (default true)}
- When this key is set, the whole path is decorated after it has been
- finished. The decoration used for decorating the path is set via the
- |decoration| way, in exactly the same way as for the |decorate| path
- command. Indeed, the following two commands have the same effect:
- \begin{enumerate}
- \item |\path decorate[|\meta{options}|] {|\meta{path}|};|
- \item |\path [decorate,|\meta{options}|] |\meta{path}|;|
- \end{enumerate}
- The main use or the |decorate| option is the you can also use it
- with the nodes. It then causes the background path of the node to be
- decorated. Note that you can decorate a background path only once in
- this manner. That is, in contrast to the |decorate| path command you
- cannot apply this option twice (this would just set it to |true|,
- once more).
-
+ When this key is set, the whole path is decorated after it has been
+ finished. The decoration used for decorating the path is set via the
+ |decoration| way, in exactly the same way as for the |decorate| path
+ command. Indeed, the following two commands have the same effect:
+ %
+ \begin{enumerate}
+ \item |\path decorate[|\meta{options}|] {|\meta{path}|};|
+ \item |\path [decorate,|\meta{options}|] |\meta{path}|;|
+ \end{enumerate}
+ %
+ The main use or the |decorate| option is the you can also use it with the
+ nodes. It then causes the background path of the node to be decorated. Note
+ that you can decorate a background path only once in this manner. That is,
+ in contrast to the |decorate| path command you cannot apply this option
+ twice (this would just set it to |true|, once more).
+ %
\begin{codeexample}[]
\begin{tikzpicture}[decoration=zigzag]
\draw [help lines] (0,0) grid (3,5);
@@ -352,12 +354,12 @@ you to decorate a path ``after the fact.''
\end{tikzpicture}
\end{codeexample}
- In the last example, the |text along path| decoration removes the
- path. In such cases it is useful to use a pre- or postaction to
- cause the decoration to be applied only before or after the main
- path has been used. Incidentally, this is another application of the
- |decorate| option that you cannot achieve with the decorate path
- command.
+ In the last example, the |text along path| decoration removes the path. In
+ such cases it is useful to use a pre- or postaction to cause the decoration
+ to be applied only before or after the main path has been used.
+ Incidentally, this is another application of the |decorate| option that you
+ cannot achieve with the decorate path command.
+ %
\begin{codeexample}[]
\begin{tikzpicture}[decoration=zigzag]
\node at (1.5,1) [inner sep=6mm,fill=red!20,ellipse,
@@ -365,8 +367,10 @@ you to decorate a path ``after the fact.''
{text along path,text={This is getting silly}}}] {Ellipse};
\end{tikzpicture}
\end{codeexample}
- Here is more useful example, where a postaction is used to add the
- path after the main path has been drawn.
+ %
+ Here is more useful example, where a postaction is used to add the path
+ after the main path has been drawn.
+ %
% \catcode`\|12 % !?
\begin{codeexample}[]
\begin{tikzpicture}
@@ -377,28 +381,28 @@ you to decorate a path ``after the fact.''
(0,1) arc (180:-180:1.5cm and 1cm);
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
\subsection{Adjusting Decorations}
-
\label{section-decorations-adjust}
\subsubsection{Positioning Decorations Relative to the To-Be-Decorate Path}
-The following option, which are only available with \tikzname, allow
-you to modify the positioning of decorations relative to the
-to-be-decorated path.
+The following option, which are only available with \tikzname, allow you to
+modify the positioning of decorations relative to the to-be-decorated path.
\begin{key}{/pgf/decoration/raise=\meta{dimension} (initially 0pt)}
- The segments of the decoration are raised by \meta{dimension}
- relative to the to-be-decorated path. More precisely, the segments
- of the path are offset by this much ``to the left'' of the path as
- we travel along the path. This raising is done after and in addition
- to any transformations set using the |transform| option (see below).
-
- A negative \meta{dimension} will offset the decoration ``to the
- right'' of the to-be-decorated path.
+ The segments of the decoration are raised by \meta{dimension} relative to
+ the to-be-decorated path. More precisely, the segments of the path are
+ offset by this much ``to the left'' of the path as we travel along the
+ path. This raising is done after and in addition to any transformations set
+ using the |transform| option (see below).
+
+ A negative \meta{dimension} will offset the decoration ``to the right'' of
+ the to-be-decorated path.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -410,12 +414,14 @@ to-be-decorated path.
{ (0,0) -- (1,1) arc (90:0:2 and 1) };
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
\begin{key}{/pgf/decoration/mirror=\opt{\meta{boolean}}}
- Causes the segments of the decoration to be mirrored along the
- to-be-decorated path. This is done after and in addition to any
- transformations set using the |transform| and/or |raise| options.
+ Causes the segments of the decoration to be mirrored along the
+ to-be-decorated path. This is done after and in addition to any
+ transformations set using the |transform| and/or |raise| options.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\node (a) {A};
@@ -426,18 +432,19 @@ to-be-decorated path.
\draw[decorate,decoration={brace,mirror,raise=5pt},blue] (a) -- (b);
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
-
\begin{key}{/pgf/decoration/transform=\meta{transformations}}
- This key allows you to specify general \meta{transformations} to be
- applied to the segments of a decoration. These transformations are
- applied before and independently of |raise| and |mirror|
- transformations. The \meta{transformations} should be normal
- \tikzname\ transformations like |shift| or |rotate|.
-
- In the following example the |shift only| transformation is used to
- make sure that the crosses are \emph{not} sloped along the path.
+ This key allows you to specify general \meta{transformations} to be applied
+ to the segments of a decoration. These transformations are applied before
+ and independently of |raise| and |mirror| transformations. The
+ \meta{transformations} should be normal \tikzname\ transformations like
+ |shift| or |rotate|.
+
+ In the following example the |shift only| transformation is used to make
+ sure that the crosses are \emph{not} sloped along the path.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
@@ -448,36 +455,39 @@ to-be-decorated path.
{ (0,0) -- (1,1) arc (90:0:2 and 1) };
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
\subsubsection{Starting and Ending Decorations Early or Late}
-You sometimes may wish to ``end'' a decoration a bit early on the
-path. For instance, you might wish a |snake| decoration to stop 5mm
-before the end of the path and to continue in a straight line. There
-are different ways of achieving this effect, but the easiest may be
-the |pre| and |post| options, which only have an effect in
-\tikzname. Note, however, that they can only be used with decorations,
-not with meta-decorations.
+You sometimes may wish to ``end'' a decoration a bit early on the path. For
+instance, you might wish a |snake| decoration to stop 5mm before the end of the
+path and to continue in a straight line. There are different ways of achieving
+this effect, but the easiest may be the |pre| and |post| options, which only
+have an effect in \tikzname. Note, however, that they can only be used with
+decorations, not with meta-decorations.
\begin{key}{/pgf/decoration/pre=\meta{decoration} (initially lineto)}
- This key sets a decoration that should be used before the main
- decoration starts. The \meta{decoration} will be used for a length
- of |pre length|, which |0pt| by default. Thus, for the |pre| option
- to have any effect, you also need to set the |pre length| option.
+ This key sets a decoration that should be used before the main decoration
+ starts. The \meta{decoration} will be used for a length of |pre length|,
+ which |0pt| by default. Thus, for the |pre| option to have any effect, you
+ also need to set the |pre length| option.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\tikz [decoration={zigzag,pre=lineto,pre length=1cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{tikzpicture}
\end{codeexample}
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\tikz [decoration={zigzag,pre=moveto,pre length=1cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{tikzpicture}
\end{codeexample}
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\tikz [decoration={zigzag,pre=crosses,pre length=1cm}]
@@ -485,43 +495,43 @@ not with meta-decorations.
\end{tikzpicture}
\end{codeexample}
- Note that the default |pre| option is |lineto|, not |curveto|. This
- means that the default |pre| decoration will not follow curves (for
- efficiency reasons). Change the |pre| key to |curveto| if you have a
- curved path.
+ Note that the default |pre| option is |lineto|, not |curveto|. This means
+ that the default |pre| decoration will not follow curves (for efficiency
+ reasons). Change the |pre| key to |curveto| if you have a curved path.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\tikz [decoration={zigzag,pre length=3cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{tikzpicture}
\end{codeexample}
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\tikz [decoration={zigzag,pre=curveto,pre length=3cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
\begin{key}{/pgf/decoration/pre length=\meta{dimension} (initially 0pt)}
- This key sets the distance along which the pre-decoration should be
- used. If you do not need/wish a pre-decoration, set this key to
- |0pt| (exactly this string, not just to something that evaluates to
- the same things such as |0cm|).
+ This key sets the distance along which the pre-decoration should be used.
+ If you do not need/wish a pre-decoration, set this key to |0pt| (exactly
+ this string, not just to something that evaluates to the same things such
+ as |0cm|).
\end{key}
-\begin{key}{/pgf/decorations/post=\meta{decoration} (initially
- lineto)}
- Works like |pre|, only for the end of the decoration.
+\begin{key}{/pgf/decorations/post=\meta{decoration} (initially lineto)}
+ Works like |pre|, only for the end of the decoration.
\end{key}
-\begin{key}{/pgf/decorations/post length=\meta{dimension} (initially
- 0pt)}
- Works like |pre length|, only for the end of the decoration.
+\begin{key}{/pgf/decorations/post length=\meta{dimension} (initially 0pt)}
+ Works like |pre length|, only for the end of the decoration.
\end{key}
Here is a typical example that shows how these keys can be used:
-
+%
\begin{codeexample}[]
\begin{tikzpicture}
[decoration=snake,
@@ -532,7 +542,3 @@ Here is a typical example that shows how these keys can be used:
\draw[->,decorate,line around=1cm] (0,-1cm) -- ++(3,0);
\end{tikzpicture}
\end{codeexample}
-
-
-
-\endinput