blob: 721050566ab958c8e8968ab15dbe2c3dcb3a93e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
<head><title>32 Design 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-11-15 18:41:00">
<link rel="stylesheet" type="text/css" href="pgfmanual.css">
</head><body
>
<div class="crosslinks"><p class="noindent">[<a
href="pgfmanualse33.html" >next</a>] [<a
href="#tailpgfmanualse32.html">tail</a>] [<a
href="pgfmanual.html#pgfmanualse32.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">32 </span> <a
id="x33-30700032"></a>Design of the System Layer</h3>
<!--l. 12--><p class="noindent">
<h4 class="subsectionHead"><span class="titlemark">32.1 </span> <a
id="x33-30800032.1"></a>Driver Files</h4>
<!--l. 15--><p class="noindent">The <span
class="cmcsc-10"><small
class="small-caps">P</small><small
class="small-caps">G</small><small
class="small-caps">F</small></span> system layer mainly consists of a large number of commands starting with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsys@</span></span></span>. These commands
will be called <span
class="cmti-10">system commands </span>in the following. The higher layers “interface” with the system layer by
calling these commands. The higher layers should never use <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\special</span></span></span> commands directly or even check
whether <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pdfoutput</span></span></span> is defined. Instead, all drawing requests should be “channeled” through the system
commands.
<!--l. 23--><p class="indent"> The system layer is loaded and setup by the following package:
<!--l. 25--><p class="indent">
<dl class="description"><dt class="description">
<span
class="colorbox" id="colorbox397"><span
class="cmtt-10">\usepackage{</span><span
class="cmtt-10">pgfsys</span><span
class="cmtt-10">} % </span><span class="LATEX"><span
class="cmtt-10">L</span><span class="A"><span
class="cmtt-10">A</span></span><span class="TEX"><span
class="cmtt-10">T</span><span
class="E"><span
class="cmtt-10">E</span></span><span
class="cmtt-10">X</span></span></span></span> </dt><dd
class="description">
<a
id="dx33-308001"></a>
<a
id="dx33-308002"></a>
</dd><dt class="description">
<span
class="colorbox" id="colorbox398"><span
class="cmtt-10">\input </span><span
class="cmtt-10">pgfsys</span><span
class="cmtt-10">.tex % plain </span><span class="TEX"><span
class="cmtt-10">T</span><span
class="E"><span
class="cmtt-10">E</span></span><span
class="cmtt-10">X</span></span></span> </dt><dd
class="description">
</dd><dt class="description">
<span
class="colorbox" id="colorbox399"><span
class="cmtt-10">\input </span><span
class="cmtt-10">pgfsys</span><span
class="cmtt-10">.tex % Con</span><span class="TEX"><span
class="cmtt-10">T</span><span
class="E"><span
class="cmtt-10">E</span></span><span
class="cmtt-10">X</span></span><span
class="cmtt-10">t</span></span> </dt><dd
class="description">
<!--l. 26--><p class="noindent">This file provides “default implementations” of all system commands, but most simply produce a
warning that they are not implemented. The actual implementations of the system commands for a
particular driver like, say, <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pdftex</span></span></span> reside in files called <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys-xxxx.sty</span></span></span>, where <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">xxxx</span></span></span> is the driver
name. These will be called <span
class="cmti-10">driver files </span>in the following.
<!--l. 33--><p class="noindent">When <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys.sty</span></span></span> is loaded, it will try to determine which driver is used by loading <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgf.cfg</span></span></span>. This
file should setup the macro <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsysdriver</span></span></span> appropriately. The, <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys.sty</span></span></span> will input the appropriate
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys-</span></span></span><span
class="cmsy-10"><</span><span
class="cmti-10">drivername</span><span
class="cmsy-10">></span><span class="obeylines-h"><span class="verb"><span
class="cmtt-10">.sty</span></span></span>. </dd></dl>
<!--l. 39--><p class="indent">
<dl class="description"><dt class="description">
<span
class="colorbox" id="colorbox400"><span
class="cmtt-10">\pgfsysdriver</span></span> </dt><dd
class="description">
<a
id="dx33-308003"></a>
<!--l. 40--><p class="noindent">This macro should expand to the name of the driver to be used by <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys</span></span></span>. The default from <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgf.cfg</span></span></span>
is <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys-\Gin@driver</span></span></span>. This is very likely to be correct if you are using <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span>. For plain <span class="TEX">T<span
class="E">E</span>X</span>, the
macro will be set to <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys-pdftex.def</span></span></span> if <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pdftex</span></span></span> is used and to <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">pgfsys-dvips.def</span></span></span> otherwise. </dd></dl>
<!--l. 47--><p class="indent">
<dl class="description"><dt class="description">
<span
class="colorbox" id="colorbox401">File <span
class="cmtt-10">pgf.cfg</span></span> </dt><dd
class="description">
<a
id="dx33-308004"></a>
<a
id="dx33-308005"></a>
<!--l. 48--><p class="noindent">This file should setup the command <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsysdriver</span></span></span> correctly. If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsysdriver</span></span></span> is already set to some
value, the driver normally should not change it. Otherwise, it should make a “good guess” at which
driver will be appropriate. </dd></dl>
<!--l. 55--><p class="indent"> The currently supported backend drivers are discussed in Section <a
href="pgfmanualse5.html#x6-600005.2">5.2<!--tex4ht:ref: section-drivers --></a>.
<!--l. 59--><p class="noindent">
<h4 class="subsectionHead"><span class="titlemark">32.2 </span> <a
id="x33-30900032.2"></a>Common Definition Files</h4>
<!--l. 61--><p class="noindent">Some drivers share many <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsys@</span></span></span> commands. For the reason, files defining these “common” commands are
available. These files are <span
class="cmti-10">not </span>usable alone.
<!--l. 65--><p class="indent">
<dl class="description"><dt class="description">
<span
class="colorbox" id="colorbox402">File <span
class="cmtt-10">pgfsys-common-postscript</span></span> </dt><dd
class="description">
<a
id="dx33-309001"></a>
<a
id="dx33-309002"></a>
<!--l. 66--><p class="noindent">This file defines some <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsys@</span></span></span> commands so that they produce appropriate PostScript code. </dd></dl>
<!--l. 70--><p class="indent">
<dl class="description"><dt class="description">
<span
class="colorbox" id="colorbox403">File <span
class="cmtt-10">pgfsys-common-pdf</span></span> </dt><dd
class="description">
<a
id="dx33-309003"></a>
<a
id="dx33-309004"></a>
<!--l. 71--><p class="noindent">This file defines some <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">\pgfsys@</span></span></span> commands so that they produce appropriate <span
class="cmcsc-10"><small
class="small-caps">P</small><small
class="small-caps">D</small><small
class="small-caps">F</small> </span>code. </dd></dl>
<div class="crosslinks"><p class="noindent">[<a
href="pgfmanualse33.html" >next</a>] [<a
href="pgfmanualse32.html" >front</a>] [<a
href="pgfmanual.html#pgfmanualse32.html" >up</a>] </p></div>
<!--l. 7--><p class="indent"> <a
id="tailpgfmanualse32.html"></a>
</body></html>
|