Statistiques
| Révision :

root / CSL17 / tech-report / virginialake.sty @ 261

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

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