summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mem10.clo110
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mem11.clo110
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mem12.clo110
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mem14.clo110
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mem17.clo111
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mem9.clo110
-rw-r--r--Master/texmf-dist/tex/latex/memoir/memhfixc.sty189
-rw-r--r--Master/texmf-dist/tex/latex/memoir/memoir.cls9066
-rw-r--r--Master/texmf-dist/tex/latex/memoir/mempatch.sty318
9 files changed, 10234 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/memoir/mem10.clo b/Master/texmf-dist/tex/latex/memoir/mem10.clo
new file mode 100644
index 00000000000..811775fa1a6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mem10.clo
@@ -0,0 +1,110 @@
+%%
+%% This is file `mem10.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `10pt')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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.
+%%
+\ProvidesFile{mem10.clo}%
+ [2002/07/27 v0.2 memoir class 10pt size option]
+
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand{\small}{%
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\miniscule}{\@setfontsize\miniscule\@vpt{6}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vipt{7}}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt{8}}
+\newcommand{\large}{\@setfontsize\large\@xipt{13.6}}
+\newcommand{\Large}{\@setfontsize\Large\@xiipt{14.5}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xivpt{18}}
+\newcommand{\huge}{\@setfontsize\huge\@xviipt{22}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxpt{25}}
+\newcommand{\HUGE}{\@setfontsize\HUGE\@xxvpt{30}}
+\setlength{\onelineskip}{\@xiipt\p@}
+\if@twocolumn
+ \setlength\parindent{1em}
+\else
+ \setlength\parindent{15\p@}
+\fi
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\headheight{12\p@}
+\setlength\headsep{.25in}
+\setlength\topskip{10\p@}
+\setlength\footskip{.35in}
+\setlength\maxdepth{.5\topskip}
+\setlength\@maxdepth\maxdepth
+\setlength\footnotesep{6.65\p@}
+\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\lxvchars{300\p@} % standard 345pt
+\setlength\xlvchars{204\p@} %
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{7\p@}
+\fi
+\setlength{\marginparpush}{5\p@}
+\endinput
+%%
+%% End of file `mem10.clo'.
diff --git a/Master/texmf-dist/tex/latex/memoir/mem11.clo b/Master/texmf-dist/tex/latex/memoir/mem11.clo
new file mode 100644
index 00000000000..3c0e3c5df1d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mem11.clo
@@ -0,0 +1,110 @@
+%%
+%% This is file `mem11.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `11pt')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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.
+%%
+\ProvidesFile{mem11.clo}%
+ [2002/07/27 v0.2 memoir class 11pt size option]
+
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand{\small}{%
+ \@setfontsize\small\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@ixpt{11}%
+ \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\miniscule}{\@setfontsize\miniscule\@vipt{7}}
+\newcommand{\tiny}{\@setfontsize\tiny\@viipt{8}}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand{\large}{\@setfontsize\large\@xiipt{14.5}}
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{18}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{22}}
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{25}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{30}}
+\let\HUGE=\Huge
+\setlength{\onelineskip}{13.6\p@}
+\if@twocolumn
+ \setlength\parindent{1em}
+\else
+ \setlength\parindent{17\p@}
+\fi
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\headheight{13.6\p@}
+\setlength\headsep{.275in}
+\setlength\topskip{11\p@}
+\setlength\footskip{.38in}
+\setlength\maxdepth{.5\topskip}
+\setlength\@maxdepth\maxdepth
+\setlength\footnotesep{7.7\p@}
+\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{8\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{8\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\lxvchars{324\p@} % standard 360pt
+\setlength\xlvchars{216\p@} %
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{7\p@}
+\fi
+\setlength{\marginparpush}{5\p@}
+\endinput
+%%
+%% End of file `mem11.clo'.
diff --git a/Master/texmf-dist/tex/latex/memoir/mem12.clo b/Master/texmf-dist/tex/latex/memoir/mem12.clo
new file mode 100644
index 00000000000..cb4ab1725a7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mem12.clo
@@ -0,0 +1,110 @@
+%%
+%% This is file `mem12.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `12pt')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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.
+%%
+\ProvidesFile{mem12.clo}%
+ [2004/03/12 v0.3 memoir class 12pt size option]
+
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xiipt{14.5}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand{\small}{%
+ \@setfontsize\small\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 9\p@ \@plus3\p@ \@minus5\p@
+ \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@
+ \parsep 3\p@ \@plus2\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\miniscule}{\@setfontsize\miniscule\@viipt{8}}
+\newcommand{\tiny}{\@setfontsize\tiny\@viiipt{9.5}}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@ixpt\@xpt}
+\newcommand{\large}{\@setfontsize\large\@xivpt{18}}
+\newcommand{\Large}{\@setfontsize\Large\@xviipt{22}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xxpt{25}}
+\newcommand{\huge}{\@setfontsize\huge\@xxvpt{30}}
+\let\Huge=\huge
+\let\HUGE=\huge
+\setlength{\onelineskip}{14.5\p@}
+\if@twocolumn
+ \setlength\parindent{1em}
+\else
+ \setlength\parindent{1.5em}
+\fi
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\headheight{14\p@}
+\setlength\headsep{.275in}
+\setlength\topskip{12\p@}
+\setlength\footskip{30\p@}
+\setlength\maxdepth{.5\topskip}
+\setlength\@maxdepth\maxdepth
+\setlength\footnotesep{8.4\p@}
+\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{10\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{10\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\lxvchars{336\p@} % standard 390pt
+\setlength\xlvchars{240\p@} %
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{7\p@}
+\fi
+\setlength{\marginparpush}{7\p@}
+\endinput
+%%
+%% End of file `mem12.clo'.
diff --git a/Master/texmf-dist/tex/latex/memoir/mem14.clo b/Master/texmf-dist/tex/latex/memoir/mem14.clo
new file mode 100644
index 00000000000..fb1187d1a92
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mem14.clo
@@ -0,0 +1,110 @@
+%%
+%% This is file `mem14.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `14pt')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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.
+%%
+\ProvidesFile{mem14.clo}%
+ [2004/03/12 v0.3 memoir class 14pt size option]
+
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xivpt{17.5}%
+ \abovedisplayskip 14\p@ \@plus3\p@ \@minus8\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 7\p@ \@plus3.5\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand{\small}{%
+ \@setfontsize\small\@xiipt{14.5}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 11\p@ \@plus4\p@ \@minus6\p@
+ \parsep 6\p@ \@plus3\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \parsep 4\p@ \@plus3\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\miniscule}{\@setfontsize\miniscule\@viiipt{9.5}}
+\newcommand{\tiny}{\@setfontsize\tiny\@ixpt{10}}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@xpt{12}}
+\newcommand{\large}{\@setfontsize\large\@xviipt{22}}
+\newcommand{\Large}{\@setfontsize\Large\@xxpt{25}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xxvpt{30}}
+\let\huge=\LARGE
+\let\Huge=\LARGE
+\let\HUGE=\LARGE
+\setlength{\onelineskip}{17.5\p@}
+\if@twocolumn
+ \setlength\parindent{1em}
+\else
+ \setlength\parindent{1.5em}
+\fi
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\headheight{17.5\p@}
+\setlength\headsep{.30in}
+\setlength\topskip{14.4\p@}
+\setlength\footskip{.4in}
+\setlength\maxdepth{.5\topskip}
+\setlength\@maxdepth\maxdepth
+\setlength\footnotesep{10.0\p@} %% ????????
+\setlength{\skip\footins}{13\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {14\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\textfloatsep{20\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{10\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{12\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\lxvchars{408\p@} %
+\setlength\xlvchars{288\p@} %
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{7\p@}
+\fi
+\setlength{\marginparpush}{7\p@}
+\endinput
+%%
+%% End of file `mem14.clo'.
diff --git a/Master/texmf-dist/tex/latex/memoir/mem17.clo b/Master/texmf-dist/tex/latex/memoir/mem17.clo
new file mode 100644
index 00000000000..7950e67dc83
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mem17.clo
@@ -0,0 +1,111 @@
+%%
+%% This is file `mem17.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `17pt')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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.
+%%
+\ProvidesFile{mem17.clo}%
+ [2004/03/12 v0.2 memoir class 17pt size option]
+
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@xviipt{22}%
+ \abovedisplayskip 15\p@ \@plus4\p@ \@minus8\p@
+ \abovedisplayshortskip \z@ \@plus4\p@
+ \belowdisplayshortskip 8\p@ \@plus4\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand{\small}{%
+ \@setfontsize\small\@xivpt{17}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 7\p@ \@plus4\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 11\p@ \@plus4\p@ \@minus6\p@
+ \parsep 6\p@ \@plus3\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@xiipt{14}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6.5\p@ \@plus3.5\p@ \@minus3\p@
+ \parsep 4\p@ \@plus3\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\miniscule}{\@setfontsize\miniscule\@ixpt{10}}
+\newcommand{\tiny}{\@setfontsize\tiny\@xpt{12}}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@xipt{13.6}}
+\newcommand{\large}{\@setfontsize\large\@xxpt{25}}
+\newcommand{\Large}{\@setfontsize\Large\@xxvpt{30}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xxvpt{30}}
+\let\LARGE=\Large
+\let\huge=\Large
+\let\Huge=\Large
+\let\HUGE=\Large
+\setlength{\onelineskip}{22\p@}
+\if@twocolumn
+ \setlength\parindent{1em}
+\else
+ \setlength\parindent{1.5em}
+\fi
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\headheight{22\p@}
+\setlength\headsep{.30in}
+\setlength\topskip{14.4\p@}
+\setlength\footskip{.4in}
+\setlength\maxdepth{.5\topskip}
+\setlength\@maxdepth\maxdepth
+\setlength\footnotesep{12\p@} %% ????????
+\setlength{\skip\footins}{14\p@ \@plus 5\p@ \@minus 3\p@}
+\setlength\floatsep {15\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\textfloatsep{25\p@ \@plus 5\p@ \@minus 5\p@}
+\setlength\intextsep {16\p@ \@plus 5\p@ \@minus 5\p@}
+\setlength\dblfloatsep {15\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{25\p@ \@plus 5\p@ \@minus 5\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{12\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{12\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\lxvchars{444\p@} %
+\setlength\xlvchars{312\p@} %
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{7\p@}
+\fi
+\setlength{\marginparpush}{10\p@}
+\endinput
+%%
+%% End of file `mem17.clo'.
diff --git a/Master/texmf-dist/tex/latex/memoir/mem9.clo b/Master/texmf-dist/tex/latex/memoir/mem9.clo
new file mode 100644
index 00000000000..1e307793dc0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mem9.clo
@@ -0,0 +1,110 @@
+%%
+%% This is file `mem9.clo',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `9pt')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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.
+%%
+\ProvidesFile{mem9.clo}%
+ [2004/03/12 v0.3 memoir class 9pt size option]
+
+\renewcommand{\normalsize}{%
+ \@setfontsize\normalsize\@ixpt\@xpt
+ \abovedisplayskip 9\p@ \@plus 2\p@ \@minus 4.5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 5.5\p@ \@plus 2.5\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand{\small}{%
+ \@setfontsize\small\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus 2\p@ \@minus 4\p@
+ \abovedisplayshortskip \z@ \@plus 2\p@
+ \belowdisplayshortskip 4\p@ \@plus 2\p@ \@minus 2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 2\p@ \@plus 2\p@ \@minus 2\p@
+ \parsep 1\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\footnotesize}{%
+ \@setfontsize\footnotesize\@viipt{8}%
+ \abovedisplayskip 6\p@ \@plus 2\p@ \@minus 4\p@
+ \abovedisplayshortskip \z@ \@plus 2\p@
+ \belowdisplayshortskip 4\p@ \@plus 2\p@ \@minus 2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 2\p@ \@plus 2\p@ \@minus 2\p@
+ \parsep 1\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep
+%% \itemindent\z@
+ }%
+ \belowdisplayskip \abovedisplayskip
+}
+\newcommand{\miniscule}{\@setfontsize\miniscule\@vpt{6}}
+\newcommand{\tiny}{\@setfontsize\tiny\@vpt{6}}
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@vipt{7}}
+\newcommand{\large}{\@setfontsize\large\@xpt{12}}
+\newcommand{\Large}{\@setfontsize\Large\@xipt{13.6}}
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xiipt{14.5}}
+\newcommand{\huge}{\@setfontsize\huge\@xivpt{18}}
+\newcommand{\Huge}{\@setfontsize\Huge\@xviipt{22}}
+\newcommand{\HUGE}{\@setfontsize\HUGE\@xxpt{25}}
+\setlength{\onelineskip}{\@xpt\p@}
+\if@twocolumn
+ \setlength\parindent{1em}
+\else
+ \setlength\parindent{12\p@}
+\fi
+\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\headheight{11\p@}
+\setlength\headsep{.225in}
+\setlength\topskip{9\p@}
+\setlength\footskip{.33in}
+\setlength\maxdepth{.5\topskip}
+\setlength\@maxdepth\maxdepth
+\setlength\footnotesep{6.0\p@} %% ????????
+\setlength{\skip\footins}{8\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@ \@plus 1fil}
+\setlength\@fpsep{9\p@ \@plus 2fil}
+\setlength\@fpbot{0\p@ \@plus 1fil}
+\setlength\@dblfptop{0\p@ \@plus 1fil}
+\setlength\@dblfpsep{7\p@ \@plus 2fil}
+\setlength\@dblfpbot{0\p@ \@plus 1fil}
+\setlength\lxvchars{276\p@} %
+\setlength\xlvchars{192\p@} %
+\if@twocolumn
+ \setlength\marginparsep{10\p@}
+\else
+ \setlength\marginparsep{7\p@}
+\fi
+\setlength{\marginparpush}{5\p@}
+\endinput
+%%
+%% End of file `mem9.clo'.
diff --git a/Master/texmf-dist/tex/latex/memoir/memhfixc.sty b/Master/texmf-dist/tex/latex/memoir/memhfixc.sty
new file mode 100644
index 00000000000..f0b20bdfebb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/memhfixc.sty
@@ -0,0 +1,189 @@
+%%
+%% This is file `memhfixc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mempatch.dtx (with options: `hyper')
+%%
+%% Author: Peter Wilson (CUA) now at peter.r.wilson@boeing.com until June 2004
+%% (or at: pandgwilson at earthlink dot net)
+%% Copyright 2001 --- 2004 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.
+%%
+%%
+%% The memhfixc package provides hyperref related temporary
+%% fixes and extensions for version v1.3a of the memoir class.
+%% o hyperref fix for part and chapter entries in the ToC (v1.0)
+%% o Other fixes as and when
+%%
+%% Only use this package in conjunction with the hyperref package.
+%% Call the package without options after the hyperref package as:
+%% \documentclass[...]{memoir}
+%% ...
+%% \usepackage[...]{hyperref}
+%% \usepackage{memhfixc}
+%%
+%% Version 1.6 2004/05/13
+%% Version 1.5 2003/10/14
+%% Version 1.4 2003/09/26
+%% Version 1.3 2003/02/20
+%% Version 1.2 2003/02/02
+%% Version 1.1 2003/01/22
+%% Version 1.0 2002/10/22
+%%
+\ProvidesPackage{memhfixc}[2004/05/13 v1.6 package fixes for memoir class]
+\let\M@hfixcfinish\relax
+\@ifclassloaded{memoir}{}%
+ {\let\M@hfixcfinish\endinput
+ \typeout{No memoir class: memhfixc does nothing}}
+\M@hfixcfinish
+
+\AtBeginDocument{%
+ \@ifpackageloaded{nameref}{% nameref loaded
+ \@ifundefined{NR@sectm@m}{% haven't fiddled with \M@sect
+ \typeout{Redoing nameref's sectioning}
+ \let\NR@sectm@m\M@sect
+ \def\M@sect#1#2#3#4#5#6[#7][#8]#9{%
+ \setcounter{section@level}{#2}%
+ \def\@currentlabelname{#7}%
+ \NR@sectm@m{#1}{#2}{#3}{#4}{#5}{#6}[{#7}][{#8}]{\Sectionformat{#9}{#2}}}%
+ }%
+ {% \NR@sectm@m has already been defined
+ }
+ }%
+ {% no nameref
+ }
+} % end of \AtBeginDocument
+
+\AtBeginDocument{%
+ \@ifpackageloaded{nameref}{% nameref loaded
+ \@ifundefined{MNR@label}{% haven't fiddled with \label
+ \typeout{Redoing nameref's label}
+ \let\MNR@label\label
+ \def\label#1{\@bsphack\begingroup
+ \protected@edef\@currentlabel{\protect\M@TitleReference
+ {\@currentlabel}{\M@currentTitle}}%
+ \MNR@label{#1}%
+ \endgroup \@esphack}%
+ \let\MNR@old@caption\@caption
+ \long\def\@caption#1[#2]#3{%
+ \MNR@old@caption{#1}[{#2}]{#3}%
+ \def\@currentlabelname{#2}%
+ \M@gettitle{#2}%
+ }%
+ }%
+ {% \MNR@label has already been defined
+ }
+ }%
+ {% no nameref
+ }
+} % end of \AtBeginDocument
+
+%% We are done unless the hyperref package has been loaded
+\@ifpackageloaded{hyperref}{}{\let\M@hfixcfinish\endinput}
+\M@hfixcfinish
+
+\def\@@writetorep#1#2#3#4#5{%
+ \begingroup
+ \def\Hy@tempa{#5}%
+ \ifx\Hy@tempa\Hy@bookmarkstype
+ \edef\Hy@level{#4}%
+ \ifx\Hy@levelcheck Y%
+ \@tempcnta\Hy@level\relax
+ \advance\@tempcnta by -1
+ \ifnum\Hy@currentbookmarklevel<\@tempcnta
+ \advance\@tempcnta by -\Hy@currentbookmarklevel\relax
+ \advance\@tempcnta by 1
+ \Hy@Warning{%
+ Difference (\the\@tempcnta) between bookmark levels is %
+ greater \MessageBreak than one, level fixed%
+ }%
+ \@tempcnta\Hy@currentbookmarklevel
+ \advance\@tempcnta by 1
+ \edef\Hy@level{\the\@tempcnta}%
+ \fi
+ \else
+ \global\let\Hy@levelcheck Y%
+ \fi
+ \global\let\Hy@currentbookmarklevel\Hy@level
+ \@tempcnta\Hy@level\relax
+ \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}%
+ \advance\@tempcnta by -1
+ \edef\Hy@tempa{#3}
+ \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}%
+ \ifx\Hy@tempa\Hy@tempb
+ \Hy@Warning{%
+ The anchor of a bookmark and its parent's must not%
+ \MessageBreak be the same. Added a new anchor%
+ }%
+ \phantomsection
+ \fi
+ \ifHy@bookmarksnumbered
+ \let\numberline\Hy@numberline
+ \let\partnumberline\Hy@numberline % <- added
+ \let\chapternumberline\Hy@numberline % <- added
+ \else
+ \let\numberline\@gobble
+ \let\partnumberline\@gobble % <- added
+ \let\chapternumberline\@gobble % <- added
+ \fi
+ \pdfstringdef\Hy@tempa{#2}%
+ \protected@write\@outlinefile{}{%
+ \protect\BOOKMARK
+ [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
+ {\Hy@tempa}{\Hy@tempb}%
+ }%
+ \fi
+ \endgroup
+}
+
+\@ifundefined{H@old@sectm@m}{% haven't fiddled with \M@sect
+ \let\H@old@sectm@m\M@sect
+ \def\M@sect#1#2#3#4#5#6[#7][#8]#9{%
+ \ifnum #2>\c@secnumdepth
+ \Hy@GlobalStepCount\Hy@linkcounter
+ \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+ \fi
+ \H@old@sectm@m{#1}{#2}{#3}{#4}{#5}{#6}[{#7}][{#8}]{#9}%
+ \ifnum #2>\c@secnumdepth
+ \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+ \fi}%
+ }%
+ {% already fiddled \M@sect
+ }
+
+\let\MH@old@resets@pp\@resets@pp
+\renewcommand*{\@resets@pp}{%
+ \MH@old@resets@pp
+ \def\theHchapter{\Alph{chapter}}}
+
+\let\MH@old@resets@ppsub\@resets@ppsub
+\renewcommand*{\@resets@ppsub}{%
+ \MH@old@resets@ppsub
+ \def\theHsection{\theHchapter.\Alph{section}}}
+\def\endsubappendices{\def\theHsection{\theHchapter.\arabic{section}}}
+
+\renewcommand{\cftaddtitleline}[4]{%
+ \addtocontents{#1}{\protect\contentsline{#2}{#3}{#4}{\@currentHref}}}
+\renewcommand{\cftaddnumtitleline}[5]{\addtocontents{#1}{%
+ \protect\contentsline{#2}{\protect\numberline{#3}#4}{#5}{\@currentHref}}}
+
+\let\m@moldhypcaption\caption
+\renewcommand{\caption}{\donemaincaptiontrue\m@moldhypcaption}
+
+\endinput
+%%
+%% End of file `memhfixc.sty'.
diff --git a/Master/texmf-dist/tex/latex/memoir/memoir.cls b/Master/texmf-dist/tex/latex/memoir/memoir.cls
new file mode 100644
index 00000000000..a39967ed2be
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/memoir.cls
@@ -0,0 +1,9066 @@
+%%
+%% This is file `memoir.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% memoir.dtx (with options: `class')
+%%
+%% Author: Peter Wilson (herries dot press at earthlink dot net)
+%% Herries Press
+%% Copyright 2001--2005 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{memoir}%
+ [2005/09/25 v1.618 configurable document class]
+\newcommand{\@ptsize}{}
+\newlength{\onelineskip}
+\newlength{\lxvchars}
+\newlength{\xlvchars}
+\newcount\@memcnta
+\newif\if@restonecol
+\newif\if@openright
+ \@openrighttrue
+
+\newif\if@openleft
+ \@openleftfalse
+
+\newif\if@mainmatter
+ \@mainmattertrue
+
+\newif\if@memoldfont
+ \@memoldfontfalse
+
+\newcommand*{\@memerror}{\ClassError{memoir}}
+\newcommand*{\@memwarn}{\ClassWarning{memoir}}
+
+\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{\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}[]}%]
+}
+\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 \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
+
+\newif\ifpdf
+\ifx\pdfoutput\undefined
+\else
+ \ifx\pdfoutput\relax
+ \else
+ \ifcase\pdfoutput
+ \else
+ \pdftrue
+ \fi
+ \fi
+\fi
+%%\@memfakeusepackage{ifpdf}
+
+\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}%
+ }
+
+\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}
+
+\DeclareOption{a3paper}
+ {\setlength\stockheight {420mm}%
+ \setlength\stockwidth {297mm}}
+\DeclareOption{a4paper}
+ {\setlength\stockheight {297mm}%
+ \setlength\stockwidth {210mm}}
+\DeclareOption{a5paper}
+ {\setlength\stockheight {210mm}%
+ \setlength\stockwidth {148mm}}
+\DeclareOption{a6paper}
+ {\setlength\stockheight {148mm}%
+ \setlength\stockwidth {105mm}}
+\DeclareOption{b3paper}
+ {\setlength\stockheight {500mm}%
+ \setlength\stockwidth {353mm}}
+\DeclareOption{b4paper}
+ {\setlength\stockheight {353mm}%
+ \setlength\stockwidth {250mm}}
+\DeclareOption{b5paper}
+ {\setlength\stockheight {250mm}%
+ \setlength\stockwidth {176mm}}
+\DeclareOption{b6paper}
+ {\setlength\stockheight {176mm}%
+ \setlength\stockwidth {125mm}}
+\DeclareOption{letterpaper}
+ {\setlength\stockheight {11in}%
+ \setlength\stockwidth {8.5in}}
+\DeclareOption{legalpaper}
+ {\setlength\stockheight {14in}%
+ \setlength\stockwidth {8.5in}}
+\DeclareOption{executivepaper}
+ {\setlength\stockheight {10.5in}%
+ \setlength\stockwidth {7.25in}}
+\DeclareOption{ebook}
+ {\setlength\stockheight {9in}%
+ \setlength\stockwidth {6in}}
+\DeclareOption{landscape}
+ {\setlength\@tempdima {\stockheight}
+ \setlength\stockheight{\stockwidth}
+ \setlength\stockwidth {\@tempdima}}
+
+\renewcommand{\@ptsize}{0}
+\DeclareOption{9pt}{\renewcommand{\@ptsize}{9}}
+\DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
+\DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
+\DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
+\DeclareOption{14pt}{\renewcommand{\@ptsize}{4}}
+\DeclareOption{17pt}{\renewcommand{\@ptsize}{7}}
+\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{subfigure}{%
+ \ClassWarningNoLine{memoir}{The subfigure option is not required}}
+
+\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}
+
+\ExecuteOptions{final,letterpaper,10pt,onecolumn,openright,twoside}
+\ProcessOptions
+
+\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
+
+\ifnum\@ptsize = 9\relax
+ \input{mem\@ptsize.clo}
+\else
+ \input{mem1\@ptsize.clo}
+\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}
+ \@tempdima = \z@
+ \@tempdimb = \z@
+ \else % W
+ \nametest{#3}{*}%
+ \ifsamename % r = *
+ \@tempdimb = #2\relax
+ \@tempdima = \@tempdimb
+ \else % r
+ \@tempdimb = #2\relax
+ \@tempdima = #3\@tempdimb
+ \fi
+ \fi
+ \else % H
+ \nametest{#2}{*}%
+ \ifsamename % W = *
+ \nametest{#3}{*}%
+ \ifsamename % r = *
+ \@tempdima = #1\relax
+ \@tempdimb = \@tempdima
+ \else % r
+ \@tempdima = #1\relax
+ \@tempdimb = #3\@tempdima
+ \fi
+ \else % W
+ \@tempdima = #1\relax
+ \@tempdimb = #2\relax
+ \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}
+ \@tempdima = \z@
+ \@tempdimb = \z@
+ \@tempdimc = \z@
+ \else % R
+ \nametest{#5}{*}%
+ \ifsamename % r = *
+ \@tempdimb = #4\relax
+ \@tempdima = \@tempdimb
+ \@tempdimc = #1\relax
+ \advance\@tempdimc -\@tempdima
+ \advance\@tempdimc -\@tempdimb
+ \else % r
+ \@tempdimb = #4\relax
+ \@tempdima = #5\@tempdimb
+ \@tempdimc = #1\relax
+ \advance\@tempdimc -\@tempdima
+ \advance\@tempdimc -\@tempdimb
+ \fi
+ \fi
+ \else % L
+ \nametest{#4}{*}%
+ \ifsamename % R = *
+ \nametest{#5}{*}%
+ \ifsamename % r = *
+ \@tempdima = #3\relax
+ \@tempdimb = \@tempdima
+ \@tempdimc = #1\relax
+ \advance\@tempdimc -\@tempdima
+ \advance\@tempdimc -\@tempdimb
+ \else % r
+ \@tempdima = #3\relax
+ \@tempdimb = #5\@tempdima
+ \@tempdimc = #1\relax
+ \advance\@tempdimc -\@tempdima
+ \advance\@tempdimc -\@tempdimb
+ \fi
+ \else % R
+ \@tempdima = #3\relax
+ \@tempdimb = #4\relax
+ \@tempdimc = #1\relax
+ \advance\@tempdimc -\@tempdima
+ \advance\@tempdimc -\@tempdimb
+ \fi
+ \fi
+ \else % C is valued
+ \nametest{#3}{*}%
+ \ifsamename % L = *
+ \nametest{#4}{*}%
+ \ifsamename % R = *
+ \nametest{#5}{*}%
+ \ifsamename % r = *
+ \@tempdimc = #2\relax
+ \@tempdima = #1\relax
+ \advance\@tempdima -\@tempdimc
+ \@tempdima = 0.5\@tempdima
+ \@tempdimb = \@tempdima
+ \else % r (CODE PERHAPS FIXED)
+ \@tempdimc = #2\relax % C
+ \@tempdimb = #1\relax % T
+ \advance\@tempdimb -\@tempdimc % T - C
+ \@tempdima = 1000sp
+ \@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
+ \@tempdimc = #2\relax
+ \@tempdimb = #4\relax
+ \@tempdima = #1\relax
+ \advance\@tempdima -\@tempdimc
+ \advance\@tempdima -\@tempdimb
+ \fi
+ \else % L
+ \nametest{#4}{*}%
+ \ifsamename % R = *
+ \@tempdimc = #2\relax
+ \@tempdima = #3\relax
+ \@tempdimb = #1\relax
+ \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}%
+ \@tempdima = \z@
+ \@tempdimb = \z@
+ \@tempdimc = #2\relax
+ \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{\spinemargin}
+\newlength{\foremargin}
+\newcommand{\setlrmargins}[3]{%
+ \setfillsize{\paperwidth}{\textwidth}{#1}{#2}{#3}%
+ \setlength{\textwidth}{\@tempdimc}%
+ \setlength{\spinemargin}{\@tempdima}%
+ \setlength{\foremargin}{\@tempdimb}}
+
+\newcommand{\setlrmarginsandblock}[3]{%
+ \setfillsize{\paperwidth}{*}{#1}{#2}{#3}%
+ \setlength{\textwidth}{\@tempdimc}%
+ \setlength{\spinemargin}{\@tempdima}%
+ \setlength{\foremargin}{\@tempdimb}}
+
+\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
+
+\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}%
+ \fi}
+\newcommand*{\@memnegtest}[1]{%
+ \ifdim#1<\z@
+ \@memerror{\protect#1\space is negative}{\@ehd}%
+ \fi}
+
+\newcommand{\checkthelayout}{%
+ \@memnegtest{\trimedge}
+ \@memnegtest{\trimtop}
+ \@memznegtest{\stockwidth}
+ \@memznegtest{\paperwidth}
+ \@memznegtest{\textwidth}
+ \@memznegtest{\spinemargin}
+ \@memznegtest{\foremargin}
+ \@memznegtest{\marginparsep}
+ \@memznegtest{\marginparwidth}
+ \@memznegtest{\stockheight}
+ \@memznegtest{\paperheight}
+ \@memznegtest{\textheight}
+ \@memznegtest{\uppermargin}
+ \@memznegtest{\lowermargin}
+ \@memznegtest{\headheight}
+ \@memznegtest{\headsep}
+ \@memznegtest{\footskip}
+
+ \@tempdima = \textheight
+ \divide\@tempdima \baselineskip
+ \@tempcnta=\@tempdima
+ \setlength{\textheight}{\@tempcnta\baselineskip}
+ \addtolength{\textheight}{\topskip}
+ \setulmargins{\uppermargin}{*}{*}
+ \@tempdimb = -1pt
+ \@tempdima=\stockwidth
+ \advance\@tempdima -\trimedge
+ \advance\@tempdima -\paperwidth
+ \ifdim\@tempdima<\@tempdimb
+ \@tempdima = -\@tempdima
+ \@memerror{\protect\paperwidth\space and/or
+ \protect\trimedge\space
+ are too large for \protect\stockwidth\space
+ 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 and/or
+ \protect\textwidth\space and/or
+ \protect\foremargin\space
+ are too large for \protect\paperwidth\space
+ by \the\@tempdima}%
+ {\@ehd}
+ \fi
+ \@tempdima = \stockheight
+ \advance\@tempdima -\trimtop
+ \advance\@tempdima -\paperheight
+ \ifdim\@tempdima<\@tempdimb
+ \@tempdima = -\@tempdima
+ \@memerror{\protect\paperheight\space and/or
+ \protect\trimtop\space
+ are too large for \protect\stockheight\space
+ 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 and/or
+ \protect\textheight\space and/or
+ \protect\lowermargin\space
+ are too large for \protect\paperheight\space
+ by \the\@tempdima}%
+ {\@ehd}
+ \fi
+ \@tempdima = \uppermargin
+ \advance\@tempdima -\headheight
+ \advance\@tempdima -\headsep
+ \ifdim\@tempdima<\@tempdimb
+ \@tempdima = -\@tempdima
+ \@memerror{\protect\headheight\space and/or
+ \protect\headsep\space
+ are too large for \protect\uppermargin\space
+ by \the\@tempdima}%
+ {\@ehd}
+ \fi
+ \@tempdima = \lowermargin
+ \advance\@tempdima -\footskip
+ \ifdim\@tempdima<\z@
+ \@tempdima = -\@tempdima
+ \@memerror{\protect\footskip
+ is too large for \protect\lowermargin\space
+ 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{******************************************************}
+ \typeout{}
+}
+
+\newcommand{\checkandfixthelayout}{%
+ \checkthelayout
+ \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{}
+}
+
+\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}[2]{%
+ \@namedef{#1runwidth}{#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{\makepshook}[2]{%
+%%%% \@memwarn{\protect\makepshook\space is deprecated.\MessageBreak
+%%%% Use \protect\makepsmarks\space instead}
+%%%% \@namedef{#1pshook}{#2}}
+
+\newcommand*{\m@mhe@dreset}{\def\baselinestretch{1}\normalsize}
+
+\newcommand{\makepagestyle}[1]{%
+ \@namedef{ps@#1}{%
+ \@namedef{#1@evenhead}{%
+ \@nameuse{#1evenhpl}\hb@xt@\@nameuse{#1runwidth}{\m@mhe@dreset%
+ \vbox{\hbox{%
+ \rlap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedright\@nameuse{#1eheadl}\strut}}\hfill
+ \parbox[b]{\@nameuse{#1runwidth}}{%
+ \centering\@nameuse{#1eheadc}\strut}\hfill
+ \llap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedleft\@nameuse{#1eheadr}\strut}}}%
+ \@nameuse{#1headrule}}}\@nameuse{#1evenhpr}}
+ \@namedef{#1@oddhead}{%
+ \@nameuse{#1oddhpl}\hb@xt@\@nameuse{#1runwidth}{\m@mhe@dreset%
+ \vbox{\hbox{%
+ \rlap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedright\@nameuse{#1oheadl}\strut}}\hfill
+ \parbox[b]{\@nameuse{#1runwidth}}{%
+ \centering\@nameuse{#1oheadc}\strut}\hfill
+ \llap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedleft\@nameuse{#1oheadr}\strut}}}%
+ \@nameuse{#1headrule}}}\@nameuse{#1oddhpr}}
+ \@namedef{#1@evenfoot}{%
+ \@nameuse{#1evenfpl}\hb@xt@\@nameuse{#1runwidth}{\m@mhe@dreset%
+ \vbox{\@nameuse{#1footrule}\hbox{%
+ \rlap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedright\@nameuse{#1efootl}\strut}}\hfill
+ \parbox[b]{\@nameuse{#1runwidth}}{%
+ \centering\@nameuse{#1efootc}\strut}\hfill
+ \llap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedleft\@nameuse{#1efootr}\strut}}}%
+ }}\@nameuse{#1evenfpr}}
+ \@namedef{#1@oddfoot}{%
+ \@nameuse{#1oddfpl}\hb@xt@\@nameuse{#1runwidth}{\m@mhe@dreset%
+ \vbox{\@nameuse{#1footrule}\hbox{%
+ \rlap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \raggedright\@nameuse{#1ofootl}\strut}}\hfill
+ \parbox[b]{\@nameuse{#1runwidth}}{%
+ \centering\@nameuse{#1ofootc}\strut}\hfill
+ \llap{\parbox[b]{\@nameuse{#1runwidth}}{%
+ \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}
+ \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{#2runwidth}}%
+ \@namedef{#1evenhpl}{\@nameuse{#2evenhpl}}%
+ \@namedef{#1oddhpl}{\@nameuse{#2oddhpl}}%
+ \@namedef{#1evenfpl}{\@nameuse{#2evenfpl}}%
+ \@namedef{#1oddfpl}{\@nameuse{#2oddfpl}}%
+ \@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}{}
+
+\if@twoside
+ \makepagestyle{headings}
+ \makepsmarks{headings}{%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. \ %
+ \fi
+ \fi
+ ##1}}{}}%
+ \def\tocmark{\markboth{\MakeUppercase{\contentsname}}{}}%
+ \def\lofmark{\markboth{\MakeUppercase{\listfigurename}}{}}%
+ \def\lotmark{\markboth{\MakeUppercase{\listtablename}}{}}%
+ \def\bibmark{\markboth{\MakeUppercase{\bibname}}{}}%
+ \def\indexmark{\markboth{\MakeUppercase{\indexname}}{}}%
+ \def\sectionmark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth > \z@
+ \thesection. \ %
+ \fi
+ ##1}}}%
+ }
+ \makeevenhead{headings}{\thepage}{}{\slshape\leftmark}
+ \makeoddhead{headings}{\slshape\rightmark}{}{\thepage}
+\else
+ \makepagestyle{headings}
+ \makepsmarks{headings}{%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. \ %
+ \fi
+ \fi
+ ##1}}}%
+ \def\tocmark{\markright{\MakeUppercase{\contentsname}}}%
+ \def\lofmark{\markright{\MakeUppercase{\listfigurename}}}%
+ \def\lotmark{\markright{\MakeUppercase{\listtablename}}}%
+ \def\bibmark{\markright{\MakeUppercase{\bibname}}}%
+ \def\indexmark{\markright{\MakeUppercase{\indexname}}}%
+ }
+ \makeoddhead{headings}{\slshape\rightmark}{}{\thepage}
+\fi
+
+\makepagestyle{myheadings}
+ \makepsmarks{myheadings}{%
+ \let\@mkboth\@gobbletwo
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+ \def\tocmark{}%
+ \def\lofmark{}%
+ \def\lotmark{}%
+ \def\bibmark{}%
+ \def\indexmark{}%
+ }
+ \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}{%
+ \let\@mkboth\markboth
+ \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}{}}
+}
+\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}{%
+ \let\@mkboth\markboth
+ \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}}
+}
+\makeevenhead{companion}{\normalfont\bfseries\thepage}{}%
+ {\normalfont\bfseries\leftmark}
+\makeoddhead{companion}{\normalfont\bfseries\rightmark}{}%
+ {\normalfont\bfseries\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{\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}}
+%%%% \newcommand{\thanksfootextra}[2]{%
+%%%% \@memwarn{Use \protect\thanksmarkstyle\space instead of
+%%%% \protect\thanksfootextra}%
+%%%% \def\thanksfootpre{#1}%
+%%%% \def\thanksfootpost{#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
+ \leftskip\thanksmarksep\relax
+ \advance\leftskip\thanksmarkwidth \null\nobreak\hskip-\leftskip\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}
+
+\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{\absnamepos}{center}
+\newlength{\abstitleskip} \setlength{\abstitleskip}{-0.5em}
+\newlength{\absleftindent}
+\newdimen\abs@leftindent
+ \abs@leftindent=\leftmargin
+\newlength{\absrightindent}
+\newlength{\absparindent}
+\newlength{\absparsep}
+
+\newcommand{\abslabeldelim}[1]{\def\@bslabeldelim{#1}}
+\abslabeldelim{}
+\newcommand{\@bsrunintitle}{%
+ \hspace*{\abstitleskip}{\abstractnamefont\abstractname\@bslabeldelim}}
+
+\newcommand{\setup@bstract}{%
+ \if@twocolumn
+ \if@bsonecol
+ \abs@leftindent=\absleftindent
+ \else
+ \abs@leftindent=\z@
+ \renewcommand{\abstractnamefont}{\normalfont\Large\bfseries}
+ \renewcommand{\abstracttextfont}{\normalfont}
+ \renewcommand{\absnamepos}{flushleft}
+ \setlength{\abstitleskip}{-2ex}
+ \fi
+ \else
+ \abs@leftindent=\absleftindent
+ \fi
+ \setlength{\absrightindent}{\absleftindent}
+}
+
+\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}
+
+\newcommand*{\partmark}[1]{}
+\newcommand*{\chaptermark}[1]{}
+
+\newcommand*{\bibmark}{}
+\newcommand*{\indexmark}{}
+\newcommand*{\glossarymark}{}
+
+\setcounter{secnumdepth}{2}
+\newcounter{part}
+\newcounter{chapter}
+\newcounter{section}[chapter]
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+\renewcommand{\thepart}{\@Roman\c@part}
+\renewcommand{\thechapter}{\@arabic\c@chapter}
+\renewcommand{\thesection}{\thechapter.\@arabic\c@section}
+\renewcommand{\thesubsection}{%
+ \thesection.\@arabic\c@subsection}
+\renewcommand{\thesubsubsection}{%
+ \thesubsection.\@arabic\c@subsubsection}
+\renewcommand{\theparagraph}{%
+ \thesubsubsection.\@arabic\c@paragraph}
+\renewcommand{\thesubparagraph}{%
+ \theparagraph.\@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
+ \clearpage
+ \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{\part}{%
+ \@setuppart
+ \secdef\@part\@spart}
+\newcommand{\beforepartskip}{\null\vfil}
+\newcommand{\midpartskip}{\par\vskip 20pt}
+\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}%
+ \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}
+
+\def\@spart#1{%
+ \M@gettitle{#1}%
+ \mempartstarinfo{#1}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \printparttitle{#1}\par}%
+ \@endpart}
+
+\def\@endpart{\afterpartskip
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+
+\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]{}
+
+\def\@chapter[#1]#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
+ \chaptermark{\f@rhdr}
+ \ifartopt
+ \@makechapterhead{#2}%
+ \@afterheading
+ \else
+ \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@ \raggedright \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}}%
+}
+
+\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}
+}
+
+\newcommand{\chapnamefont}{\normalfont\huge\bfseries}
+\newcommand{\chapnumfont}{\normalfont\huge\bfseries}
+\newcommand{\chaptitlefont}{\normalfont\Huge\bfseries}
+\newlength{\beforechapskip}\setlength{\beforechapskip}{50pt}
+\newlength{\midchapskip}\setlength{\midchapskip}{20pt}
+\newlength{\afterchapskip}\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}
+
+\newcommand{\@schapter}[1]{%
+ \ifartopt
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \else
+ \if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \fi
+ \@afterheading
+ \fi
+ \M@gettitle{#1}}
+
+\def\@makeschapterhead#1{%
+ \chapterheadstart
+ {\parindent \z@ \raggedright \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}{%
+ \renewcommand{\chapnamefont}{\normalfont\huge\bfseries}
+ \renewcommand{\chapnumfont}{\normalfont\huge\bfseries}
+ \renewcommand{\chaptitlefont}{\normalfont\Huge\bfseries}
+ \setlength{\beforechapskip}{50pt}
+ \setlength{\midchapskip}{20pt}
+ \setlength{\afterchapskip}{40pt}
+}
+\chapterstyle{default}
+
+\makechapterstyle{section}{%
+ \renewcommand{\printchaptername}{}
+ \renewcommand{\chapternamenum}{}
+ \renewcommand{\chapnumfont}{\normalfont\Huge\bfseries}
+ \renewcommand{\printchapternum}{\chapnumfont \thechapter\space}
+ \renewcommand{\afterchapternum}{}
+}
+
+\makechapterstyle{article}{%
+ \renewcommand{\chapterheadstart}{\vspace{\beforechapskip}}
+ \setlength{\beforechapskip}{3.5ex \@plus 1ex \@minus .2ex}
+ \setlength{\afterchapskip}{2.3ex \@plus .2ex}
+ \renewcommand{\printchaptername}{}
+ \renewcommand{\chapternamenum}{}
+ \renewcommand{\chaptitlefont}{\normalfont\Large\bfseries}
+ \renewcommand{\chapnumfont}{\normalfont\Large\bfseries}
+ \renewcommand{\printchapternum}{\chapnumfont \thechapter\quad}
+ \renewcommand{\afterchapternum}{}
+}
+
+\makechapterstyle{hangnum}{%
+ \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}{%
+ \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}{
+ \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}
+}
+
+\newif\ifraggedbottomsection
+ \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{#1}{\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\raggedright}
+
+\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\raggedright}
+
+\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\raggedright}
+
+\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
+ \penalty -20
+%% \vskip -\onelineskip
+ \@afterindentfalse
+ \@afterheading}
+\newcommand{\@sfbreak}[1]{\par
+ \penalty -100
+ \noindent\parbox{\linewidth}{\centering #1}\null
+ \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}
+
+\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{\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.\Alph{section}}
+
+\newcommand{\@resets@ppsub}{
+ \par
+ \setcounter{section}{0}
+ \renewcommand{\thesection}{\setthesection}
+}
+
+\newif\ifnamesubappendix
+ \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}
+
+\newdimen\ragrparindent
+ \setlength{\ragrparindent}{\parindent}
+\newcommand{\raggedyright}[1][2em]{%
+ \let\\\@centercr\@rightskip \z@ \@plus #1\relax \rightskip\@rightskip
+ \leftskip\z@skip
+ \parindent\ragrparindent}
+
+\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}
+
+\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
+
+\newlength{\parsepi}
+\newlength{\topsepi}
+\newlength{\itemsepi}
+\newlength{\parsepii}
+\newlength{\topsepii}
+\newlength{\topsepiii}
+
+\newcommand{\defaultlists}{% %% initialise for 10pt
+ \setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
+ \parsepi= 4\p@ \@plus2\p@ \@minus\p@
+ \topsepi= 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsepi= 4\p@ \@plus2\p@ \@minus\p@
+ \parsepii= 2\p@ \@plus\p@ \@minus\p@
+ \topsepii= 4\p@ \@plus2\p@ \@minus\p@
+ \topsepiii= 2\p@ \@plus\p@ \@minus\p@
+\ifcase\@ptsize % 0 = 10pt
+\or % 1 = 11pt
+ \setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
+ \parsepi= 4.5\p@ \@plus2\p@ \@minus\p@
+ \topsepi= 9\p@ \@plus3\p@ \@minus5\p@
+ \itemsepi= 4.5\p@ \@plus2\p@ \@minus\p@
+ \parsepii= 2\p@ \@plus\p@ \@minus\p@
+ \topsepii= 4.5\p@ \@plus2\p@ \@minus\p@
+ \topsepiii= 2\p@ \@plus\p@ \@minus\p@
+\or % 2 = 12pt
+ \setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
+ \parsepi= 5\p@ \@plus2.5\p@ \@minus\p@
+ \topsepi= 10\p@ \@plus4\p@ \@minus6\p@
+ \itemsepi= 5\p@ \@plus2.5\p@ \@minus\p@
+ \parsepii= 2.5\p@ \@plus\p@ \@minus\p@
+ \topsepii= 5\p@ \@plus2.5\p@ \@minus\p@
+ \topsepiii= 2.5\p@ \@plus\p@ \@minus\p@
+\or % 3 = 13pt %% not available
+\or % 4 = 14pt
+ \setlength\partopsep{4\p@ \@plus 2\p@ \@minus 2\p@}
+ \parsepi= 6\p@ \@plus2.5\p@ \@minus\p@
+ \topsepi= 12\p@ \@plus4\p@ \@minus6\p@
+ \itemsepi= 6\p@ \@plus2.5\p@ \@minus\p@
+ \parsepii= 3\p@ \@plus\p@ \@minus\p@
+ \topsepii= 6\p@ \@plus2.5\p@ \@minus\p@
+ \topsepiii= 3\p@ \@plus\p@ \@minus\p@
+\or % 5 = 15pt %% not available
+\or % 6 = 16pt %% not available
+\or % 7 = 17pt
+ \setlength\partopsep{5\p@ \@plus 2\p@ \@minus 2\p@}
+ \parsepi= 7\p@ \@plus3\p@ \@minus\p@
+ \topsepi= 14\p@ \@plus6\p@ \@minus8\p@
+ \itemsepi= 7\p@ \@plus3\p@ \@minus\p@
+ \parsepii= 3\p@ \@plus\p@ \@minus\p@
+ \topsepii= 7\p@ \@plus3\p@ \@minus\p@
+ \topsepiii= 3.5\p@ \@plus\p@ \@minus\p@
+\or % 8 = 18pt %% not available
+\or % 9 = 9pt
+ \setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
+ \parsepi= 3.5\p@ \@plus2\p@ \@minus\p@
+ \topsepi= 7\p@ \@plus3\p@ \@minus5\p@
+ \itemsepi= 3.5\p@ \@plus2\p@ \@minus\p@
+ \parsepii= 2\p@ \@plus\p@ \@minus\p@
+ \topsepii= 4\p@ \@plus2\p@ \@minus\p@
+ \topsepiii= 2\p@ \@plus\p@ \@minus\p@
+\fi
+}
+
+\newcommand{\tightlists}{%
+ \setlength\partopsep{0.5\onelineskip \@plus 0\p@ \@minus 0\p@}
+ \parsepi= \parskip
+ \itemsepi = \p@ \@plus\p@ \@minus\p@
+ \topsepi = 0.5\parskip
+ \parsepii = \parskip
+ \topsepii = 0.5\parskip
+ \topsepiii = 0.5\parskip
+}
+
+\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\parsep}
+
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep\topsepiii
+ \parsep\z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep\topsep}
+
+\def\@listiv{\leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
+
+\def\@listv{\leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
+
+\def\@listvi{\leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
+
+\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@}
+
+\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}
+\newcounter{vslineno}
+\newcounter{poemline}
+\newcounter{modulo@vs}
+
+\newcommand{\poemlines}[1]{\linenumberfrequency{#1}%
+ \@memwarn{Use \string\linenumberfrequency\space
+ instead of \string\poemlines}%
+}
+
+\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-\vleftskip\llap{#1}\hskip\vleftskip\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}}
+
+\newcommand{\incr@vsline}{%
+ \refstepcounter{poemline}%
+ \stepcounter{vslineno}}
+
+\newcommand{\@vsifbang}[1]{\@ifnextchar !{\@firstoftwo{#1}}}
+\newcommand{\@vsifgt}[1]{\@ifnextchar >{\@firstoftwo{#1}}}
+
+\newcommand{\@vscentercr}{%
+ \ifhmode \unskip\else \@nolnerr\fi
+ \hfill\rlap{\kern\vrightskip\kern\rightmargin%
+ \vlvnumfont\getthelinenumber{poemline}}%
+ \@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}
+
+\newcommand{\@nameedef}[1]{
+ \expandafter\protected@edef\csname #1\endcsname}
+
+\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}
+
+\skip\@mpfootins = \skip\footins
+
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+
+\@addtoreset{equation}{chapter}
+\renewcommand{\theequation}{%
+ \ifnum \c@chapter>\z@ \thechapter.\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{memoir}{%
+ \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{memoir}}%
+ \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}
+
+\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}}
+ \@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{\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{\flushleftright}{%
+ \leftskip\z@ \rightskip\z@
+ \parfillskip=\z@ plus 1fil}
+\newcommand{\centerlastline}{%
+ \leftskip=\z@ plus 1fil
+ \rightskip=\z@ plus -1fil
+ \parfillskip=\z@ plus 2fil}
+
+\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{}
+
+\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}
+ \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\par}
+ \else
+ \if@contindent
+ \@contpre%
+ {\@contnfont #1\@contdelim}\@memtempa
+ {\@contcstyle\hangindent=\@contindw
+ \hangafter=\@ne\@conttfont #2\par}% <- v1.4
+ \else
+ \@contpre%
+ {\@contnfont #1\@contdelim}\@memtempa
+ {\ifdim\wd\@tempboxa<\linewidth
+ \@contcshortstyle\else \@contcstyle\fi% <- v1.4
+ \@conttfont #2\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}}}
+
+\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\\
+ \ifdim\epigraphrule>\z@ \@epirule \else \vspace*{1ex} \fi
+ \end{\textflush}\end{minipage}}
+\newcommand{\@episource}[1]{%
+ \begin{minipage}{\epigraphwidth}
+ \begin{\sourceflush} #1\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{\Pref}[1]{\partrefname\ref{#1}}
+\newcommand{\Cref}[1]{\chapterrefname\ref{#1}}
+\newcommand{\Sref}[1]{\sectionrefname\ref{#1}}
+
+\newif\ifheadnameref
+ \headnamereffalse
+
+\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
+
+\DeclareRobustCommand{\titleref}[1]{\begingroup \let\numberline\@gobble
+ \let\M@TitleReference\@mem@theTR % interrupt recursion of \ref
+ \ref{#1}\endgroup}
+\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
+\let\M@old@caption\@caption
+\long\def\@caption#1[#2]#3{\M@gettitle{#2}\M@old@caption{#1}[{#2}]{#3}}
+
+\let\M@oldlegend\legend
+\long\def\legend#1{\M@gettitle{#1}\M@oldlegend{#1}}
+\let\M@old@legend\@legend
+\long\def\@legend#1[#2]#3{\M@gettitle{#2}\M@old@legend{#1}[{#2}]{#3}}
+
+\let\M@old@vsptitle\@vsptitle
+\long\def\@vsptitle[#1]#2{\M@gettitle{#1}\M@old@vsptitle[{#1}]{#2}}
+\let\M@old@vssptitle\@vssptitle
+\long\def\@vssptitle#1{\M@gettitle{#1}\M@old@vssptitle{#1}}
+
+%%%\let\M@old@spart\@spart
+%%%\def\@spart#1{\M@gettitle{#1}\M@old@spart{#1}}
+%%%\let\M@old@part\@part
+%%%\def\@part[#1]{\M@gettitle{#1}\M@old@part[{#1}]}
+
+
+\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}
+ \@starttoc{#2}%
+ \endgroup
+ \restorefromonecol}
+ \@namedef{@plain#2}{%
+ \ensureonecol
+ \par
+ \begingroup
+%%% \parindent\z@ \parskip\cftparskip
+ \@nameuse{@#2maketitle}
+ \phantomsection
+ \addcontentsline{toc}{chapter}{#3}
+ \@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}
+\renewcommand{\numberline}[1]{%
+ \hb@xt@\@tempdima{\@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}
+ {\leftskip \@nameuse{cft#2indent}\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent \@nameuse{cft#2indent}\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima \@nameuse{cft#2numwidth}\relax
+ \expandafter\let\expandafter\@cftbsnum\csname cft#2presnum\endcsname
+ \expandafter\let\expandafter\@cftasnum\csname cft#2aftersnum\endcsname
+ \expandafter\let\expandafter\@cftasnumb\csname cft#2aftersnumb\endcsname
+ \advance\leftskip\@tempdima \null\nobreak\hskip -\leftskip
+ {\@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#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#2fillnum}##1{%
+ {\@nameuse{cft#2leader}}\nobreak
+ \hb@xt@\@pnumwidth{%
+ \hfil\@nameuse{cft#2pagefont}##1}\@nameuse{cft#2afterpnum}\par}
+} % end \newlistentry
+
+\newcommand{\cftsetindents}[3]{%
+ \setlength{\@nameuse{cft#1indent}}{#2}
+ \setlength{\@nameuse{cft#1numwidth}}{#3}
+}
+
+\newcommand*{\cftpartname}{}
+
+\newcommand*{\l@part}[2]{%
+ \ifnum \c@tocdepth >-2\relax
+ \addpenalty{-\@highpenalty}%
+ \addvspace{\cftbeforepartskip}%
+ \begingroup
+ {\leftskip \cftpartindent\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent \cftpartindent\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \settowidth{\@tempdima}{\cftpartfont\cftpartname}%
+ \addtolength{\@tempdima}{\cftpartnumwidth}%
+ \let\@cftbsnum \cftpartpresnum
+ \let\@cftasnum \cftpartaftersnum
+ \let\@cftasnumb \cftpartaftersnumb
+ \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ {\cftpartfont #1}%
+ \cftpartfillnum{#2}}
+ \nobreak
+ \global\@nobreaktrue
+ \everypar{\global\@nobreakfalse\everypar{}}%
+ \endgroup
+ \fi}
+
+\newcommand{\partnumberline}[1]{%
+ \hb@xt@\@tempdima{%
+ \cftpartname\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
+
+ \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{\cftpartfillnum}[1]{%
+ {\cftpartleader}%
+ {\hb@xt@\@pnumwidth{\hss {\cftpartpagefont #1}}}%
+ \cftpartafterpnum\par}
+
+\newcommand*{\cftchaptername}{}
+
+\newcommand*{\l@chapapp}[3]{%
+ \ifnum \c@tocdepth >\m@ne
+ \cftchapterbreak
+ \vskip \cftbeforechapterskip
+ {\leftskip \cftchapterindent\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \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\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+ {\cftchapterfont #1}\nobreak
+ \cftchapterfillnum{#2}}
+ \fi}
+
+\newcommand*{\l@chapter}[2]{%
+ \l@chapapp{#1}{#2}{\cftchaptername}}
+
+\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{\cftchapterfillnum}[1]{
+ {\cftchapterleader}\nobreak
+ \hb@xt@\@pnumwidth{\hfil\cftchapterpagefont #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}
+}
+
+\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
+ \hb@xt@\@pnumwidth{%
+ \hfil\@nameuse{cft#1pagefont}##1}\@nameuse{cft#1afterpnum}\par}}
+
+\newcommand{\chapterprecis}[1]{%
+ \chapterprecishere{#1}
+ \chapterprecistoc{#1}}
+\newcommand{\chapterprecishere}[1]{%
+ \prechapterprecis #1\postchapterprecis}
+\newcommand{\prechapterprecis}{%
+ \vspace*{-2\baselineskip}%
+ \begin{quote}\normalfont\itshape}
+\newcommand{\postchapterprecis}{\end{quote}}
+
+\newcommand{\precistocfont}{\normalfont\itshape}
+\newcommand{\chapterprecistoc}[1]{%
+ \addtocontents{toc}{\precistoctext{#1}}}
+\DeclareRobustCommand{\precistoctext}[1]{%
+ {\leftskip \cftchapterindent\relax
+ \advance\leftskip \cftchapternumwidth\relax
+ \rightskip \@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{\@setclcnt}[2]{
+ \@tempswafalse
+ \nametest{#1}{none}
+ \ifsamename
+ \setcounter{#2}{-10}
+ \@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}{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\else
+ \@memerror{%
+ Unknown document division name (#1)
+ }{%
+ I'll ignore it. Type \space <return> and I'll continue.}
+ \fi
+}
+\DeclareRobustCommand{\changetocdepth}[1]{\setcounter{tocdepth}{#1}}
+
+\newcommand{\maxtocdepth}[1]{%
+ \@setclcnt{#1}{tocdepth}}
+\newcommand{\setsecnumdepth}[1]{%\leavevmode%
+ \@setclcnt{#1}{secnumdepth}}
+\newcounter{maxsecnumdepth}
+\newcommand{\maxsecnumdepth}[1]{%
+ \@setclcnt{#1}{secnumdepth}\@setclcnt{#1}{maxsecnumdepth}}
+
+\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
+
+\newenvironment{theindex}{%
+ \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{chapter}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}%
+ {\if@restonecol\onecolumn\else\twocolumn\fi}
+
+\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
+ \reportnoidxfilefalse
+\newif\ifshowindexmark
+ \showindexmarkfalse
+
+\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
+
+\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
+
+\newif\ifonecolglossary
+ \onecolglossarytrue
+
+\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}
+
+\newlength{\sideparvshift}
+ \setlength{\sideparvshift}{-2.08ex}% seems to work for all font sizes
+
+\newif\ifreversesidepar
+ \reversesidepartrue
+\newif\ifsideparswitch
+ \sideparswitchfalse
+\if@twoside \sideparswitchtrue \fi
+
+\newcommand{\sidepar}{\@dblarg{\@sidepar}}
+\long\def\@sidepar[#1]#2{\@bsphack\leavevmode\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 % at left
+ \else % put at right
+ \kern \columnwidth \kern \marginparsep % at right
+ \fi
+ \else
+ \ifoddpage % put at right
+ \kern \textwidth \kern \marginparsep % at right
+ \else % put at left
+ \kern -\marginparsep \kern -\marginparwidth % at left
+ \fi
+ \fi
+ \vbox to 0pt{%
+ \kern \sideparvshift% % vertical shift to align top text lines
+ \begin{minipage}{\marginparwidth}%
+ \ifoddpage #2\else #1\fi%
+ \end{minipage}%
+ \vss}}}\@esphack}
+
+\newinsert\sideins
+ \skip\sideins=0pt
+ \count\sideins=0
+
+\newcommand{\setsidebarheight}[1]{\dimen\sideins= #1}
+ \setsidebarheight{20\onelineskip}
+
+\newlength{\sidebarhsep} \setlength{\sidebarhsep}{\marginparsep}
+\newlength{\sidebarvsep} \setlength{\sidebarvsep}{2\onelineskip}
+\newlength{\sidebarwidth} \setlength{\sidebarwidth}{\marginparwidth}
+
+\newcommand{\sidebarfont}{\normalfont}
+\newcommand{\sidebarform}{\rightskip=\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{\sidecontents}{{%
+ \if@twocolumn% %% put outside nearest column
+ \if@firstcolumn% %% move to left
+ \setlength{\@tempdimc}{\sidebarwidth}%
+ \advance\@tempdimc\sidebarhsep
+ \moveleft\@tempdimc
+ \else% %% move to right
+ \setlength{\@tempdimc}{\columnwidth}%
+ \advance\@tempdimc\sidebarhsep
+ \moveright\@tempdimc
+ \fi
+ \else% %% put into foremargin?
+ \ifsidebaroneside% %% put into right hand margin
+ \setlength{\@tempdimc}{\hsize}%
+ \advance\@tempdimc\sidebarhsep
+ \moveright\@tempdimc
+ \else% %% ???
+ \ifcase\m@msidebar@margin% 0 to left
+ \setlength{\@tempdimc}{\sidebarwidth}%
+ \advance\@tempdimc\sidebarhsep
+ \moveleft\@tempdimc
+ \or% 1 to right
+ \setlength{\@tempdimc}{\hsize}%
+ \advance\@tempdimc\sidebarhsep
+ \moveright\@tempdimc
+ \or% 2 to outer
+ \ifodd\c@page% %% move to right
+ \setlength{\@tempdimc}{\hsize}%
+ \advance\@tempdimc\sidebarhsep
+ \moveright\@tempdimc
+ \else% %% move to left
+ \setlength{\@tempdimc}{\sidebarwidth}%
+ \advance\@tempdimc\sidebarhsep
+ \moveleft\@tempdimc
+ \fi
+ \or% 3 to inner
+ \ifodd\c@page% %% move to left
+ \setlength{\@tempdimc}{\sidebarwidth}%
+ \advance\@tempdimc\sidebarhsep
+ \moveleft\@tempdimc
+ \else% %% move to right
+ \setlength{\@tempdimc}{\hsize}%
+ \advance\@tempdimc\sidebarhsep
+ \moveright\@tempdimc
+ \fi
+ \fi
+ \fi
+ \fi
+ \vtop to0pt{%
+ \vskip\onelineskip
+ \unvbox\sideins \vss}%
+}}
+
+\newcommand{\sidebar}[1]{%
+ \insert\sideins{%
+ \splittopskip\sidebarvsep\relax
+ \hsize \sidebarwidth
+ \@parboxrestore % <- added in v1.4
+ \sidebarform \sidebarfont
+ \noindent\vbox to \sidebarvsep{}\ignorespaces #1%
+ \ifhmode\unskip\strut\fi\par}}
+
+\let\memold@makecol\@makecol
+\gdef\mem@makecol{%
+ \ifvoid\footins
+ \setbox\@outputbox \box\@cclv
+ \else
+ \setbox\@outputbox \vbox{%
+ \boxmaxdepth\@maxdepth
+ \@tempdima\dp\@cclv
+ \unvbox\@cclv
+ \vskip-\@tempdima
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }
+ \fi
+ \ifvoid\sideins\else %%% start of change
+ \setbox\@outputbox \vbox{%
+ \sidecontents
+ \unvbox\@outputbox
+ }
+ \fi %%% end of change
+ \xdef\@freelist{\@freelist\@midlist}%
+ \global\let\@midlist\@empty
+ \@combinefloats
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \setbox\@outputbox \vbox to\@colht{%
+ \boxmaxdepth \maxdepth
+ \@texttop
+ \dimen@ \dp\@outputbox
+ \unvbox \@outputbox
+ \vskip -\dimen@
+ \@textbottom
+ }%
+ \fi
+ \global \maxdepth \@maxdepth
+}
+
+\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}{%
+%%%% \typeout{Redefining @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
+}
+
+\let\memold@reinserts\@reinserts
+\gdef\mem@reinserts{%
+ \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi
+ \ifvbox\@kludgeins\insert\@kludegins{\unvbox\@kludgeins}\fi
+ \ifvoid\sideins\else\sidecontents\fi
+}
+
+\gdef\@makecol{\mem@makecol}
+\gdef\@doclearpage{\mem@doclearpage}
+
+\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}
+
+\let\m@mold@footnotetext\@footnotetext
+\renewcommand{\@footnotetext}[1]{%
+ \rest@font\m@mold@footnotetext{#1}\m@mmf@prepare}
+\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
+ }
+
+\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
+}
+
+\def\@minipagerestore{\let\@verbfootnotetext\@verbmpfootnotetext}
+
+%%%%%%%%%%%%%% major extension to footnoting
+
+\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}{}
+
+\gdef\mem@makecol{%
+ \m@m@makecolintro
+ \ifvoid\footins
+ \setbox\@outputbox \box\@cclv
+ \else
+ \setbox\@outputbox \vbox{%
+ \boxmaxdepth\@maxdepth
+ \@tempdima\dp\@cclv
+ \unvbox\@cclv
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }%
+ \fi
+ \m@mdoextrafeet
+ \ifvoid\sideins\else
+ \setbox\@outputbox \vbox{%
+ \sidecontents
+ \unvbox\@outputbox}%
+ \fi
+ \m@m@makecolfloats
+ \m@m@makecoltext
+ \global \maxdepth \@maxdepth}
+
+\gdef\mem@makecolbf{%
+ \m@m@makecolintro
+ \setbox\@outputbox \box\@cclv
+ \m@m@makecolfloats
+ \ifvoid\footins
+ \else
+ \setbox\@outputbox \vbox{%
+ \boxmaxdepth\@maxdepth
+ \unvbox\@outputbox
+ \vskip \skip\footins
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \unvbox \footins
+ \color@endgroup
+ }%
+ \fi
+ \m@mdoextrafeet
+ \ifvoid\sideins\else
+ \setbox\@outputbox \vbox{%
+ \sidecontents
+ \unvbox\@outputbox}%
+ \fi
+ \m@m@makecoltext
+ \global \maxdepth \@maxdepth}
+
+\newcommand{\feetabovefloat}{\gdef\@makecol{\mem@makecol}}
+\newcommand{\feetbelowfloat}{\gdef\@makecol{\mem@makecolbf}}
+\feetabovefloat
+
+\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}{}
+
+\gdef \@reinserts{%
+ \ifvoid\footins\else\insert\footins{\unvbox\footins}\fi
+ \m@mdodoreinextrafeet
+ \ifvoid\sideins\else\sidecontents\fi
+ \ifvbox\@kludgeins\insert\@kludgeins{\unvbox\@kludgeins}\fi}
+\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{\@footnotetext}[1]{\insert\footins{%
+ \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}
+\renewcommand{\@mpfootnotetext}[1]{%
+ \global\setbox\@mpfootins\vbox{%
+ \unvbox\@mpfootins
+ \foottextfont \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@mpfootnote\endcsname\@thefnmark}%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+ \color@endgroup}}
+
+\let\m@mold@footnotetext\@footnotetext
+\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}{%
+ \@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##1\@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}%
+ \@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##1\@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
+ \leftskip=\z@
+ \rightskip=\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{%
+ \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
+ \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}{
+ \@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}
+ \@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{%
+ \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
+ \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}{
+ \@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}
+ \@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{
+ \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
+ \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}{
+ \@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}
+ \@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
+ \leftskip=\z@
+ \rightskip=\z@
+ \parindent=\z@
+ \vskip\skip\@nameuse{footins#1}%
+ \footnoterule}}
+
+\newif\ifchangemarks\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*{\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}}
+
+\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\setcounter{lastsheet}{\the\c@sheetsequence}}%
+ \stepcounter{sheetsequence}%
+ \fi}
+\newcommand{\dol@stpage}{%
+ \if@filesw
+ \addtocounter{page}{-1}%
+ \immediate\write\@auxout%
+ {\string\setcounter{lastpage}{\the\c@page}}%
+ \stepcounter{page}%
+ \fi}
+\AtBeginDocument{\AtEndDocument{\clearpage\dol@stsheet\dol@stpage}}
+
+\let\mem@oldshipout\shipout
+\newcommand*{\mem@shipi}{%
+ \ifvoid\@cclv\expandafter\aftergroup\fi\mem@shipii}
+\newcommand*\mem@shipii{%
+ \ifvoid\@cclv
+ \mem@oldshipout\box\@cclv
+ \else
+ \mem@oldshipout\vbox{\trimmarks\unvbox\@cclv}%
+ \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
+ \leftskip\@totalleftmargin\rightskip\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{\wrappingon}{%
+ \def\@xobeysp{~\discretionary{\verbatimbreakchar}%
+ {\kern\verbatimindent}{}}%
+ \def\wrapright{\raggedright}%
+}
+\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{%
+ \PackageInfo{shortvrb}{%
+ #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}
+\newcommand{\linenumberfont}[1]{\def\vlvnumfont{#1}}
+%%% \linenumberfont{\small\rmfamily}
+
+\newcommand{\linenumberfrequency}[1]{%
+ \ifnum #1< \@ne
+ \def\linemodnum{0\relax}
+ \bvcountlinesfalse
+ \else
+ \def\linemodnum{#1\relax}
+ \bvcountlinestrue
+ \fi
+}
+%%%%\linenumberfrequency{0}
+
+\newcommand{\getthelinenumber}[1]{%
+ \ifnum\@ne=\linemodnum
+ \@nameuse{the#1}
+ \else
+ \ifnum\@ne<\linemodnum
+ \@tempcnta=\@nameuse{c@#1}
+ \divide\@tempcnta\linemodnum \multiply\@tempcnta\linemodnum
+ \ifnum\@tempcnta=\@nameuse{c@#1}\@nameuse{the#1}\fi
+ \fi
+ \fi
+}
+
+\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{bvlinectr}
+\def\theb@vlinenumber{\getthelinenumber{bvlinectr}}
+\newcommand{\resetbvlinenumber}{\setcounter{bvlinectr}{0}}
+
+\newif\ifbvcountlines % TRUE to print line numbers of verbatim lines
+ \bvcountlinesfalse
+\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{\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
+ {\b@vdooutside\strut\kern\bvboxsep%
+ \b@vdoinside%
+ \ift@bs
+ \tabverbatim@processline
+ \else
+ \the\verbatim@line
+ \fi
+ \hss}%
+ \kern\bvboxsep}\bvrightsidehook\par}%
+}
+
+\newcommand{\setupbox@verb}{%
+ \leftskip\z@skip \rightskip\z@skip
+ \interlinepenalty\boxverbflag
+ \parfillskip\z@ plus\p@ minus\p@
+ \lineskip-\bvboxsep \baselineskip\z@skip
+ \frenchspacing\@vobeyspaces\@maybeobeytabs
+ \boxverb@toprule
+}
+
+\def\boxedverbatim{\begingroup
+ \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}
+
+\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 \nobreak \vskip-.1\p@}
+\def\bvendrulehook{\hrule}
+\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
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%% BEGIN FRAMED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% PW -- can't have \ProvidesPpackage
+%%\ProvidesPackage{framed}[2003/07/21 v 0.8a:
+%% framed or shaded text with page breaks]
+
+%% PW added \ifframeasnormal % TRUE normal paras, FALSE minipage paras
+%% PW default is (FALSE to match DA v0.5, or TRUE to match DA v0.6)
+\newif\ifframeasnormal
+ \frameasnormaltrue
+
+%% PW Define some things AtBeginDocument if they have not already
+%% been defined via someone using the framed package.
+\AtBeginDocument{\@ifundefined{framed}{%
+\def\endMakeFramed{\par
+ \kern\z@ \penalty-100 % put depth into height
+ \egroup
+ \begingroup \put@frame \endgroup}
+
+\newenvironment{framed}% using default \FrameCommand
+ {\MakeFramed {\advance\hsize-\width \FrameRestore}}%
+ {\endMakeFramed}
+
+\newenvironment{shaded}{%
+ \def\FrameCommand{\colorbox{shadecolor}}%
+ \MakeFramed {\FrameRestore}}%
+ {\endMakeFramed}
+
+\newenvironment{leftbar}{%
+ \def\FrameCommand{\vrule width 3pt \hspace{10pt}}%
+ \MakeFramed {\advance\hsize-\width \FrameRestore}}%
+ {\endMakeFramed}
+
+}{}} % end of AtBeginDocument
+
+%% \def\MakeFramed#1{\par %% PW change to \newcommand
+\newcommand{\MakeFramed}[1]{\par
+ % measure added width and height; call result \width and \height
+ \setbox\z@\vbox{\vskip-1in \hbox{\hskip-1in
+ \FrameCommand{\hbox{\vrule \@height .7in \@depth.3in \@width 1in}}}%
+ \vskip\z@skip}%
+ \def\width{\wd\z@}\def\height{\ht\z@}%
+ \edef\fb@frw{\the\width}\edef\fb@frh{\the\height}%
+ % insert pre-penalties and skips
+ \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@
+ % Give a stretchy breakpoint that will always be taken in preference
+ % to the \penalty 9999 used to update page parameters. The cube root
+ % of 10000/100 indicates a multiplier of 0.21545, but the maximum
+ % calculated badness is really 8192, not 10000, so the multiplier
+ % is 0.2301.
+ \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
+ % clear out pending page break
+ \penalty\@M \vskip 2\baselineskip \vskip\height
+ \penalty9999 \vskip -2\baselineskip \vskip-\height
+ \penalty9999 % updates \pagetotal
+ \fb@adjheight
+ \setbox\@tempboxa\vbox\bgroup
+ #1% Modifications to \hsize (can use \width and \height)
+ \textwidth\hsize \columnwidth\hsize
+}
+
+\def\put@frame{\relax
+ \ifdim\pagegoal=\maxdimen \pagegoal\vsize \fi
+ \ifinner \else
+ \dimen@\pagegoal \advance\dimen@-\pagetotal % space left on page
+ \ifdim\dimen@<2\baselineskip
+ \eject \fb@adjheight \put@frame
+ \else % there's appreciable room left on the page
+ \begingroup % temporarily set \dimen@ to be...
+ \advance\dimen@.8\pageshrink % maximum space available on page
+ \advance\dimen@-\fb@frh\relax % space for frame's contents
+ \expandafter\endgroup
+ % restore \dimen@ to real room left on page
+ \ifdim\dimen@>\ht\@tempboxa % whole box does fit
+ \else % box must be split
+ \setbox\@tempboxa\vbox{% simulate frame and flexiblity of 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}% % v0.8a
+ \boxmaxdepth\z@ \splittopskip\z@
+ \setbox\tw@\vsplit\@tempboxa to\dimen@
+ \setbox\tw@\vbox{\unvbox\tw@}% natural-sized
+ % If the split-to size > (\vsize-\topskip),
+ % then set box to full size
+ \begingroup
+ \advance\dimen@\topskip
+ \expandafter\endgroup
+ \ifdim\dimen@>\pagegoal
+ \dimen@ii\pagegoal
+ \advance\dimen@ii -\topskip
+ \advance\dimen@ii \FrameHeightAdjust\relax
+ \else % suspect this is wrong:
+ % If the split-to size > feasible room_on_page,
+ % rebox it smaller.
+ \advance\dimen@.8\pageshrink
+ \ifdim\ht\tw@>\dimen@
+ \dimen@ii\dimen@
+ \else % use natural size
+ \dimen@ii\ht\tw@
+ \fi
+ \fi
+ % Re-box contents to desired size \dimen@ii
+ \advance\dimen@ii -\fb@frh
+ \setbox\tw@\vbox to\dimen@ii \bgroup
+ % remove simulated frame and page flexibility:
+ \vskip -\fb@frh \@plus-\pagestretch \@minus-.8\pageshrink
+ \unvbox\tw@ \unpenalty\unpenalty
+ \ifdim\lastkern=-137sp % whole box went to next page
+ \egroup \fb@resto@set \eject
+%%% % (\vskip for frame size was discarded) % v 0.8a
+ \fb@adjheight
+ \else %
+ \egroup \fb@resto@set % v0.8a
+ \ifvoid\@tempboxa % it all fit after all
+ \setbox\@tempboxa\box\tw@
+ \else % it really did split
+ \ifdim\wd\tw@>\z@
+ \centerline{\FrameCommand{\box\tw@}}% ? \centerline bad idea
+ \else
+ \box\tw@
+ \fi
+ \hrule \@height\z@
+ \eject
+ \fb@adjheight
+ \put@frame
+ \fi\fi\fi\fi\fi
+ \ifvoid\@tempboxa\else
+ \centerline{\FrameCommand{\box\@tempboxa}}%
+ \nointerlineskip \null %{\showoutput \showlists}
+ \penalty-30 \vskip\topsep
+ \fi}
+
+\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}
+
+%% Define configuration commands:
+\def\FrameCommand{\fboxrule=\FrameRule \fboxsep=\FrameSep \fbox}
+\newdimen\FrameRule \FrameRule= \fboxrule
+\newdimen\FrameSep \FrameSep = 3\fboxsep
+
+%% Height of frame above first baseline when frame starts a page:
+%%\def\FrameHeightAdjust{6pt} % PW changed the value
+\def\FrameHeightAdjust{0.6em}
+
+%% PW: I have added my \ifframeasnormal to the original \FrameRestore
+%% The commented out lines are commented out by DA in the
+%% framed package
+
+\newcommand{\FrameRestore}{%
+ \let\if@nobreak\iffalse
+ \let\if@noskipsec\iffalse
+ \let\-\@dischyph
+ \let\'\@acci\let\`\@accii\let\=\@acciii
+ \linewidth\hsize
+ \sloppy
+\ifframeasnormal\else
+ \let\par\@@par
+ \parindent\z@ \parskip\z@skip
+ \everypar{}%
+ \@totalleftmargin\z@
+ \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
+ \parfillskip\@flushglue \lineskip\normallineskip
+ \baselineskip\normalbaselineskip
+ \let\\\@normalcr
+\fi
+}
+
+%%\let\fram@d=\MakeFramed \let\endfram@d=\endMakeFramed
+
+%%%%%%%%%%%% END FRAMED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\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
+\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%
+}
+
+\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
+}
+
+\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{\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
+}
+
+\newcommand*{\numtoname}[1]{%
+ \makeordinalfalse
+ \notnumtonameallcapstrue%
+ \lowernumtonametrue%
+ \n@me@number{#1}}
+
+\newcommand*{\numtoName}[1]{%
+ \makeordinalfalse
+ \notnumtonameallcapstrue%
+ \lowernumtonamefalse%
+ \n@me@number{#1}}
+
+\newcommand*{\NumToName}[1]{%
+ \makeordinalfalse
+ \notnumtonameallcapsfalse%
+ \lowernumtonamefalse%
+ \n@me@number{#1}}
+
+\newcommand*{\ordinaltoname}[1]{%
+ \makeordinaltrue
+ \notnumtonameallcapstrue%
+ \lowernumtonametrue%
+ \n@me@number{#1}}
+
+\newcommand*{\ordinaltoName}[1]{%
+ \makeordinaltrue
+ \notnumtonameallcapstrue%
+ \lowernumtonamefalse%
+ \n@me@number{#1}}
+
+\newcommand*{\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*{\abstractname}{Abstract}
+\newcommand*{\contentsname}{Contents}
+\newcommand*{\listfigurename}{List of Figures}
+\newcommand*{\listtablename}{List of Tables}
+\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*{\partrefname}{Part~}
+\newcommand*{\chapterrefname}{Chapter~}
+\newcommand*{\sectionrefname}{\S}
+\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.\@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.\@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}
+\EmulatedPackage{appendix}
+\EmulatedPackage{array}
+\EmulatedPackage{booktabs}
+\EmulatedPackage{ccaption}
+\EmulatedPackage{chngcntr}
+\EmulatedPackage{chngpage}
+\EmulatedPackage{crop}
+\EmulatedPackage{dcolumn}
+\EmulatedPackage{delarray}
+\EmulatedPackage{enumerate}
+\EmulatedPackage{epigraph}
+\EmulatedPackage{framed}
+\EmulatedPackage{ifmtarg}
+\EmulatedPackage{ifpdf}
+\EmulatedPackage{index}
+\EmulatedPackage{makeidx}
+\EmulatedPackage{moreverb}
+\EmulatedPackage{needspace}
+\EmulatedPackage{newfile}
+\EmulatedPackage{nextpage}
+\EmulatedPackage{patchcmd}
+\EmulatedPackage{shortvrb}
+\EmulatedPackage{showidx}
+\EmulatedPackage{tabularx}
+\EmulatedPackage{titleref}
+\EmulatedPackage{titling}
+\EmulatedPackage{tocbibind}
+\EmulatedPackage{tocloft}
+\EmulatedPackage{verbatim}
+\EmulatedPackage{verse}
+
+\InputIfFileExists{mempatch.sty} % should be this
+
+\endinput
+%%
+%% End of file `memoir.cls'.
diff --git a/Master/texmf-dist/tex/latex/memoir/mempatch.sty b/Master/texmf-dist/tex/latex/memoir/mempatch.sty
new file mode 100644
index 00000000000..124029e6113
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/memoir/mempatch.sty
@@ -0,0 +1,318 @@
+%%
+%% This is file `mempatch.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mempatch.dtx (with options: `patch')
+%%
+%% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net
+%% Copyright 2001 --- 2005 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.
+%%
+\ProvidesFile{mempatch.sty}[2005/10/06 v4.1 Patches for memoir class v1.618]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Version 4.0 was released simultaneously with version 1.618 of memoir.
+%%% By definition there were no patches.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% Version 4.1 (2005/10/03 and later)
+
+%%%% Use correct number of arguments for \memsecstarinfo (2 not 3).
+\def\@ssect#1#2#3#4#5{%
+ \M@gettitle{#5}%
+ \memsecstarinfo{\m@msecn@mame}{#5}%
+ \@mem@old@ssect{#1}{#2}{#3}{#4}{#5}}
+
+\newsavebox{\m@mscap@capbox}
+\newsavebox{\m@mscap@fbox}
+
+\newdimen\sidecapsep
+ \sidecapsep=\marginparsep
+\newdimen\sidecapwidth
+ \sidecapwidth=\marginparwidth
+
+\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 not t, 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}[]}}
+\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}{%
+ \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{}}
+
+\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
+ \scapmargleftrue
+ \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}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
+%%
+%% End of file `mempatch.sty'.