Statistiques
| Révision :

root / CSL17 / virginialake.sty @ 203

Historique | Voir | Annoter | Télécharger (95,44 ko)

1 200 adas
% VirginiaLake LaTeX macros by Alessio Guglielmi
2 200 adas
%
3 200 adas
% Many thanks to Ross Moore (Macquarie University) for suggestions leading
4 200 adas
% to \vlupdate
5 200 adas
6 200 adas
\NeedsTeXFormat{LaTeX2e}%
7 200 adas
\ProvidesPackage{virginialake}[2015/08/30 v3.0]
8 200 adas
\newif\ifvirginialakeusesxy
9 200 adas
        \virginialakeusesxytrue
10 200 adas
\DeclareOption{noxy}{\virginialakeusesxyfalse}%
11 200 adas
\newif\ifvirginialakegoodsyntax
12 200 adas
        \virginialakegoodsyntaxfalse
13 200 adas
\DeclareOption{goodsyntax}{\virginialakegoodsyntaxtrue}%
14 200 adas
\newif\ifvirginialakelutzsyntax
15 200 adas
        \virginialakelutzsyntaxfalse
16 200 adas
\DeclareOption{lutzsyntax}{\virginialakelutzsyntaxtrue}%
17 200 adas
\ProcessOptions
18 200 adas
\@ifclassloaded{beamer}%
19 200 adas
               {\RequirePackage{etex}}%
20 200 adas
               {}%
21 200 adas
\let\circledS\undefined\RequirePackage{amssymb}%
22 200 adas
\RequirePackage{stmaryrd}%
23 200 adas
\RequirePackage{ifthen}%
24 200 adas
\RequirePackage{ifpdf}%
25 200 adas
\RequirePackage{etoolbox}%
26 200 adas
\newif\ifvirginialakepdflatex\ifpdf\virginialakepdflatextrue\else
27 200 adas
                                   \virginialakepdflatexfalse\fi
28 200 adas
\@ifpackageloaded{fp-basic}%
29 200 adas
                 {\relax}%
30 200 adas
                 {\RequirePackage{fp-basic}\FPmessagesfalse}%
31 200 adas
\@ifpackageloaded{xcolor}%
32 200 adas
                 {\relax}%
33 200 adas
                 {\RequirePackage[usenames]{xcolor}}%
34 200 adas
\ifvirginialakeusesxy
35 200 adas
    \ifvirginialakepdflatex
36 200 adas
       \RequirePackage[line,arrow,curve,frame,color,crayon,pdf]{xy}%
37 200 adas
       \newxycolor{afbackground}{0 0 0 0.12 cmyk}%
38 200 adas
       \makeatletter\renewcommand\xywarning@[1]{\relax}\catcode`@=11
39 200 adas
       \W@{}%
40 200 adas
       \W@{VirginiaLake Warning: Xy-pic warnings are suppressed in PDF mode.}%
41 200 adas
       \W@{}%
42 200 adas
    \else
43 200 adas
       \RequirePackage[line,arrow,curve,frame,color,crayon,ps,dvips]{xy}%
44 200 adas
       \newxycolor@{afbackground}{0 0 0 0.12}{cmyk}{}{}%
45 200 adas
   \fi
46 200 adas
\fi
47 200 adas
\newif\ifetex
48 200 adas
\AtBeginDocument{\@ifpackageloaded{etex}{\etextrue}{\etexfalse}}%
49 200 adas
50 200 adas
%----------------------------------------------------------------------- IFMTARG
51 200 adas
% Code from ifmtarg.sty, reproduced below with permission - A.G.
52 200 adas
%
53 200 adas
% ifmtarg.sty
54 200 adas
%
55 200 adas
% Provides an if-then-else command for an empty macro argument
56 200 adas
% (empty = zero or more spaces only)
57 200 adas
% Use as \@ifmtarg{arg1}{Code for arg1 empty}{Code for arg1 not empty}%
58 200 adas
%
59 200 adas
% author: Peter Wilson (CUA)
60 200 adas
%         (now at peter.r.wilson@boeing.com)
61 200 adas
% Copyright Peter Wilson, 1996
62 200 adas
% Copyright Peter Wilson and Donald Arseneau, 2000
63 200 adas
% Released under the LaTeX Project Public License
64 200 adas
%
65 200 adas
%% Commands by Donald Arseneau
66 200 adas
\begingroup
67 200 adas
\catcode`\Q=3
68 200 adas
\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil}%
69 200 adas
\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4}%
70 200 adas
\long\gdef\@ifnotmtarg#1{\@xifmtarg#1QQ\@firstofone\@gobble\@nil}%
71 200 adas
\endgroup
72 200 adas
%---------------------------------------------------------------- END OF IFMTARG
73 200 adas
74 200 adas
%------------------------------------------------------------ MACROS FOR SYMBOLS
75 200 adas
76 200 adas
  \newcommand\one{{\mathsf 1}}%
77 200 adas
  \newcommand\zer{{\mathsf 0}}%
78 200 adas
  \newcommand\fff{{\mathsf f}}%
79 200 adas
  \newcommand\ttt{{\mathsf t}}%
80 200 adas
  \newcommand\sw {{\mathsf s}}%
81 200 adas
  \newcommand\me {{\mathsf m}}%
82 200 adas
  \newcommand\iD {{\mathsf i}{\downarrow}}%
83 200 adas
  \newcommand\iU {{\mathsf i}{  \uparrow}}%
84 200 adas
  \newcommand\cD {{\mathsf c}{\downarrow}}%
85 200 adas
  \newcommand\cU {{\mathsf c}{  \uparrow}}%
86 200 adas
  \newcommand\wD {{\mathsf w}{\downarrow}}%
87 200 adas
  \newcommand\wU {{\mathsf w}{  \uparrow}}%
88 200 adas
  \newcommand\qD {{\mathsf q}{\downarrow}}%
89 200 adas
  \newcommand\qU {{\mathsf q}{  \uparrow}}%
90 200 adas
  \newcommand\BV {{\mathsf {BV}}}%
91 200 adas
  \newcommand\SBV{{\mathsf{SBV}}}%
92 200 adas
  \newcommand\KS {{\mathsf {KS}}}%
93 200 adas
  \newcommand\SKS{{\mathsf{SKS}}}%
