home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / inputs / latex / unpacked / ifthen.dtx < prev    next >
LaTeX Document  |  1995-06-21  |  16.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: LaTeX Document (document/latex).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert LaTeX Document (document/latex) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file LaTeX 2e document text default
99% file LaTeX document text default
98% file LaTeX document, ASCII text default
100% TrID LaTeX 2e document (with rem) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime text/x-matlab default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 25 20 5c 69 66 66 61 6c | 73 65 20 6d 65 74 61 2d |% \iffal|se meta-|
|00000010| 63 6f 6d 6d 65 6e 74 0a | 25 0a 25 20 43 6f 70 79 |comment.|%.% Copy|
|00000020| 72 69 67 68 74 20 31 39 | 39 33 2d 31 39 39 35 20 |right 19|93-1995 |
|00000030| 74 68 65 20 4c 61 54 65 | 58 33 20 70 72 6f 6a 65 |the LaTe|X3 proje|
|00000040| 63 74 20 61 6e 64 20 61 | 6e 79 20 69 6e 64 69 76 |ct and a|ny indiv|
|00000050| 69 64 75 61 6c 20 61 75 | 74 68 6f 72 73 0a 25 20 |idual au|thors.% |
|00000060| 6c 69 73 74 65 64 20 65 | 6c 73 65 77 68 65 72 65 |listed e|lsewhere|
|00000070| 20 69 6e 20 74 68 69 73 | 20 66 69 6c 65 2e 20 20 | in this| file. |
|00000080| 41 6c 6c 20 72 69 67 68 | 74 73 20 72 65 73 65 72 |All righ|ts reser|
|00000090| 76 65 64 2e 0a 25 20 0a | 25 20 46 6f 72 20 66 75 |ved..% .|% For fu|
|000000a0| 72 74 68 65 72 20 63 6f | 70 79 72 69 67 68 74 20 |rther co|pyright |
|000000b0| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 73 65 65 20 |informat|ion see |
|000000c0| 74 68 65 20 66 69 6c 65 | 20 6c 65 67 61 6c 2e 74 |the file| legal.t|
|000000d0| 78 74 2c 20 61 6e 64 20 | 61 6e 79 0a 25 20 6f 74 |xt, and |any.% ot|
|000000e0| 68 65 72 20 63 6f 70 79 | 72 69 67 68 74 20 6e 6f |her copy|right no|
|000000f0| 74 69 63 65 73 20 69 6e | 20 74 68 69 73 20 66 69 |tices in| this fi|
|00000100| 6c 65 2e 0a 25 20 0a 25 | 20 54 68 69 73 20 66 69 |le..% .%| This fi|
|00000110| 6c 65 20 69 73 20 70 61 | 72 74 20 6f 66 20 74 68 |le is pa|rt of th|
|00000120| 65 20 4c 61 54 65 58 32 | 65 20 73 79 73 74 65 6d |e LaTeX2|e system|
|00000130| 2e 0a 25 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..% ----|--------|
|00000140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0a 25 20 20 |--------|----.% |
|00000160| 20 54 68 69 73 20 73 79 | 73 74 65 6d 20 69 73 20 | This sy|stem is |
|00000170| 64 69 73 74 72 69 62 75 | 74 65 64 20 69 6e 20 74 |distribu|ted in t|
|00000180| 68 65 20 68 6f 70 65 20 | 74 68 61 74 20 69 74 20 |he hope |that it |
|00000190| 77 69 6c 6c 20 62 65 20 | 75 73 65 66 75 6c 2c 0a |will be |useful,.|
|000001a0| 25 20 20 20 62 75 74 20 | 57 49 54 48 4f 55 54 20 |% but |WITHOUT |
|000001b0| 41 4e 59 20 57 41 52 52 | 41 4e 54 59 3b 20 77 69 |ANY WARR|ANTY; wi|
|000001c0| 74 68 6f 75 74 20 65 76 | 65 6e 20 74 68 65 20 69 |thout ev|en the i|
|000001d0| 6d 70 6c 69 65 64 20 77 | 61 72 72 61 6e 74 79 20 |mplied w|arranty |
|000001e0| 6f 66 0a 25 20 20 20 4d | 45 52 43 48 41 4e 54 41 |of.% M|ERCHANTA|
|000001f0| 42 49 4c 49 54 59 20 6f | 72 20 46 49 54 4e 45 53 |BILITY o|r FITNES|
|00000200| 53 20 46 4f 52 20 41 20 | 50 41 52 54 49 43 55 4c |S FOR A |PARTICUL|
|00000210| 41 52 20 50 55 52 50 4f | 53 45 2e 0a 25 20 0a 25 |AR PURPO|SE..% .%|
|00000220| 20 20 20 46 6f 72 20 65 | 72 72 6f 72 20 72 65 70 | For e|rror rep|
|00000230| 6f 72 74 73 20 63 6f 6e | 63 65 72 6e 69 6e 67 20 |orts con|cerning |
|00000240| 55 4e 43 48 41 4e 47 45 | 44 20 76 65 72 73 69 6f |UNCHANGE|D versio|
|00000250| 6e 73 20 6f 66 20 74 68 | 69 73 20 66 69 6c 65 20 |ns of th|is file |
|00000260| 6e 6f 20 6d 6f 72 65 0a | 25 20 20 20 74 68 61 6e |no more.|% than|
|00000270| 20 6f 6e 65 20 79 65 61 | 72 20 6f 6c 64 2c 20 73 | one yea|r old, s|
|00000280| 65 65 20 62 75 67 73 2e | 74 78 74 2e 0a 25 20 0a |ee bugs.|txt..% .|
|00000290| 25 20 20 20 50 6c 65 61 | 73 65 20 64 6f 20 6e 6f |% Plea|se do no|
|000002a0| 74 20 72 65 71 75 65 73 | 74 20 75 70 64 61 74 65 |t reques|t update|
|000002b0| 73 20 66 72 6f 6d 20 75 | 73 20 64 69 72 65 63 74 |s from u|s direct|
|000002c0| 6c 79 2e 20 20 50 72 69 | 6d 61 72 79 0a 25 20 20 |ly. Pri|mary.% |
|000002d0| 20 64 69 73 74 72 69 62 | 75 74 69 6f 6e 20 69 73 | distrib|ution is|
|000002e0| 20 74 68 72 6f 75 67 68 | 20 74 68 65 20 43 54 41 | through| the CTA|
|000002f0| 4e 20 61 72 63 68 69 76 | 65 73 2e 0a 25 20 0a 25 |N archiv|es..% .%|
|00000300| 20 0a 25 20 49 4d 50 4f | 52 54 41 4e 54 20 43 4f | .% IMPO|RTANT CO|
|00000310| 50 59 52 49 47 48 54 20 | 4e 4f 54 49 43 45 3a 0a |PYRIGHT |NOTICE:.|
|00000320| 25 20 0a 25 20 59 6f 75 | 20 61 72 65 20 4e 4f 54 |% .% You| are NOT|
|00000330| 20 41 4c 4c 4f 57 45 44 | 20 74 6f 20 64 69 73 74 | ALLOWED| to dist|
|00000340| 72 69 62 75 74 65 20 74 | 68 69 73 20 66 69 6c 65 |ribute t|his file|
|00000350| 20 61 6c 6f 6e 65 2e 0a | 25 20 0a 25 20 59 6f 75 | alone..|% .% You|
|00000360| 20 61 72 65 20 61 6c 6c | 6f 77 65 64 20 74 6f 20 | are all|owed to |
|00000370| 64 69 73 74 72 69 62 75 | 74 65 20 74 68 69 73 20 |distribu|te this |
|00000380| 66 69 6c 65 20 75 6e 64 | 65 72 20 74 68 65 20 63 |file und|er the c|
|00000390| 6f 6e 64 69 74 69 6f 6e | 20 74 68 61 74 20 69 74 |ondition| that it|
|000003a0| 20 69 73 0a 25 20 64 69 | 73 74 72 69 62 75 74 65 | is.% di|stribute|
|000003b0| 64 20 74 6f 67 65 74 68 | 65 72 20 77 69 74 68 20 |d togeth|er with |
|000003c0| 61 6c 6c 20 74 68 65 20 | 66 69 6c 65 73 20 6c 69 |all the |files li|
|000003d0| 73 74 65 64 20 69 6e 20 | 6d 61 6e 69 66 65 73 74 |sted in |manifest|
|000003e0| 2e 74 78 74 2e 0a 25 20 | 0a 25 20 49 66 20 79 6f |.txt..% |.% If yo|
|000003f0| 75 20 72 65 63 65 69 76 | 65 20 6f 6e 6c 79 20 73 |u receiv|e only s|
|00000400| 6f 6d 65 20 6f 66 20 74 | 68 65 73 65 20 66 69 6c |ome of t|hese fil|
|00000410| 65 73 20 66 72 6f 6d 20 | 73 6f 6d 65 6f 6e 65 2c |es from |someone,|
|00000420| 20 63 6f 6d 70 6c 61 69 | 6e 21 0a 25 20 0a 25 20 | complai|n!.% .% |
|00000430| 50 65 72 6d 69 73 73 69 | 6f 6e 20 69 73 20 67 72 |Permissi|on is gr|
|00000440| 61 6e 74 65 64 20 74 6f | 20 63 6f 70 79 20 74 68 |anted to| copy th|
|00000450| 69 73 20 66 69 6c 65 20 | 74 6f 20 61 6e 6f 74 68 |is file |to anoth|
|00000460| 65 72 20 66 69 6c 65 20 | 77 69 74 68 20 61 20 63 |er file |with a c|
|00000470| 6c 65 61 72 6c 79 0a 25 | 20 64 69 66 66 65 72 65 |learly.%| differe|
|00000480| 6e 74 20 6e 61 6d 65 20 | 61 6e 64 20 74 6f 20 63 |nt name |and to c|
|00000490| 75 73 74 6f 6d 69 7a 65 | 20 74 68 65 20 64 65 63 |ustomize| the dec|
|000004a0| 6c 61 72 61 74 69 6f 6e | 73 20 69 6e 20 74 68 61 |laration|s in tha|
|000004b0| 74 20 63 6f 70 79 20 74 | 6f 20 73 65 72 76 65 0a |t copy t|o serve.|
|000004c0| 25 20 74 68 65 20 6e 65 | 65 64 73 20 6f 66 20 79 |% the ne|eds of y|
|000004d0| 6f 75 72 20 69 6e 73 74 | 61 6c 6c 61 74 69 6f 6e |our inst|allation|
|000004e0| 2c 20 70 72 6f 76 69 64 | 65 64 20 74 68 61 74 20 |, provid|ed that |
|000004f0| 79 6f 75 20 63 6f 6d 70 | 6c 79 20 77 69 74 68 0a |you comp|ly with.|
|00000500| 25 20 74 68 65 20 63 6f | 6e 64 69 74 69 6f 6e 73 |% the co|nditions|
|00000510| 20 69 6e 20 74 68 65 20 | 66 69 6c 65 20 6c 65 67 | in the |file leg|
|00000520| 61 6c 2e 74 78 74 2e 0a | 25 20 0a 25 20 48 6f 77 |al.txt..|% .% How|
|00000530| 65 76 65 72 2c 20 4e 4f | 20 50 45 52 4d 49 53 53 |ever, NO| PERMISS|
|00000540| 49 4f 4e 20 69 73 20 67 | 72 61 6e 74 65 64 20 74 |ION is g|ranted t|
|00000550| 6f 20 70 72 6f 64 75 63 | 65 20 6f 72 20 74 6f 20 |o produc|e or to |
|00000560| 64 69 73 74 72 69 62 75 | 74 65 20 61 0a 25 20 6d |distribu|te a.% m|
|00000570| 6f 64 69 66 69 65 64 20 | 76 65 72 73 69 6f 6e 20 |odified |version |
|00000580| 6f 66 20 74 68 69 73 20 | 66 69 6c 65 20 75 6e 64 |of this |file und|
|00000590| 65 72 20 69 74 73 20 6f | 72 69 67 69 6e 61 6c 20 |er its o|riginal |
|000005a0| 6e 61 6d 65 2e 0a 25 20 | 20 0a 25 20 59 6f 75 20 |name..% | .% You |
|000005b0| 61 72 65 20 4e 4f 54 20 | 41 4c 4c 4f 57 45 44 20 |are NOT |ALLOWED |
|000005c0| 74 6f 20 63 68 61 6e 67 | 65 20 74 68 69 73 20 66 |to chang|e this f|
|000005d0| 69 6c 65 2e 0a 25 20 0a | 25 20 0a 25 20 5c 66 69 |ile..% .|% .% \fi|
|000005e0| 0a 25 20 5c 69 66 66 61 | 6c 73 65 0a 25 25 0a 25 |.% \iffa|lse.%%.%|
|000005f0| 25 20 46 69 6c 65 20 60 | 69 66 74 68 65 6e 2e 64 |% File `|ifthen.d|
|00000600| 74 78 27 2e 0a 25 25 20 | 43 6f 70 79 72 69 67 68 |tx'..%% |Copyrigh|
|00000610| 74 20 28 43 29 20 31 39 | 39 31 20 62 79 20 4c 65 |t (C) 19|91 by Le|
|00000620| 73 6c 69 65 20 4c 61 6d | 70 6f 72 74 0a 25 25 20 |slie Lam|port.%% |
|00000630| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 31 39 |Copyrigh|t (C) 19|
|00000640| 39 34 2d 31 39 39 35 20 | 4c 61 54 65 58 33 20 70 |94-1995 |LaTeX3 p|
|00000650| 72 6f 6a 65 63 74 2c 20 | 44 61 76 69 64 20 43 61 |roject, |David Ca|
|00000660| 72 6c 69 73 6c 65 0a 25 | 25 20 20 20 20 20 20 20 |rlisle.%|% |
|00000670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000680| 61 6c 6c 20 72 69 67 68 | 74 73 20 72 65 73 65 72 |all righ|ts reser|
|00000690| 76 65 64 2e 0a 25 25 0a | 25 0a 25 3c 2a 64 74 78 |ved..%%.|%.%<*dtx|
|000006a0| 3e 0a 20 20 20 20 20 20 | 20 20 20 20 5c 50 72 6f |>. | \Pro|
|000006b0| 76 69 64 65 73 46 69 6c | 65 7b 69 66 74 68 65 6e |videsFil|e{ifthen|
|000006c0| 2e 64 74 78 7d 0a 25 3c | 2f 64 74 78 3e 0a 25 3c |.dtx}.%<|/dtx>.%<|
|000006d0| 70 61 63 6b 61 67 65 3e | 5c 4e 65 65 64 73 54 65 |package>|\NeedsTe|
|000006e0| 58 46 6f 72 6d 61 74 7b | 4c 61 54 65 58 32 65 7d |XFormat{|LaTeX2e}|
|000006f0| 5b 31 39 39 34 2f 31 32 | 2f 30 31 5d 0a 25 3c 70 |[1994/12|/01].%<p|
|00000700| 61 63 6b 61 67 65 3e 5c | 50 72 6f 76 69 64 65 73 |ackage>\|Provides|
|00000710| 50 61 63 6b 61 67 65 7b | 69 66 74 68 65 6e 7d 0a |Package{|ifthen}.|
|00000720| 25 3c 64 72 69 76 65 72 | 3e 5c 50 72 6f 76 69 64 |%<driver|>\Provid|
|00000730| 65 73 46 69 6c 65 7b 69 | 66 74 68 65 6e 2e 64 72 |esFile{i|fthen.dr|
|00000740| 76 7d 0a 25 20 5c 66 69 | 0a 25 20 20 20 20 20 20 |v}.% \fi|.% |
|00000750| 20 20 20 5c 50 72 6f 76 | 69 64 65 73 46 69 6c 65 | \Prov|idesFile|
|00000760| 7b 69 66 74 68 65 6e 2e | 64 74 78 7d 0a 20 20 20 |{ifthen.|dtx}. |
|00000770| 20 20 20 20 20 20 20 5b | 31 39 39 35 2f 30 34 2f | [|1995/04/|
|00000780| 32 35 20 76 31 2e 30 6b | 20 53 74 61 6e 64 61 72 |25 v1.0k| Standar|
|00000790| 64 20 4c 61 54 65 58 20 | 69 66 74 68 65 6e 20 70 |d LaTeX |ifthen p|
|000007a0| 61 63 6b 61 67 65 20 28 | 44 50 43 29 5d 0a 25 0a |ackage (|DPC)].%.|
|000007b0| 25 20 5c 69 66 66 61 6c | 73 65 0a 25 3c 2a 64 72 |% \iffal|se.%<*dr|
|000007c0| 69 76 65 72 3e 0a 5c 64 | 6f 63 75 6d 65 6e 74 63 |iver>.\d|ocumentc|
|000007d0| 6c 61 73 73 7b 6c 74 78 | 64 6f 63 7d 0a 5c 44 6f |lass{ltx|doc}.\Do|
|000007e0| 63 49 6e 70 75 74 7b 69 | 66 74 68 65 6e 2e 64 74 |cInput{i|fthen.dt|
|000007f0| 78 7d 0a 5c 65 6e 64 7b | 64 6f 63 75 6d 65 6e 74 |x}.\end{|document|
|00000800| 7d 0a 25 3c 2f 64 72 69 | 76 65 72 3e 0a 25 20 5c |}.%</dri|ver>.% \|
|00000810| 66 69 0a 25 0a 25 20 5c | 47 65 74 46 69 6c 65 49 |fi.%.% \|GetFileI|
|00000820| 6e 66 6f 7b 69 66 74 68 | 65 6e 2e 64 74 78 7d 0a |nfo{ifth|en.dtx}.|
|00000830| 25 20 5c 62 65 67 69 6e | 7b 64 6f 63 75 6d 65 6e |% \begin|{documen|
|00000840| 74 7d 0a 25 20 5c 74 69 | 74 6c 65 7b 54 68 65 20 |t}.% \ti|tle{The |
|00000850| 5c 74 65 78 74 73 66 7b | 69 66 74 68 65 6e 7d 20 |\textsf{|ifthen} |
|00000860| 70 61 63 6b 61 67 65 5c | 74 68 61 6e 6b 73 7b 54 |package\|thanks{T|
|00000870| 68 69 73 20 66 69 6c 65 | 0a 25 20 20 20 20 20 20 |his file|.% |
|00000880| 20 20 20 68 61 73 20 76 | 65 72 73 69 6f 6e 20 6e | has v|ersion n|
|00000890| 75 6d 62 65 72 20 5c 66 | 69 6c 65 76 65 72 73 69 |umber \f|ileversi|
|000008a0| 6f 6e 2c 20 6c 61 73 74 | 0a 25 20 20 20 20 20 20 |on, last|.% |
|000008b0| 20 20 20 72 65 76 69 73 | 65 64 20 5c 66 69 6c 65 | revis|ed \file|
|000008c0| 64 61 74 65 2e 7d 7d 0a | 25 20 5c 61 75 74 68 6f |date.}}.|% \autho|
|000008d0| 72 7b 44 61 76 69 64 20 | 43 61 72 6c 69 73 6c 65 |r{David |Carlisle|
|000008e0| 7d 0a 25 20 5c 64 61 74 | 65 7b 5c 66 69 6c 65 64 |}.% \dat|e{\filed|
|000008f0| 61 74 65 7d 0a 25 20 5c | 61 75 74 68 6f 72 7b 44 |ate}.% \|author{D|
|00000900| 61 76 69 64 20 43 61 72 | 6c 69 73 6c 65 7d 0a 25 |avid Car|lisle}.%|
|00000910| 20 20 5c 6d 61 6b 65 74 | 69 74 6c 65 0a 25 20 0a | \maket|itle.% .|
|00000920| 25 20 5c 43 68 65 63 6b | 53 75 6d 7b 32 37 33 7d |% \Check|Sum{273}|
|00000930| 0a 25 0a 25 0a 25 20 5c | 62 65 67 69 6e 7b 61 62 |.%.%.% \|begin{ab|
|00000940| 73 74 72 61 63 74 7d 0a | 25 20 54 68 69 73 20 66 |stract}.|% This f|
|00000950| 69 6c 65 20 69 6d 70 6c | 65 6d 65 6e 74 73 20 61 |ile impl|ements a|
|00000960| 6e 20 7c 5c 69 66 74 68 | 65 6e 65 6c 73 65 7c 20 |n |\ifth|enelse| |
|00000970| 63 6f 6d 6d 61 6e 64 20 | 66 6f 72 20 5c 4c 61 54 |command |for \LaT|
|00000980| 65 58 65 2e 0a 25 20 54 | 68 65 20 61 6c 67 6f 72 |eXe..% T|he algor|
|00000990| 69 74 68 6d 20 75 73 65 | 64 20 69 73 20 63 6f 6d |ithm use|d is com|
|000009a0| 70 61 74 69 62 6c 65 20 | 77 69 74 68 20 74 68 61 |patible |with tha|
|000009b0| 74 20 75 73 65 64 20 69 | 6e 20 74 68 65 20 5c 4c |t used i|n the \L|
|000009c0| 61 54 65 58 7e 32 2e 30 | 39 0a 25 20 7c 69 66 74 |aTeX~2.0|9.% |ift|
|000009d0| 68 65 6e 7c 20 73 74 79 | 6c 65 20 6f 70 74 69 6f |hen| sty|le optio|
|000009e0| 6e 2e 20 49 74 20 68 61 | 73 20 62 65 65 6e 20 72 |n. It ha|s been r|
|000009f0| 65 63 6f 64 65 64 2c 20 | 6d 61 6b 69 6e 67 20 74 |ecoded, |making t|
|00000a00| 68 65 20 72 65 73 75 6c | 74 69 6e 67 0a 25 20 64 |he resul|ting.% d|
|00000a10| 65 66 69 6e 69 74 69 6f | 6e 73 20 73 6f 6d 65 77 |efinitio|ns somew|
|00000a20| 68 61 74 20 6d 6f 72 65 | 20 63 6f 6d 70 61 63 74 |hat more| compact|
|00000a30| 20 61 6e 64 20 65 66 66 | 69 63 69 65 6e 74 2e 0a | and eff|icient..|
|00000a40| 25 20 5c 65 6e 64 7b 61 | 62 73 74 72 61 63 74 7d |% \end{a|bstract}|
|00000a50| 0a 25 0a 25 20 5c 63 68 | 61 6e 67 65 73 7b 76 31 |.%.% \ch|anges{v1|
|00000a60| 2e 30 61 7d 7b 31 39 39 | 33 2f 31 30 2f 31 35 7d |.0a}{199|3/10/15}|
|00000a70| 7b 4e 65 77 20 69 6d 70 | 6c 65 6d 65 6e 74 61 74 |{New imp|lementat|
|00000a80| 69 6f 6e 7d 0a 25 20 5c | 63 68 61 6e 67 65 73 7b |ion}.% \|changes{|
|00000a90| 76 31 2e 30 62 7d 7b 31 | 39 39 33 2f 31 32 2f 31 |v1.0b}{1|993/12/1|
|00000aa0| 37 7d 7b 55 70 67 72 61 | 64 65 20 74 6f 20 4c 61 |7}{Upgra|de to La|
|00000ab0| 54 65 58 32 65 7d 0a 25 | 20 5c 63 68 61 6e 67 65 |TeX2e}.%| \change|
|00000ac0| 73 7b 76 31 2e 30 65 7d | 7b 31 39 39 34 2f 30 32 |s{v1.0e}|{1994/02|
|00000ad0| 2f 31 31 7d 7b 49 6d 70 | 72 6f 76 65 20 64 6f 63 |/11}{Imp|rove doc|
|00000ae0| 75 6d 65 6e 74 61 74 69 | 6f 6e 7d 0a 25 20 5c 63 |umentati|on}.% \c|
|00000af0| 68 61 6e 67 65 73 7b 76 | 31 2e 30 66 7d 7b 31 39 |hanges{v|1.0f}{19|
|00000b00| 39 34 2f 30 33 2f 30 32 | 7d 7b 52 65 6d 6f 76 65 |94/03/02|}{Remove|
|00000b10| 20 6e 65 65 64 20 66 6f | 72 20 64 74 78 20 66 69 | need fo|r dtx fi|
|00000b20| 6c 65 7d 0a 25 20 5c 63 | 68 61 6e 67 65 73 7b 76 |le}.% \c|hanges{v|
|00000b30| 31 2e 30 67 7d 7b 31 39 | 39 34 2f 30 33 2f 31 34 |1.0g}{19|94/03/14|
|00000b40| 7d 7b 4d 6f 64 69 66 79 | 20 66 6f 72 20 74 68 65 |}{Modify| for the|
|00000b50| 20 6e 65 77 20 6c 74 78 | 64 6f 63 2e 63 6c 73 7d | new ltx|doc.cls}|
|00000b60| 0a 25 20 5c 63 68 61 6e | 67 65 73 7b 76 31 2e 30 |.% \chan|ges{v1.0|
|00000b70| 6b 7d 7b 31 39 39 35 2f | 30 34 2f 32 35 7d 7b 46 |k}{1995/|04/25}{F|
|00000b80| 69 78 20 60 64 72 69 76 | 65 72 27 20 64 6f 63 73 |ix `driv|er' docs|
|00000b90| 74 72 69 70 20 67 75 61 | 72 64 73 2e 7d 0a 25 0a |trip gua|rds.}.%.|
|00000ba0| 25 20 5c 73 65 63 74 69 | 6f 6e 7b 49 6e 74 72 6f |% \secti|on{Intro|
|00000bb0| 64 75 63 74 69 6f 6e 7d | 0a 25 0a 25 20 5c 44 65 |duction}|.%.% \De|
|00000bc0| 73 63 72 69 62 65 4d 61 | 63 72 6f 7b 5c 69 66 74 |scribeMa|cro{\ift|
|00000bd0| 68 65 6e 65 6c 73 65 7d | 0a 25 20 7c 5c 69 66 74 |henelse}|.% |\ift|
|00000be0| 68 65 6e 65 6c 73 65 7b | 7c 5e 5e 41 0a 25 20 20 |henelse{||^^A.% |
|00000bf0| 20 20 20 20 20 5c 6d 65 | 74 61 7b 74 65 73 74 7d | \me|ta{test}|
|00000c00| 7c 7d 7b 7c 5c 6d 65 74 | 61 7b 74 68 65 6e 20 63 ||}{|\met|a{then c|
|00000c10| 6c 61 75 73 65 7d 7c 7d | 7b 7c 5c 6d 65 74 61 7b |lause}|}|{|\meta{|
|00000c20| 65 6c 73 65 20 63 6c 61 | 75 73 65 7d 7c 7d 7c 0a |else cla|use}|}|.|
|00000c30| 25 0a 25 20 45 76 61 6c | 75 61 74 65 73 20 5c 6d |%.% Eval|uates \m|
|00000c40| 65 74 61 7b 74 65 73 74 | 7d 20 61 73 20 61 20 62 |eta{test|} as a b|
|00000c50| 6f 6f 6c 65 61 6e 20 66 | 75 6e 63 74 69 6f 6e 2c |oolean f|unction,|
|00000c60| 20 61 6e 64 20 74 68 65 | 6e 20 65 78 65 63 75 74 | and the|n execut|
|00000c70| 65 73 0a 25 20 65 69 74 | 68 65 72 20 5c 6d 65 74 |es.% eit|her \met|
|00000c80| 61 7b 74 68 65 6e 20 63 | 6c 61 75 73 65 7d 20 6f |a{then c|lause} o|
|00000c90| 72 20 5c 6d 65 74 61 7b | 65 6c 73 65 20 63 6c 61 |r \meta{|else cla|
|00000ca0| 75 73 65 7d 2e 0a 25 0a | 25 20 5c 6d 65 74 61 7b |use}..%.|% \meta{|
|00000cb0| 74 65 73 74 7d 20 69 73 | 20 61 20 62 6f 6f 6c 65 |test} is| a boole|
|00000cc0| 61 6e 20 65 78 70 72 65 | 73 73 69 6f 6e 20 75 73 |an expre|ssion us|
|00000cd0| 69 6e 67 20 74 68 65 20 | 69 6e 66 69 78 20 63 6f |ing the |infix co|
|00000ce0| 6e 6e 65 63 74 69 76 65 | 73 2c 0a 25 20 7c 5c 61 |nnective|s,.% |\a|
|00000cf0| 6e 64 7c 2c 20 7c 5c 6f | 72 7c 2c 20 74 68 65 20 |nd|, |\o|r|, the |
|00000d00| 75 6e 61 72 79 20 7c 5c | 6e 6f 74 7c 20 61 6e 64 |unary |\|not| and|
|00000d10| 20 70 61 72 65 6e 74 68 | 65 73 65 73 20 7c 5c 28 | parenth|eses |\(|
|00000d20| 20 5c 29 7c 2e 0a 25 0a | 25 20 54 68 65 20 61 74 | \)|..%.|% The at|
|00000d30| 6f 6d 69 63 20 20 70 72 | 6f 70 6f 73 69 74 69 6f |omic pr|opositio|
|00000d40| 6e 73 20 61 72 65 3a 5c | 5c 0a 25 20 5c 6d 65 74 |ns are:\|\.% \met|
|00000d50| 61 7b 6e 75 6d 62 65 72 | 7d 20 7c 3c 7c 20 5c 6d |a{number|} |<| \m|
|00000d60| 65 74 61 7b 6e 75 6d 62 | 65 72 7d 20 5c 5c 0a 25 |eta{numb|er} \\.%|
|00000d70| 20 5c 6d 65 74 61 7b 6e | 75 6d 62 65 72 7d 20 7c | \meta{n|umber} ||
|00000d80| 3d 7c 20 5c 6d 65 74 61 | 7b 6e 75 6d 62 65 72 7d |=| \meta|{number}|
|00000d90| 20 5c 5c 0a 25 20 5c 6d | 65 74 61 7b 6e 75 6d 62 | \\.% \m|eta{numb|
|00000da0| 65 72 7d 20 7c 3e 7c 20 | 5c 6d 65 74 61 7b 6e 75 |er} |>| |\meta{nu|
|00000db0| 6d 62 65 72 7d 20 5c 5c | 0a 25 20 7c 5c 69 73 6f |mber} \\|.% |\iso|
|00000dc0| 64 64 7b 7c 20 5c 6d 65 | 74 61 7b 6e 75 6d 62 65 |dd{| \me|ta{numbe|
|00000dd0| 72 7d 20 7c 7d 7c 5c 5c | 0a 25 20 7c 5c 65 71 75 |r} |}|\\|.% |\equ|
|00000de0| 61 6c 7b 7c 5c 6d 65 74 | 61 7b 73 74 72 69 6e 67 |al{|\met|a{string|
|00000df0| 7d 7c 7d 7b 7c 5c 6d 65 | 74 61 7b 73 74 72 69 6e |}|}{|\me|ta{strin|
|00000e00| 67 7d 7c 7d 7c 5c 5c 0a | 25 20 7c 5c 6c 65 6e 67 |g}|}|\\.|% |\leng|
|00000e10| 74 68 74 65 73 74 7b 7c | 5c 6d 65 74 61 7b 64 69 |thtest{||\meta{di|
|00000e20| 6d 65 6e 7d 7c 3c 7c 5c | 6d 65 74 61 7b 64 69 6d |men}|<|\|meta{dim|
|00000e30| 65 6e 7d 7c 7d 7c 5c 5c | 0a 25 20 7c 5c 6c 65 6e |en}|}|\\|.% |\len|
|00000e40| 67 74 68 74 65 73 74 7b | 7c 5c 6d 65 74 61 7b 64 |gthtest{||\meta{d|
|00000e50| 69 6d 65 6e 7d 7c 3d 7c | 5c 6d 65 74 61 7b 64 69 |imen}|=||\meta{di|
|00000e60| 6d 65 6e 7d 7c 7d 7c 5c | 5c 0a 25 20 7c 5c 6c 65 |men}|}|\|\.% |\le|
|00000e70| 6e 67 74 68 74 65 73 74 | 7b 7c 5c 6d 65 74 61 7b |ngthtest|{|\meta{|
|00000e80| 64 69 6d 65 6e 7d 7c 3e | 7c 5c 6d 65 74 61 7b 64 |dimen}|>||\meta{d|
|00000e90| 69 6d 65 6e 7d 7c 7d 7c | 5c 5c 0a 25 20 7c 5c 62 |imen}|}||\\.% |\b|
|00000ea0| 6f 6f 6c 65 61 6e 7b 7c | 5c 6d 65 74 61 7b 6e 61 |oolean{||\meta{na|
|00000eb0| 6d 65 7d 7c 7d 7c 0a 25 | 0a 25 20 54 68 65 20 5c |me}|}|.%|.% The \|
|00000ec0| 6d 65 74 61 7b 73 74 72 | 69 6e 67 7d 73 20 74 65 |meta{str|ing}s te|
|00000ed0| 73 74 65 64 20 62 79 20 | 7c 5c 65 71 75 61 6c 7c |sted by ||\equal||
|00000ee0| 20 6d 61 79 20 62 65 20 | 61 6e 79 20 73 65 71 75 | may be |any sequ|
|00000ef0| 65 6e 63 65 20 6f 66 20 | 63 6f 6d 6d 61 6e 64 73 |ence of |commands|
|00000f00| 0a 25 20 74 68 61 74 20 | 65 78 70 61 6e 64 20 74 |.% that |expand t|
|00000f10| 6f 20 61 20 6c 69 73 74 | 20 6f 66 20 74 6f 6b 65 |o a list| of toke|
|00000f20| 6e 73 2e 20 49 66 20 74 | 68 65 73 65 20 65 78 70 |ns. If t|hese exp|
|00000f30| 61 6e 73 69 6f 6e 73 20 | 61 72 65 20 65 71 75 61 |ansions |are equa|
|00000f40| 6c 2c 20 74 68 65 6e 0a | 25 20 74 68 65 20 70 72 |l, then.|% the pr|
|00000f50| 6f 70 6f 73 69 74 69 6f | 6e 20 69 73 20 74 72 75 |opositio|n is tru|
|00000f60| 65 2e 0a 25 0a 25 20 7c | 5c 69 73 6f 64 64 7c 20 |e..%.% ||\isodd| |
|00000f70| 69 73 20 74 72 75 65 20 | 69 66 20 74 68 65 20 5c |is true |if the \|
|00000f80| 6d 65 74 61 7b 6e 75 6d | 62 65 72 7d 20 69 73 20 |meta{num|ber} is |
|00000f90| 6f 64 64 2c 20 61 6e 64 | 20 66 61 6c 73 65 20 6f |odd, and| false o|
|00000fa0| 74 68 65 72 77 69 73 65 | 0a 25 20 28 65 76 65 6e |therwise|.% (even|
|00000fb0| 20 69 66 20 74 68 65 20 | 61 72 67 75 6d 65 6e 74 | if the |argument|
|00000fc0| 20 69 73 20 6e 6f 74 20 | 61 20 6e 75 6d 62 65 72 | is not |a number|
|00000fd0| 29 2e 0a 25 0a 25 20 7c | 5c 62 6f 6f 6c 65 61 6e |)..%.% ||\boolean|
|00000fe0| 7b 78 79 7a 7d 7c 20 72 | 65 74 75 72 6e 73 20 74 |{xyz}| r|eturns t|
|00000ff0| 68 65 20 74 72 75 74 68 | 20 76 61 6c 75 65 20 63 |he truth| value c|
|00001000| 6f 6e 74 61 69 6e 65 64 | 20 69 6e 20 74 68 65 20 |ontained| in the |
|00001010| 70 72 69 6d 69 74 69 76 | 65 0a 25 20 5c 54 65 58 |primitiv|e.% \TeX|
|00001020| 5c 20 7c 5c 69 66 7c 2c | 20 7c 5c 69 66 78 79 7a |\ |\if|,| |\ifxyz|
|00001030| 7c 2e 20 54 68 69 73 20 | 69 73 20 75 73 75 61 6c ||. This |is usual|
|00001040| 6c 79 20 75 73 65 64 20 | 77 69 74 68 20 7c 5c 6e |ly used |with |\n|
|00001050| 65 77 69 66 7c 20 63 72 | 65 61 74 65 64 0a 25 20 |ewif| cr|eated.% |
|00001060| 74 6f 6b 65 6e 73 2c 20 | 62 75 74 20 63 61 6e 20 |tokens, |but can |
|00001070| 61 6c 73 6f 20 62 65 20 | 75 73 65 64 20 77 69 74 |also be |used wit|
|00001080| 68 20 7c 5c 62 6f 6f 6c | 65 61 6e 7b 74 72 75 65 |h |\bool|ean{true|
|00001090| 7d 7c 20 28 7c 5c 69 66 | 74 72 75 65 7c 29 2c 0a |}| (|\if|true|),.|
|000010a0| 25 20 7c 5c 62 6f 6f 6c | 65 61 6e 7b 6d 6d 6f 64 |% |\bool|ean{mmod|
|000010b0| 65 7d 7c 20 28 7c 5c 69 | 66 6d 6d 6f 64 65 7c 29 |e}| (|\i|fmmode|)|
|000010c0| 20 65 74 63 2e 0a 25 0a | 25 20 5c 44 65 73 63 72 | etc..%.|% \Descr|
|000010d0| 69 62 65 4d 61 63 72 6f | 7b 5c 6e 65 77 62 6f 6f |ibeMacro|{\newboo|
|000010e0| 6c 65 61 6e 7d 0a 25 20 | 20 54 68 65 20 63 6f 6d |lean}.% | The com|
|000010f0| 6d 61 6e 64 73 3a 5c 5c | 0a 25 20 20 7c 5c 6e 65 |mands:\\|.% |\ne|
|00001100| 77 62 6f 6f 6c 65 61 6e | 7b 7c 5c 6d 65 74 61 7b |wboolean|{|\meta{|
|00001110| 6e 61 6d 65 7d 7c 7d 7c | 20 61 6e 64 5c 44 65 73 |name}|}|| and\Des|
|00001120| 63 72 69 62 65 4d 61 63 | 72 6f 7b 5c 73 65 74 62 |cribeMac|ro{\setb|
|00001130| 6f 6f 6c 65 61 6e 7d 0a | 25 20 20 7c 5c 73 65 74 |oolean}.|% |\set|
|00001140| 62 6f 6f 6c 65 61 6e 7b | 7c 5c 6d 65 74 61 7b 6e |boolean{||\meta{n|
|00001150| 61 6d 65 7d 7c 7d 7b 7c | 5c 6d 65 74 61 7b 76 61 |ame}|}{||\meta{va|
|00001160| 6c 75 65 7d 7c 7d 7c 5c | 5c 0a 25 20 61 72 65 20 |lue}|}|\|\.% are |
|00001170| 70 72 6f 76 69 64 65 64 | 20 73 6f 20 74 68 65 20 |provided| so the |
|00001180| 75 73 65 72 20 63 61 6e | 20 65 61 73 69 6c 79 20 |user can| easily |
|00001190| 63 72 65 61 74 65 20 61 | 6e 64 20 73 65 74 20 74 |create a|nd set t|
|000011a0| 68 65 73 65 20 66 6c 61 | 67 73 2e 0a 25 20 5c 6d |hese fla|gs..% \m|
|000011b0| 65 74 61 7b 76 61 6c 75 | 65 7d 20 6d 61 79 20 62 |eta{valu|e} may b|
|000011c0| 65 20 65 69 74 68 65 72 | 20 7c 74 72 75 65 7c 20 |e either| |true| |
|000011d0| 6f 72 20 7c 66 61 6c 73 | 65 7c 20 28 61 6e 79 20 |or |fals|e| (any |
|000011e0| 43 61 53 65 29 2e 0a 25 | 0a 25 20 4e 6f 74 65 20 |CaSe)..%|.% Note |
|000011f0| 74 68 61 74 20 74 68 65 | 72 65 20 69 73 20 6e 6f |that the|re is no|
|00001200| 20 70 72 65 63 65 64 65 | 6e 63 65 20 62 65 74 77 | precede|nce betw|
|00001210| 65 65 6e 20 7c 5c 61 6e | 64 7c 20 61 6e 64 20 7c |een |\an|d| and ||
|00001220| 5c 6f 72 7c 2e 0a 25 20 | 54 68 65 20 70 72 6f 70 |\or|..% |The prop|
|00001230| 6f 73 69 74 69 6f 6e 20 | 69 73 20 65 76 61 6c 75 |osition |is evalu|
|00001240| 61 74 65 64 20 69 6e 20 | 61 20 6c 65 66 74 20 72 |ated in |a left r|
|00001250| 69 67 68 74 20 6d 61 6e | 6e 65 72 2e 20 7c 5c 6e |ight man|ner. |\n|
|00001260| 6f 74 7c 20 6f 6e 6c 79 | 0a 25 20 61 70 70 6c 69 |ot| only|.% appli|
|00001270| 65 73 20 74 6f 20 74 68 | 65 20 69 6d 6d 65 64 69 |es to th|e immedi|
|00001280| 61 74 65 6c 79 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |ately fo|llowing |
|00001290| 70 72 6f 70 6f 73 69 74 | 69 6f 6e 2e 20 28 54 68 |proposit|ion. (Th|
|000012a0| 69 73 20 69 73 20 63 6f | 6e 73 69 73 74 65 6e 74 |is is co|nsistent|
|000012b0| 0a 25 20 77 69 74 68 20 | 4c 61 6d 70 6f 72 74 27 |.% with |Lamport'|
|000012c0| 73 20 7c 69 66 74 68 65 | 6e 2e 73 74 79 7c 2e 20 |s |ifthe|n.sty|. |
|000012d0| 49 6e 20 74 68 69 73 20 | 73 74 79 6c 65 2c 20 74 |In this |style, t|
|000012e0| 68 6f 75 67 68 20 74 68 | 65 20 74 65 73 74 20 69 |hough th|e test i|
|000012f0| 73 0a 25 20 60 6c 61 7a | 69 6c 79 27 20 65 76 61 |s.% `laz|ily' eva|
|00001300| 6c 75 61 74 65 64 2c 20 | 73 6f 20 66 6f 72 20 69 |luated, |so for i|
|00001310| 6e 73 74 61 6e 63 65 20 | 69 66 20 74 68 65 20 66 |nstance |if the f|
|00001320| 69 72 73 74 20 70 72 6f | 70 6f 73 69 74 69 6f 6e |irst pro|position|
|00001330| 20 69 6e 20 61 6e 0a 25 | 20 7c 5c 6f 72 7c 20 69 | in an.%| |\or| i|
|00001340| 73 20 74 72 75 65 2c 20 | 74 68 65 20 73 65 63 6f |s true, |the seco|
|00001350| 6e 64 20 6f 6e 65 20 69 | 73 20 73 6b 69 70 70 65 |nd one i|s skippe|
|00001360| 64 2e 20 28 4f 6e 20 74 | 68 65 20 73 65 63 6f 6e |d. (On t|he secon|
|00001370| 64 20 70 61 73 73 2d 2d | 2d 54 68 65 0a 25 20 66 |d pass--|-The.% f|
|00001380| 69 72 73 74 20 70 61 73 | 73 20 69 6e 20 61 6e 20 |irst pas|s in an |
|00001390| 7c 5c 65 64 65 66 7c 20 | 65 78 70 61 6e 64 73 20 ||\edef| |expands |
|000013a0| 63 6c 61 75 73 65 73 20 | 69 6e 20 61 6c 6c 20 70 |clauses |in all p|
|000013b0| 72 6f 70 6f 73 69 74 69 | 6f 6e 73 29 2e 0a 25 0a |ropositi|ons)..%.|
|000013c0| 25 20 41 70 61 72 74 20 | 66 72 6f 6d 20 74 68 65 |% Apart |from the|
|000013d0| 20 61 64 64 69 74 69 6f | 6e 20 6f 66 20 74 68 65 | additio|n of the|
|000013e0| 20 65 78 74 72 61 20 61 | 74 6f 6d 69 63 20 70 72 | extra a|tomic pr|
|000013f0| 6f 70 6f 73 69 74 69 6f | 6e 73 20 7c 5c 69 73 6f |opositio|ns |\iso|
|00001400| 64 64 7c 2c 0a 25 20 7c | 5c 62 6f 6f 6c 65 61 6e |dd|,.% ||\boolean|
|00001410| 7c 20 61 6e 64 20 7c 5c | 6c 65 6e 67 74 68 74 65 || and |\|lengthte|
|00001420| 73 74 7c 2c 20 74 68 65 | 20 6f 6e 6c 79 20 6b 6e |st|, the| only kn|
|00001430| 6f 77 6e 20 69 6e 63 6f | 6d 70 61 74 69 62 69 6c |own inco|mpatibil|
|00001440| 69 74 79 20 69 73 20 74 | 68 61 74 0a 25 20 69 6e |ity is t|hat.% in|
|00001450| 20 74 68 69 73 20 70 61 | 63 6b 61 67 65 20 74 68 | this pa|ckage th|
|00001460| 65 20 65 78 70 72 65 73 | 73 69 6f 6e 7c 5c 6e 6f |e expres|sion|\no|
|00001470| 74 5c 6e 6f 74 7c 5c 6d | 65 74 61 7b 50 7d 20 69 |t\not|\m|eta{P} i|
|00001480| 73 20 65 71 75 69 76 61 | 6c 65 6e 74 20 74 6f 0a |s equiva|lent to.|
|00001490| 25 20 5c 6d 65 74 61 7b | 50 7d 2e 0a 25 20 48 6f |% \meta{|P}..% Ho|
|000014a0| 77 65 76 65 72 20 69 6e | 20 74 68 65 20 6f 72 69 |wever in| the ori|
|000014b0| 67 69 6e 61 6c 20 73 74 | 79 6c 65 20 69 74 20 77 |ginal st|yle it w|
|000014c0| 61 73 20 65 71 75 69 76 | 61 6c 65 6e 74 20 74 6f |as equiv|alent to|
|000014d0| 20 7c 5c 6e 6f 74 7c 5c | 6d 65 74 61 7b 50 7d 2e | |\not|\|meta{P}.|
|000014e0| 0a 25 20 54 68 69 73 20 | 69 73 20 69 6e 74 65 6e |.% This |is inten|
|000014f0| 74 69 6f 6e 61 6c 20 28 | 62 75 67 20 66 69 78 3a |tional (|bug fix:|
|00001500| 2d 29 2e 0a 25 0a 25 20 | 5c 44 65 73 63 72 69 62 |-)..%.% |\Describ|
|00001510| 65 4d 61 63 72 6f 7b 5c | 77 68 69 6c 65 64 6f 7d |eMacro{\|whiledo}|
|00001520| 0a 25 20 54 68 65 20 63 | 6f 6d 6d 61 6e 64 20 7c |.% The c|ommand ||
|00001530| 5c 77 68 69 6c 65 64 6f | 7c 20 69 73 20 61 6c 73 |\whiledo|| is als|
|00001540| 6f 20 64 65 66 69 6e 65 | 64 20 28 63 6f 70 69 65 |o define|d (copie|
|00001550| 64 20 64 69 72 65 63 74 | 6c 79 20 66 72 6f 6d 0a |d direct|ly from.|
|00001560| 25 20 54 68 65 20 5c 4c | 61 54 65 58 32 2e 30 39 |% The \L|aTeX2.09|
|00001570| 20 64 65 66 69 6e 69 74 | 69 6f 6e 29 2e 0a 25 0a | definit|ion)..%.|
|00001580| 25 20 7c 5c 77 68 69 6c | 65 64 6f 7b 7c 5c 6d 65 |% |\whil|edo{|\me|
|00001590| 74 61 7b 74 65 73 74 7d | 7c 7d 7b 7c 5c 6d 65 74 |ta{test}||}{|\met|
|000015a0| 61 7b 77 68 69 6c 65 20 | 63 6c 61 75 73 65 7d 7c |a{while |clause}||
|000015b0| 7d 7c 0a 25 0a 25 20 57 | 69 74 68 20 5c 6d 65 74 |}|.%.% W|ith \met|
|000015c0| 61 7b 74 65 73 74 7d 20 | 61 73 20 61 62 6f 76 65 |a{test} |as above|
|000015d0| 2c 20 72 65 70 65 61 74 | 65 64 6c 79 20 65 78 65 |, repeat|edly exe|
|000015e0| 63 75 74 65 73 20 5c 6d | 65 74 61 7b 77 68 69 6c |cutes \m|eta{whil|
|000015f0| 65 20 63 6c 61 75 73 65 | 7d 0a 25 20 77 68 69 6c |e clause|}.% whil|
|00001600| 65 20 74 68 65 20 74 65 | 73 74 20 72 65 6d 61 69 |e the te|st remai|
|00001610| 6e 73 20 74 72 75 65 2e | 0a 25 0a 25 20 5c 53 74 |ns true.|.%.% \St|
|00001620| 6f 70 45 76 65 6e 74 75 | 61 6c 6c 79 7b 7d 0a 25 |opEventu|ally{}.%|
|00001630| 0a 25 20 5c 73 65 63 74 | 69 6f 6e 7b 54 68 65 20 |.% \sect|ion{The |
|00001640| 49 6d 70 6c 65 6d 65 6e | 74 61 74 69 6f 6e 7d 0a |Implemen|tation}.|
|00001650| 25 0a 25 20 20 20 20 5c | 62 65 67 69 6e 7b 6d 61 |%.% \|begin{ma|
|00001660| 63 72 6f 63 6f 64 65 7d | 0a 25 3c 2a 70 61 63 6b |crocode}|.%<*pack|
|00001670| 61 67 65 3e 0a 25 20 20 | 20 20 5c 65 6e 64 7b 6d |age>.% | \end{m|
|00001680| 61 63 72 6f 63 6f 64 65 | 7d 0a 25 0a 25 20 5c 62 |acrocode|}.%.% \b|
|00001690| 65 67 69 6e 7b 6d 61 63 | 72 6f 7d 7b 5c 54 45 40 |egin{mac|ro}{\TE@|
|000016a0| 74 68 72 6f 77 7d 0a 25 | 20 49 6e 20 6f 72 64 65 |throw}.%| In orde|
|000016b0| 72 20 74 6f 20 73 75 70 | 70 6f 72 74 20 74 68 65 |r to sup|port the|
|000016c0| 20 73 79 6e 74 61 78 20 | 6f 66 20 7c 69 66 74 68 | syntax |of |ifth|
|000016d0| 65 6e 2e 73 74 79 7c 2c | 20 77 68 69 63 68 20 61 |en.sty|,| which a|
|000016e0| 6c 6c 6f 77 73 20 61 63 | 63 65 73 73 0a 25 20 74 |llows ac|cess.% t|
|000016f0| 6f 20 74 68 65 20 70 72 | 69 6d 69 74 69 76 65 20 |o the pr|imitive |
|00001700| 5c 54 65 58 5c 20 73 79 | 6e 74 61 78 20 66 6f 72 |\TeX\ sy|ntax for|
|00001710| 20 61 20 6e 75 6d 65 72 | 69 63 20 74 65 73 74 2c | a numer|ic test,|
|00001720| 20 72 61 74 68 65 72 20 | 74 68 61 6e 20 61 20 7c | rather |than a ||
|00001730| 7b 7d 7c 0a 25 20 64 65 | 6c 69 6d 69 74 65 64 20 |{}|.% de|limited |
|00001740| 61 72 67 75 6d 65 6e 74 | 20 66 6f 72 6d 2c 20 69 |argument| form, i|
|00001750| 74 20 69 73 20 6d 6f 73 | 74 20 63 6f 6e 76 65 6e |t is mos|t conven|
|00001760| 69 65 6e 74 20 74 6f 20 | 77 6f 72 6b 20 60 77 69 |ient to |work `wi|
|00001770| 74 68 69 6e 27 20 61 6e | 0a 25 20 7c 5c 69 66 6e |thin' an|.% |\ifn|
|00001780| 75 6d 7c 2e 20 7c 5c 69 | 66 74 40 74 68 72 6f 77 |um|. |\i|ft@throw|
|00001790| 7c 20 60 74 68 72 6f 77 | 73 27 20 79 6f 75 20 6f || `throw|s' you o|
|000017a0| 75 74 20 6f 66 20 74 68 | 65 20 63 75 72 72 65 6e |ut of th|e curren|
|000017b0| 74 20 7c 5c 69 66 6e 75 | 6d 7c 20 73 6f 0a 25 20 |t |\ifnu|m| so.% |
|000017c0| 74 68 61 74 20 79 6f 75 | 20 63 61 6e 20 28 65 67 |that you| can (eg|
|000017d0| 29 20 73 74 61 72 74 20 | 61 6e 20 7c 5c 69 66 64 |) start |an |\ifd|
|000017e0| 69 6d 7c 20 66 6f 72 20 | 74 68 65 20 6c 65 6e 67 |im| for |the leng|
|000017f0| 74 68 20 74 65 73 74 73 | 2e 0a 25 20 20 20 20 5c |th tests|..% \|
|00001800| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 63 6f 64 65 7d |begin{ma|crocode}|
|00001810| 0a 5c 64 65 66 5c 54 45 | 40 74 68 72 6f 77 7b 5c |.\def\TE|@throw{\|
|00001820| 40 6e 65 3d 5c 40 6e 65 | 5c 6e 6f 65 78 70 61 6e |@ne=\@ne|\noexpan|
|00001830| 64 5c 66 69 7d 0a 25 20 | 20 20 20 5c 65 6e 64 7b |d\fi}.% | \end{|
|00001840| 6d 61 63 72 6f 63 6f 64 | 65 7d 0a 25 20 5c 65 6e |macrocod|e}.% \en|
|00001850| 64 7b 6d 61 63 72 6f 7d | 0a 25 0a 25 20 5c 62 65 |d{macro}|.%.% \be|
|00001860| 67 69 6e 7b 6d 61 63 72 | 6f 7d 7b 5c 62 6f 6f 6c |gin{macr|o}{\bool|
|00001870| 65 61 6e 7d 0a 25 20 41 | 20 6e 6f 6e 2d 73 74 61 |ean}.% A| non-sta|
|00001880| 6e 64 61 72 64 20 65 78 | 74 65 6e 73 69 6f 6e 20 |ndard ex|tension |
|00001890| 74 6f 20 7c 69 66 74 68 | 65 6e 7c 2c 20 73 75 70 |to |ifth|en|, sup|
|000018a0| 70 6f 72 74 69 6e 67 20 | 62 6f 6f 6c 65 61 6e 20 |porting |boolean |
|000018b0| 77 61 73 0a 25 20 70 72 | 65 76 69 6f 75 73 6c 79 |was.% pr|eviously|
|000018c0| 20 61 76 61 69 6c 61 62 | 6c 65 2c 20 74 68 69 73 | availab|le, this|
|000018d0| 20 69 73 20 61 20 73 69 | 6d 70 6c 65 72 20 69 6d | is a si|mpler im|
|000018e0| 70 6c 65 6d 65 6e 74 61 | 74 69 6f 6e 2e 0a 25 20 |plementa|tion..% |
|000018f0| 20 20 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 63 | \begi|n{macroc|
|00001900| 6f 64 65 7d 0a 5c 64 65 | 66 5c 62 6f 6f 6c 65 61 |ode}.\de|f\boolea|
|00001910| 6e 23 31 23 32 7b 25 0a | 20 20 5c 54 45 40 74 68 |n#1#2{%.| \TE@th|
|00001920| 72 6f 77 5c 65 78 70 61 | 6e 64 61 66 74 65 72 5c |row\expa|ndafter\|
|00001930| 6e 6f 65 78 70 61 6e 64 | 5c 63 73 6e 61 6d 65 20 |noexpand|\csname |
|00001940| 69 66 23 31 5c 65 6e 64 | 63 73 6e 61 6d 65 23 32 |if#1\end|csname#2|
|00001950| 7d 0a 25 20 20 20 20 5c | 65 6e 64 7b 6d 61 63 72 |}.% \|end{macr|
|00001960| 6f 63 6f 64 65 7d 0a 25 | 20 5c 65 6e 64 7b 6d 61 |ocode}.%| \end{ma|
|00001970| 63 72 6f 7d 0a 25 0a 25 | 20 5c 62 65 67 69 6e 7b |cro}.%.%| \begin{|
|00001980| 6d 61 63 72 6f 7d 7b 5c | 54 45 40 6c 65 6e 67 74 |macro}{\|TE@lengt|
|00001990| 68 7d 0a 25 20 54 65 73 | 74 69 6e 67 20 6c 65 6e |h}.% Tes|ting len|
|000019a0| 67 74 68 73 2e 20 7c 23 | 31 7c 20 69 73 20 74 68 |gths. |#|1| is th|
|000019b0| 65 20 74 65 73 74 2e 20 | 54 68 65 20 65 78 74 72 |e test. |The extr|
|000019c0| 61 20 61 72 67 75 6d 65 | 6e 74 20 67 6f 62 62 6c |a argume|nt gobbl|
|000019d0| 65 73 20 73 70 61 63 65 | 73 2e 0a 25 20 20 20 20 |es space|s..% |
|000019e0| 5c 62 65 67 69 6e 7b 6d | 61 63 72 6f 63 6f 64 65 |\begin{m|acrocode|
|000019f0| 7d 0a 5c 64 65 66 5c 54 | 45 40 6c 65 6e 67 74 68 |}.\def\T|E@length|
|00001a00| 23 31 23 32 7b 5c 54 45 | 40 74 68 72 6f 77 5c 6e |#1#2{\TE|@throw\n|
|00001a10| 6f 65 78 70 61 6e 64 5c | 69 66 64 69 6d 23 31 23 |oexpand\|ifdim#1#|
|00001a20| 32 7d 0a 25 20 20 20 20 | 5c 65 6e 64 7b 6d 61 63 |2}.% |\end{mac|
|00001a30| 72 6f 63 6f 64 65 7d 0a | 25 20 5c 65 6e 64 7b 6d |rocode}.|% \end{m|
|00001a40| 61 63 72 6f 7d 0a 25 0a | 25 20 5c 62 65 67 69 6e |acro}.%.|% \begin|
|00001a50| 7b 6d 61 63 72 6f 7d 7b | 5c 54 45 40 6f 64 64 7d |{macro}{|\TE@odd}|
|00001a60| 0a 25 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |.% \begi|n{macro}|
|00001a70| 7b 5c 54 45 40 40 6f 64 | 64 7d 0a 25 20 54 65 73 |{\TE@@od|d}.% Tes|
|00001a80| 74 69 6e 67 20 6f 64 64 | 2f 65 76 65 6e 2e 20 54 |ting odd|/even. T|
|00001a90| 68 69 73 20 69 73 20 74 | 72 75 65 20 69 66 20 7c |his is t|rue if ||
|00001aa0| 23 31 7c 20 69 73 20 61 | 6e 20 6f 64 64 20 6e 75 |#1| is a|n odd nu|
|00001ab0| 6d 62 65 72 2c 20 61 6e | 64 20 66 61 6c 73 65 0a |mber, an|d false.|
|00001ac0| 25 20 6f 74 68 65 72 77 | 69 73 65 20 28 65 76 65 |% otherw|ise (eve|
|00001ad0| 6e 20 69 66 20 7c 23 31 | 7c 20 69 73 20 6e 6f 74 |n if |#1|| is not|
|00001ae0| 20 61 20 6e 75 6d 62 65 | 72 20 61 74 20 61 6c 6c | a numbe|r at all|
|00001af0| 29 2e 0a 25 0a 25 20 49 | 74 20 69 73 20 68 61 72 |)..%.% I|t is har|
|00001b00| 64 20 74 6f 20 6d 61 6b | 65 20 74 68 69 73 20 63 |d to mak|e this c|
|00001b10| 6f 6d 70 6c 65 74 65 6c | 79 20 72 65 6c 69 61 62 |ompletel|y reliab|
|00001b20| 6c 65 2e 20 48 65 72 65 | 20 49 20 68 61 76 65 20 |le. Here| I have |
|00001b30| 65 72 72 65 64 20 6f 6e | 20 74 68 65 0a 25 20 73 |erred on| the.% s|
|00001b40| 69 64 65 20 6f 66 20 73 | 61 66 65 74 79 2e 20 54 |ide of s|afety. T|
|00001b50| 68 69 73 20 73 68 6f 75 | 6c 64 20 6e 6f 74 20 67 |his shou|ld not g|
|00001b60| 65 6e 65 72 61 74 65 20 | 61 20 5c 54 65 58 5c 20 |enerate |a \TeX\ |
|00001b70| 65 72 72 6f 72 20 69 66 | 20 67 69 76 65 6e 20 61 |error if| given a|
|00001b80| 6e 79 0a 25 20 72 6f 62 | 75 73 74 20 63 6f 6d 6d |ny.% rob|ust comm|
|00001b90| 61 6e 64 73 20 61 73 20 | 69 74 73 20 61 72 67 75 |ands as |its argu|
|00001ba0| 6d 65 6e 74 2e 20 48 6f | 77 65 76 65 72 20 69 74 |ment. Ho|wever it|
|00001bb0| 20 72 65 74 75 72 6e 73 | 20 74 72 75 65 20 6f 6e | returns| true on|
|00001bc0| 20 61 6e 79 0a 25 20 61 | 72 67 75 6d 65 6e 74 20 | any.% a|rgument |
|00001bd0| 74 68 61 74 20 5c 65 6d | 70 68 7b 73 74 61 72 74 |that \em|ph{start|
|00001be0| 73 7d 20 77 69 74 68 20 | 61 6e 20 6f 64 64 20 6e |s} with |an odd n|
|00001bf0| 75 6d 62 65 72 20 7c 31 | 31 78 78 7c 20 77 68 69 |umber |1|1xx| whi|
|00001c00| 63 68 20 69 73 20 62 61 | 64 2c 0a 25 20 61 6e 64 |ch is ba|d,.% and|
|00001c10| 20 69 74 20 63 61 6e 20 | 6e 6f 74 20 64 65 61 6c | it can |not deal|
|00001c20| 20 77 69 74 68 20 5c 54 | 65 58 27 73 20 63 6f 75 | with \T|eX's cou|
|00001c30| 6e 74 20 72 65 67 69 73 | 74 65 72 73 2c 20 61 6c |nt regis|ters, al|
|00001c40| 74 68 6f 75 67 68 20 5c | 4c 61 54 65 58 5c 0a 25 |though \|LaTeX\.%|
|00001c50| 20 63 6f 75 6e 74 65 72 | 73 20 77 6f 72 6b 20 28 | counter|s work (|
|00001c60| 76 69 61 20 7c 5c 76 61 | 6c 75 65 7c 29 2e 0a 25 |via |\va|lue|)..%|
|00001c70| 20 5c 63 68 61 6e 67 65 | 73 7b 76 31 2e 30 62 7d | \change|s{v1.0b}|
|00001c80| 7b 31 39 39 33 2f 31 32 | 2f 31 37 7d 7b 49 6d 70 |{1993/12|/17}{Imp|
|00001c90| 72 6f 76 65 20 5c 63 6d | 64 5c 69 73 6f 64 64 7d |rove \cm|d\isodd}|
|00001ca0| 0a 25 20 5c 63 68 61 6e | 67 65 73 7b 76 31 2e 30 |.% \chan|ges{v1.0|
|00001cb0| 63 7d 7b 31 39 39 34 2f | 30 31 2f 32 30 7d 7b 49 |c}{1994/|01/20}{I|
|00001cc0| 6d 70 72 6f 76 65 20 5c | 63 6d 64 5c 69 73 6f 64 |mprove \|cmd\isod|
|00001cd0| 64 5c 20 61 67 61 69 6e | 7d 0a 25 20 20 20 20 5c |d\ again|}.% \|
|00001ce0| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 63 6f 64 65 7d |begin{ma|crocode}|
|00001cf0| 0a 5c 64 65 66 5c 54 45 | 40 6f 64 64 23 31 23 32 |.\def\TE|@odd#1#2|
|00001d00| 7b 25 0a 20 20 5c 54 45 | 40 74 68 72 6f 77 5c 6e |{%. \TE|@throw\n|
|00001d10| 6f 65 78 70 61 6e 64 5c | 54 45 40 40 6f 64 64 23 |oexpand\|TE@@odd#|
|00001d20| 31 5c 6e 6f 65 78 70 61 | 6e 64 5c 40 6e 69 6c 5c |1\noexpa|nd\@nil\|
|00001d30| 6e 6f 65 78 70 61 6e 64 | 5c 69 66 6f 64 64 5c 63 |noexpand|\ifodd\c|
|00001d40| 6f 75 6e 74 40 23 32 7d | 0a 25 20 20 20 20 5c 65 |ount@#2}|.% \e|
|00001d50| 6e 64 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 25 0a |nd{macro|code}.%.|
|00001d60| 25 20 7c 5c 54 45 40 40 | 6f 64 64 7c 20 69 73 20 |% |\TE@@|odd| is |
|00001d70| 6e 6f 74 20 65 78 70 61 | 6e 64 65 64 20 6f 6e 20 |not expa|nded on |
|00001d80| 74 68 65 20 66 69 72 73 | 74 20 70 61 73 73 2e 0a |the firs|t pass..|
|00001d90| 25 20 20 20 20 5c 62 65 | 67 69 6e 7b 6d 61 63 72 |% \be|gin{macr|
|00001da0| 6f 63 6f 64 65 7d 0a 5c | 64 65 66 5c 54 45 40 40 |ocode}.\|def\TE@@|
|00001db0| 6f 64 64 23 31 23 32 5c | 40 6e 69 6c 7b 25 0a 20 |odd#1#2\|@nil{%. |
|00001dc0| 20 5c 40 64 65 66 61 75 | 6c 74 75 6e 69 74 73 0a | \@defau|ltunits.|
|00001dd0| 20 20 5c 63 6f 75 6e 74 | 40 5c 69 66 2d 23 31 2d | \count|@\if-#1-|
|00001de0| 30 5c 65 6c 73 65 30 5c | 65 78 70 61 6e 64 61 66 |0\else0\|expandaf|
|00001df0| 74 65 72 23 31 5c 66 69 | 23 32 5c 72 65 6c 61 78 |ter#1\fi|#2\relax|
|00001e00| 5c 40 6e 6e 69 6c 7d 0a | 25 20 20 20 20 5c 65 6e |\@nnil}.|% \en|
|00001e10| 64 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 25 20 5c |d{macroc|ode}.% \|
|00001e20| 65 6e 64 7b 6d 61 63 72 | 6f 7d 0a 25 20 5c 65 6e |end{macr|o}.% \en|
|00001e30| 64 7b 6d 61 63 72 6f 7d | 0a 25 0a 25 20 20 5c 62 |d{macro}|.%.% \b|
|00001e40| 65 67 69 6e 7b 6d 61 63 | 72 6f 7d 7b 5c 54 45 40 |egin{mac|ro}{\TE@|
|00001e50| 72 65 70 6c 7d 0a 25 20 | 7c 5c 54 45 40 72 65 70 |repl}.% ||\TE@rep|
|00001e60| 6c 7c 20 72 65 70 6c 61 | 63 65 73 20 74 68 65 20 |l| repla|ces the |
|00001e70| 73 69 6e 67 6c 65 20 74 | 6f 6b 65 6e 20 7c 23 31 |single t|oken |#1|
|00001e80| 7c 20 62 79 20 7c 23 32 | 7c 2e 20 28 4e 6f 74 20 || by |#2||. (Not |
|00001e90| 77 69 74 68 69 6e 20 7c | 7b 7d 7c 0a 25 20 67 72 |within ||{}|.% gr|
|00001ea0| 6f 75 70 73 2e 29 20 49 | 74 20 69 73 20 75 73 65 |oups.) I|t is use|
|00001eb0| 64 20 74 6f 20 72 65 70 | 6c 61 63 65 20 7c 5c 6f |d to rep|lace |\o|
|00001ec0| 72 7c 20 62 79 20 7c 5c | 54 45 40 6f 72 7c 20 77 |r| by |\|TE@or| w|
|00001ed0| 69 74 68 6f 75 74 20 74 | 68 65 20 6e 65 65 64 20 |ithout t|he need |
|00001ee0| 74 6f 0a 25 20 72 65 64 | 65 66 69 6e 65 20 7c 5c |to.% red|efine |\|
|00001ef0| 6f 72 7c 2e 20 45 61 72 | 6c 69 65 72 20 76 65 72 |or|. Ear|lier ver|
|00001f00| 73 69 6f 6e 73 20 6a 75 | 73 74 20 7c 5c 6c 65 74 |sions ju|st |\let|
|00001f10| 5c 6f 72 5c 54 45 40 6f | 72 7c 20 62 75 74 20 74 |\or\TE@o|r| but t|
|00001f20| 68 69 73 20 68 61 73 20 | 61 0a 25 20 62 61 64 20 |his has |a.% bad |
|00001f30| 65 66 66 65 63 74 20 6f | 6e 20 74 68 65 20 65 78 |effect o|n the ex|
|00001f40| 70 61 6e 73 69 6f 6e 20 | 6f 66 20 63 6f 6d 6d 61 |pansion |of comma|
|00001f50| 6e 64 73 20 77 68 69 63 | 68 20 75 73 65 20 74 68 |nds whic|h use th|
|00001f60| 65 20 70 72 69 6d 69 74 | 69 76 65 0a 25 20 7c 5c |e primit|ive.% |\|
|00001f70| 6f 72 7c 20 69 6e 74 65 | 72 6e 61 6c 6c 79 2c 20 |or| inte|rnally, |
|00001f80| 65 67 20 7c 5c 61 6c 70 | 68 7c 2c 20 61 6e 64 20 |eg |\alp|h|, and |
|00001f90| 73 6f 20 63 61 75 73 65 | 64 20 73 75 72 70 72 69 |so cause|d surpri|
|00001fa0| 73 69 6e 67 20 72 65 73 | 75 6c 74 73 20 69 66 0a |sing res|ults if.|
|00001fb0| 25 20 74 68 65 73 65 20 | 63 6f 6d 6d 61 6e 64 73 |% these |commands|
|00001fc0| 20 77 65 72 65 20 75 73 | 65 64 20 69 6e 73 69 64 | were us|ed insid|
|00001fd0| 65 20 7c 5c 65 71 75 61 | 6c 7c 2e 0a 25 20 5c 63 |e |\equa|l|..% \c|
|00001fe0| 68 61 6e 67 65 73 7b 76 | 31 2e 30 68 7d 7b 31 39 |hanges{v|1.0h}{19|
|00001ff0| 39 34 2f 30 35 2f 31 34 | 7d 7b 6d 61 63 72 6f 20 |94/05/14|}{macro |
|00002000| 61 64 64 65 64 7d 0a 25 | 20 20 20 20 5c 62 65 67 |added}.%| \beg|
|00002010| 69 6e 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 5c 64 |in{macro|code}.\d|
|00002020| 65 66 5c 54 45 40 72 65 | 70 6c 23 31 23 32 7b 25 |ef\TE@re|pl#1#2{%|
|00002030| 0a 20 20 5c 6c 6f 6e 67 | 5c 64 65 66 5c 40 74 65 |. \long|\def\@te|
|00002040| 6d 70 63 23 23 31 23 31 | 23 23 32 7b 25 0a 20 20 |mpc##1#1|##2{%. |
|00002050| 20 20 5c 64 65 66 5c 40 | 74 65 6d 70 61 7b 23 23 | \def\@|tempa{##|
|00002060| 32 7d 5c 64 65 66 5c 40 | 74 65 6d 70 62 7b 5c 40 |2}\def\@|tempb{\@|
|00002070| 74 65 6d 70 63 7d 25 0a | 20 20 20 20 5c 69 66 78 |tempc}%.| \ifx|
|00002080| 5c 40 74 65 6d 70 61 5c | 40 74 65 6d 70 62 0a 20 |\@tempa\|@tempb. |
|00002090| 20 20 20 20 5c 74 6f 6b | 73 40 5c 65 78 70 61 6e | \tok|s@\expan|
|000020a0| 64 61 66 74 65 72 7b 5c | 74 68 65 5c 74 6f 6b 73 |dafter{\|the\toks|
|000020b0| 40 23 23 31 7d 25 0a 20 | 20 20 20 20 5c 65 78 70 |@##1}%. | \exp|
|000020c0| 61 6e 64 61 66 74 65 72 | 5c 40 67 6f 62 62 6c 65 |andafter|\@gobble|
|000020d0| 0a 20 20 20 20 5c 65 6c | 73 65 0a 20 20 20 20 20 |. \el|se. |
|000020e0| 20 5c 74 6f 6b 73 40 5c | 65 78 70 61 6e 64 61 66 | \toks@\|expandaf|
|000020f0| 74 65 72 7b 5c 74 68 65 | 5c 74 6f 6b 73 40 23 23 |ter{\the|\toks@##|
|00002100| 31 23 32 7d 25 0a 20 20 | 20 20 5c 65 78 70 61 6e |1#2}%. | \expan|
|00002110| 64 61 66 74 65 72 5c 40 | 74 65 6d 70 63 0a 20 20 |dafter\@|tempc. |
|00002120| 20 20 5c 66 69 0a 20 20 | 20 20 23 23 32 7d 25 0a | \fi. | ##2}%.|
|00002130| 20 20 5c 65 78 70 61 6e | 64 61 66 74 65 72 5c 74 | \expan|dafter\t|
|00002140| 6f 6b 73 40 5c 65 78 70 | 61 6e 64 61 66 74 65 72 |oks@\exp|andafter|
|00002150| 7b 5c 65 78 70 61 6e 64 | 61 66 74 65 72 7d 25 0a |{\expand|after}%.|
|00002160| 20 20 5c 65 78 70 61 6e | 64 61 66 74 65 72 5c 40 | \expan|dafter\@|
|00002170| 74 65 6d 70 63 5c 74 68 | 65 5c 74 6f 6b 73 40 23 |tempc\th|e\toks@#|
|00002180| 31 5c 40 74 65 6d 70 63 | 7d 0a 25 20 20 20 20 5c |1\@tempc|}.% \|
|00002190| 65 6e 64 7b 6d 61 63 72 | 6f 63 6f 64 65 7d 0a 25 |end{macr|ocode}.%|
|000021a0| 20 20 5c 65 6e 64 7b 6d | 61 63 72 6f 7d 0a 25 0a | \end{m|acro}.%.|
|000021b0| 25 0a 25 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f |%.% \beg|in{macro|
|000021c0| 7d 7b 5c 69 66 74 68 65 | 6e 65 6c 73 65 7d 0a 25 |}{\ifthe|nelse}.%|
|000021d0| 20 54 68 65 20 72 65 6d | 61 69 6e 69 6e 67 20 6d | The rem|aining m|
|000021e0| 61 63 72 6f 73 20 69 6e | 20 74 68 69 73 20 66 69 |acros in| this fi|
|000021f0| 6c 65 20 61 72 65 20 64 | 65 72 69 76 65 64 20 66 |le are d|erived f|
|00002200| 72 6f 6d 20 74 68 65 20 | 6f 6e 65 73 20 69 6e 0a |rom the |ones in.|
|00002210| 25 20 7c 69 66 74 68 65 | 6e 2e 73 74 79 7c 20 62 |% |ifthe|n.sty| b|
|00002220| 75 74 20 72 65 63 6f 64 | 65 64 20 61 6e 64 20 73 |ut recod|ed and s|
|00002230| 69 6d 70 6c 69 66 69 65 | 64 2e 20 54 68 65 20 6d |implifie|d. The m|
|00002240| 61 69 6e 20 73 69 6d 70 | 6c 69 66 69 63 61 74 69 |ain simp|lificati|
|00002250| 6f 6e 20 69 73 0a 25 20 | 74 68 61 74 20 74 68 65 |on is.% |that the|
|00002260| 20 6f 72 69 67 69 6e 61 | 6c 20 73 74 79 6c 65 20 | origina|l style |
|00002270| 28 61 6e 64 20 74 68 65 | 20 7c 5c 62 6f 6f 6c 65 |(and the| |\boole|
|00002280| 61 6e 7c 20 65 78 74 65 | 6e 73 69 6f 6e 73 29 20 |an| exte|nsions) |
|00002290| 65 78 70 72 65 73 73 65 | 64 0a 25 20 6c 6f 67 69 |expresse|d.% logi|
|000022a0| 63 61 6c 20 76 61 6c 75 | 65 73 20 61 6c 77 61 79 |cal valu|es alway|
|000022b0| 73 20 69 6e 20 74 65 72 | 6d 73 20 6f 66 20 7c 5c |s in ter|ms of |\|
|000022c0| 69 66 6e 75 6d 7c 2e 20 | 41 73 20 7c 5c 66 69 7c |ifnum|. |As |\fi||
|000022d0| 20 69 73 20 60 75 6e 74 | 79 70 65 64 27 20 74 68 | is `unt|yped' th|
|000022e0| 69 73 0a 25 20 69 73 20 | 6e 6f 74 20 6e 65 63 65 |is.% is |not nece|
|000022f0| 73 73 61 72 79 2c 20 73 | 6f 20 66 6f 72 20 65 78 |ssary, s|o for ex|
|00002300| 61 6d 70 6c 65 20 74 68 | 65 20 6c 65 6e 67 74 68 |ample th|e length|
|00002310| 20 74 65 73 74 73 20 63 | 61 6e 20 72 65 74 75 72 | tests c|an retur|
|00002320| 6e 20 76 61 6c 75 65 73 | 0a 25 20 76 69 61 20 7c |n values|.% via ||
|00002330| 5c 69 66 64 69 6d 7c 2c | 20 74 68 65 20 74 72 61 |\ifdim|,| the tra|
|00002340| 69 6c 69 6e 67 20 7c 5c | 66 69 7c 20 77 69 6c 6c |iling |\|fi| will|
|00002350| 20 6e 6f 74 20 63 6f 6d | 70 6c 61 69 6e 2c 20 65 | not com|plain, e|
|00002360| 76 65 6e 20 74 68 6f 75 | 67 68 20 69 74 20 77 61 |ven thou|gh it wa|
|00002370| 73 0a 25 20 60 65 78 70 | 65 63 74 69 6e 67 27 20 |s.% `exp|ecting' |
|00002380| 61 6e 20 7c 5c 69 66 6e | 75 6d 7c 2e 20 41 6c 73 |an |\ifn|um|. Als|
|00002390| 6f 20 74 68 65 20 73 79 | 73 74 65 6d 20 6f 66 20 |o the sy|stem of |
|000023a0| 70 61 73 73 69 6e 67 20 | 69 6e 66 6f 72 6d 61 74 |passing |informat|
|000023b0| 69 6f 6e 20 76 69 61 0a | 25 20 6d 61 63 72 6f 73 |ion via.|% macros|
|000023c0| 20 65 78 70 61 6e 64 69 | 6e 67 20 74 6f 20 7c 54 | expandi|ng to |T|
|000023d0| 7c 20 6f 72 20 7c 46 7c | 20 68 61 73 20 62 65 65 || or |F|| has bee|
|000023e0| 6e 20 63 6f 6d 70 6c 65 | 74 65 6c 79 20 72 65 70 |n comple|tely rep|
|000023f0| 6c 61 63 65 64 20 62 79 | 20 61 0a 25 20 73 69 6d |laced by| a.% sim|
|00002400| 70 6c 65 72 20 73 79 73 | 74 65 6d 20 75 73 69 6e |pler sys|tem usin|
|00002410| 67 20 7c 5c 69 66 74 72 | 75 65 7c 2c 20 77 68 69 |g |\iftr|ue|, whi|
|00002420| 63 68 20 66 75 72 74 68 | 65 72 6d 6f 72 65 20 61 |ch furth|ermore a|
|00002430| 6c 6c 6f 77 73 20 6c 61 | 7a 79 0a 25 20 65 76 61 |llows la|zy.% eva|
|00002440| 6c 75 61 74 69 6f 6e 20 | 6f 6e 20 74 68 65 20 73 |luation |on the s|
|00002450| 65 63 6f 6e 64 20 70 61 | 73 73 2e 0a 25 20 20 20 |econd pa|ss..% |
|00002460| 20 5c 62 65 67 69 6e 7b | 6d 61 63 72 6f 63 6f 64 | \begin{|macrocod|
|00002470| 65 7d 0a 5c 6c 6f 6e 67 | 5c 64 65 66 5c 69 66 74 |e}.\long|\def\ift|
|00002480| 68 65 6e 65 6c 73 65 23 | 31 7b 25 0a 25 20 20 20 |henelse#|1{%.% |
|00002490| 20 5c 65 6e 64 7b 6d 61 | 63 72 6f 63 6f 64 65 7d | \end{ma|crocode}|
|000024a0| 0a 25 20 5c 63 68 61 6e | 67 65 73 7b 76 31 2e 30 |.% \chan|ges{v1.0|
|000024b0| 68 7d 7b 31 39 39 34 2f | 30 35 2f 31 34 7d 7b 55 |h}{1994/|05/14}{U|
|000024c0| 73 65 20 5c 63 73 7b 54 | 45 40 72 65 70 6c 7d 7d |se \cs{T|E@repl}}|
|000024d0| 0a 25 20 20 20 20 5c 62 | 65 67 69 6e 7b 6d 61 63 |.% \b|egin{mac|
|000024e0| 72 6f 63 6f 64 65 7d 0a | 5c 74 6f 6b 73 40 7b 23 |rocode}.|\toks@{#|
|000024f0| 31 7d 25 0a 5c 54 45 40 | 72 65 70 6c 5c 6f 72 5c |1}%.\TE@|repl\or\|
|00002500| 54 45 40 6f 72 0a 5c 54 | 45 40 72 65 70 6c 5c 61 |TE@or.\T|E@repl\a|
|00002510| 6e 64 5c 54 45 40 61 6e | 64 0a 5c 54 45 40 72 65 |nd\TE@an|d.\TE@re|
|00002520| 70 6c 5c 6e 6f 74 5c 54 | 45 40 6e 65 67 0a 25 20 |pl\not\T|E@neg.% |
|00002530| 20 20 20 5c 65 6e 64 7b | 6d 61 63 72 6f 63 6f 64 | \end{|macrocod|
|00002540| 65 7d 0a 25 20 54 68 65 | 20 6f 72 69 67 69 6e 61 |e}.% The| origina|
|00002550| 6c 20 7c 69 66 74 68 65 | 6e 2e 73 74 79 7c 20 70 |l |ifthe|n.sty| p|
|00002560| 72 6f 63 65 73 73 65 64 | 20 65 76 65 72 79 74 68 |rocessed| everyth|
|00002570| 69 6e 67 20 69 6e 73 69 | 64 65 20 61 20 62 6f 78 |ing insi|de a box|
|00002580| 0a 25 20 61 73 73 69 67 | 6e 6d 65 6e 74 2c 20 74 |.% assig|nment, t|
|00002590| 6f 20 63 61 74 63 68 20 | 61 6e 79 20 65 78 74 72 |o catch |any extr|
|000025a0| 61 20 73 70 61 63 65 73 | 20 62 65 66 6f 72 65 20 |a spaces| before |
|000025b0| 74 68 65 79 20 61 70 70 | 65 61 72 65 64 20 69 6e |they app|eared in|
|000025c0| 20 74 68 65 0a 25 20 6f | 75 74 70 75 74 2e 20 49 | the.% o|utput. I|
|000025d0| 6e 73 74 65 61 64 20 49 | 20 68 61 76 65 20 61 64 |nstead I| have ad|
|000025e0| 64 65 64 20 65 78 74 72 | 61 20 61 72 67 75 6d 65 |ded extr|a argume|
|000025f0| 6e 74 73 20 74 6f 20 74 | 68 65 20 63 6f 6d 6d 61 |nts to t|he comma|
|00002600| 6e 64 73 20 73 6f 20 74 | 68 65 79 0a 25 20 65 61 |nds so t|hey.% ea|
|00002610| 63 68 20 72 65 6d 6f 76 | 65 20 61 6e 79 20 66 6f |ch remov|e any fo|
|00002620| 6c 6c 6f 77 69 6e 67 20 | 73 70 61 63 65 2e 0a 25 |llowing |space..%|
|00002630| 0a 25 20 53 65 74 20 75 | 70 20 74 68 65 20 75 73 |.% Set u|p the us|
|00002640| 65 72 20 6c 65 76 65 6c | 20 6e 61 6d 65 73 20 7c |er level| names ||
|00002650| 5c 6e 6f 74 7c 20 65 74 | 63 2e 0a 25 20 5c 63 68 |\not| et|c..% \ch|
|00002660| 61 6e 67 65 73 7b 76 31 | 2e 30 63 7d 7b 31 39 39 |anges{v1|.0c}{199|
|00002670| 34 2f 30 31 2f 32 30 7d | 7b 4d 6f 64 69 66 79 5c |4/01/20}|{Modify\|
|00002680| 63 6d 64 5c 70 72 6f 74 | 65 63 74 5c 20 61 6e 64 |cmd\prot|ect\ and|
|00002690| 20 5c 63 6d 64 5c 76 61 | 6c 75 65 7d 0a 25 20 5c | \cmd\va|lue}.% \|
|000026a0| 63 68 61 6e 67 65 73 7b | 76 31 2e 30 6a 7d 7b 31 |changes{|v1.0j}{1|
|000026b0| 39 39 34 2f 31 31 2f 31 | 35 7d 7b 4d 6f 64 69 66 |994/11/1|5}{Modif|
|000026c0| 79 5c 63 6d 64 5c 70 72 | 6f 74 65 63 74 5c 20 61 |y\cmd\pr|otect\ a|
|000026d0| 64 64 20 5c 63 73 7b 40 | 73 65 74 72 65 66 7d 7d |dd \cs{@|setref}}|
|000026e0| 0a 25 20 20 20 20 5c 62 | 65 67 69 6e 7b 6d 61 63 |.% \b|egin{mac|
|000026f0| 72 6f 63 6f 64 65 7d 0a | 20 20 20 20 5c 62 67 72 |rocode}.| \bgr|
|00002700| 6f 75 70 0a 20 20 20 20 | 20 20 20 20 5c 6c 65 74 |oup. | \let|
|00002710| 5c 70 72 6f 74 65 63 74 | 5c 40 75 6e 65 78 70 61 |\protect|\@unexpa|
|00002720| 6e 64 61 62 6c 65 40 70 | 72 6f 74 65 63 74 0a 20 |ndable@p|rotect. |
|00002730| 20 20 20 20 20 20 20 5c | 64 65 66 5c 40 73 65 74 | \|def\@set|
|00002740| 72 65 66 23 23 31 23 23 | 32 23 23 33 7b 25 0a 20 |ref##1##|2##3{%. |
|00002750| 20 20 20 20 20 20 20 20 | 5c 69 66 78 23 23 31 5c | |\ifx##1\|
|00002760| 72 65 6c 61 78 5c 7a 40 | 5c 65 6c 73 65 5c 65 78 |relax\z@|\else\ex|
|00002770| 70 61 6e 64 61 66 74 65 | 72 23 23 32 23 23 31 5c |pandafte|r##2##1\|
|00002780| 66 69 7d 25 0a 20 20 20 | 20 20 20 20 20 5c 64 65 |fi}%. | \de|
|00002790| 66 5c 76 61 6c 75 65 23 | 23 31 7b 5c 74 68 65 5c |f\value#|#1{\the\|
|000027a0| 63 73 6e 61 6d 65 20 63 | 40 23 23 31 5c 65 6e 64 |csname c|@##1\end|
|000027b0| 63 73 6e 61 6d 65 7d 25 | 0a 20 20 20 20 20 20 20 |csname}%|. |
|000027c0| 20 5c 6c 65 74 5c 65 71 | 75 61 6c 5c 54 45 40 65 | \let\eq|ual\TE@e|
|000027d0| 71 75 61 6c 20 5c 6c 65 | 74 5c 28 5c 54 45 40 6c |qual \le|t\(\TE@l|
|000027e0| 70 61 72 65 6e 20 5c 6c | 65 74 5c 29 5c 54 45 40 |paren \l|et\)\TE@|
|000027f0| 72 70 61 72 65 6e 0a 20 | 20 20 20 20 20 20 20 5c |rparen. | \|
|00002800| 6c 65 74 5c 69 73 6f 64 | 64 5c 54 45 40 6f 64 64 |let\isod|d\TE@odd|
|00002810| 20 5c 6c 65 74 5c 6c 65 | 6e 67 74 68 74 65 73 74 | \let\le|ngthtest|
|00002820| 5c 54 45 40 6c 65 6e 67 | 74 68 0a 25 20 20 20 20 |\TE@leng|th.% |
|00002830| 5c 65 6e 64 7b 6d 61 63 | 72 6f 63 6f 64 65 7d 0a |\end{mac|rocode}.|
|00002840| 25 20 46 6f 72 20 74 68 | 65 20 66 69 72 73 74 20 |% For th|e first |
|00002850| 70 61 73 73 2c 20 69 6e | 20 61 20 67 72 6f 75 70 |pass, in| a group|
|00002860| 2c 20 6d 61 6b 65 20 76 | 61 72 69 6f 75 73 20 74 |, make v|arious t|
|00002870| 6f 6b 65 6e 73 20 6e 6f | 6e 2d 65 78 70 61 6e 64 |okens no|n-expand|
|00002880| 61 62 6c 65 2e 0a 25 0a | 25 20 49 74 20 69 73 20 |able..%.|% It is |
|00002890| 75 6e 66 6f 72 74 75 6e | 61 74 65 20 74 68 61 74 |unfortun|ate that|
|000028a0| 20 69 6e 20 6f 72 64 65 | 72 20 74 6f 20 72 65 6d | in orde|r to rem|
|000028b0| 61 69 6e 20 63 6f 6d 70 | 61 74 69 62 6c 65 20 77 |ain comp|atible w|
|000028c0| 69 74 68 20 7c 69 66 74 | 68 65 6e 7c 0a 25 20 73 |ith |ift|hen|.% s|
|000028d0| 79 6e 74 61 78 2c 20 69 | 74 20 69 73 20 6e 65 63 |yntax, i|t is nec|
|000028e0| 65 73 73 61 72 79 20 74 | 6f 20 68 61 76 65 20 61 |essary t|o have a|
|000028f0| 20 74 77 6f 20 70 61 73 | 73 20 73 79 73 74 65 6d | two pas|s system|
|00002900| 2e 20 54 68 65 20 66 69 | 72 73 74 20 70 61 73 73 |. The fi|rst pass|
|00002910| 0a 25 20 69 6e 73 69 64 | 65 20 61 6e 20 7c 5c 65 |.% insid|e an |\e|
|00002920| 64 65 66 7c 20 60 65 78 | 70 6f 73 65 73 27 20 74 |def| `ex|poses' t|
|00002930| 68 65 20 7c 5c 69 66 7c | 5c 6c 64 6f 74 73 5c 20 |he |\if||\ldots\ |
|00002940| 7c 5c 66 69 7c 20 74 6f | 6b 65 6e 73 2c 20 73 6f ||\fi| to|kens, so|
|00002950| 20 74 68 65 0a 25 20 63 | 6f 72 65 63 74 20 63 6c | the.% c|orect cl|
|00002960| 61 75 73 65 73 20 6d 61 | 79 20 62 65 20 73 6b 69 |auses ma|y be ski|
|00002970| 70 70 65 64 20 6f 6e 20 | 74 68 65 20 73 65 63 6f |pped on |the seco|
|00002980| 6e 64 20 70 61 73 73 2e | 20 54 68 69 73 20 6d 65 |nd pass.| This me|
|00002990| 61 6e 73 20 74 68 61 74 | 20 74 68 65 0a 25 20 77 |ans that| the.% w|
|000029a0| 68 6f 6c 65 20 7c 5c 69 | 66 74 68 65 6e 65 6c 73 |hole |\i|fthenels|
|000029b0| 65 7c 20 63 6f 6d 6d 61 | 6e 64 20 64 6f 65 73 20 |e| comma|nd does |
|000029c0| 6e 6f 74 20 77 6f 72 6b | 20 62 79 20 65 78 70 61 |not work| by expa|
|000029d0| 6e 73 69 6f 6e 2c 20 61 | 6e 64 20 73 6f 0a 25 20 |nsion, a|nd so.% |
|000029e0| 70 6f 73 73 69 62 6c 79 | 20 68 61 73 20 6f 6e 6c |possibly| has onl|
|000029f0| 79 20 6c 69 6d 69 74 65 | 64 20 75 73 65 66 75 6c |y limite|d useful|
|00002a00| 6e 65 73 73 20 66 6f 72 | 20 6d 61 63 72 6f 20 63 |ness for| macro c|
|00002a10| 6f 64 65 20 77 72 69 74 | 65 72 73 2e 0a 25 20 54 |ode writ|ers..% T|
|00002a20| 68 65 20 6d 61 69 6e 20 | 70 72 6f 62 6c 65 6d 20 |he main |problem |
|00002a30| 77 69 74 68 20 74 68 65 | 20 7c 69 66 74 68 65 6e |with the| |ifthen|
|00002a40| 3a 7c 20 73 79 6e 74 61 | 78 20 69 73 20 74 68 61 |:| synta|x is tha|
|00002a50| 74 20 28 75 6e 69 71 75 | 65 20 66 6f 72 20 5c 4c |t (uniqu|e for \L|
|00002a60| 61 54 65 58 29 0a 25 20 | 69 74 20 64 6f 65 73 20 |aTeX).% |it does |
|00002a70| 6e 6f 74 20 75 73 65 73 | 20 61 20 62 72 61 63 65 |not uses| a brace|
|00002a80| 20 64 65 6c 69 6d 69 74 | 65 64 20 61 72 67 75 6d | delimit|ed argum|
|00002a90| 65 6e 74 20 66 6f 72 6d | 2c 20 61 6e 64 20 65 78 |ent form|, and ex|
|00002aa0| 70 6f 73 65 73 20 74 68 | 65 0a 25 20 70 72 69 6d |poses th|e.% prim|
|00002ab0| 69 74 69 76 65 20 5c 54 | 65 58 5c 20 73 79 6e 74 |itive \T|eX\ synt|
|00002ac0| 61 78 20 66 6f 72 20 5c | 6d 65 74 61 7b 6e 75 6d |ax for \|meta{num|
|00002ad0| 62 65 72 7d 2e 20 50 72 | 65 74 74 79 20 6d 75 63 |ber}. Pr|etty muc|
|00002ae0| 68 20 74 68 65 20 6f 6e | 6c 79 20 77 61 79 20 6f |h the on|ly way o|
|00002af0| 66 0a 25 20 70 61 72 73 | 69 6e 67 20 7c 31 20 3e |f.% pars|ing |1 >|
|00002b00| 20 32 20 5c 6f 72 20 32 | 20 3c 20 31 7c 20 69 73 | 2 \or 2| < 1| is|
|00002b10| 20 74 6f 20 61 63 74 75 | 61 6c 6c 79 20 65 76 61 | to actu|ally eva|
|00002b20| 6c 75 61 74 65 20 74 68 | 65 20 70 72 69 6d 69 74 |luate th|e primit|
|00002b30| 69 76 65 0a 25 20 7c 5c | 69 66 6e 75 6d 7c 73 2e |ive.% |\|ifnum|s.|
|00002b40| 20 41 20 73 79 6e 74 61 | 78 20 73 75 63 68 20 61 | A synta|x such a|
|00002b50| 73 3a 5c 5c 25 0a 25 20 | 7c 5c 6f 72 7b 5c 6e 75 |s:\\%.% ||\or{\nu|
|00002b60| 6d 74 65 73 74 7b 31 3c | 32 7d 7d 7b 5c 6c 65 6e |mtest{1<|2}}{\len|
|00002b70| 67 74 68 74 65 73 74 7b | 31 70 74 3c 31 69 6e 7d |gthtest{|1pt<1in}|
|00002b80| 7d 7c 5c 5c 0a 25 20 20 | 63 6f 75 6c 64 20 65 61 |}|\\.% |could ea|
|00002b90| 73 69 6c 79 20 62 65 20 | 65 76 61 6c 75 61 74 65 |sily be |evaluate|
|00002ba0| 64 20 69 6e 20 61 20 6f | 6e 65 20 70 61 73 73 20 |d in a o|ne pass |
|00002bb0| 77 61 79 2c 20 6f 70 65 | 72 61 74 69 6e 67 20 64 |way, ope|rating d|
|00002bc0| 69 72 65 63 74 6c 79 20 | 76 69 61 0a 25 20 20 65 |irectly |via.% e|
|00002bd0| 78 70 61 6e 73 69 6f 6e | 2c 20 61 6e 64 20 6c 65 |xpansion|, and le|
|00002be0| 61 76 69 6e 67 20 6e 6f | 20 65 78 74 72 61 20 74 |aving no| extra t|
|00002bf0| 6f 6b 65 6e 73 20 69 6e | 20 74 68 65 20 74 6f 6b |okens in| the tok|
|00002c00| 65 6e 20 73 74 72 65 61 | 6d 2e 0a 25 0a 25 20 53 |en strea|m..%.% S|
|00002c10| 74 69 6c 6c 2c 20 6f 6e | 20 77 69 74 68 20 74 68 |till, on| with th|
|00002c20| 65 20 63 6f 64 65 5c 6c | 64 6f 74 73 5c 20 6d 61 |e code\l|dots\ ma|
|00002c30| 6b 65 20 7c 5c 40 74 65 | 6d 70 61 7c 20 61 6e 64 |ke |\@te|mpa| and|
|00002c40| 20 7c 5c 40 74 65 6d 70 | 62 7c 20 74 6f 6b 65 6e | |\@temp|b| token|
|00002c50| 73 0a 25 20 6e 6f 6e 2d | 65 78 70 61 6e 64 61 62 |s.% non-|expandab|
|00002c60| 6c 65 20 6f 6e 20 74 68 | 65 20 66 69 72 73 74 20 |le on th|e first |
|00002c70| 70 61 73 73 2e 0a 25 20 | 20 20 20 5c 62 65 67 69 |pass..% | \begi|
|00002c80| 6e 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 20 20 20 |n{macroc|ode}. |
|00002c90| 20 20 20 20 20 7b 5c 6c | 65 74 5c 40 74 65 6d 70 | {\l|et\@temp|
|00002ca0| 61 5c 72 65 6c 61 78 5c | 6c 65 74 5c 40 74 65 6d |a\relax\|let\@tem|
|00002cb0| 70 62 5c 72 65 6c 61 78 | 0a 20 20 20 20 20 20 20 |pb\relax|. |
|00002cc0| 20 5c 78 64 65 66 5c 40 | 67 74 65 6d 70 61 7b 5c | \xdef\@|gtempa{\|
|00002cd0| 65 78 70 61 6e 64 61 66 | 74 65 72 5c 54 45 40 65 |expandaf|ter\TE@e|
|00002ce0| 76 61 6c 5c 74 68 65 5c | 74 6f 6b 73 40 5c 54 45 |val\the\|toks@\TE|
|00002cf0| 40 65 6e 64 65 76 61 6c | 7d 7d 25 0a 25 20 20 20 |@endeval|}}%.% |
|00002d00| 20 5c 65 6e 64 7b 6d 61 | 63 72 6f 63 6f 64 65 7d | \end{ma|crocode}|
|00002d10| 0a 25 20 4e 6f 77 20 6f | 75 74 73 69 64 65 20 74 |.% Now o|utside t|
|00002d20| 68 65 20 67 72 6f 75 70 | 2c 20 65 78 65 63 75 74 |he group|, execut|
|00002d30| 65 20 7c 5c 40 67 74 65 | 6d 70 61 7c 20 77 68 69 |e |\@gte|mpa| whi|
|00002d40| 63 68 20 63 61 75 73 65 | 73 20 61 6c 6c 20 74 68 |ch cause|s all th|
|00002d50| 65 0a 25 20 7c 5c 69 66 | 7c 73 20 65 74 63 2e 2c |e.% |\if||s etc.,|
|00002d60| 20 74 6f 20 62 65 20 65 | 76 61 6c 75 61 74 65 64 | to be e|valuated|
|00002d70| 2c 20 74 68 65 20 66 69 | 6e 61 6c 20 74 72 75 74 |, the fi|nal trut|
|00002d80| 68 20 76 61 6c 75 65 20 | 69 73 20 63 6f 6e 74 61 |h value |is conta|
|00002d90| 69 6e 65 64 20 69 6e 0a | 25 20 74 68 65 20 7c 5c |ined in.|% the |\|
|00002da0| 6e 65 77 69 66 7c 20 74 | 6f 6b 65 6e 20 7c 5c 69 |newif| t|oken |\i|
|00002db0| 66 54 45 40 76 61 6c 7c | 2e 20 46 69 6e 61 6c 6c |fTE@val||. Finall|
|00002dc0| 79 20 74 68 69 73 20 69 | 73 20 74 65 73 74 65 64 |y this i|s tested|
|00002dd0| 20 61 6e 64 20 65 69 74 | 68 65 72 20 74 68 65 0a | and eit|her the.|
|00002de0| 25 20 66 69 72 73 74 20 | 6f 72 20 73 65 63 6f 6e |% first |or secon|
|00002df0| 64 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 61 72 67 75 |d follow|ing argu|
|00002e00| 6d 65 6e 74 20 69 73 20 | 63 68 6f 73 65 6e 20 61 |ment is |chosen a|
|00002e10| 63 63 6f 72 64 69 6e 67 | 6c 79 2e 0a 25 20 5c 63 |ccording|ly..% \c|
|00002e20| 68 61 6e 67 65 73 7b 76 | 31 2e 30 64 7d 7b 31 39 |hanges{v|1.0d}{19|
|00002e30| 39 34 2f 30 31 2f 32 34 | 7d 0a 25 20 20 20 20 20 |94/01/24|}.% |
|00002e40| 7b 55 73 65 20 5c 63 6d | 64 7b 5c 40 66 69 72 73 |{Use \cm|d{\@firs|
|00002e50| 74 6f 66 74 77 6f 7d 20 | 6e 6f 74 20 5c 63 6d 64 |toftwo} |not \cmd|
|00002e60| 7b 5c 40 6c 65 66 74 6d | 61 72 6b 7d 7d 0a 25 20 |{\@leftm|ark}}.% |
|00002e70| 20 20 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 63 | \begi|n{macroc|
|00002e80| 6f 64 65 7d 0a 20 20 20 | 20 20 20 20 20 5c 40 67 |ode}. | \@g|
|00002e90| 74 65 6d 70 61 0a 20 20 | 20 20 20 20 20 20 5c 65 |tempa. | \e|
|00002ea0| 78 70 61 6e 64 61 66 74 | 65 72 5c 65 67 72 6f 75 |xpandaft|er\egrou|
|00002eb0| 70 5c 69 66 54 45 40 76 | 61 6c 0a 20 20 20 20 20 |p\ifTE@v|al. |
|00002ec0| 20 20 20 20 20 5c 65 78 | 70 61 6e 64 61 66 74 65 | \ex|pandafte|
|00002ed0| 72 5c 40 66 69 72 73 74 | 6f 66 74 77 6f 0a 20 20 |r\@first|oftwo. |
|00002ee0| 20 20 20 20 20 20 5c 65 | 6c 73 65 0a 20 20 20 20 | \e|lse. |
|00002ef0| 20 20 20 20 20 20 5c 65 | 78 70 61 6e 64 61 66 74 | \e|xpandaft|
|00002f00| 65 72 5c 40 73 65 63 6f | 6e 64 6f 66 74 77 6f 0a |er\@seco|ndoftwo.|
|00002f10| 20 20 20 20 20 20 20 20 | 5c 66 69 7d 0a 25 20 20 | |\fi}.% |
|00002f20| 20 20 5c 65 6e 64 7b 6d | 61 63 72 6f 63 6f 64 65 | \end{m|acrocode|
|00002f30| 7d 0a 25 20 5c 65 6e 64 | 7b 6d 61 63 72 6f 7d 0a |}.% \end|{macro}.|
|00002f40| 25 0a 25 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f |%.% \beg|in{macro|
|00002f50| 7d 7b 5c 54 45 40 65 76 | 61 6c 7d 0a 25 20 49 6e |}{\TE@ev|al}.% In|
|00002f60| 69 74 69 61 6c 69 73 65 | 20 61 20 74 65 72 6d 2e |itialise| a term.|
|00002f70| 20 28 45 78 70 61 6e 64 | 65 64 20 6f 6e 20 74 68 | (Expand|ed on th|
|00002f80| 65 20 66 69 72 73 74 20 | 70 61 73 73 29 2e 0a 25 |e first |pass)..%|
|00002f90| 20 20 20 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f | \beg|in{macro|
|00002fa0| 63 6f 64 65 7d 0a 5c 64 | 65 66 5c 54 45 40 65 76 |code}.\d|ef\TE@ev|
|00002fb0| 61 6c 7b 5c 6e 6f 65 78 | 70 61 6e 64 5c 54 45 40 |al{\noex|pand\TE@|
|00002fc0| 6e 65 67 61 74 65 66 61 | 6c 73 65 5c 6e 6f 65 78 |negatefa|lse\noex|
|00002fd0| 70 61 6e 64 5c 69 66 74 | 72 75 65 5c 6e 6f 65 78 |pand\ift|rue\noex|
|00002fe0| 70 61 6e 64 5c 69 66 6e | 75 6d 7d 0a 25 20 20 20 |pand\ifn|um}.% |
|00002ff0| 20 5c 65 6e 64 7b 6d 61 | 63 72 6f 63 6f 64 65 7d | \end{ma|crocode}|
|00003000| 0a 25 20 5c 65 6e 64 7b | 6d 61 63 72 6f 7d 0a 25 |.% \end{|macro}.%|
|00003010| 0a 25 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |.% \begi|n{macro}|
|00003020| 7b 5c 69 66 54 45 40 76 | 61 6c 7d 0a 25 20 5c 62 |{\ifTE@v|al}.% \b|
|00003030| 65 67 69 6e 7b 6d 61 63 | 72 6f 7d 7b 5c 69 66 54 |egin{mac|ro}{\ifT|
|00003040| 45 40 6e 65 67 61 74 65 | 7d 0a 25 20 54 77 6f 20 |E@negate|}.% Two |
|00003050| 7c 5c 6e 65 77 69 66 7c | 73 20 74 68 65 20 66 69 ||\newif||s the fi|
|00003060| 72 73 74 20 68 6f 6c 64 | 73 20 74 68 65 20 63 75 |rst hold|s the cu|
|00003070| 72 72 65 6e 74 20 74 72 | 75 74 68 20 76 61 6c 75 |rrent tr|uth valu|
|00003080| 65 20 6f 66 20 74 68 65 | 0a 25 20 65 78 70 72 65 |e of the|.% expre|
|00003090| 73 73 69 6f 6e 2e 20 54 | 68 65 20 73 65 63 6f 6e |ssion. T|he secon|
|000030a0| 64 20 69 73 20 61 20 74 | 65 6d 70 6f 72 61 72 79 |d is a t|emporary|
|000030b0| 20 66 6c 61 67 20 77 68 | 69 63 68 20 69 73 20 74 | flag wh|ich is t|
|000030c0| 72 75 65 20 69 66 20 77 | 65 20 6e 65 65 64 20 74 |rue if w|e need t|
|000030d0| 6f 0a 25 20 6e 65 67 61 | 74 65 20 74 68 65 20 63 |o.% nega|te the c|
|000030e0| 75 72 72 65 6e 74 20 70 | 72 6f 70 6f 73 69 74 69 |urrent p|ropositi|
|000030f0| 6f 6e 2e 0a 25 20 20 20 | 20 5c 62 65 67 69 6e 7b |on..% | \begin{|
|00003100| 6d 61 63 72 6f 63 6f 64 | 65 7d 0a 5c 6e 65 77 69 |macrocod|e}.\newi|
|00003110| 66 5c 69 66 54 45 40 76 | 61 6c 0a 5c 6e 65 77 69 |f\ifTE@v|al.\newi|
|00003120| 66 5c 69 66 54 45 40 6e | 65 67 61 74 65 0a 25 20 |f\ifTE@n|egate.% |
|00003130| 20 20 20 5c 65 6e 64 7b | 6d 61 63 72 6f 63 6f 64 | \end{|macrocod|
|00003140| 65 7d 0a 25 20 5c 65 6e | 64 7b 6d 61 63 72 6f 7d |e}.% \en|d{macro}|
|00003150| 0a 25 20 5c 65 6e 64 7b | 6d 61 63 72 6f 7d 0a 25 |.% \end{|macro}.%|
|00003160| 0a 25 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |.% \begi|n{macro}|
|00003170| 7b 5c 54 45 40 65 6e 64 | 65 76 61 6c 7d 0a 25 20 |{\TE@end|eval}.% |
|00003180| 46 69 6e 61 6c 69 73 65 | 20 61 20 74 65 72 6d 2e |Finalise| a term.|
|00003190| 20 28 45 78 70 61 6e 64 | 65 64 20 6f 6e 20 74 68 | (Expand|ed on th|
|000031a0| 65 20 66 69 72 73 74 20 | 70 61 73 73 29 2e 0a 25 |e first |pass)..%|
|000031b0| 20 20 20 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f | \beg|in{macro|
|000031c0| 63 6f 64 65 7d 0a 5c 64 | 65 66 5c 54 45 40 65 6e |code}.\d|ef\TE@en|
|000031d0| 64 65 76 61 6c 7b 5c 72 | 65 6c 61 78 0a 20 20 20 |deval{\r|elax. |
|000031e0| 20 20 20 5c 6e 6f 65 78 | 70 61 6e 64 5c 54 45 40 | \noex|pand\TE@|
|000031f0| 73 65 74 76 61 6c 74 72 | 75 65 5c 6e 6f 65 78 70 |setvaltr|ue\noexp|
|00003200| 61 6e 64 0a 20 20 20 20 | 5c 65 6c 73 65 0a 20 20 |and. |\else. |
|00003210| 20 20 20 20 5c 6e 6f 65 | 78 70 61 6e 64 5c 54 45 | \noe|xpand\TE|
|00003220| 40 73 65 74 76 61 6c 66 | 61 6c 73 65 5c 6e 6f 65 |@setvalf|alse\noe|
|00003230| 78 70 61 6e 64 0a 20 20 | 20 20 5c 66 69 0a 20 20 |xpand. | \fi. |
|00003240| 20 20 5c 6e 6f 65 78 70 | 61 6e 64 5c 54 45 40 6e | \noexp|and\TE@n|
|00003250| 65 67 61 74 65 66 61 6c | 73 65 5c 6e 6f 65 78 70 |egatefal|se\noexp|
|00003260| 61 6e 64 0a 20 20 5c 66 | 69 7d 0a 25 20 20 20 20 |and. \f|i}.% |
|00003270| 5c 65 6e 64 7b 6d 61 63 | 72 6f 63 6f 64 65 7d 0a |\end{mac|rocode}.|
|00003280| 25 20 5c 65 6e 64 7b 6d | 61 63 72 6f 7d 0a 25 0a |% \end{m|acro}.%.|
|00003290| 25 20 5c 62 65 67 69 6e | 7b 6d 61 63 72 6f 7d 7b |% \begin|{macro}{|
|000032a0| 5c 54 45 40 73 65 74 76 | 61 6c 74 72 75 65 7d 0a |\TE@setv|altrue}.|
|000032b0| 25 20 5c 62 65 67 69 6e | 7b 6d 61 63 72 6f 7d 7b |% \begin|{macro}{|
|000032c0| 5c 54 45 40 73 65 74 76 | 61 6c 66 61 6c 73 65 7d |\TE@setv|alfalse}|
|000032d0| 0a 25 20 53 65 74 20 74 | 68 65 20 7c 5c 69 66 54 |.% Set t|he |\ifT|
|000032e0| 45 40 76 61 6c 7c 20 74 | 6f 20 74 72 75 65 20 6f |E@val| t|o true o|
|000032f0| 72 20 66 61 6c 73 65 20 | 64 65 70 65 6e 64 69 6e |r false |dependin|
|00003300| 67 20 6f 6e 20 74 68 65 | 20 76 61 6c 75 65 20 6f |g on the| value o|
|00003310| 66 20 74 68 65 0a 25 20 | 63 75 72 72 65 6e 74 20 |f the.% |current |
|00003320| 70 72 6f 70 6f 73 69 74 | 69 6f 6e 2c 20 61 6e 64 |proposit|ion, and|
|00003330| 20 74 68 65 20 6e 65 67 | 61 74 65 20 66 6c 61 67 | the neg|ate flag|
|00003340| 2e 20 28 4e 6f 74 20 65 | 78 70 61 6e 64 65 64 20 |. (Not e|xpanded |
|00003350| 6f 6e 20 74 68 65 20 66 | 69 72 73 74 0a 25 20 70 |on the f|irst.% p|
|00003360| 61 73 73 2e 29 0a 25 20 | 20 20 20 5c 62 65 67 69 |ass.).% | \begi|
|00003370| 6e 7b 6d 61 63 72 6f 63 | 6f 64 65 7d 0a 5c 64 65 |n{macroc|ode}.\de|
|00003380| 66 5c 54 45 40 73 65 74 | 76 61 6c 74 72 75 65 7b |f\TE@set|valtrue{|
|00003390| 25 0a 20 20 5c 69 66 54 | 45 40 6e 65 67 61 74 65 |%. \ifT|E@negate|
|000033a0| 5c 54 45 40 76 61 6c 66 | 61 6c 73 65 5c 65 6c 73 |\TE@valf|alse\els|
|000033b0| 65 5c 54 45 40 76 61 6c | 74 72 75 65 5c 66 69 7d |e\TE@val|true\fi}|
|000033c0| 0a 5c 64 65 66 5c 54 45 | 40 73 65 74 76 61 6c 66 |.\def\TE|@setvalf|
|000033d0| 61 6c 73 65 7b 5c 6c 65 | 74 5c 69 66 54 45 40 76 |alse{\le|t\ifTE@v|
|000033e0| 61 6c 5c 69 66 54 45 40 | 6e 65 67 61 74 65 7d 0a |al\ifTE@|negate}.|
|000033f0| 25 20 20 20 20 5c 65 6e | 64 7b 6d 61 63 72 6f 63 |% \en|d{macroc|
|00003400| 6f 64 65 7d 0a 25 20 5c | 65 6e 64 7b 6d 61 63 72 |ode}.% \|end{macr|
|00003410| 6f 7d 0a 25 20 5c 65 6e | 64 7b 6d 61 63 72 6f 7d |o}.% \en|d{macro}|
|00003420| 0a 25 0a 25 20 5c 62 65 | 67 69 6e 7b 6d 61 63 72 |.%.% \be|gin{macr|
|00003430| 6f 7d 7b 5c 54 45 40 6f | 72 7d 0a 25 20 54 68 65 |o}{\TE@o|r}.% The|
|00003440| 20 69 6e 74 65 72 6e 61 | 6c 20 76 65 72 73 69 6f | interna|l versio|
|00003450| 6e 20 6f 66 20 7c 5c 6f | 72 7c 2e 20 45 6e 64 73 |n of |\o|r|. Ends|
|00003460| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 74 65 72 | the cur|rent ter|
|00003470| 6d 2e 0a 25 20 49 66 20 | 74 72 75 65 20 73 6b 69 |m..% If |true ski|
|00003480| 70 20 74 68 65 20 72 65 | 6d 61 69 6e 69 6e 67 20 |p the re|maining |
|00003490| 74 65 72 6d 73 2e 0a 25 | 20 20 20 20 5c 62 65 67 |terms..%| \beg|
|000034a0| 69 6e 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 5c 64 |in{macro|code}.\d|
|000034b0| 65 66 5c 54 45 40 6f 72 | 7b 5c 54 45 40 65 6e 64 |ef\TE@or|{\TE@end|
|000034c0| 65 76 61 6c 5c 6e 6f 65 | 78 70 61 6e 64 5c 69 66 |eval\noe|xpand\if|
|000034d0| 54 45 40 76 61 6c 5c 6e | 6f 65 78 70 61 6e 64 5c |TE@val\n|oexpand\|
|000034e0| 65 6c 73 65 5c 6e 6f 65 | 78 70 61 6e 64 5c 69 66 |else\noe|xpand\if|
|000034f0| 6e 75 6d 7d 0a 25 20 20 | 20 20 5c 65 6e 64 7b 6d |num}.% | \end{m|
|00003500| 61 63 72 6f 63 6f 64 65 | 7d 0a 25 20 5c 65 6e 64 |acrocode|}.% \end|
|00003510| 7b 6d 61 63 72 6f 7d 0a | 25 0a 25 20 5c 62 65 67 |{macro}.|%.% \beg|
|00003520| 69 6e 7b 6d 61 63 72 6f | 7d 7b 5c 54 45 40 61 6e |in{macro|}{\TE@an|
|00003530| 64 7d 0a 25 20 54 68 65 | 20 69 6e 74 65 72 6e 61 |d}.% The| interna|
|00003540| 6c 20 76 65 72 73 69 6f | 6e 20 6f 66 20 7c 5c 61 |l versio|n of |\a|
|00003550| 6e 64 7c 2e 20 49 66 20 | 66 61 6c 73 65 20 73 6b |nd|. If |false sk|
|00003560| 69 70 20 74 68 65 20 72 | 65 6d 61 69 6e 69 6e 67 |ip the r|emaining|
|00003570| 20 74 65 72 6d 73 2e 0a | 25 20 20 20 20 5c 62 65 | terms..|% \be|
|00003580| 67 69 6e 7b 6d 61 63 72 | 6f 63 6f 64 65 7d 0a 5c |gin{macr|ocode}.\|
|00003590| 64 65 66 5c 54 45 40 61 | 6e 64 7b 5c 54 45 40 65 |def\TE@a|nd{\TE@e|
|000035a0| 6e 64 65 76 61 6c 5c 6e | 6f 65 78 70 61 6e 64 5c |ndeval\n|oexpand\|
|000035b0| 69 66 54 45 40 76 61 6c | 5c 6e 6f 65 78 70 61 6e |ifTE@val|\noexpan|
|000035c0| 64 5c 69 66 6e 75 6d 7d | 0a 25 20 20 20 20 5c 65 |d\ifnum}|.% \e|
|000035d0| 6e 64 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 25 20 |nd{macro|code}.% |
|000035e0| 5c 65 6e 64 7b 6d 61 63 | 72 6f 7d 0a 25 0a 25 20 |\end{mac|ro}.%.% |
|000035f0| 5c 62 65 67 69 6e 7b 6d | 61 63 72 6f 7d 7b 5c 54 |\begin{m|acro}{\T|
|00003600| 45 40 6e 65 67 7d 0a 25 | 20 5c 62 65 67 69 6e 7b |E@neg}.%| \begin{|
|00003610| 6d 61 63 72 6f 7d 7b 5c | 54 45 40 6e 65 67 73 77 |macro}{\|TE@negsw|
|00003620| 69 74 63 68 7d 0a 25 20 | 7c 5c 6e 6f 74 7c 2e 20 |itch}.% ||\not|. |
|00003630| 54 68 72 6f 77 20 74 68 | 65 20 63 75 72 72 65 6e |Throw th|e curren|
|00003640| 74 20 63 6f 6e 74 65 78 | 74 2c 20 73 65 74 20 61 |t contex|t, set a|
|00003650| 20 6e 65 67 61 74 65 20 | 66 6c 61 67 2c 20 74 68 | negate |flag, th|
|00003660| 65 6e 20 72 65 73 74 61 | 72 74 0a 25 20 74 68 65 |en resta|rt.% the|
|00003670| 20 7c 5c 69 66 6e 75 6d | 7c 2e 20 7c 5c 54 45 40 | |\ifnum||. |\TE@|
|00003680| 6e 65 67 73 77 69 74 63 | 68 7c 20 69 73 20 6e 6f |negswitc|h| is no|
|00003690| 74 20 65 78 70 61 6e 64 | 65 64 20 6f 6e 20 74 68 |t expand|ed on th|
|000036a0| 65 20 66 69 72 73 74 20 | 70 61 73 73 2e 0a 25 20 |e first |pass..% |
|000036b0| 20 20 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 63 | \begi|n{macroc|
|000036c0| 6f 64 65 7d 0a 5c 64 65 | 66 5c 54 45 40 6e 65 67 |ode}.\de|f\TE@neg|
|000036d0| 7b 5c 54 45 40 74 68 72 | 6f 77 5c 6e 6f 65 78 70 |{\TE@thr|ow\noexp|
|000036e0| 61 6e 64 5c 54 45 40 6e | 65 67 73 77 69 74 63 68 |and\TE@n|egswitch|
|000036f0| 5c 6e 6f 65 78 70 61 6e | 64 5c 69 66 6e 75 6d 7d |\noexpan|d\ifnum}|
|00003700| 0a 5c 64 65 66 5c 54 45 | 40 6e 65 67 73 77 69 74 |.\def\TE|@negswit|
|00003710| 63 68 7b 5c 69 66 54 45 | 40 6e 65 67 61 74 65 5c |ch{\ifTE|@negate\|
|00003720| 54 45 40 6e 65 67 61 74 | 65 66 61 6c 73 65 5c 65 |TE@negat|efalse\e|
|00003730| 6c 73 65 5c 54 45 40 6e | 65 67 61 74 65 74 72 75 |lse\TE@n|egatetru|
|00003740| 65 5c 66 69 7d 0a 25 20 | 20 20 20 5c 65 6e 64 7b |e\fi}.% | \end{|
|00003750| 6d 61 63 72 6f 63 6f 64 | 65 7d 0a 25 20 5c 65 6e |macrocod|e}.% \en|
|00003760| 64 7b 6d 61 63 72 6f 7d | 0a 25 20 5c 65 6e 64 7b |d{macro}|.% \end{|
|00003770| 6d 61 63 72 6f 7d 0a 25 | 0a 25 20 5c 62 65 67 69 |macro}.%|.% \begi|
|00003780| 6e 7b 6d 61 63 72 6f 7d | 7b 5c 54 45 40 6c 70 61 |n{macro}|{\TE@lpa|
|00003790| 72 65 6e 7d 0a 25 20 7c | 5c 28 7c 2e 20 54 68 72 |ren}.% ||\(|. Thr|
|000037a0| 6f 77 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 63 |ow the c|urrent c|
|000037b0| 6f 6e 74 65 78 74 2c 20 | 74 68 65 6e 20 72 65 73 |ontext, |then res|
|000037c0| 74 61 72 74 20 61 20 74 | 65 72 6d 20 69 6e 73 69 |tart a t|erm insi|
|000037d0| 64 65 20 61 20 67 72 6f | 75 70 2e 0a 25 20 20 20 |de a gro|up..% |
|000037e0| 20 5c 62 65 67 69 6e 7b | 6d 61 63 72 6f 63 6f 64 | \begin{|macrocod|
|000037f0| 65 7d 0a 5c 64 65 66 5c | 54 45 40 6c 70 61 72 65 |e}.\def\|TE@lpare|
|00003800| 6e 23 31 7b 5c 54 45 40 | 74 68 72 6f 77 5c 62 65 |n#1{\TE@|throw\be|
|00003810| 67 69 6e 67 72 6f 75 70 | 5c 54 45 40 65 76 61 6c |gingroup|\TE@eval|
|00003820| 23 31 7d 0a 25 20 20 20 | 20 5c 65 6e 64 7b 6d 61 |#1}.% | \end{ma|
|00003830| 63 72 6f 63 6f 64 65 7d | 0a 25 20 5c 65 6e 64 7b |crocode}|.% \end{|
|00003840| 6d 61 63 72 6f 7d 0a 25 | 0a 25 20 5c 62 65 67 69 |macro}.%|.% \begi|
|00003850| 6e 7b 6d 61 63 72 6f 7d | 7b 5c 54 45 40 72 70 61 |n{macro}|{\TE@rpa|
|00003860| 72 65 6e 7d 0a 25 20 7c | 5c 29 7c 20 65 6e 64 20 |ren}.% ||\)| end |
|00003870| 74 68 65 20 63 75 72 72 | 65 6e 74 20 74 65 72 6d |the curr|ent term|
|00003880| 2c 20 61 6e 64 20 74 68 | 65 20 6c 6f 63 61 6c 20 |, and th|e local |
|00003890| 67 72 6f 75 70 20 73 74 | 61 72 74 65 64 20 62 79 |group st|arted by|
|000038a0| 20 7c 5c 28 7c 2c 20 62 | 75 74 0a 25 20 70 61 73 | |\(|, b|ut.% pas|
|000038b0| 73 20 6f 6e 20 74 68 65 | 20 62 6f 6f 6c 65 61 6e |s on the| boolean|
|000038c0| 20 76 61 6c 75 65 20 69 | 6e 20 7c 5c 69 66 5c 40 | value i|n |\if\@|
|000038d0| 76 61 6c 20 54 7c 2e 20 | 54 68 65 20 7c 5c 6e 6f |val T|. |The |\no|
|000038e0| 65 78 70 61 6e 64 7c 20 | 73 74 6f 70 73 20 74 68 |expand| |stops th|
|000038f0| 65 0a 25 20 7c 5c 65 78 | 70 61 6e 64 61 66 74 65 |e.% |\ex|pandafte|
|00003900| 72 7c 20 66 72 6f 6d 20 | 65 78 70 61 6e 64 69 6e |r| from |expandin|
|00003910| 67 20 6f 6e 20 74 68 65 | 20 66 69 72 73 74 20 70 |g on the| first p|
|00003920| 61 73 73 2e 0a 25 20 20 | 20 20 5c 62 65 67 69 6e |ass..% | \begin|
|00003930| 7b 6d 61 63 72 6f 63 6f | 64 65 7d 0a 5c 64 65 66 |{macroco|de}.\def|
|00003940| 5c 54 45 40 72 70 61 72 | 65 6e 23 31 7b 25 0a 20 |\TE@rpar|en#1{%. |
|00003950| 20 5c 54 45 40 65 6e 64 | 65 76 61 6c 0a 20 20 5c | \TE@end|eval. \|
|00003960| 6e 6f 65 78 70 61 6e 64 | 5c 65 78 70 61 6e 64 61 |noexpand|\expanda|
|00003970| 66 74 65 72 5c 65 6e 64 | 67 72 6f 75 70 5c 6e 6f |fter\end|group\no|
|00003980| 65 78 70 61 6e 64 5c 69 | 66 54 45 40 76 61 6c 23 |expand\i|fTE@val#|
|00003990| 31 7d 0a 25 20 20 20 20 | 5c 65 6e 64 7b 6d 61 63 |1}.% |\end{mac|
|000039a0| 72 6f 63 6f 64 65 7d 0a | 25 20 5c 65 6e 64 7b 6d |rocode}.|% \end{m|
|000039b0| 61 63 72 6f 7d 0a 25 0a | 25 20 5c 62 65 67 69 6e |acro}.%.|% \begin|
|000039c0| 7b 6d 61 63 72 6f 7d 7b | 5c 54 45 40 65 71 75 61 |{macro}{|\TE@equa|
|000039d0| 6c 7d 0a 25 20 7c 5c 65 | 71 75 61 6c 7c 20 67 72 |l}.% |\e|qual| gr|
|000039e0| 65 61 74 6c 79 20 73 69 | 6d 70 6c 69 66 69 65 64 |eatly si|mplified|
|000039f0| 20 66 72 6f 6d 20 74 68 | 65 20 6f 72 69 67 69 6e | from th|e origin|
|00003a00| 61 6c 2e 20 7c 5c 64 65 | 66 7c 20 6d 61 79 20 62 |al. |\de|f| may b|
|00003a10| 65 20 75 73 65 64 0a 25 | 20 72 61 74 68 65 72 20 |e used.%| rather |
|00003a20| 74 68 61 6e 20 7c 5c 65 | 64 65 66 7c 20 61 73 20 |than |\e|def| as |
|00003a30| 74 68 65 20 77 68 6f 6c | 65 20 74 68 69 6e 67 20 |the whol|e thing |
|00003a40| 69 73 20 65 78 70 61 6e | 64 65 64 20 61 6e 79 77 |is expan|ded anyw|
|00003a50| 61 79 20 69 6e 20 74 68 | 65 0a 25 20 66 69 72 73 |ay in th|e.% firs|
|00003a60| 74 20 70 61 73 73 2e 20 | 54 68 65 20 62 6f 6f 6c |t pass. |The bool|
|00003a70| 65 61 6e 20 63 61 6e 20 | 62 65 20 64 69 72 65 63 |ean can |be direc|
|00003a80| 74 6c 79 20 65 6e 63 6f | 64 65 64 20 77 69 74 68 |tly enco|ded with|
|00003a90| 20 74 68 65 20 7c 5c 69 | 66 78 7c 2c 0a 25 20 74 | the |\i|fx|,.% t|
|00003aa0| 68 65 72 65 20 69 73 20 | 6e 6f 20 6e 65 65 64 20 |here is |no need |
|00003ab0| 74 6f 20 73 74 61 72 74 | 20 61 6e 20 65 71 75 69 |to start| an equi|
|00003ac0| 76 61 6c 65 6e 74 20 7c | 5c 69 66 6e 75 6d 7c 2e |valent ||\ifnum|.|
|00003ad0| 0a 25 20 5c 63 68 61 6e | 67 65 73 7b 76 31 2e 30 |.% \chan|ges{v1.0|
|00003ae0| 68 7d 7b 31 39 39 34 2f | 30 35 2f 31 34 7d 7b 6d |h}{1994/|05/14}{m|
|00003af0| 61 6b 65 20 6c 6f 6e 67 | 7d 0a 25 20 20 20 20 5c |ake long|}.% \|
|00003b00| 62 65 67 69 6e 7b 6d 61 | 63 72 6f 63 6f 64 65 7d |begin{ma|crocode}|
|00003b10| 0a 5c 6c 6f 6e 67 5c 64 | 65 66 5c 54 45 40 65 71 |.\long\d|ef\TE@eq|
|00003b20| 75 61 6c 23 31 23 32 23 | 33 7b 5c 54 45 40 74 68 |ual#1#2#|3{\TE@th|
|00003b30| 72 6f 77 0a 20 20 20 20 | 20 20 5c 64 65 66 5c 40 |row. | \def\@|
|00003b40| 74 65 6d 70 61 7b 23 31 | 7d 5c 64 65 66 5c 40 74 |tempa{#1|}\def\@t|
|00003b50| 65 6d 70 62 7b 23 32 7d | 25 0a 20 20 20 20 20 20 |empb{#2}|%. |
|00003b60| 5c 6e 6f 65 78 70 61 6e | 64 5c 69 66 78 5c 40 74 |\noexpan|d\ifx\@t|
|00003b70| 65 6d 70 61 5c 40 74 65 | 6d 70 62 23 33 7d 0a 25 |empa\@te|mpb#3}.%|
|00003b80| 20 20 20 20 5c 65 6e 64 | 7b 6d 61 63 72 6f 63 6f | \end|{macroco|
|00003b90| 64 65 7d 0a 25 20 5c 65 | 6e 64 7b 6d 61 63 72 6f |de}.% \e|nd{macro|
|00003ba0| 7d 0a 25 0a 25 20 5c 62 | 65 67 69 6e 7b 6d 61 63 |}.%.% \b|egin{mac|
|00003bb0| 72 6f 7d 7b 5c 62 6f 6f | 6c 65 61 6e 7d 0a 25 20 |ro}{\boo|lean}.% |
|00003bc0| 7c 5c 73 65 74 62 6f 6f | 6c 65 61 6e 7c 20 74 61 ||\setboo|lean| ta|
|00003bd0| 6b 65 73 20 7c 74 72 75 | 65 7c 20 6f 72 20 7c 66 |kes |tru|e| or |f|
|00003be0| 61 6c 73 65 7c 2c 20 61 | 73 20 7c 23 32 7c 2c 20 |alse|, a|s |#2|, |
|00003bf0| 61 6e 64 20 73 65 74 73 | 20 7c 23 31 7c 0a 25 20 |and sets| |#1|.% |
|00003c00| 61 63 63 6f 72 64 69 6e | 67 6c 79 2e 0a 25 20 5c |accordin|gly..% \|
|00003c10| 63 68 61 6e 67 65 73 7b | 76 31 2e 30 69 7d 7b 31 |changes{|v1.0i}{1|
|00003c20| 39 39 34 2f 30 35 2f 32 | 37 7d 7b 4e 65 77 20 73 |994/05/2|7}{New s|
|00003c30| 74 79 6c 65 20 65 72 72 | 6f 72 20 63 6f 6d 6d 61 |tyle err|or comma|
|00003c40| 6e 64 73 7d 0a 25 20 20 | 20 20 5c 62 65 67 69 6e |nds}.% | \begin|
|00003c50| 7b 6d 61 63 72 6f 63 6f | 64 65 7d 0a 5c 64 65 66 |{macroco|de}.\def|
|00003c60| 5c 73 65 74 62 6f 6f 6c | 65 61 6e 23 31 23 32 7b |\setbool|ean#1#2{|
|00003c70| 25 0a 20 20 5c 6c 6f 77 | 65 72 63 61 73 65 7b 5c |%. \low|ercase{\|
|00003c80| 64 65 66 5c 40 74 65 6d | 70 61 7b 23 32 7d 7d 25 |def\@tem|pa{#2}}%|
|00003c90| 0a 20 20 5c 40 69 66 75 | 6e 64 65 66 69 6e 65 64 |. \@ifu|ndefined|
|00003ca0| 7b 40 74 65 6d 70 73 77 | 61 5c 40 74 65 6d 70 61 |{@tempsw|a\@tempa|
|00003cb0| 7d 25 0a 20 20 20 20 7b | 5c 50 61 63 6b 61 67 65 |}%. {|\Package|
|00003cc0| 45 72 72 6f 72 7b 69 66 | 74 68 65 6e 7d 25 0a 20 |Error{if|then}%. |
|00003cd0| 20 20 20 20 20 20 7b 59 | 6f 75 20 63 61 6e 20 6f | {Y|ou can o|
|00003ce0| 6e 6c 79 20 73 65 74 20 | 61 20 62 6f 6f 6c 65 61 |nly set |a boolea|
|00003cf0| 6e 20 74 6f 20 60 74 72 | 75 65 27 20 6f 72 20 60 |n to `tr|ue' or `|
|00003d00| 66 61 6c 73 65 27 7d 5c | 40 65 68 63 7d 25 0a 20 |false'}\|@ehc}%. |
|00003d10| 20 20 20 7b 5c 40 69 66 | 75 6e 64 65 66 69 6e 65 | {\@if|undefine|
|00003d20| 64 7b 23 31 5c 40 74 65 | 6d 70 61 7d 25 0a 20 20 |d{#1\@te|mpa}%. |
|00003d30| 20 20 20 20 7b 5c 50 61 | 63 6b 61 67 65 45 72 72 | {\Pa|ckageErr|
|00003d40| 6f 72 7b 69 66 74 68 65 | 6e 7d 7b 42 6f 6f 6c 65 |or{ifthe|n}{Boole|
|00003d50| 61 6e 20 23 31 20 75 6e | 64 65 66 69 6e 65 64 7d |an #1 un|defined}|
|00003d60| 5c 40 65 68 63 7d 25 0a | 20 20 20 20 20 20 7b 5c |\@ehc}%.| {\|
|00003d70| 63 73 6e 61 6d 65 23 31 | 5c 40 74 65 6d 70 61 5c |csname#1|\@tempa\|
|00003d80| 65 6e 64 63 73 6e 61 6d | 65 7d 7d 7d 0a 25 20 20 |endcsnam|e}}}.% |
|00003d90| 20 20 5c 65 6e 64 7b 6d | 61 63 72 6f 63 6f 64 65 | \end{m|acrocode|
|00003da0| 7d 0a 25 20 5c 65 6e 64 | 7b 6d 61 63 72 6f 7d 0a |}.% \end|{macro}.|
|00003db0| 25 0a 25 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f |%.% \beg|in{macro|
|00003dc0| 7d 7b 5c 6e 65 77 62 6f | 6f 6c 65 61 6e 7d 0a 25 |}{\newbo|olean}.%|
|00003dd0| 20 4f 68 20 49 20 64 6f | 20 6c 6f 76 65 20 74 68 | Oh I do| love th|
|00003de0| 6f 73 65 20 7c 5c 6f 75 | 74 65 72 7c 20 6d 61 63 |ose |\ou|ter| mac|
|00003df0| 72 6f 73 2e 0a 25 20 20 | 20 20 5c 62 65 67 69 6e |ros..% | \begin|
|00003e00| 7b 6d 61 63 72 6f 63 6f | 64 65 7d 0a 5c 64 65 66 |{macroco|de}.\def|
|00003e10| 5c 6e 65 77 62 6f 6f 6c | 65 61 6e 23 31 7b 25 0a |\newbool|ean#1{%.|
|00003e20| 20 20 5c 63 73 6e 61 6d | 65 20 6e 65 77 69 66 5c | \csnam|e newif\|
|00003e30| 65 78 70 61 6e 64 61 66 | 74 65 72 5c 65 6e 64 63 |expandaf|ter\endc|
|00003e40| 73 6e 61 6d 65 5c 63 73 | 6e 61 6d 65 20 69 66 23 |sname\cs|name if#|
|00003e50| 31 5c 65 6e 64 63 73 6e | 61 6d 65 7d 0a 25 20 20 |1\endcsn|ame}.% |
|00003e60| 20 20 5c 65 6e 64 7b 6d | 61 63 72 6f 63 6f 64 65 | \end{m|acrocode|
|00003e70| 7d 0a 25 20 5c 65 6e 64 | 7b 6d 61 63 72 6f 7d 0a |}.% \end|{macro}.|
|00003e80| 25 0a 25 20 5c 62 65 67 | 69 6e 7b 6d 61 63 72 6f |%.% \beg|in{macro|
|00003e90| 7d 7b 5c 77 68 69 6c 65 | 64 6f 7d 0a 25 20 7c 5c |}{\while|do}.% |\|
|00003ea0| 77 68 69 6c 65 64 6f 7c | 20 63 6f 70 69 65 64 20 |whiledo|| copied |
|00003eb0| 64 69 72 65 63 74 6c 79 | 20 66 72 6f 6d 20 74 68 |directly| from th|
|00003ec0| 65 20 6f 72 69 67 69 6e | 61 6c 2e 5c 5c 0a 25 20 |e origin|al.\\.% |
|00003ed0| 7c 5c 77 68 69 6c 65 64 | 6f 7b 7c 5c 6d 65 74 61 ||\whiled|o{|\meta|
|00003ee0| 7b 74 65 73 74 7d 7c 7d | 7b 7c 5c 6d 65 74 61 7b |{test}|}|{|\meta{|
|00003ef0| 62 6f 64 79 7d 7c 7d 7c | 5c 5c 0a 25 20 72 65 70 |body}|}||\\.% rep|
|00003f00| 65 61 74 65 64 6c 79 20 | 65 76 61 6c 75 61 74 65 |eatedly |evaluate|
|00003f10| 73 20 5c 6d 65 74 61 7b | 62 6f 64 79 7d 20 75 6e |s \meta{|body} un|
|00003f20| 74 69 6c 20 5c 6d 65 74 | 61 7b 74 65 73 74 7d 20 |til \met|a{test} |
|00003f30| 69 73 20 74 72 75 65 2e | 0a 25 20 20 20 20 5c 62 |is true.|.% \b|
|00003f40| 65 67 69 6e 7b 6d 61 63 | 72 6f 63 6f 64 65 7d 0a |egin{mac|rocode}.|
|00003f50| 5c 6c 6f 6e 67 5c 64 65 | 66 5c 77 68 69 6c 65 64 |\long\de|f\whiled|
|00003f60| 6f 23 31 23 32 7b 25 0a | 20 20 5c 69 66 74 68 65 |o#1#2{%.| \ifthe|
|00003f70| 6e 65 6c 73 65 7b 23 31 | 7d 7b 5c 40 77 68 69 6c |nelse{#1|}{\@whil|
|00003f80| 65 64 6f 74 72 75 65 20 | 5c 40 77 68 69 6c 65 73 |edotrue |\@whiles|
|00003f90| 77 5c 69 66 40 77 68 69 | 6c 65 64 6f 5c 66 69 0a |w\if@whi|ledo\fi.|
|00003fa0| 20 20 20 20 20 7b 23 32 | 5c 69 66 74 68 65 6e 65 | {#2|\ifthene|
|00003fb0| 6c 73 65 7b 23 31 7d 7b | 5c 40 77 68 69 6c 65 64 |lse{#1}{|\@whiled|
|00003fc0| 6f 74 72 75 65 7d 7b 5c | 40 77 68 69 6c 65 64 6f |otrue}{\|@whiledo|
|00003fd0| 66 61 6c 73 65 7d 7d 7d | 7b 7d 7d 0a 25 20 20 20 |false}}}|{}}.% |
|00003fe0| 20 5c 65 6e 64 7b 6d 61 | 63 72 6f 63 6f 64 65 7d | \end{ma|crocode}|
|00003ff0| 0a 25 20 5c 65 6e 64 7b | 6d 61 63 72 6f 7d 0a 25 |.% \end{|macro}.%|
|00004000| 0a 25 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 7d |.% \begi|n{macro}|
|00004010| 7b 5c 69 66 40 77 68 69 | 6c 65 64 6f 7d 0a 25 20 |{\if@whi|ledo}.% |
|00004020| 49 6e 74 65 72 6e 61 6c | 20 73 77 69 74 63 68 20 |Internal| switch |
|00004030| 66 6f 72 20 7c 5c 77 68 | 69 6c 65 64 6f 7c 2e 0a |for |\wh|iledo|..|
|00004040| 25 20 20 20 20 5c 62 65 | 67 69 6e 7b 6d 61 63 72 |% \be|gin{macr|
|00004050| 6f 63 6f 64 65 7d 0a 5c | 6e 65 77 69 66 5c 69 66 |ocode}.\|newif\if|
|00004060| 40 77 68 69 6c 65 64 6f | 0a 25 20 20 20 20 5c 65 |@whiledo|.% \e|
|00004070| 6e 64 7b 6d 61 63 72 6f | 63 6f 64 65 7d 0a 25 20 |nd{macro|code}.% |
|00004080| 5c 65 6e 64 7b 6d 61 63 | 72 6f 7d 0a 25 0a 25 20 |\end{mac|ro}.%.% |
|00004090| 20 20 20 5c 62 65 67 69 | 6e 7b 6d 61 63 72 6f 63 | \begi|n{macroc|
|000040a0| 6f 64 65 7d 0a 25 3c 2f | 70 61 63 6b 61 67 65 3e |ode}.%</|package>|
|000040b0| 0a 25 20 20 20 20 5c 65 | 6e 64 7b 6d 61 63 72 6f |.% \e|nd{macro|
|000040c0| 63 6f 64 65 7d 0a 25 0a | 25 20 5c 46 69 6e 61 6c |code}.%.|% \Final|
|000040d0| 65 0a 5c 65 6e 64 69 6e | 70 75 74 0a |e.\endin|put. |
+--------+-------------------------+-------------------------+--------+--------+