%***************************** % dcfs07.cls -- document class file % Created by Viliam Geffert, Dec 14, 2006 % Files coming with this distribution: % dcfs07.cls -- document class itself [this file] % dcfs07ex.tex -- a sample input with embedded %-comments % dcfs07qk.pdf, dcfs07qk.ps -- quick reference handbook, % containing a brief summary of all commands % dcfs07dc.pdf, dcfs07dc.ps -- guidebook for authors, % containing a more detailed documentation about the class % **************** % Available for volume editors only: % acc.clo -- activating [acc*] mode for dcfs07.cls % dcfs07qk.tex -- latex source for quick reference handbook % dcfs07dc.tex -- latex source for guidebook for authors % \NeedsTeXFormat{LaTeX2e}% \ProvidesClass{dcfs09}[2006/12/14 dcfs09]% % %!!Options supported by dcfs07 class: % "sub" --final version for submission, hiding authors' identity % "acc" --final version for proceedings \DeclareOption{sub}{\newcommand*{\d@rbannr}{}}%!![sub] := YES/NO \DeclareOption{acc}{\AtEndOfClass{\IfFileExists{acc.clo}% {\input{acc.clo}}{\renewcommand*{\PCappendix}{\end{document}}}}} %!![acc] := YES/NO % %!!The following `article' class options should not be used, % so they will be ignored, for compatibility reasons: \DeclareOption{10pt}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `10pt' ignored (default 11pt)}}} \DeclareOption{11pt}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `11pt' ignored (default)}}} \DeclareOption{12pt}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `12pt' ignored (default 11pt)}}} \DeclareOption{openlib}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `openlib' ignored}}} \DeclareOption{leqno}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `leqno' ignored}}} \DeclareOption{fleqn}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `fleqn' ignored}}} \DeclareOption{titlepage}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `titlepage' ignored}}} \DeclareOption{twocolumn}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `twocolumn' ignored}}} \DeclareOption{a4paper}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `a4paper' ignored}}} \DeclareOption{letterpaper}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `letterpaper' ignored}}} \DeclareOption{a5paper}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `a5paper' ignored}}} \DeclareOption{b5paper}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `b5paper' ignored}}} \DeclareOption{executivepaper}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `executivepaper' ignored}}} \DeclareOption{legalpaper}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `legalpaper' ignored}}} \DeclareOption{twoside}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `twoside' ignored (default)}}} \DeclareOption{oneside}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `oneside' ignored (default twoside)}}} \DeclareOption{landscape}{\AtEndOfClass{\ClassWarning{dcfs07}% {Option `landscape' ignored}}} % %!!Remaining options passed to `article' class: \DeclareOption*{\PassOptionToClass{\CurrentOption}{article}} \ProcessOptions\relax \LoadClass[twoside,11pt]{article}% % %!!Processing [sub] option, part I \@ifundefined{d@rbannr}{%!!if [sub] = NO, standard: \newcommand{\d@phantom}[1]{\mbox{{#1}}}% \newcommand{\d@markboth}[2]{\markboth{#1}{#2}}% }{%!!if [sub] = YES, hide authors' identity: \newcommand{\d@phantom}[1]{\mbox{\phantom{#1}}}% \newcommand{\d@markboth}[2]{\markboth{#2}{#2}}% } %!!Commands reserved for volume editors (handling [acc*] mode) \newcommand*{\dpagerange}{\mbox{!!!! $\backslash$dpagerange !!!!}} \newcounter{dlastpage}\let\thedlastpage\relax %***************************** %!!Style formatting parameters % \setlength{\textheight}{21.25cm} \setlength{\textwidth}{13.5cm} \setlength{\topmargin}{0.4cm} \setlength{\oddsidemargin}{1.3cm} \setlength{\evensidemargin}{1.3cm} \flushbottom \setlength{\parskip}{0pt\@plus1.3pt} \setlength{\footnotesep}{9.0pt} \setlength{\arraycolsep}{2.3pt} \setlength{\tabcolsep}{2.3pt} \setlength{\doublerulesep}{1.7pt} \setlength{\intextsep}{10pt\@plus2pt\@minus2pt} \setlength{\textfloatsep}{11pt\@plus2pt\@minus2pt} \setlength{\floatsep}{9pt\@plus2pt\@minus2pt} \renewcommand{\textfraction}{.3} \renewcommand{\floatpagefraction}{.5} %!!modified clone \renewcommand\normalsize{% \@setfontsize\normalsize\@xipt{13.6}% \abovedisplayskip 9\p@\@plus2\p@\@minus4\p@ \abovedisplayshortskip \z@\@plus2\p@\@minus1\p@ \belowdisplayshortskip 6.5\p@\@plus2\p@\@minus3\p@ \belowdisplayskip \abovedisplayskip \let\@listi\@listI} \normalsize %!!modified clone \renewcommand\small{% \@setfontsize\small\@xpt\@xiipt \abovedisplayskip 8\p@\@plus1.8\p@\@minus3\p@ \abovedisplayshortskip \z@\@plus1.8\p@\@minus0.8\p@ \belowdisplayshortskip 6\p@\@plus2\p@\@minus3\p@ \def\@listi{\@listI}% \belowdisplayskip \abovedisplayskip } %***************************** %!!Reductions from the standard article (see also \maketitle) % \renewcommand*{\tableofcontents}{} \renewcommand*{\listoffigures}{} \renewcommand*{\listoftables}{} \renewcommand*{\makeindex}{} \renewcommand*{\makeglossary}{} \pagenumbering{arabic}% \renewcommand*{\pagenumbering}[1]{\ignorespaces} \renewcommand*{\reversemarginpar}{} \renewcommand*{\normalmarginpar}{} \renewcommand*{\twocolumn}{\d@err} \renewcommand*{\part}{\d@err} \renewcommand*{\date}[1]{\ignorespaces}\let\@date\relax \renewcommand*{\and}{\d@err} \renewcommand*{\marginpar}{\d@err} %***************************** %!!Modified clones for sectioning and bibliography % \renewcommand{\section}{\@startsection{section}{1}{\z@}{-3.25ex% \@plus-1.3ex\@minus-0.2ex}{1.5ex\@plus.25ex}{\normalfont\Large\bfseries}} \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}% {-3.0ex\@plus-1.2ex\@minus-0.2ex}{1.5ex% \@plus.25ex}{\normalfont\large\bfseries}} \renewcommand{\subsubsection}{\@startsection{subsubsection}{3}% {\z@}{-3.0ex\@plus-1.2ex\@minus-0.2ex}{1.5ex% \@plus.25ex}{\normalfont\normalsize\bfseries}} \renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% {2.25ex\@plus1.1ex\@minus0.2ex}{-0.5em}{\normalfont\normalsize\bfseries}} \renewcommand{\subparagraph}{\@startsection{subparagraph}{4}% {\parindent}{2.25ex\@plus1.1ex% \@minus0.2ex}{-0.5em}{\normalfont\normalsize\bfseries}} \renewcommand*{\newblock}{\hskip .11em\@plus.11em\@minus.07em} \renewcommand{\thebibliography}[1]{\section*{\refname}\small \list{\@biblabel{\arabic{enumiv}}}{% \settowidth{\labelwidth}{\@biblabel{#1}}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% \setlength{\parsep}{0ex\@plus0.2ex\@minus0.04ex}% \setlength{\itemsep}{0.9ex}% \usecounter{enumiv}\let\p@enumiv\@empty% \renewcommand\theenumiv{\arabic{enumiv}}% }% \sloppy \clubpenalty4000% \@clubpenalty\clubpenalty \widowpenalty4000% \sfcode`\.\@m}% \renewcommand{\endthebibliography}{\renewcommand{\@noitemerr}{\@warning{Empty `thebibliography' environment}}% \endlist} %***************************** %!!Modified clones for lists and captions % \renewcommand{\@makecaption}[2]{% \@tempdima\hsize \advance\@tempdima-34pt%!!=2\parindent \setbox\@tempboxa\hbox{{\normalfont\footnotesize{\bfseries #1.}\ #2}}% \ifdim\wd\@tempboxa<\@tempdima% \hfil{\normalfont\footnotesize{\bfseries #1.}\ #2}\hfil \else \setbox\@tempboxa\hbox{{\normalfont\footnotesize{\bfseries #1.}\ }}% \advance\@tempdima-\wd\@tempboxa% \hbox to\hsize{\hfil{\normalfont\footnotesize\bfseries #1.}\ \parbox[t]\@tempdima{\normalfont\footnotesize #2}\hfil}% \fi } \renewcommand*{\labelenumi}{(\theenumi)} \renewcommand*{\theenumi}{$\scriptstyle\mathrm{\Roman{enumi}}$} \renewcommand*{\labelenumii}{(\theenumii)} \renewcommand*{\theenumii}{$\scriptstyle\mathrm{\Alph{enumii}}$} \renewcommand*{\p@enumii}{\theenumi.} \renewcommand*{\labelenumiii}{(\theenumiii)} \renewcommand*{\theenumiii}{$\scriptstyle\mathrm{\arabic{enumiii}}$} \renewcommand*{\p@enumiii}{\p@enumii\theenumii.} \renewcommand*{\labelenumiv}{(\theenumiv)} \renewcommand*{\theenumiv}{$\scriptstyle\mathrm{\alph{enumiv}}$} \renewcommand*{\p@enumiv}{\p@enumiii\theenumiii.} \renewcommand*{\labelitemi}{$\bullet$} \renewcommand*{\labelitemii}{$\ast$} \renewcommand*{\labelitemiii}{$\circ$} \renewcommand*{\labelitemiv}{$\scriptstyle\diamond$} \renewcommand{\descriptionlabel}[1]{\setbox\@tempboxa\hbox{#1}% \ifdim\wd\@tempboxa<\labelwidth \makebox[\labelwidth][l]{#1}% \else {#1}\fi } \renewcommand*{\makelabel}{} \renewcommand{\description}{% \list{}{\let\makelabel\descriptionlabel}}% \renewcommand{\enddescription}{\endlist} \setlength{\leftmargini}{2\parindent} \setlength{\leftmarginii}{\parindent} \setlength{\leftmarginiii}{\parindent} \setlength{\leftmarginiv}{\parindent} \setlength{\leftmarginv}{\parindent} \setlength{\leftmarginvi}{\parindent} \setlength{\leftmargin}{\leftmargini} \setlength{\labelsep}{.5em} \setlength{\labelwidth}{\leftmargini} \addtolength{\labelwidth}{-\labelsep} \renewcommand{\@listI}{\setlength{\leftmargin}{\leftmargini}% \setlength{\rightmargin}{0pt}% \setlength{\labelsep}{0.75em}% \setlength{\labelwidth}{\leftmargin}% \addtolength{\labelwidth}{-\labelsep}% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{0em}% \setlength{\partopsep}{0.6\baselineskip\@plus0.3ex\@minus0.1ex}% \setlength{\topsep}{0.4ex}% \setlength{\itemsep}{0.4ex}% \setlength{\parsep}{0ex\@plus1.3pt}% } \let\@listi\@listI \@listi \renewcommand{\@listii}{\setlength{\leftmargin}{\leftmarginii}% \setlength{\rightmargin}{0pt}% \setlength{\labelsep}{0.75em}% \setlength{\labelwidth}{\leftmargin}% \addtolength{\labelwidth}{-\labelsep}% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{0em}% \setlength{\partopsep}{0.5\baselineskip\@plus0.2ex\@minus0.1ex}% \setlength{\topsep}{0.3ex}% \setlength{\itemsep}{0.3ex}% \setlength{\parsep}{0ex\@plus1.3pt}% } \renewcommand{\@listiii}{\setlength{\leftmargin}{\leftmarginiii}% \setlength{\labelwidth}{\leftmargin}% \addtolength{\labelwidth}{-\labelsep}} \renewcommand{\@listiv}{\setlength{\leftmargin}{\leftmarginiv}% \setlength{\labelwidth}{\leftmargin}% \addtolength{\labelwidth}{-\labelsep}} \renewcommand{\@listv}{\setlength{\leftmargin}{\leftmarginv}% \setlength{\labelwidth}{\leftmargin}% \addtolength{\labelwidth}{-\labelsep}} \renewcommand{\@listvi}{\setlength{\leftmargin}{\leftmarginvi}% \setlength{\labelwidth}{\leftmargin}% \addtolength{\labelwidth}{-\labelsep}} %***************************** %!!Built-in theorem-like environments % \newtheorem{theorem}{Theorem} \newtheorem{lemma}[theorem]{Lemma} \newtheorem{corollary}[theorem]{Corollary} \newtheorem{proposition}[theorem]{Proposition} \newtheorem{problem}[theorem]{Problem} \newtheorem{definition}[theorem]{Definition\dromanb} \newtheorem{remark}[theorem]{Remark\dromanb} \newtheorem{example}[theorem]{Example\dromanb} \newtheorem{claim}{\itshape Claim\d@cproof} \newcommand*{\dromanb}{\gdef\d@tstyle{\rmfamily\upshape\mdseries}} \newcommand{\d@tstyle}{} \renewcommand{\@begintheorem}[2]{% \par\gdef\d@tstyle{\rmfamily\itshape\mdseries}\trivlist \item[\hskip\labelsep{\rmfamily\upshape\bfseries #1\ #2.}]\d@tstyle\ignorespaces} \renewcommand{\@opargbegintheorem}[3]{% \par\gdef\d@tstyle{\rmfamily\itshape\mdseries}\trivlist \item[\hskip\labelsep{\rmfamily\upshape\bfseries #1\ #2\hskip\labelsep #3.}]\d@tstyle\ignorespaces} \newcounter{d@proof}\let\thed@proof\relax\setcounter{d@proof}{0} \newcommand*{\d@cproof}{% \ifnum \value{d@proof}=0{\@warning{\protect\begin{claim} ... \protect\end{claim} not nested in any `proof'^^J or `proofof' environment,}}\else\fi } \newcommand*{\qed}{\raisebox{0.5ex}[0ex][0ex]{\framebox[1ex][l]{}}} \newenvironment{proof}{% \ifnum \value{d@proof}=0{\setcounter{claim}{0}}\else\fi \stepcounter{d@proof}\par\noindent {\rmfamily\itshape\mdseries Proof\/}:\hspace{\labelsep}\ignorespaces}% {\addtocounter{d@proof}{-1}\mbox{}\nolinebreak\hfill~% \ifnum \value{d@proof}=0{\qed}\else \ifnum \value{d@proof}=1{\qed\nolinebreak\,\nolinebreak\qed}\else \ifnum \value{d@proof}=2{\qed\nolinebreak\,\nolinebreak\qed \nolinebreak\,\nolinebreak\qed}\else {\qed\nolinebreak...\nolinebreak\qed}% \fi\fi\fi \medbreak } \newenvironment{proofof}[1]{% \vspace{\parskip}\vspace{\topsep}\vspace{\partopsep}% \ifnum \value{d@proof}=0{\setcounter{claim}{0}}\else\fi \stepcounter{d@proof}\par\noindent {\rmfamily\upshape\bfseries Proof of #1.}\hspace{\labelsep}\ignorespaces}% {\addtocounter{d@proof}{-1}\mbox{}\nolinebreak\hfill~% \ifnum \value{d@proof}=0{\qed}\else \ifnum \value{d@proof}=1{\qed\nolinebreak\,\nolinebreak\qed}\else \ifnum \value{d@proof}=2{\qed\nolinebreak\,\nolinebreak\qed \nolinebreak\,\nolinebreak\qed}\else {\qed\nolinebreak...\nolinebreak\qed}% \fi\fi\fi \medbreak } %***************************** %!! \renewcommand{\title}{}% {text \\of \\title} \newcommand{\d@title}{} \newcommand{\d@drtitle}{} % VAR \d@title --command (global string to expand) % VAR \d@drtitle --command (global string to expand) % \def\title#1{% \gdef\d@title{#1}\gdef\d@drtitle{#1}% \let\author\d@oldauthor \let\address\d@oldaddress \let\thanks\d@oldthanks \let\thanksmark\d@oldthanksmark \let\runningtitle\d@oldrunningtitle \let\runningauthors\d@oldrunningauthors \let\maketitle\d@oldmaketitle \def\title{\d@ahtwice}% } %!!clone of "\title" %***************************** %!! \renewcommand{\author}{}% [list of p_labels]{name of 1 author} \newcommand{\d@bauthor}{}\newcommand{\d@and}{} \newcommand{\d@drauthor}{}\newcommand{\d@drand}{} % VAR \d@bauthor{} --command (string to expand) % VAR \d@and{} --command (string separating authors) % VAR \d@drauthor --command (string to expand) % VAR \d@drand{} --command (string separating running authors) % \def\author{\@ifnextchar[{\d@dauthor}{\d@sauthor}} %!!clone of "\author" \def\d@bauthor{}\def\d@and{} \def\d@drauthor{}\def\d@drand{} \newcommand{\d@dauthor}{}%--list of p_labels present \def\d@dauthor[#1]#2{\d@thanksmark{#1}% \xdef\d@bauthor{\d@bauthor\d@and\mbox{#2{}{\d@bthanksmark}}}% \def\d@and{\hskip 1em\@plus.17fil{}}% \xdef\d@drauthor{\d@drauthor\d@drand{#2}}% \def\d@drand{{}, }% } \newcommand*{\d@sauthor}[1]{%--list of p_labels missing \xdef\d@bauthor{\d@bauthor\d@and\mbox{#1}}% \def\d@and{\hskip 1em\@plus.17fil{}}% \xdef\d@drauthor{\d@drauthor\d@drand{#1}}% \def\d@drand{{}, }% } %***************************** %!! \newcommand{\address}{}% [p_label]{text //of //address} % VAR \d@baddress,\d@temp --boxes % \def\address{\@ifnextchar[{\d@daddress}{\d@saddress}} \newsavebox{\d@baddress}\newsavebox{\d@temp} \savebox{\d@baddress}[\linewidth][t]{\centering\normalsize} \newcommand{\d@daddress}{}%--p_label present \def\d@daddress[#1]#2{\d@label{#1}% \savebox{\d@temp}[\linewidth][t]{% \begin{minipage}[t]{\linewidth}\centering\normalsize \usebox{\d@baddress}\\ ${}^{(\d@ref{#1})}$\rule[0pt]{0pt}{3.5ex}{#2}% \end{minipage}% }% \savebox{\d@baddress}[\linewidth][t]{\usebox{\d@temp}}% } \newcommand*{\d@saddress}[1]{%--p_label missing \savebox{\d@temp}[\linewidth][t]{% \begin{minipage}[t]{\linewidth}\centering\normalsize \usebox{\d@baddress}\\ \rule[0pt]{0pt}{3.5ex}{#1}% \end{minipage}% }% \savebox{\d@baddress}[\linewidth][t]{\usebox{\d@temp}}% } %***************************** %!!Auxiliary support for \address % \newcommand*{\withinline}{\unskip\ -- \ignorespaces} \newcommand{\email}{}% [short author's name]{email address text} \def\email{\@ifnextchar[{\d@demail}{\d@semail}} \newcommand{\d@demail}{}%--short author's name present \def\d@demail[#1]#2{\mbox{% \hspace*{0.5em}{\small\textsf{#2} {(#1)}}\hspace*{0.5em}% }} \newcommand*{\d@semail}[1]{%--short author's name missing \mbox{\hspace*{0.5em}{\small\textsf{#1}}\hspace*{0.5em}}} %***************************** %!! \renewcommand{\thanks}{}% [p_label]{text //to //footnote} \def\thanks{\@ifnextchar[{\d@dthanks}{\d@sthanks}} \renewcommand{\@thanks}{}\let\@thanks\relax %!!not used, cleared \newcommand{\d@dthanks}{}%--p_label present \long\def\d@dthanks[#1]#2{\d@label{#1}% \d@oldfootnotetext[0]{\hspace*{-1.8em}% \d@phantom{%!! \begin{minipage}[t]{\linewidth}\footnotesize \makebox[1.8em][r]{${}^{(\d@ref{#1})}$}\rule[1.7ex]{0em}{1ex}{#2}% \end{minipage}% }%!!end\d@phantom }% } %!!--space "1.8em" taken from "\def\@makefntext" \newcommand{\d@sthanks}[1]{%--p_label missing \d@oldfootnotetext[0]{\hspace*{-1.8em}% \d@phantom{%!! \begin{minipage}[t]{\linewidth}\footnotesize \makebox[1.8em][r]{}\rule[1.7ex]{0em}{1ex}{#1}% \end{minipage}% }%!!end\d@phantom }% } %!!--space "1.8em" taken from "\def\@makefntext" %***************************** %!! \newcommand{\thanksmark}{}% {list of p_labels} \newcommand{\d@bthanksmark}{}\newcommand{\d@thanksmsep}{} \newcommand{\d@thankslab}{} % VAR \d@bthanksmark --command (global string to expand) % VAR \d@thanksmsep --command (string separating p_labels) % VAR \d@thankslab --command (loop control variable) % \def\thanksmark#1{\d@thanksmark{#1}\mbox{\d@bthanksmark}} \newcommand*{\d@thanksmark}[1]{% {list of p_labels} => \d@bthanksmark \def\d@thanksmsep{}\def\d@bthanksmark{}% \@for\d@thankslab:=#1\do{% \xdef\d@bthanksmark{\d@bthanksmark\d@thanksmsep \d@ref{\d@thankslab}% }% \def\d@thanksmsep{,}% }% \xdef\d@bthanksmark{${}^{\scriptscriptstyle(\d@bthanksmark)}$}% } %***************************** %!! \newcommand{\runningtitle}{}% {text of running title} \newcommand{\d@ertitle}{}\let\d@ertitle\relax % VAR \d@ertitle --command (global string to expand) % \def\runningtitle#1{% \gdef\d@ertitle{#1}\def\runningtitle{\d@ahtwice}% } \newcommand{\runningauthors}{}% {text of running authors} \newcommand{\d@erauthor}{}\let\d@erauthor\relax % VAR \d@erauthor --command (global string to expand) % \def\runningauthors#1{% \gdef\d@erauthor{#1}\def\runningauthors{\d@ahtwice}% } %***************************** %!!Auxiliary internal commands for preamble labels %!!Counterparts of "\newlabel", "\label" and "\ref", via .aux file % \newcommand*{\dnewlabel}[1]{% {p_label} \@ifundefined{c@#1}{% \stepcounter{footnote}\newcounter{#1}% \setcounter{#1}{\value{footnote}}% }{}} %!!--executed in .aux file, before preamble %!!--counterpart of "\newlabel" \newcommand*{\d@ref}[1]{% {p_label} \@ifundefined{c@#1}{{X}\write\@unused{DCFS Class Warning: Preamble label `#1' undefined}}% {\ifnum \value{#1}=0{}\else {\Alph{#1}}\fi }% } %!!--detour by "\write", because of bug in "\@warning" %!!--counterpart of "\ref" \newcommand*{\d@label}[1]{% {p_label} \@ifundefined{c@#1}{\@warning{Preamble labels have changed^^J -- rerun to get references right}% \newcounter{#1}\setcounter{#1}{24}%!!displayed as "X" }{}% \@bsphack \protected@write\@auxout{}{\string\dnewlabel{#1}}% \@esphack } %!!--clone of "\label" %***************************** %!!Auxiliary internal commands for warning messages % \newcommand*{\d@ahtitle}{%--warning: "ahead of \title" \@warning{Illegal command in preamble,}% \typeout{\space\space\space -- DCFS document class prohibits some commands, until}% \typeout{\space\space\space\space\space\space\space\space \protect\title\space has been completed.}% \typeout{\space\space\space -- For proper formatting of the title page, see DCFS documentation,}% \typeout{\space\space\space\space\space\space\space\space files `dcfs07dc.ps' or `dcfs07dc.pdf'.}% } \newcommand*{\d@ahmaketitle}{%--warning: "ahead of \maketitle" \@warning{Illegal command in preamble,}% \typeout{\space\space\space -- DCFS document class prohibits some standard features}% \typeout{\space\space\space\space\space\space\space\space (like, e.g., abstract or standard \protect\footnote... handling), until}% \typeout{\space\space\space\space\space\space\space\space \protect\maketitle\space has been completed.}% \typeout{\space\space\space -- For proper formatting of the title page, see DCFS documentation,}% \typeout{\space\space\space\space\space\space\space\space files `dcfs07dc.ps' or `dcfs07dc.pdf'.}% } \newcommand*{\d@ahtwice}{%--warning: "command used twice" \@warning{This DCFS command cannot be used for the second time,^^J ignored}% } \newcommand*{\d@ahover}{%--warning: "below \maketitle" \@warning{DCFS preamble command used below \protect\maketitle,}} \newcommand*{\d@err}{%--error: "not allowed" \ClassError{dcfs07}{Some commands (\protect\and, \protect\marginpar, \protect\twocolumn\space ...)^^J are not allowed in dcfs style, please fix the problem by yourself}% {see DCFS documentation, files `dcfs07dc.ps' or `dcfs07dc.pdf'}% } %***************************** %!! \renewcommand{\maketitle}{%!!modified clone \par\begingroup \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}% \global\@topnum\z@%!!Prevents figures from going at top of page \@maketitle \endgroup \pagestyle{myheadings}\thispagestyle{empty}% %!!Work done, cleaning up: \let\ds@sub\relax \let\d@phantom\relax \let\d@markboth\relax \def\title{\d@ahover}% \let\d@title\relax \let\d@drtitle\relax \def\author{\d@ahover}% \let\d@bauthor\relax \let\d@and\relax \let\d@drauthor\relax \let\d@drand\relax \let\d@dauthor\relax \let\d@sauthor\relax \let\d@oldauthor\relax \def\address{\d@ahover}% \savebox{\d@baddress}[0.0em][t]{}% \savebox{\d@temp}[0.0em][t]{}% \let\d@baddress\relax \let\d@temp\relax \let\d@daddress\relax \let\d@saddress\relax \let\d@oldaddress\relax %\def\withinline{\d@ahover} %!!Not off, on purpose! %\def\email{\d@ahover} %!!Not off, on purpose! %\let\d@demail\relax %!!Not off, on purpose! %\let\d@semail\relax %!!Not off, on purpose! \def\thanks{\d@ahover}% \let\d@dthanks\relax \let\d@sthanks\relax \let\d@oldthanks\relax \def\thanksmark{\d@ahover}% \let\d@bthanksmark\relax \let\d@thanksmsep\relax \let\d@thankslab\relax \let\d@thanksmark\relax \let\d@oldthanksmark\relax \def\runningtitle{\d@ahover}% \let\d@ertitle\relax \let\d@oldrunningtitle\relax \def\runningauthors{\d@ahover}% \let\d@erauthor\relax \let\d@oldrunningauthors\relax \let\d@ref\relax \let\d@label\relax \let\d@ahtitle\relax \gdef\d@ahmaketitle{}% \let\d@ahtwice\relax \let\@maketitle\relax \let\d@rbannr\relax \let\d@lbannr\relax \let\d@oldll\relax \let\d@oldnewline\relax \let\d@oldlinebreak\relax \let\d@oldmaketitle\relax %\let\dpagerange\relax %!!Not off, on purpose! %\let\c@dlastpage\relax %!!Not off, on purpose! \let\footnote\d@oldfootnote \let\footnotemark\d@oldfootnotemark \let\footnotetext\d@oldfootnotetext \let\d@oldfootnote\relax \let\d@oldfootnotemark\relax \let\d@oldfootnotetext\relax \def\thefootnote{\arabic{footnote}}% \setcounter{footnote}{0}% \renewcommand*{\pagestyle}[1]{}% %!!\thispagestyle allowed \renewcommand{\markright}[1]{}% \renewcommand{\markboth}[2]{}% \typeout{\space\space\space\space...done}% \def\maketitle{\d@ahover}% } %!!clone of "\maketitle" %!!Processing [sub] option, part II \@ifundefined{d@rbannr}{%!!if [sub] = NO: \newcommand*{\d@rbannr}{% Descriptional Complexity of Formal Systems\\ $\!\!\!$(Draft)\hfill Deadline for submissions: April 20, 2009\\ Final versions: June 18, 2009% }% }{%!!if [sub] = YES: \renewcommand*{\d@rbannr}{% Descriptional Complexity of Formal Systems\\ $\!\!\!$(Submission)\hfill Referees, please send your reports by May 25, 2009\\ \mbox{}% }% } \newcommand*{\d@lbannr}{% \begin{minipage}[t]{0em}\flushleft\huge\itshape \makebox[0em][l]{$\mathcal{D}\!\mathcal{C}\!\!% \mathcal{F}\!\!\mathcal{S}$}\\[-1.2ex]% \makebox[0em][l]{\itshape\,\,\,\,2$\!$0$\!$0$\!$9}% \end{minipage}% } \renewcommand{\@maketitle}{%!!modified clone \typeout{DCFS: Building title page...}% \newpage\null\mbox{}\vspace{-2.30cm}% \begin{center}% \begin{minipage}[t]{0.09\linewidth}\flushleft\scriptsize \d@lbannr\hspace*{0.13em}% \raisebox{-0.33ex}[0ex][0ex]{\d@lbannr}% \end{minipage}\hfill \begin{minipage}[t]{0.88\linewidth}\flushright\scriptsize \mbox{}\\[-5.4ex]\d@rbannr \end{minipage}\\ \mbox{}\vspace{1.0ex}\par \def\thanksmark##1{\@@warning{thanksmark in illegal location !!!}[!!!! $\backslash$thanksmark in illegal location !!!!]}% %!!set up running title and running author(s): %!!turn off "\\", "\newline", "\linebreak": \let\d@oldll\\ \def\\{\unskip\ \ignorespaces}% \let\d@oldnewline\newline \def\newline{\unskip\ \ignorespaces}% \let\d@oldlinebreak\linebreak \def\linebreak{\unskip\ \ignorespaces}% \typeout{DCFS: Preparing title and author(s) for running headlines...}% \@ifundefined{d@ertitle}{}{\gdef\d@drtitle{\d@ertitle}}% \@ifundefined{d@erauthor}{}{\gdef\d@drauthor{\d@erauthor}}% \d@markboth{\d@drauthor}{\d@drtitle}% %!!testing correctness of running author(s) and running title: \sbox{\d@temp}{\d@drauthor}\sbox{\d@temp}{\d@drtitle}% %!!turn on "\\", "\newline", "\linebreak": \let\\\d@oldll \let\newline\d@oldnewline \let\linebreak\d@oldlinebreak \typeout{DCFS: Preparing title for the first page...}% {\LARGE \d@title\\ \mbox{}}\par \typeout{DCFS: Preparing author(s) for the first page...}% \d@phantom{%!! \begin{minipage}[t]{0.9\linewidth}\centering\large \d@bauthor{}\mbox{}\\[-1.3ex]% \mbox{}% \end{minipage}% }%!!end\d@phantom \let\thanksmark\d@oldthanksmark \par \typeout{DCFS: Preparing addresses...}% \d@phantom{%!! \usebox{\d@baddress}% }%!!end\d@phantom \end{center}% \mbox{}\par } %!!clone of "\@maketitle" %***************************** %!!Small extensions to the standard article %!!(except for preamble and theorem-like environments) % \renewenvironment{abstract}{% \@ifundefined{@maketitle}{}{\d@ahmaketitle}% \begin{quotation}\small\noindent {\bfseries Abstract.}\hspace{\labelsep}\ignorespaces}% {\unskip\end{quotation}\ignorespaces} \newcommand*{\keywords}{\unskip\mbox{}\\ \mbox{}\\ {\bfseries Keywords:}\hspace{\labelsep}\ignorespaces} \newcommand*{\PCappendix}{\clearpage \section*{Appendix for the Program Committee}\appendix \renewcommand*{\thepage}{A\,-\,\arabic{page}}% } %***************************** %!!Global initial declarations % %!!just for using the fact that \roman{0}=blank : \renewcommand*{\thefootnote}{\roman{footnote}} \setcounter{footnote}{0} \newcommand*{\d@oldll}{} \newcommand*{\d@oldnewline}{} \newcommand*{\d@oldlinebreak}{} \newcommand*{\d@oldauthor}{} \newcommand*{\d@oldaddress}{} \newcommand*{\d@oldthanks}{} \newcommand*{\d@oldthanksmark}{} \newcommand*{\d@oldrunningtitle}{} \newcommand*{\d@oldrunningauthors}{} \newcommand*{\d@oldmaketitle}{} \newcommand*{\d@oldfootnote}{} \newcommand*{\d@oldfootnotemark}{} \newcommand*{\d@oldfootnotetext}{} \let\d@oldauthor\author \let\d@oldaddress\address \let\d@oldthanks\thanks \let\d@oldthanksmark\thanksmark \let\d@oldrunningtitle\runningtitle \let\d@oldrunningauthors\runningauthors \let\d@oldmaketitle\maketitle \let\d@oldfootnote\footnote \let\d@oldfootnotemark\footnotemark \let\d@oldfootnotetext\footnotetext \def\author{\d@ahtitle} \def\address{\d@ahtitle} \def\thanks{\d@ahtitle} \def\thanksmark{\d@ahtitle} \def\runningtitle{\d@ahtitle} \def\runningauthors{\d@ahtitle} \def\maketitle{\d@ahtitle} \def\footnote{\d@ahmaketitle} \def\footnotemark{\d@ahmaketitle} \def\footnotetext{\d@ahmaketitle} %%********************************** \endinput