94 200 adas
95 200 adas
%---------------------------------------------------------------- END OF SYMBOLS
96 200 adas
97 200 adas
%------------------------------------------------ MACROS FOR FORMULAE/STRUCTURES
98 200 adas
99 200 adas
\newif\ifvlsmallops\vlsmallopsfalse
100 200 adas
101 200 adas
\newcommand\vlbin[1]{\ifvlsmallops\mathchoice
102 200 adas
      {\mathbin{\raise.2ex \hbox{$\scriptstyle      #1$}}}%
103 200 adas
      {\mathbin{\raise.2ex \hbox{$\scriptstyle      #1$}}}%
104 200 adas
      {\mathbin{\raise.12ex\hbox{$\scriptscriptstyle#1$}}}%
105 200 adas
      {\mathbin{           \hbox{$\scriptscriptstyle#1$}}}\else\mathbin{#1}\fi}%
106 200 adas
107 200 adas
\newif\ifvllinear\vllinearfalse
108 200 adas
109 200 adas
\newcommand{\vlor}{\ifvllinear\vlbin\varoplus\else\vlbin\vee\fi}%
110 200 adas
111 200 adas
\newcommand{\vlan}{\ifvllinear\vlbin\binampersand\else\vlbin\wedge\fi}%
112 200 adas
113 200 adas
\newcommand{\vlpa}{\vlbin\bindnasrepma}%
114 200 adas
115 200 adas
\newcommand{\vlte}{\vlbin\varotimes}%
116 200 adas
117 200 adas
\newcommand{\vlse}{\vlbin\triangleleft}%
118 200 adas
119 200 adas
\newcommand{\vlim}{\vlbin\to}%
120 200 adas
121 200 adas
\newcommand{\vlli}{\vlbin\multimap}%
122 200 adas
123 200 adas
\newcommand{\vlmi}{\vlbin\leftarrow}%
124 200 adas
125 200 adas
\newcommand{\vldi}{\vlbin\leftrightarrow}%
126 200 adas
127 200 adas
\newcommand{\vlne}{\vlbin\neg}%
128 200 adas
129 200 adas
\newcommand{\vljm}{\vlbin\supset}%
130 200 adas
131 200 adas
\newcommand{\vlmj}{\vlbin\subset}%
132 200 adas
133 200 adas
\newcommand{\vlgoodsyntax}{%
134 200 adas
   \def\vlleftparbracket   {\ifvirginialakesmallbrackets[\else
135 200 adas
                                       \mathopen{}\left [\fi}%
136 200 adas
   \def\vlrightparbracket  {\ifvirginialakesmallbrackets]\else
137 200 adas
                                                  \right]\mathclose{}\fi}%
138 200 adas
   \let\vlleftparbracketex \vlleftparbracket
139 200 adas
   \let\vlrightparbracketex\vlrightparbracket
140 200 adas
   \let\vlleftparbracketcn \vlleftparbracket
141 200 adas
   \let\vlrightparbracketcn\vlrightparbracket
142 200 adas
   \def\vlleftcopbracket   {\ifvirginialakesmallbrackets(\else
143 200 adas
                                       \mathopen{}\left (\fi}%
144 200 adas
   \def\vlrightcopbracket  {\ifvirginialakesmallbrackets)\else
145 200 adas
                                                  \right)\mathclose{}\fi}%
146 200 adas
   \let\vlleftcopbracketex \vlleftcopbracket
147 200 adas
   \let\vlrightcopbracketex\vlrightcopbracket
148 200 adas
   \let\vlleftcopbracketcn \vlleftcopbracket
149 200 adas
   \let\vlrightcopbracketcn\vlrightcopbracket
150 200 adas
   \def\vlleftseqbracket   {\ifvirginialakesmallbrackets\langle\else
151 200 adas
                                        \mathopen{}\left\langle\fi}%
152 200 adas
   \def\vlrightseqbracket  {\ifvirginialakesmallbrackets\rangle\else
153 200 adas
                                                  \right\rangle\mathclose{}\fi}%
154 200 adas
   \let\vlleftseqbracketex \vlleftseqbracket
155 200 adas
   \let\vlrightseqbracketex\vlrightseqbracket
156 200 adas
   \let\vlleftseqbracketcn \vlleftseqbracket
157 200 adas
   \let\vlrightseqbracketcn\vlrightseqbracket
158 200 adas
   \def\vldsaaux{\ifx\vlxspacetmp\vldsa\vlx\vlx\vlx\togglexspacefalse\else
159 200 adas
                  \iftogglexspace\vlx\else\togglexspacetrue\fi\fi}%
160 200 adas
   \def\vldsa{\futurelet\vlxspacetmp\vldsaaux}%
161 200 adas
   \def\vlcsaaux{\ifx\vlxspacetmp\vlcsa\vlx\vlx\vlx\togglexspacefalse\else
162 200 adas
                  \iftogglexspace\vlx\else\togglexspacetrue\fi\fi}%
163 200 adas
   \def\vlcsa{\futurelet\vlxspacetmp\vlcsaaux}%
164 200 adas
   \def\vldsmaux{\ifx\vlxspacetmp\vldsm\vlx\vlx\vlx\togglexspacefalse\else
165 200 adas
                  \iftogglexspace\vlx\else\togglexspacetrue\fi\fi}%
166 200 adas
   \def\vldsm{\futurelet\vlxspacetmp\vldsmaux}%
167 200 adas
   \def\vlcsmaux{\ifx\vlxspacetmp\vlcsm\vlx\vlx\vlx\togglexspacefalse\else
168 200 adas
                  \iftogglexspace\vlx\else\togglexspacetrue\fi\fi}%
169 200 adas
   \def\vlcsm{\futurelet\vlxspacetmp\vlcsmaux}%
170 200 adas
   \def\vlnsmaux{\ifx\vlxspacetmp\vlnsm\vlx\vlx\vlx\togglexspacefalse\else
171 200 adas
                  \iftogglexspace\vlx\else\togglexspacetrue\fi\fi}%
172 200 adas
   \def\vlnsm{\futurelet\vlxspacetmp\vlnsmaux}%
173 200 adas
   \let\vldots=\dots}%
174 200 adas
175 200 adas
\newcommand{\vlx}{\;}%
176 200 adas
177 200 adas
\newif\iftogglexspace\togglexspacetrue
178 200 adas
179 200 adas
\newcommand{\vlsetoperators}{%
180 200 adas
   \def\vldsaaux{\ifx\vlxspacetmp\vldsa\vlx\vlor\vlx\togglexspacefalse\else
181 200 adas
                  \iftogglexspace\vlor\else\togglexspacetrue\fi\fi}%
182 200 adas
   \def\vldsa{\futurelet\vlxspacetmp\vldsaaux}%
183 200 adas
   \def\vlcsaaux{\ifx\vlxspacetmp\vlcsa\vlx\vlan\vlx\togglexspacefalse\else
184 200 adas
                  \iftogglexspace\vlan\else\togglexspacetrue\fi\fi}%
185 200 adas
   \def\vlcsa{\futurelet\vlxspacetmp\vlcsaaux}%
186 200 adas
   \def\vldsmaux{\ifx\vlxspacetmp\vldsm\vlx\vlpa\vlx\togglexspacefalse\else
187 200 adas
                  \iftogglexspace\vlpa\else\togglexspacetrue\fi\fi}%
188 200 adas
   \def\vldsm{\futurelet\vlxspacetmp\vldsmaux}%
189 200 adas
   \def\vlcsmaux{\ifx\vlxspacetmp\vlcsm\vlx\vlte\vlx\togglexspacefalse\else
190 200 adas
                  \iftogglexspace\vlte\else\togglexspacetrue\fi\fi}%
191 200 adas
   \def\vlcsm{\futurelet\vlxspacetmp\vlcsmaux}%
192 200 adas
   \def\vlnsmaux{\ifx\vlxspacetmp\vlnsm\vlx\vlse\vlx\togglexspacefalse\else
193 200 adas
                  \iftogglexspace\vlse\else\togglexspacetrue\fi\fi}%
194 200 adas
   \def\vlnsm{\futurelet\vlxspacetmp\vlnsmaux}%
195 200 adas
   \let\vldots=\cdots}%
196 200 adas
197 200 adas
\newcommand{\vllutzsyntax}{%
198 200 adas
   \def\vlleftparbracket   {\ifvirginialakesmallbrackets[\else
199 200 adas
                                       \mathopen{}\left [\fi}%
200 200 adas
   \def\vlrightparbracket  {\ifvirginialakesmallbrackets]\else
201 200 adas
                                                  \right]\mathclose{}\fi}%
202 200 adas
   \let\vlleftparbracketex \relax
203 200 adas
   \let\vlrightparbracketex\relax
204 200 adas
   \let\vlleftparbracketcn \{
205 200 adas
   \let\vlrightparbracketcn\}%
206 200 adas
   \def\vlleftcopbracket   {\ifvirginialakesmallbrackets(\else
207 200 adas
                                       \mathopen{}\left (\fi}%
208 200 adas
   \def\vlrightcopbracket  {\ifvirginialakesmallbrackets)\else
209 200 adas
                                                  \right)\mathclose{}\fi}%
210 200 adas
   \let\vlleftcopbracketex \relax
211 200 adas
   \let\vlrightcopbracketex\relax
212 200 adas
   \let\vlleftcopbracketcn \{
213 200 adas
   \let\vlrightcopbracketcn\}%
214 200 adas
   \def\vlleftseqbracket   {\ifvirginialakesmallbrackets\langle\else
215 200 adas
                                        \mathopen{}\left\langle\fi}%
216 200 adas
   \def\vlrightseqbracket  {\ifvirginialakesmallbrackets\rangle\else
217 200 adas
                                                  \right\rangle\mathclose{}\fi}%
218 200 adas
   \let\vlleftseqbracketex \relax
219 200 adas
   \let\vlrightseqbracketex\relax
220 200 adas
   \let\vlleftseqbracketcn \{
221 200 adas
   \let\vlrightseqbracketcn\}%
222 200 adas
   \vlsetoperators
223 200 adas
   \vlsmallopstrue}%
224 200 adas
225 200 adas
\newcommand{\vlnogoodsyntax}{%
226 200 adas
   \def\vlleftparbracket   {\ifvirginialakesmallbrackets(\else
227 200 adas
                                       \mathopen{}\left (\fi}%
228 200 adas
   \def\vlrightparbracket  {\ifvirginialakesmallbrackets)\else
229 200 adas
                                                  \right)\mathclose{}\fi}%
230 200 adas
   \let\vlleftparbracketex \relax
231 200 adas
   \let\vlrightparbracketex\relax
232 200 adas
   \let\vlleftparbracketcn \{
233 200 adas
   \let\vlrightparbracketcn\}%
234 200 adas
   \let\vlleftcopbracket   \vlleftparbracket
235 200 adas
   \let\vlrightcopbracket  \vlrightparbracket
236 200 adas
   \let\vlleftcopbracketex \relax
237 200 adas
   \let\vlrightcopbracketex\relax
238 200 adas
   \let\vlleftcopbracketcn \{
239 200 adas
   \let\vlrightcopbracketcn\}%
240 200 adas
   \let\vlleftseqbracket   \vlleftparbracket
241 200 adas
   \let\vlrightseqbracket  \vlrightparbracket
242 200 adas
   \let\vlleftseqbracketex \relax
243 200 adas
   \let\vlrightseqbracketex\relax
244 200 adas
   \let\vlleftseqbracketcn \{
245 200 adas
   \let\vlrightseqbracketcn\}%
246 200 adas
   \vlsetoperators}%
247 200 adas
248 200 adas
\ifvirginialakegoodsyntax
249 200 adas
   \vlgoodsyntax
250 200 adas
\else
251 200 adas
   \ifvirginialakelutzsyntax
252 200 adas
      \vllutzsyntax
253 200 adas
   \else
254 200 adas
      \vlnogoodsyntax
255 200 adas
   \fi
256 200 adas
\fi
257 200 adas
258 200 adas
\newif\ifvirginialakesmallbrackets\virginialakesmallbracketsfalse
259 200 adas
260 200 adas
\newcommand{\vlsmallbrackets}{\virginialakesmallbracketstrue}%
261 200 adas
262 200 adas
\newcommand{\vlnosmallbrackets}{\virginialakesmallbracketsfalse}%
263 200 adas
264 200 adas
\newcommand{\vlprepstructuresaux}{\catcode`.=\active
265 200 adas
                                  \catcode`;=\active
266 200 adas
                                  \catcode`[=\active
267 200 adas
                                  \catcode`]=\active
268 200 adas
                                  \catcode`(=\active
269 200 adas
                                  \catcode`)=\active
270 200 adas
                                  \catcode`<=\active
271 200 adas
                                  \catcode`>=\active
272 200 adas
                                  \catcode`-=\active}%
273 200 adas
274 200 adas
\newcommand{\lt}{<}%
275 200 adas
\newcommand{\gt}{>}%
276 200 adas
277 200 adas
\let\vldot  .
278 200 adas
\let\vlscol ;
279 200 adas
\let\vlsqbrl[
280 200 adas
\let\vlsqbrr]
281 200 adas
\let\vlrobrl(
282 200 adas
\let\vlrobrr)
283 200 adas
\let\vlanbrl<
284 200 adas
\let\vlanbrr>
285 200 adas
\let\vlminus-
286 200 adas
287 200 adas
\newif\ifvirginialakestructuressyntax\virginialakestructuressyntaxtrue
288 200 adas
289 200 adas
\newcommand{\vlnostructuressyntax}{\virginialakestructuressyntaxfalse}%
290 200 adas
291 200 adas
\newcommand{\vlgobble}[1]{}%
292 200 adas
293 200 adas
{%--------------------------------------
294 200 adas
\vlprepstructuresaux
295 200 adas
296 200 adas
\gdef\vlnos{\let.\vldot
297 200 adas
            \let;\vlscol
298 200 adas
            \let[\vlsqbrl
299 200 adas
            \let]\vlsqbrr
300 200 adas
            \let(\vlrobrl
301 200 adas
            \let)\vlrobrr
302 200 adas
            \let<\vlanbrl
303 200 adas
            \let>\vlanbrr
304 200 adas
            \let-\vlminus}%
305 200 adas
306 200 adas
\gdef\vlprepstructures{\ifvirginialakestructuressyntax
307 200 adas
                          \vlprepstructuresaux\vlnos\fi}%
308 200 adas
309 200 adas
\gdef\vlparopen  {\vlleftparbracket  \bgroup\catcode`.=\active\let.\vldsa
310 200 adas
                                            \catcode`;=\active\let;\vldsm
311 200 adas
                                            \catcode`]=\active\let]\vlparclose}%
312 200 adas
313 200 adas
\gdef\vlparopenex{\vlleftparbracketex\bgroup\catcode`.=\active\let.\vldsa
314 200 adas
                                            \catcode`;=\active\let;\vldsm\vlsbr
315 200 adas
                                          \catcode`]=\active\let]\vlparcloseex}%
316 200 adas
317 200 adas
\gdef\vlparopencn{\vlleftparbracketcn\bgroup\catcode`.=\active\let.\vldsa
318 200 adas
                                            \catcode`;=\active\let;\vldsm\vlsbr
319 200 adas
                                          \catcode`]=\active\let]\vlparclosecn}%
320 200 adas
321 200 adas
\gdef\vlcopopen  {\vlleftcopbracket  \bgroup\catcode`.=\active\let.\vlcsa
322 200 adas
                                            \catcode`;=\active\let;\vlcsm
323 200 adas
                                            \catcode`)=\active\let)\vlcopclose}%
324 200 adas
325 200 adas
\gdef\vlcopopenex{\vlleftcopbracketex\bgroup\catcode`.=\active\let.\vlcsa
326 200 adas
                                            \catcode`;=\active\let;\vlcsm\vlsbr
327 200 adas
                                          \catcode`)=\active\let)\vlcopcloseex}%
328 200 adas
329 200 adas
\gdef\vlcopopencn{\vlleftcopbracketcn\bgroup\catcode`.=\active\let.\vlcsa
330 200 adas
                                            \catcode`;=\active\let;\vlcsm\vlsbr
331 200 adas
                                          \catcode`)=\active\let)\vlcopclosecn}%
332 200 adas
333 200 adas
\gdef\vlseqopen  {\vlleftseqbracket  \bgroup\catcode`;=\active\let;\vlnsm
334 200 adas
                                            \catcode`>=\active\let>\vlseqclose}%
335 200 adas
336 200 adas
\gdef\vlseqopenex{\vlleftseqbracketex\bgroup\catcode`;=\active\let;\vlnsm\vlsbr
337 200 adas
                                          \catcode`>=\active\let>\vlseqcloseex}%
338 200 adas
339 200 adas
\gdef\vlseqopencn{\vlleftseqbracketcn\bgroup\catcode`;=\active\let;\vlnsm\vlsbr
340 200 adas
                                          \catcode`>=\active\let>\vlseqclosecn}%
341 200 adas
342 200 adas
\gdef\vls  {\catcode`[=\active\let[\vlparopenex
343 200 adas
            \catcode`(=\active\let(\vlcopopenex
344 200 adas
            \catcode`<=\active\let<\vlseqopenex
345 200 adas
            \catcode`-=\active\let-\bar
346 200 adas
            \odframefirstfalse
347 200 adas
            \odbackgroundfirstfalse}%
348 200 adas
349 200 adas
\gdef\vlsbr{\catcode`[=\active\let[\vlparopen
350 200 adas
            \catcode`(=\active\let(\vlcopopen
351 200 adas
            \catcode`<=\active\let<\vlseqopen
352 200 adas
            \catcode`-=\active\let-\bar
353 200 adas
            \odframefirstfalse
354 200 adas
            \odbackgroundfirstfalse}%
355 200 adas
356 200 adas
\gdef\vlscn{\catcode`[=\active\let[\vlparopencn
357 200 adas
            \catcode`(=\active\let(\vlcopopencn
358 200 adas
            \catcode`<=\active\let<\vlseqopencn
359 200 adas
            \catcode`-=\active\let-\bar
360 200 adas
            \odframefirstfalse
361 200 adas
            \odbackgroundfirstfalse}%
362 200 adas
363 200 adas
\gdef\vlupdate #1{
364 200 adas
   \expandafter\let\csname\expandafter\vlgobble\string #1vltemp\endcsname #1
365 200 adas
   \def #1{\bgroup\vlprepstructures
366 200 adas
     \csname\expandafter\vlgobble\string #1vlaux\endcsname}%
367 200 adas
   \expandafter\def\csname\expandafter\vlgobble\string #1vlaux\endcsname ##1{%
368 200 adas
      \csname\expandafter\vlgobble\string #1vltemp\endcsname{##1}\egroup}}%
369 200 adas
}%--------------------------------------
370 200 adas
371 200 adas
\newcommand{\vlparclose  }{\egroup\vlrightparbracket  }%
372 200 adas
373 200 adas
\newcommand{\vlparcloseex}{\egroup\vlrightparbracketex}%
374 200 adas
375 200 adas
\newcommand{\vlparclosecn}{\egroup\vlrightparbracketcn}%
376 200 adas
377 200 adas
\newcommand{\vlcopclose  }{\egroup\vlrightcopbracket  }%
378 200 adas
379 200 adas
\newcommand{\vlcopcloseex}{\egroup\vlrightcopbracketex}%
380 200 adas
381 200 adas
\newcommand{\vlcopclosecn}{\egroup\vlrightcopbracketcn}%
382 200 adas
383 200 adas
\newcommand{\vlseqclose  }{\egroup\vlrightseqbracket  }%
384 200 adas
385 200 adas
\newcommand{\vlseqcloseex}{\egroup\vlrightseqbracketex}%
386 200 adas
387 200 adas
\newcommand{\vlseqclosecn}{\egroup\vlrightseqbracketcn}%
388 200 adas
389 200 adas
\newcommand{\vlhole}{\{\kern.3em\}}%
390 200 adas
391 200 adas
\newcommand{\vlstore}{\bgroup\vlprepstructures\afterassignment\egroup
392 200 adas
                      \global\def\vlread}%
393 200 adas
394 200 adas
%----------------------------------------- END OF MACROS FOR FORMULAE/STRUCTURES
395 200 adas
396 200 adas
%-------------------------------------------------------- MACROS FOR DERIVATIONS
397 200 adas
%
398 200 adas
%                                                   +-------+--------+-------+
399 200 adas
%                                                   |  dcl  |  dcc   |  dcr  |
400 200 adas
%                                                   +-------+--------+-------+
401 200 adas
%                                                       +---+        +---+
402 200 adas
%                                                       | l |--------| m |
403 200 adas
%                                                       +---+        +---+
404 200 adas
%                                                             +----+
405 200 adas
%                                                             | dc |
406 200 adas
%                                                             +----+
407 200 adas
%                                                   <---dl--->      <---dr--->
408 200 adas
%
409 200 adas
410 200 adas
\newdimen\dercldim                                % dcl
411 200 adas
\newdimen\derccdim                                % dcc
412 200 adas
\newdimen\dercrdim                                % dcr
413 200 adas
\newdimen\derdim                                  % d
414 200 adas
\newdimen\derdldim                                % ddl
415 200 adas
\newdimen\derdrdim                                % ddr
416 200 adas
\newbox\derboxtwo                                 % b2
417 200 adas
\newbox\derboxthree                               % b3
418 200 adas
\newbox\derboxfour                                % b4
419 200 adas
\newdimen\derquad
420 200 adas
\newdimen\deropen
421 200 adas
\newbox\stembox
422 200 adas
423 200 adas
\newcount\vlsavederboxonec
424 200 adas
%\newcount\vlsavederdimc
425 200 adas
\newcount\vldummycount
426 200 adas
427 200 adas
% THE FOLLOWING IS VERY DANGEROUS: WE ARE CREATING A 'VIRTUAL MEMORY MANAGER'
428 200 adas
% FOR \derboxone, \derldim, \dercdim AND \derrdim, IN PARTICULAR BY USING
429 200 adas
% \count11 AND \count14. ETEX MIGHT INTERFERE WITH THIS STUFF. START FROM
430 200 adas
% HERE IF YOU SEE SOMETHING ODD SUCH AS DUPLICATION OR MISPLACEMENT OF BOXES IN
431 200 adas
% DERIVATIONS
432 200 adas
433 200 adas
\newcommand{\vlderivationinitaux}{%
434 200 adas
   \newbox\derboxone                              % b1
435 200 adas
   \setbox\derboxone=\hbox{}%
436 200 adas
   \vlsavederboxonec=\derboxone
437 200 adas
%   \vlsavederdimc=\count11\advance\vlsavederdimc by1%
438 200 adas
   \newdimen\derldim                              % dl
439 200 adas
   \newdimen\dercdim                              % dc
440 200 adas
   \newdimen\derrdim}%                            % dr
441 200 adas
442 200 adas
\newcommand{\vlderivationinit}{\bgroup
443 200 adas
   \vlprepstructures\vlderivationinitaux}%
444 200 adas
445 200 adas
\newcommand{\vlderivationterm}{\egroup
446 200 adas
   \global\chardef\derboxone=\vlsavederboxonec
447 200 adas
   \ifetex
448 200 adas
      \ifnum\count264>256
449 200 adas
         \global\advance\count264 by-1
450 200 adas
      \else
451 200 adas
         \global\advance\count14 by-1
452 200 adas
      \fi
453 200 adas
   \else\global\advance\count14 by-1
454 200 adas
   \fi
455 200 adas
   \ifetex
456 200 adas
      \ifnum\count261>258
457 200 adas
         \global\advance\count261 by-3
458 200 adas
      \else
459 200 adas
         \ifnum\count261>257
460 200 adas
            \global\advance\count261 by-2
461 200 adas
            \global\advance\count11  by-1
462 200 adas
         \else
463 200 adas
            \ifnum\count261>256
464 200 adas
               \global\advance\count261 by-1
465 200 adas
               \global\advance\count11  by-2
466 200 adas
            \else
467 200 adas
               \global\advance\count11 by-3
468 200 adas
            \fi
469 200 adas
         \fi
470 200 adas
      \fi
471 200 adas
   \else\global\advance\count11 by-3
472 200 adas
   \fi
473 200 adas
%   \global\dimendef\derldim=\vlsavederdimc
474 200 adas
%   \global\advance\vlsavederdimc by1%
475 200 adas
%   \global\dimendef\dercdim=\vlsavederdimc
476 200 adas
%   \global\advance\vlsavederdimc by1%
477 200 adas
%   \global\dimendef\derrdim=\vlsavederdimc
478 200 adas
%   \global\advance\vlsavederdimc by-2
479 200 adas
   }%
480 200 adas
481 200 adas
\newcommand{\vlderivationaux}[1]{#1\vcenter{\box\derboxone}\vlderivationterm}%
482 200 adas
483 200 adas
\newcommand{\vlderivation}{\vlderivationinit\vlderivationaux}%
484 200 adas
485 200 adas
\newcommand{\vlhyaux}[1]{\global\setbox\derboxone=\hbox{#1}%
486 200 adas
   \global\derldim=0pt%                           % dl=0
487 200 adas
   \global\dercdim=\wd\derboxone                  % dc=wd(b1)
488 200 adas
   \global\derrdim=0pt%                           % dr=0
489 200 adas
   }%
490 200 adas
491 200 adas
\newbox\vlhybox
492 200 adas
\newcommand{\vlhy}[1]{\global\setbox\vlhybox=\hbox{\strut$#1$}%
493 200 adas
   \vlhyaux{\box\vlhybox}}%
494 200 adas
495 200 adas
\newcommand{\vlstemaux}{\dercldim=\derldim
496 200 adas
                        \derccdim=\dercdim
497 200 adas
                        \dercrdim=\derrdim}%
498 200 adas
499 200 adas
\newcommand{\vldaux}[6]{\setbox\derboxtwo=\hbox{\unhbox\derboxone}%
500 200 adas
                                                  % b2=b1
501 200 adas
   \setbox\derboxthree=\hbox{$#1$}%               % b3; l=wd(b3)
502 200 adas
   \setbox\derboxfour =\hbox{$#2$}%               % b4; m=wd(b4)
503 200 adas
   #3                                             % dl=0, dc=wd(b1), dr=0
504 200 adas
   \derdim=\dercdim\advance\derdim by-\derccdim\divide\derdim by2%
505 200 adas
                                                  % d=(dc-dcc)/2
506 200 adas
   \global\derldim=\dercldim\global\advance\derldim by-\derdim
507 200 adas
                                                  % dl=dcl-d
508 200 adas
   \global\derrdim=\dercrdim\global\advance\derrdim by-\derdim
509 200 adas
                                                  % dr=dcr-d
510 200 adas
   \deropen=\fontdimen5\textfont2\divide\deropen by3%
511 200 adas
   \setbox\derboxone=\hbox{\vbox{\offinterlineskip
512 200 adas
         \hbox{\ifdim\derldim<0pt\kern-\derldim\fi
513 200 adas
               \box\derboxtwo
514 200 adas
               \ifdim\derrdim<0pt\kern-\derrdim\fi}%
515 200 adas
         #4%
516 200 adas
         \hbox{\ifdim\dercldim>\derldim
517 200 adas
                  \ifdim\derldim>0pt\kern\derldim\fi
518 200 adas
                  \else\kern\dercldim\fi
519 200 adas
               \hbox to0pt{\hss\copy\derboxthree}%
520 200 adas
               \vbox{\ifdim\derccdim>\dercdim\hsize=\derccdim
521 200 adas
                                        \else\hsize=\dercdim \fi
522 200 adas
                    #5}%
523 200 adas
               \hbox to0pt{\copy\derboxfour\hss}%
524 200 adas
               \ifdim\dercrdim>\derrdim
525 200 adas
                  \ifdim\derrdim>0pt\kern\derrdim\fi
526 200 adas
                  \else\kern\dercrdim\fi}%
527 200 adas
         #6%
528 200 adas
         \hbox{\ifdim\derldim>0pt\kern\derldim\fi
529 200 adas
               \box\derboxone
530 200 adas
               \ifdim\derrdim>0pt\kern\derrdim\fi}}}%
531 200 adas
   \ifdim\derldim<0pt\global\derldim=0pt\fi       % dl=max(dl,0)
532 200 adas
   \ifdim\derrdim<0pt\global\derrdim=0pt\fi       % dr=max(dr,0)
533 200 adas
   \derdldim=\wd\derboxthree\advance\derdldim by-\dercldim
534 200 adas
                                                  % ddl=l-dcl
535 200 adas
   \derdrdim=\wd\derboxfour \advance\derdrdim by-\dercrdim
536 200 adas
                                                  % ddr=m-dcr
537 200 adas
   \ifdim\derdim<0pt%
538 200 adas
      \ifdim\derdldim<0pt%
539 200 adas
         \derdldim=0pt%                           % d<0, ddl<0 -> ddl=0
540 200 adas
      \fi
541 200 adas
      \ifdim\derdrdim<0pt%
542 200 adas
         \derdrdim=0pt%                           % d<0, ddr<0 -> ddr=0
543 200 adas
      \fi
544 200 adas
   \else
545 200 adas
      \ifdim\derldim>0pt%
546 200 adas
         \ifdim\derdldim>-\derdim
547 200 adas
            \advance\derdldim by\derdim           % d>=0, dl>0, ddl+d>0 ->
548 200 adas
         \else                                    %                    ddl=ddl+d
549 200 adas
            \derdldim=0pt%                        % d>=0, dl>0, ddl+d<=0 ->
550 200 adas
         \fi                                      %                        ddl=0
551 200 adas
      \else
552 200 adas
         \advance\derdldim by\dercldim            % d>=0, dl=0 -> ddl=ddl+dcl
553 200 adas
      \fi
554 200 adas
      \ifdim\derrdim>0pt%
555 200 adas
         \ifdim\derdrdim>-\derdim
556 200 adas
            \advance\derdrdim by\derdim           % d>=0, dr>0, ddr+d>0 ->
557 200 adas
         \else                                    %                    ddr=ddr+d
558 200 adas
            \derdrdim=0pt%                        % d>=0, dr>0, ddr+d<=0 ->
559 200 adas
         \fi                                      %                        ddr=0
560 200 adas
      \else
561 200 adas
         \advance\derdrdim by\dercrdim            % d>=0, dr=0 -> ddr=ddr+dcr
562 200 adas
      \fi
563 200 adas
   \fi
564 200 adas
   \global\setbox\derboxone=\hbox
565 200 adas
      {\kern\derdldim\unhbox\derboxone\kern\derdrdim}%
566 200 adas
   \global\advance\derldim by\derdldim            % dl=dl+ddl
567 200 adas
   \global\advance\derrdim by\derdrdim            % dr=dr+ddr
568 200 adas
   }%
569 200 adas
570 200 adas
\newcommand{\vlstemraux }[4]{{#4}\vlstemaux\vldaux
571 200 adas
   {\scriptstyle #1}%
572 200 adas
   {\scriptstyle #2}%
573 200 adas
   {\vlhyaux{#3}}%
574 200 adas
   {\kern-\deropen\kern-\ht\strutbox\kern-\dp\strutbox}%
575 200 adas
   {\hbox{$\vcenter{\vbox{\offinterlineskip
576 200 adas
                    \hbox{$\copy\stembox$}}}$}}%
577 200 adas
   {\kern-\deropen}}%
578 200 adas
579 200 adas
\newcommand{\vlstemrraux}[4]{{#4}\vlstemaux\vldaux
580 200 adas
   {\scriptstyle #1}%
581 200 adas
   {\scriptstyle #2}%
582 200 adas
   {\vlhy{#3}}%
583 200 adas
   {\kern\deropen}%
584 200 adas
   {\hbox{\hfil}}%
585 200 adas
   {\kern\deropen}}%
586 200 adas
587 200 adas
\newif\ifvlsmallleftlabels\vlsmallleftlabelstrue
588 200 adas
589 200 adas
\newcommand{\vlnosmallleftlabels}{\vlsmallleftlabelsfalse}%
590 200 adas
591 200 adas
\newcommand{\vlsmallleftlabels}{\vlsmallleftlabelstrue}%
592 200 adas
593 200 adas
\newcommand{\vlleftlabel }[1]{\@ifnotmtarg{#1}{\ifvlsmallleftlabels
594 200 adas
                               \scriptstyle\fi #1\;}\relax}%
595 200 adas
596 200 adas
\newcommand{\vlrightlabel}[1]{\@ifnotmtarg{#1}{\;#1}\relax}%
597 200 adas
598 200 adas
\newdimen\vlstemheight\vlstemheight=8pt%
599 200 adas
600 200 adas
\newcommand{\vlvruler}{\hbox{\vrule width .6pt height \vlstemheightc sp
601 200 adas
                             \kern1.2pt
602 200 adas
                             \vrule width .6pt height \vlstemheightc sp}}%
603 200 adas
604 200 adas
\newcount\vlstemheightc
605 200 adas
606 200 adas
\newcommand{\vldf}[5]{\vldummycount=\vlstemheight
607 200 adas
                      \FPmul\vlstemheightc{\the\vldummycount}{#5}%
608 200 adas
   \setbox\stembox=\vbox to \vlstemheightc sp{\vlvruler}%
609 200 adas
   \vlstemrraux{                }{                 }{#3              }  {%
610 200 adas
   \vlstemraux {\vlleftlabel{#1}}{\vlrightlabel{#2}}{\kern\wd\stembox} {%
611 200 adas
   \vlstemrraux{                }{                 }{\kern\wd\stembox}{%
612 200 adas
   #4                                                                 }}}}%
613 200 adas
614 200 adas
\newcommand{\vlde}[4]{\vldf{#1}{#2}{#3}{#4}1}%
615 200 adas
616 200 adas
\newcommand{\vldd}[4]{\vldf{#1}{#2}{#3}{#4}2}%
617 200 adas
618 200 adas
\newcommand{\vlpf}[4]{\vldf{#1}{#2}{#3}%
619 200 adas
   {\vlhyaux{\vbox to0pt{\vss\kern3pt\hrule width4.2pt\vss}}}{#4}}%
620 200 adas
621 200 adas
\newcommand{\vlpr}[3]{\vlpf{#1}{#2}{#3}1}%
622 200 adas
623 200 adas
\newcommand{\vlpd}[3]{\vlpf{#1}{#2}{#3}2}%
624 200 adas
625 200 adas
\newcommand{\vlproofaux}[4]{\vlderivationaux{\vlpf{#2}{#3}{#4}{#1}}}%
626 200 adas
627 200 adas
\newcommand{\vlproof }{\vlderivationinit\vlproofaux1}%
628 200 adas
629 200 adas
\newcommand{\vlproofd}{\vlderivationinit\vlproofaux2}%
630 200 adas
631 200 adas
\newcommand{\vlderaux}[5]{\vlderivationaux{\vldf{#2}{#3}{#4}{\vlhy{#5}}{#1}}}%
632 200 adas
633 200 adas
\newcommand{\vlder }{\vlderivationinit\vlderaux1}%
634 200 adas
635 200 adas
\newcommand{\vlderd}{\vlderivationinit\vlderaux2}%
636 200 adas
637 200 adas
\newcommand{\vlhruler}{\vfill\hbox to\hsize{\hrulefill}\vfill}%
638 200 adas
639 200 adas
\newcommand{\vlhhruler}{\vfill
640 200 adas
                        \hbox to\hsize{\hrulefill}%
641 200 adas
                        \kern1pt
642 200 adas
                        \hbox to\hsize{\hrulefill}%
643 200 adas
                        \vfill}%
644 200 adas
645 200 adas
\newcommand{\vlhdotter}{\vfill
646 200 adas
   \hbox to\hsize{\cleaders\vbox to0pt{\vss
647 200 adas
       \hbox{\kern-.35pt$.$\kern-.35pt}\vss}\hskip\hsize}\vfill}%
648 200 adas
649 200 adas
\newcommand{\vldsinaux}[3]{\vldaux
650 200 adas
   {\smash{\ifvlsmallleftlabels\lower\fontdimen22\scriptfont2%
651 200 adas
                          \else\lower\fontdimen22\textfont2\fi
652 200 adas
                                       \hbox{$\vlleftlabel {#1}$}}}%
653 200 adas
   {\smash{\lower\fontdimen22\textfont2\hbox{$\vlrightlabel{#2}$}}}%
654 200 adas
   {\vlhy{#3}}%
655 200 adas
   {\kern\deropen}%
656 200 adas
   {\vbox to.4pt{\vlhruler}}%
657 200 adas
   {\kern\deropen}}%
658 200 adas
659 200 adas
\newcommand{\vldsidaux}[3]{\vldaux
660 200 adas
   {\smash{\ifvlsmallleftlabels\lower\fontdimen22\scriptfont2%
661 200 adas
                          \else\lower\fontdimen22\textfont2\fi
662 200 adas
                                       \hbox{$\vlleftlabel {#1}$}}}%
663 200 adas
   {\smash{\lower\fontdimen22\textfont2\hbox{$\vlrightlabel{#2}$}}}%
664 200 adas
   {\vlhy{#3}}%
665 200 adas
   {\kern\deropen}%
666 200 adas
   {\vbox to.4pt{\vlhdotter}}%
667 200 adas
   {\kern\deropen}}%
668 200 adas
669 200 adas
\newdimen\vldsiqdimenleft
670 200 adas
\newdimen\vldsiqdimenright
671 200 adas
672 200 adas
\newcommand{\vldsiqaux}[3]{\ifvlsmallleftlabels
673 200 adas
                                \vldsiqdimenleft=\fontdimen22\scriptfont2%
674 200 adas
                           \else\vldsiqdimenleft=\fontdimen22\textfont2\fi
675 200 adas
                           \advance\vldsiqdimenleft  by-.7pt%
676 200 adas
                           \vldsiqdimenright=\fontdimen22\textfont2%
677 200 adas
                           \advance\vldsiqdimenright by-.7pt%
678 200 adas
   \vldaux
679 200 adas
   {\smash{\lower\vldsiqdimenleft \hbox{$\vlleftlabel {#1}$}}}%
680 200 adas
   {\smash{\lower\vldsiqdimenright\hbox{$\vlrightlabel{#2}$}}}%
681 200 adas
   {\vlhy{#3}}%
682 200 adas
   {\kern\deropen\kern-.7pt}%
683 200 adas
   {\vbox to1.8pt{\vlhhruler}}%
684 200 adas
   {\kern\deropen\kern-.7pt}}%
685 200 adas
686 200 adas
\newbox\derboxin
687 200 adas
\newdimen\derboxinwidth
688 200 adas
689 200 adas
\newcommand{\vliaux}[2]{#2%
690 200 adas
   \dercldim=\derldim
691 200 adas
   \derccdim=\dercdim
692 200 adas
   \dercrdim=\derrdim
693 200 adas
   \setbox\derboxin=\hbox{$#1$}%
694 200 adas
   \derboxinwidth=1em\advance\derboxinwidth by-\wd\derboxin
695 200 adas
   \ifdim\derboxinwidth>0pt\divide\derboxinwidth by2\else\derboxinwidth=0pt\fi}%
696 200 adas
697 200 adas
\newcommand{\vlin}[4]{\vliaux{#3}{#4}%
698 200 adas
   \vldsinaux{#1}{#2}{\kern\derboxinwidth\box\derboxin\kern\derboxinwidth}}%
699 200 adas
700 200 adas
\newcommand{\vlid}[4]{\vliaux{#3}{#4}%
701 200 adas
   \vldsidaux{#1}{#2}{\kern\derboxinwidth\box\derboxin\kern\derboxinwidth}}%
702 200 adas
703 200 adas
\newcommand{\vliq}[4]{\vliaux{#3}{#4}%
704 200 adas
   \vldsiqaux{#1}{#2}{\kern\derboxinwidth\box\derboxin\kern\derboxinwidth}}%
705 200 adas
706 200 adas
\newcommand{\vliiaux}[2]{\derquad=\fontdimen6\textfont2%
707 200 adas
   {#1}%
708 200 adas
           \dercldim  =\derldim
709 200 adas
           \derccdim  =\dercdim
710 200 adas
   \setbox\derboxtwo=\hbox{\unhbox\derboxone\kern\derquad}%
711 200 adas
   \advance\derccdim by\derrdim
712 200 adas
   \advance\derccdim by\derquad
713 200 adas
   {#2}%
714 200 adas
   \setbox\derboxone=\hbox{\unhbox\derboxtwo\unhbox\derboxone}%
715 200 adas
   \advance\derccdim by\derldim
716 200 adas
   \advance\derccdim by\dercdim
717 200 adas
           \dercrdim  =\derrdim}%
718 200 adas
719 200 adas
\newcommand{\vliin}[5]{\vliiaux{#4}{#5}\vldsinaux{#1}{#2}{#3}}%
720 200 adas
721 200 adas
\newcommand{\vliid}[5]{\vliiaux{#4}{#5}\vldsidaux{#1}{#2}{#3}}%
722 200 adas
723 200 adas
\newcommand{\vliiq}[5]{\vliiaux{#4}{#5}\vldsiqaux{#1}{#2}{#3}}%
724 200 adas
725 200 adas
\newcommand{\vldsauxx}{\setbox\derboxtwo=\hbox
726 200 adas
   {\unhbox\derboxtwo\unhbox\derboxone\kern\derquad}%
727 200 adas
   \advance\derccdim by\derldim
728 200 adas
   \advance\derccdim by\dercdim
729 200 adas
   \advance\derccdim by\derrdim
730 200 adas
   \advance\derccdim by\derquad}%
731 200 adas
732 200 adas
\newcommand{\vldsiiiaux}[3]{\derquad=\fontdimen6\textfont2%
733 200 adas
   {#1}%
734 200 adas
           \dercldim  =\derldim
735 200 adas
           \derccdim  =\dercdim
736 200 adas
   \setbox\derboxtwo=\hbox{\unhbox\derboxone\kern\derquad}%
737 200 adas
   \advance\derccdim by\derrdim
738 200 adas
   \advance\derccdim by\derquad
739 200 adas
   {#2}\vldsauxx
740 200 adas
   {#3}%
741 200 adas
   \setbox\derboxone=\hbox{\unhbox\derboxtwo\unhbox\derboxone}%
742 200 adas
   \advance\derccdim by\derldim
743 200 adas
   \advance\derccdim by\dercdim
744 200 adas
           \dercrdim  =\derrdim}%
745 200 adas
746 200 adas
\newcommand{\vliiin}[6]{\vldsiiiaux{#4}{#5}{#6}\vldsinaux{#1}{#2}{#3}}%
747 200 adas
748 200 adas
\newcommand{\vliiid}[6]{\vldsiiiaux{#4}{#5}{#6}\vldsidaux{#1}{#2}{#3}}%
749 200 adas
750 200 adas
\newcommand{\vliiiq}[6]{\vldsiiiaux{#4}{#5}{#6}\vldsiqaux{#1}{#2}{#3}}%
751 200 adas
752 200 adas
\newcommand{\vldsiiiiaux}[4]{\derquad=\fontdimen6\textfont2%
753 200 adas
   {#1}%
754 200 adas
           \dercldim  =\derldim
755 200 adas
           \derccdim  =\dercdim
756 200 adas
   \setbox\derboxtwo=\hbox{\unhbox\derboxone\kern\derquad}%
757 200 adas
   \advance\derccdim by\derrdim
758 200 adas
   \advance\derccdim by\derquad
759 200 adas
   {#2}\vldsauxx
760 200 adas
   {#3}\vldsauxx
761 200 adas
   {#4}%
762 200 adas
   \setbox\derboxone=\hbox{\unhbox\derboxtwo\unhbox\derboxone}%
763 200 adas
   \advance\derccdim by\derldim
764 200 adas
   \advance\derccdim by\dercdim
765 200 adas
           \dercrdim  =\derrdim}%
766 200 adas
767 200 adas
\newcommand{\vliiiin}[7]{\vldsiiiiaux{#4}{#5}{#6}{#7}\vldsinaux{#1}{#2}{#3}}%
768 200 adas
769 200 adas
\newcommand{\vliiiid}[7]{\vldsiiiiaux{#4}{#5}{#6}{#7}\vldsidaux{#1}{#2}{#3}}%
770 200 adas
771 200 adas
\newcommand{\vliiiiq}[7]{\vldsiiiiaux{#4}{#5}{#6}{#7}\vldsiqaux{#1}{#2}{#3}}%
772 200 adas
773 200 adas
\newcommand{\vldsiiiiiaux}[5]{\derquad=\fontdimen6\textfont2%
774 200 adas
   {#1}%
775 200 adas
           \dercldim  =\derldim
776 200 adas
           \derccdim  =\dercdim
777 200 adas
   \setbox\derboxtwo=\hbox{\unhbox\derboxone\kern\derquad}%
778 200 adas
   \advance\derccdim by\derrdim
779 200 adas
   \advance\derccdim by\derquad
780 200 adas
   {#2}\vldsauxx
781 200 adas
   {#3}\vldsauxx
782 200 adas
   {#4}\vldsauxx
783 200 adas
   {#5}%
784 200 adas
   \setbox\derboxone=\hbox{\unhbox\derboxtwo\unhbox\derboxone}%
785 200 adas
   \advance\derccdim by\derldim
786 200 adas
   \advance\derccdim by\dercdim
787 200 adas
           \dercrdim  =\derrdim}%
788 200 adas
789 200 adas
\newcommand{\vliiiiin}[8]{\vldsiiiiiaux{#4}{#5}{#6}{#7}{#8}%
790 200 adas
                          \vldsinaux{#1}{#2}{#3}}%
791 200 adas
792 200 adas
\newcommand{\vliiiiid}[8]{\vldsiiiiiaux{#4}{#5}{#6}{#7}{#8}%
793 200 adas
                          \vldsidaux{#1}{#2}{#3}}%
794 200 adas
795 200 adas
\newcommand{\vliiiiiq}[8]{\vldsiiiiiaux{#4}{#5}{#6}{#7}{#8}%
796 200 adas
                          \vldsiqaux{#1}{#2}{#3}}%
797 200 adas
798 200 adas
\newcommand{\vldsiiiiiiaux}[6]{\derquad=\fontdimen6\textfont2%
799 200 adas
   {#1}%
800 200 adas
           \dercldim  =\derldim
801 200 adas
           \derccdim  =\dercdim
802 200 adas
   \setbox\derboxtwo=\hbox{\unhbox\derboxone\kern\derquad}%
803 200 adas
   \advance\derccdim by\derrdim
804 200 adas
   \advance\derccdim by\derquad
805 200 adas
   {#2}\vldsauxx
806 200 adas
   {#3}\vldsauxx
807 200 adas
   {#4}\vldsauxx
808 200 adas
   {#5}\vldsauxx
809 200 adas
   {#6}%
810 200 adas
   \setbox\derboxone=\hbox{\unhbox\derboxtwo\unhbox\derboxone}%
811 200 adas
   \advance\derccdim by\derldim
812 200 adas
   \advance\derccdim by\dercdim
813 200 adas
           \dercrdim  =\derrdim}%
814 200 adas
815 200 adas
\newcommand{\vliiiiiin}[9]{\vldsiiiiiiaux{#4}{#5}{#6}{#7}{#8}{#9}%
816 200 adas
                           \vldsinaux{#1}{#2}{#3}}%
817 200 adas
818 200 adas
\newcommand{\vliiiiiid}[9]{\vldsiiiiiiaux{#4}{#5}{#6}{#7}{#8}{#9}%
819 200 adas
                           \vldsidaux{#1}{#2}{#3}}%
820 200 adas
821 200 adas
\newcommand{\vliiiiiiq}[9]{\vldsiiiiiiaux{#4}{#5}{#6}{#7}{#8}{#9}%
822 200 adas
                           \vldsiqaux{#1}{#2}{#3}}%
823 200 adas
824 200 adas
\newcommand{\vlinfaux     }[4]{\vlderivationaux{\vlin  {#1}{#2}{#3}%
825 200 adas
                                                                {\vlhy{#4}}}}%
826 200 adas
827 200 adas
\newcommand{\vliqfaux     }[4]{\vlderivationaux{\vliq  {#1}{#2}{#3}%
828 200 adas
                                                                {\vlhy{#4}}}}%
829 200 adas
830 200 adas
\newcommand{\vlindaux     }[4]{\vlderivationaux{\vlid  {#1}{#2}{#3}%
831 200 adas
                                                                {\vlhy{#4}}}}%
832 200 adas
833 200 adas
\newcommand{\vliinfaux    }[5]{\vlderivationaux{\vliin {#1}{#2}{#3}%
834 200 adas
                                                                {\vlhy{#4}}%
835 200 adas
                                                                {\vlhy{#5}}}}%
836 200 adas
837 200 adas
\newcommand{\vliidfaux    }[5]{\vlderivationaux{\vliid {#1}{#2}{#3}%
838 200 adas
                                                                {\vlhy{#4}}%
839 200 adas
                                                                {\vlhy{#5}}}}%
840 200 adas
841 200 adas
\newcommand{\vliiqfaux    }[5]{\vlderivationaux{\vliiq {#1}{#2}{#3}%
842 200 adas
                                                                {\vlhy{#4}}%
843 200 adas
                                                                {\vlhy{#5}}}}%
844 200 adas
845 200 adas
\newcommand{\vliiinfaux   }[6]{\vlderivationaux{\vliiin{#1}{#2}{#3}%
846 200 adas
                                                                {\vlhy{#4}}%
847 200 adas
                                                                {\vlhy{#5}}%
848 200 adas
                                                                {\vlhy{#6}}}}%
849 200 adas
850 200 adas
\newcommand{\vliiidfaux   }[6]{\vlderivationaux{\vliiid{#1}{#2}{#3}%
851 200 adas
                                                                {\vlhy{#4}}%
852 200 adas
                                                                {\vlhy{#5}}%
853 200 adas
                                                                {\vlhy{#6}}}}%
854 200 adas
855 200 adas
\newcommand{\vliiiqfaux   }[6]{\vlderivationaux{\vliiiq{#1}{#2}{#3}%
856 200 adas
                                                                {\vlhy{#4}}%
857 200 adas
                                                                {\vlhy{#5}}%
858 200 adas
                                                                {\vlhy{#6}}}}%
859 200 adas
860 200 adas
\newcommand{\vliiiinfaux  }[7]{\vlderivationaux{\vliiiin{#1}{#2}{#3}%
861 200 adas
                                                                {\vlhy{#4}}%
862 200 adas
                                                                {\vlhy{#5}}%
863 200 adas
                                                                {\vlhy{#6}}%
864 200 adas
                                                                {\vlhy{#7}}}}%
865 200 adas
866 200 adas
\newcommand{\vliiiidfaux  }[7]{\vlderivationaux{\vliiiid{#1}{#2}{#3}%
867 200 adas
                                                                {\vlhy{#4}}%
868 200 adas
                                                                {\vlhy{#5}}%
869 200 adas
                                                                {\vlhy{#6}}%
870 200 adas
                                                                {\vlhy{#7}}}}%
871 200 adas
872 200 adas
\newcommand{\vliiiiqfaux  }[7]{\vlderivationaux{\vliiiiq{#1}{#2}{#3}%
873 200 adas
                                                                {\vlhy{#4}}%
874 200 adas
                                                                {\vlhy{#5}}%
875 200 adas
                                                                {\vlhy{#6}}%
876 200 adas
                                                                {\vlhy{#7}}}}%
877 200 adas
878 200 adas
\newcommand{\vliiiiinfaux }[8]{\vlderivationaux{\vliiiiin{#1}{#2}{#3}%
879 200 adas
                                                                {\vlhy{#4}}%
880 200 adas
                                                                {\vlhy{#5}}%
881 200 adas
                                                                {\vlhy{#6}}%
882 200 adas
                                                                {\vlhy{#7}}%
883 200 adas
                                                                {\vlhy{#8}}}}%
884 200 adas
885 200 adas
\newcommand{\vliiiiidfaux }[8]{\vlderivationaux{\vliiiiid{#1}{#2}{#3}%
886 200 adas
                                                                {\vlhy{#4}}%
887 200 adas
                                                                {\vlhy{#5}}%
888 200 adas
                                                                {\vlhy{#6}}%
889 200 adas
                                                                {\vlhy{#7}}%
890 200 adas
                                                                {\vlhy{#8}}}}%
891 200 adas
892 200 adas
\newcommand{\vliiiiiqfaux }[8]{\vlderivationaux{\vliiiiiq{#1}{#2}{#3}%
893 200 adas
                                                                {\vlhy{#4}}%
894 200 adas
                                                                {\vlhy{#5}}%
895 200 adas
                                                                {\vlhy{#6}}%
896 200 adas
                                                                {\vlhy{#7}}%
897 200 adas
                                                                {\vlhy{#8}}}}%
898 200 adas
899 200 adas
\newcommand{\vliiiiiinfaux}[9]{\vlderivationaux{\vliiiiiin{#1}{#2}{#3}%
900 200 adas
                                                                {\vlhy{#4}}%
901 200 adas
                                                                {\vlhy{#5}}%
902 200 adas
                                                                {\vlhy{#6}}%
903 200 adas
                                                                {\vlhy{#7}}%
904 200 adas
                                                                {\vlhy{#8}}%
905 200 adas
                                                                {\vlhy{#9}}}}%
906 200 adas
907 200 adas
\newcommand{\vliiiiiidfaux}[9]{\vlderivationaux{\vliiiiiid{#1}{#2}{#3}%
908 200 adas
                                                                {\vlhy{#4}}%
909 200 adas
                                                                {\vlhy{#5}}%
910 200 adas
                                                                {\vlhy{#6}}%
911 200 adas
                                                                {\vlhy{#7}}%
912 200 adas
                                                                {\vlhy{#8}}%
913 200 adas
                                                                {\vlhy{#9}}}}%
914 200 adas
915 200 adas
\newcommand{\vliiiiiiqfaux}[9]{\vlderivationaux{\vliiiiiiq{#1}{#2}{#3}%
916 200 adas
                                                                {\vlhy{#4}}%
917 200 adas
                                                                {\vlhy{#5}}%
918 200 adas
                                                                {\vlhy{#6}}%
919 200 adas
                                                                {\vlhy{#7}}%
920 200 adas
                                                                {\vlhy{#8}}%
921 200 adas
                                                                {\vlhy{#9}}}}%
922 200 adas
923 200 adas
\newcommand{\vlinf     }{\vlderivationinit\vlinfaux     }%
924 200 adas
925 200 adas
\newcommand{\vlidf     }{\vlderivationinit\vlindaux     }%
926 200 adas
927 200 adas
\newcommand{\vliqf     }{\vlderivationinit\vliqfaux     }%
928 200 adas
929 200 adas
\newcommand{\vliinf    }{\vlderivationinit\vliinfaux    }%
930 200 adas
931 200 adas
\newcommand{\vliidf    }{\vlderivationinit\vliidfaux    }%
932 200 adas
933 200 adas
\newcommand{\vliiqf    }{\vlderivationinit\vliiqfaux    }%
934 200 adas
935 200 adas
\newcommand{\vliiinf   }{\vlderivationinit\vliiinfaux   }%
936 200 adas
937 200 adas
\newcommand{\vliiidf   }{\vlderivationinit\vliiidfaux   }%
938 200 adas
939 200 adas
\newcommand{\vliiiqf   }{\vlderivationinit\vliiiqfaux   }%
940 200 adas
941 200 adas
\newcommand{\vliiiinf  }{\vlderivationinit\vliiiinfaux  }%
942 200 adas
943 200 adas
\newcommand{\vliiiidf  }{\vlderivationinit\vliiiidfaux  }%
944 200 adas
945 200 adas
\newcommand{\vliiiiqf  }{\vlderivationinit\vliiiiqfaux  }%
946 200 adas
947 200 adas
\newcommand{\vliiiiinf }{\vlderivationinit\vliiiiinfaux }%
948 200 adas
949 200 adas
\newcommand{\vliiiiidf }{\vlderivationinit\vliiiiidfaux }%
950 200 adas
951 200 adas
\newcommand{\vliiiiiqf }{\vlderivationinit\vliiiiiqfaux }%
952 200 adas
953 200 adas
\newcommand{\vliiiiiinf}{\vlderivationinit\vliiiiiinfaux}%
954 200 adas
955 200 adas
\newcommand{\vliiiiiidf}{\vlderivationinit\vliiiiiidfaux}%
956 200 adas
957 200 adas
\newcommand{\vliiiiiiqf}{\vlderivationinit\vliiiiiiqfaux}%
958 200 adas
959 200 adas
\catcode`@=12
960 200 adas
\newcommand{\vltrauxx}[5]{\vldaux
961 200 adas
   {#1}%
962 200 adas
   {#2}%
963 200 adas
   {\vlhy{#3}}%
964 200 adas
   {}%
965 200 adas
   {\hbox{$\vcenter{\xy
966 200 adas
          0;<\hsize,0pt>:<0pt,#4\hsize>::
967 200 adas
          (-0.5,0.5);(0.5,0.5)**\crv{(0.1,0.6)&(-0.1,0.4)};
968 200 adas
          (0,0)**@{-};(-0.5,0.5)**@{-};
969 200 adas
          (0,0.273)*{\scriptstyle #5\strut}%
970 200 adas
          \endxy}$}}%
971 200 adas
   {\kern\deropen}}%
972 200 adas
\catcode`\@=11
973 200 adas
974 200 adas
\newcommand{\vltraux}[3]{\vltrauxx{}{}{#2}{#3}{#1}}%
975 200 adas
976 200 adas
\newcount\vltrindc
977 200 adas
\newdimen\vltrindd
978 200 adas
979 200 adas
\newcommand{\vltrlaux}[5]{\ifdim\derccdim>\dercdim\vldummycount=\derccdim
980 200 adas
                             \else\vldummycount=\dercdim
981 200 adas
                             \fi
982 200 adas
                          \FPmul\vltrindc{\the\vldummycount}{0.25}%
983 200 adas
                          \vltrindd=\vltrindc sp
984 200 adas
                          \advance\vltrindd by-10pt%
985 200 adas
   \vltrauxx{\scriptstyle #2\strut\kern-\vltrindd}%
986 200 adas
            {\kern-\vltrindd\scriptstyle #3\strut}{#4}{#5}{#1}}%
987 200 adas
988 200 adas
\newcommand{\vltrauxxx}[2]{{#2}\vlstemaux\vldaux
989 200 adas
   {}%
990 200 adas
   {}%
991 200 adas
   {\vlhy{#1}}%
992 200 adas
   {\kern-\ht\strutbox\kern-\dp\strutbox}%
993 200 adas
   {}%
994 200 adas
   {}}%
995 200 adas
996 200 adas
\newcommand{\vltrf }[6]{\vltrauxxx{#2}%
997 200 adas
                        {\vldsiiiaux{#3}{#4}{#5}\vltraux{#1}{}{#6}}}%
998 200 adas
999 200 adas
\newcommand{\vltrlf}[8]{\vltrauxxx{#4}%
1000 200 adas
                        {\vldsiiiaux{#5}{#6}{#7}\vltrlaux{#1}{#2}{#3}{}{#8}}}%
1001 200 adas
1002 200 adas
\newcommand{\vltr }[5]{\vltrf{#1}{#2}{#3}{#4}{#5}1}%
1003 200 adas
1004 200 adas
\newcommand{\vltrl}[7]{\vltrlf{#1}{#2}{#3}{#4}{#5}{#6}{#7}1}%
1005 200 adas
1006 200 adas
\newcommand{\vltreeder }[5]{\vlderivation{\vltr{#1}{#2}{\vlhy{#3}}%
1007 200 adas
                                                       {\vlhy{#4}}%
1008 200 adas
                                                       {\vlhy{#5}}}}%
1009 200 adas
1010 200 adas
\newcommand{\vltreederl}[7]{\vlderivation{\vltrl{#1}{#2}{#3}{#4}{\vlhy{#5}}%
1011 200 adas
                                                                {\vlhy{#6}}%
1012 200 adas
                                                                {\vlhy{#7}}}}%
1013 200 adas
1014 200 adas
\newcommand{\vlvdots}{\vbox to12pt{\vfil\hbox{$\smash\vdots$}}}%
1015 200 adas
1016 200 adas
%------------------------------------------------- END OF MACROS FOR DERIVATIONS
1017 200 adas
1018 200 adas
%----------------------------------------------------- MACROS FOR OPEN DEDUCTION
1019 200 adas
1020 200 adas
\newif\ifodframe          \odframetrue
1021 200 adas
\newif\ifodframefirst     \odframefirsttrue
1022 200 adas
\newif\ifodbackground     \odbackgroundfalse
1023 200 adas
\newif\ifodbackgroundfirst\odbackgroundfirsttrue
1024 200 adas
1025 200 adas
\newcount\odback
1026 200 adas
\newcount\odframe
1027 200 adas
1028 200 adas
\newcommand{\odboxed}[1]{%
1029 200 adas
   \ifnum\odback=0
1030 200 adas
      \ifnum\odframe=0
1031 200 adas
         \hbox{$\vcenter{%
1032 200 adas
         \vbox{\kern\fboxrule
1033 200 adas
         \hbox{\kern\fboxrule$#1$%
1034 200 adas
               \kern\fboxrule}%
1035 200 adas
               \kern\fboxrule}%
1036 200 adas
         }$}%
1037 200 adas
      \else
1038 200 adas
         \colorlet{currentcolor}{.}%
1039 200 adas
         {\color{currentcolor!\the\odframe}\fbox{\color{currentcolor}$#1$}}%
1040 200 adas
      \fi
1041 200 adas
   \else
1042 200 adas
      \colorlet{currentcolor}{.}%
1043 200 adas
      \fcolorbox{currentcolor!\the\odframe}{currentcolor!\the\odback}{$#1$}%
1044 200 adas
   \fi}%
1045 200 adas
1046 200 adas
\newcommand\odbox[1]{\odframe=100\setlength{\fboxsep}{2pt}%
1047 200 adas
                                 \setlength{\fboxrule}{.25pt}\odboxed{#1}}%
1048 200 adas
1049 200 adas
\newcommand{\odsetframes}{\ifodbackground\ifodbackgroundfirst
1050 200 adas
                                                   \odbackgroundfirstfalse
1051 200 adas
                                                   \odback =0%
1052 200 adas
                                                   \setlength{\fboxsep}{0pt}%
1053 200 adas
                                                   \odframe=0%
1054 200 adas
                                         \else\advance\odback by5%
1055 200 adas
                                              \odframe=\odback
1056 200 adas
                                              \ifodframe\odframe=100%
1057 200 adas
                                              \setlength{\fboxsep}{2pt}%
1058 200 adas
                                              \setlength{\fboxrule}{.25pt}%
1059 200 adas
                                              \fi
1060 200 adas
                                         \fi
1061 200 adas
                          \else\setlength{\fboxsep}{0pt}%
1062 200 adas
                          \fi
1063 200 adas
                          \ifodframe\ifodframefirst\odframefirstfalse
1064 200 adas
                                                   \odframe=0%
1065 200 adas
                                    \else          \odframe=100%
1066 200 adas
                                                   \setlength{\fboxsep}{2pt}%
1067 200 adas
                                                   \setlength{\fboxrule}{.25pt}%
1068 200 adas
                                    \fi
1069 200 adas
                          \else     \odframe=0%
1070 200 adas
                          \fi}%
1071 200 adas
1072 200 adas
\newcommand{\odderivationinit}{\bgroup
1073 200 adas
   \odsetframes
1074 200 adas
   \vlprepstructures\vlderivationinitaux}%                            % dr
1075 200 adas
1076 200 adas
\newcommand{\odderivationaux}[1]{#1\odboxed
1077 200 adas
                                 {\vcenter{\copy\derboxone}}\vlderivationterm}%
1078 200 adas
1079 200 adas
\newcommand{\od        }   {\odderivationinit\odderivationaux}%
1080 200 adas
1081 200 adas
\newcommand{\odp       }[3]{\vlpr{#1}{#3}{\vls #2}}%
1082 200 adas
1083 200 adas
\newcommand{\odP       }[3]{\vlpd{#1}{#3}{\vls #2}}%
1084 200 adas
1085 200 adas
\newcommand{\odpx      }[4]{\vlpf{#1}{#3}{\vls #2}{#4}}%
1086 200 adas
1087 200 adas
\newcommand{\odproofaux}[4]{\odderivationaux{\vlpf{#2}{#4}{\vls #3}{#1}}}%
1088 200 adas
1089 200 adas
\newcommand{\odr       }   {\odderivationinit\odproofaux1}%
1090 200 adas
1091 200 adas
\newcommand{\odR       }   {\odderivationinit\odproofaux2}%
1092 200 adas
1093 200 adas
\newcommand{\odd       }[4]{\vldf{#2}{#4}{\vls #3}{\vls #1}1}%
1094 200 adas
1095 200 adas
\newcommand{\odD       }[4]{\vldf{#2}{#4}{\vls #3}{\vls #1}2}%
1096 200 adas
1097 200 adas
\newcommand{\oddx      }[5]{\vldf{#2}{#4}{\vls #3}{\vls #1}{#5}}%
1098 200 adas
1099 200 adas
\newcommand{\odh       }[1]{\vlhy{\vls #1}}%
1100 200 adas
1101 200 adas
\newcommand{\odderaux  }[5]{\odderivationaux{\vldf{#3}{#5}{\vls #4}%
1102 200 adas
                                                    {\vlhy{\vls #2}}{#1}}}%
1103 200 adas
1104 200 adas
\newcommand{\odv       }   {\odderivationinit\odderaux1}%
1105 200 adas
1106 200 adas
\newcommand{\odV       }   {\odderivationinit\odderaux2}%
1107 200 adas
1108 200 adas
\newcommand{\odi       }[4]{\vlin{#2}{#4}{\vls #3}{\vls #1}}%
1109 200 adas
1110 200 adas
\newcommand{\odI       }[4]{\vliq{#2}{#4}{\vls #3}{\vls #1}}%
1111 200 adas
1112 200 adas
\newcommand{\odo       }[4]{\vlid{#2}{#4}{\vls #3}{\vls #1}}%
1113 200 adas
1114 200 adas
\newcommand{\odnaux    }[4]{\odderivationaux{\vlin{#2}{#4}{\vls #3}%
1115 200 adas
                                                    {\vlhy{\vls #1}}}}%
1116 200 adas
1117 200 adas
\newcommand{\odNaux    }[4]{\odderivationaux{\vliq{#2}{#4}{\vls #3}%
1118 200 adas
                                                    {\vlhy{\vls #1}}}}%
1119 200 adas
1120 200 adas
\newcommand{\odtaux    }[4]{\odderivationaux{\vlid{#2}{#4}{\vls #3}%
1121 200 adas
                                                    {\vlhy{\vls #1}}}}%
1122 200 adas
1123 200 adas
\newcommand{\odn       }   {\odderivationinit\odnaux}%
1124 200 adas
1125 200 adas
\newcommand{\odN       }   {\odderivationinit\odNaux}%
1126 200 adas
1127 200 adas
\newcommand{\odt       }   {\odderivationinit\odtaux}%
1128 200 adas
1129 200 adas
%---------------------------------------------- END OF MACROS FOR OPEN DEDUCTION
1130 200 adas
1131 200 adas
%------------------------------------------------------- MACROS FOR ATOMIC FLOWS
1132 200 adas
1133 200 adas
\catcode`@=12
1134 200 adas
1135 200 adas
\newdimen\afunitmst\afunitmst=0.01pt%
1136 200 adas
1137 200 adas
\newdimen\afelwidthmst
1138 200 adas
\newdimen\afelheightmst
1139 200 adas
\newdimen\afthickonemst
1140 200 adas
\newdimen\afthicktwomst
1141 200 adas
\newdimen\afthickthreemst
1142 200 adas
\newdimen\afthickfourmst
1143 200 adas
\newdimen\afthickfivemst
1144 200 adas
\newdimen\aflabeldistancemst
1145 200 adas
1146 200 adas
\newcommand{\afsetparamsmst}{%
1147 200 adas
\afelwidthmst      =425\afunitmst
1148 200 adas
\afelheightmst     =325\afunitmst
1149 200 adas
\afthickonemst     = 60\afunitmst
1150 200 adas
\afthicktwomst     = 40\afunitmst
1151 200 adas
\afthickthreemst   =160\afunitmst
1152 200 adas
\afthickfourmst    =120\afunitmst
1153 200 adas
\afthickfivemst    = 40\afunitmst
1154 200 adas
\aflabeldistancemst=220\afunitmst}%
1155 200 adas
1156 200 adas
\afsetparamsmst
1157 200 adas
1158 200 adas
\newdimen\afunit\afunit=0.01pt%
1159 200 adas
1160 200 adas
\newdimen\afelwidth
1161 200 adas
\newdimen\afelheight
1162 200 adas
\newdimen\afthickone
1163 200 adas
\newdimen\afthicktwo
1164 200 adas
\newdimen\afthickthree
1165 200 adas
\newdimen\afthickfour
1166 200 adas
\newdimen\afthickfive
1167 200 adas
\newdimen\aflabeldistance
1168 200 adas
1169 200 adas
\newdimen\afelwidthcur
1170 200 adas
1171 200 adas
\newdimen\afthickdouble
1172 200 adas
\newdimen\afthicksep
1173 200 adas
1174 200 adas
\newcommand{\afsetparams}{%
1175 200 adas
\afelwidth      =425\afunit
1176 200 adas
\afelheight     =325\afunit
1177 200 adas
\afthickone     = 60\afunit
1178 200 adas
\afthicktwo     = 40\afunit
1179 200 adas
\afthickthree   =160\afunit
1180 200 adas
\afthickfour    =120\afunit
1181 200 adas
\afthickfive    = 40\afunit
1182 200 adas
\aflabeldistance=220\afunit
1183 200 adas
\afthicksep     =  3\afelwidth\divide\afthicksep by10%
1184 200 adas
                             \advance\afthicksep by-\afthickfive
1185 200 adas
\afthickdouble  =\afthicksep
1186 200 adas
                 \advance\afthickdouble by2\afthickfive
1187 200 adas
\afelwidthcur   =\afelwidth}%
1188 200 adas
1189 200 adas
\afsetparams
1190 200 adas
1191 200 adas
\newbox\aftrdnbox
1192 200 adas
\newbox\aftrupbox
1193 200 adas
\newbox\afdiskbox
1194 200 adas
\newbox\afbbdbox
1195 200 adas
\newbox\afbbubox
1196 200 adas
\newbox\afbdbox
1197 200 adas
\newbox\afbubox
1198 200 adas
\newbox\afcdcbox
1199 200 adas
\newbox\afcdcmbox
1200 200 adas
\newbox\afcucbox
1201 200 adas
\newbox\afcucmbox
1202 200 adas
\newbox\afcdabox\newbox\afwdabox\newbox\afadabox
1203 200 adas
\newbox\afCdbox\newbox\afWdbox\newbox\afAdbox
1204 200 adas
\newbox\afcdnbox\newbox\afwdnbox\newbox\afadnbox
1205 200 adas
\newbox\afCdnbox
1206 200 adas
\newbox\afcuabox\newbox\afwuabox\newbox\afauabox
1207 200 adas
\newbox\afCubox\newbox\afWubox\newbox\afAubox
1208 200 adas
\newbox\afcunbox\newbox\afwunbox\newbox\afaunbox
1209 200 adas
\newbox\afCunbox
1210 200 adas
\newbox\afIubox
1211 200 adas
\newbox\afiubox
1212 200 adas
\newbox\afIdbox
1213 200 adas
\newbox\afidbox
1214 200 adas
\newbox\afinubox\newbox\afindbox
1215 200 adas
\newbox\afDubox
1216 200 adas
\newbox\afduabox
1217 200 adas
\newbox\afDdbox
1218 200 adas
\newbox\afddabox
1219 200 adas
\newbox\afddnbox
1220 200 adas
\newbox\afdunbox
1221 200 adas
\newbox\afCudbox
1222 200 adas
\newbox\afcudabox
1223 200 adas
\newbox\afCddbox
1224 200 adas
\newbox\afcddabox
1225 200 adas
\newbox\afCudnbox
1226 200 adas
\newbox\afcudnbox
1227 200 adas
\newbox\afCddnbox
1228 200 adas
\newbox\afcddnbox
1229 200 adas
1230 200 adas
\newif\ifvlcompileflows\vlcompileflowsfalse
1231 200 adas
1232 200 adas
\newcommand{\ifemptyargparamsunchangedcompileflows}[3]{%
1233 200 adas
\ifblank{#1}{%
1234 200 adas
\ifdim\afunit           =\afunitmst
1235 200 adas
\ifdim\afelwidth        =\afelwidthmst
1236 200 adas
\ifdim\afelheight       =\afelheightmst
1237 200 adas
\ifdim\afthickone       =\afthickonemst
1238 200 adas
\ifdim\afthicktwo       =\afthicktwomst
1239 200 adas
\ifdim\afthickthree     =\afthickthreemst
1240 200 adas
\ifdim\afthickfour      =\afthickfourmst
1241 200 adas
\ifdim\afthickfive      =\afthickfivemst
1242 200 adas
\ifdim\aflabeldistance  =\aflabeldistancemst
1243 200 adas
\ifvlcompileflows
1244 200 adas
#2%
1245 200 adas
\else #3\fi
1246 200 adas
\else #3\fi
1247 200 adas
\else #3\fi
1248 200 adas
\else #3\fi
1249 200 adas
\else #3\fi
1250 200 adas
\else #3\fi
1251 200 adas
\else #3\fi
1252 200 adas
\else #3\fi
1253 200 adas
\else #3\fi
1254 200 adas
\else #3\fi}%
1255 200 adas
{#3}}%
1256 200 adas
1257 200 adas
\newif\ifaftrin
1258 200 adas
\newif\ifafdual
1259 200 adas
\newif\ifafstem
1260 200 adas
\newif\ifafmult
1261 200 adas
\newif\ifafdisk
1262 200 adas
1263 200 adas
\newcommand{\afcompileenable}{%
1264 200 adas
\afdiskfalse
1265 200 adas
\aftrintrue
1266 200 adas
\afstemtrue \afdualfalse\afmultfalse\setbox\afadabox =\afwauxx{}{}{}%
1267 200 adas
\afstemtrue \afdualfalse\afmulttrue \setbox\afAdbox  =\afwauxx{}{}{}%
1268 200 adas
\afstemtrue \afdualtrue \afmultfalse\setbox\afauabox =\afwauxx{}{}{}%
1269 200 adas
\afstemtrue \afdualtrue \afmulttrue \setbox\afAubox  =\afwauxx{}{}{}%
1270 200 adas
\afstemfalse\afdualfalse\afmultfalse\setbox\afadnbox =\afwauxx{}{}{}%
1271 200 adas
\afstemfalse\afdualtrue \afmultfalse\setbox\afaunbox =\afwauxx{}{}{}%
1272 200 adas
\aftrinfalse
1273 200 adas
            \afdualfalse\setbox\aftrdnbox=\aftraux
1274 200 adas
                        \setbox\afbbdbox =\afbmaux
1275 200 adas
            \afdualtrue \setbox\aftrupbox=\aftraux
1276 200 adas
                        \setbox\afbbubox =\afbmaux
1277 200 adas
                        \setbox\afdiskbox=\afdiaux
1278 200 adas
\afstemtrue \afdualfalse\afmultfalse\setbox\afwdabox =\afwauxx{}{}{}%
1279 200 adas
\afstemtrue \afdualfalse\afmulttrue \setbox\afWdbox  =\afwauxx{}{}{}%
1280 200 adas
\afstemtrue \afdualtrue \afmultfalse\setbox\afwuabox =\afwauxx{}{}{}%
1281 200 adas
\afstemtrue \afdualtrue \afmulttrue \setbox\afWubox  =\afwauxx{}{}{}%
1282 200 adas
\afstemfalse\afdualfalse\afmultfalse\setbox\afwdnbox =\afwauxx{}{}{}%
1283 200 adas
                                    \setbox\afbdbox  =\afbauxx
1284 200 adas
\afstemfalse\afdualtrue \afmultfalse\setbox\afwunbox =\afwauxx{}{}{}%
1285 200 adas
                                    \setbox\afbubox  =\afbauxx
1286 200 adas
            \afdualfalse\afmultfalse\setbox\afcdcbox =\afccaux{}{}%
1287 200 adas
            \afdualfalse\afmulttrue \setbox\afcdcmbox=\afcmaux{}{}%
1288 200 adas
            \afdualtrue \afmultfalse\setbox\afcucbox =\afccaux{}{}%
1289 200 adas
            \afdualtrue \afmulttrue \setbox\afcucmbox=\afcmaux{}{}%
1290 200 adas
\afstemtrue \afdualfalse\afmultfalse\setbox\afcdabox=\afcauxx{}{}{}{}{}{}{}{}{}%
1291 200 adas
\afstemtrue \afdualfalse\afmulttrue \setbox\afCdbox =\afcauxx{}{}{}{}{}{}{}{}{}%
1292 200 adas
\afstemtrue \afdualtrue \afmultfalse\setbox\afcuabox=\afcauxx{}{}{}{}{}{}{}{}{}%
1293 200 adas
\afstemtrue \afdualtrue \afmulttrue \setbox\afCubox =\afcauxx{}{}{}{}{}{}{}{}{}%
1294 200 adas
\afstemfalse\afdualfalse\afmultfalse\setbox\afcdnbox=\afcauxx{}{}{}{}{}{}{}{}{}%
1295 200 adas
\afstemfalse\afdualfalse\afmulttrue \setbox\afCdnbox=\afcauxx{}{}{}{}{}{}{}{}{}%
1296 200 adas
\afstemfalse\afdualtrue \afmultfalse\setbox\afcunbox=\afcauxx{}{}{}{}{}{}{}{}{}%
1297 200 adas
\afstemfalse\afdualtrue \afmulttrue \setbox\afCunbox=\afcauxx{}{}{}{}{}{}{}{}{}%
1298 200 adas
\afstemtrue \afdualtrue \afmulttrue \setbox\afIubox =
1299 200 adas
                                              \hbox{\afiauxx{}{}{}{}11{}{}}%
1300 200 adas
\afstemtrue \afdualtrue \afmultfalse\setbox\afiubox =
1301 200 adas
                                              \hbox{\afiauxx{}{}{}{}11{}{}}%
1302 200 adas
\afstemtrue \afdualfalse\afmulttrue \setbox\afIdbox =
1303 200 adas
                                              \hbox{\afiauxx{}{}{}{}11{}{}}%
1304 200 adas
\afstemtrue \afdualfalse\afmultfalse\setbox\afidbox =
1305 200 adas
                                              \hbox{\afiauxx{}{}{}{}11{}{}}%
1306 200 adas
\afstemfalse\afdualtrue             \setbox\afinubox=
1307 200 adas
                                              \hbox{\afiauxx{}{}{}{}11{}{}}%
1308 200 adas
\afstemfalse\afdualfalse            \setbox\afindbox=
1309 200 adas
                                              \hbox{\afiauxx{}{}{}{}11{}{}}%
1310 200 adas
\afdisktrue
1311 200 adas
\afstemtrue \afdualtrue \afmulttrue \setbox\afDubox  =\afwauxx{}{}{}%
1312 200 adas
\afstemtrue \afdualtrue \afmultfalse\setbox\afduabox =\afwauxx{}{}{}%
1313 200 adas
\afstemtrue \afdualfalse\afmulttrue \setbox\afDdbox  =\afwauxx{}{}{}%
1314 200 adas
\afstemtrue \afdualfalse\afmultfalse\setbox\afddabox =\afwauxx{}{}{}%
1315 200 adas
\afstemfalse\afdualfalse            \setbox\afddnbox =\afwauxx{}{}{}%
1316 200 adas
\afstemfalse\afdualtrue             \setbox\afdunbox =\afwauxx{}{}{}%
1317 200 adas
\afstemtrue \afdualfalse\afmultfalse\setbox\afcddabox=
1318 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1319 200 adas
\afstemtrue \afdualfalse\afmulttrue \setbox\afCddbox =
1320 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1321 200 adas
\afstemtrue \afdualtrue \afmultfalse\setbox\afcudabox=
1322 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1323 200 adas
\afstemtrue \afdualtrue \afmulttrue \setbox\afCudbox =
1324 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1325 200 adas
\afstemfalse\afdualfalse\afmultfalse\setbox\afcddnbox=
1326 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1327 200 adas
\afstemfalse\afdualfalse\afmulttrue \setbox\afCddnbox=
1328 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1329 200 adas
\afstemfalse\afdualtrue \afmultfalse\setbox\afcudnbox=
1330 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1331 200 adas
\afstemfalse\afdualtrue \afmulttrue \setbox\afCudnbox=
1332 200 adas
                                                     \afcauxx{}{}{}{}{}{}{}{}{}%
1333 200 adas
\vlcompileflowstrue}%
1334 200 adas
1335 200 adas
\newcommand{\afcompiledisable}{\vlcompileflowsfalse}%
1336 200 adas
1337 200 adas
\AtBeginDocument{\ifvirginialakeusesxy\afcompileenable\fi}%
1338 200 adas
1339 200 adas
\newcommand{\af}[1]{\vcenter{\xy
1340 200 adas
<\afelwidth,0pt>:<0pt,\afelheight>::#1\endxy}}%
1341 200 adas
1342 200 adas
\newcommand{\afinv}[1]{\vcenter{\xy
1343 200 adas
<\afelwidth,0pt>:<0pt,-\afelheight>::#1\endxy}}%
1344 200 adas
1345 200 adas
\newcommand{\afinvm}{\vbox to0pt{\color{white}\vss
1346 200 adas
\hbox to0pt{\hss\vrule height.1sp depth0sp width.1sp}}}%
1347 200 adas
1348 200 adas
\newcommand{\aftrimabove}[1]{\vcenter
1349 200 adas
                             {\vbox{\kern-3.2\afelheight\hbox{$#1$}}}}%
1350 200 adas
1351 200 adas
\newcommand{\aftrimbelow}[1]{\vcenter
1352 200 adas
                             {\vbox{\hbox{$#1$}\kern-3.2\afelheight}}}%
1353 200 adas
1354 200 adas
\newcommand{\aftrim}[1]{\vcenter{\vbox{\kern-3.2\afelheight\hbox{$#1$}%
1355 200 adas
                                       \kern-3.2\afelheight}}}%
1356 200 adas
1357 200 adas
\newcommand{\afraise}[1]{\raise2\afelheight\hbox{$#1$}}%
1358 200 adas
1359 200 adas
\newcommand{\aflower}[1]{\lower2\afelheight\hbox{$#1$}}%
1360 200 adas
1361 200 adas
%-------------------------------- LABELS
1362 200 adas
1363 200 adas
\newcommand{\aflr}[1]{\vbox to0pt{\vss
1364 200 adas
   \hbox to0pt{$\scriptstyle\kern\aflabeldistance #1\strut$\hss}\vss}}%
1365 200 adas
1366 200 adas
\newcommand{\afll}[1]{\vbox to 0pt{\vss
1367 200 adas
   \hbox to0pt{\hss$\scriptstyle #1\kern\aflabeldistance\strut$}\vss}}%
1368 200 adas
1369 200 adas
%------------------- TRIANGLES AND DISK
1370 200 adas
1371 200 adas
\newcommand{\aftrauxps}{%
1372 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifaftrin
1373 200 adas
                                \ifafdual
1374 200 adas
                                \else
1375 200 adas
                                   -
1376 200 adas
                                \fi
1377 200 adas
                             \else
1378 200 adas
                                \ifafdual
1379 200 adas
                                   -
1380 200 adas
                                \fi
1381 200 adas
                             \fi\afelheight>::
1382 200 adas
( 0   ,-0.55);( 0   , 0.54)**[|<\afthickone>][white]@{-};
1383 200 adas
( 0.08,-0.43);( 0.08, 0.54)**[|<\afthickone>][white]@{-};
1384 200 adas
(-0.08,-0.43);(-0.08, 0.54)**[|<\afthickone>][white]@{-};
1385 200 adas
( 0.16,-0.31);( 0.16, 0.54)**[|<\afthickone>][white]@{-};
1386 200 adas
(-0.16,-0.31);(-0.16, 0.54)**[|<\afthickone>][white]@{-};
1387 200 adas
( 0.24,-0.19);( 0.24, 0.54)**[|<\afthickone>][white]@{-};
1388 200 adas
(-0.24,-0.19);(-0.24, 0.54)**[|<\afthickone>][white]@{-};
1389 200 adas
( 0.32,-0.07);( 0.32, 0.54)**[|<\afthickone>][white]@{-};
1390 200 adas
(-0.32,-0.07);(-0.32, 0.54)**[|<\afthickone>][white]@{-};
1391 200 adas
( 0.40, 0.05);( 0.40, 0.54)**[|<\afthickone>][white]@{-};
1392 200 adas
(-0.40, 0.05);(-0.40, 0.54)**[|<\afthickone>][white]@{-};
1393 200 adas
( 0.48, 0.17);( 0.48, 0.54)**[|<\afthickone>][white]@{-};
1394 200 adas
(-0.48, 0.17);(-0.48, 0.54)**[|<\afthickone>][white]@{-};
1395 200 adas
( 0.56, 0.29);( 0.56, 0.54)**[|<\afthickone>][white]@{-};
1396 200 adas
(-0.56, 0.29);(-0.56, 0.54)**[|<\afthickone>][white]@{-};
1397 200 adas
( 0.64, 0.41);( 0.64, 0.54)**[|<\afthickone>][white]@{-};
1398 200 adas
(-0.64, 0.41);(-0.64, 0.54)**[|<\afthickone>][white]@{-};
1399 200 adas
( 0.72, 0.53);( 0.72, 0.54)**[|<\afthickone>][white]@{-};
1400 200 adas
(-0.72, 0.53);(-0.72, 0.54)**[|<\afthickone>][white]@{-};
1401 200 adas
(-0.8 , 0.6 );( 0   ,-0.6 )**[|<\afthickfour>]@{-};
1402 200 adas
( 0   ,-0.6 );( 0.8 , 0.6 )**[|<\afthickfour>]@{-};
1403 200 adas
(-0.8 , 0.6 );( 0.8 , 0.6 )**[|<\afthickfour>]@{-}}}%
1404 200 adas
1405 200 adas
\newcommand{\aftrauxpdf}{\hbox{\kern-.15\afelwidth
1406 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifaftrin
1407 200 adas
                                \ifafdual
1408 200 adas
                                \else
1409 200 adas
                                   -
1410 200 adas
                                \fi
1411 200 adas
                             \else
1412 200 adas
                                \ifafdual
1413 200 adas
                                   -
1414 200 adas
                                \fi
1415 200 adas
                             \fi\afelheight>::
1416 200 adas
( 0   ,-0.55);( 0   , 0.54)**[|<\afthickone>][white]@{-};
1417 200 adas
( 0.04,-0.43);( 0.04, 0.54)**[|<\afthickone>][white]@{-};
1418 200 adas
(-0.04,-0.43);(-0.04, 0.54)**[|<\afthickone>][white]@{-};
1419 200 adas
( 0.08,-0.43);( 0.08, 0.54)**[|<\afthickone>][white]@{-};
1420 200 adas
(-0.08,-0.43);(-0.08, 0.54)**[|<\afthickone>][white]@{-};
1421 200 adas
( 0.12,-0.31);( 0.12, 0.54)**[|<\afthickone>][white]@{-};
1422 200 adas
(-0.12,-0.31);(-0.12, 0.54)**[|<\afthickone>][white]@{-};
1423 200 adas
( 0.16,-0.31);( 0.16, 0.54)**[|<\afthickone>][white]@{-};
1424 200 adas
(-0.16,-0.31);(-0.16, 0.54)**[|<\afthickone>][white]@{-};
1425 200 adas
( 0.20,-0.19);( 0.20, 0.54)**[|<\afthickone>][white]@{-};
1426 200 adas
(-0.20,-0.19);(-0.20, 0.54)**[|<\afthickone>][white]@{-};
1427 200 adas
( 0.24,-0.19);( 0.24, 0.54)**[|<\afthickone>][white]@{-};
1428 200 adas
(-0.24,-0.19);(-0.24, 0.54)**[|<\afthickone>][white]@{-};
1429 200 adas
( 0.28,-0.19);( 0.28, 0.54)**[|<\afthickone>][white]@{-};
1430 200 adas
(-0.28,-0.19);(-0.28, 0.54)**[|<\afthickone>][white]@{-};
1431 200 adas
( 0.32,-0.07);( 0.32, 0.54)**[|<\afthickone>][white]@{-};
1432 200 adas
(-0.32,-0.07);(-0.32, 0.54)**[|<\afthickone>][white]@{-};
1433 200 adas
( 0.36,-0.07);( 0.36, 0.54)**[|<\afthickone>][white]@{-};
1434 200 adas
(-0.36,-0.07);(-0.36, 0.54)**[|<\afthickone>][white]@{-};
1435 200 adas
( 0.40, 0.05);( 0.40, 0.54)**[|<\afthickone>][white]@{-};
1436 200 adas
(-0.40, 0.05);(-0.40, 0.54)**[|<\afthickone>][white]@{-};
1437 200 adas
( 0.44, 0.17);( 0.44, 0.54)**[|<\afthickone>][white]@{-};
1438 200 adas
(-0.44, 0.17);(-0.44, 0.54)**[|<\afthickone>][white]@{-};
1439 200 adas
( 0.48, 0.17);( 0.48, 0.54)**[|<\afthickone>][white]@{-};
1440 200 adas
(-0.48, 0.17);(-0.48, 0.54)**[|<\afthickone>][white]@{-};
1441 200 adas
( 0.52, 0.29);( 0.52, 0.54)**[|<\afthickone>][white]@{-};
1442 200 adas
(-0.52, 0.29);(-0.52, 0.54)**[|<\afthickone>][white]@{-};
1443 200 adas
( 0.56, 0.29);( 0.56, 0.54)**[|<\afthickone>][white]@{-};
1444 200 adas
(-0.56, 0.29);(-0.56, 0.54)**[|<\afthickone>][white]@{-};
1445 200 adas
( 0.60, 0.41);( 0.60, 0.54)**[|<\afthickone>][white]@{-};
1446 200 adas
(-0.60, 0.41);(-0.60, 0.54)**[|<\afthickone>][white]@{-};
1447 200 adas
( 0.64, 0.41);( 0.64, 0.54)**[|<\afthickone>][white]@{-};
1448 200 adas
(-0.64, 0.41);(-0.64, 0.54)**[|<\afthickone>][white]@{-};
1449 200 adas
( 0.68, 0.41);( 0.68, 0.54)**[|<\afthickone>][white]@{-};
1450 200 adas
(-0.68, 0.41);(-0.68, 0.54)**[|<\afthickone>][white]@{-};
1451 200 adas
( 0.72, 0.53);( 0.72, 0.54)**[|<\afthickone>][white]@{-};
1452 200 adas
(-0.72, 0.53);(-0.72, 0.54)**[|<\afthickone>][white]@{-};
1453 200 adas
(-0.95, 0.68);( 0   ,-0.74)**[|<\afthickone>]@{-};
1454 200 adas
( 0   ,-0.74);( 0.95, 0.68)**[|<\afthickone>]@{-};
1455 200 adas
(-0.95, 0.68);( 0.95, 0.68)**[|<\afthickone>]@{-};
1456 200 adas
(-0.8 , 0.6 );( 0   ,-0.6 )**[|<\afthickone>]@{-};
1457 200 adas
( 0   ,-0.6 );( 0.8 , 0.6 )**[|<\afthickone>]@{-};
1458 200 adas
(-0.8 , 0.6 );( 0.8 , 0.6 )**[|<\afthickone>]@{-};
1459 200 adas
(-0.65, 0.52);( 0   ,-0.46)**[|<\afthickone>]@{-};
1460 200 adas
( 0   ,-0.46);( 0.65, 0.52)**[|<\afthickone>]@{-};
1461 200 adas
(-0.65, 0.52);( 0.65, 0.52)**[|<\afthickone>]@{-}}%
1462 200 adas
\kern-.15\afelwidth}}%
1463 200 adas
1464 200 adas
\newcommand{\aftraux}{\ifvirginialakepdflatex\aftrauxpdf\else\aftrauxps\fi}%
1465 200 adas
1466 200 adas
\newcommand{\aftr}{%
1467 200 adas
\ifemptyargparamsunchangedcompileflows{}%
1468 200 adas
{\ifaftrin
1469 200 adas
    \ifafdual
1470 200 adas
       \copy\aftrdnbox
1471 200 adas
    \else
1472 200 adas
       \copy\aftrupbox
1473 200 adas
    \fi
1474 200 adas
 \else
1475 200 adas
    \ifafdual
1476 200 adas
       \copy\aftrupbox
1477 200 adas
    \else
1478 200 adas
       \copy\aftrdnbox
1479 200 adas
    \fi
1480 200 adas
 \fi}%
1481 200 adas
{\hbox{\aftraux}}}%
1482 200 adas
1483 200 adas
\newcommand{\afdiaux}{%
1484 200 adas
\xybox{<\afelheight,0pt>:<0pt,\afelheight>::
1485 200 adas
( 0  , 0.0)*\frm<.6\afelwidth>{*};
1486 200 adas
( 0.6, 0.6)*{\afinvm}            ;
1487 200 adas
(-0.6,-0.6)*{\afinvm}            }}%
1488 200 adas
1489 200 adas
\newcommand{\afdi}{%
1490 200 adas
\ifemptyargparamsunchangedcompileflows{}%
1491 200 adas
{\copy\afdiskbox}%
1492 200 adas
{\hbox{\afdiaux}}}%
1493 200 adas
1494 200 adas
%---------------------------- IDENTITIES
1495 200 adas
1496 200 adas
\newcommand{\afistemsaux}[2]{%
1497 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
1498 200 adas
(-2,-2);(-2,2)**[|<\afthickone>][#1]@{-};
1499 200 adas
( 2,-2);( 2,2)**[|<\afthickone>][#2]@{-}}}%
1500 200 adas
1501 200 adas
\newcommand{\afistemmsauxps}[2]{%
1502 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
1503 200 adas
(-2,-2);(-2,2)**[|<\afthickdouble>][#1][butt]@{-};
1504 200 adas
(-2,-2);(-2,2)**[|<\afthicksep>][#1][white]@{-};
1505 200 adas
( 2,-2);( 2,2)**[|<\afthickdouble>][#2][butt]@{-};
1506 200 adas
( 2,-2);( 2,2)**[|<\afthicksep>][#2][white]@{-}}}%
1507 200 adas
1508 200 adas
\newcommand{\afistemmsauxpdf}[2]{%
1509 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
1510 200 adas
(-2,-2)-<0.15\afelwidthcur,0pt>;
1511 200 adas
(-2, 2)-<0.15\afelwidthcur,0pt>**[|<\afthickfive>][#1]@{-};
1512 200 adas
(-2,-2)+<0.15\afelwidthcur,0pt>;
1513 200 adas
(-2, 2)+<0.15\afelwidthcur,0pt>**[|<\afthickfive>][#1]@{-};
1514 200 adas
( 2,-2)-<0.15\afelwidthcur,0pt>;
1515 200 adas
( 2, 2)-<0.15\afelwidthcur,0pt>**[|<\afthickfive>][#2]@{-};
1516 200 adas
( 2,-2)+<0.15\afelwidthcur,0pt>;
1517 200 adas
( 2, 2)+<0.15\afelwidthcur,0pt>**[|<\afthickfive>][#2]@{-}}}%
1518 200 adas
1519 200 adas
\newcommand{\afistems}[2]{\ifafstem\ifafmult\ifvirginialakepdflatex
1520 200 adas
                           \afistemmsauxpdf{#1}{#2}\else
1521 200 adas
                           \afistemmsauxps {#1}{#2}\fi\else
1522 200 adas
                           \afistemsaux{#1}{#2}\fi\else\relax\fi}%
1523 200 adas
1524 200 adas
\newcommand{\afiauxxps}[8]{\multiply\afelwidth by#5%
1525 200 adas
                             \divide\afelwidth by#6%
1526 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1527 200 adas
( 0  ,-2)*{\hbox{\afistems{#7}{#8}}};
1528 200 adas
(-2.5, 0);(2.5,0)**[|<\afthickthree>]\crv{(0,1)};
1529 200 adas
( 0  ,-4  )*{\afinvm};
1530 200 adas
( 0  , 4  )*{\afinvm};
1531 200 adas
(-2  ,-2.5)*{\afll{#1}};
1532 200 adas
(-2  ,-2.5)*{\aflr{#2}};
1533 200 adas
( 2  ,-2.5)*{\afll{#3}};
1534 200 adas
( 2  ,-2.5)*{\aflr{#4}}}}%
1535 200 adas
1536 200 adas
\newcommand{\afiauxxpdf}[8]{\multiply\afelwidth by#5%
1537 200 adas
                              \divide\afelwidth by#6%
1538 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1539 200 adas
( 0  ,-2)*{\hbox{\afistems{#7}{#8}}};
1540 200 adas
(-2.5, 0.1);(2.5, 0.1)**[|<\afthickone>]\crv{(0,1.1)};
1541 200 adas
(-2.5, 0  );(2.5, 0  )**[|<\afthickone>]\crv{(0,1  )};
1542 200 adas
(-2.5,-0.1);(2.5,-0.1)**[|<\afthickone>]\crv{(0,0.9)};
1543 200 adas
( 0  ,-4  )*{\afinvm};
1544 200 adas
( 0  , 4  )*{\afinvm};
1545 200 adas
(-2  ,-2.5)*{\afll{#1}};
1546 200 adas
(-2  ,-2.5)*{\aflr{#2}};
1547 200 adas
( 2  ,-2.5)*{\afll{#3}};
1548 200 adas
( 2  ,-2.5)*{\aflr{#4}}}}%
1549 200 adas
1550 200 adas
\newcommand{\afiauxx}[8]{\ifvirginialakepdflatex
1551 200 adas
                          \afiauxxpdf{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}\else
1552 200 adas
                          \afiauxxps {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}\fi}%
1553 200 adas
1554 200 adas
\newcommand{\afiaux}[4]{\ifemptyargparamsunchangedcompileflows{#1#2#3#4}%
1555 200 adas
                         {\ifafstem
1556 200 adas
                             \ifafdual
1557 200 adas
                                \ifafmult
1558 200 adas
                                   \copy\afIubox
1559 200 adas
                                \else
1560 200 adas
                                   \copy\afiubox
1561 200 adas
                                \fi
1562 200 adas
                             \else
1563 200 adas
                                \ifafmult
1564 200 adas
                                   \copy\afIdbox
1565 200 adas
                                \else
1566 200 adas
                                   \copy\afidbox
1567 200 adas
                                \fi
1568 200 adas
                             \fi
1569 200 adas
                          \else
1570 200 adas
                             \ifafdual
1571 200 adas
                                \copy\afinubox
1572 200 adas
                             \else
1573 200 adas
                                \copy\afindbox
1574 200 adas
                             \fi
1575 200 adas
                          \fi}%
1576 200 adas
                         {\afiauxx{#1}{#2}{#3}{#4}11{}{}}}%
1577 200 adas
1578 200 adas
\newcommand{\afid  }[4]{\afstemtrue\afdualfalse\afmultfalse
1579 200 adas
                             \afiaux{#1}{#2}{#3}{#4}}%
1580 200 adas
1581 200 adas
\newcommand{\afId  }[4]{\afstemtrue\afdualfalse\afmulttrue
1582 200 adas
                             \afiaux{#1}{#2}{#3}{#4}}%
1583 200 adas
1584 200 adas
\newcommand{\afiu  }[4]{\afstemtrue\afdualtrue\afmultfalse
1585 200 adas
                             \afiaux{#1}{#2}{#3}{#4}}%
1586 200 adas
1587 200 adas
\newcommand{\afIu  }[4]{\afstemtrue\afdualtrue\afmulttrue
1588 200 adas
                             \afiaux{#1}{#2}{#3}{#4}}%
1589 200 adas
1590 200 adas
\newcommand{\afidn }   {\afstemfalse\afdualfalse
1591 200 adas
                             \afiaux{}{}{}{}}%
1592 200 adas
1593 200 adas
\newcommand{\afiun }   {\afstemfalse\afdualtrue
1594 200 adas
                             \afiaux{}{}{}{}}%
1595 200 adas
1596 200 adas
\newcommand{\afidc }[6]{\afstemtrue\afdualfalse\afmultfalse
1597 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}11{#5}{#6}}%
1598 200 adas
1599 200 adas
\newcommand{\afIdc }[6]{\afstemtrue\afdualfalse\afmulttrue
1600 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}11{#5}{#6}}%
1601 200 adas
1602 200 adas
\newcommand{\afiuc }[6]{\afstemtrue\afdualtrue\afmultfalse
1603 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}11{#5}{#6}}%
1604 200 adas
1605 200 adas
\newcommand{\afIuc }[6]{\afstemtrue\afdualtrue\afmulttrue
1606 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}11{#5}{#6}}%
1607 200 adas
1608 200 adas
\newcommand{\afidx }[6]{\afstemtrue\afdualfalse\afmultfalse
1609 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{}{}}%
1610 200 adas
1611 200 adas
\newcommand{\afidxc}[8]{\afstemtrue\afdualfalse\afmultfalse
1612 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
1613 200 adas
1614 200 adas
\newcommand{\afIdx }[6]{\afstemtrue\afdualfalse\afmulttrue
1615 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{}{}}%
1616 200 adas
1617 200 adas
\newcommand{\afIdxc}[8]{\afstemtrue\afdualfalse\afmulttrue
1618 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
1619 200 adas
1620 200 adas
\newcommand{\afiux }[6]{\afstemtrue\afdualtrue\afmultfalse
1621 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{}{}}%
1622 200 adas
1623 200 adas
\newcommand{\afiuxc}[8]{\afstemtrue\afdualtrue\afmultfalse
1624 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
1625 200 adas
1626 200 adas
\newcommand{\afIux }[6]{\afstemtrue\afdualtrue\afmulttrue
1627 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{}{}}%
1628 200 adas
1629 200 adas
\newcommand{\afIuxc}[8]{\afstemtrue\afdualtrue\afmulttrue
1630 200 adas
                             \afiauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
1631 200 adas
1632 200 adas
%------------ WEAKENINGS AND ABSORPTIONS
1633 200 adas
1634 200 adas
\newcommand{\afstemaux}[1]{%
1635 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
1636 200 adas
(0,-2);(0,2)**[|<\afthickone>][#1]@{-}}}%
1637 200 adas
1638 200 adas
\newcommand{\afstemmauxps}[1]{%
1639 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
1640 200 adas
(0,-2);(0,2)**[|<\afthickdouble>][#1][butt]@{-};
1641 200 adas
(0,-2);(0,2)**[|<\afthicksep>][#1][white]@{-}}}%
1642 200 adas
1643 200 adas
\newcommand{\afstemmauxpdf}[1]{%
1644 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
1645 200 adas
(-0.15,-2);(-0.15,2)**[|<\afthickfive>][#1]@{-};
1646 200 adas
( 0.15,-2);( 0.15,2)**[|<\afthickfive>][#1]@{-}}}%
1647 200 adas
1648 200 adas
\newcommand{\afstem}[1]{\ifafstem\ifafmult\ifvirginialakepdflatex
1649 200 adas
                             \afstemmauxpdf{#1}\else
1650 200 adas
                             \afstemmauxps {#1}\fi\else
1651 200 adas
                          \afstemaux{#1}\fi\else\relax\fi}%
1652 200 adas
1653 200 adas
\newcommand{\afwauxx}[3]{%
1654 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1655 200 adas
(0,-2  )*{\hbox{\afstem{#3}}};
1656 200 adas
(0, 0  )*{\hbox{\ifafdisk\afdi\fi}};
1657 200 adas
(0, 0  )*{\hbox{\ifafdisk\else\aftr\fi}};
1658 200 adas
(0,-4  )*{\afinvm};
1659 200 adas
(0, 4  )*{\afinvm};
1660 200 adas
(0,-2.5)*{\afll{#1}};
1661 200 adas
(0,-2.5)*{\aflr{#2}}}}%
1662 200 adas
1663 200 adas
\newcommand{\afwaux}[3]{\ifemptyargparamsunchangedcompileflows{#1#2#3}%
1664 200 adas
                         {\ifaftrin
1665 200 adas
                             \ifafstem
1666 200 adas
                                \ifafdual
1667 200 adas
                                   \ifafmult
1668 200 adas
                                      \copy\afAubox
1669 200 adas
                                   \else
1670 200 adas
                                      \copy\afauabox
1671 200 adas
                                   \fi
1672 200 adas
                                \else
1673 200 adas
                                   \ifafmult
1674 200 adas
                                      \copy\afAdbox
1675 200 adas
                                   \else
1676 200 adas
                                      \copy\afadabox
1677 200 adas
                                   \fi
1678 200 adas
                                \fi
1679 200 adas
                             \else
1680 200 adas
                                \ifafdual
1681 200 adas
                                   \copy\afaunbox
1682 200 adas
                                \else
1683 200 adas
                                   \copy\afadnbox
1684 200 adas
                                \fi
1685 200 adas
                             \fi
1686 200 adas
                          \else
1687 200 adas
                             \ifafstem
1688 200 adas
                                \ifafdual
1689 200 adas
                                   \ifafmult
1690 200 adas
                                    \ifafdisk\copy\afDubox\else\copy\afWubox\fi
1691 200 adas
                                   \else
1692 200 adas
                                   \ifafdisk\copy\afduabox\else\copy\afwuabox\fi
1693 200 adas
                                   \fi
1694 200 adas
                                \else
1695 200 adas
                                   \ifafmult
1696 200 adas
                                     \ifafdisk\copy\afDdbox\else\copy\afWdbox\fi
1697 200 adas
                                   \else
1698 200 adas
                                   \ifafdisk\copy\afddabox\else\copy\afwdabox\fi
1699 200 adas
                                   \fi
1700 200 adas
                                \fi
1701 200 adas
                             \else
1702 200 adas
                                \ifafdual
1703 200 adas
                                  \ifafdisk\copy\afdunbox\else\copy\afwunbox\fi
1704 200 adas
                                \else
1705 200 adas
                                  \ifafdisk\copy\afddnbox\else\copy\afwdnbox\fi
1706 200 adas
                                \fi
1707 200 adas
                             \fi
1708 200 adas
                          \fi}%
1709 200 adas
                         {\afwauxx{#1}{#2}{#3}}}%
1710 200 adas
1711 200 adas
\newcommand{\afwd }[2]{\aftrinfalse\afstemtrue\afdualfalse\afmultfalse
1712 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1713 200 adas
1714 200 adas
\newcommand{\afWd }[2]{\aftrinfalse\afstemtrue\afdualfalse\afmulttrue
1715 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1716 200 adas
1717 200 adas
\newcommand{\afwu }[2]{\aftrinfalse\afstemtrue\afdualtrue\afmultfalse
1718 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1719 200 adas
1720 200 adas
\newcommand{\afWu }[2]{\aftrinfalse\afstemtrue\afdualtrue\afmulttrue
1721 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1722 200 adas
1723 200 adas
\newcommand{\afwdn}   {\aftrinfalse\afstemfalse\afdualfalse
1724 200 adas
                                              \afdiskfalse\afwaux{}{}{}}%
1725 200 adas
1726 200 adas
\newcommand{\afwun}   {\aftrinfalse\afstemfalse\afdualtrue
1727 200 adas
                                              \afdiskfalse\afwaux{}{}{}}%
1728 200 adas
1729 200 adas
\newcommand{\afwdc}[3]{\aftrinfalse\afstemtrue\afdualfalse\afmultfalse
1730 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1731 200 adas
1732 200 adas
\newcommand{\afWdc}[3]{\aftrinfalse\afstemtrue\afdualfalse\afmulttrue
1733 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1734 200 adas
1735 200 adas
\newcommand{\afwuc}[3]{\aftrinfalse\afstemtrue\afdualtrue\afmultfalse
1736 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1737 200 adas
1738 200 adas
\newcommand{\afWuc}[3]{\aftrinfalse\afstemtrue\afdualtrue\afmulttrue
1739 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1740 200 adas
1741 200 adas
\newcommand{\afau }[2]{\aftrintrue \afstemtrue\afdualfalse\afmultfalse
1742 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1743 200 adas
1744 200 adas
\newcommand{\afAu }[2]{\aftrintrue \afstemtrue\afdualfalse\afmulttrue
1745 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1746 200 adas
1747 200 adas
\newcommand{\afad }[2]{\aftrintrue \afstemtrue\afdualtrue\afmultfalse
1748 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1749 200 adas
1750 200 adas
\newcommand{\afAd }[2]{\aftrintrue \afstemtrue\afdualtrue\afmulttrue
1751 200 adas
                                              \afdiskfalse\afwaux{#1}{#2}{}}%
1752 200 adas
1753 200 adas
\newcommand{\afaun}   {\aftrintrue \afstemfalse\afdualfalse
1754 200 adas
                                              \afdiskfalse\afwaux{}{}{}}%
1755 200 adas
1756 200 adas
\newcommand{\afadn}   {\aftrintrue \afstemfalse\afdualtrue
1757 200 adas
                                              \afdiskfalse\afwaux{}{}{}}%
1758 200 adas
1759 200 adas
\newcommand{\afauc}[3]{\aftrintrue \afstemtrue\afdualfalse\afmultfalse
1760 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1761 200 adas
1762 200 adas
\newcommand{\afAuc}[3]{\aftrintrue \afstemtrue\afdualfalse\afmulttrue
1763 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1764 200 adas
1765 200 adas
\newcommand{\afadc}[3]{\aftrintrue \afstemtrue\afdualtrue\afmultfalse
1766 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1767 200 adas
1768 200 adas
\newcommand{\afAdc}[3]{\aftrintrue \afstemtrue\afdualtrue\afmulttrue
1769 200 adas
                                              \afdiskfalse\afwauxx{#1}{#2}{#3}}%
1770 200 adas
1771 200 adas
%----------------------------- LOLLIPOPS
1772 200 adas
1773 200 adas
\newcommand{\afdaux}[2]{\ifemptyargparamsunchangedcompileflows{#1#2}%
1774 200 adas
                         {\ifafstem
1775 200 adas
                             \ifafdual
1776 200 adas
                                \ifafmult
1777 200 adas
                                   \copy\afDubox
1778 200 adas
                                \else
1779 200 adas
                                   \copy\afduabox
1780 200 adas
                                \fi
1781 200 adas
                             \else
1782 200 adas
                                \ifafmult
1783 200 adas
                                   \copy\afDdbox
1784 200 adas
                                \else
1785 200 adas
                                   \copy\afddabox
1786 200 adas
                                \fi
1787 200 adas
                             \fi
1788 200 adas
                          \else
1789 200 adas
                             \ifafdual
1790 200 adas
                                \copy\afdunbox
1791 200 adas
                             \else
1792 200 adas
                                \copy\afddnbox
1793 200 adas
                             \fi
1794 200 adas
                          \fi}%
1795 200 adas
                         {\afwauxx{#1}{#2}{}}}%
1796 200 adas
1797 200 adas
\newcommand{\afdd }[2]{\afstemtrue\afdualfalse\afmultfalse
1798 200 adas
                                  \afdisktrue\afdaux{#1}{#2}}%
1799 200 adas
1800 200 adas
\newcommand{\afDd }[2]{\afstemtrue\afdualfalse\afmulttrue
1801 200 adas
                                  \afdisktrue\afdaux{#1}{#2}}%
1802 200 adas
1803 200 adas
\newcommand{\afdu }[2]{\afstemtrue\afdualtrue\afmultfalse
1804 200 adas
                                  \afdisktrue\afdaux{#1}{#2}}%
1805 200 adas
1806 200 adas
\newcommand{\afDu }[2]{\afstemtrue\afdualtrue\afmulttrue
1807 200 adas
                                  \afdisktrue\afdaux{#1}{#2}}%
1808 200 adas
1809 200 adas
\newcommand{\afd  }   {\afstemfalse\afdualtrue
1810 200 adas
                                  \afdisktrue\afdaux{}{}}%
1811 200 adas
1812 200 adas
\newcommand{\afddc}[3]{\afstemtrue\afdualfalse\afmultfalse
1813 200 adas
                                  \afdisktrue\afwauxx{#1}{#2}{#3}}%
1814 200 adas
1815 200 adas
\newcommand{\afDdc}[3]{\afstemtrue\afdualfalse\afmulttrue
1816 200 adas
                                  \afdisktrue\afwauxx{#1}{#2}{#3}}%
1817 200 adas
1818 200 adas
\newcommand{\afduc}[3]{\afstemtrue\afdualtrue\afmultfalse
1819 200 adas
                                  \afdisktrue\afwauxx{#1}{#2}{#3}}%
1820 200 adas
1821 200 adas
\newcommand{\afDuc}[3]{\afstemtrue\afdualtrue\afmulttrue
1822 200 adas
                                  \afdisktrue\afwauxx{#1}{#2}{#3}}%
1823 200 adas
1824 200 adas
%---------------------- TOPS AND BOTTOMS
1825 200 adas
1826 200 adas
\newcommand{\afbbauxps}{%
1827 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1828 200 adas
(-0.6,-0.8)*{\afinvm};
1829 200 adas
( 0.6,-0.8)*{\afinvm};
1830 200 adas
(-0.6,0   );(0.6,0  )**[|<\afthickone>]@{-};
1831 200 adas
( 0  ,0   );(0  ,0.8)**[|<\afthickone>]@{-}}}%
1832 200 adas
1833 200 adas
\newcommand{\afbbauxpdf}{%
1834 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1835 200 adas
(-0.6,-0.8)*{\afinvm};
1836 200 adas
( 0.6,-0.8)*{\afinvm};
1837 200 adas
(-0.6, 0  );(0.6,0  )**[|<\afthickone>]@{-};
1838 200 adas
( 0  , 0  );(0  ,0.8)**[|<\afthickone>]@{-}}}%
1839 200 adas
1840 200 adas
\newcommand{\afbmaux}{\ifvirginialakepdflatex\afbbauxpdf\else\afbbauxps\fi}%
1841 200 adas
1842 200 adas
\newcommand{\afbm}{%
1843 200 adas
\ifemptyargparamsunchangedcompileflows{}%
1844 200 adas
{\ifafdual\copy\afbbubox
1845 200 adas
     \else\copy\afbbdbox\fi}%
1846 200 adas
{\hbox{\afbmaux}}}%
1847 200 adas
1848 200 adas
\newcommand{\afbauxx}{%
1849 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1850 200 adas
(0, 0)*{\hbox{\afbm}};
1851 200 adas
(0,-4)*{\afinvm};
1852 200 adas
(0, 4)*{\afinvm}}}%
1853 200 adas
1854 200 adas
\newcommand{\afbaux}{\ifemptyargparamsunchangedcompileflows{}%
1855 200 adas
                       {\ifafdual\copy\afbubox\else\copy\afbdbox\fi}%
1856 200 adas
                       {\afbauxx}}%
1857 200 adas
1858 200 adas
\newcommand{\afbd}  {\afdualfalse\afbaux}%
1859 200 adas
1860 200 adas
\newcommand{\afbu}  {\afdualtrue \afbaux}%
1861 200 adas
1862 200 adas
%---------------- OLD STYLE CONTRACTIONS
1863 200 adas
1864 200 adas
\newcommand{\afccaux}[2]{%
1865 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1866 200 adas
(-2,2);(0,-2)**[|<\afthickone>][#1]\crv{(-2,-0.4)};
1867 200 adas
( 2,2);(0,-2)**[|<\afthickone>][#2]\crv{( 2,-0.4)}}}%
1868 200 adas
1869 200 adas
\newcommand{\afcmauxpdf}[2]{%
1870 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1871 200 adas
(-2.15,2);(-0.28,-2   )**[|<\afthickfive>][#1]\crv{(-2.15,-0.4)};
1872 200 adas
( 2.15,2);( 0.28,-2   )**[|<\afthickfive>][#2]\crv{( 2.15,-0.4)};
1873 200 adas
(-1.85,2);( 0   ,-1.78)**[|<\afthickfive>][#1]\crv{(-1.85,-0.3)};
1874 200 adas
( 1.85,2);( 0   ,-1.78)**[|<\afthickfive>][#2]\crv{( 1.85,-0.3)}}}%
1875 200 adas
1876 200 adas
\newcommand{\afcmauxps}[2]{%
1877 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1878 200 adas
(-2.15,0)*{\afinvm};
1879 200 adas
( 2.15,0)*{\afinvm};
1880 200 adas
(-2,2);(0,-2)**[|<\afthickdouble>][#1][butt]\crv{(-2,-0.4)};
1881 200 adas
(-2,2);(0,-2)**[|<\afthicksep   >][white]   \crv{(-2,-0.4)};
1882 200 adas
( 2,2);(0,-2)**[|<\afthickdouble>][#2][butt]\crv{( 2,-0.4)};
1883 200 adas
( 2,2);(0,-2)**[|<\afthicksep   >][white]   \crv{( 2,-0.4)}}}%
1884 200 adas
1885 200 adas
\newcommand{\afcmaux}[2]{\ifvirginialakepdflatex\afcmauxpdf{#1}{#2}\else
1886 200 adas
                                                \afcmauxps {#1}{#2}\fi}%
1887 200 adas
1888 200 adas
\newcommand{\afcc}[2]{\ifafmult
1889 200 adas
   \ifemptyargparamsunchangedcompileflows{#1#2}%
1890 200 adas
   {\ifafdual\copy\afcucmbox
1891 200 adas
        \else\copy\afcdcmbox\fi}%
1892 200 adas
   {\afcmaux{#1}{#2}}%
1893 200 adas
\else
1894 200 adas
   \ifemptyargparamsunchangedcompileflows{#1#2}%
1895 200 adas
   {\ifafdual\copy\afcucbox
1896 200 adas
        \else\copy\afcdcbox\fi}%
1897 200 adas
   {\afccaux{#1}{#2}}%
1898 200 adas
\fi}%
1899 200 adas
1900 200 adas
\newcommand{\afcauxx}[9]{%
1901 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
1902 200 adas
( 0  , 2  )*{\hbox{\afcc{#7}{#8}}};
1903 200 adas
( 0  , 0  )*{\hbox{\afwaux{#5}{#6}{#9}}};
1904 200 adas
( 0  ,-4  )*{\afinvm};
1905 200 adas
(-1.7, 2.5)*{\afll{#1}};
1906 200 adas
(-1.5, 2.5)*{\aflr{#2}};
1907 200 adas
( 1.5, 2.5)*{\afll{#3}};
1908 200 adas
( 1.7, 2.5)*{\aflr{#4}}}}%
1909 200 adas
1910 200 adas
\newcommand{\afcaux}[6]{\ifemptyargparamsunchangedcompileflows{#1#2#3#4#5#6}%
1911 200 adas
   {\ifafdisk
1912 200 adas
       \ifafstem
1913 200 adas
          \ifafdual
1914 200 adas
             \ifafmult
1915 200 adas
                \copy\afCudbox
1916 200 adas
             \else
1917 200 adas
                \copy\afcudabox
1918 200 adas
             \fi
1919 200 adas
          \else
1920 200 adas
             \ifafmult
1921 200 adas
                \copy\afCddbox
1922 200 adas
             \else
1923 200 adas
                \copy\afcddabox
1924 200 adas
             \fi
1925 200 adas
          \fi
1926 200 adas
       \else
1927 200 adas
          \ifafdual
1928 200 adas
             \ifafmult
1929 200 adas
                \copy\afCudnbox
1930 200 adas
             \else
1931 200 adas
                \copy\afcudnbox
1932 200 adas
             \fi
1933 200 adas
          \else
1934 200 adas
             \ifafmult
1935 200 adas
                \copy\afCddnbox
1936 200 adas
             \else
1937 200 adas
                \copy\afcddnbox
1938 200 adas
             \fi
1939 200 adas
          \fi
1940 200 adas
       \fi
1941 200 adas
    \else
1942 200 adas
       \ifafstem
1943 200 adas
          \ifafdual
1944 200 adas
             \ifafmult
1945 200 adas
                \copy\afCubox
1946 200 adas
             \else
1947 200 adas
                \copy\afcuabox
1948 200 adas
             \fi
1949 200 adas
          \else
1950 200 adas
             \ifafmult
1951 200 adas
                \copy\afCdbox
1952 200 adas
             \else
1953 200 adas
                \copy\afcdabox
1954 200 adas
             \fi
1955 200 adas
          \fi
1956 200 adas
       \else
1957 200 adas
          \ifafdual
1958 200 adas
             \ifafmult
1959 200 adas
                \copy\afCunbox
1960 200 adas
             \else
1961 200 adas
                \copy\afcunbox
1962 200 adas
             \fi
1963 200 adas
          \else
1964 200 adas
             \ifafmult
1965 200 adas
                \copy\afCdnbox
1966 200 adas
             \else
1967 200 adas
                \copy\afcdnbox
1968 200 adas
             \fi
1969 200 adas
          \fi
1970 200 adas
       \fi
1971 200 adas
    \fi}%
1972 200 adas
   {\afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{}{}{}}}%
1973 200 adas
1974 200 adas
\newcommand{\afcd  }[6]{\afstemtrue\afdualfalse\afmultfalse\afdiskfalse
1975 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
1976 200 adas
1977 200 adas
\newcommand{\afCd  }[6]{\afstemtrue\afdualfalse\afmulttrue\afdiskfalse
1978 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
1979 200 adas
1980 200 adas
\newcommand{\afcu  }[6]{\afstemtrue\afdualtrue\afmultfalse\afdiskfalse
1981 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
1982 200 adas
1983 200 adas
\newcommand{\afCu  }[6]{\afstemtrue\afdualtrue\afmulttrue\afdiskfalse
1984 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
1985 200 adas
1986 200 adas
\newcommand{\afcdn }[4]{\afstemfalse\afdualfalse\afmultfalse\afdiskfalse
1987 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
1988 200 adas
1989 200 adas
\newcommand{\afCdn }[4]{\afstemfalse\afdualfalse\afmulttrue\afdiskfalse
1990 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
1991 200 adas
1992 200 adas
\newcommand{\afcun }[4]{\afstemfalse\afdualtrue\afmultfalse\afdiskfalse
1993 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
1994 200 adas
1995 200 adas
\newcommand{\afCun }[4]{\afstemfalse\afdualtrue\afmulttrue\afdiskfalse
1996 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
1997 200 adas
1998 200 adas
\newcommand{\afcdc }[9]{\afstemtrue\afdualfalse\afmultfalse\afdiskfalse
1999 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2000 200 adas
2001 200 adas
\newcommand{\afCdc }[9]{\afstemtrue\afdualfalse\afmulttrue\afdiskfalse
2002 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2003 200 adas
2004 200 adas
\newcommand{\afcuc }[9]{\afstemtrue\afdualtrue\afmultfalse\afdiskfalse
2005 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2006 200 adas
2007 200 adas
\newcommand{\afCuc }[9]{\afstemtrue\afdualtrue\afmulttrue\afdiskfalse
2008 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2009 200 adas
2010 200 adas
\newcommand{\afcdnc}[6]{\afstemfalse\afdualfalse\afmultfalse\afdiskfalse
2011 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2012 200 adas
2013 200 adas
\newcommand{\afCdnc}[6]{\afstemfalse\afdualfalse\afmulttrue\afdiskfalse
2014 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2015 200 adas
2016 200 adas
\newcommand{\afcunc}[6]{\afstemfalse\afdualtrue\afmultfalse\afdiskfalse
2017 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2018 200 adas
2019 200 adas
\newcommand{\afCunc}[6]{\afstemfalse\afdualtrue\afmulttrue\afdiskfalse
2020 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2021 200 adas
2022 200 adas
\newcommand{\afcdd  }[6]{\afstemtrue\afdualfalse\afmultfalse\afdisktrue
2023 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
2024 200 adas
2025 200 adas
\newcommand{\afCdd  }[6]{\afstemtrue\afdualfalse\afmulttrue\afdisktrue
2026 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
2027 200 adas
2028 200 adas
\newcommand{\afcud  }[6]{\afstemtrue\afdualtrue\afmultfalse\afdisktrue
2029 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
2030 200 adas
2031 200 adas
\newcommand{\afCud  }[6]{\afstemtrue\afdualtrue\afmulttrue\afdisktrue
2032 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{#5}{#6}}%
2033 200 adas
2034 200 adas
\newcommand{\afcddn }[4]{\afstemfalse\afdualfalse\afmultfalse\afdisktrue
2035 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
2036 200 adas
2037 200 adas
\newcommand{\afCddn }[4]{\afstemfalse\afdualfalse\afmulttrue\afdisktrue
2038 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
2039 200 adas
2040 200 adas
\newcommand{\afcudn }[4]{\afstemfalse\afdualtrue\afmultfalse\afdisktrue
2041 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
2042 200 adas
2043 200 adas
\newcommand{\afCudn }[4]{\afstemfalse\afdualtrue\afmulttrue\afdisktrue
2044 200 adas
                             \afcaux{#1}{#2}{#3}{#4}{}{}}%
2045 200 adas
2046 200 adas
\newcommand{\afcddc }[9]{\afstemtrue\afdualfalse\afmultfalse\afdisktrue
2047 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2048 200 adas
2049 200 adas
\newcommand{\afCddc }[9]{\afstemtrue\afdualfalse\afmulttrue\afdisktrue
2050 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2051 200 adas
2052 200 adas
\newcommand{\afcudc }[9]{\afstemtrue\afdualtrue\afmultfalse\afdisktrue
2053 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2054 200 adas
2055 200 adas
\newcommand{\afCudc }[9]{\afstemtrue\afdualtrue\afmulttrue\afdisktrue
2056 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
2057 200 adas
2058 200 adas
\newcommand{\afcddnc}[6]{\afstemfalse\afdualfalse\afmultfalse\afdisktrue
2059 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2060 200 adas
2061 200 adas
\newcommand{\afCddnc}[6]{\afstemfalse\afdualfalse\afmulttrue\afdisktrue
2062 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2063 200 adas
2064 200 adas
\newcommand{\afcudnc}[6]{\afstemfalse\afdualtrue\afmultfalse\afdisktrue
2065 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2066 200 adas
2067 200 adas
\newcommand{\afCudnc}[6]{\afstemfalse\afdualtrue\afmulttrue\afdisktrue
2068 200 adas
                             \afcauxx{#1}{#2}{#3}{#4}{}{}{#5}{#6}{}}%
2069 200 adas
2070 200 adas
%--------------------- LONG CONTRACTIONS
2071 200 adas
2072 200 adas
\newcommand{\afcxqcaux}[2]{%
2073 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2074 200 adas
(-2,4);(0,-4)**[|<\afthickone>][#1]\crv{(-2,-2)&(-0.2,-1)};
2075 200 adas
( 2,4);(0,-4)**[|<\afthickone>][#2]\crv{( 2,-2)&( 0.2,-1)}}}%
2076 200 adas
2077 200 adas
\newcommand{\afcxqmauxps}[2]{%
2078 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2079 200 adas
(-2,0)-<0.15\afelwidthcur,0pt>*{\afinvm};
2080 200 adas
( 2,0)+<0.15\afelwidthcur,0pt>*{\afinvm};
2081 200 adas
(-2,4);(0,-4)**[|<\afthickdouble>][#1][butt] \crv{(-2,-2)&(-0.2,-1)};
2082 200 adas
(-2,4);(0,-4)**[|<\afthicksep   >]    [white]\crv{(-2,-2)&(-0.2,-1)};
2083 200 adas
( 2,4);(0,-4)**[|<\afthickdouble>][#2][butt] \crv{( 2,-2)&( 0.2,-1)};
2084 200 adas
( 2,4);(0,-4)**[|<\afthicksep   >]    [white]\crv{( 2,-2)&( 0.2,-1)}}}%
2085 200 adas
2086 200 adas
\newcommand{\afcxqmauxpdf}[2]{%
2087 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2088 200 adas
< 0.15\afelwidthcur,\ifafdual-\fi0   \afelwidthcur>="A";
2089 200 adas
< 0.15\afelwidthcur,\ifafdual-\fi0.15\afelwidthcur>="B";
2090 200 adas
<-0.15\afelwidthcur,\ifafdual-\fi0.15\afelwidthcur>="C";
2091 200 adas
(-2,4)-"A";(0,-4)-"A"**[|<\afthickfive>][#1]\crv{(-2  ,-2   )-"B"&
2092 200 adas
                                                 (-0.2,-1   )-"B"};
2093 200 adas
(-2,4)+"A";(0,-4)+"A"**[|<\afthickfive>][#1]\crv{(-2  ,-2.15)+"B"&
2094 200 adas
                                                 (-0.2,-0.95)+"B"};
2095 200 adas
( 2,4)+"A";(0,-4)+"A"**[|<\afthickfive>][#2]\crv{( 2  ,-2   )-"C"&
2096 200 adas
                                                 ( 0.2,-1   )-"C"};
2097 200 adas
( 2,4)-"A";(0,-4)-"A"**[|<\afthickfive>][#2]\crv{( 2  ,-2.15)+"C"&
2098 200 adas
                                                 ( 0.2,-0.95)+"C"}}}%
2099 200 adas
2100 200 adas
\newcommand{\afcxqc}[8]{\multiply\afelwidth by#5%
2101 200 adas
                          \divide\afelwidth by#6%
2102 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2103 200 adas
(-1.6,-0.8)*{\afll{#1}};
2104 200 adas
(-1.7, 1.3)*{\aflr{#2}};
2105 200 adas
( 1.7, 1.3)*{\afll{#3}};
2106 200 adas
( 1.6,-0.8)*{\aflr{#4}};
2107 200 adas
( 0  , 0  )*{\hbox{\ifafmult\ifvirginialakepdflatex
2108 200 adas
                    \afcxqmauxpdf{#7}{#8}\else
2109 200 adas
                    \afcxqmauxps {#7}{#8}\fi\else
2110 200 adas
                    \afcxqcaux   {#7}{#8}\fi}}}}%
2111 200 adas
2112 200 adas
\newcommand{\afcxqcauxx}[9]{\afcxqc{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2113 200 adas
2114 200 adas
\newcommand{\afwxqaux}[5]{\afwaux{#1}{#2}{#5}}%
2115 200 adas
2116 200 adas
\newcommand{\afcxqaux}[9]{%
2117 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2118 200 adas
(0, 4.135)*{\hbox{\afcxqcauxx{#1}{#2}{#3}{#4}{#7}{#8}#9}};
2119 200 adas
(0, 0    )*{\hbox{\afwxqaux{#5}{#6}#9}};
2120 200 adas
(0,-4    )*{\afinvm}}}%
2121 200 adas
2122 200 adas
\newcommand{\afcxqauxdo}{\expandafter\afcxqaux\the\toks0\the\toks1}%
2123 200 adas
2124 200 adas
\newcommand\afrestparamss[3]{\toks1={{{#1}{#2}{#3}}}}%
2125 200 adas
2126 200 adas
\newcommand{\afcdX  }[8]{\afstemtrue\afdualfalse\afmultfalse\afdiskfalse
2127 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2128 200 adas
2129 200 adas
\newcommand{\afCdX  }[8]{\afstemtrue\afdualfalse\afmulttrue\afdiskfalse
2130 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2131 200 adas
2132 200 adas
\newcommand{\afcuX  }[8]{\afstemtrue\afdualtrue\afmultfalse\afdiskfalse
2133 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2134 200 adas
2135 200 adas
\newcommand{\afCuX  }[8]{\afstemtrue\afdualtrue\afmulttrue\afdiskfalse
2136 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2137 200 adas
2138 200 adas
\newcommand{\afcdnX }[6]{\afstemfalse\afdualfalse\afmultfalse\afdiskfalse
2139 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2140 200 adas
2141 200 adas
\newcommand{\afCdnX }[6]{\afstemfalse\afdualfalse\afmulttrue\afdiskfalse
2142 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2143 200 adas
2144 200 adas
\newcommand{\afcunX }[6]{\afstemfalse\afdualtrue\afmultfalse\afdiskfalse
2145 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2146 200 adas
2147 200 adas
\newcommand{\afCunX }[6]{\afstemfalse\afdualtrue\afmulttrue\afdiskfalse
2148 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2149 200 adas
2150 200 adas
\newcommand{\afcdXc }[8]{\afstemtrue\afdualfalse\afmultfalse\afdiskfalse
2151 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2152 200 adas
                             \afterassignment\afcxqauxdo\afrestparamss}%
2153 200 adas
2154 200 adas
\newcommand{\afCdXc }[8]{\afstemtrue\afdualfalse\afmulttrue\afdiskfalse
2155 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2156 200 adas
                             \afterassignment\afcxqauxdo\afrestparamss}%
2157 200 adas
2158 200 adas
\newcommand{\afcuXc }[8]{\afstemtrue\afdualtrue\afmultfalse\afdiskfalse
2159 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2160 200 adas
                             \afterassignment\afcxqauxdo\afrestparamss}%
2161 200 adas
2162 200 adas
\newcommand{\afCuXc }[8]{\afstemtrue\afdualtrue\afmulttrue\afdiskfalse
2163 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2164 200 adas
                             \afterassignment\afcxqauxdo\afrestparamss}%
2165 200 adas
2166 200 adas
\newcommand{\afcdnXc}[8]{\afstemfalse\afdualfalse\afmultfalse\afdiskfalse
2167 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2168 200 adas
2169 200 adas
\newcommand{\afCdnXc}[8]{\afstemfalse\afdualfalse\afmulttrue\afdiskfalse
2170 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2171 200 adas
2172 200 adas
\newcommand{\afcunXc}[8]{\afstemfalse\afdualtrue\afmultfalse\afdiskfalse
2173 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2174 200 adas
2175 200 adas
\newcommand{\afCunXc}[8]{\afstemfalse\afdualtrue\afmulttrue\afdiskfalse
2176 200 adas
                             \afcxqaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2177 200 adas
2178 200 adas
%-------------------- SHORT CONTRACTIONS
2179 200 adas
2180 200 adas
\newcommand{\afcxncaux}[2]{%
2181 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2182 200 adas
(-2,2);(0,-2)**[|<\afthickone>][#1]\crv{(-2,-1)&(0,0.2)};
2183 200 adas
( 2,2);(0,-2)**[|<\afthickone>][#2]\crv{( 2,-1)&(0,0.2)}}}%
2184 200 adas
2185 200 adas
\newcommand{\afcxnmauxps}[2]{%
2186 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2187 200 adas
(-2,0)-<0.15\afelwidthcur,0pt>*{\afinvm};
2188 200 adas
( 2,0)+<0.15\afelwidthcur,0pt>*{\afinvm};
2189 200 adas
(-2,2);(0,-2)**[|<\afthickdouble>][#1][butt] \crv{(-2,-1)&(0,0.2)};
2190 200 adas
(-2,2);(0,-2)**[|<\afthicksep   >]    [white]\crv{(-2,-1)&(0,0.2)};
2191 200 adas
( 2,2);(0,-2)**[|<\afthickdouble>][#2][butt] \crv{( 2,-1)&(0,0.2)};
2192 200 adas
( 2,2);(0,-2)**[|<\afthicksep   >]    [white]\crv{( 2,-1)&(0,0.2)}}}%
2193 200 adas
2194 200 adas
\newcommand{\afcxnmauxpdf}[2]{%
2195 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2196 200 adas
< 0.15\afelwidthcur,\ifafdual-\fi0   \afelwidthcur>="A";
2197 200 adas
< 0.15\afelwidthcur,\ifafdual-\fi0.15\afelwidthcur>="B";
2198 200 adas
<-0.15\afelwidthcur,\ifafdual-\fi0.15\afelwidthcur>="C";
2199 200 adas
(-2,2)-"A";(0,-2)-"A"**[|<\afthickfive>][#1]\crv{(-2,-1   )-"B"&(0,0.2 )-"B"};
2200 200 adas
(-2,2)+"A";(0,-2)+"A"**[|<\afthickfive>][#1]\crv{(-2,-1.08)+"B"&(0,0.25)+"B"};
2201 200 adas
( 2,2)+"A";(0,-2)+"A"**[|<\afthickfive>][#2]\crv{( 2,-1   )-"C"&(0,0.2 )-"C"};
2202 200 adas
( 2,2)-"A";(0,-2)-"A"**[|<\afthickfive>][#2]\crv{( 2,-1.08)+"C"&(0,0.25)+"C"}}}%
2203 200 adas
2204 200 adas
\newcommand{\afcxnc}[8]{\multiply\afelwidth by#5%
2205 200 adas
                          \divide\afelwidth by#6%
2206 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2207 200 adas
(-1.6,-0.9)*{\afll{#1}};
2208 200 adas
(-1.7, 1.3)*{\aflr{#2}};
2209 200 adas
( 1.7, 1.3)*{\afll{#3}};
2210 200 adas
( 1.6,-0.9)*{\aflr{#4}};
2211 200 adas
( 0  , 0  )*{\hbox{\ifafmult\ifvirginialakepdflatex
2212 200 adas
                      \afcxnmauxpdf{#7}{#8}\else
2213 200 adas
                      \afcxnmauxps {#7}{#8}\fi\else
2214 200 adas
                      \afcxncaux   {#7}{#8}\fi}}}}%
2215 200 adas
2216 200 adas
\newcommand{\afcxncauxx}[9]{\afcxnc{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2217 200 adas
2218 200 adas
\newcommand{\afwxnaux}[5]{\afwaux{#1}{#2}{#5}}%
2219 200 adas
2220 200 adas
\newcommand{\afcxnaux}[9]{%
2221 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\ifafdual-\fi\afelheight>::
2222 200 adas
(0, 2)*{\hbox{\afcxncauxx{#1}{#2}{#3}{#4}{#7}{#8}#9}};
2223 200 adas
(0, 0)*{\hbox{\afwxnaux{#5}{#6}#9}};
2224 200 adas
(0,-4)*{\afinvm}}}%
2225 200 adas
2226 200 adas
\newcommand{\afcxnauxdo}{\expandafter\afcxnaux\the\toks0\the\toks1}%
2227 200 adas
2228 200 adas
\newcommand{\afcdx  }[8]{\afstemtrue\afdualfalse\afmultfalse\afdiskfalse
2229 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2230 200 adas
2231 200 adas
\newcommand{\afCdx  }[8]{\afstemtrue\afdualfalse\afmulttrue\afdiskfalse
2232 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2233 200 adas
2234 200 adas
\newcommand{\afcux  }[8]{\afstemtrue\afdualtrue\afmultfalse\afdiskfalse
2235 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2236 200 adas
2237 200 adas
\newcommand{\afCux  }[8]{\afstemtrue\afdualtrue\afmulttrue\afdiskfalse
2238 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{{}{}{}}}%
2239 200 adas
2240 200 adas
\newcommand{\afcdnx }[6]{\afstemfalse\afdualfalse\afmultfalse\afdiskfalse
2241 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2242 200 adas
2243 200 adas
\newcommand{\afCdnx }[6]{\afstemfalse\afdualfalse\afmulttrue\afdiskfalse
2244 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2245 200 adas
2246 200 adas
\newcommand{\afcunx }[6]{\afstemfalse\afdualtrue\afmultfalse\afdiskfalse
2247 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2248 200 adas
2249 200 adas
\newcommand{\afCunx }[6]{\afstemfalse\afdualtrue\afmulttrue\afdiskfalse
2250 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{}{}{}}}%
2251 200 adas
2252 200 adas
\newcommand{\afcdxc }[8]{\afstemtrue\afdualfalse\afmultfalse\afdiskfalse
2253 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2254 200 adas
                             \afterassignment\afcxnauxdo\afrestparamss}%
2255 200 adas
2256 200 adas
\newcommand{\afCdxc }[8]{\afstemtrue\afdualfalse\afmulttrue\afdiskfalse
2257 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2258 200 adas
                             \afterassignment\afcxnauxdo\afrestparamss}%
2259 200 adas
2260 200 adas
\newcommand{\afcuxc }[8]{\afstemtrue\afdualtrue\afmultfalse\afdiskfalse
2261 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2262 200 adas
                             \afterassignment\afcxnauxdo\afrestparamss}%
2263 200 adas
2264 200 adas
\newcommand{\afCuxc }[8]{\afstemtrue\afdualtrue\afmulttrue\afdiskfalse
2265 200 adas
                             \toks0={{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
2266 200 adas
                             \afterassignment\afcxnauxdo\afrestparamss}%
2267 200 adas
2268 200 adas
\newcommand{\afcdnxc}[8]{\afstemfalse\afdualfalse\afmultfalse\afdiskfalse
2269 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2270 200 adas
2271 200 adas
\newcommand{\afCdnxc}[8]{\afstemfalse\afdualfalse\afmulttrue\afdiskfalse
2272 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2273 200 adas
2274 200 adas
\newcommand{\afcunxc}[8]{\afstemfalse\afdualtrue\afmultfalse\afdiskfalse
2275 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2276 200 adas
2277 200 adas
\newcommand{\afCunxc}[8]{\afstemfalse\afdualtrue\afmulttrue\afdiskfalse
2278 200 adas
                             \afcxnaux{#1}{#2}{#3}{#4}{}{}{#5}{#6}{{#7}{#8}{}}}%
2279 200 adas
2280 200 adas
%-------------------- VERTICAL JUNCTIONS
2281 200 adas
2282 200 adas
\newcommand{\afvaux}[5]{\divide\afelheight by2%
2283 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#5\afelheight>::
2284 200 adas
(0,-#1);(0,#1)**[|<\afthickone>][#4]@{-};
2285 200 adas
(0, #1)-(0, 4)*{\afll{#2}};
2286 200 adas
(0, #1)-(0, 4)*{\aflr{#3}};
2287 200 adas
(0,  4)*{\afinvm};
2288 200 adas
(0, -4)*{\afinvm}}}%
2289 200 adas
2290 200 adas
\newcommand{\afVauxps}[5]{\divide\afelheight by2%
2291 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#5\afelheight>::
2292 200 adas
( 0   ,-#1);(0,#1)**[|<\afthickdouble>][#4][butt]@{-};
2293 200 adas
( 0   ,-#1);(0,#1)**[|<\afthicksep   >][white]   @{-};
2294 200 adas
( 0   , #1)-(0, 4)*{\afll{#2}};
2295 200 adas
( 0   , #1)-(0, 4)*{\aflr{#3}};
2296 200 adas
(-0.15,  4)*{\afinvm};
2297 200 adas
( 0.15, -4)*{\afinvm}}}%
2298 200 adas
2299 200 adas
\newcommand{\afVauxpdf}[5]{\divide\afelheight by2%
2300 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#5\afelheight>::
2301 200 adas
(-0.15,-#1);(-0.15,#1)**[|<\afthickfive>][#4]@{-};
2302 200 adas
( 0.15,-#1);( 0.15,#1)**[|<\afthickfive>][#4]@{-};
2303 200 adas
( 0   , #1)-(0,4)*{\afll{#2}};
2304 200 adas
( 0   , #1)-(0,4)*{\aflr{#3}};
2305 200 adas
( 0   ,  4)*{\afinvm};
2306 200 adas
( 0   , -4)*{\afinvm}}}%
2307 200 adas
2308 200 adas
\newcommand{\afVaux}[5]{\ifvirginialakepdflatex
2309 200 adas
                             \afVauxpdf{#1}{#2}{#3}{#4}{#5}\else
2310 200 adas
                             \afVauxps {#1}{#2}{#3}{#4}{#5}\fi}%
2311 200 adas
2312 200 adas
\newcommand{\afv  }[1]{\afvaux{#1}{}{}{}{}}%
2313 200 adas
2314 200 adas
\newcommand{\afvc }[2]{\afvaux{#1}{}{}{#2}{}}%
2315 200 adas
2316 200 adas
\newcommand{\afvd }[3]{\afvaux{#1}{#2}{#3}{}{}}%
2317 200 adas
2318 200 adas
\newcommand{\afvdc}[4]{\afvaux{#1}{#2}{#3}{#4}{}}%
2319 200 adas
2320 200 adas
\newcommand{\afvu }[3]{\afvaux{#1}{#2}{#3}{}{-}}%
2321 200 adas
2322 200 adas
\newcommand{\afvuc}[4]{\afvaux{#1}{#2}{#3}{#4}{-}}%
2323 200 adas
2324 200 adas
\newcommand{\afV  }[1]{\afVaux{#1}{}{}{}{}}%
2325 200 adas
2326 200 adas
\newcommand{\afVc }[2]{\afVaux{#1}{}{}{#2}{}}%
2327 200 adas
2328 200 adas
\newcommand{\afVd }[3]{\afVaux{#1}{#2}{#3}{}{}}%
2329 200 adas
2330 200 adas
\newcommand{\afVdc}[4]{\afVaux{#1}{#2}{#3}{#4}{}}%
2331 200 adas
2332 200 adas
\newcommand{\afVu }[3]{\afVaux{#1}{#2}{#3}{}{-}}%
2333 200 adas
2334 200 adas
\newcommand{\afVuc}[4]{\afVaux{#1}{#2}{#3}{#4}{-}}%
2335 200 adas
2336 200 adas
\newcommand{\afvdj}{\divide\afelheight by2%
2337 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
2338 200 adas
(0,-1);(0,1)**[|<\afthickone>]@{.}}}%
2339 200 adas
2340 200 adas
%---------------------- CURVED JUNCTIONS
2341 200 adas
2342 200 adas
\newcommand{\afjaux}[4]{\divide\afelheight by2%
2343 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#4\afelheight>::
2344 200 adas
( 0, #2)="A";
2345 200 adas
( 1, #2)="B";
2346 200 adas
( 0,-#2)="C";
2347 200 adas
( 1,-40)="D";
2348 200 adas
{"A";"B":"C";"D",x}="E";
2349 200 adas
( 1,-20)="F";
2350 200 adas
{"A";"C":"E";"F",x}="G";
2351 200 adas
(#1, #2)="H";
2352 200 adas
(#1,-#2)="I";
2353 200 adas
{"A";"I":"C";"H",x}="J";
2354 200 adas
{"G";"J":"H";"I",x}="K";
2355 200 adas
"A";"I"**[|<\afthickone>][#3]\crv{"G"&"K"}}}%
2356 200 adas
2357 200 adas
\newcommand{\afjmauxps}[4]{\divide\afelheight by2%
2358 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#4\afelheight>::
2359 200 adas
( 0, #2)="A";
2360 200 adas
( 1, #2)="B";
2361 200 adas
( 0,-#2)="C";
2362 200 adas
( 1,-40)="D";
2363 200 adas
{"A";"B":"C";"D",x}="E";
2364 200 adas
( 1,-20)="F";
2365 200 adas
{"A";"C":"E";"F",x}="G";
2366 200 adas
(#1, #2)="H";
2367 200 adas
(#1,-#2)="I";
2368 200 adas
{"A";"I":"C";"H",x}="J";
2369 200 adas
{"G";"J":"H";"I",x}="K";
2370 200 adas
"A"-<0.15\afelwidthcur,0pt>*{\afinvm};
2371 200 adas
"I"+<0.15\afelwidthcur,0pt>*{\afinvm};
2372 200 adas
"A";"I"**[|<\afthickdouble>][#3][butt]\crv{"G"&"K"};
2373 200 adas
"A";"I"**[|<\afthicksep   >][white]   \crv{"G"&"K"}}}%
2374 200 adas
2375 200 adas
\newcommand{\afjmauxpdf}[4]{\divide\afelheight by2%
2376 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#4\afelheight>::
2377 200 adas
( 0, #2)="A";
2378 200 adas
( 1, #2)="B";
2379 200 adas
( 0,-#2)="C";
2380 200 adas
( 0, #2)+(1,40)="D";
2381 200 adas
{"A";"B":"C";"D",x}="E";
2382 200 adas
( 0,#2)+(1,20)="F";
2383 200 adas
{"A";"C":"E";"F",x}="G";
2384 200 adas
(#1, #2)="H";
2385 200 adas
(#1,-#2)="I";
2386 200 adas
{"A";"I":"C";"H",x}="J";
2387 200 adas
{"G";"J":"H";"I",x}="K";
2388 200 adas
"A"-(.15,0 )="L";
2389 200 adas
"I"-(.15,0 )="M";
2390 200 adas
"G"-(.15,.3)="N";
2391 200 adas
"K"-(.15,.3)="O";
2392 200 adas
"L";"M"**[|<\afthickfive>][#3]\crv{"N"&"O"};
2393 200 adas
"A"+(.15,0 )="P";
2394 200 adas
"I"+(.15,0 )="Q";
2395 200 adas
"G"+(.15,.3)="R";
2396 200 adas
"K"+(.15,.3)="S";
2397 200 adas
"P";"Q"**[|<\afthickfive>][#3]\crv{"R"&"S"}}}%
2398 200 adas
2399 200 adas
\newcommand{\afjmaux}[4]{\ifvirginialakepdflatex
2400 200 adas
                             \afjmauxpdf{#1}{#2}{#3}{#4}\else
2401 200 adas
                             \afjmauxps {#1}{#2}{#3}{#4}\fi}%
2402 200 adas
2403 200 adas
\newcommand{\afjl }[2]{\afjaux{#1}{#2}{}{}}%
2404 200 adas
2405 200 adas
\newcommand{\afjlc}[3]{\afjaux{#1}{#2}{#3}{}}%
2406 200 adas
2407 200 adas
\newcommand{\afjr }[2]{\afjaux{#1}{#2}{}{-}}%
2408 200 adas
2409 200 adas
\newcommand{\afjrc}[3]{\afjaux{#1}{#2}{#3}{-}}%
2410 200 adas
2411 200 adas
\newcommand{\afJl }[2]{\afjmaux{#1}{#2}{}{}}%
2412 200 adas
2413 200 adas
\newcommand{\afJlc}[3]{\afjmaux{#1}{#2}{#3}{}}%
2414 200 adas
2415 200 adas
\newcommand{\afJr }[2]{\afjmaux{#1}{#2}{}{-}}%
2416 200 adas
2417 200 adas
\newcommand{\afJrc}[3]{\afjmaux{#1}{#2}{#3}{-}}%
2418 200 adas
2419 200 adas
\newcommand{\afex }[2]{\afexc{#1}{#2}{}{}}%
2420 200 adas
2421 200 adas
\newcommand{\afexc  }[4]{%
2422 200 adas
\xybox{<\afelwidth,0pt>:<0pt,\afelheight>::
2423 200 adas
(0,0)*{\hbox{\afjlc{#1}{#2}{#3}}};
2424 200 adas
(0,0)*{\hbox{\afjrc{#1}{#2}{#4}}}}}%
2425 200 adas
2426 200 adas
%-------------- TRIANGLES AND RECTANGLES
2427 200 adas
2428 200 adas
\newcommand{\afexpaux}[4]{\divide\afelheight by2%
2429 200 adas
\xybox{<\afelwidth,0pt>:<0pt,#4\afelheight>::
2430 200 adas
(#1, #2)+(#3,0);(0,-#2)**[|<\afthickone>]@{-};
2431 200 adas
(#1,-#2)+(#1,0)**[|<\afthicktwo>]@{-};
2432 200 adas
(#1, #2)+(#3,0)**[|<\afthickone>]@{-}}}%
2433 200 adas
2434 200 adas
\newcommand{\afexpd}[3]{\afexpaux{#1}{#2}{#3}{}}%
2435 200 adas
2436 200 adas
\newcommand{\afexpu}[3]{\afexpaux{#1}{#2}{#3}{-}}%
2437 200 adas
2438 200 adas
\newcommand{\affraux}[3]{\divide\afelheight by2%
2439 200 adas
\xybox{<.5\afelwidth,0pt>:<0pt,\afelheight>::
2440 200 adas
(0,0)*[#3]{%
2441 200 adas
\xybox{<.5\afelwidth,0pt>:<0pt,\afelheight>::
2442 200 adas
(-#1,-#2);
2443 200 adas
(-#1, #2)**[|<\afthicktwo>]@{-};
2444 200 adas
( #1, #2)**[|<\afthicktwo>]@{-};
2445 200 adas
( #1,-#2)**[|<\afthicktwo>]@{-};
2446 200 adas
(-#1,-#2)**[|<\afthicktwo>]@{-}}}}}%
2447 200 adas
2448 200 adas
\newcommand{\affr }[2]{\affraux{#1}{#2}{}}%
2449 200 adas
2450 200 adas
\newcommand{\affrb}[2]{\divide\afthicktwo by 4%
2451 200 adas
                       \affraux{#1}{#2}{F*:afbackground}}%
2452 200 adas
2453 200 adas
%------------------------------------------------ END OF MACROS FOR ATOMIC FLOWS
2454 200 adas
2455 200 adas
%----------------------------------------- \vlsmash, \vlupsmash AND \vldownsmash
2456 200 adas
2457 200 adas
\catcode`@=11
2458 200 adas
2459 200 adas
\def\upsmash{\relax % \relax, in case this comes first in \halign
2460 200 adas
  \ifmmode\def\next{\mathpalette\mathupsm@sh}\else\let\next\makeupsm@sh
2461 200 adas
  \fi\next}%
2462 200 adas
\def\makeupsm@sh#1{\setbox\z@\hbox{#1}\finupsm@sh}%
2463 200 adas
\def\mathupsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\finupsm@sh}%
2464 200 adas
\def\finupsm@sh{\ht\z@\z@ \box\z@}%
2465 200 adas
\def\downsmash{\relax % \relax, in case this comes first in \halign
2466 200 adas
  \ifmmode\def\next{\mathpalette\mathdownsm@sh}\else\let\next\makedownsm@sh
2467 200 adas
  \fi\next}%
2468 200 adas
\def\makedownsm@sh#1{\setbox\z@\hbox{#1}\findownsm@sh}%
2469 200 adas
\def\mathdownsm@sh#1#2{\setbox\z@\hbox{$\m@th#1{#2}$}\findownsm@sh}%
2470 200 adas
\def\findownsm@sh{\dp\z@\z@ \box\z@}%
2471 200 adas
2472 200 adas
\newcommand{\vldownsmashend}{\egroup\downsmash{\vlread}}%
2473 200 adas
2474 200 adas
\newcommand{\vlupsmashend  }{\egroup  \upsmash{\vlread}}%
2475 200 adas
2476 200 adas
\newcommand{\vlsmashend    }{\egroup    \smash{\vlread}}%
2477 200 adas
2478 200 adas
\newcommand{\vldownsmash}{\strut\bgroup\vlprepstructures
2479 200 adas
                          \afterassignment\vldownsmashend\global\def\vlread}%
2480 200 adas
2481 200 adas
\newcommand{\vlupsmash  }{\strut\bgroup\vlprepstructures
2482 200 adas
                          \afterassignment  \vlupsmashend\global\def\vlread}%
2483 200 adas
2484 200 adas
\newcommand{\vlsmash    }{\strut\bgroup\vlprepstructures
2485 200 adas
                          \afterassignment    \vlsmashend\global\def\vlread}%
2486 200 adas
2487 200 adas
%---------------------------------- END OF \vlsmash, \vlupsmash AND \vldownsmash