% Speech Coding and Synthesis -- Version September 1994 % Derived from % Handbook of Geometry document style -- Version March 1992 % Derived from % houch10.sty (24 May 1989) % Created by Willem jan Maas (Elsevier Science) % Adapted by Fer D. Mesman (Elsevier Science) % **************************************** % * FONTS * % **************************************** % \lineskip 1pt % \lineskip is 1pt for all font sizes. \normallineskip 1pt \def\baselinestretch{1} % Each size-changing command \SIZE executes the command % \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE % where: % BASELINESKIP = Normal value of \baselineskip for that size. (Actual % value will be \baselinestretch * BASELINESKIP.) % % \FONTSIZE = Name of font-size command. The currently available % (preloaded) font sizes are: \vpt (5pt), \vipt (6pt), % \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt, % \xivpt, \xviipt, \xxpt, \xxvpt. % \@FONTSIZE = The same as the font-size command except with an % '@' in front---e.g., if \FONTSIZE = \xivpt then % \@FONTSIZE = \@xivpt. % % For reasons of efficiency that needn't concern the designer, % the document style defines \@normalsize instead of \normalsize . This is % done only for \normalsize, not for any other size-changing commands. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 12pt plus1pt minus2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip 6pt plus2pt% \belowdisplayshortskip 6pt plus1pt minus2pt% \let\@listi\@listI} % Setting of \@listi added 9 Jun 87 \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 8.5pt plus 3pt minus 4pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus2pt% \belowdisplayshortskip 4pt plus2pt minus 2pt \let\@listi\@listI} \def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt \abovedisplayskip 10pt plus 1pt minus 2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip 5pt plus2pt% \belowdisplayshortskip 5pt plus1pt minus 2pt \def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 \topsep 4pt plus 2pt minus 2pt\parsep 0pt \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \normalsize % Choose the normalsize font. % **************************************** % * PAGE LAYOUT * % **************************************** % % All margin dimensions measured from a point one inch from top and side % of page. % SIDE MARGINS: \oddsidemargin 1.0in % Left margin on odd-numbered pages. \evensidemargin 1.0in % Left margin on even-numbered pages. \marginparwidth 0.75in % Width of marginal notes. \marginparsep 7pt % Horizontal space between outer margin and % marginal note % VERTICAL SPACING: % Top of page: \topmargin 0.75in % Nominal distance from top of page to top of % box containing running head. \headheight 12pt % Height of box containing running head. \headsep 12pt % Space between running head and text. \topskip = 10pt % '\baselineskip' for first line of page. % Bottom of page: \footskip 24pt % Distance from baseline of box containing foot % to baseline of last line of text. % DIMENSION OF TEXT: % \textheight is the height of text (including footnotes and figures, % excluding running head and foot). \textheight = 44\baselineskip \advance\textheight by \topskip \textwidth 30pc % Width of text line. % For two-column mode: \columnsep 10pt % Space between columns \columnseprule 0pt % Width of rule between columns. % A \raggedbottom command causes 'ragged bottom' pages: pages set to % natural height instead of being stretched to exactly \textheight. % FOOTNOTES: \footnotesep 6.65pt % Height of strut placed at the beginning of every % footnote = height of normal \footnotesize strut, % so no extra space between footnotes. \skip\footins 9pt plus 4pt minus 2pt % Space between last line of text and % top of first footnote. % FLOATS: (a float is something like a figure or table) % % FOR FLOATS ON A TEXT PAGE: % % One-column mode or single-column floats in two-column mode: \floatsep 15pt plus 10pt minus 4pt % Space between adjacent floats moved % to top or bottom of text page. \textfloatsep 30pt plus 10pt minus 4pt % Space between main text and floats % at top or bottom of page. \intextsep 15pt plus 10pt minus 4pt % Space between in-text figures and % text. \@maxsep 30pt % The maximum of \floatsep, % \textfloatsep and \intextsep (minus % the stretch and shrink). % Two-column floats in two-column mode: \dblfloatsep 15pt plus 10pt minus 4pt % Same as \floatsep for double-column % figures in two-column mode. \dbltextfloatsep 30pt plus 10pt minus 4pt% \textfloatsep for double-column % floats. \@dblmaxsep 30pt % The maximum of \dblfloatsep and % \dbltexfloatsep. % For floats on a separate float page or column: % one-column mode or single-column floats in two-column mode: \@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be % 0pt plus ...) \@fpsep 10pt plus 1000fil % Space between floats on float page/column. \@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be % 0pt plus ... ) % Double-column floats in two-column mode. \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) \@dblfpsep 10pt plus 1000fil% Space between floats on float page. \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be % 0pt plus ... ) % Marginal notes: % \marginparpush 5pt % Minimum vertical separation between two marginal % notes. % **************************************** % * PARAGRAPHING * % **************************************** % \parskip 0pt % No vertical space between paragraphs. \parindent 1em % Paragraph indentation. %\topsep 8pt plus 2pt minus 4pt % Extra vertical space, in addition to % \parskip, added above and below list and % paragraphing environments. \partopsep 2pt plus 1pt minus 1pt % Extra vertical space, in addition to % \parskip and \topsep, added when user % leaves blank line before environment. %\itemsep 4pt plus 2pt minus 1pt % Extra vertical space, in addition to % \parskip, added between list items. % See \@listI for values of \topsep and \itemsep % (Change made 9 Jun 87) % The following page-breaking penalties are defined \@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] \@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] \@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. \@endparpenalty -\@lowpenalty % After a list or paragraph environment. \@itempenalty -\@lowpenalty % Between list items. % \clubpenalty % 'Club line' at bottom of page. % \widowpenalty % 'Widow line' at top of page. % \displaywidowpenalty % Math display widow line. % \predisplaypenalty % Breaking before a math display. % \postdisplaypenalty % Breaking after a math display. % \interlinepenalty % Breaking at a line within a paragraph. % \brokenpenalty % Breaking after a hyphenated line. % **************************************** % * CHAPTERS AND SECTIONS * % **************************************** % % % Authors are supposed to type the following sequence of instructions % at the beginning of each chapter (course): % % \author[SHORT]{FULL} % FULL = full name % % SHORT = name that appears in % % running title and table of contents % % (initials + surname) % \address{
} % \\ separate lines of address % \chapter{} % \def\author{\@dblarg{\@xauthor}} %% \author adds a line with the author name to the \@authorbox to take care %% of multiple authors. The preamble of the sourcefile should look something %% like this: %% %% \author[..]{..} %% \address{..} %% \author[..]{..} %% \address{..} %% %% The latter \author should have the desired running head as optional %% argument \newbox\@authorbox \def\no@harm{\let\thanks=\@gobble \let\\=\@empty \let\LaTeX\relax} \def\@xauthor[#1]#2{% remove \thanks commands from #1 \begingroup \no@harm \xdef\@argi{#1}\endgroup \edef\@shortauthor{\@argi}\def\@author{#2} \setbox\@authorbox=\vbox{\box\@authorbox\centering\vskip\baselineskip \large\@author} \addtocontents{toc}{\def\protect\@shortauthor{\@argi}}} \def\address#1{\gdef\@address{#1} \setbox\@authorbox=\vbox{\box\@authorbox\centering \footnotesize \vskip0.5\baselineskip \em\@address \vskip12pt}} \def\support#1{\gdef\@support{#1}} % initialize to empty \def\@shortauthor{} \def\@author{} \def\@address{} \def\@support{} % \secdef{UNSTARCMDS}{STARCMDS} : % When defining a \chapter or \section command without using % \@startsection, you can use \secdef as follows: % \def\chapter { ... \secdef \CMDA \CMDB } % \def\CMDA [#1]#2{ ... } % Command to define \chapter[...]{...} % \def\CMDB #1{ ... } % Command to define \chapter*{...} \def\chapter{\cleardoublepage \markboth{}{}% empty marks \def\thesection{\arabic{section}}% original definition of \thesection \cs@number % `number' citation style is default \setcounter{footnote}{1}% for \thanks mechanism \gdef\thefootnote{\arabic{footnote}} \global\@topnum\z@% no floats at top of this page \secdef\@chapter\@schapter} \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter} \cur@count=\csname c@chapter\endcsname \typeout{\chaptername\space\thechapter, by \@shortauthor.} \else \cur@count=-1 \fi \thispagestyle{plain} % remove \thanks commands from #1 % use cleaned argument #1 for .toc entry and mark \begingroup \no@harm \xdef\@argi{#1}\endgroup \addcontentsline{toc}{chapter}{\@argi}% \xdef\@shorttitle{\@argi} \section@normal \addtocontents{toc}{\protect\section@normal}% \let\end@chapter\end@seminar \@makechapterhead{#2}% \begingroup \no@harm \xdef\@tempc{\noexpand\end@chapter{\@argi}}\endgroup \@tempc} \def\@schapter#1{\cur@count=-1 \addcontentsline{toc}{chapter}{#1}% \section@normal \addtocontents{toc}{\protect\section@normal}% \thispagestyle{plain}% \@makeschapterhead{#1}} % \@makechapterhead{TEXT}: Makes the heading for the \chapter command. % \def\@makechapterhead#1{\vspace*{12pt} {\normalsize\centering \edef\@act{\noexpand\uppercase{\@chapapp}~\@@chapter}\@act \par \vskip 24pt {\LARGE\bf #1\relax\par} %Eighteen bold \par \vskip 27pt} \box\@authorbox} % Trick due to Howard Trickey and Victor Eijkhout \def\uc@title#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx} \def\uc@tx{\ifx\@tempa\relax % reached end of argument (\thanks\relax) \else \expandafter\uc@ty \fi} \def\uc@ty#1{\thanks{#1}\uc@title} % \@makeschapterhead{TEXT}: Makes the heading for the \chapter* command. % \def\@makeschapterhead#1{\vspace*{12pt} {\parindent 0pt \centering \large\bf #1 \par \nobreak \vskip 25pt}} % \end@chapter finishes the chapter page; this macro must be % \let to \end@course or \end@seminar by the calling macro \def\@copyright{\noindent \parbox{0.9\textwidth}{\noindent\footnotesize \@support} \vskip12pt\noindent \parbox{0.75\textwidth}{\raggedright \footnotesize Speech Coding and Synthesis\\ \ifx\@editor\empty@field \else Edited by \@editor \\ \fi $\copyright$\,\@pubyear\ Elsevier Science B.V. All rights reserved}} \def\end@seminar#1{% \let\@oldfootnoterule\footnoterule \let\footnoterule\relax \insert\footins{\@copyright} \setcounter{footnote}{0}% reset footnote counter {\footnotesize %%WJ \tableofcontents\cleardoublepage \gdef\@thanks{}% empty \@thanks \chaptermark{#1}}\let \footnoterule\@oldfootnoterule} % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} % optional * [ALTHEADING]{HEADING} % Generic command to start a section. % NAME : e.g., 'subsection' % LEVEL : a number, denoting depth of section -- e.g., chapter=1, % section = 2, etc. A section number will be printed if % and only if LEVEL < or = the value of the secnumdepth % counter. % INDENT : Indentation of heading from left margin % BEFORESKIP : Absolute value = skip to leave above the heading. % If negative, then paragraph indent of text following % heading is suppressed. % AFTERSKIP : if positive, then skip to leave below heading, % else - skip to leave to right of run-in heading. % STYLE : commands to set style % If '*' missing, then increments the counter. If it is present, then % there should be no [ALTHEADING] argument. A sectioning command % is normally defined to \@startsection + its first six arguments. \newcount\cur@count % re-define \@startsection, \@sect, etc. (from latex.tex) \def\@nopresecnum{} \def\@appresecnum{Appendix } \let\@presecnum=\@nopresecnum \def\@postsecnum{.\hskip 0.5em} \def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar{\@dblarg{\@ssect{#1}{#2}{#3}{#4}{#5}{#6}}} {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \cur@count=-1 \def\@svsec{}\else \refstepcounter{#1} \cur@count=\csname c@#1\endcsname \edef\@svsec{\@presecnum\csname the#1\endcsname\@postsecnum}\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M \rightskip\z@ \@rightskip\rightskip #8\par}% \endgroup \csname #1mark\endcsname{#7}\addcontentsline{toc}{#1}{#7}\else \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}{#7}}\fi \@xsect{#5}} \def\@ssect#1#2#3#4#5#6[#7]#8{\@tempskipa #5\relax \cur@count=-1 % \addcontentsline{toc}{#1}{#7} \ifdim \@tempskipa>\z@ \begingroup #6\@hangfrom{\hskip #3}{\interlinepenalty\@M \rightskip\z@ \@rightskip\rightskip #8\par}\endgroup \else \def\@svsechd{#6\hskip #3\relax #8}\fi \@xsect{#5}} \newskip\Bls@ \Bls@=5ex plus 1.0ex minus 0.2ex % approx. 2 baselineskip \newskip\bls@ \bls@=2.5ex plus 0.5ex minus 0.2ex % approx. 1 baselineskip \newskip\eps@ \eps@=0.001pt % small positive skip \def\section{\@startsection{section}{1} {\z@}{-\Bls@}{\bls@}{\normalsize\bf}} \def\subsection{\@startsection{subsection}{2} {\z@}{-\Bls@}{\bls@}{\normalsize\em}} \def\subsubsection{\@startsection{subsubsection}{3} {\z@}{-\Bls@}{\eps@}{\normalsize\em}} \def\paragraph{\@startsection{paragraph}{4} {\z@}{\Bls@}{-1em}{\normalsize\em}} \def\subparagraph{\@startsection{subparagraph}{4} {\parindent}{\Bls@}{-1em}{\normalsize\em}} % Default initializations of \...mark commands. (See below for their % us in defining page styles. \def\chaptermark#1{} \def\sectionmark#1{\markboth{\thesection}{\thesection}} % Preloaded definitions % \def\subsectionmark#1{} % \def\subsubsectionmark#1{} % \def\paragraphmark#1{} % \def\subparagraphmark#1{} % The value of the counter secnumdepth gives the depth of the % highest-level sectioning command that is to produce section numbers. % \setcounter{secnumdepth}{3} % APPENDIX % % The \appendix command must do the following: % -- redefine the section counter to produce appendix numbers % -- reset the section counter to zero % -- redefine sectional-unit commands if appendix titles and headings % are to look different from chapter titles and headings. \newif\if@appendixletter \@appendixletterfalse \def\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% \section@appendix \addtocontents{toc}{\protect\section@appendix}} \def\section@appendix{\let\@presecnum=\@appresecnum \let\l@section=\l@appendixsection \if@appendixletter \def\thesection{\alph{section}}\else \def\thesection{\arabic{section}}\fi} \def\section@normal{\let\@presecnum=\@nopresecnum \let\l@section=\l@normalsection \def\thesection{\arabic{section}}} % **************************************** % * LISTS * % **************************************** % % The following commands are used to set the default values for the list % environment's parameters. See the LaTeX manual for an explanation of % the meanings of the parameters. Defaults for the list environment are % set as follows. First, \rightmargin, \listparindent and \itemindent % are set to 0pt. Then, for a Kth level list, the command \@listK is % called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is % called for a third-level list.) By convention, \@listK should set % \leftmargin to \leftmarginK. % \leftmargini 12pt \leftmarginii 19pt % > \labelsep + width of '(m)' \leftmarginiii 26pt % > \labelsep + width of 'vii.' \leftmarginiv 33pt % > \labelsep + width of 'M.' \leftmarginv 40pt \leftmarginvi 47pt \leftmargin\leftmargini \labelsep 0.4em \labelwidth\leftmargini\advance\labelwidth-\labelsep % \@listI defines top level and \@listi values of % \leftmargin, \topsep, \parsep, and \itemsep % (Added 9 Jun 87) \def\@listI{\leftmargin\leftmargini \parsep 4pt plus 2pt minus 1pt% \topsep 8pt plus 2pt minus 4pt% \itemsep 4pt plus 2pt minus 1pt} \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 4pt plus 2pt minus 1pt \parsep 2pt plus 1pt minus 1pt \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 1pt \parsep \z@ \partopsep 1pt plus 0pt minus 1pt \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}