1 |
%$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/webprojs/pamc/gen_a/docs/manual/man_a/comps/worknenv.tex,v 1.1 2007/04/09 03:21:22 dashley Exp $
|
2 |
%
|
3 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
4 |
%% SEPARATORS
|
5 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
6 |
%%
|
7 |
%Digit separation distance for denoting thousands, etc. Choosing space rather than comma.
|
8 |
\newcommand{\vworkthousandsdigsepinmathmode}{\;}
|
9 |
%%
|
10 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
11 |
%% CHAPTER QUOTES
|
12 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
13 |
%%
|
14 |
%Quote which begins each chapter.
|
15 |
\newcommand{\beginchapterquote}[2]{\textbf{#1}\begin{flushright}\emph{---#2}\end{flushright}}
|
16 |
|
17 |
%Source when included with quote which begins each chapter.
|
18 |
\newcommand{\chapquoteshortsrc}[1]{\begin{flushright}\emph{---#1}\end{flushright}}
|
19 |
%%
|
20 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
21 |
%% EXAMPLES
|
22 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
23 |
%%
|
24 |
%General-purpose example start. Used to generate the beginning of the example
|
25 |
%only, should enclose only an optional label.
|
26 |
\newtheorem{vworkgenexample}{Example}
|
27 |
|
28 |
%General-purpose example solution start.
|
29 |
\newcommand{\vworkgenexamplesolutionhead}{\noindent\textbf{Solution: }}
|
30 |
|
31 |
%General-purpose example solution body. This is the environment in which
|
32 |
%the example's solution is stated. For the present time, there are no
|
33 |
%changes to the text.
|
34 |
\newenvironment{vworkgenexamplesolutionbody}{\noindent\textbf{Solution: }}{}
|
35 |
|
36 |
%Define a new counter used to hold the example number within a chapter.
|
37 |
%\newcounter{vworkexamplecounter}[chapter]
|
38 |
|
39 |
%Alternate numbering for examples.
|
40 |
%\renewcommand{\thevworkexamplecounter}{\thechapter.\arabic{vworkexamplecounter}}
|
41 |
|
42 |
%Define the marking which delimits the start of an example. For now, this
|
43 |
%is a little bit of space and a horizontal bar.
|
44 |
\newcommand{\vworkexampleheader}{\par\nopagebreak\vspace{0.01in}%
|
45 |
\noindent\rule{\textwidth}{1pt}%
|
46 |
\par\nopagebreak}
|
47 |
|
48 |
%Define the marking which delimits the end of an example. For now, this is
|
49 |
%a horizontal line. An example must be "footed" manually because there are
|
50 |
%so many variations on what can be in an example.
|
51 |
\newcommand{\vworkexamplefooter}{\par\nopagebreak%
|
52 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
53 |
\par\nopagebreak}
|
54 |
|
55 |
%Define a new environment to hold the body of an example, and the numbering of an
|
56 |
%example.
|
57 |
\newenvironment{vworkexamplestatement}%
|
58 |
{\vworkexampleheader\noindent%
|
59 |
\setlength{\parindent}{0em}%
|
60 |
\setlength{\parskip}{1ex}%
|
61 |
\refstepcounter{vworktheoremcounter}%
|
62 |
\textbf{Example \nopagebreak[2]\thevworktheoremcounter{}: }}{\par}
|
63 |
|
64 |
%Define a new environment to hold a "solution" or "remarks" block within an example.
|
65 |
%The presence or absence of a colon is something that may change, so better to code
|
66 |
%that in here.
|
67 |
\newenvironment{vworkexampleparsection}[1]{\par\noindent%
|
68 |
\setlength{\parindent}{0em}%
|
69 |
\setlength{\parskip}{1ex}%
|
70 |
\textbf{#1:\nopagebreak[2] }}{\par}
|
71 |
%%
|
72 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
73 |
%% DEFINITIONS
|
74 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
75 |
%%
|
76 |
%Counter for "artifical" theorems. In this context, "artificial" means that the
|
77 |
%built-in theorem environment is not used.
|
78 |
%\newcounter{vworkdefinitioncounter}[chapter]
|
79 |
|
80 |
%Alternate numbering for definitions.
|
81 |
%\renewcommand{\thevworkdefinitioncounter}{\thechapter.\arabic{vworkdefinitioncounter}}
|
82 |
|
83 |
%Define the markings which delimit the start and ends of a definition. For now, these
|
84 |
%are NULL. Later, I may define something else--a little extra space or a line.
|
85 |
\newcommand{\vworkdefinitionheader}{\par\nopagebreak%
|
86 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
87 |
\par\nopagebreak}
|
88 |
\newcommand{\vworkdefinitionfooter}{\par\nopagebreak%
|
89 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
90 |
\par\nopagebreak}
|
91 |
|
92 |
%Environment to hold definitions. This was defined (rather than using the built-in
|
93 |
%environment) because I cannot stand having a number without a colon.
|
94 |
\newenvironment{vworkdefinitionstatement}%
|
95 |
{\vworkdefinitionheader\noindent%
|
96 |
\setlength{\parindent}{0em}%
|
97 |
\setlength{\parskip}{1ex}%
|
98 |
\refstepcounter{vworktheoremcounter}%
|
99 |
\textbf{Definition \nopagebreak[2]\thevworktheoremcounter{}: }}{\par}
|
100 |
|
101 |
%Environment to begin a definition that also has descriptive text.
|
102 |
\newenvironment{vworkdefinitionstatementpar}[1]%
|
103 |
{\vworkdefinitionheader\noindent%
|
104 |
\setlength{\parindent}{0em}%
|
105 |
\setlength{\parskip}{1ex}%
|
106 |
\refstepcounter{vworktheoremcounter}%
|
107 |
\textbf{Definition \nopagebreak[2]\thevworktheoremcounter{} (#1): }}{\par}
|
108 |
|
109 |
%Define a new environment to hold a "solution" or "remarks" block within a definition.
|
110 |
%The presence or absence of a colon is something that may change, so better to code
|
111 |
%that in here.
|
112 |
\newenvironment{vworkdefinitionparsection}[1]{\par\noindent%
|
113 |
\setlength{\parindent}{0em}%
|
114 |
\setlength{\parskip}{1ex}%
|
115 |
\textbf{#1:\nopagebreak[2] }}{\par}
|
116 |
%%
|
117 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
118 |
%% LEMMAS
|
119 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
120 |
%%
|
121 |
%% Because lemmas and theorems are so similar, decided that they should
|
122 |
%% use the same counters. I think this makes it easier for readers, so they
|
123 |
%% don't have to separate the two out when searching.
|
124 |
%%
|
125 |
%\newcounter{vworktheoremcounter}[chapter]
|
126 |
|
127 |
%Alternate numbering for lemmas.
|
128 |
%\renewcommand{\thevworktheoremcounter}{\thechapter.\arabic{vworktheoremcounter}}
|
129 |
|
130 |
%Define the markings which delimit the start and ends of a lemma. For now, these
|
131 |
%are NULL. Later, I may define something else--a little extra space or a line.
|
132 |
\newcommand{\vworklemmaheader}{\par\nopagebreak%
|
133 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
134 |
\par\nopagebreak}
|
135 |
\newcommand{\vworklemmafooter}{\par\nopagebreak%
|
136 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
137 |
\par\nopagebreak}
|
138 |
|
139 |
%Environment to hold lemmas. This was defined (rather than using the built-in
|
140 |
%environment) because I cannot stand having a number without a colon.
|
141 |
\newenvironment{vworklemmastatement}%
|
142 |
{\vworklemmaheader\noindent%
|
143 |
\setlength{\parindent}{0em}%
|
144 |
\setlength{\parskip}{1ex}%
|
145 |
\refstepcounter{vworktheoremcounter}%
|
146 |
\textbf{Lemma \nopagebreak[2]\thevworktheoremcounter{}: }}{\par}
|
147 |
|
148 |
%Environment to begin a lemma that also has descriptive text.
|
149 |
\newenvironment{vworklemmastatementpar}[1]%
|
150 |
{\vworklemmaheader\noindent%
|
151 |
\setlength{\parindent}{0em}%
|
152 |
\setlength{\parskip}{1ex}%
|
153 |
\refstepcounter{vworktheoremcounter}%
|
154 |
\textbf{Lemma \nopagebreak[2]\thevworktheoremcounter{} (#1): }}{\par}
|
155 |
|
156 |
%Define a new environment to hold the proof of a lemma.
|
157 |
\newenvironment{vworklemmaproof}%
|
158 |
{\par\noindent%
|
159 |
\setlength{\parindent}{0em}%
|
160 |
\setlength{\parskip}{1ex}%
|
161 |
\textbf{Proof:\nopagebreak[2] }}{\hfill\rule{1.5ex}{1.5ex}\par}
|
162 |
|
163 |
%Define a new environment to hold a "solution" or "remarks" block within a lemma.
|
164 |
%The presence or absence of a colon is something that may change, so better to code
|
165 |
%that in here.
|
166 |
\newenvironment{vworklemmaparsection}[1]{\par\noindent%
|
167 |
\setlength{\parindent}{0em}%
|
168 |
\setlength{\parskip}{1ex}%
|
169 |
\textbf{#1:\nopagebreak[2] }}{\par}
|
170 |
%%
|
171 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
172 |
%% THEOREMS
|
173 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
174 |
%%
|
175 |
%Counter for "artifical" theorems. In this context, "artificial" means that the
|
176 |
%built-in theorem environment is not used.
|
177 |
\newcounter{vworktheoremcounter}[chapter]
|
178 |
|
179 |
%Alternate numbering for theorems.
|
180 |
\renewcommand{\thevworktheoremcounter}{\thechapter.\arabic{vworktheoremcounter}}
|
181 |
|
182 |
%Define the markings which delimit the start and ends of a theorem. For now, these
|
183 |
%are NULL. Later, I may define something else--a little extra space or a line.
|
184 |
\newcommand{\vworktheoremheader}{\par\nopagebreak%
|
185 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
186 |
\par\nopagebreak}
|
187 |
\newcommand{\vworktheoremfooter}{\par\nopagebreak%
|
188 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
189 |
\par\nopagebreak}
|
190 |
|
191 |
%Environment to hold theorems. This was defined (rather than using the built-in
|
192 |
%environment) because I cannot stand having a number without a colon.
|
193 |
\newenvironment{vworktheoremstatement}%
|
194 |
{\vworktheoremheader\noindent%
|
195 |
\setlength{\parindent}{0em}%
|
196 |
\setlength{\parskip}{1ex}%
|
197 |
\refstepcounter{vworktheoremcounter}%
|
198 |
\textbf{Theorem \nopagebreak[2]\thevworktheoremcounter{}: }}{\par}
|
199 |
|
200 |
%Environment to begin a theorem that also has descriptive text.
|
201 |
\newenvironment{vworktheoremstatementpar}[1]%
|
202 |
{\vworktheoremheader\noindent%
|
203 |
\setlength{\parindent}{0em}%
|
204 |
\setlength{\parskip}{1ex}%
|
205 |
\refstepcounter{vworktheoremcounter}%
|
206 |
\textbf{Theorem \nopagebreak[2]\thevworktheoremcounter{} (#1): }}{\par}
|
207 |
|
208 |
%Define a new environment to hold the proof of a theorem.
|
209 |
\newenvironment{vworktheoremproof}%
|
210 |
{\par\noindent%
|
211 |
\setlength{\parindent}{0em}%
|
212 |
\setlength{\parskip}{1ex}%
|
213 |
\textbf{Proof:\nopagebreak[2] }}{\hfill\rule{1.5ex}{1.5ex}\par}
|
214 |
|
215 |
%Define a new environment to hold a "solution" or "remarks" block within a theorem.
|
216 |
%The presence or absence of a colon is something that may change, so better to code
|
217 |
%that in here.
|
218 |
\newenvironment{vworktheoremparsection}[1]{\par\noindent%
|
219 |
\setlength{\parindent}{0em}%
|
220 |
\setlength{\parskip}{1ex}%
|
221 |
\textbf{#1:\nopagebreak[2] }}{\par}
|
222 |
%%
|
223 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
224 |
%% ALGORITHMS
|
225 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
226 |
%%
|
227 |
%Counter for "artifical" theorems. In this context, "artificial" means that the
|
228 |
%built-in theorem environment is not used.
|
229 |
%\newcounter{vworktheoremcounter}[chapter]
|
230 |
|
231 |
%Alternate numbering for theorems.
|
232 |
%\renewcommand{\thevworktheoremcounter}{\thechapter.\arabic{vworktheoremcounter}}
|
233 |
|
234 |
%Define the markings which delimit the start and ends of an algorithm. For now, these
|
235 |
%are NULL. Later, I may define something else--a little extra space or a line.
|
236 |
\newcommand{\vworkalgorithmheader}{\par\nopagebreak%
|
237 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
238 |
\par\nopagebreak}
|
239 |
\newcommand{\vworkalgorithmfooter}{\par\nopagebreak%
|
240 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
241 |
\par\nopagebreak}
|
242 |
|
243 |
%Environment to hold algorithms. This was defined (rather than using the built-in
|
244 |
%environment) because I cannot stand having a number without a colon.
|
245 |
\newenvironment{vworkalgorithmstatement}%
|
246 |
{\vworkalgorithmheader\noindent%
|
247 |
\setlength{\parindent}{0em}%
|
248 |
\setlength{\parskip}{1ex}%
|
249 |
\refstepcounter{vworktheoremcounter}%
|
250 |
\textbf{Algorithm \nopagebreak[2]\thevworktheoremcounter{}: }}{\par}
|
251 |
|
252 |
%Environment to begin an algorithm that also has descriptive text.
|
253 |
\newenvironment{vworkalgorithmstatementpar}[1]%
|
254 |
{\vworkalgorithmheader\noindent%
|
255 |
\setlength{\parindent}{0em}%
|
256 |
\setlength{\parskip}{1ex}%
|
257 |
\refstepcounter{vworktheoremcounter}%
|
258 |
\textbf{Algorithm \nopagebreak[2]\thevworktheoremcounter{} (#1): }}{\par}
|
259 |
|
260 |
%Define a new environment to hold the proof of an algorithm.
|
261 |
\newenvironment{vworkalgorithmproof}%
|
262 |
{\par\noindent%
|
263 |
\setlength{\parindent}{0em}%
|
264 |
\setlength{\parskip}{1ex}%
|
265 |
\textbf{Proof:\nopagebreak[2] }}{\hfill\rule{1.5ex}{1.5ex}\par}
|
266 |
|
267 |
%Define a new environment to hold a "solution" or "remarks" block within an algorithm.
|
268 |
%The presence or absence of a colon is something that may change, so better to code
|
269 |
%that in here.
|
270 |
\newenvironment{vworkalgorithmparsection}[1]{\par\noindent%
|
271 |
\setlength{\parindent}{0em}%
|
272 |
\setlength{\parskip}{1ex}%
|
273 |
\textbf{#1:\nopagebreak[2] }}{\par}
|
274 |
%The "itemize" environment defined by the book style files didn't seem to have
|
275 |
%quite the right appearance for presenting our algorithms. For this reason, the
|
276 |
%following environments were defined. Level 0 is flush left with bullets, Level 1
|
277 |
%is slightly more indented, etc.
|
278 |
\newenvironment{alglvl0}{\begin{list}
|
279 |
{$\bullet$}{\setlength{\labelwidth}{3mm}\setlength{\leftmargin}{6mm}}}
|
280 |
{\end{list}}
|
281 |
\newenvironment{alglvl1}{\begin{list}
|
282 |
{$\bullet$}{\setlength{\labelwidth}{3mm}\setlength{\leftmargin}{6mm}}}
|
283 |
{\end{list}}
|
284 |
\newenvironment{alglvl2}{\begin{list}
|
285 |
{$\bullet$}{\setlength{\labelwidth}{3mm}\setlength{\leftmargin}{6mm}}}
|
286 |
{\end{list}}
|
287 |
%The environments above have been obsoleted.
|
288 |
\newcounter{alglvl0ctr}
|
289 |
\newenvironment{algblvl0}{\begin{list}
|
290 |
{\textbf{[\arabic{alglvl0ctr}]}}{\usecounter{alglvl0ctr}%
|
291 |
\setlength{\labelwidth}{6mm}\setlength{\leftmargin}{9mm}}}
|
292 |
{\end{list}}
|
293 |
%%
|
294 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
295 |
%% EXERCISES
|
296 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
297 |
%%
|
298 |
%Counter for exercises at the end of each chapter.
|
299 |
\newcounter{vworkexercisecounter}[chapter]
|
300 |
|
301 |
%We'd like to number an exercise slightly differently, using the chapter number
|
302 |
%followed by "." followed by the equation number.
|
303 |
\renewcommand{\thevworkexercisecounter}{\thechapter.\arabic{vworkexercisecounter}}
|
304 |
|
305 |
%Define the markings which delimit the start and ends of an exercise. For now, these
|
306 |
%are NULL. Later, I may define something else--a little extra space or a line.
|
307 |
\newcommand{\vworkexerciseheader}{\par\vspace{0.01in}\par}
|
308 |
\newcommand{\vworkexercisefooter}{\par\vspace{0.01in}\par}
|
309 |
|
310 |
%Environment to hold exercises.
|
311 |
\newenvironment{vworkexercisestatement}%
|
312 |
{\vworkexerciseheader\noindent%
|
313 |
\setlength{\parindent}{0em}%
|
314 |
\setlength{\parskip}{1ex}%
|
315 |
\refstepcounter{vworkexercisecounter}%
|
316 |
\textbf{[\thevworkexercisecounter{}]}\nopagebreak[2] }{\par}
|
317 |
|
318 |
%Define a new environment to hold a "remarks" block within an exercise.
|
319 |
%The presence or absence of a colon is something that may change, so better to code
|
320 |
%that in here.
|
321 |
\newenvironment{vworkexerciseparsection}[1]{\par\noindent%
|
322 |
\setlength{\parindent}{0em}%
|
323 |
\setlength{\parskip}{1ex}%
|
324 |
\textbf{#1: }}{\par}
|
325 |
%%
|
326 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
327 |
%% LESSONS LEARNED
|
328 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
329 |
%%
|
330 |
%Counter for lessons learned.
|
331 |
\newcounter{vworklessonslearnedcounter}[chapter]
|
332 |
|
333 |
%Alternate numbering for lessons learned.
|
334 |
\renewcommand{\thevworklessonslearnedcounter}{\thechapter.\arabic{vworklessonslearnedcounter}}
|
335 |
|
336 |
%Define the markings which delimit the start and ends of a lesson learned.
|
337 |
\newcommand{\vworklessonslearnedheader}{\par\nopagebreak%
|
338 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
339 |
\par\nopagebreak}
|
340 |
\newcommand{\vworklessonslearnedfooter}{\par\nopagebreak%
|
341 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
342 |
\par\nopagebreak}
|
343 |
|
344 |
%Environment to hold lessons learned.
|
345 |
\newenvironment{vworklessonslearnedstatement}%
|
346 |
{\vworklessonslearnedheader\noindent%
|
347 |
\setlength{\parindent}{0em}%
|
348 |
\setlength{\parskip}{1ex}%
|
349 |
\refstepcounter{vworklessonslearnedcounter}%
|
350 |
\textbf{Lesson Learned \nopagebreak[2]\thevworklessonslearnedcounter{}: }}{\par}
|
351 |
%%
|
352 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
353 |
%% QUOTES
|
354 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
355 |
%%
|
356 |
%Environment to hold quotes.
|
357 |
\newenvironment{indentedquote}{\begin{quote}}{\end{quote}}
|
358 |
%%
|
359 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
360 |
%% EXERCISE SOLUTIONS
|
361 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
362 |
%%
|
363 |
%Environment To Hold A Solution To An Exercise
|
364 |
\newenvironment{vworkexercisesolution}[1]{\par\noindent%
|
365 |
\setlength{\parindent}{0em}%
|
366 |
\setlength{\parskip}{1ex}%
|
367 |
\textbf{Solution To Exercise #1}\par}{\par}
|
368 |
|
369 |
%Command which begins section of solutions for each chapter, command which
|
370 |
%separates solutions, and command which ends solutions in each chapter.
|
371 |
\newcommand{\vworkexercisechapterheader}{\par\nopagebreak\vspace{0.01in}%
|
372 |
\noindent\rule{\textwidth}{1pt}%
|
373 |
\par\nopagebreak}
|
374 |
\newcommand{\vworkexerciseseparator}{\par\nopagebreak\vspace{0.01in}%
|
375 |
\noindent\rule{\textwidth}{1pt}%
|
376 |
\par\nopagebreak}
|
377 |
\newcommand{\vworkexercisechapterfooter}{\par\nopagebreak%
|
378 |
\vspace{0.01in}\noindent\rule{\textwidth}{1pt}%
|
379 |
\par\nopagebreak}
|
380 |
%%
|
381 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
382 |
%% GLOSSARY OF TERMS
|
383 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
384 |
%5
|
385 |
%The following environment is for the glossary of terms at the end.
|
386 |
\newenvironment{vworktermglossaryenum}{\begin{list}
|
387 |
{}{\setlength{\labelwidth}{0mm}
|
388 |
\setlength{\leftmargin}{4mm}
|
389 |
\setlength{\itemindent}{-4mm}
|
390 |
\setlength{\parsep}{0.85mm}}}
|
391 |
{\end{list}}
|
392 |
%%
|
393 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
394 |
%% GLOSSARY OF MATHEMATICAL TERMS
|
395 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
396 |
%%
|
397 |
%The following environment is for the glossary of mathematical terms at the end.
|
398 |
\newenvironment{vworkmathtermglossaryenum}{\begin{list}
|
399 |
{}{\setlength{\labelwidth}{0mm}
|
400 |
\setlength{\leftmargin}{4mm}
|
401 |
\setlength{\itemindent}{-4mm}
|
402 |
\setlength{\parsep}{0.85mm}}}
|
403 |
{\end{list}}
|
404 |
|
405 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
406 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
407 |
% TCL COMMAND DOCUMENTATION
|
408 |
%
|
409 |
%Environment to hold the "NAME" portion of a Tcl command description.
|
410 |
\newenvironment{tclcommandname}[1]{\noindent\textbf{NAME}\vspace{-1.0ex}\begin{list}%
|
411 |
{}{\setlength{\leftmargin}{0.25in}}\item\textbf{#1}---}{\end{list}}
|
412 |
|
413 |
%Command to display a synopsis line inside the synopsis environment.
|
414 |
\newcommand{\tclcommandsynopsisline}[2]{\par\textbf{#1} \textit{#2}\par}
|
415 |
|
416 |
%Environment to hold the "SYNOPSIS" portion of a Tcl command description.
|
417 |
\newenvironment{tclcommandsynopsis}{\noindent\textbf{SYNOPSIS}\vspace{-1.0ex}\begin{list}%
|
418 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
419 |
|
420 |
%Environment to hold the "DESCRIPTION" portion of a Tcl command description.
|
421 |
\newenvironment{tclcommanddescription}{\noindent\textbf{DESCRIPTION}\vspace{-1.0ex}\begin{list}%
|
422 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
423 |
|
424 |
%Environment to hold the "ACKNOWLEDGEMENTS" portion of a Tcl command description.
|
425 |
\newenvironment{tclcommandacknowledgements}{\noindent\textbf{ACKNOWLEDGEMENTS}\vspace{-1.0ex}\begin{list}%
|
426 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
427 |
|
428 |
%Environment to hold a specific subdescription within the DESCRIPTION--useful for enumerating
|
429 |
%possible legal commands and command forms.
|
430 |
\newenvironment{tclcommandinternaldescription}{\noindent{}\vspace{-5.0ex}\begin{list}%
|
431 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
432 |
|
433 |
%Command to use to format a command prototype preceding the environment above (i.e. a synopsis).
|
434 |
\newcommand{\tclcommanddescsynopsisline}[2]{\par\textbf{#1} \textit{#2}\par}
|
435 |
|
436 |
%Environment to hold the "USAGE NOTES" portion of a Tcl command description.
|
437 |
\newenvironment{tclcommandusagenotes}{\noindent\textbf{USAGE NOTES}\vspace{-1.0ex}\begin{list}%
|
438 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
439 |
|
440 |
%Environment to hold the "SAMPLE INVOCATIONS" portion of a TCL command or extension description.
|
441 |
\newenvironment{tclcommandsampleinvocations}{\noindent\textbf{SAMPLE INVOCATIONS}\vspace{-1.0ex}\begin{list}%
|
442 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
443 |
|
444 |
%Environment to hold the "SEE ALSO" portion of a TCL command or extension utility description.
|
445 |
\newenvironment{tclcommandseealso}{\noindent\textbf{SEE ALSO}\vspace{-1.0ex}\begin{list}%
|
446 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
447 |
|
448 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
449 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
450 |
% DOS COMMAND-LINE UTILITY DOCUMENTATION
|
451 |
%
|
452 |
%Environment to hold the "NAME" portion of a DOS command-line utility.
|
453 |
\newenvironment{dosutilcommandname}[1]{\noindent\textbf{NAME}\vspace{-1.0ex}\begin{list}%
|
454 |
{}{\setlength{\leftmargin}{0.25in}}\item\textbf{#1}---}{\end{list}}
|
455 |
|
456 |
%Command to display a synopsis line inside the synopsis environment.
|
457 |
\newcommand{\dosutilcommandsynopsisline}[2]{\par\textbf{#1} \textit{#2}\par}
|
458 |
|
459 |
%Environment to hold the "SYNOPSIS" portion of a DOS command-line utility description.
|
460 |
\newenvironment{dosutilcommandsynopsis}{\noindent\textbf{SYNOPSIS}\vspace{-1.0ex}\begin{list}%
|
461 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
462 |
|
463 |
%Environment to hold the "DESCRIPTION" portion of a DOS command-line utility description.
|
464 |
\newenvironment{dosutilcommanddescription}{\noindent\textbf{DESCRIPTION}\vspace{-1.0ex}\begin{list}%
|
465 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
466 |
|
467 |
%Environment to hold the "ACKNOWLEDGEMENTS" portion of a DOS command-line utility description.
|
468 |
\newenvironment{dosutilcommandacknowledgements}{\noindent\textbf{ACKNOWLEDGEMENTS}\vspace{-1.0ex}\begin{list}%
|
469 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
470 |
|
471 |
%Environment to hold a specific subdescription within the DESCRIPTION--useful for enumerating
|
472 |
%possible legal commands and command forms.
|
473 |
\newenvironment{dosutilcommandinternaldescription}{\noindent{}\vspace{-5.0ex}\begin{list}%
|
474 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
475 |
|
476 |
%Command to use to format a command prototype preceding the environment above (i.e. a synopsis).
|
477 |
\newcommand{\dosutilcommanddescsynopsisline}[2]{\par\textbf{#1} \textit{#2}\par}
|
478 |
|
479 |
%Environment to hold the "USAGE NOTES" portion of a DOS command-line utility description.
|
480 |
\newenvironment{dosutilcommandusagenotes}{\noindent\textbf{USAGE NOTES}\vspace{-1.0ex}\begin{list}%
|
481 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
482 |
|
483 |
%Environment to hold the "REMARKS" portion of a DOS command-line utility description.
|
484 |
\newenvironment{dosutilcommandremarks}{\noindent\textbf{REMARKS}\vspace{-1.0ex}\begin{list}%
|
485 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
486 |
|
487 |
%Environment to hold the "COMMAND-LINE OPTIONS" portion of a DOS command-line utility description.
|
488 |
\newenvironment{dosutilcommandcommandlineoptions}{\noindent\textbf{COMMAND-LINE OPTIONS}\vspace{-1.0ex}\begin{list}%
|
489 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
490 |
|
491 |
%Environment to hold the "SAMPLE INVOCATION" portion of a DOS command-line utility description.
|
492 |
\newenvironment{dosutilcommandsampleinvocations}{\noindent\textbf{SAMPLE INVOCATIONS}\vspace{-1.0ex}\begin{list}%
|
493 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
494 |
|
495 |
%Environment to hold the "SEE ALSO" portion of a DOS command-line utility description.
|
496 |
\newenvironment{dosutilcommandseealso}{\noindent\textbf{SEE ALSO}\vspace{-1.0ex}\begin{list}%
|
497 |
{}{\setlength{\leftmargin}{0.25in}}\item{}}{\end{list}}
|
498 |
%%
|
499 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
500 |
%% DESIRABLE PROPERTIES
|
501 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
502 |
%Command to identify the prefix used for desirable properties.
|
503 |
%"DP" seems as good as anything.
|
504 |
\newcommand{\desirablepropertyprefix}{DP}
|
505 |
%
|
506 |
%% This counter is used only to number the desirable properties of
|
507 |
%% embedded software used in the "Holy Grail" chapter.
|
508 |
\newcounter{vworkdesirablepropertiescounter}
|
509 |
|
510 |
%Command to increment the desirable properties counter, emit the tag,
|
511 |
%and set the \ref value.
|
512 |
\newcommand{\desirablepropertyemit}{\refstepcounter{vworkdesirablepropertiescounter}%
|
513 |
[\desirablepropertyprefix-\thevworkdesirablepropertiescounter]}
|
514 |
|
515 |
%Command to cite a desirable property.
|
516 |
\newcommand{\desirablepropertycite}[1]{[\desirablepropertyprefix-\ref{#1}]}
|
517 |
|
518 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
519 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
520 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
521 |
%$Log: worknenv.tex,v $
|
522 |
%Revision 1.1 2007/04/09 03:21:22 dashley
|
523 |
%Initial checkin.
|
524 |
%
|
525 |
%End of $RCSfile: worknenv.tex,v $.
|