You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.1 KiB
55 lines
2.1 KiB
% special macros for use with MFT output
|
|
|
|
\font\tenlogo=logo10 % font used for the METAFONT logo
|
|
\font\tentex=cmtex10 \hyphenchar\tentex=-1 % font used for strings
|
|
\font\sevenit=cmti7 \scriptfont\itfam=\sevenit
|
|
\def\MF{{\tenlogo META}\-{\tenlogo FONT}}
|
|
|
|
\parindent=0pt
|
|
\thinmuskip=5mu
|
|
\thickmuskip=6mu plus 6mu
|
|
\mathcode`\|="326A
|
|
|
|
\def\\#1{{\it#1}} % italic type for identifiers
|
|
\def\0#1#2#3{\hbox{\rm\'{}\kern-.2em\it#1#2#3\/\kern.05em}} % octal constant
|
|
\def\1#1{\mathop{\hbox{\rm#1}}} % operator, in roman type
|
|
\def\2#1{\mathop{\hbox{\bf#1\/\kern.05em}}} % operator, in bold type
|
|
\def\3#1{\,\mathclose{\hbox{\bf#1\/}}} % `fi' and `endgroup'
|
|
\def\4#1{\mathbin{\hbox{\bf#1\/}}} % `step' and `at'
|
|
\def\5#1{\hbox{\bf#1\/}} % `true' and `nullpicture'
|
|
\def\6#1{\mathbin{\rm#1}} % `++' and `scaled'
|
|
\def\7{\hbox\bgroup\nocats\frenchspacing\finstring} % string token
|
|
\def\8#1{\mathrel{\mathcode`\.="8000 \mathcode`\-="8000
|
|
#1\unkern}} % `..' and `--'
|
|
\def\9{\hfill$\%} % comment separator
|
|
\def\?#1{\mathopen{#1}\;} % `:', `::', and `||:'
|
|
\def\frac#1/#2{\leavevmode\kern.1em
|
|
\raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
|
|
/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
|
|
|
|
\mathchardef\AM="2026 % ampersand
|
|
\let\BL=\medskip % space for empty line
|
|
\mathchardef\BS="026E % backslash
|
|
\mathchardef\HA="0222 % hat ("005E not as good)
|
|
\def\PS{\mathbin{+{-}+}} % pythagorean subtraction
|
|
\def\SH{\raise.7ex\hbox{$\scriptstyle\#$}} % sharp sign for sharped units
|
|
\mathchardef\TI="007E % tilde
|
|
|
|
\chardef\other=12
|
|
\def\nocats{\catcode`\\=\other \catcode`\{=\other
|
|
\catcode`\}=\other \catcode`\$=\other \catcode`\&=\other
|
|
\catcode`\#=\other \catcode`\%=\other \catcode`\~=\other
|
|
\catcode`\_=\other \catcode`\^=\other}
|
|
\def\finstring"#1"{\tentex"#1"\egroup}
|
|
|
|
\newbox\shorthyf \setbox\shorthyf=\hbox{-\kern-.05em}
|
|
\mathchardef\period=`\.
|
|
{\catcode`\-=\active \global\def-{\copy\shorthyf\mkern3.9mu}
|
|
\catcode`\.=\active \global\def.{\period\mkern3mu}}
|
|
|
|
\def\bf{\fam\bffam
|
|
\def\_{\kern.04em\vbox{\hrule width.3em height .6pt}\kern.08em}%
|
|
\tenbf}
|
|
|
|
\def\join#1${} % say %%\join in .mf file to join lines together
|
|
\def\]{\hskip0pt plus 1filll\ } % say % comment\] to get comment flush left
|
|
|