%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% fe-lams.dmp %% part of fe-format-dumper-cm directory %% L. Siebenmann, 5-92 %% Documentation in fe-dump.doc %% For LamsTeX >= 1991 %% from ftp math.princeton.edu [128.112.128.157] %% NOT for versions of 1989 or 1990 of LamsteX %% (see endnote). \input fe-plain.tex %% calls standard Plain %%% Impose omission of \itfam \slfam \def\itfam{15}\def\slfam{15} \input amstexl.tex %% standard AmSTeX \let\italic\relax \let\slanted\relax \let\itfam\undefined \let\slfam\undefined \input lamstex.tex %%% Provisional bugfix 5-92 for 1991 LamsTeX 2.01; see endnote 3) \catcode`\@=11 \def\@Cleanup#1>#2@{#2} \def\@Meaning#1{\expandafter\@Cleanup\meaning#1@} \def\@Sanitize#1{\def\@Sanholder{#1}% \edef\@Sanholder{\@Meaning\@Sanholder} } \newcount\cat@sc \def\force@sc{\cat@sc=\the\catcode`\;\catcode`\;=12} \def\relax@sc{\catcode`\;=\cat@sc} %% \cgaps{#1;...;#?} \let\@ldcgaps\cgaps \def\cgaps#1{\force@sc\@Sanitize{#1}\expandafter \@ldcgaps\expandafter{\@Sanholder}\relax@sc} %% \rgaps{#1;...;#?} \let\@ldrgaps\rgaps \def\rg@ps#1{\force@sc\@Sanitize{#1}\expandafter \@ldrgaps\expandafter{\@Sanholder}\relax@sc} %% \ds@(#1;#2) \let\@ldds@\ds@ \def\ds@(#1){\force@sc\@Sanitize{#1}\expandafter \@ldds@\expandafter(\@Sanholder)\relax@sc} %% \dtX@(#1;#2) \let\@lddtX@\dtX@ \def\dtX@(#1){\force@sc\@Sanitize{#1}\expandafter \@lddtX@\expandafter(\@Sanholder)\relax@sc} %% \dtX@(#1;#2) \let\@lddtY@\dtY@ \def\dtY@(#1){\force@sc\@Sanitize{#1}\expandafter \@lddtY@\expandafter(\@Sanholder)\relax@sc} \let\cgapsA@\relax % save space \input fe-punct.tex %% for French punctuation, spacing \input gllmts.tex \catcode`\@=13 \dump --------------------------------- Notes 1) The 1989 and 1990 versions of lamstex.tex encountered grave problems with active punctation. (See notes active punctuation on ftp rsovax.ups.circe.fr [130.84.128.100].) 2) In the 1991 version 2.01 (which seems to date from July 1991), serious modifications were made by M. Spivak to the commutative diagram module \CD ...\endCD to correct problems caused by activation of ; . However a problem remains where \cgaps is concerned; the syntax is \cgaps{[...;]*...}, for example \cgaps{1;2;3}. Easier problems for \dtX(...;...) \dtY(...;...) and ds(...;...) seem to have been settled. 3) Explanation of the bugfix: For reasons that seem rather frivolous, LamsTeX currently sweeps every display up as a macro argument. Thus the \catcode`\;=12 would seem to have no effect. However, the 2.01 version uses the value 12 or 13 of \catcode`\; in an \ifnum test determining whether to use original code of 2.0 or new buggy code introduced for 2.01; thus what our use of \catcode`\;=12 really does is to cut out the 2.01 revisions. And the remainder introduces a quite different and shorter revision which sanitizes the apparent argument of \cgaps or \rgaps using \meaning and then in effect applies the 2.0 code. 4) Modifications were made to the amstexl.tex of 1991 to make unnecessary the change file ams-act.tex currently necessary with amstex.tex of 1991. A curious consequence is that although it is labeled 2.0 of 1991, this amstexl.tex is significantly more advanced than amstex.tex 2.1 of Feb 1991. Are there further bugs??