diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/math-pln.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/base/math-pln.tex | 345 |
1 files changed, 345 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/math-pln.tex b/Master/texmf-dist/tex/context/base/math-pln.tex new file mode 100644 index 00000000000..73c12c973da --- /dev/null +++ b/Master/texmf-dist/tex/context/base/math-pln.tex @@ -0,0 +1,345 @@ +%D \module +%D [ file=math-pln, +%D version=2001.11.16, +%D title=\CONTEXT\ System Macros, +%D subtitle=Efficient \PLAIN\ \TEX\ loading, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D This is a temporary module, some of this code will move to +%D the other math modules. + +\unprotect + +\def\m@th{\mathsurround\z@} + +\newbox\rootbox + +\def\root#1\of% + {\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% + \mathpalette\r@@t} + +\def\r@@t#1#2% will be overloaded + {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}\dimen@\ht\z@ + \advance\dimen@-\dp\z@ + \mkern5mu\raise.6\dimen@\copy\rootbox + \mkern-10mu\box\z@} + +\def\mathhexbox#1#2#3% + {\leavevmode + \hbox{$\m@th\mathchar"#1#2#3$}} + +\def\oalign#1% + {\leavevmode + \vtop + {\baselineskip\z@skip \lineskip.25ex% + \ialign{##\crcr#1\crcr}}} + +\def\o@lign + {\lineskiplimit\z@ \oalign} + +\def\ooalign % chars over each other + {\lineskiplimit-\maxdimen + \oalign} + +{\catcode`p=12 \catcode`t=12 \gdef\\#1pt{#1}} \let\getf@ctor=\\ + +\def\sh@ft#1% kern by #1 times the current slant + {\dimen@#1% + \kern\expandafter\getf@ctor\the\fontdimen1\font + \dimen@} + +% \def\copyright % will be overloaded +% {{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\Orb}}} + +\def\dots + {\relax\ifmmode\ldots\else$\m@th\ldots\,$\fi} + +\def\hrulefill + {\leaders\hrule\hfill} + +\def\dotfill + {\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill} + +\def\rightarrowfill + {$\m@th\smash-\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\mathord\rightarrow$} + +\def\leftarrowfill + {$\m@th\mathord\leftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\smash-$} + +% must go to math-tex + +\mathchardef\braceld="37A +\mathchardef\bracerd="37B +\mathchardef\bracelu="37C +\mathchardef\braceru="37D + +\def\downbracefill + {$\m@th\setbox\z@\hbox{$\braceld$}% + \braceld\leaders\vrule\!!height\ht\z@\!!depth\z@\hfill\braceru + \bracelu\leaders\vrule\!!height\ht\z@\!!depth\z@\hfill\bracerd$} + +\def\upbracefill + {$\m@th\setbox\z@\hbox{$\braceld$}% + \bracelu\leaders\vrule\!!height\ht\z@\!!depth\z@\hfill\bracerd + \braceld\leaders\vrule\!!height\ht\z@\!!depth\z@\hfill\braceru$} + +\def\bye{\par\vfill\supereject\end} + +\let\sp=^ +\let\sb=_ +\def\,{\mskip\thinmuskip} +\def\>{\mskip\medmuskip} +\def\;{\mskip\thickmuskip} +\def\!{\mskip-\thinmuskip} +\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}} + +{\catcode`\'=\active \gdef'{^\bgroup\prim@s}} + +\def\prim@s + {\prime\futurelet\next\pr@m@s} + +% \def\pr@m@s +% {\ifx'\next +% \let\nxt\pr@@@s +% \else +% \ifx^\next +% \let\nxt\pr@@@t +% \else +% \let\nxt\egroup +% \fi +% \fi +% \nxt} + +\def\pr@m@s + {\ifx'\next + \@EA\pr@@@s + \else\ifx^\next + \@EAEAEA\pr@@@t + \else + \@EAEAEA\egroup + \fi\fi} + +\def\pr@@@s#1% + {\prim@s} + +\def\pr@@@t#1#2% + {#2\egroup} + +{\catcode`\_=\active \global\let_=\_} % _ in math is either subscript or \_ + +\def\relbar {\mathrel{\smash-}} % - has the same height as + +\def\Relbar {\mathrel=} + +\def\Longrightarrow {\Relbar\joinrel\Rightarrow} +\def\longrightarrow {\relbar\joinrel\rightarrow} +\def\longleftarrow {\leftarrow\joinrel\relbar} +\def\Longleftarrow {\Leftarrow\joinrel\Relbar} +\def\longmapsto {\mapstochar\longrightarrow} +\def\longleftrightarrow{\leftarrow\joinrel\rightarrow} +\def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow} + +\def\overrightarrow#1% + {\vbox{\m@th\ialign{##\crcr + \rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} + +\def\overleftarrow#1% + {\vbox{\m@th\ialign{##\crcr + \leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} + +\def\overbrace#1% + {\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@} + \downbracefill\crcr\noalign{\kern3\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits} + +\def\underbrace#1% + {\mathop{\vtop{\m@th\ialign{##\crcr + $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern3\p@\nointerlineskip} + \upbracefill\crcr\noalign{\kern3\p@}}}}\limits} + +\def\skew#1#2#3% + {{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@ + #2{\mkern-\muskip\z@{#3}\mkern\muskip\z@}\mkern-\muskip\z@}{}} + +\def\n@space + {\nulldelimiterspace\z@ \m@th} + +\def\choose{\atopwithdelims()} +\def\brack {\atopwithdelims[]} +\def\brace {\atopwithdelims\{\}} + +\def\mathpalette#1#2% + {\mathchoice + {#1\displaystyle {#2}}% + {#1\textstyle {#2}}% + {#1\scriptstyle {#2}}% + {#1\scriptscriptstyle{#2}}} + +\def\cong% + {\mathrel{\mathpalette\@vereq\sim}} % congruence sign + +\def\@vereq#1#2% + {\lower.5\p@\vbox{\lineskiplimit\maxdimen\lineskip-.5\p@ + \ialign{$\m@th#1\hfil##\hfil$\crcr#2\crcr=\crcr}}} + +\def\notin% + {\mathrel{\mathpalette\c@ncel\in}} + +\def\c@ncel#1#2% + {\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} + +\def\rightleftharpoons% + {\mathrel{\mathpalette\rlh@{}}} + +\def\rlh@#1% + {\vcenter + {\m@th + \hbox + {\ooalign + {\raise2pt\hbox{$#1\rightharpoonup$}\crcr + $#1\leftharpoondown$}}}} + +\def\buildrel#1\over#2% + {\mathrel{\mathop{\kern\z@#2}\limits^{#1}}} + +\def\doteq + {\buildrel\textstyle.\over=} + +\def\bmod + {\nonscript + \mskip-\medmuskip + \mkern5mu + \mathbin{\rm mod}% + \penalty900 + \mkern5mu + \nonscript + \mskip-\medmuskip} + +\def\pmod#1% + {\allowbreak + \mkern18mu + ({\rm mod}\,\,#1)} + +\def\cases#1% + {\left\{% + \,% + \vcenter + {\normalbaselines + \m@th + \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}% + \right.} + +\def\matrix#1% + {\null + \,% + \vcenter + {\normalbaselines\m@th + \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr + \mathstrut\crcr\noalign{\kern-\baselineskip} + #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}% + \,} + +\def\pmatrix#1% + {\left(\matrix{#1}\right)} + +\newdimen\p@renwd + +% \setbox0=\hbox{\tenex B} \p@renwd=\wd0 % width of the big left ( + +\def\bordermatrix#1% + {\begingroup + \m@th + \setbox\z@\vbox + {\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}% + \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil + &&\quad\hfil$##$\hfil\crcr + \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}% + #1\crcr\omit\strut\cr}}% + \setbox\tw@\vbox + {\unvcopy\z@\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox + {\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox + {$\kern\wd\@ne\kern-\p@renwd\left(\kern-\wd\@ne + \global\setbox\@ne\vbox{\box\@ne\kern2\p@}% + \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}% + \null + \;% + \vbox{\kern\ht\@ne\box\tw@}% + \endgroup} + +\def\openup{\afterassignment\@penup\dimen@=} + +\def\@penup{\advance\lineskip\dimen@ + \advance\baselineskip\dimen@ + \advance\lineskiplimit\dimen@} + +\def\eqalign#1% + {\null + \,% + \vcenter + {\openup + \jot\m@th + \ialign + {\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\crcr + #1\crcr}}% + \,} + +\newif\ifdt@p + +\def\displ@y + {\global\dt@ptrue + \openup\jot\m@th + \everycr + {\noalign + {\ifdt@p + \global\dt@pfalse + \ifdim\prevdepth>-1000\p@ + \vskip-\lineskiplimit + \vskip\normallineskiplimit + \fi + \else + \penalty\interdisplaylinepenalty + \fi}}} + +\def\@lign % restore inside \displ@y + {\tabskip\z@skip + \everycr{}} + +\def\displaylines#1% + {\displ@y + \tabskip\z@skip + \halign + {\hbox to \displaywidth{$\@lign\hfil\displaystyle##\hfil$}\crcr + #1\crcr}} + +\def\eqalignno#1% + {\displ@y + \tabskip\centering + \halign to \displaywidth + {\hfil$\@lign\displaystyle{##}$\tabskip\z@skip + &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering + &\llap{$\@lign##$}\tabskip\z@skip\crcr + #1\crcr}} + +\def\leqalignno#1% + {\displ@y + \tabskip\centering + \halign to \displaywidth + {\hfil$\@lign\displaystyle{##}$\tabskip\z@skip + &$\@lign\displaystyle{{}##}$\hfil\tabskip\centering + &\kern-\displaywidth\rlap{$\@lign##$}\tabskip\displaywidth\crcr + #1\crcr}} + +\protect \endinput |