summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/computational-complexity/cc-cls-inline.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/computational-complexity/cc-cls-inline.tex')
-rw-r--r--macros/latex/contrib/computational-complexity/cc-cls-inline.tex7772
1 files changed, 7772 insertions, 0 deletions
diff --git a/macros/latex/contrib/computational-complexity/cc-cls-inline.tex b/macros/latex/contrib/computational-complexity/cc-cls-inline.tex
new file mode 100644
index 0000000000..1a5984ef93
--- /dev/null
+++ b/macros/latex/contrib/computational-complexity/cc-cls-inline.tex
@@ -0,0 +1,7772 @@
+\begin{filecontents*}{cc.cls}
+%%
+%% This is file `cc.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cccls,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\providecommand\ignorespacesafterend{\@ignoretrue}
+\newif\ifclass
+\ifx\@currext\@clsextension\classtrue\else\classfalse\fi
+\ifclass\expandafter\ProvidesClass\else\expandafter\ProvidesPackage\fi
+{\ifclass cc\else cc-cls\fi}
+[% CC MAIN DATE AND VERSION ON NEXT LINE
+2016/03/01 v2.25f
+computational complexity
+\ifclass document class\else package\fi]
+\RequirePackage{ccaux}
+\DeclareOption{localnumbering}{\@longarticletrue}
+\DeclareOption{globalnumbering}{\@longarticlefalse}
+\DeclareOption{longarticle}{\@longarticletrue}
+\DeclareOption{shortarticle}{\@longarticlefalse}
+\DeclareOption{cclayout}{\@cclayouttrue}
+\DeclareOption{nocclayout}{\@cclayoutfalse}
+\DeclareOption{prefixes}{%
+ \PassOptionsToPackage{\CurrentOption}{relabel}}
+\DeclareOption{noprefixes}{%
+ \ExecuteOptions{notheoremitemprefixes}%
+ \PassOptionsToPackage{\CurrentOption,nobare}{relabel}}
+\DeclareOption{bare}{\PassOptionsToPackage{\CurrentOption}{relabel}}
+\DeclareOption{nobare}{\PassOptionsToPackage{\CurrentOption}{relabel}}
+\DeclareOption{multilingual}{\ExecuteOptions{T1,latin1,babel}}
+\DeclareOption{nomultilingual}{\ExecuteOptions{OT1,nolatin1,nobabel}}
+\DeclareOption{T1}{\@Tonetrue}
+\DeclareOption{OT1}{\@Tonefalse}
+\DeclareOption{latin1}{\@latintrue\@utfviiifalse}
+\DeclareOption{nolatin1}{\@latinfalse}
+\DeclareOption{utf8}{\@utfviiitrue\@latinfalse}
+\DeclareOption{noutf8}{\@utfviiifalse}
+\DeclareOption{noinputenc}{\@latinfalse\@utfviiifalse}
+\DeclareOption{babel}{\@babeltrue}
+\DeclareOption{nobabel}{\@babelfalse}
+\DeclareOption{ams}{\@amstrue}
+\DeclareOption{noams}{\@amsfalse}
+\DeclareOption{autotitle}{\@autotitletrue}
+\DeclareOption{noautotitle}{\@autotitlefalse}
+\DeclareOption{ccsectioning}{\@ccsectioningtrue}
+\DeclareOption{noccsectioning}{\@ccsectioningfalse}
+\DeclareOption{natbib}{\@natbibtrue\@cccitefalse}
+\DeclareOption{nonatbib}{\@natbibfalse\@cccitefalse}
+\DeclareOption{cccite}{\@natbibfalse\@cccitetrue}
+\DeclareOption{nocccite}{\@natbibfalse\@cccitefalse}
+\DeclareOption{manualbibliography}{\@manualbibliographytrue}
+\DeclareOption{twocolumnbibliography}{\@twocolumnbibliographytrue}
+\DeclareOption{onecolumnbibliography}{\@twocolumnbibliographyfalse}
+\DeclareOption{twocolumnendtitle}{\@twocolumnendtitletrue}
+\DeclareOption{onecolumnendtitle}{\@twocolumnendtitlefalse}
+\DeclareOption{nosort}{%
+ \def\@natbibsort{}}
+\DeclareOption{sort}{%
+ \def\@natbibsort{\PassOptionsToPackage{sort}{natbib}}}
+\DeclareOption{compress}{%
+ \def\@natbibsort{\PassOptionsToPackage{compress}{natbib}}}
+\DeclareOption{sort&compress}{%
+ \def\@natbibsort{\PassOptionsToPackage{sort&compress}{natbib}}}
+\DeclareOption{cctheorems}{\@cctheoremstrue\@standardtheoremstrue}
+\DeclareOption{cctheorems+separatelycounted}{%
+ \@cctheoremstrue\@standardtheoremsfalse}
+\DeclareOption{nocctheorems}{\@cctheoremsfalse}
+\DeclareOption{separateequationcounting}{\@ccnosepeqncntfalse}
+\DeclareOption{noseparateequationcounting}{\@ccnosepeqncnttrue}
+\DeclareOption{ccalgorithms}{\@ccalgotrue}
+\DeclareOption{noccalgorithms}{\@ccalgofalse}
+\DeclareOption{theoremitemprefixes}{%
+ \PassOptionsToPackage{\CurrentOption}{ccthm}}
+\DeclareOption{notheoremitemprefixes}{%
+ \PassOptionsToPackage{\CurrentOption}{ccthm}}
+\DeclareOption{enhancedprefixes}{% old
+ \PassOptionsToPackage{theoremitemprefixes}{ccthm}}
+\DeclareOption{standardprefixes}{% old
+ \PassOptionsToPackage{notheoremitemprefixes}{ccthm}}
+\DeclareOption{ccpublish}{\@ccpublishtrue}
+\DeclareOption{noccpublish}{\@ccpublishfalse\ExecuteOptions{textarea=none}}
+\DeclareOption{textarea=full}{\@textareaversion\m@ne}
+\DeclareOption{textarea=none}{\@textareaversion\z@}
+\DeclareOption{textarea=cc1}{\@textareaversion\@ne}
+\DeclareOption{textarea=cc2}{\@textareaversion\tw@}
+\DeclareOption{textarea=cc}{\@cctextareatrue}
+\DeclareOption{cctextarea}{\@cctextareatrue}
+\DeclareOption{nocctextarea}{\@cctextareafalse}
+\DeclareOption{noothermargins}{\@marginmode\m@ne}
+\DeclareOption{classicalmargins}{\@marginmode\z@}
+\DeclareOption{printmargins}{\@marginmode\@ne}
+\DeclareOption{balancedmargins}{\@marginmode\tw@}
+\DeclareOption{10pt}{\def\@ccptsize{10}}
+\DeclareOption{11pt}{\def\@ccptsize{11}}
+\DeclareOption{12pt}{\def\@ccptsize{12}}
+\DeclareOption{a4paper}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{a5paper}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{b5paper}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{letterpaper}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{legalpaper}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{executivepaper}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{landscape}{\@cctextareafalse%
+ \PassOptionsToClass{\CurrentOption}{article}}
+\DeclareOption{oneside}{\@twosidefalse}
+\DeclareOption{twoside}{\@twosidetrue}
+\DeclareOption{leqno}{%
+ \PassOptionsToClass{\CurrentOption}{article}%
+ \PassOptionsToPackage{\CurrentOption}{amsmath}%
+ }
+\DeclareOption{reqno}{%
+ \PassOptionsToClass{\CurrentOption}{article}%
+ \PassOptionsToPackage{\CurrentOption}{amsmath}%
+ }
+\DeclareOption*{\OptionNotUsed
+ \PassOptionsToClass{\CurrentOption}{article}}
+\ifclass
+\ExecuteOptions{a4paper,12pt,cctextarea,twoside,%
+ OT1,nolatin1,nobabel,%
+ localnumbering,bare,%
+ leqno,ams,ccpublish,cclayout,autotitle,ccsectioning,%
+ onecolumnbibliography,twocolumnendtitle,natbib,sort&compress,%
+ cctheorems,theoremitemprefixes,noseparateequationcounting,%
+ ccalgorithms}
+\else
+\ExecuteOptions{a4paper,12pt,nocctextarea,balancedmargins,twoside,%
+ OT1,nolatin1,nobabel,%
+ localnumbering,bare,%
+ leqno,ams,noccpublish,nocclayout,noautotitle,ccsectioning,%
+ onecolumnbibliography,twocolumnendtitle,natbib,sort&compress,%
+ cctheorems,theoremitemprefixes,noseparateequationcounting,%
+ ccalgorithms}
+\fi
+\ProcessOptions*
+\PassOptionsToClass{\@ccptsize pt}{article}
+\if@twoside
+\PassOptionsToClass{twoside}{article}
+\else
+\PassOptionsToClass{oneside}{article}
+\fi
+\let\@ccptsize\@undefined
+\@natbibsort
+\let\@natbibsort\@undefined
+\if@standardtheorems\else
+ \ClassWarning{cc}{You are using the non documented
+ feature\MessageBreak
+ cctheorems+separatelycounted.\MessageBreak
+ It is recommended not to use this.}
+\fi
+\newcommand{\cc}{\textsf{computational complexity}}
+\ifclass
+\LoadClass{article}[1999/01/07 v1.4a]
+\fi
+\if@Tone
+\RequirePackage[T1]{fontenc}
+\fi
+\@pass@ptions\@pkgextension{}{german}
+\global\expandafter\let\csname ver@german.\@pkgextension\endcsname\@empty
+\if@babel
+\RequirePackage{babel}[2008/07/06 v3.8l]
+\fi
+\if@utfviii
+\RequirePackage[utf8]{inputenc}[2008/03/30 v1.1d]
+\else\if@latin
+\RequirePackage[latin1]{inputenc}[2008/03/30 v1.1d]
+\fi\fi
+\if@ams
+\RequirePackage{amsmath}[2000/01/15 v2.05]% 1997/03/20 v1.2d
+\RequirePackage{amsfonts}[1997/09/17 v2.2e]
+\RequirePackage{amssymb}[1996/11/03 v2.2b]
+\else
+\newcommand{\numberwithin}[3][\arabic]{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}{%
+ \@ifundefined{c@#3}{\@nocnterr{#3}}{%
+ \@addtoreset{#2}{#3}%
+ \expandafter\xdef\csname the#2\endcsname{%
+ \expandafter\noexpand\csname the#3\endcsname%
+ .\noexpand#1{#2}}}}%
+}
+\let\@ifempty\cc@ifempty
+\let\@ifnotempty\cc@ifnotempty
+\let\bigstar\bullet
+\let\lozenge\circ
+\def\square{{\fboxsep.3em{\vbox{\hbox{\fbox{}}\vskip0pt}}}}%
+\let\text\mbox
+\fi
+\RequirePackage{url}[2006/04/12 ver 3.3]
+\expandafter\def\expandafter\UrlSpecials\expandafter{%
+ \UrlSpecials\do\%{}}
+\providecommand{\email}{\begingroup\urlstyle{tt}\Url}
+\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url}
+\providecommand{\ixpt}{\@setfontsize\ixpt\@ixpt{11}}
+\newcommand{\xptsfbx}{%
+ \@setfontsize\xpt\@xpt{12}\usefont{OT1}{cmss}{bx}{n}}
+\DeclareTextFontCommand{\textsfbx}{\usefont{OT1}{cmss}{bx}{n}}
+\if@cclayout
+\RequirePackage{cclayout}
+\else
+\newskip\headerindent \headerindent=10mm
+\newdimen\headrulewidth \headrulewidth.4pt
+\def\cctitlehead{}
+\def\ccauthorhead{}
+\let\ps@ccfirst\ps@empty
+\def\ps@cc{\let\@mkboth\markboth
+ \def\@oddhead{\vbox{\hbox to\textwidth{\reset@font\strut
+ \null
+ \hfil
+ {\small\cctitlehead}%
+ \hbox to\headerindent{\hfil\thepage}%
+ }%
+ \if@ccpublish\else
+ \kern2.6\p@
+ \hrule\@height\headrulewidth\kern-\headrulewidth
+ \kern-2.6\p@
+ \fi
+ \vskip\z@
+ }%
+ }%
+ \def\@oddfoot{}
+ \def\@evenhead{\vbox{\hbox to\textwidth{\reset@font\strut
+ \hbox to\headerindent{\thepage\hfil}%
+ {\small\ccauthorhead}%
+ \hfil
+ \null
+ }%
+ \if@ccpublish\else
+ \kern2.6\p@
+ \hrule\@height\headrulewidth\kern-\headrulewidth
+ \kern-2.6\p@
+ \fi
+ \vskip\z@
+ }%
+ }%
+ \let\@evenfoot\@oddfoot
+ }
+\fi%@cclayout
+\if@ccsectioning
+\def\@seccntformat#1{\csname the#1\endcsname.\enskip}
+\renewcommand{\section}{\@startsection{section}{1}{\z@}%
+ {-2.9ex\@plus-.5ex\@minus-.2ex}%
+ {1.5ex\@plus.5ex\@minus.2ex}%
+ {\normalfont\large\bfseries\centering}}
+\def\opt@fullstop#1{#1{\has@fullstop#1.\@@@
+\if@tempswa\else
+\has@exlamationmark#1!\@@@
+\if@tempswa\else
+\has@questionmark#1?\@@@
+\if@tempswa\else
+.\fi
+\fi
+\fi}}
+\def\has@fullstop#1.#2\@@@{\@ifempty{#2}{\@tempswafalse}{\@tempswatrue}}
+\def\has@exlamationmark#1!#2\@@@{\@ifempty{#2}{\@tempswafalse}{\@tempswatrue}}
+\def\has@questionmark#1?#2\@@@{\@ifempty{#2}{\@tempswafalse}{\@tempswatrue}}
+\def\dot@sect#1#2#3#4#5#6[#7]#8{%
+ \let\@sect\ccorg@sect\let\@ssect\ccorg@ssect
+ \@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\opt@fullstop{#8}}}
+\def\dot@ssect#1#2#3#4#5{%
+ \let\@sect\ccorg@sect\let\@ssect\ccorg@ssect
+ \@ssect{#1}{#2}{#3}{#4}{\opt@fullstop{#5}}}
+\def\add@dot{%
+ \let\ccorg@sect\@sect\let\ccorg@ssect\@ssect
+ \let\@sect\dot@sect\let\@ssect\dot@ssect}
+\renewcommand{\subsection}{%
+ \add@dot
+ \@startsection{subsection}{2}{\z@}%
+ {2.33ex\@plus.5ex\@minus.2ex}% was 12pt +-
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+\renewcommand{\subsubsection}{%
+ \add@dot
+ \@startsection{subsubsection}{3}{\z@}%
+ {1.55ex\@plus.5ex\@minus.2ex}% was 8pt +-
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+\fi%@ccsectioning
+\if@natbib
+\RequirePackage{cc2cite}
+\if@manualbibliography
+\bibstyle@plain%\bibpunct{[}{]}{;}{n}{}{,}
+\fi
+\else%@natbib
+\if@cccite
+\RequirePackage{cccite}
+\renewcommand{\thebibliography}[1]{%
+ \condbreak{8ex}%
+ \section*{\refname
+ \addcontentsline{toc}{section}{\refname}%
+ \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
+ \vskip-\lastskip
+ \list{[\@arabic\c@enumiv] }%
+ {%
+ \labelwidth\z@
+ \labelsep\z@
+ \leftmargin\z@
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}%
+ }%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000
+ \sfcode`\.\@m
+ \bibfont}
+\let\bibfont\small
+\CheckCommand*\@bibitem[1]{\item\if@filesw \immediate\write\@auxout
+ {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
+\def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
+ {\string\bibcite{#1}{[\the\value{\@listctr}]}}\fi\ignorespaces}
+\else
+ \relax
+\fi%@cccite
+\fi%@natbib
+\if@twocolumnbibliography
+\RequirePackage{multicol}
+\newenvironment{nthebibliography}{%
+ \footnotesize
+ \let\bibfont\footnotesize
+ \let\section\subsubsection
+ \begin{multicols}2
+ \othebibliography}
+ {%
+ \vfill\vfill\vfill\vfill
+ \endothebibliography
+ \end{multicols}}
+\AtBeginDocument{%
+ \let\othebibliography\thebibliography
+ \let\endothebibliography\endthebibliography
+ \let\thebibliography\nthebibliography
+ \let\endthebibliography\endnthebibliography}
+\fi
+\RequirePackage{ccref}
+\if@cctheorems
+\RequirePackage{ccthm}
+\RequirePackage{ccproof}
+\fi
+\if@ccalgo
+\RequirePackage{ccalgo}
+\fi
+\let\orig@newtheorem\newtheorem
+\def\newtheorem{%
+ \ClassWarning{cc}{You should not use newtheorem.\MessageBreak
+ See Section 3.1 of the documentation.}%
+ \orig@newtheorem}
+\babel\def\ccacknowledgementsname{Acknowledgements}[%
+ german=Danksagung,french=Remerciements]
+\newif\if@ccack \@ccacktrue% usually acknowledgements are not required
+\AtEndDocument{%
+ \if@ccack\else
+ \ClassError{cc}{Missing acknowledgements}
+ {You must use either\MessageBreak
+ \protect\begin{acknowledge} ... \protect\end{acknowledge}\MessageBreak
+ or \protect\noacknowledge.}%
+ \fi
+}
+\newenvironment{acknowledge}{%
+ \section*{\ccacknowledgementsname}%
+ \addcontentsline{toc}{section}{\ccacknowledgementsname}%
+}{%
+ \noacknowledge
+}
+\newcommand{\noacknowledge}{%
+ \ifKV@ccsps@openaccess\if@ccack\else%
+ \noindent{\small\@octxt\par}%
+ \fi\fi%
+ \global\@ccacktrue
+}%
+\def\@octxt{}%
+\def\openchoicetext#1{\gdef\@octxt{\paragraph{Open Access.} #1}}%
+\openchoicetext{This article is distributed under the terms of the
+ Creative Commons Attribution Noncommercial License which permits any
+ noncommercial use, distribution, and reproduction in any medium,
+ provided the original author(s) and source are credited.}%
+\def\labelitemi{$\circ$}
+\def\footnoterule{\kern-3\p@\hrule\@width18mm\kern 2.6\p@}
+\let\ccorg@include\include
+\newwarning{warn@include}{Note that \protect\include\space is equivalent
+ to \protect\input\space.}
+\renewcommand{\include}{%
+ \if@ccpublish
+ \ccClassWarning{warn@include}%
+ \let\next\input
+ \else
+ \let\next\ccorg@include
+ \fi
+ \next}
+\endinput
+%%
+%% End of file `cc.cls'.
+\end{filecontents*}
+\begin{filecontents*}{cc-cls.sty}
+%%
+%% This is file `cc-cls.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccsty,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\input{cc.cls}
+\endinput
+%%
+%% End of file `cc-cls.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc2cite.sty}
+%%
+%% This is file `cc2cite.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc2cite,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc2cite}[2000/02/29 v2.05 cc2 cite helper package]
+\RequirePackage{natbib}[2010/09/13 8.31b]
+\bibpunct{(}{)}{;}{a}{}{,}
+\newcommand{\bibstyle@cc}{\bibpunct{(}{)}{;}{a}{}{,}}
+\expandafter\def\csname bibstyle@cc2\endcsname{%
+ \bibpunct{(}{)}{;}{a}{}{,}}
+\let\bibfont\small
+\bibhang\z@
+\providecommand{\newwarning}[2]{%
+ \expandafter\gdef\csname cc@warn@#1\endcsname{#2}}
+\providecommand{\ccClassWarning}[1]{%
+ \ClassWarning{cc}{\csname cc@warn@#1\endcsname}}
+\newwarning{old@citemul}{%
+ The command \protect\citemul\space is obsolete.
+ Use \protect\citet\space instead.\MessageBreak
+ Please read the documentation
+ of the package `natbib.sty'}
+\newwarning{old@parencite}{%
+ The command \protect\parencite\space is obsolete.
+ Use \protect\citep\space instead.\MessageBreak
+ Please read the documentation
+ of the package `natbib.sty'}
+\newwarning{old@shortcite}{%
+ The command \protect\shortcite\space is obsolete.
+ Use \protect\citealt\space instead.\MessageBreak
+ Please read the documentation
+ of the package `natbib.sty'}
+\def\citemul{\ccClassWarning{old@citemul}\citet}
+\def\parencite{\ccClassWarning{old@parencite}\citep}
+\def\shortcite{\ccClassWarning{old@shortcite}\citealt}
+\RequirePackage{ccdbs}
+\DefaultBibliographyStyle{cc2}
+\endinput
+%%
+%% End of file `cc2cite.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4amsart.sty}
+%%
+%% This is file `cc4amsart.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4amsart,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4amsart}[2009/12/22 v2.05b
+ computational complexity, adaptions to amsart.
+ Michael Nuesken, Bonn.]
+\RequirePackage{ccaux}
+\RequirePackage{ccreltx}
+\PassOptionsToPackage{bare}{relabel}
+\RequirePackage{thcc}
+\gdef\theorem@headerfont{\bfseries}
+\@longarticletrue
+\RequirePackage{ccthm}
+\babel\def\ccacknowledgementsname{Acknowledgements}[%
+ german=Danksagung,french=Remerciements]
+\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{}
+\RequirePackage{relabel}
+\RequirePackage{cc2cite}
+\RequirePackage{ccqed}
+\AtBeginDocument{\@adjustnumbering}
+\endinput
+%%
+%% End of file `cc4amsart.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4apjrnl.sty}
+%%
+%% This is file `cc4apjrnl.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4apjrnl,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4apjrnl}[2002/01/08 v2.05
+ computational complexity, adaptions to apjrnl.
+ Michael Nuesken, Bonn.]
+\let\answer\relax
+\let\endanswer\relax
+\RequirePackage{amsmath}[1997/03/20 v1.2d]
+\RequirePackage{amsfonts}[1997/09/17 v2.2e]
+\RequirePackage{amssymb}[1996/11/03 v2.2b]
+\RequirePackage{ccaux}
+\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's definitions.
+\@longarticletrue
+\@adjustnumbering
+\let\theorem@style\@undefined
+\RequirePackage{ccthm}
+\RequirePackage{ccqed}
+\let\proof\@undefined
+\let\endproof\@undefined
+\RequirePackage{ccproof}
+\RequirePackage{cc2cite}
+\RequirePackage{url}[1999/03/02 ver 1.4]
+\expandafter\def\expandafter\UrlSpecials\expandafter{%
+ \UrlSpecials\do\%{}}
+\providecommand{\email}{\begingroup\urlstyle{tt}\Url}
+\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url}
+\gdef\theorem@headerfont{\scshape\null\hskip\parindent}
+\gdef\Proof{\textit{Proof}}
+\renewcommand{\qedsymbol}{\rule{2pt}{4pt}}
+\endinput
+%%
+%% End of file `cc4apjrnl.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4elsart.sty}
+%%
+%% This is file `cc4elsart.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4elsart,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4elsart}[2009/12/22 v2.05b
+ computational complexity, adaptions to elsart.
+ Michael Nuesken, Bonn.]
+\RequirePackage{ccaux}
+\RequirePackage{ccreltx}
+\PassOptionsToPackage{bare}{relabel}
+\RequirePackage{thcc}
+\@longarticletrue
+\let\claim\relax
+\let\fact\relax
+\let\note\relax
+\let\proof\relax\let\endproof\relax
+\RequirePackage{ccthm}
+\RequirePackage{ccproof}
+\RequirePackage{ccqed}
+\babel\def\ccacknowledgementsname{Acknowledgements}[%
+ german=Danksagung,french=Remerciements]
+\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{}
+\RequirePackage{relabel}
+\babel\def\partname{Part}[german=Teil,french=\protect\@Fpt partie]
+\defprefix{part}{\partname~}
+\babel\def\chaptername{Chapter}[german=Kapitel,french=Chapitre]
+\defprefix{chapter}{\chaptername~}
+\babel\def\sectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{section}{\sectionname~}
+\babel\def\subsectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{subsection}{\subsectionname~}
+\babel\def\subsubsectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{subsubsection}{\subsubsectionname~}
+\let\ccorg@appendix\appendix
+\babel\def\appendixname{Appendix}[german=Anhang,french=Annexe]
+\def\appendix{%
+ \defprefix{section}{\appendixname~}%
+ \defprefix{subsection}{\appendixname~}%
+ \defprefix{subsubsection}{\appendixname~}%
+ \ccorg@appendix}
+\defprefix{equation}#1{(#1)}
+\babel\def\figurename{Figure}[german=Figur,french={\scshape Figure}]
+\defprefix{figure}{\figurename~}
+\babel\def\tablename{Table}[german=Tafel,french={\scshape Table}]
+\defprefix{table}{\tablename~}
+\RequirePackage{amsmath}[2000/01/15 v2.05]% 1997/03/20 v1.2d
+\RequirePackage{amsfonts}[1997/09/17 v2.2e]
+\RequirePackage{amssymb}[1996/11/03 v2.2b]
+\numberallwithin{section}
+\AtBeginDocument{\@adjustnumbering}
+\endinput
+%%
+%% End of file `cc4elsart.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4jT.sty}
+%%
+%% This is file `cc4jT.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4jT,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4jT}[2002/01/08 v2.05
+ computational complexity, adaptions to jT which uses amsart.
+ Michael Nuesken, Bonn.]
+\RequirePackage{ccaux}
+\RequirePackage{ccreltx}
+\PassOptionsToPackage{bare}{relabel}
+\RequirePackage{thcc}
+\gdef\theorem@headerfont{\bfseries}
+\@longarticletrue
+\let\proof\relax\let\endproof\relax
+\RequirePackage{ccthm}
+\RequirePackage{ccproof}
+\RequirePackage{ccqed}
+\babel\def\ccacknowledgementsname{Acknowledgements}[%
+ german=Danksagung,french=Remerciements]
+\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{}
+\RequirePackage{relabel}
+\babel\def\partname{Part}[german=Teil,french=\protect\@Fpt partie]
+\defprefix{part}{\partname~}
+\babel\def\chaptername{Chapter}[german=Kapitel,french=Chapitre]
+\defprefix{chapter}{\chaptername~}
+\babel\def\sectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{section}{\sectionname~}
+\babel\def\subsectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{subsection}{\subsectionname~}
+\babel\def\subsubsectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{subsubsection}{\subsubsectionname~}
+\let\ccorg@appendix\appendix
+\babel\def\appendixname{Appendix}[german=Anhang,french=Annexe]
+\def\appendix{%
+ \defprefix{section}{\appendixname~}%
+ \defprefix{subsection}{\appendixname~}%
+ \defprefix{subsubsection}{\appendixname~}%
+ \ccorg@appendix}
+\defprefix{equation}#1{(#1)}
+\babel\def\figurename{Figure}[german=Figur,french={\scshape Figure}]
+\defprefix{figure}{\figurename~}
+\babel\def\tablename{Table}[german=Tafel,french={\scshape Table}]
+\defprefix{table}{\tablename~}
+\numberallwithin{section}
+\AtBeginDocument{\@adjustnumbering}
+\RequirePackage{cc2cite}
+\RequirePackage{url}
+\endinput
+%%
+%% End of file `cc4jT.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4llncs.sty}
+%%
+%% This is file `cc4llncs.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4llncs,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4llncs}[2002/10/01 v2.05
+ computational complexity, adaptions to llncs.
+ Michael Nuesken, Bonn.]
+\let\claim\relax \let\endclaim\relax
+\let\conjecture\relax \let\endconjecture\relax
+\let\corollary\relax \let\endcorollary\relax
+\let\counterexample\relax \let\endcounterexample\relax
+\let\definition\relax \let\enddefinition\relax
+\let\exercise\relax \let\endexercise\relax
+\let\fact\relax \let\endfact\relax
+\let\hypothesis\relax \let\endhypothesis\relax
+\let\lemma\relax \let\endlemma\relax
+\let\notation\relax \let\endnotation\relax
+\let\note\relax \let\endnote\relax
+\let\observation\relax \let\endobservation\relax
+\let\open\relax \let\endopen\relax
+\let\openquestion\relax \let\endopenquestion\relax
+\let\problem\relax \let\endproblem\relax
+\let\proposition\relax \let\endproposition\relax
+\let\question\relax \let\endquestion\relax
+\let\remark\relax \let\endremark\relax
+\let\result\relax \let\endresult\relax
+\let\theorem\relax \let\endtheorem\relax
+\let\thesis\relax \let\endthesis\relax
+\let\warning\relax \let\endwarning\relax
+\let\example\relax \let\endexample\relax
+\let\proof\relax \let\endproof\relax
+\RequirePackage{amsmath}[1997/03/20 v1.2d]
+\RequirePackage{amsfonts}[1997/09/17 v2.2e]
+\RequirePackage{amssymb}[1996/11/03 v2.2b]
+\RequirePackage{ccaux}
+\@longarticletrue
+\RequirePackage{ccreltx}
+\RequirePackage{ccref}
+\RequirePackage{ccthm,ccproof}
+\theoremheaderfont{\upshape\bfseries}
+\RequirePackage{ccalgo}
+\let\origthebibliography\thebibliography
+\let\origendthebibliography\endthebibliography
+\let\citeauthoryear\relax
+\RequirePackage{cc2cite}
+\let\thebibliography\origthebibliography
+\let\endthebibliography\origendthebibliography
+\RequirePackage{url}[1999/03/02 ver 1.4]
+\expandafter\def\expandafter\UrlSpecials\expandafter{%
+ \UrlSpecials\do\%{}}
+\providecommand{\email}{\begingroup\urlstyle{tt}\Url}
+\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url}
+\def\condbreak#1{%
+ \vskip 0pt plus #1%
+ \pagebreak[3]%
+ \vskip 0pt plus -#1%
+ \relax}
+\endinput
+%%
+%% End of file `cc4llncs.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4siamltex.sty}
+%%
+%% This is file `cc4siamltex.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4siamltex,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4siamltex}[2002/05/22 v2.05
+ computational complexity, adaptions to siamltex.
+ Michael Nuesken, Bonn.]
+
+\let\theorem\relax
+\let\endtheorem\relax
+\let\lemma\relax
+\let\endlemma\relax
+\let\corollary\relax
+\let\endcorollary\relax
+\let\proposition\relax
+\let\endproposition\relax
+\let\definition\relax
+\let\enddefinition\relax
+\let\proof\relax
+\let\endproof\relax
+
+\RequirePackage{amsmath}
+\RequirePackage{amsfonts}
+\RequirePackage{amssymb}
+\RequirePackage{ccaux}
+\RequirePackage{ccreltx}
+\RequirePackage{ccthm}
+\RequirePackage{relabel}
+\RequirePackage{cc2cite}
+\RequirePackage{ccproof}
+\renewcommand{\Proof}{\textit{Proof}}
+\renewcommand{\qedsymbol}{\vbox{\hrule height0.6pt\hbox{%
+ \vrule height1.3ex width0.6pt\hskip0.8ex
+ \vrule width0.6pt}\hrule height0.6pt
+ }}
+\RequirePackage{ccalgo}
+\babel\def\ccacknowledgementsname{Acknowledgements}[%
+ german=Danksagung,french=Remerciements]
+\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{}
+\RequirePackage{url}[1999/03/02 ver 1.4]
+\expandafter\def\expandafter\UrlSpecials\expandafter{%
+ \UrlSpecials\do\%{}}
+\providecommand{\email}{\begingroup\urlstyle{tt}\Url}
+\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url}
+\endinput
+%%
+%% End of file `cc4siamltex.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc4svjour.sty}
+%%
+%% This is file `cc4svjour.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cc4svjour,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cc4svjour}[2010/10/14 v2.15
+ computational complexity, adaptions to svjour3.
+ Michael Nuesken, Bonn.]
+\RequirePackage{ccaux}
+\RequirePackage{cc2cite}
+\RequirePackage{ccreltx}
+\PassOptionsToPackage{bare}{relabel}
+\RequirePackage{thcc}
+\gdef\theorem@headerfont{\bfseries}
+%% Deactivate svjour3's theorem definitions:
+\let\claim\relax \let\endclaim\relax
+\let\conjecture\relax \let\endconjecture\relax
+\let\corollary\relax \let\endcorollary\relax
+\let\counterexample\relax \let\endcounterexample\relax
+\let\definition\relax \let\enddefinition\relax
+\let\exercise\relax \let\endexercise\relax
+\let\fact\relax \let\endfact\relax
+\let\hypothesis\relax \let\endhypothesis\relax
+\let\lemma\relax \let\endlemma\relax
+\let\notation\relax \let\endnotation\relax
+\let\note\relax \let\endnote\relax
+\let\observation\relax \let\endobservation\relax
+\let\open\relax \let\endopen\relax
+\let\openquestion\relax \let\endopenquestion\relax
+\let\problem\relax \let\endproblem\relax
+\let\proposition\relax \let\endproposition\relax
+\let\question\relax \let\endquestion\relax
+\let\remark\relax \let\endremark\relax
+\let\result\relax \let\endresult\relax
+\let\theorem\relax \let\endtheorem\relax
+\let\thesis\relax \let\endthesis\relax
+\let\warning\relax \let\endwarning\relax
+\let\example\relax \let\endexample\relax
+\@longarticletrue
+\RequirePackage{ccthm}
+\babel\def\ccacknowledgementsname{Acknowledgements}[%
+ german=Danksagung,french=Remerciements]
+\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{}
+\RequirePackage{relabel}
+\RequirePackage{cc2cite}
+\RequirePackage{ccqed}
+\RequirePackage{amsmath}
+\RequirePackage{amsfonts}
+\RequirePackage{amssymb}
+\RequirePackage{url}
+\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url}
+\AtBeginDocument{\@adjustnumbering}
+\endinput
+%%
+%% End of file `cc4svjour.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccalgo.sty}
+%%
+%% This is file `ccalgo.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccalgo,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{ccalgo}[2012/06/22 v2.25
+ algorithm environment for cc. Michael Nuesken, Bonn.]
+\let\namedalgorithm\@undefined
+\let\endnamedalgorithm\@undefined
+\let\algorithm\@undefined
+\let\endalgorithm\@undefined
+{\def\algonumerate@item[#1]{%
+ \if@noparitem
+ \@donoparitem
+ \else
+ \if@inlabel
+ \indent \par
+ \fi
+ \ifhmode
+ \unskip\unskip \par
+ \fi
+ \if@newlist
+ \if@nobreak
+ \@nbitem
+ \else
+ \addpenalty\@beginparpenalty
+ \addvspace\@topsep
+ \addvspace{-\parskip}%
+ \fi
+ \else
+ \addpenalty\@itempenalty
+ \addvspace\itemsep
+ \fi
+ \global\@inlabeltrue
+ \fi
+ \everypar{%
+ \@minipagefalse
+ \global\@newlistfalse
+ \if@inlabel
+ \global\@inlabelfalse
+ {\setbox\z@\lastbox
+ \ifvoid\z@
+ \kern-\itemindent
+ \fi}%
+ \box\@labels
+ \penalty\z@
+ \fi
+ \if@nobreak
+ \@nobreakfalse
+ \clubpenalty \@M
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \if@noitemarg
+ \@noitemargfalse
+ \if@nmbrlist
+ \refstepcounter\@listctr
+ \fi
+ \fi
+ \sbox\@tempboxa{\makelabel{#1}}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \hskip \itemindent
+ \hskip -\labelwidth
+ \hskip -\labelsep
+ \ifdim \wd\@tempboxa >\labelwidth
+ \box\@tempboxa
+ \else
+ \hbox to\labelwidth {\unhbox\@tempboxa}%
+ \fi
+ \hskip \labelsep}%
+ \ignorespaces}
+\ifx\algonumerate@item\@item\else
+\PackageWarningNoLine{ccalgo}{%
+ Command \protect\@item\space has changed.\MessageBreak
+ Check if current package is valid}
+\fi}
+\RequirePackage{ccaux}
+\RequirePackage{theorem}[1995/11/23 v2.2c]
+\RequirePackage{thcc}
+\RequirePackage{relabel}
+\def\list@parshape{%
+ \parshape \@ne \@totalleftmargin \linewidth}
+\newdimen\reinit@list@last
+\def\reinit@list#1{%
+ \advance\itemindent\reinit@list@last
+ \advance\@totalleftmargin-\reinit@list@last
+ \advance\linewidth\reinit@list@last
+ \global\reinit@list@last#1\relax
+ \ifdim\reinit@list@last>\algonumerate@maxindent
+ \global\reinit@list@last\algonumerate@maxindent\fi
+ \advance\itemindent-\reinit@list@last
+ \advance\@totalleftmargin\reinit@list@last
+ \advance\linewidth-\reinit@list@last
+ \list@parshape}
+\def\reinit@list@label{%
+ \reinit@list{\wd\@tempboxa}%
+ }
+\newcommand{\makealgolabel}[1]{#1.}
+\newcommand{\makeoptalgolabel}[1]{(#1)}
+\let\makeoptalgocurrentlabel\makeoptalgolabel
+\newcounter{algonumerate}
+\defprefix{algonumerate}{}
+\newcount\algonumerate@items
+\renewcommand{\thealgonumerate}{%
+ \expandafter\ifnum\value{algonumerate}<\@ne
+ \algonumfield%
+ \else
+ \arabic{algonumerate}\fi}%
+\def\algonumfield{\ignorespaces
+ \ifx\@algonumfield\relax\else
+ \expandafter\@algonumfield\csname c@algonumerate\endcsname\fi
+ \unskip}
+\newif\if@speciallabel
+\newcommand{\labelalgonumerate}{%
+ \count@\value{algonumerate}%
+ \ifnum\count@<\z@
+ \algonumfield%
+ \else
+ \makealgolabel{\thealgonumerate}%
+ \fi
+ }%
+\newdimen\algo@labelsep
+\newdimen\steplabelwidth
+\newtoks\AtNextItem
+\newtoks\AtNextNumberedItem
+\newif\if@noitemargcopy
+\let\orig@item\item
+\def\item{\@ifnextchar[{\@noitemargcopyfalse\orig@item}{\@noitemargcopytrue\orig@item}}
+\newcount\last@algolabeltype
+\newcount\this@algolabeltype
+\newcommand{\algonumerate@label}[1]{%
+ \expandafter\count@\value{algonumerate}%
+ \if@noitemargcopy
+ \ifnum\count@<\z@
+ \let\next\algonumerate@labelautomatic
+ \global\last@algolabeltype\this@algolabeltype
+ \global\this@algolabeltype\m@ne
+ \else
+ \let\next\algonumerate@labelnumber
+ \global\last@algolabeltype\this@algolabeltype
+ \global\this@algolabeltype\@ne
+ \fi
+ \else
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \let\next\algonumerate@labelempty
+ \global\last@algolabeltype\this@algolabeltype
+ \global\this@algolabeltype\tw@
+ \else
+ \let\next\algonumerate@labelexplicit
+ \global\last@algolabeltype\this@algolabeltype
+ \global\this@algolabeltype\z@
+ \fi
+ \fi\next{#1}}
+\newcommand{\algonumerate@makelabelexplicit}[1]{%
+ #1:\hskip\algo@labelsep%
+}
+\newcommand{\algonumerate@makelabelempty}[1]{%
+ \hskip\steplabelwidth\hskip\algo@labelsep%
+}
+\newcommand{\algonumerate@makelabelautomatic}[1]{%
+ #1:\hskip\algo@labelsep%
+}
+\newcommand{\algonumerate@makelabelnumber}[1]{%
+ \hb@xt@\steplabelwidth{\hss
+ #1%
+ }\hskip\algo@labelsep%
+}
+\newcommand{\algonumerate@postprocess}[1]{%
+ \expandafter\count@\value{algonumerate}%
+ \ifnum\last@algolabeltype<\@ne
+ \ifnum\this@algolabeltype=\@ne
+ \medskip
+ \fi
+ \fi
+ #1%
+ \global\let\latest@item@currentlabel\@currentlabel
+ \global\let\latest@item@bare@currentlabel\@bare@currentlabel
+ \ifnum\count@=\m@ne
+ \stepcounter{algonumerate}%
+ \fi
+ \global\@speciallabeltrue
+ \the\AtNextItem \global\AtNextItem{}%
+ \ifnum\this@algolabeltype=\@ne
+ \the\AtNextNumberedItem \global\AtNextNumberedItem{}%
+ \fi
+ \reinit@list@label
+}
+\newcommand{\algonumerate@labelexplicit}[1]{% For algorithm i/o
+ \algonumerate@makelabelexplicit{#1}%
+ \global\let\algonumerate@global\global
+ \gdef\global{\algonumerate@global\let\global\algonumerate@global
+ \algonumerate@postprocess{%
+ \protected@edef\@currentlabel{\csname p@\@listctr\endcsname
+ {\makeoptalgocurrentlabel{#1}}}%
+ \protected@edef\@bare@currentlabel{#1}%
+ }%
+ \global}%
+}
+\newcommand{\algonumerate@labelempty}[1]{% For algorithm i/o
+ \algonumerate@makelabelempty{}%
+ \global\let\algonumerate@global\global
+ \gdef\global{\algonumerate@global\let\global\algonumerate@global
+ \algonumerate@postprocess{}%
+ \global}%
+}
+\newcommand{\algonumerate@labelautomatic}[1]{% For algorithm steps
+ \algonumerate@makelabelautomatic{#1}%
+ \global\let\algonumerate@global\global
+ \gdef\global{\algonumerate@global\let\global\algonumerate@global
+ \algonumerate@postprocess{%
+ \protected@edef\@currentlabel{\csname p@\@listctr\endcsname
+ {\makeoptalgocurrentlabel{#1}}}%
+ \protected@edef\@bare@currentlabel{#1}%
+ }%
+ \global}%
+}
+\newcommand{\algonumerate@labelnumber}[1]{% For algorithm steps
+ \algonumerate@makelabelnumber{#1}%
+ \global\let\algonumerate@global\global
+ \gdef\global{\algonumerate@global\let\global\algonumerate@global
+ \algonumerate@postprocess{}%
+ \global}%
+}
+\newdimen\algonumerate@maxindent
+\newdimen\@algolongestlabel
+\AtBeginDocument{\ifdim\algonumerate@maxindent=\z@
+ \algonumerate@maxindent.2\textwidth\fi}
+\def\algonumerateinit#1{%
+ \setcounter{algonumerate}{-1}%
+ \this@algolabeltype=\@M
+ \@algolongestlabel\z@
+ \def\@algonumfield{}%
+ \let\ccorg@or\or\let\or\relax
+ \algonumerate@items\z@
+ \@for\@tempa:=#1\do{%
+ \advance\algonumerate@items\@ne
+ \@temptokena\expandafter{\@tempa}%
+ \toks@\expandafter{\@algonumfield}%
+ \edef\@algonumfield{\the\@temptokena\or\the\toks@}%
+ \setbox\@tempboxa\hbox{\algonumerate@makelabelautomatic{\the\toks@}}%
+ \ifdim\wd\@tempboxa>\@algolongestlabel\relax
+ \@algolongestlabel\wd\@tempboxa\fi
+ }%
+ \let\or\ccorg@or
+ \toks@\expandafter{\@algonumfield}%
+ \edef\@algonumfield##1{\noexpand\ifcase-##1\noexpand\or
+ \the\toks@\noexpand\fi}%
+ }
+\newenvironment{algonumerate}{%
+ \if@inlabel~\fi\par
+ \list{\labelalgonumerate}{%
+ \usecounter{algonumerate}%
+ \let\makelabel\algonumerate@label
+ \parsep\z@%
+ \topsep\z@%
+ \itemsep\z@%
+ \parskip\z@%
+ \leftmargin\labelsep
+ \algo@labelsep\z@
+ \settowidth\steplabelwidth{\makealgolabel{99}}%
+ \labelwidth\z@
+ \global\reinit@list@last\z@
+ }%
+ \setcounter{algonumerate}{-\algonumerate@items}%
+ \ifnum\algonumerate@items>\z@
+ \addtocounter{algonumerate}\m@ne
+ \fi
+ \setcounter{block@cnt}\z@
+ \let\step\algo@step
+ \let\block\algo@block
+ \let\endblock\endalgo@block
+ \let\range\algo@range
+ \let\endrange\endalgo@range
+ \let\indention\algo@indention
+ \let\endindention\endalgo@indention
+ \let\body\algo@block
+ \let\endbody\endalgo@block
+ \let\meta\algo@meta
+ \let\endmeta\endalgo@meta
+ \def\skipremainingspecialitems{\setcounter{algonumerate}{0}}%
+ }{%
+ \endlist\vskip\topskip}
+\newdimen\blockindent \blockindent\parindent
+\newcounter{block@cnt}
+\newcommand{\nextblock}{%
+ \stepcounter{block@cnt}\edef\currentblock{\the\c@block@cnt}%
+ }
+\newif\if@trivialrange
+\newcommand{\refsetrange}[2]{%
+ {\shortlabeltrue
+ \let\index\relax
+ \let\@tempa\relax
+ \protected@edef\@tempa{%
+ \csname r@\the\algorithmmasterkey-#1\endcsname}%
+ \let\@tempc\relax
+ \protected@edef\@tempc{%
+ \csname r@\the\algorithmmasterkey-#2\endcsname}%
+ \ifx\@tempa\@tempc\global\@trivialrangetrue
+ \else\global\@trivialrangefalse\fi
+ }%
+ \if@trivialrange
+ \protected@edef\@currentlabel{}%
+ \else
+ \protected@edef\@currentlabel{%
+ \csname p@\@listctr\endcsname{%
+ \protect\short\protect\ref{\the\algorithmmasterkey-#1}%
+ --%
+ \protect\short\protect\ref{\the\algorithmmasterkey-#2}%
+ }}%
+ \fi
+ \protected@edef\@bare@currentlabel{%
+ \protect\bare\protect\ref{\the\algorithmmasterkey-#1}%
+ --%
+ \protect\bare\protect\ref{\the\algorithmmasterkey-#2}%
+ }%
+ }
+\newenvironment{algo@range}{%
+ \par
+ \stepcounter{block@cnt}\edef\block@{\the\c@block@cnt}%
+ \refsetrange{bob\block@}{eob\block@}%
+ \AtNextNumberedItem{\algolabel{bob\block@}}%
+ }{%
+ \algolabel{eob\block@}%
+ \par
+ \global\let\algo@block@currentlabel\@currentlabel
+ \global\let\algo@block@bare@currentlabel\@bare@currentlabel
+ \aftergroup\algo@endrange@aftergroup
+ }
+\def\algo@endrange@aftergroup{%
+ \let\@currentlabel\latest@item@currentlabel
+ \let\@bare@currentlabel\latest@item@bare@currentlabel
+ }
+\newdimen\indention@reinit@list@last
+\newenvironment{algo@indention}{%
+ \par
+ \indention@reinit@list@last\reinit@list@last
+ \advance\leftmargin\blockindent
+ \advance\labelsep\blockindent
+ \advance\@totalleftmargin\blockindent
+ \advance\linewidth-\blockindent
+ \def\algo@indention@undo{%
+ \reinit@list{\indention@reinit@list@last}%
+ \advance\leftmargin-\blockindent
+ \advance\labelsep-\blockindent
+ \advance\@totalleftmargin-\blockindent
+ \advance\linewidth\blockindent
+ }
+ \list@parshape
+ }{%
+ \par
+ \algo@indention@undo
+ \list@parshape
+ \aftergroup\list@parshape
+ \global\let\algo@block@currentlabel\@currentlabel
+ \global\let\algo@block@bare@currentlabel\@bare@currentlabel
+ \aftergroup\algo@endrange@aftergroup
+ }
+\newif\ifindented@block
+\newenvironment{algo@block}{%
+ \algo@indention
+ \algo@range}{%
+ \endalgo@range
+ \endalgo@indention
+ }
+\newdimen\meta@indent
+\newenvironment{algo@meta}{%
+ \@newlistfalse
+ \vskip\topskip
+ \par
+ \meta@indent\@totalleftmargin
+ \advance\labelsep-\meta@indent
+ \advance\@totalleftmargin-\meta@indent
+ \advance\linewidth\meta@indent
+ \advance\leftmargin-\meta@indent
+ \list@parshape
+ }{%
+ \vskip\topskip
+ \par
+ \advance\labelsep\meta@indent
+ \advance\@totalleftmargin\meta@indent
+ \advance\linewidth-\meta@indent
+ \advance\leftmargin\meta@indent
+ \aftergroup\list@parshape
+ }
+\newcommand{\algo@step}[2][]{%
+ \expandafter\ifnum\value{algonumerate}<\m@ne
+ \PackageError{ccalgo}{Missing \protect\item}{}%
+ \fi
+ \cc@ifempty{#1}{\item}{\item[#1]}%
+ \def\@tempa{#2}\ifx\@tempa\@empty\else\algolabel{#2}\fi%
+ }
+\newtoks\algotitle
+\theorembodyfont{}%
+\theoremstyle{ccalgonn}
+\newtheorem{named@lg@r@thm*}{\the\algotitle}
+\defprefix{named@lg@r@thm*}#1{\the\algotitle}
+\theoremstyle{ccalgo}
+\providecommand{\cc@thmcnter}{equation}
+\newtheorem{named@lg@r@thm}[\cc@thmcnter]{\the\algotitle}
+\defprefix{named@lg@r@thm}#1{\the\algotitle~#1}
+%%% \ifx\c@namedth@@r@m\@undefined\else
+%%% \let\c@named@lg@r@thm\c@namedth@@r@m
+%%% \let\thenamed@lg@r@thm\thenamedth@@r@m
+%%% \fi
+\babel\def\babelInput{Input}[german=Eingabe,french=Entr\'ee]
+\babel\def\babelOutput{Output}[german=Ausgabe,french=Sortie]
+\babel\def\babelstep{step}[german=Schritt,french=pas]%% ??? pas?
+\babel\def\babelStep{Step}[german=Schritt,french=Pas]%% ??? pas?
+\newtoks\algorithmmasterkey
+\newenvironment{namedalgorithm}[1]{%
+ \pagebreak[3]%
+ \defprefix{\cc@thmcnter}##1{\the\algotitle~##1}%
+ \def\algo@theorem{named@lg@r@thm}%
+ \algotitle{#1}%
+ \n@medalgorithm}
+{\endalgonumerate\csname end\algo@theorem\endcsname}
+\newenvironment{namedalgorithm*}[1]{%
+ \defprefix{\cc@thmcnter}##1{\the\algotitle}%
+ \def\algo@theorem{named@lg@r@thm*}%
+ \algotitle{#1}%
+ \n@medalgorithm}
+{\endalgonumerate\csname end\algo@theorem\endcsname}
+\newcommand{\n@medalgorithm}[1][\babelInput,\protect\babelOutput]{%
+ \algonumerateinit{#1}%
+ \n@m@d@lgorithmgetlongestlabel}
+\newcommand{\n@m@d@lgorithmgetlongestlabel}[1][]{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty\else
+ \setbox\@tempboxa\hbox{\algonumerate@makelabel{#1}}%
+ \ifdim\wd\@tempboxa>\@algolongestlabel\relax
+ \@algolongestlabel\wd\@tempboxa\fi
+ \fi
+ \n@m@d@lgorithmgetmasterkey
+}
+\newcommand{\n@m@d@lgorithmgetmasterkey}[1]{%
+ \algorithmmasterkey{#1}%
+ \edef\@tempa{\the\algorithmmasterkey}\ifx\@tempa\@empty
+ \PackageError{ccalgo}{Empty key for algorithm like environment}{}\fi%
+ \n@m@d@lgorithm
+}
+\newcommand{\n@m@d@lgorithm}[1][]{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty\csname\algo@theorem\endcsname
+ \else\csname\algo@theorem\endcsname[#1]\fi%
+ \label{\the\algorithmmasterkey}%
+ \defprefix{equation}##1{(##1)}% reset equation prefix
+ \algo@keywords
+ \defprefix{algonumerate}{%
+ \Iflabelchanged{\algo@theorem}{\uselabel{\algo@theorem} %
+ \ifnum\c@algonumerate>\z@ \babelstep~\fi}}%
+ \algonumerate
+ }%
+\def\algolabel#1{\label{\the\algorithmmasterkey-#1}}%
+\newcommand{\stepref}[2]{\babelStep~\short\ref{#1-#2} in \whole\ref{#1}}
+\newcommand{\newalgorithm}[2]{%
+ \def\newalgo@name{#1}%
+ \def\newalgo@title{#2}%
+ \n@walgorithm}
+\newcommand{\n@walgorithm}[1][\babelInput,\protect\babelOutput]{%
+ \protected@edef\@tempa{%
+ \noexpand\newenvironment{\newalgo@name}%
+ {\noexpand\namedalgorithm{\newalgo@title}[\noexpand#1]}%
+ {\noexpand\endnamedalgorithm}%
+ \noexpand\newenvironment{\newalgo@name*}%
+ {\noexpand\csname namedalgorithm*\endcsname
+ {\newalgo@title}[\noexpand#1]}%
+ {\noexpand\csname endnamedalgorithm*\endcsname}%
+ }\@tempa
+ }
+\babel\def\algorithmname{Algorithm}[%
+ german=Algorithmus,french=Algorithme]
+\newalgorithm{algorithm}{\protect\algorithmname}
+\def\algo@keywords{%
+ \def\keyword##1{\textsf{##1} \ignorespaces}%
+ \babel\def\FOR{\keyword{For}}[german=\keyword{F{\"{u}}r}]%
+ \babel\def\DO{\keyword{do}}[german=\keyword{erledige}]%
+ \babel\def\endFOR{}[]%
+ \babel\def\WHILE{\keyword{While}}[german=\keyword{Solange}]%
+ \babel\def\endWHILE{}[]%
+ \babel\def\REPEAT{\keyword{Repeat}}[german=\keyword{Wiederhole}]%
+ \babel\def\UNTIL{\keyword{Until}}[german=\keyword{Bis}]%
+ \babel\def\IF{\keyword{If}}[german=\keyword{Falls}]%
+ \babel\def\THEN{\keyword{then}}[german=\keyword{dann}]%
+ \babel\def\ELIF{\keyword{Else if}}[german=\keyword{Sonst wenn}]%
+ \babel\def\ELSE{\keyword{Else}}[german=\keyword{Sonst}]%
+ \babel\def\endIF{}[]%
+ \babel\def\CALL{\keyword{Call}}[german=\keyword{Rufe}]%
+ \babel\def\RETURN{\keyword{Return}}[german=\keyword{Antworte}]%
+ \def\@tempa{nohyphenation}\ifx\languagename\@tempa\else%
+ \expandafter\selectlanguage\expandafter{\languagename}\fi%
+ \def\COMMENT##1{$\{$ ##1 $\}$}%
+ }
+\newcommand{\optitem}[1]{%
+ \cc@ifempty{#1}{\if@inlabel\par\else\item\fi}{\item[#1]}%
+ }
+\newcommand{\algoprettify}[3]{%
+ \setbox2\hbox{#1}%
+ \setbox4\hbox{#2}%
+ \setbox6\hbox{#3}%
+ \setbox0\hbox{\unhcopy2\unhcopy4{ }\unhcopy6}%
+ \ifdim\wd0<\linewidth
+ \unhbox0
+ \else
+ \dimen0=\linewidth \advance\dimen0 by -\wd2
+ \unhbox2\parbox[t]{\dimen0}{#2\strut}\par\list@parshape\unhbox6
+ \fi
+ }
+\newenvironment{ifblock}[2][]
+{%
+ \optitem{#1}%
+ \nextblock
+ \algolabel{if\currentblock}%
+ \algoprettify{\IF}{#2}{\THEN}
+ \indention
+ \refsetrange{if\currentblock}{endif\currentblock}%
+ }
+{%
+ \algolabel{endif\currentblock}%
+ \endindention}
+\newenvironment{elifblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\ELIF}{#2}{\THEN}
+ \algolabel{elif\currentblock}%
+ \indention
+ \refsetrange{elif\currentblock}{endelif\currentblock}%
+ }{%
+ \algolabel{endelif\currentblock}%
+ \endindention}
+\newenvironment{elseblock}[1][]{%
+ \optitem{#1}%
+ \nextblock
+ \ELSE%
+ \algolabel{else\currentblock}%
+ \indention
+ \refsetrange{else\currentblock}{endelse\currentblock}%
+ }{%
+ \algolabel{endelse\currentblock}%
+ \endindention}
+\newenvironment{forblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\FOR}{#2}{%
+ \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}%
+ \algolabel{for\currentblock}%
+ \block\algolabel{body\currentblock}%
+ \refsetrange{for\currentblock}{endfor\currentblock}%
+ }{%
+ \algolabel{endfor\currentblock}%
+ \endblock}
+\newenvironment{whileblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\WHILE}{#2}{%
+ \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}%
+ \algolabel{while\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{while\currentblock}{endwhile\currentblock}%
+ }{%
+ \algolabel{endwhile\currentblock}%
+ \endblock}
+\newenvironment{untilblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\UNTIL}{#2}{%
+ \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}%
+ \algolabel{until\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{until\currentblock}{enduntil\currentblock}%
+ }{%
+ \algolabel{enduntil\currentblock}%
+ \endblock}
+\newenvironment{blockuntil}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \def\repeat@cond{#2}%
+ \REPEAT \short\ref{\the\algorithmmasterkey-body\currentblock}%
+ \algolabel{repeat\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{repeat\currentblock}{endrepeat\currentblock}%
+ }{%
+ \endblock
+\item
+ \algolabel{endrepeat\currentblock}%
+ \algoprettify{\UNTIL}{\repeat@cond}{}}
+\newenvironment{blockwhile}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \def\repeat@cond{#2}%
+ \REPEAT \short\ref{\the\algorithmmasterkey-body\currentblock}%
+ \algolabel{repeat\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{repeat\currentblock}{endrepeat\currentblock}%
+ }{%
+ \endblock
+\item
+ \algolabel{endrepeat\currentblock}%
+ \algoprettify{\WHILE}{\repeat@cond}{}}
+\endinput
+%%
+%% End of file `ccalgo.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccaux.sty}
+%%
+%% This is file `ccaux.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccaux,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{ccaux}[2008/03/18 v2.08
+ computational complexity, auxiliaries.
+ Michael Nuesken, Bonn.]
+\newif\if@longarticle \@longarticletrue
+\newif\if@cclayout \@cclayouttrue
+\newif\if@Tone \@Tonetrue
+\newif\if@latin \@latintrue
+\newif\if@utfviii \@utfviiifalse
+\newif\if@babel \@babelfalse
+\newif\if@ams \@amstrue
+\newif\if@autotitle \@autotitletrue
+\newif\if@ccsectioning \@ccsectioningtrue
+\newif\if@cccite \@cccitefalse
+\newif\if@natbib \@natbibtrue
+\newif\if@manualbibliography \@manualbibliographyfalse
+\newif\if@twocolumnbibliography \@twocolumnbibliographyfalse
+\newif\if@twocolumnendtitle \@twocolumnendtitletrue
+\newif\if@cctheorems \@cctheoremstrue
+\newif\if@standardtheorems \@standardtheoremstrue
+\newif\if@ccnosepeqncnt \@ccnosepeqncnttrue
+\newif\if@ccalgo \@ccalgotrue
+\newif\if@theoremitemprefixes \@theoremitemprefixestrue
+\newif\if@ccpublish \@ccpublishfalse
+\newcount\@textareaversion
+\expandafter\def\csname if@cctextarea\endcsname{\ifnum\@textareaversion>0}
+\def\@cctextareafalse{\@textareaversion\z@}
+\def\@cctextareatrue{\@textareaversion\tw@}
+\@cctextareatrue
+\newcount\@marginmode \@marginmode\m@ne
+\def\numberallwithin#1{\gdef\cc@numberingtoplevel{#1}}
+\def\@adjustnumbering{%
+ \if@longarticle
+ \numberwithin{equation}\cc@numberingtoplevel
+ \numberwithin{figure}\cc@numberingtoplevel
+ \numberwithin{table}\cc@numberingtoplevel
+ \if@cctheorems\if@standardtheorems\else
+ \numberwithin{answer}\cc@numberingtoplevel
+ \numberwithin{assumption}\cc@numberingtoplevel
+ \numberwithin{claim}\cc@numberingtoplevel
+ \numberwithin{conjecture}\cc@numberingtoplevel
+ \numberwithin{convention}\cc@numberingtoplevel
+ \numberwithin{corollary}\cc@numberingtoplevel
+ \numberwithin{counterexample}\cc@numberingtoplevel
+ \numberwithin{definition}\cc@numberingtoplevel
+ \numberwithin{exercise}\cc@numberingtoplevel
+ \numberwithin{fact}\cc@numberingtoplevel
+ \numberwithin{hypothesis}\cc@numberingtoplevel
+ \numberwithin{lemma}\cc@numberingtoplevel
+ \numberwithin{notation}\cc@numberingtoplevel
+ \numberwithin{note}\cc@numberingtoplevel
+ \numberwithin{observation}\cc@numberingtoplevel
+ \numberwithin{open}\cc@numberingtoplevel
+ \numberwithin{openquestion}\cc@numberingtoplevel
+ \numberwithin{problem}\cc@numberingtoplevel
+ \numberwithin{proposition}\cc@numberingtoplevel
+ \numberwithin{question}\cc@numberingtoplevel
+ \numberwithin{remark}\cc@numberingtoplevel
+ \numberwithin{result}\cc@numberingtoplevel
+ \numberwithin{theorem}\cc@numberingtoplevel
+ \numberwithin{thesis}\cc@numberingtoplevel
+ \numberwithin{warning}\cc@numberingtoplevel
+ \numberwithin{exampleexample}\cc@numberingtoplevel
+ \fi\fi
+\fi}
+\numberallwithin{section}% redo this in the preamble, if necessary
+\newcommand{\newwarning}[2]{%
+ \expandafter\gdef\csname cc@warn@#1\endcsname{#2}%
+ \expandafter\def\csname cc@warncount@#1\endcsname{0}}
+\newcommand{\ccClassWarning}[1]{%
+ \@ifundefined{cc@warn@#1}{%
+ \ClassWarning{cc}{Undefined warning.\MessageBreak
+ This should never occur.
+ Please inform nuesken@bit.uni-bonn.de .}%
+ }{}%
+ \expandafter\ifcase\csname cc@warncount@#1\endcsname\relax
+ \ClassWarning{cc}{\csname cc@warn@#1\endcsname.\MessageBreak
+ Possible further occurencies of this warning will be\MessageBreak
+ collected until the end of the document.\MessageBreak
+ This one was}%
+ \or
+ \AtEndDocument{%
+ \ClassWarningNoLine{cc}{Repeated warning collected \csname
+ cc@warncount@#1\endcsname\space times:\MessageBreak
+ \csname cc@warn@#1\endcsname}%
+ }%
+ \else
+ \fi
+ \expandafter\count@=0\csname cc@warncount@#1\endcsname\relax
+ \advance\count@\@ne
+ \expandafter\xdef\csname cc@warncount@#1\endcsname{\the\count@}%
+ }
+\newcommand{\cc@addto}[2]{%
+ \expandafter\ccaddto\expandafter{\csname
+ cc@\string#1\endcsname}{#2}{#1}}
+\providecommand{\addto}[2]{%
+ \expandafter\ccaddto\expandafter{\csname
+ cc@\string#1\endcsname}{#2}{#1}}
+\newcommand{\ccaddto}[3]{%
+ \ifx#1\@undefined
+ \gdef#1{#2}%
+ \AtBeginDocument{\expandafter\ccaddtonow\expandafter{#1}#3}%
+ \else
+ \ifx#1\relax
+ \gdef#1{#2}%
+ \AtBeginDocument{\expandafter\ccaddtonow\expandafter{#1}#3}%
+ \else
+ {\toks@\expandafter{#1#2}%
+ \xdef#1{\the\toks@}}%
+ \fi
+ \fi
+}
+\newcommand{\ccaddtoINDOC}[3]{%
+ \ifx#1\@undefined
+ \gdef#1{#2}%
+ \else
+ \ifx#1\relax
+ \gdef#1{#2}%
+ \else
+ {\toks@\expandafter{#1#2}%
+ \xdef#1{\the\toks@}}%
+ \fi
+ \fi
+}
+\AtBeginDocument{\global\let\ccaddto\ccaddtoINDOC}
+\newcommand{\ccaddtonow}[2]{%
+ \ifx#2\@undefined
+ \gdef#2{#1}%
+ \else
+ \ifx#2\relax
+ \gdef#2{#1}%
+ \else
+ {\toks@\expandafter{#2#1}%
+ \xdef#2{\the\toks@}}%
+ \fi
+ \fi
+}
+\long\def\cc@ifempty#1{\cc@xifempty#1@@..\@nil}
+\long\def\cc@xifempty#1#2@#3#4#5\@nil{%
+ \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
+\long\def\cc@ifnotempty#1{\cc@ifempty{#1}{}}
+\def\babel\def#1#2{%
+ \@ifnextchar[{\n@wbabel{#1}{#2}}{\n@wbabel{#1}{#2}[]}}
+\def\n@wbabel#1#2[#3]{%
+ \def#1{#2}%
+ \cc@ifnotempty{#2}{\cc@addto\captionsenglish{\def#1{#2}}}%
+ \babeladdtranslations#1{#3}%
+}
+\def\b@beladdlang#1=#2=#3\@@@#4{%
+ \cc@ifnotempty{#2}{%
+ \expandafter\cc@addto\csname captions#1\endcsname{\def#4{#2}}%
+ }%
+}
+\def\babeladdtranslations#1#2{%
+ \@for\@tempa:=#2\do{\expandafter\b@beladdlang\@tempa==\@@@#1}%
+}
+\def\condbreak#1{%
+ \vskip 0pt plus #1%
+ \pagebreak[3]%
+ \vskip 0pt plus -#1%
+ \relax}
+\let\ccorg@enumerate\enumerate
+\def\enumerate{\@ifstar{\count251\c@enumi
+ \count252\c@enumii
+ \count253\c@enumiii
+ \count254\c@enumiv
+ \ccorg@enumerate
+ \c@enumi\count251
+ \c@enumii\count252
+ \c@enumiii\count253
+ \c@enumiv\count254}%
+ {\ccorg@enumerate}}
+\endinput
+%%
+%% End of file `ccaux.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cccite.sty}
+%%
+%% This is file `cccite.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cccite,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{cccite}[2000/02/29 v2.05 cc cite helper package]
+\PackageWarningNoLine{cccite}{%
+ The package cccite is obsolete.\MessageBreak
+ Better use cc2cite.
+ }
+\RequirePackage{ccdbs}
+\DefaultBibliographyStyle{cc}
+\let\ccorg@cite\cite
+\let\ccorg@@cite\@cite
+\def\@citeseppen{-5}
+\def\@cite#1#2{{#1\if@tempswa , #2\fi}}
+\def\cite#1{\def\citeauthoryear##1##2{##1\ (##2)}\@citex{#1}}
+\def\citeauthor#1{\def\citeauthoryear##1##2{##1}\@citex{#1}}
+\def\citeyear#1{\def\citeauthoryear##1##2{##2}\@citex{#1}}
+\def\shortcite#1{\def\citeauthoryear##1##2{##1\ ##2}\@citex{#1}}
+\def\parencite#1{\def\citeauthoryear##1##2{(##1\ ##2)}\@citex{#1}}
+\def\citemul#1{\@mcite #1\@\@}
+\def\@mcite#1,#2\@\@{\citeauthor{#1}\hskip3pt(\citeyear{#1,#2})}
+\def\@citex#1{\@tempswafalse%
+ \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi
+ \def\@citea{}\@cite{\@for\@citeb:=#1\do
+ {\@citea\def\@citea{,\penalty\@citeseppen\ }\@ifundefined
+ {b@\@citeb}{{\bf ?}\@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+{\csname b@\@citeb\endcsname}}}{}}
+\let\ccorg@cite\cite
+\newcommand{\citet}{\let\which@cite\ccorg@cite\cc@citea}
+\let\cite\citet
+\newcommand{\citep}{\let\which@cite\parencite\cc@citea}
+\newcommand{\citealt}{\let\which@cite\shortcite\cc@citea}
+\newcommand{\citealp}{\let\which@cite\shortcite\cc@citea}
+\newcommand{\citetext}[1]{(#1)}
+\newcommand{\@citeyearpar}[1]{\citetext{\citeyear{#1}}}
+\newcommand{\citeyearpar}{\let\which@cite\@citeyearpar\cc@citea}
+\let\ccorg@citeauthor\citeauthor
+\renewcommand{\citeauthor}{\let\which@cite\ccorg@citeauthor\cc@citea}
+\newcommand{\citefullauthor}{\citeauthor*}
+\newcommand{\Citet}{\let\which@cite\cite\cc@citea}
+\newcommand{\Citep}{\let\which@cite\parencite\cc@citea}
+\newcommand{\Citealt}{\let\which@cite\shortcite\cc@citea}
+\newcommand{\Citealp}{\let\which@cite\shortcite\cc@citea}
+\newwarning{poormancitea}{%
+ This is only a poor (wo)man's version of this command.\MessageBreak
+ Please use the package natbib.sty for full features.\MessageBreak
+ Drop the document class option cccite }
+\newcommand{\cc@citea}{%
+ \ccClassWarning{poormancitea}%
+ \@tempswafalse\@ifstar{\cc@cite@st}{\cc@citeb}}
+\def\cc@cite@st{\@tempswatrue\cc@citeb}
+\newcommand{\cc@citeb}[1][]{\def\cc@cite@a{#1}\cc@citec}
+\newcommand{\cc@citec}[1][]{\def\cc@cite@b{#1}\which@cite}
+\def\@biblabel#1{%
+ \def\citename##1{##1}% for authordate bib styles
+ }
+\newcounter{NAT@ctr}
+\def\NAT@noname{{}}
+\let\ccorg@lbibitem\@lbibitem
+\def\@lbibitem[#1]#2{%
+ \let\citeauthoryear\bib@citeauthoryear
+ \if@filesw\@tempswatrue\else\@tempswafalse\fi\@fileswfalse
+ \ccorg@lbibitem[#1]{#2}%
+ \if@tempswa\@fileswtrue\fi
+ \NAT@ifcmd#1(@)(@)\@nil{#2}\ignorespaces}
+\newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd}
+\newcommand\NAT@ifxcmd{%
+ \ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi}
+\def\NAT@bare#1(#2)#3(@)#4\@nil#5{%
+ \if @#2
+ \expandafter\NAT@apalk#1, , \@nil{#5}\else
+ \stepcounter{NAT@ctr}%
+ \cc@wrout{\arabic {NAT@ctr}}{#2}{#1}{#3}{#5}
+\fi
+}
+\newcommand\NAT@apalk{}
+\def\NAT@apalk#1, #2, #3\@nil#4{\if\relax#2\relax
+ \global\NAT@stdbsttrue
+ \cc@wrout{#1}{}{}{}{#4}\else
+ \stepcounter{NAT@ctr}%
+ \cc@wrout{\arabic {NAT@ctr}}{#2}{#1}{}{#4}\fi}
+\newcommand\citeauthoryear{}
+\def\bib@citeauthoryear#1#2#3(@)(@)\@nil#4{%
+ \stepcounter{NAT@ctr}\if\relax#3\relax
+ \cc@wrout{\arabic {NAT@ctr}}{#2}{#1}{}{#4}\else
+ \cc@wrout{\arabic {NAT@ctr}}{#3}{#2}{#1}{#4}\fi}
+\newcommand\citestarts{\NAT@open}
+\newcommand\citeends{\NAT@close}
+\newcommand\betweenauthors{and}
+\newcommand\astroncite{}
+\def\astroncite#1#2(@)(@)\@nil#3{\stepcounter{NAT@ctr}\cc@wrout{\arabic
+{NAT@ctr}}{#2}{#1}{}{#3}}
+\newcommand\citename{}
+\def\citename#1#2(@)(@)\@nil#3{\expandafter\NAT@apalk#1#2, \@nil{#3}}
+\newcommand\harvarditem[4][]%
+ {\if\relax#1\relax\bibitem[#2(#3)]{#4}\else
+ \bibitem[#1(#3)#2]{#4}\fi }
+\newcommand\harvardleft{\NAT@open}
+\newcommand\harvardright{\NAT@close}
+\newcommand\harvardyearleft{\NAT@open}
+\newcommand\harvardyearright{\NAT@close}
+\AtBeginDocument{\providecommand{\harvardand}{and}}
+\newcommand\harvardurl[1]{\textbf{URL:} \textit{#1}}
+\newcommand\cc@wrout[5]{%
+ \if@filesw
+ {\let\protect\noexpand\let~\relax
+ \immediate
+ \write\@auxout{\string\bibcite{#5}%
+ {\protect\citeauthoryear{#3}{#2}}}}\fi
+ \ignorespaces}
+\endinput
+%%
+%% End of file `cccite.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccdbs.sty}
+%%
+%% This is file `ccdbs.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccdbs,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{ccdbs}[2000/02/20 v2.05 bibliography helper package]
+\let\ccorg@bibliographystyle\bibliographystyle
+\newif\if@bibstylemissing \@bibstylemissingtrue
+\def\bibliographystyle{\@bibstylemissingfalse
+ \gdef\bibliographystyle##1{%
+ \PackageWarning{ccdbs}{\protect\bibliographystyle\space can be
+ used only before \protect\bibliography!}}%
+ \ccorg@bibliographystyle}
+\let\ccorg@bibliography\bibliography
+\def\bibliography{%
+ \if@bibstylemissing
+ \bibliographystyle{\bibstyle@default}%
+ \fi
+ \ccorg@bibliography}
+\newcommand{\DefaultBibliographyStyle}[1]{%
+ \def\bibstyle@default{#1}}
+\DefaultBibliographyStyle{plain}
+\endinput
+%%
+%% End of file `ccdbs.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cclayout.sty}
+%%
+%% This is file `cclayout.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `cclayout,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{cclayout}[2012/06/22 v2.25 cclayout. MNuesken]
+\let\@contact\relax
+\newcommand{\contact}[1]{\gdef\@contact{#1}}
+\AtBeginDocument{\if@ccpublish
+ \@ifundefined{@contact}{%
+ \ClassWarningNoLine{cc}{Who is the contact author?\MessageBreak
+ Use \protect\contact\space in the preamble!}%
+ }{}%
+ \fi}
+\let\@received\relax
+\newcommand{\received}[1]{\gdef\@received{#1}}
+\AtBeginDocument{\if@ccpublish
+ \@ifundefined{@received}{%
+ \ClassWarningNoLine{cc}{Missing submission/received date.\MessageBreak
+ Use \protect\received\space in the preamble.}{}%
+ }{}%
+ \fi}
+\def\submitted{\received}
+\let\@titlehead\relax
+\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}}
+\let\@authorhead\@undefined
+\newcommand{\authorhead}[1]{\gdef\@authorhead{#1}}
+\let\@authorlist\@undefined
+\newcommand{\authorlist}[1]{\gdef\@authorlist{#1}}
+\let\abstract\@undefined\let\endabstract\@undefined
+\babel\def\ccabstractname{Abstract}[%
+ german=Zusammenfassung,french=R\'esum\'e]
+\RequirePackage{environ}[2008/06/18]
+\def\@abstract@macro{}
+\long\def\for@cc@abstract#1{%
+ \gdef\@abstract@macro{\begin{@abstr}{\ccabstractname}#1\end{@abstr}}}
+\newenvironment{abstract}{\Collect@Body\for@cc@abstract}{}
+\newcommand{\Abstract}{\for@cc@abstract}
+\babel\def\cckeywordsname{Keywords}[%
+ german=Stichworte,french=Mot-cl\'e]
+\def\@keywords@macro{}
+\long\def\for@cc@keywords#1{%
+ \gdef\@keywords@macro{\begin{@abstr}{\cckeywordsname}#1\end{@abstr}}}
+\newenvironment{keywords}{\Collect@Body\for@cc@keywords}{}
+\babel\def\ccsubjectclassificationname{Subject classification}[%
+ german=Klassifizierung,french=Classification de suj\`et]
+\def\@subject@macro{}
+\long\def\for@cc@subject#1{%
+ \gdef\@subject@macro{\begin{@abstr}{\ccsubjectclassificationname}
+ #1
+ \end{@abstr}}}
+\newenvironment{subject}{\Collect@Body\for@cc@subject}{}
+\newdimen\@abstrwidth
+\newbox\@abstr@box
+\newenvironment{@abstr}[1]{%
+ \setbox\@abstr@box\vbox\bgroup%
+ \@parboxrestore
+ \ifdim\@abstrwidth>\hsize\@abstrwidth\hsize\fi
+ \leftmargin.5\hsize \advance\leftmargin-.5\@abstrwidth
+ \rightmargin\leftmargin
+ \@trivlist\@newlistfalse\global\@inlabeltrue
+ \advance\linewidth -\rightmargin
+ \advance\linewidth -\leftmargin
+ \advance\@totalleftmargin \leftmargin
+ \parshape \@ne \@totalleftmargin \linewidth
+ \small
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 2\p@ \@plus2\p@ \@minus1\p@
+ \parsep 1\p@
+ \itemsep \parsep}%
+ \def\@listii{\leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 0\p@ \@plus1\p@
+ \parsep 1\p@
+ \itemsep \parsep}%
+ \let\@listiii\@toodeep
+ \let\@listiv\@toodeep
+ \let\@listv\@toodeep
+ \let\@listvi\@toodeep
+ \textbf{#1. }\ignorespaces}
+{%
+ \par
+ \egroup
+ \leavevmode\unvbox\@abstr@box
+ \ignorespacesafterend}
+\newif\if@abstractoptional
+\if@ccpublish\@abstractoptionalfalse\else\@abstractoptionaltrue\fi
+\newcommand{\noabstract}{\ClassWarning{cc}{You are using a non
+ documented feature}\@abstractoptionaltrue}
+\newif\if@keywordsoptional
+\if@ccpublish\@keywordsoptionalfalse\else\@keywordsoptionaltrue\fi
+\newcommand{\nokeywords}{\ClassWarning{cc}{You are using a non
+ documented feature}\@keywordsoptionaltrue}
+\newif\if@subjectoptional
+\if@ccpublish\@subjectoptionalfalse\else\@subjectoptionaltrue\fi
+\newcommand{\nosubject}{\ClassWarning{cc}{You are using a non
+ documented feature}\@subjectoptionaltrue}
+\def\@subtitle{}
+\newcommand{\subtitle}[1]{\def\@subtitle{#1}}
+\def\@version{}
+\newcommand{\version}[1]{\def\@version{#1}}
+\AtBeginDocument{\addtocounter{section}{-1}\refstepcounter{section}}%
+\AtEndDocument{\hrule height0pt\label{ccenddocument}}%
+\def\@ccunknown{??}
+\def\@ccfirst{1}%
+\let\@cclast\@ccunknown%
+\let\@ccnumberofpages\@ccunknown%
+\long\def\cc@secondoffive#1#2#3#4#5{#2}
+\AtBeginDocument{%
+ \@ifundefined{r@ccenddocument}{}{%
+ \@tempcnta\@ne
+ \advance\@tempcnta-\@ccfirst
+ \protected@xdef\@cclast{\csname r@ccenddocument\endcsname}%
+ \xdef\@cclast{\expandafter\cc@secondoffive\@cclast{}{}{}{}{}}%
+ \advance\@tempcnta\@cclast%
+ \xdef\@ccnumberofpages{\the\@tempcnta}%
+ }%
+}
+\def\@cctxt{}
+\newif\if@cchead
+\newcommand{\noccpublish}[1]{%
+ \global\@ccpublishfalse
+ \global\@abstractoptionaltrue% Abstract optional
+ \global\@keywordsoptionaltrue% Keywords optional
+ \global\@subjectoptionaltrue% Subject class. optional
+ \global\@ccheadfalse
+ \gdef\@cctxt{#1}%
+ }
+\newcommand{\ccpublish}[4]{% Deprecated since 2011/07/25
+ \global\@ccpublishtrue
+ \global\@abstractoptionalfalse% Abstract required
+ \global\@keywordsoptionalfalse% Keywords required
+ \global\@subjectoptionalfalse% Subject class. required
+ \global\@ccheadtrue
+ \gdef\@ccyear{#1}%
+ \gdef\@ccvolume{#2}%
+ \gdef\@ccissue{#3}%
+ \gdef\@ccfirst{#4}%
+ \gdef\@cctxt{cc \textbf{#2} (#1)}%
+ \global\@autotitletrue
+ \AtBeginDocument{\addtocounter{section}{-1}\refstepcounter{section}}%
+ }
+\RequirePackage{xkeyval}[2008/08/13]
+\def\cc@fixlencountdown#1{%
+ \@tfor\@x:=#1\do{\advance\@tempcnta\m@ne}}
+\def\cc@fixelendef#1#2#3#4{%
+ \@tempcnta#1%
+ \edef\@tempa{#4}\expandafter\cc@fixlencountdown\expandafter{\@tempa}%
+ \gdef#3{}\relax
+ \@whilenum\@tempcnta>\z@\do{%
+ \expandafter\gdef\expandafter#3\expandafter{#3#2}%
+ \advance\@tempcnta\m@ne}%
+ \expandafter\gdef\expandafter#3\expandafter{#3#4}%
+}
+\def\cc@fixelen#1#2#3{%
+ \@tempcnta#1
+ \edef\@tempa{#3}\expandafter\cc@fixlencountdown\expandafter{\@tempa}%
+ \@whilenum\@tempcnta>\z@\do{%
+ #2%
+ \advance\@tempcnta\m@ne}%
+ \edef\@tempa{\noexpand\cc@fixelena#3\noexpand\@@@}\@tempa%
+}
+\def\cc@fixelena#1\@@@{%
+ \@tfor\@x:=#1\do{%
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta>\z@\@x\fi
+ }%
+}
+\define@boolkey{ccsps}{sps}[true]{}%
+\define@key{ccsps}{journal}[cc]{\gdef\@journalname{#1}}%
+\define@key{ccsps}{journalnumber}[37]{\gdef\@journalnumber{#1}}%
+\define@key{ccsps}{submitted}[??dd Month yyyy??]{%
+ \gdef\@received{#1}%
+ \gdef\received##1{\ClassWarning{cc}
+ {Received/submitted date (##1) override!\MessageBreak
+ Using \@received.}}}
+\define@boolkey{ccsps}{revisionstage}[true]{%
+}
+\define@key{ccsps}{DOImsnr}[??]{% manuscript number
+ \gdef\@DOImsnr{#1}}
+\define@boolkey{ccsps}{TYPESET}[true]{%
+ \ifKV@ccsps@TYPESET\let\TYPESET=Y\else\let\TYPESET=N\fi}
+\define@boolkey{ccsps}{DISK}[true]{%
+ \ifKV@ccsps@DISK\let\DISK=Y\else\let\DISK=N\fi}
+\define@boolkey{ccsps}{LE}[true]{%
+ \ifKV@ccsps@LE\let\LE=Y\else\let\LE=N\fi}
+\define@boolkey{ccsps}{CP}[true]{%
+ \ifKV@ccsps@CP\let\CP=Y\else\let\CP=N\fi}
+\define@key{ccsps}{draftcopy}[Uncorrected proof]{% watermark text
+ \gdef\cc@watermarktext{#1}}
+\define@boolkey{ccsps}{helperstrip}[true]{}%
+\define@boolkey{ccsps}{grid}[true]{}
+\define@boolkey{ccsps}{issuestage}[true]{%
+}
+\define@boolkey{ccsps}{openaccess}[true]{%
+}
+\define@boolkey{ccsps}{stageaccess}[true]{% Deprecated.
+ \setkeys{ccsps}{openaccess=#1}}
+\define@key{ccsps}{year}[????]{\gdef\@ccyear{#1}}
+\define@key{ccsps}{volume}[??]{\gdef\@ccvolume{#1}}
+\define@key{ccsps}{issue}[??]{\gdef\@ccissue{#1}}%
+\define@key{ccsps}{firstpage}[1]{%
+ \gdef\@ccfirst{#1}%
+ \@tempcnta4\@tfor\@x:=#1\do{\advance\@tempcnta\m@ne}%
+ \ifcase\@tempcnta\gdef\@ccfirstiv{#1}%
+ \or\gdef\@ccfirstiv{0#1}%
+ \or\gdef\@ccfirstiv{00#1}%
+ \or\gdef\@ccfirstiv{000#1}%
+ \else\ClassError{cc}{First page number too big.}{%
+ The number of the first page cannot be larger than 9999.
+ }\fi
+}
+\define@key{ccsps}{copyholder}[\default@copyholder]{\gdef\@copyholdername{#1}}
+\def\default@copyholder{%
+ \ifKV@ccsps@openaccess The Author(s)
+ \else Springer Basel AG\fi}
+\define@key{ccsps}{doisuffix}[????-?]{%
+ \cc@fixelendef50\@doiinfo{\@journalnumber}%
+ \xdef\@doiinfo{%
+ 10.1007/s\@doiinfo-%
+ \noexpand\cc@fixelen30{\noexpand\@ccyear}-%
+ #1}}
+\define@key{ccsps}{doi}{\gdef\@doiinfo{#1}}
+\define@key{ccsps}{onlinedate}[??dd Month yyyy??]{\gdef\@onlinedate{#1}}
+\define@key{ccsps}{onlinefirstyear}[\the\year]{\gdef\@ccyear{#1}}
+\define@key{ccsps}{coveryear}[\@ccyear]{\gdef\@coveryear{#1}}
+\define@boolkey{ccsps}{pdfpage}[true]{%
+}
+\define@boolkey{ccsps}{xlink}[true]{}
+\setkeys{ccsps}{
+ sps=false,
+ journal={cc}, journalnumber=37,
+ grid=false,
+ TYPESET=false,
+ DISK=false,
+ LE=false,
+ CP=false,
+ DOImsnr,
+ openaccess=false,
+ revisionstage=false,
+ helperstrip=false,
+ issuestage=false,
+ copyholder,
+ year,volume,issue,firstpage,
+ onlinefirstyear,coveryear,doisuffix,onlinedate,
+ draftcopy
+}
+\newcommand{\ccsps}[1]{%
+ \if@cctextarea\else\ClassError{cc}{Wrong textarea chosen}
+ {Remove any textarea or noccpublish option from documentclass.}\fi
+ \global\@ccpublishtrue
+ \global\@abstractoptionalfalse% Abstract required
+ \global\@keywordsoptionalfalse% Keywords required
+ \global\@subjectoptionalfalse% Subject class. required
+ \global\@ccackfalse% Acknowledgements required
+ \global\@ccheadtrue
+ \global\@autotitletrue
+ \setkeys{ccsps}{sps,#1}
+ \gdef\@cctxt{cc \textbf{\@ccvolume} (\@ccyear)}%
+ \RequirePackage[mathlines]{lineno}[2005/11/02]
+ \ifKV@ccsps@pdfpage
+ \setkeys{ccsps}{helperstrip=false}%
+ \nolinenumbers
+ \else
+ \setkeys{ccsps}{helperstrip=true}%
+ \RequirePackage[conditional,draft]{draftcopy}
+ \draftcopyPageTransform{155 75 translate 65 rotate}
+ \draftcopyName{\cc@watermarktext}{75}
+ \linenumbers
+ \fi
+ \RequirePackage[%dvips,
+ bookmarks=\ifKV@ccsps@xlink true\else false\fi,
+ breaklinks=true,
+ colorlinks=\ifKV@ccsps@xlink true\else false\fi,
+ linkcolor=\ifKV@ccsps@xlink blue\else black\fi,
+ unicode]{hyperref}[2011/04/17 v6.82g]%
+ \AtBeginDocument{\init@bare}
+ \RequirePackage{breakcites}%
+ \RequirePackage{breakurl}[2009/01/24 v1.30]%
+ \def\l@title##1{\@dottedtocline{-1}{0pt}{0pt}{{\large\textbf{##1}}}}%
+ \let\l@title\l@part
+ \ifKV@ccsps@xlink%
+ \def\@urlcolor{blue}
+ \def\@citecolor{blue}
+ \def\externalref##1##2{\hyperimage{##1}{##2}}%
+ \def\DOIexternalref##1##2{\hyperimage{##1}{##2}}%
+ \InputIfFileExists{bookmarkgreeks.tex}{}{}%
+ \else
+ \def\@urlcolor{black}%
+ \def\@citecolor{black}
+ \def\externalref##1##2{##2}%
+ \def\DOIexternalref##1##2{##2}%
+ \fi%
+ \ifKV@ccsps@grid
+ \overfullrule=6pt
+ \let\twidth\textwidth
+ \let\theight\textheight
+ \else\overfullrule=0pt\fi
+ \InputIfFileExists{JS_info.tex}{}{}%
+}
+\def\printed@issn{1016-3328}%
+\def\electronic@issn{1420-8954}%
+\newcommand{\printed}{\let\issn\printed@issn}
+\newcommand{\electronic}{\let\issn\electronic@issn}
+\printed
+\@onlypreamble\ccpublish
+\@onlypreamble\ccsps
+\@onlypreamble\electronic
+\@onlypreamble\printed
+\def\extractnamesfr@m@author{%
+ \@ifundefined{@authorlist}{%
+ \let\and\ignorespaces
+ \let\latest@name\relax
+ \count@\z@
+ \expandafter\extract@names\@author\and\and\@nil}{%
+ \@authorlist
+ }
+ }
+\def\extract@names#1\and#2\@nil{%
+ \cc@ifempty{#1}{%
+ \unskip\if\and\relax\else
+ \ifnum\count@>\tw@\authorlastsepmany\else\authorlastsep\fi
+ \fi\latest@name
+ \let\next\gobble@nil}%
+ {%
+ \unskip\and\latest@name
+ \ifx\latest@name\relax\else\let\and\authorsep\fi
+ \extract@name#1\\\@nil
+ \let\next\extract@names}%
+ \next#2\@nil}
+\def\gobble@nil#1\@nil{}
+\def\extract@name#1\\#2\@nil{\advance\count@\@ne\def\latest@name{#1}}
+\babel\def\ccAND{and}[german=und,french=et]
+\def\authorsep{,\penalty-5\ }
+\def\authorlastsep{\penalty-5\ \ccAND{} }
+\def\authorlastsepmany{,\penalty-5\ \ccAND{} }
+\newtoks\latest@lastname
+\newtoks\@firstname
+\let\@firstlastname\@temptokena
+\def\extractauthorheadfr@m@author{%
+ {%
+ \let\and\@empty
+ \latest@lastname{}%
+ \toks@{}%
+ \count@\m@ne
+ \expandafter\extract@lastnames\@author\and\and\@nil
+ \ifnum\count@<2
+ \xdef\@authorhead{\the\@firstname}
+ \else\ifnum\count@<4
+ \xdef\@authorhead{\the\toks@}%
+ \else
+ \xdef\@authorhead{\the\@firstlastname\noexpand\textit{ et al.}}%
+ \fi\fi
+ }%
+ \setbox0\hbox{\small\let\thanks\@gobble\@authorhead}%
+ \ifdim\wd0>.7\textwidth
+ \ClassWarningNoLine{cc}{Authorhead too long. Use
+ \protect\authorhead\space to specify\MessageBreak a shortened
+ author list for the headings!}%
+ \fi
+ }
+\def\extract@lastnames#1\and#2\@nil{%
+ \advance\count@\@ne
+ \cc@ifempty{#1}{%
+ \expandafter\cc@ifempty\expandafter{\the\toks@}{%
+ \edef\@tempa{\the\latest@lastname}%
+ }{%
+ \edef\@tempa{\the\toks@\authorheadlastsep\the\latest@lastname}%
+ }%
+ \toks@\expandafter{\@tempa}%
+ \let\next\gobble@nil
+ }{%
+ \expandafter\cc@ifempty\expandafter{\the\toks@}{%
+ \edef\@tempa{\the\latest@lastname}%
+ }{%
+ \edef\@tempa{\the\toks@\authorheadsep\the\latest@lastname}%
+ }%
+ \toks@\expandafter{\@tempa}%
+ \extract@lastname#1\\\@nil
+ \let\next\extract@lastnames}%
+ \ifnum\count@=\@ne\@firstlastname\expandafter{\the\toks@}\fi
+ \next#2\@nil}
+\def\gobble@nil#1\@nil{}
+\def\extract@lastname#1\\#2\@nil{%
+ \ifnum\count@=\z@\@firstname{#1}\fi
+ \extract@lastname@#1 \@nil}
+\def\extract@lastname@#1 #2\@nil{%
+ \cc@ifempty{#2}{\latest@lastname{#1}}{\extract@lastname@#2\@nil}}
+\def\authorheadsep{, }
+\def\authorheadlastsep{ \& }
+\def\authorheadlastsepmany{ \& }
+\let\@author\relax
+\AtBeginDocument{%
+ \@ifundefined{@author}{\if@ccpublish
+ \ClassError{cc}{No \protect\author\space given}{Define an author
+ list in the preamble by \protect\author{...}}%
+ \else
+ \ClassWarningNoLine{cc}{No \protect\author\space given}%
+ \fi}{}
+ \@ifundefined{@authorhead}{\extractauthorheadfr@m@author}{}}
+\let\@title\relax
+\AtBeginDocument{%
+ \@ifundefined{@title}{\if@ccpublish
+ \ClassError{cc}{No \protect\title\space given}{Define a title in
+ the preamble by \protect\title{...}}%
+ \else
+ \ClassWarningNoLine{cc}{No \protect\title\space given}%
+ \fi}{}
+ \setbox0\hbox{\small\let\thanks\@gobble
+ \@ifundefined{@titlehead}{\let\\\ \@title}{\@titlehead}}%
+ \ifdim\wd0>.7\textwidth
+ \ClassError{cc}{Title too long for running head.\MessageBreak
+ Use \protect\titlehead\space to specify\MessageBreak a shortened
+ title for the headings!}{}%
+ \fi}
+\def\extractaffilsfr@om@author{%
+ \parindent\z@
+ \init@affils
+ \expandafter\extract@affils\@author\and\and\@nil
+ \if@oddaffil\else\even@sep\even@post\fi
+}
+\def\init@affils{%
+ \let\and\relax
+ \global\@oddaffiltrue
+ }
+\def\extract@affils#1\and#2\@nil{%
+ \cc@ifempty{#1}{\let\next\gobble@nil}{%
+ \extract@affil#1\\\@nil
+ \let\next\extract@affils}%
+ \next#2\@nil}
+\def\extract@affil#1\\#2\@nil{%
+ \affilpre
+ \def\currentaddress{\otheraddress
+ Current address of \textsc{\ignorespaces#1}:\\}%
+ \begin{@ffiliation}
+ \textsc{\ignorespaces#1}\\#2
+ \end{@ffiliation}
+ \affilpost}
+\newcommand{\otheraddress}{\end{@ffiliation}\affilsep
+ \begin{@ffiliation}}
+\def\odd@pre{\par\begin{tabular}{@{}ll@{}}}%
+\def\odd@sep{&}%
+\def\odd@post{&}%
+\def\even@pre{}%
+\def\even@sep{\end{tabular}\par\begin{tabular}{@{}ll@{}}}%
+\def\even@post{\end{tabular}}%
+\newif\if@oddaffil
+\def\affilpre{\if@oddaffil\odd@pre\else\even@pre\fi}
+\def\affilsep{%
+ \if@oddaffil\odd@sep\@oddaffilfalse
+ \else\even@sep\@oddaffiltrue
+ \fi
+ }
+\def\affilpost{\if@oddaffil\odd@post\global\@oddaffilfalse
+ \else\even@post\global\@oddaffiltrue\fi}
+\if@twocolumnendtitle
+\newenvironment{@ffiliation}
+ {%
+ \minipage[t]{.48\hsize}
+ \dimen@\hsize \advance\dimen@ -1.5em
+ \everypar{\parshape 2 \z@ \hsize 1.5em \dimen@}%
+ \def\\{\unskip\par}%
+ }
+ {\strut\par\medskip\endminipage}
+\else
+\def\affilpre{\par}
+\def\affilpost{\par}
+\def\affilsep{\par}
+\newenvironment{@ffiliation}
+ {%
+ \minipage[t]{\hsize}\footnotesize
+ \dimen@\hsize \advance\dimen@ -1.5em
+ \everypar{\parshape 2 \z@ \hsize 1.5em \dimen@}%
+ \def\\{\unskip\par}%
+ }
+ {\endminipage\bigskip}
+\fi
+\ifcase\@textareaversion
+\@abstrwidth0.85\textwidth
+\or% version 1, used until June 2011
+\textwidth=141mm
+\@abstrwidth=120mm
+\textheight=200mm
+\topmargin=0mm
+\oddsidemargin=12mm
+\evensidemargin=12mm
+\marginparwidth=25mm
+\headheight=1.25\headheight
+\ifnum\@marginmode<\z@\@marginmode\z@\fi
+\or% version 2, used since July 2011
+\paperwidth=155mm
+\paperheight=235mm
+\topmargin=-9.6mm
+\textheight=45.5pc
+\textwidth=119mm
+\@abstrwidth=\textwidth
+\oddsidemargin=-7.6mm% should be 18mm, will be calculated acc.to \@marginmode
+\evensidemargin=-7.6mm% should be 18mm, will be calculated acc.to \@marginmode
+\marginparwidth=10mm% will be adapted below
+\headheight=1.25\headheight
+\ifnum\@marginmode<\z@\@marginmode\tw@\fi% use balanced margins
+\else% version negative or larger than max: emptypage
+\newdimen\allsidemargin \allsidemargin=.5in
+\textwidth=\paperwidth
+\advance\textwidth-2\allsidemargin% margin left/right
+\marginparsep=1pt
+\topmargin-1in
+\advance\topmargin\allsidemargin
+\textheight=\paperheight
+\advance\textheight-\allsidemargin
+\advance\textheight-\headheight
+\advance\textheight-\headsep
+\advance\textheight-\footskip
+\advance\textheight-\allsidemargin
+\@marginmode\tw@
+\sloppy
+\@abstrwidth0.85\textwidth
+\fi
+\newdimen\cc@topmargin \cc@topmargin\topmargin
+\newdimen\cc@textwidth \cc@textwidth\textwidth
+\newdimen\cc@textheight \cc@textheight\textheight
+\AtBeginDocument{%
+ {\if@ccpublish
+ \@tempswafalse
+ \ifnum\@textareaversion>0
+ \ifdim\topmargin=\cc@topmargin\relax\else\@tempswatrue\fi
+ \ifdim\textwidth=\cc@textwidth\relax\else\@tempswatrue\fi
+ \ifdim\textheight=\cc@textheight\relax\else\@tempswatrue\fi
+ \fi
+ \if@tempswa
+ \ClassError{cc}{FATAL ERROR! For publishing in cc the page and text
+ dimension must not be manipulated. Remove any packages that
+ modify the text or page dimensions. In particular: remove the
+ packages^^J
+ fullpage.sty,^^J
+ a4wide.sty,^^J
+ geometry.sty,^^J
+ vmargin.sty,^^J
+ typearea.sty}{}%
+ \aftergroup\endinput
+ \fi
+ \fi}%
+}
+\typeout{Now adjusting margins: \the\@marginmode.}
+\ifcase\@marginmode
+\AtEndOfClass{%
+\oddsidemargin\paperwidth
+\advance\oddsidemargin-2in
+\advance\oddsidemargin-\textwidth
+\advance\oddsidemargin-\evensidemargin}
+\or
+\AtEndOfClass{%
+\oddsidemargin\paperwidth
+\advance\oddsidemargin-2in
+\advance\oddsidemargin-\textwidth
+\evensidemargin=5mm
+\advance\oddsidemargin-\evensidemargin}
+\or
+\AtEndOfClass{%
+\oddsidemargin\paperwidth
+\advance\oddsidemargin-2in
+\advance\oddsidemargin-\textwidth
+\oddsidemargin.5\oddsidemargin
+\evensidemargin\oddsidemargin}
+\fi
+\AtEndOfClass{%
+ \marginparwidth1in
+ \advance\marginparwidth-5mm
+ \advance\marginparwidth-2\marginparsep
+ \ifdim\evensidemargin<\oddsidemargin
+ \advance\marginparwidth\evensidemargin
+ \else
+ \advance\marginparwidth\oddsidemargin
+ \fi
+}
+\newskip\headerindent \headerindent=10mm
+\newdimen\headrulewidth \headrulewidth.4pt
+\def\ps@cc{\let\@mkboth\markboth
+ \let\@oddfoot\@empty
+ \let\@evenfoot\@empty
+ \let\@oddhead\@empty
+ \let\@evenhead\@empty
+ \if@ccpublish
+ \ps@ccfirst
+ \def\@oddfoot{%
+ \ifKV@ccsps@helperstrip%
+ \begin{picture}(0,0)%
+ \put(340,3){{\stripbox}}%
+ \put(10,-5){{\tiny Produced with: \texttt{\csname ver@cc.cls\endcsname}}}%
+ \end{picture}%
+ \fi
+ }%
+ \let\@evenfoot\@oddfoot
+ \fi
+ \expandafter\def\expandafter\@oddhead\expandafter{\@oddhead
+ \vbox{\hbox to\textwidth{\reset@font\strut
+ {\small\@cctxt}%
+ \hfil
+ {\small
+ \@ifundefined{@titlehead}{%
+ \let\\\ %
+ \@title
+ }{%
+ \@titlehead
+ }}%
+ \hbox to\headerindent{\hfil\thepage}%
+ }%
+ \if@ccpublish\else
+ \kern2.6\p@
+ \hrule\@height\headrulewidth\kern-\headrulewidth
+ \kern-2.6\p@
+ \fi
+ \vskip\z@
+ }%
+ }%
+ \expandafter\def\expandafter\@evenhead\expandafter{\@evenhead
+ \vbox{\hbox to\textwidth{\reset@font\strut
+ \hbox to\headerindent{\thepage\hfil}%
+ {\small\@authorhead}%
+ \hfil
+ {\small\@cctxt}%
+ }%
+ \if@ccpublish\else
+ \kern2.6\p@
+ \hrule\@height\headrulewidth\kern-\headrulewidth
+ \kern-2.6\p@
+ \fi
+ \vskip\z@
+ }%
+ }%
+ }
+\RequirePackage{graphics}[2009/02/05 v1.0o]
+\RequirePackage{xcolor}[2007/01/21 v2.11]%
+\IfFileExists{Birkh_logo_2010_sps.eps}{%
+ \def\birklogo{\bgroup\includegraphics{Birkh_logo_2010_sps.eps}\egroup}
+}{%
+ \def\birklogo{{\ixpt Birkh{\"{a}}user}}
+}
+\IfFileExists{dummy_sps.eps}{%
+ \def\spslogo{\bgroup\includegraphics{dummy_sps.eps}\egroup}
+}{%
+ \def\spslogo{{\ixpt Springer Publishing}}
+}
+\def\ps@ccfirst{%
+ \def\@oddfoot{%
+ \if@ccpublish
+ \ifKV@ccsps@revisionstage%
+ \begin{picture}(0,0)%
+ \put(0,15){{\smash{\raisebox{-2.25pt}{\spslogo}}}}%
+ \end{picture}%
+ \fi%
+ \ifKV@ccsps@sps
+ \begin{picture}(0,0)%
+ \put(289.5,15){{\birklogo}}%
+ \end{picture}%
+ \fi
+ \ifKV@ccsps@helperstrip%
+ \begin{picture}(0,0)%
+ \put(340,3){{\stripbox}}%
+ \put(10,-5){{\tiny Produced with: \texttt{\csname ver@cc.cls\endcsname}}}%
+ \end{picture}%
+ \fi
+ \fi}%
+ \let\@evenfoot\@oddfoot
+ \def\@oddhead{%
+ \ifKV@ccsps@grid
+ \hbox to\z@{%
+ \vbox to\z@{%
+ \hsize\twidth
+ \vskip\headsep
+ \fboxrule=.25pt
+ \fboxsep=-.25pt
+ \textcolor{lightgray}{%
+ \fbox{\vbox to\theight{\hbox to\twidth{\hss}\vss}}%
+ }%
+ \vss
+ }%
+ \hss
+ }%
+ \fi
+ \hss
+ }%
+ \let\@evenhead\@oddhead
+}
+\AtEndOfClass{\pagestyle{cc}}
+\AtEndOfClass{%
+ \AtBeginDocument{\@onlypreamble{\author{\if@autotitle\maketitle\fi}}}
+ \AtEndDocument{\if@autotitle\makeendtitle\fi}
+}
+\def\stripbox{\kern -11.7cm%
+ {}{%
+ \raisebox{.8mm}{%
+ \tiny
+ \fboxsep1mm\framebox{%
+ Journal: {\bf \@journalname}\enspace
+ Article No.: {\bf \@DOImsnr}\enspace
+ \fboxsep.2mm\fbox{%
+ \ifx Y\TYPESET{$\checkmark$}\else{\phantom{$\checkmark$}}\fi
+ }~TYPESET\enspace
+ \fbox{%
+ \ifx Y\DISK{$\checkmark$}\else{\phantom{$\checkmark$}}\fi
+ }~DISK\enspace
+ \fbox{%
+ \ifx Y\LE{$\checkmark$}\else{\phantom{$\checkmark$}}\fi
+ }~LE\enspace
+ \fbox{%
+ \ifx Y\CP{$\checkmark$}\else{\phantom{$\checkmark$}}\fi
+ }~CP\enspace
+ Disp.: \textbf{\the\year/\the\month/\the\day}\enspace
+ Pages: \textbf{\@ccnumberofpages}
+ }%
+ }%
+ }%
+} %%
+\def\vertrulea{\rule[-7.583pt]{0pt}{7.583pt}}
+\def\vertruleb{\rule{2.25pt}{10.2pt}}
+\newtoks\cite@hook
+\newcommand{\maketitleheadA}{% version before 2011 (Birkh^^e4user)
+ \hbox to\textwidth{%
+ \vbox to\z@{\vss
+ \baselineskip=12pt%
+ \halign{\ixpt##\hfil\cr
+ comput. complex.~\textbf{\@ccvolume}~(\@ccyear),
+ \thepage\ -- \@cclast\cr
+ \issn/\expandafter\@gobbletwo\@ccyear%
+ /\cc@fixelen20\@ccissue\relax
+ \cc@fixelen40\@ccfirst\relax
+ --\@ccnumberofpages\
+ \$ 1.50+0.20/0\cr}}\hss
+ \vbox to\z@{\vss
+ \offinterlineskip%
+ \halign{##&##\hfil\cr
+ \vertrulea&\ixpt
+ \copyright{} Birkh{\"{a}}user Verlag, Basel \@ccyear\cr
+ \noalign{\hrule}
+ \vertruleb\hskip1mm&%
+ \vbox to\z@{\vbox to\z@{\vss
+ \hbox{\xptsfbx computational complexity}}\vss}%
+ \cr}}}\vskip47.333pt
+}
+\newcommand{\maketitleheadSPS}{% version since 2011 (Springer)
+ \hbox to\textwidth{%
+ \vbox to\z@{\vss
+ \baselineskip=12pt%
+ \halign{%
+ \ixpt##\hfil\cr
+ comput. complex.%
+ \ifKV@ccsps@issuestage%
+ ~\textbf{\@ccvolume}~(\@ccyear),~\@ccfirst\ -- \@cclast
+ \fi\cr
+ \ifKV@ccsps@openaccess
+ \copyright{} \@copyholdername\ \@ccyear.
+ This article is published\cr with open access
+ at Springerlink.com\cr
+ \else\copyright{} \@copyholdername\ \@ccyear\cr\fi
+ \ifKV@ccsps@issuestage
+ {\printed@issn/\cc@fixelen20\@coveryear/%
+ \cc@fixelen20\@ccissue%
+ \cc@fixelen40\@ccfirst%
+ -% MN2011/07/27: use + instead?
+ \@ccnumberofpages}\cr
+ {{\it published online}\ \@onlinedate}\cr
+ \else\relax\fi
+ DOI \@doiinfo\cr}
+ }\hss
+ \vbox to\z@{\vss
+ \offinterlineskip%
+ \halign{##&##\hfil\cr
+ \vertrulea&\ixpt\cr
+ \noalign{\hrule}
+ \vertruleb\hskip1mm&%
+ \vbox to\z@{\vbox to\z@{\vss
+ \hbox{\xptsfbx computational complexity}}\vss}%
+ \cr}}}\vskip47.333pt
+}
+\def\l@title#1#2{}% Usually ignore title entries.
+\def\@@today{\today}% for comparison
+\renewcommand{\maketitle}{%
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \cite@hook{}%
+ \thispagestyle{ccfirst}
+ \if@cchead
+ \ifnum\@textareaversion=\tw@\vspace*{15pt}\fi
+ \vbox to\z@{\vss
+ \setcounter{page}{\@ccfirst}%
+ \ifcase\@textareaversion\maketitleheadSPS
+ \or\maketitleheadA
+ \or\maketitleheadSPS
+ \else\maketitleheadSPS
+ \fi
+ }%
+ \fi
+ \hrule\@height\z@
+ \vskip2.2ex% 4.0mm
+ \relax
+ \begin{center}
+ \if@ccpublish
+ \renewcommand{\footnote}[1]{\protect\ClassWarningNoLine{cc}{%
+ There are no footnotes allowed in title or author.\MessageBreak
+ Your command is ignored.\MessageBreak
+ Think about moving your remark to the acknowledgements}}%
+ \let\thanks\footnote
+ \else
+ \renewcommand{\footnote}[1]{\protect\ClassWarningNoLine{cc}{%
+ In title or author \string\footnote\space does not work.\MessageBreak
+ Avoid footnotes or use \string\thanks}}%
+ \def\thefootnote{\@fnsymbol\c@footnote}%
+ \def\@makefnmark{%
+ \rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hb@xt@1.8em{%
+ \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+ \fi
+ {%
+ \Large\bfseries
+ \def\\{\penalty-\@M}%
+ \expandafter\MakeUppercase\expandafter{\@title}%
+ \addcontentsline{toc}{title}{\@title}%
+ \par
+ }%
+ \@ifundefined{@subtitle}{}{{%
+ \large\itshape
+ \@subtitle
+ \par
+ }}
+ \@ifundefined{@version}{}{{%
+ \large\itshape
+ \@version
+ \par
+ }}
+ \bigskip
+ \vskip1.21ex% 2.2mm
+ \vskip\z@
+ {%
+ \large\scshape
+ \extractnamesfr@m@author
+ \par
+ }%
+ \ifKV@ccsps@sps%\if@ccpublish
+ \ifx\@date\@@today\else
+ \ClassWarningNoLine{cc}{Date ignored! (\@date)}%
+ \fi
+ \else{%
+ \vskip1ex
+ \large\@date\par
+ }\fi
+ \def\@tempa{\vskip5.5ex\let\@tempa\relax}%
+ \ifx\@abstract@macro\@empty
+ \if@abstractoptional
+ \ClassWarningNoLine{cc}{Missing abstract}%
+ \else
+ \ClassError{cc}{Missing abstract}
+ {Define abstract in the preamble using
+ \protect\begin{abstract} ... \protect\end{abstract}.}%
+ \fi
+ \else
+ \@tempa\@abstract@macro\par
+ \fi
+ \ifx\@keywords@macro\@empty
+ \if@keywordsoptional
+ \ClassWarningNoLine{cc}{Missing keywords}%
+ \else
+ \ClassError{cc}{Missing keywords}
+ {Define keywords in the preamble using
+ \protect\begin{keywords} ... \protect\end{keywords}.}%
+ \fi
+ \else
+ \@tempa\@keywords@macro\par
+ \fi
+ \ifx\@subject@macro\@empty
+ \if@subjectoptional
+ \ClassWarningNoLine{cc}{Missing subject classification}%
+ \else
+ \ClassError{cc}{Missing subject}
+ {Define subject in the preamble using
+ \protect\begin{subject} ... \protect\end{subject}.}%
+ \fi
+ \else
+ \@tempa\@subject@macro\par
+ \fi
+ \@thanks
+ \ifx\@tempa\relax\vskip3ex\fi
+ \end{center}
+ \setcounter{footnote}{0}%
+ \global\let\maketitle\relax
+ \global\let\thanks\@gobble
+ \global\let\@thanks\relax
+ \global\let\author\@notprerr
+ \global\let\title\@notprerr
+ \global\let\abstract\@notprerr
+ \global\let\Abstract\@notprerr
+ \global\let\keywords\@notprerr
+ \global\let\subject\@notprerr
+ \global\let\titlehead\@notprerr
+ \global\let\authorhead\@notprerr
+ \global\let\received\@notprerr
+ \vskip\z@
+ \par\@afterindentfalse\@afterheading
+ }
+\let\@maketitle\@undefined
+\let\and\@undefined
+\babel\def\ManuscriptReceived{Manuscript received }[%
+ german=Manuskript erhalten: ,%
+ french=Manuscrit re\c{c}u: ]
+\newcommand{\makeendtitle}{%
+ \par
+ \parindent\z@
+ \bigskip
+ \@ifundefined{@received}{}{%
+ \noindent{\small
+ \ManuscriptReceived\@received
+ \par}%
+ \medskip
+ }%
+ {\small
+ \extractaffilsfr@om@author
+ }%
+ \gdef\makeendtitle{\ClassWarning{cc}{\protect\makeendtitle\space
+ multiply used!}}%
+ }
+\endinput
+%%
+%% End of file `cclayout.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccproof.sty}
+%%
+%% This is file `ccproof.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccproof,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesPackage{ccproof}[2000/02/29 v2.05
+ proof environments for cc. Michael Nuesken, Bonn.]
+\RequirePackage{theorem}[1995/11/23 v2.2c]
+\RequirePackage{thcc}
+\RequirePackage{ccqed}
+\newcommand{\Qed}{\@qedtrue\qed}%
+\newtoks\everyproof \everyproof{}
+\theoremstyle{ccproof}
+\theorembodyfont{}
+\newtoks\prooftitle
+\newtheorem{pr@@f}{\the\prooftitle}
+\newenvironment{namedproof}[2][\qedsymbol]{%
+ \save@set@qed
+ \prooftitle{#2}%
+ \def\@tempa{#1}%
+ \def\@tempc{\qedsymbol}%
+ \ifx\@tempa\@tempc\relax\else\let\qedsymbol\@tempa\fi%
+ \the\everyproof \pr@@f
+ }{%
+ \qed\restore@qed
+ \endpr@@f}
+\babel\def\Proof{Proof}[german=Beweis,french=Preuve]
+\newenvironment{proof}{\namedproof{\Proof}}{\endnamedproof}
+\endinput
+%%
+%% End of file `ccproof.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccqed.sty}
+%%
+%% This is file `ccqed.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccqed,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesPackage{ccqed}[2014/07/08 v2.25d
+ right-justified end-of-proof mark,
+ based on Paul Taylor's QED.sty of 24 June 1995]
+\def\qed{\protect\@qed{$\qedsymbol$}}
+\def\qedsymbol{\square}
+\newif\ifAutoQED\AutoQEDfalse
+\def\parag@pushright#1{{%
+ \parfillskip\z@
+ \widowpenalty\@M
+ \displaywidowpenalty\@M
+ \finalhyphendemerits\z@
+ \hbox@pushright
+ #1%
+ \par}}%
+\def\hbox@pushright{%
+ \unskip
+ \nobreak
+ \hfil
+ \penalty50
+ \hskip.2em
+ \null
+ \hfill
+}%
+\def\vbox@pushright#1{\expandafter\message % (2 Jan 1994)
+ {QED.sty could be improved in this case
+ (line \the\inputlineno): please ask}%
+ \page@pushright{#1}}%
+\newif\if@qed\@qedfalse
+\def\save@set@qed{\let\saved@ifqed\if@qed\global\@qedtrue}%
+\def\restore@qed{\global\let\if@qed\saved@ifqed}
+\def\@qed#1{\check@pt@fm@thm
+\if@qed
+ \global\@qedfalse\pushright{#1}%
+\else\ifhmode\ifinner\else\par\fi\fi%
+\fi}
+\def\@pushright#1{%
+ \ifvmode
+ \ifinner\vbox@pushright{#1}%
+ \else \page@pushright{#1}%
+ \fi
+ \else\ifmmode\maths@pushright{\hbox{#1}}%
+ \else\ifinner\hbox@pushright{#1}%
+ \else\parag@pushright{#1}%
+ \fi \fi \fi
+}
+\def\maths@pushright#1{%
+ \ifinner
+ \hbox@pushright{#1}%
+ \else
+ \eqno#1%
+ \def\]{$$\ignorespaces}%
+ \fi
+}%
+\def\page@pushright#1{% 18 Jan 1994
+ \skip@\lastskip
+ \ifdim\skip@>\z@
+ \unskip
+ \else\skip@\z@\relax
+ \fi
+ \dimen@\baselineskip
+ \advance\dimen@-\prevdepth
+ \nobreak
+ \nointerlineskip
+ \hbox to\hsize{%
+ \setbox\z@\null
+ \ifdim\dimen@>\z@\ht\z@\dimen@\fi
+ \box\z@
+ \hfill
+ #1}%
+ \vskip\skip@
+}%
+\let\nonqed@thm\@thm
+\let\nonqed@endthm\@endtheorem
+\def\@thm{\save@set@qed\nonqed@thm}
+\def\@endtheorem{\ifAutoQED\qed\fi\restore@qed\nonqed@endthm}
+\newbox\qed@box
+\def\WillHandleQED{\relax
+ \ifx\HandleQED\nohandle@qed
+ \def\pushright{\global\setbox\qed@box\hbox}%
+ \let\QEDbox\qed@box
+ \def\HandleQED{\unhbox\QEDbox}%
+ \aftergroup\check@handle@qed
+ \else
+ \let\QEDbox\voidb@x
+ \fi
+ }
+\def\nohandle@qed{%
+\errhelp{One of them is missing: see QED.sty.}%
+\errmessage{This environment uses \string\WillHandleQED\space and
+\string\HandleQED\space incorrectly}}
+\def\check@handle@qed{\relax
+\ifvoid\qed@box\else\expandafter\nohandle@qed\fi}
+\def\UnHandleQED{%
+\let\HandleQED\nohandle@qed
+\let\QEDbox\voidb@x
+\def\pushright{\protect\@pushright}}%
+\UnHandleQED
+\ifx\theorem@style\undefined
+ \def\check@pt@fm@thm{\relax
+ \ifx\square\undefined
+ \gdef\square{\bigcirc
+ \errhelp={Anonymous ftp e-math.ams.com /ams/amsfonts}%
+ \errmessage{\string\square\space is an AMS symbol}%
+ \global\let\square\bigcirc}%
+ \fi
+ \ifx\theorem@style\undefined
+ \global\let\check@pt@fm@thm\relax
+ \else
+ \errhelp={The macros \@thm and \@endtheorem
+ need to be re-defined.}%
+ \errmessage{QED.sty must be loaded AFTER theorem.sty but
+ before using \string\newtheorem}%
+ \fi
+ \global\let\check@pt@fm@thm\relax
+ }%
+\else
+ \def\check@pt@fm@thm{%
+ \ifx\square\undefined
+ \def\square{\bigcirc
+ \errhelp={Anonymous ftp e-math.ams.com /ams/amsfonts}%
+ \errmessage{\string\square\space is an AMS symbol}%
+ \global\let\square\bigcirc}%
+ \fi
+ \global\let\check@pt@fm@thm\relax
+ }%
+\fi
+\DeclareOption{auto-QED}{\AutoQEDtrue}%
+\DeclareOption{explicit-QED}{\AutoQEDfalse}%
+\DeclareOption{black-square}{\def\qedsymbol{\blacksquare}}%
+\DeclareOption{open-square}{\def\qedsymbol{\square}}%
+\ProcessOptions*
+\newif\if@resettagsleft@
+\let\standardqed\qed
+\def\rescueqed{\qquad\qedsymbol\vphantom{\standardqed}}
+\def\eqnoqed{\eqno\hbox{\standardqed}}%\vphantom{\standardqed}}
+\let\ccorg@eqnnum\@eqnnum
+\let\ccorg@nonumber\nonumber
+\def\eqnarrayqed{%
+ \global\@eqnswtrue
+ \global\let\nonumber\relax
+ \addtocounter{equation}\m@ne
+ \gdef\@eqnnum{\llap{$\qedsymbol$\vphantom{\standardqed}}%
+ \global\let\nonumber\ccorg@nonumber
+ \global\let\@eqnnum\ccorg@eqnnum}}
+\def\tagqed{\tag*{\iftagsleft@
+ \hskip\displaywidth\llap{$\qedsymbol$}\hskip-\displaywidth%
+ \else$\qedsymbol$\fi}\vphantom{\standardqed}}
+\def\simpletagqed{\iftagsleft@\global\@resettagsleft@true\fi
+ \global\tagsleft@false
+ \tag*{$\qedsymbol$}\vphantom{\standardqed}}
+\def\aftersplitqed{\global\let\endsplit\@endsplit}
+\let\ccorg@endsplit\endsplit
+\def\@endsplit{\ccorg@endsplit\qed\global\let\endsplit\ccorg@endsplit}%
+\def\noqed{}
+\def\@ifcurrenv#1#2{\def\@tempa{#1}\ifx\@tempa\@currenvir\relax
+ \let\next#2\fi}
+\renewenvironment{displaymath}{$$}{$$\@ignoretrue}
+\renewcommand{\[}{\begin{displaymath}}
+\renewcommand{\]}{\end{displaymath}}
+\if@ams
+\def\qed{%
+ \if@resettagsleft@
+ \global\tagsleft@true
+ \global\@resettagsleft@false
+ \fi
+ \let\next\standardqed
+ \@ifcurrenv{displaymath}\eqnoqed
+ \@ifcurrenv{equation}\noqed
+ \@ifcurrenv{eqnarray}\noqed
+ \@ifcurrenv{eqnarray*}\eqnarrayqed
+ \@ifcurrenv{equation*}\tagqed
+ \@ifcurrenv{split}\aftersplitqed
+ \@ifcurrenv{multline}\noqed
+ \@ifcurrenv{multline*}\simpletagqed
+ \@ifcurrenv{gather}\noqed
+ \@ifcurrenv{gather*}\tagqed
+ \@ifcurrenv{align}\noqed
+ \@ifcurrenv{align*}\tagqed
+ \@ifcurrenv{alignat}\noqed
+ \@ifcurrenv{alignat*}\tagqed
+ \next}
+\else
+\def\qed{%
+ \let\next\standardqed
+ \@ifcurrenv{displaymath}\eqnoqed
+ \@ifcurrenv{equation}\noqed
+ \@ifcurrenv{eqnarray}\noqed
+ \@ifcurrenv{eqnarray*}\eqnarrayqed
+ \next}
+\fi
+\endinput
+%%
+%% End of file `ccqed.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccref.sty}
+%%
+%% This is file `ccref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccref,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\RequirePackage{relabel}[1998/09/07 v1.01]
+\let\nref\ref
+\babel\def\partname{Part}[german=Teil,french=\protect\@Fpt partie]
+\defprefix{part}{\partname~}
+\babel\def\chaptername{Chapter}[german=Kapitel,french=Chapitre]
+\defprefix{chapter}{\chaptername~}
+\babel\def\sectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{section}{\sectionname~}
+\babel\def\subsectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{subsection}{\subsectionname~}
+\babel\def\subsubsectionname{Section}[german=Abschnitt,french=Section]
+\defprefix{subsubsection}{\subsubsectionname~}
+\let\ccorg@appendix\appendix
+\babel\def\appendixname{Appendix}[german=Anhang,french=Annexe]
+\def\appendix{%
+ \defprefix{section}{\appendixname~}%
+ \defprefix{subsection}{\appendixname~}%
+ \defprefix{subsubsection}{\appendixname~}%
+ \ccorg@appendix}
+\defprefix{equation}#1{(#1)}
+\babel\def\figurename{Figure}[german=Figur,french={\scshape Figure}]
+\defprefix{figure}{\figurename~}
+\babel\def\tablename{Table}[german=Tafel,french={\scshape Table}]
+\defprefix{table}{\tablename~}
+\numberallwithin{section}
+\AtBeginDocument{\@adjustnumbering}
+\endinput
+%%
+%% End of file `ccref.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccreltx.sty}
+%%
+%% This is file `ccreltx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccreltx,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{ccreltx}[2002/05/22 v2.05
+ computational complexity, reactivate ltthm.
+ Michael Nuesken, Bonn.]
+\def\newtheorem#1{%
+ \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}}
+\def\@nthm#1#2{%
+ \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}}
+\def\@xnthm#1#2[#3]{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}\@newctr{#1}[#3]%
+ \expandafter\xdef\csname the#1\endcsname{%
+ \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
+ \@thmcounter{#1}}%
+ \global\@namedef{#1}{\@thm{#1}{#2}}%
+ \global\@namedef{end#1}{\@endtheorem}}}
+\def\@ynthm#1#2{%
+ \expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}%
+ \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+ \global\@namedef{#1}{\@thm{#1}{#2}}%
+ \global\@namedef{end#1}{\@endtheorem}}}
+\def\@othm#1[#2]#3{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}%
+ {\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+ \global\@namedef{#1}{\@thm{#2}{#3}}%
+ \global\@namedef{end#1}{\@endtheorem}}}}
+\def\@thm#1#2{%
+ \refstepcounter{#1}%
+ \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}}
+\def\@xthm#1#2{%
+ \@begintheorem{#2}{\csname the#1\endcsname}\ignorespaces}
+\def\@ythm#1#2[#3]{%
+ \@opargbegintheorem{#2}{\csname the#1\endcsname}{#3}\ignorespaces}
+\def\@thmcounter#1{\noexpand\arabic{#1}}
+\def\@thmcountersep{.}
+\def\@begintheorem#1#2{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape}
+\def\@opargbegintheorem#1#2#3{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}
+\def\@endtheorem{\endtrivlist}
+\endinput
+%%
+%% End of file `ccreltx.sty'.
+\end{filecontents*}
+\begin{filecontents*}{ccthm.sty}
+%%
+%% This is file `ccthm.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccthm,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesPackage{ccthm}[2014/07/08 v2.25d
+ theorem environments for cc. Michael Nuesken, Bonn.]
+\newif\if@theoremitemprefixes
+\DeclareOption{theoremitemprefixes}{\@theoremitemprefixestrue}
+\DeclareOption{notheoremitemprefixes}{\@theoremitemprefixesfalse}
+\ExecuteOptions{theoremitemprefixes}
+\ProcessOptions*
+\RequirePackage{theorem}[1995/11/23 v2.2c]
+\RequirePackage{thcc}
+\RequirePackage{relabel}
+\newtoks\everytheorem
+\everytheorem{}
+\if@theoremitemprefixes
+\def\EnumerationInTheorems#1{%
+ \let\@thm@currentlabel\@empty
+ \let\@thm@bare@currentlabel\@empty
+ \let\@@refstepcounter\refstepcounter
+ \def\refstepcounter##1{%
+ \let\refstepcounter\@@refstepcounter
+ \let\@@refstepcounter\@undefined
+ \refstepcounter{##1}%
+ \let\@thm@currentlabel\@currentlabel
+ \protected@edef\@thm@bare@currentlabel{{\csname the##1\endcsname}}%
+ }%
+ \def\theenumi{\@roman\c@enumi}%
+ \def\labelenumi{(\theenumi)}%
+ \defprefix{enumi}##1{%
+ \protect\protect\protect\@@conduselabel
+ {{\protect\csname the#1\endcsname}}%
+ {\@thm@bare@currentlabel}{\@thm@currentlabel}%
+ (##1)}%
+ \defprefix{enumii}##1{%
+ \protect\protect\protect\@@conduselabel
+ {{\protect\csname the#1\endcsname}}%
+ {\@thm@bare@currentlabel}{\@thm@currentlabel}%
+ (\theenumi.##1)}%
+ \def\theenumiii{\@arabic\c@enumiii}%
+ \def\labelenumiii{(\theenumiii)}%
+ \defprefix{enumiii}##1{%
+ \protect\protect\protect\@@conduselabel
+ {{\protect\csname the#1\endcsname}}%
+ {\@thm@bare@currentlabel}{\@thm@currentlabel}%
+ (\theenumi.\theenumii.##1)}%
+ \defprefix{enumiv}##1{%
+ \protect\protect\protect\@@conduselabel
+ {{\protect\csname the#1\endcsname}}%
+ {\@thm@bare@currentlabel}{\@thm@currentlabel}%
+ (\theenumi.\theenumii.\theenumiii##1)}%
+ }
+\else
+\def\EnumerationInTheorems#1{%
+ \def\theenumi{\@roman\c@enumi}%
+ \def\labelenumi{(\theenumi)}%
+ \defprefix{enumi}##1{(##1)}%
+ \defprefix{enumii}##1{(\theenumi.##1)}%
+ \def\theenumiii{\@arabic\c@enumiii}%
+ \def\labelenumiii{(\theenumiii)}%
+ \defprefix{enumiii}##1{(\theenumi.\theenumii.##1)}%
+ \defprefix{enumiv}##1{(\theenumi.\theenumii.\theenumiii##1)}%
+ }
+\fi
+\def\reset@prefixrefstepcounter#1{%
+ \let\refstepcounter\cc@normal@refstepcounter% Put refstepcounter back to normal
+ \refstepcounter{#1}% do normal operation
+ \defprefix{equation}##1{(##1)}% reset equation prefix
+}
+\def\theorempreamblenn\@thm#1#2{%
+ \defprefix{#1}##1{#2}%
+ \let\cc@normal@refstepcounter\refstepcounter
+ \let\refstepcounter\reset@prefixrefstepcounter
+ \EnumerationInTheorems{#1}%
+ \pagebreak[3]\relax
+ \the\everytheorem
+ \@thm{#1}{#2}}
+\theorem@bodyfont{\theorempreamblenn}
+\theoremstyle{ccnn}
+\newtoks\theoremtitle
+\newtheorem{namedth@@r@m*}{\the\theoremtitle}
+\newenvironment{namedtheorem*}[1]{%
+ \theoremtitle{#1}\csname namedth@@r@m*\endcsname}
+{\csname endnamedth@@r@m*\endcsname}
+\babel\def\Answer{Answer}[german=Antwort,french=Reponse]
+\newtheorem{answer*}[namedth@@r@m*]{\Answer}%
+\babel\def\Assumption{Assumption}[german=Annahme,french=Assomption]
+\newtheorem{assumption*}[namedth@@r@m*]{\Assumption}
+\babel\def\Claim{Claim}[german=Behauptung,french=Proposition]
+\newtheorem{claim*}[namedth@@r@m*]{\Claim}
+\babel\def\Conjecture{Conjecture}[german=Vermutung,french=Conjecture]
+\newtheorem{conjecture*}[namedth@@r@m*]{\Conjecture}
+\babel\def\Convention{Convention}[german=Vereinbarung,french=Convention]
+\newtheorem{convention*}[namedth@@r@m*]{\Convention}%
+\babel\def\Corollary{Corollary}[german=Korollar,french=Corollaire]
+\newtheorem{corollary*}[namedth@@r@m*]{\Corollary}
+\babel\def\Counterexample{Counterexample}[%
+ german=Gegenbeispiel,french=Contre-exemple]
+\newtheorem{counterexample*}[namedth@@r@m*]{\Counterexample}%
+\babel\def\Definition{Definition}[german=Definition,french=D\'efinition]
+\newtheorem{definition*}[namedth@@r@m*]{\Definition}
+\babel\def\Exercise{Exercise}[german=Aufgabe,french=Exercice]
+\newtheorem{exercise*}[namedth@@r@m*]{\Exercise}
+\babel\def\Fact{Fact}[german=Fakt,french=Fait]
+\newtheorem{fact*}[namedth@@r@m*]{\Fact}
+\babel\def\Hypothesis{Hypothesis}[german=Hypothese,french=Hypoth\`ese]
+\newtheorem{hypothesis*}[namedth@@r@m*]{\Hypothesis}
+\babel\def\Lemma{Lemma}[german=Lemma,french=Lemme]
+\newtheorem{lemma*}[namedth@@r@m*]{\Lemma}
+\babel\def\Notation{Notation}[german=Notation,french=Notation]
+\newtheorem{notation*}[namedth@@r@m*]{\Notation}
+\babel\def\Note{Note}[german=Notiz,french=Note]
+\newtheorem{note*}[namedth@@r@m*]{\Note}
+\babel\def\Observation{Observation}[%
+ german=Beobachtung,french=Observation]
+\newtheorem{observation*}[namedth@@r@m*]{\Observation}
+\babel\def\OpenQuestion{Open Question}[%
+ german=Offene Frage,french=Question ouverte]
+\newtheorem{open*}[namedth@@r@m*]{\OpenQuestion}
+\newtheorem{openquestion*}[namedth@@r@m*]{\OpenQuestion}
+\babel\def\Problem{Problem}[german=Problem,french=Probl\`eme]
+\newtheorem{problem*}[namedth@@r@m*]{\Problem}
+\babel\def\Proposition{Proposition}[%
+ german=Behauptung,french=Proposition]
+\newtheorem{proposition*}[namedth@@r@m*]{\Proposition}
+\babel\def\Question{Question}[german=Frage,french=Question]
+\newtheorem{question*}[namedth@@r@m*]{\Question}%
+\babel\def\Remark{Remark}[german=Bemerkung,french=Remarque]
+\newtheorem{remark*}[namedth@@r@m*]{\Remark}
+\babel\def\Result{Result}[german=Ergebnis,french=R\'esultat]
+\newtheorem{result*}[namedth@@r@m*]{\Result}
+\babel\def\Theorem{Theorem}[german=Satz,french=Th\'eor\`eme]
+\newtheorem{theorem*}[namedth@@r@m*]{\Theorem}
+\babel\def\Thesis{Thesis}[german=These,french=Th\`ese]
+\newtheorem{thesis*}[namedth@@r@m*]{\Thesis}%
+\babel\def\Warning{Warning}[german=Warnung,french=Alerte]
+\newtheorem{warning*}[namedth@@r@m*]{\Warning}%
+\babel\def\Example{Example}[german=Beispiel,french=Exemple]
+\newenvironment{example*}[1][]{%
+ \cc@ifempty{#1}
+ {\csname namedtheorem*\endcsname{\Example}}%
+ {\csname namedtheorem*\endcsname{\Example}[#1]}%
+ \upshape
+ \let\qedsymbol\eoesymbol
+ }
+{\qed\csname endnamedtheorem*\endcsname}
+\def\theorempreamble\@thm#1#2{%
+ \defprefix{#1}##1{#2~##1}%
+ \let\cc@normal@refstepcounter\refstepcounter
+ \let\refstepcounter\reset@prefixrefstepcounter
+ \EnumerationInTheorems{#1}%
+ \pagebreak[3]\relax
+ \the\everytheorem
+ \@thm{#1}{#2}}
+\theorem@bodyfont{\theorempreamble}
+\theoremstyle{cc}
+\if@ccnosepeqncnt
+%%% \let\c@namedth@@r@m\c@equation
+%%% \def\thenamedth@@r@m{\theequation}
+\def\cc@thmcnter{equation}
+\newtheorem{namedth@@r@m}[\cc@thmcnter]{\the\theoremtitle}
+\else
+\newtheorem{namedth@@r@m}{\the\theoremtitle}
+\def\cc@thmcnter{namedth@@r@m}
+\fi
+\newenvironment{namedtheorem}[1]
+ {\theoremtitle{#1}\namedth@@r@m}
+ {\endnamedth@@r@m}
+\if@standardtheorems
+\newtheorem{answer}[\cc@thmcnter]{\Answer}
+\newtheorem{assumption}[\cc@thmcnter]{\Assumption}
+\newtheorem{claim}[\cc@thmcnter]{\Claim}
+\newtheorem{conjecture}[\cc@thmcnter]{\Conjecture}
+\newtheorem{convention}[\cc@thmcnter]{\Convention}
+\newtheorem{corollary}[\cc@thmcnter]{\Corollary}
+\newtheorem{counterexample}[\cc@thmcnter]{\Counterexample}
+\newtheorem{definition}[\cc@thmcnter]{\Definition}
+\newtheorem{exercise}[\cc@thmcnter]{\Exercise}
+\newtheorem{fact}[\cc@thmcnter]{\Fact}
+\newtheorem{hypothesis}[\cc@thmcnter]{\Hypothesis}
+\newtheorem{lemma}[\cc@thmcnter]{\Lemma}
+\newtheorem{notation}[\cc@thmcnter]{\Notation}
+\newtheorem{note}[\cc@thmcnter]{\Note}
+\newtheorem{observation}[\cc@thmcnter]{\Observation}
+\newtheorem{open}[\cc@thmcnter]{\OpenQuestion}
+\newtheorem{openquestion}[\cc@thmcnter]{\OpenQuestion}
+\newtheorem{problem}[\cc@thmcnter]{\Problem}
+\newtheorem{proposition}[\cc@thmcnter]{\Proposition}
+\newtheorem{question}[\cc@thmcnter]{\Question}
+\newtheorem{remark}[\cc@thmcnter]{\Remark}
+\newtheorem{result}[\cc@thmcnter]{\Result}
+\newtheorem{theorem}[\cc@thmcnter]{\Theorem}
+\newtheorem{thesis}[\cc@thmcnter]{\Thesis}
+\newtheorem{warning}[\cc@thmcnter]{\Warning}
+\newenvironment{example}[1][]{%
+ \cc@ifempty{#1}
+ {\namedtheorem{\Example}}%
+ {\namedtheorem{\Example}[#1]}%
+ \upshape
+ \let\qedsymbol\eoesymbol
+ }
+{\qed\endnamedtheorem}
+\else
+\newtheorem{answer}{\Answer}
+\newtheorem{assumption}{\Assumption}
+\newtheorem{claim}{\Claim}
+\newtheorem{conjecture}{\Conjecture}
+\newtheorem{convention}{\Convention}
+\newtheorem{corollary}{\Corollary}
+\newtheorem{counterexample}{\Counterexample}
+\newtheorem{definition}{\Definition}
+\newtheorem{exercise}{\Exercise}
+\newtheorem{fact}{\Fact}
+\newtheorem{hypothesis}{\Hypothesis}
+\newtheorem{lemma}{\Lemma}
+\newtheorem{notation}{\Notation}
+\newtheorem{note}{\Note}
+\newtheorem{observation}{\Observation}
+\newtheorem{open}{\OpenQuestion}
+\newtheorem{openquestion}{\OpenQuestion}
+\newtheorem{problem}{\Problem}
+\newtheorem{proposition}{\Proposition}
+\newtheorem{question}{\Question}
+\newtheorem{remark}{\Remark}
+\newtheorem{result}{\Result}
+\newtheorem{theorem}{\Theorem}
+\newtheorem{thesis}{\Thesis}
+\newtheorem{warning}{\Warning}
+\newtheorem{exampleexample}{\Example}
+\newenvironment{example}{%
+ \exampleexample%
+ \upshape
+ \let\qedsymbol\eoesymbol
+ }
+{\qed\endexampleexample}
+\fi
+\babel\def\ccContinued{continued}[%
+ german=fortgesetzt,french=continu\'e(e)]
+\newenvironment{continued}[1]{%
+ \csname namedtheorem*\endcsname{\ref{#1} \ccContinued}%
+ }{\csname endnamedtheorem*\endcsname}
+\newenvironment{contexample}[1]{%
+ \csname namedtheorem*\endcsname{\ref{#1} \ccContinued}%
+ \upshape
+ \let\qedsymbol\eoesymbol
+ }
+{\qed\csname endnamedtheorem*\endcsname}
+\newcommand{\eoesymbol}{\lozenge}
+\endinput
+%%
+%% End of file `ccthm.sty'.
+\end{filecontents*}
+\begin{filecontents*}{develop.sty}
+% \iffalse meta-comment
+%
+% Copyright 1998, 2005, Michael Nüsken
+%
+% develop.sty
+% 30-jul-98 ... build from drafting.sty, ported to LateX2e,
+% extracted best things ...
+% 14-dec-98 ... added \pagestyle-change for signdraft
+% 05-feb-99 ... now \ifshowlabels may be used for a `local' control
+% 25-may-99 ... added \oopscomment
+% 27-oct-99 ... Added \showlabelsfalse to \showoopslist.
+% 05-apr-00 ... Replaced several \gray commands by \begingray...\endgray
+% so that there is no additional group.
+% 12-apr-00 ... Changed \begingray...\endgray due to missing "color
+% pop"'s reported by dvips
+% 15-dec-00 ... added \invisoops, \todo, \invistodo. \oopscomment
+% gives \gray now.
+% 19-dec-00 ... added environment draft which disappers in final. But
+% we need the package skipenv now.
+% 20-dec-00 ... added changed \@setref, shows labelname if \ref missing.
+% 01-sep-09 ... corrected a small error in \thispagestyle
+%
+% drafting.sty
+% 25-mar-92 ... first things
+% 06-apr-92 ... more facilities
+% 25-aug-92 ... repaired
+% 07-apr-94 ... repaired \skipenv; changed \label,\ref,\pageref
+% Remark: \onlysections does not work. I don't know why.
+% 17-jun-96 ... changed \showlabels, added \dotproofs
+% 04-oct-96 ... some small changes (using PSTricks, using \gray now)
+% 18-jun-97 ... added \showcommas
+% 29-apr-98 ... changed display of \ref, \pageref and \cite under
+% \showlabels
+% 22-sep-99 ... some extra options and updates
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3a
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3a or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% -----------------------------------------------------------
+%
+%<*chartab>
+%\fi
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+% \iffalse meta-comment
+%</chartab>
+% \fi
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{develop}[2009/09/22 v1.02 develop MNuesken]
+
+\newif\ifdraft
+\DeclareOption{draft}{\drafttrue}
+\DeclareOption{final}{\draftfalse
+ \oopslistfalse
+ \showlabelsfalse
+ \signdraftfalse
+ \showcommasfalse
+}
+
+\newif\ifoopslist
+\newif\ifoops \oopsfalse
+\DeclareOption{oopslist}{\oopslisttrue}
+\DeclareOption{nooopslist}{\oopslistfalse}
+
+\newif\ifshowlabels
+\DeclareOption{dontshowlabels}{\showlabelsfalse}
+\DeclareOption{showlabels}{\showlabelstrue}
+\DeclareOption{nolabels}{\showlabelsfalse}
+\DeclareOption{labels}{\showlabelstrue}
+
+\newif\ifpstrickslabels \pstrickslabelsfalse
+\DeclareOption{nopstrickslabels}{\pstrickslabelsfalse}
+\DeclareOption{pstrickslabels}{\pstrickslabelstrue}
+
+\newif\ifleftflag \leftflagtrue
+\newif\ifrightflag \rightflagtrue
+\DeclareOption{hiderightflag}{\rightflagfalse}
+\DeclareOption{hideleftflag}{\leftflagfalse}
+\DeclareOption{hideflags}{\rightflagfalse\leftflagfalse}
+\DeclareOption{showflags}{\rightflagtrue\leftflagtrue}
+
+\newif\ifsigndraft
+\DeclareOption{signdraft}{\signdrafttrue}
+\DeclareOption{dontsigndraft}{\signdraftfalse}
+
+\newif\ifshowcommas
+\DeclareOption{showcommas}{\showcommastrue}
+\DeclareOption{dontshowcommas}{\showcommasfalse}
+
+\newif\ifdraftpagenumbering
+\DeclareOption{draftpagenumbering}{\draftpagenumberingtrue}
+\DeclareOption{finalpagenumbering}{\draftpagenumberingfalse}
+
+\ExecuteOptions{final,nooopslist,labels,signdraft,dontshowcommas,finalpagenumbering}
+\ProcessOptions
+
+%%% Moved that to the Option "final"... so you can turn it on!
+%%% \ifdraft\else
+%%% \oopslistfalse
+%%% \showlabelsfalse
+%%% \signdraftfalse
+%%% \showcommasfalse
+%%% \fi
+
+\ifpstrickslabels
+\RequirePackage{pst-node}
+\fi
+
+% Provide a macro for writing \gray !
+\@ifundefined{gray}{%
+ \RequirePackage{color}%
+ \definecolor{mediumgray}{gray}{0.5}%
+ \definecolor{mediumblack}{gray}{0.1}%
+ \providecommand{\gray}{\color{mediumgray}}%
+ \providecommand{\black}{\color{mediumblack}}%
+ }{}%
+\def\begingray{\begingroup\leavevmode\gray{}}
+\def\endgray{\endgroup}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Commands to display labels ...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\developInfo#1#2{}%
+\newif\ifwas@inlabel
+\def\Fbox#1{{\fboxsep1pt\fbox{\tiny\tt #1}}}
+\ifpstrickslabels
+\newpsstyle{leftflag}{linewidth=.4pt,linecolor=black}
+\newcounter{flag}
+\def\leftflag#1{%
+ \@bsphack% space hack
+ %%% \typeout{LEFTFLAG #1}%
+ \def\next{\do@leftflagmargin{#1}}%
+ \if@inlabel
+ \def\next{\global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \do@leftflagimmediate{#1}}}%
+ \else
+ \ifvmode\ifinner\else
+ \edef\next{\everypar{\the\everypar
+ \noexpand\do@leftflagimmediate{#1}}}%
+ \fi\fi
+ \fi
+ %%% \show\next
+ \next
+ \@esphack}
+\def\do@leftflagmargin#1{%
+ \stepcounter{flag}%
+ \rnode[t]{T\theflag}{}%
+ \marginpar{\rnode[t]{M\theflag}{\Fbox{%
+ \parbox[t]{\marginparwidth}{%
+ #1 =\whole\ref{#1}%
+ }%
+ }}%
+ \ncbar[style=leftflag,
+ angleA=90,armA=.3\baselineskip,
+ angleB=90]{M\theflag}{T\theflag}%
+ }%
+}
+\def\do@leftflagimmediate#1{%
+ \stepcounter{flag}%
+ \rnode[t]{T\theflag}{}%
+ \rput[br](0,.7\baselineskip){%
+ \rnode[br]{M\theflag}{\Fbox{%
+%%% \parbox[t]{\marginparwidth}{%
+ #1% =\whole\ref{#1}%
+%%% }%
+ }}}%
+ \ncangle[style=leftflag,
+ angleA=-90,armA=0mm,
+ angleB=90,armB=.7\baselineskip]{M\theflag}{T\theflag}%
+}
+\let\rightflag\leftflag
+\else
+\expandafter\ifx\csname rput\endcsname\relax
+%%% Defs if PSTricks is NOT loaded.
+\def\leftflag#1{%
+ \if@inlabel
+ \developInfo{develop}{leftflag #1 in label}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \makebox(0,0){%
+ \lower-2\baselineskip\hbox{%
+ \llap{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.6\baselineskip
+ }%
+ }}%
+ \else\ifvmode
+ \ifinner\else
+ \developInfo{develop}{leftflag #1 vmode outer}%
+ \marginpar{\rlap{%
+ \Fbox{#1}%
+ }%
+ }%
+ \fi
+ \else
+ \@bsphack
+ \developInfo{develop}{leftflag #1 hmode}%
+ \makebox(0,0){%
+ \lower-2\baselineskip\hbox{%
+ \llap{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.6\baselineskip
+ }%
+ }%
+ \@esphack
+ \fi\fi
+ }
+\def\rightflag#1{%
+ \if@inlabel
+ \developInfo{develop}{rightflag #1 in label}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \makebox(0,0){%
+ \lower-2\baselineskip\hbox{%
+ \rlap{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.6\baselineskip
+ }%
+ }}%
+ \else\ifvmode
+ \ifinner\else
+ \developInfo{develop}{rightflag #1 vmode outer}%
+ \marginpar{\rlap{%
+ \Fbox{#1}%
+ }%
+ }%
+ \fi
+ \else
+ \@bsphack
+ \developInfo{develop}{rightflag #1 hmode}%
+ \makebox(0,0){%
+ \lower-2\baselineskip\hbox{%
+ \rlap{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.6\baselineskip
+ }%
+ }%
+ \@esphack
+ \fi\fi
+ }
+\else
+%%% Defs of \labelflag and \bibflag if PSTricks IS loaded.
+\typeout{Using PSTricks ...}
+\def\leftflag#1{%
+ \if@inlabel
+ \developInfo{develop}{leftflag #1 in label}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \makebox(0,0){%
+ \lower-1.8\baselineskip\hbox{\gray%
+ \psset{framesep=.4pt,border=0pt}\rput*[r]{0}{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.8\baselineskip
+ }%
+ }%
+ }%
+ \else\ifvmode
+ \ifinner\else
+ \developInfo{develop}{leftflag #1 vmode outer}%
+ \marginpar{{\gray\Fbox{#1}}}%
+ \fi
+ \else
+ \@bsphack
+ \developInfo{develop}{leftflag #1 hmode}%
+ \makebox(0,0){%
+ \lower-1.8\baselineskip\hbox{\gray%
+ \psset{framesep=.4pt,border=0pt}\rput*[r]{0}{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.8\baselineskip
+ }%
+ }%
+ \@esphack
+ \ifwas@inlabel\ignorespaces\fi
+ \fi\fi
+ }
+\def\rightflag#1{%
+ \if@inlabel
+ \developInfo{develop}{rightflag #1 in label}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \makebox(0,0){%
+ \lower-1.8\baselineskip\hbox{\gray%
+ \psset{framesep=.4pt,border=0pt}\rput*[l]{0}{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.8\baselineskip
+ }%
+ }%
+ }%
+ \else\ifvmode
+ \ifinner\else
+ \developInfo{develop}{rightflag #1 vmode outer}%
+ \marginpar{{\gray\Fbox{#1}}}%
+ \fi
+ \else
+ \@bsphack
+ \developInfo{develop}{rightflag #1 hmode}%
+ \makebox(0,0){%
+ \lower-1.8\baselineskip\hbox{\gray%
+ \psset{framesep=.4pt,border=0pt}\rput*[l]{0}{%
+ \Fbox{#1}%
+ }%
+ \hskip-.4pt%
+ \vrule depth.8\baselineskip
+ }%
+ }%
+ \@esphack
+ \fi\fi
+ }
+\fi
+\fi
+
+\ifleftflag\else\def\leftflag#1{}\fi
+\ifrightflag\else\def\rightflag#1{}\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Show labels and references ...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\let\@@label\label
+\let\@@ref\ref
+\let\@@pageref\pageref
+\let\@@cite\cite
+\let\@@bibitem\@bibitem
+\let\@@lbibitem\@lbibitem
+
+\newif\ifshowrefs \showrefsfalse
+\newif\ifshowcites \showcitesfalse
+% \def\ifshowcites{\ifshowrefs}
+% \let\showcitestrue\showrefstrue
+% \let\showcitesfalse\showrefsfalse
+\ifshowlabels
+ \showrefstrue
+ \showcitestrue
+
+ \def\@@@label{\protect\@@@@label}
+ \def\@@@@label#1{\@@label{#1}\ifshowlabels\leftflag{#1}\fi}
+ \def\@@@ref{\protect\@@@@ref}
+ \def\@@@@ref#1{\ifshowrefs\expandafter\begingray\fi\ifshowrefs\leavevmode\rightflag{#1}\fi\@@ref{#1}\ifshowrefs\expandafter\endgray\fi}
+ \def\@@@pageref{\protect\@@@@pageref}
+ \def\@@@@pageref#1{\ifshowrefs\leavevmode\rightflag{#1}\fi
+ {{\gray{\@@pageref{#1}}}}}
+ %%\def\@@@@cite#1#2{\ifshowrefs\rightflag{#1}\fi{{\gray{\@@cite{#1}{#2}}}}}
+ \def\@@@cite{\@ifnextchar[{\@@@citea}{\@@@citeb}}
+ \def\@@@citea[#1]#2{\ifshowcites\expandafter\begingray\fi\ifshowcites\rightflag{#2}\fi\@@cite[#1]{#2}\ifshowcites\expandafter\endgray\fi}
+ \def\@@@citeb#1{\ifshowcites\expandafter\begingray\fi\ifshowcites\rightflag{#1}\fi\@@cite{#1}\ifshowcites\expandafter\endgray\fi}
+ %%\@ifundefined{c@#2}{{\gray{\tt #1/#2}}}{}% Need to emulate \cite
+ %%instead of \@cite to get the original label ...
+ \def\@@@citex[#1][#2]#3{\ifshowcites\expandafter\begingray\fi\ifshowcites\rightflag{#3}\fi\@@citex[#1][#2]{#3}\ifshowcites\expandafter\endgray\fi}
+ \def\@@@bibitem#1{%
+ \@@bibitem{#1}\ifshowlabels\leavevmode\rightflag{#1}\ignorespaces\fi}
+ \def\@@@lbibitem[#1]#2{%
+ \@@lbibitem[#1]{#2}\ifshowlabels\leavevmode\rightflag{#2}\ignorespaces\fi}
+ \def\@@@citedata{\protect\@@@@citedata}
+ \def\@@@@citedata#1{\ifshowcites\expandafter\begingray\fi\ifshowcites\leavevmode\rightflag{#1}\fi\@@citedata{#1}\ifshowcites\expandafter\endgray\fi}
+
+ \long\def\@gobblethree#1#2#3{}
+ \def\@@@setref#1#2#3{%
+ \ifx#1\relax
+ \protect\G@refundefinedtrue
+ \nfss@text{\reset@font\bfseries ?\texttt{\expandafter\@gobblethree\string#1}?}%
+ \@latex@warning{Reference `#3' on page \thepage \space
+ undefined}%
+ \else
+ \expandafter#2#1\null
+ \fi}
+
+ \AtBeginDocument{%
+ \let\@@label\label \let\label\@@@label
+ \let\@@ref\ref \let\ref\@@@ref
+ \let\@@pageref\pageref \let\pageref\@@@pageref
+ \let\@setref\@@@setref
+ %%\let\@@cite\cite \let\cite\@@@cite
+ %%\let\@cite\@@@@cite
+ \@ifpackageloaded{natbib}{%
+ \let\@@citex\@citex \let\@citex\@@@citex
+ }{%
+ \let\@@cite\cite \let\cite\@@@cite
+ }
+ \let\@@bibitem\@bibitem \let\@bibitem\@@@bibitem
+ \let\@@lbibitem\@lbibitem \let\@lbibitem\@@@lbibitem
+ \let\@@citedata\@citedata \let\@citedata\@@@citedata
+ }
+ \@ifundefined{everyproof}{}{%
+ \everyproof\expandafter{\the\everyproof
+ \def\@itemlabel{\rlap{$\circ$}\hskip-\labelsep\hskip\parindent}%
+ }%
+ }%
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Show commas ...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifshowcommas
+ {%
+ \uccode`\~`\,
+ \uppercase{\gdef~}{%
+ \ifmmode,\else\smash{\textbf{\huge ,}}\fi
+ }}%
+ \AtBeginDocument{\catcode`\,\active}%
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Now: time display ...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% From now.sty 25-oct-91
+% A macro for time display
+
+% Calculate hour and minute and define macro \now for time.
+\newcount\hour \hour\time\divide\hour60
+\newcount\minute \minute-\hour\multiply\minute60\advance\minute\time
+\def\now{$\ifnum\hour<10 0\fi\the\hour
+ ^{\underline{\ifnum\minute<10 0\fi\the\minute}}$}
+
+% End now.sty
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Sign draft ...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newtoks\draftsignature \draftsignature{Entwurf}
+\ifsigndraft
+ \PackageInfo{develop}{%
+ Signdraft enabled. %
+ Use \string\draftsignature=\string{Bla\string} to change it.}
+ \gdef\draft@oddfoot{\rm\footnotesize
+ \the\draftsignature
+ \hfil
+ \thepage
+ \hfil
+ \LaTeXe(\texttt{\draft@filename}): \today, \now
+ }
+ \gdef\draft@evenfoot{\rm\footnotesize
+ \LaTeXe(\texttt{\draft@filename}): \today, \now
+ \hfil
+ \thepage
+ \hfil
+ \the\draftsignature
+ }
+ \global\let\@oddfoot\draft@oddfoot
+ \global\let\@evenfoot\draft@evenfoot
+ %% TODO: Modify \pagestyle
+ \let\@@pagestyle\pagestyle
+ \def\pagestyle#1{\@@pagestyle{#1}%
+ \let\@oddfoot\draft@oddfoot
+ \let\@evenfoot\draft@evenfoot}
+ \let\@@thispagestyle\thispagestyle
+ \def\thispagestyle#1{%
+ \expandafter\gdef\csname ps@@@#1\endcsname{%
+ \@nameuse{ps@#1}%
+ \let\@oddfoot\draft@oddfoot
+ \let\@evenfoot\draft@evenfoot
+ }%
+ \@@thispagestyle{@@#1}%
+ }
+ %%
+ \let\draft@include\include
+ \let\draft@filename\jobname
+ \def\draft@register#1{%
+ \gdef\draft@filename{}%
+ \@tfor\draft@x:=#1\do{%
+ \xdef\draft@filename{\draft@filename\noexpand\string\draft@x}%
+ }%
+ }
+ \def\include#1{%
+ \draft@register{#1}%
+% %Starting \texttt{\draft@filename}\dots
+% \addtocontents{toc}{\protect\ifdrafttoc
+% \texttt{\draft@filename}\dots\par
+% \protect\fi}%
+ \draft@include{#1}%
+% \addtocontents{toc}{\protect\ifdrafttoc
+% \dots\texttt{\draft@filename}\par
+% \protect\fi}%
+% %Ending \texttt{\draft@filename}.
+% \clearpage
+ \global\let\draft@filename\jobname}
+
+\fi
+
+
+\def\draftpagenumbering#1{%
+ \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname
+ \c@page
+ \protect\ifsigndraft
+ \protect\rlap{(\protect\texttt{\draft@filename})}%
+ \protect\fi}}
+
+\ifsigndraft
+\ifdraftpagenumbering
+ \let\pagenumbering\draftpagenumbering
+ \pagenumbering{arabic}
+\fi
+\fi
+
+\newif\ifdrafttoc \drafttocfalse
+\def\drafttableofcontents{\drafttoctrue\tableofcontents\drafttocfalse}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% Oopsing ...
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifdraft
+ \let\oops@label\label
+ \PackageInfo{develop}{%
+ While in draft mode, you can use \string\oops\string{bla\string}
+ to mark critical points in your text (with comment bla). If you
+ use the option oopslist, then a list of all these is appended to
+ your document.}
+ \addtocounter{section}{-1}\refstepcounter{section}%
+ \global\let\oopsnewline\cl@@ckpt% Bei includes NICHT den fehlenden ...
+ \newcounter{oops}[section]
+ \global\let\cl@@ckpt\oopsnewline% ... Teil in der Zählung für oops
+ % berücksichtigen.
+ \def\theoops{\thesection.\arabic{oops}}
+ \newtoks\oopslist \oopslist{\@gobble}
+ \def\oopsnewline{,\\}
+ \let\oopschar\bigstar
+ \newcommand{\genericoops}[1]{%
+ \ifmmode
+ \oopschar\text{?`}\oopschar#1\oopschar?\oopschar%
+ \@temptokena{$#1$}%
+ \else
+ $\oopschar$?`$\oopschar$#1$\oopschar$?$\oopschar$%
+ \@temptokena{#1}%
+ \fi%
+ \oopstrue
+ \addtocounter{oops}{1}%
+ \edef\@tempa{%
+ \noexpand\protect\noexpand\oops@label{oops\theoops}%
+ \noexpand\expandafter
+ \noexpand\global
+ \noexpand\expandafter
+ \noexpand\oopslist
+ \noexpand\expandafter
+ {\noexpand\the\noexpand\oopslist
+ \noexpand\oopsnewline
+ \relax
+ $\oopschar$\theoops:\noexpand\pageref{oops\theoops} %
+ \expandafter\the\@temptokena\unskip
+ }%
+ }%
+ \@tempa\relax
+ }%
+ \newcommand{\oops}{\let\oopschar\bigstar\genericoops}
+ \newcommand{\invisoops}[1]{\let\oopschar\clubsuit
+ \genericoops{\oopscomment{#1}}}
+ \newcommand\oopscomment[1]{{\gray #1}}%
+ \newcommand\showoopslist{%
+ \ifoops
+ \section*{Oopslist}
+ \addcontentsline{toc}{section}{Oopslist}%
+ {\showrefsfalse\showcitesfalse
+ \the\oopslist.
+ \par}
+ \fi
+ }
+ \ifoopslist
+ \AtEndDocument{\showoopslist}
+ \fi
+ \newenvironment{draft}
+ {\par\noindent$\oopschar$?`$\oopschar$\gray\small}
+ {\black$\oopschar$?$\oopschar$\par\ignorespacesafterend}
+\else
+ \newcommand\genericoops[1]{%
+ \ifmmode
+ \oopschar\oopschar\oopschar\text{?`}\oopschar#1\oopschar?\oopschar%
+ \else
+ $\oopschar\oopschar\oopschar$?`$\oopschar$#1$\oopschar$?$\oopschar$%
+ \fi%
+ \PackageError{develop}{%
+ You used \string\oops, which is reserved for drafts.}{%
+ Decide your remark.^^JIn a final version, all \string\oops-es
+ should be decided.}}
+ \newcommand\showoopslist{\PackageError{develop}{%
+ You used \string\showoopslist, which is reserved for drafts.}{}}
+ \newcommand\oopscomment[1]{}%
+ \newcommand{\oops}{\let\oopschar\bigstar\genericoops}
+ \newcommand{\invisoops}[1]{}
+ %%
+ \RequirePackage{skipenv}
+ \newenvironment{draft}{}{}
+ \skipenv{draft}
+\fi
+\AtBeginDocument{%
+ \providecommand{\todo}{\protect\oops}
+ \providecommand{\mtodo}[1]{\marginpar{\tiny\todo{#1}}}
+ \providecommand{\invistodo}{\protect\invisoops}
+ \providecommand{\text}{\mbox}
+ }
+
+\endinput
+
+To upload the package go to <http://dante.ctan.org/upload> and enter:
+
+Name of your contribution
+Develop toolkit
+
+Your name
+Michael Nüsken
+
+Your email
+nuesken@bit.uni-bonn.de
+
+Summary description
+This collects a set of macros useful during the development of articles.
+
+Suggested CTAN directory
+macros/latex/contrib/gamma
+
+Short description for announcement.
+-----------------------------------------------------------------------------
+The LaTeX2e class develop collects a set of macros useful during the
+development of articles.
+
+The author is Michael Nüsken.
+The package is Copyright (c) 1998-2010 Michael Nüsken.
+
+Present version <see above>.
+Differences to previous version: ???
+-----------------------------------------------------------------------------
+
+Indicate the license.
+tpye=Free, LaTeX Project
+
+Input your file's name on your computer.
+
+Submit
+\end{filecontents*}
+\begin{filecontents*}{relabel.sty}
+%%
+%% This is file `relabel.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `relabel,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%% Copyright (C) 1998 Michael N\"{u}sken, all rights reserved.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{relabel}[2014/07/08 v1.02 Relabel. MNuesken]
+\newif\if@prefixes
+\DeclareOption{prefixes}{\@prefixestrue}
+\DeclareOption{noprefixes}{\@prefixesfalse}
+\newif\if@bare
+\DeclareOption{bare}{\@baretrue}
+\DeclareOption{nobare}{\@barefalse}
+\ExecuteOptions{prefixes,nobare}
+\ProcessOptions*
+\newcommand*{\Label}[2]{\modify{#2}\label{#1}\revert}
+\newcommand*{\modify}[1]{\@bsphack%
+ \global\let\revert@currentlabel\@currentlabel
+ \global\let\revert@bare@currentlabel\@bare@currentlabel
+ \def\@tempb##1{#1}
+ \protected@edef\@currentlabel{\@tempb{\@currentlabel}}%
+ \@esphack}
+\newcommand*{\revert}{\@bsphack
+ \global\let\@currentlabel\revert@currentlabel
+ \global\let\@bare@currentlabel\revert@bare@currentlabel
+ \@esphack}
+\let\revert@currentlabel\relax
+\let\revert@bare@currentlabel\relax
+\newcommand*{\setcurrentlabel}[1]{%
+ \protected@edef\@currentlabel{#1}%
+ \let\@bare@currentlabel\@currentlabel}
+\newcommand*{\defprefix}[1]{\if@prefixes
+ \def\next{\expandafter\def\csname p\string @#1\endcsname}%
+ \else\def\next{\def\next}\fi\next}
+\newcommand*{\useprefix}[1]{\csname p\string @#1\endcsname}
+\newcommand*{\uselabel}[1]{\csname p\string @#1\expandafter
+ \endcsname\csname the#1\endcsname}
+\def\defprefixcond#1#2{\defprefix{#1}{\conduselabel{#2}}}
+\newcommand*{\Iflabelchanged}[2]{%
+ \protect\protect\protect\@@conduselabel
+ {{\protect\csname the#1\endcsname}}%
+ {{\csname the#1\endcsname}}%
+ {#2}%
+ }
+\def\conduselabel#1{% obsolete
+ \protect\protect\protect\@@conduselabel
+ {{\protect\csname the#1\endcsname}}%
+ {{\csname the#1\endcsname}}%
+ {\csname p\string @#1\endcsname{\csname the#1\endcsname}}%
+ }%
+\def\@@conduselabel#1#2#3{{%
+ \let\protect\relax
+ \edef\@tempa{#1}%
+ \edef\@tempc{#2}%
+ \ifx\@tempa\@tempc\relax\@condlabelfalse\else\@condlabeltrue\fi
+ \iflonglabel\@condlabeltrue\fi
+ \ifshortlabel\@condlabelfalse\fi
+ \if@condlabel #3\fi
+ }}
+\newif\if@condlabel
+\newif\iflonglabel \longlabelfalse
+\newif\ifshortlabel \shortlabelfalse
+\def\short\ref#1{{\shortlabeltrue\ref{#1}}}
+\def\whole\ref#1{{\longlabeltrue\ref{#1}}}
+\def\quiet\ref#1{\vphantom{\ref{#1}}}
+\CheckCommand*\refstepcounter[1]{\stepcounter{#1}%
+ \protected@edef\@currentlabel
+ {\csname p@#1\endcsname\csname the#1\endcsname}%
+}
+\def\refstepcounter#1{\stepcounter{#1}%
+ \protected@edef\@currentlabel
+ {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
+ \protected@edef\@bare@currentlabel
+ {\csname the#1\endcsname}%
+}
+\if@bare
+\def\relabel@label#1{\ifx\@currentlabel\@bare@currentlabel\else
+ {\let\@currentlabel\@bare@currentlabel\relabel@olabel{bare@#1}}%
+ \fi\relabel@olabel{#1}}
+\def\init@bare{\if@bare\let\relabel@olabel\label\let\label\relabel@label\fi}
+\AtBeginDocument{\init@bare}%
+\def\bare\ref#1{\@ifundefined{r@bare@#1}{\ref{#1}}{\ref{bare@#1}}}
+\else
+\def\bare{\PackageWarning{relabel}{\string\bare\space disabled! (Use
+ option bare to enable it.)}}
+\def\init@bare{}
+\fi
+\let\@bare@currentlabel\@currentlabel
+\endinput
+%%
+%% End of file `relabel.sty'.
+\end{filecontents*}
+\begin{filecontents*}{thcc.sty}
+%%
+%% This is file `thcc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `thcc,chartab')
+%%
+%% Copyright 2000-2016
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is a generated file. It is part of the
+%% computational complexity macro package
+%% derived from cc.dtx by 'tex cc.ins'.
+%% See cc.dtx for license information.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{thcc}[2012/06/22 v2.25
+ computational complexity, theorem layouts.
+ Michael Nuesken, Bonn.]
+\RequirePackage{theorem}[1995/11/23 v2.2c]
+\def\cc@forbiddenpackage{2010/10/26 Forbidden by cc.cls/thcc.sty. Not loaded!}
+\expandafter\global\expandafter\let\csname ver@amsthm.sty\endcsname\cc@forbiddenpackage
+\expandafter\global\expandafter\let\csname ver@apthm.sty\endcsname\cc@forbiddenpackage
+\let\orig@ifpackageloaded\@ifpackageloaded
+\def\@ifpackageloaded#1{%
+ \expandafter\ifx\csname ver@#1.\@pkgextension\endcsname\cc@forbiddenpackage
+ \expandafter\@secondoftwo% consider it as not loaded
+ \else
+ \gdef\cc@reserved{\orig@ifpackageloaded{#1}}\expandafter\cc@reserved%
+ \fi}
+\def\activate@shortcite{}
+\AtBeginDocument{%
+ \@ifpackageloaded{cccite}{%
+ \def\activate@shortcite{\let\cite\shortcite}
+ }{}%
+ \@ifpackageloaded{natbib}{%
+ \def\activate@shortcite{%
+ \let\cite\citealt
+ \let\citet\citealt
+ \let\citep\citealp
+ }%
+ }{}%
+ \if@manualbibliography\def\activate@shortcite{}\fi
+}
+\newskip\postthmcmtskip
+\postthmcmtskip .5em plus .5em
+\def\th@cc{%
+ \normalfont\slshape
+ \def\@begintheorem##1##2{\item
+ [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}%
+ \def\@opargbegintheorem##1##2##3{\item
+ [\hskip\labelsep \theorem@headerfont ##1\ ##2]%
+ {\normalfont({\activate@shortcite{}##3}).}\hskip\postthmcmtskip}%
+ }
+\def\th@ccnn{%
+ \normalfont\slshape
+ \def\@begintheorem##1##2{\item
+ [\hskip\labelsep \theorem@headerfont ##1.]}%
+ \def\@opargbegintheorem##1##2##3{\item
+ [\hskip\labelsep \theorem@headerfont ##1]%
+ {\normalfont({\activate@shortcite{}##3}).}\hskip\postthmcmtskip}%
+ }
+\newskip\postprfcmtskip
+\postprfcmtskip .5em plus 1em
+\def\th@ccproof{%
+ \normalfont\upshape
+ \def\@begintheorem##1##2{\item
+ [\hskip\labelsep \theorem@headerfont ##1.\ \ ]%
+ \itemindent\labelsep}%
+ \def\@opargbegintheorem##1##2##3{\item
+ [\hskip\labelsep \theorem@headerfont ##1]%
+ {\normalfont({\activate@shortcite{}##3}).}\hskip\postprfcmtskip
+ \itemindent\labelsep}%
+ }
+\def\th@ccalgo{%
+ \normalfont\upshape
+ \def\@begintheorem##1##2{\item
+ [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}%
+ \def\@opargbegintheorem##1##2##3{\item
+ [\hskip\labelsep \theorem@headerfont ##1\ ##2.]
+ {\normalfont##3.\par}}%
+ }
+\def\th@ccalgonn{%
+ \normalfont\upshape
+ \def\@begintheorem##1##2{\item
+ [\hskip\labelsep \theorem@headerfont ##1.]}%
+ \def\@opargbegintheorem##1##2##3{\item
+ [\hskip\labelsep \theorem@headerfont ##1.] {\normalfont##3.\par}}%
+ }
+\gdef\theorem@headerfont{\scshape}
+\endinput
+%%
+%% End of file `thcc.sty'.
+\end{filecontents*}
+\begin{filecontents*}{cc.bst}
+% File name: cc.bst
+%
+% cc.bst style file for BibTeX.
+% February 6, 1996
+% This style file provides the following citation facilities:
+% Usage in Tex Output:
+% file:
+% \cite Cook (1990)
+% \citeauthor Cook
+% \citeyear 1990
+% \citemul Cook (1990, 1991a, 1991b)
+% \shortcite Cook 1990
+% \parencite (Cook 1990)
+% \nocite
+
+% It was prepared by modifying previous style files.
+% Here are acknowledgements:
+%> BibTeX `named' style file for BibTeX version 0.99c, LaTeX version 2.09
+%> Place it in a file called named.bst in the BibTeX search path. (Placing it
+%> in the same directory as the LaTeX document should also work.)
+%> Support for named citations is provided by named.sty
+
+%> This version was made by modifying the master file made by
+%> Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU)
+
+%> Copyright (C) 1985, all rights reserved.
+%> Modifications Copyright 1988, Peter F. Patel-Schneider
+%> Copying of this file is authorized only if either
+%> (1) you make absolutely no changes to your copy, including name, or
+%> (2) if you do make changes, you name it something other than
+%> btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+%> This restriction helps ensure that all standard styles are identical.
+
+%> There are undoubtably bugs in this style. If you make bug fixes,
+%> improvements, etc. please let me know. My e-mail address is:
+%> pfps@research.att.com
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { mode s t }
+
+%FUNCTION {message}
+%{
+% duplicate$ top$
+%}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {semi.block}
+{ %%%%"semi.block" top$
+ mid.sentence 'output.state :=
+}
+
+%FUNCTION {semi.block}
+%{ output.state mid.sentence =
+% 'skip$
+% { after.block 'output.state := }
+% if$
+%}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.semiblock.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'semi.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\sl " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bold}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ "{\sc " *
+ numnames 'namesleft :=
+ { namesleft #0 > }
+
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+
+ nameptr #1 >
+ { namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { " et~al." * }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ "}" *
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { "ed.\ "
+ editor format.names *
+ }
+ if$
+}
+
+FUNCTION {format.editors.reverse}
+{ editor empty$
+ { "" }
+ { editor format.names
+ ", ed." *
+ }
+ if$
+}
+
+FUNCTION {format.editors.simple}
+{ editor empty$
+ { "" }
+ { editor format.names }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+
+ { title "t" change.case$ }
+
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+% { "there's a month but no year in " cite$ * warning$
+% month
+% }
+ { }
+ if$
+ }
+% { month empty$
+% {year extra.label * }
+% { month " " * year * extra.label *}
+% if$
+% }
+ { year extra.label * }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+%FUNCTION {format.bvolume}
+%{ volume empty$
+% { "" }
+% { series empty$
+% 'skip$
+% {series emphasize ",\ vol.\ " * volume *}
+% if$
+% "volume and number" number either.or.check
+% }
+% if$
+%}
+%FUNCTION {format.bvolume}
+%{ volume empty$
+% { "" }
+% { series empty$
+% 'skip$
+% {series emphasize "\ " * volume bold *}
+% if$
+% "volume and number" number either.or.check
+% }
+% if$
+%}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "vol." volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+%FUNCTION {format.number.series}
+%{ volume empty$
+% { number empty$
+% { series field.or.null }
+% { output.state mid.sentence =
+% { "number" }
+% { "Number" }
+% if$
+% number tie.or.space.connect
+% series empty$
+% { "there's a number but no series in " cite$ * warning$ }
+% { " in " * series * }
+% if$
+% }
+% if$
+% }
+% { "" }
+% if$
+%}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { series "\ " * number bold * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { pages n.dashify }
+ { "p." pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.vol.num.year}
+{ volume field.or.null bold
+ number empty$
+ 'skip$
+ { "(" number * ")\," * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ year empty$
+ 'skip$
+ { "\ (" * format.date * ")" * }
+ if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null bold
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ",\, pp.\, " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle emphasize * }
+ { "In " booktitle emphasize * ", " * format.editors * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+
+ key empty$ not and
+
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ address empty$
+ 'publisher
+ { publisher ", " * address * }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \shortcite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { journal emphasize "\ " * format.vol.num.year * "journal" output.check
+ format.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors.simple "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address "publisher" output.check
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ semi.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address "publisher" output.check
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address "publisher" output.check
+ format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date output
+ }
+ { address output.nonnull
+ format.date output
+ organization output
+ publisher output
+ }
+ if$
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ "Master's thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ title howpublished new.semiblock.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.btitle "title" output.check
+ new.block
+ "PhD thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+% { format.editors output.nonnull }
+ { format.editors.reverse output.nonnull }
+ if$
+ semi.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ semi.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+
+
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+INTEGERS { et.al.char.used }
+
+FUNCTION {initialize.et.al.char.used}
+{ #0 'et.al.char.used :=
+}
+
+EXECUTE {initialize.et.al.char.used}
+
+FUNCTION {format.lab.names}
+{
+ 's :=
+ s num.names$ 'numnames :=
+
+ mode "cite" =
+ { numnames #1 =
+ { s #1 "{vv }{ll}" format.name$ }
+ { numnames #2 =
+ { s #1 "{vv }{ll }\& " format.name$ s #2 "{vv }{ll}" format.name$ * }
+ { s #1 "{vv }{ll }\bgroup \em et al.\egroup " format.name$ }
+ if$
+ }
+ if$
+ }
+ { numnames #1 =
+ { s #1 "{ll}" format.name$ }
+ { numnames #2 =
+ { s #1 "{ll }\& " format.name$ s #2 "{ll}" format.name$ * }
+ { s #1 "{ll }\bgroup \em et al.\egroup " format.name$ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { key }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+
+ { cite$ #1 #3 substring$ }
+
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ { key }
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.label}
+{
+ "cite" 'mode :=
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+
+ "\protect\citeauthoryear{" swap$ * "}{" *
+ year field.or.null purify$ * % CHANGED - pfps - 15 Feb 1989
+ 'label :=
+
+ "sort" 'mode :=
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ " " *
+ year field.or.null purify$ *
+ sortify 'sort.label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$
+
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {presort}
+
+{ calc.label
+ sort.label
+
+ " "
+ *
+ type$ "book" =
+
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.organization.sort
+ { type$ "manual" =
+ 'author.organization.sort
+ 'author.sort
+ if$
+ }
+ if$
+ }
+ if$
+
+ *
+
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label last.sort.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.sort.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+}
+
+FUNCTION {forward.pass}
+{ last.sort.label sort.label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ sort.label 'last.sort.label :=
+ }
+ if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ label extra.label * "}" * 'label := % CHANGED - pfps 15 Feb 1989
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+FUNCTION {begin.bib}
+
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
+
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+
+ "\begin{thebibliography}{}\small" write$ newline$
+
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+\end{filecontents*}
+\begin{filecontents*}{cc2.bst}
+%%
+%% This is file `cc2.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `,ay,nat,lang,vonx,ed-au,nmft,nmft-sc,nmfted,nmand-rm,dt-beg,yr-par,note-yr,atit-u,vol-bf,volp-com,pgsep-s,jnm-x,pg-bk,isbn,issn,url,url-blk,edpar,edby,edbyy,ppx,ord,amper,and-xcom,etal-it,nfss')
+%% ----------------------------------------
+%% *** bst for computational complexity with natbib.sty ***
+%%
+%% Copyright 1994-2007 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {scaps}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textsc{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.name.font}
+{ scaps }
+FUNCTION {bib.fname.font}
+{ bib.name.font }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+
+FUNCTION {bbl.volume}
+{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "" }
+
+FUNCTION {bbl.page}
+{ "" }
+
+FUNCTION {bbl.chapter}
+{ "chapter" }
+
+FUNCTION {bbl.techrep}
+{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+
+STRINGS { bibinfo}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}{, jj}"
+ format.name$
+ bib.name.font
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ "\&"
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ new.block
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ new.block
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+ 'pop$
+ { language empty$
+ 'skip$
+ { "{\selectlanguage{" language * "}" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ select.language
+ }
+ if$
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ "\&"
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "\," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ select.language
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ n.dashify
+ }
+ {
+ }
+ if$
+ "pages" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ get.bbl.editor
+ swap$ "," *
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ capitalize
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ add.blank
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.isbn output
+ format.book.pages output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.isbn output
+ format.book.pages output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ new.block
+ format.url output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ new.block
+ format.url output
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal emphasize *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ { " \& " * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ { pop$ "????" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ ff{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\providecommand{\url}[1]{\texttt{#1}}"
+ write$ newline$
+ "\providecommand{\urlprefix}{URL }"
+ write$ newline$
+ "\providecommand{\selectlanguage}[1]{\relax}"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `cc2.bst'.
+\end{filecontents*}