diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse3.html')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse3.html | 4152 |
1 files changed, 0 insertions, 4152 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse3.html b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse3.html deleted file mode 100644 index 4e18ae1f59a..00000000000 --- a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse3.html +++ /dev/null @@ -1,4152 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" - "http://www.w3.org/TR/html4/loose.dtd"> -<html > -<head><title>3 Tutorial: A Picture for Karl’s Students</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-11-15 18:41:00"> -<link rel="stylesheet" type="text/css" href="pgfmanual.css"> -</head><body -> - <div class="crosslinks"><p class="noindent">[<a -href="pgfmanualse4.html" >next</a>] [<a -href="pgfmanualse2.html" >prev</a>] [<a -href="pgfmanualse2.html#tailpgfmanualse2.html" >prev-tail</a>] [<a -href="#tailpgfmanualse3.html">tail</a>] [<a -href="pgfmanual.html#pgfmanualse3.html" >up</a>] </p></div> - <h3 class="sectionHead"><span class="titlemark">3 </span> <a - id="x4-220003"></a>Tutorial: A Picture for Karl’s Students</h3> -<!--l. 3--><p class="noindent">This tutorial is intended for new users 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 Ti<span -class="cmti-10">k</span>Z. It does not give an exhaustive account of all the features of -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></span>, just of those that you are likely to use right away. -<!--l. 7--><p class="indent"> Karl is a math and chemistry high-school teacher. He used to create the graphics in his worksheets and exams -using <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span>’s <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{picture}</span></span></span> environment. While the results were acceptable, creating the graphics often turned out -to be a lengthy process. Also, there tended to be problems with lines having slightly wrong angles and circles also -seemed to be hard to get right. Naturally, his students could not care less whether the lines had the exact right -angles and they find Karl’s exams too difficult no matter how nicely they were drawn. But Karl was never entirely -satisfied with the result. -<!--l. 17--><p class="indent"> Karl’s son, who was even less satisfied with the results (he did not have to take the exams, after all), told Karl -that he might wish to try out a new package for creating graphics. A bit confusingly, this package seems to have two -names: First, Karl had to download and install a package called <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span>. Then it turns out that inside this package -there is another package called Ti<span -class="cmti-10">k</span>Z, which is supposed to stand for “Ti<span -class="cmti-10">k</span>Z ist <span -class="cmti-10">kein </span>Zeichenprogramm.” Karl -finds this all a bit strange and Ti<span -class="cmti-10">k</span>Z seems to indicate that the package does not do what he needs. -However, having used <span -class="cmcsc-10"><small -class="small-caps">G</small><small -class="small-caps">N</small><small -class="small-caps">U</small> </span>software for quite some time and “<span -class="cmcsc-10"><small -class="small-caps">G</small><small -class="small-caps">N</small><small -class="small-caps">U</small> </span>not being Unix,” there seems to -be hope yet. His son assures him that Ti<span -class="cmti-10">k</span>Z’s name is intended to warn people that Ti<span -class="cmti-10">k</span>Z is not a -program that you can use to draw graphics with your mouse or tablet. Rather, it is more like a “graphics -language.” -<!--l. 33--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a - id="x4-230003.1"></a>Problem Statement</h4> -<!--l. 35--><p class="noindent">Karl wants to put a graphic on the next worksheet for his students. He is currently teaching his students about sine -and cosine. What he would like to have is something that looks like this (ideally): -<!--l. 40--><p class="noindent"><object data="pgfmanual-5.svg" width="621.90195 " height="360.18604 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> - - -<!--l. 115--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a - id="x4-240003.2"></a>Setting up the Environment</h4> -<!--l. 117--><p class="noindent">In Ti<span -class="cmti-10">k</span>Z, to draw a picture, at the start of the picture you need to tell <span class="TEX">T<span -class="E">E</span>X</span> or <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span> that you want to start a -picture. In <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span> this is done using the environment <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{tikzpicture}</span></span></span>, in plain <span class="TEX">T<span -class="E">E</span>X</span> you just use <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikzpicture</span></span></span> -to start the picture and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\endtikzpicture</span></span></span> to end it. -<!--l. 123--><p class="noindent"> - <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a - id="x4-250003.2.1"></a>Setting up the Environment in <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span></h5> -<!--l. 125--><p class="noindent">Karl, being a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span> user, thus sets up his file as follows: -<!--l. 127--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-4-" ><colgroup id="TBL-4-1g"><col -id="TBL-4-1"></colgroup><tr - valign="baseline" id="TBL-4-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-4-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\documentclass{article}</span><span -class="cmtt-8"> </span><span -class="cmsltt-10x-x-80">%</span><span -class="cmsltt-10x-x-80"> say</span> -<br><span -class="cmtt-8">\usepackage{tikz}</span> -<br><span -class="cmtt-8">\begin{document}</span> -<br><span -class="cmtt-8">We</span><span -class="cmtt-8"> are</span><span -class="cmtt-8"> working</span><span -class="cmtt-8"> on</span> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8">\end{tikzpicture}.</span> -<br><span -class="cmtt-8">\end{document}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 139--><p class="indent"> When executed, that is, run via <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pdflatex</span></span></span> or via <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">latex</span></span></span> followed by <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">dvips</span></span></span>, the resulting will contain something -that looks like this: -<!--l. 142--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-5-" ><colgroup id="TBL-5-1g"><col -id="TBL-5-1"><col -id="TBL-5-2"></colgroup><tr - valign="baseline" id="TBL-5-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-5-1-1" -class="td11"> We are working on<object data="pgfmanual-6.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-5-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">We</span><span -class="cmtt-8"> are</span><span -class="cmtt-8"> working</span><span -class="cmtt-8"> on</span> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8">\end{tikzpicture}.</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 150--><p class="indent"> Admittedly, not quite the whole picture, yet, but we do have the axes established. Well, not quite, but we have -the lines that make up the axes drawn. Karl suddenly has a sinking feeling that the picture is still some way -off. -<!--l. 155--><p class="indent"> Let’s have a more detailed look at the code. First, the package <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">tikz</span></span></span> is loaded. This package is a so-called -“frontend” to the basic <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span> system. The basic layer, which is also described in this manual, is somewhat -more, well, basic and thus harder to use. The frontend makes things easier by providing a simpler -syntax. -<!--l. 161--><p class="indent"> Inside the environment there are two <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> commands. They mean: “The path, which is specified following the -command up to the semicolon, should be drawn.” The first path is specified as <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(-1.5,0)</span><span -class="cmtt-10"> --</span><span -class="cmtt-10"> (0,1.5)</span></span></span>, -which means “a straight line from the point at position (<span -class="cmsy-10">-</span>1<span -class="cmmi-10">.</span>5<span -class="cmmi-10">,</span>0) to the point at position (0<span -class="cmmi-10">,</span>1<span -class="cmmi-10">.</span>5).” -Here, the positions are specified within a special coordinate system in which, initially, one unit is -1cm. -<!--l. 169--><p class="indent"> Karl is quite pleased to note that the environment automatically reserves enough space to encompass the -picture. -<!--l. 173--><p class="noindent"> - <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a - id="x4-260003.2.2"></a>Setting up the Environment in Plain <span class="TEX">T<span -class="E">E</span>X</span></h5> -<!--l. 175--><p class="noindent">Karl’s wife Gerda, who also happens to be a math teacher, is not a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span> user, but uses plain <span class="TEX">T<span -class="E">E</span>X</span> since she -prefers to do things “the old way.” She can also use Ti<span -class="cmti-10">k</span>Z. Instead of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\usepackage{tikz}</span></span></span> she has to -write <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\input</span><span -class="cmtt-10"> tikz.tex</span></span></span> and instead of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\begin{tikzpicture}</span></span></span> she writes <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikzpicture</span></span></span> and instead of -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\end{tikzpicture}</span></span></span> she writes <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\endtikzpicture</span></span></span>. -<!--l. 182--><p class="indent"> Thus, she would use: - - -<!--l. 183--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-6-" ><colgroup id="TBL-6-1g"><col -id="TBL-6-1"></colgroup><tr - valign="baseline" id="TBL-6-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-6-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmsltt-10x-x-80">%%</span><span -class="cmsltt-10x-x-80"> Plain</span><span -class="cmsltt-10x-x-80"> TeX</span><span -class="cmsltt-10x-x-80"> file</span> -<br><span -class="cmtt-8">\input</span><span -class="cmtt-8"> tikz.tex</span> -<br><span -class="cmtt-8">\baselineskip=12pt</span> -<br><span -class="cmtt-8">\hsize=6.3truein</span> -<br><span -class="cmtt-8">\vsize=8.7truein</span> -<br><span -class="cmtt-8">We</span><span -class="cmtt-8"> are</span><span -class="cmtt-8"> working</span><span -class="cmtt-8"> on</span> -<br><span -class="cmtt-8">\tikzpicture</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8">\endtikzpicture.</span> -<br><span -class="cmtt-8">\bye</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 197--><p class="indent"> Gerda can typeset this file using either <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pdftex</span></span></span> or <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">tex</span></span></span> together with <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">dvips</span></span></span>. Ti<span -class="cmti-10">k</span>Z will automatically discern -which driver she is using. If she wishes to use <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">dvipdfm</span></span></span> together with <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">tex</span></span></span>, she either needs to modify the file -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pgf.cfg</span></span></span> or can write <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\def\pgfsysdriver{pgfsys-dvipdfm.def}</span></span></span> somewhere <span -class="cmti-10">before </span>she inputs <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">tikz.tex</span></span></span> or -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pgf.tex</span></span></span>. -<!--l. 207--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a - id="x4-270003.3"></a>Straight Path Construction</h4> -<!--l. 209--><p class="noindent">The basic building block of all pictures in Ti<span -class="cmti-10">k</span>Z is the path. A <span -class="cmti-10">path </span>is a series of straight lines and curves that are -connected (that is not the whole picture, but let us ignore the complications for the moment). You -start a path by specifying the coordinates of the start position as a point in round brackets, as in -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(0,0)</span></span></span>. This is followed by a series of “path extension operations.” The simplest is <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">--</span></span></span>, which we used -already. It must be followed by another coordinate and it extends the path in a straight line to this new -position. For example, if we were to turn the two paths of the axes into one path, the following would -result: -<!--l. 220--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-7-" ><colgroup id="TBL-7-1g"><col -id="TBL-7-1"><col -id="TBL-7-2"></colgroup><tr - valign="baseline" id="TBL-7-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-7-1-1" -class="td11"> <object data="pgfmanual-7.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-7-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 224--><p class="indent"> Karl is a bit confused by the fact that there is no <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{tikzpicture}</span></span></span> environment, here. Instead, the little -command <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikz</span></span></span> is used. This command either takes one argument (starting with an opening brace as in -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikz{\draw</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> --</span><span -class="cmtt-10"> (1.5,0)}</span></span></span>, which yields <object data="pgfmanual-8.svg" width="58.43857 " height="2.33333 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object>) or collects everything up to the next semicolon and -puts it inside a <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{tikzpicture}</span></span></span> environment. As a rule of thumb, all Ti<span -class="cmti-10">k</span>Z graphic drawing commands must occur -as an argument of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikz</span></span></span> or inside a <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{tikzpicture}</span></span></span> environment. Fortunately, the command <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> will only be -defined inside this environment, so there is little chance that you will accidentally do something wrong -here. -<!--l. 237--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a - id="x4-280003.4"></a>Curved Path Construction</h4> -<!--l. 239--><p class="noindent">The next thing Karl wants to do is to draw the circle. For this, straight lines obviously will not do. Instead, we need -some way to draw curves. For this, Ti<span -class="cmti-10">k</span>Z provides a special syntax. One or two “control points” are needed. The -math behind them is not quite trivial, but here is the basic idea: Suppose you are at point <span -class="cmmi-10">x </span>and the first control -point is <span -class="cmmi-10">y</span>. Then the curve will start “going in the direction of <span -class="cmmi-10">y </span>at <span -class="cmmi-10">x</span>,” that is, the tangent of the -curve at <span -class="cmmi-10">x </span>will point toward <span -class="cmmi-10">y</span>. Next, suppose the curve should end at <span -class="cmmi-10">z </span>and the second support point -is <span -class="cmmi-10">w</span>. Then the curve will, indeed, end at <span -class="cmmi-10">z </span>and the tangent of the curve at point <span -class="cmmi-10">z </span>will go through -<span -class="cmmi-10">w</span>. -<!--l. 250--><p class="indent"> Here is an example (the control points have been added for clarity): - - -<!--l. 251--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-8-" ><colgroup id="TBL-8-1g"><col -id="TBL-8-1"><col -id="TBL-8-2"></colgroup><tr - valign="baseline" id="TBL-8-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-8-1-1" -class="td11"> <object data="pgfmanual-9.svg" width="82.74033 " height="44.80348 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-8-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw</span><span -class="cmtt-8"> [gray]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (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"> </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"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (1,1)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (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"> </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"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (2,1)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (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"> </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"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (2,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (2pt);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> controls</span><span -class="cmtt-8"> (1,1)</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> (2,1)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> (2,0);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 261--><p class="indent"> The general syntax for extending a path in a “curved” way is <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">..</span><span -class="cmtt-10"> controls</span></span></span> <span -class="cmsy-10"><</span><span -class="cmti-10">first control point</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">and</span></span></span> <span -class="cmsy-10"><</span><span -class="cmti-10">second</span> -<span -class="cmti-10">control point</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">..</span></span></span> <span -class="cmsy-10"><</span><span -class="cmti-10">end point</span><span -class="cmsy-10">></span>. You can leave out the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">and</span></span></span> <span -class="cmsy-10"><</span><span -class="cmti-10">second control point</span><span -class="cmsy-10">></span>, which causes the first one to be used -twice. -<!--l. 267--><p class="indent"> So, Karl can now add the first half circle to the picture: -<!--l. 269--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-9-" ><colgroup id="TBL-9-1g"><col -id="TBL-9-1"><col -id="TBL-9-2"></colgroup><tr - valign="baseline" id="TBL-9-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-9-1-1" -class="td11"> <object data="pgfmanual-10.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-9-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1,0)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> controls</span><span -class="cmtt-8"> (-1,0.555)</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> (-0.555,1)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> (0,1)</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"> </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"> controls</span><span -class="cmtt-8"> (0.555,1)</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> (1,0.555)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> (1,0);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 278--><p class="indent"> Karl is happy with the result, but finds specifying circles in this way to be extremely awkward. Fortunately, -there is a much simpler way. -<!--l. 282--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a - id="x4-290003.5"></a>Circle Path Construction</h4> -<!--l. 284--><p class="noindent">In order to draw a circle, the path construction operation <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">circle</span></span></span> can be used. This operation is followed by a radius -in round brackets as in the following example: (Note that the previous position is used as the <span -class="cmti-10">center </span>of the -circle.) -<!--l. 289--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-10-" ><colgroup id="TBL-10-1g"><col -id="TBL-10-1"><col -id="TBL-10-2"></colgroup><tr - valign="baseline" id="TBL-10-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-10-1-1" -class="td11"> <object data="pgfmanual-11.svg" width="28.19987 " height="28.19987 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-10-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (10pt);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 293--><p class="indent"> You can also append an ellipse to the path using the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">ellipse</span></span></span> operation. Instead of a single radius you can -specify two of them, one for the <span -class="cmmi-10">x</span>-direction and one for the <span -class="cmmi-10">y</span>-direction, separated by <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">and</span></span></span>: -<!--l. 298--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-11-" ><colgroup id="TBL-11-1g"><col -id="TBL-11-1"><col -id="TBL-11-2"></colgroup><tr - valign="baseline" id="TBL-11-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-11-1-1" -class="td11"> <object data="pgfmanual-12.svg" width="54.86644 " height="28.19987 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-11-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> ellipse</span><span -class="cmtt-8"> (20pt</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> 10pt);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 302--><p class="indent"> To draw an ellipse whose axes are not horizontal and vertical, but point in an arbitrary direction (a “turned -ellipse” like <object data="pgfmanual-13.svg" width="17.60966 " height="13.37836 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object>) you can use transformations, which are explained later. The code for the little ellipse is -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikz</span><span -class="cmtt-10"> \draw[rotate=30]</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> ellipse</span><span -class="cmtt-10"> (6pt</span><span -class="cmtt-10"> and</span><span -class="cmtt-10"> 3pt);</span></span></span>, by the way. -<!--l. 309--><p class="indent"> So, returning to Karl’s problem, he can write <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> circle</span><span -class="cmtt-10"> (1cm);</span></span></span> to draw the circle: -<!--l. 312--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-12-" ><colgroup id="TBL-12-1g"><col -id="TBL-12-1"><col -id="TBL-12-2"></colgroup><tr - valign="baseline" id="TBL-12-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-12-1-1" -class="td11"> <object data="pgfmanual-14.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-12-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table> - - -</div> -<!--l. 321--><p class="indent"> At this point, Karl is a bit alarmed that the circle is so small when he wants the final picture to -be much bigger. He is pleased to learn that Ti<span -class="cmti-10">k</span>Z has powerful transformation options and scaling -everything by a factor of three is very easy. But let us leave the size as it is for the moment to save some -space. -<!--l. 330--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.6 </span> <a - id="x4-300003.6"></a>Rectangle Path Construction</h4> -<!--l. 332--><p class="noindent">The next things we would like to have is the grid in the background. There are several ways to produce it. For -example, one might draw lots of rectangles. Since rectangles are so common, there is a special syntax for them: To -add a rectangle to the current path, use the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">rectangle</span></span></span> path construction operation. This operation should -be followed by another coordinate and will append a rectangle to the path such that the previous -coordinate and the next coordinates are corners of the rectangle. So, let us add two rectangles to the -picture: -<!--l. 341--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-13-" ><colgroup id="TBL-13-1g"><col -id="TBL-13-1"><col -id="TBL-13-2"></colgroup><tr - valign="baseline" id="TBL-13-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-1-1" -class="td11"> <object data="pgfmanual-15.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-13-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (0.5,0.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-0.5,-0.5)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (-1,-1);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 351--><p class="indent"> While this may be nice in other situations, this is not really leading anywhere with Karl’s problem: First, we -would need an awful lot of these rectangles and then there is the border that is not “closed.” -<!--l. 355--><p class="indent"> So, Karl is about to resort to simply drawing four vertical and four horizontal lines using the nice <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> -command, when he learns that there is a <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">grid</span></span></span> path construction operation. -<!--l. 361--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.7 </span> <a - id="x4-310003.7"></a>Grid Path Construction</h4> -<!--l. 363--><p class="noindent">The <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">grid</span></span></span> path operation adds a grid to the current path. It will add lines making up a grid that fills the rectangle -whose one corner is the current point and whose other corner is the point following the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">grid</span></span></span> operation. For -example, the code <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikz</span><span -class="cmtt-10"> \draw[step=2pt]</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> grid</span><span -class="cmtt-10"> (10pt,10pt);</span></span></span> produces <object data="pgfmanual-16.svg" width="14.8666 " height="14.8666 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. Note how the optional -argument for <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> can be used to specify a grid width (there are also <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xstep</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">ystep</span></span></span> to define the steppings -independently). As Karl will learn soon, there are <span -class="cmti-10">lots </span>of things that can be influenced using such -options. -<!--l. 374--><p class="indent"> For Karl, the following code could be used: -<!--l. 376--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-14-" ><colgroup id="TBL-14-1g"><col -id="TBL-14-1"><col -id="TBL-14-2"></colgroup><tr - valign="baseline" id="TBL-14-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-1-1" -class="td11"> <object data="pgfmanual-17.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-14-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> - - -<!--l. 385--><p class="indent"> Having another look at the desired picture, Karl notices that it would be nice for the grid to be more subdued. -(His son told him that grids tend to be distracting if they are not subdued.) To subdue the grid, Karl adds two more -options to the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> command that draws the grid. First, he uses the color <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">gray</span></span></span> for the grid lines. Second, he -reduces the line width to <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">very</span><span -class="cmtt-10"> thin</span></span></span>. Finally, he swaps the ordering of the commands so that the grid is drawn first -and everything else on top. -<!--l. 394--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-15-" ><colgroup id="TBL-15-1g"><col -id="TBL-15-1"><col -id="TBL-15-2"></colgroup><tr - valign="baseline" id="TBL-15-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-15-1-1" -class="td11"> <object data="pgfmanual-18.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-15-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 404--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.8 </span> <a - id="x4-320003.8"></a>Adding a Touch of Style</h4> -<!--l. 406--><p class="noindent">Instead of the options <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">gray,very</span><span -class="cmtt-10"> thin</span></span></span> Karl could also have said <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">style=help</span><span -class="cmtt-10"> lines</span></span></span>. <span -class="cmti-10">Styles </span>are predefined sets of -options that can be used to organize how a graphic is drawn. By saying <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">style=help</span><span -class="cmtt-10"> lines</span></span></span> you say -“use the style that I (or someone else) has set for drawing help lines.” If Karl decides, at some later -point, that grids should be drawn, say, using the color <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">blue!50</span></span></span> instead of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">gray</span></span></span>, he could say the -following: -<!--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-16-" ><colgroup id="TBL-16-1g"><col -id="TBL-16-1"></colgroup><tr - valign="baseline" id="TBL-16-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-16-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br><span -class="cmtt-8">\tikzstyle</span><span -class="cmtt-8"> help</span><span -class="cmtt-8"> lines=[color=blue!50,very</span><span -class="cmtt-8"> thin]</span> -</div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 416--><p class="indent"> Alternatively, he could have said the following: -<!--l. 417--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-17-" ><colgroup id="TBL-17-1g"><col -id="TBL-17-1"></colgroup><tr - valign="baseline" id="TBL-17-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-17-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br><span -class="cmtt-8">\tikzstyle</span><span -class="cmtt-8"> help</span><span -class="cmtt-8"> lines+=[color=blue!50]</span> -</div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 420--><p class="indent"> This would have added the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">color=blue!50</span></span></span> option. The <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">help</span><span -class="cmtt-10"> lines</span></span></span> style would now contain <span -class="cmti-10">two </span>color options, -but the second would override the first. -<!--l. 424--><p class="indent"> Using styles makes your graphics code more flexible. You can change the way things look easily in a consistent -manner. -<!--l. 427--><p class="indent"> To build a hierarchy of styles you can have one style use another. So in order to define a style <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">Karl's</span><span -class="cmtt-10"> grid</span></span></span> that -is based on the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">grid</span></span></span> style Karl could say -<!--l. 430--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-18-" ><colgroup id="TBL-18-1g"><col -id="TBL-18-1"></colgroup><tr - valign="baseline" id="TBL-18-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-18-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikzstyle</span><span -class="cmtt-8"> Karl's</span><span -class="cmtt-8"> grid=[style=help</span><span -class="cmtt-8"> lines,color=blue!50]</span> -<br><span -class="cmtt-8">...</span> -<br><span -class="cmtt-8">\draw[style=Karl's</span><span -class="cmtt-8"> grid]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (5,5);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 436--><p class="indent"> You can also leave out the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">style=</span></span></span>. Thus, whenever Ti<span -class="cmti-10">k</span>Z encounters an options that it does not know about, it -will check whether this option happens to be the name of a style. If so, the style is used. Thus, Karl could also have -written: -<!--l. 440--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-19-" ><colgroup id="TBL-19-1g"><col -id="TBL-19-1"></colgroup><tr - valign="baseline" id="TBL-19-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-19-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikzstyle</span><span -class="cmtt-8"> Karl's</span><span -class="cmtt-8"> grid=[help</span><span -class="cmtt-8"> lines,color=blue!50]</span> -<br><span -class="cmtt-8">...</span> -<br><span -class="cmtt-8">\draw[Karl's</span><span -class="cmtt-8"> grid]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (5,5);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 446--><p class="indent"> For some styles, like the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">very</span><span -class="cmtt-10"> thin</span></span></span> style, it is pretty clear what the style does and there is no need to say -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">style=very</span><span -class="cmtt-10"> thin</span></span></span>. For other styles, like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">help</span><span -class="cmtt-10"> lines</span></span></span>, it seems more natural to me to say <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">style=help</span><span -class="cmtt-10"> lines</span></span></span>. But, -mainly, this is a matter of taste. -<!--l. 452--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.9 </span> <a - id="x4-330003.9"></a>Drawing Options</h4> - - -<!--l. 454--><p class="noindent">Karl wonders what other options there are that influence how a path is drawn. He saw already that the -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">color=</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">color</span><span -class="cmsy-10">> </span>option can be used to set the line’s color. The option <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">draw=</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">color</span><span -class="cmsy-10">> </span>does nearly the same, only it sets -the color for the lines only and a different color can be used for filling (Karl will need this when he fills the arc for -the angle). -<!--l. 461--><p class="indent"> He saw that the style <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">very</span><span -class="cmtt-10"> thin</span></span></span> yields very thin lines. Karl is not really surprised by this and neither is he -surprised to learn that <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thin</span></span></span> yields thin lines, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thick</span></span></span> yields thick lines, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">very</span><span -class="cmtt-10"> thick</span></span></span> yields very thick lines, -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">ultra</span><span -class="cmtt-10"> thick</span></span></span> yields really, really thick lines and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">ultra</span><span -class="cmtt-10"> thin</span></span></span> yields lines that are so thin that low-resolution printers -and displays will have trouble showing them. He wonders what gives lines of “normal” thickness. It turns out that -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thin</span></span></span> is the correct choice. This seems strange to Karl, but his son explains him that <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span> has two commands -called <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\thinlines</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\thicklines</span></span></span> and that <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\thinlines</span></span></span> gives the line width of “normal” lines, -more precisely, of the thickness that, say, the stem of a letter like “T” or “i” has. Nevertheless, Karl -would like to know whether there is anything “in the middle” between <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thin</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thick</span></span></span>. There is: -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">semithick</span></span></span>. -<!--l. 476--><p class="indent"> Another useful thing one can do with lines is to dash or dot them. For this, the two styles <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">dashed</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">dotted</span></span></span> -can be used, yielding <object data="pgfmanual-19.svg" width="14.8666 " height="2.33333 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and <object data="pgfmanual-20.svg" width="14.8666 " height="2.33333 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. Both options also exist in a loose and a dense version, called <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">loosely</span><span -class="cmtt-10"> dashed</span></span></span>, -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">densely</span><span -class="cmtt-10"> dashed</span></span></span>, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">loosely</span><span -class="cmtt-10"> dotted</span></span></span>, and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">densely</span><span -class="cmtt-10"> dotted</span></span></span>. If he really, really needs to, Karl can also define much -more complex dashing patterns with the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">dash</span><span -class="cmtt-10"> pattern</span></span></span> option, but his son insists that dashing is to be used with -utmost care and mostly distracts. Karl’s son claims that complicated dashing patterns are evil. Karl’s students do -not care about dashing patterns. -<!--l. 489--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.10 </span> <a - id="x4-340003.10"></a>Arc Path Construction</h4> -<!--l. 491--><p class="noindent">Our next obstacle is to draw the arc for the angle. For this, the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">arc</span></span></span> path construction operation is useful, -which draws part of a circle or ellipse. This <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">arc</span></span></span> operation must be followed by a triple in rounded -brackets, where the components of the triple are separated by colons. The first two components are -angles, the last one is a radius. An example would be <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(10:80:10pt)</span></span></span>, which means “an arc from 10 -degrees to 80 degrees on a circle of radius 10pt.” Karl obviously needs an arc from 0<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup> to 30<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup>. The -radius should be something relatively small, perhaps around one third of the circle’s radius. This gives: -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(0:30:3mm)</span></span></span>. -<!--l. 502--><p class="indent"> When one uses the arc path construction operation, the specified arc will be added with its starting point at the -current position. So, we first have to “get there.” -<!--l. 506--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-20-" ><colgroup id="TBL-20-1g"><col -id="TBL-20-1"><col -id="TBL-20-2"></colgroup><tr - valign="baseline" id="TBL-20-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-20-1-1" -class="td11"> <object data="pgfmanual-21.svg" width="115.34384 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-20-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 516--><p class="indent"> Karl thinks this is really a bit small and he cannot continue unless he learns how to do scaling. For this, he can -add the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">[scale=3]</span></span></span> option. He could add this option to each <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> command, but that would be -awkward. Instead, he adds it to the whole environment, which causes this option to apply to everything -within. - - -<!--l. 522--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-22.svg" width="342.96487 " height="342.96487 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-21-" ><colgroup id="TBL-21-1g"><col -id="TBL-21-1"></colgroup><tr - valign="baseline" id="TBL-21-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-21-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 532--><p class="indent"> As for circles, you can specify “two” radii in order to get an elliptical arc. -<!--l. 535--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-22-" ><colgroup id="TBL-22-1g"><col -id="TBL-22-1"><col -id="TBL-22-2"></colgroup><tr - valign="baseline" id="TBL-22-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-22-1-1" -class="td11"> <object data="pgfmanual-23.svg" width="134.31232 " height="77.40701 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-22-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:315:1.75cm</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> 1cm);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 540--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.11 </span> <a - id="x4-350003.11"></a>Clipping a Path</h4> -<!--l. 542--><p class="noindent">In order to save space in this manual, it would be nice to clip Karl’s graphics a bit so that we can focus on the -“interesting” parts. Clipping is pretty easy in Ti<span -class="cmti-10">k</span>Z. You can use the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\clip</span></span></span> command clip all subsequent -drawing. It works like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span>, only it does not draw anything, but uses the given path to clip everything -subsequently. -<!--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-23-" ><colgroup id="TBL-23-1g"><col -id="TBL-23-1"><col -id="TBL-23-2"></colgroup><tr - valign="baseline" id="TBL-23-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-23-1-1" -class="td11"> <object data="pgfmanual-24.svg" width="137.57399 " height="109.11963 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-23-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,0.75);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 560--><p class="indent"> You can also do both at the same time: Draw <span -class="cmti-10">and </span>clip a path. For this, use the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> command and add the -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">clip</span></span></span> option. (This is not the whole picture: You can also use the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\clip</span></span></span> command and add the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">draw</span></span></span> -option. Well, that is also not the whole picture: In reality, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> is just a shorthand for <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\path[draw]</span></span></span> - - -and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\clip</span></span></span> is a shorthand for <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\path[clip]</span></span></span> and you could also say <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\path[draw,clip]</span></span></span>.) Here is an -example: -<!--l. 568--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-24-" ><colgroup id="TBL-24-1g"><col -id="TBL-24-1"><col -id="TBL-24-2"></colgroup><tr - valign="baseline" id="TBL-24-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-24-1-1" -class="td11"> <object data="pgfmanual-25.svg" width="138.10738 " height="138.10738 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-24-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip[draw]</span><span -class="cmtt-8"> (0.5,0.5)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (.6cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 580--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.12 </span> <a - id="x4-360003.12"></a>Parabola and Sine Path Construction</h4> -<!--l. 582--><p class="noindent">Although Karl does not need them for his picture, he is pleased to learn that there are <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">parabola</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">sin</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">cos</span></span></span> -path operations for adding parabolas and sine and cosine curves to the current path. For the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">parabola</span></span></span> operation, -the current point will lie on the parabola as well as the point given after the parabola operation. Consider the -following example: -<!--l. 589--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-25-" ><colgroup id="TBL-25-1g"><col -id="TBL-25-1"><col -id="TBL-25-2"></colgroup><tr - valign="baseline" id="TBL-25-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-25-1-1" -class="td11"> <object data="pgfmanual-26.svg" width="39.47017 " height="39.47017 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-25-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1,1)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> parabola</span><span -class="cmtt-8"> (1,1);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 593--><p class="indent"> It is also possible to place the bend somewhere else: -<!--l. 595--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-26-" ><colgroup id="TBL-26-1g"><col -id="TBL-26-1"><col -id="TBL-26-2"></colgroup><tr - valign="baseline" id="TBL-26-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-26-1-1" -class="td11"> <object data="pgfmanual-27.svg" width="9.53328 " height="22.86656 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-26-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw[x=1pt,y=1pt]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> parabola</span><span -class="cmtt-8"> bend</span><span -class="cmtt-8"> (4,16)</span><span -class="cmtt-8"> (6,12);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 599--><p class="indent"> The operations <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">sin</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">cos</span></span></span> add a sine or cosine curve in the interval [0<span -class="cmmi-10">,<img -src="cmmi10-19.png" alt="p" class="10x-x-19" />/</span>2] such that the previous -current point is at the start of the curve and the curve ends at the given end point. Here are two -examples: -<!--l. 603--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-27-" ><colgroup id="TBL-27-1g"><col -id="TBL-27-1"><col -id="TBL-27-2"></colgroup><tr - valign="baseline" id="TBL-27-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-27-1-1" -class="td11"> A sine <object data="pgfmanual-28.svg" width="10.54623 " height="7.27402 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> curve. </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-27-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br><span -class="cmtt-8">A</span><span -class="cmtt-8"> sine</span><span -class="cmtt-8"> \tikz</span><span -class="cmtt-8"> \draw[x=1ex,y=1ex]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> sin</span><span -class="cmtt-8"> (1.57,1);</span><span -class="cmtt-8"> curve.</span> -</div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 607--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-28-" ><colgroup id="TBL-28-1g"><col -id="TBL-28-1"><col -id="TBL-28-2"></colgroup><tr - valign="baseline" id="TBL-28-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-28-1-1" -class="td11"> <object data="pgfmanual-29.svg" width="37.58502 " height="13.01471 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-28-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw[x=1.57ex,y=1ex]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> sin</span><span -class="cmtt-8"> (1,1)</span><span -class="cmtt-8"> cos</span><span -class="cmtt-8"> (2,0)</span><span -class="cmtt-8"> sin</span><span -class="cmtt-8"> (3,-1)</span><span -class="cmtt-8"> cos</span><span -class="cmtt-8"> (4,0)</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"> </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"> </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"> (0,1)</span><span -class="cmtt-8"> cos</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> sin</span><span -class="cmtt-8"> (2,-1)</span><span -class="cmtt-8"> cos</span><span -class="cmtt-8"> (3,0)</span><span -class="cmtt-8"> sin</span><span -class="cmtt-8"> (4,1);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 614--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.13 </span> <a - id="x4-370003.13"></a>Filling and Drawing</h4> -<!--l. 616--><p class="noindent">Returning to the picture, Karl now wants the angle to be “filled” with a very light green. For this he uses <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\fill</span></span></span> -instead of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span>. Here is what Karl does: - - -<!--l. 620--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-29-" ><colgroup id="TBL-29-1g"><col -id="TBL-29-1"><col -id="TBL-29-2"></colgroup><tr - valign="baseline" id="TBL-29-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-29-1-1" -class="td11"> <object data="pgfmanual-30.svg" width="137.57399 " height="109.11963 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-29-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,0.75);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \fill[green!20!white]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,0);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 631--><p class="indent"> The color <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">green!20!white</span></span></span> means 20% green and 80% white mixed together. Such color expression are possible -since <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span> uses Uwe Kern’s <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xcolor</span></span></span> package, see the documentation of that package for details on color -expressions. -<!--l. 636--><p class="indent"> What would have happened, if Karl had not “closed” the path using <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">--(0,0)</span></span></span> at the end? In this case, the path -is closed automatically, so this could have been omitted. Indeed, it would even have been better to write the -following, instead: -<!--l. 640--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-30-" ><colgroup id="TBL-30-1g"><col -id="TBL-30-1"></colgroup><tr - valign="baseline" id="TBL-30-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-30-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \fill[green!20!white]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -</div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 643--><p class="indent"> The <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">--cycle</span></span></span> causes the current path to be closed (actually the current part of the current path) by smoothly -joining the first and last point. To appreciate the difference, consider the following example: -<!--l. 648--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-31-" ><colgroup id="TBL-31-1g"><col -id="TBL-31-1"><col -id="TBL-31-2"></colgroup><tr - valign="baseline" id="TBL-31-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-31-1-1" -class="td11"> <object data="pgfmanual-31.svg" width="121.47717 " height="61.23857 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-31-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[line</span><span -class="cmtt-8"> width=5pt]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1,1)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (2,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3,1)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \useasboundingbox</span><span -class="cmtt-8"> (0,1.5);</span><span -class="cmtt-8"> </span><span -class="cmsltt-10x-x-80">%</span><span -class="cmsltt-10x-x-80"> make</span><span -class="cmsltt-10x-x-80"> bounding</span><span -class="cmsltt-10x-x-80"> box</span><span -class="cmsltt-10x-x-80"> higher</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 656--><p class="indent"> You can also fill and draw a path at the same time using the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\filldraw</span></span></span> command. This will first draw the path, -then fill it. This may not seem too useful, but you can specify different colors to be used for filling and for stroking. -These are specified as optional arguments like this: -<!--l. 662--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-32-" ><colgroup id="TBL-32-1g"><col -id="TBL-32-1"><col -id="TBL-32-2"></colgroup><tr - valign="baseline" id="TBL-32-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-32-1-1" -class="td11"> <object data="pgfmanual-32.svg" width="137.57399 " height="109.11963 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-32-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,0.75);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20!white,</span><span -class="cmtt-8"> draw=green!50!black]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 676--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.14 </span> <a - id="x4-380003.14"></a>Shading</h4> -<!--l. 678--><p class="noindent">Karl briefly considers the possibility of making the angle “more fancy” by <span -class="cmti-10">shading </span>it. Instead of filling the with a -uniform color, a smooth transition between different colors is used. For this, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\shade</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\shadedraw</span></span></span>, for shading -and drawing at the same time, can be used: - - -<!--l. 684--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-33-" ><colgroup id="TBL-33-1g"><col -id="TBL-33-1"><col -id="TBL-33-2"></colgroup><tr - valign="baseline" id="TBL-33-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-33-1-1" -class="td11"> <object data="pgfmanual-33.svg" width="133.77895 " height="38.93684 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-33-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \tikz</span><span -class="cmtt-8"> \shade</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (2,1)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (3,0.5)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (.5cm);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 687--><p class="indent"> The default shading is a smooth transition from gray to white. To specify different colors, you can use -options: -<!--l. 690--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-34.svg" width="361.40002 " height="41.07018 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-34-" ><colgroup id="TBL-34-1g"><col -id="TBL-34-1"></colgroup><tr - valign="baseline" id="TBL-34-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-34-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[rounded</span><span -class="cmtt-8"> corners,ultra</span><span -class="cmtt-8"> thick]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \shade[top</span><span -class="cmtt-8"> color=yellow,bottom</span><span -class="cmtt-8"> color=black]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> +(2,1);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \shade[left</span><span -class="cmtt-8"> color=yellow,right</span><span -class="cmtt-8"> color=black]</span><span -class="cmtt-8"> (3,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> +(2,1);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \shadedraw[inner</span><span -class="cmtt-8"> color=yellow,outer</span><span -class="cmtt-8"> color=black,draw=yellow]</span><span -class="cmtt-8"> (6,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> +(2,1);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \shade[ball</span><span -class="cmtt-8"> color=green]</span><span -class="cmtt-8"> (9,.5)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (.5cm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 699--><p class="indent"> For Karl, the following might be appropriate: -<!--l. 701--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-35-" ><colgroup id="TBL-35-1g"><col -id="TBL-35-1"><col -id="TBL-35-2"></colgroup><tr - valign="baseline" id="TBL-35-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-35-1-1" -class="td11"> <object data="pgfmanual-35.svg" width="137.57399 " height="109.11963 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-35-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,0.75);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \shadedraw[left</span><span -class="cmtt-8"> color=gray,right</span><span -class="cmtt-8"> color=green,</span><span -class="cmtt-8"> draw=green!50!black]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 713--><p class="indent"> However, he wisely decides that shadings usually only distract without adding anything to the -picture. -<!--l. 717--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.15 </span> <a - id="x4-390003.15"></a>Specifying Coordinates</h4> -<!--l. 719--><p class="noindent">Karl now wants to add the sine and cosine lines. He knows already that he can use the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">color=</span></span></span> option to set the -lines’s colors. So, what is the best way to specify the coordinates? -<!--l. 723--><p class="indent"> There are different ways of specifying coordinates. The easiest way is to say something like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(10pt,2cm)</span></span></span>. This -means 10pt in <span -class="cmmi-10">x</span>-direction and 2cm in <span -class="cmmi-10">y</span>-directions. Alternatively, you can also leave out the units as in <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(1,2)</span></span></span>, which -means “one times the current <span -class="cmmi-10">x</span>-vector plus twice the current <span -class="cmmi-10">y</span>-vector.” These vectors default to 1cm in the -<span -class="cmmi-10">x</span>-direction and 1cm in the <span -class="cmmi-10">y</span>-direction, respectively. -<!--l. 730--><p class="indent"> In order to specify points in polar coordinates, use the notation <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm)</span></span></span>, which means 1cm in direction 30 -degree. This is obviously quite useful to “get to the point (cos30<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup><span -class="cmmi-10">,</span>sin30<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup>) on the circle.” -<!--l. 735--><p class="indent"> You can add a single <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">+</span></span></span> sign in front of a coordinate or two of them as in <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">+(1cm,0cm)</span></span></span> or <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">++(0cm,2cm)</span></span></span>. Such -coordinates are interpreted differently: The first form means “1cm upwards from the previous specified position” -and the second means “2cm to the right of the previous specified position, making this the new specified position.” -For example, we can draw the sine line as follows: - - -<!--l. 742--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-36-" ><colgroup id="TBL-36-1g"><col -id="TBL-36-1"><col -id="TBL-36-2"></colgroup><tr - valign="baseline" id="TBL-36-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-36-1-1" -class="td11"> <object data="pgfmanual-36.svg" width="137.57399 " height="109.11963 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-36-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,0.75);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[red,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(0,-0.5);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 755--><p class="indent"> Karl used the fact sin30<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup> = 1<span -class="cmmi-10">/</span>2. However, he very much doubts that his students know this, so it -would be nice to have a way of specifying “the point straight down from <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm)</span></span></span> that lies on the -<span -class="cmmi-10">x</span>-axis.” This is, indeed, possible using a special syntax: Karl can write <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm</span><span -class="cmtt-10"> |-</span><span -class="cmtt-10"> 0,0)</span></span></span>. In general, the -meaning of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">p</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10"> |-</span><span -class="cmtt-10"> </span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">q</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">)</span></span></span> is “the intersection of a vertical line through <span -class="cmmi-10">p </span>and a horizontal line through -<span -class="cmmi-10">q</span>.” -<!--l. 763--><p class="indent"> Next, let us draw the cosine line. One way would be to say <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm</span><span -class="cmtt-10"> |-</span><span -class="cmtt-10"> 0,0)</span><span -class="cmtt-10"> --</span><span -class="cmtt-10"> (0,0)</span></span></span>. Another way is the -following: we “continue” from where the sine ends: -<!--l. 767--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-37-" ><colgroup id="TBL-37-1g"><col -id="TBL-37-1"><col -id="TBL-37-2"></colgroup><tr - valign="baseline" id="TBL-37-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-37-1-1" -class="td11"> <object data="pgfmanual-37.svg" width="137.57399 " height="109.11963 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-37-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,0.75);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[red,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(0,-0.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[blue,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> ++(0,-0.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,0);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 781--><p class="indent"> Note the there is no <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">--</span></span></span> between <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm)</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">+(0,-0.5)</span></span></span>. In detail, this path is interpreted as follows: “First, -the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm)</span></span></span> tells me to move by pen to (cos30<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup><span -class="cmmi-10">,</span>1<span -class="cmmi-10">/</span>2). Next, there comes another coordinate specification, so I -move my pen there without drawing anything. This new point is half a unit down from the last position, thus it is at -(cos30<sup ><span -class="cmsy-7"><span class="htf-cmbx">o</span></span></sup><span -class="cmmi-10">,</span>0). Finally, I move the pen to the origin, but this time drawing something (because of the -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">--</span></span></span>).” -<!--l. 789--><p class="indent"> To appreciate the difference between <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">+</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">++</span></span></span> consider the following example: -<!--l. 792--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-38-" ><colgroup id="TBL-38-1g"><col -id="TBL-38-1"><col -id="TBL-38-2"></colgroup><tr - valign="baseline" id="TBL-38-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-38-1-1" -class="td11"> <object data="pgfmanual-38.svg" width="96.37543 " height="39.47017 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-38-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \def\rectanglepath{--</span><span -class="cmtt-8"> ++(1cm,0cm)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> ++(0cm,1cm)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> ++(-1cm,0cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> \rectanglepath;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (1.5,0)</span><span -class="cmtt-8"> \rectanglepath;</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 800--><p class="indent"> By comparison, when using a single <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">+</span></span></span>, the coordinates are different: - - -<!--l. 802--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-39-" ><colgroup id="TBL-39-1g"><col -id="TBL-39-1"><col -id="TBL-39-2"></colgroup><tr - valign="baseline" id="TBL-39-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-39-1-1" -class="td11"> <object data="pgfmanual-39.svg" width="96.37543 " height="39.47017 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-39-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \def\rectanglepath{--</span><span -class="cmtt-8"> +(1cm,0cm)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(1cm,1cm)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(0cm,1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> \rectanglepath;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (1.5,0)</span><span -class="cmtt-8"> \rectanglepath;</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 811--><p class="indent"> Naturally, all of this could have been written more clearly and more economically like this (either with a single of -a double <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">+</span></span></span>): -<!--l. 813--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-40-" ><colgroup id="TBL-40-1g"><col -id="TBL-40-1"><col -id="TBL-40-2"></colgroup><tr - valign="baseline" id="TBL-40-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-40-1-1" -class="td11"> <object data="pgfmanual-40.svg" width="96.37543 " height="39.47017 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-40-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> +(1,1)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (1.5,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> +(1,1);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 819--><p class="indent"> Karl is left with the line for tan<span -class="cmmi-10"><img -src="cmmi10-b.png" alt="a" class="10x-x-b" /></span>, which seems difficult to specify using transformations and polar -coordinates. For this he needs another way of specifying coordinates: Karl can specify intersections of lines as -coordinates. The line for tan<span -class="cmmi-10"><img -src="cmmi10-b.png" alt="a" class="10x-x-b" /> </span>starts at (1<span -class="cmmi-10">,</span>0) and goes upward to a point that is at the intersection of a -line going “up” and a line going from the origin through <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(30:1cm)</span></span></span>. The syntax for this point is the -following: -<!--l. 827--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-41-" ><colgroup id="TBL-41-1g"><col -id="TBL-41-1"></colgroup><tr - valign="baseline" id="TBL-41-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-41-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br><span -class="cmtt-8">\draw[very</span><span -class="cmtt-8"> thick,orange]</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (intersection</span><span -class="cmtt-8"> of</span><span -class="cmtt-8"> 1,0--1,1</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> 0,0--30:1cm);</span> -</div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 831--><p class="indent"> In the following, two final examples of how to use relative positioning are presented. Note that -the transformation options, which are explained later, are often more useful for shifting than relative -positioning. -<!--l. 836--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-42-" ><colgroup id="TBL-42-1g"><col -id="TBL-42-1"><col -id="TBL-42-2"></colgroup><tr - valign="baseline" id="TBL-42-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-42-1-1" -class="td11"> <object data="pgfmanual-41.svg" width="96.37543 " height="42.35689 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-42-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=0.5]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (90:1cm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (90:360:1cm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (60:5pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(30:1cm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (30:90:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (3,0)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> +(0:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(72:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(144:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(216:1cm)</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"> </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"> +(288:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 848--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.16 </span> <a - id="x4-400003.16"></a>Adding Arrow Tips</h4> -<!--l. 850--><p class="noindent">Karl now wants to add the little arrow tips at the end of the axes. He has noticed that in many plots, even in -scientific journals, these arrow tips seem to missing, presumably because the generating programs cannot produce -them. Karl thinks arrow tips belong at the end of axes. His son agrees. His students do not care about arrow -tips. -<!--l. 856--><p class="indent"> It turns out that adding arrow tips is pretty easy: Karl adds the option <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">-></span></span></span> to the drawing commands for the -axes: - - -<!--l. 859--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-43-" ><colgroup id="TBL-43-1g"><col -id="TBL-43-1"><col -id="TBL-43-2"></colgroup><tr - valign="baseline" id="TBL-43-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-1-1" -class="td11"> <object data="pgfmanual-42.svg" width="137.57399 " height="195.61504 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-43-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,1.51);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[red,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> +(0,-0.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[blue,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> ++(0,-0.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[orange,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (intersection</span><span -class="cmtt-8"> of</span><span -class="cmtt-8"> 1,0--1,1</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> 0,0--30:1cm);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 874--><p class="indent"> If Karl had used the option <span class="obeylines-h"><span class="verb"><span -class="cmtt-10"><-</span></span></span> instead of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">-></span></span></span>, arrow tips would have been put at the beginning of the path. The -option <span class="obeylines-h"><span class="verb"><span -class="cmtt-10"><-></span></span></span> puts arrow tips at both ends of the path. -<!--l. 878--><p class="indent"> There are certain restrictions to the kind of paths to which arrow tips can be added. As a rule of thumb, you can -add arrow tips only to a single open “line.” For example, you should not try to add tips to, say, a rectangle or a -circle. (You can try, but no guarantees as to what will happen now or in future versions.) However, -you can add arrow tips to curved paths and to paths that have several segments, as in the following -examples: -<!--l. 886--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-44-" ><colgroup id="TBL-44-1g"><col -id="TBL-44-1"><col -id="TBL-44-2"></colgroup><tr - valign="baseline" id="TBL-44-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-44-1-1" -class="td11"> <object data="pgfmanual-43.svg" width="96.37546 " height="14.8666 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-44-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> [<->]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (180:30:10pt);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> [<->]</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5cm,10pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (2cm,0pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (2.5cm,10pt);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 893--><p class="indent"> Karl has a more detailed look at the arrow that Ti<span -class="cmti-10">k</span>Z puts at the end. It looks like this when he zooms it: <object data="pgfmanual-44.svg" width="14.33328 " height="6.74069 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object>. -The shape seems vaguely familiar and, indeed, this is exactly the end of <span class="TEX">T<span -class="E">E</span>X</span>’s standard arrow used in something -like <span -class="cmmi-10">f</span> : <span -class="cmmi-10">A </span><span -class="cmsy-10"><img -src="cmsy10-21.png" alt="-->" class="10x-x-21" /> </span><span -class="cmmi-10">B</span>. -<!--l. 901--><p class="indent"> Karl likes the arrow, especially since it is not “as thick” as the arrows offered by many other packages. -However, he expects that, sometimes, he might need to use some other kinds of arrow. To do so, Karl -can say <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">>=</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">right arrow tip kind</span><span -class="cmsy-10">></span>, where <span -class="cmsy-10"><</span><span -class="cmti-10">right arrow tip kind</span><span -class="cmsy-10">> </span>is a special arrow tip specification. For -example, if Karl says <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">>=stealth</span></span></span>, then he tells Ti<span -class="cmti-10">k</span>Z that he would like “stealth-fighter-like” arrow -tips: -<!--l. 909--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-45-" ><colgroup id="TBL-45-1g"><col -id="TBL-45-1"><col -id="TBL-45-2"></colgroup><tr - valign="baseline" id="TBL-45-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-45-1-1" -class="td11"> <object data="pgfmanual-45.svg" width="96.90878 " height="15.93324 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-45-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[>=stealth]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> [->]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (180:30:10pt);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> [<<-,very</span><span -class="cmtt-8"> thick]</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5cm,10pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (2cm,0pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (2.5cm,10pt);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 916--><p class="indent"> Karl wonders whether such a military name for the arrow type is really necessary. He is not really mollified when -his son tells him that Microsoft’s PowerPoint uses the same name. He decides to have his students discuss this at -some point. -<!--l. 921--><p class="indent"> In addition to <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">stealth</span></span></span> there are several other predefined arrow tip kinds Karl can choose from, see Section <a -href="pgfmanualse14.html#x15-16000014.1">14.1<!--tex4ht:ref: section-library-arrows --></a>. -Furthermore, he can define arrows types himself, if he needs new ones. -<!--l. 929--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.17 </span> <a - id="x4-410003.17"></a>Scoping</h4> -<!--l. 931--><p class="noindent">Karl saw already that there are numerous graphic options that affect how paths are rendered. Often, he would like -to apply certain options to a whole set of graphic commands. For example, Karl might wish to draw three paths - - -using a <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thick</span></span></span> pen, but would like everything else to be drawn “normally.” -<!--l. 937--><p class="indent"> If Karl wishes to set a certain graphic option for the whole picture, he can simply pass this option to the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikz</span></span></span> -command or to the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{tikzpicture}</span></span></span> environment (Gerda would pass the options to <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\tikzpicture</span></span></span>). -However, if Karl wants to apply graphic options to a local group, he put these commands inside a -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{scope}</span></span></span> environment (Gerda uses <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\scope</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\endscope</span></span></span>). This environment takes graphic options as -an optional argument and these options apply to everything inside the scope, but not to anything -outside. -<!--l. 946--><p class="indent"> Here is an example: -<!--l. 948--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-46-" ><colgroup id="TBL-46-1g"><col -id="TBL-46-1"><col -id="TBL-46-2"></colgroup><tr - valign="baseline" id="TBL-46-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-46-1-1" -class="td11"> <object data="pgfmanual-46.svg" width="116.94386 " height="41.07018 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-46-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[ultra</span><span -class="cmtt-8"> thick]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \begin{scope}[thin]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1,1);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (2,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (2,1);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \end{scope}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (3,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3,1);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 959--><p class="indent"> Scoping has another interesting effect: Any changes to the clipping area are local to the scope. Thus, if you say -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\clip</span></span></span> somewhere inside a scope, the effect of the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\clip</span></span></span> command ends at the end of the scope. This is useful since -there is no other way of “enlarging” the clipping area. -<!--l. 965--><p class="indent"> Karl has also already seen that giving options to commands like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> apply only to that command. In turns -out that the situation is slightly more complex. First, options to a command like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span></span></span> are not really -options to the command, but they are “path options” and can be given anywhere on the path. So, -instead of <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw[thin]</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> --</span><span -class="cmtt-10"> (1,0);</span></span></span> one can also write <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> [thin]</span><span -class="cmtt-10"> --</span><span -class="cmtt-10"> (1,0);</span></span></span> or -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> --</span><span -class="cmtt-10"> (1,0)</span><span -class="cmtt-10"> [thin];</span></span></span>; all of these have the same effect. This might seem strange since in the last case, it -would appear that the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thin</span></span></span> should take effect only “after” the line from (0<span -class="cmmi-10">,</span>0) to (1<span -class="cmmi-10">,</span>0) has been draw. However, -most graphic options only apply to the whole path. Indeed, if you say both <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thin</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">thick</span></span></span> on the same path, the -last option given will “win.” -<!--l. 979--><p class="indent"> When reading the above, Karl notices that only “most” graphic options apply to the whole path. Indeed, all -transformation options do <span -class="cmti-10">not </span>apply to the whole path, but only to “everything following them on the path.” We -will have a more detailed look at this in a moment. Nevertheless, all options given during a path construction apply -only to this path. -<!--l. 988--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.18 </span> <a - id="x4-420003.18"></a>Transformations</h4> -<!--l. 990--><p class="noindent">When you specify a coordinate like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(1cm,1cm)</span></span></span>, where is that coordinate placed on the page? To determine the -position, Ti<span -class="cmti-10">k</span>Z, <span class="TEX">T<span -class="E">E</span>X</span>, and <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">D</small><small -class="small-caps">F</small> </span>or PostScript all apply certain transformations to the given coordinate in order to -determine the finally position on the page. -<!--l. 996--><p class="indent"> Ti<span -class="cmti-10">k</span>Z provides numerous options that allow you to transform coordinates in <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span>’s private coordinate system. For -example, the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xshift</span></span></span> option allows you to shift all subsequent points by a certain amount: -<!--l. 1001--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-47-" ><colgroup id="TBL-47-1g"><col -id="TBL-47-1"><col -id="TBL-47-2"></colgroup><tr - valign="baseline" id="TBL-47-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-47-1-1" -class="td11"> <object data="pgfmanual-47.svg" width="4.19997 " height="20.50172 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-47-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,0.5)</span><span -class="cmtt-8"> [xshift=2pt]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,0.5);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1005--><p class="indent"> It is important to note that you can change transformation “in the middle of a path,” a feature that is -not supported by <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">D</small><small -class="small-caps">F</small></span> or PostScript. The reason is that <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span> keeps track of its own transformation -matrix. -<!--l. 1010--><p class="indent"> Here is a more complicated example: -<!--l. 1011--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-48-" ><colgroup id="TBL-48-1g"><col -id="TBL-48-1"><col -id="TBL-48-2"></colgroup><tr - valign="baseline" id="TBL-48-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-48-1-1" -class="td11"> <object data="pgfmanual-48.svg" width="56.17422 " height="56.17422 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-48-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[even</span><span -class="cmtt-8"> odd</span><span -class="cmtt-8"> rule,rounded</span><span -class="cmtt-8"> corners=2pt,x=10pt,y=10pt]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=examplefill]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1,1)</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> [xshift=5pt,yshift=5pt]</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1,1)</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"> </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"> [rotate=30]</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (-1,-1)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (2,2);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> - - -<!--l. 1019--><p class="indent"> The most useful transformations are <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xshift</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">yshift</span></span></span> for shifting, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">shift</span></span></span> for shifting to a given point as in -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">shift={(1,0)}</span></span></span> or <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">shift={+(0,0)}</span></span></span> (the braces are necessary so that <span class="TEX">T<span -class="E">E</span>X</span> does not mistake the comma for -separating options), <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">rotate</span></span></span> for rotating by a certain angle (there is also a <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">rotate</span><span -class="cmtt-10"> around</span></span></span> for rotating around a -given point), <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">scale</span></span></span> for scaling by a certain factor, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xscale</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">yscale</span></span></span> for scaling only in the <span -class="cmmi-10">x</span>- or <span -class="cmmi-10">y</span>-direction -(<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xscale=-1</span></span></span> is a flip), and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">xslant</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">yslant</span></span></span> for slanting. If these transformation and those that I have not -mentioned are not sufficient, the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">cm</span></span></span> option allows you to apply an arbitrary transformation matrix. Karl’s students, -by the way, do not know what a transformation matrix is. -<!--l. 1034--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.19 </span> <a - id="x4-430003.19"></a>Repeating Things: For-Loops</h4> -<!--l. 1036--><p class="noindent">Karl’s next aim is to add little ticks on the axes at positions <span -class="cmsy-10">-</span>1, <span -class="cmsy-10">-</span>1<span -class="cmmi-10">/</span>2, 1<span -class="cmmi-10">/</span>2, and 1. For this, it would be nice to -use some kind of “loop,” especially since he wishes to do the same thing at each of these positions. -There are different packages for doing this. <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span -class="E">E</span>X</span></span> has its own internal command for this, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pstricks</span></span></span> -comes along with the powerful <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\mulitdo</span></span></span> command. All of these can be used together with <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span> and -Ti<span -class="cmti-10">k</span>Z, so if you are familiar with them, feel free to use them. <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span> introduces yet another command, -called <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span>, which I introduced since I could never remember the syntax of the other packages. -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> is defined in the package <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pgffor</span></span></span> and can be used independently of <span -class="cmcsc-10"><small -class="small-caps">P</small><small -class="small-caps">G</small><small -class="small-caps">F</small></span>. Ti<span -class="cmti-10">k</span>Z includes it -automatically. -<!--l. 1048--><p class="indent"> In its basic form, the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> command is easy to use: -<!--l. 1049--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-49-" ><colgroup id="TBL-49-1g"><col -id="TBL-49-1"><col -id="TBL-49-2"></colgroup><tr - valign="baseline" id="TBL-49-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-49-1-1" -class="td11"> <span -class="cmmi-10">x </span>= 1, <span -class="cmmi-10">x </span>= 2, <span -class="cmmi-10">x </span>= 3, </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-49-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br> -<span -class="cmtt-8">\foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {1,2,3}</span><span -class="cmtt-8"> {$x</span><span -class="cmtt-8"> =\x$,</span><span -class="cmtt-8"> }</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 1053--><p class="indent"> The general syntax is <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> <span -class="cmsy-10"><</span><span -class="cmti-10">variable</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10"> in</span><span -class="cmtt-10"> {</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">list of values</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">}</span><span -class="cmtt-10"> </span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">commands</span><span -class="cmsy-10">></span>. Inside the <span -class="cmsy-10"><</span><span -class="cmti-10">commands</span><span -class="cmsy-10">></span>, the -<span -class="cmsy-10"><</span><span -class="cmti-10">variable</span><span -class="cmsy-10">> </span>will be assigned to the different values. If the <span -class="cmsy-10"><</span><span -class="cmti-10">commands</span><span -class="cmsy-10">> </span>do not start with a brace, everything up to the -next semicolon is used as <span -class="cmsy-10"><</span><span -class="cmti-10">commands</span><span -class="cmsy-10">></span>. -<!--l. 1059--><p class="indent"> For Karl and the ticks on the axes, he could use the following code: -<!--l. 1061--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-50-" ><colgroup id="TBL-50-1g"><col -id="TBL-50-1"><col -id="TBL-50-2"></colgroup><tr - valign="baseline" id="TBL-50-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-50-1-1" -class="td11"> <object data="pgfmanual-49.svg" width="137.57399 " height="195.61504 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-50-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.1,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (1.1,1.51);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1cm,-0.5cm,1cm}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (\x,-1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (\x,1pt);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \y</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1cm,-0.5cm,0.5cm,1cm}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (-1pt,\y)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1pt,\y);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1078--><p class="indent"> As a matter of fact, there are many different ways of creating the ticks. For example, Karl could have put the -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span><span -class="cmtt-10"> ...;</span></span></span> inside curly braces. He could also have used, say, -<!--l. 1081--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-51-" ><colgroup id="TBL-51-1g"><col -id="TBL-51-1"></colgroup><tr - valign="baseline" id="TBL-51-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-51-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,-0.5,1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[xshift=\x</span><span -class="cmtt-8"> cm]</span><span -class="cmtt-8"> (0pt,-1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0pt,1pt);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1086--><p class="indent"> Karl is curious what would happen in a more complicated situation where there are, say, 20 ticks. It seems -bothersome to explicitly mention all these numbers in the set for <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span>. Indeed, it is possible to use <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">...</span></span></span> inside - - -the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> statement to iterate over a large number of values (which must, however, be dimensionless real -numbers) as in the following example: -<!--l. 1093--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-50.svg" width="373.31393 " height="31.88232 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-52-" ><colgroup id="TBL-52-1g"><col -id="TBL-52-1"></colgroup><tr - valign="baseline" id="TBL-52-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-52-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {1,...,10}</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"> \draw</span><span -class="cmtt-8"> (\x,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (0.4cm);</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 1098--><p class="indent"> If you provide <span -class="cmti-10">two </span>numbers before the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">...</span></span></span>, the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> statement will use their difference for the -stepping: -<!--l. 1101--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-53-" ><colgroup id="TBL-53-1g"><col -id="TBL-53-1"><col -id="TBL-53-2"></colgroup><tr - valign="baseline" id="TBL-53-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-53-1-1" -class="td11"> <object data="pgfmanual-51.svg" width="77.40701 " height="4.19997 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-53-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\tikz</span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,-0.5,...,1}</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"> \draw</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,-1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,1pt);</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1106--><p class="indent"> We can also nest loops to create interesting effects: -<!--l. 1108--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-52.svg" width="456.77545 " height="191.21753 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-54-" ><colgroup id="TBL-54-1g"><col -id="TBL-54-1"></colgroup><tr - valign="baseline" id="TBL-54-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-54-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {1,2,...,5,7,8,...,12}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \y</span><span -class="cmtt-8"> in</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> -<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"> \draw</span><span -class="cmtt-8"> (\x,\y)</span><span -class="cmtt-8"> +(-.5,-.5)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> ++(.5,.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"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (\x,\y)</span><span -class="cmtt-8"> node{\x,\y};</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">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 1119--><p class="indent"> The <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> statement can do even trickier stuff, but the above gives the idea. -<!--l. 1125--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.20 </span> <a - id="x4-440003.20"></a>Adding Text</h4> -<!--l. 1127--><p class="noindent">Karl is, by now, quite satisfied with the picture. However, the most important parts, namely the labels, are still -missing! -<!--l. 1130--><p class="indent"> Ti<span -class="cmti-10">k</span>Z offers an easy-to-use and powerful system for adding text and, more generally, complex shapes to a -picture at specific positions. The basic idea is the following: When Ti<span -class="cmti-10">k</span>Z is constructing a path and -encounters the keyword <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">node</span></span></span> in the middle of a path, it reads a <span -class="cmti-10">node specification</span>. The keyword <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">node</span></span></span> is -typically followed by some options and then some text between curly braces. This text is put inside a -normal <span class="TEX">T<span -class="E">E</span>X</span> box (if the node specification directly follows a coordinate, which is usually the case, -Ti<span -class="cmti-10">k</span>Z is able to perform some magic so that it is even possible to use verbatim text inside the boxes) -and then placed at the current position, that is, at the last specified position (possibly shifted a bit, -according to the given options). However, all nodes are drawn only after the path has been completely -drawn/filled/shaded/clipped/whatever. -<!--l. 1144--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-55-" ><colgroup id="TBL-55-1g"><col -id="TBL-55-1"><col -id="TBL-55-2"></colgroup><tr - valign="baseline" id="TBL-55-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-55-1-1" -class="td11"> <object data="pgfmanual-53.svg" width="137.2315 " height="77.40701 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-55-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"><br> -<span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (2,2);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0.5,0.5)</span><span -class="cmtt-8"> node</span><span -class="cmtt-8"> [fill=examplefill]</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"> </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"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> {Text</span><span -class="cmtt-8"> at</span><span -class="cmtt-8"> \verb!node</span><span -class="cmtt-8"> 1!}</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"> (1.5,1.5)</span><span -class="cmtt-8"> node</span><span -class="cmtt-8"> {Text</span><span -class="cmtt-8"> at</span><span -class="cmtt-8"> \verb!node</span><span -class="cmtt-8"> 2!};</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> - - -<!--l. 1153--><p class="indent"> Obviously, Karl would not only like to place nodes <span -class="cmti-10">on </span>the last specified position, but also to the left or the -right of these positions. For this, every node object that you put in your picture is equipped with -several <span -class="cmti-10">anchors</span>. For example, the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">north</span></span></span> anchor is in the middle at the upper end of the shape, the -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">south</span></span></span> anchor is at the bottom and the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">north</span><span -class="cmtt-10"> east</span></span></span> anchor is in the upper right corner. When you -given the option <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">anchor=north</span></span></span>, the text will be placed such that this northern anchor will lie on the -current position and the text is, thus, below the current position. Karl uses this to draw the ticks as -follows: -<!--l. 1164--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-56-" ><colgroup id="TBL-56-1g"><col -id="TBL-56-1"><col -id="TBL-56-2"></colgroup><tr - valign="baseline" id="TBL-56-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-56-1-1" -class="td11"> <object data="pgfmanual-54.svg" width="137.57393 " height="195.61504 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-56-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.6,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (0.6,1.51);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,style=help</span><span -class="cmtt-8"> lines]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,-0.5,1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,-1pt)</span><span -class="cmtt-8"> node[anchor=north]</span><span -class="cmtt-8"> {$\x$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \y</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,-0.5,0.5,1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (1pt,\y</span><span -class="cmtt-8"> cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (-1pt,\y</span><span -class="cmtt-8"> cm)</span><span -class="cmtt-8"> node[anchor=east]</span><span -class="cmtt-8"> {$\y$};</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1180--><p class="indent"> This is quite nice, already. Using these anchors, Karl can now add most of the other text elements. However, -Karl thinks that, though “correct,” it is quite counter-intuitive that in order to place something <span -class="cmti-10">below </span>a given point, -he has to use the <span -class="cmti-10">north </span>anchor. For this reason, there is an option called <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">below</span></span></span>, which does the same as -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">anchor=north</span></span></span>. Similarly, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">above</span><span -class="cmtt-10"> right</span></span></span> does the same as <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">anchor=south</span><span -class="cmtt-10"> east</span></span></span>. In addition, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">below</span></span></span> takes an -optional dimension argument. If given, the shape will additionally be shifted downwards by the given -amount. So, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">below=1pt</span></span></span> can be used to put a text label below some point and, additionally shift it 1pt -downwards. -<!--l. 1192--><p class="indent"> Karl is not quite satisfied with the ticks. He would like to have 1<span -class="cmmi-10">/</span>2 or <img -src="pgfmanual9x.gif" alt="12" class="frac" align="middle"> shown instead of 0<span -class="cmmi-10">.</span>5, partly -to show off the nice capabilities of <span class="TEX">T<span -class="E">E</span>X</span> and Ti<span -class="cmti-10">k</span>Z, partly because for positions like 1<span -class="cmmi-10">/</span>3 or <span -class="cmmi-10"><img -src="cmmi10-19.png" alt="p" class="10x-x-19" /> </span>it is -certainly very much preferable to have the “mathematical” tick there instead of just the “numeric” -tick. His students, on the other hand, prefer 0<span -class="cmmi-10">.</span>5 over 1<span -class="cmmi-10">/</span>2 since they are not too fond of fractions in -general. -<!--l. 1200--><p class="indent"> Karl now faces a problem: For the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> statement, the position <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\x</span></span></span> should still be given as <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">0.5</span></span></span> since -Ti<span -class="cmti-10">k</span>Z will not know where <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\frac{1}{2}</span></span></span> is supposed to be. On the other hand, the typeset text should really be -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\frac{1}{2}</span></span></span>. To solve this problem, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> offers a special syntax: Instead of having one variable <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\x</span></span></span>, Karl can -specify two (or even more) variables separated by a slash as in <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\x</span><span -class="cmtt-10"> /</span><span -class="cmtt-10"> \xtext</span></span></span>. Then, the elements in the set over -which <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\foreach</span></span></span> iterates must also be of the form <span -class="cmsy-10"><</span><span -class="cmti-10">first</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">/</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">second</span><span -class="cmsy-10">></span>. In each iteration, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\x</span></span></span> will be set to <span -class="cmsy-10"><</span><span -class="cmti-10">first</span><span -class="cmsy-10">> </span>and -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\xtext</span></span></span> will be set to <span -class="cmsy-10"><</span><span -class="cmti-10">second</span><span -class="cmsy-10">></span>. If no <span -class="cmsy-10"><</span><span -class="cmti-10">second</span><span -class="cmsy-10">> </span>is given, the <span -class="cmsy-10"><</span><span -class="cmti-10">first</span><span -class="cmsy-10">> </span>will be used again. So, here is the new code for the -ticks: - - -<!--l. 1212--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-57-" ><colgroup id="TBL-57-1g"><col -id="TBL-57-1"><col -id="TBL-57-2"></colgroup><tr - valign="baseline" id="TBL-57-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-57-1-1" -class="td11"> <object data="pgfmanual-55.svg" width="137.57393 " height="195.61504 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-57-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-0.6,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (0.6,1.51);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,style=help</span><span -class="cmtt-8"> lines]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0);</span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x/\xtext</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,</span><span -class="cmtt-8"> -0.5/-\frac{1}{2},</span><span -class="cmtt-8"> 1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,-1pt)</span><span -class="cmtt-8"> node[anchor=north]</span><span -class="cmtt-8"> {$\xtext$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \y/\ytext</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,</span><span -class="cmtt-8"> -0.5/-\frac{1}{2},</span><span -class="cmtt-8"> 0.5/\frac{1}{2},</span><span -class="cmtt-8"> 1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (1pt,\y</span><span -class="cmtt-8"> cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (-1pt,\y</span><span -class="cmtt-8"> cm)</span><span -class="cmtt-8"> node[anchor=east]</span><span -class="cmtt-8"> {$\ytext$};</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1228--><p class="indent"> Karl is quite pleased with the result, but his son points out that this is still not perfectly satisfactory: The grid -and the circle interfere with the numbers and decrease their legibility. Karl is not very concerned by this (his -students do not even notice), but his son insists that there is an easy solution: Karl can add the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">[fill=white]</span></span></span> -option to fill out the background of the text shape with a white color. -<!--l. 1236--><p class="indent"> The next thing Karl wants to do is to add the labels like sin<span -class="cmmi-10"><img -src="cmmi10-b.png" alt="a" class="10x-x-b" /></span>. For this, he would like to place a label “in the -middle of line.” To do so, instead of specifying the label <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">node</span><span -class="cmtt-10"> {$\sin\alpha$}</span></span></span> directly after one of the endpoints of -the line (which would place the label at that endpoint), Karl can give the label directly after the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">--</span></span></span>, -before the coordinate. By default, this places the label in the middle of the line, but the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pos=</span></span></span> options -can be used to modify this. Also, options like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">near</span><span -class="cmtt-10"> start</span></span></span> and <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">near</span><span -class="cmtt-10"> end</span></span></span> can be used to modify this -position: -<!--l. 1248--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-56.svg" width="456.24216 " height="114.81047 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-58-" ><colgroup id="TBL-58-1g"><col -id="TBL-58-1"></colgroup><tr - valign="baseline" id="TBL-58-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-58-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \clip</span><span -class="cmtt-8"> (-2,-0.2)</span><span -class="cmtt-8"> rectangle</span><span -class="cmtt-8"> (2,0.8);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[step=.5cm,gray,very</span><span -class="cmtt-8"> thin]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=green!50!black]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0mm)</span><span -class="cmtt-8"> arc</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> (0:30:3mm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> cycle;</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0)</span><span -class="cmtt-8"> coordinate</span><span -class="cmtt-8"> (x</span><span -class="cmtt-8"> axis);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5)</span><span -class="cmtt-8"> coordinate</span><span -class="cmtt-8"> (y</span><span -class="cmtt-8"> axis);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[very</span><span -class="cmtt-8"> thick,red]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> node[left=1pt,fill=white]</span><span -class="cmtt-8"> {$\sin</span><span -class="cmtt-8"> \alpha$}</span><span -class="cmtt-8"> (30:1cm</span><span -class="cmtt-8"> |-</span><span -class="cmtt-8"> x</span><span -class="cmtt-8"> axis);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[very</span><span -class="cmtt-8"> thick,blue]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm</span><span -class="cmtt-8"> |-</span><span -class="cmtt-8"> x</span><span -class="cmtt-8"> axis)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> node[below=2pt,fill=white]</span><span -class="cmtt-8"> {$\cos</span><span -class="cmtt-8"> \alpha$}</span><span -class="cmtt-8"> (0,0);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[very</span><span -class="cmtt-8"> thick,orange]</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> node</span><span -class="cmtt-8"> [right=1pt,fill=white]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> {$\displaystyle</span><span -class="cmtt-8"> \tan</span><span -class="cmtt-8"> \alpha</span><span -class="cmtt-8"> \color{black}=</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"> \frac{{\color{red}\sin</span><span -class="cmtt-8"> \alpha}}{\color{blue}\cos</span><span -class="cmtt-8"> \alpha}$}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (intersection</span><span -class="cmtt-8"> of</span><span -class="cmtt-8"> 0,0--30:1cm</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> 1,0--1,1)</span><span -class="cmtt-8"> coordinate</span><span -class="cmtt-8"> (t);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (t);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x/\xtext</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,</span><span -class="cmtt-8"> -0.5/-\frac{1}{2},</span><span -class="cmtt-8"> 1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (\x</span><span -class="cmtt-8"> cm,-1pt)</span><span -class="cmtt-8"> node[anchor=north,fill=white]</span><span -class="cmtt-8"> {$\xtext$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \y/\ytext</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,</span><span -class="cmtt-8"> -0.5/-\frac{1}{2},</span><span -class="cmtt-8"> 0.5/\frac{1}{2},</span><span -class="cmtt-8"> 1}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (1pt,\y</span><span -class="cmtt-8"> cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (-1pt,\y</span><span -class="cmtt-8"> cm)</span><span -class="cmtt-8"> node[anchor=east,fill=white]</span><span -class="cmtt-8"> {$\ytext$};</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 1276--><p class="indent"> You can also position labels on curves and, by adding the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">sloped</span></span></span> option, have them rotated such that they -match the line’s slope. Here is an example: - - -<!--l. 1280--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-57.svg" width="456.77548 " height="61.69574 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-59-" ><colgroup id="TBL-59-1g"><col -id="TBL-59-1"></colgroup><tr - valign="baseline" id="TBL-59-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-59-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> controls</span><span -class="cmtt-8"> (6,1)</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> (9,1)</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"> node[near</span><span -class="cmtt-8"> start,sloped,above]</span><span -class="cmtt-8"> {near</span><span -class="cmtt-8"> start}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> node</span><span -class="cmtt-8"> {midway}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> node[very</span><span -class="cmtt-8"> near</span><span -class="cmtt-8"> end,sloped,below]</span><span -class="cmtt-8"> {very</span><span -class="cmtt-8"> near</span><span -class="cmtt-8"> end}</span><span -class="cmtt-8"> (12,0);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table> -</div> -<!--l. 1289--><p class="indent"> It remains to draw the explanatory text at the right of the picture. The main difficulty here lies in limiting the -width of the text “label,” which is quite long, so that line breaking is used. Fortunately, Karl can use the option -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">text</span><span -class="cmtt-10"> width=6cm</span></span></span> to get the desired effect. So, here is the full code: -<!--l. 1295--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-60-" ><colgroup id="TBL-60-1g"><col -id="TBL-60-1"></colgroup><tr - valign="baseline" id="TBL-60-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-60-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}[scale=3,cap=round]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmsltt-10x-x-80">%</span><span -class="cmsltt-10x-x-80"> Local</span><span -class="cmsltt-10x-x-80"> definitions</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \def\costhirty{0.8660256}</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmsltt-10x-x-80">%</span><span -class="cmsltt-10x-x-80"> Colors</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \colorlet{anglecolor}{green!50!black}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \colorlet{sincolor}{red}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \colorlet{tancolor}{orange!80!black}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \colorlet{coscolor}{blue}</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmsltt-10x-x-80">%</span><span -class="cmsltt-10x-x-80"> Styles</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \tikzstyle{axes}=[]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \tikzstyle{important</span><span -class="cmtt-8"> line}=[very</span><span -class="cmtt-8"> thick]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \tikzstyle{information</span><span -class="cmtt-8"> text}=[rounded</span><span -class="cmtt-8"> corners,fill=red!10,inner</span><span -class="cmtt-8"> sep=1ex]</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmsltt-10x-x-80">%</span><span -class="cmsltt-10x-x-80"> The</span><span -class="cmsltt-10x-x-80"> graphic</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[style=help</span><span -class="cmtt-8"> lines,step=0.5cm]</span><span -class="cmtt-8"> (-1.4,-1.4)</span><span -class="cmtt-8"> grid</span><span -class="cmtt-8"> (1.4,1.4);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> circle</span><span -class="cmtt-8"> (1cm);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \begin{scope}[style=axes]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (-1.5,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (1.5,0)</span><span -class="cmtt-8"> node[right]</span><span -class="cmtt-8"> {$x$}</span><span -class="cmtt-8"> coordinate(x</span><span -class="cmtt-8"> axis);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->]</span><span -class="cmtt-8"> (0,-1.5)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0,1.5)</span><span -class="cmtt-8"> node[above]</span><span -class="cmtt-8"> {$y$}</span><span -class="cmtt-8"> coordinate(y</span><span -class="cmtt-8"> axis);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \x/\xtext</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,</span><span -class="cmtt-8"> -.5/-\frac{1}{2},</span><span -class="cmtt-8"> 1}</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"> \draw[xshift=\x</span><span -class="cmtt-8"> cm]</span><span -class="cmtt-8"> (0pt,1pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (0pt,-1pt)</span><span -class="cmtt-8"> node[below,fill=white]</span><span -class="cmtt-8"> {$\xtext$};</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \foreach</span><span -class="cmtt-8"> \y/\ytext</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> {-1,</span><span -class="cmtt-8"> -.5/-\frac{1}{2},</span><span -class="cmtt-8"> .5/\frac{1}{2},</span><span -class="cmtt-8"> 1}</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"> \draw[yshift=\y</span><span -class="cmtt-8"> cm]</span><span -class="cmtt-8"> (1pt,0pt)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (-1pt,0pt)</span><span -class="cmtt-8"> node[left,fill=white]</span><span -class="cmtt-8"> {$\ytext$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \end{scope}</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \filldraw[fill=green!20,draw=anglecolor]</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (3mm,0pt)</span><span -class="cmtt-8"> arc(0:30:3mm);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (15:2mm)</span><span -class="cmtt-8"> node[anglecolor]</span><span -class="cmtt-8"> {$\alpha$};</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[style=important</span><span -class="cmtt-8"> line,sincolor]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> node[left=1pt,fill=white]</span><span -class="cmtt-8"> {$\sin</span><span -class="cmtt-8"> \alpha$}</span><span -class="cmtt-8"> (30:1cm</span><span -class="cmtt-8"> |-</span><span -class="cmtt-8"> x</span><span -class="cmtt-8"> axis);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[style=important</span><span -class="cmtt-8"> line,coscolor]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (30:1cm</span><span -class="cmtt-8"> |-</span><span -class="cmtt-8"> x</span><span -class="cmtt-8"> axis)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> node[below=2pt,fill=white]</span><span -class="cmtt-8"> {$\cos</span><span -class="cmtt-8"> \alpha$}</span><span -class="cmtt-8"> (0,0);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[style=important</span><span -class="cmtt-8"> line,tancolor]</span><span -class="cmtt-8"> (1,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> node[right=1pt,fill=white]</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"> $\displaystyle</span><span -class="cmtt-8"> \tan</span><span -class="cmtt-8"> \alpha</span><span -class="cmtt-8"> \color{black}=</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \frac{{\color{sincolor}\sin</span><span -class="cmtt-8"> \alpha}}{\color{coscolor}\cos</span><span -class="cmtt-8"> \alpha}$}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> (intersection</span><span -class="cmtt-8"> of</span><span -class="cmtt-8"> 0,0--30:1cm</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> 1,0--1,1)</span><span -class="cmtt-8"> coordinate</span><span -class="cmtt-8"> (t);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (t);</span> -<br> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[xshift=1.85cm]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> node[right,text</span><span -class="cmtt-8"> width=6cm,style=information</span><span -class="cmtt-8"> text]</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"> The</span><span -class="cmtt-8"> {\color{anglecolor}</span><span -class="cmtt-8"> angle</span><span -class="cmtt-8"> $\alpha$}</span><span -class="cmtt-8"> is</span><span -class="cmtt-8"> $30^\circ$</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> the</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"> example</span><span -class="cmtt-8"> ($\pi/6$</span><span -class="cmtt-8"> in</span><span -class="cmtt-8"> radians).</span><span -class="cmtt-8"> The</span><span -class="cmtt-8"> {\color{sincolor}sine</span><span -class="cmtt-8"> of</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"> $\alpha$},</span><span -class="cmtt-8"> which</span><span -class="cmtt-8"> is</span><span -class="cmtt-8"> the</span><span -class="cmtt-8"> height</span><span -class="cmtt-8"> of</span><span -class="cmtt-8"> the</span><span -class="cmtt-8"> red</span><span -class="cmtt-8"> line,</span><span -class="cmtt-8"> is</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> -<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"> {\color{sincolor}</span><span -class="cmtt-8"> \sin</span><span -class="cmtt-8"> \alpha}</span><span -class="cmtt-8"> =</span><span -class="cmtt-8"> 1/2.</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> -<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"> By</span><span -class="cmtt-8"> the</span><span -class="cmtt-8"> Theorem</span><span -class="cmtt-8"> of</span><span -class="cmtt-8"> Pythagoras</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> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> - - -<!--l. 1358--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.21 </span> <a - id="x4-450003.21"></a>Nodes</h4> -<!--l. 1360--><p class="noindent">Placing text at a given position is just a special case of a more general underlying mechanism. When you say -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\draw</span><span -class="cmtt-10"> (0,0)</span><span -class="cmtt-10"> node{text};</span></span></span>, what actually happens is that a rectangular node, anchored at its center, is put at -position (0<span -class="cmmi-10">,</span>0). On top of the rectangular node the text <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">text</span></span></span> is drawn. Since no action is specified for the rectangle -(like <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">draw</span></span></span> or <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">fill</span></span></span>), the rectangle is actually discarded and only the text is shown. However, by adding -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">fill</span></span></span> or <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">draw</span></span></span>, we can make the underlying shape visible. Furthermore, we can <span -class="cmti-10">change </span>the shape using -for example <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">shape=circle</span></span></span> or just <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">circle</span></span></span>. If we include the package <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">pgflibraryshapes</span></span></span> we also get -<span class="obeylines-h"><span class="verb"><span -class="cmtt-10">ellipse</span></span></span>: -<!--l. 1372--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"> -<table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-61-" ><colgroup id="TBL-61-1g"><col -id="TBL-61-1"><col -id="TBL-61-2"></colgroup><tr - valign="baseline" id="TBL-61-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-61-1-1" -class="td11"> <object data="pgfmanual-58.svg" width="109.37836 " height="127.49754 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-61-1-2" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \path</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> node[ellipse,fill=examplefill,draw]</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"> </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"> (h1)</span><span -class="cmtt-8"> {hello</span><span -class="cmtt-8"> world}</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"> (0.5,2)</span><span -class="cmtt-8"> node[circle,shade,ball</span><span -class="cmtt-8"> color=examplefill]</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"> </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"> (h2)</span><span -class="cmtt-8"> {hello</span><span -class="cmtt-8"> world};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> [->,shorten</span><span -class="cmtt-8"> >=2pt]</span><span -class="cmtt-8"> (h1.north)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (h2.south);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1382--><p class="indent"> As the above example shows, we can add the a name to a node by putting it in parentheses between <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">node</span></span></span> and -the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">{</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">text</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">}</span></span></span> (you can also use the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">name=</span></span></span> option). This will make Ti<span -class="cmti-10">k</span>Z remember your node and all its anchors. You -can then refer to these anchors when specifying coordinates. The syntax is <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">(</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">node name</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">.</span></span></span><span -class="cmsy-10"><</span><span -class="cmti-10">anchor</span><span -class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span -class="cmtt-10">)</span></span></span>. Currently, and -also in the near future, <span -class="cmti-10">this will not work across pictures since Ti</span>k<span -class="cmti-10">Z</span><span -class="cmti-10"> looses track of the positions when it returns</span> -<span -class="cmti-10">control to </span><span class="TEX"><span -class="cmti-10">T</span><span -class="E"><span -class="cmti-10">E</span></span><span -class="cmti-10">X</span></span><span -class="cmti-10">. </span>Magic hackery is possible for certain drivers, but a portable implementation seems impossible (just -think of a possible <span -class="cmcsc-10"><small -class="small-caps">S</small><small -class="small-caps">V</small><small -class="small-caps">G</small> </span>driver). -<!--l. 1393--><p class="indent"> The option <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">shorten</span><span -class="cmtt-10"> ></span></span></span> causes lines to be shortened by 2pt at the end. Similarly, <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">shorten</span><span -class="cmtt-10"> <</span></span></span> can be used to -shorten (or even lengthen) lines at the beginning. This is possible even if no arrow is drawn. -<!--l. 1397--><p class="indent"> It is not always necessary to specify the anchor. If you do not give an anchor, Ti<span -class="cmti-10">k</span>Z will try to determine a -reasonable border anchor by itself (if Ti<span -class="cmti-10">k</span>Z fails to find anything useful, it will use the center instead). Here is a -typical example: -<!--l. 1402--><p class="noindent"><div class="obeylines-v"></div><object data="pgfmanual-59.svg" width="267.09122 " height="115.34384 " type="image/svg+xml"><p>SVG-Viewer needed.</p></object><!--tex4ht:inline--><div class="tabular"><table class="tabular" -cellspacing="0" cellpadding="0" -frame="void" id="TBL-62-" ><colgroup id="TBL-62-1g"><col -id="TBL-62-1"></colgroup><tr - valign="baseline" id="TBL-62-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-62-1-1" -class="td11"> <table class="minipage"><tr><td><div class="obeylines-v"> -<br><span -class="cmtt-8">\begin{tikzpicture}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \begin{scope}[shape=circle,minimum</span><span -class="cmtt-8"> size=1cm,fill=examplefill]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \tikzstyle{every</span><span -class="cmtt-8"> node}=[draw,fill]</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \node</span><span -class="cmtt-8"> (q_A)</span><span -class="cmtt-8"> at</span><span -class="cmtt-8"> (0,0)</span><span -class="cmtt-8"> {$q_A$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \node</span><span -class="cmtt-8"> (q_E)</span><span -class="cmtt-8"> at</span><span -class="cmtt-8"> (6,0)</span><span -class="cmtt-8"> {$q_E$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \node</span><span -class="cmtt-8"> (q_1)</span><span -class="cmtt-8"> at</span><span -class="cmtt-8"> (2,0)</span><span -class="cmtt-8"> {$q_1$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> </span><span -class="cmtt-8"> \node</span><span -class="cmtt-8"> (q_2)</span><span -class="cmtt-8"> at</span><span -class="cmtt-8"> (4,2)</span><span -class="cmtt-8"> {$q_2$};</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \end{scope}</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw</span><span -class="cmtt-8"> (q_A)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (q_1)</span><span -class="cmtt-8"> --</span><span -class="cmtt-8"> (q_2)</span><span -class="cmtt-8"> -|</span><span -class="cmtt-8"> (q_E);</span> -<br><span -class="cmtt-8"> </span><span -class="cmtt-8"> \draw[->,shorten</span><span -class="cmtt-8"> >=2pt]</span><span -class="cmtt-8"> (q_A)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> controls</span><span -class="cmtt-8"> +(75:1.4cm)</span><span -class="cmtt-8"> and</span><span -class="cmtt-8"> +(105:1.4cm)</span><span -class="cmtt-8"> ..</span><span -class="cmtt-8"> node[above]</span><span -class="cmtt-8"> {$x$}</span><span -class="cmtt-8"> (q_A);</span> -<br><span -class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td> -</tr></table></div> -<!--l. 1416--><p class="indent"> In the example, we used the <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\node</span></span></span> command, which is an abbreviation for <span class="obeylines-h"><span class="verb"><span -class="cmtt-10">\path</span><span -class="cmtt-10"> node</span></span></span>. - - - - - - - <div class="crosslinks"><p class="noindent">[<a -href="pgfmanualse4.html" >next</a>] [<a -href="pgfmanualse2.html" >prev</a>] [<a -href="pgfmanualse2.html#tailpgfmanualse2.html" >prev-tail</a>] [<a -href="pgfmanualse3.html" >front</a>] [<a -href="pgfmanual.html#pgfmanualse3.html" >up</a>] </p></div> -<!--l. 10--><p class="indent"> <a - id="tailpgfmanualse3.html"></a> -</body></html> |