\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 % % \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 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 . 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*}