Statistiques
| Révision :

root / CSL16 / draft / virginialake.sty @ 227

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

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