From 4f617355bd5e865e45f1dd5c88172a1d38d41e81 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 12 Jan 2006 23:53:26 +0000
Subject: computational-complexity

git-svn-id: svn://tug.org/texlive/trunk@781 c570f23f-e606-0410-a88d-b1316a301751
---
 .../latex/computational-complexity/cclayout.sty    | 565 +++++++++++++++++++++
 1 file changed, 565 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty

(limited to 'Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty')

diff --git a/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty b/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty
new file mode 100644
index 00000000000..d42ed53542e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty
@@ -0,0 +1,565 @@
+%%
+%% 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\@abstrwidth
+  \@parboxrestore
+  \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{!end!document!}}%
+  }
+\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@!end!document!}{\@tempcnta\z@}{%
+      \@tempcnta\@ne
+      \advance\@tempcnta-\@ccfirst
+      \edef\@tempa{%
+         \expandafter\@secondoftwo\csname r@!end!document!\endcsname}%
+      \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{!end!document!}\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\box\@abstract\par
+      \fi
+      }{%
+      \ifvoid\@abstract\else
+      \ClassWarningNoLine{cc}{Two abstracts,
+        using the one defined by \protect\Abstract}%
+      \fi
+      \@tempa\leavevmode
+      \@abstr{\ccabstractname}
+        \the\@abstract@toks
+      \end@abstr
+      }
+    \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\box\@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\box\@subject\par
+    \fi
+    \@thanks
+  \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'.
-- 
cgit v1.2.3

