summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:53:26 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:53:26 +0000
commit4f617355bd5e865e45f1dd5c88172a1d38d41e81 (patch)
tree106d59ad4581b0b4f3f2199bd2804e89a1f49cae /Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty
parente329c4b33fbb3d25c6b0bbd01b6258622737bf00 (diff)
computational-complexity
git-svn-id: svn://tug.org/texlive/trunk@781 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty')
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty565
1 files changed, 565 insertions, 0 deletions
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'.