From 4f617355bd5e865e45f1dd5c88172a1d38d41e81 Mon Sep 17 00:00:00 2001 From: Karl Berry 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