Statistiques
| Révision :

root / CSL16 / final-version / virginialake.sty @ 126

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

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