\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
\def\texinfoversion{2007-05-03.09}
\message{Loading texinfo [version \texinfoversion]:}
\everyjob{\message{[Texinfo version \texinfoversion]} \catcode`+=\active \catcode`\_=\active}
\chardef\other=12
\let\+ = \relax
\let\ptexb=\b
\let\ptexbullet=\bullet
\let\ptexc=\c
\let\ptexcomma=\,
\let\ptexdot=\.
\let\ptexdots=\dots
\let\ptexend=\end
\let\ptexequiv=\equiv
\let\ptexexclam=\!
\let\ptexfootnote=\footnote
\let\ptexgtr=>
\let\ptexhat=^
\let\ptexi=\i
\let\ptexindent=\indent
\let\ptexinsert=\insert
\let\ptexlbrace=\{
\let\ptexless=<
\let\ptexnewwrite\newwrite
\let\ptexnoindent=\noindent
\let\ptexplus=+
\let\ptexrbrace=\}
\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
\newlinechar = `^^J
\ifx\inputlineno\thisisundefined
\let\linenumber = \empty \else
\def\linenumber{l.\the\inputlineno:\space}
\fi
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi
\ifx\putwordof\undefined \gdef\putwordof{of}\fi
\ifx\putwordon\undefined \gdef\putwordon{on}\fi
\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi
\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi
\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi
\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
\chardef\spacecat = 10
\def\spaceisspace{\catcode`\ =\spacecat}
\chardef\colonChar = `\:
\chardef\commaChar = `\,
\chardef\dashChar = `\-
\chardef\dotChar = `\.
\chardef\exclamChar= `\!
\chardef\lquoteChar= `\`
\chardef\questChar = `\?
\chardef\rquoteChar= `\'
\chardef\semiChar = `\;
\chardef\underChar = `\_
\def\gobble#1{}
\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
\hyphenation{
Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
ap-pen-dix bit-map bit-maps
data-base data-bases eshell fall-ing half-way long-est man-u-script
man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
spell-ing spell-ings
stand-alone strong-est time-stamp time-stamps which-ever white-space
wide-spread wrap-around
}
\newdimen\bindingoffset
\newdimen\normaloffset
\newdimen\pagewidth \newdimen\pageheight
\def\finalout{\overfullrule=0pt}
\def\|{ \leavevmode
\vadjust{ \vskip-\baselineskip
\llap{ \vrule height\baselineskip width1pt
\hskip 12pt
} }}
\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}\def\loggingall{ \tracingstats2
\tracingpages1
\tracinglostchars2 \tracingparagraphs1
\tracingoutput1
\tracingmacros2
\tracingrestores1
\showboxbreadth\maxdimen \showboxdepth\maxdimen
\ifx\eTeXversion\undefined\else \tracingscantokens1
\tracingifs1
\tracinggroups1
\tracingnesting2
\tracingassigns1
\fi
\tracingcommands3 \errorcontextlines16
}
\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
\removelastskip\penalty-50\smallskip\fi\fi}
\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
\removelastskip\penalty-100\medskip\fi\fi}
\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
\removelastskip\penalty-200\bigskip\fi\fi}
\newif\ifcropmarks
\let\cropmarks = \cropmarkstrue
\newdimen\outerhsize \newdimen\outervsize \newdimen\cornerlong \cornerlong=1pc
\newdimen\cornerthick \cornerthick=.3pt
\newdimen\topandbottommargin \topandbottommargin=.75in
\chardef\PAGE = 255
\output = {\onepageout{\pagecontents\PAGE}}
\newbox\headlinebox
\newbox\footlinebox
\def\onepageout#1{ \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
\ifodd\pageno \advance\hoffset by \bindingoffset
\else \advance\hoffset by -\bindingoffset\fi
\setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline} \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline} { \indexdummies \normalturnoffactive \shipout\vbox{ \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
\ifcropmarks \vbox to \outervsize\bgroup
\hsize = \outerhsize
\vskip-\topandbottommargin
\vtop to0pt{ \line{\ewtop\hfil\ewtop} \nointerlineskip
\line{ \vbox{\moveleft\cornerthick\nstop} \hfill
\vbox{\moveright\cornerthick\nstop} } \vss} \vskip\topandbottommargin
\line\bgroup
\hfil \ifodd\pageno\hskip\bindingoffset\fi
\vbox\bgroup
\fi
\unvbox\headlinebox
\pagebody{#1} \ifdim\ht\footlinebox > 0pt
\vskip 24pt
\unvbox\footlinebox
\fi
\ifcropmarks
\egroup \hfil\egroup \vskip\topandbottommargin plus1fill minus1fill
\boxmaxdepth = \cornerthick
\vbox to0pt{\vss
\line{ \vbox{\moveleft\cornerthick\nsbot} \hfill
\vbox{\moveright\cornerthick\nsbot} } \nointerlineskip
\line{\ewbot\hfil\ewbot} } \egroup \fi
} } \advancepageno
\ifnum\outputpenalty>-20000 \else\dosupereject\fi
}
\newinsert\margin \dimen\margin=\maxdimen
\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
{\catcode`\@ =11
\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
\ifvoid\margin\else \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
\dimen@=\dp#1 \unvbox#1
\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
}
\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
\def\nstop{\vbox
{\hrule height\cornerthick depth\cornerlong width\cornerthick}}
\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
\def\nsbot{\vbox
{\hrule height\cornerlong depth\cornerthick width\cornerthick}}
\def\parsearg{\parseargusing{}}
\def\parseargusing#1#2{ \def\argtorun{#2} \begingroup
\obeylines
\spaceisspace
#1 \parseargline\empty}
{\obeylines \gdef\parseargline#1^^M{ \endgroup \argremovecomment #1\comment\ArgTerm }}
\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{ \def\temp{#3} \ifx\temp\empty
\let\temp\finishparsearg
\else
\let\temp\argcheckspaces
\fi
\temp#1 #3\ArgTerm
}
\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
\def\parseargdef#1{ \expandafter \doparseargdef \csname\string#1\endcsname #1}
\def\doparseargdef#1#2{ \def#2{\parsearg#1} \def#1##1}
{
\obeyspaces
\gdef\obeyedspace{ }
\gdef\sepspaces{\obeyspaces\let =\tie}
\gdef\unsepspaces{\let =\space}
}
\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
\def\startenvironment#1{\begingroup\def\thisenv{#1}}
\let\thisenv\empty
\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
\def\checkenv#1{ \def\temp{#1} \ifx\thisenv\temp
\else
\badenverr
\fi
}
\def\badenverr{ \errhelp = \EMsimple
\errmessage{This command can appear only \inenvironment\temp,
not \inenvironment\thisenv}}
\def\inenvironment#1{ \ifx#1\empty
out of any environment \else
in environment \expandafter\string#1 \fi
}
\parseargdef\end{ \if 1\csname iscond.#1\endcsname
\else
\expandafter\checkenv\csname#1\endcsname
\csname E#1\endcsname
\endgroup
\fi
}
\newhelp\EMsimple{Press RETURN to continue.}
\def\@{{\tt\char64}}
\def\mylbrace {{\tt\char123}}
\def\myrbrace {{\tt\char125}}
\let\{=\mylbrace
\let\}=\myrbrace
\begingroup
\catcode`\{ = \other \catcode`\} = \other
\catcode`\[ = 1 \catcode`\] = 2
\catcode`\! = 0 \catcode`\\ = \other
!gdef!lbracecmd[\{] !gdef!rbracecmd[\}] !gdef!lbraceatcmd[@{] !gdef!rbraceatcmd[@}]!endgroup
\let\comma = ,
\let\, = \c
\let\dotaccent = \.
\def\ringaccent#1{{\accent23 #1}}
\let\tieaccent = \t
\let\ubaraccent = \b
\let\udotaccent = \d
\def\questiondown{?`}
\def\exclamdown{!`}
\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
\def\imacro{i}
\def\jmacro{j}
\def\dotless#1{ \def\temp{#1} \ifx\temp\imacro \ptexi
\else\ifx\temp\jmacro \j
\else \errmessage{@dotless can be used only with i or j} \fi\fi
}
\edef\TeX{\TeX \spacefactor=1000 }
\def\LaTeX{ L\kern-.36em
{\setbox0=\hbox{T} \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}} \kern-.15em
\TeX
}
{\catcode`@ = 11
\global\let\tiepenalty = \@M
\gdef\tie{\leavevmode\penalty\tiepenalty\ }
}
\def\:{\spacefactor=1000 }
\def\*{\hfil\break\hbox{}\ignorespaces}
\let\/=\allowbreak
\def\.{.\spacefactor=\endofsentencespacefactor\space}
\def\!{!\spacefactor=\endofsentencespacefactor\space}
\def\?{?\spacefactor=\endofsentencespacefactor\space}
\def\onword{on}
\def\offword{off}
\parseargdef\frenchspacing{ \def\temp{#1} \ifx\temp\onword \plainfrenchspacing
\else\ifx\temp\offword \plainnonfrenchspacing
\else
\errhelp = \EMsimple
\errmessage{Unknown @frenchspacing option `\temp', must be on/off} \fi\fi
}
\def\w#1{\leavevmode\hbox{#1}}
\newbox\groupbox
\def\vfilllimit{0.7}
\envdef\group{ \ifnum\catcode`\^^M=\active \else
\errhelp = \groupinvalidhelp
\errmessage{@group invalid in context where filling is enabled} \fi
\startsavinginserts
\setbox\groupbox = \vtop\bgroup
\comment
}
\def\Egroup{ \endgraf \global\dimen1 = \prevdepth
\egroup \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
\dimen2 = \pageheight \advance\dimen2 by -\pagetotal
\ifdim \dimen0 > \dimen2
\ifdim \pagetotal < \vfilllimit\pageheight
\page
\fi
\fi
\box\groupbox
\prevdepth = \dimen1
\checkinserts
}
\newhelp\groupinvalidhelp{group can only be used in environments such as @example,^^Jwhere each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
\parseargdef\need{ \par
\dimen0 = #1\mil
\dimen2 = \ht\strutbox
\advance\dimen2 by \dp\strutbox
\ifdim\dimen0 > \dimen2
\vtop to #1\mil{\strut\vfil} \penalty9999
\kern -#1\mil
\nobreak
\fi
}
\let\br = \par
\def\page{\par\vfill\supereject}
\newskip\exdentamount
\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
\leftline{\hskip\leftskip{\rm#1}}}}
\newskip\inmarginspacing \inmarginspacing=1cm
\def\strutdepth{\dp\strutbox}
\def\doinmargin#1#2{\strut\vadjust{ \nobreak
\kern-\strutdepth
\vtop to \strutdepth{ \baselineskip=\strutdepth
\vss
\ifx#1l \llap{\ignorespaces #2\hskip\inmarginspacing} \else
\rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2} \fi
\null
}}}
\def\inleftmargin{\doinmargin l}
\def\inrightmargin{\doinmargin r}
\def\inmargin#1{\parseinmargin #1,,\finish}
\def\parseinmargin#1,#2,#3\finish{ \setbox0 = \hbox{\ignorespaces #2} \ifdim\wd0 > 0pt
\def\lefttext{#1} \def\righttext{#2} \else
\def\lefttext{#1} \def\righttext{#1} \fi
\ifodd\pageno
\def\temp{\inrightmargin\righttext} \else
\def\temp{\inleftmargin\lefttext} \fi
\temp
}
\def\include{\parseargusing\filenamecatcodes\includezzz}
\def\includezzz#1{ \pushthisfilestack
\def\thisfile{#1} { \makevalueexpandable
\def\temp{\input #1 } \expandafter
}\temp
\popthisfilestack
}
\def\filenamecatcodes{ \catcode`\\=\other
\catcode`~=\other
\catcode`^=\other
\catcode`_=\other
\catcode`|=\other
\catcode`<=\other
\catcode`>=\other
\catcode`+=\other
\catcode`-=\other
}
\def\pushthisfilestack{ \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
}
\def\pushthisfilestackX{ \expandafter\pushthisfilestackY\thisfile\StackTerm
}
\def\pushthisfilestackY #1\StackTerm #2\StackTerm { \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}}
\def\popthisfilestack{\errthisfilestackempty}
\def\errthisfilestackempty{\errmessage{Internal error:
the stack of filenames is empty.}}
\def\thisfile{}
\parseargdef\center{ \ifhmode
\let\next\centerH
\else
\let\next\centerV
\fi
\next{\hfil \ignorespaces#1\unskip \hfil}}
\def\centerH#1{ { \hfil\break
\advance\hsize by -\leftskip
\advance\hsize by -\rightskip
\line{#1} \break
}}
\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
\parseargdef\sp{\vskip #1\baselineskip}
\def\comment{\begingroup \catcode`\^^M=\other\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other\commentxxx}
{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
\let\c=\comment
\def\asisword{asis} \def\noneword{none}
\parseargdef\paragraphindent{ \def\temp{#1} \ifx\temp\asisword
\else
\ifx\temp\noneword
\defaultparindent = 0pt
\else
\defaultparindent = #1em
\fi
\fi
\parindent = \defaultparindent
}
\parseargdef\exampleindent{ \def\temp{#1} \ifx\temp\asisword
\else
\ifx\temp\noneword
\lispnarrowing = 0pt
\else
\lispnarrowing = #1em
\fi
\fi
}
\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
\def\insertword{insert}
\parseargdef\firstparagraphindent{ \def\temp{#1} \ifx\temp\noneword
\let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
\else\ifx\temp\insertword
\let\suppressfirstparagraphindent = \relax
\else
\errhelp = \EMsimple
\errmessage{Unknown @firstparagraphindent option `\temp'} \fi\fi
}
\gdef\dosuppressfirstparagraphindent{ \gdef\indent{ \restorefirstparagraphindent
\indent
} \gdef\noindent{ \restorefirstparagraphindent
\noindent
} \global\everypar = { \kern -\parindent
\restorefirstparagraphindent
}}
\gdef\restorefirstparagraphindent{ \global \let \indent = \ptexindent
\global \let \noindent = \ptexnoindent
\global \everypar = {}}
\def\asis#1{#1}
{
\catcode`\_ = \active
\gdef\mathunderscore{ \catcode`\_=\active
\def_{\ifnum\fam=\slfam \_\else\sb\fi} }
}
\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
\def\math{ \tex
\mathunderscore
\let\\ = \mathbackslash
\mathactive
$\finishmath
}
\def\finishmath#1{#1$\endgroup}
{
\catcode`^ = \active
\catcode`< = \active
\catcode`> = \active
\catcode`+ = \active
\gdef\mathactive{ \let^ = \ptexhat
\let< = \ptexless
\let> = \ptexgtr
\let+ = \ptexplus
}
}
\def\bullet{$\ptexbullet$}
\def\minus{$-$}
\def\dots{ \leavevmode
\setbox0=\hbox{...} \ifdim\wd0 > 1.5em
\dimen0 = \wd0
\else
\dimen0 = 1.5em
\fi
\hbox to \dimen0{ \hskip 0pt plus.25fil
.\hskip 0pt plus1fil
.\hskip 0pt plus1fil
.\hskip 0pt plus.5fil
}}
\def\enddots{ \dots
\spacefactor=\endofsentencespacefactor
}
\let\comma = ,
\let\refill=\relax
\newif\iflinks \linkstrue \let\novalidate = \linksfalse
\def\setfilename{ \fixbackslash \iflinks
\tryauxfile
\immediate\openout\auxfile=\jobname.aux
\fi \openindices
\let\setfilename=\comment \openin 1 texinfo.cnf
\ifeof 1 \else \input texinfo.cnf \fi
\closein 1
\comment }
\def\openindices{ \newindex{cp} \newcodeindex{fn} \newcodeindex{vr} \newcodeindex{tp} \newcodeindex{ky} \newcodeindex{pg}}
\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
\message{pdf,}
\newcount\tempnum
\newcount\lnkcount
\newtoks\filename
\newcount\filenamelength
\newcount\pgn
\newtoks\toksA
\newtoks\toksB
\newtoks\toksC
\newtoks\toksD
\newbox\boxA
\newcount\countA
\newif\ifpdf
\newif\ifpdfmakepagedest
\ifx\pdfoutput\undefined
\else
\ifx\pdfoutput\relax
\else
\ifcase\pdfoutput
\else
\pdftrue
\fi
\fi
\fi
{\catcode`\@=0 \catcode`\\=\active
@gdef@activebackslashdouble{ @catcode`@\=@active
@let\=@doublebackslash}
}
\def\HyPsdSubst#1#2#3{ \def\HyPsdReplace##1#1##2\END{ ##1 \ifx\\##2\\ \else
#2 \HyReturnAfterFi{ \HyPsdReplace##2\END
} \fi
} \xdef#3{\expandafter\HyPsdReplace#3#1\END}}
\long\def\HyReturnAfterFi#1\fi{\fi#1}
\def\backslashparens#1{ \xdef#1{#1} \HyPsdSubst{(}{\realbackslash(}{#1} \HyPsdSubst{)}{\realbackslash)}{#1}}
\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
with PDF output, and none of those formats could be found. (.eps cannot
be supported due to the design of the PDF format; use regular TeX (DVI
output) for that.)}
\ifpdf
\input pdfcolor
\pdfcatalog{/PageMode /UseOutlines}
\def\dopdfimage#1#2#3{ \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2} \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3} \let\pdfimgext=\empty
\begingroup
\openin 1 #1.png \ifeof 1
\openin 1 #1.jpg \ifeof 1
\openin 1 #1.jpeg \ifeof 1
\openin 1 #1.JPG \ifeof 1
\openin 1 #1.pdf \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf} \else \gdef\pdfimgext{pdf} \fi
\else \gdef\pdfimgext{JPG} \fi
\else \gdef\pdfimgext{jpeg} \fi
\else \gdef\pdfimgext{jpg} \fi
\else \gdef\pdfimgext{png} \fi
\closein 1
\endgroup
\ifnum\pdftexversion < 14
\immediate\pdfimage
\else
\immediate\pdfximage
\fi
\ifdim \wd0 >0pt width \imagewidth \fi
\ifdim \wd2 >0pt height \imageheight \fi
\ifnum\pdftexversion<13
#1.\pdfimgext
\else
{#1.\pdfimgext} \fi
\ifnum\pdftexversion < 14 \else
\pdfrefximage \pdflastximage
\fi}
\def\pdfmkdest#1{{ \indexnofonts
\turnoffactive
\activebackslashdouble
\makevalueexpandable
\def\pdfdestname{#1} \backslashparens\pdfdestname
\safewhatsit{\pdfdest name{\pdfdestname} xyz} }}
\def\pdfmkpgn#1{#1}
\let\urlcolor = \BrickRed
\let\linkcolor = \BrickRed
\def\endlink{\Black\pdfendlink}
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0 \else \csname#1\endcsname \fi}
\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
\advance\tempnum by 1
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
\def\dopdfoutline#1#2#3#4{ \def\pdfoutlinedest{#3} \ifx\pdfoutlinedest\empty
\def\pdfoutlinedest{#4} \else
{\activebackslashdouble \xdef\pdfoutlinedest{#3} \backslashparens\pdfoutlinedest} \fi
{\activebackslashdouble \xdef\pdfoutlinetext{#1} \backslashparens\pdfoutlinetext} \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext} }
\def\pdfmakeoutlines{ \begingroup
\edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
\def\numchapentry##1##2##3##4{ \def\thischapnum{##2} \def\thissecnum{0} \def\thissubsecnum{0} } \def\numsecentry##1##2##3##4{ \advancenumber{chap\thischapnum} \def\thissecnum{##2} \def\thissubsecnum{0} } \def\numsubsecentry##1##2##3##4{ \advancenumber{sec\thissecnum} \def\thissubsecnum{##2} } \def\numsubsubsecentry##1##2##3##4{ \advancenumber{subsec\thissubsecnum} } \def\thischapnum{0} \def\thissecnum{0} \def\thissubsecnum{0} \def\appentry{\numchapentry} \def\appsecentry{\numsecentry} \def\appsubsecentry{\numsubsecentry} \def\appsubsubsecentry{\numsubsubsecentry} \def\unnchapentry{\numchapentry} \def\unnsecentry{\numsecentry} \def\unnsubsecentry{\numsubsecentry} \def\unnsubsubsecentry{\numsubsubsecentry} \readdatafile{toc} \def\numchapentry##1##2##3##4{ \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}} \def\numsecentry##1##2##3##4{ \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}} \def\numsubsecentry##1##2##3##4{ \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}} \def\numsubsubsecentry##1##2##3##4{ \dopdfoutline{##1}{}{##3}{##4}} \indexnofonts
\setupdatafile
\catcode`\\=\active \otherbackslash
\input \jobname.toc
\endgroup
}
\def\skipspaces#1{\def\PP{#1}\def\D{|} \ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
\ifx\p\space\else\addtokens{\filename}{\PP} \advance\filenamelength by 1
\fi
\fi
\nextsp}
\def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
\ifnum\pdftexversion < 14
\let \startlink \pdfannotlink
\else
\let \startlink \pdfstartlink
\fi
\def\pdfurl#1{ \begingroup
\normalturnoffactive
\def\@{@} \let\/=\empty
\makevalueexpandable
\leavevmode\urlcolor
\startlink attr{/Border [0 0 0]} user{/Subtype /Link /A << /S /URI /URI (#1) >>} \endgroup}
\def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
\def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
\def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
\def\maketoks{ \expandafter\poptoks\the\toksA|ENDTOKS|\relax
\ifx\first0\adn0
\else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
\else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
\else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
\else
\ifnum0=\countA\else\makelink\fi
\ifx\first.\let\next=\done\else
\let\next=\maketoks
\addtokens{\toksB}{\the\toksD}
\ifx\first,\addtokens{\toksB}{\space}\fi
\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\next}
\def\makelink{\addtokens{\toksB} {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
\def\pdflink#1{ \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
\linkcolor #1\endlink}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\else
\let\pdfmkdest = \gobble
\let\pdfurl = \gobble
\let\endlink = \relax
\let\linkcolor = \relax
\let\pdfmakeoutlines = \relax
\fi
\message{fonts,}
\def\setfontstyle#1{ \def\curfontstyle{#1} \csname ten#1\endcsname }
\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
\def\rm{\fam=0 \setfontstyle{rm}}
\def\it{\fam=\itfam \setfontstyle{it}}
\def\sl{\fam=\slfam \setfontstyle{sl}}
\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
\def\tt{\fam=\ttfam \setfontstyle{tt}}
\newfam\sffam
\def\sf{\fam=\sffam \setfontstyle{sf}}
\let\li = \sf
\def\ttsl{\setfontstyle{ttsl}}
\newdimen\textleading \textleading = 13.2pt
\def\lineskipfactor{.08333}
\def\strutheightpercent{.70833}
\def\strutdepthpercent {.29167}
\def\setleading#1{ \normalbaselineskip = #1\relax
\normallineskip = \lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox =\hbox{ \vrule width0pt height\strutheightpercent\baselineskip
depth \strutdepthpercent \baselineskip
}}
\ifpdf
\begingroup
\catcode`\^^M=\active \def^^M{^^J} \catcode`\%=12 \immediate\pdfobj stream {/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (OT1)
/Supplement 0
>> def
/CMapName /TeX-OT1-0 def
/CMapType 2 def
1 begincodespacerange
<00> <7F>
endcodespacerange
8 beginbfrange
<00> <01> <0393>
<09> <0A> <03A8>
<23> <26> <0023>
<28> <3B> <0028>
<3F> <5B> <003F>
<5D> <5E> <005D>
<61> <7A> <0061>
<7B> <7C> <2013>
endbfrange
40 beginbfchar
<02> <0398>
<03> <039B>
<04> <039E>
<05> <03A0>
<06> <03A3>
<07> <03D2>
<08> <03A6>
<0B> <00660066>
<0C> <00660069>
<0D> <0066006C>
<0E> <006600660069>
<0F> <00660066006C>
<10> <0131>
<11> <0237>
<12> <0060>
<13> <00B4>
<14> <02C7>
<15> <02D8>
<16> <00AF>
<17> <02DA>
<18> <00B8>
<19> <00DF>
<1A> <00E6>
<1B> <0153>
<1C> <00F8>
<1D> <00C6>
<1E> <0152>
<1F> <00D8>
<21> <0021>
<22> <201D>
<27> <2019>
<3C> <00A1>
<3D> <003D>
<3E> <00BF>
<5C> <201C>
<5F> <02D9>
<60> <2018>
<7D> <02DD>
<7E> <007E>
<7F> <00A8>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
}\endgroup
\expandafter\edef\csname cmapOT1\endcsname#1{ \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R} } \begingroup
\catcode`\^^M=\active \def^^M{^^J} \catcode`\%=12 \immediate\pdfobj stream {/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (OT1IT)
/Supplement 0
>> def
/CMapName /TeX-OT1IT-0 def
/CMapType 2 def
1 begincodespacerange
<00> <7F>
endcodespacerange
8 beginbfrange
<00> <01> <0393>
<09> <0A> <03A8>
<25> <26> <0025>
<28> <3B> <0028>
<3F> <5B> <003F>
<5D> <5E> <005D>
<61> <7A> <0061>
<7B> <7C> <2013>
endbfrange
42 beginbfchar
<02> <0398>
<03> <039B>
<04> <039E>
<05> <03A0>
<06> <03A3>
<07> <03D2>
<08> <03A6>
<0B> <00660066>
<0C> <00660069>
<0D> <0066006C>
<0E> <006600660069>
<0F> <00660066006C>
<10> <0131>
<11> <0237>
<12> <0060>
<13> <00B4>
<14> <02C7>
<15> <02D8>
<16> <00AF>
<17> <02DA>
<18> <00B8>
<19> <00DF>
<1A> <00E6>
<1B> <0153>
<1C> <00F8>
<1D> <00C6>
<1E> <0152>
<1F> <00D8>
<21> <0021>
<22> <201D>
<23> <0023>
<24> <00A3>
<27> <2019>
<3C> <00A1>
<3D> <003D>
<3E> <00BF>
<5C> <201C>
<5F> <02D9>
<60> <2018>
<7D> <02DD>
<7E> <007E>
<7F> <00A8>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
}\endgroup
\expandafter\edef\csname cmapOT1IT\endcsname#1{ \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R} } \begingroup
\catcode`\^^M=\active \def^^M{^^J} \catcode`\%=12 \immediate\pdfobj stream {/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (OT1TT)
/Supplement 0
>> def
/CMapName /TeX-OT1TT-0 def
/CMapType 2 def
1 begincodespacerange
<00> <7F>
endcodespacerange
5 beginbfrange
<00> <01> <0393>
<09> <0A> <03A8>
<21> <26> <0021>
<28> <5F> <0028>
<61> <7E> <0061>
endbfrange
32 beginbfchar
<02> <0398>
<03> <039B>
<04> <039E>
<05> <03A0>
<06> <03A3>
<07> <03D2>
<08> <03A6>
<0B> <2191>
<0C> <2193>
<0D> <0027>
<0E> <00A1>
<0F> <00BF>
<10> <0131>
<11> <0237>
<12> <0060>
<13> <00B4>
<14> <02C7>
<15> <02D8>
<16> <00AF>
<17> <02DA>
<18> <00B8>
<19> <00DF>
<1A> <00E6>
<1B> <0153>
<1C> <00F8>
<1D> <00C6>
<1E> <0152>
<1F> <00D8>
<20> <2423>
<27> <2019>
<60> <2018>
<7F> <00A8>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
}\endgroup
\expandafter\edef\csname cmapOT1TT\endcsname#1{ \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R} }\else
\expandafter\let\csname cmapOT1\endcsname\gobble
\expandafter\let\csname cmapOT1IT\endcsname\gobble
\expandafter\let\csname cmapOT1TT\endcsname\gobble
\fi
\def\setfont#1#2#3#4#5{ \font#1=\fontprefix#2#3 scaled #4
\csname cmap#5\endcsname#1}
\let\cmap\gobble
\ifx\fontprefix\undefined
\def\fontprefix{cm}
\fi
\def\rmshape{r}
\def\rmbshape{bx} \def\bfshape{b}
\def\bxshape{bx}
\def\ttshape{tt}
\def\ttbshape{tt}
\def\ttslshape{sltt}
\def\itshape{ti}
\def\itbshape{bxti}
\def\slshape{sl}
\def\slbshape{bxsl}
\def\sfshape{ss}
\def\sfbshape{ss}
\def\scshape{csc}
\def\scbshape{csc}
\def\definetextfontsizexi{\def\textnominalsize{11pt}
\edef\mainmagstep{\magstephalf}
\setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
\setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
\setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
\setfont\textsl\slshape{10}{\mainmagstep}{OT1}
\setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
\setfont\textsc\scshape{10}{\mainmagstep}{OT1}
\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
\font\texti=cmmi10 scaled \mainmagstep
\font\textsy=cmsy10 scaled \mainmagstep
\setfont\defbf\bfshape{10}{\magstep1}{OT1}
\setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
\def\smallnominalsize{9pt}
\setfont\smallrm\rmshape{9}{1000}{OT1}
\setfont\smalltt\ttshape{9}{1000}{OT1TT}
\setfont\smallbf\bfshape{10}{900}{OT1}
\setfont\smallit\itshape{9}{1000}{OT1IT}
\setfont\smallsl\slshape{9}{1000}{OT1}
\setfont\smallsf\sfshape{9}{1000}{OT1}
\setfont\smallsc\scshape{10}{900}{OT1}
\setfont\smallttsl\ttslshape{10}{900}{OT1TT}
\font\smalli=cmmi9
\font\smallsy=cmsy9
\def\smallernominalsize{8pt}
\setfont\smallerrm\rmshape{8}{1000}{OT1}
\setfont\smallertt\ttshape{8}{1000}{OT1TT}
\setfont\smallerbf\bfshape{10}{800}{OT1}
\setfont\smallerit\itshape{8}{1000}{OT1IT}
\setfont\smallersl\slshape{8}{1000}{OT1}
\setfont\smallersf\sfshape{8}{1000}{OT1}
\setfont\smallersc\scshape{10}{800}{OT1}
\setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
\font\smalleri=cmmi8
\font\smallersy=cmsy8
\def\titlenominalsize{20pt}
\setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
\setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
\setfont\titlesl\slbshape{10}{\magstep4}{OT1}
\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
\setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
\let\titlebf=\titlerm
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
\font\titlei=cmmi12 scaled \magstep3
\font\titlesy=cmsy10 scaled \magstep4
\def\authorrm{\secrm}
\def\authortt{\sectt}
\def\chapnominalsize{17pt}
\setfont\chaprm\rmbshape{12}{\magstep2}{OT1}
\setfont\chapit\itbshape{10}{\magstep3}{OT1IT}
\setfont\chapsl\slbshape{10}{\magstep3}{OT1}
\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT}
\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT}
\setfont\chapsf\sfbshape{17}{1000}{OT1}
\let\chapbf=\chaprm
\setfont\chapsc\scbshape{10}{\magstep3}{OT1}
\font\chapi=cmmi12 scaled \magstep2
\font\chapsy=cmsy10 scaled \magstep3
\def\secnominalsize{14pt}
\setfont\secrm\rmbshape{12}{\magstep1}{OT1}
\setfont\secit\itbshape{10}{\magstep2}{OT1IT}
\setfont\secsl\slbshape{10}{\magstep2}{OT1}
\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT}
\setfont\secsf\sfbshape{12}{\magstep1}{OT1}
\let\secbf\secrm
\setfont\secsc\scbshape{10}{\magstep2}{OT1}
\font\seci=cmmi12 scaled \magstep1
\font\secsy=cmsy10 scaled \magstep2
\def\ssecnominalsize{13pt}
\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1}
\setfont\ssecit\itbshape{10}{1315}{OT1IT}
\setfont\ssecsl\slbshape{10}{1315}{OT1}
\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT}
\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT}
\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1}
\let\ssecbf\ssecrm
\setfont\ssecsc\scbshape{10}{1315}{OT1}
\font\sseci=cmmi12 scaled \magstephalf
\font\ssecsy=cmsy10 scaled 1315
\def\reducednominalsize{10pt}
\setfont\reducedrm\rmshape{10}{1000}{OT1}
\setfont\reducedtt\ttshape{10}{1000}{OT1TT}
\setfont\reducedbf\bfshape{10}{1000}{OT1}
\setfont\reducedit\itshape{10}{1000}{OT1IT}
\setfont\reducedsl\slshape{10}{1000}{OT1}
\setfont\reducedsf\sfshape{10}{1000}{OT1}
\setfont\reducedsc\scshape{10}{1000}{OT1}
\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT}
\font\reducedi=cmmi10
\font\reducedsy=cmsy10
\textfonts
\rm
}
\def\definetextfontsizex{\def\textnominalsize{10pt}
\edef\mainmagstep{1000}
\setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
\setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
\setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
\setfont\textsl\slshape{10}{\mainmagstep}{OT1}
\setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
\setfont\textsc\scshape{10}{\mainmagstep}{OT1}
\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
\font\texti=cmmi10 scaled \mainmagstep
\font\textsy=cmsy10 scaled \mainmagstep
\setfont\defbf\bfshape{10}{\magstephalf}{OT1}
\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
\def\smallnominalsize{9pt}
\setfont\smallrm\rmshape{9}{1000}{OT1}
\setfont\smalltt\ttshape{9}{1000}{OT1TT}
\setfont\smallbf\bfshape{10}{900}{OT1}
\setfont\smallit\itshape{9}{1000}{OT1IT}
\setfont\smallsl\slshape{9}{1000}{OT1}
\setfont\smallsf\sfshape{9}{1000}{OT1}
\setfont\smallsc\scshape{10}{900}{OT1}
\setfont\smallttsl\ttslshape{10}{900}{OT1TT}
\font\smalli=cmmi9
\font\smallsy=cmsy9
\def\smallernominalsize{8pt}
\setfont\smallerrm\rmshape{8}{1000}{OT1}
\setfont\smallertt\ttshape{8}{1000}{OT1TT}
\setfont\smallerbf\bfshape{10}{800}{OT1}
\setfont\smallerit\itshape{8}{1000}{OT1IT}
\setfont\smallersl\slshape{8}{1000}{OT1}
\setfont\smallersf\sfshape{8}{1000}{OT1}
\setfont\smallersc\scshape{10}{800}{OT1}
\setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
\font\smalleri=cmmi8
\font\smallersy=cmsy8
\def\titlenominalsize{20pt}
\setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
\setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
\setfont\titlesl\slbshape{10}{\magstep4}{OT1}
\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
\setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
\let\titlebf=\titlerm
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
\font\titlei=cmmi12 scaled \magstep3
\font\titlesy=cmsy10 scaled \magstep4
\def\authorrm{\secrm}
\def\authortt{\sectt}
\def\chapnominalsize{14pt}
\setfont\chaprm\rmbshape{12}{\magstep1}{OT1}
\setfont\chapit\itbshape{10}{\magstep2}{OT1IT}
\setfont\chapsl\slbshape{10}{\magstep2}{OT1}
\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT}
\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT}
\setfont\chapsf\sfbshape{12}{\magstep1}{OT1}
\let\chapbf\chaprm
\setfont\chapsc\scbshape{10}{\magstep2}{OT1}
\font\chapi=cmmi12 scaled \magstep1
\font\chapsy=cmsy10 scaled \magstep2
\def\secnominalsize{12pt}
\setfont\secrm\rmbshape{12}{1000}{OT1}
\setfont\secit\itbshape{10}{\magstep1}{OT1IT}
\setfont\secsl\slbshape{10}{\magstep1}{OT1}
\setfont\sectt\ttbshape{12}{1000}{OT1TT}
\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT}
\setfont\secsf\sfbshape{12}{1000}{OT1}
\let\secbf\secrm
\setfont\secsc\scbshape{10}{\magstep1}{OT1}
\font\seci=cmmi12
\font\secsy=cmsy10 scaled \magstep1
\def\ssecnominalsize{10pt}
\setfont\ssecrm\rmbshape{10}{1000}{OT1}
\setfont\ssecit\itbshape{10}{1000}{OT1IT}
\setfont\ssecsl\slbshape{10}{1000}{OT1}
\setfont\ssectt\ttbshape{10}{1000}{OT1TT}
\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT}
\setfont\ssecsf\sfbshape{10}{1000}{OT1}
\let\ssecbf\ssecrm
\setfont\ssecsc\scbshape{10}{1000}{OT1}
\font\sseci=cmmi10
\font\ssecsy=cmsy10
\def\reducednominalsize{9pt}
\setfont\reducedrm\rmshape{9}{1000}{OT1}
\setfont\reducedtt\ttshape{9}{1000}{OT1TT}
\setfont\reducedbf\bfshape{10}{900}{OT1}
\setfont\reducedit\itshape{9}{1000}{OT1IT}
\setfont\reducedsl\slshape{9}{1000}{OT1}
\setfont\reducedsf\sfshape{9}{1000}{OT1}
\setfont\reducedsc\scshape{10}{900}{OT1}
\setfont\reducedttsl\ttslshape{10}{900}{OT1TT}
\font\reducedi=cmmi9
\font\reducedsy=cmsy9
\divide\parskip by 2
\textfonts
\rm
}
\def\xword{10}
\def\xiword{11}
\parseargdef\fonttextsize{ \def\textsizearg{#1} \wlog{doing @fonttextsize \textsizearg} \begingroup \globaldefs=1
\ifx\textsizearg\xword \definetextfontsizex
\else \ifx\textsizearg\xiword \definetextfontsizexi
\else
\errhelp=\EMsimple
\errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'}
\fi\fi
\endgroup
}
\def\resetmathfonts{ \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
\textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
\textfont\ttfam=\tentt \textfont\sffam=\tensf
}
\def\textfonts{ \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
\let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
\let\tenttsl=\textttsl
\def\curfontsize{text} \def\lsize{reduced}\def\lllsize{smaller} \resetmathfonts \setleading{\textleading}}
\def\titlefonts{ \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
\let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl
\def\curfontsize{title} \def\lsize{chap}\def\lllsize{subsec} \resetmathfonts \setleading{25pt}}
\def\titlefont#1{{\titlefonts\rm #1}}
\def\chapfonts{ \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
\let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
\let\tenttsl=\chapttsl
\def\curfontsize{chap} \def\lsize{sec}\def\lllsize{text} \resetmathfonts \setleading{19pt}}
\def\secfonts{ \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
\let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
\let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
\let\tenttsl=\secttsl
\def\curfontsize{sec} \def\lsize{subsec}\def\lllsize{reduced} \resetmathfonts \setleading{16pt}}
\def\subsecfonts{ \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
\let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
\let\tenttsl=\ssecttsl
\def\curfontsize{ssec} \def\lsize{text}\def\lllsize{small} \resetmathfonts \setleading{15pt}}
\let\subsubsecfonts = \subsecfonts
\def\reducedfonts{ \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
\let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
\let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
\let\tenttsl=\reducedttsl
\def\curfontsize{reduced} \def\lsize{small}\def\lllsize{smaller} \resetmathfonts \setleading{10.5pt}}
\def\smallfonts{ \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl
\def\curfontsize{small} \def\lsize{smaller}\def\lllsize{smaller} \resetmathfonts \setleading{10.5pt}}
\def\smallerfonts{ \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
\let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl
\def\curfontsize{smaller} \def\lsize{smaller}\def\lllsize{smaller} \resetmathfonts \setleading{9.5pt}}
\let\smallexamplefonts = \smallfonts
\definetextfontsizexi
\def\angleleft{$\langle$}
\def\angleright{$\rangle$}
\newcount\fontdepth \fontdepth=0
\setfont\shortcontrm\rmshape{12}{1000}{OT1}
\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} \setfont\shortcontsl\slshape{12}{1000}{OT1}
\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
\ptexslash\fi\fi\fi}
\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
\let\slanted=\smartslanted
\let\var=\smartslanted
\let\dfn=\smartslanted
\let\emph=\smartitalic
\def\b#1{{\bf #1}}
\let\strong=\b
\def\sansserif#1{{\sf #1}}
\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
\def\restorehyphenation{\hyphenchar\font = `- }
\catcode`@=11
\def\plainfrenchspacing{ \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
\sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
\def\endofsentencespacefactor{1000} }
\def\plainnonfrenchspacing{ \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
\sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
\def\endofsentencespacefactor{3000} }
\catcode`@=\other
\def\endofsentencespacefactor{3000}
\def\t#1{ {\tt \rawbackslash \plainfrenchspacing #1} \null
}
\def\samp#1{`\tclose{#1}'\null}
\setfont\keyrm\rmshape{8}{1000}{OT1}
\font\keysy=cmsy9
\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{ \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{ \vbox{\hrule\kern-0.4pt
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}} \kern-0.4pt\hrule} \kern-.06em\raise0.4pt\hbox{\angleright}}}}
\def\key #1{{\nohyphenation \uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
\let\file=\samp
\let\option=\samp
\def\tclose#1{ { \spaceskip = \fontdimen2\font
\tt
\def\ {{\spaceskip = 0pt{} }} \nohyphenation
\rawbackslash
\plainfrenchspacing
#1 } \null
}
{
\catcode`\-=\active \catcode`\_=\active
\catcode`\'=\active \catcode`\`=\active
\global\def\code{\begingroup
\catcode\rquoteChar=\active \catcode\lquoteChar=\active
\let'\codequoteright \let`\codequoteleft
\catcode\dashChar=\active \catcode\underChar=\active
\ifallowcodebreaks
\let-\codedash
\let_\codeunder
\else
\let-\realdash
\let_\realunder
\fi
\codex
}
}
\def\realdash{-}
\def\codedash{-\discretionary{}{}{}}
\def\codeunder{ \ifusingtt{\ifmmode
\mathchar"075F \else\normalunderscore \fi
\discretionary{}{}{}} {\_}}
\def\codex #1{\tclose{#1}\endgroup}
\newif\ifallowcodebreaks \allowcodebreakstrue
\def\keywordtrue{true}
\def\keywordfalse{false}
\parseargdef\allowcodebreaks{ \def\txiarg{#1} \ifx\txiarg\keywordtrue
\allowcodebreakstrue
\else\ifx\txiarg\keywordfalse
\allowcodebreaksfalse
\else
\errhelp = \EMsimple
\errmessage{Unknown @allowcodebreaks option `\txiarg'} \fi\fi
}
\parseargdef\kbdinputstyle{ \def\txiarg{#1} \ifx\txiarg\worddistinct
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl} \else\ifx\txiarg\wordexample
\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt} \else\ifx\txiarg\wordcode
\gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt} \else
\errhelp = \EMsimple
\errmessage{Unknown @kbdinputstyle option `\txiarg'} \fi\fi\fi
}
\def\worddistinct{distinct}
\def\wordexample{example}
\def\wordcode{code}
\kbdinputstyle distinct
\def\xkey{\key}
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}\ifx\one\xkey\ifx\threex\three \key{#2}\else{\tclose{\kbdfont\look}}\fi
\else{\tclose{\kbdfont\look}}\fi}
\let\indicateurl=\code
\let\env=\code
\let\command=\code
\def\uref#1{\douref #1,,,\finish}
\def\douref#1,#2,#3,#4\finish{\begingroup
\unsepspaces
\pdfurl{#1} \setbox0 = \hbox{\ignorespaces #3} \ifdim\wd0 > 0pt
\unhbox0 \else
\setbox0 = \hbox{\ignorespaces #2} \ifdim\wd0 > 0pt
\ifpdf
\unhbox0 \else
\unhbox0\ (\code{#1}) \fi
\else
\code{#1} \fi
\fi
\endlink
\endgroup}
\let\url=\uref
\ifpdf
\def\email#1{\doemail#1,,\finish}
\def\doemail#1,#2,#3\finish{\begingroup
\unsepspaces
\pdfurl{mailto:#1} \setbox0 = \hbox{\ignorespaces #2} \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
\endlink
\endgroup}
\else
\let\email=\uref
\fi
\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
\def\dmn#1{\thinspace #1}
\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
\def\r#1{{\rm #1}} \def\sc#1{{\smallcaps#1}} \def\ii#1{{\it #1}}
\def\acronym#1{\doacronym #1,,\finish}
\def\doacronym#1,#2,#3\finish{ {\selectfonts\lsize #1} \def\temp{#2} \ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip}) \fi
}
\def\abbr#1{\doabbr #1,,\finish}
\def\doabbr#1,#2,#3\finish{ {\plainfrenchspacing #1} \def\temp{#2} \ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip}) \fi
}
\def\pounds{{\it\$}}
\def\euro{{\eurofont e}}
\def\eurofont{ \def\eurosize{\csname\curfontsize nominalsize\endcsname} \ifx\curfontstyle\bfstylename
\font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
\else
\font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
\fi
\thiseurofont
}
\def\registeredsymbol{ $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R} \hfil\crcr\Orb}} }$}
\def\textdegree{$^\circ$}
\ifx\Orb\undefined
\def\Orb{\mathhexbox20D}
\fi
\message{page headings,}
\newskip\titlepagetopglue \titlepagetopglue = 1.5in
\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
\newif\ifseenauthor
\newif\iffinishedtitlepage
\newif\ifsetcontentsaftertitlepage
\let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1} \endgroup\page\hbox{}\page}
\envdef\titlepage{ \begingroup
\parindent=0pt \textfonts
\vglue\titlepagetopglue
\finishedtitlepagetrue
\let\oldpage = \page
\def\page{ \iffinishedtitlepage\else
\finishtitlepage
\fi
\let\page = \oldpage
\page
\null
}}
\def\Etitlepage{ \iffinishedtitlepage\else
\finishtitlepage
\fi
\oldpage
\endgroup
\HEADINGSon
\ifsetshortcontentsaftertitlepage
\shortcontents
\contents
\global\let\shortcontents = \relax
\global\let\contents = \relax
\fi
\ifsetcontentsaftertitlepage
\contents
\global\let\contents = \relax
\global\let\shortcontents = \relax
\fi
}
\def\finishtitlepage{ \vskip4pt \hrule height 2pt width \hsize
\vskip\titlepagebottomglue
\finishedtitlepagetrue
}
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
\let\tt=\authortt}
\parseargdef\title{ \checkenv\titlepage
\leftline{\titlefonts\rm #1}
\finishedtitlepagefalse
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
}
\parseargdef\subtitle{ \checkenv\titlepage
{\subtitlefont \rightline{#1}}}
\parseargdef\author{ \def\temp{\quotation} \ifx\thisenv\temp
\def\quotationauthor{#1} \else
\checkenv\titlepage
\ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
{\authorfont \leftline{#1}} \fi
}
\let\thispage=\folio
\newtoks\evenheadline \newtoks\oddheadline \newtoks\evenfootline \newtoks\oddfootline
\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
\else \the\evenheadline \fi}}
\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
\else \the\evenfootline \fi}\HEADINGShook}
\let\HEADINGShook=\relax
\def\evenheading{\parsearg\evenheadingxxx}
\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
\def\evenheadingyyy #1\|#2\|#3\|#4\finish{\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\def\oddheading{\parsearg\oddheadingxxx}
\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
\def\oddheadingyyy #1\|#2\|#3\|#4\finish{\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}
\def\evenfooting{\parsearg\evenfootingxxx}
\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
\def\evenfootingyyy #1\|#2\|#3\|#4\finish{\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\def\oddfooting{\parsearg\oddfootingxxx}
\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
\def\oddfootingyyy #1\|#2\|#3\|#4\finish{ \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}} \global\advance\pageheight by -12pt
\global\advance\vsize by -12pt
}
\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
\def\headings #1 {\csname HEADINGS#1\endcsname}
\def\HEADINGSoff{\global\evenheadline={\hfil} \global\evenfootline={\hfil}
\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
\HEADINGSoff
\def\HEADINGSdouble{\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chapoddpage
}
\let\contentsalignmacro = \chappager
\def\HEADINGSsingle{\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chappager
}
\def\HEADINGSon{\HEADINGSdouble}
\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
\let\HEADINGSdoubleafter=\HEADINGSafter
\def\HEADINGSdoublex{\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chapoddpage
}
\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
\def\HEADINGSsinglex{\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
\global\let\contentsalignmacro = \chappager
}
\ifx\today\undefined
\def\today{ \number\day\space
\ifcase\month
\or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
\or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
\or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
\fi
\space\number\year}
\fi
\def\thistitle{\putwordNoTitle}
\def\settitle{\parsearg{\gdef\thistitle}}
\message{tables,}
\newdimen\tableindent \tableindent=.8in
\newdimen\itemindent \itemindent=.3in
\newdimen\itemmargin \itemmargin=.1in
\newdimen\itemmax
\newif\ifitemxneedsnegativevskip
\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
\def\internalBitem{\smallbreak \parsearg\itemzzz}
\def\internalBitemx{\itemxpar \parsearg\itemzzz}
\def\itemzzz #1{\begingroup \advance\hsize by -\rightskip
\advance\hsize by -\tableindent
\setbox0=\hbox{\itemindicate{#1}} \itemindex{#1} \nobreak \ifdim \wd0>\itemmax
\begingroup
\advance\leftskip by-\tableindent
\advance\hsize by\tableindent
\advance\rightskip by0pt plus1fil
\leavevmode\unhbox0\par
\endgroup
\nobreak \vskip-\parskip
\penalty 10001
\endgroup
\itemxneedsnegativevskipfalse
\else
\noindent
\nobreak\kern-\tableindent
\dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
\unhbox0
\nobreak\kern\dimen0
\endgroup
\itemxneedsnegativevskiptrue
\fi
}
\def\item{\errmessage{@item while not in a list environment}}
\def\itemx{\errmessage{@itemx while not in a list environment}}
\envdef\table{ \let\itemindex\gobble
\tablecheck{table}}
\envdef\ftable{ \def\itemindex ##1{\doind {fn}{\code{##1}}} \tablecheck{ftable}}
\envdef\vtable{ \def\itemindex ##1{\doind {vr}{\code{##1}}} \tablecheck{vtable}}
\def\tablecheck#1{ \ifnum \the\catcode`\^^M=\active
\endgroup
\errmessage{This command won't work in this context; perhaps the problem is
that we are \inenvironment\thisenv} \def\next{\doignore{#1}} \else
\let\next\tablex
\fi
\next
}
\def\tablex#1{ \def\itemindicate{#1} \parsearg\tabley
}
\def\tabley#1{ { \makevalueexpandable
\edef\temp{\noexpand\tablez #1\space\space\space} \expandafter
}\temp \endtablez
}
\def\tablez #1 #2 #3 #4\endtablez{ \aboveenvbreak
\ifnum 0#1>0 \advance \leftskip by #1\mil \fi
\ifnum 0#2>0 \tableindent=#2\mil \fi
\ifnum 0#3>0 \advance \rightskip by #3\mil \fi
\itemmax=\tableindent
\advance \itemmax by -\itemmargin
\advance \leftskip by \tableindent
\exdentamount=\tableindent
\parindent = 0pt
\parskip = \smallskipamount
\ifdim \parskip=0pt \parskip=2pt \fi
\let\item = \internalBitem
\let\itemx = \internalBitemx
}
\def\Etable{\endgraf\afterenvbreak}
\let\Eftable\Etable
\let\Evtable\Etable
\let\Eitemize\Etable
\let\Eenumerate\Etable
\newcount \itemno
\envdef\itemize{\parsearg\doitemize}
\def\doitemize#1{ \aboveenvbreak
\itemmax=\itemindent
\advance\itemmax by -\itemmargin
\advance\leftskip by \itemindent
\exdentamount=\itemindent
\parindent=0pt
\parskip=\smallskipamount
\ifdim\parskip=0pt \parskip=2pt \fi
\def\itemcontents{#1} \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
\let\item=\itemizeitem
}
\def\itemizeitem{ \advance\itemno by 1 {\let\par=\endgraf \smallbreak} { \ifnum\lastpenalty<10000 \parskip=0in \fi
\noindent
\hbox to 0pt{\hss \itemcontents \kern\itemmargin} \vadjust{\penalty 1200}} \flushcr
}
\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}
\envparseargdef\enumerate{\enumeratey #1 \endenumeratey}
\def\enumeratey #1 #2\endenumeratey{ \def\thearg{#1} \ifx\thearg\empty \def\thearg{1}\fi
\expandafter\splitoff\thearg\endmark
\ifx\rest\empty
\ifnum\lccode\expandafter`\thearg=0\relax
\numericenumerate \else
\ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
\lowercaseenumerate \else
\uppercaseenumerate \fi
\fi
\else
\numericenumerate
\fi
}
\def\numericenumerate{ \itemno = \thearg
\startenumeration{\the\itemno}}
\def\lowercaseenumerate{ \itemno = \expandafter`\thearg
\startenumeration{ \ifnum\itemno=0
\errmessage{No more lowercase letters in @enumerate; get a bigger
alphabet} \fi
\char\lccode\itemno
}}
\def\uppercaseenumerate{ \itemno = \expandafter`\thearg
\startenumeration{ \ifnum\itemno=0
\errmessage{No more uppercase letters in @enumerate; get a bigger
alphabet}
\fi
\char\uccode\itemno
}}
\def\startenumeration#1{ \advance\itemno by -1
\doitemize{#1.}\flushcr
}
\def\alphaenumerate{\enumerate{a}}
\def\capsenumerate{\enumerate{A}}
\def\Ealphaenumerate{\Eenumerate}
\def\Ecapsenumerate{\Eenumerate}
\newskip\multitableparskip
\newskip\multitableparindent
\newdimen\multitablecolspace
\newskip\multitablelinespace
\multitableparskip=0pt
\multitableparindent=6pt
\multitablecolspace=12pt
\multitablelinespace=0pt
\let\endsetuptable\relax
\def\xendsetuptable{\endsetuptable}
\let\columnfractions\relax
\def\xcolumnfractions{\columnfractions}
\newif\ifsetpercent
\def\pickupwholefraction#1 { \global\advance\colcount by 1
\expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize} \setuptable
}
\newcount\colcount
\def\setuptable#1{ \def\firstarg{#1} \ifx\firstarg\xendsetuptable
\let\go = \relax
\else
\ifx\firstarg\xcolumnfractions
\global\setpercenttrue
\else
\ifsetpercent
\let\go\pickupwholefraction
\else
\global\advance\colcount by 1
\setbox0=\hbox{#1\unskip\space} \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0} \fi
\fi
\ifx\go\pickupwholefraction
\def\go{\pickupwholefraction#1} \else
\let\go = \setuptable
\fi \fi
\go
}
\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}\def\tab{\checkenv\multitable &\the\everytab}
\newtoks\everytab \envdef\multitable{ \vskip\parskip
\startsavinginserts
\def\item{\crcr} \tolerance=9500
\hbadness=9500
\setmultitablespacing
\parskip=\multitableparskip
\parindent=\multitableparindent
\overfullrule=0pt
\global\colcount=0
\everycr = { \noalign{ \global\everytab={} \global\colcount=0 \checkinserts
} } \parsearg\domultitable
}
\def\domultitable#1{ \setuptable#1 \endsetuptable
\halign\bgroup & \global\advance\colcount by 1
\multistrut
\vtop{ \hsize=\expandafter\csname col\the\colcount\endcsname
\rightskip=0pt
\ifnum\colcount=1
\advance\hsize by\leftskip
\else
\ifsetpercent \else
\advance\hsize by \multitablecolspace
\fi
\leftskip=\multitablecolspace
\fi
\noindent\ignorespaces##\unskip\multistrut
}\cr
}
\def\Emultitable{ \crcr
\egroup \global\setpercentfalse
}
\def\setmultitablespacing{ \def\multistrut{\strut} \ifdim\multitablelinespace=0pt
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
\fi
\ifdim\multitableparskip>\multitablelinespace
\global\multitableparskip=\multitablelinespace
\global\advance\multitableparskip-7pt \fi\ifdim\multitableparskip=0pt
\global\multitableparskip=\multitablelinespace
\global\advance\multitableparskip-7pt \fi}
\message{conditionals,}
\def\makecond#1{ \expandafter\let\csname #1\endcsname = \relax
\expandafter\let\csname iscond.#1\endcsname = 1
}
\makecond{iftex}
\makecond{ifnotdocbook}
\makecond{ifnothtml}
\makecond{ifnotinfo}
\makecond{ifnotplaintext}
\makecond{ifnotxml}
\def\direntry{\doignore{direntry}}
\def\documentdescription{\doignore{documentdescription}}
\def\docbook{\doignore{docbook}}
\def\html{\doignore{html}}
\def\ifdocbook{\doignore{ifdocbook}}
\def\ifhtml{\doignore{ifhtml}}
\def\ifinfo{\doignore{ifinfo}}
\def\ifnottex{\doignore{ifnottex}}
\def\ifplaintext{\doignore{ifplaintext}}
\def\ifxml{\doignore{ifxml}}
\def\ignore{\doignore{ignore}}
\def\menu{\doignore{menu}}
\def\xml{\doignore{xml}}
\newcount\doignorecount
\def\doignore#1{\begingroup
\obeylines
\catcode`\@ = \other
\catcode`\{ = \other
\catcode`\} = \other
\spaceisspace
\doignorecount = 0
\dodoignore{#1}}
{ \catcode`_=11 \obeylines \gdef\dodoignore#1{ \long\def\doignoretext##1^^M@end #1{ \doignoretextyyy##1^^M@#1\_STOP_} \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_} \doignoretext ^^M }}
\def\doignoreyyy#1{ \def\temp{#1} \ifx\temp\empty \let\next\doignoretextzzz
\else \advance\doignorecount by 1
\let\next\doignoretextyyy \fi
\next #1}
\def\doignoretextzzz#1{ \ifnum\doignorecount = 0 \let\next\enddoignore
\else \advance\doignorecount by -1
\let\next\doignoretext \fi
\next
}
{ \obeylines \gdef\enddoignore#1^^M{\endgroup\ignorespaces}}
\parseargdef\set{\setyyy#1 \endsetyyy}
\def\setyyy#1 #2\endsetyyy{ { \makevalueexpandable
\def\temp{#2} \edef\next{\gdef\makecsname{SET#1}} \ifx\temp\empty
\next{} \else
\setzzz#2\endsetzzz
\fi
}}
\def\setzzz#1 \endsetzzz{\next{#1}}
\parseargdef\clear{ { \makevalueexpandable
\global\expandafter\let\csname SET#1\endcsname=\relax
}}
\def\value{\begingroup\makevalueexpandable\valuexxx}
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
\catcode`\- = \active \catcode`\_ = \active
\gdef\makevalueexpandable{ \let\value = \expandablevalue
\catcode`\-=\other \catcode`\_=\other
\let-\realdash \let_\normalunderscore
}
}
\def\expandablevalue#1{ \expandafter\ifx\csname SET#1\endcsname\relax
{[No value for ``#1'']} \message{Variable `#1', used in @value, is not set.} \else
\csname SET#1\endcsname
\fi
}
\makecond{ifset}
\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
\def\doifset#1#2{ { \makevalueexpandable
\let\next=\empty
\expandafter\ifx\csname SET#2\endcsname\relax
#1 \fi
\expandafter
}\next
}
\def\ifsetfail{\doignore{ifset}}
\makecond{ifclear}
\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
\def\ifclearfail{\doignore{ifclear}}
\let\dircategory=\comment
\let\definfoenclose=\comment
\message{indexing,}
\edef\newwrite{\makecsname{ptexnewwrite}}
\def\newindex#1{ \iflinks
\expandafter\newwrite \csname#1indfile\endcsname
\openout \csname#1indfile\endcsname \jobname.#1 \fi
\expandafter\xdef\csname#1index\endcsname{ \noexpand\doindex{#1}}
}
\def\defindex{\parsearg\newindex}
\def\defcodeindex{\parsearg\newcodeindex}
\def\newcodeindex#1{ \iflinks
\expandafter\newwrite \csname#1indfile\endcsname
\openout \csname#1indfile\endcsname \jobname.#1
\fi
\expandafter\xdef\csname#1index\endcsname{ \noexpand\docodeindex{#1}}}
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
\def\dosynindex#1#2#3{ \expandafter \ifx\csname donesynindex#2\endcsname \undefined
\expandafter\closeout\csname#2indfile\endcsname
\expandafter\let\csname\donesynindex#2\endcsname = 1
\fi
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
\expandafter\let\csname#2indfile\endcsname=\temp
\expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}}
\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
\def\singleindexer #1{\doind{\indexname}{#1}}
\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
\def\indexdummies{ \escapechar = `\\ \def\@{@} \def\ {\realbackslash\space } \let\{ = \mylbrace
\let\} = \myrbrace
\let\endinput = \empty
\commondummies
}
\def\atdummies{ \def\@{@@} \def\ {@ } \let\{ = \lbraceatcmd
\let\} = \rbraceatcmd
\commondummies
\otherbackslash
}
\def\commondummies{ \def\definedummyword ##1{\def##1{\string##1\space}} \def\definedummyletter##1{\def##1{\string##1}} \let\definedummyaccent\definedummyletter
\commondummiesnofonts
\definedummyletter\_ \definedummyword\AA
\definedummyword\AE
\definedummyword\L
\definedummyword\OE
\definedummyword\O
\definedummyword\aa
\definedummyword\ae
\definedummyword\l
\definedummyword\oe
\definedummyword\o
\definedummyword\ss
\definedummyword\exclamdown
\definedummyword\questiondown
\definedummyword\ordf
\definedummyword\ordm
\definedummyword\bf
\definedummyword\gtr
\definedummyword\hat
\definedummyword\less
\definedummyword\sf
\definedummyword\sl
\definedummyword\tclose
\definedummyword\tt
\definedummyword\LaTeX
\definedummyword\TeX
\definedummyword\bullet
\definedummyword\comma
\definedummyword\copyright
\definedummyword\registeredsymbol
\definedummyword\dots
\definedummyword\enddots
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
\definedummyword\expansion
\definedummyword\minus
\definedummyword\pounds
\definedummyword\point
\definedummyword\print
\definedummyword\result
\definedummyword\textdegree
\macrolist
\normalturnoffactive
\makevalueexpandable
}
\def\commondummiesnofonts{ \definedummyletter\! \definedummyaccent\" \definedummyaccent\' \definedummyletter\* \definedummyaccent\, \definedummyletter\. \definedummyletter\/ \definedummyletter\: \definedummyaccent\= \definedummyletter\? \definedummyaccent\^ \definedummyaccent\` \definedummyaccent\~ \definedummyword\u
\definedummyword\v
\definedummyword\H
\definedummyword\dotaccent
\definedummyword\ringaccent
\definedummyword\tieaccent
\definedummyword\ubaraccent
\definedummyword\udotaccent
\definedummyword\dotless
\definedummyword\b
\definedummyword\i
\definedummyword\r
\definedummyword\sc
\definedummyword\t
\definedummyword\acronym
\definedummyword\cite
\definedummyword\code
\definedummyword\command
\definedummyword\dfn
\definedummyword\emph
\definedummyword\env
\definedummyword\file
\definedummyword\kbd
\definedummyword\key
\definedummyword\math
\definedummyword\option
\definedummyword\pxref
\definedummyword\ref
\definedummyword\samp
\definedummyword\strong
\definedummyword\tie
\definedummyword\uref
\definedummyword\url
\definedummyword\var
\definedummyword\verb
\definedummyword\w
\definedummyword\xref
}
\def\indexnofonts{ \def\definedummyaccent##1{\let##1\asis} \def\definedummyletter##1{\let##1\empty} \let\definedummyword\definedummyaccent
\commondummiesnofonts
\def\ { } \def\@{@} \def\_{\normalunderscore} \def\AA{AA} \def\AE{AE} \def\L{L} \def\OE{OE} \def\O{O} \def\aa{aa} \def\ae{ae} \def\l{l} \def\oe{oe} \def\o{o} \def\ss{ss} \def\exclamdown{!} \def\questiondown{?} \def\ordf{a} \def\ordm{o} \def\LaTeX{LaTeX} \def\TeX{TeX} \def\bullet{bullet} \def\comma{,} \def\copyright{copyright} \def\registeredsymbol{R} \def\dots{...} \def\enddots{...} \def\equiv{==} \def\error{error} \def\euro{euro} \def\expansion{==>} \def\minus{-} \def\pounds{pounds} \def\point{.} \def\print{-|} \def\result{=>} \def\textdegree{degrees} \macrolist
}
\let\indexbackslash=0 \let\SETmarginindex=\relax
\def\doind#1#2{\dosubind{#1}{#2}{}}
\def\dosubind#1#2#3{ \iflinks
{ \toks0 = {#2} \def\thirdarg{#3} \ifx\thirdarg\empty \else
\toks0 = \expandafter{\the\toks0 \space #3} \fi
\edef\writeto{\csname#1indfile\endcsname} \safewhatsit\dosubindwrite
} \fi
}
\def\dosubindwrite{ \ifx\SETmarginindex\relax\else
\insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}} \fi
\indexdummies \def\backslashcurfont{\indexbackslash} {\indexnofonts
\edef\temp{\the\toks0} \xdef\indexsorttmp{\temp} } \edef\temp{ \write\writeto{ \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}} } \temp
}
\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
\newskip\whatsitskip
\newcount\whatsitpenalty
\def\safewhatsit#1{\ifhmode
#1\else
\whatsitskip = \lastskip
\edef\lastskipmacro{\the\lastskip} \whatsitpenalty = \lastpenalty
\ifx\lastskipmacro\zeroskipmacro
\else
\vskip-\whatsitskip
\fi
#1 \ifx\lastskipmacro\zeroskipmacro
\ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi
\else
\nobreak\vskip\whatsitskip
\fi
\fi
}
\def\findex {\fnindex}
\def\kindex {\kyindex}
\def\cindex {\cpindex}
\def\vindex {\vrindex}
\def\tindex {\tpindex}
\def\pindex {\pgindex}
\def\cindexsub {\begingroup\obeylines\cindexsub}
{\obeylines \gdef\cindexsub "#1" #2^^M{\endgroup \dosubind{cp}{#2}{#1}}}
\parseargdef\printindex{\begingroup
\dobreak \chapheadingskip{10000} \smallfonts \rm
\tolerance = 9500
\plainfrenchspacing
\everypar = {} \catcode`\@ = 11
\openin 1 \jobname.#1s
\ifeof 1
\putwordIndexNonexistent
\else
\read 1 to \temp
\ifeof 1
\putwordIndexIsEmpty
\else
\def\indexbackslash{\backslashcurfont} \catcode`\\ = 0
\escapechar = `\\
\begindoublecolumns
\input \jobname.#1s
\enddoublecolumns
\fi
\fi
\closein 1
\endgroup}
\def\initial#1{{ \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
\removelastskip
\nobreak
\vskip 0pt plus 3\baselineskip
\penalty 0
\vskip 0pt plus -3\baselineskip
\vskip 1.67\baselineskip plus .5\baselineskip
\leftline{\secbf #1} \nobreak
\vskip .33\baselineskip plus .1\baselineskip
}}
\def\entry{ \begingroup
\par
\parfillskip = 0in
\parskip = 0in
\finalhyphendemerits = 0
\hangindent = 2em
\rightskip = 0pt plus1fil
\vskip 0pt plus1pt
\afterassignment\doentry
\let\temp =
}
\def\doentry{ \bgroup \noindent
\aftergroup\finishentry
}
\def\finishentry#1{ \def\tempa{{\rm }} \def\tempb{#1} \edef\tempc{\tempa} \edef\tempd{\tempb} \ifx\tempc\tempd
\ \else
\hfil\penalty50
\null\nobreak\indexdotfill \ifpdf
\pdfgettoks#1. \ \the\toksA
\else
\ #1 \fi
\fi
\par
\endgroup
}
\def\indexdotfill{\cleaders
\hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
\def\primary #1{\line{#1\hfil}}
\newskip\secondaryindent \secondaryindent=0.5cm
\def\secondary#1#2{{ \parfillskip=0in
\parskip=0in
\hangindent=1in
\hangafter=1
\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
\ifpdf
\pdfgettoks#2.\ \the\toksA \else
#2
\fi
\par
}}
\catcode`\@=11
\newbox\partialpage
\newdimen\doublecolumnhsize
\def\begindoublecolumns{\begingroup \output = { \ifvoid\partialpage \else
\onepageout{\pagecontents\partialpage} \fi
\global\setbox\partialpage = \vbox{ \unvbox\PAGE
\kern-\topskip \kern\baselineskip
} } \eject \output = {\doublecolumnout} \doublecolumnhsize = \hsize
\advance\doublecolumnhsize by -.04154\hsize
\divide\doublecolumnhsize by 2
\hsize = \doublecolumnhsize
\vsize = 2\vsize
}
\def\doublecolumnout{ \splittopskip=\topskip \splitmaxdepth=\maxdepth
\dimen@ = \vsize
\divide\dimen@ by 2
\advance\dimen@ by -\ht\partialpage
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
\onepageout\pagesofar
\unvbox255
\penalty\outputpenalty
}
\def\pagesofar{ \unvbox\partialpage
\hsize = \doublecolumnhsize
\wd0=\hsize \wd2=\hsize
\hbox to\pagewidth{\box0\hfil\box2}}
\def\enddoublecolumns{ \penalty0
\output = { \balancecolumns
\global\output = {\onepageout{\pagecontents\PAGE}} } \eject
\endgroup \pagegoal = \vsize
}
\def\balancecolumns{ \setbox0 = \vbox{\unvbox255} \dimen@ = \ht0
\advance\dimen@ by \topskip
\advance\dimen@ by-\baselineskip
\divide\dimen@ by 2 \splittopskip = \topskip
{ \vbadness = 10000
\loop
\global\setbox3 = \copy0
\global\setbox1 = \vsplit3 to \dimen@
\ifdim\ht3>\dimen@
\global\advance\dimen@ by 1pt
\repeat
} \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox3} \pagesofar
}
\catcode`\@ = \other
\message{sectioning,}
\newcount\unnumberedno \unnumberedno = 10000
\newcount\chapno
\newcount\secno \secno=0
\newcount\subsecno \subsecno=0
\newcount\subsubsecno \subsubsecno=0
\newcount\appendixno \appendixno = `\@
\def\appendixletter{ \ifnum\appendixno=`A A \else\ifnum\appendixno=`B B \else\ifnum\appendixno=`C C \else\ifnum\appendixno=`D D \else\ifnum\appendixno=`E E \else\ifnum\appendixno=`F F \else\ifnum\appendixno=`G G \else\ifnum\appendixno=`H H \else\ifnum\appendixno=`I I \else\ifnum\appendixno=`J J \else\ifnum\appendixno=`K K \else\ifnum\appendixno=`L L \else\ifnum\appendixno=`M M \else\ifnum\appendixno=`N N \else\ifnum\appendixno=`O O \else\ifnum\appendixno=`P P \else\ifnum\appendixno=`Q Q \else\ifnum\appendixno=`R R \else\ifnum\appendixno=`S S \else\ifnum\appendixno=`T T \else\ifnum\appendixno=`U U \else\ifnum\appendixno=`V V \else\ifnum\appendixno=`W W \else\ifnum\appendixno=`X X \else\ifnum\appendixno=`Y Y \else\ifnum\appendixno=`Z Z \else\char\the\appendixno
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\thischapter{}
\def\thissection{}
\newcount\absseclevel \newcount\secbase\secbase=0
\def\raisesections{\global\advance\secbase by -1}
\let\up=\raisesections
\def\lowersections{\global\advance\secbase by 1}
\let\down=\lowersections
\chardef\maxseclevel = 3
\chardef\unmlevel = \maxseclevel
\def\chapheadtype{N}
\def\genhead#1#2#3{ \absseclevel=#2
\advance\absseclevel by \secbase
\ifnum \absseclevel < 0
\absseclevel = 0
\else
\ifnum \absseclevel > 3
\absseclevel = 3
\fi
\fi
\def\headtype{#1} \if \headtype U \ifnum \absseclevel < \unmlevel
\chardef\unmlevel = \absseclevel
\fi
\else
\ifnum \absseclevel = 0
\edef\chapheadtype{\headtype} \else
\if \headtype A\if \chapheadtype N \errmessage{@appendix... within a non-appendix chapter} \fi\fi
\fi
\ifnum \absseclevel > \unmlevel
\def\headtype{U} \else
\chardef\unmlevel = 3
\fi
\fi
\if \headtype U \ifcase\absseclevel
\unnumberedzzz{#3} \or \unnumberedseczzz{#3} \or \unnumberedsubseczzz{#3} \or \unnumberedsubsubseczzz{#3} \fi
\else
\if \headtype A \ifcase\absseclevel
\appendixzzz{#3} \or \appendixsectionzzz{#3} \or \appendixsubseczzz{#3} \or \appendixsubsubseczzz{#3} \fi
\else
\ifcase\absseclevel
\chapterzzz{#3} \or \seczzz{#3} \or \numberedsubseczzz{#3} \or \numberedsubsubseczzz{#3} \fi
\fi
\fi
\suppressfirstparagraphindent
}
\def\numhead{\genhead N}
\def\apphead{\genhead A}
\def\unnmhead{\genhead U}
\let\chaplevelprefix = \empty
\outer\parseargdef\chapter{\numhead0{#1}} \def\chapterzzz#1{ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\chapno by 1
\gdef\chaplevelprefix{\the\chapno.} \resetallfloatnos
\message{\putwordChapter\space \the\chapno} \chapmacro{#1}{Ynumbered}{\the\chapno} \global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
}
\outer\parseargdef\appendix{\apphead0{#1}} \def\appendixzzz#1{ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\appendixno by 1
\gdef\chaplevelprefix{\appendixletter.} \resetallfloatnos
\def\appendixnum{\putwordAppendix\space \appendixletter} \message{\appendixnum} \chapmacro{#1}{Yappendix}{\appendixletter} \global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
}
\outer\parseargdef\unnumbered{\unnmhead0{#1}} \def\unnumberedzzz#1{ \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
\global\let\chaplevelprefix = \empty
\resetallfloatnos
\toks0 = {#1} \message{(\the\toks0)} \chapmacro{#1}{Ynothing}{\the\unnumberedno} \global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
}
\outer\parseargdef\centerchap{ \let\centerparametersmaybe = \centerparameters
\unnmhead0{#1} \let\centerparametersmaybe = \relax
}
\let\top\unnumbered
\outer\parseargdef\numberedsec{\numhead1{#1}} \def\seczzz#1{ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}}
\outer\parseargdef\appendixsection{\apphead1{#1}} \def\appendixsectionzzz#1{ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}}
\let\appendixsec\appendixsection
\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} \def\unnumberedseczzz#1{ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}}
\outer\parseargdef\numberedsubsec{\numhead2{#1}} \def\numberedsubseczzz#1{ \global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}}
\outer\parseargdef\appendixsubsec{\apphead2{#1}} \def\appendixsubseczzz#1{ \global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Yappendix} {\appendixletter.\the\secno.\the\subsecno}}
\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} \def\unnumberedsubseczzz#1{ \global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing} {\the\unnumberedno.\the\secno.\the\subsecno}}
\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} \def\numberedsubsubseczzz#1{ \global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynumbered} {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}}
\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} \def\appendixsubsubseczzz#1{ \global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Yappendix} {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}}
\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} \def\unnumberedsubsubseczzz#1{ \global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing} {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}}
\let\section = \numberedsec
\let\subsection = \numberedsubsec
\let\subsubsection = \numberedsubsubsec
\def\majorheading{ {\advance\chapheadingskip by 10pt \chapbreak } \parsearg\chapheadingzzz
}
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
\def\chapheadingzzz#1{ {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}} \bigskip \par\penalty 200\relax
\suppressfirstparagraphindent
}
\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
\suppressfirstparagraphindent}
\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
\suppressfirstparagraphindent}
\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
\suppressfirstparagraphindent}
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
\newskip\chapheadingskip
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
\def\CHAPPAGoff{\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chapbreak
\global\let\pagealignmacro=\chappager}
\def\CHAPPAGon{\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chappager
\global\let\pagealignmacro=\chappager
\global\def\HEADINGSon{\HEADINGSsingle}}
\def\CHAPPAGodd{\global\let\contentsalignmacro = \chapoddpage
\global\let\pchapsepmacro=\chapoddpage
\global\let\pagealignmacro=\chapoddpage
\global\def\HEADINGSon{\HEADINGSdouble}}
\CHAPPAGon
\def\Ynothingkeyword{Ynothing}
\def\Yomitfromtockeyword{Yomitfromtoc}
\def\Yappendixkeyword{Yappendix}
\def\chapmacro#1#2#3{ \pchapsepmacro
{ \chapfonts \rm
\gdef\thissection{#1} \gdef\thischaptername{#1} \def\temptype{#2} \ifx\temptype\Ynothingkeyword
\setbox0 = \hbox{} \def\toctype{unnchap} \gdef\thischapternum{} \gdef\thischapter{#1} \else\ifx\temptype\Yomitfromtockeyword
\setbox0 = \hbox{} \def\toctype{omit} \gdef\thischapternum{} \gdef\thischapter{} \else\ifx\temptype\Yappendixkeyword
\setbox0 = \hbox{\putwordAppendix{} #3\enspace} \def\toctype{app} \xdef\thischapternum{\appendixletter} \xdef\thischapter{\putwordAppendix{} \appendixletter:
\noexpand\thischaptername} \else
\setbox0 = \hbox{#3\enspace} \def\toctype{numchap} \xdef\thischapternum{\the\chapno} \xdef\thischapter{\putwordChapter{} \the\chapno:
\noexpand\thischaptername} \fi\fi\fi
\writetocentry{\toctype}{#1}{#3} \donoderef{#2} \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
\hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par} } \nobreak\bigskip \nobreak
}
\let\centerparametersmaybe = \relax
\def\centerparameters{ \advance\rightskip by 3\rightskip
\leftskip = \rightskip
\parfillskip = 0pt
}
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
\def\unnchfopen #1{\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\bigskip \par\nobreak
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}\par\penalty 5000 }
\def\centerchfopen #1{\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt
\hfill {\rm #1}\hfill}}\bigskip \par\nobreak
}
\def\CHAPFopen{ \global\let\chapmacro=\chfopen
\global\let\centerchapmacro=\centerchfopen}
\newskip\secheadingskip
\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
\newskip\subsecheadingskip
\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
\def\subsubsecheadingskip{\subsecheadingskip}
\def\subsubsecheadingbreak{\subsecheadingbreak}
\def\sectionheading#1#2#3#4{ { \csname #2fonts\endcsname \rm
\csname #2headingbreak\endcsname
\def\sectionlevel{#2} \def\temptype{#3} \ifx\temptype\Ynothingkeyword
\setbox0 = \hbox{} \def\toctype{unn} \gdef\thissection{#1} \else\ifx\temptype\Yomitfromtockeyword
\setbox0 = \hbox{} \def\toctype{omit} \let\sectionlevel=\empty
\else\ifx\temptype\Yappendixkeyword
\setbox0 = \hbox{#4\enspace} \def\toctype{app} \gdef\thissection{#1} \else
\setbox0 = \hbox{#4\enspace} \def\toctype{num} \gdef\thissection{#1} \fi\fi\fi
\writetocentry{\toctype\sectionlevel}{#1}{#4} \donoderef{#3} \nobreak
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
\hangindent=\wd0 \unhbox0 #1} } \kern .5 \csname #2headingskip\endcsname
\nobreak
\vskip-\parskip
\penalty 10001
}
\message{toc,}
\newwrite\tocfile
\newif\iftocfileopened
\def\omitkeyword{omit}\def\writetocentry#1#2#3{ \edef\writetoctype{#1} \ifx\writetoctype\omitkeyword \else
\iftocfileopened\else
\immediate\openout\tocfile = \jobname.toc
\global\tocfileopenedtrue
\fi
\iflinks
{\atdummies
\edef\temp{ \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}} \temp
} \fi
\fi
\ifpdf \global\pdfmakepagedesttrue \fi
}
\def\activecatcodes{ \catcode`\"=\active
\catcode`\$=\active
\catcode`\<=\active
\catcode`\>=\active
\catcode`\\=\active
\catcode`\^=\active
\catcode`\_=\active
\catcode`\|=\active
\catcode`\~=\active
}
\def\readtocfile{ \setupdatafile
\activecatcodes
\input \jobname.toc
}
\newskip\contentsrightmargin \contentsrightmargin=1in
\newcount\savepageno
\newcount\lastnegativepageno \lastnegativepageno = -1
\def\startcontents#1{ \contentsalignmacro
\immediate\closeout\tocfile
\def\thischapter{} \chapmacro{#1}{Yomitfromtoc}{} \savepageno = \pageno
\begingroup \raggedbottom \advance\hsize by -\contentsrightmargin \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
}
\def\contents{ \startcontents{\putwordTOC} \openin 1 \jobname.toc
\ifeof 1 \else
\readtocfile
\fi
\vfill \eject
\contentsalignmacro \ifeof 1 \else
\pdfmakeoutlines
\fi
\closein 1
\endgroup
\lastnegativepageno = \pageno
\global\pageno = \savepageno
}
\def\summarycontents{ \startcontents{\putwordShortTOC} \let\numchapentry = \shortchapentry
\let\appentry = \shortchapentry
\let\unnchapentry = \shortunnchapentry
\secfonts
\let\rm=\shortcontrm \let\bf=\shortcontbf
\let\sl=\shortcontsl \let\tt=\shortconttt
\rm
\hyphenpenalty = 10000
\advance\baselineskip by 1pt \def\numsecentry##1##2##3##4{}
\let\appsecentry = \numsecentry
\let\unnsecentry = \numsecentry
\let\numsubsecentry = \numsecentry
\let\appsubsecentry = \numsecentry
\let\unnsubsecentry = \numsecentry
\let\numsubsubsecentry = \numsecentry
\let\appsubsubsecentry = \numsecentry
\let\unnsubsubsecentry = \numsecentry
\openin 1 \jobname.toc
\ifeof 1 \else
\readtocfile
\fi
\closein 1
\vfill \eject
\contentsalignmacro \endgroup
\lastnegativepageno = \pageno
\global\pageno = \savepageno
}
\let\shortcontents = \summarycontents
\def\shortchaplabel#1{ \hbox to 1em{#1\hss}}
\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
\def\shortchapentry#1#2#3#4{ \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}}
\def\appendixbox#1{ \setbox0 = \hbox{\putwordAppendix{} M} \hbox to \wd0{\putwordAppendix{} #1\hss}}
\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
\let\appsecentry=\numsecentry
\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
\let\appsubsecentry=\numsubsecentry
\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
\let\appsubsubsecentry=\numsubsubsecentry
\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
\newdimen\tocindent \tocindent = 15pt
\def\dochapentry#1#2{ \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
\begingroup
\chapentryfonts
\tocentry{#1}{\dopageno\bgroup#2\egroup} \endgroup
\nobreak\vskip .25\baselineskip plus.1\baselineskip
}
\def\dosecentry#1#2{\begingroup
\secentryfonts \leftskip=\tocindent
\tocentry{#1}{\dopageno\bgroup#2\egroup}\endgroup}
\def\dosubsecentry#1#2{\begingroup
\subsecentryfonts \leftskip=2\tocindent
\tocentry{#1}{\dopageno\bgroup#2\egroup}\endgroup}
\def\dosubsubsecentry#1#2{\begingroup
\subsubsecentryfonts \leftskip=3\tocindent
\tocentry{#1}{\dopageno\bgroup#2\egroup}\endgroup}
\let\tocentry = \entry
\def\labelspace{\hskip1em \relax}
\def\dopageno#1{{\rm #1}}
\def\doshortpageno#1{{\rm #1}}
\def\chapentryfonts{\secfonts \rm}
\def\secentryfonts{\textfonts}
\def\subsecentryfonts{\textfonts}
\def\subsubsecentryfonts{\textfonts}
\message{environments,}
\def\point{$\star$}
\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
\newbox\errorbox
{\tentt \global\dimen0 = 3em}\dimen2 = .55pt \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt \advance\hsize by -2\dimen2 \vbox{ \hrule height\dimen2
\hbox{\vrule width\dimen2 \kern3pt \vtop{\kern2.4pt \box0 \kern2.4pt} \kern3pt\vrule width\dimen2} \hrule height\dimen2}
\hfil}
\def\error{\leavevmode\lower.7ex\copy\errorbox}
\envdef\tex{ \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
\catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
\catcode `\%=14
\catcode `\+=\other
\catcode `\"=\other
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
\escapechar=`\\
\let\b=\ptexb
\let\bullet=\ptexbullet
\let\c=\ptexc
\let\,=\ptexcomma
\let\.=\ptexdot
\let\dots=\ptexdots
\let\equiv=\ptexequiv
\let\!=\ptexexclam
\let\i=\ptexi
\let\indent=\ptexindent
\let\noindent=\ptexnoindent
\let\{=\ptexlbrace
\let\+=\tabalign
\let\}=\ptexrbrace
\let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
\let\frenchspacing=\plainfrenchspacing
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}} \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi} \def\@{@}}
\newskip\lispnarrowing \lispnarrowing=0.4in
\def\lisppar{\null\endgraf}
\newskip\envskipamount \envskipamount = 0pt
\def\aboveenvbreak{{ \ifnum \lastpenalty=10000 \else
\advance\envskipamount by \parskip
\endgraf
\ifdim\lastskip<\envskipamount
\removelastskip
\ifnum\lastpenalty<10000 \penalty-50 \fi
\vskip\envskipamount
\fi
\fi
}}
\let\afterenvbreak = \aboveenvbreak
\let\nonarrowing=\relax
\font\circle=lcircle10
\newdimen\circthick
\newdimen\cartouter\newdimen\cartinner
\newskip\normbskip\newskip\normpskip\newskip\normlskip
\circthick=\fontdimen8\circle
\def\ctl{{\circle\char'013\hskip -6pt}}\def\ctr{{\hskip 6pt\circle\char'010}}
\def\cbl{{\circle\char'012\hskip -6pt}}
\def\cbr{{\hskip 6pt\circle\char'011}}
\def\carttop{\hbox to \cartouter{\hskip\lskip
\ctl\leaders\hrule height\circthick\hfil\ctr
\hskip\rskip}}
\def\cartbot{\hbox to \cartouter{\hskip\lskip
\cbl\leaders\hrule height\circthick\hfil\cbr
\hskip\rskip}}
\newskip\lskip\newskip\rskip
\envdef\cartouche{ \ifhmode\par\fi \startsavinginserts
\lskip=\leftskip \rskip=\rightskip
\leftskip=0pt\rightskip=0pt \cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
\cartouter=\hsize
\advance\cartouter by 18.4pt \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
\let\nonarrowing = t \vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
\hbox\bgroup
\hskip\lskip
\vrule\kern3pt
\vbox\bgroup
\kern3pt
\hsize=\cartinner
\baselineskip=\normbskip
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
\comment }
\def\Ecartouche{ \ifhmode\par\fi
\kern3pt
\egroup
\kern3pt\vrule
\hskip\rskip
\egroup
\cartbot
\egroup
\checkinserts
}
\def\nonfillstart{ \aboveenvbreak
\hfuzz = 12pt \sepspaces \let\par = \lisppar \obeylines \parskip = 0pt
\parindent = 0pt
\emergencystretch = 0pt \ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\exdentamount=\lispnarrowing
\else
\let\nonarrowing = \relax
\fi
\let\exdent=\nofillexdent
}
\def\smallword{small}
\def\nosmallword{nosmall}
\let\SETdispenvsize\relax
\def\setnormaldispenv{ \ifx\SETdispenvsize\smallword
\ifnum \lastpenalty=10000 \else \endgraf \fi
\smallexamplefonts \rm
\fi
}
\def\setsmalldispenv{ \ifx\SETdispenvsize\nosmallword
\else
\ifnum \lastpenalty=10000 \else \endgraf \fi
\smallexamplefonts \rm
\fi
}
\def\makedispenv #1#2{
\expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
\expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
\expandafter\let\csname E#1\endcsname \afterenvbreak
\expandafter\let\csname Esmall#1\endcsname \afterenvbreak
}
\def\maketwodispenvs #1#2#3{
\makedispenv{#1}{#3}
\makedispenv{#2}{#3}
}
\maketwodispenvs {lisp}{example}{ \nonfillstart
\tt\quoteexpand
\let\kbdfont = \kbdexamplefont \gobble }
\makedispenv {display}{ \nonfillstart
\gobble
}
\makedispenv{format}{ \let\nonarrowing = t \nonfillstart
\gobble
}
\envdef\flushleft{ \let\nonarrowing = t \nonfillstart
\gobble
}
\let\Eflushleft = \afterenvbreak
\envdef\flushright{ \let\nonarrowing = t \nonfillstart
\advance\leftskip by 0pt plus 1fill
\gobble
}
\let\Eflushright = \afterenvbreak
\envdef\quotation{ {\parskip=0pt \aboveenvbreak} \parindent=0pt
\ifx\nonarrowing\relax
\advance\leftskip by \lispnarrowing
\advance\rightskip by \lispnarrowing
\exdentamount = \lispnarrowing
\else
\let\nonarrowing = \relax
\fi
\parsearg\quotationlabel
}
\def\Equotation{ \par
\ifx\quotationauthor\undefined\else
\leftline{\kern 2\leftskip \sl ---\quotationauthor} \fi
{\parskip=0pt \afterenvbreak}}
\def\quotationlabel#1{ \def\temp{#1} \ifx\temp\empty \else
{\bf #1: } \fi
}
\def\dospecials{ \do\ \do\\\do\{\do\}\do\$\do\& \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~ \do\<\do\>\do\|\do\@\do+\do\"}
\def\uncatcodespecials{ \def\do##1{\catcode`##1=\other}\dospecials}
\begingroup
\catcode`\`=\active\gdef`{\relax\lq}
\endgroup
\begingroup
\catcode`\^^I=\active
\gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
\endgroup
\def\setupverb{ \tt \def\par{\leavevmode\endgraf} \catcode`\`=\active
\tabeightspaces
\obeylines \uncatcodespecials \sepspaces
}
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 \def\starttabbox{\setbox0=\hbox\bgroup}
\def\codequoteright{ \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
' \else
\char'15
\fi
}
\def\codequoteleft{ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
` \else
\char'22
\fi
}
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{ \catcode`\^^I=\active
\def^^I{\leavevmode\egroup
\dimen0=\wd0 \divide\dimen0 by\tabw
\multiply\dimen0 by\tabw \advance\dimen0 by\tabw \wd0=\dimen0 \box0 \starttabbox
} }
\catcode`\'=\active
\gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}} \catcode`\`=\active
\gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}} \gdef\quoteexpand{\rquoteexpand \lquoteexpand}\endgroup
\def\setupverbatim{ \let\nonarrowing = t \nonfillstart
\tt
\def\par{\leavevmode\egroup\box0\endgraf} \catcode`\`=\active
\tabexpand
\quoteexpand
\obeylines \uncatcodespecials \sepspaces
\everypar{\starttabbox}}
\begingroup
\catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
\gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
\endgroup
\def\verb{\begingroup\setupverb\doverb}
\begingroup
\catcode`\ =\active
\obeylines \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim} \endgroup
\envdef\verbatim{ \setupverbatim\doverbatim
}
\let\Everbatim = \afterenvbreak
\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
\def\doverbatiminclude#1{ { \makevalueexpandable
\setupverbatim
\input #1
\afterenvbreak
}}
\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
\def\insertcopying{ \begingroup
\parindent = 0pt \scanexp\copyingtext
\endgroup
}
\message{defuns,}
\newskip\defbodyindent \defbodyindent=.4in
\newskip\defargsindent \defargsindent=50pt
\newskip\deflastargmargin \deflastargmargin=18pt
\newcount\defunpenalty
\def\startdefun{ \ifnum\lastpenalty<10000
\medbreak
\defunpenalty=10003 \else
\ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi
\medskip \fi
\parindent=0in
\advance\leftskip by \defbodyindent
\exdentamount=\defbodyindent
}
\def\dodefunx#1{ \checkenv#1 \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
\expandafter\gobbledefun#1}
\def\gobbledefun#1\startdefun{}
\def\printdefunline#1#2{ \begingroup
#1#2 \endheader
\interlinepenalty = 10000
\advance\rightskip by 0pt plus 1fil
\endgraf
\nobreak\vskip -\parskip
\penalty\defunpenalty \checkparencounts
\endgroup
}
\def\Edefun{\endgraf\medbreak}
\def\makedefun#1{ \expandafter\let\csname E#1\endcsname = \Edefun
\edef\temp{\noexpand\domakedefun
\makecsname{#1}\makecsname{#1x}\makecsname{#1header}} \temp
}
\def\domakedefun#1#2#3{ \envdef#1{ \startdefun
\parseargusing\activeparens{\printdefunline#3} } \def#2{\dodefunx#1} \def#3}
\makedefun{deffn}{\deffngeneral{}}
\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
\def\deffngeneral#1#2 #3 #4\endheader{ \dosubind{fn}{\code{#3}}{#1} \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}}
\makedefun{deftypefn}{\deftypefngeneral{}}
\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
\def\deftypefngeneral#1#2 #3 #4 #5\endheader{ \dosubind{fn}{\code{#4}}{#1} \defname{#2}{#3}{#4}\defunargs{#5\unskip}}
\makedefun{deftypevr}{\deftypecvgeneral{}}
\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{ \dosubind{vr}{\code{#4}}{#1} \defname{#2}{#3}{#4}\defunargs{#5\unskip}}
\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
\makedefun{deftp}#1 #2 #3\endheader{ \doind{tp}{\code{#2}} \defname{#1}{}{#2}\defunargs{#3\unskip}}
\makedefun{defun}{\deffnheader{\putwordDeffunc} }
\makedefun{defmac}{\deffnheader{\putwordDefmac} }
\makedefun{defspec}{\deffnheader{\putwordDefspec} }
\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
\makedefun{defvar}{\defvrheader{\putwordDefvar} }
\makedefun{defopt}{\defvrheader{\putwordDefopt} }
\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
\makedefun{defmethod}{\defopon\putwordMethodon}
\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
\def\defname#1#2#3{ \advance\leftskip by -\defbodyindent
\def\temp{#1} \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
\dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
\dimen2=\hsize \advance\dimen2 by -\defargsindent
\parshape 2 0in \dimen0 \defargsindent \dimen2
\noindent
\hbox to 0pt{ \hfil\box0 \kern-\hsize
\kern\leftskip
} \tolerance=10000 \hbadness=10000
\exdentamount=\defbodyindent
{ \df \tt
\def\temp{#2} \ifx\temp\empty\else \tclose{\temp} \fi
#3 } {\rm\enskip} \boldbrax
}
\def\defunargs#1{ \df \sl \hyphenchar\font=0
\let\var=\ttslanted
#1 \sl\hyphenchar\font=45
}
\def\activeparens{ \catcode`\(=\active \catcode`\)=\active
\catcode`\[=\active \catcode`\]=\active
\catcode`\&=\active
}
\let\lparen = ( \let\rparen = )
{
\activeparens
\global\let(=\lparen \global\let)=\rparen
\global\let[=\lbrack \global\let]=\rbrack
\global\let& = \&
\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
\gdef\magicamp{\let&=\amprm}
}
\newcount\parencount
\newif\ifampseen
\def\amprm#1 {\ampseentrue{\bf\ }}
\def\parenfont{ \ifampseen
\ifnum \parencount=1 \rm \fi
\else
\sf
\fi
}
\def\infirstlevel#1{ \ifampseen
\ifnum\parencount=1
#1 \fi
\fi
}
\def\bfafterword#1 {#1 \bf}
\def\opnr{ \global\advance\parencount by 1
{\parenfont(} \infirstlevel \bfafterword
}
\def\clnr{ {\parenfont)} \infirstlevel \sl
\global\advance\parencount by -1
}
\newcount\brackcount
\def\lbrb{ \global\advance\brackcount by 1
{\bf[}}
\def\rbrb{ {\bf]} \global\advance\brackcount by -1
}
\def\checkparencounts{ \ifnum\parencount=0 \else \badparencount \fi
\ifnum\brackcount=0 \else \badbrackcount \fi
}
\def\badparencount{ \errmessage{Unbalanced parentheses in @def} \global\parencount=0
}
\def\badbrackcount{ \errmessage{Unbalanced square braces in @def} \global\brackcount=0
}
\message{macros,}
\ifx\eTeXversion\undefined
\newwrite\macscribble
\def\scantokens#1{ \toks0={#1} \immediate\openout\macscribble=\jobname.tmp
\immediate\write\macscribble{\the\toks0} \immediate\closeout\macscribble
\input \jobname.tmp
}
\fi
\def\scanmacro#1{ \begingroup
\newlinechar`\^^M
\let\xeatspaces\eatspaces
\catcode`\@=0 \catcode`\\=\active \escapechar=`\@
\spaceisspace
\scantokens{#1\endinput} \endgroup
}
\def\scanexp#1{ \edef\temp{\noexpand\scanmacro{#1}} \temp
}
\newcount\paramno \newtoks\macname \newif\ifrecursive
\def\macrolist{}
\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
\def\addtomacrolistxxx#1{ \toks0 = \expandafter{\macrolist\definedummyword#1} \xdef\macrolist{\the\toks0}}
\def\cslet#1#2{ \expandafter\let
\csname#1\expandafter\endcsname
\csname#2\endcsname
}
{\catcode`\@=11
\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
\def\unbrace#1{#1}
\unbrace{\gdef\trim@@@ #1 } #2@{#1}
}
{\catcode`\^^M=\other \catcode`\Q=3\gdef\eatcr #1{\eatcra #1Q^^MQ}\gdef\eatcra#1^^MQ{\eatcrb#1Q}\gdef\eatcrb#1Q#2Q{#1}}
\def\scanctxt{ \catcode`\"=\other
\catcode`\+=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\@=\other
\catcode`\^=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\~=\other
}
\def\scanargctxt{ \scanctxt
\catcode`\\=\other
\catcode`\^^M=\other
}
\def\macrobodyctxt{ \scanctxt
\catcode`\{=\other
\catcode`\}=\other
\catcode`\^^M=\other
\usembodybackslash
}
\def\macroargctxt{ \scanctxt
\catcode`\\=\other
}
{\catcode`@=0 @catcode`@\=@active
@gdef@usembodybackslash{@let\=@mbodybackslash}
@gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
}
\expandafter\def\csname macarg.\endcsname{\realbackslash}
\def\macro{\recursivefalse\parsearg\macroxxx}
\def\rmacro{\recursivetrue\parsearg\macroxxx}
\def\macroxxx#1{ \getargs{#1} \ifx\argl\empty \paramno=0 \else
\expandafter\parsemargdef \argl; \fi
\if1\csname ismacro.\the\macname\endcsname
\message{Warning: redefining \the\macname} \else
\expandafter\ifx\csname \the\macname\endcsname \relax
\else \errmessage{Macro name \the\macname\space already defined}\fi
\global\cslet{macsave.\the\macname}{\the\macname} \global\expandafter\let\csname ismacro.\the\macname\endcsname=1 \addtomacrolist{\the\macname} \fi
\begingroup \macrobodyctxt
\ifrecursive \expandafter\parsermacbody
\else \expandafter\parsemacbody
\fi}
\parseargdef\unmacro{ \if1\csname ismacro.#1\endcsname
\global\cslet{#1}{macsave.#1} \global\expandafter\let \csname ismacro.#1\endcsname=0 \begingroup
\expandafter\let\csname#1\endcsname \relax
\let\definedummyword\unmacrodo
\xdef\macrolist{\macrolist} \endgroup
\else
\errmessage{Macro #1 not defined} \fi
}
\def\unmacrodo#1{ \ifx #1\relax
\else
\noexpand\definedummyword \noexpand#1 \fi
}
\def\getargs#1{\getargsxxx#1{}}
\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
\def\getmacname #1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
\def\parsemargdef#1;{\paramno=0\def\paramlist{} \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
\def\parsemargdefxxx#1,{ \if#1;\let\next=\relax
\else \let\next=\parsemargdefxxx
\advance\paramno by 1 \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
{\xeatspaces{\hash\the\paramno}} \edef\paramlist{\paramlist\hash\the\paramno,} \fi\next}
\long\def\parsemacbody#1@end macro{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}\long\def\parsermacbody#1@end rmacro{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}
\def\defmacro{ \let\hash=## \ifrecursive
\ifcase\paramno
\expandafter\xdef\csname\the\macname\endcsname{ \noexpand\scanmacro{\temp}} \or \expandafter\xdef\csname\the\macname\endcsname{ \bgroup\noexpand\macroargctxt
\noexpand\braceorline
\expandafter\noexpand\csname\the\macname xxx\endcsname} \expandafter\xdef\csname\the\macname xxx\endcsname##1{ \egroup\noexpand\scanmacro{\temp}} \else \expandafter\xdef\csname\the\macname\endcsname{ \bgroup\noexpand\macroargctxt
\noexpand\csname\the\macname xx\endcsname} \expandafter\xdef\csname\the\macname xx\endcsname##1{ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,} \expandafter\expandafter
\expandafter\xdef
\expandafter\expandafter
\csname\the\macname xxx\endcsname
\paramlist{\egroup\noexpand\scanmacro{\temp}} \fi
\else
\ifcase\paramno
\expandafter\xdef\csname\the\macname\endcsname{ \noexpand\norecurse{\the\macname} \noexpand\scanmacro{\temp}\egroup} \or \expandafter\xdef\csname\the\macname\endcsname{ \bgroup\noexpand\macroargctxt
\noexpand\braceorline
\expandafter\noexpand\csname\the\macname xxx\endcsname} \expandafter\xdef\csname\the\macname xxx\endcsname##1{ \egroup
\noexpand\norecurse{\the\macname} \noexpand\scanmacro{\temp}\egroup} \else \expandafter\xdef\csname\the\macname\endcsname{ \bgroup\noexpand\macroargctxt
\expandafter\noexpand\csname\the\macname xx\endcsname} \expandafter\xdef\csname\the\macname xx\endcsname##1{ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,} \expandafter\expandafter
\expandafter\xdef
\expandafter\expandafter
\csname\the\macname xxx\endcsname
\paramlist{ \egroup
\noexpand\norecurse{\the\macname} \noexpand\scanmacro{\temp}\egroup} \fi
\fi}
\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
\def\braceorlinexxx{ \ifx\nchar\bgroup\else
\expandafter\parsearg
\fi \macnamexxx}
\def\alias{\parseargusing\obeyspaces\aliasxxx}
\def\aliasxxx #1{\aliasyyy#1\relax}
\def\aliasyyy #1=#2\relax{ { \expandafter\let\obeyedspace=\empty
\addtomacrolist{#1} \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}} } \next
}
\message{cross references,}
\newwrite\auxfile
\newif\ifhavexrefs \newif\ifwarnedxrefs
\def\inforef #1{\inforefzzz #1,,,,**}
\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
\let\nwnode=\node
\let\lastnode=\empty
\def\donoderef#1{ \ifx\lastnode\empty\else
\setref{\lastnode}{#1} \global\let\lastnode=\empty
\fi
}
\newcount\savesfregister
\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
\def\setref#1#2{ \pdfmkdest{#1} \iflinks
{ \atdummies \edef\writexrdef##1##2{ \write\auxfile{@xrdef{#1- ##1}{##2}} } \toks0 = \expandafter{\thissection} \immediate \writexrdef{title}{\the\toks0 } \immediate \writexrdef{snt}{\csname #2\endcsname} \safewhatsit{\writexrdef{pg}{\folio}} } \fi
}
\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
\def\ref#1{\xrefX[#1,,,,,,,]}
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
\def\printedmanual{\ignorespaces #5} \def\printedrefname{\ignorespaces #3} \setbox1=\hbox{\printedmanual\unskip} \setbox0=\hbox{\printedrefname\unskip} \ifdim \wd0 = 0pt
\expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
\def\printedrefname{\ignorespaces #1} \else
\ifdim \wd1 > 0pt
\def\printedrefname{\ignorespaces #1} \else
\ifhavexrefs
\def\printedrefname{\refx{#1-title}{}} \else
\def\printedrefname{\ignorespaces #1} \fi \fi
\fi
\fi
\ifpdf
\leavevmode
\getfilename{#4} {\indexnofonts
\turnoffactive
{\activebackslashdouble \xdef\pdfxrefdest{#1} \backslashparens\pdfxrefdest} \ifnum\filenamelength>0
\startlink attr{/Border [0 0 0]} goto file{\the\filename.pdf} name{\pdfxrefdest} \else
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{\pdfxrefdest}} \fi
} \linkcolor
\fi
{ \indexnofonts
\turnoffactive
\expandafter\global\expandafter\let\expandafter\Xthisreftitle
\csname XR#1-title\endcsname
} \iffloat\Xthisreftitle
\ifdim\wd0 = 0pt
\refx{#1-snt}{} \else
\printedrefname
\fi
\ifdim \wd1 > 0pt
\space \putwordin{} \cite{\printedmanual} \fi
\else
\ifdim \wd1 > 0pt
\putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual} \else
{\turnoffactive
\setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}} \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
} \xrefprintnodename\printedrefname
,\space
\turnoffactive \putwordpage\tie\refx{#1-pg}{} \fi
\fi
\endlink
\endgroup}
\def\xrefprintnodename#1{[#1]}
\def\Ynothing{}
\def\Yomitfromtoc{}
\def\Ynumbered{ \ifnum\secno=0
\putwordChapter@tie \the\chapno
\else \ifnum\subsecno=0
\putwordSection@tie \the\chapno.\the\secno
\else \ifnum\subsubsecno=0
\putwordSection@tie \the\chapno.\the\secno.\the\subsecno
\else
\putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
\fi\fi\fi
}
\def\Yappendix{ \ifnum\secno=0
\putwordAppendix@tie @char\the\appendixno{} \else \ifnum\subsecno=0
\putwordSection@tie @char\the\appendixno.\the\secno
\else \ifnum\subsubsecno=0
\putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
\else
\putwordSection@tie
@char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
\fi\fi\fi
}
\def\refx#1#2{ { \indexnofonts
\otherbackslash
\expandafter\global\expandafter\let\expandafter\thisrefX
\csname XR#1\endcsname
} \ifx\thisrefX\relax
\angleleft un\-de\-fined\angleright
\iflinks
\ifhavexrefs
\message{\linenumber Undefined cross reference `#1'.} \else
\ifwarnedxrefs\else
\global\warnedxrefstrue
\message{Cross reference values unknown; you must run TeX again.} \fi
\fi
\fi
\else
\thisrefX
\fi
#2}
\def\xrdef#1#2{ { \indexnofonts
\turnoffactive
\xdef\safexrefname{#1} } \expandafter\gdef\csname XR\safexrefname\endcsname{#2} \expandafter\iffloat\csname XR\safexrefname\endcsname
\expandafter\let\expandafter\floatlist
\csname floatlist\iffloattype\endcsname
\expandafter\ifx\floatlist\relax
\toks0 = {\do} \else
\toks0 = \expandafter{\floatlist\do} \fi
\expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
{\safexrefname}} \fi
}
\def\tryauxfile{ \openin 1 \jobname.aux
\ifeof 1 \else
\readdatafile{aux} \global\havexrefstrue
\fi
\closein 1
}
\def\setupdatafile{ \catcode`\^^@=\other
\catcode`\^^A=\other
\catcode`\^^B=\other
\catcode`\^^C=\other
\catcode`\^^D=\other
\catcode`\^^E=\other
\catcode`\^^F=\other
\catcode`\^^G=\other
\catcode`\^^H=\other
\catcode`\^^K=\other
\catcode`\^^L=\other
\catcode`\^^N=\other
\catcode`\^^P=\other
\catcode`\^^Q=\other
\catcode`\^^R=\other
\catcode`\^^S=\other
\catcode`\^^T=\other
\catcode`\^^U=\other
\catcode`\^^V=\other
\catcode`\^^W=\other
\catcode`\^^X=\other
\catcode`\^^Z=\other
\catcode`\^^[=\other
\catcode`\^^\=\other
\catcode`\^^]=\other
\catcode`\^^^=\other
\catcode`\^^_=\other
\catcode`\^=\other
\catcode`\~=\other
\catcode`\[=\other
\catcode`\]=\other
\catcode`\"=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\$=\other
\catcode`\#=\other
\catcode`\&=\other
\catcode`\%=\other
\catcode`+=\other \catcode`\\=\other
{ \count1=128
\def\loop{ \catcode\count1=\other
\advance\count1 by 1
\ifnum \count1<256 \loop \fi
} } \catcode`\{=1
\catcode`\}=2
\catcode`\@=0
}
\def\readdatafile#1{\begingroup
\setupdatafile
\input\jobname.#1
\endgroup}
\message{insertions,}
\newcount \footnoteno
\def\supereject{\par\penalty -20000\footnoteno =0 }
\let\footnotestyle=\comment
{\catcode `\@=11
\gdef\footnote{ \let\indent=\ptexindent
\let\noindent=\ptexnoindent
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$} \let\@sf\empty
\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
\unskip
\thisfootno\@sf
\dofootnote
}
\gdef\dofootnote{ \insert\footins\bgroup
\hsize=\pagewidth
\interlinepenalty\interfootnotelinepenalty
\splittopskip\ht\strutbox \splitmaxdepth\dp\strutbox
\floatingpenalty\@MM
\leftskip\z@skip
\rightskip\z@skip
\spaceskip\z@skip
\xspaceskip\z@skip
\parindent\defaultparindent
\smallfonts \rm
\let\noindent = \relax
\everypar = {\hang} \textindent{\thisfootno} \footstrut
\futurelet\next\fo@t
}
}
\def\startsavinginserts{ \ifx \insert\ptexinsert
\let\insert\saveinsert
\else
\let\checkinserts\relax
\fi
}
\def\saveinsert#1{ \edef\next{\noexpand\savetobox \makeSAVEname#1} \afterassignment\next
\let\temp =
}
\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
\def\placesaveins#1{ \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
{\box#1}}
{
\def\dospecials{\do S\do A\do V\do E} \uncatcodespecials \gdef\gobblesave @SAVE{}
}
\def\newsaveins #1{ \edef\next{\noexpand\newsaveinsX \makeSAVEname#1} \next
}
\def\newsaveinsX #1{ \csname newbox\endcsname #1 \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
\checksaveins #1}}
\let\checkinserts\empty
\newsaveins\footins
\newsaveins\margin
\openin 1 = epsf.tex
\ifeof 1 \else
\def\epsfannounce{\toks0 = } \input epsf.tex
\fi
\closein 1
\newif\ifwarnednoepsf
\newhelp\noepsfhelp{epsf.tex must be installed for images to
work. It is also included in the Texinfo distribution, or you can get
it from ftp://tug.org/tex/epsf.tex.}
\def\image#1{ \ifx\epsfbox\undefined
\ifwarnednoepsf \else
\errhelp = \noepsfhelp
\errmessage{epsf.tex not found, images will be ignored} \global\warnednoepsftrue
\fi
\else
\imagexxx #1,,,,,\finish
\fi
}
\newif\ifimagevmode
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
\catcode`\^^M = 5 \normalturnoffactive \ifvmode
\imagevmodetrue
\nobreak\bigskip
\nobreak\vskip\parskip
\nobreak
\line\bgroup
\fi
\ifpdf
\dopdfimage{#1}{#2}{#3} \else
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
\epsfbox{#1.eps} \fi
\ifimagevmode \egroup \bigbreak \fi \endgroup}
\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
\def\eatcommaspace#1, {#1,}
\let\resetallfloatnos=\empty
\def\dofloat#1,#2,#3,#4\finish{ \let\thiscaption=\empty
\let\thisshortcaption=\empty
\startsavinginserts
\par
\vtop\bgroup
\def\floattype{#1} \def\floatlabel{#2} \def\floatloc{#3} \ifx\floattype\empty
\let\safefloattype=\empty
\else
{ \indexnofonts
\turnoffactive
\xdef\safefloattype{\floattype} } \fi
\ifx\floatlabel\empty \else
\expandafter\getfloatno\csname\safefloattype floatno\endcsname
\global\advance\floatno by 1
{ \edef\thissection{\floatmagic=\safefloattype} \setref{\floatlabel}{Yfloat} } \fi
\vskip\parskip
\restorefirstparagraphindent
}
\def\Efloat{ \let\floatident = \empty
\ifx\floattype\empty \else \def\floatident{\floattype}\fi
\ifx\floatlabel\empty \else
\ifx\floattype\empty \else \appendtomacro\floatident{\tie} \fi
\appendtomacro\floatident{\chaplevelprefix\the\floatno} \fi
\let\captionline = \floatident
\ifx\thiscaption\empty \else
\ifx\floatident\empty \else
\appendtomacro\captionline{: } \fi
\appendtomacro\captionline{\scanexp\thiscaption} \fi
\ifx\captionline\empty \else
\vskip.5\parskip
\captionline
\vskip\parskip
\fi
\ifx\floatlabel\empty \else
{ \atdummies
\scanexp{ \xdef\noexpand\gtemp{ \ifx\thisshortcaption\empty
\thiscaption
\else
\thisshortcaption
\fi
} } \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
\ifx\gtemp\empty \else : \gtemp \fi}} } \fi
\egroup \checkinserts
}
\def\appendtomacro#1#2{ \expandafter\def\expandafter#1\expandafter{#1#2}}
\def\caption{\docaption\thiscaption}
\def\shortcaption{\docaption\thisshortcaption}
\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
\def\defcaption#1#2{\egroup \def#1{#2}}
\def\getfloatno#1{ \ifx#1\relax
\csname newcount\endcsname #1 \expandafter\gdef\expandafter\resetallfloatnos
\expandafter{\resetallfloatnos #1=0 } \fi
\let\floatno#1}
\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}
\def\floatmagic{!!float!!}
\def\iffloat#1{\expandafter\doiffloat#1==\finish}
\def\doiffloat#1=#2=#3\finish{ \def\temp{#1} \def\iffloattype{#2} \ifx\temp\floatmagic
}
\parseargdef\listoffloats{ \def\floattype{#1} { \indexnofonts
\turnoffactive
\xdef\safefloattype{\floattype} } \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
\ifhavexrefs
\message{\linenumber No `\safefloattype' floats to list.} \fi
\else
\begingroup
\leftskip=\tocindent \let\do=\listoffloatsdo
\csname floatlist\safefloattype\endcsname
\endgroup
\fi
}
\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
\def\listoffloatsdoentry#1-title\finish{{ \toksA = \expandafter{\csname XR#1-lof\endcsname} \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}} \writeentry
}}
\message{localization,}
\parseargdef\documentlanguage{ \tex \openin 1 txi-#1.tex
\ifeof 1
\errhelp = \nolanghelp
\errmessage{Cannot read language file txi-#1.tex} \else
\input txi-#1.tex
\fi
\closein 1
\endgroup
}
\newhelp\nolanghelp{The given language definition file cannot be found or
is empty. Maybe you need to install it? In the current directory
should work if nowhere else does.}
\def\setnonasciicharscatcode#1{ \count255=128
\loop\ifnum\count255<256
\global\catcode\count255=#1
\advance\count255 by 1
\repeat
}
\parseargdef\documentencoding{ \def\declaredencoding{\csname #1.enc\endcsname} \def\ascii{\csname US-ASCII.enc\endcsname} \def\latnine{\csname ISO-8859-15.enc\endcsname} \def\latone{\csname ISO-8859-1.enc\endcsname} \def\lattwo{\csname ISO-8859-2.enc\endcsname} \def\utfeight{\csname UTF-8.enc\endcsname} \ifx \declaredencoding \ascii
\asciichardefs
\else \ifx \declaredencoding \lattwo
\setnonasciicharscatcode\active
\lattwochardefs
\else \ifx \declaredencoding \latone
\setnonasciicharscatcode\active
\latonechardefs
\else \ifx \declaredencoding \latnine
\setnonasciicharscatcode\active
\latninechardefs
\else \ifx \declaredencoding \utfeight
\setnonasciicharscatcode\active
\utfeightchardefs
\else
\message{Unknown document encoding #1, ignoring.} \fi \fi \fi \fi \fi }
\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
\setnonasciicharscatcode\active
\def\latonechardefs{ \gdef^^a0{~}
\gdef^^a1{\exclamdown}
\gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
\gdef^^a5{\missingcharmsg{YEN SIGN}}
\gdef^^a6{\missingcharmsg{BROKEN BAR}}
\gdef^^a7{\S}
\gdef^^a8{\"{}}
\gdef^^a9{\copyright}
\gdef^^aa{\ordf}
\gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}}
\gdef^^ac{$\lnot$}
\gdef^^ad{\-}
\gdef^^ae{\registeredsymbol}
\gdef^^af{\={}}
\gdef^^b0{\textdegree}
\gdef^^b1{$\pm$}
\gdef^^b2{$^2$}
\gdef^^b3{$^3$}
\gdef^^b4{\'{}}
\gdef^^b5{$\mu$}
\gdef^^b6{\P}
\gdef^^b7{$^.$}
\gdef^^b8{\cedilla\ }
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
\gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
\gdef^^bf{\questiondown}
\gdef^^c0{\`A}
\gdef^^c1{\'A}
\gdef^^c2{\^A}
\gdef^^c3{\~A}
\gdef^^c4{\"A}
\gdef^^c5{\ringaccent A}
\gdef^^c6{\AE}
\gdef^^c7{\cedilla C}
\gdef^^c8{\`E}
\gdef^^c9{\'E}
\gdef^^ca{\^E}
\gdef^^cb{\"E}
\gdef^^cc{\`I}
\gdef^^cd{\'I}
\gdef^^ce{\^I}
\gdef^^cf{\"I}
\gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}}
\gdef^^d1{\~N}
\gdef^^d2{\`O}
\gdef^^d3{\'O}
\gdef^^d4{\^O}
\gdef^^d5{\~O}
\gdef^^d6{\"O}
\gdef^^d7{$\times$}
\gdef^^d8{\O}
\gdef^^d9{\`U}
\gdef^^da{\'U}
\gdef^^db{\^U}
\gdef^^dc{\"U}
\gdef^^dd{\'Y}
\gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}}
\gdef^^df{\ss}
\gdef^^e0{\`a}
\gdef^^e1{\'a}
\gdef^^e2{\^a}
\gdef^^e3{\~a}
\gdef^^e4{\"a}
\gdef^^e5{\ringaccent a}
\gdef^^e6{\ae}
\gdef^^e7{\cedilla c}
\gdef^^e8{\`e}
\gdef^^e9{\'e}
\gdef^^ea{\^e}
\gdef^^eb{\"e}
\gdef^^ec{\`{\dotless i}}
\gdef^^ed{\'{\dotless i}}
\gdef^^ee{\^{\dotless i}}
\gdef^^ef{\"{\dotless i}}
\gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}}
\gdef^^f1{\~n}
\gdef^^f2{\`o}
\gdef^^f3{\'o}
\gdef^^f4{\^o}
\gdef^^f5{\~o}
\gdef^^f6{\"o}
\gdef^^f7{$\div$}
\gdef^^f8{\o}
\gdef^^f9{\`u}
\gdef^^fa{\'u}
\gdef^^fb{\^u}
\gdef^^fc{\"u}
\gdef^^fd{\'y}
\gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}}
\gdef^^ff{\"y}
}
\def\latninechardefs{ \latonechardefs
\gdef^^a4{\euro}
\gdef^^a6{\v S}
\gdef^^a8{\v s}
\gdef^^b4{\v Z}
\gdef^^b8{\v z}
\gdef^^bc{\OE}
\gdef^^bd{\oe}
\gdef^^be{\"Y}
}
\def\lattwochardefs{ \gdef^^a0{~}
\gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
\gdef^^a5{\v L}
\gdef^^a6{\'S}
\gdef^^a7{\S}
\gdef^^a8{\"{}}
\gdef^^a9{\v S}
\gdef^^aa{\cedilla S}
\gdef^^ab{\v T}
\gdef^^ac{\'Z}
\gdef^^ad{\-}
\gdef^^ae{\v Z}
\gdef^^af{\dotaccent Z}
\gdef^^b0{\textdegree}
\gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}}
\gdef^^b2{\missingcharmsg{OGONEK}}
\gdef^^b3{\l}
\gdef^^b4{\'{}}
\gdef^^b5{\v l}
\gdef^^b6{\'s}
\gdef^^b7{\v{}}
\gdef^^b8{\cedilla\ }
\gdef^^b9{\v s}
\gdef^^ba{\cedilla s}
\gdef^^bb{\v t}
\gdef^^bc{\'z}
\gdef^^bd{\H{}}
\gdef^^be{\v z}
\gdef^^bf{\dotaccent z}
\gdef^^c0{\'R}
\gdef^^c1{\'A}
\gdef^^c2{\^A}
\gdef^^c3{\u A}
\gdef^^c4{\"A}
\gdef^^c5{\'L}
\gdef^^c6{\'C}
\gdef^^c7{\cedilla C}
\gdef^^c8{\v C}
\gdef^^c9{\'E}
\gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}}
\gdef^^cb{\"E}
\gdef^^cc{\v E}
\gdef^^cd{\'I}
\gdef^^ce{\^I}
\gdef^^cf{\v D}
\gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}}
\gdef^^d1{\'N}
\gdef^^d2{\v N}
\gdef^^d3{\'O}
\gdef^^d4{\^O}
\gdef^^d5{\H O}
\gdef^^d6{\"O}
\gdef^^d7{$\times$}
\gdef^^d8{\v R}
\gdef^^d9{\ringaccent U}
\gdef^^da{\'U}
\gdef^^db{\H U}
\gdef^^dc{\"U}
\gdef^^dd{\'Y}
\gdef^^de{\cedilla T}
\gdef^^df{\ss}
\gdef^^e0{\'r}
\gdef^^e1{\'a}
\gdef^^e2{\^a}
\gdef^^e3{\u a}
\gdef^^e4{\"a}
\gdef^^e5{\'l}
\gdef^^e6{\'c}
\gdef^^e7{\cedilla c}
\gdef^^e8{\v c}
\gdef^^e9{\'e}
\gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
\gdef^^ed{\'\i}
\gdef^^ee{\^\i}
\gdef^^ef{\v d}
\gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}}
\gdef^^f1{\'n}
\gdef^^f2{\v n}
\gdef^^f3{\'o}
\gdef^^f4{\^o}
\gdef^^f5{\H o}
\gdef^^f6{\"o}
\gdef^^f7{$\div$}
\gdef^^f8{\v r}
\gdef^^f9{\ringaccent u}
\gdef^^fa{\'u}
\gdef^^fb{\H u}
\gdef^^fc{\"u}
\gdef^^fd{\'y}
\gdef^^fe{\cedilla t}
\gdef^^ff{\dotaccent{}}
}
\newcount\countUTFx
\newcount\countUTFy
\newcount\countUTFz
\gdef\UTFviiiTwoOctets#1#2{\expandafter
\UTFviiiDefined\csname u8:#1\string #2\endcsname}
\gdef\UTFviiiThreeOctets#1#2#3{\expandafter
\UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname}
\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter
\UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname}
\gdef\UTFviiiDefined#1{ \ifx #1\relax
\message{\linenumber Unicode char \string #1 not defined for Texinfo} \else
\expandafter #1 \fi
}
\begingroup
\catcode`\~13
\catcode`\"12
\def\UTFviiiLoop{ \global\catcode\countUTFx\active
\uccode`\~\countUTFx
\uppercase\expandafter{\UTFviiiTmp} \advance\countUTFx by 1
\ifnum\countUTFx < \countUTFy
\expandafter\UTFviiiLoop
\fi}
\countUTFx = "C2
\countUTFy = "E0
\def\UTFviiiTmp{ \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
\UTFviiiLoop
\countUTFx = "E0
\countUTFy = "F0
\def\UTFviiiTmp{ \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
\UTFviiiLoop
\countUTFx = "F0
\countUTFy = "F4
\def\UTFviiiTmp{ \xdef~{\noexpand\UTFviiiFourOctets\string~}}
\UTFviiiLoop
\endgroup
\begingroup
\catcode`\"=12
\catcode`\<=12
\catcode`\.=12
\catcode`\,=12
\catcode`\;=12
\catcode`\!=12
\catcode`\~=13
\gdef\DeclareUnicodeCharacter#1#2{ \countUTFz = "#1\relax
\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)} \begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets##1##2{ \csname u8:##1\string ##2\endcsname} \def\UTFviiiThreeOctets##1##2##3{ \csname u8:##1\string ##2\string ##3\endcsname} \def\UTFviiiFourOctets##1##2##3##4{ \csname u8:##1\string ##2\string ##3\string ##4\endcsname} \expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter
\gdef\UTFviiiTmp{#2} \endgroup}
\gdef\parseXMLCharref{ \ifnum\countUTFz < "A0\relax
\errhelp = \EMsimple
\errmessage{Cannot define Unicode char value < 00A0} \else\ifnum\countUTFz < "800\relax
\parseUTFviiiA, \parseUTFviiiB C\UTFviiiTwoOctets., \else\ifnum\countUTFz < "10000\relax
\parseUTFviiiA; \parseUTFviiiA, \parseUTFviiiB E\UTFviiiThreeOctets.{,;} \else
\parseUTFviiiA; \parseUTFviiiA, \parseUTFviiiA! \parseUTFviiiB F\UTFviiiFourOctets.{!,;} \fi\fi\fi
}
\gdef\parseUTFviiiA#1{ \countUTFx = \countUTFz
\divide\countUTFz by 64
\countUTFy = \countUTFz
\multiply\countUTFz by 64
\advance\countUTFx by -\countUTFz
\advance\countUTFx by 128
\uccode `#1\countUTFx
\countUTFz = \countUTFy}
\gdef\parseUTFviiiB#1#2#3#4{ \advance\countUTFz by "#10\relax
\uccode `#3\countUTFz
\uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
\endgroup
\def\utfeightchardefs{ \DeclareUnicodeCharacter{00A0}{\tie}
\DeclareUnicodeCharacter{00A1}{\exclamdown}
\DeclareUnicodeCharacter{00A3}{\pounds}
\DeclareUnicodeCharacter{00A8}{\"{ }}
\DeclareUnicodeCharacter{00A9}{\copyright}
\DeclareUnicodeCharacter{00AA}{\ordf}
\DeclareUnicodeCharacter{00AD}{\-}
\DeclareUnicodeCharacter{00AE}{\registeredsymbol}
\DeclareUnicodeCharacter{00AF}{\={ }}
\DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
\DeclareUnicodeCharacter{00B4}{\'{ }}
\DeclareUnicodeCharacter{00B8}{\cedilla{ }}
\DeclareUnicodeCharacter{00BA}{\ordm}
\DeclareUnicodeCharacter{00BF}{\questiondown}
\DeclareUnicodeCharacter{00C0}{\`A}
\DeclareUnicodeCharacter{00C1}{\'A}
\DeclareUnicodeCharacter{00C2}{\^A}
\DeclareUnicodeCharacter{00C3}{\~A}
\DeclareUnicodeCharacter{00C4}{\"A}
\DeclareUnicodeCharacter{00C5}{\AA}
\DeclareUnicodeCharacter{00C6}{\AE}
\DeclareUnicodeCharacter{00C7}{\cedilla{C}}
\DeclareUnicodeCharacter{00C8}{\`E}
\DeclareUnicodeCharacter{00C9}{\'E}
\DeclareUnicodeCharacter{00CA}{\^E}
\DeclareUnicodeCharacter{00CB}{\"E}
\DeclareUnicodeCharacter{00CC}{\`I}
\DeclareUnicodeCharacter{00CD}{\'I}
\DeclareUnicodeCharacter{00CE}{\^I}
\DeclareUnicodeCharacter{00CF}{\"I}
\DeclareUnicodeCharacter{00D1}{\~N}
\DeclareUnicodeCharacter{00D2}{\`O}
\DeclareUnicodeCharacter{00D3}{\'O}
\DeclareUnicodeCharacter{00D4}{\^O}
\DeclareUnicodeCharacter{00D5}{\~O}
\DeclareUnicodeCharacter{00D6}{\"O}
\DeclareUnicodeCharacter{00D8}{\O}
\DeclareUnicodeCharacter{00D9}{\`U}
\DeclareUnicodeCharacter{00DA}{\'U}
\DeclareUnicodeCharacter{00DB}{\^U}
\DeclareUnicodeCharacter{00DC}{\"U}
\DeclareUnicodeCharacter{00DD}{\'Y}
\DeclareUnicodeCharacter{00DF}{\ss}
\DeclareUnicodeCharacter{00E0}{\`a}
\DeclareUnicodeCharacter{00E1}{\'a}
\DeclareUnicodeCharacter{00E2}{\^a}
\DeclareUnicodeCharacter{00E3}{\~a}
\DeclareUnicodeCharacter{00E4}{\"a}
\DeclareUnicodeCharacter{00E5}{\aa}
\DeclareUnicodeCharacter{00E6}{\ae}
\DeclareUnicodeCharacter{00E7}{\cedilla{c}}
\DeclareUnicodeCharacter{00E8}{\`e}
\DeclareUnicodeCharacter{00E9}{\'e}
\DeclareUnicodeCharacter{00EA}{\^e}
\DeclareUnicodeCharacter{00EB}{\"e}
\DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
\DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
\DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
\DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
\DeclareUnicodeCharacter{00F1}{\~n}
\DeclareUnicodeCharacter{00F2}{\`o}
\DeclareUnicodeCharacter{00F3}{\'o}
\DeclareUnicodeCharacter{00F4}{\^o}
\DeclareUnicodeCharacter{00F5}{\~o}
\DeclareUnicodeCharacter{00F6}{\"o}
\DeclareUnicodeCharacter{00F8}{\o}
\DeclareUnicodeCharacter{00F9}{\`u}
\DeclareUnicodeCharacter{00FA}{\'u}
\DeclareUnicodeCharacter{00FB}{\^u}
\DeclareUnicodeCharacter{00FC}{\"u}
\DeclareUnicodeCharacter{00FD}{\'y}
\DeclareUnicodeCharacter{00FF}{\"y}
\DeclareUnicodeCharacter{0100}{\=A}
\DeclareUnicodeCharacter{0101}{\=a}
\DeclareUnicodeCharacter{0102}{\u{A}}
\DeclareUnicodeCharacter{0103}{\u{a}}
\DeclareUnicodeCharacter{0106}{\'C}
\DeclareUnicodeCharacter{0107}{\'c}
\DeclareUnicodeCharacter{0108}{\^C}
\DeclareUnicodeCharacter{0109}{\^c}
\DeclareUnicodeCharacter{010A}{\dotaccent{C}}
\DeclareUnicodeCharacter{010B}{\dotaccent{c}}
\DeclareUnicodeCharacter{010C}{\v{C}}
\DeclareUnicodeCharacter{010D}{\v{c}}
\DeclareUnicodeCharacter{010E}{\v{D}}
\DeclareUnicodeCharacter{0112}{\=E}
\DeclareUnicodeCharacter{0113}{\=e}
\DeclareUnicodeCharacter{0114}{\u{E}}
\DeclareUnicodeCharacter{0115}{\u{e}}
\DeclareUnicodeCharacter{0116}{\dotaccent{E}}
\DeclareUnicodeCharacter{0117}{\dotaccent{e}}
\DeclareUnicodeCharacter{011A}{\v{E}}
\DeclareUnicodeCharacter{011B}{\v{e}}
\DeclareUnicodeCharacter{011C}{\^G}
\DeclareUnicodeCharacter{011D}{\^g}
\DeclareUnicodeCharacter{011E}{\u{G}}
\DeclareUnicodeCharacter{011F}{\u{g}}
\DeclareUnicodeCharacter{0120}{\dotaccent{G}}
\DeclareUnicodeCharacter{0121}{\dotaccent{g}}
\DeclareUnicodeCharacter{0124}{\^H}
\DeclareUnicodeCharacter{0125}{\^h}
\DeclareUnicodeCharacter{0128}{\~I}
\DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
\DeclareUnicodeCharacter{012A}{\=I}
\DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
\DeclareUnicodeCharacter{012C}{\u{I}}
\DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
\DeclareUnicodeCharacter{0130}{\dotaccent{I}}
\DeclareUnicodeCharacter{0131}{\dotless{i}}
\DeclareUnicodeCharacter{0132}{IJ}
\DeclareUnicodeCharacter{0133}{ij}
\DeclareUnicodeCharacter{0134}{\^J}
\DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
\DeclareUnicodeCharacter{0139}{\'L}
\DeclareUnicodeCharacter{013A}{\'l}
\DeclareUnicodeCharacter{0141}{\L}
\DeclareUnicodeCharacter{0142}{\l}
\DeclareUnicodeCharacter{0143}{\'N}
\DeclareUnicodeCharacter{0144}{\'n}
\DeclareUnicodeCharacter{0147}{\v{N}}
\DeclareUnicodeCharacter{0148}{\v{n}}
\DeclareUnicodeCharacter{014C}{\=O}
\DeclareUnicodeCharacter{014D}{\=o}
\DeclareUnicodeCharacter{014E}{\u{O}}
\DeclareUnicodeCharacter{014F}{\u{o}}
\DeclareUnicodeCharacter{0150}{\H{O}}
\DeclareUnicodeCharacter{0151}{\H{o}}
\DeclareUnicodeCharacter{0152}{\OE}
\DeclareUnicodeCharacter{0153}{\oe}
\DeclareUnicodeCharacter{0154}{\'R}
\DeclareUnicodeCharacter{0155}{\'r}
\DeclareUnicodeCharacter{0158}{\v{R}}
\DeclareUnicodeCharacter{0159}{\v{r}}
\DeclareUnicodeCharacter{015A}{\'S}
\DeclareUnicodeCharacter{015B}{\'s}
\DeclareUnicodeCharacter{015C}{\^S}
\DeclareUnicodeCharacter{015D}{\^s}
\DeclareUnicodeCharacter{015E}{\cedilla{S}}
\DeclareUnicodeCharacter{015F}{\cedilla{s}}
\DeclareUnicodeCharacter{0160}{\v{S}}
\DeclareUnicodeCharacter{0161}{\v{s}}
\DeclareUnicodeCharacter{0162}{\cedilla{t}}
\DeclareUnicodeCharacter{0163}{\cedilla{T}}
\DeclareUnicodeCharacter{0164}{\v{T}}
\DeclareUnicodeCharacter{0168}{\~U}
\DeclareUnicodeCharacter{0169}{\~u}
\DeclareUnicodeCharacter{016A}{\=U}
\DeclareUnicodeCharacter{016B}{\=u}
\DeclareUnicodeCharacter{016C}{\u{U}}
\DeclareUnicodeCharacter{016D}{\u{u}}
\DeclareUnicodeCharacter{016E}{\ringaccent{U}}
\DeclareUnicodeCharacter{016F}{\ringaccent{u}}
\DeclareUnicodeCharacter{0170}{\H{U}}
\DeclareUnicodeCharacter{0171}{\H{u}}
\DeclareUnicodeCharacter{0174}{\^W}
\DeclareUnicodeCharacter{0175}{\^w}
\DeclareUnicodeCharacter{0176}{\^Y}
\DeclareUnicodeCharacter{0177}{\^y}
\DeclareUnicodeCharacter{0178}{\"Y}
\DeclareUnicodeCharacter{0179}{\'Z}
\DeclareUnicodeCharacter{017A}{\'z}
\DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
\DeclareUnicodeCharacter{017C}{\dotaccent{z}}
\DeclareUnicodeCharacter{017D}{\v{Z}}
\DeclareUnicodeCharacter{017E}{\v{z}}
\DeclareUnicodeCharacter{01C4}{D\v{Z}}
\DeclareUnicodeCharacter{01C5}{D\v{z}}
\DeclareUnicodeCharacter{01C6}{d\v{z}}
\DeclareUnicodeCharacter{01C7}{LJ}
\DeclareUnicodeCharacter{01C8}{Lj}
\DeclareUnicodeCharacter{01C9}{lj}
\DeclareUnicodeCharacter{01CA}{NJ}
\DeclareUnicodeCharacter{01CB}{Nj}
\DeclareUnicodeCharacter{01CC}{nj}
\DeclareUnicodeCharacter{01CD}{\v{A}}
\DeclareUnicodeCharacter{01CE}{\v{a}}
\DeclareUnicodeCharacter{01CF}{\v{I}}
\DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
\DeclareUnicodeCharacter{01D1}{\v{O}}
\DeclareUnicodeCharacter{01D2}{\v{o}}
\DeclareUnicodeCharacter{01D3}{\v{U}}
\DeclareUnicodeCharacter{01D4}{\v{u}}
\DeclareUnicodeCharacter{01E2}{\={\AE}}
\DeclareUnicodeCharacter{01E3}{\={\ae}}
\DeclareUnicodeCharacter{01E6}{\v{G}}
\DeclareUnicodeCharacter{01E7}{\v{g}}
\DeclareUnicodeCharacter{01E8}{\v{K}}
\DeclareUnicodeCharacter{01E9}{\v{k}}
\DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
\DeclareUnicodeCharacter{01F1}{DZ}
\DeclareUnicodeCharacter{01F2}{Dz}
\DeclareUnicodeCharacter{01F3}{dz}
\DeclareUnicodeCharacter{01F4}{\'G}
\DeclareUnicodeCharacter{01F5}{\'g}
\DeclareUnicodeCharacter{01F8}{\`N}
\DeclareUnicodeCharacter{01F9}{\`n}
\DeclareUnicodeCharacter{01FC}{\'{\AE}}
\DeclareUnicodeCharacter{01FD}{\'{\ae}}
\DeclareUnicodeCharacter{01FE}{\'{\O}}
\DeclareUnicodeCharacter{01FF}{\'{\o}}
\DeclareUnicodeCharacter{021E}{\v{H}}
\DeclareUnicodeCharacter{021F}{\v{h}}
\DeclareUnicodeCharacter{0226}{\dotaccent{A}}
\DeclareUnicodeCharacter{0227}{\dotaccent{a}}
\DeclareUnicodeCharacter{0228}{\cedilla{E}}
\DeclareUnicodeCharacter{0229}{\cedilla{e}}
\DeclareUnicodeCharacter{022E}{\dotaccent{O}}
\DeclareUnicodeCharacter{022F}{\dotaccent{o}}
\DeclareUnicodeCharacter{0232}{\=Y}
\DeclareUnicodeCharacter{0233}{\=y}
\DeclareUnicodeCharacter{0237}{\dotless{j}}
\DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
\DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
\DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
\DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
\DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
\DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
\DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
\DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
\DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
\DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
\DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
\DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
\DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
\DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
\DeclareUnicodeCharacter{1E20}{\=G}
\DeclareUnicodeCharacter{1E21}{\=g}
\DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
\DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
\DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
\DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
\DeclareUnicodeCharacter{1E26}{\"H}
\DeclareUnicodeCharacter{1E27}{\"h}
\DeclareUnicodeCharacter{1E30}{\'K}
\DeclareUnicodeCharacter{1E31}{\'k}
\DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
\DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
\DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
\DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
\DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
\DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
\DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
\DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
\DeclareUnicodeCharacter{1E3E}{\'M}
\DeclareUnicodeCharacter{1E3F}{\'m}
\DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
\DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
\DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
\DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
\DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
\DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
\DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
\DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
\DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
\DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
\DeclareUnicodeCharacter{1E54}{\'P}
\DeclareUnicodeCharacter{1E55}{\'p}
\DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
\DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
\DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
\DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
\DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
\DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
\DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
\DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
\DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
\DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
\DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
\DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
\DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
\DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
\DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
\DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
\DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
\DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
\DeclareUnicodeCharacter{1E7C}{\~V}
\DeclareUnicodeCharacter{1E7D}{\~v}
\DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
\DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
\DeclareUnicodeCharacter{1E80}{\`W}
\DeclareUnicodeCharacter{1E81}{\`w}
\DeclareUnicodeCharacter{1E82}{\'W}
\DeclareUnicodeCharacter{1E83}{\'w}
\DeclareUnicodeCharacter{1E84}{\"W}
\DeclareUnicodeCharacter{1E85}{\"w}
\DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
\DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
\DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
\DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
\DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
\DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
\DeclareUnicodeCharacter{1E8C}{\"X}
\DeclareUnicodeCharacter{1E8D}{\"x}
\DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
\DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
\DeclareUnicodeCharacter{1E90}{\^Z}
\DeclareUnicodeCharacter{1E91}{\^z}
\DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
\DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
\DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
\DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
\DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
\DeclareUnicodeCharacter{1E97}{\"t}
\DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
\DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
\DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
\DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
\DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
\DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
\DeclareUnicodeCharacter{1EBC}{\~E}
\DeclareUnicodeCharacter{1EBD}{\~e}
\DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
\DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
\DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
\DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
\DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
\DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
\DeclareUnicodeCharacter{1EF2}{\`Y}
\DeclareUnicodeCharacter{1EF3}{\`y}
\DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
\DeclareUnicodeCharacter{1EF8}{\~Y}
\DeclareUnicodeCharacter{1EF9}{\~y}
\DeclareUnicodeCharacter{2013}{--}
\DeclareUnicodeCharacter{2014}{---}
\DeclareUnicodeCharacter{2022}{\bullet}
\DeclareUnicodeCharacter{2026}{\dots}
\DeclareUnicodeCharacter{20AC}{\euro}
\DeclareUnicodeCharacter{2192}{\expansion}
\DeclareUnicodeCharacter{21D2}{\result}
\DeclareUnicodeCharacter{2212}{\minus}
\DeclareUnicodeCharacter{2217}{\point}
\DeclareUnicodeCharacter{2261}{\equiv}
}
\def\asciichardefs{ \relax
}
\setnonasciicharscatcode \other
\message{formatting,}
\newdimen\defaultparindent \defaultparindent = 15pt
\chapheadingskip = 15pt plus 4pt minus 2pt
\secheadingskip = 12pt plus 3pt minus 2pt
\subsecheadingskip = 9pt plus 2pt minus 2pt
\vbadness = 10000
\hbadness = 2000
\widowpenalty=10000
\clubpenalty=10000
\def\setemergencystretch{ \ifx\emergencystretch\thisisundefined
\def\emergencystretch{\dimen0} \else
\emergencystretch = .15\hsize
\fi
}
\def\internalpagesizes#1#2#3#4#5#6#7#8{ \voffset = #3\relax
\topskip = #6\relax
\splittopskip = \topskip
\vsize = #1\relax
\advance\vsize by \topskip
\outervsize = \vsize
\advance\outervsize by 2\topandbottommargin
\pageheight = \vsize
\hsize = #2\relax
\outerhsize = \hsize
\advance\outerhsize by 0.5in
\pagewidth = \hsize
\normaloffset = #4\relax
\bindingoffset = #5\relax
\ifpdf
\pdfpageheight #7\relax
\pdfpagewidth #8\relax
\fi
\setleading{\textleading}
\parindent = \defaultparindent
\setemergencystretch
}
\def\letterpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt
\internalpagesizes{46\baselineskip}{6in} {\voffset}{.25in} {\bindingoffset}{36pt} {11in}{8.5in}}}
\def\smallbook{{\globaldefs = 1
\parskip = 2pt plus 1pt
\textleading = 12pt
\internalpagesizes{7.5in}{5in} {\voffset}{.25in} {\bindingoffset}{16pt} {9.25in}{7in} \lispnarrowing = 0.3in
\tolerance = 700
\hfuzz = 1pt
\contentsrightmargin = 0pt
\defbodyindent = .5cm
}}
\def\smallerbook{{\globaldefs = 1
\parskip = 1.5pt plus 1pt
\textleading = 12pt
\internalpagesizes{7.4in}{4.8in} {-.2in}{-.4in} {0pt}{14pt} {9in}{6in} \lispnarrowing = 0.25in
\tolerance = 700
\hfuzz = 1pt
\contentsrightmargin = 0pt
\defbodyindent = .4cm
}}
\def\afourpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt
\internalpagesizes{51\baselineskip}{160mm}
{\voffset}{\hoffset} {\bindingoffset}{44pt} {297mm}{210mm} \tolerance = 700
\hfuzz = 1pt
\contentsrightmargin = 0pt
\defbodyindent = 5mm
}}
\def\afivepaper{{\globaldefs = 1
\parskip = 2pt plus 1pt minus 0.1pt
\textleading = 12.5pt
\internalpagesizes{160mm}{120mm} {\voffset}{\hoffset} {\bindingoffset}{8pt} {210mm}{148mm} \lispnarrowing = 0.2in
\tolerance = 800
\hfuzz = 1.2pt
\contentsrightmargin = 0pt
\defbodyindent = 2mm
\tableindent = 12mm
}}
\def\afourlatex{{\globaldefs = 1
\afourpaper
\internalpagesizes{237mm}{150mm} {\voffset}{4.6mm} {\bindingoffset}{7mm} {297mm}{210mm} \globaldefs = 0
}}
\def\afourwide{{\globaldefs = 1
\afourpaper
\internalpagesizes{241mm}{165mm} {\voffset}{-2.95mm} {\bindingoffset}{7mm} {297mm}{210mm} \globaldefs = 0
}}
\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
\def\pagesizesyyy#1,#2,#3\finish{{ \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt
\setleading{\textleading} \dimen0 = #1
\advance\dimen0 by \voffset
\dimen2 = \hsize
\advance\dimen2 by \normaloffset
\internalpagesizes{#1}{\hsize} {\voffset}{\normaloffset} {\bindingoffset}{44pt} {\dimen0}{\dimen2}}}
\letterpaper
\message{and turning on texinfo input format.}
\catcode`\"=\other
\catcode`\~=\other
\catcode`\^=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\+=\other
\catcode`\$=\other
\def\normaldoublequote{"}
\def\normaltilde{~}
\def\normalcaret{^}
\def\normalunderscore{_}
\def\normalverticalbar{|}
\def\normalless{<}
\def\normalgreater{>}
\def\normalplus{+}
\def\normaldollar{$}%$ font-lock fix
\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
\catcode`\"=\active
\def\activedoublequote{{\tt\char34}}
\let"=\activedoublequote
\catcode`\~=\active
\def~{{\tt\char126}}
\chardef\hat=`\^
\catcode`\^=\active
\def^{{\tt \hat}}
\catcode`\_=\active
\def_{\ifusingtt\normalunderscore\_}
\let\realunder=_
\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
\catcode`\|=\active
\def|{{\tt\char124}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
\chardef \gtr=`\>
\catcode`\>=\active
\def>{{\tt \gtr}}
\catcode`\+=\active
\def+{{\tt \char 43}}
\catcode`\$=\active
\def${\ifusingit{{\sl\$}}\normaldollar}
\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
\def\turnoffactive{ \normalturnoffactive
\otherbackslash
}
\catcode`\@=0
\global\chardef\backslashcurfont=`\\
\global\let\rawbackslashxx=\backslashcurfont
{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
\catcode`\\=\active
@def@normalbackslash{{@tt@backslashcurfont}}
@gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
@def@normalturnoffactive{ @let\=@normalbackslash
@let"=@normaldoublequote
@let~=@normaltilde
@let^=@normalcaret
@let_=@normalunderscore
@let|=@normalverticalbar
@let<=@normalless
@let>=@normalgreater
@let+=@normalplus
@let$=@normaldollar %$ font-lock fix
@unsepspaces
}
@otherifyactive
@gdef@eatinput input texinfo{@fixbackslash}
@global@let\ = @eatinput
@gdef@fixbackslash{ @ifx\@eatinput @let\ = @normalbackslash @fi
@catcode`+=@active
@catcode`@_=@active
}
@escapechar = `@@
@catcode`@& = @other
@catcode`@# = @other
@catcode`@
@c Local variables:
@c eval: (add-hook 'write-file-hooks 'time-stamp)
@c page-delimiter: "^\\\\message"
@c time-stamp-start: "def\\\\texinfoversion{"
@c time-stamp-format: "@c time-stamp-end: "}"
@c End:
@c vim:sw=2:
@ignore
arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
@end ignore