r3tex

custom LuaTeX format
git clone git://git.rr3.xyz/r3tex
Log | Files | Refs | README | LICENSE

commit 2be90569b326ae6a1cc862a0c7b6769b3550d30b
parent 10162a96d78f1ae5abc653f386a567966c2f2f2a
Author: robert <robertrussell.72001@gmail.com>
Date:   Sun, 30 Jan 2022 14:14:55 -0800

Make $ active

This allows redefining $. Such radical catcode choices really must be
done at the format-level, otherwise macros containing $ will be broken.

Diffstat:
Mcatcode.tex | 4++--
Mmath.tex | 11+++++++++++
Mutil.tex | 3+++
3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/catcode.tex b/catcode.tex @@ -14,7 +14,7 @@ % \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 -\catcode`\$=3 +\catcode`\$=13 % Unlike plain, $ is active. \catcode`\&=4 % \catcode`\^^M=5 \catcode`\#=6 @@ -25,7 +25,7 @@ \catcode`\^^I=10 % \catcode`\A=11 ... \catcode`\Z=11 % \catcode`\a=11 ... \catcode`\z=11 -\catcode`\@=11 % Unlike plain TeX, @ is always a letter. +\catcode`\@=11 % Unlike plain, @ is always a letter. \catcode`\~=13 % \catcode`\%=14 % \catcode`\^^?=15 diff --git a/math.tex b/math.tex @@ -1,5 +1,15 @@ % TODO: most things here copied from plain; need to sort thru +\def\begmath{\Ustartmath} +\def\endmath{\Ustopmath} +\def\togmath{\relax\ifmmode\ea\endmath\else\ea\begmath\fi} +\def\begdisplaymath{\Ustartdisplaymath} +\def\enddisplaymath{\Ustopdisplaymath\optionalspace} +\def\togdisplaymath{\relax\ifmmode\ea\enddisplaymath\else\ea\begdisplaymath\fi} +\def\@dmmode${\togdisplaymath} +\def\@mmode{\ifx\next$\ea\@dmmode\else\ea\togmath\fi} +\def${\futurelet\next\@mmode} + \input mathenc \def\lnot{\neg} @@ -103,6 +113,7 @@ \def\biggl{\mathopen\bigg} \def\biggm{\mathrel\bigg} \def\biggr{\mathclose\bigg} \def\Biggl{\mathopen\Bigg} \def\Biggm{\mathrel\Bigg} \def\Biggr{\mathclose\Bigg} % TODO need to reconsider when new font system designed +% TODO use luaTeX Uleft, Uright? \def\big#1{{\hbox{$\left#1\vbox to\Fbight{}\right.\n@space$}}} \def\Big#1{{\hbox{$\left#1\vbox to\FBight{}\right.\n@space$}}} \def\bigg#1{{\hbox{$\left#1\vbox to\Fbigght{}\right.\n@space$}}} diff --git a/util.tex b/util.tex @@ -109,6 +109,9 @@ } \gdef\expandtabs{\afterassignment\@expandtabs \countA=} } +\def\gobblespace{\let\csA= } +\def\@optionalspace{\ifcat\next\space\ea\gobblespace\fi} +\def\optionalspace{\futurelet\next\@optionalspace} % Mode control % TODO: remove \leaveXmode and replace with \Ymode