222 lines
7.5 KiB
TeX
222 lines
7.5 KiB
TeX
\def\weavesectionsss#1#2#3#4#5{\vfill\eject\noindent{\titlefont #2}\mark{#3}\vskip 0.5in\par\noindent\titlepage}
|
|
\def\weavesectionss#1#2#3#4#5{\vfill\eject\noindent{\stitlefont #2\hfill #5}\mark{#3}\bigskip\par\noindent\titlepage}
|
|
\def\weavesections#1#2#3#4#5{\bigskip\goodbreak\noindent{\bf #4#1. #2.}\mark{#3}\quad}
|
|
\def\weavesection#1#2#3#4#5{\bigskip\goodbreak\noindent{\bf #4#1.}\mark{#3}\quad}
|
|
\def\tweavesections#1#2#3#4#5{\bigskip\goodbreak\noindent{\bf #5.#4#1. #2.}\quad}
|
|
\def\tweavesection#1#2#3#4#5{\bigskip\goodbreak\noindent{\bf #5.#4#1.}\quad}
|
|
\def\nsweavesections#1#2#3#4#5{\noindent{\bf #4#1. #2.}\mark{#3}\quad}
|
|
\def\nsweavesection#1#2#3#4#5{\noindent{\bf #4#1.}\mark{#3}\quad}
|
|
|
|
\raggedbottom
|
|
|
|
\nopagenumbers
|
|
\newif\iftitle
|
|
\def\titlepage{\global\titletrue}
|
|
\headline={\iftitle\hfil\global\titlefalse\else\tenrm\hfil{\sourcefont \firstmark\qquad\the\pageno}\fi}
|
|
|
|
\titlepage
|
|
|
|
\def\quotesource#1{\medskip{\narrower\noindent{\sourcefont #1}\par}\smallskip}
|
|
\def\cast#1#2{{#1}$\;\rightarrow\;${#2}}
|
|
\def\comp#1#2{{#1}$\;\sim\;${#2}}
|
|
\def\al{$\alpha$}
|
|
\def\be{$\beta$}
|
|
\def\nonterminal#1{$\langle${\xreffont\pdfliteral direct{1 1 0 0 k}#1\special{PDF:0 g}}$\rangle$}
|
|
\def\fixed#1{{\bf #1}}
|
|
\def\from{\par\qquad\quad$\leftarrow$\quad}
|
|
\def\continuation{\par\qquad\quad\phantom{$\leftarrow$}\quad}
|
|
|
|
\font\tentex=cmtex10
|
|
\font\sourcefont=cmss10
|
|
\font\xreffont=cmss9
|
|
\hyphenchar\xreffont=-1
|
|
\font\usagefont=cmss8
|
|
|
|
\font\inchhigh=cminch
|
|
\font\sinchhigh=cminch at 60pt
|
|
\font\titlefont=cmss10 at 24pt
|
|
\font\stitlefont=cmss10 at 20pt
|
|
\font\sstitlefont=cmss10 at 20pt
|
|
\font\ssstitlefont=cmr10 at 12pt
|
|
|
|
\font\ninerm=cmr9
|
|
\font\eightrm=cmr8
|
|
\font\sixrm=cmr6
|
|
|
|
\font\ninei=cmmi9
|
|
\font\eighti=cmmi8
|
|
\font\sixi=cmmi6
|
|
\skewchar\ninei='177 \skewchar\eighti='177 \skewchar\sixi='177
|
|
|
|
\font\ninesy=cmsy9
|
|
\font\eightsy=cmsy8
|
|
\font\sixsy=cmsy6
|
|
\skewchar\ninesy='60 \skewchar\eightsy='60 \skewchar\sixsy='60
|
|
|
|
\font\sevenss=cmss10 at 7pt
|
|
\font\eightss=cmssq8
|
|
|
|
\font\eightssi=cmssqi8
|
|
|
|
\font\ninebf=cmbx9
|
|
\font\eightbf=cmbx8
|
|
\font\sixbf=cmbx6
|
|
|
|
\font\ninett=cmtt9
|
|
\font\eighttt=cmtt8
|
|
|
|
\hyphenchar\tentt=-1 % inhibit hyphenation in typewriter type
|
|
\hyphenchar\ninett=-1
|
|
\hyphenchar\eighttt=-1
|
|
|
|
\font\ninesl=cmsl9
|
|
\font\eightsl=cmsl8
|
|
|
|
\font\nineit=cmti9
|
|
\font\eightit=cmti8
|
|
|
|
\font\tenu=cmu10 % unslanted text italic
|
|
\font\magnifiedfiverm=cmr5 at 10pt
|
|
\font\manual=manfnt % font used for the METAFONT logo, etc.
|
|
\font\cmman=cmman % font used for miscellaneous Computer Modern variations
|
|
|
|
\newskip\ttglue
|
|
\def\tenpoint{\def\rm{\fam0\tenrm}%
|
|
\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
|
|
\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
|
|
\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
|
|
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
|
\def\it{\fam\itfam\tenit}%
|
|
\textfont\itfam=\tenit
|
|
\def\sl{\fam\slfam\tensl}%
|
|
\textfont\slfam=\tensl
|
|
\def\bf{\fam\bffam\tenbf}%
|
|
\textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
|
|
\scriptscriptfont\bffam=\fivebf
|
|
\def\tt{\fam\ttfam\tentt}%
|
|
\textfont\ttfam=\tentt
|
|
\tt \ttglue=.5em plus.25em minus.15em
|
|
\normalbaselineskip=12pt
|
|
\def\MF{{\manual META}\-{\manual FONT}}%
|
|
\let\sc=\eightrm
|
|
\let\big=\tenbig
|
|
\setbox\strutbox=\hbox{\vrule height8.5pt depth3.5pt width\z@}%
|
|
\normalbaselines\rm}
|
|
|
|
\def\ninepoint{\def\rm{\fam0\ninerm}%
|
|
\textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
|
|
\textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei
|
|
\textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
|
|
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
|
\def\it{\fam\itfam\nineit}%
|
|
\textfont\itfam=\nineit
|
|
\def\sl{\fam\slfam\ninesl}%
|
|
\textfont\slfam=\ninesl
|
|
\def\bf{\fam\bffam\ninebf}%
|
|
\textfont\bffam=\ninebf \scriptfont\bffam=\sixbf
|
|
\scriptscriptfont\bffam=\fivebf
|
|
\def\tt{\fam\ttfam\ninett}%
|
|
\textfont\ttfam=\ninett
|
|
\tt \ttglue=.5em plus.25em minus.15em
|
|
\normalbaselineskip=11pt
|
|
\def\MF{{\manual hijk}\-{\manual lmnj}}%
|
|
\let\sc=\sevenrm
|
|
\let\big=\ninebig
|
|
\setbox\strutbox=\hbox{\vrule height8pt depth3pt width\z@}%
|
|
\normalbaselines\rm}
|
|
|
|
\def\ttninepoint{\def\rm{\fam0\ninerm}%
|
|
\textfont0=\ninerm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
|
|
\textfont1=\ninei \scriptfont1=\sixi \scriptscriptfont1=\fivei
|
|
\textfont2=\ninesy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
|
|
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
|
\def\it{\fam\itfam\nineit}%
|
|
\textfont\itfam=\nineit
|
|
\def\sl{\fam\slfam\ninesl}%
|
|
\textfont\slfam=\ninesl
|
|
\def\bf{\fam\bffam\ninebf}%
|
|
\textfont\bffam=\ninebf \scriptfont\bffam=\sixbf
|
|
\scriptscriptfont\bffam=\fivebf
|
|
\def\tt{\fam\ttfam\ninett}%
|
|
\textfont\ttfam=\ninett
|
|
\normalbaselineskip=11pt
|
|
\normalbaselines\rm}
|
|
|
|
\def\eightpoint{\def\rm{\fam0\eightrm}%
|
|
\textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
|
|
\textfont1=\eighti \scriptfont1=\sixi \scriptscriptfont1=\fivei
|
|
\textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
|
|
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
|
|
\def\it{\fam\itfam\eightit}%
|
|
\textfont\itfam=\eightit
|
|
\def\sl{\fam\slfam\eightsl}%
|
|
\textfont\slfam=\eightsl
|
|
\def\bf{\fam\bffam\eightbf}%
|
|
\textfont\bffam=\eightbf \scriptfont\bffam=\sixbf
|
|
\scriptscriptfont\bffam=\fivebf
|
|
\def\tt{\fam\ttfam\eighttt}%
|
|
\textfont\ttfam=\eighttt
|
|
\tt \ttglue=.5em plus.25em minus.15em
|
|
\normalbaselineskip=9pt
|
|
\def\MF{{\manual opqr}\-{\manual stuq}}%
|
|
\let\sc=\sixrm
|
|
\let\big=\eightbig
|
|
\setbox\strutbox=\hbox{\vrule height7pt depth2pt width\z@}%
|
|
\normalbaselines\rm}
|
|
|
|
\def\tenmath{\tenpoint\fam-1 } % use after $ in ninepoint sections
|
|
\def\tenbig#1{{\hbox{$\left#1\vbox to8.5pt{}\right.\n@space$}}}
|
|
\def\ninebig#1{{\hbox{$\textfont0=\tenrm\textfont2=\tensy
|
|
\left#1\vbox to7.25pt{}\right.\n@space$}}}
|
|
\def\eightbig#1{{\hbox{$\textfont0=\ninerm\textfont2=\ninesy
|
|
\left#1\vbox to6.5pt{}\right.\n@space$}}}
|
|
|
|
\catcode`@=11 % borrow the private macros of PLAIN (with care)
|
|
|
|
\def\|{\leavevmode\hbox{\tt\char`\|}} % vertical line
|
|
|
|
% macros for verbatim scanning
|
|
\chardef\other=12
|
|
\def\ttverbatim{\begingroup\ttninepoint\frenchspacing
|
|
\catcode`\\=\other
|
|
\catcode`\{=\other
|
|
\catcode`\}=\other
|
|
\catcode`\$=\other
|
|
\catcode`\&=\other
|
|
\catcode`\#=\other
|
|
\catcode`\%=\other
|
|
\catcode`\~=\other
|
|
\catcode`\_=\other
|
|
\catcode`\^=\other
|
|
\obeyspaces \obeylines \tt}
|
|
|
|
\outer\def\begintt{$$\let\par=\endgraf \ttverbatim \parskip=\z@
|
|
\catcode`\|=0 \rightskip-5pc \ttfinish}
|
|
{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
|
|
|obeylines % end of line is active
|
|
|gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup|tenpoint$$}}
|
|
|
|
\catcode`\|=\active
|
|
{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\ \let|=\endgroup}}
|
|
|
|
% macros for syntax rules (again, not in Appendix E)
|
|
\def\[#1]{\silenttrue\xref|#1|\thinspace{\tt#1}\thinspace} % keyword in syntax
|
|
\def\beginsyntax{\endgraf\nobreak\medskip
|
|
\begingroup \catcode`<=13 \catcode`[=13
|
|
\let\par=\endsyntaxline \obeylines}
|
|
\def\endsyntaxline{\futurelet\next\syntaxswitch}
|
|
\def\syntaxswitch{\ifx\next\<\let\next=\syntaxrule
|
|
\else\ifx\next\endsyntax\let\next=\endgroup
|
|
\else\let\next=\continuerule\fi\fi \next}
|
|
\def\continuerule{\hfil\break\indent\qquad}
|
|
\def\endsyntax{\medbreak\noindent}
|
|
{\catcode`<=13 \catcode`[=13
|
|
\global\let<=\< \global\let[=\[
|
|
\gdef\syntaxrule<#1>{\endgraf\indent\silentfalse\xref\<#1>}}
|
|
\def\is{\ $\longrightarrow$ }
|
|
\def\alt{\ $\vert$ }
|
|
|
|
% macros to demarcate lines quoted from TeX source files
|
|
\def\beginlines{\par\begingroup\nobreak\medskip\parindent\z@ \obeylines
|
|
\nobreak \everypar{\strut}}
|
|
\def\endlines{\endgroup\medbreak\noindent}
|