summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:56:57 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:56:57 +0000
commitf07bb53970ee2ecc53f81a206a3d3a67ef665e4a (patch)
tree6f57a1d62971db79e5ff023bdfd83b22cb971dc9 /Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html
parent007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 (diff)
doc 6
git-svn-id: svn://tug.org/texlive/trunk@85 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html1367
1 files changed, 1367 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html
new file mode 100644
index 00000000000..122d94a296f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse24.html
@@ -0,0 +1,1367 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title>24 Arrow Tips</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)">
+<meta name="originator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)">
+<!-- html -->
+<meta name="src" content="pgfmanual.tex">
+<meta name="date" content="2005-10-23 18:34:00">
+<link rel="stylesheet" type="text/css" href="pgfmanual.css">
+</head><body
+>
+ <div class="crosslinks"><p class="noindent">[<a
+href="pgfmanualse25.html" >next</a>] [<a
+href="pgfmanualse23.html" >prev</a>] [<a
+href="pgfmanualse23.html#tailpgfmanualse23.html" >prev-tail</a>] [<a
+href="#tailpgfmanualse24.html">tail</a>] [<a
+href="pgfmanual.html#pgfmanualse24.html" >up</a>] </p></div>
+ <h3 class="sectionHead"><span class="titlemark">24 </span> <a
+ id="x25-25200024"></a>Arrow Tips</h3>
+<!--l. 12--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">24.1 </span> <a
+ id="x25-25300024.1"></a>Overview</h4>
+<!--l. 14--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">24.1.1 </span> <a
+ id="x25-25400024.1.1"></a>When Does PGF Draw Arrow Tips?</h5>
+<!--l. 16--><p class="noindent"><span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;offers an interface for placing <span
+class="cmti-10">arrow tips </span>at the end of lines. The interface works as follows:
+<!--l. 19--><p class="indent">
+ <ol type="1" class="enumerate1" >
+ <li class="enumerate" value="1"
+><a
+ id="x25-254002x1"></a>You (or someone else) assigns a name to a certain kind of arrow tips. For example, the arrow tip <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">latex</span></span></span>
+ is the arrow tip used by the standard <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span>&nbsp;picture environment; the arrow tip <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">to</span></span></span> looks like the tip
+ of the arrow in <span class="TEX">T<span
+class="E">E</span>X</span>&#8217;s <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\to</span></span></span> command; and so on.
+ <!--l. 27--><p class="noindent">This is done once at the beginning of the document.
+ </li>
+ <li class="enumerate" value="2"
+><a
+ id="x25-254004x2"></a>Inside some picture, at some point you specify that in the current scope from now on you would like
+ tips of, say, kind <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">to</span></span></span> to be added at the end and/or beginning of all paths.
+ <!--l. 33--><p class="noindent">When an arrow kind has been installed and when <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;is about to stroke a path, the following things
+ happen:
+ <ol type="a" class="enumerate2" >
+ <li class="enumerate" value="1"
+><a
+ id="x25-254006x1"></a>The beginning and/or end of the path is shortened appropriately.
+ </li>
+ <li class="enumerate" value="2"
+><a
+ id="x25-254008x2"></a>The path is stroked.
+ </li>
+ <li class="enumerate" value="3"
+><a
+ id="x25-254010x3"></a>The arrow tip is drawn at the beginning and/or end of the path, appropriately rotated and
+ appropriately resized.</li></ol>
+ </li></ol>
+<!--l. 46--><p class="indent"> In the above description, there are a number of &#8220;appropriately.&#8221; The exact details are not quite trivial and
+described later on.
+<!--l. 49--><p class="noindent">
+ <h5 class="subsubsectionHead"><span class="titlemark">24.1.2 </span> <a
+ id="x25-25500024.1.2"></a>Meta-Arrow Tips</h5>
+<!--l. 51--><p class="noindent">In <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>, arrows are &#8220;meta-arrows&#8221; in the same way that fonts in <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;are &#8220;meta-fonts.&#8221; When a meta-arrow is
+resized, it is not simply scaled, but a possibly complicated transformation is applied to the size.
+<!--l. 56--><p class="indent"> A meta-font is not one particular font at a specific size with a specific stroke width (and with a large number of
+other parameters being fixed). Rather, it is a &#8220;blueprint&#8221; (actually, more like a program) for generating such a font
+at a particular size and width. This allows the designer of a meta-font to make sure that, say, the
+font is somewhat thicker and wider at very small sizes. To appreciate the difference: Compare the
+following texts: &#8220;Berlin&#8221; and &#8220;<object data="pgfmanual-552.svg" width="36.43103pt" height="6.9444pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&#8221;. The first is a &#8220;normal&#8221; text, the second is the tiny version scaled
+by a factor of two. Obviously, the first look better. Now, compare &#8220;<object data="pgfmanual-553.svg" width="13.2778pt" height="3.47221pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&#8221; and &#8220;<span
+class="cmr-5">Berlin</span>&#8221;. This time, the
+normal text was scaled down, while the second text is a &#8220;normal&#8221; tiny text. The second text is easier to
+read.
+
+
+<!--l. 71--><p class="indent"> <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&#8217;s meta-arrows work in a similar fashion: The shape of an arrow tip can vary according to the line width of
+the arrow tip is used. Thus, an arrow tip drawn at a line width of 5pt will typically <span
+class="cmti-10">not </span>be five times as large as an
+arrow tip of line width 1pt. Instead, the size of the arrow will get bigger only slowly as the line width
+increases.
+<!--l. 78--><p class="indent"> To appreciate the difference, here are the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">latex</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">to</span></span></span> arrows, as drawn by <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;at four different
+sizes:
+<!--l. 92--><p class="indent"> <object data="pgfmanual-554.svg" width="344.94086pt" height="75.55493pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>
+<!--l. 95--><p class="indent"> Here, by comparison, is the same arrow when it is simply &#8220;resized&#8221; (as done by most programs):
+<!--l. 150--><p class="indent"> <object data="pgfmanual-555.svg" width="344.94086pt" height="75.55493pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>
+<!--l. 153--><p class="indent"> As can be seen, simple scaling produces arrow tips that are way too large at larger sizes and way too small at
+smaller sizes.
+<!--l. 158--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">24.2 </span> <a
+ id="x25-25600024.2"></a>Declaring an Arrow Tip Kind</h4>
+<!--l. 160--><p class="noindent">To declare an arrow kind &#8220;from scratch,&#8221; the following command is used:
+<!--l. 164--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox274"><span
+class="cmtt-10">\pgfarrowsdeclare</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">extend code</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">arrow tip code</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-256001"></a>
+ <!--l. 165--><p class="noindent">This command declares a new arrow kind. An arrow kind has two names, which will typically be the
+ same. When the arrow tip needs to be drawn, the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">arrow tip code</span><span
+class="cmsy-10">&gt; </span>will be invoked, but the canvas
+ transformation is setup beforehand to a rotation such that when an arrow tip pointing right is specified,
+ the arrow tip that is actually drawn points in the direction of the line.
+ <!--l. 173--><p class="noindent"><span
+class="cmbx-10">Naming the arrow kind. </span>The <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt; </span>is the name used for the arrow tip when it is at the
+ start of a path, the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt; </span>is the name used at the end of a path. For example, the arrow
+ kind that looks like a parenthesis has the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">(</span></span></span> and the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">)</span></span></span> so that you can say
+ <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetarrows{(-)}</span></span></span> to specify that you want parenthesis arrows and both ends.
+ <!--l. 182--><p class="noindent">The <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt; </span>and <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt; </span>can be quite arbitrary and may contain spaces.
+ <!--l. 186--><p class="noindent"><span
+class="cmbx-10">Basics of the arrow tip code. </span>Let us next have a look at the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">arrow tip code</span><span
+class="cmsy-10">&gt;</span>. This code will be
+ used to draw the arrow tip when <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;thinks this is necessary. The code should draw an arrow that
+ &#8220;points right,&#8221; which means that is should draw an arrow at the end of a line coming from the left and
+ ending at the origin.
+ <!--l. 193--><p class="noindent">As an example, suppose we wanted to declare an arrow tip consisting of two arcs, that is, we want the arrow
+ tip to look more or less like the red part of the following picture:
+
+
+ <!--l. 196--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-475-" ><colgroup id="TBL-475-1g"><col
+id="TBL-475-1"><col
+id="TBL-475-2"></colgroup><tr
+ valign="baseline" id="TBL-475-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-475-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-556.svg" width="59.90549pt" height="23.0pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-475-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">&nbsp;width=3pt]</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[red,join=round,cap=round]</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;(-10pt,10pt)</span><span
+class="cmtt-8">&nbsp;arc</span><span
+class="cmtt-8">&nbsp;(180:270:10pt)</span><span
+class="cmtt-8">&nbsp;arc</span><span
+class="cmtt-8">&nbsp;(90:180:10pt);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 204--><p class="noindent">We could use the following as <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">arrow tip code</span><span
+class="cmsy-10">&gt; </span>for this:
+ <!--l. 205--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-476-" ><colgroup id="TBL-476-1g"><col
+id="TBL-476-1"></colgroup><tr
+ valign="baseline" id="TBL-476-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-476-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclare{arcs}{arcs}{...}</span>
+<br><span
+class="cmtt-8">{</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetdash{}{0pt}</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;do</span><span
+class="cmsltt-10x-x-80">&nbsp;not</span><span
+class="cmsltt-10x-x-80">&nbsp;dash</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetroundjoin</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;fix</span><span
+class="cmsltt-10x-x-80">&nbsp;join</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetroundcap</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;fix</span><span
+class="cmsltt-10x-x-80">&nbsp;cap</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpoint{-10pt}{10pt}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpatharc{180}{270}{10pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpatharc{90}{180}{10pt}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepathqstroke</span>
+<br><span
+class="cmtt-8">}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 218--><p class="noindent">Indeed, when the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">...</span></span></span> is set appropriately (in a moment), we can write the following:
+ <!--l. 230--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular">
+<table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-477-" ><colgroup id="TBL-477-1g"><col
+id="TBL-477-1"><col
+id="TBL-477-2"></colgroup><tr
+ valign="baseline" id="TBL-477-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-477-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-557.svg" width="59.90549pt" height="78.24504pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-477-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">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[-arcs,line</span><span
+class="cmtt-8">&nbsp;width=3pt]</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[arcs-arcs,line</span><span
+class="cmtt-8">&nbsp;width=1pt]</span><span
+class="cmtt-8">&nbsp;(-2,-1.5)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,-1);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-2,-2)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(0,0.75);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 238--><p class="noindent">As can be seen in the second example, the arrow tip is automatically rotated as needed when the arrow is
+ drawn. This is achieved by a canvas rotation.
+ <!--l. 243--><p class="noindent"><span
+class="cmbx-10">Special considerations about the arrow tip code. </span>There are several things you need to be aware of when
+ designing arrow tip code:
+ <ul class="itemize1">
+ <li class="itemize">Inside the code, you may not use the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfusepath</span></span></span> command. The reason is that this command
+ internally calls arrow construction commands, which is something you obviously do not want to
+ happen.
+ <!--l. 253--><p class="noindent">Instead of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfusepath</span></span></span>, use the quick versions. Typically, you will use <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfusepathqstroke</span></span></span>,
+ <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfusepathqfill</span></span></span>, or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfusepathqfillstroke</span></span></span>.
+ </li>
+ <li class="itemize">The code will be executed only once, namely the first time the arrow tip needs to be drawn. The
+ resulting low-level driver commands are protocoled and stored away. In all subsequent uses of the
+ arrow tip, the protocoled code is directly inserted.
+ </li>
+ <li class="itemize">However, the code will be executed anew for each line width. Thus, an arrow of line width 2pt
+ may result in a different protocol than the same arrow for a line width of 0.4pt.
+ </li>
+ <li class="itemize">If you stroke the path that you construct, you should first set the dashing to solid and setup fixed
+ joins and caps, as needed. This will ensure that the arrow tip will always look the same.
+ </li>
+ <li class="itemize">When the arrow tip code is executed, it is automatically put inside a low-level scope, so nothing
+ will &#8220;leak out&#8221; from the scope.
+
+
+ </li>
+ <li class="itemize">The high-level coordinate transformation matrix will be set to the identity matrix when the code
+ is executed for the first time.</li></ul>
+ <!--l. 280--><p class="noindent"><span
+class="cmbx-10">Designing meta-arrows. </span>The <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">arrow tip code</span><span
+class="cmsy-10">&gt; </span>should adjust the size of the arrow in accordance with the
+ line width. For a small line width, the arrow tip should be small, for a large line width, it should be
+ larger. However, the size of the arrow typically <span
+class="cmti-10">should not </span>grow in direct proportion to the line
+ width. On the other hand, the size of the arrow head typically <span
+class="cmti-10">should </span>grow &#8220;a bit&#8221; with the line
+ width.
+ <!--l. 289--><p class="noindent">For these reasons, <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;will not simply executed your arrow code within a scaled scope, where the scaling
+ depends on the line width. Instead, your <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">arrow tip code</span><span
+class="cmsy-10">&gt; </span>is reexecuted again for each different line
+ width.
+ <!--l. 294--><p class="noindent">In our example, we could use the following code for the new arrow tip kind <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">arc'</span></span></span> (note the prime):
+ <!--l. 296--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-478-" ><colgroup id="TBL-478-1g"><col
+id="TBL-478-1"></colgroup><tr
+ valign="baseline" id="TBL-478-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-478-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\newdimen\arrowsize</span>
+<br><span
+class="cmtt-8">\pgfarrowsdeclare{arcs'}{arcs'}{...}</span>
+<br><span
+class="cmtt-8">{</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\arrowsize=0.2pt</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\advance\arrowsize</span><span
+class="cmtt-8">&nbsp;by</span><span
+class="cmtt-8">&nbsp;.5\pgflinewidth</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetdash{}{0pt}</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;do</span><span
+class="cmsltt-10x-x-80">&nbsp;not</span><span
+class="cmsltt-10x-x-80">&nbsp;dash</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetroundjoin</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;fix</span><span
+class="cmsltt-10x-x-80">&nbsp;join</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetroundcap</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;fix</span><span
+class="cmsltt-10x-x-80">&nbsp;cap</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpoint{-4\arrowsize}{4\arrowsize}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpatharc{180}{270}{4\arrowsize}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpatharc{90}{180}{4\arrowsize}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepathqstroke</span>
+<br><span
+class="cmtt-8">}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 326--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-479-" ><colgroup id="TBL-479-1g"><col
+id="TBL-479-1"><col
+id="TBL-479-2"></colgroup><tr
+ valign="baseline" id="TBL-479-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-479-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-558.svg" width="59.90549pt" height="64.01866pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-479-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">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[-arcs',line</span><span
+class="cmtt-8">&nbsp;width=3pt]</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[arcs'-arcs',line</span><span
+class="cmtt-8">&nbsp;width=1pt]</span><span
+class="cmtt-8">&nbsp;(-2,-1.5)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,-1);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-2,-1.75)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(0,0.5);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 334--><p class="noindent">However, sometimes, it can also be useful to have arrows that do not resize at all when the line width changes.
+ This can be achieved by giving absolute size coordinates in the code, as done for <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">arc</span></span></span>. On the other hand, you
+ can also have the arrow resize linearly with the line width by specifying all coordinates as multiples of
+ <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgflinewidth</span></span></span>.
+ <!--l. 341--><p class="noindent"><span
+class="cmbx-10">The left and right extend. </span>Let us have another look at the exact left and right &#8220;ends&#8221; of our arrow tip. Let
+ us draw the arrow tip <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">arc'</span></span></span> at a very large size:
+ <!--l. 345--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-480-" ><colgroup id="TBL-480-1g"><col
+id="TBL-480-1"><col
+id="TBL-480-2"></colgroup><tr
+ valign="baseline" id="TBL-480-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-480-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-559.svg" width="90.45822pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-480-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">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(-2,-1)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(1,1);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[line</span><span
+class="cmtt-8">&nbsp;width=10pt,-arcs']</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[line</span><span
+class="cmtt-8">&nbsp;width=2pt,white]</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 353--><p class="noindent">As one can see, the arrow tip does not &#8220;touch&#8221; the origin as it should, but protrudes a little over the origin.
+ One remedy to this undesirable effect is to change the code of the arrow tip such that everything is
+ shifted half an <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\arrowsize</span></span></span> to the left. While this will cause the arrow tip to touch the origin, the
+ line itself will then interfere with the arrow: The arrow tip will be partly &#8220;hidden&#8221; by the line
+ itself.
+
+
+ <!--l. 361--><p class="noindent"><span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;uses a different approach to solving the problem: The <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">extend code</span><span
+class="cmsy-10">&gt; </span>argument can be used to &#8220;tell&#8221;
+ <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;how much the arrow protrudes over the origin. The argument is also used to tell <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;where the &#8220;left&#8221;
+ end of the arrow is. However, this number is important only when the arrow is being reversed or composed
+ with other arrow tips.
+ <!--l. 368--><p class="noindent">Once <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;knows the right extend of an arrow kind, it can <span
+class="cmti-10">shorten </span>lines by this amount when drawing
+ arrows.
+ <!--l. 371--><p class="noindent">Here is a picture that shows what the visualizes the extends. The arrow tip itself is shown in red once
+ more:
+ <!--l. 389--><p class="noindent"><object data="pgfmanual-560.svg" width="245.28935pt" height="180.93636pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>
+ <!--l. 392--><p class="noindent">The <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">extend code</span><span
+class="cmsy-10">&gt; </span>is normal <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;code that is executed whenever <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;wants to know how far the
+ arrow tip will protrude to the right and left. The code should call the following two commands:
+ <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfarrowsrightextend</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfarrowsleftextend</span></span></span>. Both arguments take one argument that specifies the
+ size. Here is the final code for the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">arc''</span></span></span> arrow tip:
+ <!--l. 399--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-481-" ><colgroup id="TBL-481-1g"><col
+id="TBL-481-1"><col
+id="TBL-481-2"></colgroup><tr
+ valign="baseline" id="TBL-481-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-481-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-561.svg" width="90.45822pt" height="57.10547pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-481-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclare{arcs''}{arcs''}</span>
+<br><span
+class="cmtt-8">{</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\arrowsize=0.2pt</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\advance\arrowsize</span><span
+class="cmtt-8">&nbsp;by</span><span
+class="cmtt-8">&nbsp;.5\pgflinewidth</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfarrowsleftextend{-4\arrowsize-.5\pgflinewidth}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfarrowsrightextend{.5\pgflinewidth}</span>
+<br><span
+class="cmtt-8">}</span>
+<br><span
+class="cmtt-8">{</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\arrowsize=0.2pt</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\advance\arrowsize</span><span
+class="cmtt-8">&nbsp;by</span><span
+class="cmtt-8">&nbsp;.5\pgflinewidth</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetdash{}{0pt}</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;do</span><span
+class="cmsltt-10x-x-80">&nbsp;not</span><span
+class="cmsltt-10x-x-80">&nbsp;dash</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetroundjoin</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;fix</span><span
+class="cmsltt-10x-x-80">&nbsp;join</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetroundcap</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;</span><span
+class="cmsltt-10x-x-80">%</span><span
+class="cmsltt-10x-x-80">&nbsp;fix</span><span
+class="cmsltt-10x-x-80">&nbsp;cap</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpoint{-4\arrowsize}{4\arrowsize}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpatharc{180}{270}{4\arrowsize}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepathqstroke</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpatharc{90}{180}{4\arrowsize}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepathqstroke</span>
+<br><span
+class="cmtt-8">}</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[help</span><span
+class="cmtt-8">&nbsp;lines]</span><span
+class="cmtt-8">&nbsp;(-2,-1)</span><span
+class="cmtt-8">&nbsp;grid</span><span
+class="cmtt-8">&nbsp;(1,1);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[line</span><span
+class="cmtt-8">&nbsp;width=10pt,-arcs'']</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\draw[line</span><span
+class="cmtt-8">&nbsp;width=2pt,white]</span><span
+class="cmtt-8">&nbsp;(-2,0)</span><span
+class="cmtt-8">&nbsp;--</span><span
+class="cmtt-8">&nbsp;(0,0);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+
+
+<!--l. 450--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">24.3 </span> <a
+ id="x25-25700024.3"></a>Declaring a Derived Arrow Tip Kind</h4>
+<!--l. 452--><p class="noindent">It is possible to declare arrow kinds in terms of existing ones. For these command to work correctly, the left and
+right extends must be set correctly.
+<!--l. 457--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox275"><span
+class="cmtt-10">\pgfarrowsdeclarealias</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-257001"></a>
+ <!--l. 458--><p class="noindent">This command can be used to create an alias (another name) for an existing arrow kind.
+ <!--l. 461--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-482-" ><colgroup id="TBL-482-1g"><col
+id="TBL-482-1"><col
+id="TBL-482-2"></colgroup><tr
+ valign="baseline" id="TBL-482-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-482-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-562.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-482-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclarealias{&lt;}{&gt;}{arcs''}{arcs''}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{&lt;-&gt;}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 476--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox276"><span
+class="cmtt-10">\pgfarrowsdeclarereversed</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-257002"></a>
+ <!--l. 477--><p class="noindent">This command creates a new arrow kind that is the &#8220;reverse&#8221; of an existing arrow kind. The
+ (automatically cerated) code of the new arrow kind will contain a flip of the canvas and the meanings
+ of the left and right extend will be reversed.
+ <!--l. 482--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-483-" ><colgroup id="TBL-483-1g"><col
+id="TBL-483-1"><col
+id="TBL-483-2"></colgroup><tr
+ valign="baseline" id="TBL-483-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-483-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-563.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-483-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclarereversed{arcs</span><span
+class="cmtt-8">&nbsp;reversed}{arcs</span><span
+class="cmtt-8">&nbsp;reversed}{arcs''}{arcs''}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{arcs</span><span
+class="cmtt-8">&nbsp;reversed-arcs</span><span
+class="cmtt-8">&nbsp;reversed}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 499--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox277"><span
+class="cmtt-10">\pgfarrowsdeclarecombine</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">*</span></span></span><span
+class="cmtt-10">[</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">offset</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">]</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">first start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">first end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">second start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">second end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-257003"></a>
+ <!--l. 500--><p class="noindent">This command creates a new arrow kind that combines two existing arrow kinds. The first arrow kind
+ is the &#8220;innermost&#8221; arrow kind, the second arrow kind is the &#8220;outermost.&#8221;
+
+
+ <!--l. 504--><p class="noindent">The code for the combined arrow kind will install a canvas translation before the innermost arrow kind
+ in drawn. This translation is calculated such that the right tip of the innermost arrow touches the right
+ end of the outermost arrow. The optional <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">offset</span><span
+class="cmsy-10">&gt; </span>can be used to increase (or decrease) the distance
+ between the inner and outermost arrow.
+ <!--l. 511--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-484-" ><colgroup id="TBL-484-1g"><col
+id="TBL-484-1"><col
+id="TBL-484-2"></colgroup><tr
+ valign="baseline" id="TBL-484-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-484-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-564.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-484-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclarecombine[\pgflinewidth]</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{combined}{combined}{arcs''}{arcs''}{latex}{latex}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{combined-combined}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 524--><p class="noindent">In the star variant, the end of the line is not in the outermost arrow, but inside the innermost
+ arrow.
+ <!--l. 527--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-485-" ><colgroup id="TBL-485-1g"><col
+id="TBL-485-1"><col
+id="TBL-485-2"></colgroup><tr
+ valign="baseline" id="TBL-485-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-485-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-565.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-485-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclarecombine*[\pgflinewidth]</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;{combined'}{combined'}{arcs''}{arcs''}{latex}{latex}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{combined'-combined'}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 544--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox278"><span
+class="cmtt-10">\pgfarrowsdeclaredouble</span><span
+class="cmtt-10">[</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">offset</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">]</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-257004"></a>
+ <!--l. 545--><p class="noindent">This command is a shortcut for combining an arrow kind with itself.
+ <!--l. 547--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-486-" ><colgroup id="TBL-486-1g"><col
+id="TBL-486-1"><col
+id="TBL-486-2"></colgroup><tr
+ valign="baseline" id="TBL-486-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-486-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-566.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-486-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclaredouble{&lt;&lt;}{&gt;&gt;}{arcs''}{arcs''}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{&lt;&lt;-&gt;&gt;}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+
+
+ </dd></dl>
+<!--l. 563--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox279"><span
+class="cmtt-10">\pgfarrowsdeclaretriple</span><span
+class="cmtt-10">[</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">offset</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">]</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old start name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">old end name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-257005"></a>
+ <!--l. 564--><p class="noindent">This command is a shortcut for combining an arrow kind with itself and then again.
+ <!--l. 567--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-487-" ><colgroup id="TBL-487-1g"><col
+id="TBL-487-1"><col
+id="TBL-487-2"></colgroup><tr
+ valign="baseline" id="TBL-487-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-487-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-567.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-487-1-2"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfarrowsdeclaretriple{&lt;&lt;&lt;}{&gt;&gt;&gt;}{arcs''}{arcs''}</span><span
+class="cmsltt-10x-x-80">%</span>
+<br><span
+class="cmtt-8">\begin{tikzpicture}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{&lt;&lt;&lt;-&gt;&gt;&gt;}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 584--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">24.4 </span> <a
+ id="x25-25800024.4"></a>Using an Arrow Tip Kind</h4>
+<!--l. 586--><p class="noindent">The following commands install the arrow kind that will be used when stroking is done.
+<!--l. 589--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox280"><span
+class="cmtt-10">\pgfsetarrowsstart</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start arrow kind</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-258001"></a>
+ <!--l. 590--><p class="noindent">Installs the given <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start arrow kind</span><span
+class="cmsy-10">&gt; </span>for all subsequent strokes in the in the current <span class="TEX">T<span
+class="E">E</span>X</span>-group.
+ If <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start arrow kind</span><span
+class="cmsy-10">&gt; </span>is empty, no arrow tips will be drawn at the start of the last segment of
+ paths.
+ <!--l. 594--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-488-" ><colgroup id="TBL-488-1g"><col
+id="TBL-488-1"><col
+id="TBL-488-2"></colgroup><tr
+ valign="baseline" id="TBL-488-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-488-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-568.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-488-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">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrowsstart{latex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 606--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox281"><span
+class="cmtt-10">\pgfsetarrowsend</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start arrow kind</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-258002"></a>
+
+
+ <!--l. 607--><p class="noindent">Like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetarrowsstart</span></span></span>, only for the end of the arrow.
+ <!--l. 608--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-489-" ><colgroup id="TBL-489-1g"><col
+id="TBL-489-1"><col
+id="TBL-489-2"></colgroup><tr
+ valign="baseline" id="TBL-489-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-489-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-569.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-489-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">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrowsend{latex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 620--><p class="indent"> <span
+class="cmti-10">Warning: </span>If the compatibility mode is active (which is the default), there also exist old commands called
+<span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetstartarrow</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetendarrow</span></span></span>, which are incompatible with the meta-arrow management.
+<!--l. 626--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox282"><span
+class="cmtt-10">\pgfsetarrows</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start kind</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">-</span></span></span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end kind</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx25-258003"></a>
+ <!--l. 627--><p class="noindent">Calls <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetarrowsstart</span></span></span> for <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">start kind</span><span
+class="cmsy-10">&gt; </span>and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsetarrowsend</span></span></span> for <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">end kind</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 629--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-490-" ><colgroup id="TBL-490-1g"><col
+id="TBL-490-1"><col
+id="TBL-490-2"></colgroup><tr
+ valign="baseline" id="TBL-490-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-490-1-1"
+class="td11"> &nbsp;<object data="pgfmanual-570.svg" width="113.81096pt" height="71.13184pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object>&nbsp; </td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-490-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">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetarrows{latex-to}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfsetlinewidth{1ex}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathmoveto{\pgfpointorigin}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfpathlineto{\pgfpoint{3.5cm}{2cm}}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\pgfusepath{stroke}</span>
+<br><span
+class="cmtt-8">&nbsp;</span><span
+class="cmtt-8">&nbsp;\useasboundingbox</span><span
+class="cmtt-8">&nbsp;(-0.25,-0.25)</span><span
+class="cmtt-8">&nbsp;rectangle</span><span
+class="cmtt-8">&nbsp;(3.75,2.25);</span>
+<br><span
+class="cmtt-8">\end{tikzpicture}</span></div> </td></tr></table> </td>
+</tr></table></div>
+ </dd></dl>
+<!--l. 642--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">24.5 </span> <a
+ id="x25-25900024.5"></a>Predefined Arrow Tip Kinds</h4>
+<!--l. 646--><p class="noindent">The following arrow tip kinds are always defined:
+ <div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-491-" ><colgroup id="TBL-491-1g"><col
+id="TBL-491-1"><col
+id="TBL-491-2"></colgroup><tr
+ valign="baseline" id="TBL-491-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-1-1"
+class="td11"> <a
+ id="dx25-259001"></a><a
+ id="dx25-259002"></a> <a
+ id="dx25-259003"></a><a
+ id="dx25-259004"></a> <span
+class="cmtt-10">stealth-stealth </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-1-2"
+class="td11"> yields thick <object data="pgfmanual-571.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-572.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td>
+</tr><tr
+ valign="baseline" id="TBL-491-2-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-2-1"
+class="td11"> <a
+ id="dx25-259005"></a><a
+ id="dx25-259006"></a> <a
+ id="dx25-259007"></a><a
+ id="dx25-259008"></a> <span
+class="cmtt-10">stealth reversed-stealth reversed </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-2-2"
+class="td11"> yields thick <object data="pgfmanual-573.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-574.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td>
+</tr><tr
+ valign="baseline" id="TBL-491-3-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-3-1"
+class="td11"> <a
+ id="dx25-259009"></a><a
+ id="dx25-259010"></a> <a
+ id="dx25-259011"></a><a
+ id="dx25-259012"></a> <span
+class="cmtt-10">to-to </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-3-2"
+class="td11"> yields thick <object data="pgfmanual-575.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-576.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td>
+</tr><tr
+ valign="baseline" id="TBL-491-4-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-4-1"
+class="td11"> <a
+ id="dx25-259013"></a><a
+ id="dx25-259014"></a> <a
+ id="dx25-259015"></a><a
+ id="dx25-259016"></a> <span
+class="cmtt-10">to reversed-to reversed </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-4-2"
+class="td11"> yields thick <object data="pgfmanual-577.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-578.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td>
+</tr><tr
+ valign="baseline" id="TBL-491-5-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-5-1"
+class="td11"> <a
+ id="dx25-259017"></a><a
+ id="dx25-259018"></a> <a
+ id="dx25-259019"></a><a
+ id="dx25-259020"></a> <span
+class="cmtt-10">latex-latex </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-5-2"
+class="td11"> yields thick <object data="pgfmanual-579.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-580.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td>
+</tr><tr
+ valign="baseline" id="TBL-491-6-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-6-1"
+class="td11"> <a
+ id="dx25-259021"></a><a
+ id="dx25-259022"></a> <a
+ id="dx25-259023"></a><a
+ id="dx25-259024"></a> <span
+class="cmtt-10">latex reversed-latex reversed </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-6-2"
+class="td11"> yields thick <object data="pgfmanual-581.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-582.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td>
+</tr><tr
+ valign="baseline" id="TBL-491-7-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-7-1"
+class="td11"> <a
+ id="dx25-259025"></a><a
+ id="dx25-259026"></a> <span
+class="cmtt-10">|-| </span></td><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-491-7-2"
+class="td11"> yields thick <object data="pgfmanual-583.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> and thin <object data="pgfmanual-584.svg" width="28.45274pt" height="10.76385pt" type="image/svg+xml"><p>SVG-Viewer needed.</p></object> </td> </tr></table>
+</div>
+<!--l. 672--><p class="indent"> For further arrow tips, see page&nbsp;<a
+href="pgfmanualse14.html#x15-16000014.1">176<!--tex4ht:ref: section-rules --></a>.
+
+
+
+
+
+
+ <div class="crosslinks"><p class="noindent">[<a
+href="pgfmanualse25.html" >next</a>] [<a
+href="pgfmanualse23.html" >prev</a>] [<a
+href="pgfmanualse23.html#tailpgfmanualse23.html" >prev-tail</a>] [<a
+href="pgfmanualse24.html" >front</a>] [<a
+href="pgfmanual.html#pgfmanualse24.html" >up</a>] </p></div>
+<!--l. 8--><p class="indent"> <a
+ id="tailpgfmanualse24.html"></a>
+</body></html>