summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-08-05 13:29:33 +0000
committerKarl Berry <karl@freefriends.org>2009-08-05 13:29:33 +0000
commitbf0fa986b3f5b2eba5c2b42f2886ab5a1833eee3 (patch)
tree1a12240dc381e82402a8e83a8c2e18b8152f5724 /Master/texmf-dist/source/xelatex
parent150c17a368ab6cf13dad8ccedf13a0bd4dd4ac25 (diff)
bidi 1.0.3 (3aug09)
git-svn-id: svn://tug.org/texlive/trunk@14536 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/xelatex')
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi.dtx11981
1 files changed, 324 insertions, 11657 deletions
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
index ea024e33952..3dc92593673 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
@@ -5,12 +5,36 @@
%<*readme>
_________________
The bidi package
-v1.0.2
+v1.0.3
This package provides a convenient interface for typesetting
bidirectional texts with XeLaTeX.
-This version fixes all known bugs and adds heaps of new things.
+This version fixes few bugs that were present in v1.0.2 and in
+addition it adds full support for hyperref package. Please note
+that in RTL mode, the fix does not support links spanning multiple
+lines and that is due to XeTeX annoying limitations, bugs and super
+weak programming. In fact, what bidi can do at present is unbleiveable
+with considering XeTeX bugs and limitations and its super weak programming.
+We also have deleted bidimemoir class in this version and instead have added
+support for memoir class, therefore you will need to use memoir class.
+
+Please note that currently there is no user guide for the bidi package and
+you will need to study "XeTeX Companion" page 65 where bidi package is described
+very briefly.
+
+Please do not email me for any issue/question that you may have with the bidi
+package, because you just waste your own time and I will never response to your
+queries. Instead you can subscribe to the XeTeX mailing list at
+http://www.tug.org/mailman/listinfo/xetex and ask for help there. You may submit
+any bugs that you find in bidi package at http://developer.berlios.de/bugs/?group_id=10901
+with an example that demonstrates the bug. Bug reports without examples will be deleted
+immediately.
+
+Please also note that in the development of the bidi package, I have recieved no support
+(of any kind) at all from the developer of XeTeX (Jonathan Kew). In fact, bidi development
+has been done independently and it will continue to do so.
+
______________
Vafa Khalighi
@@ -79,10 +103,11 @@ by Vafa Khalighi.
\generate{\file{fancyhdr-bidi.def}{\from{bidi.dtx}{fancyhdr-bidi.def}}}
\generate{\file{footnote-bidi.def}{\from{bidi.dtx}{footnote-bidi.def}}}
\generate{\file{graphicx-bidi.def}{\from{bidi.dtx}{graphicx-bidi.def}}}
+\generate{\file{hyperref-bidi.def}{\from{bidi.dtx}{hyperref-bidi.def}}}
\generate{\file{listings-bidi.def}{\from{bidi.dtx}{listings-bidi.def}}}
\generate{\file{longtable-bidi.def}{\from{bidi.dtx}{longtable-bidi.def}}}
\generate{\file{minitoc-bidi.def}{\from{bidi.dtx}{minitoc-bidi.def}}}
-\generate{\file{bidimemoir.cls}{\from{bidi.dtx}{bidimemoir.cls}}}
+\generate{\file{memoir-bidi.def}{\from{bidi.dtx}{memoir-bidi.def}}}
\generate{\file{pdfpages-bidi.def}{\from{bidi.dtx}{pdfpages-bidi.def}}}
\generate{\file{pstricks-bidi.def}{\from{bidi.dtx}{pstricks-bidi.def}}}
\generate{\file{ragged2e-bidi.def}{\from{bidi.dtx}{ragged2e-bidi.def}}}
@@ -96,6 +121,7 @@ by Vafa Khalighi.
\generate{\file{tabls-bidi.def}{\from{bidi.dtx}{tabls-bidi.def}}}
\generate{\file{tabulary-bidi.def}{\from{bidi.dtx}{tabulary-bidi.def}}}
\generate{\file{tikz-bidi.def}{\from{bidi.dtx}{tikz-bidi.def}}}
+\generate{\file{tocbibind-bidi.def}{\from{bidi.dtx}{tocbibind-bidi.def}}}
\generate{\file{tocloft-bidi.def}{\from{bidi.dtx}{tocloft-bidi.def}}}
\generate{\file{tocstyle-bidi.def}{\from{bidi.dtx}{tocstyle-bidi.def}}}
\generate{\file{xltxtra-bidi.def}{\from{bidi.dtx}{xltxtra-bidi.def}}}
@@ -157,9 +183,9 @@ by Vafa Khalighi.
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2009/08/01}
-\def\bidiversion{v1.0.2}
-\def\bidirevision{revision 70}
+\def\bididate{2009/08/09}
+\def\bidiversion{v1.0.3}
+\def\bidirevision{revision 82}
\ProvidesPackage{bidi}[\bididate\space \bidiversion\space <\bidirevision>
Bidirectional typesetting in XeLaTeX]
\AtBeginDocument{\special{pdf: docinfo <<
@@ -453,14 +479,16 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\@xp\xdef\csname the#2\endcsname{%
\@xp\@nx\csname the#3\endcsname \@SepMark\@nx#1{#2}}}}%
}
-\def\tagform@#1{\maketag@@@{)\ignorespaces\text{#1}\unskip\@@italiccorr(}}
+\def\tagform@#1{\maketag@@@{\if@RTL)\else(\fi\ignorespaces\text{#1}\unskip\@@italiccorr\if@RTL(\else)\fi}}
\renewcommand{\eqref}[1]{\beginL\textup{\tagform@{\ref{#1}}}\endL}
\let\@@text=\text
\def\text#1{\@@text{\if@RTL\beginR\fi#1\if@RTL\endR\fi}}
+\input{footnote-bidi.def}
\@ifpackageloaded{amsthm}{\input{amsthm-bidi.def}}{}
\@ifpackageloaded{xltxtra}{\input{xltxtra-bidi.def}}{}
\@ifpackageloaded{wrapfig}{\input{wrapfig-bidi.def}}{}
\@ifpackageloaded{graphicx}{\input{graphicx-bidi.def}}{}
+\@ifpackageloaded{hyperref}{\input{hyperref-bidi.def}}{}
\@ifpackageloaded{fancyhdr}{\input{fancyhdr-bidi.def}}{}
\@ifpackageloaded{draftwatermark}{\input{draftwatermark-bidi.def}}{}
\@ifpackageloaded{pdfpages}{\input{pdfpages-bidi.def}}{}
@@ -474,10 +502,10 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\@ifpackageloaded{ragged2e}{\input{ragged2e-bidi.def}}{}
\@ifpackageloaded{tabls}{\input{tabls-bidi.def}}{}
\@ifpackageloaded{tabulary}{\input{tabulary-bidi.def}}{}
-\@ifpackageloaded{tocloft}{\input{tocloft-bidi.def}}{}
\@ifpackageloaded{tocstyle}{\input{tocstyle-bidi.def}}{}
\@ifclassloaded{article}{\input{article-bidi.def}}{}
\@ifclassloaded{amsart}{\input{amsart-bidi.def}}{}
+\@ifclassloaded{memoir}{\input{memoir-bidi.def}}{}
\@ifclassloaded{refrep}{\input{refrep-bidi.def}}{}
\@ifclassloaded{report}{\input{report-bidi.def}}{}
\@ifclassloaded{rapport3}{\input{rapport3-bidi.def}}{}
@@ -489,7 +517,8 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\@ifclassloaded{extbook}{\input{extbook-bidi.def}}{}
\@ifclassloaded{book}{\input{book-bidi.def}}{}
\@ifclassloaded{bidibeamer}{\input{bidibeamer-bidi.def}}{}
-\input{footnote-bidi.def}
+\@ifpackageloaded{tocbibind}{\@ifclassloaded{memoir}{}{\input{tocbibind-bidi.def}}}{}
+\@ifpackageloaded{tocloft}{\@ifclassloaded{memoir}{}{\input{tocloft-bidi.def}}}{}
\ProcessOptions
% \end{macrocode}
@@ -3828,25 +3857,25 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
\def\rightfootnoterule{\def\footnoterule{\right@footnoterule}}
\def\textwidthfootnoterule{\def\footnoterule{\textwidth@footnoterule}}
\def\autofootnoterule{\def\footnoterule{\auto@footnoterule}}
-\def\@makefnmark{\hbox{$^{\hbox{\scriptsize\@thefnmark}}\m@th$}}
+\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
\def\bidi@footnote@list{}
\let\bidi@footnoterule\relax
\def\RTLfootnote{\@ifnextchar[\@xRTLfootnote{\stepcounter\@mpfn
- \protected@xdef\@thefnmark{\thempfn}
+ \protected@xdef\@thefnmark{\thempfn}%
\@footnotemark\@RTLfootnotetext}}
-\def\@xRTLfootnote[#1]{
+\def\@xRTLfootnote[#1]{%
\begingroup
\csname c@\@mpfn\endcsname #1\relax
- \unrestored@protected@xdef\@thefnmark{\thempfn}
+ \unrestored@protected@xdef\@thefnmark{\thempfn}%
\endgroup
\@footnotemark\@RTLfootnotetext}
\def\LTRfootnote{\@ifnextchar[\@xLTRfootnote{\stepcounter\@mpfn
- \protected@xdef\@thefnmark{\thempfn}
+ \protected@xdef\@thefnmark{\thempfn}%
\@footnotemark\@LTRfootnotetext}}
-\def\@xLTRfootnote[#1]{
+\def\@xLTRfootnote[#1]{%
\begingroup
\csname c@\@mpfn\endcsname #1\relax
- \unrestored@protected@xdef\@thefnmark{\thempfn}
+ \unrestored@protected@xdef\@thefnmark{\thempfn}%
\endgroup
\@footnotemark\@LTRfootnotetext}
\def\insertRTL{\bgroup\beginR\@RTLtrue}
@@ -4008,6 +4037,239 @@ to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil%
% \end{macrocode}
% \iffalse
%</graphicx-bidi.def>
+%<*hyperref-bidi.def>
+% \fi
+% \part{hyperref-bidi.def}
+% \begin{macrocode}
+\AtBeginDocument{%
+\def\contentsline#1#2#3#4{%
+ \ifx\\#4\\%
+ \csname l@#1\endcsname{#2}{#3}%
+ \else
+ \ifcase\Hy@linktoc % none
+ \csname l@#1\endcsname{#2}{#3}%
+ \or % section
+ \csname l@#1\endcsname{%
+ \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL
+ }{#3}%
+ \or % page
+ \csname l@#1\endcsname{{#2}}{%
+ \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL
+ }%
+ \else % all
+ \csname l@#1\endcsname{%
+ \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL
+ }{%
+ \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL
+ }%
+ \fi
+ \fi
+}
+\ifHy@hyperfootnotes
+ \let\H@@footnotetext\@footnotetext
+ \let\HRTL@@RTLfootnotetext\@RTLfootnotetext
+ \let\HLTR@@LTRfootnotetext\@LTRfootnotetext
+ \def\@xfootnotenext[#1]{%
+ \begingroup
+ \csname c@\@mpfn\endcsname #1\relax
+ \unrestored@protected@xdef\@thefnmark{\thempfn}%
+ \endgroup
+ \ifx\@footnotetext\@mpfootnotetext
+ \expandafter\H@@mpfootnotetext
+ \else
+ \expandafter\H@@footnotetext
+ \fi
+ }%
+ \def\@xRTLfootnotenext[#1]{%
+ \begingroup
+ \csname c@\@mpfn\endcsname #1\relax
+ \unrestored@protected@xdef\@thefnmark{\thempfn}%
+ \endgroup
+ \ifx\@RTLfootnotetext\@mpRTLfootnotetext
+ \expandafter\HRTL@@mpRTLfootnotetext
+ \else
+ \expandafter\HRTL@@RTLfootnotetext
+ \fi
+ }%
+ \def\@xLTRfootnotenext[#1]{%
+ \begingroup
+ \csname c@\@mpfn\endcsname #1\relax
+ \unrestored@protected@xdef\@thefnmark{\thempfn}%
+ \endgroup
+ \ifx\@LTRfootnotetext\@mpLTRfootnotetext
+ \expandafter\HLTR@@mpLTRfootnotetext
+ \else
+ \expandafter\HLTR@@LTRfootnotetext
+ \fi
+ }%
+ \def\@xfootnotemark[#1]{%
+ \begingroup
+ \c@footnote #1\relax
+ \unrestored@protected@xdef\@thefnmark{\thefootnote}%
+ \endgroup
+ \H@@footnotemark
+ }%
+ \let\H@@mpfootnotetext\@mpfootnotetext
+ \let\HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext
+ \let\HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext
+ \long\def\@mpfootnotetext#1{%
+ \H@@mpfootnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+ }#1%
+ \fi
+ }%
+ }%
+ \long\def\@mpRTLfootnotetext#1{%
+ \HRTL@@mpRTLfootnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+ }#1%
+ \fi
+ }%
+ }%
+ \long\def\@mpLTRfootnotetext#1{%
+ \HLTR@@mpLTRfootnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+ }#1%
+ \fi
+ }%
+ }%
+ \long\def\@footnotetext#1{%
+ \H@@footnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+ }%
+ \let\@currentHlabel\Hy@footnote@currentHlabel
+ \let\@currentHref\Hy@footnote@currentHref
+ \let\@currentlabelname\@empty
+ #1%
+ \fi
+ }%
+ }%
+ \long\def\@RTLfootnotetext#1{%
+ \HRTL@@RTLfootnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+ }%
+ \let\@currentHlabel\Hy@footnote@currentHlabel
+ \let\@currentHref\Hy@footnote@currentHref
+ \let\@currentlabelname\@empty
+ #1%
+ \fi
+ }%
+ }%
+ \long\def\@LTRfootnotetext#1{%
+ \HLTR@@LTRfootnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
+ }%
+ \let\@currentHlabel\Hy@footnote@currentHlabel
+ \let\@currentHref\Hy@footnote@currentHref
+ \let\@currentlabelname\@empty
+ #1%
+ \fi
+ }%
+ }%
+ \def\@footnotemark{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+ \stepcounter{Hfootnote}%
+ \global\let\Hy@saved@currentHlabel\@currentHlabel
+ \global\let\Hy@saved@currentHref\@currentHref
+ \hyper@makecurrent{Hfootnote}%
+ \global\let\Hy@footnote@currentHlabel\@currentHlabel
+ \global\let\Hy@footnote@currentHref\@currentHref
+ \global\let\@currentHlabel\Hy@saved@currentHlabel
+ \global\let\@currentHref\Hy@saved@currentHref
+ \beginL\hyper@linkstart{link}{\Hy@footnote@currentHref}%
+ \@makefnmark
+ \hyper@linkend\endL
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax
+ }%
+ \let\maketitle\HyOrg@maketitle
+ \def\maketitle{%
+ \let\Hy@saved@footnotemark\@footnotemark
+ \let\Hy@saved@footnotetext\@footnotetext
+ \let\HyRTL@saved@RTLfootnotetext\@RTLfootnotetext
+ \let\HyLTR@saved@LTRfootnotetext\@LTRfootnotetext
+ \let\@footnotemark\H@@footnotemark
+ \let\@footnotetext\H@@footnotetext
+ \let\@RTLfootnotetext\HRTL@@RTLfootnotetext
+ \let\@LTRfootnotetext\HLTR@@LTRfootnotetext
+ \@ifnextchar[\Hy@maketitle@optarg{% ]
+ \HyOrg@maketitle
+ \Hy@maketitle@end
+ }%
+ }%
+ \def\Hy@maketitle@optarg[#1]{%
+ \HyOrg@maketitle[{#1}]%
+ \Hy@maketitle@end
+ }%
+ \def\Hy@maketitle@end{%
+ \ifx\@footnotemark\H@@footnotemark
+ \let\@footnotemark\Hy@saved@footnotemark
+ \fi
+ \ifx\@footnotetext\H@@footnotetext
+ \let\@footnotetext\Hy@saved@footnotetext
+ \fi
+ \ifx\@RTLfootnotetext\HRTL@@RTLfootnotetext
+ \let\@RTLfootnotetext\HyRTL@saved@RTLfootnotetext
+ \fi
+ \ifx\@LTRfootnotetext\HLTR@@LTRfootnotetext
+ \let\@LTRfootnotetext\HyLTR@saved@LTRfootnotetext
+ \fi
+ }%
+ \def\realfootnote{%
+ \@ifnextchar[\@xfootnote{%
+ \stepcounter{\@mpfn}%
+ \protected@xdef\@thefnmark{\thempfn}%
+ \H@@footnotemark\H@@footnotetext
+ }%
+ }%
+\fi
+\def\hyper@link#1#2#3{%
+ \beginL\hyper@linkstart{#1}{#2}\if@RTL\beginR\fi#3\if@RTL\endR\fi\hyper@linkend\endL
+}
+\let\origin@href=\href
+\renewcommand\href[2]{\beginL\origin@href{#1}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\endL}
+\let\origin@url=\url
+\renewcommand\url[1]{\beginL\origin@url{#1}\endL}%
+\def\hyper@natlinkstart#1{%
+ \Hy@backout{#1}%
+ \beginL\hyper@linkstart{cite}{cite.#1}%
+ \def\hyper@nat@current{#1}%
+}
+\def\hyper@natlinkend{%
+ \hyper@linkend\endL
+}
+\def\hyper@natlinkbreak#1#2{%
+ \hyper@linkend\endL#1\beginL\hyper@linkstart{cite}{cite.#2}%
+}%
+}
+% \end{macrocode}
+% \iffalse
+%</hyperref-bidi.def>
%<*listings-bidi.def>
% \fi
% \part{listings-bidi.def}
@@ -4184,2271 +4446,16 @@ to\hsize{\beginR\hfil\box\@tempboxa\hfil%
% \end{macrocode}
% \iffalse
%</minitoc-bidi.def>
-%<*bidimemoir.cls>
+%<*memoir-bidi.def>
% \fi
-% \part{bidimemoir.cls}
+% \part{memoir-bidi.def}
% \begin{macrocode}
-%%
-%% This is file `bidimemoir.cls',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bidimemoir.dtx (with options: `class')
-%%
-%% Author: Peter Wilson (herries dot press at earthlink dot net)
-%% Herries Press
-%% Copyright 2001--2008 Peter R. Wilson
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any
-%% later version.
-%% The latest version of the license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2003/06/01 or later.
-%%
-%% This work has the LPPL maintenance status "author-maintained".
-%%
-%% This work consists of the files listed in the README file.
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{bidimemoir}%
- [2009/06/10 modified memoir document class for bidi typesetting in XeLaTeX]
-\newcommand*{\@ptsize}{}
-\newcommand*{\@memptsize}{}
-\newlength{\onelineskip}
-\newlength{\lxvchars}
-\newlength{\xlvchars}
-\newcount\@memcnta
-\newcounter{@memmarkcntra}
-\newif\if@restonecol
-\newif\if@openright
- \@openrighttrue
-
-\newif\if@openleft
- \@openleftfalse
-
-\newif\if@mainmatter
- \@mainmattertrue
-
-\newif\if@memoldfont
- \@memoldfontfalse
-
-\newif\ifextrafontsizes
- \extrafontsizesfalse
-
-\newcommand*{\@memerror}{\ClassError{bidimemoir}}
-\newcommand*{\@memwarn}{\ClassWarning{bidimemoir}}
-
-\newif\ifsamename
-\newcommand{\nametest}[2]{%
- \samenamefalse
- \begingroup
- \def\@memtempa{#1} \def\@memtempb{#2}
- \ifx \@memtempa\@memtempb
- \endgroup
- \samenametrue
- \else
- \endgroup
- \fi}
-
-\newif\ifm@m@And
-\newif\ifm@m@Or
-\newif\ifm@m@Xor
-
-\newcommand{\kill@lastcounter}[1]{%
- \count\count10 \z@
- \advance\count10 \m@ne
- \expandafter\let\csname c@#1\endcsname\relax}
-
-\newcommand{\@name@p@xdef}[1]{%
- \expandafter\protected@xdef\csname #1\endcsname}
-\newcommand{\@name@unresp@xdef}[1]{%
- \expandafter\unrestored@protected@xdef\csname #1\endcsname}
-\newcommand{\@namelet}[1]{%
- \expandafter\let\csname #1\endcsname}
-\newcommand{\@namelongdef}[1]{%
- \long\expandafter\def\csname #1\endcsname}
-\newcommand{\@nameedef}[1]{%
- \expandafter\protected@edef\csname #1\endcsname}
-
-\newcommand{\memjustarg}[1]{#1}
-\newcommand{\memgobble}[1]{}
-
-\newcommand*{\@memfakeusepackage}[1]{%
- \@namelet{ver@#1.sty}\@empty}
-
-\providecommand*{\EmulatedPackage}{}
-\renewcommand*{\EmulatedPackage}[1]{%
- \@ifnextchar[{\@emulated@package{#1}}%
- {\@emulated@package{#1}[\@empty]}%]
-}
-\providecommand*{\EmulatedPackageWithOptions}{}
-\renewcommand*{\EmulatedPackageWithOptions}[2]{%
- \PassOptionsToPackage{#1}{#2}%
- \EmulatedPackage{#2}%
-}
-\def\@emulated@package#1[#2]{%
- \expandafter\xdef\csname ver@#1.\@pkgextension\endcsname{#2}%
- \@ifundefined{opt@#1.\@pkgextension}%
- {\@namedef{opt@#1.\@pkgextension}{}}{}%
- \wlog{Package #1 \ifx\@empty#2\else[#2] \fi
- \if,\csname opt@#1.\@pkgextension\endcsname,\else
- (with options \csname opt@#1.\@pkgextension\endcsname) \fi
- emulated by \@currname.}%
-}
-\@onlypreamble\EmulatedPackage
-\@onlypreamble\EmulatedPackageWithOptions
-\@onlypreamble\@emulated@package
-
-\newcommand*{\DisemulatePackage}[1]{%
- \@namelet{ver@#1.\@pkgextension}\relax}
-\@onlypreamble\DisemulatePackage
-
-\renewcommand{\InputIfFileExists}[2]{%
- \IfFileExists{#1}%
- {#2\@addtofilelist{#1}\m@matbeginf{#1}%
- \@@input \@filef@und
- \m@matendf{#1}%
- \killm@matf{#1}}}
-
-\newcommand{\m@matbeginf}[1]{\@ifundefined{#1-m@mfb}{}%
- {\@nameuse{#1-m@mfb}}}
-\newcommand{\m@matendf}[1]{\@ifundefined{#1-m@mfe}{}%
- {\@nameuse{#1-m@mfe}}}
-
-\newcommand*{\killm@matf}[1]{%
- \@namelet{#1-m@mfb}\relax
- \@namelet{#1-m@mfe}\relax}
-
-\newcommand{\AtBeginFile}[2]{\@ifundefined{#1-m@mfb}%
- {\@namedef{#1-m@mfb}{#2}}%
- {\expandafter\addtodef\csname #1-m@mfb\endcsname{}{#2}}}
-\newcommand{\AtEndFile}[2]{\@ifundefined{#1-m@mfe}%
- {\@namedef{#1-m@mfe}{#2}}%
- {\expandafter\addtodef\csname #1-m@mfe\endcsname{}{#2}}}
-
-\newcommand{\AtBeginPackage}[2]{%
- \AtBeginFile{#1.\@pkgextension}{#2}}
-\newcommand{\AtEndPackage}[2]{%
- \AtEndFile{#1.\@pkgextension}{#2}}
-\newcommand{\RequireAtEndPackage}[2]{%
- \@ifpackageloaded{#1}{#2}%
- {\AtEndFile{#1.\@pkgextension}{#2}}}
-
-\newcommand{\AtBeginClass}[2]{%
- \AtBeginFile{#1.\@clsextension}{#2}}
-\newcommand{\AtEndClass}[2]{%
- \AtEndFile{#1.\@clsextension}{#2}}
-\newcommand{\RequireAtEndClass}[2]{%
- \@ifclassloaded{#1}{#2}%
- {\AtEndFile{#1.\@clsextension}{#2}}}
-
-\newcommand{\phantomsection}{}
-
- \renewcommand*{\nofiles}{%
- \@fileswfalse% flag for suppressing \immediate \writes
- \typeout{No auxiliary output files.^^J}%
- \long\def\protected@write##1##2##3%
- {\write\m@ne{}\if@nobreak\ifvmode\nobreak\fi\fi}%
- }
-
-\newcommand*{\memsetcounter}[2]{\setcounter{#1}{#2}}
-\AtBeginDocument{\immediate\write\@mainaux{%
- \string\providecommand*{\string\memsetcounter}[2]{}}}
-
-\def\bs{\texttt{\char`\\}}
-\ifx\l@nohyphenation\undefined
- \newlanguage\l@nohyphenation
-\fi
-\DeclareRobustCommand{\meta}[1]{%
- \ensuremath\langle
- \ifmmode \expandafter \nfss@text \fi
- {%
- \meta@font@select
- \edef\meta@hyphen@restore
- {\hyphenchar\the\font\the\hyphenchar\font}%
- \hyphenchar\font\m@ne
- \language\l@nohyphenation
- #1\/%
- \meta@hyphen@restore
- }\ensuremath\rangle
-}
-\def\meta@font@select{\itshape}
-
-\DeclareRobustCommand{\marg}[1]{%
- {\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
-\DeclareRobustCommand{\oarg}[1]{%
- {\ttfamily\char`\[}\meta{#1}{\ttfamily\char`\]}}
-\DeclareRobustCommand{\parg}[1]{%
- {\ttfamily\char`\(}\meta{#1}{\ttfamily\char`\)}}
-\DeclareRobustCommand{\cs}[1]{\texttt{\char`\\#1}}
-\newcommand{\cmdprint}[1]{\texttt{\string#1}}
-\newcommand{\cmd}[1]{\cmdprint{#1}%
- \index{\expandafter\@gobble\string#1?\string\cmdprint{\string#1}}}
-
-\newif\ifm@mifpdf
- \m@mifpdffalse
-\IfFileExists{ifpdf.sty}{\RequirePackage{ifpdf}\relax}{%
- \ClassWarningNoLine{bidimemoir}{%
- Package `ifpdf' is not installed.\MessageBreak
- The package is being emulated}%
-\m@mifpdftrue
-\newif\ifpdf
- \pdffalse
-\ifx\pdfoutput\undefined
-\else
- \ifx\pdfoutput\@undefined
- \else
- \ifx\pdfoutput\relax
- \else
- \ifnum\pdfoutput>0\relax
- \pdftrue
- \fi
- \fi
- \fi
-\fi
-%%\EmulatedPackage{ifpdf}[2008/07/23]
-}
-
-\newif\ifm@mifetex
- \m@mifetexfalse
-\IfFileExists{ifetex.sty}{\RequirePackage{ifetex}\relax}{%
- \ClassInfo{bidimemoir}{%
- An `ifetex' package is being emulated}%
-\m@mifetextrue
-\newif\ifetex
- \etexfalse
-\ifx\eTeXversion\undefined
-\else
- \ifx\eTeXversion\@undefined
- \else
- \ifx\eTeXversion\relax
- \else
- \ifnum\eTeXversion>0\relax
- \etextrue
- \fi
- \fi
- \fi
-\fi
-%%\EmulatedPackage{ifetex}[2008/07/23]
-}
-
-\newif\ifm@mifxetex
- \m@mifxetexfalse
-\IfFileExists{ifxetex.sty}{\RequirePackage{ifxetex}\relax}{%
- \ClassWarningNoLine{bidimemoir}{%
- The `ifxetex' package is not installed.\MessageBreak
- The package is being emulated}%
-\newif\ifxetex
-\@ifundefined{XeTeXrevision}{\xetexfalse}{\xetextrue}
-%%\EmulatedPackage{ifxetex}[2008/07/23]
-}
-\ifm@mifxetex
-\def\RequireXeTeX{%
- \ifxetex\else
- \@memerror{XeTeX is required to process this document}%
- {Try again with xelatex, not (pdf)latex.\MessageBreak
- Or try removing any XeTeX package(s).}
- \fi}
-\fi
-
-\newif\ifm@mifluatex
- \m@mifluatexfalse
-\IfFileExists{ifluatex.sty}{\RequirePackage{ifluatex}\relax}{%
- \ClassWarningNoLine{bidimemoir}{%
- The `ifluatex' package is not installed.\MessageBreak
- The package is being emulated}%
-\m@mifluatextrue
-\newif\ifluatex
- \luatexfalse
-\ifx\luatexversion\@undefined
-\else
- \ifx\luatexversion\undefined
- \else
- \ifx\luatexversion\relax
- \else
- \luatextrue
- \fi
- \fi
-\fi
-%%\EmulatedPackage{ifluatex}[2008/07/23]
-}
-
-\edef\wo@dmacro{%
- \string m\string a\string c\string r\string o\string :%
-}
-
-\def\wo@difmacro@begingroup#1{%
- \begingroup
- \edef\x{%
- \noexpand\wo@dparsemacro\meaning#1\wo@dmacro\string -%
- }%
- \x\@nil{#1}%
-}
-
-\begingroup
- \edef\x{\endgroup
- \def\noexpand\wo@dparsemacro##1\wo@dmacro##2\string -}%
-\x#3\@nil#4{%
- \ifx\\#3\\%
- \endgroup
- \@memwarn{\string `\string #4\string ' is not a macro}%
- \expandafter\@gobble
- \else
- \expandafter\@firstofone
- \fi
-}
-
-\def\addtodef{\@star@or@long\wo@daddtodef}
-\long\def\wo@daddtodef#1#2#3{%
- \wo@difmacro@begingroup{#1}{%
- \@temptokena{#2}%
- \toks@\expandafter{#1#3}%
- \edef\x{\endgroup
- \l@ngrel@x\def\noexpand#1{\the\@temptokena \the\toks@}}%
- \x
- }%
-}
-
-\def\addtoiargdef{\@star@or@long\wo@daddtoiargdef}
-\long\def\wo@daddtoiargdef#1#2#3{%
- \wo@difmacro@begingroup{#1}{%
- \@temptokena{#2}%
- \toks@\expandafter{#1{##1}#3}%
- \edef\x{\endgroup
- \l@ngrel@x\def\noexpand#1####1{\the\@temptokena \the\toks@}}%
- \x
- }%
-}
-
-%%%%%%%%%%%%%%%% Michael Downes' patchcmd 2000/07/31 v1.03 %%%%%%%%
-\newcommand{\patchcommand}[1]{%
- \expandafter\patchcmd@a\meaning#1??->@\@nil#1%
-}
-\long\def\patchcmd@a#1#2#3->#4#5\@nil#6{%
- \ifx @#4\relax \patchcmdError#6#1%
- \expandafter\@gobbletwo % discard the other two arguments
- \else
- \if l#2\toks@{\patchcmd@e{}#6}% l in this position means \long
- \else \toks@{\patchcmd@e*#6}% not \long
- \fi
- \patchcmd@b #3@#4#5 ? ? ? \@nil#6%
- \expandafter\the\expandafter\toks@
- \fi}
-\def\patchcmd@b#1:#2@#3#4 #5#6 #7 #8\@nil#9{%
- \if \ifx @#7@\expandafter
- \ifx\csname #6\endcsname#9T\else F\fi\else F\fi T%
- \toks@\expandafter{\expandafter\patchcommand\csname #6 \endcsname}%
- \else
- \ifx @#2@% No arguments
- \toks@\expandafter{\the\toks@ 0}%
- \else
- \patchcmd@c 0#2{\string##}0%
- \fi
- \fi}
-\def\patchcmd@c#1#2#3{%
- \if\string###2% % yes it's a # token
- \ifodd 0#31 % and it's followed by a number
- \if 0#3\patchcmd@d#1\fi % number=0? then we're done
- \else \patchcmd@d D% # not a number: must be a delimited arg
- \fi
- \else \patchcmd@d D% not a # token: must be a delmited arg
- \fi
- \patchcmd@c#3}
-\def\patchcmd@d#1{%
- \if D#1%
-%%% \PackageError{patchcmd}{Cannot change a macro that has
-%%% delimited arguments}\@ehd
- \@memerror{%
- Cannot change a macro that has delimited arguments}{\@ehd}
- \else
- \toks@\expandafter{\the\toks@ #1}%
- \fi
- \begingroup
- \aftergroup\@gobble
- \let\patchcmd@c\endgroup}
-\def\patchcmd@e#1#2#3#4#5{%
- \begingroup
- \edef\@##1{%
- \@temptokena\noexpand\expandafter{%
- \noexpand#2%
- \ifnum#3>0 {####1}\ifnum#3>1 {####2}\ifnum#3>2 {####3}%
- \ifnum#3>3 {####4}\ifnum#3>4 {####5}\ifnum#3>5 {####6}%
- \ifnum#3>6 {####7}\ifnum#3>7 {####8}\ifnum#3>8 {####9}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi
- ##1%
- }%
- }
- \@{#5}%
- \edef\@##1{\endgroup
- \noexpand\renewcommand#1\noexpand#2\ifcase#3 \else [#3]\fi
- {##1\the\@temptokena}}%
- \@{#4}%
-}
-\long\def\patchcmdError#1#2{%
- \begingroup
- \toks@{Not redefinable}%
- \ifcat\relax\noexpand#1% Is it a control sequence?
- \begingroup
- \let#1=?\ifx ?\relax % Is it "\relax"?
- \endgroup % accept current value of \toks@
- \else \endgroup
- \if\ifx\relax#1u\else #2\fi u%
- \toks@{Not defined}%
- \fi
- \fi
- \fi
- \edef\@{\endgroup
-%%% \noexpand\PackageError{patchcmd}{%
-%%% \the\toks@: \string#1}\noexpand\@ehd}%
- \noexpand\@memerror{%
- \the\toks@: \string#1}\noexpand\@ehd}%
- \@}
-
-%%%%%%%%%%%%%%%%%%%%% end of patchcmd code %%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%\@memfakeusepackage{patchcmd}
-
-\newlength{\stockheight}
-\newlength{\stockwidth}
-\newlength{\trimtop}
-\newlength{\trimedge}
-
-\newcommand*{\stockdbill} {\stockheight=7in \stockwidth=3in}
-\newcommand*{\stockstatement} {\stockheight=8.5in \stockwidth=5.5in}
-\newcommand*{\stockexecutive} {\stockheight=10.5in \stockwidth=7.25in}
-\newcommand*{\stockletter} {\stockheight=11in \stockwidth=8.5in}
-\newcommand*{\stockold} {\stockheight=12in \stockwidth=9in}
-\newcommand*{\stocklegal} {\stockheight=14in \stockwidth=8.5in}
-\newcommand*{\stockledger} {\stockheight=17in \stockwidth=11in}
-\newcommand*{\stockbroadsheet}{\stockheight=22in \stockwidth=17in}
-
-\newcommand*{\stockpottvo} {\stockheight=6.25in \stockwidth=4in}
-\newcommand*{\stockfoolscapvo} {\stockheight=6.75in \stockwidth=4.25in}
-\newcommand*{\stockcrownvo} {\stockheight=7.5in \stockwidth=5in}
-\newcommand*{\stockpostvo} {\stockheight=8in \stockwidth=5in}
-\newcommand*{\stocklargecrownvo}{\stockheight=8in \stockwidth=5.25in}
-\newcommand*{\stocklargepostvo} {\stockheight=8.25in \stockwidth=5.25in}
-\newcommand*{\stocksmalldemyvo} {\stockheight=8.5in \stockwidth=5.675in}
-\newcommand*{\stockdemyvo} {\stockheight=8.75in \stockwidth=5.675in}
-\newcommand*{\stockmediumvo} {\stockheight=9in \stockwidth=5.75in}
-\newcommand*{\stocksmallroyalvo}{\stockheight=9.25in \stockwidth=6.175in}
-\newcommand*{\stockroyalvo} {\stockheight=10in \stockwidth=6.25in}
-\newcommand*{\stocksuperroyalvo}{\stockheight=10.25in \stockwidth=6.75in}
-\newcommand*{\stockimperialvo} {\stockheight=11in \stockwidth=7.5in}
-
-\newcommand*{\stockmcrownvo} {\stockheight=186mm \stockwidth=123mm}
-\newcommand*{\stockmlargecrownvo} {\stockheight=198mm \stockwidth=129mm}
-\newcommand*{\stockmdemyvo} {\stockheight=216mm \stockwidth=138mm}
-\newcommand*{\stockmsmallroyalvo} {\stockheight=234mm \stockwidth=156mm}
-
-\newcommand*{\stockao} {\stockheight=1189mm \stockwidth=841mm}
-\newcommand*{\stockai} {\stockheight=841mm \stockwidth=594mm}
-\newcommand*{\stockaii} {\stockheight=594mm \stockwidth=420mm}
-\newcommand*{\stockaiii}{\stockheight=420mm \stockwidth=297mm}
-\newcommand*{\stockaiv} {\stockheight=297mm \stockwidth=210mm}
-\newcommand*{\stockav} {\stockheight=210mm \stockwidth=148mm}
-\newcommand*{\stockavi} {\stockheight=148mm \stockwidth=105mm}
-
-\newcommand*{\stockbo} {\stockheight=1414mm \stockwidth=1000mm}
-\newcommand*{\stockbi} {\stockheight=1000mm \stockwidth=707mm}
-\newcommand*{\stockbii} {\stockheight=707mm \stockwidth=500mm}
-\newcommand*{\stockbiii}{\stockheight=500mm \stockwidth=353mm}
-\newcommand*{\stockbiv} {\stockheight=353mm \stockwidth=250mm}
-\newcommand*{\stockbv} {\stockheight=250mm \stockwidth=176mm}
-\newcommand*{\stockbvi} {\stockheight=176mm \stockwidth=125mm}
-
-\newcommand*{\pagedbill} {\paperheight=7in \paperwidth=3in}
-\newcommand*{\pagestatement} {\paperheight=8.5in \paperwidth=5.5in}
-\newcommand*{\pageexecutive} {\paperheight=10.5in \paperwidth=7.25in}
-\newcommand*{\pageletter} {\paperheight=11in \paperwidth=8.5in}
-\newcommand*{\pageold} {\paperheight=12in \paperwidth=9in}
-\newcommand*{\pagelegal} {\paperheight=14in \paperwidth=8.5in}
-\newcommand*{\pageledger} {\paperheight=17in \paperwidth=11in}
-\newcommand*{\pagebroadsheet}{\paperheight=22in \paperwidth=17in}
-
-\newcommand*{\pagepottvo} {\paperheight=6.25in \paperwidth=4in}
-\newcommand*{\pagefoolscapvo} {\paperheight=6.75in \paperwidth=4.25in}
-\newcommand*{\pagecrownvo} {\paperheight=7.5in \paperwidth=5in}
-\newcommand*{\pagepostvo} {\paperheight=8in \paperwidth=5in}
-\newcommand*{\pagelargecrownvo}{\paperheight=8in \paperwidth=5.25in}
-\newcommand*{\pagelargepostvo} {\paperheight=8.25in \paperwidth=5.25in}
-\newcommand*{\pagesmalldemyvo} {\paperheight=8.5in \paperwidth=5.675in}
-\newcommand*{\pagedemyvo} {\paperheight=8.75in \paperwidth=5.675in}
-\newcommand*{\pagemediumvo} {\paperheight=9in \paperwidth=5.75in}
-\newcommand*{\pagesmallroyalvo}{\paperheight=9.25in \paperwidth=6.175in}
-\newcommand*{\pageroyalvo} {\paperheight=10in \paperwidth=6.25in}
-\newcommand*{\pagesuperroyalvo}{\paperheight=10.25in \paperwidth=6.75in}
-\newcommand*{\pageimperialvo} {\paperheight=11in \paperwidth=7.5in}
-
-\newcommand*{\pagemcrownvo} {\paperheight=186mm \paperwidth=123mm}
-\newcommand*{\pagemlargecrownvo} {\paperheight=198mm \paperwidth=129mm}
-\newcommand*{\pagemdemyvo} {\paperheight=216mm \paperwidth=138mm}
-\newcommand*{\pagemsmallroyalvo} {\paperheight=234mm \paperwidth=156mm}
-
-\newcommand*{\pageao} {\paperheight=1189mm \paperwidth=841mm}
-\newcommand*{\pageai} {\paperheight=841mm \paperwidth=594mm}
-\newcommand*{\pageaii} {\paperheight=594mm \paperwidth=420mm}
-\newcommand*{\pageaiii}{\paperheight=420mm \paperwidth=297mm}
-\newcommand*{\pageaiv} {\paperheight=297mm \paperwidth=210mm}
-\newcommand*{\pageav} {\paperheight=210mm \paperwidth=148mm}
-\newcommand*{\pageavi} {\paperheight=148mm \paperwidth=105mm}
-
-\newcommand*{\pagebo} {\paperheight=1414mm \paperwidth=1000mm}
-\newcommand*{\pagebi} {\paperheight=1000mm \paperwidth=707mm}
-\newcommand*{\pagebii} {\paperheight=707mm \paperwidth=500mm}
-\newcommand*{\pagebiii}{\paperheight=500mm \paperwidth=353mm}
-\newcommand*{\pagebiv} {\paperheight=353mm \paperwidth=250mm}
-\newcommand*{\pagebv} {\paperheight=250mm \paperwidth=176mm}
-\newcommand*{\pagebvi} {\paperheight=176mm \paperwidth=125mm}
-
-\DeclareOption{a0paper}{\stockao}
-\DeclareOption{a1paper}{\stockai}
-\DeclareOption{a2paper}{\stockaii}
-\DeclareOption{a3paper}{\stockaiii}
-\DeclareOption{a4paper}{\stockaiv}
-\DeclareOption{a5paper}{\stockav}
-\DeclareOption{a6paper}{\stockavi}
-\DeclareOption{b0paper}{\stockbo}
-\DeclareOption{b1paper}{\stockbi}
-\DeclareOption{b2paper}{\stockbii}
-\DeclareOption{b3paper}{\stockbiii}
-\DeclareOption{b4paper}{\stockbiv}
-\DeclareOption{b5paper}{\stockbv}
-\DeclareOption{b6paper}{\stockbvi}
-\DeclareOption{mcrownvopaper}{\stockmcrownvo}
-\DeclareOption{mlargecrownvopaper}{\stockmlargecrownvo}
-\DeclareOption{mdemyvopaper}{\stockmdemyvo}
-\DeclareOption{msmallroyalvopaper}{\stockmsmallroyalvo}
-
-\DeclareOption{dbillpaper}{\stockdbill}
-\DeclareOption{statementpaper}{\stockstatement}
-\DeclareOption{executivepaper}{\stockexecutive}
-\DeclareOption{letterpaper}{\stockletter}
-\DeclareOption{oldpaper}{\stockold}
-\DeclareOption{legalpaper}{\stocklegal}
-\DeclareOption{ledgerpaper}{\stockledger}
-\DeclareOption{broadsheetpaper}{\stockbroadsheet}
-
-\DeclareOption{pottvopaper}{\stockpottvo}
-\DeclareOption{foolscapvopaper}{\stockfoolscapvo}
-\DeclareOption{crownvopaper}{\stockcrownvo}
-\DeclareOption{postvopaper}{\stockpostvo}
-\DeclareOption{largecrownvopaper}{\stocklargecrownvo}
-\DeclareOption{largepostvopaper}{\stocklargepostvo}
-\DeclareOption{smalldemyvopaper}{\stocksmalldemyvo}
-\DeclareOption{demyvopaper}{\stockdemyvo}
-\DeclareOption{mediumvopaper}{\stockmediumvo}
-\DeclareOption{smallroyalvopaper}{\stocksmallroyalvo}
-\DeclareOption{royalvopaper}{\stockroyalvo}
-\DeclareOption{superroyalvopaper}{\stocksuperroyalvo}
-\DeclareOption{imperialvopaper}{\stockimperialvo}
-
-\DeclareOption{ebook}
- {\setlength\stockheight {9in}%
- \setlength\stockwidth {6in}}
-
-\newif\ifmemlandscape
- \memlandscapefalse
-\DeclareOption{landscape}{\memlandscapetrue}
-\DeclareOption{portrait}{\memlandscapefalse}
-
-\renewcommand*{\@ptsize}{0}
-\renewcommand*{\@memptsize}{10}
-\DeclareOption{9pt}{\renewcommand*{\@ptsize}{9}\renewcommand*{\@memptsize}{9}}
-\DeclareOption{10pt}{\renewcommand*{\@ptsize}{0}\renewcommand*{\@memptsize}{10}}
-\DeclareOption{11pt}{\renewcommand*{\@ptsize}{1}\renewcommand*{\@memptsize}{11}}
-\DeclareOption{12pt}{\renewcommand*{\@ptsize}{2}\renewcommand*{\@memptsize}{12}}
-\DeclareOption{14pt}{\renewcommand*{\@ptsize}{4}\renewcommand*{\@memptsize}{14}}
-\DeclareOption{17pt}{\renewcommand*{\@ptsize}{7}\renewcommand*{\@memptsize}{17}}
-\DeclareOption{20pt}{\renewcommand*{\@ptsize}{20}\renewcommand*{\@memptsize}{20}}
-\DeclareOption{25pt}{\renewcommand*{\@ptsize}{25}\renewcommand*{\@memptsize}{25}}
-\DeclareOption{30pt}{\renewcommand*{\@ptsize}{30}\renewcommand*{\@memptsize}{30}}
-\DeclareOption{36pt}{\renewcommand*{\@ptsize}{36}\renewcommand*{\@memptsize}{36}}
-\DeclareOption{48pt}{\renewcommand*{\@ptsize}{48}\renewcommand*{\@memptsize}{48}}
-\DeclareOption{60pt}{\renewcommand*{\@ptsize}{60}\renewcommand*{\@memptsize}{60}}
-
-\newif\if@nyptsizeopt
- \@nyptsizeoptfalse
-\providecommand*{\anyptfilebase}{mem}
-\providecommand*{\anyptsize}{10}
-\DeclareOption{*pt}{\@nyptsizeopttrue}
-
-\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
-\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
-\DeclareOption{onecolumn}{\@twocolumnfalse}
-\DeclareOption{twocolumn}{\@twocolumntrue}
-\newif\ifdraftdoc\draftdocfalse
-\setlength{\overfullrule}{\z@}
-\DeclareOption{final}{\setlength{\overfullrule}{\z@}
- \draftdocfalse
- \msdocfalse}
-\DeclareOption{draft}{\setlength\overfullrule{5pt}%
- \draftdoctrue
- \msdocfalse}
-\newif\ifmsdoc
- \msdocfalse
-\DeclareOption{ms}{%
- \msdoctrue
- \draftdocfalse
- \setlength\overfullrule{\z@}
-}
-
-\newif\ifshowtrims
- \showtrimsfalse
-\DeclareOption{showtrims}{\showtrimstrue}
-
-\newif\ifartopt
- \artoptfalse
-\DeclareOption{article}{\artopttrue}
-
-\DeclareOption{openright}{\@openrighttrue}
-\DeclareOption{openany}{\@openrightfalse}
-\DeclareOption{openleft}{\@openlefttrue}
-\newcommand{\openright}{\@openrighttrue\@openleftfalse%
- \gdef\clearforchapter{\cleartorecto}}
-\newcommand{\openany}{\@openrightfalse\@openleftfalse%
- \gdef\clearforchapter{\clearpage}}
-\newcommand{\openleft}{\@openlefttrue
- \gdef\clearforchapter{\cleartoverso}}
-
-\DeclareOption{leqno}{\input{leqno.clo}}
-\DeclareOption{fleqn}{\input{fleqn.clo}}
-\DeclareOption{openbib}{%
- \AtEndOfClass{%
- \renewcommand\@openbib@code{%
- \advance\leftmargin\bibindent
- \itemindent -\bibindent
- \listparindent \itemindent
- \parsep \z@
- }%
- \renewcommand\newblock{\par}}}
-
-\DeclareOption{oldfontcommands}{\@memoldfonttrue}
-\DeclareOption{extrafontsizes}{\extrafontsizestrue}
-
-\ExecuteOptions{final,letterpaper,10pt,onecolumn,openright,twoside,
- portrait}
-\ProcessOptions*
- \ifmemlandscape
- \setlength\@tempdima {\stockheight}
- \setlength\stockheight{\stockwidth}
- \setlength\stockwidth {\@tempdima}
- \fi
-
-\providecommand*{\bidimemoirpostopthook}{}
- \bidimemoirpostopthook
-
-\def\cleartorecto{\clearpage\if@twoside \ifodd\c@page\else
- \hbox{}\thispagestyle{cleared}%
- \newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
-\def\cleartoverso{\clearpage\if@twoside
- \ifodd\c@page\hbox{}\thispagestyle{cleared}%
- \newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
-
-\if@openleft
- \openleft
-\else
- \if@openright
- \openright
- \else
- \openany
- \fi
-\fi
-
-\newcommand*{\@ivpt}{4}
-\newcommand*{\@xxxpt}{30}
-\newcommand*{\@xxxvipt}{36}
-\newcommand*{\@xlviiipt}{48}
-\newcommand*{\@lxpt}{60}
-\newcommand*{\@lxxiipt}{72}
-\newcommand*{\@lxxxivpt}{84}
-\newcommand*{\@xcvipt}{96}
-\newcommand*{\@cviiipt}{108}
-\newcommand*{\@cxxpt}{120}
-\newcommand*{\@cxxxiipt}{132}
-
-\providecommand*{\memfontfamily}{lmr}
-\providecommand*{\memfontenc}{T1}
-\providecommand*{\memfontpack}{lmodern}
-
-\if@nyptsizeopt
- \newcommand*{\@nyptclofile}{\anyptfilebase\anyptsize.clo}
- \IfFileExists{\@nyptclofile}{\def\@memptsize{\anyptsize}}{%
- \@memerror{You have used the `*pt' option but \MessageBreak
- file \@nyptclofile\space can't be found}%
- {I'll use mem10.clo instead}
- \renewcommand*{\@nyptclofile}{mem10.clo}%
- \def\@memptsize{10}%
- }
- \renewcommand*{\@ptsize}{\@memptsize}
- \usefont{\memfontenc}{\memfontfamily}{m}{n}
- \input{\@nyptclofile}
- \usepackage{\memfontpack}\usepackage[\memfontenc]{fontenc}
-\else
- \ifextrafontsizes
- \usefont{\memfontenc}{\memfontfamily}{m}{n}
- \input{mem\@memptsize.clo}
- \usepackage{\memfontpack}\usepackage[\memfontenc]{fontenc}
- \else
- \ifnum\@memptsize > 17\relax
- \@memerror{The `extrafontsizes' option is required to use \MessageBreak
- the `\@memptsize pt' option}%
- {The 17pt option will be used instead}
- \input{mem17.clo}
- \else
- \ifnum\@ptsize = 9\relax
- \input{mem\@ptsize.clo}
- \else
- \input{mem1\@ptsize.clo}
- \fi
- \fi
- \fi
-\fi
-
-\newcommand{\captionsize}{\normalsize}
-\setlength\lineskip{1\p@}
-\setlength\normallineskip{1\p@}
-\renewcommand{\baselinestretch}{}
-\setlength\parskip{0\p@ \@plus \p@}
-\@lowpenalty 51
-\@medpenalty 151
-\@highpenalty 301
-\clubpenalty 1000
-\widowpenalty 1000
-\newcommand*{\setlxvchars}[1][\normalfont]{\begingroup
- #1
- \settowidth{\lxvchars}{abcdefghijklmnopqrstuvwxyz}%
- \setlength{\lxvchars}{2.042\lxvchars}%
- \addtolength{\lxvchars}{33.41pt}%
- \global\lxvchars=\lxvchars
- \endgroup}
-\newcommand*{\setxlvchars}[1][\normalfont]{\begingroup
- #1
- \settowidth{\xlvchars}{abcdefghijklmnopqrstuvwxyz}%
- \setlength{\xlvchars}{1.415\xlvchars}%
- \addtolength{\xlvchars}{23.03pt}%
- \global\xlvchars=\xlvchars
- \endgroup}
-
-\newcommand*{\setrectanglesize}[3]{%
- \nametest{#1}{*}%
- \ifsamename % H = *
- \nametest{#2}{*}%
- \ifsamename % W = *
- \@memerror{%
- The combination of argument values is ambiguous.\MessageBreak
- The lengths will be set to zero}{\@ehd}%
- \setlength{\@tempdima}{0pt}%
- \setlength{\@tempdimb}{0pt}%
- \else % W
- \nametest{#3}{*}%
- \ifsamename % r = *
- \setlength{\@tempdimb}{#2}%
- \setlength{\@tempdima}{\@tempdimb}%
- \else % r
- \setlength{\@tempdimb}{#2}%
- \setlength{\@tempdima}{#3\@tempdimb}%
- \fi
- \fi
- \else % H
- \nametest{#2}{*}%
- \ifsamename % W = *
- \nametest{#3}{*}%
- \ifsamename % r = *
- \setlength{\@tempdima}{#1}%
- \setlength{\@tempdimb}{\@tempdima}%
- \else % r
- \setlength{\@tempdima}{#1}%
- \setlength{\@tempdimb}{#3\@tempdima}%
- \fi
- \else % W
- \setlength{\@tempdima}{#1}%
- \setlength{\@tempdimb}{#2}%
- \fi
- \fi}
-
-\newcommand*{\setfillsize}[5]{%
- \nametest{#2}{*}%
- \ifsamename % C = *
- \nametest{#3}{*}%
- \ifsamename % L = *
- \nametest{#4}{*}%
- \ifsamename % R = *
- \@memerror{%
- The combination of argument values is ambiguous.\MessageBreak
- The lengths will be set to zero}{\@ehd}
- \setlength{\@tempdima}{0pt}%
- \setlength{\@tempdimb}{0pt}%
- \setlength{\@tempdimc}{0pt}%
- \else % R
- \nametest{#5}{*}%
- \ifsamename % r = *
- \setlength{\@tempdimb}{#4}%
- \setlength{\@tempdima}{\@tempdimb}%
- \setlength{\@tempdimc}{#1}%
- \advance\@tempdimc -\@tempdima
- \advance\@tempdimc -\@tempdimb
- \else % r
- \setlength{\@tempdimb}{#4}%
- \setlength{\@tempdima}{#5\@tempdimb}%
- \setlength{\@tempdimc}{#1}%
- \advance\@tempdimc -\@tempdima
- \advance\@tempdimc -\@tempdimb
- \fi
- \fi
- \else % L
- \nametest{#4}{*}%
- \ifsamename % R = *
- \nametest{#5}{*}%
- \ifsamename % r = *
- \setlength{\@tempdima}{#3}%
- \setlength{\@tempdimb}{\@tempdima}
- \setlength{\@tempdimc}{#1}%
- \advance\@tempdimc -\@tempdima
- \advance\@tempdimc -\@tempdimb
- \else % r
- \setlength{\@tempdima}{#3}%
- \setlength{\@tempdimb}{#5\@tempdima}
- \setlength{\@tempdimc}{#1}%
- \advance\@tempdimc -\@tempdima
- \advance\@tempdimc -\@tempdimb
- \fi
- \else % R
- \setlength{\@tempdima}{#3}%
- \setlength{\@tempdimb}{#4}%
- \setlength{\@tempdimc}{#1}%
- \advance\@tempdimc -\@tempdima
- \advance\@tempdimc -\@tempdimb
- \fi
- \fi
- \else % C is valued
- \nametest{#3}{*}%
- \ifsamename % L = *
- \nametest{#4}{*}%
- \ifsamename % R = *
- \nametest{#5}{*}%
- \ifsamename % r = *
- \setlength{\@tempdimc}{#2}%
- \setlength{\@tempdima}{#1}%
- \advance\@tempdima -\@tempdimc
- \@tempdima = 0.5\@tempdima
- \@tempdimb = \@tempdima
- \else % r (CODE PERHAPS FIXED)
- \setlength{\@tempdimc}{#2} % C
- \setlength{\@tempdimb}{#1} % T
- \advance\@tempdimb -\@tempdimc % T - C
- \@tempdima = 1000sp
- \setlength{\@tempdima}{#5\@tempdima} % 1000r sp
- \advance\@tempdima by 1000sp % 1000(1+r)sp
- \@tempcnta = \@tempdima % 1000(1+r)
- \@tempdima = \@tempdimb % T - C
- \divide\@tempdima by \@tempcnta % (T-C)/1000(1+r) pts
- \@tempdima = 1000\@tempdima % (T-C)/(1+r) pts = L
- \advance\@tempdimb by -\@tempdima % = R
- \fi
- \else % R
- \setlength{\@tempdimc}{#2}%
- \setlength{\@tempdimb}{#4}%
- \setlength{\@tempdima}{#1}%
- \advance\@tempdima -\@tempdimc
- \advance\@tempdima -\@tempdimb
- \fi
- \else % L
- \nametest{#4}{*}%
- \ifsamename % R = *
- \setlength{\@tempdimc}{#2}%
- \setlength{\@tempdima}{#3}%
- \setlength{\@tempdimb}{#1}%
- \advance\@tempdimb -\@tempdimc
- \advance\@tempdimb -\@tempdima
- \else % R
- \@memerror{%
- The combination of argument values is ambiguous.\MessageBreak
- The lengths will be set to zero}{\@ehd}%
- \setlength{\@tempdima}{0pt}%
- \setlength{\@tempdimb}{0pt}%
- \setlength{\@tempdimc}{#2}%
- \fi
- \fi
- \fi}
-
-\newcommand{\setstocksize}[2]{%
- \setlength{\stockheight}{#1}%
- \setlength{\stockwidth}{#2}}
-\newcommand{\settrims}[2]{%
- \setlength{\trimtop}{#1}%
- \setlength{\trimedge}{#2}}
-\newcommand{\settrimmedsize}[3]{%
- \setrectanglesize{#1}{#2}{#3}%
- \setlength{\paperheight}{\@tempdima}%
- \setlength{\paperwidth}{\@tempdimb}}
-
-\newcommand{\settypeblocksize}[3]{%
- \setrectanglesize{#1}{#2}{#3}%
- \setlength{\textheight}{\@tempdima}%
- \setlength{\textwidth}{\@tempdimb}}
-
-\newlength{\binding}
-\newcommand*{\setbinding}[1]{\setlength{\binding}{#1}}
- \setbinding{0pt}
-
-\newlength{\spinemargin}
-\newlength{\foremargin}
-\newcommand{\setlrmargins}[3]{%
- \advance\paperwidth -\binding
- \setfillsize{\paperwidth}{\textwidth}{#1}{#2}{#3}%
- \setlength{\textwidth}{\@tempdimc}%
- \setlength{\spinemargin}{\@tempdima}%
- \setlength{\foremargin}{\@tempdimb}%
- \advance\paperwidth \binding
- \advance\spinemargin \binding}
-
-\newcommand{\setlrmarginsandblock}[3]{%
- \advance\paperwidth -\binding
- \setfillsize{\paperwidth}{*}{#1}{#2}{#3}%
- \setlength{\textwidth}{\@tempdimc}%
- \setlength{\spinemargin}{\@tempdima}%
- \setlength{\foremargin}{\@tempdimb}%
- \advance\paperwidth \binding
- \advance\spinemargin \binding}
-
-\newlength{\uppermargin}
-\newlength{\lowermargin}
-\newcommand{\setulmargins}[3]{%
- \setfillsize{\paperheight}{\textheight}{#1}{#2}{#3}%
- \setlength{\textheight}{\@tempdimc}%
- \setlength{\uppermargin}{\@tempdima}%
- \setlength{\lowermargin}{\@tempdimb}}
-
-\newcommand{\setulmarginsandblock}[3]{%
- \setfillsize{\paperheight}{*}{#1}{#2}{#3}%
- \setlength{\textheight}{\@tempdimc}%
- \setlength{\uppermargin}{\@tempdima}%
- \setlength{\lowermargin}{\@tempdimb}}
-
-\newlength{\headdrop}
-\newcommand{\setheaderspaces}[3]{%
- \setfillsize{\uppermargin}{\headheight}{#1}{#2}{#3}%
- \setlength{\headheight}{\@tempdimc}%
- \setlength{\headdrop}{\@tempdima}%
- \setlength{\headsep}{\@tempdimb}}
-
-\newcommand{\setheadfoot}[2]{%
- \setlength{\headheight}{#1}%
- \setlength{\footskip}{#2}}
-
-\newcommand{\setcolsepandrule}[2]{%
- \setlength{\columnsep}{#1}%
- \setlength{\columnseprule}{#2}}
-
-\newcommand{\setmarginnotes}[3]{%
- \setlength{\marginparsep}{#1}%
- \setlength{\marginparwidth}{#2}%
- \setlength{\marginparpush}{#3}}
-
-\settrimmedsize{\stockheight}{\stockwidth}{*}
-\settrims{\z@}{\z@}
-
-\setlength{\@tempdimb}{1.14\lxvchars}
-\setlength\@tempdima{\paperwidth}
- \addtolength\@tempdima{-2in}
-\if@twocolumn
- \ifdim\@tempdima>2\@tempdimb\relax
- \setlength\textwidth{2\@tempdimb}
- \else
- \setlength\textwidth{\@tempdima}
- \fi
-\else
- \ifdim\@tempdima>\@tempdimb\relax
- \setlength\textwidth{\@tempdimb}
- \else
- \setlength\textwidth{\@tempdima}
- \fi
-\fi
-\@settopoint\textwidth
-
-\setlength\@tempdima{\paperheight}
- \addtolength\@tempdima{-3.5in}
- \divide\@tempdima\baselineskip
-\@tempcnta=\@tempdima
-\setlength\textheight{\@tempcnta\baselineskip}
- \addtolength\textheight{\topskip}
-
-\if@twoside
- \setlength\@tempdima {\paperwidth}
- \addtolength\@tempdima {-\textwidth}
- \setlength\oddsidemargin {.4\@tempdima}
- \addtolength\oddsidemargin {-1in}
- \setlength\marginparwidth {.6\@tempdima}
- \addtolength\marginparwidth{-\marginparsep}
- \addtolength\marginparwidth{-0.4in}
-\else
- \setlength\@tempdima {\paperwidth}
- \addtolength\@tempdima {-\textwidth}
- \setlength\oddsidemargin {.5\@tempdima}
- \addtolength\oddsidemargin {-1in}
- \setlength\marginparwidth {.5\@tempdima}
- \addtolength\marginparwidth{-\marginparsep}
- \addtolength\marginparwidth{-0.8in} % don't know why this isn't .4
-\fi
-\ifdim\marginparwidth>2in
- \setlength\marginparwidth{2in}%
-\fi
-\@settopoint\oddsidemargin
-\@settopoint\marginparwidth
-\ifdim\marginparwidth<1pt \setlength\marginparwidth{1pt}\fi
-
-\setlength\evensidemargin {\paperwidth}
-\addtolength\evensidemargin{-2in}
-\addtolength\evensidemargin{-\textwidth}
-\addtolength\evensidemargin{-\oddsidemargin}
-\@settopoint\evensidemargin
-\setlength\topmargin {\paperheight}
-\addtolength\topmargin{-2in}
-\addtolength\topmargin{-\headheight}
-\addtolength\topmargin{-\headsep}
-\addtolength\topmargin{-\textheight}
-\addtolength\topmargin{-\footskip}
-\addtolength\topmargin{-.5\topmargin}
-\@settopoint\topmargin
-
-\setlength{\spinemargin}{\oddsidemargin}
-\addtolength{\spinemargin}{1in}
-\setlrmargins{\spinemargin}{*}{*}
-
-\setlength{\uppermargin}{\topmargin}
-\addtolength{\uppermargin}{1in}
-\addtolength{\uppermargin}{\headheight}
-\addtolength{\uppermargin}{\headsep}
-\setulmargins{\uppermargin}{*}{*}
-
-\newcommand*{\@memznegtest}[1]{%
- \ifdim#1>\z@\else
- %%%% \@memerror{\protect#1\space is zero or negative}{\@ehd}%
- \@memwarn{\protect#1\space is zero or negative}%
- \fi}
-\newcommand*{\@memnegtest}[1]{%
- \ifdim#1<\z@
-%%%% \@memerror{\protect#1\space is negative}{\@ehd}%
- \@memwarn{\protect#1\space is negative}%
- \fi}
-
-\newcommand*{\m@mclassicht}{%
- \setlength{\@tempdima}{\textheight}%
- \divide\@tempdima \baselineskip
- \@tempcnta=\@tempdima
- \setlength{\textheight}{\@tempcnta\baselineskip}%
- \addtolength{\textheight}{\topskip}}
-
-\newcommand*{\m@mlinesht}{%
- \setlength{\@tempdima}{\textheight}%
- \advance\@tempdima -\baselineskip
- \divide\@tempdima \baselineskip
- \@tempcnta=\@tempdima
- \setlength{\textheight}{\@tempcnta\baselineskip}%
- \addtolength{\textheight}{\topskip}}
-
-\newcommand*{\m@mnearestht}{%
- \setlength{\@tempdima}{\textheight}%
- \advance\@tempdima -\topskip
- \advance\@tempdima 0.5\baselineskip
- \divide\@tempdima \baselineskip
- \@tempcnta=\@tempdima
- \setlength{\textheight}{\@tempcnta\baselineskip}%
- \addtolength{\textheight}{\topskip}}
-
-\newcommand*{\checkthelayout}[1][classic]{%
- \@memnegtest{\trimedge}
- \@memnegtest{\trimtop}
- \@memznegtest{\stockwidth}
- \@memznegtest{\paperwidth}
- \@memznegtest{\textwidth}
-%%% \@memznegtest{\spinemargin}
- \@memnegtest{\spinemargin}
-%%% \@memznegtest{\foremargin}
- \@memnegtest{\foremargin}
- \@memznegtest{\marginparsep}
- \@memznegtest{\marginparwidth}
- \@memznegtest{\stockheight}
- \@memznegtest{\paperheight}
- \@memznegtest{\textheight}
-%%% \@memznegtest{\uppermargin}
- \@memnegtest{\uppermargin}
-%%% \@memznegtest{\lowermargin}
- \@memnegtest{\lowermargin}
-%%% \@memznegtest{\headheight}
- \@memnegtest{\headheight}
-%%% \@memznegtest{\headsep}
- \@memnegtest{\headsep}
-%%% \@memznegtest{\footskip}
- \@memnegtest{\footskip}
- \nametest{#1}{classic}%
- \ifsamename
- \m@mclassicht
- \else
- \nametest{#1}{lines}%
- \ifsamename
- \m@mlinesht
- \else
- \nametest{#1}{nearest}%
- \ifsamename
- \m@mnearestht
- \else
- \nametest{#1}{fixed}
- \ifsamename
- \else% not classic, lines, nearest, or fixed
- \@memerror{Optional argument is not one of:\MessageBreak
- classic, fixed, lines, or nearest. \MessageBreak
- I will assume the default}%
- {\@ehc}%
- \fi
- \fi
- \fi
- \fi
- \setulmargins{\uppermargin}{*}{*}
- \@tempdimb = -1pt
- \@tempdima=\stockwidth
- \advance\@tempdima -\trimedge
- \advance\@tempdima -\paperwidth
- \ifdim\@tempdima<\@tempdimb
- \@tempdima = -\@tempdima
- \@memerror{\protect\paperwidth\space (\the\paperwidth) and/or
- \protect\trimedge\space (\the\trimedge)
- are too large for \protect\stockwidth\space (\the\stockwidth)
- by \the\@tempdima}%
- {\@ehd}
- \fi
- \@tempdima = \paperwidth
- \advance\@tempdima -\foremargin
- \advance\@tempdima -\textwidth
- \advance\@tempdima -\spinemargin
- \ifdim\@tempdima<\@tempdimb
- \@tempdima = -\@tempdima
- \@memerror{\protect\spinemargin\space (\the\spinemargin) and/or
- \protect\textwidth\space (\the\textwidth) and/or
- \protect\foremargin\space (\the\foremargin)
- are too large for \protect\paperwidth\space (\the\paperwidth)
- by \the\@tempdima}%
- {\@ehd}
- \fi
- \@tempdima = \stockheight
- \advance\@tempdima -\trimtop
- \advance\@tempdima -\paperheight
- \ifdim\@tempdima<\@tempdimb
- \@tempdima = -\@tempdima
- \@memerror{\protect\paperheight\space (\the\paperheight) and/or
- \protect\trimtop\space (\the\trimtop)
- are too large for \protect\stockheight\space (\the\stockheight)
- by \the\@tempdima}%
- {\@ehd}
- \fi
- \@tempdima = \paperheight
- \advance\@tempdima -\uppermargin
- \advance\@tempdima -\textheight
- \advance\@tempdima -\lowermargin
- \ifdim\@tempdima<\@tempdimb
- \@tempdima = -\@tempdima
- \@memerror{\protect\uppermargin\space (\the\uppermargin) and/or
- \protect\textheight\space (\the\textheight) and/or
- \protect\lowermargin\space (\the\lowermargin)
- are too large for \protect\paperheight\space (\the\paperheight)
- by \the\@tempdima}%
- {\@ehd}
- \fi
- \@tempdima = \uppermargin
- \advance\@tempdima -\headheight
- \advance\@tempdima -\headsep
- \ifdim\@tempdima<\@tempdimb
- \@tempdima = -\@tempdima
- \@memerror{\protect\headheight\space (\the\headheight) and/or
- \protect\headsep\space (\the\headsep)
- are too large for \protect\uppermargin\space (\the\uppermargin)
- by \the\@tempdima}%
- {\@ehd}
- \fi
- \@tempdima = \lowermargin
- \advance\@tempdima -\footskip
- \ifdim\@tempdima<\z@
- \@tempdima = -\@tempdima
- \@memerror{\protect\footskip\space (\the\footskip)
- is too large for \protect\lowermargin\space (\the\lowermargin)
- by \the\@tempdima}%
- {\@ehd}
- \fi}
-
-\newcommand*{\fixthelayout}{%
- \topmargin = \trimtop
- \advance\topmargin \uppermargin
- \advance\topmargin -\headsep
- \advance\topmargin -\headheight
- \advance\topmargin -1in\relax
- \oddsidemargin = \stockwidth
- \advance\oddsidemargin -\trimedge
- \advance\oddsidemargin -\paperwidth
- \advance\oddsidemargin \spinemargin
- \advance\oddsidemargin -1in\relax
- \evensidemargin = \trimedge
- \advance\evensidemargin \foremargin
- \advance\evensidemargin -1in\relax
- \@settopoint\textwidth
- \@settopoint\oddsidemargin
- \@settopoint\evensidemargin}
-
-\newcommand*{\typeoutlayout}{%
- \typeout{}
- \typeout{******************************************************}
- \typeout{Stock height and width:
- \the\stockheight\space by \the\stockwidth}
- \typeout{Top and edge trims:
- \the\trimtop\space and \the\trimedge}
- \typeout{Page height and width:
- \the\paperheight\space by \the\paperwidth}
- \typeout{Text height and width:
- \the\textheight\space by \the\textwidth}
- \typeout{Spine and edge margins:
- \the\spinemargin\space and \the\foremargin}
- \typeout{Upper and lower margins:
- \the\uppermargin\space and \the\lowermargin}
- \typeout{Headheight and headsep:
- \the\headheight\space and \the\headsep}
- \typeout{Footskip:
- \the\footskip}
- \typeout{Columnsep and columnseprule:
- \the\columnsep\space and \the\columnseprule}
- \typeout{Marginparsep and marginparwidth:
- \the\marginparsep\space and \the\marginparwidth}
- \typeout{Sidecapsep and sidecapwidth:
- \the\sidecapsep\space and \the\sidecapwidth}
- \typeout{Sidebarhsep and sidebarwidth:
- \the\sidebarhsep\space and \the\sidebarwidth}
- \typeout{Sidebarvsep and sidebartopsep:
- \the\sidebarvsep\space and \the\sidebartopsep}
- \typeout{Sidebarheight:
- \the\dimen\sideins}
- \typeout{******************************************************}
- \typeout{}}
-
-\newcommand*{\checkandfixthelayout}[1][classic]{%
- \checkthelayout[#1]%
- \fixthelayout
- \typeoutlayout}
-
-\newcommand*{\fixpdflayout}{%
- \pdfpageheight=\the\stockheight
- \pdfpagewidth=\the\stockwidth
- \ifdim\pdfvorigin=0pt\pdfvorigin=1in\fi
- \ifdim\pdfhorigin=0pt\pdfhorigin=1in\fi}
-\newcommand*{\fixdvipslayout}{%
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}}
-
-\AtBeginDocument{%
- \ifpdf
- \ifnum\pdfoutput<\@ne
- \fixdvipslayout
- \else
- \fixpdflayout
- \fi
- \else
- \fixdvipslayout
- \fi}
-
-\newcommand{\typeoutstandardlayout}{%
- \typeout{}
- \typeout{******************************************************}
- \typeout{Page height and width:
- \the\paperheight\space by \the\paperwidth}
- \typeout{Text height and width:
- \the\textheight\space by \the\textwidth}
- \typeout{Oddside and evenside margins:
- \the\oddsidemargin\space and \the\evensidemargin}
- \typeout{Topmargin and footskip:
- \the\topmargin\space and \the\footskip}
- \typeout{Headheight and headsep:
- \the\headheight\space and \the\headsep}
- \typeout{Columnsep and columnseprule:
- \the\columnsep\space and \the\columnseprule}
- \typeout{Marginparsep and marginparwidth:
- \the\marginparsep\space and \the\marginparwidth}
- \typeout{******************************************************}
- \typeout{}
-}
-
-%%%% s = w/#1, t = 1.5s, e = 2s, f = 3s
-\newcommand*{\medievalpage}[1][9]{%
- \spinemargin=\paperwidth
- \divide\spinemargin #1\relax
- \uppermargin = 1.5\spinemargin
- \setlrmarginsandblock{\spinemargin}{*}{2}
- \setulmarginsandblock{\uppermargin}{*}{2}}
-
-\newcommand*{\isopage}[1][9]{%
- \spinemargin=\paperwidth
- \divide\spinemargin #1\relax
- \uppermargin=\paperheight
- \divide\uppermargin #1\relax
- \setlrmarginsandblock{\spinemargin}{*}{2}
- \setulmarginsandblock{\uppermargin}{*}{2}}
-
-%%% s = w/#1, t = s, e = 2s, f = e
-\newcommand*{\semiisopage}[1][9]{%
- \spinemargin=\paperwidth
- \divide\spinemargin #1\relax
- \uppermargin=\spinemargin
- \setlrmarginsandblock{\spinemargin}{*}{2}
- \setulmarginsandblock{\uppermargin}{*}{2}}
-
-\newcommand*{\setpagebl}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=\stockheight \advance\trimtop -\paperheight
- \trimedge=\stockwidth \advance\trimedge -\paperwidth}
-\newcommand*{\setpageml}[3]{%
- \settrimmedsize{#1}{#2}{#3}
- \trimtop=\stockheight \advance\trimtop -\paperheight
- \advance\trimtop -0.5\trimtop
- \trimedge=\stockwidth \advance\trimedge -\paperwidth}
-\newcommand*{\setpagetl}[3]{%
- \settrimmedsize{#1}{#2}{#3}
- \trimtop=0pt
- \trimedge=\stockwidth \advance\trimedge -\paperwidth}
-\newcommand*{\setpagetm}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=0pt
- \trimedge=\stockwidth \advance\trimedge -\paperwidth
- \advance\trimedge -0.5\trimedge}
-
-\newcommand*{\setpagetr}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=0pt
- \trimedge=0pt}
-\newcommand*{\setpagemr}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=\stockheight \advance\trimtop -\paperheight
- \advance\trimtop -0.5\trimtop
- \trimedge=0pt}
-\newcommand*{\setpagebr}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=\stockheight \advance\trimtop -\paperheight
- \trimedge=0pt}
-\newcommand*{\setpagebm}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=\stockheight \advance\trimtop -\paperheight
- \trimedge=\stockwidth \advance\trimedge -\paperwidth
- \advance\trimedge -0.5\trimedge}
-\newcommand*{\setpagecc}[3]{%
- \settrimmedsize{#1}{#2}{#3}%
- \trimtop=\stockheight \advance\trimtop -\paperheight
- \advance\trimtop -0.5\trimtop
- \trimedge=\stockwidth \advance\trimedge -\paperwidth
- \advance\trimedge -0.5\trimedge}
-
-\setcounter{topnumber}{3}
-\renewcommand{\topfraction}{.85}
-\setcounter{bottomnumber}{2}
-\renewcommand{\bottomfraction}{.5}
-\setcounter{totalnumber}{4}
-\renewcommand{\textfraction}{.1}
-\renewcommand{\floatpagefraction}{.7}
-\setcounter{dbltopnumber}{3}
-\renewcommand{\dbltopfraction}{.85}
-\renewcommand{\dblfloatpagefraction}{.7}
-\newcommand{\makeevenhead}[4]{%
- \@namedef{#1eheadl}{#2}
- \@namedef{#1eheadc}{#3}
- \@namedef{#1eheadr}{#4}
-}
-\newcommand{\makeoddhead}[4]{%
- \@namedef{#1oheadl}{#2}
- \@namedef{#1oheadc}{#3}
- \@namedef{#1oheadr}{#4}
-}
-\newcommand{\makeevenfoot}[4]{%
- \@namedef{#1efootl}{#2}
- \@namedef{#1efootc}{#3}
- \@namedef{#1efootr}{#4}
-}
-\newcommand{\makeoddfoot}[4]{%
- \@namedef{#1ofootl}{#2}
- \@namedef{#1ofootc}{#3}
- \@namedef{#1ofootr}{#4}
-}
-
-\newcommand*{\makerunningwidth}[1]{%
- \def\m@mhfstyle{#1}%
- \m@mopthfwidth}
-\newcommand*{\m@mopthfwidth}[2][\@mpty]{%
- \@namedef{\m@mhfstyle headrunwidth}{#2}%
- \ifx\@mpty #1
- \@namedef{\m@mhfstyle footrunwidth}{#2}%
- \else
- \@namedef{\m@mhfstyle footrunwidth}{#1}%
- \fi}
-\newcommand*{\makerunningheadwidth}[2]{%
- \@namedef{#1headrunwidth}{#2}%
-}
-\newcommand*{\makerunningfootwidth}[2]{%
- \@namedef{#1footrunwidth}{#2}%
-}
-
-\newlength{\normalrulethickness}
- \setlength{\normalrulethickness}{0.4pt}
-\newcommand{\footruleheight}{0pt}
-\newcommand{\footruleskip}{0.3\normalbaselineskip}
-\newcommand{\makeheadrule}[3]{%
- \@namedef{#1headrule}{%
- \hrule\@width #2\@height #3 \vskip-#3}}
-\newcommand{\makefootrule}[4]{%
- \@namedef{#1footrule}{%
- \vskip-#4\vskip-#3
- \hrule\@width #2\@height #3 \vskip #4}}
-
-\newcommand{\makeheadposition}[5]{%
- \nametest{flushleft}{#2}
- \ifsamename
- \@namedef{#1evenhpl}{\relax} \@namedef{#1evenhpr}{\hss}
- \else
- \nametest{flushright}{#2}
- \ifsamename
- \@namedef{#1evenhpl}{\hss} \@namedef{#1evenhpr}{\relax}
- \else
- \@namedef{#1evenhpl}{\hss} \@namedef{#1evenhpr}{\hss}
- \fi
- \fi
- \nametest{flushleft}{#3}
- \ifsamename
- \@namedef{#1oddhpl}{\relax} \@namedef{#1oddhpr}{\hss}
- \else
- \nametest{flushright}{#3}
- \ifsamename
- \@namedef{#1oddhpl}{\hss} \@namedef{#1oddhpr}{\relax}
- \else
- \@namedef{#1oddhpl}{\hss} \@namedef{#1oddhpr}{\hss}
- \fi
- \fi
- \nametest{flushleft}{#4}
- \ifsamename
- \@namedef{#1evenfpl}{\relax} \@namedef{#1evenfpr}{\hss}
- \else
- \nametest{flushright}{#4}
- \ifsamename
- \@namedef{#1evenfpl}{\hss} \@namedef{#1evenfpr}{\relax}
- \else
- \@namedef{#1evenfpl}{\hss} \@namedef{#1evenfpr}{\hss}
- \fi
- \fi
- \nametest{flushleft}{#5}
- \ifsamename
- \@namedef{#1oddfpl}{\relax} \@namedef{#1oddfpr}{\hss}
- \else
- \nametest{flushright}{#5}
- \ifsamename
- \@namedef{#1oddfpl}{\hss} \@namedef{#1oddfpr}{\relax}
- \else
- \@namedef{#1oddfpl}{\hss} \@namedef{#1oddfpr}{\hss}
- \fi
- \fi}
-
-\newcommand{\makepsmarks}[2]{\@namedef{#1pshook}{#2}}
-
-\newcommand*{\m@mhe@dreset}{\def\baselinestretch{1}\normalsize}
-
-\newcommand*\makeheadfootvposition[3]{%
- \@namedef{#1headvplacement}{#2}\@namedef{#1footvplacement}{#3}}
-
-\newcommand{\makepagestyle}[1]{%
- \@namedef{ps@#1}{%
- \@namedef{#1@evenhead}{%
- \@nameuse{#1evenhpl}\hb@xt@\@nameuse{#1headrunwidth}{\m@mhe@dreset%
- \vbox{\hbox{%
- \rlap{\parbox[\@nameuse{#1headvplacement}]{\@nameuse{#1headrunwidth}}{%
- \raggedright\@nameuse{#1eheadl}\strut}}\hfill
- \parbox[\@nameuse{#1headvplacement}]{\@nameuse{#1headrunwidth}}{%
- \centering\@nameuse{#1eheadc}\strut}\hfill
- \llap{\parbox[\@nameuse{#1headvplacement}]{\@nameuse{#1headrunwidth}}{%
- \raggedleft\@nameuse{#1eheadr}\strut}}}%
- \@nameuse{#1headrule}}}\@nameuse{#1evenhpr}}%
- \@namedef{#1@oddhead}{%
- \@nameuse{#1oddhpl}\hb@xt@\@nameuse{#1headrunwidth}{\m@mhe@dreset%
- \vbox{\hbox{%
- \rlap{\parbox[\@nameuse{#1headvplacement}]{\@nameuse{#1headrunwidth}}{%
- \raggedright\@nameuse{#1oheadl}\strut}}\hfill
- \parbox[\@nameuse{#1headvplacement}]{\@nameuse{#1headrunwidth}}{%
- \centering\@nameuse{#1oheadc}\strut}\hfill
- \llap{\parbox[\@nameuse{#1headvplacement}]{\@nameuse{#1headrunwidth}}{%
- \raggedleft\@nameuse{#1oheadr}\strut}}}%
- \@nameuse{#1headrule}}}\@nameuse{#1oddhpr}}%
- \@namedef{#1@evenfoot}{%
- \@nameuse{#1evenfpl}\hb@xt@\@nameuse{#1footrunwidth}{\m@mhe@dreset%
- \vbox{\@nameuse{#1footrule}\hbox{%
- \rlap{\parbox[\@nameuse{#1footvplacement}]{\@nameuse{#1footrunwidth}}{%
- \raggedright\@nameuse{#1efootl}\strut}}\hfill
- \parbox[\@nameuse{#1footvplacement}]{\@nameuse{#1footrunwidth}}{%
- \centering\@nameuse{#1efootc}\strut}\hfill
- \llap{\parbox[\@nameuse{#1footvplacement}]{\@nameuse{#1footrunwidth}}{%
- \raggedleft\@nameuse{#1efootr}\strut}}}%
- }}\@nameuse{#1evenfpr}}%
- \@namedef{#1@oddfoot}{%
- \@nameuse{#1oddfpl}\hb@xt@\@nameuse{#1footrunwidth}{\m@mhe@dreset%
- \vbox{\@nameuse{#1footrule}\hbox{%
- \rlap{\parbox[\@nameuse{#1footvplacement}]{\@nameuse{#1footrunwidth}}{%
- \raggedright\@nameuse{#1ofootl}\strut}}\hfill
- \parbox[\@nameuse{#1footvplacement}]{\@nameuse{#1footrunwidth}}{%
- \centering\@nameuse{#1ofootc}\strut}\hfill
- \llap{\parbox[\@nameuse{#1footvplacement}]{\@nameuse{#1footrunwidth}}{%
- \raggedleft\@nameuse{#1ofootr}\strut}}}%
- }}\@nameuse{#1oddfpr}}%
- \def\@evenhead{\@nameuse{#1@evenhead}}%
- \def\@oddhead{\@nameuse{#1@oddhead}}%
- \def\@evenfoot{\@nameuse{#1@evenfoot}}%
- \def\@oddfoot{\@nameuse{#1@oddfoot}}%
- \@nameuse{#1pshook}}%
- \makeevenhead{#1}{}{}{}%
- \makeoddhead{#1}{}{}{}%
- \makeevenfoot{#1}{}{}{}%
- \makeoddfoot{#1}{}{}{}%
- \makerunningwidth{#1}{\textwidth}%
- \makeheadposition{#1}{}{}{}{}%
- \makeheadrule{#1}{\textwidth}{0pt}%
- \makefootrule{#1}{\textwidth}{\footruleheight}{\footruleskip}%
- \makeheadfootvposition{#1}{b}{b}%
- \makepsmarks{#1}{}}
-
-\newcommand{\aliaspagestyle}[2]{%
- \@namedef{ps@#1}{\@nameuse{ps@#2}}}
-
-\newcommand{\copypagestyle}[2]{%
- \makepagestyle{#1}%
- \makeevenhead{#1}{\@nameuse{#2eheadl}}%
- {\@nameuse{#2eheadc}}{\@nameuse{#2eheadr}}%
- \makeoddhead{#1}{\@nameuse{#2oheadl}}%
- {\@nameuse{#2oheadc}}{\@nameuse{#2oheadr}}%
- \makeevenfoot{#1}{\@nameuse{#2efootl}}%
- {\@nameuse{#2efootc}}{\@nameuse{#2efootr}}%
- \makeoddfoot{#1}{\@nameuse{#2ofootl}}%
- {\@nameuse{#2ofootc}}{\@nameuse{#2ofootr}}%
- \makerunningwidth{#1}[\@nameuse{#2footrunwidth}]{\@nameuse{#2headrunwidth}}%
- \@namedef{#1evenhpl}{\@nameuse{#2evenhpl}}%
- \@namedef{#1oddhpl}{\@nameuse{#2oddhpl}}%
- \@namedef{#1evenhpr}{\@nameuse{#2evenhpr}}%
- \@namedef{#1oddhpr}{\@nameuse{#2oddhpr}}%
- \makeheadfootvposition{#1}{\@nameuse{#2headvplacement}}{\@nameuse{#2footvplacement}}%
- \@namedef{#1evenfpl}{\@nameuse{#2evenfpl}}%
- \@namedef{#1oddfpl}{\@nameuse{#2oddfpl}}%
- \@namedef{#1evenfpr}{\@nameuse{#2evenfpr}}%
- \@namedef{#1oddfpr}{\@nameuse{#2oddfpr}}%
- \@namedef{#1headrule}{\@nameuse{#2headrule}}%
- \@namedef{#1footrule}{\@nameuse{#2footrule}}%
- \makepsmarks{#1}{\@nameuse{#2pshook}}}
-
-\newcommand{\ifonlyfloats}[2]{\if@fcolmade #1\else #2\fi}
-
-\newcommand{\mergepagefloatstyle}[3]{%
- \@nameuse{ps@#3}\@nameuse{ps@#2}%
- \@namedef{ps@#1}{%
- \def\@evenhead{\ifonlyfloats{\@nameuse{#3@evenhead}}%
- {\@nameuse{#2@evenhead}}}%
- \def\@oddhead{\ifonlyfloats{\@nameuse{#3@oddhead}}%
- {\@nameuse{#2@oddhead}}}%
- \def\@evenfoot{\ifonlyfloats{\@nameuse{#3@evenfoot}}%
- {\@nameuse{#2@evenfoot}}}%
- \def\@oddfoot{\ifonlyfloats{\@nameuse{#3@oddfoot}}%
- {\@nameuse{#2@oddfoot}}}%
- \@namedef{#1pshook}{\@nameuse{#2pshook}}%
-}}
-
-\makepagestyle{empty}
-
-\makepagestyle{plain}
- \makeevenfoot{plain}{}{\thepage}{}
- \makeoddfoot{plain}{}{\thepage}{}
-
-\newcommand*{\nouppercaseheads}{\let\memUChead\relax}
-\newcommand*{\uppercaseheads}{\let\memUChead\MakeUppercase}
-\uppercaseheads
-
-\newcommand*{\createplainmark}[3]{%
- \nametest{#2}{left}%
- \ifsamename
- \@namedef{#1mark}{\markboth{\memUChead{#3}}{}}%
- \else
- \nametest{#2}{right}%
- \ifsamename
- \@namedef{#1mark}{\markright{\memUChead{#3}}}%
- \else
- \nametest{#2}{both}%
- \ifsamename\else
- \@memerror{%
- Unknown mark setting type `#2' for #1mark}{%
- I expected `left', `both' or `right'. \MessageBreak
- I will assume you meant `both'}%
- \fi
- \@namedef{#1mark}{\markboth{\memUChead{#3}}{\memUChead{#3}}}%
- \fi
- \fi}
-
-\newcommand\createmark[5]{%
- \def\@tempa{00}
- \nametest{#3}{nonumber}%
- \ifsamename
- \def\@tempa{01}%
- \else
- \nametest{#3}{shownumber}
- \ifsamename\else
- \@memerror{Unknown numbering value `#3' for #1mark}%
- {I expected `shownumber' or `nonumber'.\MessageBreak
- I will assume you meant `shownumber'}%
- \fi
- \fi
- \expandafter\if\@tempa% compares the two \@tempa digits
- \@namedef{#1marksn}##1{##1}%
- \else
- \@namedef{#1marksn}{\@gobble}%
- \fi
- \nametest{#2}{left}%
- \ifsamename
- \@namedef{#1mark}##1{%
- \@setclcnt{#1}{@memmarkcntra}%
- \advance\c@@memmarkcntra\m@ne
- \markboth{%
- \memUChead{%
- \ifnum \c@secnumdepth > \c@@memmarkcntra
- \if@mainmatter
- \@nameuse{#1marksn}{#4\@nameuse{the#1}#5}%
- \fi
- \fi
- ##1}}{}}%
- \else
- \nametest{#2}{right}
- \ifsamename
- \@namedef{#1mark}##1{%
- \@setclcnt{#1}{@memmarkcntra}
- \advance\c@@memmarkcntra\m@ne
- \markright{%
- \memUChead{%
- \ifnum \c@secnumdepth > \c@@memmarkcntra
- \if@mainmatter%
- \@nameuse{#1marksn}{#4\@nameuse{the#1}#5}%
- \fi%
- \fi%
- ##1}}}%
- \else
- \nametest{#2}{both}%
- \ifsamename\else
- \@memerror{%
- Unknown mark setting type `#2' for #1mark}{%
- I expected `left', `both' or `right'. \MessageBreak
- I will assume you meant `both'}%
- \fi
- \@namedef{#1mark}##1{%
- \@setclcnt{#1}{@memmarkcntra}
- \advance\c@@memmarkcntra\m@ne
- \markboth{%
- \memUChead{%
- \ifnum \c@secnumdepth > \c@@memmarkcntra
- \if@mainmatter
- \@nameuse{#1marksn}{#4\@nameuse{the#1}#5}%
- \fi
- \fi
- ##1}}{%
- \memUChead{%
- \ifnum \c@secnumdepth > \c@@memmarkcntra
- \if@mainmatter
- \@nameuse{#1marksn}{#4\@nameuse{the#1}#5}%
- \fi
- \fi
- ##1}}}%
- \fi
- \fi}
-
-\newcommand\addtopsmarks[3]{%
- \expandafter\addtodef\expandafter{\csname #1pshook\endcsname}{#2}{#3}}
-\if@twoside
- \makepagestyle{headings}
- \makepsmarks{headings}{%
- \def\chaptermark##1{%
- \markboth{\memUChead{%
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \@chapapp\ \thechapter. \ %
- \fi
- \fi
- ##1}}{}}%
- \def\tocmark{\markboth{\memUChead{\contentsname}}{\memUChead{\contentsname}}}%
- \def\lofmark{\markboth{\memUChead{\listfigurename}}{\memUChead{\listfigurename}}}%
- \def\lotmark{\markboth{\memUChead{\listtablename}}{\memUChead{\listtablename}}}%
- \def\bibmark{\markboth{\memUChead{\bibname}}{\memUChead{\bibname}}}%
- \def\indexmark{\markboth{\memUChead{\indexname}}{\memUChead{\indexname}}}%
- \def\sectionmark##1{%
- \markright{\memUChead{%
- \ifnum \c@secnumdepth > \z@
- \thesection. \ %
- \fi
- ##1}}}}
- \makepsmarks{headings}{%
- \createmark{chapter}{left}{shownumber}{\@chapapp\ }{. \ }
- \createmark{section}{right}{shownumber}{}{. \ }
- \createplainmark{toc}{both}{\contentsname}
- \createplainmark{lof}{both}{\listfigurename}
- \createplainmark{lot}{both}{\listtablename}
- \createplainmark{bib}{both}{\bibname}
- \createplainmark{index}{both}{\indexname}
- \createplainmark{glossary}{both}{\glossaryname}
- }
- \makeevenhead{headings}{\thepage}{}{\slshape\leftmark}
- \makeoddhead{headings}{\slshape\rightmark}{}{\thepage}
-\else
- \makepagestyle{headings}
- \makepsmarks{headings}{%
- \def\chaptermark##1{%
- \markright{\memUChead{%
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \@chapapp\ \thechapter. \ %
- \fi
- \fi
- ##1}}}%
- \def\tocmark{\markright{\memUChead{\contentsname}}}%
- \def\lofmark{\markright{\memUChead{\listfigurename}}}%
- \def\lotmark{\markright{\memUChead{\listtablename}}}%
- \def\bibmark{\markright{\memUChead{\bibname}}}%
- \def\indexmark{\markright{\memUChead{\indexname}}}}
- \makepsmarks{headings}{%
- \createmark{chapter}{right}{shownumber}{\@chapapp\ }{. \ }
- \createplainmark{toc}{right}{\contentsname}
- \createplainmark{lof}{right}{\listfigurename}
- \createplainmark{lot}{right}{\listtablename}
- \createplainmark{bib}{right}{\bibname}
- \createplainmark{index}{right}{\indexname}
- \createplainmark{glossary}{right}{\glossaryname}
- }
- \makeoddhead{headings}{\slshape\rightmark}{}{\thepage}
-\fi
-
-\makepagestyle{myheadings}
- \makepsmarks{myheadings}{%
- \let\chaptermark\@gobble
- \let\sectionmark\@gobble
- \def\tocmark{}%
- \def\lofmark{}%
- \def\lotmark{}%
- \def\bibmark{}%
- \def\indexmark{}%
- \def\glossarymark{}}
- \makeevenhead{myheadings}{\thepage}{}{\slshape\leftmark}
- \makeoddhead{myheadings}{\slshape\rightmark}{}{\thepage}
-
-\aliaspagestyle{chapter}{plain}
-\aliaspagestyle{part}{plain}
-\aliaspagestyle{cleared}{empty}
-
-\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
- \hbox{}\thispagestyle{cleared}%
- \newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
-\makepagestyle{ruled}
-\makeevenfoot{ruled}{\thepage}{}{}
-\makeoddfoot{ruled}{}{}{\thepage}
-\makeheadrule{ruled}{\textwidth}{\normalrulethickness}
-\newcommand{\@ruledmarks}{%
- \def\chaptermark##1{%
- \markboth{%
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \thechapter. \ %
- \fi
- \fi
- ##1}{}}
- \def\sectionmark##1{\markright{##1}}
- \def\tocmark{\markboth{\contentsname}{}}
- \def\lofmark{\markboth{\listfigurename}{}}
- \def\lotmark{\markboth{\listtablename}{}}
- \def\bibmark{\markboth{\bibname}{}}
- \def\indexmark{\markboth{\indexname}{}}
- \def\glossarymark{\markboth{\glossaryname}{}}
-}
-\renewcommand*{\@ruledmarks}{%
- \nouppercaseheads
- \createmark{chapter}{left}{shownumber}{}{. \space}
- \createmark{section}{right}{shownumber}{}{. \space}
- \createplainmark{toc}{both}{\contentsname}
- \createplainmark{lof}{both}{\listfigurename}
- \createplainmark{lot}{both}{\listtablename}
- \createplainmark{bib}{both}{\bibname}
- \createplainmark{index}{both}{\indexname}
- \createplainmark{glossary}{both}{\glossaryname}}
-\makepsmarks{ruled}{\@ruledmarks}
-\makeevenhead{ruled}{\scshape\leftmark}{}{}
-\makeoddhead{ruled}{}{}{\rightmark}
-
-\makepagestyle{Ruled}
-\makerunningwidth{Ruled}{1.1\textwidth}
-\makeheadposition{Ruled}{flushright}{flushleft}{flushright}{flushleft}
-\makeevenfoot{Ruled}{\thepage}{}{}
-\makeoddfoot{Ruled}{}{}{\thepage}
-\makeheadrule{Ruled}{1.1\textwidth}{\normalrulethickness}
-\makepsmarks{Ruled}{\@ruledmarks}
-\makeevenhead{Ruled}{\scshape\leftmark}{}{}
-\makeoddhead{Ruled}{}{}{\rightmark}
-
-\newlength{\headwidth}
-
-\makepagestyle{companion}
-\setlength{\headwidth}{\textwidth}
- \addtolength{\headwidth}{\marginparsep}
- \addtolength{\headwidth}{\marginparwidth}
-\makerunningwidth{companion}{\headwidth}
-\makeheadrule{companion}{\headwidth}{\normalrulethickness}
-\makeheadposition{companion}{flushright}{flushleft}{}{}
-\makepsmarks{companion}{%
- \def\chaptermark##1{\markboth{##1}{##1}} % left mark & right marks
- \def\sectionmark##1{\markright{%
- \ifnum \c@secnumdepth>\z@
- \thesection. \ %
- \fi
- ##1}}
- \def\tocmark{\markboth{\contentsname}{\contentsname}}
- \def\lofmark{\markboth{\listfigurename}{\listfigurename}}
- \def\lotmark{\markboth{\listtablename}{\listtablename}}
- \def\bibmark{\markboth{\bibname}{\bibname}}
- \def\indexmark{\markboth{\indexname}{\indexname}}}
-\makepsmarks{companion}{%
- \nouppercaseheads
- \createmark{chapter}{both}{nonumber}{}{}
- \createmark{section}{right}{shownumber}{}{. \space}
- \createplainmark{toc}{both}{\contentsname}
- \createplainmark{lof}{both}{\listfigurename}
- \createplainmark{lot}{both}{\listtablename}
- \createplainmark{bib}{both}{\bibname}
- \createplainmark{index}{both}{\indexname}
- \createplainmark{glossary}{both}{\glossaryname}}
-\makeevenhead{companion}{\normalfont\bfseries\thepage}{}%
- {\normalfont\bfseries\leftmark}
-\makeoddhead{companion}{\normalfont\bfseries\rightmark}{}%
- {\normalfont\bfseries\thepage}
-
-\newif\ifshowheadfootloc
- \showheadfootloctrue
-\newcommand*{\showheadfootlocon}{\showheadfootloctrue}
-\newcommand*{\showheadfootlocoff}{\showheadfootlocfalse}
-\newif\ifshowtextblockloc
- \showtextblockloctrue
-\newcommand*{\showtextblocklocon}{\showtextblockloctrue}
-\newcommand*{\showtextblocklocoff}{\showtextblocklocfalse}
-
-\newcommand*{\framepichead}{%
-\ifshowheadfootloc
- \begin{picture}(0,0)
- \unitlength 1pt
- \put(0,0){\line(1,0){\strip@pt\textwidth}}
- \end{picture}%
-\fi}
-
-\newcommand*{\framepictextfoot}{%
- \begin{picture}(0,0)
- \unitlength 1pt
- \ifshowheadfootloc
- \put(0,0){\line(1,0){\strip@pt\textwidth}}
- \fi
- \ifshowtextblockloc
- \put(0,\strip@pt\footskip)%
- {\framebox(\strip@pt\textwidth,\strip@pt\textheight){}}
- \fi
- \end{picture}}
-
-\makepagestyle{showlocs}
-\makeevenhead{showlocs}{\framepichead\thepage}{\thepage}{\thepage}
-\makeoddhead{showlocs}{\framepichead\thepage}{\thepage}{\thepage}
-\makeevenfoot{showlocs}{\framepictextfoot\thepage}{\thepage}{\thepage}
-\makeoddfoot{showlocs}{\framepictextfoot\thepage}{\thepage}{\thepage}
-
-\renewcommand{\pagenumbering}{%
- \@ifstar{\@smempnum}{\@mempnum}}
-\newcommand{\@smempnum}[1]{%
- \gdef\thepage{\csname @#1\endcsname \c@page}}
-\newcommand{\@mempnum}[1]{%
- \@smempnum{#1}\global\c@page \@ne}
-
-\newcounter{storedpagenumber}
- \setcounter{storedpagenumber}{1}
-\newcommand{\savepagenumber}{\global\c@storedpagenumber \c@page}
-\newcommand{\restorepagenumber}{\global\c@page \c@storedpagenumber}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand*{\setSpacing}[1]{%
- \def\baselinestretch{#1}%
- \@currsize}
-
-\newcommand*{\setSingleSpace}[1]{%
- \def\m@m@singlespace{#1}}
-\setSingleSpace{1}
-
-\newcommand*{\SingleSpacing}{%
- \setSpacing{\m@m@singlespace}%
- \vskip\baselineskip% correction for coming into single spacing
-}
-\SingleSpacing
-
-\newcommand*{\OnehalfSpacing}{
- \setSpacing{1.25}% default (10pt)
- \ifcase \@ptsize \relax % 10pt
- \setSpacing{1.25}%
- \or% 11pt
- \setSpacing{1.213}%
- \or% 12pt
- \setSpacing{1.241}%
- \or\or% 14pt
- \setSpacing{1.20}%
- \or\or\or% 17pt
- \setSpacing{1.16}%
- \or\or% 9pt
- \setSpacing{1.35}%
- \else% the extended sizes
- \setSpacing{1.16}%
- \fi}
-
-\newcommand*{\DoubleSpacing}{
- \setSpacing{1.667}% default (10pt)
- \ifcase \@ptsize \relax % 10pt
- \setSpacing{1.667}%
- \or% 11pt
- \setSpacing{1.618}%
- \or% 12pt
- \setSpacing{1.655}%
- \or\or% 14pt
- \setSpacing{1.60}%
- \or\or\or% 17pt
- \setSpacing{1.545}%
- \or\or% 9pt
- \setSpacing{1.8}%
- \else% larger sizes
- \setSpacing{1.5}%
- \fi}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% check what this does!!!!!!!!
-\renewcommand*{\@setsize}[4]{%
- \@nomath#1%
- \let\@currsize#1%
- \baselineskip #2%
- \baselineskip \baselinestretch\baselineskip
- \parskip \baselinestretch\parskip
- \setbox\strutbox \hbox{%
- \vrule height.7\baselineskip
- depth .3\baselineskip
- width \z@}%
- \skip\footins \baselinestretch\skip\footins
- \normalbaselineskip\baselineskip#3#4}
-
-\newenvironment{SingleSpace}{%
- \vskip\baselineskip
- \setSpacing{\m@m@singlespace}%
- \vskip -\baselineskip
-}{\par}
-
-\newenvironment{SingleSpace*}{%
-%% \vskip\baselineskip
- \setSpacing{\m@m@singlespace}%
- \vskip 0.5\baselineskip
-}{\vskip -0.5\baselineskip}
-
-\newcommand*{\m@mrestore@spacing}{%
- \par
- \vskip \parskip
- \vskip \baselineskip
- \endgroup
- \vskip -\parskip
- \vskip -\baselineskip}
-
-\newenvironment{Spacing}[1]{%
- \par
- \begingroup
- \setSpacing{#1}}{\m@mrestore@spacing}
-
-\newenvironment{OnehalfSpace}{%
- \begingroup
- \OnehalfSpacing}{\m@mrestore@spacing}
-
-\newenvironment{DoubleSpace}{%
- \begingroup
- \DoubleSpacing}{\m@mrestore@spacing}
-
-\newcommand*{\memdskipstretch}{0.0}
-\newcommand*{\setDisplayskipStretch}[1]{%
- \renewcommand*{\memdskipstretch}{#1}}
-\newcommand*{\noDisplayskipStretch}{\setDisplayskipStretch{0.0}}
-
-\newcommand*{\memdskips}{%
- \advance\abovedisplayskip \memdskipstretch\abovedisplayskip
- \advance\belowdisplayskip \memdskipstretch\belowdisplayskip
- \advance\abovedisplayshortskip \memdskipstretch\abovedisplayshortskip
- \advance\belowdisplayshortskip \memdskipstretch\belowdisplayshortskip}
-\everydisplay\expandafter{%
- \the\everydisplay
- \memdskips}
-
-\let\m@m@xfloat\@xfloat
-\def\@xfloat #1[#2]{%
- \m@m@xfloat #1[#2]%
- \def\baselinestretch{\m@m@singlespace}%
- \normalsize}
-
-\newdimen\memPD
-\newenvironment{vminipage}{%
- \par
- \@ifnextchar[%]
- \@ivminipage
- {\@iiiminipage t\relax[s]}
-}{%
- \par\global\memPD=\prevdepth
- \endminipage
- \par
- \kern-\memPD% no pagebreak allowed here
- \hbox{\vrule depth \memPD width \z@}}
-
- \def\@ivminipage[#1]{%
- \@ifnextchar[%]
- {\@iiminipage{t}}{\@iiiminipage{t}\relax[s]}}
-\newif\ifm@mnzpskip
-\newcommand*{\traditionalparskip}{%
- \parskip \z@
- \m@mnzpskipfalse}
-\newskip\m@mabparskip
-\newcommand*{\abnormalparskip}[1]{%
- \setlength{\parskip}{#1}\m@mabparskip=#1\relax
- \m@mnzpskiptrue}
-\newcommand*{\nonzeroparskip}{\abnormalparskip{%
- 0.5\baselineskip
- \@plus .1\baselineskip \@minus .1\baselineskip% NTG
-%% 0.5/baselineskip \@plus 2pt% RF
-}}
-\traditionalparskip
-
-\newcommand{\pretitle}[1]{\def\@bspretitle{#1}}
-\newcommand{\posttitle}[1]{\def\@bsposttitle{#1}}
-\newcommand{\preauthor}[1]{\def\@bspreauthor{#1}}
-\newcommand{\postauthor}[1]{\def\@bspostauthor{#1}}
-\newcommand{\predate}[1]{\def\@bspredate{#1}}
-\newcommand{\postdate}[1]{\def\@bspostdate{#1}}
-
- \pretitle{\begin{center}\LARGE}
- \posttitle{\par\end{center}\vskip 0.5em}
- \preauthor{\begin{center}
- \large \lineskip .5em%
- \begin{tabular}[t]{c}}
- \postauthor{\end{tabular}\par\end{center}}
- \predate{\begin{center}\large}
- \postdate{\par\end{center}}
-
-\newcommand{\maketitlehooka}{}
-\newcommand{\maketitlehookb}{}
-\newcommand{\maketitlehookc}{}
-\newcommand{\maketitlehookd}{}
-
-\newcommand{\thanksmarkseries}[1]{%
- \def\@bsmarkseries{\renewcommand{\thefootnote}%
- {\@nameuse{#1}{footnote}}}}
-\newcommand{\symbolthanksmark}{\thanksmarkseries{\fnsymbol}}
-\newcommand{\@bscontmark}{\setcounter{footnote}{0}}
-\newcommand{\continuousmarks}{\def\@bscontmark{}}
-\newcommand{\thanksheadextra}[2]{%
- \def\@bsthanksheadpre{#1}%
- \def\@bsthanksheadpost{#2}}
-\DeclareRobustCommand{\thanksmark}[1]{\footnotemark[#1]}
-\newcommand{\thanksgap}[1]{\hspace{#1}}
-\newcommand{\tamark}{\@thefnmark}
-
-\newlength{\thanksmarkwidth}
-\newlength{\thanksmarksep}
-\newcommand{\thanksmarkstyle}[1]{\def\thanksscript##1{#1}}
-\thanksmarkstyle{\textsuperscript{#1}}
-\newcommand{\makethanksmarkhook}{}
-
-\newcommand{\thanksfootmark}{%
- \ifdim\thanksmarkwidth < \z@
- \llap{\hb@xt@ -\thanksmarkwidth{%
- \hss\normalfont\thanksscript{\tamark}}%
- \hspace*{-\thanksmarkwidth}}%
- \else
- \ifdim\thanksmarkwidth = \z@
- {\normalfont\thanksscript{\tamark}}%
- \else
- \hb@xt@\thanksmarkwidth{\hss\normalfont\thanksscript{\tamark}}%
- \fi
- \fi}
-
-\newcommand{\makethanksmark}{%
- \leavevmode%
- \parindent 1em\noindent
- \if@RTL\rightskip\else\leftskip\fi\thanksmarksep\relax
- \advance\if@RTL\rightskip\else\leftskip\fi\thanksmarkwidth \null\nobreak\hskip-\if@RTL\rightskip\else\leftskip\fi\relax
- \makethanksmarkhook\relax
- \thanksfootmark}
-
-\newcommand{\usethanksrule}{\let\footnoterule\thanksrule}
-\newcommand{\cancelthanksrule}{\let\footnoterule\@bsfootnoterule}
-
-\thanksmarkseries{fnsymbol} % symbols
-\thanksheadextra{}{}
-\setlength{\thanksmarkwidth}{1.8em}
-\setlength{\thanksmarksep}{-\thanksmarkwidth}
-
-\AtBeginDocument{%
- \let\thanksrule\footnoterule
- \let\@bsfootnoterule\footnoterule
-}
-
-\newlength{\droptitle}
-\setlength{\droptitle}{0pt}
-
-\newcommand{\maketitle}{\par
- \begingroup
- \@bsmarkseries
- \def\@makefnmark{\@textsuperscript{%
- \normalfont\@bsthanksheadpre \tamark \@bsthanksheadpost}}%
- \long\def\@makefntext##1{\makethanksmark ##1}
- \if@twocolumn
- \ifnum \col@number=\@ne
- \@maketitle
- \else
- \twocolumn[\@maketitle]%
- \fi
- \else
- \ifdim\pagetotal>\z@
- \newpage
- \fi
- \global\@topnum\z@
- \@maketitle
- \fi
- \thispagestyle{title}\@thanks
- \endgroup
- \@bscontmark % \setcounter{footnote}{0}%
- }
-\aliaspagestyle{title}{plain}
-
-\newcommand*{\@mem@titlefootkill}[1]{%
- \@memwarn{Do not use \string\footnote\space in
- \string\maketitle.\MessageBreak
- Use \protect\thanks\space instead}}
-
-\newcommand{\@maketitle}{%
- \let\footnote\@mem@titlefootkill
- \ifdim\pagetotal>\z@
- \newpage
- \fi
- \null
- \vskip 2em%
- \vspace*{\droptitle}
- \maketitlehooka
- {\@bspretitle \@title \@bsposttitle}
- \maketitlehookb
- {\@bspreauthor \@author \@bspostauthor}
- \maketitlehookc
- {\@bspredate \@date \@bspostdate}
- \maketitlehookd
- \par
- \vskip 1.5em}
-
-\newenvironment{titlingpage}%
- {\let\footnoterule\relax
- \let\footnotesize\small
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi
- \thispagestyle{titlingpage}%
- \setcounter{page}{\@ne}%
- }{%
- \thispagestyle{titlingpage}%
- \if@restonecol \twocolumn \fi
- \if@twoside \cleardoublepage \else \clearpage \fi
- \setcounter{page}{\@ne}}
-\aliaspagestyle{titlingpage}{empty}
-
-\newcommand{\emptythanks}{\global\let\@thanks\@empty}
-
-\newcommand*{\andnext}{%
- \end{tabular}\\ \begin{tabular}[t]{c}}
-
-\newcommand{\@bsmtitlempty}{%
- \global\let\maketitle\relax
- \global\let\@maketitle\relax
- \global\let\title\relax
- \global\let\author\relax
- \global\let\date\relax
- \global\let\thanksmarkseries\relax
- \global\let\thanksheadextra\relax
- \global\let\thanksfootextra\relax
- \global\let\thanksmark\relax
- \global\let\thanksgap\relax}
-
-\newcommand{\keepthetitle}{%
- \@bsmtitlempty
- \global\let\thanks\relax
- \global\let\and\relax
- \global\let\andnext\relax
- \global\let\@thanks\@empty
- \global\let\@title\@empty
- \global\let\@author\@empty
- \global\let\@date\@empty}
-
-\newcommand{\killtitle}{%
- \keepthetitle
- \global\let\thetitle\relax
- \global\let\theauthor\relax
- \global\let\thedate\relax}
-
-\addtoiargdef{\title}{%
- \begingroup\let\footnote\@gobble}{%
- \begingroup
- \renewcommand{\thanks}[1]{}
- \renewcommand{\thanksmark}[1]{}
- \renewcommand{\thanksgap}[1]{}
- \protected@xdef\thetitle{#1}
- \endgroup\endgroup}
-\addtoiargdef{\author}{%
- \begingroup\let\footnote\@gobble}{%
- \begingroup
- \renewcommand{\thanks}[1]{}
- \renewcommand{\and}{\unskip, }
- \renewcommand{\andnext}{\unskip, }
- \renewcommand{\thanksmark}[1]{}
- \renewcommand{\thanksgap}[1]{}
- \protected@xdef\theauthor{#1}
- \endgroup\endgroup}
-\addtoiargdef{\date}{%
- \begingroup\let\footnote\@gobble}{%
- \begingroup
- \renewcommand{\thanks}[1]{}
- \renewcommand{\thanksmark}[1]{}
- \renewcommand{\thanksgap}[1]{}
- \protected@xdef\thedate{#1}
- \endgroup\endgroup}
-
-\newcommand*{\bookpagemark}[1]{}
-\newcommand*{\partmark}[1]{}
-\newcommand*{\chaptermark}[1]{}
-
-\newcommand*{\bibmark}{}
-\newcommand*{\indexmark}{}
-\newcommand*{\glossarymark}{}
-
-\setcounter{secnumdepth}{2}
-\newcounter{book} \setcounter{book}{0}
-\newcounter{part} \setcounter{part}{0}
-\newcounter{chapter} \setcounter{chapter}{0}
-\newcounter{section}[chapter]
-\newcounter{subsection}[section]
-\newcounter{subsubsection}[subsection]
-\newcounter{paragraph}[subsubsection]
-\newcounter{subparagraph}[paragraph]
-\renewcommand*{\thebook}{\@Roman\c@book}
-\renewcommand*{\thepart}{\@Roman\c@part}
-\renewcommand*{\thechapter}{\@arabic\c@chapter}
+\renewcommand*{\memRTLleftskip}{\if@RTL\rightskip\else\leftskip\fi}
+\renewcommand*{\memRTLrightskip}{\if@RTL\leftskip\else\rightskip\fi}
+\renewcommand*{\memRTLvleftskip}{\if@RTL\vrightskip\else\vleftskip\fi}
+\renewcommand*{\memRTLvrightskip}{\if@RTL\vleftskip\else\vrightskip\fi}
+\renewcommand*{\memRTLraggedright}{\if@RTL\raggedleft\else\raggedright\fi}
+\renewcommand*{\memRTLraggedleft}{\if@RTL\raggedright\else\raggedleft\fi}
\renewcommand*{\thesection}{\thechapter\@SepMark\@arabic\c@section}
\renewcommand*{\thesubsection}{%
\thesection\@SepMark\@arabic\c@subsection}
@@ -6458,9390 +4465,14 @@ to\hsize{\beginR\hfil\box\@tempboxa\hfil%
\thesubsubsection\@SepMark\@arabic\c@paragraph}
\renewcommand*{\thesubparagraph}{%
\theparagraph\@SepMark\@arabic\c@subparagraph}
-\newcommand{\@chapapp}{\chaptername}
-
-\newcommand{\frontmatter}{%
- \@ifstar{\@smemfront}{\@memfront}}
-\newcommand{\@smemfront}{%
- \cleardoublepage
- \@mainmatterfalse
- \setcounter{secnumdepth}{-10}
- \counterwithout{figure}{chapter}
- \counterwithout{table}{chapter}
-}
-\newcommand{\@memfront}{%
- \@smemfront\pagenumbering{roman}}
-
-\newcommand{\mainmatter}{%
- \@ifstar{\@smemmain}{\@memmain}}
-\newcommand*{\@smemmain}{%
- \@mainmattertrue
- \setcounter{secnumdepth}{\value{maxsecnumdepth}}
- \ifartopt
- \if@twoside
- \cleardoublepage
- \else
- \clearpage
- \fi
- \else
- \cleardoublepage
- \counterwithin{figure}{chapter}
- \counterwithin{table}{chapter}
- \fi}
-\newcommand{\@memmain}{%
- \@smemmain\pagenumbering{arabic}}
-
-\newcommand{\backmatter}{%
- \ifartopt
- \clearpage
- \else
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
- \fi
- \@mainmatterfalse
- \setcounter{secnumdepth}{-10}
- \ifartopt\else
- \counterwithout{figure}{chapter}
- \counterwithout{table}{chapter}
- \setcounter{figure}{0}
- \setcounter{table}{0}
- \fi}
-
-\newcommand*{\theHbook}{\arabic{book}}
-\newcommand*{\toclevel@book}{-2}
-
-\newcommand*{\book}{%
- \@setupbook
- \secdef\@book\@sbook}
-\newcommand*{\beforebookskip}{\null\vfil}
-\newcommand*{\midbookskip}{\par\vskip 2\onelineskip}
-\newcommand*{\afterbookskip}{\vfil\newpage}
-
-\newcommand{\@setupbook}{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
- \thispagestyle{book}%
- \if@twocolumn
- \onecolumn
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \beforebookskip}
-
-\newcommand*{\booknamefont}{\normalfont\huge\bfseries}
-\newcommand*{\booknumfont}{\normalfont\huge\bfseries}
-\newcommand*{\booktitlefont}{\normalfont\Huge\bfseries}
-
-\newcommand*{\printbookname}{\booknamefont \bookname}
-\newcommand*{\booknamenum}{\space}
-\newcommand*{\printbooknum}{\booknumfont \thebook}
-\newcommand*{\printbooktitle}[1]{\booktitlefont #1}
-
-\newcommand{\membookinfo}[3]{}
-\newcommand{\membookstarinfo}[1]{}
-
-\long\def\@book[#1]#2{%
- \M@gettitle{#1}%
- \phantomsection
- \ifnum \c@secnumdepth >-3\relax
- \refstepcounter{book}%
- \addcontentsline{toc}{book}%
- {\protect\booknumberline{\thebook}#1}%
- \membookinfo{\thebook}{#1}{#2}%
- \else
- \addcontentsline{toc}{book}{#1}%
- \membookinfo{}{#1}{#2}%
- \fi
- \bookpagemark{#1}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \ifnum \c@secnumdepth >-3\relax
- \printbookname \booknamenum \printbooknum
- \midbookskip
- \fi
- \printbooktitle{#2}\par}%
- \@endbook}
-
-\long\def\@sbook#1{%
- \M@gettitle{#1}%
- \phantomsection
- \membookstarinfo{#1}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \printbooktitle{#1}\par}%
- \@endbook}
-
-\newif\ifm@mnobooknewpage
- \m@mnobooknewpagefalse
-\newcommand*{\bookblankpage}{\m@mnobooknewpagefalse}
-\newcommand*{\nobookblankpage}{\m@mnobooknewpagetrue}
-
-\def\@endbook{\afterbookskip
- \ifm@mnobooknewpage
- \else
- \if@twoside
- \if@openright
- \null
- \thispagestyle{afterbook}%
- \newpage
- \fi
- \fi
- \fi
- \if@tempswa
- \twocolumn
- \fi}
-
-\aliaspagestyle{book}{empty}
-\aliaspagestyle{afterbook}{empty}
-
-\newcommand{\part}{%
- \@setuppart
- \secdef\@part\@spart}
-\newcommand{\beforepartskip}{\null\vfil}
-\newcommand{\midpartskip}{\par\vskip 2\onelineskip}
-\newcommand{\afterpartskip}{\vfil\newpage}
-
-\newcommand{\@setuppart}{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
- \thispagestyle{part}%
- \if@twocolumn
- \onecolumn
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \beforepartskip}
-
-\newcommand{\partnamefont}{\normalfont\huge\bfseries}
-\newcommand{\partnumfont}{\normalfont\huge\bfseries}
-\newcommand{\parttitlefont}{\normalfont\Huge\bfseries}
-
-\newcommand{\printpartname}{\partnamefont \partname}
-\newcommand{\partnamenum}{\space}
-\newcommand{\printpartnum}{\partnumfont \thepart}
-\newcommand{\printparttitle}[1]{\parttitlefont #1}
-
-\newcommand{\mempartinfo}[3]{}
-\newcommand{\mempartstarinfo}[1]{}
-
-\long\def\@part[#1]#2{%
- \M@gettitle{#1}%
- \phantomsection
- \ifnum \c@secnumdepth >-2\relax
- \refstepcounter{part}%
- \addcontentsline{toc}{part}%
- {\protect\partnumberline{\thepart}#1}%
- \mempartinfo{\thepart}{#1}{#2}%
- \else
- \addcontentsline{toc}{part}{#1}%
- \mempartinfo{}{#1}{#2}%
- \fi
- \partmark{#1}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \ifnum \c@secnumdepth >-2\relax
- \printpartname \partnamenum \printpartnum
- \midpartskip
- \fi
- \printparttitle{#2}\par}%
- \@endpart}
-
-\long\def\@spart#1{%
- \M@gettitle{#1}%
- \phantomsection
- \mempartstarinfo{#1}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \printparttitle{#1}\par}%
- \@endpart}
-
-\newif\ifm@mnopartnewpage
- \m@mnopartnewpagefalse
-\newcommand*{\partblankpage}{\m@mnopartnewpagefalse}
-\newcommand*{\nopartblankpage}{\m@mnopartnewpagetrue}
-
-\def\@endpart{\afterpartskip
- \ifm@mnopartnewpage
- \else
- \if@twoside
- \if@openright
- \null
- \thispagestyle{afterpart}%
- \newpage
- \fi
- \fi
- \fi
- \if@tempswa
- \twocolumn
- \fi}
-
-\aliaspagestyle{afterpart}{empty}
-
-\newcommand\chapter{%
- \ifartopt\par\else
- \clearforchapter
- \thispagestyle{chapter}
- \global\@topnum\z@
- \fi
- \@afterindentfalse
- \@ifstar{\@m@mschapter}{\@m@mchapter}}
-
-\newcommand{\@m@mchapter}[1][]{%
- \def\ch@pt@c{#1}% capture first optional arg
- \@ifnextchar[{\@chapter}{\@chapter[]}%
-}
-\def\m@m@empty{\@empty}
-
-\newcommand{\memchapinfo}[4]{}
-\newcommand{\memchapstarinfo}[2]{}
-\newcommand{\memappchapinfo}[4]{}
-\newcommand{\memappchapstarinfo}[2]{}
-
-\newif\ifm@mpn@new@chap
- \m@mpn@new@chapfalse
-\newif\ifm@mpn@new@schap
- \m@mpn@new@schapfalse
-
-\def\@chapter[#1]#2{%
- \m@mpn@new@chaptrue
- \def\f@rbdy{#2}%
- \ifx\ch@pt@c\@empty % no optional args
- \def\f@rtoc{#2}%
- \def\f@rhdr{#2}%
- \else % at least one opt arg
- \let\f@rtoc\ch@pt@c
- \ifx\@empty#1\@empty
- \let\f@rhdr\ch@pt@c
- \else
- \def\f@rhdr{#1}%
- \fi
- \fi
- \m@m@Andfalse
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \m@m@Andtrue
- \fi
- \fi
- \ifm@m@And
- \refstepcounter{chapter}%
- \fi
- \ifartopt
- \@makechapterhead{#2}%
- \@afterheading
- \chaptermark{\f@rhdr}%
- \else
- \chaptermark{\f@rhdr}
- \insertchapterspace
- \if@twocolumn
- \@topnewpage[\@makechapterhead{#2}]%
- \else
- \@makechapterhead{#2}%
- \fi
- \@afterheading
- \fi
- \ifm@m@And
- \ifanappendix
- \addcontentsline{toc}{appendix}{%
- \protect\chapternumberline{\thechapter}\f@rtoc}%
- \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
- \else
- \addcontentsline{toc}{chapter}{%
- \protect\chapternumberline{\thechapter}\f@rtoc}%
- \memchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
- \fi
- \else
- \addcontentsline{toc}{chapter}{\f@rtoc}%
- \ifanappendix
- \memappchapinfo{}{\f@rtoc}{\f@rhdr}{#2}%
- \else
- \memchapinfo{}{\f@rtoc}{\f@rhdr}{#2}%
- \fi
- \fi
- \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi}
-
-\def\@makechapterhead#1{%
- \chapterheadstart% \vspace*{50\p@}%
- {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont
- \ifm@m@And
- \printchaptername \chapternamenum \printchapternum
- \afterchapternum % \par\nobreak \vskip 20\p@
- \else
- \printchapternonum
- \fi
- \interlinepenalty\@M
- \printchaptertitle{#1} % \Huge \bfseries #1
- \afterchaptertitle % \par\nobreak \vskip 40\p@
- }}
-
-\newcommand*{\insertchapterspace}{%
- \addtocontents{lof}{\protect\addvspace{10pt}}%
- \addtocontents{lot}{\protect\addvspace{10pt}}}
-
-\newlength{\beforechapskip}\setlength{\beforechapskip}{50pt}
-\newlength{\midchapskip}\setlength{\midchapskip}{20pt}
-\newlength{\afterchapskip}\setlength{\afterchapskip}{40pt}
-
-\newcommand{\@chs@def@ult}{%
- \def\chapterheadstart{\vspace*{\beforechapskip}}%
- \def\printchaptername{\chapnamefont \@chapapp}%
- \def\chapternamenum{\space}%
- \def\printchapternum{\chapnumfont \thechapter}%
- \def\afterchapternum{\par\nobreak\vskip \midchapskip}%
- \def\printchapternonum{}%
- \def\printchaptertitle##1{\chaptitlefont ##1}%
- \def\afterchaptertitle{\par\nobreak\vskip \afterchapskip}%
- \def\chapnamefont{\normalfont\huge\bfseries}%
- \def\chapnumfont{\normalfont\huge\bfseries}%
- \def\chaptitlefont{\normalfont\Huge\bfseries}%
- \setlength{\beforechapskip}{50pt}%
- \setlength{\midchapskip}{20pt}%
- \setlength{\afterchapskip}{40pt}}
-
-\newcommand{\@m@mschapter}[2][\@empty]{%
- \@schapter{#2}%
- \ifx \@empty#1
- \def\f@rhdr{#2}%
- \else% opt arg
- \def\f@rhdr{#1}%
- \setcounter{secnumdepth}{-10}%
- \chaptermark{#1}%
- \setcounter{secnumdepth}{\value{maxsecnumdepth}}%
- \fi
- \ifanappendix
- \memappchapstarinfo{\f@rhdr}{#2}%
- \else
- \memchapstarinfo{\f@rhdr}{#2}%
- \fi
- \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{#2}\fi}
-
-\newcommand{\@schapter}[1]{%
- \m@mpn@new@schaptrue
- \def\f@rbdy{#1}%
- \ifartopt
- \@makeschapterhead{#1}%
- \else
- \if@twocolumn
- \@topnewpage[\@makeschapterhead{#1}]%
- \else
- \@makeschapterhead{#1}%
- \fi
- \fi
- \@afterheading}
-
-\def\@makeschapterhead#1{%
- \chapterheadstart
- {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont
- \printchapternonum
- \interlinepenalty\@M
- \printchaptertitle{#1}%
- \afterchaptertitle}%
-}
-
-\newcommand{\makechapterstyle}[2]{\@namedef{chs@#1}{\@chs@def@ult #2}}
-\newcommand{\chapterstyle}[1]{\@nameuse{chs@#1}}
-
-\makechapterstyle{default}{}%
-%% \setlength{\beforechapskip}{50pt}
-%% \def\chapterheadstart{\vspace*{\beforechapskip}}
-%% \def\chapnamefont{\normalfont\huge\bfseries}
-%% \def\printchaptername{\chapnamefont \@chapapp}
-%% \def\chapternamenum{\space}
-%% \def\chapnumfont{\normalfont\huge\bfseries}
-%% \def\printchapternum{\chapnumfont \thechapter}
-%% \setlength{\midchapskip}{20pt}
-%% \def\afterchapternum{\par\nobreak\vskip \midchapskip}
-%% \def\printchapternonum{}
-%% \def\chaptitlefont{\normalfont\Huge\bfseries}
-%% \def\printchaptertitle##1{\chaptitlefont ##1}
-%% \setlength{\afterchapskip}{40pt}
-%% \def\afterchaptertitle{\par\nobreak\vskip \afterchapskip}}
-\chapterstyle{default}
-
-\makechapterstyle{section}{%
- \chapterstyle{default}
- \renewcommand{\printchaptername}{}
- \renewcommand{\chapternamenum}{}
- \renewcommand{\chapnumfont}{\normalfont\Huge\bfseries}
- \renewcommand{\printchapternum}{\chapnumfont \thechapter\space}
- \renewcommand{\afterchapternum}{}}
-
-\makechapterstyle{article}{%
- \chapterstyle{default}
- \setlength{\beforechapskip}{3.5ex \@plus 1ex \@minus .2ex}
- \renewcommand*{\chapterheadstart}{\vspace{\beforechapskip}}
- \setlength{\afterchapskip}{2.3ex \@plus .2ex}
- \renewcommand{\printchaptername}{}
- \renewcommand{\chapternamenum}{}
- \renewcommand{\chaptitlefont}{\normalfont\Large\bfseries}
- \renewcommand{\chapnumfont}{\chaptitlefont}
- \renewcommand{\printchapternum}{\chapnumfont \thechapter\quad}
- \renewcommand{\afterchapternum}{}}
-
-\makechapterstyle{reparticle}{%
- \chapterstyle{default}
- \setlength{\beforechapskip}{3.5ex \@plus 1ex \@minus .2ex}
- \renewcommand*{\chapterheadstart}{\vspace{\beforechapskip}}
- \setlength{\afterchapskip}{2.3ex \@plus .2ex}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\chaptitlefont}{\normalfont\Large\bfseries}
- \renewcommand*{\chapnumfont}{\chaptitlefont}
- \renewcommand*{\printchapternum}{\@hangfrom{\chapnumfont \thechapter\quad}}%
- \renewcommand*{\afterchapternum}{}}
-
-\newcommand*{\reparticle}{%
- \chapterstyle{reparticle}
- \setsecheadstyle{\normalfont\large\bfseries\if@RTL\raggedleft\else\raggedright\fi}
- \setsubsecheadstyle{\normalfont\bfseries\if@RTL\raggedleft\else\raggedright\fi}}
-
-\makechapterstyle{hangnum}{%
- \chapterstyle{default}
- \renewcommand*{\chapnumfont}{\chaptitlefont}
- \settowidth{\chapindent}{\chapnumfont 999}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\printchapternum}{%
- \noindent\llap{\makebox[\chapindent][l]{\chapnumfont \thechapter}}}
- \renewcommand*{\afterchapternum}{}}
-
-\newlength{\chapindent}
-
-\makechapterstyle{companion}{%
- \chapterstyle{default}
- \renewcommand*{\chapnamefont}{\normalfont\LARGE\scshape}
- \renewcommand*{\printchaptername}{\raggedleft\chapnamefont \@chapapp}
- \renewcommand*{\chapnumfont}{\normalfont\Huge}
- \setlength{\chapindent}{\marginparsep}
- \addtolength{\chapindent}{\marginparwidth}
- \renewcommand*{\printchaptertitle}[1]{%
- \begin{adjustwidth}{}{-\chapindent}
- \raggedleft \chaptitlefont ##1\par\nobreak
- \end{adjustwidth}}}
-
-\makechapterstyle{demo}{%
- \chapterstyle{default}
- \renewcommand*{\printchaptername}{\centering}
- \renewcommand*{\printchapternum}{\chapnumfont \numtoName{\c@chapter}}
- \renewcommand*{\chaptitlefont}{\normalfont\Huge\sffamily}
- \renewcommand*{\printchaptertitle}[1]{%
- \hrule\vskip\onelineskip \raggedleft \chaptitlefont ##1}
- \renewcommand*{\afterchaptertitle}%
- {\vskip\onelineskip \hrule\vskip \afterchapskip}}
-
-\makechapterstyle{bianchi}{%
- \chapterstyle{default}
- \renewcommand*{\chapnamefont}{\normalfont\Large\sffamily\itshape}
- \renewcommand*{\chapnumfont}{\normalfont\huge}
- \renewcommand*{\printchaptername}{%
- \chapnamefont\centering\@chapapp}
- \renewcommand*{\printchapternum}{\chapnumfont \textit{\thechapter}}
- \renewcommand*{\chaptitlefont}{\normalfont\Huge\sffamily}
- \renewcommand*{\printchaptertitle}[1]{%
- \hrule\vskip\onelineskip \centering \chaptitlefont\textbf{##1}\par}
- \renewcommand*{\afterchaptertitle}{\vskip\onelineskip \hrule\vskip
- \afterchapskip}
- \renewcommand*{\printchapternonum}{%
- \vphantom{\chapnumfont \textit{9}}\afterchapternum}}
-
-\makechapterstyle{bringhurst}{%
- \chapterstyle{default}
- \renewcommand*{\chapterheadstart}{}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\printchapternum}{}
- \renewcommand*{\afterchapternum}{}
- \renewcommand*{\printchaptertitle}[1]{%
- \if@RTL\raggedleft\else\raggedright\fi\Large\scshape\MakeLowercase{##1}}
- \renewcommand*{\afterchaptertitle}{%
- \vskip\onelineskip \hrule\vskip\onelineskip}}
-
-\makechapterstyle{brotherton}{%
- \chapterstyle{default}
- \renewcommand*{\printchapternum}{\chapnumfont
- \ifanappendix \thechapter \else \numtoName{\c@chapter}\fi}}
-
-\makechapterstyle{chappell}{%
- \chapterstyle{default}
- \setlength{\beforechapskip}{0pt}
- \renewcommand*{\chapnamefont}{\large\centering}
- \renewcommand*{\chapnumfont}{\large}
- \renewcommand*{\printchapternonum}{%
- \vphantom{\printchaptername \chapnumfont 1}
- \afterchapternum
- \vskip \onelineskip \vskip -\topskip}
- \renewcommand*{\chaptitlefont}{\Large\itshape}
- \renewcommand*{\printchaptertitle}[1]{%
- \hrule\vskip\onelineskip \centering\chaptitlefont ##1}}
-
-\makechapterstyle{culver}{%
- \chapterstyle{default}
- \chapterstyle{article}%
- \renewcommand*{\thechapter}{\Roman{chapter}}
- \renewcommand*{\printchapternum}{% center number/title
- \centering\chapnumfont \thechapter\space\space}%
- \renewcommand*{\printchapternonum}{\centering}
- \renewcommand*{\clearforchapter}{}% no new page
- \aliaspagestyle{chapter}{headings}}% no special pagestyle
-
-\makechapterstyle{dash}{%
- \chapterstyle{default}
- \setlength{\beforechapskip}{5\onelineskip}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\chapnumfont}{\normalfont\large}
- \settoheight{\midchapskip}{\chapnumfont 1}
- \renewcommand*{\printchapternum}{\centering \chapnumfont
- \rule[0.5\midchapskip]{1em}{0.4pt} \thechapter\
- \rule[0.5\midchapskip]{1em}{0.4pt}}
- \renewcommand*{\afterchapternum}{\par\nobreak\vskip 0.5\onelineskip}
- \renewcommand*{\printchapternonum}{\centering
- \vphantom{\chapnumfont 1}\afterchapternum}
- \renewcommand*{\chaptitlefont}{\normalfont\Large}
- \renewcommand*{\printchaptertitle}[1]{\centering \chaptitlefont ##1}
- \setlength{\afterchapskip}{2.5\onelineskip}}
-
-\makechapterstyle{demo2}{%
- \chapterstyle{default}
- \renewcommand*{\printchaptername}{\centering}
- \renewcommand*{\printchapternum}{\chapnumfont
- \ifanappendix \thechapter \else \numtoName{\c@chapter}\fi}
- \renewcommand*{\chaptitlefont}{\normalfont\Huge\sffamily}
- \renewcommand*{\printchaptertitle}[1]{%
- \hrule\vskip\onelineskip \raggedleft \chaptitlefont ##1}
- \renewcommand*{\afterchaptertitle}{%
- \vskip\onelineskip \hrule\vskip \afterchapskip}
- \setlength{\beforechapskip}{3\baselineskip}
- \renewcommand*{\printchapternonum}{%
- \vphantom{\chapnumfont One}
- \afterchapternum%
- \vskip\topskip}
- \setlength{\beforechapskip}{2\onelineskip}}
-
-\makechapterstyle{demo3}{%
- \chapterstyle{default}
- \renewcommand*{\printchaptername}{\centering}
- \renewcommand*{\chapnumfont}{\normalfont\HUGE\itshape}
- \renewcommand*{\printchapternum}{\chapnumfont
- \ifanappendix \thechapter \else \numtoName{\c@chapter}\fi}
- \renewcommand*{\chaptitlefont}{\normalfont\Huge\sffamily}
- \renewcommand*{\printchaptertitle}[1]{%
- \hrule\vskip\onelineskip \raggedleft \chaptitlefont ##1}
- \renewcommand*{\afterchaptertitle}{%
- \vskip\onelineskip \hrule\vskip \afterchapskip}
- \setlength{\beforechapskip}{0pt}
- \setlength{\midchapskip}{2\onelineskip}
- \setlength{\afterchapskip}{2\onelineskip}
- \renewcommand*{\printchapternonum}{%
- \vphantom{\chapnumfont One}
- \afterchapternum%
- \vskip\topskip}}
-
-\makechapterstyle{ell}{%
- \chapterstyle{default}
- \renewcommand*{\chapnumfont}{\normalfont\HUGE\sffamily}
- \renewcommand*{\chaptitlefont}{\normalfont\huge\sffamily}
- \settowidth{\chapindent}{\chapnumfont 111}
- \renewcommand*{\chapterheadstart}{\begingroup
- \vspace*{\beforechapskip}%
- \begin{adjustwidth}{}{-\chapindent}%
- \hrulefill
- \smash{\rule{0.4pt}{15mm}}
- \end{adjustwidth}\endgroup}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\printchapternum}{%
- \begin{adjustwidth}{}{-\chapindent}
- \hfill
- \raisebox{10mm}[0pt][0pt]{\chapnumfont \thechapter}%
- \hspace*{1em}
- \end{adjustwidth}\vspace*{-3.0\onelineskip}}
- \renewcommand*{\printchaptertitle}[1]{%
- \vskip\onelineskip
- \raggedleft {\chaptitlefont ##1}\par\nobreak}}
-
-\makechapterstyle{ger}{%
- \chapterstyle{default}
- \renewcommand*{\chapterheadstart}{\vspace*{\beforechapskip}
- \mbox{}\\\mbox{}\rule[0pt]{\textwidth}{0.4pt}\par}
- \setlength{\midchapskip}{20pt}
- \renewcommand*{\printchaptertitle}[1]{\chaptitlefont ##1
- \\\mbox{}\rule[5pt]{\textwidth}{0.4pt}}}
-
-\makechapterstyle{lyhne}{% needs graphicx package
- \chapterstyle{default}
- \setlength{\beforechapskip}{1.5cm}
- \setlength{\afterchapskip}{1cm}
- \setlength{\midchapskip}{2cm}
- \renewcommand*{\chapnamefont}{\normalfont\normalsize\scshape\raggedleft}
- \renewcommand*{\chaptitlefont}{\normalfont\normalsize\bfseries\sffamily\raggedleft}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\printchapternum}{\makebox[0pt][l]{\hspace{0.2em}%
- \resizebox{!}{2ex}{\chapnamefont\bfseries\sffamily\thechapter}}}
- \renewcommand*{\afterchapternum}{\par\hspace{1.5cm}\hrule\vspace{0.2cm}}
- \renewcommand*{\printchapternonum}{\vphantom{\chapnamefont 1}\afterchapternum}
- \renewcommand*{\afterchaptertitle}{\vskip 0.2cm
- \hrule\vskip\afterchapskip}}
-
-\makechapterstyle{madsen}{% requires graphicx package
- \chapterstyle{default}
- \renewcommand*{\chapnamefont}{%
- \normalfont\Large\scshape\raggedleft}
- \renewcommand*{\chaptitlefont}{%
- \normalfont\Huge\bfseries\sffamily\raggedleft}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\printchapternum}{%
- \makebox[0pt][l]{\hspace{0.4em}
- \resizebox{!}{4ex}{%
- \chapnamefont\bfseries\sffamily\thechapter}
- }%
- }%
- \renewcommand*{\afterchapternum}{%
- \par\hspace{1.5cm}\hrule\vskip\midchapskip}}
-
-\newcommand*{\colorchapnum}{}
-\newcommand*{\colorchaptitle}{}
-\makechapterstyle{pedersen}{%
- \chapterstyle{default}
- \setlength{\beforechapskip}{-20pt}
- \setlength{\afterchapskip}{10pt}
- \renewcommand*{\chapnamefont}{\normalfont\LARGE\itshape}
- \renewcommand*{\chapnumfont}{\normalfont\HUGE\itshape\colorchapnum}
- \renewcommand*{\chaptitlefont}{\normalfont\huge\itshape\colorchaptitle}
- \renewcommand*{\afterchapternum}{}
- \renewcommand*{\printchaptername}{}
- \setlength{\midchapskip}{20mm}% was \numberheight
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\printchapternum}{%
- \sidebar{\raisebox{0pt}[0pt][0pt]{\makebox[0pt][l]{%
- \resizebox{!}{\midchapskip}{\chapnumfont\thechapter}}}}}
- \renewcommand*{\printchaptertitle}[1]{\chaptitlefont ##1}}
-
-%% Thomas Dye's southall chapter style
-\makechapterstyle{southall}{%
- \chapterstyle{default}
- \setlength{\afterchapskip}{5\baselineskip}
- \setlength{\beforechapskip}{36pt}% \headindent
- \setlength{\midchapskip}{\textwidth}% \rightblock
- \addtolength{\midchapskip}{-\beforechapskip}
- \renewcommand*{\chapterheadstart}{\vspace*{2\baselineskip}}
- \renewcommand*{\chaptitlefont}{\huge\rmfamily\if@RTL\raggedleft\else\raggedright\fi}
- \renewcommand*{\chapnumfont}{\chaptitlefont}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\afterchapternum}{}
- \renewcommand*{\printchapternum}{%
- \begin{minipage}[t][\baselineskip][b]{\beforechapskip}
- {\vspace{0pt}\chapnumfont%%%\figureversion{lining}
- \thechapter}
- \end{minipage}}
- \renewcommand*{\printchaptertitle}[1]{%
- \hfill\begin{minipage}[t]{\midchapskip}
- {\vspace{0pt}\chaptitlefont ##1\par}\end{minipage}}
- \renewcommand*{\afterchaptertitle}{%
- \par\vspace{\baselineskip}%
- \hrulefill \par\nobreak\noindent \vskip \afterchapskip}}
-
-\makechapterstyle{thatcher}{%
- \chapterstyle{default}
- \renewcommand*{\chapterheadstart}{}
- \renewcommand*{\printchaptername}{%
- \centerline{\chapnumfont{\@chapapp\ \thechapter}}}
- \renewcommand*{\chapternamenum}{}
- \renewcommand*{\chapnumfont}{\normalfont\scshape\MakeLowercase}
- \renewcommand*{\printchapternum}{}
- \renewcommand*{\afterchapternum}{%
- \par\centerline{\parbox{0.5in}{\hrulefill}}\par}
- \renewcommand*{\printchapternonum}{%
- \vphantom{\chapnumfont \@chapapp 1}\par
- \parbox{0.5in}{}\par}
- \renewcommand*{\chaptitlefont}{\normalfont\large}
- \renewcommand*{\printchaptertitle}[1]{%
- \centering \chaptitlefont\MakeUppercase{##1}}}
-
-\makechapterstyle{veelo}{%
- \setlength{\afterchapskip}{40pt}
- \renewcommand*{\chapterheadstart}{\vspace*{40pt}}
- \renewcommand*{\afterchapternum}{\par\nobreak\vskip 25pt}
- \renewcommand*{\chapnamefont}{\normalfont\LARGE\flushright}
- \renewcommand*{\chapnumfont}{\normalfont\HUGE}
- \renewcommand*{\chaptitlefont}{\normalfont\HUGE\bfseries\flushright}
- \renewcommand*{\printchaptername}{%
- \chapnamefont\MakeUppercase{\@chapapp}}
- \renewcommand*{\chapternamenum}{}
- \setlength{\beforechapskip}{18mm}% \numberheight
- \setlength{\midchapskip}{\paperwidth}% \barlength
- \addtolength{\midchapskip}{-\textwidth}
- \addtolength{\midchapskip}{-\spinemargin}
- \renewcommand*{\printchapternum}{%
- \makebox[0pt][l]{%
- \hspace{.8em}%
- \resizebox{!}{\beforechapskip}{\chapnumfont \thechapter}%
- \hspace{.8em}%
- \rule{\midchapskip}{\beforechapskip}%
- }%
- }%
- \makeoddfoot{plain}{}{}{\thepage}}
-
-\makechapterstyle{verville}{%
- % \chapterstyle{default}
- \setlength{\beforechapskip}{0pt}
- \renewcommand*{\printchaptername}{}
- \renewcommand*{\printchapternum}{%
- \hrule \vskip 0.5\onelineskip
- \Huge \centering \thechapter.\ }
- \renewcommand*{\printchapternonum}{%
- \hrule \vskip 0.5\onelineskip
- \Huge \centering}
- \renewcommand*{\afterchapternum}{}
- \setlength{\midchapskip}{0pt}
- \renewcommand*{\printchaptertitle}[1]{%
- ##1 \par
- \vskip 0.5\onelineskip
- \hrule}}
-
-\makechapterstyle{crosshead}{%
- \setlength{\beforechapskip}{2\onelineskip}%
- \renewcommand*{\chapterheadstart}{\vspace{\beforechapskip}}%
- \setlength{\afterchapskip}{2\onelineskip \@plus .2\onelineskip
- \@minus 0.2\onelineskip}%
- \renewcommand*{\printchaptername}{}%
- \renewcommand*{\chapternamenum}{}%
- \renewcommand*{\chapnumfont}{\normalfont\LARGE\bfseries}%
- \renewcommand*{\chaptitlefont}{\chapnumfont}%
- \renewcommand*{\printchapternum}{%
- \centering\chapnumfont \thechapter\quad}%
- \renewcommand{\afterchapternum}{}%
- \renewcommand*{\printchapternonum}{\centering}}
-
-\makechapterstyle{dowding}{%
- \setlength{\beforechapskip}{2\onelineskip}%
- \setlength{\afterchapskip}{1.5\onelineskip \@plus .1\onelineskip
- \@minus 0.167\onelineskip}%
- \renewcommand*{\chapnamefont}{\normalfont}%
- \renewcommand*{\chapnumfont}{\chapnamefont}%
- \renewcommand*{\printchapternum}{\centering\chapnumfont \ifanappendix \thechapter
- \else \numtoName{\c@chapter}\fi}%
- \renewcommand*{\chaptitlefont}{\normalfont\itshape\huge\centering}%
- \renewcommand*{\printchapternonum}{%
- \vphantom{\printchaptername}\vskip\midchapskip}}
-
-\makechapterstyle{komalike}{%
- \setlength{\beforechapskip}{2\onelineskip}%
- \setlength{\afterchapskip}{1.5\onelineskip \@plus .1\onelineskip
- \@minus 0.167\onelineskip}%
- \renewcommand*{\printchaptername}{}%
- \renewcommand*{\chapternamenum}{}%
- \renewcommand*{\chapnumfont}{\normalfont\LARGE\sffamily\bfseries}%
- \renewcommand*{\printchapternum}{\chapnumfont \thechapter\space}%
- \renewcommand*{\afterchapternum}{}%
- \renewcommand*{\chaptitlefont}{\normalfont\LARGE\sffamily\bfseries}}
-
-\makechapterstyle{ntglike}{%
- \setlength{\beforechapskip}{50pt \@plus 20pt}%
- \renewcommand*{\chapnamefont}{\normalfont\Large\bfseries}%
- \renewcommand*{\chapnumfont}{\normalfont\Large\bfseries}%
- \renewcommand*{\chaptitlefont}{\normalfont\Large\bfseries}}
-
-\makechapterstyle{tandh}{%
- \setlength{\beforechapskip}{1\onelineskip}%
- \setlength{\afterchapskip}{2\onelineskip \@plus .1\onelineskip
- \@minus 0.167\onelineskip}%
- \renewcommand*{\printchaptername}{}%
- \renewcommand*{\chapternamenum}{}%
- \renewcommand*{\chapnumfont}{\normalfont\huge\bfseries}%
- \renewcommand*{\printchapternum}{\chapnumfont \thechapter\quad}%
- \renewcommand*{\afterchapternum}{}%
- \renewcommand*{\chaptitlefont}{\chapnumfont\if@RTL\raggedleft\else\raggedright\fi}}
-
-\makechapterstyle{wilsondob}{%
- \setlength{\beforechapskip}{2\onelineskip}%
- \setlength{\afterchapskip}{4\onelineskip \@plus .1\onelineskip
- \@minus 0.167\onelineskip}%
- \renewcommand*{\printchaptername}{}%
- \renewcommand*{\chapternamenum}{}%
- \renewcommand*{\chapnumfont}{\normalfont\Huge\itshape}%
- \renewcommand*{\printchapternum}{\raggedleft\chapnumfont \thechapter\quad}%
- \renewcommand*{\afterchapternum}{}%
- \renewcommand*{\chaptitlefont}{\chapnumfont}%
- \renewcommand*{\printchapternonum}{\raggedleft}}
-
-\newif\ifraggedbottomsection
- \raggedbottomsectionfalse
-\newcommand*{\raggedbottomsection}{\raggedbottomsectiontrue}
-\newcommand*{\normalbottomsection}{\raggedbottomsectionfalse}
-
-\newlength{\bottomsectionskip}
- \setlength{\bottomsectionskip}{10mm}
-
-\newcommand{\@trplargomm}[1]{%
- \@ifnextchar[{\@xtrplargomm{#1}}%
- {\@xxtrplarg{#1}}}
-\long\def\@xtrplargomm#1[#2]{\@dblarg{#1[#2]}}
-\newcommand{\@xxtrplarg}[2]{#1[{#2}][{#2}]{#2}}
-\newcommand{\@trplargoom}[1]{%
- \@ifnextchar[{\@xtrplargoom{#1}}%
- {\@xxtrplarg{#1}}}
-\long\def\@xtrplargoom#1[#2]{%
- \@ifnextchar[{#1[{#2}]}%
- {#1[{#2}][{#2}]}}
-
-\newcommand{\memsecinfo}[5]{}
-\newcommand{\memsecstarinfo}[2]{}
-
-\renewcommand{\@startsection}[6]{%
- \ifraggedbottomsection\if@nobreak\else
- \vskip\z@\@plus\bottomsectionskip
- \penalty\z@
- \vskip\z@\@plus -\bottomsectionskip
- \fi\fi
- \def\m@msecn@me{#1}%
- \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
- {\@ssect{#3}{#4}{#5}{#6}}%
- {\@trplargoom{\M@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
-
-\def\M@sect#1#2#3#4#5#6[#7][#8]#9{%
- \ifheadnameref\M@gettitle{#8}\else\M@gettitle{#7}\fi
- \ifnum #2>\c@secnumdepth
- \let\@svsec\@empty
- \memsecinfo{#1}{}{#7}{#8}{#9}%
- \else
- \refstepcounter{#1}%
- \protected@edef\@svsec{\@seccntformat{#1}\relax}%
- \memsecinfo{#1}{\@nameuse{the#1}}{#7}{#8}{#9}%
- \fi
- \@tempskipa #5\relax
- \ifdim \@tempskipa>\z@
- \begingroup
- #6{%
- \@hangfrom{\hskip #3\relax\@svsec}%
- \interlinepenalty \@M #9\@@par}%
- \endgroup
- \csname #1mark\endcsname{#8}%
- \addcontentsline{toc}{#1}{%
- \ifnum #2>\c@secnumdepth \else
- \protect\numberline{\csname the#1\endcsname}%
- \fi
- #7}%
- \else
- \def\@svsechd{%
- #6{\hskip #3\relax
- \@svsec #9}%
- \csname #1mark\endcsname{#8}%
- \addcontentsline{toc}{#1}{%
- \ifnum #2>\c@secnumdepth \else
- \protect\numberline{\csname the#1\endcsname}%
- \fi
- #7}}%
- \fi
- \@xsect{#5}}
-
-\let\@mem@old@ssect\@ssect
-\def\@ssect#1#2#3#4#5{%
- \M@gettitle{#5}%
- \memsecstarinfo{\m@msecn@me}{#5}%
- \@mem@old@ssect{#1}{#2}{#3}{#4}{#5}}
-
-\newcommand{\section}{%
- \sechook%
- \@startsection{section}{1}% level 1
- {\secindent}% heading indent
- {\beforesecskip}% skip before the heading
- {\aftersecskip}% skip after the heading
- {\normalfont\secheadstyle}} % font
-\newcommand{\sechook}{}
-\newcommand{\setsechook}[1]{\renewcommand{\sechook}{#1}}
-\newlength{\secindent}
-\newcommand{\setsecindent}[1]{\setlength{\secindent}{#1}}
- \setsecindent{\z@}
-\newskip\beforesecskip
-\newcommand{\setbeforesecskip}[1]{\setlength{\beforesecskip}{#1}}
- \setbeforesecskip{-3.5ex \@plus -1ex \@minus -.2ex}
-\newskip\aftersecskip
-\newcommand{\setaftersecskip}[1]{\setlength{\aftersecskip}{#1}}
- \setaftersecskip{2.3ex \@plus .2ex}
-\newcommand{\secheadstyle}{}
-\newcommand{\setsecheadstyle}[1]{\renewcommand{\secheadstyle}{#1}}
- \setsecheadstyle{\Large\bfseries\if@RTL\raggedleft\else\raggedright\fi}
-
-\newcommand{\subsection}{%
- \subsechook%
- \@startsection{subsection}{2}% level 2
- {\subsecindent}% heading indent
- {\beforesubsecskip}% skip before the heading
- {\aftersubsecskip}% skip after the heading
- {\normalfont\subsecheadstyle}} % font
-\newcommand{\subsechook}{}
-\newcommand{\setsubsechook}[1]{\renewcommand{\subsechook}{#1}}
-\newlength{\subsecindent}
-\newcommand{\setsubsecindent}[1]{\setlength{\subsecindent}{#1}}
- \setsubsecindent{\z@}
-\newskip\beforesubsecskip
-\newcommand{\setbeforesubsecskip}[1]{\setlength{\beforesubsecskip}{#1}}
- \setbeforesubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}
-\newskip\aftersubsecskip
-\newcommand{\setaftersubsecskip}[1]{\setlength{\aftersubsecskip}{#1}}
- \setaftersubsecskip{1.5ex \@plus .2ex}
-\newcommand{\subsecheadstyle}{}
-\newcommand{\setsubsecheadstyle}[1]{\renewcommand{\subsecheadstyle}{#1}}
- \setsubsecheadstyle{\large\bfseries\if@RTL\raggedleft\else\raggedright\fi}
-
-\newcommand{\subsubsection}{%
- \subsubsechook%
- \@startsection{subsubsection}{3}% level 3
- {\subsubsecindent}% heading indent
- {\beforesubsubsecskip}% skip before the heading
- {\aftersubsubsecskip}% skip after the heading
- {\normalfont\subsubsecheadstyle}} % font
-\newcommand{\subsubsechook}{}
-\newcommand{\setsubsubsechook}[1]{\renewcommand{\subsubsechook}{#1}}
-\newlength{\subsubsecindent}
-\newcommand{\setsubsubsecindent}[1]{%
- \setlength{\subsubsecindent}{#1}}
- \setsubsubsecindent{\z@}
-\newskip\beforesubsubsecskip
-\newcommand{\setbeforesubsubsecskip}[1]{%
- \setlength{\beforesubsubsecskip}{#1}}
- \setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}
-\newskip\aftersubsubsecskip
-\newcommand{\setaftersubsubsecskip}[1]{%
- \setlength{\aftersubsubsecskip}{#1}}
- \setaftersubsubsecskip{1.5ex \@plus .2ex}
-\newcommand{\subsubsecheadstyle}{}
-\newcommand{\setsubsubsecheadstyle}[1]{%
- \renewcommand{\subsubsecheadstyle}{#1}}
- \setsubsubsecheadstyle{\normalsize\bfseries\if@RTL\raggedleft\else\raggedright\fi}
-
-\newcommand{\paragraph}{%
- \parahook%
- \@startsection{paragraph}{4}% level 4
- {\paraindent}% heading indent
- {\beforeparaskip}% skip before the heading
- {\afterparaskip}% skip after the heading
- {\normalfont\paraheadstyle}} % font
-\newcommand{\parahook}{}
-\newcommand{\setparahook}[1]{\renewcommand{\parahook}{#1}}
-\newlength{\paraindent}
-\newcommand{\setparaindent}[1]{\setlength{\paraindent}{#1}}
- \setparaindent{\z@}
-\newskip\beforeparaskip
-\newcommand{\setbeforeparaskip}[1]{\setlength{\beforeparaskip}{#1}}
- \setbeforeparaskip{3.25ex \@plus 1ex \@minus .2ex}
-\newskip\afterparaskip
-\newcommand{\setafterparaskip}[1]{\setlength{\afterparaskip}{#1}}
- \setafterparaskip{-1em}
-\newcommand{\paraheadstyle}{}
-\newcommand{\setparaheadstyle}[1]{\renewcommand{\paraheadstyle}{#1}}
- \setparaheadstyle{\normalsize\bfseries}
-
-\newcommand{\subparagraph}{%
- \subparahook%
- \@startsection{subparagraph}{5}% level 5
- {\subparaindent}% heading indent
- {\beforesubparaskip}% skip before the heading
- {\aftersubparaskip}% skip after the heading
- {\normalfont\subparaheadstyle}} % font
-\newcommand{\subparahook}{}
-\newcommand{\setsubparahook}[1]{\renewcommand{\subparahook}{#1}}
-\newlength{\subparaindent}
-\newcommand{\setsubparaindent}[1]{%
- \setlength{\subparaindent}{#1}}
- \setsubparaindent{\parindent}
-\newskip\beforesubparaskip
-\newcommand{\setbeforesubparaskip}[1]{%
- \setlength{\beforesubparaskip}{#1}}
- \setbeforesubparaskip{3.25ex \@plus 1ex \@minus .2ex}
-\newskip\aftersubparaskip
-\newcommand{\setaftersubparaskip}[1]{%
- \setlength{\aftersubparaskip}{#1}}
- \setaftersubparaskip{-1em}
-\newcommand{\subparaheadstyle}{}
-\newcommand{\setsubparaheadstyle}[1]{%
- \renewcommand{\subparaheadstyle}{#1}}
- \setsubparaheadstyle{\normalsize\bfseries}
-
-\newcommand{\sethangfrom}[1]{\renewcommand{\@hangfrom}[1]{#1}}
-\newcommand{\setsecnumformat}[1]{\renewcommand{\@seccntformat}[1]{#1}}
-\newcommand{\hangsecnum}{%
- \def\@seccntformat##1{\llap{\csname the##1\endcsname\quad}}}
-\newcommand{\defaultsecnum}{%
- \def\@seccntformat##1{\csname the##1\endcsname\quad}}
-
-\newcommand{\plainbreak}{\@ifstar{\@spbreak}{\@pbreak}}
-\newcommand*{\@pbreak}[1]{\par
- \penalty -100
- \vskip #1\onelineskip \@plus 2\onelineskip
- \penalty -20
- \vskip \z@ \@plus -2\onelineskip
- \@afterindentfalse
- \@afterheading}
-\newcommand*{\@spbreak}[1]{\par
- \penalty -100
- \vskip #1\onelineskip \@plus 2\onelineskip
- \penalty -20
- \vskip \z@ \@plus -2\onelineskip
- \@afterindenttrue
- \@afterheading}
-
-\newcommand{\fancybreak}{\@ifstar{\@sfbreak}{\@fbreak}}
-\newcommand{\@fbreak}[1]{\par
- \penalty -100
- \noindent\parbox{\linewidth}{\centering #1}%%\null
- \par
-%% \penalty -20
-%% \vskip -\onelineskip
- \@afterindentfalse
- \@afterheading}
-\newcommand{\@sfbreak}[1]{\par
- \penalty -100
- \noindent\parbox{\linewidth}{\centering #1}%%\null
- \par
-%% \penalty -20
-%% \vskip -\onelineskip
- \@afterindenttrue
- \@afterheading}
-
-\newcommand{\plainfancybreak}{\@ifstar{\@spfbreak}{\@pfbreak}}
-\newcommand{\@pfbreak}[3]{\par
- \@tempdimc\pagegoal \advance\@tempdimc-\pagetotal
- \ifdim #1>\@tempdimc \@fbreak{#3}\else \@pbreak{#2}\fi}
-\newcommand{\@spfbreak}[3]{\par
- \@tempdimc\pagegoal \advance\@tempdimc-\pagetotal
- \ifdim #1>\@tempdimc \@sfbreak{#3}\else \@spbreak{#2}\fi}
-
-\newcommand*{\pen@ltyabovepfbreak}{2}
-\newcommand*{\pen@ltybelowpfbreak}{-4}
-
-\newlength{\pfbreakskip}
- \setlength{\pfbreakskip}{2\baselineskip}
-\newcommand{\pfbreakdisplay}{*\quad*\quad*}
-
-\def\pfbre@kdispl@y{\vbox to 1\pfbreakskip{\vss
- \hb@xt@ \columnwidth{\hss \pfbreakdisplay \hss}%
- \vss}}
-
-\edef\nopfbreakOutput{\the\output}
-\def\pfbreakOutput{%
- \ifnum\outputpenalty=\pen@ltyabovepfbreak
- \nopfbreakOutput
- \pfbre@kdispl@y
- \nobreak
- \vskip-\pfbreakskip
- \else\ifnum\outputpenalty=\pen@ltybelowpfbreak
- \unvbox 255\relax
- \nobreak
- \vskip-\pfbreakskip
- \pfbre@kdispl@y
- \break
- \else
- \nopfbreakOutput
- \fi
- \fi}
-\output={\pfbreakOutput}
-
-\newcommand{\pfbreak}{\@ifstar{\@spfbreakgap}{\@pfbreakgap}}
-\newcommand{\@pfbreakgap}{%
- \par {%
- \skip@\lastskip
- \nobreak
- \vskip -\ifdim\prevdepth>\maxdepth \maxdepth
- \else\ifdim\prevdepth>-1000pt\prevdepth
- \else\ifinner 0pt
- \else \pagedepth
- \fi \fi \fi
- \vskip -\skip@
- \ifdim\skip@<\pfbreakskip
- \advance\skip@ -1\skip@ \advance\skip@ 1\pfbreakskip
- \fi
- \penalty\pen@ltyabovepfbreak
- \vskip\skip@
- \penalty\pen@ltybelowpfbreak
- }
- \@afterindentfalse
- \@afterheading
-}
-\newcommand{\@spfbreakgap}{%
- \par {%
- \skip@\lastskip
- \nobreak
- \vskip -\ifdim\prevdepth>\maxdepth \maxdepth
- \else\ifdim\prevdepth>-1000pt\prevdepth
- \else\ifinner 0pt
- \else \pagedepth
- \fi \fi \fi
- \vskip -\skip@
- \ifdim\skip@<\pfbreakskip
- \advance\skip@ -1\skip@ \advance\skip@ 1\pfbreakskip
- \fi
- \penalty\pen@ltyabovepfbreak
- \vskip\skip@
- \penalty\pen@ltybelowpfbreak
- }
- \@afterindenttrue
- \@afterheading
-}
-
-\newcommand*{\noprelistbreak}{\@nobreaktrue\nopagebreak}
-
-\newcommand{\makeheadstyles}[2]{%
- \@namedef{hds@#1}{\@hds@def@ult #2}}
-\newcommand*{\headstyles}[1]{\@nameuse{hds@#1}}
-\newcommand*{\@hds@def@ult}{%
- \renewcommand*{\beforebookskip}{\null\vfil}%
- \renewcommand*{\midbookskip}{\par\vskip 20pt}%
- \renewcommand*{\afterbookskip}{\vfil\newpage}%
- \renewcommand*{\booknamefont}{\normalfont\huge\bfseries}%
- \renewcommand*{\booknumfont}{\normalfont\huge\bfseries}%
- \renewcommand*{\booktitlefont}{\normalfont\Huge\bfseries}%
- \renewcommand*{\printbookname}{\booknamefont \bookname}%
- \renewcommand*{\booknamenum}{\space}%
- \renewcommand*{\printbooknum}{\booknumfont \thebook}%
- \renewcommand*{\printbooktitle}[1]{\booktitlefont{##1}}%
- \renewcommand*{\beforepartskip}{\null\vfil}%
- \renewcommand*{\midpartskip}{\par\vskip 20pt}%
- \renewcommand*{\afterpartskip}{\vfil\newpage}%
- \renewcommand*{\partnamefont}{\normalfont\huge\bfseries}%
- \renewcommand*{\partnumfont}{\normalfont\huge\bfseries}%
- \renewcommand*{\parttitlefont}{\normalfont\Huge\bfseries}%
- \renewcommand*{\printpartname}{\partnamefont \partname}%
- \renewcommand*{\partnamenum}{\space}%
- \renewcommand*{\printpartnum}{\partnumfont \thepart}%
- \renewcommand*{\printparttitle}[1]{\parttitlefont{##1}}%
- \@chs@def@ult% default chapterstyle
- \setsechook{}
- \setsecindent{\z@}%
- \setbeforesecskip{-3.5ex \@plus -1ex \@minus -.2ex}%
- \setaftersecskip{2.3ex \@plus .2ex}%
- \setsecheadstyle{\Large\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setsubsechook{}%
- \setsubsecindent{\z@}%
- \setbeforesubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
- \setaftersubsecskip{1.5ex \@plus .2ex}%
- \setsubsecheadstyle{\large\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setsubsubsechook{}%
- \setsubsubsecindent{\z@}%
- \setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
- \setaftersubsubsecskip{1.5ex \@plus .2ex}%
- \setsubsubsecheadstyle{\normalsize\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setparahook{}%
- \setparaindent{\z@}%
- \setbeforeparaskip{3.25ex \@plus 1ex \@minus .2ex}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalsize\bfseries}%
- \setsubparahook{}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{3.25ex \@plus 1ex \@minus .2ex}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalsize\bfseries}}
-
-\makeheadstyles{default}{}
-\headstyles{default}
-
-\newcommand*{\addperiod}[1]{#1.}
-
-\makeheadstyles{memman}{%
- \renewcommand*{\booknamefont}{\normalfont\huge\sffamily}
- \renewcommand*{\booknumfont}{\normalfont\huge\sffamily}
- \renewcommand*{\booktitlefont}{\normalfont\Huge\sffamily}
- \renewcommand*{\midbookskip}{\par\vskip 2\onelineskip}%
- \renewcommand*{\partnamefont}{\normalfont\huge\sffamily}
- \renewcommand*{\partnumfont}{\normalfont\huge\sffamily}
- \renewcommand*{\parttitlefont}{\normalfont\Huge\sffamily}
- \renewcommand*{\midpartskip}{\par\vskip 2\onelineskip}%
- \chapterstyle{demo3}
- \setbeforesecskip{-1.333\onelineskip
- \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{0.667\onelineskip \@plus 0.1\onelineskip}%
- \setsecheadstyle{\normalfont\scshape\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsecskip{-0.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsecheadstyle{\normalfont\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsubsecskip{-0.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsubsecheadstyle{\normalfont\normalsize\itshape\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforeparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\itshape\addperiod}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}}
-
-\makeheadstyles{bringhurst}{%
-\chapterstyle{bringhurst}
- \setbeforesecskip{-1\onelineskip
- \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{1\onelineskip \@plus 0.1\onelineskip}%
- \setsecheadstyle{\normalfont\if@RTL\raggedleft\else\raggedright\fi\scshape\MakeLowercase}%
- \setbeforesubsecskip{-1.0\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsecskip{1.0\onelineskip \@plus 0.1\onelineskip}%
- \setsubsecheadstyle{\sethangfrom{\noindent ####1}\normalfont\itshape\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsubsecskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubsubsecskip{-1em}%
- \setsubsubsecheadstyle{\normalfont\normalsize\scshape\MakeLowercase}%
- \setbeforeparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\itshape\addperiod}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}}
-
-\makeheadstyles{crosshead}{%
- \chapterstyle{crosshead}
- \setbeforesecskip{-1.25\onelineskip
- \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{0.75\onelineskip \@plus 0.1\onelineskip}%
- \setsecheadstyle{\normalfont\centering\MakeUppercase}%
- \setbeforesubsecskip{-1.25\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsecskip{0.75\onelineskip \@plus 0.1\onelineskip}%
- \setsubsecheadstyle{\normalfont\centering\bfseries}%
- \setbeforesubsubsecskip{-.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsubsecskip{.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsubsecheadstyle{\normalfont\normalsize\centering\scshape\MakeLowercase}%
- \setbeforeparaskip{-.667\onelineskip
- \@plus -02.5\onelineskip \@minus -0.25\onelineskip}%
- \setafterparaskip{.333\onelineskip \@plus 0.1\onelineskip}%
- \setparaheadstyle{\normalfont\normalsize\centering\itshape}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\scshape\MakeLowercase}}
-
-\makeheadstyles{dowding}{%
- \chapterstyle{dowding}
- \setbeforesecskip{-2\onelineskip
- \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{1\onelineskip \@plus 0.1\onelineskip}%
- \setsecheadstyle{\normalfont\centering\MakeUppercase}%
- \setbeforesubsecskip{-1.2\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsecskip{0.8\onelineskip \@plus 0.1\onelineskip}%
- \setsubsecheadstyle{\normalfont\scshape\centering\MakeLowercase}%
- \setbeforesubsubsecskip{-0.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsubsecheadstyle{\normalfont\normalsize\centering\itshape}%
- \setbeforeparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\itshape\addperiod}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}}
-
-\makeheadstyles{komalike}{%
- \renewcommand*{\partnamefont}{\huge\sffamily\bfseries}%
- \renewcommand*{\partnumfont}{\huge\sffamily\bfseries}%
- \renewcommand*{\parttitlefont}{\huge\sffamily\bfseries}%
- \chapterstyle{komalike}
- \setbeforesecskip{-3.5ex \@plus -1ex \@minus -.2ex}%
- \setaftersecskip{2.3ex \@plus .2ex}%
- \setsecheadstyle{\normalfont\Large\sffamily\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
- \setaftersubsecskip{1.5ex \@plus .2ex}%
- \setsubsecheadstyle{\normalfont\large\sffamily\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
- \setaftersubsubsecskip{1.5ex \@plus .2ex}%
- \setsubsubsecheadstyle{\normalfont\normalsize\sffamily\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforeparaskip{3.25ex \@plus 1ex \@minus .2ex}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\sffamily\bfseries}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{3.25ex \@plus 1ex \@minus .2ex}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\sffamily\bfseries}}
-
-\makeheadstyles{ntglike}{%
- \renewcommand*{\partnamefont}{\Large\bfseries\MakeUppercase}%
- \renewcommand*{\partnumfont}{\Large\bfseries}%
- \renewcommand*{\parttitlefont}{\Large\MakeUppercase}%
- \chapterstyle{ntglike}
- \setbeforesecskip{-2\onelineskip
- \@plus -1\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{0.5\onelineskip}%
- \setsecheadstyle{\normalfont\large\bfseries}%
- \setbeforesubsecskip{-1\onelineskip
- \@plus -.5\onelineskip \@minus -.25\onelineskip}%
- \setaftersubsecskip{0.01\onelineskip}%
- \setsubsecheadstyle{\normalfont\normalsize\bfseries}%
- \setbeforesubsubsecskip{-1\onelineskip
- \@plus -.5\onelineskip \@minus -.25\onelineskip}%
- \setaftersubsubsecskip{0.01\onelineskip}%
- \setsubsubsecheadstyle{\normalfont\normalsize\slshape}%
- \setbeforeparaskip{3.25ex \@plus 1ex \@minus .2ex}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\slshape}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{3.25ex \@plus 1ex \@minus .2ex}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\slshape}}
-
-\makeheadstyles{tandh}{%
- \chapterstyle{tandh}
- \setbeforesecskip{-2\onelineskip
- \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{1\onelineskip \@plus 0.1\onelineskip}%
- \setsecheadstyle{\normalfont\if@RTL\raggedleft\else\raggedright\fi\MakeUppercase}%
- \setbeforesubsecskip{-1.2\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsecskip{0.8\onelineskip \@plus 0.1\onelineskip}%
- \setsubsecheadstyle{\normalfont\Large\itshape\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsubsecskip{-0.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsubsecheadstyle{\normalfont\normalsize\bfseries\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforeparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\itshape\addperiod}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}}
-
-\makeheadstyles{wilsondob}{%
- \chapterstyle{wilsondob}
- \setbeforesecskip{-1.333\onelineskip
- \@plus -0.5\onelineskip \@minus -.5\onelineskip}%
- \setaftersecskip{0.667\onelineskip \@plus 0.1\onelineskip}%
- \setsecheadstyle{\normalfont\if@RTL\raggedleft\else\raggedright\fi\MakeUppercase}%
- \setbeforesubsecskip{-0.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsecheadstyle{\normalfont\Large\itshape\if@RTL\raggedleft\else\raggedright\fi}%
- \setbeforesubsubsecskip{-0.667\onelineskip
- \@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
- \setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
- \setsubsubsecheadstyle{\normalfont\normalsize\if@RTL\raggedleft\else\raggedright\fi\scshape\MakeLowercase}%
- \setbeforeparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setafterparaskip{-1em}%
- \setparaheadstyle{\normalfont\normalsize\itshape\addperiod}%
- \setsubparaindent{\parindent}%
- \setbeforesubparaskip{1.0\onelineskip
- \@plus 0.5\onelineskip \@minus 0.2\onelineskip}%
- \setaftersubparaskip{-1em}%
- \setsubparaheadstyle{\normalfont\normalsize\itshape\addperiod}}
-
-\newif\ifanappendix
- \anappendixfalse
-\newcommand{\appendix}{\par
- \setcounter{chapter}{0}%
- \setcounter{section}{0}%
- \gdef\@chapapp{\appendixname}%
- \gdef\thechapter{\@Alph\c@chapter}%
- \anappendixtrue}
-
-\newcommand{\appendixpage}{%
- \@ifstar{\@sapppage}{\@apppage}}
-\newcommand{\memapppageinfo}[1]{}
-\newcommand{\memapppagestarinfo}[1]{}
-
-\def\@apppage{%
- \@setuppart
- \addappheadtotoc
- \partmark{\appendixpagename}%
- \memapppageinfo{\appendixpagename}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \printparttitle{\appendixpagename}\par}%
- \@endpart}
-\def\@sapppage{%
- \@setuppart
- \partmark{\appendixpagename}%
- \memapppagestarinfo{\appendixpagename}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \printparttitle{\appendixpagename}\par}%
- \@endpart}
-
-\def\addappheadtotoc{%
- \phantomsection\addcontentsline{toc}{chapter}{\appendixtocname}}
-\newcounter{@ppsavesec}
-\newcounter{@ppsaveapp}
-\setcounter{@ppsaveapp}{0}
-\newcommand{\@ppsavesec}{%
- \setcounter{@ppsavesec}{\value{chapter}}}
-\newcommand{\@pprestoresec}{%
- \setcounter{chapter}{\value{@ppsavesec}}}
-\newcommand{\@ppsaveapp}{%
- \setcounter{@ppsaveapp}{\value{chapter}}}
-\newcommand{\restoreapp}{%
- \setcounter{chapter}{\value{@ppsaveapp}}}
-
-\newcommand{\@resets@pp}{%
- \par
- \@ppsavesec
- \setcounter{section}{0}%
- \setcounter{chapter}{0}%
- \renewcommand\@chapapp{\appendixname}%
- \renewcommand\thechapter{\@Alph\c@chapter}%
- \restoreapp
-}
-
-\newenvironment{appendices}%
- {\@resets@pp\anappendixtrue}%
- {\@ppsaveapp\@pprestoresec\anappendixfalse}
-
-\newcommand{\setthesection}{\thechapter\@SepMark\Alph{section}}
-
-\newcommand{\@resets@ppsub}{
- \par
- \setcounter{section}{0}
- \renewcommand{\thesection}{\setthesection}
-}
-
-\newif\ifnamesubappendix
- \namesubappendixfalse
-\newcommand*{\namedsubappendices}{\namesubappendixtrue}
-\newcommand*{\unnamedsubappendices}{\namesubappendixfalse}
-
-\newenvironment{subappendices}{%
- \@resets@ppsub
- \def\addappheadtotoc{\phantomsection
- \addcontentsline{toc}{section}{\appendixtocname}}
- \ifnamesubappendix
- \def\sectionname{\appendixname}
- \def\@seccntformat##1{\@ifundefined{##1name}%
- {}{\csname ##1name\endcsname\ }%
- \csname the##1\endcsname\quad}
- \fi
- }{}
-
-\newcommand{\@formatsecmark@pp}[1]{%
- \MakeUppercase{\appendixname\space
- \ifnum \c@secnumdepth >\z@
- \thesection\quad
- \fi
- #1}}
-\newcommand*{\leadpagetoclevel}{chapter}
-\newcommand*{\newleadpage}[3][empty]{%
- \@namedef{#2}{\@ifstar{\dlfm@msapppage{#1}{#2}{#3}}%
- {\dlfm@mapppage{#1}{#2}{#3}}}}
-\newcommand*{\renewleadpage}[3][empty]{%
- \@namedef{#2}{\@ifstar{\dlfm@msapppage{#1}{#2}{#3}}%
- {\dlfm@mapppage{#1}{#2}{#3}}}}
-
-\newcommand{\memleadpageinfo}[3]{}
-\newcommand{\memleadpagestarinfo}[3]{}
-
-\newcommand*{\dlfm@msapppage}[3]{%
- \@setuppart
- \partmark{#3}%
- \memleadpagestarinfo{#1}{#2}{#3}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \printparttitle{#3}\par
- \thispagestyle{#1}}%
- \dlfm@m@endpart{#1}}
-\newcommand*{\dlfm@mapppage}[3]{%
- \@setuppart
- \phantomsection
- \addcontentsline{toc}{\leadpagetoclevel}{#3}%
- \partmark{#3}%
- \memleadpageinfo{#1}{#2}{#3}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \printparttitle{#3}\par
- \thispagestyle{#1}}%
- \dlfm@m@endpart{#1}}
-
-\newcommand*{\dlfm@m@endpart}[1]{%
- \if@twoside
- \if@openright
- \null
- \thispagestyle{#1}%
- \newpage
- \fi
- \fi
- \if@tempswa
- \twocolumn
- \fi}
-
-\let\memorigdbs\\
-\let\memorigpar\par
-\let\atcentercr\@centercr
-
-\newcommand*{\flushleftright}{%
- \let\\\memorigdbs
- \if@RTL\rightskip\else\leftskip\fi\z@skip
- \if@RTL\leftskip\else\rightskip\fi\if@RTL\rightskip\else\leftskip\fi
- \parfillskip\@flushglue
- \everypar{}}
-
-\newcommand*{\linenottooshort}[1][4em]{%
- \@tempdima=\hsize
- \advance\@tempdima -#1
- \if@RTL\rightskip\else\leftskip\fi\z@skip
- \if@RTL\leftskip\else\rightskip\fi\if@RTL\rightskip\else\leftskip\fi
- \parfillskip=\@tempdima \@minus \@tempdima}
-
-\newcommand*{\russianpar}{\ifhmode\unskip
- \strut\vadjust{}\nobreak
- \discretionary{}%
- {\hbox{\hskip2\parindent
- \vrule depth 273sp width 0sp height \ht\strutbox}}%
- {\hbox{\hskip\parindent}}%
- \hskip-2\parindent \@minus 2\parindent
- \hskip\hsize \@minus \hsize
- \kern\z@ \parfillskip\z@
- \memorigpar
- \ifdim\prevdepth=273sp
- \nobreak
- \vskip-2\baselineskip
- \hbox{\strut}%
- \fi\fi}
-
-\newcommand*{\lastlineparrule}{%
- \hrule height 0.5ex depth \@tempdimb\relax}
-\newcommand*{\lastlinerulefill}{%
- \let\\\@centercr
- \@tempdimb=-0.5ex \advance\@tempdimb 0.4pt
- \unskip\nobreak\space
- \leaders\lastlineparrule\hskip\@flushglue
- \vadjust{}{\parfillskip\z@\memorigpar}}
-
-\newcommand*{\centerlastline}{%
- \if@RTL\rightskip\else\leftskip\fi\@flushglue
- \if@RTL\leftskip\else\rightskip\fi=\z@ plus -1fil
- \parfillskip=\z@ plus 2fil}
-
-\newcommand*{\leftcenterright}{%;
- \let\\\break
- \parindent\z@
- \if@RTL\rightskip\else\leftskip\fi\@flushglue
- \if@RTL\leftskip\else\rightskip\fi\if@RTL\rightskip\else\leftskip\fi
- \parfillskip \z@ \@plus -1fil
- \everypar={\hskip \z@ \@plus -1fil}}
-
-\newcommand*{\centerfloat}{%
- \parindent \z@
- \if@RTL\rightskip\else\leftskip\fi \z@ \@plus 1fil \@minus \textwidth
- \if@RTL\leftskip\else\rightskip\fi\if@RTL\rightskip\else\leftskip\fi
- \parfillskip \z@skip}
-
-\newdimen\ragrparindent
- \setlength{\ragrparindent}{\parindent}
-\newcommand{\raggedyright}[1][2em]{%
- \let\\\@centercr\@rightskip \z@ \@plus #1\relax \if@RTL\leftskip\else\rightskip\fi\@rightskip
- \if@RTL\rightskip\else\leftskip\fi\z@skip
- \parindent\ragrparindent}
-
-\newcommand*{\justlastraggedleft}{%
- \if@RTL\rightskip\else\leftskip\fi\@flushglue
- \if@RTL\leftskip\else\rightskip\fi-\if@RTL\rightskip\else\leftskip\fi
- \parfillskip\if@RTL\rightskip\else\leftskip\fi
- \parindent \z@}
-
-\newcommand*{\raggedrightthenleft}{%
- \parindent \z@
- \if@RTL\rightskip\else\leftskip\fi \z@ \@plus 1fill
- \if@RTL\leftskip\else\rightskip\fi\@flushglue
- \parfillskip \z@
- \everypar{\hskip \z@ \@plus -1fill}}
-
-\newcommand{\hangfrom}[1]{%
- \setbox\@tempboxa\hbox{{#1}}%
- \hangindent \wd\@tempboxa\noindent\box\@tempboxa}
-
-\newcommand{\hangpara}[2]{\hangindent#1\hangafter#2\noindent}
-\newenvironment{hangparas}[2]{\setlength{\parindent}{\z@}
- \everypar={\hangpara{#1}{#2}}}{\par}
-
-\newcommand{\leftspringright}[4]{%
- \@tempdimb=\hsize
- \par\noindent\hbox to\@tempdimb{%
- \vtop{\hsize=#1\@tempdimb \flushleft#3\par}\hss
- \vtop{\hsize=#2\@tempdimb \flushright#4\par}}}
-
-\newcommand*{\sourceatright}[2][2em]{{%
- \unskip\nobreak\hfil\penalty50
- \hskip#1\hbox{}\nobreak\hfil{#2}
- \parfillskip\z@\finalhyphendemerits=0\par}}
-
-\if@twocolumn
- \setlength{\leftmargini}{2em}
-\else
- \setlength{\leftmargini}{2.5em}
-\fi
-\leftmargin \leftmargini
-\setlength{\leftmarginii}{2.2em}
-\setlength{\leftmarginiii}{1.87em}
-\setlength{\leftmarginiv}{1.7em}
-\if@twocolumn
- \setlength{\leftmarginv}{.5em}
- \setlength{\leftmarginvi}{.5em}
-\else
- \setlength{\leftmarginv}{1em}
- \setlength{\leftmarginvi}{1em}
-\fi
-\setlength{\itemindent}{\z@}
-\setlength{\labelsep}{0.5em}
-\setlength{\labelwidth}{\leftmargini}
- \addtolength{\labelwidth}{-\labelsep}
-\@beginparpenalty -\@lowpenalty
-\@endparpenalty -\@lowpenalty
-\@itempenalty -\@lowpenalty
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newdimen\everylistparindent
- \everylistparindent \z@
-\renewcommand*{\list}[2]{%
- \ifnum \@listdepth >5\relax
- \@toodeep
- \else
- \global\advance\@listdepth\@ne
- \fi
- \rightmargin\z@
- \listparindent\everylistparindent
- \itemindent\z@
- \csname @list\romannumeral\the\@listdepth\endcsname
- \def\@itemlabel{#1}%
- \let\makelabel\@mklab
- \@nmbrlistfalse
- #2\relax
- \@trivlist
- \parskip\parsep
- \parindent\listparindent
- \advance\linewidth -\rightmargin
- \advance\linewidth -\leftmargin
- \advance\@totalleftmargin \leftmargin
- \parshape \@ne \@totalleftmargin \linewidth
- \ignorespaces}
-
-\newlength{\parsepi}
-\newlength{\topsepi}
-\newlength{\itemsepi}
-\newlength{\parsepii}
-\newlength{\topsepii}
-\newlength{\topsepiii}
-
-\newlength{\itemsepii}
-\newlength{\itemsepiii}
-\newlength{\partopsepii}
-\newlength{\partopsepiii}
-\newcommand*{\setnzplist}{%
- \partopsep \p@ \@plus\z@ \@minus\p@
- \topsepi\z@
- \parsepi\parskip
- \itemsepi\z@
- \topsepii\z@
- \parsepii\parskip
- \itemsepii\z@
- \topsepiii\z@
-%% \parsepiii\parskip
- \itemsepiii\z@}
-
-\newcommand*{\defaultlists}{%
- \setlength{\partopsep}{0.2\onelineskip \@plus 0.1\onelineskip
- \@minus 0.1\onelineskip}%
- \parsepi = 0.3333\onelineskip \@plus 0.1667\onelineskip \@minus \p@
- \itemsepi = \parsepi
- \topsepi = 0.6667\onelineskip \@plus 0.3333\onelineskip
- \@minus 0.2\onelineskip
- \parsepii = 0.1667\onelineskip \@plus \p@ \@minus \p@
- \topsepii = \parsepi
- \topsepiii = \parsepii
- \everylistparindent \listparindent
- \itemsepii\parsepii
- \itemsepiii\topsepiii
- \partopsepiii \p@ \@plus\z@ \@minus\p@
- \ifm@mnzpskip
- \setnzplist
- \fi}
-\defaultlists
-
-\newcommand*{\firmlists}{%
- \@ifstar{\m@msfirmlists}{\m@mfirmlists}}
-
-\newcommand*{\m@msfirmlists}{
- \setlength{\partopsep}{\z@ \@plus \p@ \@minus \p@}%
- \parsepi = 0.1667\onelineskip \@plus 0.0833\onelineskip \@minus \p@
- \itemsepi = \parsepi
- \topsepi = \parsepi
- \parsepii = 0.0833\onelineskip \@plus \p@ \@minus \p@
- \topsepii = \parsepi
- \topsepiii = \parsepii
- \everylistparindent\listparindent}
-
-\newcommand*{\m@mfirmlists}{
- \setlength{\partopsep}{0.1\onelineskip \@plus 0.05\onelineskip
- \@minus 0.05\onelineskip}%
- \parsepi = 0.1667\onelineskip \@plus 0.0833\onelineskip \@minus \p@
- \itemsepi = \parsepi
- \topsepi = \parsepi
- \parsepii = 0.0833\onelineskip \@plus \p@ \@minus \p@
- \topsepii = \parsepi
- \topsepiii = \parsepii
- \everylistparindent\listparindent}
-
-\newcommand*{\tightlists}{%
- \@ifstar{\m@mstightlists}{\m@mtightlists}}
-
-\newcommand*{\m@mstightlists}{%
- \setlength{\partopsep}{\z@ \@plus \p@ \@minus \p@}%
- \parsepi = \z@ \@plus \p@ \@minus \p@
- \itemsepi = \parsepi
- \topsepi = \z@ \@plus \p@ \@minus \p@
- \parsepii = \z@ \@plus \p@ \@minus \p@
- \topsepii = \parsepi
- \topsepiii = \parsepii
- \everylistparindent\parindent
- \ifm@mnzpskip
- \setnzplist
- \partopsepiii\partopsep
- \fi}
-
-\newcommand*{\m@mtightlists}{%
- \setlength{\partopsep}{0.5\onelineskip \@plus \p@ \@minus \p@}%
- \parsepi = \z@ \@plus \p@ \@minus \p@
- \itemsepi = \parsepi
- \topsepi = \z@ \@plus \p@ \@minus \p@
- \parsepii = \z@ \@plus \p@ \@minus \p@
- \topsepii = \parsepi
- \topsepiii = \parsepii
- \everylistparindent\parindent
- \ifm@mnzpskip
- \setnzplist
- \partopsepiii\partopsep
- \fi}
-
-\newcommand{\firmlist}{%
- \setlength{\itemsep}{0.5\itemsep}\setlength{\parskip}{0.5\parskip}}
-\newcommand{\tightlist}{%
- \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
-
-\newskip\m@msavetopsep
-\newskip\m@msavepartopsep
-\newcommand*{\savetrivseps}{%
- \m@msavetopsep\topsep
- \m@msavepartopsep\partopsep}
-\newcommand*{\restoretrivseps}{%
- \topsep\m@msavetopsep
- \partopsep\m@msavepartopsep}
-\savetrivseps
-
-\newcommand*{\zerotrivseps}{%
- \topsep\z@
- \partopsep\z@}
-
-\def\@listi{\leftmargin\leftmargini
- \parsep\parsepi
- \topsep\topsepi
- \itemsep\itemsepi}
-\let\@listI\@listi
-\defaultlists
-\@listi
-
-\def\@listii{\leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- \topsep\topsepii
- \parsep\parsepii
- \itemsep\parsepii}
-
-\def\@listiii{\leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- \topsep\topsepiii
- \parsep\z@
-%%% \itemsep\topsep
-%%% \partopsep \p@ \@plus\z@ \@minus\p@
- \itemsep\itemsepiii
- \partopsep\partopsepiii}
-
-\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}
-
-\renewcommand{\theenumi}{\@arabic\c@enumi}
-\renewcommand{\theenumii}{\@alph\c@enumii}
-\renewcommand{\theenumiii}{\@roman\c@enumiii}
-\renewcommand{\theenumiv}{\@Alph\c@enumiv}
-\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\theenumii)}
-\newcommand{\labelenumiii}{\theenumiii.}
-\newcommand{\labelenumiv}{\theenumiv.}
-\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi(\theenumii)}
-\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
-\newtoks\@enLab
-\def\@enQmark{?}
-\def\@enLabel#1#2{%
- \edef\@enThe{\noexpand#1{\@enumctr}}%
- \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}%
- \@enloop}
-\def\@enSpace{\afterassignment\@enSp@ce\let\@memtempa= }
-\def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop}
-\def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop}
-\def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop}
-\def\@enloop{\futurelet\@entemp\@enloop@}
-\def\@enloop@{%
- \ifx A\@entemp \def\@memtempa{\@enLabel\Alph }\else
- \ifx a\@entemp \def\@memtempa{\@enLabel\alph }\else
- \ifx i\@entemp \def\@memtempa{\@enLabel\roman }\else
- \ifx I\@entemp \def\@memtempa{\@enLabel\Roman }\else
- \ifx 1\@entemp \def\@memtempa{\@enLabel\arabic}\else
- \ifx \@sptoken\@entemp \let\@memtempa\@enSpace \else
- \ifx \bgroup\@entemp \let\@memtempa\@enGroup \else
- \ifx \@enum@\@entemp \let\@memtempa\@gobble \else
- \let\@memtempa\@enOther
- \@enhook
- \fi\fi\fi\fi\fi\fi\fi\fi
- \@memtempa}
-%% \providecommand\@enhook{}
- \newcommand\@enhook{}
-\def\enumerate{%
- \ifnum \@enumdepth >3 \@toodeep\else
- \advance\@enumdepth \@ne
- \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
- \@ifnextchar[{\@@enum@}{\@enum@}}
-\def\@@enum@[#1]{%
- \@enLab{}\let\@enThe\@enQmark
- \@enloop#1\@enum@
- \ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
- ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
- \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
- \expandafter\let\csname the\@enumctr\endcsname\@enThe
- \csname c@\@enumctr\endcsname7
- \expandafter\settowidth
- \csname leftmargin\romannumeral\@enumdepth\endcsname
- {\the\@enLab\hspace{\labelsep}}%
- \@enum@}
-\def\@enum@{\list{\csname label\@enumctr\endcsname}%
- {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}}}
-
-\newcommand{\labelitemi}{\textbullet}
-\newcommand{\labelitemii}{\normalfont\bfseries \textendash}
-\newcommand{\labelitemiii}{\textasteriskcentered}
-\newcommand{\labelitemiv}{\textperiodcentered}
-\renewcommand{\itemize}[1][\@empty]{%
- \ifnum \@itemdepth >\thr@@\@toodeep\else
- \advance\@itemdepth\@ne
- \ifx \@empty #1\else % optional argument
- \@namedef{labelitem\romannumeral\the\@itemdepth}{#1}%
- \fi
- \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
- \expandafter
- \list
- \csname\@itemitem\endcsname
- {\def\makelabel##1{\hss\llap{##1}}}%
- \fi}
-\let\enditemize =\endlist
-
-\newenvironment{description}%
- {\list{}{\labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\descriptionlabel}}%
- {\endlist}
-\newcommand*{\descriptionlabel}[1]{\hspace\labelsep
- \normalfont\bfseries #1}
-\newenvironment{blockdescription}%
- {\list{}{\labelwidth\z@ \itemindent 0.5em \labelsep 0.5em
- \let\makelabel\blockdescriptionlabel}}%
- {\endlist}
-\newcommand*{\blockdescriptionlabel}[1]{%%% \hspace\labelsep
- \normalfont\bfseries #1}
-\newenvironment{quotation}%
- {\list{}{\listparindent 1.5em%
- \itemindent \listparindent
- \rightmargin \leftmargin
- \parsep \z@ \@plus\p@}%
- \item[]}%
- {\endlist}
-\newenvironment{quote}%
- {\list{}{\rightmargin\leftmargin}%
- \item[]}%
- {\endlist}
-\newcommand{\symbollabel}[1]{{#1 \hfill}}
-\newenvironment{symbols}{\list{}%
- {\itemindent 0em \leftmargin 8em
- \labelsep 1em \labelwidth 5em
- \let\makelabel\symbollabel}}%
- {\endlist}
-\newcommand{\symboldef}[2]{\item[#1] #2}
-\newif\if@bsonecol
- \@bsonecoltrue
-\newif\ifadd@bstotoc
- \add@bstotocfalse
-\newif\ifnumber@bs
- \number@bsfalse
-\newif\if@bsrunin
- \@bsruninfalse
-
-\newcommand{\abstractcol}{\@bsonecolfalse}
-\newcommand{\abstractintoc}{\add@bstotoctrue}
-\newcommand{\abstractnum}{\number@bstrue\@bsruninfalse}
-\newcommand{\abstractrunin}{\@bsrunintrue\number@bsfalse}
-
-\newcommand{\abstractnamefont}{\normalfont\small\bfseries}
-\newcommand{\abstracttextfont}{\normalfont\small}
-\newcommand{\abscolnamefont}{\normalfont\Large\bfseries}
-\newcommand{\abscoltextfont}{\normalfont}
-
-\newcommand{\absnamepos}{center}
-\newlength{\abstitleskip} \setlength{\abstitleskip}{-0.5em}
-\newlength{\absleftindent}
- \absleftindent=\leftmargin
-\newdimen\abs@leftindent
- \abs@leftindent=\leftmargin
-\newlength{\absrightindent}
- \absrightindent=\leftmargin
-\newlength{\absparindent}
-\newlength{\absparsep}
-
-\newcommand{\abslabeldelim}[1]{\def\@bslabeldelim{#1}}
-\abslabeldelim{}
-\newcommand{\@bsrunintitle}{%
- \hspace*{\abstitleskip}{\abstractnamefont\abstractname\@bslabeldelim}}
-
-\newcommand{\setup@bstract}{%
- \abs@leftindent=\absleftindent
- \if@twocolumn
- \if@bsonecol
- \else
- \abs@leftindent=\z@
- \absrightindent=\z@
- \renewcommand*{\abstractnamefont}{\abscolnamefont}
- \renewcommand*{\abstracttextfont}{\abscoltextfont}
- \renewcommand*{\absnamepos}{flushleft}
- \setlength{\abstitleskip}{-2ex}
- \fi
- \fi}
-
-\AtBeginDocument{\setlength{\absparindent}{\parindent}
- \setlength{\absparsep}{\parskip}}
-
-\newenvironment{@bstr@ctlist}{%
- \list{}{%
- %%\topsep \z@
- \partopsep \z@
- \listparindent \absparindent
- \itemindent \listparindent
- \leftmargin \abs@leftindent
- \rightmargin \absrightindent
- \parsep \absparsep}%
- \item\relax}
- {\endlist}
-
-\newcommand{\put@bsintoc}{%
- \ifadd@bstotoc
- \ifnumber@bs\else
- \phantomsection
- \addcontentsline{toc}{chapter}{\abstractname}
- \fi
- \fi}
-
-\newcommand{\num@bs}{\chapter{\abstractname}}
-
-\newenvironment{abstract}{%
- \setup@bstract
- \if@bsrunin\else
- \ifnumber@bs \num@bs \else
- \begin{\absnamepos}\abstractnamefont\abstractname\end\absnamepos%
- \vspace{\abstitleskip}%
- \fi
- \fi
- \put@bsintoc%
- \begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr@ctlist}}
-
-\newenvironment{onecolabstract}{%
- \begin{@twocolumnfalse}\begin{abstract}}{%
- \end{abstract}\end{@twocolumnfalse}}
-
-\addtoiargdef{\thanks}{}{%
- \protected@xdef\@bs@thanks{\@bs@thanks
- \protect\footnotetext[\the\c@footnote]{#1}}%
-}
-\let\@bs@thanks\@empty
-
-\newcommand{\saythanks}{\begingroup
- \renewcommand{\thefootnote}{\fnsymbol{footnote}}\@bs@thanks
- \endgroup\global\let\@bs@thanks\@empty}
-
-\newcounter{vslineno}
-\newcounter{poemline}
-\newcounter{modulo@vs}
-\newcounter{memfvsline}
-
-%%%\newcommand{\poemlines}[1]{\linenumberfrequency{#1}%
-%%% \@memwarn{Use \string\linenumberfrequency\space
-%%% instead of \string\poemlines}}
-
-\newcommand{\linenumberfont}[1]{\def\vlvnumfont{#1}}
-%%% \linenumberfont{\small\rmfamily}
-
-\newif\ifbvcountlines% TRUE to print line numbers of (boxed) verbatim lines
- \bvcountlinesfalse
-
-\newcommand{\linenumberfrequency}[1]{%
- \ifnum #1< \@ne
- \def\linemodnum{0\relax}
- \bvcountlinesfalse
- \else
- \def\linemodnum{#1\relax}
- \bvcountlinestrue
- \fi}
-
-%%%%\linenumberfrequency{0}
-
-\newcommand*{\setverselinenums}[2]{%
- \c@poemline #1\relax \advance\c@poemline \m@ne
- \refstepcounter{poemline}%
- \ifnum\z@<\linemodnum% we are printing line numbers
- \@tempcnta #2\relax
- \divide\@tempcnta\linemodnum
- \multiply\@tempcnta\linemodnum
- \c@memfvsline #2\relax
- \advance\c@memfvsline-\@tempcnta
- \fi}
-
-\newcommand{\getthelinenumber}[2]{%
- \ifnum\@ne>\linemodnum% no line numbers
- \else
- \ifnum\@ne=\linemodnum% every line numbered
- \@nameuse{the#1}%
- \else
- \@tempcnta=\@nameuse{c@#1}%
- \advance\@tempcnta -\@nameuse{c@#2}%
- \divide\@tempcnta \linemodnum
- \multiply\@tempcnta \linemodnum
- \advance\@tempcnta \@nameuse{c@#2}%
- \ifnum\@tempcnta=\@nameuse{c@#1}\@nameuse{the#1}\fi
- \fi
- \fi}
-
-\newif\ifaltindent
- \altindentfalse
-\newif\ifpattern
- \patternfalse
-\newif\ifstarpattern
- \starpatternfalse
-
-\newlength{\vleftskip}
- \setlength{\vleftskip}{3em}
-\newlength{\vrightskip}
- \setlength{\vrightskip}{1em}
-
-\newlength{\stanzaskip}
- \setlength{\stanzaskip}{\onelineskip}
-
-\newcommand{\flagverse}[1]{%
- \hskip-\if@RTL\vrightskip\else\vleftskip\fi\llap{#1}\hskip\if@RTL\vrightskip\else\vleftskip\fi\ignorespaces}
-
-\newlength{\versewidth}
-\newlength{\vgap} \setlength{\vgap}{1.5em}
-\newcommand{\vin}{\hspace*{\vgap}}
-\newlength{\vindent} \setlength{\vindent}{2\vgap}
-\newcommand{\vinphantom}[1]{\leavevmode\phantom{#1}}
-\newcommand*{\vleftofline}[1]{\leavevmode\llap{#1}}
-\newdimen\vleftmargin
- \vleftmargin=\leftmargini
-
-\newcommand{\verselinebreak}[1][\z@]{\newline\hspace*{#1}\ignorespaces}
-
-\newcommand{\incr@vsline}{%
- \refstepcounter{poemline}%
- \stepcounter{vslineno}}
-
-\newcommand{\@vsifbang}[1]{\@ifnextchar !{\@firstoftwo{#1}}}
-\newcommand{\@vsifgt}[1]{\@ifnextchar >{\@firstoftwo{#1}}}
-
-\newcommand*{\verselinenumbersright}{\def\@vstypelinenum{\@vslnumright}}
-\newcommand*{\verselinenumbersleft}{\def\@vstypelinenum{\@vslnumleft}}
-\verselinenumbersright
-
-\newcommand*{\@vslnumright}{%
- \hfill\rlap{\kern\if@RTL\vleftskip\else\vrightskip\fi\kern\rightmargin%
- \vlvnumfont\getthelinenumber{poemline}{memfvsline}}}
-\newcommand*{\@vslnumleft}{%
- \hfill\rlap{\kern-\textwidth\kern-\if@RTL\vleftskip\else\vrightskip\fi%
- \vlvnumfont\getthelinenumber{poemline}{memfvsline}}}
-\newcommand{\@vscentercr}{%
- \ifhmode \unskip\else \@nolnerr\fi
- \@vstypelinenum%
- \@vsifgt{\verselinebreak}{%
- \incr@vsline
- \par\@ifstar{\nobreak\@vsxcentercr}{%
- \@vsifbang{\@ifnextchar[ {\@vsicentercr}{}}{\@vsxcentercr}}}}
-\newcommand{\@vsxcentercr}{\addvspace{-\parskip}%
- \@ifnextchar[ {\@vsicentercr}{\start@vsline}}
-\def\@vsicentercr[#1]{\vskip #1\ignorespaces \start@vsline}
-\newcommand{\start@vsline}{%
- \ifaltindent\ifodd\c@vslineno\else\vin\fi\fi%
- \ifpattern\get@vsindent\fi%
- \ifstarpattern\getstar@vsindent\fi}
-
-\newcounter{verse}
-\setcounter{verse}{0}
-\newcommand{\theHpoemline}{\theverse.\thepoemline}
-
-\newenvironment{verse}[1][\linewidth]{%
- \refstepcounter{verse}%
- \setcounter{poemline}{0}\refstepcounter{poemline}%
- \setcounter{vslineno}{1}%
- \let\\=\@vscentercr
- \list{}{\itemsep \z@
- \itemindent -\vindent
- \listparindent\itemindent
- \leftmargin \vleftmargin
- \parsep \stanzaskip
- \ifdim #1<\linewidth% %% short line
- \rightmargin \z@
- \leftmargin \linewidth
- \advance\leftmargin -#1\relax
- \advance\leftmargin -0.5\leftmargin
- \advance\leftmargin \vindent
- \else
- \ifdim #1>\linewidth% %% long line
- \rightmargin \z@
- \leftmargin \vindent
- \else% %% default
- \rightmargin \leftmargin
- \advance\leftmargin \vindent
- \fi
- \fi}
- \item[]}{\endlist}
-
-\newenvironment{altverse}%
- {\starpatternfalse\patternfalse\altindenttrue
- \setcounter{vslineno}{1}}%
- {\altindentfalse}
-
-\newif\ifbounderror
- \bounderrorfalse
-\newif\ifinteger
-
-\newcounter{chrsinstr} % CHARactersINSTRing
-
-\newcommand{\newarray}[3]{%
- \@nameedef{#1-low}{#2}%
- \@nameedef{#1-high}{#3}%
- \ifnum #3<#2
- \@memerror{Limits for array #1 are in reverse order}{\@ehc}%
- \fi}
-
-\newcommand{\stringtoarray}[2]{%
- \def\@vsarrayname{#1}%
- \protected@edef\the@vsstring{#2}%
- \newarray{\@vsarrayname}{1}{1}%
- \@ifmtarg{#2}{%
- \c@chrsinstr \z@
- \@namedef{\@vsarrayname-1}{}
- }{%
- \c@chrsinstr \@ne
- \expandafter\@vsstringtoarray \the@vsstring\@vsend
- }}
-
-\def\@vsstringtoarray #1#2\@vsend{%
- \@namedef{\@vsarrayname-\the\c@chrsinstr}{#1}
- \@nameedef{\@vsarrayname-high}{\the\c@chrsinstr}
- \@ifmtarg{#2}{%
- \def\@vsinext{}%
- }{%
- \advance\c@chrsinstr \@ne
- \def\@vsinext{%
- \@vsstringtoarray #2\@vsend%
- }%
- }
- \@vsinext}
-
-\newcommand{\setarrayelement}[3]{%
- \checkarrayindex{#1}{#2}%
- \@nameedef{#1-#2}{#3}}
-\newcommand{\getarrayelement}[3]{%
- \checkarrayindex{#1}{#2}%
- \protected@edef#3{\@nameuse{#1-#2}}}
-
-\newcommand{\checkarrayindex}[2]{%
- \bounderrorfalse
- \expandafter\ifx\csname #1-low\endcsname\relax%
- \ifpattern\else
- \@memerror{No array called #1}{\@ehc}%
- \fi
- \bounderrortrue
- \fi
- \ifnum #2<\@nameuse{#1-low}\relax%
- \ifpattern\else
- \@memerror{Index #2 outside limits for array #1}{\@ehc}%
- \fi
- \bounderrortrue
- \fi
- \ifnum #2>\@nameuse{#1-high}\relax%
- \ifpattern\else
- \@memerror{Index #2 outside limits for array #1}{\@ehc}%
- \fi
- \bounderrortrue
- \fi}
-
-\newcommand{\arraytostring}[2]{%
- \def#2{}%
- \c@chrsinstr = \@nameuse{#1-low}%
- \@vsarraytostring{#1}{#2}}
-
-\newcommand{\@vsarraytostring}[2]{%
- \ifnum\c@chrsinstr>\@nameuse{#1-high}\else
- \protected@edef#2{#2\@nameuse{#1-\thechrsinstr}}%
- \advance\c@chrsinstr\@ne%
- \@vsarraytostring{#1}{#2}%
- \fi}
-
-\newcommand{\checkifinteger}[1]{%
- \protected@edef\@vsa{#1}%
- \ifcat _\ifnum9<1\gobm{#1} _\else A\fi
- \integertrue%
- \else
- \integerfalse%
- \fi}
-\newcommand{\gobm}[1]{#1}
-
-\newcommand{\indentpattern}[1]{%
- \stringtoarray{Array@vs}{#1}}
-\newcommand{\get@vsindent}{%
- \getarrayelement{Array@vs}{\number\value{vslineno}}{\@vspat}%
- \ifbounderror
- \arraytostring{Array@vs}{\@vsp@t}%
- \@memwarn{%
- Index `\thevslineno' for pattern `\@vsp@t' is out of bounds}%
- \def\@vspat{0}%
- \else
- \checkifinteger{\@vspat}%
- \ifinteger\else
- \arraytostring{Array@vs}{\@vsp@t}%
- \@memwarn{%
- `\@vspat' at index `\thevslineno' in pattern `\@vsp@t'
- is not a digit}%
- \def\@vspat{0}%
- \fi
- \fi
- \ifcase\@vspat\else\hspace*{\@vspat\vgap}\fi}
-\newcommand{\getstar@vsindent}{%
- \expandafter\ifx\csname Array@vs-high\endcsname\relax
- \@memerror{A pattern has not been specified}{\@ehc}
- \else
- \ifnum\c@vslineno>\@nameuse{Array@vs-high}%
- \setcounter{vslineno}{1}%
- \fi
- \get@vsindent
- \fi}
-
-\newenvironment{patverse}%
- {\starpatternfalse\patterntrue\altindentfalse
- \setcounter{vslineno}{1}}%
- {\patternfalse}
-
-\newenvironment{patverse*}%
- {\starpatterntrue\patternfalse\altindentfalse
- \setcounter{vslineno}{1}}%
- {\starpatternfalse}
-
-\newcommand{\poemtitle}{\par%
- \secdef\@vsptitle\@vssptitle}
-\newcommand{\poemtoc}{section}
-
-\newcommand{\mempoeminfo}[1]{}
-\newcommand{\mempoemstarinfo}[1]{}
-
-\long\def\@vsptitle[#1]#2{%
- \phantomsection
- \addcontentsline{toc}{\poemtoc}{#1}%
- \M@gettitle{#1}%
- \mempoeminfo{#1}%
- \poemtitlemark{#1}%
- \@vstypeptitle{#2}%
- \@afterheading}
-
-\long\def\@vssptitle#1{%
- \M@gettitle{#1}%
- \mempoemstarinfo{#1}%
- \@vstypeptitle{#1}%
- \@afterheading}
-
-\newcommand{\@vstypeptitle}[1]{%
- \vspace{\beforepoemtitleskip}%
- {\poemtitlefont #1\par}%
- \vspace{\afterpoemtitleskip}%
-}
-
-\newcommand{\poemtitlefont}{\normalfont\large\bfseries\centering}
-\newcommand{\poemtitlemark}[1]{}
-
-\newlength{\beforepoemtitleskip}
- \setlength{\beforepoemtitleskip}{3.5ex \@plus 1ex \@minus .2ex}
-\newlength{\afterpoemtitleskip}
- \setlength{\afterpoemtitleskip}{2.3ex \@plus.2ex}
-
-\newif\if@numptitle
-\newcommand*{\NumberPoemTitle}{\@numptitletrue}
-\newcommand*{\PlainPoemTitle}{\@numptitlefalse}
-\NumberPoemTitle
-
-\newcounter{poem}\setcounter{poem}{0}
- \renewcommand*{\thepoem}{\@arabic\c@poem}
-\newcommand*{\theHpoem}{\arabic{poem}}
-
-\newcommand*{\poemtitlestarmark}[1]{}
-\newcommand*{\poemtitlepstyle}{}
-\newcommand*{\poemtitlestarpstyle}{}
-
-\newcommand\PoemTitle{%
- \par
- \@afterindentfalse
- \@ifstar{\@m@msPoemTitle}{\@m@mPoemTitle}}
-
-\newcommand{\@m@mPoemTitle}[1][]{%
- \def\poemt@c{#1}% capture first optional arg
- \@ifnextchar[{\@PoemTitle}{\@PoemTitle[]}%
-}
-
-\newcommand{\memPoemTitleinfo}[4]{}
-\newcommand{\memPoemTitlestarinfo}[2]{}
-
-\def\@PoemTitle[#1]#2{%
- \phantomsection
- \ifx\poemt@c\@empty % no optional args
- \def\poemf@rtoc{#2}%
- \def\poemf@rhdr{#2}%
- \else % at least one opt arg
- \let\poemf@rtoc\poemt@c
- \ifx\@empty#1\@empty
- \let\poemf@rhdr\poemt@c
- \else
- \def\poemf@rhdr{#1}%
- \fi
- \fi
- \m@m@Andfalse
- \if@numptitle
- \if@mainmatter
- \m@m@Andtrue
- \fi
- \fi
- \ifm@m@And
- \refstepcounter{poem}%
- \fi
- \@makePoemTitlehead{#2}%
- \@afterheading
- \poemtitlemark{\poemf@rhdr}%
- \poemtitlepstyle
- \ifm@m@And
- \addcontentsline{toc}{\poemtoc}{%
- \protect\numberline{\thepoem}\poemf@rtoc}%
- \memPoemTitleinfo{\thepoem}{\poemf@rtoc}{\poemf@rhdr}{#2}%
- \else
- \addcontentsline{toc}{\poemtoc}{\poemf@rtoc}%
- \memPoemTitleinfo{}{\poemf@rtoc}{\poemf@rhdr}{#2}%
- \fi
- \ifheadnameref\M@gettitle{\poemf@rhdr}\else\M@gettitle{\poemf@rtoc}\fi}
-
-\def\@makePoemTitlehead#1{{%
- \PoemTitleheadstart
- \parindent \z@ \normalfont
- \ifm@m@And
- \printPoemTitlenum
- \afterPoemTitlenum
- \else
- \printPoemTitlenonum
- \fi
- \interlinepenalty\@M
- \printPoemTitletitle{#1}%
- \afterPoemTitle}}
-
-\newcommand{\@PTchs@def@ult}{%
- \def\PoemTitleheadstart{\vspace{\beforePoemTitleskip}}
- \def\printPoemTitlenum{\PoemTitlenumfont \thepoem}
- \def\afterPoemTitlenum{\par\nobreak\vskip \midPoemTitleskip}
- \def\printPoemTitlenonum{}
- \def\printPoemTitletitle##1{\PoemTitlefont ##1}
- \def\afterPoemTitle{\par\nobreak\vskip \afterPoemTitleskip}}
-\@PTchs@def@ult
-
-\newcommand*{\PoemTitlenumfont}{\normalfont\large\centering}
-\newcommand*{\PoemTitlefont}{\normalfont\large\centering}
-\newlength{\beforePoemTitleskip}
- \setlength{\beforePoemTitleskip}{1\onelineskip}
-\newlength{\midPoemTitleskip}
- \setlength{\midPoemTitleskip}{0pt}
-\newlength{\afterPoemTitleskip}
- \setlength{\afterPoemTitleskip}{1\onelineskip}
-
-\newcommand{\@m@msPoemTitle}[2][\@empty]{%
- \@sPoemTitle{#2}%
- \ifx \@empty#1
- \def\poemf@rhdr{#2}%
- \else % opt arg
- \def\poemf@rhdr{#1}%
- \fi
- \poemtitlestarmark{\poemf@rhdr}%
- \poemtitlestarpstyle
- \memPoemTitlestarinfo{\poemf@rhdr}{#2}}
-
-\newcommand{\@sPoemTitle}[1]{%
- \@makesPoemTitlehead{#1}%
- \@afterheading
- \M@gettitle{#1}}
-
-\def\@makesPoemTitlehead#1{{%
- \PoemTitleheadstart
- \parindent \z@ \normalfont
- \printPoemTitlenonum
- \interlinepenalty\@M
- \printPoemTitletitle{#1}
- \afterPoemTitle}}
-
-\setlength\arraycolsep{5\p@}
-\setlength\tabcolsep{6\p@}
-\setlength\arrayrulewidth{.4\p@}
-\setlength\doublerulesep{2\p@}
-\setlength\tabbingsep{\labelsep}
-
-\newcommand{\@minipagerestore}{%
- \let\@verbfootnotetext\@verbmpfootnotetext
- \m@mdoextrafeetmini
- \ifm@mnzpskip \parskip=\m@mabparskip\fi}
-
-\skip\@mpfootins = \skip\footins
-
-\setlength\fboxsep{3\p@}
-\setlength\fboxrule{.4\p@}
-
-\@addtoreset{equation}{chapter}
+\renewcommand{\setthesection}{\thechapter\@SepMark\Alph{section}}
\renewcommand{\theequation}{%
\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation}
-
-
-%%%%%%%%%% Array package code %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% With acknowledgements to %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% Frank Mittelbach & David Carlisle %%%%%%%%%%%%%%%%%%%%%
-
-\def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}}
-\def\@testpach{\@chclass
- \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
- \ifnum \@lastchclass=7 5 \else
- \ifnum \@lastchclass=8 \tw@ \else
- \ifnum \@lastchclass=9 \thr@@
- \else \z@
- \ifnum \@lastchclass = 10 \else
- \edef\@nextchar{\expandafter\string\@nextchar}%
- \@chnum
- \if \@nextchar c\z@ \else
- \if \@nextchar l\@ne \else
- \if \@nextchar r\tw@ \else
- \z@ \@chclass
- \if\@nextchar |\@ne \else
- \if \@nextchar !6 \else
- \if \@nextchar @7 \else
- \if \@nextchar <8 \else
- \if \@nextchar >9 \else
- 10
- \@chnum
- \if \@nextchar m\thr@@\else
- \if \@nextchar p4 \else
- \if \@nextchar b5 \else
- \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
- \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
-\def\prepnext@tok{\advance \count@ \@ne
- \toks\count@{}}
-
-\def\save@decl{\toks \count@ = \expandafter\expandafter\expandafter
- {\expandafter\@nextchar\the\toks\count@}}
-
-\def\insert@column{%
- \the@toks \the \@tempcnta
- \ignorespaces \@sharp \unskip
- \the@toks \the \count@ \relax}
-\let\m@mold@addamp\@addamp
-\newcommand*{\m@m@addamp}{%
- \if@firstamp
- \@firstampfalse
- \global\@curtab\@ne
- \else
- \@addtopreamble{&}
- \global\advance\@curtab\@ne
- \fi}
-\let\@addamp\m@m@addamp
-
-\newdimen\col@sep
-\def\@acol{\@addtopreamble{\hskip\col@sep}}
-\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
- \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
- \@temptokena{#1}\@tempswatrue
- \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
- \count@\m@ne
- \let\the@toks\relax
- \prepnext@tok
- \expandafter \@tfor \expandafter \@nextchar
- \expandafter :\expandafter =\the\@temptokena \do
- {\@testpach
- \ifcase \@chclass \@classz \or \@classi \or \@classii
- \or \save@decl \or \or \@classv \or \@classvi
- \or \@classvii \or \@classviii
- \or \@classx
- \or \@classx \fi
- \@lastchclass\@chclass}%
- \ifcase\@lastchclass
- \@acol \or
- \or
- \@acol \or
- \@preamerr \thr@@ \or
- \@preamerr \tw@ \@addtopreamble\@sharp \or
- \or
- \else \@preamerr \@ne \fi
- \def\the@toks{\the\toks}}
-\def\@classx{%
- \ifcase \@lastchclass
- \@acolampacol \or
- \@addamp \@acol \or
- \@acolampacol \or
- \or
- \@acol \@firstampfalse \or
- \@addamp
- \fi}
-\def\@classz{\@classx
- \@tempcnta \count@
- \prepnext@tok
- \@addtopreamble{\ifcase \@chnum
- \hfil
- \d@llarbegin
- \insert@column
- \d@llarend \hfil \or
- \hskip1sp\d@llarbegin \insert@column \d@llarend \hfil \or
- \hfil\hskip1sp\d@llarbegin \insert@column \d@llarend \or
- $\vcenter%$
- \@startpbox{\@nextchar}\insert@column \@endpbox $\or%$
- \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \vbox \@startpbox{\@nextchar}\insert@column \@endpbox
- \fi}\prepnext@tok}
-
-\let\@classix\relax
-
-\def\@classviii{\ifnum \@lastchclass >\z@\ifnum\@lastchclass=\tw@\else
- \@preamerr 4\@chclass 6 \@classvi \fi\fi}
-
-\def\@arrayrule{\@addtopreamble \vline}
-
-\def\@classvii{\ifnum \@lastchclass = \thr@@
- \@preamerr \thr@@ \fi}
-
-\def\@classvi{\ifcase \@lastchclass
- \@acol \or
- \@addtopreamble{\hskip \doublerulesep}\or
- \@acol \or
- \@classvii
- \fi}
-
-\def\@classii{\advance \count@ \m@ne
- \save@decl\prepnext@tok}
-
-\def\@classv{\save@decl
- \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
- \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
- \prepnext@tok}
-\def\NC@ecs#1\extracolsep#2#3\extracolsep#4\@@@{\def\@tempa{#2}%
- \ifx\@tempa\@empty\else\toks\count@={#1\tabskip#2\relax#3}\fi}
-
-\def\@classi{\@classvi
- \ifcase \@chnum \@arrayrule \or
- \@classv \fi}
-
-\def\@startpbox#1{\bgroup
- \setlength\hsize{#1}\@arrayparboxrestore
- \everypar{%
- \vrule \@height \ht\@arstrutbox \@width \z@
- \everypar{}}%
- }
-\def\@endpbox{\@finalstrut\@arstrutbox \egroup\hfil}
-\def\@array[#1]#2{%
- \@tempdima \ht \strutbox
- \advance \@tempdima by\extrarowheight
- \setbox \@arstrutbox \hbox{\vrule
- \@height \arraystretch \@tempdima
- \@depth \arraystretch \dp \strutbox
- \@width \z@}%
- \begingroup
- \@mkpream{#2}%
- \xdef\@preamble{\noexpand \ialign \@halignto
- \bgroup \@arstrut \@preamble
- \tabskip \z@ \cr}%
- \endgroup
- \@arrayleft
- \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
- \bgroup
- \let \@sharp ##\let \protect \relax
- \lineskip \z@
- \baselineskip \z@
- \m@th
- \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}
-\newdimen \extrarowheight
-\extrarowheight=0pt
-\def\@arstrut{\unhcopy\@arstrutbox}
-\def\@arraycr{\relax\iffalse{\fi\ifnum 0=`}\fi
- \@ifstar \@xarraycr \@xarraycr}
-\def\@xarraycr{\@ifnextchar [%
- \@argarraycr {\ifnum 0=`{}\fi\cr}}
-\def\@argarraycr[#1]{\ifnum0=`{}\fi\ifdim #1>\z@
- \expandafter\@xargarraycr\else
- \expandafter\@yargarraycr\fi{#1}}
-\def\@xargarraycr#1{\unskip
- \@tempdima #1\advance\@tempdima \dp\@arstrutbox
- \vrule \@depth\@tempdima \@width\z@ \cr}
-\def\@yargarraycr#1{\cr\noalign{\vskip #1}}
-\long\def\multicolumn#1#2#3{%
- \multispan{#1}\begingroup
- \def\@addamp{\if@firstamp \@firstampfalse \else
- \@preamerr 5\fi}%
- \@mkpream{#2}\@addtopreamble\@empty
- \endgroup
- \def\@sharp{#3}%
- \@arstrut \@preamble
- \null
- \ignorespaces}
-\let\d@llarbegin\begingroup
-\let\d@llarend\endgroup
-\def\array{\col@sep\arraycolsep
- \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}%$
- \@tabarray}
-\def\@tabarray{\@ifnextchar[{\@@array}{\@@array[c]}}
-\let\@@array\@array
-\def\tabular{\gdef\@halignto{}\@tabular}
-\expandafter\def\csname tabular*\endcsname#1{%
- \setlength\dimen@{#1}%
- \xdef\@halignto{to\the\dimen@}\@tabular}
-\def\@tabular{%
- \leavevmode
- \hbox \bgroup $\col@sep\tabcolsep \let\d@llarbegin\begingroup%$
- \let\d@llarend\endgroup
- \@tabarray}
-\def\endarray{\crcr \egroup \egroup \@arrayright \gdef\@preamble{}}
-\let\@arrayleft\@empty
-\let\@arrayright\@empty
-\def\endtabular{\endarray $\egroup}%$
-\expandafter\let\csname endtabular*\endcsname=\endtabular
-\let\@ampacol=\relax \let\@expast=\relax
-\let\@arrayclassiv=\relax \let\@arrayclassz=\relax
-\let\@tabclassiv=\relax \let\@tabclassz=\relax
-\let\@arrayacol=\relax \let\@tabacol=\relax
-\let\@tabularcr=\relax \let\@@endpbox=\relax
-\let\@argtabularcr=\relax \let\@xtabularcr=\relax
-\def\@preamerr#1{\def\@tempd{{..} at wrong position: }%
- \ClassError{bidimemoir}{%
- \ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0
- Missing arg: token ignored\or %1
- Empty preamble: `l' used\or %2
- >\@tempd token ignored\or %3
- <\@tempd changed to !{..}\or %4
- Only one column-spec. allowed.\fi}\@ehc} %5
-
-\def\newcolumntype#1{%
- \edef\NC@char{\string#1}%
- \@ifundefined{NC@find@\NC@char}%
- {\@tfor\next:=<>clrmbp@!|\do{\if\noexpand\next\NC@char
- \@memwarn{Redefining primitive column \NC@char}\fi}%
- \NC@list\expandafter{\the\NC@list\NC@do#1}}%
- {\@memwarn{Column \NC@char\space is already defined}}%
- \@namedef{NC@find@\NC@char}##1#1{\NC@{##1}}%
- \@ifnextchar[{\newcol@{\NC@char}}{\newcol@{\NC@char}[0]}}
-\def\newcol@#1[#2]#3{\expandafter\@reargdef
- \csname NC@rewrite@#1\endcsname[#2]{\NC@find#3}}
-\def\NC@#1{%
- \@temptokena\expandafter{\the\@temptokena#1}\futurelet\next\NC@ifend}
-\def\NC@ifend{%
- \ifx\next\relax
- \else\@tempswatrue\expandafter\NC@rewrite\fi}
-\def\NC@do#1{%
- \expandafter\let\expandafter\NC@rewrite
- \csname NC@rewrite@\string#1\endcsname
- \expandafter\let\expandafter\NC@find
- \csname NC@find@\string#1\endcsname
- \expandafter\@temptokena\expandafter{\expandafter}%
- \expandafter\NC@find\the\@temptokena#1\relax}
-\def\showcols{{\def\NC@do##1{\let\NC@do\NC@show}\the\NC@list}}
-\def\NC@show#1{%
- \typeout{Column #1\expandafter\expandafter\expandafter\NC@strip
- \expandafter\meaning\csname NC@rewrite@#1\endcsname\@@}}
-\def\NC@strip#1:#2->#3 #4\@@{#2 -> #4}
-\newtoks\NC@list
-\newcolumntype{*}[2]{}
-\long\@namedef{NC@rewrite@*}#1#2{%
- \count@#1\relax
- \loop
- \ifnum\count@>\z@
- \advance\count@\m@ne
- \@temptokena\expandafter{\the\@temptokena#2}%
- \repeat
- \NC@find}
-
-\newlength{\extratabsurround}
-\setlength{\extratabsurround}{2pt}
-\newlength{\backup@length}
-\newcommand{\firsthline}{%
- \multicolumn1c{%
- \global\backup@length\ht\@arstrutbox
- \global\advance\backup@length\dp\@arstrutbox
- \global\advance\backup@length\arrayrulewidth
- \raise\extratabsurround\copy\@arstrutbox
- }\\[-\backup@length]\hline
-}
-\newcommand{\lasthline}{\hline\multicolumn1c{%
- \global\backup@length2\ht\@arstrutbox
- \global\advance\backup@length2\dp\@arstrutbox
- \global\advance\backup@length\arrayrulewidth
- }\\[-\backup@length]%
- \multicolumn1c{%
- \lower\extratabsurround\copy\@arstrutbox
- }%
-}
-\CheckCommand*\@xhline{\ifx\reserved@a\hline
- \vskip\doublerulesep
- \vskip-\arrayrulewidth
- \fi
- \ifnum0=`{\fi}}
-\renewcommand*\@xhline{\ifx\reserved@a\hline
- \vskip\doublerulesep
- \fi
- \ifnum0=`{\fi}}
-
-%%%%%%%%%%% end Array package code %%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%% Dcolumn package code %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% With acknowledgements to David Carlisle %%%%%%%%%%%%%%%%%%%%%
-
-\def\DC@#1#2#3{%
- \uccode`\~=`#1\relax
- \m@th
- \afterassignment\DC@x\count@#3\relax{#1}{#2}}
-\def\DC@x#1\relax#2#3{%
- \ifnum\z@>\count@
- \expandafter\DC@centre
- \else
- \expandafter\DC@right
- \fi
- {#2}{#3}{#1}}
-\def\DC@centre#1#2#3{%
- \let\DC@end\DC@endcentre
- \uppercase{\def~}{$\egroup\setbox\tw@=\hbox\bgroup${#2}}%$
- \setbox\tw@=\hbox{${\phantom{{#2}}}$}%
- \setbox\z@=\hbox\bgroup$\mathcode`#1="8000 }%$
-\def\DC@endcentre{$\egroup%$
- \ifdim \wd\z@>\wd\tw@
- \setbox\tw@=\hbox to\wd\z@{\unhbox\tw@\hfill}%
- \else
- \setbox\z@=\hbox to\wd\tw@{\hfill\unhbox\z@}\fi
- \box\z@\box\tw@}
-\def\DC@right#1#2#3{%
- \ifx\relax#3\relax
- \hfill
- \let\DC@rl\bgroup
- \else
- \edef\DC@rl{to\the\count@\dimen@ii\bgroup\hss\hfill}%
- \count@\@gobble#3\relax
- \fi
- \let\DC@end\DC@endright
- \uppercase{\def~}{$\egroup\setbox\tw@\hbox to\dimen@\bgroup${#2}}%
- \setbox\z@\hbox{$1$}\dimen@ii\wd\z@
- \dimen@\count@\dimen@ii
- \setbox\z@\hbox{${#2}$}\advance\dimen@\wd\z@
- \setbox\tw@\hbox to\dimen@{}%
- \setbox\z@\hbox\DC@rl$\mathcode`#1="8000 }%$
-\def\DC@endright{$\hfil\egroup\box\z@\box\tw@}%$
-\newcolumntype{D}[3]{>{\DC@{#1}{#2}{#3}}c<{\DC@end}}
-
-%%%%%%%%%% end Dcolumn package code %%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%% Delarray package code %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% With acknowledgements to David Carlisle %%%%%%%%%%%%%%%%%%%%%
-
-\def\@@array[#1]{\@ifnextchar\bgroup
- {\let\@arrayleft\relax\let\@arrayright\relax\@array[#1]}%
- {\@del@array[#1]}}
-\def\@del@array[#1]#2#3#4{%
- \setbox\z@\hbox{$\left#2\right#4$}%
- \if#1c\def\@arrayleft{\left#2}\def\@arrayright{\right#4}%
- \else\def\@arrayleft{\setbox\z@}%
- \def\@arrayright{%
- \dimen@=\dp\z@
- \advance\dimen@-\ht\z@
- \divide \dimen@ by \tw@
- \advance\dimen@ by\fontdimen22 \textfont\tw@
- \lower\dimen@\hbox{$\left#2\vcenter{\unvbox\z@}\right#4$}}%
- \fi
- \@array[#1]{#3}}
-%%%%%%%%%% end Delarray package code %%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%% Tabularx package code %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% With acknowledgements to David Carlisle %%%%%%%%%%%%%%%%%%%%%
-
-\newdimen\TX@col@width
-\newdimen\TX@old@table
-\newdimen\TX@old@col
-\newdimen\TX@target
-\newdimen\TX@delta
-\newcount\TX@cols
-\newif\ifTX@
-\def\tabularx#1{%
-\edef\TX@{\@currenvir}%
- {\ifnum0=`}\fi
- \setlength\TX@target{#1}%
- \TX@typeout{Target width: #1 = \the\TX@target.}%
- \toks@{}\TX@get@body}
-
-\let\endtabularx\relax
-\long\def\TX@get@body#1\end
- {\toks@\expandafter{\the\toks@#1}\TX@find@end}
-\def\TX@find@end#1{%
- \def\@tempa{#1}%
- \ifx\@tempa\TX@\expandafter\TX@endtabularx
- \else\toks@\expandafter
- {\the\toks@\end{#1}}\expandafter\TX@get@body\fi}
-\def\TX@{tabularx}
-\def\TX@endtabularx{%
- \expandafter\TX@newcol\expandafter{\tabularxcolumn{\TX@col@width}}%
- \let\verb\TX@verb
- \def\@elt##1{\global\value{##1}\the\value{##1}\relax}%
- \edef\TX@ckpt{\cl@@ckpt}%
- \let\@elt\relax
- \TX@old@table\maxdimen
- \TX@col@width\TX@target
- \global\TX@cols\@ne
- \TX@typeout@
- {\@spaces Table Width\@spaces Column Width\@spaces X Columns}%
- \TX@trial{\def\NC@rewrite@X{%
- \global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}%
- \loop
- \TX@arith
- \ifTX@
- \TX@trial{}%
- \repeat
- {\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext
- \csname tabular*\expandafter\endcsname\expandafter\TX@target
- \the\toks@
- \csname endtabular*\endcsname}%
- \global\TX@ftn\expandafter{\expandafter}\the\TX@ftn
- \ifnum0=`{\fi}%
- \expandafter\end\expandafter{\TX@}}
-\def\TX@arith{%
- \TX@false
- \ifdim\TX@old@table=\wd\@tempboxa
- \TX@col@width\TX@old@col
- \TX@typeout@{Reached minimum width, backing up.}%
- \else
- \dimen@\wd\@tempboxa
- \advance\dimen@ -\TX@target
- \ifdim\dimen@<\TX@delta
- \TX@typeout@{Reached target.}%
- \else
- \ifnum\TX@cols>\@ne
- \advance\TX@cols\m@ne
- \fi
- \divide\dimen@\TX@cols
- \advance\dimen@ -\TX@col@width
- \ifdim \dimen@ >\z@
- \@memwarn{X Columns too narrow (table too wide)\MessageBreak}%
- \TX@col@width\TX@error@width\relax
- \else
- \TX@old@col\TX@col@width
- \TX@old@table\wd\@tempboxa
- \TX@col@width-\dimen@
- \TX@true
- \fi
- \fi
- \fi}
-\def\TX@error@width{1em}
-\TX@delta\hfuzz
-\newcolumntype{X}{}
-\def\tabularxcolumn#1{p{#1}}
-\def\TX@newcol{\newcol@{X}[0]}
-\def\TX@trial#1{%
- \setbox\@tempboxa\hbox{%
- #1\relax
- \let\@footnotetext\TX@trial@ftn
- \let\TX@vwarn\@empty
- \expandafter\let\expandafter\tabularx\csname tabular*\endcsname
- \expandafter\let\expandafter\endtabularx\csname endtabular*\endcsname
- \def\write{\begingroup
- \def\let{\afterassignment\endgroup\toks@}%
- \afterassignment\let\count@}%
- \hbadness\@M
- \hfuzz\maxdimen
- \let\hbadness\@tempcnta
- \let\hfuzz\@tempdima
- \expandafter\tabular\the\toks@
- \endtabular}%
- \TX@ckpt
- \TX@typeout@{\@spaces
- \expandafter\TX@align
- \the\wd\@tempboxa\space\space\space\space\space\@@
- \expandafter\TX@align
- \the\TX@col@width\space\space\space\space\space\@@
- \@spaces\the\TX@cols}}
-\def\TX@align#1.#2#3#4#5#6#7#8#9\@@{%
- \ifnum#1<10 \space\fi
- \ifnum#1<100 \space\fi
- \ifnum#1<\@m\space\fi
- \ifnum#1<\@M\space\fi
- #1.#2#3#4#5#6#7#8\space\space}
-\def\arraybackslash{\let\\\@arraycr}
-\def\tracingtabularx{%
- \def\TX@typeout{\ClassWarningNoLine{bidimemoir}}%
- \def\TX@typeout@##1{\typeout{(tabularx) ##1}}}
-\let\TX@typeout\@gobble
-\let\TX@typeout@\@gobble
-\newtoks\TX@ftn
-\long\def\TX@ftntext#1{%
- \edef\@tempa{\the\TX@ftn\noexpand\footnotetext
- [\the\csname c@\@mpfn\endcsname]}%
- \global\TX@ftn\expandafter{\@tempa{#1}}}%
-\long\def\TX@xftntext[#1]#2{%
- \global\TX@ftn\expandafter{\the\TX@ftn\footnotetext[#1]{#2}}}
-\long\def\TX@trial@ftn#1{}
-{\uccode`\*=`\ %
-\uppercase{\gdef\TX@verb{%
- \leavevmode\null\TX@vwarn
- {\ifnum0=`}\fi\ttfamily\let\\\ignorespaces
- \@ifstar{\let~*\TX@vb}{\TX@vb}}}}
-\def\TX@vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}%
- \expandafter\TX@v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!}
-\def\TX@v#1!{\afterassignment\TX@vfirst\let\@tempa= }
-\begingroup
-\catcode`\*=\catcode`\#
-\catcode`\#=12
-\gdef\TX@vfirst{%
- \if\@tempa#%
- \def\@tempb{\TX@v@#}%
- \else
- \let\@tempb\TX@v@
- \if\@tempa\space~\else\@tempa\fi
- \fi
- \@tempb}
-\gdef\TX@v@*1 *2{%
- \TX@v@hash*1##\relax\if*2\\\else~\expandafter\TX@v@\fi*2}
-\gdef\TX@v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX@v@hash\fi*2}
-\endgroup
-\def\TX@vwarn{%
- \@warning{\noexpand\verb may be unreliable inside tabularx}%
- \global\let\TX@vwarn\@empty}
-
-%%%%%%%%%% end Tabularx package code %%%%%%%%%%%%%%%%%%%%%
-
-%%\@memfakeusepackage{array}
-%%\@memfakeusepackage{dcolumn}
-%%\@memfakeusepackage{delarray}
-%%\@memfakeusepackage{tabularx}
-
-\newcommand*{\bktabrule}[1]{%
- \hrule \@height#1}
-
-%%%%%%%%%% Booktabs package code %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% slightly modified by PRW %%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% by permission of Simon Fear %%%%%%%%%%%%%%%%%%%%%
-
-\AtBeginDocument{%
- \providecommand*{\CT@arc@}{}}
-
-\newdimen\heavyrulewidth
-\newdimen\lightrulewidth
-\newdimen\cmidrulewidth
-\newdimen\belowrulesep
-\newdimen\belowbottomsep
-\newdimen\aboverulesep
-\newdimen\abovetopsep
-\newdimen\cmidrulesep
-\newdimen\cmidrulekern
-\newdimen\defaultaddspace
-\heavyrulewidth=.08em
-\lightrulewidth=.05em
-\cmidrulewidth=.03em
-\belowrulesep=.65ex
-\belowbottomsep=\z@
-\aboverulesep=.4ex
-\abovetopsep=\z@
-\cmidrulesep=\doublerulesep
-\cmidrulekern=.5em
-\defaultaddspace=.5em
-
-\newcount\@cmidla
-\newcount\@cmidlb
-\newdimen\@aboverulesep
-\newdimen\@belowrulesep
-\newcount\@thisruleclass
-\newcount\@lastruleclass
-\@lastruleclass=0
-\newdimen\@thisrulewidth
-
-\def\futurenonspacelet#1{\def\@BTcs{#1}%
- \afterassignment\@BTfnslone\let\nexttoken= }
-\def\@BTfnslone{\expandafter\futurelet\@BTcs\@BTfnsltwo}
-\def\@BTfnsltwo{\expandafter\ifx\@BTcs\@sptoken\let\next=\@BTfnslthree
- \else\let\next=\nexttoken\fi \next}
-\def\@BTfnslthree{\afterassignment\@BTfnslone\let\next= }
-
-
-
-
-\def\toprule{\noalign{\ifnum0=`}\fi
- \@aboverulesep=\abovetopsep
- \global\@belowrulesep=\belowrulesep
- \global\@thisruleclass=\@ne
- \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}
-
-\def\midrule{\noalign{\ifnum0=`}\fi
- \@aboverulesep=\aboverulesep
- \global\@belowrulesep=\belowrulesep
- \global\@thisruleclass=\@ne
- \@ifnextchar[{\@BTrule}{\@BTrule[\lightrulewidth]}}
-
-\def\bottomrule{\noalign{\ifnum0=`}\fi
- \@aboverulesep=\aboverulesep
- \global\@belowrulesep=\belowbottomsep
- \global\@thisruleclass=\@ne
- \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}
-
-\def\specialrule#1#2#3{\noalign{\ifnum0=`}\fi
- \@aboverulesep=#2\global\@belowrulesep=#3\global\@thisruleclass=\tw@
- \@BTrule[#1]}
-
-\def\addlinespace{\noalign{\ifnum0=`}\fi
- \@ifnextchar[{\@addspace}{\@addspace[\defaultaddspace]}}
-\def\@addspace[#1]{\global\@belowrulesep=#1\global\@thisruleclass=\tw@
- \futurelet\@tempa\@BTendrule}
-
-\def\@BTrule[#1]{%
- \global\@thisrulewidth=#1\relax
- \ifnum\@thisruleclass=\tw@\vskip\@aboverulesep\else
- \ifnum\@lastruleclass=\z@\vskip\@aboverulesep\else
- \ifnum\@lastruleclass=\@ne\vskip\doublerulesep\fi\fi\fi
-
- \ifx\longtable\undefined\let\@BTswitch\@BTnormal\else
- \ifx\hline\LT@hline\let\@BTswitch\@BLTrule
- \else\let\@BTswitch\@BTnormal\fi\fi
- \@BTswitch}
-
-\def\@BTnormal{%
-%% \bktabrule{\@thisrulewidth}
- {\CT@arc@\bktabrule{\@thisrulewidth}}%
- \futurenonspacelet\@tempa\@BTendrule}
-\def\@BLTrule{\@ifnextchar({\@@BLTrule}{\@@BLTrule()}}
-\def\@@BLTrule(#1){\@setrulekerning{#1}%
-\global\@cmidlb\LT@cols
-\ifnum0=`{\fi}%
-\@cmidruleb
-\noalign{\ifnum0=`}\fi
-\futurenonspacelet\@tempa\@BTendrule}
-
-\def\@BTendrule{%
- \ifx\@tempa\toprule\global\@lastruleclass=\@thisruleclass
- \else\ifx\@tempa\midrule\global\@lastruleclass=\@thisruleclass
- \else\ifx\@tempa\bottomrule\global\@lastruleclass=\@thisruleclass
- \else\ifx\@tempa\cmidrule\global\@lastruleclass=\@thisruleclass
- \else\ifx\@tempa\specialrule\global\@lastruleclass=\@thisruleclass
- \else\ifx\@tempa\addlinespace\global\@lastruleclass=\@thisruleclass
- \else\global\@lastruleclass=\z@\fi\fi\fi\fi\fi\fi
- \ifnum\@lastruleclass=\@ne\relax\else\vskip\@belowrulesep\fi
- \ifnum0=`{\fi}}
-\def\@setrulekerning#1{%
- \global\let\cmrkern@l\z@
- \global\let\cmrkern@r\z@
- \@tfor\@tempa :=#1\do
- {\def\@tempb{r}%
- \ifx\@tempa\@tempb
- \global\let\cmrkern@r\cmidrulekern
- \def\cmrsideswitch{\cmrkern@r}%
- \else
- \def\@tempb{l}%
- \ifx\@tempa\@tempb
- \global\let\cmrkern@l\cmidrulekern
- \def\cmrsideswitch{\cmrkern@l}%
- \else
- \global\expandafter\let\cmrsideswitch\@tempa
- \fi
- \fi}}
-
-\def\cmidrule{\noalign{\ifnum0=`}\fi
- \@ifnextchar[{\@cmidrule}{\@cmidrule[\cmidrulewidth]}}
-\def\@cmidrule[#1]{\@ifnextchar({\@@cmidrule[#1]}{\@@cmidrule[#1]()}}
-\def\@@cmidrule[#1](#2)#3{\@@@cmidrule[#3]{#1}{#2}}
-
-\def\@@@cmidrule[#1-#2]#3#4{\global\@cmidla#1\relax
- \global\advance\@cmidla\m@ne
- \ifnum\@cmidla>0\global\let\@gtempa\@cmidrulea\else
- \global\let\@gtempa\@cmidruleb\fi
- \global\@cmidlb#2\relax
- \global\advance\@cmidlb-\@cmidla
- \global\@thisrulewidth=#3
- \@setrulekerning{#4}
- \ifnum\@lastruleclass=\z@\vskip \aboverulesep\fi
- \ifnum0=`{\fi}\@gtempa
- \noalign{\ifnum0=`}\fi\futurenonspacelet\@tempa\@xcmidrule}
-\def\@xcmidrule{\ifx\@tempa\cmidrule\vskip-\@thisrulewidth
- \global\@lastruleclass=\@ne\else
- \ifx\@tempa\morecmidrules\vskip \cmidrulesep
- \global\@lastruleclass=\@ne\else
- \vskip \belowrulesep\global\@lastruleclass=\z@\fi\fi
- \ifnum0=`{\fi}}
-
-\def\@cmidrulea{%
- \multispan\@cmidla&\multispan\@cmidlb
-%% \unskip\hskip \cmrkern@l\leaders\bktabrule{\@thisrulewidth}\hfill
- \unskip\hskip \cmrkern@l{%
- \CT@arc@\leaders\bktabrule{\@thisrulewidth}\hfill}%
- \hskip \cmrkern@r\cr}
-\def\@cmidruleb{%
- \multispan\@cmidlb
-%% \unskip\hskip \cmrkern@l\leaders\bktabrule{\@thisrulewidth}\hfill
- \unskip\hskip \cmrkern@l{%
- \CT@arc@\leaders\bktabrule{\@thisrulewidth}\hfill}%
- \hskip \cmrkern@r\cr}
-
-\def\morecmidrules{\noalign{\relax}}
-
-%%%%%%%%%% end of Booktabs package code %%%%%%%%%%%%%%%%%%%%%
-
-%%\@memfakeusepackage{booktabs}
-
-\ifetex
- \renewcommand*{\killm@matf}[1]{%
- \ifnum 6=\currentgrouptype
- \ifvmode
- \expandafter\expandafter\expandafter\@firstoftwo
- \expandafter\expandafter\expandafter\noalign
- \fi
- \fi
- \@firstofone
- {\@namelet{#1-m@mfb}\relax
- \@namelet{#1-m@mfe}\relax
- }%
- }
-\fi
-
-\newskip\ctableftskip \ctableftskip=\fill
-\newskip\ctabrightskip \ctabrightskip=\fill
-
-\expandafter\def\csname ctabular*\endcsname{%
- \@ifnextchar[ {\@ctabularstar}{\@ctabularstar[c]}}
-\def\@ctabularstar[#1]#2{\global\@curtab\@ne
- \ctableftskip\fill
- \ctabrightskip\fill
- \if l#1% left
- \ctableftskip\z@
- \else
- \if r#1% right
- \ctabrightskip\z@
- \fi
- \fi
- \setlength\dimen@{#2}%
- \xdef\@halignto{to\the\dimen@}\NC@tabular}
-\newcommand*{\ctabular}[1][c]{\global\@curtab\@ne
- \ctableftskip\fill
- \ctabrightskip\fill
- \if l#1% left
- \ctableftskip\z@
- \else
- \if r#1% right
- \ctabrightskip\z@
- \fi
- \fi
- \gdef\@halignto{to\hsize}\NC@tabular}
-
-\newcommand*{\NC@tabular}{%
- \par
- \addvspace{\topsep}
- \col@sep\tabcolsep
- \let\d@llarbegin\begingroup
- \let\d@llarend\endgroup
- \@NCtabarray}
-
-\newcommand*{\@NCialign}{\everycr{}\tabskip\ctableftskip\halign}
-
-\newcommand*{\@NCtabarray}[1]{%
- \@tempdima \ht\strutbox
- \advance\@tempdima\extrarowheight
- \setbox \@arstrutbox \hbox{\vrule
- \@height \arraystretch \@tempdima
- \@depth \arraystretch \dp\strutbox
- \@width\z@}%
- \begingroup
-%% \@mkpream{@{\hspace{\@totalleftmargin}}#1@{}}%
- \@mkpream{#1}%
- \xdef\@preamble{\@NCialign \@halignto
- \bgroup & \tabskip\z@
- \@arstrut
- \@preamble
- \tabskip\ctabrightskip
- \cr}%
- \endgroup
- \let\@sharp ##\let\protect\relax
- \lineskip\z@
- \baselineskip\z@
- \let\\\@arraycr
- \let\tabularnewline\\%
- \let\par\@empty
- \ctabsetlines
- \@preamble
-}
-
-\def\endctabular{%
- \crcr \egroup
- \gdef\@preamble{}%
- \addvspace{\topsep}
- \noindent}
-\expandafter\let\csname endctabular*\endcsname=\endctabular
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand*{\memcline}[2]{\m@m@cline[#1]#2\@nil}
-\def\m@m@cline[#1]#2-#3\@nil{%
- \omit
- \@multicnt#2%
- \advance\@multispan\m@ne
- \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
- \@multicnt#3%
- \advance\@multicnt-#2%
- \advance\@multispan\@ne
- \leaders\hrule\@height #1\hfill % <- variable \@height value
- \cr
- \noalign{\vskip- #1}} % <- variable \@height value
-
-\newcommand*{\memhline}[1][\arrayrulewidth]{\memcline{#1}{1-\@curtab}}
-\newcommand*{\m@mhline}{\cline{1-\@curtab}}
-\def\m@m@BTnormal{%
- \ifnum0=`{\fi} % closes the \noalign
- \multispan{\@curtab} \leaders\bktabrule{\@thisrulewidth}\hfill\cr
- \noalign{\ifnum0=`}\fi
- \futurenonspacelet\@tempa\@BTendrule}
-
-\def\ctabsetlines{%
- \let\hline\m@mhline
- \let\@BTnormal\m@m@BTnormal}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcount\abovecolumnspenalty
- \abovecolumnspenalty=10000
-\newcount\@linestogo % lines remaining to be procesed
-\newcount\@cellstogo % cells remaining in column or row
-\newcount\@cellsincolumn % number of lines per column
-\newtoks\crtok
- \crtok = {\cr}%
-
-\newdimen\@mincolumnwidth
-\let\c@lleftskip\hfil % left skip within a column
-\let\c@lrightskip\hfil % right skip within a column
-
-\let\preautotab\relax
-\let\postautotab\relax
-
-\newcommand{\autocols}[5][0pt]{\par\begingroup
- \ctabsetlines
- \if l#2
- \raggedright
- \else
- \if r#2
- \raggedleft
- \else
- \centering
- \fi
- \fi
- \let\c@lleftskip\hfil
- \let\c@lrightskip\hfil
- \if l#4
- \let\c@lleftskip\relax
- \else
- \if r#4
- \let\c@lrightskip\relax
- \fi
- \fi
- \@mincolumnwidth\z@
- \TX@cols=#3
- \@curtab=#3
- \@linestogo\z@
- \@for\@tempa:=#5\do{
- \advance\@linestogo\@ne
- \settowidth{\@tempdima}{\@tempa}
- \ifdim\@tempdima>\@mincolumnwidth
- \@mincolumnwidth=\@tempdima
- \fi
- }
- \advance\@mincolumnwidth\tabcolsep
- \linespercol
- \def\@endcolumnactions{%
- \global\advance\@linestogo\m@ne
- \ifnum\@cellstogo<\tw@
- \global\advance\TX@cols\m@ne
- \ifnum\TX@cols>\z@\linespercol\fi
- \the\crtok
- \else
- &\global\advance\@cellstogo\m@ne
- \fi}%
- \ifdim #1 > \z@
- \TX@col@width=#1
- \divide\TX@col@width \TX@cols
- \else
- \TX@col@width=\@mincolumnwidth
- \fi
- \penalty\abovecolumnspenalty
- \noindent% usually not a paragraph
- \def\@preamble{}%
- \begingroup
- \let\@sharp\relax
- \ifnum\@cellsincolumn>\@ne
- \loop
- \g@addto@macro{\@preamble}{%
- \hb@xt@ \TX@col@width{%
- \c@lleftskip\strut\@sharp\c@lrightskip} &}%
- \advance\@cellsincolumn\m@ne
- \ifnum\@cellsincolumn>\@ne
- \repeat
- \fi
- \g@addto@macro{\@preamble}{%
- \hb@xt@ \TX@col@width{\c@lleftskip\strut\@sharp\c@lrightskip}}%
- \endgroup
- \let\@sharp ##
- \tabskip\ctableftskip
-%% \tabskip\z@
- \valign \bgroup
- \tabskip\z@
- \@preamble
- \tabskip\ctabrightskip\cr
- \@for\@tempa:=#5\do{
- \@tempa\unskip\space\@endcolumnactions}%
- \the\crtok \egroup \par \endgroup}
-
-\newcommand*{\linespercol}{%
- \@cellsincolumn=\@linestogo
- \divide\@cellsincolumn \TX@cols
- \@cellstogo=\@cellsincolumn
- \multiply\@cellstogo \TX@cols
- \@tempcnta=\@linestogo
- \advance\@tempcnta -\@cellstogo
- \ifnum \@tempcnta>\z@
- \advance\@cellsincolumn \@ne
- \fi
- \global\@cellstogo=\@cellsincolumn}
-
-\newcommand{\autorows}[5][0pt]{\par\begingroup
- \ctabsetlines
- \ctableftskip\fill
- \ctabrightskip\fill
- \if l#2
- \ctableftskip\z@
- \else
- \if r#2
- \ctabrightskip\z@
- \fi
- \fi
- \let\c@lleftskip\hfil
- \let\c@lrightskip\hfil
- \if l#4
- \let\c@lleftskip\relax
- \else
- \if r#4
- \let\c@lrightskip\relax
- \fi
- \fi
- \TX@cols=#3\relax
- \@curtab=#3\relax
- \@cellstogo = \TX@cols
- \@mincolumnwidth\z@
- \@linestogo\z@
- \@for\@tempa:=#5\do{%
- \advance\@linestogo\@ne
- \settowidth{\@tempdima}{\@tempa}
- \ifdim\@tempdima>\@mincolumnwidth
- \@mincolumnwidth=\@tempdima
- \fi}%
- \advance\@mincolumnwidth\tabcolsep
- \def\@endcolumnactions{%
- \global\advance\@linestogo\m@ne
- \global\advance\@cellstogo\m@ne
- \ifnum\@cellstogo<\@ne
- \global\@cellstogo=\TX@cols
- \the\crtok
- \else
- &
- \fi}%
- \ifdim #1>\z@
- \TX@col@width=#1
- \else
- \TX@col@width=\hsize
- \fi
- \divide\TX@col@width \TX@cols
- \ifdim #1=\z@
- \TX@col@width=\@mincolumnwidth
- \fi
- \penalty\abovecolumnspenalty
- \noindent % usually not a paragraph
- \vskip -\z@ % don't know why we need this, but looks bad without it
- \def\@preamble{}%
- \begingroup
- \let\@sharp\relax
- \ifnum\TX@cols>\@ne
- \loop
- \ifdim #1<\z@
- \g@addto@macro{\@preamble}{%
- \strut\c@lleftskip\@sharp\c@lrightskip &}%
- \else
- \g@addto@macro{\@preamble}{%
- \hb@xt@ \TX@col@width{%
- \strut\c@lleftskip\@sharp\c@lrightskip} &}%
- \fi
- \advance\TX@cols\m@ne
- \ifnum\TX@cols>\@ne
- \repeat
- \fi
- \ifdim #1<\z@
- \g@addto@macro{\@preamble}{%
- \strut\c@lleftskip\@sharp\c@lrightskip}%
- \else
- \g@addto@macro{\@preamble}{%
- \hb@xt@ \TX@col@width{\strut\c@lleftskip\@sharp\c@lrightskip}}%
- \fi
- \endgroup
- \let\@sharp ##
- \tabskip\ctableftskip
- \halign to \hsize \bgroup
- \tabskip\z@
- \@preamble
-%% \tabskip\ctabrightskip\cr \preautotab
- \tabskip\ctabrightskip\cr
- \@for\@tempa:=#5\do{%
- \@tempa\unskip\space\@endcolumnactions}%
-%% \the\crtok \postautotab \the\crtok \egroup \endgroup \par
- \the\crtok \egroup \endgroup \par}
-
-\newcounter{newflo@tctr}
- \setcounter{newflo@tctr}{1}
-
-\newcommand{\newfloat}[4][\@empty]{%
-%%% \@namedef{ftype@#2}{\value{newflo@tctr}}
-%%% \addtocounter{newflo@tctr}{\value{newflo@tctr}}
- \expandafter\edef\csname ftype@#2\endcsname{\the\c@newflo@tctr}%
- \advance\c@newflo@tctr \c@newflo@tctr
- \@ifundefined{c@#2}{% counter is not defined
- \ifx \@empty#1\relax
- \newcounter{#2}
- \else
- \newcounter{#2}[#1]
- \expandafter\edef\csname the#2\endcsname{%
- \expandafter\noexpand\csname the#1\endcsname.\noexpand\arabic{#2}}
- \fi}{}
- \setcounter{#2}{0}
-
- \@namedef{ext@#2}{#3}% file extension
- \@ifundefined{c@#3depth}{\newcounter{#3depth}}{}
- \setcounter{#3depth}{1}
-
- \@namedef{fps@#2}{tbp} % position
- \@namedef{fnum@#2}{#4~\@nameuse{the#2}} % caption naming
- \@namedef{fleg#2}{#4} % legend naming
- \@namedef{flegtoc#2}##1{} % legend name in ToC
-
- \newenvironment{#2}{\@float{#2}}{\end@float}
- \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat}
-} % end \newfloat
-
-\newcommand*{\setfloatlocations}[2]{\@namedef{fps@#1}{#2}}
-
-\newcommand{\newsubfloat}[1]{%
- \newlistentry[#1]{sub#1}{\@nameuse{ext@#1}}{1}
- \@namedef{ext@sub#1}{\csname ext@#1\endcsname}
- \@namedef{thesub#1}{(\alph{sub#1})}
- \@namedef{@thesub#1}{\@nameuse{thesub#1}%
- \if@tightsubcap\hskip\subfloatlabelskip\else\space\fi}
- \@namedef{@@thesub#1}{\@nameuse{thesub#1}}
- \@namedef{p@sub#1}{\csname the#1\endcsname}
- \@namedef{toclevel@sub#1}{1}}
-
-\newif\ifdonemaincaption
- \donemaincaptionfalse
-
-\let\@memoldfloat\@float
-\renewcommand{\@float}[1]{\donemaincaptionfalse
- \@ifundefined{c@sub#1}{}{\csname c@sub#1\endcsname = 0\relax}%
- \@memoldfloat{#1}}
-\let\@memolddblfloat\@dblfloat
-\renewcommand{\@dblfloat}[1]{\donemaincaptionfalse
- \@ifundefined{c@sub#1}{}{\csname c@sub#1\endcsname = 0\relax}%
- \@memolddblfloat{#1}}
-
-\let\@memoldefloat\end@float
-\def\end@float{%
- \@memlistsubcaptions{\@captype}\@memoldefloat}
-\let\@memoldedblfloat\end@dblfloat
-\def\end@dblfloat{%
- \@memlistsubcaptions{\@captype}\@memoldedblfloat}
-
-\AtBeginDocument{\@ifpackageloaded{fixltx2e}{%
- \def\end@dblfloat{%
- \if@twocolumn
- \@endfloatbox
- \ifnum\@floatpenalty<\z@
- \@largefloatcheck
- \global\dp\@currbox1sp %
- \@cons\@deferlist\@currbox
- \fi
- \ifnum\@floatpenalty=-\@Mii \@Esphack\fi
- \else
- \end@float
- \fi}}{}}
-
-\newif\if@contcw
-\newif\if@conthang
-\newif\if@contindent
-
-\newcommand{\captiondelim}[1]{\def\@contdelim{#1}}
-\captiondelim{: }
-
-\newcommand{\captionnamefont}[1]{\def\@contnfont{#1}}
-\captionnamefont{}
-
-\newcommand{\captiontitlefont}[1]{\def\@conttfont{#1}}
-\captiontitlefont{}
-
-\newcommand*{\captionstyle}[1]{\def\@contcstyle{#1}}
-\captionstyle{}
-
-\renewcommand{\captionstyle}{%
- \@ifnextchar[ {\@memcshort}{\@memcnorm}}
-\def\@memcshort[#1]#2{%
- \def\@contcshortstyle{#1}
- \def\@contcstyle{#2}}
-\def\@memcnorm#1{%
- \def\@contcshortstyle{#1}
- \def\@contcstyle{#1}}
-\captionstyle{}
-
-\newlength{\@contcwidth}
-\newcommand{\captionwidth}[1]{\setlength{\@contcwidth}{#1}}
-\captionwidth{\linewidth}
-\newcommand{\changecaptionwidth}{\@contcwtrue}
-\newcommand{\normalcaptionwidth}{\@contcwfalse}
-\normalcaptionwidth
-
-\newlength{\@contindw}
-\newcommand{\hangcaption}{\@conthangtrue\@contindentfalse}
-\newcommand{\indentcaption}[1]{\setlength{\@contindw}{#1}%
- \@conthangfalse\@contindenttrue}
-\newcommand{\normalcaption}{\@conthangfalse\@contindentfalse}
-\normalcaption
-
-\newcommand{\precaption}[1]{\def\@contpre{#1}}
-\precaption{}
-\newcommand{\postcaption}[1]{\def\@contpost{#1}}
-\postcaption{}
-\newcommand{\midbicaption}[1]{\def\@contmidbi{#1}}
-\midbicaption{}
-
-\newcommand*{\captiontitlefinal}[1]{\def\@contfinal{#1}}
- \captiontitlefinal{}
-
-\newlength{\abovecaptionskip}
- \setlength{\abovecaptionskip}{0.5\onelineskip}
-\newlength{\belowcaptionskip}
- \setlength{\belowcaptionskip}{0.5\onelineskip}
-
-\let\@memoldcaption\caption
-\def\caption{\donemaincaptiontrue\@memoldcaption}
-
-\newcommand{\memcaptioninfo}[4]{}
-
-\let\@memold@caption\@caption
-\long\def\@caption#1[#2]#3{%
- \M@gettitle{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@memold@caption{#1}[{#2}]{#3}}
-
-\long\def\@makecaption#1#2{\let\@memtempa\relax
- \ifdim\prevdepth>-99\p@ \vskip\abovecaptionskip
- \else \def\@memtempa{\vbox to\topskip{}}\fi
- \let\@contfnote\footnote \renewcommand{\footnote}[2][]{}
- \let\@contfmark\footnotemark \renewcommand{\footnotemark}[1][]{}
- \sbox\@tempboxa{\@contnfont #1\@contdelim \@conttfont #2\@contfinal}
- \let\footnote\@contfnote
- \let\footnotemark\@contfmark
- \ifdim\wd\@tempboxa<\linewidth \centering \fi
- \if@contcw
- \centering
- \parbox{\@contcwidth}{%
- \ifdim\wd\@tempboxa<\@contcwidth \centering \fi
- \fi
- \if@conthang
- \sbox\@tempboxa{\@contnfont #1\@contdelim}
- \@contpre%
- {\@contcstyle\hangindent=\wd\@tempboxa
- \noindent\box\@tempboxa\@memtempa \@conttfont #2\@contfinal\par}
- \else
- \if@contindent
- \@contpre%
- {\@contnfont #1\@contdelim}\@memtempa
- {\@contcstyle\hangindent=\@contindw
- \hangafter=\@ne\@conttfont #2\@contfinal\par}% <- v1.4
- \else
- \@contpre%
- {\@contnfont #1\@contdelim}\@memtempa
- {\ifdim\wd\@tempboxa<\linewidth
- \@contcshortstyle\else \@contcstyle\fi% <- v1.4
- \@conttfont #2\@contfinal\par}
- \fi
- \fi
- \@contpost
- \if@contcw
- \par
- } % end of the \parbox
- \fi
- \vskip\belowcaptionskip}
-
-\newcommand{\contcaption}{%
- \addtocounter{\@captype}{\m@ne}\refstepcounter{\@captype}%
- \@contcaption\@captype}
-
-\long\def\@@contcaption#1#2{%
- \par
- \begingroup
- \@parboxrestore
- \if@minipage
- \@setminipage
- \fi
- \normalsize
- \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #2}\par
- \endgroup}
-
-\long\def\@contcaption#1#2{%
- \if@contbotsub
- \@memlistsubcaptions{#1}%
- \@@contcaption{#1}{#2}%
- \else
- \@@contcaption{#1}{#2}%
- \@memlistsubcaptions{#1}%
- \fi}
-
-\newcommand{\memlegendinfo}[1]{}
-\newcommand{\legend}[1]{%
- \M@gettitle{#1}%
- \memlegendinfo{#1}%
- \par
- \begingroup
- \@parboxrestore
- \if@minipage
- \@setminipage
- \fi
- \normalsize
- \captiondelim{\mbox{}}
- \@makecaption{}{\ignorespaces #1}\par
- \endgroup}
-
-\newcommand{\namedlegend}{\@dblarg{\@legend\@captype}}
-\newcommand{\memnamedlegendinfo}[3]{}
-
-\long\def\@legend#1[#2]#3{%
- \M@gettitle{#2}%
- \memnamedlegendinfo{#1}{#2}{#3}%
- \par
- \csname flegtoc#1\endcsname{#2}%
- \begingroup
- \@parboxrestore
- \if@minipage
- \@setminipage
- \fi
- \normalsize
- \@makecaption{\csname fleg#1\endcsname}{\ignorespaces #3}\par
- \endgroup}
-
-\newcommand{\newfixedcaption}[3][\caption]{%
- \newcommand{#2}{\def\@captype{#3}#1}}
-\newcommand{\renewfixedcaption}[3][\caption]{%
- \renewcommand{#2}{\def\@captype{#3}#1}}
-\newcommand{\providefixedcaption}[3][\caption]{%
- \providecommand{#2}{\def\@captype{#3}#1}}
-
-\newcommand{\membitwonumcaptioninfo}[7]{}
-\newcommand{\membionenumcaptioninfo}[7]{}
-\newcommand{\membicaptioninfo}[6]{}
-
-\newcommand{\bitwonumcaption}[6][\@empty]{%
- \begingroup
- \let\memcaptioninfo\@gobblefour
- \@ifmtarg{#2}{\def\m@mscapi{#3}\caption{#3}}%
- {\def\m@mscapi{#2}\caption[#2]{#3}}%
- \ifx \@empty #1\else
- \label{#1}%
- \fi
- \setlength{\abovecaptionskip}{0pt}%
- \setlength{\belowcaptionskip}{0pt}%
- \edef\@memtempc{#4}%
- \expandafter\renewcommand\csname \@captype name\endcsname{\@memtempc}%
- \addtocounter{\@captype}{-1}%
- \@contmidbi
- \@ifmtarg{#5}{\def\m@mscapii{#6}\caption{#6}}%
- {\def\m@mscapii{#5}\caption[#5]{#6}}%
- \membitwonumcaptioninfo{\@captype}{\@nameuse{the\@captype}}%
- {\m@mscapi}{#3}{#4}{\m@mscapii}{#6}%
- \endgroup}
-
-\newcommand{\bionenumcaption}[6][\@empty]{%
- \begingroup
- \let\memcaptioninfo\@gobblefour
- \@ifmtarg{#2}{\def\m@mscapi{#3}\caption{#3}}%
- {\def\m@mscapi{#2}\caption[#2]{#3}}%
- \ifx \@empty #1\else
- \label{#1}%
- \fi
- \setlength{\abovecaptionskip}{0pt}%
- \setlength{\belowcaptionskip}{0pt}%
- \edef\@memtempc{#4}%
- \expandafter\renewcommand\csname \@captype name\endcsname{\@memtempc}
- \@contmidbi
- \contcaption{#6}%
- \@ifmtarg{#5}{%
- \def\m@mscapii{#6}%
- \addcontentsline{\csname ext@\@captype\endcsname}{\@captype}%
- {\protect\numberline{}{\ignorespaces #6}}}{%
- \def\m@mscapii{#5}%
- \addcontentsline{\csname ext@\@captype\endcsname}{\@captype}%
- {\protect\numberline{}{\ignorespaces #5}}}%
- \membionenumcaptioninfo{\@captype}{\@nameuse{the\@captype}}%
- {\m@mscapi}{#3}{#4}{\m@mscapii}{#6}%
- \endgroup}
-
-\newcommand{\bicaption}[5][\@empty]{%
- \begingroup
- \let\memcaptioninfo\@gobblefour
- \@ifmtarg{#2}{\def\m@mscapi{#3}\caption{#3}}%
- {\def\m@mscapi{#2}\caption[#2]{#3}}%
- \ifx \@empty #1\else
- \label{#1}%
- \fi
- \setlength{\abovecaptionskip}{0pt}%
- \setlength{\belowcaptionskip}{0pt}%
- \edef\@memtempc{#4}
- \expandafter\renewcommand\csname \@captype name\endcsname{\@memtempc}%
- \@contmidbi
- \contcaption{#5}%
- \membicaptioninfo{\@captype}{\@nameuse{the\@captype}}%
- {\m@mscapi}{#3}{#4}{#5}%
- \endgroup}
-
-\newcommand{\bicontcaption}[3]{%
- \begingroup
- \contcaption{#1}%
- \setlength{\abovecaptionskip}{0pt}%
- \setlength{\belowcaptionskip}{0pt}%
- \edef\@memtempc{#2}%
- \expandafter\renewcommand\csname \@captype name\endcsname{\@memtempc}%
- \@contmidbi
- \contcaption{#3}%
- \endgroup}
-
-\newcommand{\subcaptionstyle}[1]{\def\@contsubcstyle{#1}}
-\subcaptionstyle{}
-
-\newif\if@shortsubcap
-\newif\if@hangsubcap
-\newcommand*{\shortsubcaption}{\@shortsubcaptrue}
-\newcommand*{\hangsubcaption}{\@hangsubcaptrue}
-\newcommand*{\normalsubcaption}{\@shortsubcapfalse\@hangsubcapfalse}
-\normalsubcaption
-
-\newskip\subfloattopskip
-\newskip\subfloatcapskip
-\newskip\subfloatcaptopadj
-\newskip\subfloatbottomskip
-\newskip\subfloatlabelskip
-\newdimen\subfloatcapmargin
-\newif\if@tightsubcap
-\newcommand{\loosesubcaptions}{%
- \subfloattopskip = 10\p@
- \subfloatcapskip = 10\p@
- \subfloatcaptopadj = \z@
- \subfloatbottomskip = 10\p@
- \subfloatlabelskip = 0.33em
- \subfloatcapmargin = 10\p@
- \@tightsubcapfalse
-}
-
-\newcommand{\tightsubcaptions}{%
- \subfloattopskip = 5\p@
- \subfloatcapskip = \z@
- \subfloatcaptopadj = 3\p@
- \subfloatbottomskip = 5\p@
- \subfloatlabelskip = 0.33em \@plus 0.07em \@minus 0.03em
- \subfloatcapmargin = \z@
- \@tightsubcaptrue
-}
-\tightsubcaptions
-
-\newcommand*{\subcaptionsize}[1]{\def\@subcapsize{#1}}
-\newcommand*{\subcaptionlabelfont}[1]{\def\@subcaplabelfont{#1}}
-\newcommand*{\subcaptionfont}[1]{\def\@subcapfont{#1}}
-\subcaptionsize{\footnotesize}
-\subcaptionlabelfont{\normalfont}
-\subcaptionfont{\normalfont}
-
- \newcounter{@contsubnum}
- \newcommand{\@contkeep}{%
- \setcounter{@contsubnum}{\value{sub\@captype}}}
- \newcommand{\@contset}{%
- \setcounter{sub\@captype}{\value{@contsubnum}}}
- \newcommand{\subconcluded}{%
- \setcounter{sub\@captype}{0}}
-\newif\if@contbotsub
- \@contbotsubtrue
-
-\newcommand{\subcaption}{%
- \bgroup
- \let\label=\memsub@label
- \ifdonemaincaption\else
- \advance\csname c@\@captype\endcsname\@ne
- \fi
- \refstepcounter{sub\@captype}\@contkeep
- \@ifnextchar [%
- {\@memsubcap{sub\@captype}}%
- {\@memsubcap{sub\@captype}[\@empty]}}
-\long\def\@memsubcap#1[#2]#3{%
- \@tempdima=\hsize
- \vskip\subfloatcapskip
- \ifx \@empty #2
- \@memsubcaption{#1}{#3}{#3}%
- \else
- \@memsubcaption{#1}{#2}{#3}%
- \fi
- \vskip\subfloatcapskip
- \egroup}
-\newcommand{\@memsubcaption}[3]{%
- \ifx \relax#2\relax \else
- \bgroup
- \let\label\@gobble
- \let\protect\string
- \def\@memsubcaplabel{\@nameuse{@@the#1}}%
- \xdef\@memsubfigcaptionlist{%
- \@memsubfigcaptionlist,%
- {\protect\numberline{\@memsubcaplabel}\noexpand{\ignorespaces #2}}}%
- \egroup
- \fi
- \@makesubfloatcaption{\@nameuse{@the#1}}{#3}}
-
-\newcommand{\contsubcaption}{%
- \bgroup
- \let\label=\memsub@label
- \@contset
- \refstepcounter{sub\@captype}\@contkeep
- \@ifnextchar [%
- {\@memsubcap{sub\@captype}}%
- {\@memsubcap{sub\@captype}[\@empty]}}
-\newenvironment{subfloat}{}{}
-
-\newcommand{\subbottom}{%
- \@contbotsubtrue
- \@memsubbody}
-
-\newcommand{\@memsubbody}{%
- \bgroup
- \let\label=\memsub@label
- \ifdonemaincaption\else
- \advance\csname c@\@captype\endcsname\@ne
- \fi
- \refstepcounter{sub\@captype}\@contkeep%
- \leavevmode
- \@ifnextchar [%
- {\@memsubfig}%
- {\@memsubfig[\@empty]}}
-
-\newcommand{\contsubbottom}{%
- \@contbotsubtrue
- \@memcontsubbody}
-
-\newcommand{\@memcontsubbody}{%
- \bgroup
- \let\label=\memsub@label
- \@contset
- \refstepcounter{sub\@captype}\@contkeep%
- \leavevmode
- \@ifnextchar [%
- {\@memsubfig}%
- {\@memsubfig[\@empty]}}
-
-\newcommand{\subtop}{%
- \@contbotsubfalse
- \@memsubbody}
-
-\newcommand{\contsubtop}{%
- \@contbotsubfalse
- \@memcontsubbody}
-
-\def\@memsubfig[#1]{%
- \@ifnextchar [%
- {\@memsubfloat{sub\@captype}[#1]}%
- {\@memsubfloat{sub\@captype}[\@empty #1][#1]}}
-
-\def\@memsubfloat#1[#2][#3]#4{%
- \@tempcnta=\@ne
- \if@tightsubcap
- \if@minipage
- \@tempcnta=\z@
- \else
- \ifdim\lastskip=\z@
- \@tempcnta=\@ne
- \else
- \@tempcnta=\tw@
- \fi
- \fi
- \fi
- \if@contbotsub
- \def\subfig@top{\subfloattopskip}%
- \def\subfig@bottom{\subfloatbottomskip}%
- \else
- \def\subfig@top{\subfloatbottomskip}%
- \def\subfig@bottom{\subfloattopskip}%
- \fi
- \setbox\@tempboxa \hbox{#4}%
- \@tempdima=\wd\@tempboxa
- \vtop\bgroup
- \vbox\bgroup
- \ifcase\@tempcnta
- \@minipagefalse
- \or
- \vspace{\subfig@top}
- \or
- \ifdim \lastskip=\z@ \else
- \@tempskipb\subfig@top\@xaddvskip
- \fi
- \fi
- \if@contbotsub
- \box\@tempboxa\egroup
- \ifx \@empty#3\relax \else
- \vskip\subfloatcapskip
- \@memsubcaption{#1}{#2}{#3}%
- \fi
- \else
- \ifx \@empty#3\relax \else
- \@memsubcaption{#1}{#2}{#3}%
- \vskip\subfloatcapskip
- \vskip\subfloatcaptopadj
- \fi\egroup
- \box\@tempboxa
- \fi
- \vspace{\subfig@bottom}
- \egroup
-\egroup}
-
-\newcommand*{\@memsubfigcaptionlist}{}
-\newcommand*{\memlistsubcaptions}{%
- \@ifstar
- {\gdef\@memsubfigcaptionlist{}}%
- {\@memlistsubcaptions{\@captype}}}
-
-\newcommand*{\@memlistsubcaptions}[1]{%
- \@ifundefined{@captype}{}{%
- \@ifundefined{ext@sub#1}{}{%
- \@for \@tempa:=\@memsubfigcaptionlist \do {%
- \ifx \@empty\@tempa\relax \else
- \addcontentsline{\@nameuse{ext@sub#1}}{sub#1}{\@tempa}%
- \fi}}}%
- \gdef\@memsubfigcaptionlist{}}
-
-\newcommand{\@makesubfloatcaption}[2]{%
- \setbox\@tempboxa\hbox{%
- \@subcapsize
- {\@subcaplabelfont #1}{\@subcapfont\ignorespaces #2}}%
- \@tempdimb=-\subfloatcapmargin
- \multiply\@tempdimb\tw@
- \advance\@tempdimb\@tempdima
- \hb@xt@\@tempdima{%
- \hss
- \ifdim \wd\@tempboxa >\@tempdimb
- \memsubfig@caption{#1}{#2}%
- \else
- \if@shortsubcap
- \memsubfig@caption{#1}{#2}%
- \else
- \box\@tempboxa
- \fi
- \fi
- \hss}}
-
-\newcommand{\memsubfig@caption}[2]{%
- \if@hangsubcap
- \sbox{\@tempboxa}{\@subcapsize\@subcaplabelfont #1}%
- \addtolength{\@tempdimb}{-\wd\@tempboxa}%
- \usebox{\@tempboxa}%
- \memsubfig@captionpar{\@tempdimb}{%
- {\@subcapfont\ignorespaces #2}}%
- \else
- \memsubfig@captionpar{\@tempdimb}{{\@subcaplabelfont #1}%
- {\@subcapfont\ignorespaces #2}}%
- \fi}
-
-\newcommand{\memsubfig@captionpar}[2]{%
- \parbox[t]{#1}{\@subcapsize\@contsubcstyle #2}}
-
-\newcommand{\memsub@label}{%
- \@ifnextchar (%
- {\sf@memsub@label}%
- {\sf@memsub@label(Sub\@captype\space
- \@nameuse{p@sub\@captype}%
- \@nameuse{thesub\@captype})}}
-\def\sf@memsub@label(#1)#2{%
- \protected@edef\mem@currentlabelname{#1}%
- \sf@@memsub@label{#2}}
-
-\AtBeginDocument{%
- \@ifpackageloaded{nameref}{%
- \newcommand*{\sf@@memsub@label}[1]{%
- \@bsphack
- \protected@write\@auxout{}{%
- \string\newlabel{#1}%
- {{\@nameuse{p@sub\@captype}\@nameuse{@@thesub\@captype}}%
- {\thepage}%
- {\mem@currentlabelname\relax}%
- {\@currentHref}{}}}%
- \protected@write\@auxout{}{%
- \string\newlabel{sub@#1}%
- {{\@nameuse{@@thesub\@captype}}%
- {\thepage}%
- {\mem@currentlabelname\relax}%
- {\@currentHref}{}}}%
- \@esphack}
- }{\@ifpackageloaded{hyperref}{%
- \newcommand*{\sf@@memsub@label}[1]{%
- \@bsphack
- \protected@write\@auxout{}{%
- \string\newlabel{#1}%
- {{\@nameuse{p@sub\@captype}\@nameuse{@@thesub\@captype}}%
- {\thepage}%
- {\mem@currentlabelname\relax}%
- {\@currentHref}{}}}%
- \protected@write\@auxout{}{%
- \string\newlabel{sub@#1}%
- {{\@nameuse{@@thesub\@captype}}%
- {\thepage}%
- {\mem@currentlabelname\relax}%
- {\@currentHref}{}}}%
- \@esphack}
- }{%
- \let\@memoldlabel\label
- \newcommand*{\sf@@memsub@label}[1]{%
- \@bsphack
- \@memoldlabel{#1}%
- \protected@write\@auxout{}{%
- \string\newlabel{sub@#1}%
- {{\@nameuse{@@thesub\@captype}}%
- {\thepage}}}%
- \@esphack}
- }{}%
- }
-}
-
-\newcommand*{\subcaptionref}{%
- \@ifstar{\ssc@ref}{\sc@ref}}
-\newcommand*{\ssc@ref}[1]{\ref{sub@#1}}
-\newcommand*{\sc@ref}[1]{{\@subcaplabelfont\ref{sub@#1}}}
-
-\newsavebox{\m@mscap@capbox}
-\newsavebox{\m@mscap@fbox}
-
-\newdimen\sidecapsep
- \sidecapsep=\marginparsep
-\newdimen\sidecapwidth
- \sidecapwidth=\marginparwidth
-\newcommand*{\setsidecaps}[2]{%
- \setlength{\sidecapsep}{#1}\@memznegtest{\sidecapsep}%
- \setlength{\sidecapwidth}{#2}\@memznegtest{\sidecapwidth}}
-
-\newdimen\m@m@tempdima
-\newdimen\m@mscapraise
-\newdimen\sidecapraise
- \sidecapraise \z@
-
-\newcommand*{\setsidecappos}[1]{%
- \def\m@mscappos{#1}\def\@tempb{t}%
- \ifx\@tempb\m@mscappos
- \else
- \def\@tempb{b}%
- \ifx\@tempb\m@mscappos
- \else
- \def\@tempb{c}%
- \ifx\@tempb\m@mscappos
- \else
- \@memerror{Argument to \string\setsidecappos\space is not t or c or b.
- \MessageBreak Set to c}{\@ehc}%
- \def\m@mscappos{c}%
- \fi
- \fi
- \fi}
-\setsidecappos{c}
-
-\newcommand{\sidecapmargin}[1]{%
- \def\@tempa{#1}\def\@tempb{left}%
- \ifx\@tempb\@tempa
- \def\m@mscapmarg{0}% left
- \else
- \def\@tempb{right}%
- \ifx\@tempb\@tempa
- \def\m@mscapmarg{1}% right
- \else
- \def\@tempb{outer}%
- \ifx\@tempb\@tempa
- \def\m@mscapmarg{2}% outer
- \else
- \def\@tempb{inner}%
- \ifx\@tempb\@tempa
- \def\m@mscapmarg{3}% inner
- \else
- \@memerror{Unrecognized argument for \string\sidecapmargin}%
- {\@ehc}%
- \def\m@mscapmarg{-1}% error
- \fi
- \fi
- \fi
- \fi}
-\sidecapmargin{left}
-
-\newif\ifscapmargleft
-
-\def\sidecapfloatwidth{\linewidth}
-\newdimen\m@mscapmainwidth
-
-\newdimen\m@mscaplkern
-\newcommand*{\setm@mscaplkern}{%
- \m@mscaplkern=\sidecapwidth
- \advance\m@mscaplkern \sidecapsep
- \advance\m@mscaplkern \m@mscapmainwidth}
-
-\newcommand*{\sidecapstyle}{%
-%%% \captionnamefont{\bfseries}%
- \ifscapmargleft
- \captionstyle{\raggedleft}%
- \else
- \captionstyle{\raggedright}%
- \fi}
-
-\newcommand*{\sidecaption}{%
- \@ifnextchar [{\@sidecaption}{\@sidecaption[]}}
-\def\@sidecaption[#1]#2{%
- \@ifnextchar [{\@@sidecaption{#1}{#2}}{\@@sidecaption{#1}{#2}[]}}
-\newcommand\@mem@scap@beforehook{}
-\newcommand\@mem@scap@afterhook{}
-
-\def\@@sidecaption#1#2[#3]{%
- \ifx\@empty#1\@empty
- \def\m@mscap@fortoc{#2}%
- \else
- \def\m@mscap@fortoc{#1}%
- \fi
- \def\m@mscap@forcap{#2}%
- \ifx\@empty#3\@empty
- \def\m@mscaplabel{}%
- \else
- \def\m@mscaplabel{\@bsphack\label{#3}\@esphack}%
- \fi
- \m@mscapstart@fbox}
-
-\newcommand*{\m@mscapstart@fbox}{%
- \@mem@scap@beforehook%
- \setlength{\m@mscapmainwidth}{\sidecapfloatwidth}%
- \setm@mscaplkern
- \begin{lrbox}{\m@mscap@fbox}%
- \begin{minipage}[c]{\m@mscapmainwidth}}
-\newcommand*{\m@mscapend@fbox}{%
- \end{minipage}%
- \end{lrbox}}
-
-\def\endsidecaption{%
- \m@mscapend@fbox
- \refstepcounter\@captype
- \m@mscaplabel
- \begin{lrbox}{\m@mscap@capbox}%
- \begin{minipage}[c]{\sidecapwidth}%
- \sidecapstyle
- \@caption\@captype[\m@mscap@fortoc]{\m@mscap@forcap}
- \end{minipage}%
- \end{lrbox}%
- \m@mscapopboxes}
-\newcommand*{\m@mscapopboxes}{%
- \m@mcalcscapraise
- \usebox{\m@mscap@fbox}\m@mscapcheckside
- \ifscapmargleft%
- \rlap{\kern-\m@mscaplkern
- \raisebox{\m@mscapraise}{\usebox{\m@mscap@capbox}}}%
- \else%
- \rlap{\kern\sidecapsep
- \raisebox{\m@mscapraise}{\usebox{\m@mscap@capbox}}}%
- \fi
- \gdef\m@mscapthisside{}%
- \@mem@scap@afterhook%
-}
-
-\newcommand*{\m@mcalcscapraise}{%
- \def\@tempb{t}%
- \ifx\m@mscappos\@tempb
- \settoheight{\m@m@tempdima}{\strut\usebox{\m@mscap@capbox}}%
- \settoheight{\m@mscapraise}{\usebox{\m@mscap@fbox}}%
- \advance\m@mscapraise -\m@m@tempdima
- \advance\m@mscapraise 0.5ex
- \else
- \def\@tempb{b}%
- \ifx\m@mscappos\@tempb
- \settodepth{\m@m@tempdima}{\usebox{\m@mscap@fbox}}%
- \settodepth{\m@mscapraise}{\strut\usebox{\m@mscap@capbox}}%
- \advance\m@mscapraise -\m@m@tempdima
- \else
- \m@mscapraise=\z@
- \advance\m@mscapraise 0.25ex
- \fi
- \fi
- \advance\m@mscapraise \sidecapraise}
-
-\newcommand*{\m@mscapcheckside}{%
- \if@twocolumn
- \ifdim\hsize=\textwidth% float*
- \m@mscapcheckregside
- \else
- \if@firstcolumn
- \scapmarglefttrue
- \else
- \scapmargleftfalse
- \fi
- \fi
- \else
- \m@mscapcheckregside
- \fi
- \m@mscapthisside}
-\newcommand*{\m@mscapcheckregside}{%
- \if@twoside
- \checkoddpage
- \ifnum\m@mscapmarg<\@ne% % left
- \scapmarglefttrue
- \else
- \ifnum\m@mscapmarg=\@ne% % right
- \scapmargleftfalse
- \else
- \ifnum\m@mscapmarg=\tw@% % outer
- \scapmarglefttrue
- \ifoddpage
- \scapmargleftfalse
- \fi
- \else% % inner
- \scapmargleftfalse
- \ifoddpage
- \scapmarglefttrue
- \fi
- \fi
- \fi
- \fi
- \else% oneside
- \scapmarglefttrue
- \ifnum\m@mscapmarg>\@ne
- \ifnum\m@mscapmarg<\thr@@
- \scapmargleftfalse
- \fi
- \fi
- \fi}
-
-\newcommand*{\overridescapmargin}[1]{%
- \def\@tempb{#1}\def\@tempa{left}%
- \ifx\@tempa\@tempb
- \def\m@mscapthisside{\scapmarglefttrue}%
- \else
- \def\@tempa{right}%
- \ifx\@tempa\@tempb
- \def\m@mscapthisside{\scapmargleftfalse}%
- \else
- \@memerror{Argument to \string\overridescapmargin\space neither
- left nor right}{\@ehc}%
- \def\m@mscapthisside{}%
- \fi
- \fi}
-\newcommand*{\m@mscapthisside}{}
-
-\newcommand*{\sidecontcaption}{%
- \@sidecontcaption}
-\def\@sidecontcaption#1{%
- \@ifnextchar [{\@@sidecontcaption{#1}}{\@@sidecontcaption{#1}[]}}
-\def\@@sidecontcaption#1[#2]{%
- \def\m@mscap@forcap{#1}%
- \ifx\@empty#2\@empty
- \def\m@mscaplabel{}%
- \else
- \def\m@mscaplabel{\@bsphack\label{#2}\@esphack}%
- \fi
- \m@mscapstart@fbox}
-
-\def\endsidecontcaption{%
- \m@mscapend@fbox
- \addtocounter{\@captype}{\m@ne}\refstepcounter\@captype
- \m@mscaplabel
- \begin{lrbox}{\m@mscap@capbox}%
- \begin{minipage}[c]{\sidecapwidth}%
- \sidecapstyle
- \@contcaption\@captype{\m@mscap@forcap}
- \end{minipage}%
- \end{lrbox}%
- \m@mscapopboxes}
-
-\newcommand*{\sidenamedlegend}{%
- \@ifnextchar [{\@sidenamedlegend}{\@sidenamedlegend[]}}
-\def\@sidenamedlegend[#1]#2{%
- \@@sidenamedlegend{#1}{#2}}
-\def\@@sidenamedlegend#1#2{%
- \ifx\@empty#1\@empty
- \def\m@mscap@fortoc{#2}%
- \else
- \def\m@mscap@fortoc{#1}%
- \fi
- \def\m@mscap@forcap{#2}%
- \def\m@mscaplabel{}%
- \m@mscapstart@fbox}
-
-\def\endsidenamedlegend{%
- \m@mscapend@fbox
- \begin{lrbox}{\m@mscap@capbox}%
- \begin{minipage}[c]{\sidecapwidth}%
- \sidecapstyle
- \@legend\@captype[\m@mscap@fortoc]{\m@mscap@forcap}
- \end{minipage}%
- \end{lrbox}%
- \m@mscapopboxes}
-
-\newcommand*{\sidelegend}{%
- \@@sidelegend}
-\def\@@sidelegend#1{%
- \def\m@mscap@forcap{#1}%
- \m@mscapstart@fbox}
-
-\def\endsidelegend{%
- \m@mscapend@fbox
- \begin{lrbox}{\m@mscap@capbox}%
- \begin{minipage}[c]{\sidecapwidth}%
- \sidecapstyle
- \legend{\m@mscap@forcap}
- \end{minipage}%
- \end{lrbox}%
- \m@mscapopboxes}
-
-\newlength{\beforeepigraphskip}
- \setlength{\beforeepigraphskip}{.5\baselineskip}
-\newlength{\afterepigraphskip}
- \setlength{\afterepigraphskip}{.5\baselineskip}
-\newlength{\epigraphwidth}
- \setlength{\epigraphwidth}{.4\textwidth}
-\newlength{\epigraphrule}
- \setlength{\epigraphrule}{.4\p@}
-\newcommand{\epigraphsize}{\small}
-\newcommand{\epigraphflush}{flushright}
-\newcommand{\textflush}{flushleft}
-\newcommand{\sourceflush}{flushright}
-\newcommand{\epigraphfontsize}[1]{\def\epigraphsize{#1}}
-\newcommand{\epigraphposition}[1]{\long\def\epigraphflush{#1}}
-\newcommand{\epigraphtextposition}[1]{\def\textflush{#1}}
-\newcommand{\epigraphsourceposition}[1]{\def\sourceflush{#1}}
-
-\newcommand{\@epirule}{\rule[.5ex]{\epigraphwidth}{\epigraphrule}}
-\newcommand{\@epitext}[1]{%
- \begin{minipage}{\epigraphwidth}\begin{\textflush} #1\par
- \ifdim\epigraphrule>\z@ \@epirule \else \vspace*{1ex} \fi
- \end{\textflush}\end{minipage}}
-\newcommand{\@episource}[1]{%
- \begin{minipage}{\epigraphwidth}
- \begin{\sourceflush} #1\par
- \end{\sourceflush}\end{minipage}}
-
-\newcommand{\epigraph}[2]{\vspace{\beforeepigraphskip}
- {\epigraphsize\begin{\epigraphflush}\begin{minipage}{\epigraphwidth}
- \@epitext{#1}\\ \@episource{#2}
- \end{minipage}\end{\epigraphflush}
- \vspace{\afterepigraphskip}}}
-\newcommand{\qitem}[2]{{%
- \raggedright\item \begin{minipage}{\epigraphwidth}
- \@epitext{#1}\\ \@episource{#2}
- \end{minipage}}}
-\newcommand{\qitemlabel}[1]{\hfill}
-\newenvironment{epigraphs}{%
- \vspace{\beforeepigraphskip}\begin{\epigraphflush}
- \epigraphsize
- \begin{minipage}{\epigraphwidth}
- \list{}%
- {\itemindent\z@ \labelwidth\z@ \labelsep\z@
- \leftmargin\z@ \rightmargin\z@
- \let\makelabel\qitemlabel}}%
- {\endlist\end{minipage}\end{\epigraphflush}
- \vspace{\afterepigraphskip}}
-\newcommand{\dropchapter}[1]{%
- \let\@epichapapp\@chapapp
- \renewcommand{\@chapapp}{\vspace*{#1}\@epichapapp}}
-\newcommand{\undodrop}{\let\@chapapp\@epichapapp}
-\newif\if@epirhs \@epirhstrue
-\newif\if@epicenter \@epicentertrue
-\newcommand{\@epipos}{
- \long\def\@ept{flushleft}
- \ifx\epigraphflush\@ept
- \@epirhsfalse \@epicenterfalse
- \else
- \long\def\@ept{center}
- \ifx\epigraphflush\@ept
- \@epirhsfalse \@epicentertrue
- \else
- \@epirhstrue \@epicenterfalse
- \fi
- \fi}
-\newcommand{\epigraphhead}[2][95]{%
- \def\@epitemp{\begin{minipage}{\epigraphwidth}#2\end{minipage}}
- \def\ps@epigraph{\let\@mkboth\@gobbletwo
- \@epipos
- \if@epirhs
- \def\@oddhead{\hfil\begin{picture}(0,0)
- \put(0,-#1){\makebox(0,0)[r]{\@epitemp}}
- \end{picture}}
- \else
- \if@epicenter
- \def\@oddhead{\hfil\begin{picture}(0,0)
- \put(0,-#1){\makebox(0,0)[b]{\@epitemp}}
- \end{picture}\hfil}
- \else
- \def\@oddhead{\begin{picture}(0,0)
- \put(0,-#1){\makebox(0,0)[l]{\@epitemp}}
- \end{picture}\hfil}
- \fi
- \fi
- \let\@evenhead\@oddhead
- \def\@oddfoot{\reset@font\hfil\thepage\hfil}
- \let\@evenfoot\@oddfoot}
- \thispagestyle{epigraph}}
-
-\newcommand{\the@epigraph}{}
-\newcommand{\@epidrop}{95}
-\newcommand{\epigraphforheader}[2][95]{%
- \def\@epidrop{#1}\long\def\the@epigraph{#2}}
-
-\newcommand{\epigraphpicture}{%
- \def\@epitemp{%
- \begin{minipage}{\epigraphwidth}\the@epigraph\end{minipage}}%
- \@epipos
- \if@epirhs
- \begin{picture}(0,0)%
- \put(0,-\@epidrop){\makebox(0,0)[r]{\@epitemp}}%
- \end{picture}%
- \else
- \if@epicenter
- \begin{picture}(0,0)%
- \put(0,-\@epidrop){\makebox(0,0)[b]{\@epitemp}}%
- \end{picture}%
- \else
- \begin{picture}(0,0)%
- \put(0,-\@epidrop){\makebox(0,0)[l]{\@epitemp}}%
- \end{picture}%
- \fi
- \fi}
-
-\newcommand*{\@memoldfonterr}[3]{%
- \@memerror{Font command \protect#1\space is not supported}{%
- Use \protect#2, or \protect#3{...}, or the oldfontcommands option}}
-\newcommand*{\@memoldfontwarn}[3]{%
- \@memwarn{The \protect#1\space font command is deprecated.
- \MessageBreak Use \protect#2{...} or {\protect#3... } instead}}
-
-\if@memoldfont
- \def\@mem@rmwarn{\@memoldfontwarn{\rm}{\textrm}{\rmfamily}}
- \DeclareOldFontCommand{\rm}{\@mem@rmwarn\gdef\@mem@rmwarn{}%
- \normalfont\rmfamily}{\mathrm}
-\else
- \def\rm{\@memoldfonterr{\rm}{\textrm}{\rmfamily}}
-\fi
-
-\if@memoldfont
- \def\@mem@sfwarn{\@memoldfontwarn{\sf}{\textsf}{\sffamily}}
- \DeclareOldFontCommand{\sf}{\@mem@sfwarn\gdef\@mem@sfwarn{}%
- \normalfont\sffamily}{\mathsf}
-\else
- \def\sf{\@memoldfonterr{\sf}{\textsf}{\sffamily}}
-\fi
-
-\if@memoldfont
- \def\@mem@ttwarn{\@memoldfontwarn{\tt}{\texttt}{\ttfamily}}
- \DeclareOldFontCommand{\tt}{\@mem@ttwarn\gdef\@mem@ttwarn{}%
- \normalfont\ttfamily}{\mathtt}
-\else
- \def\tt{\@memoldfonterr{\tt}{\texttt}{\ttfamily}}
-\fi
-
-\if@memoldfont
- \def\@mem@bfwarn{\@memoldfontwarn{\bf}{\textbf}{\bfseries}}
- \DeclareOldFontCommand{\bf}{\@mem@bfwarn\gdef\@mem@bfwarn{}%
- \normalfont\bfseries}{\mathbf}
-\else
- \def\bf{\@memoldfonterr{\bf}{\textbf}{\bfseries}}
-\fi
-
-\if@memoldfont
- \def\@mem@itwarn{\@memoldfontwarn{\it}{\textit}{\itshape}}
- \DeclareOldFontCommand{\it}{\@mem@itwarn\gdef\@mem@itwarn{}%
- \normalfont\itshape}{\mathit}
-\else
- \def\it{\@memoldfonterr{\it}{\textit}{\itshape}}
-\fi
-
-\if@memoldfont
- \def\@mem@slwarn{\@memoldfontwarn{\sl}{\textsl}{\slshape}}
- \DeclareOldFontCommand{\sl}{\@mem@slwarn\gdef\@mem@slwarn{}%
- \normalfont\slshape}{\@nomath\sl}
-\else
- \def\sl{\@memoldfonterr{\sl}{\textsl}{\slshape}}
-\fi
-
-\if@memoldfont
- \def\@mem@scwarn{\@memoldfontwarn{\sc}{\textsc}{\scshape}}
- \DeclareOldFontCommand{\sc}{\@mem@scwarn\gdef\@mem@scwarn{}%
- \normalfont\scshape}{\@nomath\sc}
-\else
- \def\sc{\@memoldfonterr{\sc}{\textsc}{\scshape}}
-\fi
-
-\if@memoldfont
- \def\@mem@calwarn{%
- \@memwarn{The \protect\cal\space font command is deprecated.
- \MessageBreak Try to use \protect\mathcal\space instead}}
- \DeclareRobustCommand*\cal{\@mem@calwarn\gdef\@mem@calwarn{}%
- \@fontswitch\relax\mathcal}
-\else
- \def\cal{%
- \@memerror{Font command \protect\cal\space is not supported}{%
- Use \protect\mathcal, or the oldfontcommands option}}
-\fi
-
-\if@memoldfont
- \def\@mem@mitwarn{%
- \@memwarn{The \protect\mit\space font command is deprecated.
- \MessageBreak Try to use \protect\mathnormal\space instead}}
- \DeclareRobustCommand*\mit{\@mem@mitwarn\gdef\@mem@mitwarn{}%
- \@fontswitch\relax\mathnormal}
-\else
- \def\mit{%
- \@memerror{Font command \protect\mit\space is not supported}{%
- Use \protect\mathnormal, or the oldfontcommands option}}
-\fi
-
-\DeclareRobustCommand{\em}{%
- \@nomath\em
- \ifdim\fontdimen\@ne\font > \z@
- \eminnershape
- \else
- \itshape
- \fi}
-\providecommand{\eminnershape}{\upshape}
-\DeclareTextFontCommand{\emph}{\em}
-
-\newcommand*{\fref}[1]{\figurerefname~\ref{#1}}
-\newcommand*{\tref}[1]{\tablerefname~\ref{#1}}
-\newcommand*{\pref}[1]{\pagerefname~\pageref{#1}}
-\newcommand*{\Aref}[1]{\appendixrefname\ref{#1}}
-\newcommand*{\Bref}[1]{\bookrefname\ref{#1}}
-\newcommand*{\Pref}[1]{\partrefname\ref{#1}}
-\newcommand*{\Cref}[1]{\chapterrefname\ref{#1}}
-\newcommand*{\Sref}[1]{\sectionrefname\ref{#1}}
-
-\newif\ifheadnameref
-\newcommand*{\headnameref}{\headnamereftrue}
-\newcommand*{\tocnameref}{\headnamereffalse}
- \tocnameref
-\newcommand{\theTitleReference}[2]{#2}
-
-\let\@mem@old@label\label
-\def\label#1{\@bsphack\begingroup
- \protected@edef\@currentlabel{\protect\M@TitleReference
- {\@currentlabel}{\M@currentTitle}}%
- \@mem@old@label{#1}%
- \endgroup \@esphack}%
-
-\def\@mem@@gettitle#1{\begingroup \let\protect\@unexpandable@protect
- \let\label\@mem@nestwarn
- \let\index\@gobble \let\glossary\@gobble
- \let\markboth\@gobbletwo \let\@mkboth\@gobbletwo
- \let\markright\@gobble
- \edef\@tempa{\noexpand\def\noexpand\M@currentTitle{#1}}%
- \expandafter\endgroup\@tempa}
-
-\let\@mem@nestwarn\@gobble
-\let\M@TitleReference\@firstoftwo
-
-\newcommand*\@mem@titleref[1]{\begingroup
- \let\numberline\@gobble
- \let\M@TitleReference\@mem@theTR % interrupt recursion of \ref
- \ref{#1}\endgroup}
-\let\@mem@titlerefnolink\@mem@titleref
-
-\DeclareRobustCommand\titleref{\@ifstar{\@mem@titlerefnolink}{\@mem@titleref}}
-
-\DeclareRobustCommand{\currenttitle}{\begingroup
- \let\numberline\@gobble
- \theTitleReference\@currentlabel\M@currentTitle\endgroup}
-
-\let\M@currentTitle\@empty
-
-\def\@mem@theTR{\let\M@TitleReference\@firstoftwo \theTitleReference}
-
-\newcommand*{\namerefon}{\let\M@gettitle\@mem@@gettitle}
-\newcommand*{\namerefoff}{\let\M@gettitle\@gobble}
- \namerefon
-\newcommand{\@pnumwidth}{1.55em}
-\newcommand{\@tocrmarg} {2.55em}
-\newcommand{\@dotsep}{4.5}
-\newlength{\tocentryskip} \setlength{\tocentryskip}{1em}
-\newlength{\tocbaseline} \setlength{\tocbaseline}{20pt}
-\newcommand{\tocskip}[1]{%
- \addtocontents{toc}{\protect\vspace{#1}}}
-\newcommand*{\ensureonecol}{%
- \if@twocolumn
- \@restonecoltrue\onecolumn
- \else
- \@restonecolfalse
- \fi}
-\newcommand*{\restorefromonecol}{\if@restonecol\twocolumn\fi}
-
-\newlength{\cftparskip}
-\setlength{\cftparskip}{0pt}
-
-\newcommand{\newlistof}[3]{%
- \@namedef{ext@#2}{#2}
- \@ifundefined{c@#2depth}{\newcounter{#2depth}}{}
- \setcounter{#2depth}{1}
- \@namedef{#2mark}{\markboth{#3}{#3}}
- \@namedef{#1}{\@ifstar{\@nameuse{@star#2}}{\@nameuse{@plain#2}}}
- \@namedef{@star#2}{%
- \ensureonecol
- \par
- \begingroup
-%%% \parindent\z@ \parskip\cftparskip
- \@nameuse{@#2maketitle}
-\parskip\cftparskip
- \@starttoc{#2}%
- \endgroup
- \restorefromonecol}
- \@namedef{@plain#2}{%
- \ensureonecol
- \par
- \begingroup
-%%% \parindent\z@ \parskip\cftparskip
- \@nameuse{@#2maketitle}
- \phantomsection
- \addcontentsline{toc}{chapter}{#3}
-\parskip\cftparskip
- \@starttoc{#2}%
- \endgroup
- \restorefromonecol}
- \@namedef{@#2maketitle}{%
- \@nameuse{#2headstart}
- {\parindent\z@
-%%%% \parskip\cftparskip
- \interlinepenalty\@M
- \@nameuse{print#2nonum}%
- \@nameuse{print#2title}{#3}%
- \@nameuse{#2mark}%
- \thispagestyle{chapter}%
- \@nameuse{after#2title}
- }
- \@afterheading}
- \@namedef{#2headstart}{\chapterheadstart}
- \@namedef{after#2title}{\afterchaptertitle}
- \@namedef{print#2nonum}{\printchapternonum}
- \@namedef{print#2title}##1{\printchaptertitle{##1}}
-} % end \newlistof
-
-\renewcommand{\@starttoc}[1]{%
- \begingroup\makeatletter
- \@input{\jobname.#1}%
- \if@filesw
- \AtEndDocument{%
- \expandafter\newwrite\csname tf@#1\endcsname
- \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
- }%
- \fi
- \@nobreakfalse
- \endgroup}
-
-\newlistof{tableofcontents}{toc}{\contentsname}
-\newcommand*{\setpnumwidth}[1]{\renewcommand{\@pnumwidth}{#1}}
-\newcommand*{\setrmarg}[1]{\renewcommand{\@tocrmarg}{#1}}
-\providecommand{\cftdot}{.}
-\providecommand{\cftdotfill}[1]{%
- \leaders\hbox{$\m@th\mkern #1 mu\hbox{\cftdot}\mkern #1 mu$}\hfill}
-\providecommand{\cftdotsep}{4.5}
-\newcommand{\cftnodots}{2000}
-\newcommand*{\cftparfillskip}{\parfillskip=0pt plus1fil}
-\newcommand*{\@cftn@me}{}
-
-\renewcommand*{\numberline}[1]{%
- \hb@xt@\@tempdima{\@cftn@me\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
-\newcommand{\@cftbsnum}{}
-\newcommand{\@cftasnum}{}
-\newcommand{\@cftasnumb}{}
-\newcommand{\newlistentry}[4][\@empty]{%
- \@ifundefined{c@#2}{% check & set the counter
- \ifx \@empty#1\relax
- \newcounter{#2}
- \else
- \newcounter{#2}[#1]%
- \expandafter\edef\csname the#2\endcsname{%
- \expandafter\noexpand\csname the#1\endcsname.\noexpand\arabic{#2}}
- \fi}{}
- \setcounter{#2}{0}
- \@namedef{l@#2}##1##2{%
- \ifnum \@nameuse{c@#3depth} > #4\relax
- \vskip \@nameuse{cftbefore#2skip}
- {\if@RTL\rightskip\else\leftskip\fi \@nameuse{cft#2indent}\relax
- \if@RTL\leftskip\else\rightskip\fi \@tocrmarg
- \parfillskip -\if@RTL\leftskip\else\rightskip\fi
- \parindent \@nameuse{cft#2indent}\relax\@afterindenttrue
- \interlinepenalty\@M
- \leavevmode
- \settowidth{\@tempdima}{\@nameuse{cft#2font}\@nameuse{cft#2name}}%
- \addtolength{\@tempdima}{\@nameuse{cft#2numwidth}}%
- \expandafter\let\expandafter\@cftbsnum\csname cft#2presnum\endcsname
- \expandafter\let\expandafter\@cftasnum\csname cft#2aftersnum\endcsname
- \expandafter\let\expandafter\@cftasnumb\csname cft#2aftersnumb\endcsname
- \expandafter\let\expandafter\@cftn@me\csname cft#2name\endcsname
- \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi
- {\@nameuse{cft#2font}##1}\nobreak
- \@nameuse{cft#2fillnum}{##2}}
- \fi
- } % end of \l@#2
-
- \expandafter\newlength\csname cftbefore#2skip\endcsname
- \setlength{\@nameuse{cftbefore#2skip}}{\z@ \@plus .2\p@}
- \expandafter\newlength\csname cft#2indent\endcsname
- \expandafter\newlength\csname cft#2numwidth\endcsname
- \ifcase #4\relax % 0 (level 1)
- \setlength{\@nameuse{cft#2indent}}{0em}
- \setlength{\@nameuse{cft#2numwidth}}{2.3em}
- \or % 1 (level 2)
- \setlength{\@nameuse{cft#2indent}}{2.3em}
- \setlength{\@nameuse{cft#2numwidth}}{3.2em}
- \or % 2 (level 3)
- \setlength{\@nameuse{cft#2indent}}{5.5em}
- \setlength{\@nameuse{cft#2numwidth}}{4.1em}
- \or % 3 (level 4)
- \setlength{\@nameuse{cft#2indent}}{8.5em}
- \setlength{\@nameuse{cft#2numwidth}}{5.0em}
- \else % anything else
- \setlength{\@nameuse{cft#2indent}}{10.5em}
- \setlength{\@nameuse{cft#2numwidth}}{6.0em}
- \fi
- \@namedef{cft#2font}{\normalfont}
- \@namedef{cft#2name}{}
- \@namedef{cft#2presnum}{}
- \@namedef{cft#2aftersnum}{}
- \@namedef{cft#2aftersnumb}{}
- \@namedef{cft#2dotsep}{\cftdotsep}
- \@namedef{cft#2leader}{\normalfont\cftdotfill{\@nameuse{cft#2dotsep}}}
- \@namedef{cft#2pagefont}{\normalfont}
- \@namedef{cft#2afterpnum}{}
- \@namedef{toclevel@#2}{#4}
- \@namedef{cft#2formatpnum}##1{%
- \hb@xt@\@pnumwidth{\hfil\@nameuse{cft#2pagefont}##1}}
- \@namedef{cft#2fillnum}##1{%
- {\@nameuse{cft#2leader}}\nobreak
-%%% \hb@xt@\@pnumwidth{%
-%%% \hfil\@nameuse{cft#2pagefont}##1}
- \@nameuse{cft#2formatpnum}{##1}%
- \@nameuse{cft#2afterpnum}\par}
-} % end \newlistentry
-
-\newcommand*{\cftsetindents}[3]{%
- \setlength{\@nameuse{cft#1indent}}{#2}
- \setlength{\@nameuse{cft#1numwidth}}{#3}}
-
-\newcommand*{\cftbookname}{}
-
-\newcommand*{\cftbookbreak}{\addpenalty{-\@highpenalty}%
- \addvspace{\cftbeforebookskip}}
-\newcommand*{\l@book}[2]{%
- \ifnum\c@tocdepth >-3\relax
-%% \addpenalty{-\@highpenalty}%
- \cftbookbreak
-%% \addvspace{\cftbeforebookskip}%
- \begingroup
- {\if@RTL\rightskip\else\leftskip\fi \cftbookindent\relax
- \if@RTL\leftskip\else\rightskip\fi \@tocrmarg
- \parfillskip -\if@RTL\leftskip\else\rightskip\fi
- \parindent \cftbookindent\relax\@afterindenttrue
- \interlinepenalty\@M
- \leavevmode
- \settowidth{\@tempdima}{\cftbookfont\cftbookname}%
- \addtolength{\@tempdima}{\cftbooknumwidth}%
- \let\@cftbsnum \cftbookpresnum
- \let\@cftasnum \cftbookaftersnum
- \let\@cftasnumb \cftbookaftersnumb
- \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi
- {\cftbookfont #1}%
- \cftbookfillnum{#2}}
- \nobreak
- \global\@nobreaktrue
- \everypar{\global\@nobreakfalse\everypar{}}%
- \endgroup
- \fi}
-\newcommand{\booknumberline}[1]{%
- \hb@xt@\@tempdima{%
- \cftbookname\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}%%\space}
-
-\newlength{\cftbeforebookskip}
- \setlength{\cftbeforebookskip}{2.25em \@plus\p@}
-\newdimen\cftbookindent
- \setlength{\cftbookindent}{0em}
-\newdimen\cftbooknumwidth
- \setlength{\cftbooknumwidth}{1.5em}
-\newcommand*{\cftbookfont}{\large\bfseries}
-\newcommand*{\cftbookpresnum}{}
-\newcommand*{\cftbookaftersnum}{}
-\newcommand*{\cftbookaftersnumb}{}
-\newcommand*{\cftbookleader}{%
- \large\bfseries\cftdotfill{\cftbookdotsep}}
-\newcommand*{\cftbookdotsep}{\cftnodots}
-\newcommand*{\cftbookpagefont}{\large\bfseries}
-\newcommand{\cftbookafterpnum}{}
-\newcommand{\cftbookfillnum}[1]{%
- {\cftbookleader}%
-%%%% {\hb@xt@\@pnumwidth{\hss {\cftbookpagefont #1}}}%
- \cftbookformatpnum{#1}%
- \cftbookafterpnum\par}
-\newcommand{\cftbookformatpnum}[1]{%
- \hb@xt@\@pnumwidth{\hss {\cftbookpagefont #1}}}
-
-\newcommand*{\cftpartname}{}
-
-\newcommand*{\cftpartbreak}{\addpenalty{-\@highpenalty}%
- \addvspace{\cftbeforepartskip}}
-\newcommand*{\l@part}[2]{%
- \ifnum \c@tocdepth >-2\relax
-%%% \addpenalty{-\@highpenalty}%
-%%% \addvspace{\cftbeforepartskip}%
- \cftpartbreak
- \begingroup
- {\if@RTL\rightskip\else\leftskip\fi \cftpartindent\relax
- \if@RTL\leftskip\else\rightskip\fi \@tocrmarg
- \parfillskip -\if@RTL\leftskip\else\rightskip\fi
- \parindent \cftpartindent\relax\@afterindenttrue
- \interlinepenalty\@M
- \leavevmode
- \settowidth{\@tempdima}{\cftpartfont\cftpartname}%
- \addtolength{\@tempdima}{\cftpartnumwidth}%
- \let\@cftbsnum \cftpartpresnum
- \let\@cftasnum \cftpartaftersnum
- \let\@cftasnumb \cftpartaftersnumb
- \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi
- {\cftpartfont #1}%
- \cftpartfillnum{#2}}
- \nobreak
- \global\@nobreaktrue
- \everypar{\global\@nobreakfalse\everypar{}}%
- \endgroup
- \fi}
-
-\newcommand*{\toclevel@part}{-1}
-
-\newcommand{\partnumberline}[1]{%
- \hb@xt@\@tempdima{%
- \cftpartname\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}%%\space}
-
- \newlength{\cftbeforepartskip}
- \setlength{\cftbeforepartskip}{2.25em \@plus\p@}
- \newlength{\cftpartindent}
- \setlength{\cftpartindent}{0em}
- \newlength{\cftpartnumwidth}
- \setlength{\cftpartnumwidth}{1.5em}
- \newcommand{\cftpartfont}{\large\bfseries}
- \newcommand{\cftpartpresnum}{}
- \newcommand{\cftpartaftersnum}{}
- \newcommand{\cftpartaftersnumb}{}
- \newcommand{\cftpartleader}{%
- \large\bfseries\cftdotfill{\cftpartdotsep}}
- \newcommand{\cftpartdotsep}{\cftnodots}
- \newcommand{\cftpartpagefont}{\large\bfseries}
- \newcommand{\cftpartafterpnum}{}
- \newcommand*{\cftpartformatpnum}[1]{%
- \hb@xt@\@pnumwidth{\hss {\cftpartpagefont #1}}}
- \newcommand{\cftpartfillnum}[1]{%
- {\cftpartleader}%
- {\cftpartformatpnum{#1}}%
- \cftpartafterpnum\par}
-
-\newcommand*{\cftchaptername}{}
-
-\newcommand*{\l@chapapp}[3]{%
- \ifnum \c@tocdepth >\m@ne
- \cftchapterbreak
- \vskip \cftbeforechapterskip
- {\if@RTL\rightskip\else\leftskip\fi \cftchapterindent\relax
- \if@RTL\leftskip\else\rightskip\fi \@tocrmarg
- \parfillskip -\if@RTL\leftskip\else\rightskip\fi
- \parindent \cftchapterindent\relax
- \@afterindenttrue
- \interlinepenalty\@M
- \leavevmode
- \let\@cftbsnum \cftchapterpresnum
- \let\@cftasnum \cftchapteraftersnum
- \let\@cftasnumb \cftchapteraftersnumb
- \def\@chapapp@head{#3}%
- \settowidth{\@tempdima}{\cftchapterfont\@chapapp@head}%
- \addtolength{\@tempdima}{\cftchapternumwidth}%
- \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi
- {\cftchapterfont #1}\nobreak
- \cftchapterfillnum{#2}}
- \fi}
-
-\newcommand*{\l@chapter}[2]{%
- \l@chapapp{#1}{#2}{\cftchaptername}}
-
-\newcommand*{\toclevel@chapter}{0}
-
-\newcommand*{\cftappendixname}{}
-
-\newcommand*{\l@appendix}[2]{%
- \l@chapapp{#1}{#2}{\cftappendixname}}
-\newcommand{\toclevel@appendix}{0}
-
-\newcommand{\chapternumberline}[1]{%
- \hb@xt@\@tempdima{\@chapapp@head\@cftbsnum #1\@cftasnum\hfil}%
- \@cftasnumb}
-
- \newlength{\cftbeforechapterskip}
- \setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
- \newlength{\cftchapterindent}
- \setlength{\cftchapterindent}{0em}
- \newlength{\cftchapternumwidth}
- \setlength{\cftchapternumwidth}{1.5em}
- \newcommand{\cftchapterfont}{\bfseries}
- \newcommand{\cftchapterpresnum}{}
- \newcommand{\cftchapteraftersnum}{}
- \newcommand{\cftchapteraftersnumb}{}
- \newcommand{\cftchapterleader}{%
- \bfseries\cftdotfill{\cftchapterdotsep}}
- \newcommand{\cftchapterdotsep}{\cftnodots}
- \newcommand{\cftchapterpagefont}{\bfseries}
- \newcommand{\cftchapterafterpnum}{}
- \newcommand*{\cftchapterformatpnum}[1]{%
- \hb@xt@\@pnumwidth{\hfil\cftchapterpagefont #1}}
- \newcommand*{\cftchapterfillnum}[1]{
- {\cftchapterleader}\nobreak
- \cftchapterformatpnum{#1}%
- \cftchapterafterpnum\par}
- \newcommand{\cftchapterbreak}{\addpenalty{-\@highpenalty}}
-
-\newlistentry[chapter]{section}{toc}{0}
- \cftsetindents{section}{1.5em}{2.3em}
-\newlistentry[section]{subsection}{toc}{1}
- \cftsetindents{subsection}{3.8em}{3.2em}
-\newlistentry[subsection]{subsubsection}{toc}{2}
- \cftsetindents{subsubsection}{7.0em}{4.1em}
-\newlistentry[subsubsection]{paragraph}{toc}{3}
- \cftsetindents{paragraph}{10.0em}{5.0em}
-\newlistentry[paragraph]{subparagraph}{toc}{4}
- \cftsetindents{subparagraph}{12.0em}{6.0em}
-
-\newcommand*{\@cftl@subfigtab}{
-\newlistentry[figure]{subfigure}{lof}{1}
- \cftsetindents{subfigure}{2.3em}{2.5em}
-\newlistentry[table]{subtable}{lot}{1}
- \cftsetindents{subtable}{2.3em}{2.5em}}
-\renewcommand*{\@cftl@subfigtab}{}
-
-\AtBeginDocument{\@ifpackageloaded{subfigure}{\@cftl@subfigtab}{}}
-
-\DeclareRobustCommand{\cftpagenumbersoff}[1]{%
- \@namedef{cft#1fillnum}##1{%
- \cftparfillskip\@nameuse{cft#1afterpnum}\par}}
-
-\DeclareRobustCommand{\cftpagenumberson}[1]{%
- \@namedef{cft#1fillnum}##1{%
- \@nameuse{cft#1leader}\nobreak
- \@nameuse{cft#1formatpnum}{##1}%
- \@nameuse{cft#1afterpnum}\par}}
-
-\newcommand{\chapterprecis}[1]{%
- \chapterprecishere{#1}
- \chapterprecistoc{#1}}
-\newcommand{\chapterprecishere}[1]{%
- \prechapterprecis #1\postchapterprecis}
-\newdimen\prechapterprecisshift
-\ifartopt
- \prechapterprecisshift=0pt
-\else
- \prechapterprecisshift=-2\baselineskip
-\fi
-\newcommand*{\precisfont}{\normalfont\itshape}
-\newcommand{\prechapterprecis}{%
- \vspace*{\prechapterprecisshift}%
- \begin{quote}\precisfont}
-\newcommand*{\postchapterprecis}{\end{quote}}
-
-\newcommand{\precistocfont}{\normalfont\itshape}
-\newcommand{\chapterprecistoc}[1]{%
- \addtocontents{toc}{\precistoctext{#1}}}
-\DeclareRobustCommand{\precistoctext}[1]{%
- {\nopagebreak\if@RTL\rightskip\else\leftskip\fi \cftchapterindent\relax
- \advance\if@RTL\rightskip\else\leftskip\fi \cftchapternumwidth\relax
- \if@RTL\leftskip\else\rightskip\fi \@tocrmarg\relax
- \precistocfont #1\par}}
-\newcommand{\cftlocalchange}[3]{%
- \addtocontents{#1}{\protect\setpnumwidth{#2} \protect\setrmarg{#3}}}
-\newcommand{\cftaddtitleline}[4]{%
- \addtocontents{#1}{\protect\contentsline{#2}{#3}{#4}}}
-\newcommand{\cftaddnumtitleline}[5]{%
- \addtocontents{#1}%
- {\protect\contentsline{#2}{\protect\numberline{#3}%
- {\protect\ignorespaces #4}}{#5}}}
-\newcommand*{\cftinsert}[1]{\@nameuse{cftinsert#1}}
-\newcommand{\cftinsertcode}[2]{\@namedef{cftinsert#1}{#2}}
-\newcommand*{\cftinserthook}[2]{%
- \addtocontents{#1}{\protect\cftinsert\protect{#2\protect}}}
-
-\newcommand*{\@setclcnt}[2]{%
- \@tempswafalse
- \nametest{#1}{none}%
- \ifsamename
- \setcounter{#2}{-10}%
- \@tempswatrue
- \fi
- \nametest{#1}{book}%
- \ifsamename
- \setcounter{#2}{-2}%
- \@tempswatrue
- \fi
- \nametest{#1}{part}%
- \ifsamename
- \setcounter{#2}{-1}%
- \@tempswatrue
- \fi
- \nametest{#1}{chapter}%
- \ifsamename
- \setcounter{#2}{0}%
- \@tempswatrue
- \fi
- \nametest{#1}{section}%
- \ifsamename
- \setcounter{#2}{1}%
- \@tempswatrue
- \fi
- \nametest{#1}{subsection}%
- \ifsamename
- \setcounter{#2}{2}%
- \@tempswatrue
- \fi
- \nametest{#1}{subsubsection}%
- \ifsamename
- \setcounter{#2}{3}%
- \@tempswatrue
- \fi
- \nametest{#1}{paragraph}%
- \ifsamename
- \setcounter{#2}{4}%
- \@tempswatrue
- \fi
- \nametest{#1}{subparagraph}%
- \ifsamename
- \setcounter{#2}{5}%
- \@tempswatrue
- \fi
- \nametest{#1}{all}%
- \ifsamename
- \setcounter{#2}{50}%
- \@tempswatrue
- \fi
- \if@tempswa\else
- \@memerror{%
- Unknown document division name (#1)
- }{%
- I'll ignore it.
- Type \space <return> and I'll continue.\MessageBreak
- If you haven't mistyped the name then use
- \protect\setcounter\space instead.}%
- \fi}
-
-\newcommand*{\settocdepth}[1]{%
- \@tempswafalse
- \nametest{#1}{none}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{-10}}%
- \@tempswatrue
- \fi
- \nametest{#1}{book}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{-2}}%
- \@tempswatrue
- \fi
- \nametest{#1}{part}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{-1}}%
- \@tempswatrue
- \fi
- \nametest{#1}{chapter}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{0}}%
- \@tempswatrue
- \fi
- \nametest{#1}{section}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{1}}%
- \@tempswatrue
- \fi
- \nametest{#1}{subsection}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{2}}%
- \@tempswatrue
- \fi
- \nametest{#1}{subsubsection}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{3}}%
- \@tempswatrue
- \fi
- \nametest{#1}{paragraph}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{4}}%
- \@tempswatrue
- \fi
- \nametest{#1}{subparagraph}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{5}}%
- \@tempswatrue
- \fi
- \nametest{#1}{all}%
- \ifsamename
- \addtocontents{toc}{\changetocdepth{50}}%
- \@tempswatrue
- \fi
- \if@tempswa
- \@ifundefined{toclevel@#1}{%
- \@memwarn{Unknown toclevel for #1}%
- }{%
- \setcounter{tocdepth}{\@nameuse{toclevel@#1}}%
- }
- \else
- \@memerror{%
- Unknown document division name (#1)
- }{%
- I'll ignore it.
- Type \space <return> and I'll continue.}%
- \fi}
-
-\newcommand*{\toclevel@none}{-10}
-\newcommand*{\toclevel@all}{50}
-
-\DeclareRobustCommand{\changetocdepth}[1]{\setcounter{tocdepth}{#1}}
-
-\newcommand{\maxtocdepth}[1]{%
- \@setclcnt{#1}{tocdepth}}
-\newcounter{maxsecnumdepth}
-\newcommand{\maxsecnumdepth}[1]{%
- \@setclcnt{#1}{secnumdepth}\@setclcnt{#1}{maxsecnumdepth}}
-
-\newcommand{\setsecnumdepth}[1]{%
- \ifx\@nodocument\relax% after the preamble
- \@setclcnt{#1}{secnumdepth}%
- \else
- \@setclcnt{#1}{secnumdepth}%
- \@setclcnt{#1}{maxsecnumdepth}%
- \fi}
-\setsecnumdepth{section}
-
-\newdimen\bibindent
- \setlength\bibindent{1.5em}
-\newlength{\bibitemsep}
- \setlength{\bibitemsep}{\itemsep}
-\newcommand{\biblistextra}{\itemsep=\bibitemsep}
-
-\newenvironment{bibitemlist}[1]{%
- \typeout{bibitemlist}
- \list{\@biblabel{\@arabic\c@enumiv}}%
- {\settowidth\labelwidth{\@biblabel{#1}}%
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \@openbib@code
- \usecounter{enumiv}%
- \let\p@enumiv\@empty
- \renewcommand\theenumiv{\@arabic\c@enumiv}%
- \biblistextra}%
- \sloppy
- \clubpenalty4000
- \@clubpenalty \clubpenalty
- \widowpenalty4000%
- \sfcode`\.\@m}%
- {\def\@noitemerr
- {\@latex@warning{Empty `thebibliography' environment}}%
- \endlist}
-
-\newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
-\let\@openbib@code\@empty
-\newcommand*{\setbiblabel}[1]{%
- \renewcommand*{\@biblabel}[1]{#1}}
-\setbiblabel{[#1]\hfill}
-\newcommand{\@memb@bchap}{%
- \chapter*{\bibname}%
- \bibmark
- \ifnobibintoc\else
- \phantomsection
- \addcontentsline{toc}{chapter}{\bibname}%
- \fi
- \prebibhook}
-\newcommand{\@memb@bsec}{\section{\bibname}\prebibhook}
-\newcommand{\bibsection}{\@memb@bchap}
-
-\newenvironment{thebibliography}[1]{%
- \bibsection
- \begin{bibitemlist}{#1}}{\end{bibitemlist}\postbibhook}
-\newif\ifnobibintoc
-\newcommand*{\bibintoc}{\nobibintocfalse}
-\newcommand*{\nobibintoc}{\nobibintoctrue}
-\bibintoc
-
-\newcommand{\prebibhook}{}
-\newcommand{\postbibhook}{}
-
-\AtBeginDocument{%
- \@ifpackageloaded{natbib}{% natbib is loaded
- \addtodef{\endthebibliography}{}{\vskip-\lastskip\postbibhook}
- \@ifpackagewith{natbib}{sectionbib}{% with sectionbib option
- \renewcommand{\bibsection}{\@memb@bsec}}%
- {\renewcommand{\bibsection}{\@memb@bchap}}}%
- {}
- \@ifpackagewith{chapterbib}{sectionbib}{%
- \renewcommand{\sectionbib}[2]{}
- \renewcommand{\bibsection}{\@memb@bsec}}{}
-}
-
-\newif\ifonecolindex
- \onecolindexfalse
-
-\newcommand*{\onecolindex}{\onecolindextrue}
-\newcommand*{\twocolindex}{\onecolindexfalse}
-
-\newenvironment{theindex}{%
- \clearforchapter
- \if@twocolumn
- \@restonecolfalse
- \else
- \@restonecoltrue
- \fi
- \ifonecolindex
- \onecolumn
- \chapter*{\indexname}
- \preindexhook
- \else
- \setlength{\columnseprule}{\indexrule}%
- \setlength{\columnsep}{\indexcolsep}%
- \twocolumn[\@makeschapterhead{\indexname}
- \preindexhook]%
- \fi
- \indexmark
- \ifnoindexintoc\else
- \phantomsection
- \addcontentsline{toc}{chapter}{\indexname}%
- \fi
- \thispagestyle{indextitlepagestyle}\parindent\z@
- \parskip\z@ \@plus .3\p@\relax
- \let\item\@idxitem}%
- {\if@restonecol\onecolumn\else\twocolumn\fi}
-
-\aliaspagestyle{indextitlepagestyle}{chapter}
-
-\newif\ifnoindexintoc
-\newcommand*{\indexintoc}{\noindexintocfalse}
-\newcommand*{\noindexintoc}{\noindexintoctrue}
-\indexintoc
-
-\newlength{\indexcolsep} \setlength{\indexcolsep}{35pt}
-\newlength{\indexrule} \setlength{\indexrule}{0pt}
-
-\newcommand{\preindexhook}{}
-\newcommand{\l@index}{\@dottedtocline{1}{0em}{0pt}}
-\newcommand{\@idxitem} {\par\hangindent 40\p@}
-\newcommand{\subitem} {\par\hangindent 40\p@ \hspace*{20\p@}}
-\newcommand{\subsubitem}{\par\hangindent 40\p@ \hspace*{30\p@}}
-\newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
-
-\newcommand*{\makememindexhook}{}
-\providecommand*{\makeindex}{}
-\renewcommand*{\makeindex}[1][\jobname]{%
- \if@filesw
- \def\index{\@bsphack%
- \@ifnextchar [{\@index}{\@index[\jobname]}}
- \def\specialindex{\@bsphack\@spindex}%
- \makememindexhook
- \expandafter\newwrite\csname #1@idxfile\endcsname
- \expandafter\immediate\openout \csname #1@idxfile\endcsname #1.idx\relax
- \typeout{Writing index file #1.idx }%
- \fi}
-
-\renewcommand{\index}[2][\jobname]{\@bsphack\@esphack}
-\newcommand{\specialindex}[3]{\@bsphack\@esphack}
-
-\newcommand{\printindex}[1][\jobname]{\@input@{#1.ind}}
-
-\newif\ifreportnoidxfile
-\newcommand*{\reportnoidxfile}{\reportnoidxfiletrue}
-\newcommand*{\ignorenoidxfile}{\reportnoidxfilefalse}
- \ignorenoidxfile
-\newif\ifshowindexmark
-\newcommand*{\showindexmarks}{\showindexmarktrue}
-\newcommand*{\hideindexmarks}{\showindexmarkfalse}
- \hideindexmarks
-
-\def\@index[#1]{%
- \@ifundefined{#1@idxfile}%
- {\ifreportnoidxfile
- \@memwarn{Undefined index file #1}%
- \fi
- \begingroup
- \@sanitize
- \@nowrindex}%
- {\def\@idxfile{#1}%
- \begingroup
- \@sanitize
- \@wrindexm@m}}
-\newcommand{\@nowrindex}[1]{%
- \ifshowindexmark\@showidx{#1}\fi\endgroup\@esphack}
-
-\newcommand{\@wrindexm@m}[1]{\@@wrindexhyp#1||\\}
-\def\@@wrindexhyp#1|#2|#3\\{%
- \ifshowindexmark\@showidx{#1}\fi
- \ifx\\#2\\%
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1|hyperpage}{\thepage}}%
- \else
- \def\Hy@temp@A{#2}%
- \ifx\Hy@temp@A\HyInd@ParenLeft
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1|#2hyperpage}{\thepage}}%
- \else
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1|#2}{\thepage}}%
- \fi
- \fi
- \endgroup
- \@esphack}
-\newcommand{\hyperpage}[1]{#1}
-\newcommand{\hyperlink}[2]{#2}
-
-\newcommand{\@@wrindexm@m}[1]{\begingroup
- \def\@idxfile{\@nameuse{#1@idxfile}}
- \@sanitize
- \@@@wrindexm@m}
-
-\newcommand{\@@@wrindexm@m}[2]{\endgroup}
-\AtBeginDocument{%
- \def\@@@wrindexm@m#1#2{%
- \if@filesw
- \immediate\write \@idxfile{\string\indexentry{#1}{#2}}%
- \fi
- \endgroup}%
-}
-\newcommand{\@spindex}[2]{%
- \@ifundefined{#1@idxfile}%
- {\ifreportnoidxfile
- \@memwarn{Undefined index file #1}%
- \fi
- \begingroup
- \@sanitize
- \@nowrindex}%
- {\def\@idxfile{#1}%
- \def\@sptheidx{#2}%
- \begingroup
- \@sanitize
- \@wrspindex}}
-
-\newcommand{\@wrspindex}[1]{\@@wrspindexhyp#1||\\}
-\def\@@wrspindexhyp#1|#2|#3\\{%
- \ifshowindexmark\@showidx{#1}\fi
- \ifx\\#2\\%
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}%
- {#1|hyperspindexpage(\thepage)}%
- {\@nameuse{the\@sptheidx}}}%
- \else
- \def\Hy@temp@A{#2}%
- \ifx\Hy@temp@A\HyInd@ParenLeft
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}%
- {#1|#2hyperspindexpage(\thepage)}%
- {\@nameuse{the\@sptheidx}}}%
- \else
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1|#2}%
- {\@nameuse{the\@sptheidx}}}%
- \fi
- \fi
- \endgroup
- \@esphack}
-\def\hyperspindexpage(#1)#2{\hyperlink{page.#1}{#2}}
-
-\newif\ifmemhyperindex
- \memhyperindextrue
-
-\newif\ifm@mxindy
-\m@mxindyfalse
-\newcommand*{\xindyindex}{\m@mxindytrue}
-\def\@@wrspindexhyp#1|#2|#3\\{%
- \ifshowindexmark\@showidx{#1}\fi
- \ifx\\#2\\%
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}%
- \ifm@mxindy{#1}\else{#1|hyperspindexpage(\thepage)}\fi
- {\@nameuse{the\@sptheidx}}}%
- \else
- \def\Hy@temp@A{#2}%
- \ifx\Hy@temp@A\HyInd@ParenLeft
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}%
- \ifm@mxindy{#1|#2}\else{#1|#2hyperspindexpage(\thepage)}\fi
- {\@nameuse{the\@sptheidx}}}%
- \else
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1|#2}%
- {\@nameuse{the\@sptheidx}}}%
- \fi
- \fi
- \endgroup
- \@esphack}
-
-\AtBeginDocument{%
- \@ifpackageloaded{hyperref}{}{\memhyperindexfalse}%
- \ifmemhyperindex\else
- \def\@@wrindexhyp#1||\\{%
- \ifshowindexmark\@showidx{#1}\fi
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1}{\thepage}}%
- \endgroup
- \@esphack}%
- \def\@@wrspindexhyp#1||\\{%
- \ifshowindexmark\@showidx{#1}\fi
- \protected@write\@auxout{}%
- {\string\@@wrindexm@m{\@idxfile}{#1}{\@nameuse{the\@sptheidx}}}%
- \endgroup
- \@esphack}%
- \fi
-}
-
-\newcommand*{\see}[2]{\emph{\seename} #1}
-\newcommand*{\seename}{see}
-\newcommand*{\seealso}[2]{\emph{\alsoname} #1}
-\newcommand*{\alsoname}{see also}
-
-\newcommand{\citeindexfile}{\jobname}
-\AtBeginDocument{\@ifpackageloaded{natbib}{%
- \def\NAT@index{\index[\citeindexfile]{\NAT@idxtxt}}}{}}
-
-\newtoks\indexmarkstyle
- \indexmarkstyle{\normalfont\footnotesize\ttfamily}
-\newinsert\@indexbox
- \dimen\@indexbox\maxdimen
-
-\begingroup
- \catcode`\@\active
- \expandafter\gdef\csname\string @sanitizeat\endcsname
- {\def @{\char`\@}}
-\endgroup
-
-\newcommand{\@showidx}[1]{%
- \insert\@indexbox{%
- \@sanitizeat
- \the\indexmarkstyle
- \hsize\marginparwidth
- \hangindent\marginparsep \parindent\z@
- \everypar{}\let\par\@@par \parfillskip\@flushglue
- \lineskip\normallineskip
- \baselineskip .8\normalbaselineskip\sloppy
- \raggedright \leavevmode
- \vrule \@height .7\normalbaselineskip \@width \z@\relax
- #1\relax
- \vrule \@height \z@ \@depth .3\normalbaselineskip \@width \z@\relax
- }%
- \ifhmode\penalty\@M \hskip\z@skip\fi}
-
-\newcommand{\@leftidx}{\hskip-\marginparsep \hskip-\marginparwidth}
-\newcommand{\@rightidx}{\hskip\columnwidth \hskip\marginparsep}
-
-\newcommand{\@mkidx}{\vbox to \z@{%
- \rlap{%
- \if@twocolumn
- \if@firstcolumn \@leftidx \else \@rightidx \fi
- \else
- \if@twoside
- \ifodd\c@page \@rightidx \else \@leftidx \fi
- \else
- \@rightidx
- \fi
- \fi
- \box\@indexbox
- }%
- \vss}}
-
-\renewcommand{\raggedbottom}{%
- \def\@textbottom{\vskip\z@ plus.0001fil}%
- \let\@texttop\@mkidx}
-\renewcommand{\flushbottom}{%
- \let\@textbottom\relax
- \let\@texttop\@mkidx}
-\let\@texttop\@mkidx
-
-\newcommand*{\sloppybottom}{%
- \def\@textbottom{\vskip \z@ \@plus.0001fil \@minus .95\topskip}%
- \topskip=1\topskip \@plus 0.625\topskip \@minus .95\topskip
- \def\@texttop{\vskip \z@ \@plus -0.625\topskip \@minus -0.95\topskip}}
-
-\newif\ifonecolglossary
- \onecolglossarytrue
-\newcommand*{\onecolglossary}{\onecolglossarytrue}
-\newcommand*{\twocolglossary}{\onecolglossaryfalse}
-
-\newenvironment{theglossary}{%
- \if@twocolumn
- \@restonecolfalse
- \else
- \@restonecoltrue
- \fi
- \ifonecolglossary
- \onecolumn
- \chapter*{\glossaryname}
- \preglossaryhook
- \else
- \setlength{\columnseprule}{\glossaryrule}
- \setlength{\columnsep}{\glossarycolsep}
- \twocolumn[\@makeschapterhead{\glossaryname}
- \preglossaryhook]%
- \fi
- \glossarymark
- \ifnoglossaryintoc\else
- \phantomsection
- \addcontentsline{toc}{chapter}{\glossaryname}
- \fi
- \thispagestyle{chapter}\parindent\z@
- \parskip\z@ \@plus .3\p@\relax
- \begintheglossaryhook}%
- {\atendtheglossaryhook\if@restonecol\onecolumn\else\twocolumn\fi}
-
-\newcommand*{\begintheglossaryhook}{}
-\newcommand*{\atendtheglossaryhook}{}
-\newcommand*{\preglossaryhook}{}
-
-\newif\ifnoglossaryintoc
-\newcommand*{\glossaryintoc}{\noglossaryintocfalse}
-\newcommand*{\noglossaryintoc}{\noglossaryintoctrue}
- \glossaryintoc
-
-\newdimen\glossarycolsep \glossarycolsep=35\p@
-\newdimen\glossaryrule \glossaryrule=0\p@
-\newcommand*{\glossaryspace}{%
- \par \vskip 1.0\onelineskip \@plus 5\p@ \@minus3\p@\relax}
-
-\providecommand*{\makeglossary}{}
-\renewcommand*{\makeglossary}[1][\jobname]{%
- \makememglossaryhook
- \@namedef{memglsact#1}{@}% actual
- \@namedef{memglsnx#1}{}% no ref
- \@namedef{memglsn#1}{\thepage}% num by page
- \@namedef{memglsnf#1}{|memjustarg}% no special number format
- \if@filesw \expandafter\newwrite\csname #1memglofile\endcsname
- \expandafter\immediate\openout \csname #1memglofile\endcsname #1.glo\relax
- \typeout{Writing glossary file #1.glo }%
- \fi}
-
-\newcommand*{\makememglossaryhook}{}
-
- \def\glossary{\@bsphack%
- \@ifnextchar [{\@glossary}{\@glossary[\jobname]}}%
-\def\@glossary[#1]{%
- \@ifnextchar ({\@@glossary[#1]}{\@@glossary[#1]()}}
-\def\@@glossary[#1](#2)#3#4{%
- \@ifundefined{#1memglofile}{%
- \begingroup
- \@sanitize
- \endgroup
- \@esphack%
- }{%
- \def\memglofile{#1}%
- \begingroup
- \@sanitize
- \ifx\@empty#2\@empty
- \@wrglom@m{#3}{#3}{#4}%
- \else
- \@wrglom@m{#2}{#3}{#4}%
- \fi}}
-
-\newcommand{\@wrglom@m}[3]{%
- \protected@write\@auxout{}%
- {\string\@@wrglom@m{\memglofile}{#1}{#2}{#3}{\@nameuse{memglsnx\memglofile}}{\@nameuse{memglsn\memglofile}}}%
- \endgroup
- \@esphack}
-
-\newcommand{\@@wrglom@m}[1]{\begingroup
- \def\memglofile{\@nameuse{#1memglofile}}%
- \def\m@mgf{#1}%
- \@sanitize
- \memwritetoglo}
-
-\newcommand{\memwritetoglo}[5]{\endgroup}
-\newcommand{\@ctualm@mwritetoglo}[5]{%
- \immediate\write \memglofile{\string\glossaryentry{#1\@nameuse{memglsact\m@mgf}
- {\string\memgloterm{#2}}{\string\memglodesc{#3}}
- {\string\memgloref{#4}}\@nameuse{memglsnf\m@mgf}}{#5}}%
- \endgroup}
-\AtBeginDocument{%
- \let\memwritetoglo\@ctualm@mwritetoglo}
-
-\newcommand*{\changeglossactual}[2][\jobname]{%
- \@namedef{memglsact#1}{#2}}
-\newcommand*{\changeglossref}[2][\jobname]{%
- \@namedef{memglsnx#1}{#2}}
-\newcommand*{\changeglossnum}[2][\jobname]{%
- \@namedef{memglsn#1}{#2}}
-\newcommand*{\changeglossnumformat}[2][\jobname]{%
- \@namedef{memglsnf#1}{#2}}
-
-\newcommand{\glossitem}[4]{#1 #2 #3 #4\par}
-
-\newcommand*{\memgloterm}[1]{#1}
-\newcommand*{\memglodesc}[1]{#1}
-\newcommand*{\memgloref}[1]{#1}
-\newcommand*{\memglonum}[1]{#1}
-
-\newcommand*{\printglossary}[1][\jobname]{\@input@{#1.gls}}
-
-\def\@addmarginpar{%
- \checkoddpage
- \@next\@marbox\@currlist{\@cons\@freelist\@marbox
- \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne
- \if@twocolumn
- \if@firstcolumn \@tempcnta\m@ne \fi
- \else
- \if@mparswitch
- \ifoddpage \else \@tempcnta\m@ne \fi
- \fi
- \if@reversemargin \@tempcnta -\@tempcnta \fi
- \fi
- \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi
- \@tempdima\@mparbottom
- \advance\@tempdima -\@pageht
- \advance\@tempdima\ht\@marbox
- \ifdim\@tempdima >\z@
- \@latex@warning@no@line {Marginpar on page
- \thepage\space moved by \the\@tempdima}%
- \else
- \@tempdima\z@
- \fi
- \global\@mparbottom\@pageht
- \global\advance\@mparbottom\@tempdima
- \global\advance\@mparbottom\dp\@marbox
- \global\advance\@mparbottom\marginparpush
- \advance\@tempdima -\ht\@marbox
- \global\setbox \@marbox
- \vbox {\vskip \@tempdima
- \box \@marbox}%
- \global \ht\@marbox \z@
- \global \dp\@marbox \z@
- \kern -\@pagedp
- \nointerlineskip
- \hb@xt@\columnwidth
- {\ifnum \@tempcnta >\z@
- \hskip\columnwidth \hskip\marginparsep
- \else
- \hskip -\marginparsep \hskip -\marginparwidth
- \fi
- \box\@marbox \hss}%
- \nointerlineskip
- \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}%
-}
-
-\newcommand{\parnopar}{\parfillskip=0pt\par\parskip=0pt\noindent
- \parfillskip\@flushglue}
-
-\newif\ifreversesidepar
- \reversesidepartrue
-\newif\ifsideparswitch
- \sideparswitchfalse
-\if@twoside \sideparswitchtrue \fi
-
-\newlength{\sideparvshift}
-%%%% \setlength{\sideparvshift}{-2.08ex}% seems to work for all font sizes
-
-\newcommand{\sidepar}{\@dblarg{\@sidepar}}
-\long\def\@sidepar[#1]#2{\@bsphack\strut\vadjust{%
- \checkoddpage
- \ifsideparswitch
- \ifreversesidepar
- \ifoddpage
- \oddpagefalse
- \else
- \oddpagetrue
- \fi
- \fi
- \else
- \oddpagetrue
- \ifreversesidepar
- \oddpagefalse
- \fi
- \fi
- \rlap{\kern-\parindent
- \if@twocolumn
- \if@firstcolumn% put at left
- \kern -\marginparsep \kern -\marginparwidth
- \else% put at right
- \kern \columnwidth \kern \marginparsep
- \fi
- \else
- \ifoddpage% put at right
- \kern \textwidth \kern \marginparsep
- \else% put at left
- \kern -\marginparsep \kern -\marginparwidth
- \fi
- \fi
- \setbox0=\vtop to 0pt{%
- \begin{minipage}[t]{\marginparwidth}%
- \normalfont\normalsize
- \ifoddpage #2\else #1\fi%
- \end{minipage}%
- \vss}%
- \vtop to 0pt{\kern\sideparvshift% default should be 0pt
- \kern-\dp\strutbox
- \kern-\ht0
- \box0 \vss}}}%
- \@esphack}
-\setlength{\sideparvshift}{0pt}
-
-\newinsert\sideins
- \skip\sideins=0pt
- \count\sideins=0
-
-\newlength{\sidebartopsep}
- \setlength{\sidebartopsep}{0pt}
-\newcommand{\setsidebarheight}[1]{%
- \setlength{\dimen\sideins}{#1}%
- \advance\dimen\sideins-\topskip
- \advance\dimen\sideins\ht\strutbox}
-
-\newlength{\sidebarhsep}
-\newlength{\sidebarvsep}
-\newlength{\sidebarwidth}
-\newcommand{\sidebarfont}{}
-\newcommand*{\setsidebars}[6]{%
- \nametest{#1}{*}\ifsamename\else
- \setlength{\sidebarhsep}{#1}\@memznegtest{\sidebarhsep}%
- \fi
- \nametest{#2}{*}\ifsamename\else
- \setlength{\sidebarwidth}{#2}\@memznegtest{\sidebarwidth}%
- \fi
- \nametest{#3}{*}\ifsamename\else
- \setlength{\sidebarvsep}{#3}\@memnegtest{\sidebarvsep}%
- \fi
- \nametest{#4}{*}\ifsamename\else
- \setlength{\sidebartopsep}{#4}%
- \fi
- \nametest{#5}{*}\ifsamename\else
- \def\sidebarfont{#5}%
- \fi
- \nametest{#6}{*}\ifsamename\else
- \setsidebarheight{#6}%
- \ifdim\dimen\sideins>\z@\else
-%%%% \@memerror{\protect\sidebarheight\space is zero or negative}{\@ehd}%
- \@memwarn{\protect\sidebarheight\space is zero or negative}%
- \fi
- \fi}
-\setsidebars{\marginparsep}% sidebarhsep
- {\marginparwidth}% sidebarwidth
- {\onelineskip}% sidebarvsep
- {0pt}% sidebartopsep
- {\normalsize\normalfont}% sidebarfont
- {\textheight}% sidebarheight
-
-\newcommand{\sidebarform}{\if@RTL\leftskip\else\rightskip\fi=\z@ \@plus 2em}
-
-\newif\ifsidebaroneside
- \if@twoside\sidebaronesidefalse\else\sidebaronesidetrue\fi
-
-\newcommand*{\sidebarmargin}[1]{%
- \def\@tempa{#1}\def\@tempb{left}%
- \ifx\@tempa\@tempb
- \gdef\m@msidebar@margin{0}%
- \else
- \def\@tempb{right}%
- \ifx\@tempa\@tempb
- \gdef\m@msidebar@margin{1}%
- \else
- \def\@tempb{outer}%
- \ifx\@tempa\@tempb
- \gdef\m@msidebar@margin{2}%
- \else
- \def\@tempb{inner}%
- \ifx\@tempa\@tempb
- \gdef\m@msidebar@margin{3}%
- \else
- \@memwarn{Bad \string\sidebarmargin\space argument}%
- \gdef\m@msidebar@margin{1}%
- \fi
- \fi
- \fi
- \fi}
-%%%% default outer
-\gdef\m@msidebar@margin{2}
-\newcommand*{\m@sideb@left}{%
- \@tempdimc \sidebarwidth
- \advance\@tempdimc\sidebarhsep
- \kern-\@tempdimc}
-\newcommand*{\m@sideb@right}{%
- \@tempdimc \columnwidth% or \hsize
- \advance\@tempdimc\sidebarhsep
- \kern\@tempdimc}
-
-\newcommand{\sidecontents}{\hbox to \z@{%
- \if@twocolumn% %% put outside nearest column
- \if@firstcolumn% %% move to left
- \m@sideb@left
- \else% %% move to right
- \m@sideb@right
- \fi
- \else% %% put into foremargin?
- \ifsidebaroneside% %% put into right hand margin
- \m@sideb@right
- \else% %% pick the margin
- \ifcase\m@msidebar@margin% 0 to left
- \m@sideb@left
- \or% 1 to right
- \m@sideb@right
- \or% 2 to outer
- \ifodd\c@page% %% move to right
- \m@sideb@right
- \else% %% move to left
- \m@sideb@left
- \fi
- \or% 3 to inner
- \ifodd\c@page% %% move to left
- \m@sideb@left
- \else% %% move to right
- \m@sideb@right
- \fi
- \fi
- \fi
- \fi
- \vtop to0pt{%
- \normalsize\normalfont\sidebarfont% select font so we know the strut size
- \vskip\topskip \vskip-\ht\strutbox
- \vskip\sidebartopsep% extra vertical shift
- \unvbox\sideins \vss}%
- \hss}}
-
-\newcommand{\sidebar}[1]{%
- \insert\sideins{%
- \hsize\sidebarwidth
- \@parboxrestore
- \sidebarform \normalsize\normalfont\sidebarfont
- \splittopskip=\ht\strutbox
- \splitmaxdepth=\dp\strutbox % doesn't do anything useful
- \allowbreak
- \prevdepth=\dp\strutbox % supersedes a "top-strut"
- \vskip-\parskip
- #1%
- \ifvmode\else
- \unskip\@finalstrut\strutbox
- \fi\par
- \ifdim\prevdepth>\dp\strutbox \prevdepth=\dp\strutbox \fi
- \ifdim\prevdepth>99\p@
- \nobreak
- \vskip-\prevdepth
- \allowbreak
- \vskip\dp\strutbox
- \fi
- \vskip\sidebarvsep}}
-
-\renewcommand{\footnoterule}{%
- \kern-3\p@
- \hrule width .4\columnwidth
- \kern 2.6\p@}
-\skip\footins=\bigskipamount
-\@addtoreset{footnote}{chapter}
-\newcommand*{\multfootsep}{\textsuperscript{\normalfont,}}
-\newcommand*{\multiplefootnotemarker}{3sp}
-\newcommand*{\m@mmf@prepare}{%
- \kern-\multiplefootnotemarker
- \kern\multiplefootnotemarker\relax}
-\newcommand*{\m@mmf@check}{%
- \ifdim\lastkern=\multiplefootnotemarker\relax
- \edef\@x@sf{\the\spacefactor}%
- \unkern
- \multfootsep
- \spacefactor\@x@sf\relax
- \fi}
-
-\renewcommand{\@footnotetext}[1]{\insert\footins{%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font% <- v1.6180 addition
- \foottextfont
- \@preamfntext
- \hsize\columnwidth
- \protected@edef\@currentlabel{%
- \csname p@footnote\endcsname\@thefnmark}%
- \color@begingroup
- \@makefntext{%
- \rule\z@\footnotesep\ignorespaces{\foottextfont #1}%
- \@finalstrut\strutbox}%
- \color@endgroup}\m@mmf@prepare}
-\let\m@mold@footnotetext\@footnotetext
-\renewcommand*{\@footnotemark}{%
- \leavevmode
- \ifhmode
- \edef\@x@sf{\the\spacefactor}%
- \m@mmf@check
- \nobreak
- \fi
- \@makefnmark
- \m@mmf@prepare
- \ifhmode\spacefactor\@x@sf\fi
- \relax}
-
-\newlength{\footmarkwidth}
-\newlength{\footmarksep}
-\newlength{\footparindent}
-\newcommand*{\footmarkstyle}[1]{\def\footscript##1{#1}}
-\newcommand{\makefootmarkhook}{}
-
-\newcommand{\footfootmark}{%
- \ifdim\footmarkwidth < \z@
- \llap{\hb@xt@ -\footmarkwidth{%
- \hss\normalfont\footscript{\@thefnmark}}%
- \hspace*{-\footmarkwidth}}%
- \else
- \ifdim\footmarkwidth = \z@
- {\normalfont\footscript{\@thefnmark}}%
- \else
- \hb@xt@\footmarkwidth{\hss\normalfont\footscript{\@thefnmark}}%
- \fi
- \fi}
-
-\newcommand{\makefootmark}[1]{%
- \leavevmode
- \parindent \footparindent\noindent
- \leftskip\footmarksep\relax
- \advance\leftskip \footmarkwidth \null\nobreak\hskip -\leftskip\relax
- \makefootmarkhook\relax
- \footfootmark #1}
-\newcommand{\@makefntext}[1]{\makefootmark #1}
-\footmarkstyle{\textsuperscript{#1}}
-\setlength{\footmarkwidth}{1.8em}
-\setlength{\footmarksep}{-1.8em}
-\setlength{\footparindent}{1em}
-
-\newcommand{\footref}[1]{%
- \begingroup
- \unrestored@protected@xdef\@thefnmark{\ref{#1}}%
- \endgroup
- \@footnotemark}
-
-\def\verbfootnote{\@ifnextchar[\@xverbfootnote{\stepcounter\@mpfn
- \protected@xdef\@thefnmark{\thempfn}%
- \@footnotemark\@verbfootnotetext}}
-
-\def\@xverbfootnote[#1]{%
- \begingroup
- \csname c@\@mpfn\endcsname #1\relax
- \unrestored@protected@xdef\@thefnmark{\thempfn}%
- \endgroup
- \@footnotemark\@verbfootnotetext}
-
-\long\def\@verbfootnotetext{%
- \insert\footins\bgroup
- \footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
- \hsize\columnwidth \@parboxrestore
- \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
-%%%% \color@begingroup
- \@makefntext{\rule{\z@}{\footnotesep}\ignorespaces}%
- \futurelet\next\fo@t
-}
-\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
- \else \let\next\f@t\fi \next}
-\def\f@@t{\bgroup\aftergroup\@foot\let\next}
-\def\f@t#1{%
- \color@begingroup
- #1\@foot
- \color@endgroup}
-\def\@foot{%
- \strut\egroup
-%%%% \color@endgroup
- \m@mmf@prepare
- }
-
-\long\def\@verbmpfootnotetext{%
- \global\setbox\@mpfootins\vbox{%
- \reset@font\footnotesize
- \unvbox\@mpfootins
- \bgroup
- \hsize\columnwidth
- \@parboxrestore
- \edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}%
- \color@begingroup
- \@makefntext{\rule{\z@}{\footnotesep}\ignorespaces}%
- }
- \futurelet\next\fo@t
-}
-
-%%%%%%%%%%%%%% major extension to footnoting
-
-\newcommand*{\setfootnoterule}[4][]{%
- \def\footnoterule{\kern -#2\relax #1\relax
- \hrule width #3\relax
- \kern #2\kern-#4}}
-\setfootnoterule{3pt}{0.4\columnwidth}{\normalrulethickness}
-
-\newcommand{\m@mdoextrafeet}{\extrafeetins}
-\newcommand*{\extrafeetins}{%
- \setbox\@outputbox \vbox{%
- \boxmaxdepth \@maxdepth
- \unvbox\@outputbox
- \ifvoid\footinsv@r\else\@footstartv@r\@footgroupv@r\fi
- \extrafeetinshook}}
-\newcommand{\extrafeetinshook}{}
-
-\newcommand{\m@mdodoreinextrafeet}{%
- \ifvoid\footinsv@r\else\insert\footinsv@r{\unvbox\footinsv@r}\fi
- \extrafeetreinshook}
-\newcommand{\extrafeetreinshook}{}
-
-\newcommand{\foottextfont}{\footnotesize}
-\newlength{\footinsdim}
- \setlength{\footinsdim}{8in} % standard for \dimen\footins
-\newcommand{\@preamfntext}{%
- \interlinepenalty\interfootnotelinepenalty
- \floatingpenalty \@MM
- \splittopskip=\footnotesep
- \splitmaxdepth=\dp\strutbox
- \@parboxrestore}
-
-\renewcommand{\@mpfootnotetext}[1]{%
- \global\setbox\@mpfootins\vbox{%
- \unvbox\@mpfootins
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \foottextfont \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote\endcsname\@thefnmark}%
- \color@begingroup
- \reset@font% <- v1.6180 addition
- \@makefntext{%
- \rule\z@\footnotesep\ignorespaces{\foottextfont #1}%
- \@finalstrut\strutbox}%
- \color@endgroup}}
-
-\let\m@mold@mpfootnotetext\@mpfootnotetext
-
-\newcommand{\m@mdoextrafeetmini}{%
- \extrafeetminihook}
-\newcommand{\extrafeetminihook}{}
-%%%%\renewcommand{\@minipagerestore}{\m@mdoextrafeetmini}
-
-\newcommand{\extrafeetendmini}{%
- \ifvoid\@mpfootinsv@r\else
- \vskip\skip\@mpfootins
- \normalcolor\footnoterule\mp@footgroupv@r
- \fi
- \extrafeetendminihook}
-\newcommand{\extrafeetendminihook}{}
-
-\newcommand{\m@mdoextrafeetendmini}{\extrafeetendmini}
-\def\endminipage{%
- \par
- \unskip
- \ifvoid\@mpfootins\else
- \vskip\skip\@mpfootins
- \normalcolor
- \footnoterule
- \unvbox\@mpfootins
- \fi
- \m@mdoextrafeetendmini
- \@minipagefalse
- \color@endgroup
- \egroup
- \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
-
-\newcommand{\plainfootnotes}{%
- \let\@footnotetext\m@mold@footnotetext
- \let\@mpfootnotetext\m@mold@mpfootnotetext}
-
-\newcommand{\newfootnoteseries}[1]{%
- \expandafter\newinsert\csname footins#1\endcsname% -> \footins#1
- \expandafter\skip\csname footins#1\endcsname \bigskipamount%
-%%% - > \skip\footins#1 % [RS]
- \newcounter{footnote#1}% -> \c@footnote#1
- \@nameuse{c@footnote#1} \z@% -> \c@footnote#1=0
- \global\@namelet{p@footnote#1} \@empty% -> \p@footnote#1
- \@namedef{thefootnote#1}{\arabic{footnote#1}}% -> \thefootnote#1
- \@namedef{foottextfont#1}{\foottextfont}% -> \foottextfont#1
- \m@makefootnote{#1}% -> \footnote#1
- \m@make@xfootnote{#1}% -> \@xfootnote#1
- \m@make@footnotetext{#1}% -> \@footnotetext#1
- \m@makefootnotemark{#1}% -> \footnotemark#1
- \m@make@xfootnotemark{#1}% -> \@xfootnotemark#1
- \m@make@footnotemark{#1}% -> \@footnotemark#1
- \m@makefootnotetext{#1}% -> \footnotetext#1
- \m@make@xfootnotenext{#1}% -> \@xfootnotenext#1
- \m@make@mpfn{#1}% -> \@mpfn#1
- \m@makethempfn{#1}% -> \thempfn#1
- \m@make@makefnmark{#1}% -> \@makefnmark#1
- \m@makefootref{#1}% -> \footref#1
- \m@makefootfootmark{#1}% -> \footfootmark#1
- \m@makemakefootmark{#1}% -> \makefootmark#1
- \m@makefootmarkstyle{#1}% -> \footmarkstyle#1
- \@namedef{@makefntext#1}##1{\@nameuse{makefootmark#1} ##1}%
- \m@make@footstart{#1}% -> \@footstart#1
- \m@make@footgroup{#1}% -> \@footgroup#1
- \expandafter\newinsert\csname @mpfootins#1\endcsname% -> \@mpfootins#1
- \newcounter{mpfootnote#1}% -> \c@mpfootnote#1
- \global\@namelet{p@mpfootnote#1}\@empty
- \@namedef{thempfootnote#1}{\itshape\alph{mpfootnote#1}}%
- \m@make@mpfootnotetext{#1}% -> \@mpfootnotetext#1
- \ifartopt\else% [RS]
- \expandafter\@cons\csname cl@chapter\endcsname {{footnote#1}}%
- \fi
- \g@addto@macro{\extrafeetinshook}{%
- \ifvoid\@nameuse{footins#1}\else
- \@nameuse{@footstart#1}\@nameuse{@footgroup#1}\fi}
- \g@addto@macro{\extrafeetreinshook}{%
- \ifvoid\@nameuse{footins#1}\else
- \insert\@nameuse{footins#1}{\unvbox\@nameuse{footins#1}}\fi}
- \g@addto@macro{\extrafeetendminihook}{%
- \ifvoid\@nameuse{@mpfootins#1}\else
- \vskip\skip\@mpfootins
- \normalcolor\footnoterule\@nameuse{mp@footgroup#1}\fi}
- \g@addto@macro{\extrafeetminihook}{%
- \@namedef{@mpfn#1}{mpfootnote#1}
- \@namedef{thempfn#1}{\@nameuse{thempfootnote#1}}
- \csname c@mpfootnote#1\endcsname\z@
- \expandafter\let\expandafter\@t@mp \csname @mpfootnotetext#1\endcsname
- \expandafter\let \csname @footnotetext#1\endcsname \@t@mp}
- \g@addto@macro{\@mem@extranofeet}{% % [RS]
- \ifvoid\@nameuse{footins#1}\else\@mem@nofootfalse\fi}
- \plainfootstyle{#1}%
-}
-
-\newcommand{\m@makefootnote}[1]{
- \@namedef{footnote#1}{\@ifnextchar[
- {\@nameuse{@xfootnote#1}}{%\advance \@nameuse{c@\@mpfn#1} by \@ne
- \stepcounter{\@mpfn#1}%
- \@name@p@xdef{@thefnmark#1}{\@nameuse{thempfn#1}}%
- \@nameuse{@footnotemark#1}\@nameuse{@footnotetext#1}}}}
-
-\newcommand{\m@make@xfootnote}[1]{
- \@namedef{@xfootnote#1}[##1]{%
- \begingroup
- \csname c@\@mpfn#1\endcsname ##1\relax
- \@name@unresp@xdef{@thefnmark#1}{\@nameuse{thempfn#1}}%
- \endgroup
- \@nameuse{@footnotemark#1}\@nameuse{@footnotetext#1}}}
-
-\newcommand{\m@make@footnotetext}[1]{%
- \@namelongdef{@footnotetext#1}##1{%
- \insert\@nameuse{footins#1}{%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \@preamfntext
- \hsize\columnwidth
- \protected@edef\@currentlabel{%
- \csname p@footnote#1\endcsname\@nameuse{@thefnmark#1}}%
- \color@begingroup
- \@nameuse{@makefntext#1}{%
- \rule\z@\footnotesep\ignorespaces{\@nameuse{foottextfont#1}##1}% <- v1.6180339a
- \@finalstrut\strutbox}%
- \color@endgroup}%
- \m@mmf@prepare}}
-
-\newcommand{\m@make@mpfootnotetext}[1]{%
- \@namelongdef{@mpfootnotetext#1}##1{%
- \global\setbox\@nameuse{@mpfootins#1}\vbox{%
- \unvbox\@nameuse{@mpfootins#1}%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote#1\endcsname\@nameuse{@thefnmark#1}}%
- \color@begingroup
- \@nameuse{@makefntext#1}{%
- \rule\z@\footnotesep\ignorespaces{\@nameuse{foottextfont#1}##1}% <- v1.6180339a
- \@finalstrut\strutbox}%
- \color@endgroup}%
- \m@mmf@prepare}}
-
-\newcommand{\m@makefootnotemark}[1]{
-\@namedef{footnotemark#1}{%
- \@ifnextchar[ {\@nameuse{@xfootnotemark#1}}
- {%\advance\@nameuse{c@footnote#1} by \@ne%
- \stepcounter{footnote#1}%
- \@name@p@xdef{@thefnmark#1}{\@nameuse{thefootnote#1}}%
- \@nameuse{@footnotemark#1}}}}
-
-\newcommand{\m@make@xfootnotemark}[1]{%
- \@namedef{@xfootnotemark#1}[##1]{%
- \begingroup
- \@nameuse{c@footnote#1} ##1\relax
- \@name@unresp@xdef{@thefnmark#1}{\@nameuse{thefootnote#1}}%
- \endgroup
- \@nameuse{@footnotemark#1}}}
-
-\newcommand{\m@make@footnotemark}[1]{%
-\@namedef{@footnotemark#1}{%
- \leavevmode
- \ifhmode
- \edef\@x@sf{\the\spacefactor}%
- \m@mmf@check
- \nobreak
- \fi
- \@nameuse{@makefnmark#1}%
- \m@mmf@prepare
- \ifhmode\spacefactor\@x@sf\fi
- \relax}}
-
-\newcommand{\m@makefootmarkstyle}[1]{%
- \@namedef{footmarkstyle#1}##1{%
- \@namedef{footscript#1}####1{##1}}}
-
-\newcommand{\m@makefootnotetext}[1]{%
-\@namedef{footnotetext#1}{%
- \@ifnextchar[ {\@nameuse{@xfootnotenext#1}}%
- {\@name@p@xdef{@thefnmark#1}{\@nameuse{thempfn#1}}%
- \@nameuse{@footnotetext#1}}}}
-
-\newcommand{\m@make@xfootnotenext}[1]{
-\@namedef{@xfootnotenext#1}[##1]{%
- \begingroup
- \csname c@\@mpfn#1\endcsname ##1\relax
- \@name@unresp@xdef{@thefnmark#1}{\@nameuse{thempfn#1}}%
- \endgroup
- \@nameuse{@footnotetext#1}}}
-
-\newcommand{\m@make@mpfn}[1]{%
- \@namedef{@mpfn#1}{\@nameuse{footnote#1}}}
-
-\newcommand{\m@makethempfn}[1]{%
- \@namedef{thempfn#1}{\@nameuse{thefootnote#1}}}
-
-\newcommand{\m@make@makefnmark}[1]{%
- \@namedef{@makefnmark#1}{%
- \hbox{\@textsuperscript{\normalfont\@nameuse{@thefnmark#1}}}}}
-
-\newcommand{\m@makefootref}[1]{%
- \@namedef{footref#1}##1{%
- \begingroup
- \@name@unresp@xdef{@thefnmark#1}{\ref{##1}}%
- \endgroup
- \@nameuse{@footnotemark#1}}}
-
-\newcommand{\m@makefootfootmark}[1]{%
- \@namedef{footfootmark#1}{%
- \ifdim\footmarkwidth < \z@
- \llap{\hb@xt@ -\footmarkwidth{%
- \hss\normalfont\@nameuse{footscript#1}%
- {\@nameuse{@thefnmark#1}}}%
- \hspace*{-\footmarkwidth}}%
- \else
- \ifdim\footmarkwidth = \z@
- {\normalfont\@nameuse{footscript#1}{\@nameuse{@thefnmark#1}}}%
- \else
- \hb@xt@\footmarkwidth{%
- \hss\normalfont\@nameuse{footscript#1}%
- {\@nameuse{@thefnmark#1}}}%
- \fi
- \fi}}
-
-\newcommand{\m@makemakefootmark}[1]{%
- \@namedef{makefootmark#1}##1{%
- \leavevmode
- \parindent \footparindent\noindent
- \leftskip\footmarksep\relax
- \advance\leftskip \footmarkwidth
- \null\nobreak\hskip -\leftskip\relax
- \makefootmarkhook\relax
- \@nameuse{footfootmark#1}##1}}
-
-\newcommand{\m@make@footgroup}[1]{%
- \@namedef{@footgroup#1}{\unvbox\@nameuse{footins#1}}}
-
-\newcommand{\m@makemp@footgroup}[1]{%
- \@namedef{mp@footgroup#1}{\unvbox\@nameuse{@mpfootins#1}}}
-
-\newcommand{\m@make@footstart}[1]{%
- \@namedef{@footstart#1}{%
- \vskip\bigskipamount
- \if@RTL\rightskip\else\leftskip\fi=\z@
- \if@RTL\leftskip\else\rightskip\fi=\z@
- \footnoterule}}
-
-\newcommand{\plainfootstyle}[1]{%
- \m@make@footnotetext{#1}%
- \m@make@footgroup{#1}%
- \m@make@footstart{#1}%
- \m@make@mpfootnotetext{#1}%
- \m@makemp@footgroup{#1}%
- \@nameuse{footmarkstyle#1}{\textsuperscript{##1}}
- \expandafter\dimen\csname footins#1\endcsname=\footinsdim
- \expandafter\count\csname footins#1\endcsname=1000\relax}
-
-\newinsert\footinsv@r
- \skip\footinsv@r\bigskipamount
- \count\footinsv@r=1000 % no magnifcation
- \dimen\footinsv@r=\footinsdim
-\m@make@footstart{v@r}
-\newcommand{\@footgroupv@r}{}
-
-\newinsert\@mpfootinsv@r
-\newcommand{\mp@footgroupv@r}{}
-
-\newcount\m@m@k \newdimen\m@m@h
-\newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3
- \@@line{\splittopskip=\m@m@h \vbadness=\@M \hfilneg
- \valign{##\vfill\cr\m@mdosplits}}}
-\newcommand*{\m@mdosplits}{\ifnum\m@m@k>0 \noalign{\hfil}\m@msplitoff
- \global\advance\m@m@k-1\cr\m@mdosplits\fi}
-\newcommand*{\m@msplitoff}{\dimen0=\ht0
- \divide\dimen0 by\m@m@k \advance\dimen0 by\m@m@h
- \setbox2 \vsplit0 to \dimen0
- \unvbox2 }
-
-\newcommand{\twocolumnfootnotes}{%
- \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
- \let\@footnotetext\@twocolfootnotetext
- \dimen\footinsv@r=2\footinsdim
- \count\footinsv@r=500\relax
- \m@make@twocol@footgroup{v@r}%
- \let\@footgroupv@r\@twocol@footgroupv@r
- \let\@mpfootnotetext\@mptwocolfootnotetext
- \m@make@mptwocol@footgroup{v@r}%
- \let\mp@footgroupv@r\@mptwocol@footgroupv@r}
-
-\newcommand{\@twocolfootnotetext}[1]{\insert\footinsv@r{%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\foottextfont
- \@preamfntext
- \protected@edef\@currentlabel{%
- \csname p@footnote\endcsname\@thefnmark}%
- \color@begingroup
- \@twocolfootfmt{#1}%
- \color@endgroup}%
- \m@mmf@prepare}
-
-\newcommand{\@preamtwofmt}{%
- \hsize .45\hsize
- \parindent=\z@
- \tolerance=5000\relax
- \raggedright
- \leavevmode}
-
-\newcommand{\@twocolfootfmt}[1]{%
- \@preamtwofmt
- {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-
-\newcommand{\@mptwocolfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{%
- \unvbox\@mpfootinsv@r
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\foottextfont
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote\endcsname\@thefnmark}%
- \color@begingroup
- \@twocolfootfmt{#1}%
- \color@endgroup}%
- \m@mmf@prepare}
-
-\newcommand{\twocolumnfootstyle}[1]{%
- \m@make@twocolfootnotetext{#1}%
- \m@make@mptwocolfootnotetext{#1}%
- \m@make@twocolfootfmt{#1}%
- \m@make@twocol@footgroup{#1}%
- \m@make@mptwocol@footgroup{#1}%
- \m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
- \@nameuse{@twocolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
- \@nameuse{@mptwocolfootnotetext#1}{##1}}%
- \@namedef{@footgroup#1}{\@nameuse{@twocol@footgroup#1}}%
- \@namedef{mp@footgroup#1}{\@nameuse{@mptwocol@footgroup#1}}%
- \expandafter\dimen\csname footins#1\endcsname=2\footinsdim
- \expandafter\count\csname footins#1\endcsname=500\relax}
-
-\newcommand{\m@make@twocolfootnotetext}[1]{%
- \@namelongdef{@twocolfootnotetext#1}##1{%
- \insert\@nameuse{footins#1}{%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \@preamfntext
- \protected@edef\@currentlabel{%
- \csname p@footnote#1\endcsname \@nameuse{@thefnmark#1}}%
- \color@begingroup
- \@nameuse{@twocolfootfmt#1}{##1}%
- \color@endgroup}%
- \m@mmf@prepare}}
-
-\newcommand{\m@make@mptwocolfootnotetext}[1]{%
-\@namelongdef{@mptwocolfootnotetext#1}##1{%
- \global\setbox\@nameuse{@mpfootins#1}\vbox{%
- \unvbox\@nameuse{@mpfootins#1}
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote#1\endcsname\@nameuse{@thefnmark#1}}%
- \color@begingroup
- \@nameuse{@twocolfootfmt#1}{##1}%
- \color@endgroup}\m@mmf@prepare}}
-
-\newcommand{\m@make@twocolfootfmt}[1]{%
- \@namedef{@twocolfootfmt#1}##1{%
- \@preamtwofmt
- {\@nameuse{footfootmark#1}\strut
- {\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-
-\newcommand{\m@make@twocol@footgroup}[1]{%
- \@namedef{@twocol@footgroup#1}{{%
- \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
- \m@mrigidbalance{\@nameuse{footins#1}}{\tw@}{\splittopskip}}}}
-
-\newcommand{\m@make@mptwocol@footgroup}[1]{%
-\@namedef{@mptwocol@footgroup#1}{{%
- \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
- \m@mrigidbalance{\@nameuse{@mpfootins#1}}{\tw@}{\splittopskip}}}}
-
-\newcommand{\threecolumnfootnotes}{%
- \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
- \let\@footnotetext\@threecolfootnotetext
- \dimen\footinsv@r=3\footinsdim
- \count\footinsv@r=333\relax
- \m@make@threecol@footgroup{v@r}%
- \let\@footgroupv@r\@threecol@footgroupv@r
- \let\@mpfootnotetext\@mpthreecolfootnotetext
- \m@make@mpthreecol@footgroup{v@r}%
- \let\mp@footgroupv@r\@mpthreecol@footgroupv@r}
-
-\newcommand{\@threecolfootnotetext}[1]{\insert\footinsv@r{%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\foottextfont
- \@preamfntext
- \protected@edef\@currentlabel{%
- \csname p@footnote\endcsname\@thefnmark}%
- \color@begingroup
- \@threecolfootfmt{#1}%
- \color@endgroup}\m@mmf@prepare}
-
-\newcommand{\@preamthreefmt}{%
- \hsize .3\hsize
- \parindent=\z@
- \tolerance=5000\relax
- \raggedright
- \leavevmode}
-
-\newcommand{\@threecolfootfmt}[1]{%
- \@preamthreefmt
- {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak}
-
-\newcommand{\@mpthreecolfootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{%
- \unvbox\@mpfootinsv@r
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\foottextfont
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote\endcsname\@thefnmark}%
- \color@begingroup
- \@threecolfootfmt{#1}%
- \color@endgroup}\m@mmf@prepare}
-
-\newcommand{\threecolumnfootstyle}[1]{%
- \m@make@threecolfootnotetext{#1}%
- \m@make@mpthreecolfootnotetext{#1}%
- \m@make@threecolfootfmt{#1}%
- \m@make@threecol@footgroup{#1}%
- \m@make@mpthreecol@footgroup{#1}%
- \m@make@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
- \@nameuse{@threecolfootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
- \@nameuse{@mpthreecolfootnotetext#1}{##1}}%
- \@namedef{@footgroup#1}{\@nameuse{@threecol@footgroup#1}}%
- \@namedef{mp@footgroup#1}{\@nameuse{@mpthreecol@footgroup#1}}%
- \expandafter\dimen\csname footins#1\endcsname=3\footinsdim
- \expandafter\count\csname footins#1\endcsname=333\relax}
-
-\newcommand{\m@make@threecolfootnotetext}[1]{%
-\@namelongdef{@threecolfootnotetext#1}##1{%
- \insert\@nameuse{footins#1}{%
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \@preamfntext
- \protected@edef\@currentlabel{%
- \csname p@footnote#1\endcsname \@nameuse{@thefnmark#1}}%
- \color@begingroup
- \@nameuse{@threecolfootfmt#1}{##1}%
- \color@endgroup}\m@mmf@prepare}}
-
-\newcommand{\m@make@mpthreecolfootnotetext}[1]{%
-\@namelongdef{@mpthreecolfootnotetext#1}##1{%
- \global\setbox\@nameuse{@mpfootins#1}\vbox{%
- \unvbox\@nameuse{@mpfootins#1}
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote#1\endcsname\@nameuse{@thefnmark#1}}%
- \color@begingroup
- \@nameuse{@threecolfootfmt#1}{##1}%
- \color@endgroup}\m@mmf@prepare}}
-
-\newcommand{\m@make@threecolfootfmt}[1]{%
-\@namelongdef{@threecolfootfmt#1}##1{%
- \@preamthreefmt
- {\@nameuse{footfootmark#1}\strut
- {\@nameuse{foottextfont#1}##1}\strut\par}\allowbreak}}
-
-\newcommand{\m@make@threecol@footgroup}[1]{%
-\@namedef{@threecol@footgroup#1}{{%
- \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
- \m@mrigidbalance{\@nameuse{footins#1}}{\thr@@}{\splittopskip}}}}
-
-\newcommand{\m@make@mpthreecol@footgroup}[1]{%
-\@namedef{@mpthreecol@footgroup#1}{{%
- \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox
- \m@mrigidbalance{\@nameuse{@mpfootins#1}}{\thr@@}{\splittopskip}}}}
-
-\newcommand{\m@munvxh}[1]{%
- \setbox0=\vbox{\unvbox#1%
- \global\setbox1=\lastbox}%
- \unhbox1
- \unskip
- \unskip
- \unpenalty
- \hskip\m@mipn@skip}
-
-\newcommand{\m@mungebox}{%
- \setbox0=\hbox{\m@munvxh0}%
- \dp0=\z@
- \ht0=\footfudgefactor\wd0
- \box0
- \penalty0}
-
-\newskip\m@mipn@skip
-\newcommand*{\m@minterparanoteglue}[1]{%
- {\foottextfont\global\m@mipn@skip=#1\relax}}
-\m@minterparanoteglue{1em plus.4em minus.4em}
-
-\newcommand*{\m@mmakehboxofhboxes}{\setbox0=\hbox{}%
- \loop
- \unpenalty
- \setbox2=\lastbox
- \ifhbox2
- \setbox0=\hbox{\box2\unhbox0}
- \repeat}
-
-\newcommand*{\m@mremovehboxes}{\setbox0=\lastbox
- \ifhbox0{\m@mremovehboxes}\unhbox0 \fi}
-
-\newcommand*{\footfudgefiddle}{64}
-
-\newcommand{\paragraphfootnotes}{%
- \@namedef{foottextfontv@r}{\foottextfont}% % [RS]
- \let\@footnotetext\@parafootnotetext
- \dimen\footinsv@r=\footinsdim
- \count\footinsv@r=1000\relax
- \m@make@para@footgroup{v@r}%
- \let\@footgroupv@r\@para@footgroupv@r
- \let\@mpfootnotetext\@mpparafootnotetext
- \m@make@mppara@footgroup{v@r}%
- \let\mp@footgroupv@r\@mppara@footgroupv@r
- {\foottextfont
- \dimen0=\baselineskip
- \multiply\dimen0 by 1024
- \divide\dimen0 by \hsize \multiply\dimen0 by \footfudgefiddle
- \xdef\footfudgefactor{\expandafter\strip@pt\dimen0 }}}
-
-\newcommand{\@parafootnotetext}[1]{\insert\footinsv@r{
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\foottextfont
- \@preamfntext
- \protected@edef\@currentlabel{%
- \csname p@footnote\endcsname\@thefnmark}%
- \setbox0=\vbox{\hsize=\maxdimen
- \color@begingroup
- \noindent \@parafootfmt{#1}%
- \color@endgroup}%
- \m@mungebox}\m@mmf@prepare}
-
-\newcommand{\@parafootfmt}[1]{%
- \parindent=\z@
- \parfillskip=0pt \@plus 1fil
- {\footfootmark\strut {\foottextfont #1}\penalty-10}}
-
-\newcommand{\@mpparafootnotetext}[1]{%
- \global\setbox\@mpfootinsv@r\vbox{%
- \unvbox\@mpfootinsv@r
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\foottextfont
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote\endcsname\@thefnmark}%
- \setbox0=\vbox{\hsize=\maxdimen
- \color@begingroup
- \noindent \@parafootfmt{#1}%
- \color@endgroup}%
- \m@mungebox}\m@mmf@prepare}
-
-\newcommand{\paragraphfootstyle}[1]{%
- \m@make@parafootnotetext{#1}%
- \m@make@mpparafootnotetext{#1}%
- \m@make@parafootfmt{#1}%
- \m@make@para@footgroup{#1}%
- \m@make@mppara@footgroup{#1}%
- \m@make@para@footstart{#1}%
- \@namelongdef{@footnotetext#1}##1{%
- \@nameuse{@parafootnotetext#1}{##1}}%
- \@namelongdef{@mpfootnotetext#1}##1{%
- \@nameuse{@mpparafootnotetext#1}{##1}}%
- \@namedef{@footgroup#1}{\@nameuse{@para@footgroup#1}}%
- \@namedef{mp@footgroup#1}{\@nameuse{@mppara@footgroup#1}}%
- \@namedef{@footstart#1}{\@nameuse{@para@footstart#1}}%
- \expandafter\dimen\csname footins#1\endcsname=\footinsdim
- \expandafter\count\csname footins#1\endcsname=1000\relax
- {\@nameuse{foottextfont#1}%
- \dimen0=\baselineskip
- \multiply\dimen0 by 1024
- \divide\dimen0 by \hsize \multiply\dimen0 by 64
- \xdef\footfudgefactor{\expandafter\strip@pt\dimen0 }}}
-
-\newcommand{\m@make@parafootnotetext}[1]{%
-\@namelongdef{@parafootnotetext#1}##1{%
- \insert\@nameuse{footins#1}{
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \@preamfntext
- \protected@edef\@currentlabel{%
- \csname p@footnote#1\endcsname \@nameuse{@thefnmark#1}}%
- \setbox0=\vbox{\hsize=\maxdimen
- \color@begingroup
- \noindent \@nameuse{@parafootfmt#1}{##1}%
- \color@endgroup}%
- \m@mungebox}\m@mmf@prepare}}
-
-\newcommand{\m@make@mpparafootnotetext}[1]{%
-\@namelongdef{@mpparafootnotetext#1}##1{%
- \global\setbox\@nameuse{@mpfootins#1}\vbox{%
- \unvbox\@nameuse{@mpfootins#1}
- \def\baselinestretch{\m@m@singlespace}% <- v1.61803 addition
- \reset@font\@nameuse{foottextfont#1}%
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@mpfootnote#1\endcsname\@nameuse{@thefnmark#1}}%
- \setbox0=\vbox{\hsize=\maxdimen
- \color@begingroup
- \noindent \@nameuse{@parafootfmt#1}{##1}%
- \color@endgroup}%
- \m@mungebox}\m@mmf@prepare}}
-
-\newcommand{\m@make@parafootfmt}[1]{%
-\@namelongdef{@parafootfmt#1}##1{%
- \parindent=\z@
- \parfillskip=0pt \@plus 1fil
- {\@nameuse{footfootmark#1}\strut
- {\@nameuse{foottextfont#1}##1}\penalty-10}}}
-
-\newcommand{\m@make@para@footgroup}[1]{%
-\@namedef{@para@footgroup#1}{%
- \unvbox\@nameuse{footins#1}
- \m@mmakehboxofhboxes
- \setbox0=\hbox{\unhbox0 \m@mremovehboxes}%
- \@nameuse{foottextfont#1}%
- \noindent\unhbox0\par}}
-
-\newcommand{\m@make@mppara@footgroup}[1]{%
-\@namedef{@mppara@footgroup#1}{%
- \unvbox\@nameuse{@mpfootins#1}
- \m@mmakehboxofhboxes
- \setbox0=\hbox{\unhbox0 \m@mremovehboxes}%
- \@nameuse{foottextfont#1}%
- \noindent\unhbox0\par}}
-
-\newcommand{\m@make@para@footstart}[1]{%
-\@namedef{@para@footstart#1}{%
- \vskip\bigskipamount
- \if@RTL\rightskip\else\leftskip\fi=\z@
- \if@RTL\leftskip\else\rightskip\fi=\z@
- \parindent=\z@
- \vskip\skip\@nameuse{footins#1}%
- \footnoterule}}
-
-\newif\if@mem@nofoot
-\newcommand*{\@mem@testifnofoot}{%
- \@mem@nofoottrue
- \ifvoid\footins\else\@mem@nofootfalse\fi
- \ifvoid\footinsv@r\else\@mem@nofootfalse\fi
- \ifvoid\sideins\else\@mem@nofootfalse\fi
- \@mem@extranofeet}
-\newcommand*{\@mem@extranofeet}{}
-
-\let\memold@doclearpage\@doclearpage
-\newcommand{\mem@doclearpage}{%
- \@mem@testifnofoot
- \if@mem@nofoot
- \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa
- \setbox\@tempboxa\box\@cclv
- \xdef\@deferlist{\@toplist\@botlist\@deferlist}%
- \global\let\@toplist\@empty
- \global\let\@botlist\@empty
- \global\@colroom\@colht
- \ifx \@currlist\@empty
- \else
- \@latexerr{Float(s) lost}\@ehb
- \global\let\@currlist\@empty
- \fi
- \@makefcolumn\@deferlist
- \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}%
- \if@twocolumn
- \if@firstcolumn
- \xdef\@dbldeferlist{\@dbltoplist\@dbldeferlist}%
- \global\let\@dbltoplist\@empty
- \global\@colht\textheight
- \begingroup
- \@dblfloatplacement
- \@makefcolumn\@dbldeferlist
- \@whilesw\if@fcolmade \fi{\@outputpage
- \@makefcolumn\@dbldeferlist}%
- \endgroup
- \else
- \vbox{}\clearpage
- \fi
- \fi
- \else
- \setbox\@cclv\vbox{\box\@cclv\vfil}%
- \@makecol\@opcol
- \clearpage
- \fi}
-\gdef\@doclearpage{\mem@doclearpage}
-
-\newcommand*{\m@m@makecolfloats}{%
- \xdef\@freelist{\@freelist\@midlist}%
- \global\let\@midlist\@empty
- \@combinefloats}
-\newcommand*{\m@m@makecoltext}{%
- \ifvbox\@kludgeins
- \@makespecialcolbox
- \else
- \setbox\@outputbox \vbox to\@colht{%
- \@texttop
- \dimen@ \dp\@outputbox
- \unvbox \@outputbox
- \vskip -\dimen@
- \@textbottom}%
- \fi}
-
-\newcommand*{\m@m@makecolintro}{}
-
-\newcommand*{\m@mopfootnote}{\setbox\@outputbox \vbox{%
- \boxmaxdepth\@maxdepth
- \@tempdima\dp\@cclv
- \unvbox\@cclv
- \vskip-\@tempdima
- \vskip \skip\footins
- \color@begingroup
- \normalcolor
- \footnoterule
- \unvbox \footins
- \color@endgroup}}
-
-\newcommand*{\m@mopfootnotebf}{%
- \setbox\@outputbox \vbox{%
- \boxmaxdepth\@maxdepth
- \unvbox\@outputbox
- \vskip\skip\footins
- \color@begingroup
- \normalcolor
- \footnoterule
- \unvbox \footins
- \color@endgroup}}
-
-\newcommand*{\m@mopsidebar}{%
- \ifvoid\sideins\else
- \setbox\@outputbox \vbox{%
- \sidecontents
- \unvbox\@outputbox}
- \fi}
-
-\gdef\mem@makecol{%
- \m@m@makecolintro
- \ifvoid\footins
- \setbox\@outputbox \box\@cclv
- \else
- \m@mopfootnote
- \fi
- \m@mdoextrafeet
- \m@m@makecolfloats
- \m@mopsidebar
- \m@m@makecoltext
- \global \maxdepth \@maxdepth}
-
-\gdef\mem@makecolbf{%
- \m@m@makecolintro
- \setbox\@outputbox \box\@cclv
- \m@m@makecolfloats
- \ifvoid\footins\else
- \m@mopfootnotebf
- \fi
- \m@mdoextrafeet
- \m@mopsidebar
- \m@m@makecoltext
- \global\maxdepth \@maxdepth}
-
-\gdef\mem@makecoldblf{%
- \m@m@makecolintro
- \setbox\@outputbox \box\@cclv
- \m@m@makecolfloats
- \m@mopsidebar% <- added
- \ifvoid\footins
- \else
- \m@mopfootnote
- \fi
- \m@mdoextrafeet
- \m@m@makecoltext
- \global \maxdepth \@maxdepth}
-
-\newcommand{\feetabovefloat}{\gdef\@makecol{\mem@makecol}}
-\newcommand{\feetbelowfloat}{\gdef\@makecol{\mem@makecolbf}}
-\feetabovefloat
-
-\gdef\@reinserts{%
- \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi
- \m@mdodoreinextrafeet
- \ifvbox\@kludgeins\insert\@kludgeins{\unvbox\@kludgeins}\fi
- \ifvoid\sideins\else\insert\sideins{\unvbox\sideins}\fi}
-
-\newif\ifm@mpnpageopt
- \m@mpnpageoptfalse
-\newif\ifm@mpncontopt
- \m@mpncontoptfalse
-\newcounter{pagenote}[chapter]
-\renewcommand{\thepagenote}{\arabic{pagenote}}
-\setcounter{pagenote}{0}
-
-\newcommand*{\notepageref}{\m@mpnpageopttrue}
-\@onlypreamble\notepageref
-\newcommand*{\continuousnotenums}{%
- \counterwithout{pagenote}{chapter}
- \renewcommand{\thepagenote}{\arabic{pagenote}}}
-\@onlypreamble\continuousnotenums
-
-\newif\ifmempagenotes
- \mempagenotesfalse
-
-\newcommand*{\makepagenote}{%
- \newwrite\@notefile
- \immediate\openout\@notefile=\jobname.ent
- \mempagenotestrue
- \def\pagenote{\@bsphack\begingroup
- \@sanitize
- \m@m@wrpnote}%
- \typeout{Writing note file \jobname.ent}%
- \let\makepagenote\@empty}
-
-\newcommand{\immediate@protected@write}[3]{%
- \begingroup
- #2%
- \let\protect\@unexpandable@protect
- \edef\reserved@a{\immediate\write#1{#3}}%
- \reserved@a
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi}
-
-\let\m@m@pnwrite\immediate@protected@write
-\AtBeginDocument{%
- \ifm@mpnpageopt
- \let\m@m@pnwrite\protected@write
- \fi}
-
-\newcommand*{\pnchap}{\f@rtoc}
-\newcommand*{\pnschap}{\f@rbdy}
-
-\newcommand{\m@m@wrpnote}[2][]{%
- \@ifmtarg{#1}{\refstepcounter{pagenote}%
- \notenumintext{\thepagenote}}{}%
- \ifm@mpn@new@chap
- \global\m@mpn@new@chapfalse
- \addtonotes{\string\pagenotesubhead{\@chapapp}{\thechapter}{\pnchap}}%
- \fi
- \ifm@mpn@new@schap
- \global\m@mpn@new@schapfalse
- \addtonotes{\string\pagenotesubhead{\@chapapp}{}{\pnschap}}%
- \fi
- \m@m@pnwrite\@notefile{}
- {\string\noteentry{\thepagenote}{#1}{#2}{\thepage}}%
- \endgroup
- \@esphack}
-
-\def\pagenote{\@bsphack\begingroup \@sanitize\m@m@pagenote}
-\newcommand{\m@m@pagenote}[2][]{\endgroup\@esphack}
-
-\newcommand*{\pagetofootnote}{%
- \let\memsavepagenote\pagenote
- \renewcommand{\pagenote}[2][]{\footnote{##2}}}
-\newcommand*{\foottopagenote}{%
- \let\memsavefootnote\footnote
- \renewcommand*{\footnote}[2][]{\pagenote{##2}}}
-
-\newcommand{\addtonotes}[1]{\ifmempagenotes
- \IfFileExists{\jobname.ent}{\m@m@pnwrite\@notefile{}{#1}}{\mempnofilewarn}%
-\fi}
-
-\newcommand{\notenumintext}[1]{%
- \textsuperscript{#1}}
-\newcommand{\notenuminnotes}[1]{%
- {\normalfont #1.}\space}
-\newcommand{\noteentry}[4]{%
- \prenoteinnotes
- \noteidinnotes{#1}{#2}\pageinnotes{#4}\noteinnotes{#3}%
- \postnoteinnotes}
-
-\newcommand{\idtextinnotes}[1]{%
- [#1]\space}
-\newcommand{\noteidinnotes}[2]{%
- \@ifmtarg{#2}{%
- \notenuminnotes{#1}}{\idtextinnotes{#2}}}
-\newcommand{\pageinnotes}[1]{%
- \ifm@mpnpageopt \printpageinnotes{#1}\fi}
-\newcommand*{\printpageinnotes}[1]{%
- (\pagerefname\ #1)\space}
-\newcommand{\noteinnotes}[1]{#1}
-
-\newcommand{\prenoteinnotes}{\par\noindent}
-\newcommand{\postnoteinnotes}{\par}
-
-\providecommand*{\notesname}{Notes}
-\newcommand*{\notedivision}{\chapter{\notesname}}
-
-\newcommand*{\printpagenotes}{\@ifstar{\@sprintpagenotes}{\@printpagenotes}}
-\newcommand*{\mempnofilewarn}{%
- \ClassWarning{bidimemoir}{There is no .ent file}}
-
-\newcommand*{\@sprintpagenotes}{%
- \ifmempagenotes
- \notedivision
-\IfFileExists{\jobname.ent}{%
- \immediate\closeout\@notefile
- \input{\jobname.ent}%
- \immediate\openout\@notefile=\jobname.ent%
- }{%
- \mempnofilewarn
-}%
-\fi}
-
-\newcommand*{\@printpagenotes}{%
- \ifmempagenotes
- \notedivision
- \IfFileExists{\jobname.ent}{%
- \immediate\closeout\@notefile
- \input{\jobname.ent}%
- }{%
- \mempnofilewarn
- }
- \fi}
-
-\newcommand*{\pagenotesubhead}[3]{%
- \section*{#1 #2 #3}}
-
-\newif\ifchangemarks\changemarksfalse
-\newcommand*{\changemarks}{\changemarkstrue}
-\newcommand*{\nochangemarks}{\changemarksfalse}
-
-\newcommand{\v@rid}[2]{%
- \@bsphack
- \ifchangemarks
- \ifdraftdoc
- \marginpar[#1]{#2}%
- \fi\fi
- \@esphack}
-
-\newcommand{\added}[1]{%
- \@bsphack
- \ifchangemarks
- \v@rid{\small$\oplus$ #1}{\small$\oplus$ #1}%
- \fi
- \@esphack}
-\newcommand{\deleted}[1]{%
- \@bsphack
- \ifchangemarks
- \v@rid{\small$\neq$ #1}{\small$\neq$ #1}%
- \fi
- \@esphack}
-\newcommand{\changed}[1]{%
- \@bsphack
- \ifchangemarks
- \v@rid{\small$\Leftrightarrow$ #1}{\small$\Leftrightarrow$ #1}%
- \fi
- \@esphack}
-
-\newcommand*{\showtrimsoff}{\showtrimsfalse}
-\newcommand*{\showtrimson}{\showtrimstrue}
-
-\newcommand*{\trimmark}{%
- \begin{picture}(0,0)
- \unitlength 1cm
- \thinlines
- \put(-2,0){\line(1,0){4}}
- \put(0,-2){\line(0,1){4}}
- \end{picture}}
-
-\newcommand*{\Ltrimpictl}{%
- \begin{picture}(0,0)
- \unitlength 1mm
- \thinlines
- \put(-2,0){\line(-1,0){18}}
- \put(0,2){\line(0,1){18}}
- \end{picture}}
-\newcommand*{\Ltrimpictr}{%
- \begin{picture}(0,0)
- \unitlength 1mm
- \thinlines
- \put(2,0){\line(1,0){18}}
- \put(0,2){\line(0,1){18}}
- \end{picture}}
-\newcommand*{\Ltrimpicbl}{%
- \begin{picture}(0,0)
- \unitlength 1mm
- \thinlines
- \put(-2,0){\line(-1,0){18}}
- \put(0,-2){\line(0,-1){18}}
- \end{picture}}
-\newcommand*{\Ltrimpicbr}{%
- \begin{picture}(0,0)
- \unitlength 1mm
- \thinlines
- \put(2,0){\line(1,0){18}}
- \put(0,-2){\line(0,-1){18}}
- \end{picture}}
-
-\newcommand*{\Ftrimpicbl}{%
- \begin{picture}(0,0)
- \unitlength 1pt
- \thinlines
- \put(0,0){\framebox(\strip@pt\paperwidth,\strip@pt\paperheight){}}
- \end{picture}}
-
-\newcommand*{\tmarktl}{\trimmark}
-\newcommand*{\tmarktr}{\trimmark}
-\newcommand*{\tmarkbl}{\trimmark}
-\newcommand*{\tmarkbr}{\trimmark}
-
-\newcommand*{\tmarktm}{}
-\newcommand*{\tmarkml}{}
-\newcommand*{\tmarkmr}{}
-\newcommand*{\tmarkbm}{}
-
-\newcommand*{\trimXmarks}{%
- \let\tmarktl\trimmark
- \let\tmarktr\trimmark
- \let\tmarkbl\trimmark
- \let\tmarkbr\trimmark}
-\newcommand*{\trimLmarks}{%
- \let\tmarktl\Ltrimpictl
- \let\tmarktr\Ltrimpictr
- \let\tmarkbl\Ltrimpicbl
- \let\tmarkbr\Ltrimpicbr}
-\newcommand*{\trimFrame}{%
- \let\tmarktl\null
- \let\tmarktr\null
- \let\tmarkbl\Ftrimpicbl
- \let\tmarkbr\null}
-\newcommand*{\trimNone}{%
- \let\tmarktl\relax
- \let\tmarktr\relax
- \let\tmarkbl\relax
- \let\tmarkbr\relax
- \let\tmarktm\relax
- \let\tmarkml\relax
- \let\tmarkmr\relax
- \let\tmarkbm\relax}
-
-\newcommand*{\trimmarks}{%
- \vbox to \z@{\vskip-1in \vskip\trimtop % top of logical page
- \hb@xt@\z@{\hskip-1in
- \ifodd\c@page
- \hskip\stockwidth \hskip-\trimedge \hskip-\paperwidth
- \else
- \if@twoside
- \hskip\trimedge % left of logical page
- \else
- \hskip\stockwidth \hskip-\trimedge \hskip-\paperwidth
- \fi
- \fi
- \vbox to \paperheight{%
- \let\protect\relax % <- v1.4 addition
- \hb@xt@\paperwidth{\tmarktl\hfil\tmarktm\hfil\tmarktr}%
- \vfil
- \hb@xt@\paperwidth{\tmarkml\hfil\tmarkmr}%
- \vfil
- \hb@xt@\paperwidth{\tmarkbl\hfil\tmarkbm\hfil\tmarkbr}}%
- \hss}%
- \vss}}
-
-\newcommand*{\registrationColour}[1]{#1}
-\newcommand*{\quarkmarks}{%
-\renewcommand*{\tmarktl}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(-36,0){\line(1,0){24}}
- \put(0,12){\line(0,1){24}}
- \put(3,27){\ttfamily\fontsize{8bp}{10bp}\selectfont\jobname\ \
- \today\ \ \printtime\ \ Page \thepage}
- \end{picture}}}
-\renewcommand*{\tmarktm}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(-24,24){\line(1,0){48}}
- \put(0,12){\line(0,1){24}}
- \put(0,24){\oval(12,12)}
- \end{picture}}}
-\renewcommand*{\tmarktr}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(12,0){\line(1,0){24}}
- \put(0,12){\line(0,1){24}}
- \end{picture}}}
-\renewcommand*{\tmarkmr}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(12,0){\line(1,0){24}}
- \put(24,-24){\line(0,1){48}}
- \put(24,0){\oval(12,12)}
- \end{picture}}}
-\renewcommand*{\tmarkbr}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(12,0){\line(1,0){24}}
- \put(0,-36){\line(0,1){24}}
- \end{picture}}}
-\renewcommand*{\tmarkbm}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(-24,-24){\line(1,0){48}}
- \put(0,-36){\line(0,1){24}}
- \put(0,-24){\oval(12,12)}
- \end{picture}}}
-\renewcommand*{\tmarkbl}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(-36,0){\line(1,0){24}}
- \put(0,-36){\line(0,1){24}}
- \end{picture}}}
-\renewcommand*{\tmarkml}{\registrationColour{%
- \begin{picture}(0,0)
- \setlength{\unitlength}{1bp}\thicklines
- \put(-36,0){\line(1,0){24}}
- \put(-24,-24){\line(0,1){48}}
- \put(-24,0){\oval(12,12)}
- \end{picture}}}
-\renewcommand*{\trimmarks}{%
-%% \special{papersize=\the\stockwidth,\the\stockheight}
- {%
- \vbox to \z@{\vskip-1in \vskip\trimtop % top of logical page
- \hb@xt@\z@{\hskip-1in
- \ifodd\c@page
- \hskip\stockwidth \hskip-\trimedge \hskip-\paperwidth
- \else
- \if@twoside
- \hskip\trimedge % left of logical page
- \else
- \hskip\stockwidth \hsip-\trimedge \hskip-\paperwidth
- \fi
- \fi
- \vbox to \paperheight{%
- \let\protect\relax % <- v1.4 addition
- \hb@xt@\paperwidth{\tmarktl\hfil\tmarktm\hfil\tmarktr}%
- \vfil
- \hb@xt@\paperwidth{\tmarkml\hfil\tmarkmr}%
- \vfil
- \hb@xt@\paperwidth{\tmarkbl\hfil\tmarkbm\hfil\tmarkbr}}%
- \hss}%
- \vss}}%
-}}
-
-\let\mem@oldshipout\shipout
-\newcommand*{\mem@shipi}{%
- \ifvoid\@cclv\expandafter\aftergroup\fi\mem@shipii}
-\newcommand*\mem@shipii{%
- \ifvoid\@cclv
- \mem@oldshipout\box\@cclv
- \else
- \ifshowtrims
- \mem@oldshipout\vbox{\trimmarks\unvbox\@cclv}%
- \else
- \mem@oldshipout\box\@cclv
- \fi
- \fi}
-\ifshowtrims
- \renewcommand*{\shipout}{\afterassignment\mem@shipi\setbox\@cclv=}
-\fi
-
-\newtoks\every@verbatim
- \every@verbatim={}
-\newtoks\afterevery@verbatim
- \afterevery@verbatim={}
-
-\def\@makeother#1{\catcode`#112\relax}
-\begingroup
- \catcode`\ =\active%
- \def\x{\def\@vobeyspaces{\catcode`\ \active\let \@xobeysp}}
- \expandafter\endgroup\x
-\def\@xobeysp{\leavevmode\penalty\@M\ }
-\newtoks\verbatim@line
-\newcount\tab@position
-\def\@xobeytab{%
- \loop
- \toks@\expandafter{\the\toks@\@xobeysp}%
- \advance\tab@position-1
- \ifnum\tab@position>0 \repeat
-}
-\begingroup
- \catcode`\^^I=\active
- \gdef\@vobeytabs{\catcode`\^^I\active\let^^I\@xobeytab}%
-\endgroup
-\def\verbatim@tabexpand#1{%
- \ifx#1\@nil
- \the\toks@
- \expandafter\par
- \else
- \ifx#1\@xobeytab
- \@xobeytab
- \else
- \toks@\expandafter{\the\toks@#1}%
- \advance\tab@position\m@ne
- \fi
- \ifnum\tab@position=0 \tab@position\tab@size \fi
- \expandafter\verbatim@tabexpand
- \fi
-}
-
-\newif\ift@bs
-\newcommand{\tabson}[1][4]{%
- \ifnum\@ne > #1\relax
- \tabsoff
- \else
- \t@bstrue
- \def\tab@size{#1\relax}%
- \def\@maybeobeytabs{\@vobeytabs}%
- \fi
-}
-\newcommand{\tabsoff}{%
- \t@bsfalse
- \def\tab@size{\z@}%
- \def\@maybeobeytabs{}%
-}
-\tabsoff
-
-\def\tabverbatim@processline{\tab@position\tab@size
- \toks@{}%
- \expandafter\verbatim@tabexpand\the\verbatim@line\@nil}
-\def\notabverbatim@processline{\the\verbatim@line\par}
-
-\def\verbatim@startline{\verbatim@line{}}
-\def\verbatim@addtoline#1{%
- \verbatim@line\expandafter{\the\verbatim@line#1}}
-\def\verbatim@processline{\notabverbatim@processline}
-\def\verbatim@finish{\ifcat$\the\verbatim@line$\else
- \verbatim@processline\fi}
-\newcommand{\setverbatimfont}[1]{\def\m@mverbfont{#1}}
-\setverbatimfont{\normalfont\ttfamily}
-
-\def\verbatim@font{\m@mverbfont
- \hyphenchar\font\m@ne
- \let\do\do@noligs
- \verbatim@nolig@list}
-
-\def\@verbatim{\the\every@verbatim
- \trivlist \item \relax
- \if@minipage\else\vskip\parskip\fi
- \@beginparpenalty \predisplaypenalty
- \if@RTL\rightskip\else\leftskip\fi\@totalleftmargin\if@RTL\leftskip\else\rightskip\fi\z@
- \parindent\z@\parfillskip\@flushglue\parskip\z@
- \@@par
- \def\par{%
- \if@tempswa
- \leavevmode\null\@@par\penalty\interlinepenalty
- \else
- \@tempswatrue
- \ifhmode\@@par\penalty\interlinepenalty\fi
- \fi}%
- \def\@noitemerr{\@warning{No verbatim text}}%
- \obeylines
- \let\do\@makeother \dospecials
- \verbatim@font
- \everypar \expandafter{\the\everypar \unpenalty}%
- \wrapright\the\afterevery@verbatim}
-\def\verbatim{\begingroup
- \ift@bs
- \def\verbatim@processline{\tabverbatim@processline}%
- \fi
- \@verbatim \frenchspacing\@vobeyspaces\@maybeobeytabs\verbatim@start}
-\@namedef{verbatim*}{\begingroup
- \ift@bs
- \def\verbatim@processline{\tabverbatim@processline}%
- \fi
- \@verbatim\@maybeobeytabs\verbatim@start}
-\def\endverbatim{\endtrivlist\endgroup\@doendpe}
-\@namelet{endverbatim*}\endverbatim
-
-\newcommand{\setupcomment}{%
- \let\do\@makeother\dospecials\catcode`\^^M\active
- \let\verbatim@startline\relax
- \let\verbatim@addtoline\@gobble
- \let\verbatim@processline\relax
- \let\verbatim@finish\relax}
-\newcommand{\newcomment}[1]{%
- \expandafter\def\csname #1\endcsname{\@bsphack\setupcomment\verbatim@}%
- \expandafter\let\csname end#1\endcsname=\@esphack}
-\newcommand{\commentsoff}[1]{%
- \expandafter\def\csname #1\endcsname{}%
- \expandafter\def\csname end#1\endcsname{}}
-\newcommand{\commentson}[1]{\newcomment{#1}}
-
-\newcomment{comment}
-
-\@ifundefined{vrb@catcodes}%
- {\def\vrb@catcodes{%
- \catcode`\!12\catcode`\[12\catcode`\]12}}{}
-\begingroup
- \vrb@catcodes
- \lccode`\!=`\\ \lccode`\[=`\{ \lccode`\]=`\}
- \catcode`\~=\active \lccode`\~=`\^^M
- \lccode`\C=`\C
- \lowercase{\endgroup
- \def\verbatim@start#1{%
- \verbatim@startline
- \if\noexpand#1\noexpand~%
- \let\next\verbatim@
- \else \def\next{\verbatim@#1}\fi
- \next}%
- \def\verbatim@#1~{\verbatim@@#1!end\@nil}%
- \def\verbatim@@#1!end{%
- \verbatim@addtoline{#1}%
- \futurelet\next\verbatim@@@}%
- \def\verbatim@@@#1\@nil{%
- \ifx\next\@nil
- \verbatim@processline
- \verbatim@startline
- \let\next\verbatim@
- \else
- \def\@tempa##1!end\@nil{##1}%
- \@temptokena{!end}%
- \def\next{\expandafter\verbatim@test\@tempa#1\@nil~}%
- \fi \next}%
- \def\verbatim@test#1{%
- \let\next\verbatim@test
- \if\noexpand#1\noexpand~%
- \expandafter\verbatim@addtoline
- \expandafter{\the\@temptokena}%
- \verbatim@processline
- \verbatim@startline
- \let\next\verbatim@
- \else \if\noexpand#1
- \@temptokena\expandafter{\the\@temptokena#1}%
- \else \if\noexpand#1\noexpand[%
- \let\@tempc\@empty
- \let\next\verbatim@testend
- \else
- \expandafter\verbatim@addtoline
- \expandafter{\the\@temptokena}%
- \def\next{\verbatim@#1}%
- \fi\fi\fi
- \next}%
- \def\verbatim@testend#1{%
- \if\noexpand#1\noexpand~%
- \expandafter\verbatim@addtoline
- \expandafter{\the\@temptokena[}%
- \expandafter\verbatim@addtoline
- \expandafter{\@tempc}%
- \verbatim@processline
- \verbatim@startline
- \let\next\verbatim@
- \else\if\noexpand#1\noexpand]%
- \let\next\verbatim@@testend
- \else\if\noexpand#1\noexpand!%
- \expandafter\verbatim@addtoline
- \expandafter{\the\@temptokena[}%
- \expandafter\verbatim@addtoline
- \expandafter{\@tempc}%
- \def\next{\verbatim@!}%
- \else \expandafter\def\expandafter\@tempc\expandafter
- {\@tempc#1}\fi\fi\fi
- \next}%
- \def\verbatim@@testend{%
- \ifx\@tempc\@currenvir
- \verbatim@finish
- \edef\next{\noexpand\end{\@currenvir}%
- \noexpand\verbatim@rescan{\@currenvir}}%
- \else
- \expandafter\verbatim@addtoline
- \expandafter{\the\@temptokena[}%
- \expandafter\verbatim@addtoline
- \expandafter{\@tempc]}%
- \let\next\verbatim@
- \fi
- \next}%
- \def\verbatim@rescan#1#2~{\if\noexpand~\noexpand#2~\else
- \@warning{Characters dropped after `\string\end{#1}'}\fi}}
-\newread\verbatim@in@stream
-\def\verbatim@readfile#1{%
- \verbatim@startline
- \openin\verbatim@in@stream #1\relax
- \ifeof\verbatim@in@stream
- \typeout{No file #1.}%
- \else
- \@addtofilelist{#1}%
- \ProvidesFile{#1}[(verbatim)]%
- \expandafter\endlinechar\expandafter\m@ne
- \expandafter\verbatim@read@file
- \expandafter\endlinechar\the\endlinechar\relax
- \closein\verbatim@in@stream
- \fi
- \verbatim@finish
-}
-\def\verbatim@read@file{%
- \read\verbatim@in@stream to\next
- \ifeof\verbatim@in@stream
- \else
- \expandafter\verbatim@addtoline\expandafter{\next}%
- \verbatim@processline
- \verbatim@startline
- \expandafter\verbatim@read@file
- \fi
-}
-\def\verbatiminput{\begingroup
- \ift@bs
- \def\verbatim@processline{\tabverbatim@processline}%
- \fi
- \@ifstar{\verbatim@input{\@maybeobeytabs}}%
- {\verbatim@input{\frenchspacing\@vobeyspaces\@maybeobeytabs}}}
-\def\verbatim@input#1#2{%
- \IfFileExists {#2}{\@verbatim #1\relax
- \verbatim@readfile{\@filef@und}\endtrivlist\endgroup\@doendpe}%
- {\typeout {No file #2.}\endgroup}}
-\newlength{\verbatimindent}
- \setlength{\verbatimindent}{3em}
-\newcommand*{\verbatimbreakchar}{\char`\%}
-\newcommand*{\setverbatimbreak}{%
- \vspace*{-\baselineskip}%
- \def\@xobeysp{~\discretionary{\verbatimbreakchar}%
- {\kern\verbatimindent}{}}%
-}
-
-\newcommand*{\raggedwrap}{%
- \@rightskip\@flushglue
- \if@RTL\leftskip\else\rightskip\fi\@rightskip
- \if@RTL\rightskip\else\leftskip\fi\@totalleftmargin
- \parindent\ragrparindent}
-\newcommand*{\wrappingon}{%
- \def\@xobeysp{~\discretionary{\verbatimbreakchar}%
- {\kern\verbatimindent}{}}%
- \def\wrapright{\raggedwrap}}
-\newcommand*{\wrappingoff}{%
- \def\@xobeysp{\leavevmode\penalty\@M\ }%
- \def\wrapright{}}
-\wrappingoff
-
-\newwrite \verbatim@out
-\def\verbatimoutput#1{%
- \@bsphack
- \immediate\openout \verbatim@out #1
- \let\do\@makeother\dospecials
- \catcode`\^^M\active %% \catcode`\^^I=12
- \def\verbatim@processline{%
- \immediate\write\verbatim@out
- {\the\verbatim@line}}%
- \verbatim@start}
-\def\endverbatimoutput{%
- \immediate\closeout\verbatim@out
- \@esphack}
-\def\fboxverbatim{\begingroup%
- \tabsoff %% PW otherwise box fills the width
- \def\verbatim@processline{%
- {\setbox0=\hbox{\the\verbatim@line}%
- \hsize=\wd0 \the\verbatim@line\par}}%
- \@minipagetrue%%%DPC%%%
- \@tempswatrue%%%DPC%%%
- \setbox0=\vbox\bgroup \verbatim
-}
-\def\endfboxverbatim{%
- \endverbatim
- \unskip\setbox0=\lastbox %%%DPC%%%
- \egroup
- \fbox{\box0}% <<<=== change here for centering,...
-\endgroup}
-\def\MakeShortVerb#1{%
- \expandafter\ifx\csname cc\string#1\endcsname\relax
- \@shortvrbinfo{Made }{#1}%
- \add@special{#1}%
- \expandafter
- \xdef\csname cc\string#1\endcsname{\the\catcode`#1}%
- \begingroup
- \catcode`\~\active \lccode`\~`#1%
- \lowercase{%
- \global\expandafter\let
- \csname ac\string#1\endcsname~%
- \gdef~{\verb~}}%
- \endgroup
- \global\catcode`#1\active
- \else
- \@shortvrbinfo\@empty{#1 already}%
- \fi}
-\def\DeleteShortVerb#1{%
- \expandafter\ifx\csname cc\string#1\endcsname\relax
- \else
- \@shortvrbinfo{Deleted }{#1 as}%
- \rem@special{#1}%
- \global\catcode`#1\csname cc\string#1\endcsname
- \global \expandafter\let \csname cc\string#1\endcsname \relax
- \ifnum\catcode`#1=\active
- \begingroup
- \catcode`\~\active \lccode`\~`#1%
- \lowercase{%
- \global\expandafter\let\expandafter~%
- \csname ac\string#1\endcsname}%
- \endgroup \fi \fi}
-\def\@shortvrbinfo#1#2{%
- \ClassInfo{bidimemoir}{%
- #1\expandafter\@gobble\string#2 a short reference
- for \string\verb}}
-\def\add@special#1{%
- \rem@special{#1}%
- \expandafter\gdef\expandafter\dospecials\expandafter
- {\dospecials \do #1}%
- \expandafter\gdef\expandafter\@sanitize\expandafter
- {\@sanitize \@makeother #1}}
-\def\rem@special#1{%
- \def\do##1{%
- \ifnum`#1=`##1 \else \noexpand\do\noexpand##1\fi}%
- \xdef\dospecials{\dospecials}%
- \begingroup
- \def\@makeother##1{%
- \ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
- \xdef\@sanitize{\@sanitize}%
- \endgroup}
-\def\boxverbflag{14 }
-\newlength{\bvboxsep} % user can change this
-\setlength{\bvboxsep}{1em}
-
-\newif\ifbvperpage % start/end lines on every page of multipage verbatim
-\bvperpagetrue
-
-\newcommand{\bvtopofpage}[1]{%
- \long\def\b@vtop{#1}}
-\def\b@vtop{} % used in \boxverb@split for heading
-
-\newcounter{memfbvline}
- \c@memfbvline=\z@
-\newcounter{bvlinectr}
-\newcommand*{\setbvlinenums}[2]{%
- \c@bvlinectr #1\relax \advance\c@bvlinectr \m@ne
- \ifnum\z@<\linemodnum% we are printing line numbers
- \@tempcnta #2\relax
- \divide\@tempcnta\linemodnum
- \multiply\@tempcnta\linemodnum
- \c@memfbvline #2\relax
- \advance\c@memfbvline-\@tempcnta
- \fi}
-
-\def\theb@vlinenumber{\getthelinenumber{bvlinectr}{memfbvline}}
-\newcommand*{\resetbvlinenumber}{\setcounter{bvlinectr}{0}}
-
-\def\b@vdocount{\ifbvcountlines\stepcounter{bvlinectr}\fi}
-\newlength{\bvnumlength}
-%% \settowidth{\bvnumlength}{\vlvnumfont 9999}
-\settowidth{\bvnumlength}{\normalfont 999}
-
-\newif\ifbvcountinside % TRUE if line numbers inside box
- \bvcountinsidetrue
-\newcommand*{\bvnumbersinside}{\bvcountinsidetrue}
-\newcommand*{\bvnumbersoutside}{\bvcountinsidefalse}
-
-\def\b@vdoinside{%
- \ifbvcountlines\ifbvcountinside%
- \makebox[\bvnumlength][r]{%
- \vlvnumfont \theb@vlinenumber\space}%
- \fi\fi}
-
-\def\b@vdooutside{%
- \ifbvcountlines\ifbvcountinside\else%
- \llap{\makebox[\bvnumlength][r]{%
- \vlvnumfont \theb@vlinenumber\space}}%
- \fi\fi}
-
-\newcommand*{\@@m@mline}{\hb@xt@\linewidth}
-
-\newcommand{\setupboxverb@line}{%
- \par
- \ifbvperpage
- \output=\expandafter{\expandafter\boxverb@split \the\output}
- \fi
- \def\verbatim@processline{\leavevmode
- \b@vdocount%
- \bvleftsidehook\vbox{\advance% \hsize-.8\p@ \@@line % changed to \linewidth
- \linewidth-.8\p@ \@@line
- {\b@vdooutside\strut\kern\bvboxsep%
- \b@vdoinside%
- \ift@bs
- \tabverbatim@processline
- \else
- \the\verbatim@line
- \fi
- \hss}%
- \kern\bvboxsep}\bvrightsidehook\par}}
-
-\newcommand{\setupbox@verb}{%
- \if@RTL\rightskip\else\leftskip\fi\z@skip \if@RTL\leftskip\else\rightskip\fi\z@skip
- \interlinepenalty\boxverbflag
- \parfillskip\z@ plus\p@ minus\p@
- \lineskip-\bvboxsep \baselineskip\z@skip
- \frenchspacing\@vobeyspaces\@maybeobeytabs
- \boxverb@toprule}
-
-\def\boxedverbatim{\begingroup
- \let\@@line\@@m@mline% new from mempatch v4.9
- \setupboxverb@line
- \@verbatim
- \setupbox@verb
- \verbatim@start}
-\def\endboxedverbatim{\bvendrulehook\endtrivlist\endgroup\@doendpe}
-\@namedef{boxedverbatim*}{\let\frenchspacing\@gobble \boxedverbatim}
-\@namelet{endboxedverbatim*}\endboxverbatim
-
-\def\boxverb@toprule{\bvtoprulehook
- \@@line{\bvleftsidehook \bvtopmidhook \bvrightsidehook}}
-
-\newcommand*{\bvendofpage}[1]{%
- \def\boxverb@botpage{#1}}
-%%%%\bvendofpage{\hrule\kern-.4pt}
-\bvendofpage{\hrule width\linewidth\kern-.4pt}
-
-\def\boxverb@split{\ifnum\outputpenalty=\boxverbflag
- \ifdim\dp\@cclv=\z@
-%%%% \setbox\@cclv\vbox{\unvbox\@cclv\hrule\kern-.4pt}%
- \setbox\@cclv\vbox{\unvbox\@cclv\boxverb@botpage}%
- \null \kern-.7\topskip \b@vtop \boxverb@toprule
- \fi
-\fi}
-
-\def\bvtoprulehook{\hrule width\linewidth \nobreak\vskip-.1\p@}
-\def\bvendrulehook{\hrule width\linewidth}
-\def\bvleftsidehook{\vrule}
-\def\bvrightsidehook{\vrule}
-\def\bvtopmidhook{\rule{0\p@}{2\bvboxsep} \hss}
-
-\newcommand{\boxedverbatiminput}{\begingroup
- \@ifstar{\let\frenchspacing\@gobble
- \boxedverbatim@input\relax}%
- {\boxedverbatim@input{\frenchspacing\@vobeyspaces}}}
-
-\def\boxedverbatim@input#1#2{%
- \setupboxverb@line
- \IfFileExists{#2}{\@verbatim #1\relax
- \setupbox@verb
- \verbatim@readfile{\@filef@und}%
- \bvendrulehook\endtrivlist\endgroup\@doendpe}%
- {\typeout {No file #2.}\endgroup}}
-
-\newcommand{\bvbox}{%
- \bvperpagetrue%
- \renewcommand{\bvtoprulehook}{\hrule \nobreak \vskip-.1\p@}%
- \renewcommand{\bvleftsidehook}{\vrule}%
- \renewcommand{\bvrightsidehook}{\vrule}%
- \renewcommand{\bvendrulehook}{\hrule}}
-
-\newcommand{\nobvbox}{%
- \bvperpagefalse%
- \renewcommand{\bvtoprulehook}{}%
- \renewcommand{\bvleftsidehook}{}%
- \renewcommand{\bvrightsidehook}{}%
- \renewcommand{\bvendrulehook}{}}
-
-\newcommand{\bvtopandtail}{%
- \bvperpagefalse%
- \renewcommand{\bvtoprulehook}{\hrule \nobreak \vskip-.1\p@}%
- \renewcommand{\bvleftsidehook}{}%
- \renewcommand{\bvrightsidehook}{}%
- \renewcommand{\bvendrulehook}{\hrule}}
-
-\newcommand{\bvsides}{%
- \bvperpagefalse%
- \renewcommand{\bvtoprulehook}{\vskip 3ex}%
- \renewcommand{\bvleftsidehook}{\vrule}%
- \renewcommand{\bvrightsidehook}{\vrule}%
- \renewcommand{\bvendrulehook}{}}
-
-\let\framed\relax \let\endframed\relax
-\let\shaded\relax \let\endshaded\relax
-
-\chardef\FrameRestore=\catcode`\| % for debug
-\catcode`\|=\catcode`\% % (debug: insert space after backslash)
-
-\def\MakeFramed#1{\par
- \fb@sizeofframe\FrameCommand
- \let\width\fb@frw \let\height\fb@frh
- \begingroup
- \skip@\lastskip
- \if@nobreak\else
- \penalty9999 % updates \page parameters
- \ifdim\pagefilstretch=\z@ \ifdim\pagefillstretch=\z@
- \edef\@tempa{\the\skip@}%
- \ifx\@tempa\zero@glue \penalty-30
- \else \vskip-\skip@ \penalty-30 \vskip\skip@
- \fi\fi\fi
- \penalty\z@
- \advance\skip@ \z@ plus-.5\baselineskip
- \advance\skip@ \z@ plus-.231\height
- \advance\skip@ \z@ plus-.231\skip@
- \advance\skip@ \z@ plus-.231\topsep
- \vskip-\skip@ \penalty 1800 \vskip\skip@
- \fi
- \addvspace{\topsep}%
- \endgroup
- \penalty\@M \vskip 2\baselineskip \vskip\height
- \penalty9999 \vskip -2\baselineskip \vskip-\height
- \penalty9999 % updates \pagetotal
-|\message{After clearout, \pagetotal=\the\pagetotal,
-| \pagegoal=\the\pagegoal. }%
- \fb@adjheight
- \setbox\@tempboxa\vbox\bgroup
- #1% Modifications to \hsize (can use \width and \height)
- \textwidth\hsize \columnwidth\hsize}
-
-\def\endMakeFramed{\par
- \kern\z@
- \hrule\@width\hsize\@height\z@
- \penalty-100 % put depth into height
- \egroup
- % {\showoutput\showbox\@tempboxa}%
- \begingroup
- \fb@put@frame\FrameCommand\FirstFrameCommand
- \endgroup}
-
-\def\fb@put@frame#1#2{\relax
- \ifdim\pagegoal=\maxdimen \pagegoal\vsize \fi
- \ifinner
- \fb@putboxa#1%
- \fb@afterframe
- \else
- \dimen@\pagegoal \advance\dimen@-\pagetotal % natural space left on page
- \ifdim\dimen@<2\baselineskip % Too little room on page
-| \message{Page has only \the\dimen@\space room left; eject. }%
- \eject \fb@adjheight \fb@put@frame#1#2%
- \else % there's appreciable room left on the page
- \fb@sizeofframe#1%
-| \message{\string\pagetotal=\the\pagetotal,
-| \string\pagegoal=\the\pagegoal,
-| \string\pagestretch=\the\pagestretch,
-| \string\pageshrink=\the\pageshrink,
-| \string\fb@frh=\fb@frh. \space}
-| \message{Box of size \the\ht\@tempboxa\space + \fb@frh}%
- \begingroup % temporarily set \dimen@ to be...
- \advance\dimen@.8\pageshrink % maximum space available on page
- \advance\dimen@-\fb@frh\relax % space available for frame's contents
- \expandafter\endgroup
- \ifdim\dimen@>\ht\@tempboxa % whole box does fit
-| \message{fits in \the\dimen@. }%
- \fb@putboxa#1%
- \fb@afterframe
- \else % box must be split
-| \message{must be split to fit in \the\dimen@. }%
- \fb@sizeofframe#2%
- \setbox\@tempboxa\vbox{% simulate frame and flexiblity of the page:
- \vskip \fb@frh \@plus\pagestretch \@minus.8\pageshrink
- \kern137sp\kern-137sp\penalty-30
- \unvbox\@tempboxa}%
- \edef\fb@resto@set{\boxmaxdepth\the\boxmaxdepth
- \splittopskip\the\splittopskip}%
- \boxmaxdepth\z@ \splittopskip\z@
-| \message{Padded box of size \the\ht\@tempboxa\space split
-| to \the\dimen@}%
- \setbox\tw@\vsplit\@tempboxa to\dimen@
-| \toks99\expandafter{\splitfirstmark}%
-| \toks98\expandafter{\splitbotmark}%
-| \message{Marks are: \the\toks99, \the\toks98. }%
- \setbox\tw@\vbox{\unvbox\tw@}% natural-sized
-| \message{Natural height of split box is \the\ht\tw@, leaving
-| \the\ht\@tempboxa\space remainder. }%
- \begingroup
- \advance\dimen@\topskip
- \expandafter\endgroup
- \ifdim\dimen@>\pagegoal
-| \message{Frame is big -- Use up the full column. }%
- \dimen@ii\pagegoal
- \advance\dimen@ii -\topskip
- \advance\dimen@ii \FrameHeightAdjust\relax
- \else % suspect this is wrong:
- \advance\dimen@.8\pageshrink
- \ifdim\ht\tw@>\dimen@
-| \message{Box too tall; rebox it to \the\dimen@. }%
- \dimen@ii\dimen@
- \else % use natural size
- \dimen@ii\ht\tw@
- \fi
- \fi
- \advance\dimen@ii -\fb@frh
- \setbox\tw@\vbox to\dimen@ii \bgroup
- \vskip -\fb@frh \@plus-\pagestretch \@minus-.8\pageshrink
- \unvbox\tw@ \unpenalty\unpenalty
- \ifdim\lastkern=-137sp % whole box went to next page
-| \message{box split at beginning! }%
- % need work here???
- \egroup \fb@resto@set \eject % (\vskip for frame size was discarded)
- \fb@adjheight
- \fb@put@frame#1#2% INSERTED ???
- \else % Got material split off at the head
- \egroup \fb@resto@set
- \ifvoid\@tempboxa % it all fit after all
-| \message{box split at end! }%
- \setbox\@tempboxa\box\tw@
- \fb@putboxa#1%
- \fb@afterframe
- \else % it really did split
-| \message{box split as expected. Its reboxed height
-| is \the\ht\tw@. }%
- \ifdim\wd\tw@>\z@
- \wd\tw@\wd\@tempboxa
- \memfblineboxtwo{#2{\box\tw@}}% ??? \centerline bad idea? \\
- \else
-| \message{Zero width means likely blank.
-| Don't frame it (guess)}%
- \box\tw@
- \fi
- \hrule \@height\z@ \@width\hsize
- \eject
- \fb@adjheight
- \fb@put@frame\LastFrameCommand\MidFrameCommand
- \fi\fi\fi\fi\fi}
-
-\newcommand{\memfblineboxtwo}[1]{\centerline{#1}}
-\newcommand{\memfblineboxa}[1]{\centerline{#1}}
-
-\def\fb@putboxa#1{%
- \ifvoid\@tempboxa
-%%%% PackageWarning{framed}{Boxa is void -- discard it. }%
- \@memwarn{Boxa is void -- discard it. }%
- \else
-| \message{Frame and place boxa. }%
-| %{\showoutput\showbox\@tempboxa}%
-%%%%%%% \centerline{#1{\box\@tempboxa}}%
- \memfblineboxa{#1{\box\@tempboxa}}%
- \fi}
-
-\def\fb@afterframe{%
- \nointerlineskip \null %{\showoutput \showlists}
- \penalty-30 \vskip\topsep \relax}
-
-\newdimen\fb@frw
-\newdimen\fb@frh
-\def\fb@sizeofframe#1{\begingroup
- \setbox\z@\vbox{\vskip-5in \hbox{\hskip-5in
- #1{\hbox{\vrule \@height 4.7in \@depth.3in \@width 5in}}}%
- \vskip\z@skip}%
-| \message{Measuring frame addition for \string#1 in \@currenvir\space
-| gives ht \the\ht\z@\space and wd \the\wd\z@. }%
- \global\fb@frw\wd\z@ \global\fb@frh\ht\z@
- \endgroup}
-
-\def\fb@adjheight{%
- \vbox to\FrameHeightAdjust{}% get proper baseline skip from above.
- \penalty\@M \nointerlineskip
- \vskip-\FrameHeightAdjust
- \penalty\@M} % useful for tops of pages
-
-\edef\zero@glue{\the\z@skip}
-
-\catcode`\|=\FrameRestore
-
-\providecommand\FrameCommand{%
- \setlength\fboxrule{\FrameRule}\setlength\fboxsep{\FrameSep}%
- \fbox}
-\@ifundefined{FrameRule}{\newdimen\FrameRule \FrameRule=\fboxrule}{}
-\@ifundefined{FrameSep} {\newdimen\FrameSep \FrameSep =3\fboxsep}{}
-\providecommand\FirstFrameCommand{\FrameCommand}
-\providecommand\MidFrameCommand{\FrameCommand}
-\providecommand\LastFrameCommand{\FrameCommand}
-\providecommand\FrameHeightAdjust{6pt}
-
-\def\FrameRestore{%
- \let\if@nobreak\iffalse
- \let\if@noskipsec\iffalse
- \let\-\@dischyph
- \let\'\@acci\let\`\@accii\let\=\@acciii
- % \message{FrameRestore:
- % \@totalleftmargin=\the \@totalleftmargin,
- % \rightmargin=\the\rightmargin,
- % \@listdepth=\the\@listdepth. }%
- \ifnum \ifdim\@totalleftmargin>\z@ 1\fi
- \ifdim\rightmargin>\z@ 1\fi
- \ifnum\@listdepth>0 1\fi 0>\z@
- % \message{In a list: \linewidth=\the\linewidth,
- % \@totalleftmargin=\the\@totalleftmargin,
- % \parshape=\the\parshape, \columnwidth=\the\columnwidth,
- % \hsize=\the\hsize,
- % \labelwidth=\the\labelwidth. }%
-%%% \@setminipage % snug fit around the item
-%%% \advance\linewidth-\columnwidth \advance\linewidth\hsize
-%%% \parshape\@ne \@totalleftmargin \linewidth
- \memfblistfixparams
- \else % Not in list
- \linewidth=\hsize
- %\message{No list, set \string\linewidth=\the\hsize. }%
- \fi
- \sloppy}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand*{\memfblistfixparams}{%
- \@setminipage % snug fit around the item
- \advance\linewidth-\columnwidth \advance\linewidth\hsize
- \parshape\@ne \@totalleftmargin \linewidth}
-
-\newenvironment{framed}% using default \FrameCommand
- {\MakeFramed {\advance\hsize-\width \FrameRestore}}%
- {\endMakeFramed}
-
-\newenvironment{shaded}{%
- \def\FrameCommand{\fboxsep=\FrameSep \colorbox{shadecolor}}%
- \MakeFramed {\FrameRestore}}%
- {\endMakeFramed}
-
-\newenvironment{leftbar}{%
- \def\FrameCommand{\vrule width 3pt \hspace{10pt}}%
- \MakeFramed {\advance\hsize-\width \FrameRestore}}%
- {\endMakeFramed}
-
-\newenvironment{snugshade}{%
- \def\FrameCommand{\colorbox{shadecolor}}%
- \MakeFramed {\FrameRestore\@setminipage}}%
- {\par\unskip\endMakeFramed}
-
-\AtBeginPackage{framed}{%
- \let\framed\relax \let\endframed\relax
- \let\shaded\relax \let\endshaded\relax
- \let\leftbar\relax \let\endleftbar\relax
- \let\snugshade\relax \let\endsnugshade\relax}
-
-\newenvironment{qframe}{%
- \def\FrameCommand##1{\fboxrule=\FrameRule\fboxsep=\FrameSep
- \hskip\@totalleftmargin\fbox{##1}% There is no \@totalrightmargin, so...
- \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
- \MakeFramed{\advance\hsize-\width
- \advance\hsize \FrameSep
- \@totalleftmargin\z@ \linewidth=\hsize}}%
- {\endMakeFramed}
-
-\newenvironment{qshade}{%
- \def\FrameCommand##1{\fboxsep=\FrameSep
- \hskip\@totalleftmargin
- \hskip -1\FrameSep
- \colorbox{shadecolor}{##1}%
- \hskip-\linewidth \hskip-\@totalleftmargin
- \hskip -1\FrameSep
- \hskip\columnwidth}%
- \MakeFramed{\advance\hsize-\width
- \advance\hsize 3\FrameSep
- \@totalleftmargin\z@ \linewidth=\hsize}}%
- {\endMakeFramed}
-
-\newcommand*{\newoutputstream}[1]{%
- \@ifundefined{#1outstre@m}%
- {\expandafter\newwrite\csname #1outstre@m\endcsname
- \csname newif\expandafter\endcsname
- \csname ifstre@m#1open\endcsname
- \global\csname stre@m#1openfalse\endcsname
- \expandafter\ifx\csname atstreamopen#1\endcsname\relax
- \global\@namedef{atstreamopen#1}{}%
- \fi
- \expandafter\ifx\csname atstreamclose#1\endcsname\relax
- \global\@namedef{atstreamclose#1}{}%
- \fi
- }%
- {\@memwarn{Output stream #1\space is already defined}}}
-
-\newcommand*{\newinputstream}[1]{%
- \@ifundefined{#1instre@m}%
- {\expandafter\newread\csname #1instre@m\endcsname
- \csname newif\expandafter\endcsname
- \csname ifstre@m#1open\endcsname
- \global\csname stre@m#1openfalse\endcsname
- \expandafter\ifx\csname atstreamopen#1\endcsname\relax
- \global\@namedef{atstreamopen#1}{}%
- \fi
- \expandafter\ifx\csname atstreamclose#1\endcsname\relax
- \global\@namedef{atstreamclose#1}{}%
- \fi
- }%
- {\@memwarn{Input stream #1\space is already defined}}}
-
-\newcommand{\IfStreamOpen}[3]{%
- \csname ifstre@m#1open\endcsname#2\else#3\fi}
-\newcommand{\instre@mandopen}[2]{%
- \@ifundefined{#1instre@m}{%
- \@memwarn{#1\space is not an input stream}}%
- {\IfStreamOpen{#1}{#2}{%
- \@memwarn{Input stream #1\space is not open}}}}
-
-\newcommand{\instre@mandclosed}[2]{%
- \@ifundefined{#1instre@m}{%
- \@memwarn{#1\space is not an input stream}}%
- {\IfStreamOpen{#1}{%
- \@memwarn{Input stream #1\space is open}}{#2}}}
-
-\newcommand{\outstre@mandopen}[2]{%
- \@ifundefined{#1outstre@m}{%
- \@memwarn{#1\space is not an output stream}}%
- {\IfStreamOpen{#1}{#2}{%
- \@memwarn{Output stream #1\space is not open}}}}
-
-\newcommand{\outstre@mandclosed}[2]{%
- \@ifundefined{#1outstre@m}{%
- \@memwarn{#1\space is not an output stream}}%
- {\IfStreamOpen{#1}{%
- \@memwarn{Output stream #1\space is open}}{#2}}}
-
-\newcommand*{\openoutputfile}[2]{%
- \outstre@mandclosed{#2}{%
- \global\@namedef{#1@filename}{#1}%
- \if@filesw
- \immediate\openout\@nameuse{#2outstre@m}=\@nameuse{#1@filename}%
- \fi
- \global\csname stre@m#2opentrue\endcsname%
- \@nameuse{atstreamopen#2}}}
-
-\newcommand*{\closeoutputstream}[1]{%
- \outstre@mandopen{#1}{%
- \@nameuse{atstreamclose#1}%
- \immediate\closeout\@nameuse{#1outstre@m}%
- \global\csname stre@m#1openfalse\endcsname}}
-
-\newcommand{\openinputfile}[2]{%
- \IfFileExists{#1}{% file exists
- \instre@mandclosed{#2}{%
- \@addtofilelist{#1}%
- \global\@namedef{#1@filename}{#1}%
- \immediate\openin\@nameuse{#2instre@m}=\@nameuse{#1@filename}%
- \global\csname stre@m#2opentrue\endcsname%
- \@nameuse{atstreamopen#2}}}%
- {% file not found
- \typeout{No file #1.}
- }}
-
-\newcommand{\closeinputstream}[1]{%
- \instre@mandopen{#1}{%
- \@nameuse{atstreamclose#1}%
- \immediate\closein\@nameuse{#1instre@m}%
- \global\csname stre@m#1openfalse\endcsname}}
-
-\def\writeverbatim#1{%
- \@bsphack
- \let\do\@makeother\dospecials
- \catcode`\^^M\active
- \def\verbatim@processline{%
- \immediate\write\@nameuse{#1outstre@m}{\the\verbatim@line}}%
- \verbatim@start}
-\def\endwriteverbatim{\@esphack}
-
-\newcommand{\addtostream}[2]{%
- \@bsphack
- \outstre@mandopen{#1}{%
- {\let\protect\string
- \immediate\write\@nameuse{#1outstre@m}{#2}%
- }}%
- \@esphack}
-
-\newif\ifstre@mnoteof
-\newcommand{\checkstre@meof}[1]{%
- \stre@mnoteoftrue\ifeof\@nameuse{#1instre@m}\stre@mnoteoffalse\fi}
-
-\def\readstream#1{
- \instre@mandopen{#1}{%
- \loop \checkstre@meof{#1} \ifstre@mnoteof
- \read\@nameuse{#1instre@m} to\temptokstre@m
- \temptokstre@m
- \repeat
- }}
-
-\def\readaline#1{
- \instre@mandopen{#1}{%
- \ifeof\@nameuse{#1instre@m}
- \@memwarn{No more to read from stream #1}
- \else
- \read\@nameuse{#1instre@m} to\temptokstre@m
- \temptokstre@m
- \fi}}
-
-\def\readverbatim{\begingroup
- \ift@bs
- \def\verbatim@processline{\tabverbatim@processline}%
- \fi
- \@ifstar{\stre@mverb@input{\@maybeobeytabs}}%
- {\stre@mverb@input{\frenchspacing\@vobeyspaces\@maybeobeytabs}}}
-
-\newcommand{\stre@mverb@input}[2]{%
- \IfStreamOpen{#2}%
- {\@verbatim #1\relax
- \def\@verbinstre@m{\@nameuse{#2instre@m}}
- \verb@readstre@m\endtrivlist\endgroup\@doendpe}%
- {\@memwarn{Stream #2\space is not open}\endgroup}}
-
-\newcommand{\verb@readstre@m}{%
- \verbatim@startline
- \expandafter\endlinechar\expandafter\m@ne
- \expandafter\verbatim@read@stre@m
- \expandafter\endlinechar\the\endlinechar\relax
- \verbatim@finish}
-
-\newcommand{\verbatim@read@stre@m}{%
- \read\@verbinstre@m to\next
- \ifeof\@verbinstre@m
- \else
- \expandafter\verbatim@addtoline\expandafter{\next}%
- \verbatim@processline
- \verbatim@startline
- \expandafter\verbatim@read@stre@m
- \fi}
-
-\newcommand{\readboxedverbatim}{\begingroup
- \@ifstar{\stre@mbvin\relax}%
- {\stre@mbvin{\frenchspacing\@vobeyspaces}}}
-
-\newcommand{\stre@mbvin}[2]{%
- \IfStreamOpen{#2}%
- {\setupboxverb@line
- \@verbatim #1\relax
- \def\@verbinstre@m{\@nameuse{#2instre@m}}%
- \setupbox@verb
- \verb@readstre@m\bvendrulehook\endtrivlist\endgroup\@doendpe}%
- {\@memwarn{Stream #2\space is not open}\endgroup}}
-
-\newcommand{\provideenvironment}{\@star@or@long\m@mprovenv}
-\newcommand{\m@mprovenv}[1]{\@ifundefined{#1}%
- {\new@environment{#1}}% % create new environment
- {\@memwarn{Environment `#1' already defined}%
- \m@mgobbleoptsandtwo}}
-\newcommand{\m@mgobbleoptsandtwo}{%
- \@ifnextchar [{\m@mgobbleoptandtwo}{\@gobbletwo}}
-\def\m@mgobbleoptandtwo[#1]{%
- \@ifnextchar [{\m@mgobbleoptandtwo}{\@gobbletwo}}
-
-\newcommand*{\providecounter}[1]{%
- \@ifundefined{c@#1}%
- {\newcounter{#1}}%
- {\@memwarn{Counter `#1' already defined}%
- \@ifnextchar[{\m@mgobbleopt}{}}}
-
-\def\m@mgobbleopt[#1]{}
-
-\newcommand*{\providelength}[1]{%
- \begingroup
- \escapechar\m@ne\xdef\@gtempa{{\string#1}}%
- \endgroup
- \expandafter\@ifundefined\@gtempa
- {\newlength{#1}}%
- {\@memwarn{Length #1 already defined}}}
-
-\newcommand*{\newloglike}{\@ifstar{\m@mnewlogs}{\m@mnewlog}}
-\newcommand*{\m@mnewlogs}[2]{%
- \newcommand*{#1}{\mathop{\operator@font #2}}}
-\newcommand*{\m@mnewlog}[2]{%
- \newcommand*{#1}{\mathop{\operator@font #2}\nolimits}}
-
-\newcommand*{\provideloglike}{\@ifstar{\m@mprovlogs}{\m@mprovlog}}
-\newcommand*{\m@mprovlogs}[2]{%
- \providecommand*{#1}{\mathop{\operator@font #2}}}
-\newcommand*{\m@mprovlog}[2]{%
- \providecommand*{#1}{\mathop{\operator@font #2}\nolimits}}
-
-\providecommand{\@removefromreset}[2]{{%
- \expandafter\let\csname c@#1\endcsname\@removefromreset
- \def\@elt##1{%
- \expandafter\ifx\csname c@##1\endcsname\@removefromreset
- \else
- \noexpand\@elt{##1}%
- \fi}%
- \expandafter\xdef\csname cl@#2\endcsname{%
- \csname cl@#2\endcsname}}}
-
-\newcommand{\@ifbothcntrs}[3]{%
- \@ifundefined{c@#1}{% counter undefined
- \@memerror{#1 is not a counter}{\@eha}}%
- {% else counter is defined
- \@ifundefined{c@#2}{% within undefined
- \@memerror{#2 is not a counter}{\@eha}}%
- {% else both counter and within are defined
- #3}}}
-
-\newcommand{\counterwithin}{\@ifstar{\@csinstar}{\@csin}}
-\newcommand{\@csinstar}[2]{%
- \@ifbothcntrs{#1}{#2}{\@addtoreset{#1}{#2}}}
-\newcommand{\@csin}[2]{%
- \@ifbothcntrs{#1}{#2}{\@addtoreset{#1}{#2}%
- \@namedef{the#1}{\@nameuse{the#2}.\arabic{#1}}}}
-
-\newcommand{\counterwithout}{\@ifstar{\@csoutstar}{\@csout}}
-\newcommand{\@csoutstar}[2]{%
- \@ifbothcntrs{#1}{#2}{\@removefromreset{#1}{#2}}}
-\newcommand{\@csout}[2]{%
- \@ifbothcntrs{#1}{#2}{\@removefromreset{#1}{#2}%
- \@namedef{the#1}{\arabic{#1}}}}
-
-\newif\ifoddpage
-\newif\ifstrictpagecheck
- \strictpagecheckfalse
-\newcommand*{\strictpagecheck}{\strictpagechecktrue}
-\newcommand*{\easypagecheck}{\strictpagecheckfalse}
-
-\newcounter{cp@cntr}
-\newcommand{\cplabel}{^_}
-\DeclareRobustCommand{\checkoddpage}{%
- \oddpagefalse%
- \ifstrictpagecheck%
- \stepcounter{cp@cntr}\pmemlabel{\cplabel\thecp@cntr}%
- \@memcnta=\pmemlabelref{\cplabel\thecp@cntr}\relax
- \ifodd\@memcnta\oddpagetrue\fi
- \else
- \ifodd\c@page\oddpagetrue\fi
- \fi}
-
-\gdef\thepmemc@@page{\the\c@page}
-
-\long\def\pmemprotected@write#1#2#3{%
- \begingroup
- \let\thepmemc@@page\relax
- #2%
- \let\protect\@unexpandable@protect
- \edef\reserved@a{\write#1{#3}}%
- \reserved@a
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi}
-
-\newcommand{\pmemlabel}[1]{\@bsphack
- \pmemprotected@write\@auxout{}%
- {\string\newpmemlabel{#1}{\thepmemc@@page}}%
- \@esphack}
-\newcommand{\newpmemlabel}[2]{{\global\@namedef{m@#1}{#2}}}
-\newcommand{\pmemlabelref}[1]{%
- \expandafter\ifx\csname m@#1\endcsname\relax
- 0%
- \else
- \csname m@#1\endcsname
- \fi}
-
-\begingroup
-\catcode`\Q=3
-\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil}
-\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4}
-\long\gdef\@ifnotmtarg#1{\@xifmtarg#1QQ\@firstofone\@gobble\@nil}
-\endgroup
-
-\DeclareRobustCommand{\ch@ngetext}{%
- \setlength{\@colht}{\textheight}\setlength{\@colroom}{\textheight}%
- \setlength{\vsize}{\textheight}\setlength{\columnwidth}{\textwidth}%
- \if@twocolumn%
- \advance\columnwidth-\columnsep \divide\columnwidth\tw@%
- \@firstcolumntrue%
- \fi%
- \setlength{\hsize}{\columnwidth}%
- \setlength{\linewidth}{\hsize}}
-
-\DeclareRobustCommand{\changetext}[5]{%
- \@ifmtarg{#1}{}{\addtolength{\textheight}{#1}}%
- \@ifmtarg{#2}{}{\addtolength{\textwidth}{#2}}%
- \@ifmtarg{#3}{}{\addtolength{\evensidemargin}{#3}}%
- \@ifmtarg{#4}{}{\addtolength{\oddsidemargin}{#4}}%
- \@ifmtarg{#5}{}{\addtolength{\columnsep}{#5}}%
- \ch@ngetext}
-
-\DeclareRobustCommand{\changepage}[9]{%
- \@ifmtarg{#1}{}{\addtolength{\textheight}{#1}}%
- \@ifmtarg{#2}{}{\addtolength{\textwidth}{#2}}%
- \@ifmtarg{#3}{}{\addtolength{\evensidemargin}{#3}}%
- \@ifmtarg{#4}{}{\addtolength{\oddsidemargin}{#4}}%
- \@ifmtarg{#5}{}{\addtolength{\columnsep}{#5}}%
- \ch@ngetext
- \@ifmtarg{#6}{}{\addtolength{\topmargin}{#6}}%
- \@ifmtarg{#7}{}{\addtolength{\headheight}{#7}}%
- \@ifmtarg{#8}{}{\addtolength{\headsep}{#8}}%
- \@ifmtarg{#9}{}{\addtolength{\footskip}{#9}}}
-
-\newenvironment{adjustwidth}[2]{%
- \begin{list}{}{%
- \topsep\z@%
- \listparindent\parindent%
- \parsep\parskip%
- \@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}%
- {\setlength{\leftmargin}{#1}}%
- \@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}%
- {\setlength{\rightmargin}{#2}}%
- }
- \item[]}{\end{list}}
-
-\newenvironment{adjustwidth*}[2]{%
- \begin{list}{}{%
- \topsep\z@%
- \listparindent\parindent%
- \parsep\parskip%
- \checkoddpage
- \ifoddpage % odd numbered page
- \@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}%
- {\setlength{\leftmargin}{#1}}%
- \@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}%
- {\setlength{\rightmargin}{#2}}%
- \else % even numbered page
- \@ifmtarg{#2}{\setlength{\leftmargin}{\z@}}%
- {\setlength{\leftmargin}{#2}}%
- \@ifmtarg{#1}{\setlength{\rightmargin}{\z@}}%
- {\setlength{\rightmargin}{#1}}%
- \fi
- }
- \item[]}{\end{list}}
-
-\newcommand{\calccentering}[1]{
- #1 = \paperwidth
- \advance #1 by -\textwidth
- \divide #1 by \tw@
- \advance #1 by -\spinemargin}
-
-\newenvironment{vplace}[1][1]{%
- \par\vspace{\stretch{#1}}%
-}{%
- \vspace*{\stretch{1}}%
- \par}
-
-\newcommand{\cleartoevenpage}[1][\@empty]{%
- \clearpage%
- \ifodd\c@page\hbox{}#1\clearpage\fi}
-
-\newcommand{\movetoevenpage}[1][\@empty]{%
- \newpage%
- \ifodd\c@page\hbox{}#1\newpage\fi}
-
-\newcommand{\cleartooddpage}[1][\@empty]{%
- \clearpage%
- \ifodd\c@page\else\hbox{}#1\clearpage\fi}
-
-\newcommand{\movetooddpage}[1][\@empty]{%
- \newpage%
- \ifodd\c@page\else\hbox{}#1\newpage\fi}
-
-\newcommand{\needspace}[1]{\begingroup\setlength{\dimen@}{#1}%
- \vskip\z@\@plus\dimen@\penalty -100\vskip\z@\@plus-\dimen@
- \vskip\dimen@\penalty 9999\vskip-\dimen@\endgroup}
-
-\newcommand{\Needspace}{\@ifstar{\M@sneedsp@}{\M@needsp@}}
-\newcommand{\M@sneedsp@}[1]{\par \penalty-100\begingroup
- \setlength{\dimen@}{#1}%
- \dimen@ii\pagegoal \advance\dimen@ii-\pagetotal
- \ifdim \dimen@>\dimen@ii
- \break
- \fi\endgroup}
-\newcommand{\M@needsp@}[1]{\par \penalty-100\begingroup
- \setlength{\dimen@}{#1}%
- \dimen@ii\pagegoal \advance\dimen@ii-\pagetotal
- \ifdim \dimen@>\dimen@ii
- \ifdim \dimen@ii>\z@
- \vfil
- \fi
- \break
- \fi\endgroup}
-
-\newcommand*{\midsloppy}{%
- \tolerance 5000%
- \hbadness 4000%
- \emergencystretch 1.5em%
- \hfuzz .1\p@
- \vfuzz\hfuzz}
-\newenvironment{midsloppypar}{\par\midsloppy}{\par}
-
-\newcommand{\medspace}{\kern .22222em }
-\DeclareRobustCommand{\:}{%
- \relax\ifmmode\mskip\medmuskip\else\medspace\fi}
-\DeclareRobustCommand{\!}{%
- \relax\ifmmode\mskip-\thinmuskip\else\negthinspace\fi}
-
-\DeclareRobustCommand*{\slashfracstyle}[1]{%
- {\m@th\ensuremath{\mbox{\fontsize\sf@size\z@\selectfont #1}}}}
-\DeclareRobustCommand*{\slashfrac}[2]{\leavevmode
- \raise.5ex\hbox{\slashfracstyle{#1}}\kern-.13em/%
- \kern-.15em\lower.25ex\hbox{\slashfracstyle{#2}}}
-
-\DeclareRobustCommand*{\textsubscript}[1]{%
- \@textsubscript{\selectfont#1}}
-\newcommand*{\@textsubscript}[1]{%
- {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
-
-%%%%%%%%%%%%%%%%%%%% number formatting
-
-\newif\iflowernumtoname
- \lowernumtonamefalse
-\newif\ifpriornum
-\newif\ifminusnumber
-\newif\ifnotnumtonameallcaps
-\newif\ifmakeordinal
-
-\newcommand*{\namenumberand}{ and }
-\newcommand*{\namenumbercomma}{, }
-\newcommand*{\lcminusname}{minus }
-\newcommand*{\ucminusname}{Minus }
-\let\minusname\lcminusname
-\newcommand*{\fnumbersep}{,}
-\newcommand*\tensunitsep{-}
-\newcommand*{\nthstring}{th} % nth
-\newcommand*{\iststring}{st} % 1st
-\newcommand*{\iindstring}{nd} % 2nd
-\newcommand*{\iiirdstring}{rd} % 3rd
-\newcommand*{\tiethstring}{tieth} % tieth
-\newcommand*{\teenstring}{teen} % teen
-\newcommand{\ordscript}[1]{#1}
-
-\chardef\m@mten=10 % shorthand for 10
-
-\newcounter{ism@mctr} % units
-\newcounter{xsm@mctr} % tens
-\newcounter{csm@mctr} % hundreds
-\newcounter{ksm@mctr} % thousands
-\newcounter{xksm@mctr} % ten thousands
-\newcounter{cksm@mctr} % hundred thousands
-\newcounter{msm@mctr} % millions
-\newcounter{xmsm@mctr} % ten millions
-\newcounter{cmsm@mctr} % hundred millions
-\newcounter{bsm@mctr} % billions
-\newcounter{workm@mctr}
-
-\newcommand*{\numdigits}[1]{%
- \setcounter{ism@mctr}{0}%
- \setcounter{xsm@mctr}{0}%
- \setcounter{csm@mctr}{0}%
- \setcounter{ksm@mctr}{0}%
- \setcounter{xksm@mctr}{0}%
- \setcounter{cksm@mctr}{0}%
- \setcounter{msm@mctr}{0}%
- \setcounter{xmsm@mctr}{0}%
- \setcounter{cmsm@mctr}{0}%
- \setcounter{bsm@mctr}{0}%
- \setcounter{workm@mctr}{#1}%
- \minusnumberfalse
- \ifnum \c@workm@mctr < \z@ % negative
- \minusnumbertrue
- \c@workm@mctr = -\c@workm@mctr
- \fi
- \ifnum \c@workm@mctr > \m@ne % units
- \c@ism@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@ism@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % tens
- \c@xsm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@xsm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % hundreds
- \c@csm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@csm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % thousands
- \c@ksm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@ksm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % ten thousands
- \c@xksm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@xksm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % hundred thousands
- \c@cksm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@cksm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % millions
- \c@msm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@msm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % ten millions
- \c@xmsm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@xmsm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@ % hundred millions
- \c@cmsm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@cmsm@mctr by -\c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \fi
- \ifnum \c@workm@mctr > \z@% billions
- \c@bsm@mctr = \c@workm@mctr
- \divide \c@workm@mctr by \m@mten
- \multiply \c@workm@mctr by \m@mten
- \advance \c@bsm@mctr by -\c@workm@mctr
- \fi}
-
-\newcommand*{\form@tnumber}[1]{%
- \numdigits{#1}%
- \ifminusnumber-\fi
- \priornumfalse
- \ifnum \c@bsm@mctr > \z@ % billions
- \priornumtrue
- \thebsm@mctr\fnumbersep
- \fi
- \ifpriornum % hundred millions
- \thecmsm@mctr
- \else
- \ifnum \c@cmsm@mctr > \z@
- \priornumtrue
- \thecmsm@mctr
- \fi
- \fi
- \ifpriornum % ten millions
- \thexmsm@mctr
- \else
- \ifnum \c@xmsm@mctr > \z@
- \priornumtrue
- \thexmsm@mctr
- \fi
- \fi
- \ifpriornum % millions
- \themsm@mctr\fnumbersep
- \else
- \ifnum \c@msm@mctr > \z@
- \priornumtrue
- \themsm@mctr\fnumbersep
- \fi
- \fi
- \ifpriornum % hundred thousands
- \thecksm@mctr
- \else
- \ifnum \c@cksm@mctr > \z@
- \priornumtrue
- \thecksm@mctr
- \fi
- \fi
- \ifpriornum % ten thousands
- \thexksm@mctr
- \else
- \ifnum \c@xksm@mctr > \z@
- \priornumtrue
- \thexksm@mctr
- \fi
- \fi
- \ifpriornum % thousands
- \theksm@mctr\fnumbersep
- \else
- \ifnum \c@ksm@mctr > \z@
- \priornumtrue
- \theksm@mctr\fnumbersep
- \fi
- \fi
- \ifpriornum % hundreds
- \thecsm@mctr
- \else
- \ifnum \c@csm@mctr > \z@
- \priornumtrue
- \thecsm@mctr
- \fi
- \fi
- \ifpriornum % tens
- \thexsm@mctr
- \else
- \ifnum \c@xsm@mctr > \z@
- \priornumtrue
- \thexsm@mctr
- \fi
- \fi
- \theism@mctr} % units
-
-\newcommand*{\cardinal}[1]{%
- \begingroup
- \let\fnumbersep\relax
- \form@tnumber{#1}%
- \endgroup}
-\newcommand*{\fcardinal}[1]{%
- \begingroup
- \form@tnumber{#1}%
- \endgroup}
-
-\newcommand*{\ordinal}[1]{%
- \begingroup
- \let\fnumbersep\relax
- \form@tnumber{#1}%
- \let\ordstring\nthstring
- \ifnum \c@xsm@mctr=\@ne\else
- \ifcase \c@ism@mctr
- \or \let\ordstring\iststring% 1st
- \or \let\ordstring\iindstring% 2nd
- \or \let\ordstring\iiirdstring% 3rd
- \fi
- \fi
- \ordscript{\ordstring}%
- \endgroup
-}
-\newcommand*{\fordinal}[1]{%
- \begingroup
- \form@tnumber{#1}%
- \let\ordstring\nthstring
- \ifnum \c@xsm@mctr=\@ne\else
- \ifcase \c@ism@mctr
- \or \let\ordstring\iststring% 1st
- \or \let\ordstring\iindstring% 2nd
- \or \let\ordstring\iiirdstring% 3rd
- \fi
- \fi
- \ordscript{\ordstring}%
- \endgroup
-}
-
-\newcommand*\nNameo{\iflowernumtoname z\else Z\fi ero}
-\newcommand*\nNamec{\iflowernumtoname h\else H\fi undred}
-\newcommand*\nNamem{\iflowernumtoname t\else T\fi housand}
-\newcommand*\nNamemm{\iflowernumtoname m\else M\fi illion}
-\newcommand*\nNamemmm{\iflowernumtoname b\else B\fi illion}
-
-\newcommand*\nNamei{\iflowernumtoname o\else O\fi ne}
-\newcommand*\nNameii{\iflowernumtoname t\else T\fi wo}
-\newcommand*\nNameiii{\iflowernumtoname t\else T\fi hree}
-\newcommand*\nNameiv{\iflowernumtoname f\else F\fi our}
-\newcommand*\nNamev{\iflowernumtoname f\else F\fi ive}
-\newcommand*\nNamevi{\iflowernumtoname s\else S\fi ix}
-\newcommand*\nNamevii{\iflowernumtoname s\else S\fi even}
-\newcommand*\nNameviii{\iflowernumtoname e\else E\fi ight}
-\newcommand*\nNameix{\iflowernumtoname n\else N\fi ine}
-\newcommand*\nNamex{\iflowernumtoname t\else T\fi en}
-\newcommand*\nNamexi{\iflowernumtoname e\else E\fi leven}
-\newcommand*\nNamexii{\iflowernumtoname t\else T\fi welve}
-\newcommand*\nNamexiii{\iflowernumtoname t\else T\fi hir\teenstring}
-\newcommand*\nNamexiv{\iflowernumtoname f\else F\fi our\teenstring}
-\newcommand*\nNamexv{\iflowernumtoname f\else F\fi if\teenstring}
-\newcommand*\nNamexvi{\iflowernumtoname s\else S\fi ix\teenstring}
-\newcommand*\nNamexvii{\iflowernumtoname s\else S\fi even\teenstring}
-\newcommand*\nNamexviii{\iflowernumtoname e\else E\fi igh\teenstring}
-\newcommand*\nNamexix{\iflowernumtoname n\else N\fi ine\teenstring}
-\newcommand*\nNamexx{\iflowernumtoname t\else T\fi wenty}
-\newcommand*\nNamexxx{\iflowernumtoname t\else T\fi hirty}
-\newcommand*\nNamexl{\iflowernumtoname f\else F\fi orty}
-\newcommand*\nNamel{\iflowernumtoname f\else F\fi ifty}
-\newcommand*\nNamelx{\iflowernumtoname s\else S\fi ixty}
-\newcommand*\nNamelxx{\iflowernumtoname s\else S\fi eventy}
-\newcommand*\nNamelxxx{\iflowernumtoname e\else E\fi ighty}
-\newcommand*\nNamexc{\iflowernumtoname n\else N\fi inety}
-
-\newcommand*{\unitnumbername}[1]{%
- \ifcase #1 \nNameo\or
- \nNamei\or
- \nNameii\or
- \nNameiii\or
- \nNameiv\or
- \nNamev\or
- \nNamevi\or
- \nNamevii\or
- \nNameviii\or
- \nNameix\fi}
-
-\newcommand*{\teennumbername}[1]{%
- \ifcase #1 \nNamex\or
- \nNamexi\or
- \nNamexii\or
- \nNamexiii\or
- \nNamexiv\or
- \nNamexv\or
- \nNamexvi\or
- \nNamexvii\or
- \nNamexviii\or
- \nNamexix\fi}
-
-\newcommand*{\tensnumbername}[2]{%
- \ifnum #1=\@ne
- \teennumbername{#2}\ifnotnumtonameallcaps\lowernumtonametrue\fi
- \else
- \ifcase #1
- \or
- \or \nNamexx
- \or \nNamexxx
- \or \nNamexl
- \or \nNamel
- \or \nNamelx
- \or \nNamelxx
- \or \nNamelxxx
- \or \nNamexc
- \fi
- \ifnotnumtonameallcaps\lowernumtonametrue\fi
- \ifnum #2 > \z@ \tensunitsep\unitnumbername{#2}\fi
- \fi}
-
-\newcommand*\nthNameo{\nNameo\nthstring}
-\newcommand*\nthNamei{\iflowernumtoname f\else F\fi irst}
-\newcommand*\nthNameii{\iflowernumtoname s\else S\fi econd}
-\newcommand*\nthNameiii{\iflowernumtoname t\else T\fi hird}
-\newcommand*\nthNameiv{\nNameiv\nthstring}
-\newcommand*\nthNamev{\iflowernumtoname f\else F\fi if\nthstring}
-\newcommand*\nthNamevi{\nNamevi\nthstring}
-\newcommand*\nthNamevii{\nNamevii\nthstring}
-\newcommand*\nthNameviii{\iflowernumtoname e\else E\fi igh\nthstring}
-\newcommand*\nthNameix{\iflowernumtoname n\else N\fi in\nthstring}
-\newcommand*\nthNamexii{\iflowernumtoname t\else T\fi welf\nthstring}
-
-\newcommand*{\unitordinalname}[1]{%
- \ifcase #1 \nthNameo\or
- \nthNamei\or
- \nthNameii\or
- \nthNameiii\or
- \nthNameiv\or
- \nthNamev\or
- \nthNamevi\or
- \nthNamevii\or
- \nthNameviii\or
- \nthNameix\fi}
-
-\newcommand*{\teenordinalname}[1]{%
- \ifcase #1 \nNamex\nthstring\or
- \nNamexi\nthstring\or
- \nthNamexii\or
- \nNamexiii\nthstring\or
- \nNamexiv\nthstring\or
- \nNamexv\nthstring\or
- \nNamexvi\nthstring\or
- \nNamexvii\nthstring\or
- \nNamexviii\nthstring\or
- \nNamexix\nthstring\fi}
-
-\newcommand*{\tensordinalname}[2]{%
- \ifnum #1=\@ne
- \teenordinalname{#2}\ifnotnumtonameallcaps\lowernumtonametrue\fi
- \else
- \ifnum #2> \z@
- \ifcase #1
- \or
- \or \nNamexx
- \or \nNamexxx
- \or \nNamexl
- \or \nNamel
- \or \nNamelx
- \or \nNamelxx
- \or \nNamelxxx
- \or \nNamexc
- \fi
- \ifnotnumtonameallcaps\lowernumtonametrue\fi
- \tensunitsep\unitordinalname{#2}
- \else
- \ifcase #1
- \or
- \or \nthNamexx
- \or \nthNamexxx
- \or \nthNamexl
- \or \nthNamel
- \or \nthNamelx
- \or \nthNamelxx
- \or \nthNamelxxx
- \or \nthNamexc
- \fi
- \ifnotnumtonameallcaps\lowernumtonametrue\fi
- \fi
- \fi}
-
-\newcommand*\nthNamexx{\iflowernumtoname t\else T\fi wen\tiethstring}
-\newcommand*\nthNamexxx{\iflowernumtoname t\else T\fi hir\tiethstring}
-\newcommand*\nthNamexl{\iflowernumtoname f\else F\fi or\tiethstring}
-\newcommand*\nthNamel{\iflowernumtoname f\else F\fi if\tiethstring}
-\newcommand*\nthNamelx{\iflowernumtoname s\else S\fi ix\tiethstring}
-\newcommand*\nthNamelxx{\iflowernumtoname s\else S\fi even\tiethstring}
-\newcommand*\nthNamelxxx{\iflowernumtoname e\else E\fi igh\tiethstring}
-\newcommand*\nthNamexc{\iflowernumtoname n\else N\fi ine\tiethstring}
-
-\newcommand*{\n@me@number}[1]{%
-\begingroup
- \numdigits{#1}%
- \ifminusnumber\minusname\fi
- \priornumfalse
-%% billions
- \ifnum \c@bsm@mctr > \z@
- \unitnumbername{\thebsm@mctr}\space
- \ifnotnumtonameallcaps\lowernumtonametrue\fi\nNamemmm
- \priornumtrue
- \fi
-%% hundred millions
- \ifnum \c@cmsm@mctr > \z@
- \ifpriornum\namenumbercomma\fi
- \unitnumbername{\thecmsm@mctr}\space
- \ifnotnumtonameallcaps\lowernumtonametrue\fi\nNamec
- \priornumtrue
- \fi
-%% tens/units millions
- \ifnum \c@xmsm@mctr > \z@
- \ifpriornum
- \ifnum\c@cmsm@mctr>\z@\namenumberand\else\namenumbercomma\fi
- \fi
- \tensnumbername{\thexmsm@mctr}{\themsm@mctr}%
- \priornumtrue
- \else
- \ifnum \c@msm@mctr > \z@
- \ifpriornum
- \ifnum\c@cmsm@mctr>\z@\namenumberand\else\namenumbercomma\fi
- \fi
- \unitnumbername{\themsm@mctr}%
- \ifnotnumtonameallcaps\lowernumtonametrue\fi
- \priornumtrue
- \fi
- \fi
- \ifnum \c@cmsm@mctr > \z@
- \ifpriornum\space\fi
- \nNamemm
- \else
- \ifnum \c@xmsm@mctr > \z@
- \ifpriornum\space\fi
- \nNamemm
- \else
- \ifnum \c@msm@mctr > \z@
- \ifpriornum\space\fi
- \nNamemm
- \fi
- \fi
- \fi
-%% hundred thousands
- \ifnum \c@cksm@mctr > \z@
- \ifpriornum\namenumbercomma\fi
- \unitnumbername{\thecksm@mctr}\space
- \ifnotnumtonameallcaps\lowernumtonametrue\fi\nNamec
- \priornumtrue
- \fi
-%% tens/units thousands
- \ifnum \c@xksm@mctr > \z@
- \ifpriornum
- \ifnum\c@cksm@mctr>\z@\namenumberand\else\namenumbercomma\fi
- \fi
- \tensnumbername{\thexksm@mctr}{\theksm@mctr}%
- \priornumtrue
- \else
- \ifnum \c@ksm@mctr > \z@
- \ifpriornum
- \ifnum\c@cksm@mctr>\z@\namenumberand\else\namenumbercomma\fi
- \fi
- \unitnumbername{\theksm@mctr}%
- \ifnotnumtonameallcaps\lowernumtonametrue\fi
- \priornumtrue
- \fi
- \fi
- \ifnum \c@cksm@mctr > \z@
- \ifpriornum\space\fi
- \nNamem
- \else
- \ifnum \c@xksm@mctr > \z@
- \ifpriornum\space\fi
- \nNamem
- \else
- \ifnum \c@ksm@mctr > \z@
- \ifpriornum\space\fi
- \nNamem
- \fi
- \fi
- \fi
-%% hundreds
- \ifnum \c@csm@mctr > \z@
- \ifpriornum\namenumbercomma\fi
- \unitnumbername{\thecsm@mctr}\space
- \ifnotnumtonameallcaps\lowernumtonametrue\fi\nNamec
- \priornumtrue
- \fi
-%% tens/units
- \ifmakeordinal
- \ifnum \c@xsm@mctr > \z@
- \ifpriornum\namenumberand\fi
- \tensordinalname{\thexsm@mctr}{\theism@mctr}%
- \else
- \ifnum \c@ism@mctr > \z@
- \ifpriornum\namenumberand\fi
- \unitordinalname{\theism@mctr}%
- \else
- \ifpriornum\nthstring\else\unitordinalname{\theism@mctr}\fi
- \fi
- \fi
- \else % not ordinal
- \ifnum \c@xsm@mctr > \z@
- \ifpriornum\namenumberand\fi
- \tensnumbername{\thexsm@mctr}{\theism@mctr}%
- \else
- \ifnum \c@ism@mctr > \z@
- \ifpriornum\namenumberand\fi
- \unitnumbername{\theism@mctr}%
- \else
- \ifpriornum\else\unitnumbername{\theism@mctr}\fi
- \fi
- \fi
- \fi % end ifmakeordinal
-\endgroup}
-
-\DeclareRobustCommand{\numtoname}[1]{%
- \makeordinalfalse
- \notnumtonameallcapstrue%
- \lowernumtonametrue%
- \n@me@number{#1}}
-
-\DeclareRobustCommand{\numtoName}[1]{%
- \makeordinalfalse
- \notnumtonameallcapstrue%
- \lowernumtonamefalse%
- \n@me@number{#1}}
-
-\DeclareRobustCommand{\NumToName}[1]{%
- \makeordinalfalse
- \notnumtonameallcapsfalse%
- \lowernumtonamefalse%
- \n@me@number{#1}}
-
-\DeclareRobustCommand{\ordinaltoname}[1]{%
- \makeordinaltrue
- \notnumtonameallcapstrue%
- \lowernumtonametrue%
- \n@me@number{#1}}
-
-\DeclareRobustCommand{\ordinaltoName}[1]{%
- \makeordinaltrue
- \notnumtonameallcapstrue%
- \lowernumtonamefalse%
- \n@me@number{#1}}
-
-\DeclareRobustCommand{\OrdinalToName}[1]{%
- \makeordinaltrue
- \notnumtonameallcapsfalse%
- \lowernumtonamefalse%
- \n@me@number{#1}}
-
-\long\def \@topnewpage [#1]{%
- \@nodocument
- \@next\@currbox\@freelist{}{}%
- \global \setbox\@currbox
- \vbox {%
- \break
- \prevdepth\z@
- \begingroup
- \normalcolor
- \hsize\textwidth
- \@parboxrestore
- \col@number \@ne
- #1%
- \vskip -\dbltextfloatsep
- \endgroup
- \null % ordinary \baselineskip
- \vskip -\topskip
- }%
- \begingroup %% \showbox\@currbox
- \splitmaxdepth\maxdepth \splittopskip\topskip
- \setbox\@tempboxa \vsplit\@currbox to \z@
- \endgroup %% \showbox\@currbox
- \ifdim \ht\@currbox>\textheight
- \ht\@currbox \textheight
- \fi
- \global \count\@currbox \tw@
- \@tempdima -\ht\@currbox
- \advance \@tempdima -\dbltextfloatsep
- \global \advance \@colht \@tempdima
- \ifx \@dbltoplist \@empty
- \else
- \@latexerr{Float(s) lost}\@ehb
- \let \@dbltoplist \@empty
- \fi
- \@cons \@dbltoplist \@currbox
- \global \@dbltopnum \m@ne
- \ifdim \@colht<2.5\baselineskip
- \@latex@warning@no@line {Optional argument of \noexpand\twocolumn
- too tall on page \thepage}%
- \@emptycol
- \if@firstcolumn
- \else
- \@emptycol
- \fi
- \else
- \global \vsize \@colht
- \global \@colroom \@colht
- \@floatplacement
- \fi}
-
-\newcommand*{\m@mcalchm}{%
- \count0 = \time \divide \count0 by 60\relax
- \count2 = \count0\relax% the hour
- \count4 = \time \multiply\count0 by 60\relax
- \advance\count4 by -\count0\relax% the minute
- \ifnum\count4<10 \toks1 = {0}% make a leading zero
- \else \toks1 = {}%
- \fi}
-%%% punctuation, am and pm for \printtime
-\newcommand*{\hmpunct}{:}% hours minutes separator
-\newcommand*{\amname}{am}% ante meridiem
-\newcommand*{\pmname}{pm}% post meridiem
-
-\newcommand*{\printtime}{%
- \@ifstar{\m@msprtime}{\m@mprtime}}
-\newcommand*{\m@mprtime}{\begingroup
- \m@mcalchm
- \number\count2\hmpunct\the\toks1 \number\count4
- \endgroup}
-\newcommand*{\m@msprtime}{\begingroup
- \m@mcalchm
- \def\@mpm{\pmname}%
- \ifnum\count2<1\relax% early in the morning
- \count2=12\relax
- \ifnum\count4>0\relax% not midnight
- \def\@mpm{\amname}%
- \fi
- \else
- \ifnum\time<721\relax% noon or earlier
- \def\@mpm{\amname}%
- \else
- \ifnum\time>779\relax% 1300 hrs or later
- \advance\count2 by -12\relax
- \fi
- \fi
- \fi
- \number\count2\hmpunct\the\toks1 \number\count4\ \@mpm
- \endgroup}
-
-\newcounter{sheetsequence}
- \setcounter{sheetsequence}{1}
- \renewcommand{\thesheetsequence}{\@arabic\c@sheetsequence}
-\g@addto@macro{\@outputpage}{\stepcounter{sheetsequence}}
-
-\newcounter{lastsheet}
- \setcounter{lastsheet}{0}
-\newcounter{lastpage}
- \setcounter{lastpage}{0}
-
-\newcommand{\dol@stsheet}{%
- \if@filesw
- \addtocounter{sheetsequence}{-1}%
- \immediate\write\@auxout%
- {\string\memsetcounter{lastsheet}{\the\c@sheetsequence}}%
- \stepcounter{sheetsequence}%
- \fi}
-\newcommand{\dol@stpage}{%
- \if@filesw
- \addtocounter{page}{-1}%
- \immediate\write\@auxout%
- {\string\memsetcounter{lastpage}{\the\c@page}}%
- \stepcounter{page}%
- \fi}
-\AtBeginDocument{\AtEndDocument{\clearpage\dol@stsheet\dol@stpage}}
-
-\newif\ifcntrmod
-\newif\ifnotcntrmod
-\newcommand*{\iscntrmod}[2]{
- \@tempcnta=\@nameuse{c@#1}%
- \@tempcntb=\@tempcnta
- \divide\@tempcnta #2\relax
- \multiply\@tempcnta #2\relax
- \advance\@tempcntb-\@tempcnta
- \ifnum\@tempcntb=0\relax
- \cntrmodtrue
- \notcntrmodfalse
- \else
- \cntrmodfalse
- \notcntrmodtrue
- \fi}
-
-\newcommand*{\@memensuresigpages}{%
- \ifnum\@mempagespersig<\@ne
- \else
- \iscntrmod{sheetsequence}{\@mempagespersig}
- \ifcntrmod
- \else
- \clearpage
- \pagestyle{empty}
- \mbox{}
- \loop
- \iscntrmod{sheetsequence}{\@mempagespersig}
- \ifnotcntrmod
- \clearpage
- \pagestyle{empty}
- \mbox{}
- \repeat
- \fi
- \fi}
-
-\newcommand*{\leavespergathering}[1]{\@memcnta=#1\relax
- \ifnum\@memcnta<\tw@
- \def\@mempagespersig{-1}%
- \else
- \multiply\@memcnta \tw@
- \edef\@mempagespersig{\@memcnta}%
- \fi}
-\leavespergathering{0}
-
-\AtEndDocument{\@memensuresigpages}
-
-\newcommand*{\abstractname}{Abstract}
-\newcommand*{\contentsname}{Contents}
-\newcommand*{\listfigurename}{List of Figures}
-\newcommand*{\listtablename}{List of Tables}
-\newcommand*{\bookname}{Book}
-\newcommand*{\partname}{Part}
-\newcommand*{\chaptername}{Chapter}
-\newcommand*{\appendixname}{Appendix}
-\newcommand*{\appendixtocname}{Appendices}
-\newcommand*{\appendixpagename}{Appendices}
-\newcommand*{\bibname}{Bibliography}
-\newcommand*{\indexname}{Index}
-\newcommand*{\glossaryname}{Glossary}
-\newcommand*{\figurename}{Figure}
-\newcommand*{\tablename}{Table}
-\newcommand*{\figurerefname}{Figure}
-\newcommand*{\tablerefname}{Table}
-\newcommand*{\pagename}{page}
-\newcommand*{\pagerefname}{page}
-\newcommand*{\bookrefname}{Book~}
-\newcommand*{\partrefname}{Part~}
-\newcommand*{\chapterrefname}{Chapter~}
-\newcommand*{\sectionrefname}{\S}
-\newcommand*{\appendixrefname}{Appendix~}
-
-\newcommand{\today}{\ifcase\month\or
- January\or February\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\fi
- \space\number\day, \number\year}
-\setlength\columnsep{10\p@}
-\setlength\columnseprule{0\p@}
-\pagestyle{headings}
-\pagenumbering{arabic}
-
-\setcounter{part}{0}
-\setcounter{chapter}{0}
-\setcounter{tocdepth}{1}
-\setcounter{secnumdepth}{2}
-\maxsecnumdepth{section}
-
-\linenumberfrequency{0}
-\linenumberfont{\small\rmfamily}
-\settowidth{\bvnumlength}{\vlvnumfont 9999}
-
-\if@twoside
-\else
- \raggedbottom
-\fi
-\if@twocolumn
- \twocolumn
- \sloppy
- \flushbottom
-\else
- \onecolumn
-\fi
-
-\newfloat[chapter]{figure}{lof}{\figurename}
-%%% \kill@lastcounter{lofdepth}
\renewcommand{\thefigure}{\thechapter\@SepMark\@arabic\c@figure}
-
-\newlistof{listoffigures}{lof}{\listfigurename}
-%%% \kill@lastcounter{lofdepth}
-\newlistentry[chapter]{figure}{lof}{0}
- \cftsetindents{figure}{0em}{2.3em}
-%% \kill@lastcounter{lofdepth}
-
-\newfloat[chapter]{table}{lot}{\tablename}
-%%% \kill@lastcounter{lotdepth}
\renewcommand{\thetable}{\thechapter\@SepMark\@arabic\c@table}
-
-\newlistof{listoftables}{lot}{\listtablename}
-%%% \kill@lastcounter{lotdepth}
-\newlistentry[chapter]{table}{lot}{0}
- \cftsetindents{table}{0em}{2.3em}
-%% \kill@lastcounter{lotdepth}
-
-%%%\AtBeginDocument{%
-%%% \@ifundefined{c@lofdepth}%
-%%% {\newcounter{lofdepth}\setcounter{lofdepth}{1}}{}
-%%% \@ifundefined{c@lotdepth}%
-%%% {\newcounter{lotdepth}\setcounter{lotdepth}{1}}{}}
-
-\ifartopt
- \chapterstyle{article}
- \counterwithout{figure}{chapter}
- \counterwithout{table}{chapter}
- \counterwithout{footnote}{chapter}
- \counterwithout{equation}{chapter}
- \renewcommand{\chaptername}{}
- \renewcommand{\maketitlehookb}{%
- \vskip -1.5\topsep\vskip -1.5\partopsep}
- \renewcommand{\maketitlehookc}{%
- \vskip -1.5\topsep\vskip -1.5\partopsep}
-\fi
-
-\newcommand{\msdoublespacing}{}
-\newcommand{\mssinglespacing}{}
-\ifmsdoc
- \renewcommand{\msdoublespacing}{%
- \renewcommand{\baselinestretch}{1.6}\large\normalsize}
- \renewcommand{\mssinglespacing}{%
- \renewcommand{\baselinestretch}{1.0}\large\normalsize}
- \renewcommand{\familydefault}{cmtt}
- \renewcommand{\rmdefault}{cmtt}
- \renewcommand{\sfdefault}{cmtt}
- \renewcommand{\bfdefault}{m}
- \renewcommand{\itdefault}{n}
- \renewcommand{\sldefault}{n}
- \renewcommand{\scdefault}{n}
- \renewcommand{\baselinestretch}{1.6}
- \@twocolumnfalse
- \onecolumn
- \sloppy
- \@twosidefalse
- \raggedbottom
- \pagestyle{plain}
-\fi
-
-\EmulatedPackage{abstract}[2008/07/23]
-\EmulatedPackage{appendix}[2008/07/23]
-\EmulatedPackage{array}[2008/07/23]
-\EmulatedPackage{booktabs}[2008/07/23]
-\EmulatedPackage{ccaption}[2008/07/23]
-\EmulatedPackage{changepage}[2008/07/23]
-\EmulatedPackage{chngcntr}[2008/07/23]
-\EmulatedPackage{chngpage}[2008/07/23]
-\EmulatedPackage{crop}
-\EmulatedPackage{dcolumn}[2008/07/23]
-\EmulatedPackage{delarray}[2008/07/23]
-\EmulatedPackage{enumerate}[2008/07/23]
-\EmulatedPackage{epigraph}[2008/07/23]
-%%%%%\EmulatedPackage{framed}[2008/07/23]
-\EmulatedPackage{ifmtarg}[2008/07/23]
-\ifm@mifetex\EmulatedPackage{ifetex}[2008/07/23]\fi
-\ifm@mifluatex\EmulatedPackage{ifluatex}[2008/07/23]\fi
-\ifm@mifpdf\EmulatedPackage{ifpdf}[2008/07/23]\fi
-\ifm@mifxetex\EmulatedPackage{ifxetex}[2008/07/23]\fi
-\EmulatedPackage{index}[2008/07/23]
-\EmulatedPackage{makeidx}[2008/07/23]
-\EmulatedPackage{moreverb}[2008/07/23]
-\EmulatedPackage{mparhack}[2008/07/23]
-\EmulatedPackage{needspace}[2008/07/23]
-\EmulatedPackage{newfile}[2008/07/23]
-\EmulatedPackage{nextpage}[2008/07/23]
-\EmulatedPackage{pagenote}[2008/07/23]
-\EmulatedPackage{parskip}[2008/07/23]
-\EmulatedPackage{patchcmd}[2008/07/23]
-\EmulatedPackage{setspace}[2008/07/23]
-\EmulatedPackage{shortvrb}[2008/07/23]
-\EmulatedPackage{showidx}[2008/07/23]
-\EmulatedPackage{tabularx}[2008/07/23]
-\EmulatedPackage{titleref}[2008/07/23]
-\EmulatedPackage{titling}[2008/07/23]
-\EmulatedPackage{tocbibind}[2008/07/23]
-%\EmulatedPackage{tocloft}[2008/07/23]
-\EmulatedPackage{verbatim}[2008/07/23]
-\EmulatedPackage{verse}[2008/07/23]
-
-%%% revert changes to captioning macros if the caption package is used.
-\AtBeginPackage{caption}{
-\ClassWarningNoLine{bidimemoir}{%
- You are using the caption package with the bidimemoir \MessageBreak
- class. This may cause unexpected or inconsistent \MessageBreak
- results if you use any of bidimemoir's captioning facilities}
-
-\long\def\@makecaption##1##2{%
- \vskip\abovecaptionskip
- \sbox\@tempboxa{##1: ##2}%
- \ifdim \wd\@tempboxa >\hsize
- \if@RTL\beginR\fi##1: ##2\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}%
- \fi
- \vskip\belowcaptionskip}
-
-\def\caption{%
- \ifx\@captype\@undefined
- \@latex@error{\noexpand\caption outside float}\@ehd
- \expandafter\@gobble
- \else
- \refstepcounter\@captype
- \expandafter\@firstofone
- \fi
- {\@dblarg{\@caption\@captype}}%
-}
-
-\long\def\@caption##1[##2]##3{%
- \par
- \addcontentsline{\csname ext@##1\endcsname}{##1}%
- {\protect\numberline{\csname the##1\endcsname}{\ignorespaces ##2}}%
- \begingroup
- \@parboxrestore
- \if@minipage
- \@setminipage
- \fi
- \normalsize
- \@makecaption{\csname fnum@##1\endcsname}{\ignorespaces ##3}\par
- \endgroup}
-}
-
-\AtBeginPackage{float}{\let\newfloat\relax}
-
-\InputIfFileExists{mempatch.sty}{}{} % should be this
% \end{macrocode}
% \iffalse
-%</bidimemoir.cls>
+%</memoir-bidi.def>
%<*pdfpages-bidi.def>
% \fi
% \part{pdfpages-bidi.def}
@@ -16671,6 +5302,42 @@ to\hsize{\beginR\hfil\box\@tempboxa\hfil%
% \end{macrocode}
% \iffalse
%</tikz-bidi.def>
+%<*tocbibind-bidi.def>
+% \fi
+% \part{tocbibind-bidi.def}
+% \begin{macrocode}
+\if@dotocbib
+ \@ifpackageloaded{natbib}{}{% natbib not loaded
+ \renewcommand{\bibsection}{\t@cb@bchapsec}
+ \renewenvironment{thebibliography}[1]{%
+ \bibsection
+ \begin{thebibitemlist}{#1}}{\end{thebibitemlist}}}
+ \renewenvironment{thebibitemlist}[1]{
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+ \@ifpackagewith{chapterbib}{sectionbib}%
+ {\renewcommand{\sectionbib}[2]{}}%
+ {}
+
+\fi
+% \end{macrocode}
+% \iffalse
+%</tocbibind-bidi.def>
%<*tocloft-bidi.def>
% \fi
% \part{tocloft-bidi.def}