diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex | 467 |
1 files changed, 237 insertions, 230 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex index 81d12c2c6e9..fa2f26158b2 100644 --- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex +++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex @@ -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. - -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. +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. -In detail, paths can be used in the following ways: +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 @@ following command: \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 @@ following command: \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 @@ following command: \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,58 +135,60 @@ this may change in the future, so do not count on this. \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} \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 @@ this may change in the future, so do not count on this. \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. - - 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. - + 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. + + 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 @@ this may change in the future, so do not count on this. \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. - -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. +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. 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}. - - 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|. - - 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. - + 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). + + 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. + + 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 @@ Two commands are used to set the inner line width and color. \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,25 +328,26 @@ Two commands are used to set the inner line width and color. \pgfsetinnerstrokecolor{red!50} \pgfusepath{stroke} \end{pgfpicture} -\end{codeexample} +\end{codeexample} + % \end{command} \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 @@ Section~\ref{section-arrow-tips-where}. \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 @@ Section~\ref{section-arrow-tips-where}. \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 @@ Section~\ref{section-arrow-tips-where}. \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 @@ Section~\ref{section-arrow-tips-where}. \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 @@ You can set which rule is used using the following commands: \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 @@ You can set which rule is used using the following commands: \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 @@ Left \end{pgfpicture} right. \end{codeexample} - |