summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse33.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse33.html')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse33.html1811
1 files changed, 1811 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse33.html b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse33.html
new file mode 100644
index 00000000000..7840a7e1918
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/en/pgfmanualse33.html
@@ -0,0 +1,1811 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html >
+<head><title>33 Commands of the System Layer</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="pgfmanualse34.html" >next</a>] [<a
+href="pgfmanualse32.html" >prev</a>] [<a
+href="pgfmanualse32.html#tailpgfmanualse32.html" >prev-tail</a>] [<a
+href="#tailpgfmanualse33.html">tail</a>] [<a
+href="pgfmanual.html#pgfmanualse33.html" >up</a>] </p></div>
+ <h3 class="sectionHead"><span class="titlemark">33 </span> <a
+ id="x34-31000033"></a>Commands of the System Layer</h3>
+<!--l. 11--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.1 </span> <a
+ id="x34-31100033.1"></a>Beginning and Ending a Stream of System Commands</h4>
+<!--l. 13--><p class="noindent">A &#8220;user&#8221; of the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;system layer (like the basic layer or a frontend) will interface with the system layer by calling a
+stream of commands starting with <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@</span></span></span>. From the system layer&#8217;s point of view, these commands form a long
+stream. Between calls to the system layer, control goes back to the user.
+<!--l. 19--><p class="indent"> The driver files implement system layer commands by inserting <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\special</span></span></span> commands that implement the desired
+operation. For example, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span> will be mapped to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\special{pdf:</span><span
+class="cmtt-10">&nbsp;S}</span></span></span> by the driver file for
+<span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">pdftex</span></span></span>.
+<!--l. 24--><p class="indent"> For many drivers, when such a stream of specials starts, it is necessary to install an appropriate transformation
+and perhaps perform some more bureaucratic tasks. For this reason, every stream will start with a
+<span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@beginpicture</span></span></span> and will end with a corresponding ending command.
+<!--l. 30--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox403"><span
+class="cmtt-10">\pgfsys@beginpicture</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311001"></a>
+ <!--l. 31--><p class="noindent">Called at the beginning of a <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">{pgfpicture}</span></span></span>. This command should &#8220;setup things.&#8221;
+ <!--l. 34--><p class="noindent">Most drivers will need to implement this command. </dd></dl>
+<!--l. 37--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox404"><span
+class="cmtt-10">\pgfsys@endpicture</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311002"></a>
+ <!--l. 38--><p class="noindent">Called at the end of a pgfpicture.
+ <!--l. 40--><p class="noindent">Most drivers will need to implement this command. </dd></dl>
+<!--l. 43--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox405"><span
+class="cmtt-10">\pgfsys@typesetpicturebox</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">box</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311003"></a>
+ <!--l. 44--><p class="noindent">Called <span
+class="cmti-10">after </span>a <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">{pgfpicture}</span></span></span> has been typeset. The picture will have been put in box <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">box</span><span
+class="cmsy-10">&gt;</span>. This
+ command should insert the box into the normal text. The box <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">box</span><span
+class="cmsy-10">&gt; </span>will still be a &#8220;raw&#8221; box that
+ contains only the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\special</span></span></span>&#8217;s that make up the description of the picture. The job of this command is
+ to resize and shift <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">box</span><span
+class="cmsy-10">&gt; </span>according to the baseline shift and the size of the box.
+ <!--l. 52--><p class="noindent">This command has a default implementation and need not be implemented by a driver file. </dd></dl>
+<!--l. 56--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox406"><span
+class="cmtt-10">\pgfsys@beginpurepicture</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311004"></a>
+ <!--l. 57--><p class="noindent">This version of the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@beginpicture</span></span></span> picture command can be used for pictures that are
+ guaranteed not to contain any escaped boxes (see below). In this case, a driver might provide a more
+ compact version of the command.
+ <!--l. 62--><p class="noindent">This command has a default implementation and need not be implemented by a driver file. </dd></dl>
+<!--l. 66--><p class="indent">
+
+
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox407"><span
+class="cmtt-10">\pgfsys@endpurepicture</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311005"></a>
+ <!--l. 67--><p class="noindent">Called at the end of a &#8220;pure&#8221; <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">{pgfpicture}</span></span></span>.
+ <!--l. 69--><p class="noindent">This command has a default implementation and need not be implemented by a driver file. </dd></dl>
+<!--l. 73--><p class="indent"> Inside a stream it is sometimes necessary to &#8220;escape&#8221; back into normal typesetting mode; for example to insert
+some normal text, but with all of the current transformations and clippings being in force. For this escaping, the
+following command is used:
+<!--l. 78--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox408"><span
+class="cmtt-10">\pgfsys@hbox</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">box number</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311006"></a>
+ <!--l. 79--><p class="noindent">Called to insert a (horizontal) TeX box inside a <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">{pgfpicture}</span></span></span>.
+ <!--l. 82--><p class="noindent">Most drivers will need to (re-)implement this command. </dd></dl>
+<!--l. 85--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox409"><span
+class="cmtt-10">\pgfsys@hboxsynced</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">box number</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-311007"></a>
+ <!--l. 86--><p class="noindent">Called to insert a (horizontal) TeX box inside a <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">{pgfpicture}</span></span></span>, but with the current coordiante
+ transformation matrix synced with the canvas transformation matrix.
+ <!--l. 90--><p class="noindent">This command should do the same as if you used <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgflowlevelsynccm</span></span></span> followed by <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@hbox</span></span></span>.
+ However, the default implementation of this command will use a &#8220;TeX-translation&#8221; for the translation
+ part of the transformation matrix. This will ensure that hyperlinks &#8220;survive&#8221; at least translations. On
+ the other hand, a driver may choose to revert to a simpler implementation. This is done, for example,
+ for the <span
+class="cmcsc-10"><small
+class="small-caps">S</small><small
+class="small-caps">V</small><small
+class="small-caps">G</small> </span>implementation, where a <span class="TEX">T<span
+class="E">E</span>X</span>-translation makes no sense. </dd></dl>
+<!--l. 102--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.2 </span> <a
+ id="x34-31200033.2"></a>Path Construction System Commands</h4>
+<!--l. 104--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox410"><span
+class="cmtt-10">\pgfsys@moveto</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-312001"></a>
+ <!--l. 105--><p class="noindent">This command is used to start a path at a specific point (<span
+class="cmmi-10">x,y</span>) or to move the current point of the
+ current path to (<span
+class="cmmi-10">x,y</span>) without drawing anything upon stroking (the current path is &#8220;interrupted&#8221;).
+ <!--l. 110--><p class="noindent">Both <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x</span><span
+class="cmsy-10">&gt; </span>and <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y</span><span
+class="cmsy-10">&gt; </span>are given as <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimensions. It is the driver&#8217;s job to transform these to the coordinate
+ system of the backend. Typically, this means converting the <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimension into a dimensionless
+ multiple of <img
+src="pgfmanual34x.gif" alt="1-
+72" class="frac" align="middle">in. The function <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@sys@bp</span></span></span> helps with this conversion.
+ <!--l. 116--><p class="noindent"><span
+class="cmti-10">Example: </span>Draw a line from (10pt<span
+class="cmmi-10">,</span>10pt) to the origin of the picture.
+ <!--l. 118--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-573-" ><colgroup id="TBL-573-1g"><col
+id="TBL-573-1"></colgroup><tr
+ valign="baseline" id="TBL-573-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-573-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfsys@moveto{10pt}{10pt}</span>
+<br><span
+class="cmtt-8">\pgfsys@lineto{0pt}{0pt}</span>
+<br><span
+class="cmtt-8">\pgfsys@stroke</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 124--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 128--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox411"><span
+class="cmtt-10">\pgfsys@lineto</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-312002"></a>
+ <!--l. 129--><p class="noindent">Continue the current path to (<span
+class="cmmi-10">x,y</span>) with a straight line.
+ <!--l. 132--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+
+
+<!--l. 136--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox412"><span
+class="cmtt-10">\pgfsys@curveto</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">x</span><sub ><span
+class="cmr-7">1</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">y</span><sub ><span
+class="cmr-7">1</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">x</span><sub ><span
+class="cmr-7">2</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">y</span><sub ><span
+class="cmr-7">2</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">x</span><sub ><span
+class="cmr-7">3</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmmi-10">y</span><sub ><span
+class="cmr-7">3</span></sub><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-312003"></a>
+ <!--l. 137--><p class="noindent">Continue the current path to (<span
+class="cmmi-10">x</span><sub ><span
+class="cmr-7">3</span></sub><span
+class="cmmi-10">,y</span><sub ><span
+class="cmr-7">3</span></sub>) with a B&eacute;zier curve that has the two control points (<span
+class="cmmi-10">x</span><sub ><span
+class="cmr-7">1</span></sub><span
+class="cmmi-10">,y</span><sub ><span
+class="cmr-7">1</span></sub>) and
+ (<span
+class="cmmi-10">x</span><sub ><span
+class="cmr-7">2</span></sub><span
+class="cmmi-10">,y</span><sub ><span
+class="cmr-7">2</span></sub>).
+ <!--l. 140--><p class="noindent"><span
+class="cmti-10">Example: </span>Draw a good approximation of a quarter circle:
+ <!--l. 141--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-574-" ><colgroup id="TBL-574-1g"><col
+id="TBL-574-1"></colgroup><tr
+ valign="baseline" id="TBL-574-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-574-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfsys@moveto{10pt}{0pt}</span>
+<br><span
+class="cmtt-8">\pgfsys@curveto{10pt}{5.55pt}{5.55pt}{10pt}{0pt}{10pt}</span>
+<br><span
+class="cmtt-8">\pgfsys@stroke</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 147--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 151--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox413"><span
+class="cmtt-10">\pgfsys@rect</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">width</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">height</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-312004"></a>
+ <!--l. 152--><p class="noindent">Append a rectangle to the current path whose lower left corner is at (<span
+class="cmmi-10">x,y</span>) and whose width and height
+ in big points are given by <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">width</span><span
+class="cmsy-10">&gt; </span>and <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">height</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 156--><p class="noindent">This command can be &#8220;mapped back&#8221; to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@moveto</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@lineto</span></span></span> commands, but it is
+ included since <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;has a special, quick version of this command.
+ <!--l. 160--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 164--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox414"><span
+class="cmtt-10">\pgfsys@closepath</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-312005"></a>
+ <!--l. 165--><p class="noindent">Close the current path. This results in joining the current point of the path with the point specified
+ by the last <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@moveto</span></span></span> operation. Typically, this is preferable over using <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@lineto</span></span></span> to the
+ last point specified by a <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@moveto</span></span></span>, since the line starting at this point and the line ending at
+ this point will be smoothly joined by <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@closepath</span></span></span>.
+ <!--l. 172--><p class="noindent"><span
+class="cmti-10">Example: </span>Consider
+ <!--l. 173--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-575-" ><colgroup id="TBL-575-1g"><col
+id="TBL-575-1"></colgroup><tr
+ valign="baseline" id="TBL-575-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-575-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfsys@moveto{0pt}{0pt}</span>
+<br><span
+class="cmtt-8">\pgfsys@lineto{10bp}{10bp}</span>
+<br><span
+class="cmtt-8">\pgfsys@lineto{0bp}{10bp}</span>
+<br><span
+class="cmtt-8">\pgfsys@closepath</span>
+<br><span
+class="cmtt-8">\pgfsys@stroke</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 180--><p class="noindent">and
+ <!--l. 181--><p class="noindent"><div class="obeylines-v"></div><!--tex4ht:inline--><div class="tabular"><table class="tabular"
+cellspacing="0" cellpadding="0"
+frame="void" id="TBL-576-" ><colgroup id="TBL-576-1g"><col
+id="TBL-576-1"></colgroup><tr
+ valign="baseline" id="TBL-576-1-"><td align="left" style="white-space:nowrap; text-align:left;" id="TBL-576-1-1"
+class="td11"> <table class="minipage"><tr><td><div class="obeylines-v">
+<br><span
+class="cmtt-8">\pgfsys@moveto{0bp}{0bp}</span>
+<br><span
+class="cmtt-8">\pgfsys@lineto{10bp}{10bp}</span>
+<br><span
+class="cmtt-8">\pgfsys@lineto{0bp}{10bp}</span>
+<br><span
+class="cmtt-8">\pgfsys@lineto{0bp}{0bp}</span>
+<br><span
+class="cmtt-8">\pgfsys@stroke</span></div> </td></tr></table> </td>
+</tr></table></div>
+ <!--l. 189--><p class="noindent">The difference between the above will be that in the second triangle the corner at the origin will be
+ wrong; it will just be the overlay of two lines going in different directions, not a sharp pointed
+ corner.
+ <!--l. 194--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+
+
+<!--l. 200--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.3 </span> <a
+ id="x34-31300033.3"></a>Canvas Transformation System Commands</h4>
+<!--l. 202--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox415"><span
+class="cmtt-10">\pgfsys@transformcm</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">a</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">b</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">c</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">d</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">e</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">f </span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-313001"></a>
+ <!--l. 203--><p class="noindent">Perform a concatenation of the canvas transformation matrix with the matrix given by the values <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">a</span><span
+class="cmsy-10">&gt;</span>
+ to <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">f </span><span
+class="cmsy-10">&gt;</span>, see the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;or PostScript manual for details. The values <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">a</span><span
+class="cmsy-10">&gt; </span>to <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">d</span><span
+class="cmsy-10">&gt; </span>are dimensionless factors,
+ <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">e</span><span
+class="cmsy-10">&gt; </span>and <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">f </span><span
+class="cmsy-10">&gt; </span>are <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimensions
+ <!--l. 208--><p class="noindent"><span
+class="cmti-10">Example: </span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@transformcm{1}{0}{0}{1}{1cm}{1cm}</span></span></span>.
+ <!--l. 210--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 214--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox416"><span
+class="cmtt-10">\pgfsys@transformshift</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x displacement</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y displacement</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-313002"></a>
+ <!--l. 215--><p class="noindent">This command will change the origin of the canvas to (<span
+class="cmmi-10">x,y</span>).
+ <!--l. 217--><p class="noindent">This command has a default implementation and need not be implemented by a driver file.
+ <!--l. 220--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 223--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox417"><span
+class="cmtt-10">\pgfsys@transformxyscale</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x scale</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y scale</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-313003"></a>
+ <!--l. 224--><p class="noindent">This command will scale the canvas (and everything that is drawn) by a factor of <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">x scale</span><span
+class="cmsy-10">&gt; </span>in the
+ <span
+class="cmmi-10">x</span>-direction and <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">y scale</span><span
+class="cmsy-10">&gt; </span>in the <span
+class="cmmi-10">y</span>-direction. Note that this applies to everything, including lines. So a
+ scaled line will have a different width and may even have a different width when going along the <span
+class="cmmi-10">x</span>-axis
+ and when going along the <span
+class="cmmi-10">y</span>-axis, if the scaling is different in these directions. Usually, you do not want
+ this.
+ <!--l. 232--><p class="noindent">This command has a default implementation and need not be implemented by a driver file.
+ <!--l. 235--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 239--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.4 </span> <a
+ id="x34-31400033.4"></a>Stroking, Filling, and Clipping System Commands</h4>
+<!--l. 241--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox418"><span
+class="cmtt-10">\pgfsys@stroke</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-314001"></a>
+ <!--l. 242--><p class="noindent">Stroke the current path (as if it were drawn with a pen). A number of graphic state parameters influence
+ this, which can be set using appropriate system commands described later.
+ <!--l. 246--><p class="noindent">
+ <dl class="description"><dt class="description">
+ <span
+class="cmbx-10">Line width</span> </dt><dd
+class="description">The &#8220;thickness&#8221; of the line. A width of 0 is the thinnest width renderable on the device.
+ On a high-resolution printer this may become invisible and should be avoided. A good choice is
+ 0.4pt, which is the default.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Stroke color</span> </dt><dd
+class="description">This special color is used for stroking. If it is not set, the current color is used.
+
+
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Cap</span> </dt><dd
+class="description">The cap describes how the endings of lines are drawn. A round cap adds a little half circle to
+ these endings. A butt cap ends the lines exactly at the end (or start) point without anything
+ added. A rectangular cap ends the lines like the butt cap, but the lines protrude over the endpoint
+ by the line thickness. (See also the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;manual.) If the path has been closed, no cap is drawn.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Join</span> </dt><dd
+class="description">This describes how a bend (a join) in a path is rendered. A round join draws bends using small
+ arcs. A bevel join just draws the two lines and then fills the join minimally so that it becomes
+ convex. A miter join extends the lines so that they form a single sharp corner, but only up to a
+ certain miter limit. (See the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;manual once more.)
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Dash</span> </dt><dd
+class="description">The line may be dashed according to a dashing pattern.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Clipping area</span> </dt><dd
+class="description">If a clipping area is established, only those parts of the path that are inside the clipping
+ area will be drawn.</dd></dl>
+ <!--l. 282--><p class="noindent">In addition to stroking a path, the path may also be used for clipping after it has been stroked. This will
+ happen if the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@clipnext</span></span></span> is used prior to this command, see there for details.
+ <!--l. 287--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 291--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox419"><span
+class="cmtt-10">\pgfsys@closestroke</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-314002"></a>
+ <!--l. 292--><p class="noindent">This command should have the same effect as first closing the path and then stroking it.
+ <!--l. 295--><p class="noindent">This command has a default implementation and need not be implemented by a driver file.
+ <!--l. 298--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 302--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox420"><span
+class="cmtt-10">\pgfsys@fill</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-314003"></a>
+ <!--l. 303--><p class="noindent">This command fills the area surrounded by the current path. If the path has not yet been closed, it
+ is closed prior to filling. The path itself is not stroked. For self-intersecting paths or paths consisting
+ of multiple parts, the nonzero winding number rule is used to determine whether a point is inside or
+ outside the path, except if <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\ifpgfsys@eorule</span></span></span> holds - in which case the even-odd rule should be used.
+ (See the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;or PostScript manual for details.)
+ <!--l. 312--><p class="noindent">The following graphic state parameters influence the filling:
+ <!--l. 314--><p class="noindent">
+ <dl class="description"><dt class="description">
+ <span
+class="cmbx-10">Interior rule</span> </dt><dd
+class="description">If <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\ifpgfsys@eorule</span></span></span> is set, the even-odd rule is used, otherwise the non-zero winding
+ number rule.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Fill color</span> </dt><dd
+class="description">If the fill color is not especially set, the current color is used.
+ </dd><dt class="description">
+ <span
+class="cmbx-10">Clipping area</span> </dt><dd
+class="description">If a clipping area is established, only those parts of the filling area that are inside the
+ clipping area will be drawn.</dd></dl>
+ <!--l. 328--><p class="noindent">In addition to filling the path, the path will also be used for clipping if <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@clipnext</span></span></span> is used prior to this
+ command.
+ <!--l. 331--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 334--><p class="noindent">
+
+
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox421"><span
+class="cmtt-10">\pgfsys@fillstroke</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-314004"></a>
+ <!--l. 335--><p class="noindent">First, the path is filled, then the path is stroked. If the fill and stroke colors are the same (or if they are
+ not specified and the current color is used), this yields almost the same as a <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@fill</span></span></span>. However,
+ due to the line thickness of the stroked path, the fill-stroked area will be slightly larger.
+ <!--l. 341--><p class="noindent">In addition to stroking and filling the path, the path will also be used for clipping if <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@clipnext</span></span></span>
+ is used prior to this command.
+ <!--l. 344--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 348--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox422"><span
+class="cmtt-10">\pgfsys@discardpath</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-314005"></a>
+ <!--l. 349--><p class="noindent">Normally, this command should &#8220;throw away&#8221; the current path. However, after <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@clipnext</span></span></span>
+ has been called, the current path should subsequently be used for clipping. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@clipnext</span></span></span> for
+ details.
+ <!--l. 354--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 358--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox423"><span
+class="cmtt-10">\pgfsys@clipnext</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-314006"></a>
+ <!--l. 359--><p class="noindent">This command should be issued after a path has been constructed, but before it has been stroked and/or
+ filled or discarded. When the command is used, the next stroking/filling/discarding command will first
+ be executed normally. Then, afterwards, the just-used path will be used for subsequent clipping. If
+ there has already been a clipping region, this region is intersected with the new clipping path (the
+ clipping cannot get bigger). The nonzero winding number rule is used to determine whether a point
+ is inside or outside the clipping area or the even-odd rule, depending on whether <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\ifpgfsys@eorule</span></span></span>
+ holds. </dd></dl>
+<!--l. 374--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.5 </span> <a
+ id="x34-31500033.5"></a>Graphic State Option System Commands</h4>
+<!--l. 376--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox424"><span
+class="cmtt-10">\pgfsys@setlinewidth</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">width</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315001"></a>
+ <!--l. 377--><p class="noindent">Sets the width of lines, when stroked, to <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">width</span><span
+class="cmsy-10">&gt;</span>, which must be a <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimension.
+ <!--l. 380--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 383--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox425"><span
+class="cmtt-10">\pgfsys@buttcap</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315002"></a>
+ <!--l. 384--><p class="noindent">Sets the cap to a butt cap. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span>.
+ <!--l. 386--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 389--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox426"><span
+class="cmtt-10">\pgfsys@roundcap</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315003"></a>
+ <!--l. 390--><p class="noindent">Sets the cap to a round cap. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span>.
+ <!--l. 392--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+
+
+<!--l. 395--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox427"><span
+class="cmtt-10">\pgfsys@rectcap</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315004"></a>
+ <!--l. 396--><p class="noindent">Sets the cap to a rectangular cap. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span>.
+ <!--l. 398--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 401--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox428"><span
+class="cmtt-10">\pgfsys@miterjoin</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315005"></a>
+ <!--l. 402--><p class="noindent">Sets the join to a miter join. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span>.
+ <!--l. 404--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 407--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox429"><span
+class="cmtt-10">\pgfsys@setmiterlimit</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">factor</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315006"></a>
+ <!--l. 408--><p class="noindent">Sets the miter limit of lines to <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">factor</span><span
+class="cmsy-10">&gt;</span>. See the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;or PostScript for details on what the miter limit
+ is.
+ <!--l. 411--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 414--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox430"><span
+class="cmtt-10">\pgfsys@roundjoin</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315007"></a>
+ <!--l. 415--><p class="noindent">Sets the join to a round join. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span>.
+ <!--l. 417--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 420--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox431"><span
+class="cmtt-10">\pgfsys@beveljoin</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315008"></a>
+ <!--l. 421--><p class="noindent">Sets the join to a bevel join. See <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span>.
+ <!--l. 423--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 426--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox432"><span
+class="cmtt-10">\pgfsys@setdash</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">pattern</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">phase</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315009"></a>
+ <!--l. 427--><p class="noindent">Sets the dashing patter. <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">pattern</span><span
+class="cmsy-10">&gt; </span>should be a list of <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimensions lengths separated by commas.
+ <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">phase</span><span
+class="cmsy-10">&gt; </span>should be a single dimension.
+ <!--l. 431--><p class="noindent"><span
+class="cmti-10">Example: </span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@setdash{3pt,3pt}{0pt}</span></span></span>
+ <!--l. 433--><p class="noindent">The list of values in <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">pattern</span><span
+class="cmsy-10">&gt; </span>is used to determine the lengths of the &#8220;on&#8221; phases of the dashing and
+ of the &#8220;off&#8221; phases. For example, if <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">pattern</span><span
+class="cmsy-10">&gt; </span>is <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">3bp,4bp</span></span></span>, then the dashing pattern is &#8220;3bp on followed
+ by 4bp off, followed by 3bp on, followed by 4bp off, and so on.&#8221; A pattern of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">.5pt,4pt,3pt,1.5pt</span></span></span>
+ means &#8220;.5pt on, 4pt off, 3pt on, 1.5pt off, .5pt on, ...&#8221; If the number of entries is odd, the last one is
+ used twice, so <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">3pt</span></span></span> means &#8220;3pt on, 3pt off, 3pt on, 3pt off, ...&#8221; An empty list means &#8220;always on.&#8221;
+ <!--l. 443--><p class="noindent">The second argument determines the &#8220;phase&#8221; of the pattern. For example, for a pattern of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">3bp,4bp</span></span></span>
+ and a phase of <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">1bp</span></span></span>, the pattern would start: &#8220;2bp on, 4bp off, 3bp on, 4bp off, 3bp on, 4bp off, ...&#8221;
+ <!--l. 448--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+
+
+<!--l. 452--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox433"><span
+class="cmtt-10">\ifpgfsys@eorule</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315010"></a>
+ <!--l. 453--><p class="noindent">Determines whether the even odd rule is used for filling and clipping or not. </dd></dl>
+<!--l. 458--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox434"><span
+class="cmtt-10">\pgfsys@stroke@opacity</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">value</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315011"></a>
+ <!--l. 459--><p class="noindent">Sets the opacity of stroking operations. </dd></dl>
+<!--l. 462--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox435"><span
+class="cmtt-10">\pgfsys@fill@opacity</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">value</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-315012"></a>
+ <!--l. 463--><p class="noindent">Sets the opacity of filling operations. </dd></dl>
+<!--l. 467--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.6 </span> <a
+ id="x34-31600033.6"></a>Color System Commands</h4>
+<!--l. 469--><p class="noindent">The <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;system layer provides a number of system commands for setting colors. These command coexist with
+commands from the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">color</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">xcolor</span></span></span> package, which perform similar functions. However, the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">color</span></span></span> package does
+not support having two different colors for stroking and filling, which is a useful feature that is supported by <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>.
+For this reason, the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;system layer offers commands for setting these colors separatedly. Also, plain <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;profits
+from the fact that <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;can set colors.
+<!--l. 478--><p class="indent"> For <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>, implementing these color commands is easy since <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;supports different stroking and
+filling colors directly. For PostScript, a more complicated approach is needed in which the colors need
+to be stored in special PostScript variables that are set whenever a stroking or a filling operation is
+done.
+<!--l. 484--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox436"><span
+class="cmtt-10">\pgfsys@color@rgb</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">red</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">green</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">blue</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316001"></a>
+ <!--l. 485--><p class="noindent">Sets the color used for stroking and filling operations to the given red/green/blue tuple (numbers
+ between 0 and 1).
+ <!--l. 488--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 491--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox437"><span
+class="cmtt-10">\pgfsys@color@rgb@stroke</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">red</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">green</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">blue</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316002"></a>
+ <!--l. 492--><p class="noindent">Sets the color used for stroking operations to the given red/green/blue tuple (numbers between 0 and
+ 1).
+ <!--l. 495--><p class="noindent"><span
+class="cmti-10">Example: </span>Make stroked text dark red: <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@rgb@stroke{0.5}{0}{0}</span></span></span>
+ <!--l. 497--><p class="noindent">The special stroking color is only used if the stroking color has been set since the last <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\color</span></span></span> or
+ <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@xxx</span></span></span> command. Thus, each <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\color</span></span></span> command will reset both the stroking and filling
+ colors by calling <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@reset</span></span></span>.
+ <!--l. 502--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 505--><p class="indent">
+
+
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox438"><span
+class="cmtt-10">\pgfsys@color@rgb@fill</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">red</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">green</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">blue</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316003"></a>
+ <!--l. 506--><p class="noindent">Sets the color used for filling operations to the given red/green/blue tuple (numbers between 0 and 1).
+ This color may be different from the stroking color.
+ <!--l. 510--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 513--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox439"><span
+class="cmtt-10">\pgfsys@color@cmyk</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">cyan</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">magenta</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">yellow</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">black</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316004"></a>
+ <!--l. 514--><p class="noindent">Sets the color used for stroking and filling operations to the given cymk tuple (numbers between 0 and
+ 1).
+ <!--l. 517--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 520--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox440"><span
+class="cmtt-10">\pgfsys@color@cmyk@stroke</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">cyan</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">magenta</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">yellow</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">black</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316005"></a>
+ <!--l. 521--><p class="noindent">Sets the color used for stroking operations to the given cymk tuple (numbers between 0 and 1).
+ <!--l. 524--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 527--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox441"><span
+class="cmtt-10">\pgfsys@color@cmyk@fill</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">cyan</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">magenta</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">yellow</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">black</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316006"></a>
+ <!--l. 528--><p class="noindent">Sets the color used for filling operations to the given cymk tuple (numbers between 0 and 1).
+ <!--l. 531--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 534--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox442"><span
+class="cmtt-10">\pgfsys@color@cmy</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">cyan</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">magenta</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">yellow</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316007"></a>
+ <!--l. 535--><p class="noindent">Sets the color used for stroking and filling operations to the given cym tuple (numbers between 0 and
+ 1).
+ <!--l. 538--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 541--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox443"><span
+class="cmtt-10">\pgfsys@color@cmy@stroke</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">cyan</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">magenta</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">yellow</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316008"></a>
+ <!--l. 542--><p class="noindent">Sets the color used for stroking operations to the given cym tuple (numbers between 0 and 1).
+ <!--l. 545--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 548--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox444"><span
+class="cmtt-10">\pgfsys@color@cmy@fill</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">cyan</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">magenta</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">yellow</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316009"></a>
+ <!--l. 549--><p class="noindent">Sets the color used for filling operations to the given cym tuple (numbers between 0 and 1).
+ <!--l. 552--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 555--><p class="indent">
+
+
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox445"><span
+class="cmtt-10">\pgfsys@color@gray</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">black</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316010"></a>
+ <!--l. 556--><p class="noindent">Sets the color used for stroking and filling operations to the given black value, where 0 means black
+ and 1 means white.
+ <!--l. 559--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 562--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox446"><span
+class="cmtt-10">\pgfsys@color@gray@stroke</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">black</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316011"></a>
+ <!--l. 563--><p class="noindent">Sets the color used for stroking operations to the given black value, where 0 means black and 1 means
+ white.
+ <!--l. 566--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 569--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox447"><span
+class="cmtt-10">\pgfsys@color@gray@fill</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">black</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316012"></a>
+ <!--l. 570--><p class="noindent">Sets the color used for filling operations to the given black value, where 0 means black and 1 means
+ white.
+ <!--l. 573--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 576--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox448"><span
+class="cmtt-10">\pgfsys@color@reset</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316013"></a>
+ <!--l. 577--><p class="noindent">This command will be called when the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\color</span></span></span> command is used. It should purge any internal settings of
+ stroking and filling color. After this call, till the next use of a command like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@rgb@fill</span></span></span>,
+ the current color installed by the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\color</span></span></span> command should be used.
+ <!--l. 583--><p class="noindent">If the <span class="TEX">T<span
+class="E">E</span>X</span>-if <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@reset@inorder</span></span></span> is set to true, this command may &#8220;assume&#8221; that any
+ call to a color command that sets the fill or stroke color came &#8220;before&#8221; the call to this command and
+ may try to optimize the output accordingly.
+ <!--l. 588--><p class="noindent">An example of an incorrect &#8220;out of order&#8221; call would be using <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@reset</span></span></span> at the beginning
+ of a box that is constructed using <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\setbox</span></span></span>. Then, when the box is constructed, no special fill or stroke
+ color might be in force. However, when the box is later on inserted at some point, a special fill color
+ might already have been set. In this case, this command is not guaranteed to reset the color correctly.
+ </dd></dl>
+<!--l. 597--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox449"><span
+class="cmtt-10">\pgfsys@color@reset@inordertrue</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316014"></a>
+ <!--l. 598--><p class="noindent">Sets the optimized &#8220;in order&#8221; version of the color resetting. This is the default. </dd></dl>
+<!--l. 602--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox450"><span
+class="cmtt-10">\pgfsys@color@reset@inorderfalse</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316015"></a>
+ <!--l. 603--><p class="noindent">Switches off the optimized color resetting. </dd></dl>
+<!--l. 606--><p class="indent">
+
+
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox451"><span
+class="cmtt-10">\pgfsys@color@unstacked</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span class="LATEX"><span
+class="cmti-10">L</span><span class="A"><span
+class="cmti-10">A</span></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><span
+class="cmti-10">&nbsp;color</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-316016"></a>
+ <!--l. 607--><p class="noindent">This slightly obscure command causes the color stack to be tricked. When called, this command should
+ set the current color to <span
+class="cmsy-10">&lt;</span><span class="LATEX"><span
+class="cmti-10">L</span><span class="A"><span
+class="cmti-10">A</span></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><span
+class="cmti-10">&nbsp;color</span><span
+class="cmsy-10">&gt; </span>without causing any change in the color stack.
+ <!--l. 611--><p class="noindent"><span
+class="cmti-10">Example: </span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@color@unstacked{red}</span></span></span> </dd></dl>
+<!--l. 615--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.7 </span> <a
+ id="x34-31700033.7"></a>Scoping System Commands</h4>
+<!--l. 617--><p class="noindent">The scoping commands are used to keep changes of the graphics state local.
+<!--l. 620--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox452"><span
+class="cmtt-10">\pgfsys@beginscope</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-317001"></a>
+ <!--l. 621--><p class="noindent">Saves the current graphic state on a graphic state stack. All changes to the graphic state parameters
+ mentioned for <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@stroke</span></span></span> and <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@fill</span></span></span> will be local to the current graphic state and the
+ old values will be restored after <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@endscope</span></span></span> is used.
+ <!--l. 626--><p class="noindent"><span
+class="cmti-10">Warning: </span><span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;and PostScript differ with respect to the question of whether the current path is part
+ of the graphic state or not. For this reason, you should never use this command unless the path is
+ currently empty. For example, it might be a good idea to use <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@discardpath</span></span></span> prior to calling
+ this command.
+ <!--l. 632--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 635--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox453"><span
+class="cmtt-10">\pgfsys@endscope</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-317002"></a>
+ <!--l. 636--><p class="noindent">Restores the last saved graphic state.
+ <!--l. 638--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 647--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.8 </span> <a
+ id="x34-31800033.8"></a>Image System Commands</h4>
+<!--l. 649--><p class="noindent">The system layer provides some commands for image inclusion.
+<!--l. 651--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox454"><span
+class="cmtt-10">\pgfsys@imagesuffixlist</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-318001"></a>
+ <!--l. 652--><p class="noindent">This macro should expand to a list of suffixes, separated by &#8216;:&#8217;, that will be tried when searching for
+ an image.
+ <!--l. 655--><p class="noindent"><span
+class="cmti-10">Example: </span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\def\pgfsys@imagesuffixlist{eps:epsi:ps}</span></span></span> </dd></dl>
+<!--l. 659--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox455"><span
+class="cmtt-10">\pgfsys@defineimage</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-318002"></a>
+ <!--l. 660--><p class="noindent">Called, when an image should be defined.
+ <!--l. 662--><p class="noindent">This command does not take any parameters. Instead, certain macros will be preinstalled with
+ appropriate values when this command is invoked. These are:
+
+
+ <ul class="itemize1">
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@filename</span></span></span> File name of the image to be defined.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@imagewidth</span></span></span> Will be set to the desired (scaled) width of the image.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@imageheight</span></span></span> Will be set to the desired (scaled) height of the image.
+ <!--l. 676--><p class="noindent">If this macro and also the height macro are empty, the image should have its &#8220;natural&#8221; size.
+ <!--l. 679--><p class="noindent">If exactly only of them is specified, the undefined value the image is scaled so that the aspect
+ ratio is kept.
+ <!--l. 682--><p class="noindent">If both are set, the image is scaled in both directions independently, possibly changing the aspect
+ ratio.</li></ul>
+ <!--l. 686--><p class="noindent">The following macros presumable mostly make sense for drivers that can handle <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>:
+ <ul class="itemize1">
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@imagepage</span></span></span> The desired page number to be extracted from a multi-page &#8220;image.&#8221;
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@imagemask</span></span></span> If set, it will be set to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">/SMask</span><span
+class="cmtt-10">&nbsp;x</span><span
+class="cmtt-10">&nbsp;0</span><span
+class="cmtt-10">&nbsp;R</span></span></span> where <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">x</span></span></span> is the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;object number of a
+ soft mask to be applied to the image.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@imageinterpolate</span></span></span> If set, it will be set to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">/Interpolate</span><span
+class="cmtt-10">&nbsp;true</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">/Interpolate</span><span
+class="cmtt-10">&nbsp;false</span></span></span>,
+ indicating whether the image should be interpolated in <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>.</li></ul>
+ <!--l. 704--><p class="noindent">The command should now setup the macro <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@image</span></span></span> such that calling this macro will result in typesetting
+ the image. Thus, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@image</span></span></span> is the &#8220;return value&#8221; of the command.
+ <!--l. 708--><p class="noindent">This command has a default implementation and need not be implemented by a driver file. </dd></dl>
+<!--l. 713--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox456"><span
+class="cmtt-10">\pgfsys@definemask</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-318003"></a>
+ <!--l. 714--><p class="noindent">This command declares a mask for usage with images. It works similar to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@defineimage</span></span></span>:
+ Certain macros are set when the command is called. The result should be to set the macro <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@mask</span></span></span>
+ to a pdf object count that can subsequently be used as a soft mask. The following macros will be set
+ when this command is invoked:
+ <ul class="itemize1">
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@filename</span></span></span> File name of the mask to be defined.
+ </li>
+ <li class="itemize"><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@maskmatte</span></span></span> The so-called matte of the mask (see the <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;documentation for details). The
+ matte is a color specification consisting of 1, 3 or 4 numbers between 0 and 1. The number of
+ numbers depends on the number of color channels in the image (not in the mask!). It will be
+ assumed that the image has been preblended with this color.</li></ul>
+ </dd></dl>
+<!--l. 734--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.9 </span> <a
+ id="x34-31900033.9"></a>Shading System Commands</h4>
+<!--l. 737--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox457"><span
+class="cmtt-10">\pgfsys@horishading</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">height</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">specification</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-319001"></a>
+
+
+ <!--l. 738--><p class="noindent">Declares a horizontal shading for later use. The effect of this command should be the definition of
+ a macro called <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\@pgfshading</span></span></span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">!</span></span></span> (or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\csname</span><span
+class="cmtt-10">&nbsp;@pdfshading</span></span></span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">!\endcsname</span></span></span>, to be precise).
+ When invoked, this new macro should insert a shading at the current position.
+ <!--l. 744--><p class="noindent"><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt; </span>is the name of the shading, which is also used in the output macro name. <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">height</span><span
+class="cmsy-10">&gt; </span>is the height
+ of the shading and must be given as a TeX dimension like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">2cm</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">10pt</span></span></span>. <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">specification</span><span
+class="cmsy-10">&gt; </span>is a shading
+ color specification as specified in Section&nbsp;<a
+href="pgfmanualse28.html#x29-28600028">28<!--tex4ht:ref: section-shadings --></a>. The shading specification implicitly fixes the width of the
+ shading.
+ <!--l. 751--><p class="noindent">When <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\@pgfshading</span></span></span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">!</span></span></span> is invoked, it should insert a box of height <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">height</span><span
+class="cmsy-10">&gt; </span>and the width implicit
+ in the shading declaration. </dd></dl>
+<!--l. 757--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox458"><span
+class="cmtt-10">\pgfsys@vertshading</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">width</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">specification</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-319002"></a>
+ <!--l. 758--><p class="noindent">Like the horizontal version, only for vertical shadings. This time, the height of the shading is implicit
+ in <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">specification</span><span
+class="cmsy-10">&gt; </span>and the width is given as <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">width</span><span
+class="cmsy-10">&gt;</span>. </dd></dl>
+<!--l. 763--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox459"><span
+class="cmtt-10">\pgfsys@radialshading</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">starting point</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">specification</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-319003"></a>
+ <!--l. 764--><p class="noindent">Declares a radial shading. Like the previous macros, this command should setup the macro
+ <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\@pgfshading</span></span></span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">!</span></span></span>, which upon invocation should insert a radial shading whose size is implicit in
+ <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">specification</span><span
+class="cmsy-10">&gt;</span>.
+ <!--l. 769--><p class="noindent">The parameter <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">starting point</span><span
+class="cmsy-10">&gt; </span>is a <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;point specifying the inner starting point of the shading. </dd></dl>
+<!--l. 774--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.10 </span> <a
+ id="x34-32000033.10"></a>Reusable Objects System Commands</h4>
+<!--l. 776--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox460"><span
+class="cmtt-10">\pgfsys@invoke</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">literals</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-320001"></a>
+ <!--l. 777--><p class="noindent">This command gets protocoled literals and should insert them into the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">.pdf</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">.dvi</span></span></span> file using an
+ appropriate <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\special</span></span></span>. </dd></dl>
+<!--l. 782--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox461"><span
+class="cmtt-10">\pgfsys@defobject</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">lower left</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">upper right</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">code</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-320002"></a>
+ <!--l. 783--><p class="noindent">Declares an object for later use. The idea is that the object can be precached in some way and then
+ be rendered more quickly when used several times. For example, an arrow head might be defined and
+ prerendered in this way.
+ <!--l. 788--><p class="noindent">The parameter <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt; </span>is the name for later use. <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">lower left</span><span
+class="cmsy-10">&gt; </span>and <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">upper right</span><span
+class="cmsy-10">&gt; </span>are <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">G</small><small
+class="small-caps">F</small></span>&nbsp;points specifying
+ a bounding box for the object. <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">code</span><span
+class="cmsy-10">&gt; </span>is the code for the object. The code should not be too fancy.
+ <!--l. 793--><p class="noindent">This command has a default implementation and need not be implemented by a driver file. </dd></dl>
+<!--l. 797--><p class="noindent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox462"><span
+class="cmtt-10">\pgfsys@useobject</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">name</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">extra code</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-320003"></a>
+ <!--l. 798--><p class="noindent">Renders a previously declared object. The first parameter is the name of the the object. The second
+ parameter is extra code that should be executed right <span
+class="cmti-10">before </span>the object is rendered. Typically, this will
+ be some transformation code.
+ <!--l. 803--><p class="noindent">This command has a default implementation and need not be implemented by a driver file. </dd></dl>
+
+
+<!--l. 808--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.11 </span> <a
+ id="x34-32100033.11"></a>Invisibility System Commands</h4>
+<!--l. 810--><p class="noindent">All drawing or stroking or text rendering between calls of the following commands should be suppressed. A similar
+effect can be achieved by clipping against an empty region, but the following commands do not open a graphics
+scope and can be opened and closed &#8220;orthogonally&#8221; to other scopes.
+<!--l. 816--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox463"><span
+class="cmtt-10">\pgfsys@begininvisible</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-321001"></a>
+ <!--l. 817--><p class="noindent">Between this command and the closing <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgfsys@endinvisible</span></span></span> all output should be suppressed.
+ Nothing should be drawn at all, which includes all paths, images and shadings. However, no groups
+ (neither <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;groups nor graphic state groups) should be opened by this command.
+ <!--l. 823--><p class="noindent">This command has a default implementation and need not be implemented by a driver file.
+ <!--l. 826--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 829--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox464"><span
+class="cmtt-10">\pgfsys@endinvisible</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-321002"></a>
+ <!--l. 830--><p class="noindent">Ends the invisibility section, unless invisibility blocks have been nested. In this case, only the &#8220;last&#8221;
+ one restores visibility.
+ <!--l. 833--><p class="noindent">This command has a default implementation and need not be implemented by a driver file.
+ <!--l. 836--><p class="noindent">This command is protocoled, see Section&nbsp;<a
+href="pgfmanualse35.html#x36-32800035">35<!--tex4ht:ref: section-protocols --></a>. </dd></dl>
+<!--l. 842--><p class="noindent">
+ <h4 class="subsectionHead"><span class="titlemark">33.12 </span> <a
+ id="x34-32200033.12"></a>Internal Conversion Commands</h4>
+<!--l. 844--><p class="noindent">The system commands take <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimensions as input, but the dimensions that have to be inserted into <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;and
+PostScript files need to be dimensionless values that are interpreted as multiples of <img
+src="pgfmanual35x.gif" alt=" 1
+72" class="frac" align="middle">in. For example, the
+<span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimension 2<span
+class="cmmi-10">bp </span>should be inserted as <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">2</span></span></span> into a <span
+class="cmcsc-10"><small
+class="small-caps">P</small><small
+class="small-caps">D</small><small
+class="small-caps">F</small></span>&nbsp;file and the <span class="TEX">T<span
+class="E">E</span>X</span>&nbsp;dimension 10pt as <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">9.9626401</span></span></span>. To make
+this conversion easier, the following command may be useful:
+<!--l. 852--><p class="indent">
+ <dl class="description"><dt class="description">
+<span
+class="colorbox" id="colorbox465"><span
+class="cmtt-10">\pgf@sys@bp</span><span
+class="cmtt-10">{</span><span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">dimension</span><span
+class="cmsy-10">&gt;</span><span
+class="cmtt-10">}</span></span> </dt><dd
+class="description">
+<a
+ id="dx34-322001"></a>
+ <!--l. 853--><p class="noindent">Inserts how many multiples of <img
+src="pgfmanual36x.gif" alt="1
+72" class="frac" align="middle">in the <span
+class="cmsy-10">&lt;</span><span
+class="cmti-10">dimension</span><span
+class="cmsy-10">&gt; </span>is into the current protocol stream (buffered).
+ <!--l. 856--><p class="noindent"><span
+class="cmti-10">Example: </span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@sys@bp{\pgf@x}</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10">\pgf@sys@bp{1cm}</span></span></span>. </dd></dl>
+<!--l. 859--><p class="indent"> Note that this command is <span
+class="cmti-10">not </span>a system command that can/needs to be overwritten by a driver.
+
+
+
+
+
+
+ <div class="crosslinks"><p class="noindent">[<a
+href="pgfmanualse34.html" >next</a>] [<a
+href="pgfmanualse32.html" >prev</a>] [<a
+href="pgfmanualse32.html#tailpgfmanualse32.html" >prev-tail</a>] [<a
+href="pgfmanualse33.html" >front</a>] [<a
+href="pgfmanual.html#pgfmanualse33.html" >up</a>] </p></div>
+<!--l. 7--><p class="indent"> <a
+ id="tailpgfmanualse33.html"></a>
+</body></html>