%% %% This is file `cclayout.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% cc.dtx (with options: `cclayout,chartab') %% %% This is a generated file. %% %% Copyright 2000-2003 %% Michael N"usken, Joachim von zur Gathen, computational complexity %% %% IMPORTANT NOTICE: %% %% You are *not* allowed to modify this file. %% %% You are *not* allowed to distribute this file. %% For distribution of the original source see the terms %% for copying and modification in the file cc.dtx. %% %% \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 \~} \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 received date.\MessageBreak Use \protect\received\space in the preamble.}{}% }{}% \fi} \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}} \newbox\@abstract \let\abstract\@undefined\let\endabstract\@undefined \babel\def\ccabstractname{Abstract}[% german=Zusammenfassung,french=R\'esum\'e] \newenvironment{abstract} {\global\setbox\@abstract\@abstr{\ccabstractname}} {\end@abstr} \newtoks\@abstract@toks \newcommand{\Abstract}{\global\@abstract@toks} \newbox\@keywords \babel\def\cckeywordsname{Keywords}[% german=Stichworte,french=Mot-cl\'e] \newenvironment{keywords} {\global\setbox\@keywords\@abstr{\cckeywordsname}} {\end@abstr} \newbox\@subject \babel\def\ccsubjectclassificationname{Subject classification}[% german=Klassifizierung,french=Classification de suj\`et] \newenvironment{subject} {\global\setbox\@subject\@abstr{\ccsubjectclassificationname}} {\end@abstr} \newdimen\@abstrwidth \newenvironment{@abstr}[1]{% \vbox\bgroup \hsize\textwidth \@parboxrestore \leftmargin.5\textwidth \advance\leftmargin-.5\@abstrwidth \rightmargin\leftmargin \@trivlist\@newlistfalse\global\@inlabeltrue \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin \advance\@totalleftmargin \leftmargin \parshape \@ne \@totalleftmargin \linewidth \small \textbf{#1. }\ignorespaces} {% %\strut \par %\vskip\z@ \egroup \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}} \def\@cctxt{} \newif\if@cchead \newcommand{\ccpublish}[4]{% \global\@ccpublishtrue \global\@abstractoptionalfalse% Abstract required \global\@keywordsoptionalfalse% Keywords required \global\@subjectoptionalfalse% Subject class. required \global\@ccheadtrue \gdef\@ccyear{#1}% \gdef\@ccvolume{#2}% \gdef\@ccnumber{#3}% \gdef\@ccfirst{#4}% \gdef\@cctxt{cc \textbf{#2} (#1)}% \global\@autotitletrue \AtBeginDocument{\addtocounter{section}{-1}\refstepcounter{section}}% \AtEndDocument{\label{ccenddocument}}% } \newcommand{\noccpublish}[1]{% \global\@ccpublishfalse \global\@abstractoptionaltrue% Abstract required \global\@keywordsoptionaltrue% Keywords required \global\@subjectoptionaltrue% Subject class. required \global\@ccheadfalse \gdef\@cctxt{#1}% %%\global\@twosidefalse } \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\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 \begin{tabular}{@{}ll@{}}% \expandafter\extract@affils\@author\and\and\@nil \end{tabular} \par } \def\init@affils{% \let\and\relax \@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{% \def\currentaddress{\otheraddress Current address of \textsc{\ignorespaces#1}:\\}% \begin{@ffiliation} \textsc{\ignorespaces#1}\\#2 \end{@ffiliation} \affilsep} \newcommand{\otheraddress}{\end{@ffiliation}\affilsep \begin{@ffiliation}} \def\affilsep{% \if@oddaffil\odd@sep\@oddaffilfalse \else\even@sep\@oddaffiltrue \fi } \newif\if@oddaffil \def\odd@sep{&}% \def\even@sep{\end{tabular}\par\begin{tabular}{@{}ll@{}}}% \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} \if@cctextarea \textwidth=141mm \@abstrwidth=120mm \textheight=200mm \topmargin=0mm \oddsidemargin=12mm \evensidemargin=12mm \marginparwidth=25mm \headheight=1.25\headheight \ifnum\@marginmode<\z@\@marginmode\z@\fi \else \@abstrwidth0.85\textwidth \fi \typeout{Now adjusting margins.} \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 \def\@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@ }% }% \def\@oddfoot{} \def\@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@ }% }% \let\@evenfoot\@oddfoot } \AtEndOfClass{\pagestyle{cc}} \AtEndOfClass{% \AtBeginDocument{\@onlypreamble{\author{\if@autotitle\maketitle\fi}}} %\AtBeginDocument{\if@autotitle\maketitle\fi} \AtEndDocument{\if@autotitle\makeendtitle\fi} } \def\fourdigits#1{\ifnum#1<10\relax000#1\else \ifnum#1<100\relax00#1\else \ifnum#1<1000\relax0#1\else #1\fi\fi\fi} \def\twodigits#1{\ifnum#1<10\relax0#1\else \ifnum#1<100\relax#1\else #1\fi\fi} \def\vertrulea{\rule[-7.583pt]{0pt}{7.583pt}} \def\vertruleb{\rule{2.25pt}{10.2pt}} \newtoks\cite@hook \renewcommand{\maketitle}{% \global\@topnum\z@ % Prevents figures from going at top of page. \cite@hook{}% \if@cchead \vbox to\z@{\vss \@ifundefined{r@ccenddocument}{\@tempcnta\z@}{% \@tempcnta\@ne \advance\@tempcnta-\@ccfirst \edef\@tempa{\csname r@ccenddocument\endcsname}% \ifx\@secondoffive\@@@@undefined% hyperref launches this! \edef\@tempa{\expandafter\@secondoftwo\@tempa{}{}{}{}{}}% \else \edef\@tempa{\expandafter\@secondoffive\@tempa{}{}{}{}{}}% \fi% \advance\@tempcnta\@tempa% }% \setcounter{page}{\@ccfirst}% \hbox to\textwidth{% \vbox to\z@{\vss \baselineskip=12pt% \halign{\ixpt##\hfil\cr comput. complex.~\textbf{\@ccvolume}~(\@ccyear), \thepage\ -- \pageref{ccenddocument}\cr \issn/\expandafter\@gobbletwo\@ccyear% %% use + instead --? /\twodigits{\@ccnumber}\fourdigits{\thepage}--\the\@tempcnta\ \$ 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} \fi \hrule\@height\z@ \vskip2.2ex% 4.0mm \relax \begin{center} \if@ccpublish \renewcommand{\footnote}[1]{\ClassWarningNoLine{cc}{There are no footnotes allowed in title or author.\MessageBreak Think about moving your remark to the acknowledgements}}% \let\thanks\footnote \else \renewcommand{\footnote}[1]{\ClassWarningNoLine{cc}{In title or author \protect\footnote\space does not work.\MessageBreak Avoid footnotes or use \protect\thanks}}% \renewcommand\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}% \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 }% \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}% \expandafter\cc@ifempty\expandafter{\the\@abstract@toks}{% \ifvoid\@abstract \if@abstractoptional \ClassWarningNoLine{cc}{Missing abstract}% \else \ClassError{cc}{Missing abstract} {Define an abstract in the preamble using \protect\begin{abstract} ... \protect\end{abstract}.}% \fi \else \@tempa\leavevmode\unvbox\@abstract\par \fi }{% \ifvoid\@abstract\else \ClassWarningNoLine{cc}{Two abstracts, using the one defined by \protect\Abstract}% \fi \global\setbox\@abstract \@abstr{\ccabstractname} \the\@abstract@toks \end@abstr \@tempa\leavevmode\unvbox\@abstract\par } \ifvoid\@keywords \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\leavevmode\unvbox\@keywords\par \fi \ifvoid\@subject \if@subjectoptional \ClassWarningNoLine{cc}{Missing subject classification}% \else \ClassError{cc}{Missing subject classification} {Define a subject classification in the preamble using \protect\begin{subject} ... \protect\end{subject}.}% \fi \else \@tempa\leavevmode\unvbox\@subject\par \fi \@thanks \ifx\@tempa\relax\vskip3ex\fi \end{center} \thispagestyle{empty} \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 }% %%\clearpage \gdef\makeendtitle{\ClassWarning{cc}{\protect\makeendtitle\space multiply used!}} } \endinput %% %% End of file `cclayout.sty'.