Statistiques
| Révision :

root / CSL16 / virginialake.sty @ 251

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

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