diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse19.html')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse19.html | 1568 |
1 files changed, 1568 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse19.html b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse19.html new file mode 100644 index 00000000000..cfe297d1b52 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse19.html @@ -0,0 +1,1568 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html > +<head><title>19 Hierarchical Structures: +Package, Environments, Scopes, and Text</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta name="generator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)"> +<meta name="originator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)"> +<!-- html --> +<meta name="src" content="pgfmanual.tex"> +<meta name="date" content="2005-10-23 18:34:00"> +<link rel="stylesheet" type="text/css" href="pgfmanual.css"> +</head><body +> + <div class="crosslinks"><p class="noindent">[<a +href="pgfmanualse20.html" >next</a>] [<a +href="pgfmanualse18.html" >prev</a>] [<a +href="pgfmanualse18.html#tailpgfmanualse18.html" >prev-tail</a>] [<a +href="#tailpgfmanualse19.html">tail</a>] [<a +href="pgfmanual.html#pgfmanualse19.html" >up</a>] </p></div> + <h3 class="sectionHead"><span class="titlemark">19 </span> <a + id="x20-19200019"></a>Hierarchical Structures: +<br class="newline">Package, Environments, Scopes, and Text</h3> +<!--l. 13--><p class="noindent"> + <h4 class="subsectionHead"><span class="titlemark">19.1 </span> <a + id="x20-19300019.1"></a>Overview</h4> +<!--l. 15--><p class="noindent"><span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> 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, <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> allows you to structure your graphics +hierarchically using environments and scopes. +<!--l. 20--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.1.1 </span> <a + id="x20-19400019.1.1"></a>The Hierarchical Structure of the Package</h5> +<!--l. 22--><p class="noindent">The <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> system consists of several layers: +<!--l. 24--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="cmbx-10">System layer.</span> </dt><dd +class="description">The lowest layer is called the <span +class="cmti-10">system layer</span>, 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 <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">.dvi</span></span></span> file. The system layer is implemented by the package <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfsys</span></span></span>, which will load + appropriate driver files as needed. + <!--l. 33--><p class="noindent">The system layer is documented in Part <a +href="pgfmanual.html#x1-306000V">V<!--tex4ht:ref: part-system --></a>. + </dd><dt class="description"> +<span +class="cmbx-10">Basic layer.</span> </dt><dd +class="description">The basic layer is loaded by the package <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgf</span></span></span>. Some applications do not need all of the + functionality of the basic layer, so it is possible to load only the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfcore</span></span></span> and some other packages + starting with <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbase</span></span></span>. + <!--l. 40--><p class="noindent">The basic layer is documented in the present part. + </dd><dt class="description"> +<span +class="cmbx-10">Frontend layer.</span> </dt><dd +class="description">The frontend layer is not loaded by a single packages. Rather, different packages, like + Ti<span +class="cmti-10">k</span>Z or <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small><small +class="small-caps">P</small><small +class="small-caps">I</small><small +class="small-caps">C</small><small +class="small-caps">T</small>2<small +class="small-caps">E</small></span>, are different frontends to the basic layer. + <!--l. 46--><p class="noindent">The Ti<span +class="cmti-10">k</span>Z frontend is documented in Part <a +href="pgfmanual.html#x1-65000II">II<!--tex4ht:ref: part-tikz --></a>.</dd></dl> +<!--l. 49--><p class="indent"> Each layer will automatically load the necessary files of the layers below it. +<!--l. 52--><p class="indent"> 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. +<!--l. 56--><p class="indent"> The library packages are documented in Part <a +href="pgfmanual.html#x1-158000III">III<!--tex4ht:ref: part-libraries --></a>. +<!--l. 61--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.1.2 </span> <a + id="x20-19500019.1.2"></a>The Hierarchical Structure of Graphics</h5> +<!--l. 63--><p class="noindent">Graphics in <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> 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. +<!--l. 71--><p class="indent"> The general mechanism underlying hierarchical structuring is known as <span +class="cmti-10">scoping </span>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. + + +<!--l. 79--><p class="indent"> 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: +<!--l. 84--><p class="indent"> + <ol type="1" class="enumerate1" > + <li class="enumerate" value="1" +><a + id="x20-195002x1"></a>The “outermost” scope supported by <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> is the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environment. All changes to the graphic + state done inside a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> are local to that picture. + <!--l. 90--><p class="noindent">In general, it is <span +class="cmti-10">not </span>possible to set graphic parameters globally outside any <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environments. + Thus, you can <span +class="cmti-10">not </span>say <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfsetlinewidth{1pt}</span></span></span> 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 <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span>. + (If this is too bothersome, try defining some macro that does the job for you.) + </li> + <li class="enumerate" value="2" +><a + id="x20-195004x2"></a>Inside a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> you can use a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> environment to keep changes of the graphic state + local to that environment. + <!--l. 101--><p class="noindent">The effect of commands that change the graphic state are local to the current <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> but not + always to the current <span class="TEX">T<span +class="E">E</span>X</span> group. Thus, if you open a <span class="TEX">T<span +class="E">E</span>X</span> group (some text in curly braces) inside a + <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>, and if you change, for example, the dash pattern, the effect of this changed dash pattern + will persist till the end of the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. + <!--l. 108--><p class="noindent">Unfortunately, this is not always the case. <span +class="cmti-10">Some </span>graphic parameters only persist till the end of + the current <span class="TEX">T<span +class="E">E</span>X</span> group. For example, when you use <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfsetarrows</span></span></span> to set the arrow tip inside a + <span class="TEX">T<span +class="E">E</span>X</span> group, the effect lasts only till the end of the current <span class="TEX">T<span +class="E">E</span>X</span> group. + </li> + <li class="enumerate" value="3" +><a + id="x20-195006x3"></a>Some graphic parameters are not scoped by <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> but “already” by <span class="TEX">T<span +class="E">E</span>X</span> groups. For example, + the effect of coordinate transformation commands is always local to the current <span class="TEX">T<span +class="E">E</span>X</span> group. + <!--l. 119--><p class="noindent">Since every <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> automatically creates a <span class="TEX">T<span +class="E">E</span>X</span> group, all graphic parameters that are local to + the current <span class="TEX">T<span +class="E">E</span>X</span> group are also local to the current <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. + </li> + <li class="enumerate" value="4" +><a + id="x20-195008x4"></a>Some graphic parameters can only be scoped using <span class="TEX">T<span +class="E">E</span>X</span> groups, since in some situations it is not + possible to introduce a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. For example, a path always has to be completely constructed and + used in the same <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. However, we might wish to have different coordinate transformations + apply to different points on the path. In this case, we can use <span class="TEX">T<span +class="E">E</span>X</span> groups to keep the effect local, but + we could not use <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. + </li> + <li class="enumerate" value="5" +><a + id="x20-195010x5"></a>The <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgftext</span></span></span> command can be used to create a scope in which <span class="TEX">T<span +class="E">E</span>X</span> “escapes back” to normal + <span class="TEX">T<span +class="E">E</span>X</span> mode. The text passed to the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgftext</span></span></span> is “heavily guarded” against having any effect on the + scope in which it is used. For example, it is possibly to use another <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environment inside + the argument of <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgftext</span></span></span>.</li></ol> +<!--l. 140--><p class="indent"> Most of the complications can be avoided if you stick to the following rules: + <ul class="itemize1"> + <li class="itemize">Give graphic commands only inside <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environments. + </li> + <li class="itemize">Use <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> to structure graphics. + </li> + <li class="itemize">Do not use <span class="TEX">T<span +class="E">E</span>X</span> groups inside graphics, <span +class="cmti-10">except </span>for keeping the effect of coordinate transformations + local.</li></ul> +<!--l. 155--><p class="noindent"> + <h4 class="subsectionHead"><span class="titlemark">19.2 </span> <a + id="x20-19600019.2"></a>The Hierarchical Structure of the Package</h4> +<!--l. 157--><p class="noindent">Before we come to the structuring commands provided by <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> to structure your graphics, let us first have a look at +the structure of the package itself. + + +<!--l. 161--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.2.1 </span> <a + id="x20-19700019.2.1"></a>The Main Package</h5> +<!--l. 163--><p class="noindent">To use <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span>, include the following package: +<!--l. 165--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox167"><span +class="cmtt-10">\usepackage{</span><span +class="cmtt-10">pgf</span><span +class="cmtt-10">} % </span><span class="LATEX"><span +class="cmtt-10">L</span><span class="A"><span +class="cmtt-10">A</span></span><span class="TEX"><span +class="cmtt-10">T</span><span +class="E"><span +class="cmtt-10">E</span></span><span +class="cmtt-10">X</span></span></span></span> </dt><dd +class="description"> +<a + id="dx20-197001"></a> +<a + id="dx20-197002"></a> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox168"><span +class="cmtt-10">\input </span><span +class="cmtt-10">pgf</span><span +class="cmtt-10">.tex % plain </span><span class="TEX"><span +class="cmtt-10">T</span><span +class="E"><span +class="cmtt-10">E</span></span><span +class="cmtt-10">X</span></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox169"><span +class="cmtt-10">\input </span><span +class="cmtt-10">pgf</span><span +class="cmtt-10">.tex % Con</span><span class="TEX"><span +class="cmtt-10">T</span><span +class="E"><span +class="cmtt-10">E</span></span><span +class="cmtt-10">X</span></span><span +class="cmtt-10">t</span></span> </dt><dd +class="description"> + <!--l. 166--><p class="noindent">This package loads the complete “basic layer” of <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span>. That is, it will load all of the commands described + in the current part of this manual, but it will not load frontends like Ti<span +class="cmti-10">k</span>Z. + <!--l. 170--><p class="noindent">In detail, this package will load the following packages, each of which can also be loaded individually: + <ul class="itemize1"> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfsys</span></span></span>, which is the lowest layer of <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> and which is always needed. This file will read <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgf.cfg</span></span></span> + to discern which driver is to be used. See Section <a +href="pgfmanualse32.html#x33-30800032.1">32.1<!--tex4ht:ref: section-pgfsys --></a> for details. + </li> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfcore</span></span></span>, which is the central core of <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> and which is always needed unless you intend to write + a new basic layer from scratch. + </li> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseimage</span></span></span>, which provides commands for declaring and using images. An example is + <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfuseimage</span></span></span>. + </li> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseshapes</span></span></span>, which provides commands for declaring and using shapes. An example is + <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfdeclareshape</span></span></span>. + </li> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseplot</span></span></span>, which provides commands for plotting functions.</li></ul> + <!--l. 192--><p class="noindent">Including any of the last three packages will automatically load the first two. </dd></dl> +<!--l. 196--><p class="indent"> In <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>, the package takes two options: + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox170"><span +class="cmtt-10">\usepackage[</span><span +class="cmtt-10">draft</span><span +class="cmtt-10">]{pgf}</span></span> </dt><dd +class="description"> +<a + id="dx20-197003"></a> +<a + id="dx20-197004"></a> + <!--l. 198--><p class="noindent">When this option is set, all images will be replaced by empty rectangles. This can speedup compilation. + </dd></dl> +<!--l. 202--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox171"><span +class="cmtt-10">\usepackage[</span><span +class="cmtt-10">version=</span><span +class="cmsy-10"><</span><span +class="cmitt-10">version</span><span +class="cmsy-10">></span><span +class="cmtt-10">]{pgf}</span></span> </dt><dd +class="description"> +<a + id="dx20-197005"></a> +<a + id="dx20-197006"></a> + <!--l. 203--><p class="noindent">Indicates that the commands of version <span +class="cmsy-10"><</span><span +class="cmti-10">version</span><span +class="cmsy-10">> </span>need to be defined. If you set <span +class="cmsy-10"><</span><span +class="cmti-10">version</span><span +class="cmsy-10">> </span>to <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">0.65</span></span></span>, + then a large bunch of “compatibility commands” are loaded. If you set <span +class="cmsy-10"><</span><span +class="cmti-10">version</span><span +class="cmsy-10">> </span>to <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">0.96</span></span></span>, then these + compatibility commands will not be loaded. + <!--l. 208--><p class="noindent">If this option is not given at all, then the commands of all versions are defined. </dd></dl> + + +<!--l. 213--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.2.2 </span> <a + id="x20-19800019.2.2"></a>The Core Package</h5> +<!--l. 215--><p class="noindent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox172"><span +class="cmtt-10">\usepackage{</span><span +class="cmtt-10">pgfcore</span><span +class="cmtt-10">} % </span><span class="LATEX"><span +class="cmtt-10">L</span><span class="A"><span +class="cmtt-10">A</span></span><span class="TEX"><span +class="cmtt-10">T</span><span +class="E"><span +class="cmtt-10">E</span></span><span +class="cmtt-10">X</span></span></span></span> </dt><dd +class="description"> +<a + id="dx20-198001"></a> +<a + id="dx20-198002"></a> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox173"><span +class="cmtt-10">\input </span><span +class="cmtt-10">pgfcore</span><span +class="cmtt-10">.tex % plain </span><span class="TEX"><span +class="cmtt-10">T</span><span +class="E"><span +class="cmtt-10">E</span></span><span +class="cmtt-10">X</span></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox174"><span +class="cmtt-10">\input </span><span +class="cmtt-10">pgfcore</span><span +class="cmtt-10">.tex % Con</span><span class="TEX"><span +class="cmtt-10">T</span><span +class="E"><span +class="cmtt-10">E</span></span><span +class="cmtt-10">X</span></span><span +class="cmtt-10">t</span></span> </dt><dd +class="description"> + <!--l. 216--><p class="noindent">This package defines all of the basic layer’s commands, except for the commands defined in the + additional packages like <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseplot</span></span></span>. Typically commands defined by the core include <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfusepath</span></span></span> + or <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfpoint</span></span></span>. The core is internally structured into several subpackages, but the subpackages cannot + be loaded individually since they are all “interrelated.” </dd></dl> +<!--l. 225--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.2.3 </span> <a + id="x20-19900019.2.3"></a>The Optional Basic Layer Packages</h5> +<!--l. 227--><p class="noindent">The <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgf</span></span></span> package automatically loads the following packages, but you can also load them individually (all of them +automatically include the core): + <ul class="itemize1"> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseshapes</span></span></span> This package provides commands for drawing nodes and shapes. These commands are + explained in Section <a +href="pgfmanualse25.html#x26-26000025">25<!--tex4ht:ref: section-shapes --></a>. + </li> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseplot</span></span></span> This package provides commands for plotting function. The commands are explained in + Section <a +href="pgfmanualse29.html#x30-29000029">29<!--tex4ht:ref: section-plots --></a>. + </li> + <li class="itemize"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">pgfbaseimage</span></span></span> This package provides commands for including (external) images. The commands are + explained in Section <a +href="pgfmanualse27.html#x28-28100027">27<!--tex4ht:ref: section-images --></a>.</li></ul> +<!--l. 249--><p class="noindent"> + <h4 class="subsectionHead"><span class="titlemark">19.3 </span> <a + id="x20-20000019.3"></a>The Hierarchical Structure of the Graphics</h4> +<!--l. 251--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.3.1 </span> <a + id="x20-20100019.3.1"></a>The Main Environment</h5> +<!--l. 254--><p class="noindent">Most, but not all, commands of the <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> package must be given within a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environment. The only +commands that (must) be given outside are commands having to do with including images (like <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfuseimage</span></span></span>) and +with inserting complete shadings (like <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfuseshading</span></span></span>). However, just to keep life entertaining, the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfshadepath</span></span></span> +command must be given <span +class="cmti-10">inside </span>a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environment. +<!--l. 262--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox175"><span +class="cmtt-10">\begin{</span><span +class="cmtt-10">pgfpicture</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox176"><span +class="cmtt-10"> </span><span +class="cmtt-10"> </span><span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span></span> </dt><dd +class="description"> + + + </dd><dt class="description"> +<span +class="colorbox" id="colorbox177"><span +class="cmtt-10">\end{</span><span +class="cmtt-10">pgfpicture</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> +<a + id="dx20-201001"></a> +<a + id="dx20-201002"></a> + <!--l. 263--><p class="noindent">This environment will insert a <span class="TEX">T<span +class="E">E</span>X</span> box containing the graphic drawn by the <span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span> + at the current position. + <!--l. 267--><p class="noindent"><span +class="cmbx-10">The size of the bounding box. </span>The size of the box is determined in the following manner: While + <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> parses the <span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span>, 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 <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> 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. + <!--l. 278--><p class="noindent">Once the <span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">> </span>has been parsed completely, a <span class="TEX">T<span +class="E">E</span>X</span> box is created whose size is the + size of the computed bounding box and this box is inserted at the current position. + <!--l. 282--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-397-" ><colgroup id="TBL-397-1g"><col +id="TBL-397-1"><col +id="TBL-397-2"></colgroup><tr + valign="baseline" id="TBL-397-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-397-1-1" +class="td11"> Hello <object data="pgfmanual-471.svg" width="9.01108pt" height="4.70554pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> World! </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-397-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">Hello</span><span +class="cmtt-8"> \begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{1ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8">\end{pgfpicture}</span><span +class="cmtt-8"> World!</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 289--><p class="noindent">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 <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfusepath{use</span><span +class="cmtt-10"> as</span><span +class="cmtt-10"> bounding</span><span +class="cmtt-10"> box}</span></span></span>, as described in + Section <a +href="pgfmanualse23.html#x24-25100023.5">23.5<!--tex4ht:ref: section-using-bb --></a>. + <!--l. 298--><p class="noindent"><span +class="cmbx-10">The baseline of the bounding box. </span>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: + <!--l. 305--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-398-" ><colgroup id="TBL-398-1g"><col +id="TBL-398-1"><col +id="TBL-398-2"></colgroup><tr + valign="baseline" id="TBL-398-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-398-1-1" +class="td11"> Rectangles <object data="pgfmanual-472.svg" width="9.01108pt" height="4.70554pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and<object data="pgfmanual-473.svg" width="9.01108pt" height="4.70554pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. </td> <td align="left" style="white-space:nowrap; text-align:left;" id="TBL-398-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">Rectangles</span><span +class="cmtt-8"> \begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{1ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8">\end{pgfpicture}</span><span +class="cmtt-8"> and</span><span +class="cmtt-8"> \begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpoint{0ex}{1ex}}{\pgfpoint{2ex}{1ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8">\end{pgfpicture}.</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 315--><p class="noindent">You can change the baseline using the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfsetbaseline</span></span></span> command, see below. + <!--l. 318--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-399-" ><colgroup id="TBL-399-1g"><col +id="TBL-399-1"><col +id="TBL-399-2"></colgroup><tr + valign="baseline" id="TBL-399-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-399-1-1" +class="td11"> Rectangles <object data="pgfmanual-474.svg" width="9.01108pt" height="4.70554pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and<object data="pgfmanual-475.svg" width="9.01108pt" height="4.70554pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. </td> <td align="left" style="white-space:nowrap; text-align:left;" id="TBL-399-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">Rectangles</span><span +class="cmtt-8"> \begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{1ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfsetbaseline{0pt}</span> +<br><span +class="cmtt-8">\end{pgfpicture}</span><span +class="cmtt-8"> and</span><span +class="cmtt-8"> \begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpoint{0ex}{1ex}}{\pgfpoint{2ex}{1ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfsetbaseline{0pt}</span> +<br><span +class="cmtt-8">\end{pgfpicture}.</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 331--><p class="noindent"><span +class="cmbx-10">Including text and images in a picture. </span>You cannot directly include text and images in a + picture. Thus, you should <span +class="cmti-10">not </span>simply write some text in a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> or use a command like + <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\includegraphics</span></span></span> or even <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfimage</span></span></span>. In all these cases, you need to place the text inside a + <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgftext</span></span></span> command. This will “escape back” to normal <span class="TEX">T<span +class="E">E</span>X</span> mode, see Section <a +href="#x20-20300019.3.3">19.3.3<!--tex4ht:ref: section-text-command --></a> for details. + </dd></dl> +<!--l. 340--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox178"><span +class="cmtt-10">\pgfpicture</span></span> </dt><dd +class="description"> + + + </dd><dt class="description"> +<span +class="colorbox" id="colorbox179"><span +class="cmtt-10"> </span><span +class="cmtt-10"> </span><span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox180"><span +class="cmtt-10">\endpgfpicture</span></span> </dt><dd +class="description"> +<a + id="dx20-201003"></a> +<a + id="dx20-201004"></a> + <!--l. 341--><p class="noindent">The plain <span class="TEX">T<span +class="E">E</span>X</span> version of the environment. Note that in this version, also, a <span class="TEX">T<span +class="E">E</span>X</span> group is created + around the environment. </dd></dl> +<!--l. 346--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox181"><span +class="cmtt-10">\pgfsetbaseline</span><span +class="cmtt-10">{</span><span +class="cmsy-10"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">></span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> +<a + id="dx20-201005"></a> + <!--l. 347--><p class="noindent">This command specifies a <span +class="cmmi-10">y</span>-coordinate of the picture that should be used as the baseline of the + whole picture. When a <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> picture has been typeset completely, <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> must decide at which height the + baseline of the picture should lie. Normally, the baseline is set to the <span +class="cmmi-10">y</span>-coordinate of the bottom of the + picture, but it is often desirable to use another height. + <!--l. 354--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-400-" ><colgroup id="TBL-400-1g"><col +id="TBL-400-1"><col +id="TBL-400-2"></colgroup><tr + valign="baseline" id="TBL-400-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-400-1-1" +class="td11"> Text <object data="pgfmanual-476.svg" width="9.01108pt" height="9.01108pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>, <object data="pgfmanual-477.svg" width="9.01108pt" height="9.01108pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>, <object data="pgfmanual-478.svg" width="9.01108pt" height="9.01108pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>, <object data="pgfmanual-479.svg" width="9.01108pt" height="9.01108pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. </td> <td align="left" style="white-space:nowrap; text-align:left;" id="TBL-400-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">Text</span><span +class="cmtt-8"> \tikz{\pgfpathcircle{\pgfpointorigin}{1ex}\pgfusepath{stroke}},</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \tikz{\pgfsetbaseline{0pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointorigin}{1ex}\pgfusepath{stroke}},</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \tikz{\pgfsetbaseline{.5ex}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointorigin}{1ex}\pgfusepath{stroke}},</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \tikz{\pgfsetbaseline{-1ex}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathcircle{\pgfpointorigin}{1ex}\pgfusepath{stroke}}.</span></div> </td></tr></table> </td> +</tr></table></div> + </dd></dl> +<!--l. 365--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.3.2 </span> <a + id="x20-20200019.3.2"></a>Graphic Scope Environments</h5> +<!--l. 367--><p class="noindent">Inside a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environment you can substructure your picture using the following environment: +<!--l. 370--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox182"><span +class="cmtt-10">\begin{</span><span +class="cmtt-10">pgfscope</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox183"><span +class="cmtt-10"> </span><span +class="cmtt-10"> </span><span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox184"><span +class="cmtt-10">\end{</span><span +class="cmtt-10">pgfscope</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> +<a + id="dx20-202001"></a> +<a + id="dx20-202002"></a> + <!--l. 371--><p class="noindent">All changes to the graphic state done inside this environment are local to the environment. The graphic state + includes the following: + <ul class="itemize1"> + <li class="itemize">The line width. + </li> + <li class="itemize">The stroke and fill colors. + </li> + <li class="itemize">The dash pattern. + </li> + <li class="itemize">The line join and cap. + </li> + <li class="itemize">The miter limit. + + + </li> + <li class="itemize">The canvas transformation matrix. + </li> + <li class="itemize">The clipping path.</li></ul> + <!--l. 389--><p class="noindent">Other parameters may also influence how graphics are rendered, but they are <span +class="cmti-10">not </span>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 <span class="TEX">T<span +class="E">E</span>X</span> group, not to the current <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. However, since <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> + starts and ends a <span class="TEX">T<span +class="E">E</span>X</span> group automatically, a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> can be used to limit the effect of, say, commands + that set the arrow tip kind. + <!--l. 397--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-401-" ><colgroup id="TBL-401-1g"><col +id="TBL-401-1"><col +id="TBL-401-2"></colgroup><tr + valign="baseline" id="TBL-401-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-401-1-1" +class="td11"> <object data="pgfmanual-480.svg" width="35.64433pt" height="10.61108pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-401-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \begin{pgfscope}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfsetlinewidth{2pt}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpointorigin}{\pgfpoint{2ex}{2ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> }</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpoint{3ex}{0ex}}{\pgfpoint{2ex}{2ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \end{pgfscope}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathrectangle{\pgfpoint{6ex}{0ex}}{\pgfpoint{2ex}{2ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8">\end{pgfpicture}</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 413--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-402-" ><colgroup id="TBL-402-1g"><col +id="TBL-402-1"><col +id="TBL-402-2"></colgroup><tr + valign="baseline" id="TBL-402-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-402-1-1" +class="td11"> <object data="pgfmanual-481.svg" width="34.84433pt" height="9.01108pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-402-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \begin{pgfscope}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> {</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfsetarrows{-to}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpoint{2ex}{2ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> }</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpoint{3ex}{0ex}}\pgfpathlineto{\pgfpoint{5ex}{2ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \end{pgfscope}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpoint{6ex}{0ex}}\pgfpathlineto{\pgfpoint{8ex}{2ex}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8">\end{pgfpicture}</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 429--><p class="noindent">At the start of the scope, the current path must be empty, that is, you cannot open a scope while constructing + a path. + <!--l. 432--><p class="noindent">It is usually a good idea <span +class="cmti-10">not </span>to introduce <span class="TEX">T<span +class="E">E</span>X</span> groups inside a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> environment. </dd></dl> +<!--l. 436--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox185"><span +class="cmtt-10">\pgfscope</span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox186"><span +class="cmtt-10"> </span><span +class="cmtt-10"> </span><span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox187"><span +class="cmtt-10">\endpgfscope</span></span> </dt><dd +class="description"> +<a + id="dx20-202003"></a> +<a + id="dx20-202004"></a> + <!--l. 437--><p class="noindent">Plain <span class="TEX">T<span +class="E">E</span>X</span> version of the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span> environment. </dd></dl> +<!--l. 441--><p class="indent"> The following scopes also encapsulate certain properties of the graphic state. However, they are typically not +used directly by the user. +<!--l. 445--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox188"><span +class="cmtt-10">\begin{</span><span +class="cmtt-10">pgfinterruptpath</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> + + + </dd><dt class="description"> +<span +class="colorbox" id="colorbox189"><span +class="cmtt-10"> </span><span +class="cmtt-10"> </span><span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox190"><span +class="cmtt-10">\end{</span><span +class="cmtt-10">pgfinterruptpath</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> +<a + id="dx20-202005"></a> +<a + id="dx20-202006"></a> + <!--l. 446--><p class="noindent">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. + <!--l. 452--><p class="noindent">An example application of this environment is the arrow tip caching. Suppose you ask <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> to use a + specific arrow tip kind. When the arrow tip needs to be rendered for the first time, <span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span> 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 <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfinterruptpath}</span></span></span> environment is used to ensure that this + does not interfere with the path to which the arrow tips should be attached. + <!--l. 461--><p class="noindent">This command does <span +class="cmti-10">not </span>install a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfscope}</span></span></span>. In particular, it does not call any <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfsys@</span></span></span> commands + at all, which would, indeed, be dangerous in the middle of a path construction. </dd></dl> +<!--l. 466--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox191"><span +class="cmtt-10">\begin{</span><span +class="cmtt-10">pgfinterruptpicture</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox192"><span +class="cmtt-10"> </span><span +class="cmtt-10"> </span><span +class="cmsy-10"><</span><span +class="cmti-10">environment contents</span><span +class="cmsy-10">></span></span> </dt><dd +class="description"> + </dd><dt class="description"> +<span +class="colorbox" id="colorbox193"><span +class="cmtt-10">\end{</span><span +class="cmtt-10">pgfinterruptpicture</span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> +<a + id="dx20-202007"></a> +<a + id="dx20-202008"></a> + <!--l. 467--><p class="noindent">This environment can be used to temporarily interrupt a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span>. However, the environment is + intended only to be used at the beginning and end of a box that is (later) inserted into a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> + using <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgfqbox</span></span></span>. You cannot use this environment directly inside a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span>. + <!--l. 473--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-403-" ><colgroup id="TBL-403-1g"><col +id="TBL-403-1"><col +id="TBL-403-2"></colgroup><tr + valign="baseline" id="TBL-403-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-403-1-1" +class="td11"> <object data="pgfmanual-483.svg" width="0.4pt" height="28.85274pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-403-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\begin{pgfpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpoint{0cm}{0cm}}</span><span +class="cmtt-8"> </span><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> In</span><span +class="cmsltt-10x-x-80"> the</span><span +class="cmsltt-10x-x-80"> middle</span><span +class="cmsltt-10x-x-80"> of</span><span +class="cmsltt-10x-x-80"> path,</span><span +class="cmsltt-10x-x-80"> now</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \newbox\mybox</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \setbox\mybox=\hbox{</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \begin{pgfinterruptpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> Sub-\begin{pgfpicture}</span><span +class="cmtt-8"> </span><span +class="cmsltt-10x-x-80">%</span><span +class="cmsltt-10x-x-80"> a</span><span +class="cmsltt-10x-x-80"> subpicture</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathmoveto{\pgfpoint{1cm}{0cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpoint{1cm}{1cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \end{pgfpicture}-picture.</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \end{pgfinterruptpicture}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> }</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfqbox{\mybox}</span><span +class="cmsltt-10x-x-80">%</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfpathlineto{\pgfpoint{0cm}{1cm}}</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgfusepath{stroke}</span> +<br><span +class="cmtt-8">\end{pgfpicture}\hskip3.9cm</span></div> </td></tr></table> </td> +</tr></table></div> + </dd></dl> +<!--l. 494--><p class="noindent"> + <h5 class="subsubsectionHead"><span class="titlemark">19.3.3 </span> <a + id="x20-20300019.3.3"></a>Inserting Text and Images</h5> +<!--l. 498--><p class="noindent">Often, you may wish to add normal <span class="TEX">T<span +class="E">E</span>X</span> text at a certain point inside a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span>. You cannot do so +“directly,” that is, you cannot simply write this text inside the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span> environment. Rather, you must pass +the text as an argument to the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgftext</span></span></span> command. + + +<!--l. 503--><p class="indent"> You must <span +class="cmti-10">also </span>use the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pgftext</span></span></span> command to insert an image or a shading into a <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span>. +<!--l. 506--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="colorbox" id="colorbox194"><span +class="cmtt-10">\pgftext</span><span +class="cmtt-10">[</span><span +class="cmsy-10"><</span><span +class="cmti-10">options</span><span +class="cmsy-10">></span><span +class="cmtt-10">]</span><span +class="cmtt-10">{</span><span +class="cmsy-10"><</span><span +class="cmti-10">text</span><span +class="cmsy-10">></span><span +class="cmtt-10">}</span></span> </dt><dd +class="description"> +<a + id="dx20-203001"></a> + <!--l. 507--><p class="noindent">This command will typeset <span +class="cmsy-10"><</span><span +class="cmti-10">text</span><span +class="cmsy-10">> </span>in normal <span class="TEX">T<span +class="E">E</span>X</span> mode and insert the resulting box into the + <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">{pgfpicture}</span></span></span>. The bounding box of the graphic will be updated so that all of the text box is inside. + Be default, the text box is centered at the origin, but this can be changed either by giving appropriate + <span +class="cmsy-10"><</span><span +class="cmti-10">options</span><span +class="cmsy-10">> </span>or by applying an appropriate coordinate transformation beforehand. + <!--l. 514--><p class="noindent">The <span +class="cmsy-10"><</span><span +class="cmti-10">text</span><span +class="cmsy-10">> </span>may contain verbatim text. (In other words, the <span +class="cmsy-10"><</span><span +class="cmti-10">text</span><span +class="cmsy-10">> </span>“argument” is not a normal argument, + but is put in a box and some <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\aftergroup</span></span></span> hackery is used to find the end of the box.) + <!--l. 519--><p class="noindent"><span +class="cmcsc-10"><small +class="small-caps">P</small><small +class="small-caps">G</small><small +class="small-caps">F</small></span>’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 <span +class="cmsy-10"><</span><span +class="cmti-10">text</span><span +class="cmsy-10">> </span>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. + <!--l. 527--><p class="noindent">The following <span +class="cmsy-10"><</span><span +class="cmti-10">options</span><span +class="cmsy-10">> </span>may be given as conveniences: + <ul class="itemize1"> + <li class="itemize"><span +class="cmtt-10">left</span><a + id="dx20-203002"></a><a + id="dx20-203003"></a> causes the text box to be placed such that its left border is on the origin. + <!--l. 531--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-404-" ><colgroup id="TBL-404-1g"><col +id="TBL-404-1"><col +id="TBL-404-2"></colgroup><tr + valign="baseline" id="TBL-404-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-404-1-1" +class="td11"> <object data="pgfmanual-484.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-404-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[left]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li> + <li class="itemize"><span +class="cmtt-10">right</span><a + id="dx20-203004"></a><a + id="dx20-203005"></a> causes the text box to be placed such that its right border is on the origin. + <!--l. 537--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-405-" ><colgroup id="TBL-405-1g"><col +id="TBL-405-1"><col +id="TBL-405-2"></colgroup><tr + valign="baseline" id="TBL-405-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-405-1-1" +class="td11"> <object data="pgfmanual-485.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-405-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[right]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li> + <li class="itemize"><span +class="cmtt-10">top</span><a + id="dx20-203006"></a><a + id="dx20-203007"></a> causes the text box to be placed such that its top is on the origin. This option can be used together + with the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">left</span></span></span> or <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">right</span></span></span> option. + <!--l. 545--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-406-" ><colgroup id="TBL-406-1g"><col +id="TBL-406-1"><col +id="TBL-406-2"></colgroup><tr + valign="baseline" id="TBL-406-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-406-1-1" +class="td11"> <object data="pgfmanual-486.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-406-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[top]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 549--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-407-" ><colgroup id="TBL-407-1g"><col +id="TBL-407-1"><col +id="TBL-407-2"></colgroup><tr + valign="baseline" id="TBL-407-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-407-1-1" +class="td11"> <object data="pgfmanual-487.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-407-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[top,right]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li> + <li class="itemize"><span +class="cmtt-10">bottom</span><a + id="dx20-203008"></a><a + id="dx20-203009"></a> causes the text box to be placed such that its bottom is on the origin. + <!--l. 556--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-408-" ><colgroup id="TBL-408-1g"><col +id="TBL-408-1"><col +id="TBL-408-2"></colgroup><tr + valign="baseline" id="TBL-408-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-408-1-1" +class="td11"> <object data="pgfmanual-488.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-408-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[bottom]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 560--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-409-" ><colgroup id="TBL-409-1g"><col +id="TBL-409-1"><col +id="TBL-409-2"></colgroup><tr + valign="baseline" id="TBL-409-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-409-1-1" +class="td11"> <object data="pgfmanual-489.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-409-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[bottom,right]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + + + </li> + <li class="itemize"><span +class="cmtt-10">base</span><a + id="dx20-203010"></a><a + id="dx20-203011"></a> causes the text box to be placed such that its baseline is on the origin. + <!--l. 567--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-410-" ><colgroup id="TBL-410-1g"><col +id="TBL-410-1"><col +id="TBL-410-2"></colgroup><tr + valign="baseline" id="TBL-410-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-410-1-1" +class="td11"> <object data="pgfmanual-490.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-410-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[base]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + <!--l. 571--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-411-" ><colgroup id="TBL-411-1g"><col +id="TBL-411-1"><col +id="TBL-411-2"></colgroup><tr + valign="baseline" id="TBL-411-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-411-1-1" +class="td11"> <object data="pgfmanual-491.svg" width="57.10547pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-411-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[base,right]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li> + <li class="itemize"><span +class="cmtt-10">at</span><a + id="dx20-203012"></a><a + id="dx20-203013"></a><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">=</span></span></span><span +class="cmsy-10"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">> </span>Translates the origin (that is, the point where the text is shown) to <span +class="cmsy-10"><</span><span +class="cmti-10">point</span><span +class="cmsy-10">></span>. + <!--l. 578--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-412-" ><colgroup id="TBL-412-1g"><col +id="TBL-412-1"><col +id="TBL-412-2"></colgroup><tr + valign="baseline" id="TBL-412-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-412-1-1" +class="td11"> <object data="pgfmanual-492.svg" width="69.50551pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-412-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[base,at={\pgfpoint{1cm}{0cm}}]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li> + <li class="itemize"><span +class="cmtt-10">x</span><a + id="dx20-203014"></a><a + id="dx20-203015"></a><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">=</span></span></span><span +class="cmsy-10"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">> </span>Translates the origin by <span +class="cmsy-10"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">> </span>along the <span +class="cmmi-10">x</span>-axis. + <!--l. 584--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-413-" ><colgroup id="TBL-413-1g"><col +id="TBL-413-1"><col +id="TBL-413-2"></colgroup><tr + valign="baseline" id="TBL-413-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-413-1-1" +class="td11"> <object data="pgfmanual-493.svg" width="69.50551pt" height="28.65271pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-413-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[base,x=1cm,y=-0.5cm]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li> + <li class="itemize"><span +class="cmtt-10">y</span><a + id="dx20-203016"></a><a + id="dx20-203017"></a><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">=</span></span></span><span +class="cmsy-10"><</span><span +class="cmti-10">dimension</span><span +class="cmsy-10">> </span>works like the <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">x</span></span></span> option. + </li> + <li class="itemize"><span +class="cmtt-10">rotate</span><a + id="dx20-203018"></a><a + id="dx20-203019"></a><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">=</span></span></span><span +class="cmsy-10"><</span><span +class="cmti-10">degree</span><span +class="cmsy-10">> </span>Rotates the coordinate system by <span +class="cmsy-10"><</span><span +class="cmti-10">degree</span><span +class="cmsy-10">></span>. This will also rotate the text + box. + <!--l. 593--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" +cellspacing="0" cellpadding="0" +frame="void" id="TBL-414-" ><colgroup id="TBL-414-1g"><col +id="TBL-414-1"><col +id="TBL-414-2"></colgroup><tr + valign="baseline" id="TBL-414-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-414-1-1" +class="td11"> <object data="pgfmanual-494.svg" width="66.85864pt" height="33.1188pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-414-1-2" +class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> +<br><span +class="cmtt-8">\tikz{\draw[help</span><span +class="cmtt-8"> lines]</span><span +class="cmtt-8"> (-1,-.5)</span><span +class="cmtt-8"> grid</span><span +class="cmtt-8"> (1,.5);</span> +<br><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> </span><span +class="cmtt-8"> \pgftext[base,x=1cm,y=-0.5cm,rotate=30]</span><span +class="cmtt-8"> {lovely}}</span></div> </td></tr></table> </td> +</tr></table></div> + </li></ul> + </dd></dl> + + + + + + + <div class="crosslinks"><p class="noindent">[<a +href="pgfmanualse20.html" >next</a>] [<a +href="pgfmanualse18.html" >prev</a>] [<a +href="pgfmanualse18.html#tailpgfmanualse18.html" >prev-tail</a>] [<a +href="pgfmanualse19.html" >front</a>] [<a +href="pgfmanual.html#pgfmanualse19.html" >up</a>] </p></div> +<!--l. 8--><p class="indent"> <a + id="tailpgfmanualse19.html"></a> +</body></html> |