\NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{eptcs}[2022/05/20 v1.7] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% options %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifadraft \newif\ifsubmission \newif\ifpreliminary \newif\ifcopyright \newif\ifpublicdomain \newif\ifcreativecommons \newif\ifnoderivs \newif\ifsharealike \newif\ifnoncommercial \adraftfalse \submissionfalse \preliminaryfalse \copyrightfalse \publicdomainfalse \creativecommonsfalse \noderivsfalse \sharealikefalse \noncommercialfalse \DeclareOption{adraft}{\adrafttrue} \DeclareOption{submission}{\submissiontrue} \DeclareOption{preliminary}{\preliminarytrue} \DeclareOption{copyright}{\copyrighttrue} \DeclareOption{publicdomain}{\publicdomaintrue} \DeclareOption{creativecommons}{\creativecommonstrue} \DeclareOption{noderivs}{\noderivstrue} \DeclareOption{noncommercial}{\noncommercialtrue} \DeclareOption{sharealike}{\sharealiketrue} \ProcessOptions\relax \LoadClass[letterpaper,11pt,twoside]{article} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% On US letter paper the margins (left-top-right-bottom) are %% %% 2.795cm - 1.23cm - 2.795cm - 3.46cm %% %% Note: When \topmargin would be 0, the real top margin would be %% %% (72-25-12=35pt) + 1pt (unused portion of head) = .5in = 1.27cm. %% %% The bottom margin is 11in - 1in + 0.04cm - 623/72in = 3.46cm. %% %% On the first page the bottom margin contains various footers. %% %% When translating from US letter to A4 paper, without scaling, by %% %% leaving the centre of the paper invariant (as is possible when %% %% printing the paper with acroread), the resulting A4 margins are %% %% 2.5cm - 2.11cm - 2.5cm - 4.34cm %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \textwidth 16cm % A4 width is 21cm % \textheight 623.01pt % 46 lines exactly = 21.98cm % \oddsidemargin -0.04cm % +1 inch = 2.5cm % \evensidemargin -0.04cm % +1 inch = 2.5cm % \topmargin -0.04cm % +1 inch = 2.5cm % \advance\topmargin-\headheight % 12pt % \advance\topmargin-\headsep % 25pt % \marginparwidth 45pt % leaves 15pt from A4 edge % \advance\evensidemargin .295cm % centre w.r.t. letter paper % \advance\oddsidemargin .295cm % centre w.r.t. letter paper % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% load eptcsdata when available %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \IfFileExists{eptcsdata.tex}{\input{eptcsdata}}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Pagestyle and titlepage %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagestyle{myheadings} \renewcommand\pagestyle[1]{} % ignore further \pagestyles \renewcommand\maketitle{\par \begingroup \providecommand{\event}{} \ifadraft \providecommand{\publicationstatus}{\Large DRAFT\quad\today} \else\ifsubmission \providecommand{\publicationstatus}{Submitted to:\\ \event} \else\ifpreliminary \providecommand{\publicationstatus}{Preliminary Report. Final version to appear in:\\ \event} \else \providecommand{\publicationstatus}{To appear in EPTCS.} \fi\fi\fi \providecommand{\titlerunning}{Please define {\ttfamily $\backslash$titlerunning}} \providecommand{\authorrunning}{Please define {\ttfamily $\backslash$authorrunning}} \providecommand{\copyrightholders}{\authorrunning} \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}% \newpage \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \thispagestyle{empty}\@thanks \endgroup \setcounter{footnote}{0}% \label{FirstPage} \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax } \def\@maketitle{% adapted from article.cls \newpage \noindent \raisebox{-22.8cm}[0pt][0pt]{\footnotesize \begin{tabular}{@{}l} \publicationstatus \end{tabular}} \hfill\vspace{-1em} \raisebox{-22.8cm}[0pt][0pt]{\footnotesize \makebox[0pt][r]{ \begin{tabular}{l@{}} \ifpublicdomain This work is \href{https://creativecommons.org/publicdomain/zero/1.0/} {dedicated to the public domain}. \else \ifcopyright \copyright~\copyrightholders\\ \fi \ifcreativecommons This work is licensed under the \ifnoncommercial \href{https://creativecommons.org}{Creative Commons}\\ \ifnoderivs \href{https://creativecommons.org/licenses/by-nc-nd/4.0/} {Attribution-Noncommercial-No Derivative Works} License. \else\ifsharealike \href{https://creativecommons.org/licenses/by-nc-sa/4.0/} {Attribution-Noncommercial-Share Alike} License. \else \href{https://creativecommons.org/licenses/by-nc/4.0/} {Attribution-Noncommercial} License. \fi\fi \else \ifnoderivs \href{https://creativecommons.org}{Creative Commons}\\ \href{https://creativecommons.org/licenses/by-nd/4.0/} {Attribution-No Derivative Works} License. \else\ifsharealike \href{https://creativecommons.org}{Creative Commons}\\ \href{https://creativecommons.org/licenses/by-sa/4.0/} {Attribution-Share Alike} License. \else \\\href{https://creativecommons.org}{Creative Commons} \href{https://creativecommons.org/licenses/by/4.0/} {Attribution} License. \fi\fi \fi \fi \fi \end{tabular}}} \null %\vskip 2em% a bit of space removed (< 2em) \begin{center}% \let \footnote \thanks {\LARGE\bfseries \@title \par}% \bf added \vskip 2em% was: 1.5em {\large \lineskip .5em% \begin{tabular}[t]{c}% \@author \end{tabular}\par}% \vskip 1em% \date and extra space removed \end{center}% \par \markboth{\hfill\titlerunning}{\authorrunning\hfill} \vskip .5em} \AtBeginDocument{ \providecommand{\firstpage}{1} \setcounter{firstpage}{\firstpage} \setcounter{page}{\firstpage} \@ifpackageloaded{array}% Contributed by Wolfgang Jeltsch {\newcommand{\IfArrayPackageLoaded}[2]{#1}} {\newcommand{\IfArrayPackageLoaded}[2]{#2}}} \newcommand{\institute}[1]{\IfArrayPackageLoaded {\\{\scriptsize\begin{tabular}[t]{@{}>{\footnotesize}c@{}}#1\end{tabular}}} {\\{\scriptsize\begin{tabular}[t]{@{\footnotesize}c@{}}#1\end{tabular}}}} \newcommand{\email}[1]{\\{\footnotesize\ttfamily #1}} \renewenvironment{abstract}{\begin{list}{}% header removed and noindent {\rightmargin\leftmargin \listparindent 1.5em \parsep 0pt plus 1pt} \small\item}{\end{list} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{hyperref} % add hyperlinks \RequirePackage{mathptmx} % Pick Times Roman as a base font %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Remember page numbers %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcounter{firstpage} \setcounter{firstpage}{1} \AtEndDocument{\clearpage \addtocounter{page}{-1} \immediate\write\@auxout{\string \newlabel{LastPage}{{}{\thepage}{}{page.\thepage}{}}}% \newwrite\pages \immediate\openout\pages=\jobname.pag \immediate\write\pages{\arabic{firstpage}-\arabic{page}} \addtocounter{page}{1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Less space in lists %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@listi{\leftmargin\leftmargini \parsep 2.5\p@ \@plus1.5\p@ \@minus\p@ \topsep 5\p@ \@plus2\p@ \@minus5\p@ \itemsep2.5\p@ \@plus1.5\p@ \@minus\p@} \let\@listI\@listi \@listi \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep 1\p@ \@plus\p@ \@minus\p@ \parsep 1\p@ \@plus\p@ \@minus\p@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep \z@ \parsep \z@ \itemsep \topsep} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% References small and with less space between items %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewenvironment{thebibliography}[1] {\section*{\refname}\small% small added \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m \setlength{\parskip}{0pt}% \setlength{\itemsep}{3pt plus 2pt}% less space between items } {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist}