--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LMCS-Paper/document/lmcs.cls Tue Aug 16 17:48:09 2011 +0200
@@ -0,0 +1,512 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Modification log
+%%
+%% 2004/03/25 v0.1 based on amsart.cls, inspired by jair.sty
+%% 2004/09/01 v0.2 based on amsart.cls
+%% 2004/10/12 v0.3 based on amsart.cls
+%% 2004/12/16 v0.4 based on amsart.cls
+%% 2005/01/24 v0.5 based on amsart.cls
+%% 2005/03/10 v0.6 based on amsart.cls
+%% 2006/07/24 v0.7 based on amsart.cls
+%% 2007/11/13 v0.8 based on amsart.cls
+%%
+%% Juergen Koslowski, Stefan Milius
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{lmcs}
+ [2009/05/25 v0.8 LMCS Layout Editor Class]
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{amsart}}
+\ProcessOptions\relax
+
+\LoadClass[11pt,reqno]{amsart}
+\usepackage{helvet,cclicenses}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Use of this class, cf. also lmcs-smp.tex
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This class builds upon the amsart class of AMS-LaTeX and requires use
+% of LaTeX 2e.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Start of the paper
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \documentclass{lmcs}
+%
+% without any options followed optionally by
+%
+% \usepackage{package1,package2,...}
+%
+% loading additional macro packages you may wish to use, (eg, xypic, etc.)
+% (This also is the place to define further theorem-environments, in case
+% those provided by default do not suffice, cf. below.)
+%
+% \begin{document}
+% \title[short_title]{real title}
+%
+% and a list of author information of the form
+%
+% \author[short_author1]{Author 1}
+% \address{address 1}
+% \email{author1@email1}
+% \thanks{thanks 1}
+%
+% \author[short_author2]{Author 2}
+% \address{address 2}
+% \email{author2@email2}
+% \thanks{thanks 2}
+%
+% \author[short_author3]{Author 3}
+% \address{address 3}
+% \email{author3@email3}
+% \thanks{thanks 3}
+%
+% The \email and \thanks fields are optional. The \thanks fields appear
+% in footnotes on the title page, the addresses and email information
+% is relegated to the end of the article. The optional arguments to
+% the \title and \author macros determine a running head on the odd
+% and even pages, respectively.
+%
+% Lists of keywords and phrases as well as an ACM Subject
+% classification are mandatory; these appear in footnotes on the
+% title page, preceeding any \thanks fields.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Body of the paper
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% We encourage the use of LaTeX's crossreferencing capabilities with the
+% \label and \ref commands, for sections, subsections, theorems etc., and
+% displayed equations and figures.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Theorems, Definitions etc.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The following theorem-like environments are available. The
+% numbering is consecutive within sections.
+%
+% thm Theorem
+% cor Corollary
+% lem Lemma
+% prop Proposition
+% asm Asumption
+%
+% defi Definition
+% rem Remark
+% rems Remarks (intended for use with itemized remarks)
+% exa Example
+% exas Examples (intended for use with itemized examples)
+% conj Conjecture
+% prob Problem
+% oprob Open Problem
+% algo Algorithm
+% obs Observation
+%
+% If you require additional environments, you can add them before
+% \begin{document} by means of
+%
+% \theoremstyle{plain}\newtheorem{env}[thm]{Environment}
+%
+% or
+%
+% \theoremstyle{definition}\newtheorem{env}[thm]{Environment}
+%
+% In the first case the font within the new environment will be italicised.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Proofs
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Proofs start with the command \proof and should be ended by \qed,
+% which provides an end-of-proof box at the right margin:
+%
+% \proof ... \qed
+%
+% In itemized or enumerated proofs the \qed command has to occur BEFORE
+% \end{itemize} or \end{enumerate} to ensure proper placement of the box:
+%
+% \proof
+% \begin{itemize}
+% \item[(1)] ...
+% \item[(2)] ...
+% ...
+% \item[(n)] ... \qed
+% \end{itemize}
+%
+% Similarly, the box may be used within theorem environments, when no
+% explicit proof is given:
+%
+% \begin{thm} ... \qed \end{thm}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Itemized or enumerated environments and proofs
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% By default, the first item of an itemized (or enumerated) environment
+% or proof appears inlined on the same line as the environment title.
+% This can be prevented by placing \hfill before the itemization, e.g.:
+%
+% \begin{thm}\label{T:abc}\hfill
+% \begin{itemize} ...
+%
+% \proof\hfill
+% \begin{itemize} ...
+
+
+%
+% End of the paper
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Acknowledgements should be placed in a non-numbered section:
+%
+% \section*{Acknowledgement}
+%
+% The bibliography uses alpha.bst where references are built from the
+% authors' initials and the year of publication. The use of bibtex
+% for creating the bibliography is strongly encouraged. Then the
+% end of the paper takes the form
+%
+% \begin{thebibliography}{key}
+% \end{thebibliography}
+% \end{document}
+%
+% where ``key'' is the longest alphanumerical key expected to occur.
+%
+% Optionally, appendices can be inserted after the bibliography by
+% means of
+%
+% \end{thebibliography}
+% \appendix
+% \section{} % Appendix A
+% \section{} % Appendix B
+% % etc.
+% \end{document}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% actual macros
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\count255=\the\catcode`\@ \catcode`\@=11 \edef\catc@de{\the\count255}
+
+\newif\ifsuPer \suPertrue
+\def\rsuper#1{\ifsuPer${\,}^{\MakeLowercase #1}$\fi}%
+\def\lsuper#1{\ \hskip-2 pt\ifsuPer\llap{${}^{\MakeLowercase #1}\ $\fi}}%
+
+\def\titlecomment#1{\def\@titlecomment{#1}}
+\let\@titlecomment=\@empty
+\renewcommand{\sfdefault}{phv}
+\renewcommand*\subjclass[2][1991]{%
+ \def\@subjclass{#2}%
+ \@ifundefined{subjclassname@#1}{%
+ \ClassWarning{\@classname}{Unknown edition (#1) of ACM
+ Subject Classification; using '1991'.}%
+ }{%
+ \@xp\let\@xp\subjclassname\csname subjclassname@1998\endcsname
+ }%
+}
+\@namedef{subjclassname@1998}{1998 ACM Subject Classification}
+\newcommand{\revisionname}{Revision Note}
+\newbox\revisionbox
+\newenvironment{revision}{%
+ \ifx\maketitle\relax
+ \ClassWarning{\@classname}{Revision should precede
+ \protect\maketitle\space in LMCS documentclasses; reported}%
+ \fi
+ \global\setbox\revisionbox=\vtop \bgroup
+ \normalfont\Small
+ \list{}{\labelwidth\z@
+ \leftmargin3pc \rightmargin\leftmargin
+ \listparindent\normalparindent \itemindent\z@
+ \parsep\z@ \@plus\p@
+ \let\fullwidthdisplay\relax
+ }%
+ \item[\hskip\labelsep\scshape\revisionname.]%
+}{%
+ \endlist\egroup
+ \ifx\@setrevision\relax \@setrevisiona \fi
+}
+\def\@setrevision{\@setrevisiona \global\let\@setrevision\relax}
+\def\@setrevisiona{%
+ \ifvoid\revisionbox
+ \else
+ \skip@20\p@ \advance\skip@-\lastskip
+ \advance\skip@-\baselineskip \vskip\skip@
+ \box\revisionbox
+ \prevdepth\z@ % because \revisionbox is a vtop
+ \bigskip\hrule\medskip
+ \fi
+}
+\def\@setsubjclass{%
+ {\itshape\subjclassname:}\enspace\@subjclass\@addpunct.}
+\def\@setkeywords{%
+ {\itshape \keywordsname:}\enspace \@keywords\@addpunct.}
+\def\@settitlecomment{\@titlecomment\@addpunct.}
+\def\@maketitle{%
+ \normalfont\normalsize
+ \let\@makefnmark\relax \let\@thefnmark\relax
+ \ifx\@empty\@date\else \@footnotetext{\@setdate}\fi
+ \ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi
+ \ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi
+ \ifx\@empty\@titlecomment\else \@footnotetext{\@settitlecomment}\fi
+ \ifx\@empty\thankses\else \@footnotetext{%
+ \def\par{\let\par\@par}\@setthanks\par}\fi
+ \@mkboth{\@nx\shortauthors}{\@nx\shorttitle}%
+ \global\topskip12\p@\relax % 5.5pc " " " " "
+ \topskip42 pt\@settitle
+ \ifx\@empty\authors \else \@setauthors \fi
+ \@setaddresses
+ \ifx\@empty\@dedicatory
+ \else
+ \baselineskip18\p@
+ \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}%
+ \global\dimen@i\prevdepth}\prevdepth\dimen@i
+ \fi
+ \endfront@text
+ \bigskip\hrule\medskip
+ \@setrevision
+ \@setabstract
+ \vskip-\bigskipamount
+ \normalsize
+ \if@titlepage
+ \newpage
+ \else
+ \dimen@34\p@ \advance\dimen@-\baselineskip
+ \vskip\dimen@\relax
+ \fi
+}
+\def\@setaddresses{\par
+ \nobreak \begingroup
+\footnotesize
+ \def\author##1{\nobreak\addvspace\bigskipamount}%
+ \def\\{\unskip, \ignorespaces}%
+ \interlinepenalty\@M
+ \def\address##1##2{\begingroup
+ \par\addvspace\bigskipamount\noindent\narrower
+ \@ifnotempty{##1}{(\ignorespaces##1\unskip) }%
+ {\ignorespaces##2}\par\endgroup}%
+ \def\curraddr##1##2{\begingroup
+ \@ifnotempty{##2}{\nobreak\indent{\itshape Current address}%
+ \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
+ ##2\par}\endgroup}%
+ \def\email##1##2{\begingroup
+ \@ifnotempty{##2}{\nobreak\indent{\itshape e-mail address}%
+ \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
+ {##2}\par}\endgroup}%
+ \def\urladdr##1##2{\begingroup
+ \@ifnotempty{##2}{\nobreak\indent{\itshape URL}%
+ \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
+ \ttfamily##2\par}\endgroup}%
+ \addresses
+ \endgroup
+}
+\copyrightinfo{}{}
+
+\newinsert\copyins
+\skip\copyins=3pc
+\count\copyins=1000 % magnification factor, 1000 = 100%
+\dimen\copyins=.5\textheight % maximum allowed per page
+
+\renewcommand{\topfraction}{0.95} % let figure take up nearly whole page
+\renewcommand{\textfraction}{0.05} % let figure take up nearly whole page
+
+%% Specify the dimensions of each page
+
+\setlength{\oddsidemargin}{.25 in} % Note \oddsidemargin = \evensidemargin
+\setlength{\evensidemargin}{.25 in}
+\setlength{\marginparwidth}{0.07 true in}
+\setlength{\topmargin}{-0.7 in}
+\addtolength{\headheight}{1.84 pt}
+\addtolength{\headsep}{0.25in}
+\addtolength{\voffset}{0.7 in}
+\setlength{\textheight}{8.5 true in} % Height of text (including footnotes & figures)
+\setlength{\textwidth}{6.0 true in} % Width of text line.
+\setlength{\parindent}{20 pt} % Width of text line.
+\widowpenalty=10000
+\clubpenalty=10000
+\@twosidetrue \@mparswitchtrue \def\ds@draft{\overfullrule 5pt}
+\raggedbottom
+
+%% Pagestyle
+
+%% Defines the pagestyle for the title page.
+%% Usage: \lmcsheading{vol}{issue}{year}{pages}{subm}{publ}{rev}{spec_iss}{title}
+
+\def\lmcsheading#1#2#3#4#5#6#7{\def\ps@firstpage{\let\@mkboth\@gobbletwo%
+\def\@oddhead{%
+\hbox{%
+ \vbox to 30 pt{\scriptsize\vfill
+ \hbox{\textsf{Logical Methods in Computer Science}\hfil}
+ \hbox{\textsf{Vol.~? (?:?) 2???, ? pages}}
+ \hbox{\textsf{www.lmcs-online.org}}
+ \rlap{\vrule width\hsize depth .4 pt}}}\hfill
+\raise 4pt
+\hbox{%
+ \vbox to 30 pt{\scriptsize\vfill
+ \hbox{\textsf{}}
+ \hbox{\textsf{}}}}\hfill
+\raise 4pt
+\hbox{%
+ \vbox to 30 pt{\scriptsize\vfill
+ \hbox to 94 pt{\textsf{Submitted\hfill date}}
+ \hbox to 94 pt{\textsf{Published\hfill date}}
+ }}}
+\def\@evenhead{}\def\@evenfoot{}}%
+\thispagestyle{firstpage}}
+
+\def\endfront@text{%
+ \insert\copyins{\hsize\textwidth
+ \fontsize{6}{7\p@}\normalfont\upshape
+ \noindent
+\hbox{
+ \vbox{\fontsize{6}{8 pt}\baselineskip=6 pt\vss
+ \hbox{\hbox to 20 pt{\hfill}
+ \textsf{LOGICAL METHODS}\hfil}
+ \hbox{\hbox to 20 pt{\phantom{x}}
+ \textsf{IN COMPUTER SCIENCE}}}}
+\hfill\textsf{DOI:10.2168/LMCS-???}
+%\hfill\textsf{\copyright\shortauthors}
+\hfill
+\hbox{
+ \vbox{\fontsize{6}{8 pt}\baselineskip=6 pt\vss
+ \hbox{\textsf{\,\,\copyright\quad \shortauthors}\hfil}
+ \hbox{\textsf{Creative Commons}\hfil}}}
+\par\kern\z@}%
+}
+%\def\endfront@text{}
+
+\def\enddoc@text{}
+
+%% Defines the pagestyle for the rest of the pages
+%% Usage: \ShortHeadings{Minimizing Conflicts}{Minton et al}
+%% \ShortHeadings{short title}{short authors}
+
+%\def\firstpageno#1{\setcounter{page}{#1}}
+%\def\ShortHeadings#1#2{\def\ps@lmcsps{\let\@mkboth\@gobbletwo%
+%\def\@oddhead{\hfill {\small\sc #1} \hfill}%
+%\def\@oddfoot{\hfill \small\rm \thepage \hfill}%
+%\def\@evenhead{\hfill {\small\sc #2} \hfill}%
+%\def\@evenfoot{\hfill \small\rm \thepage \hfill}}%
+%\pagestyle{lmcsps}}
+
+%% MISCELLANY
+
+\def\@startsection#1#2#3#4#5#6{\bigskip%
+ \if@noskipsec \leavevmode \fi
+ \par \@tempskipa #4\relax
+ \@afterindentfalse
+ \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
+ \if@nobreak \everypar{}\else
+ \addpenalty\@secpenalty\addvspace\@tempskipa\fi
+ \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}%
+ {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
+}
+
+\def\figurecaption#1#2{\noindent\hangindent 40pt
+ \hbox to 36pt {\small\sl #1 \hfil}
+ \ignorespaces {\small #2}}
+% Figurecenter prints the caption title centered.
+\def\figurecenter#1#2{\centerline{{\sl #1} #2}}
+\def\figurecenter#1#2{\centerline{{\small\sl #1} {\small #2}}}
+
+%
+% Allow ``hanging indents'' in long captions
+%
+\long\def\@makecaption#1#2{
+ \vskip 10pt
+ \setbox\@tempboxa\hbox{#1: #2}
+ \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
+ \begin{list}{#1:}{
+ \settowidth{\labelwidth}{#1:}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ }\item #2 \end{list}\par % Output in quote mode
+ \else % ELSE center.
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}
+ \fi}
+
+
+% Define strut macros for skipping spaces above and below text in a
+% tabular environment.
+\def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces}
+\def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces}
+
+%%% Theorem environments
+
+% the following environments switch to a slanted font:
+\theoremstyle{plain}
+
+\newtheorem{thm}{Theorem}[section]
+\newtheorem{cor}[thm]{Corollary}
+\newtheorem{lem}[thm]{Lemma}
+\newtheorem{prop}[thm]{Proposition}
+\newtheorem{asm}[thm]{Assumption}
+
+% the following environments keep the roman font:
+\theoremstyle{definition}
+
+\newtheorem{rem}[thm]{Remark}
+\newtheorem{rems}[thm]{Remarks}
+\newtheorem{exa}[thm]{Example}
+\newtheorem{exas}[thm]{Examples}
+\newtheorem{defi}[thm]{Definition}
+\newtheorem{conv}[thm]{Convention}
+\newtheorem{conj}[thm]{Conjecture}
+\newtheorem{prob}[thm]{Problem}
+\newtheorem{oprob}[thm]{Open Problem}
+\newtheorem{algo}[thm]{Algorithm}
+\newtheorem{obs}[thm]{Observation}
+\newtheorem{qu}[thm]{Question}
+\newtheorem{fact}[thm]{Fact}
+\newtheorem{pty}[thm]{Property}
+
+\numberwithin{equation}{section}
+
+% end-of-proof sign, to appear at right margin
+% Paul Taylor and Chris Thompson, Cambridge, 1986
+%
+\def\pushright#1{{% set up
+ \parfillskip=0pt % so \par doesn't push #1 to left
+ \widowpenalty=10000 % so we dont break the page before #1
+ \displaywidowpenalty=10000 % ditto
+ \finalhyphendemerits=0 % TeXbook exercise 14.32
+ %
+ % horizontal
+ \leavevmode % \nobreak means lines not pages
+ \unskip % remove previous space or glue
+ \nobreak % don't break lines
+ \hfil % ragged right if we spill over
+ \penalty50 % discouragement to do so
+ \hskip.2em % ensure some space
+ \null % anchor following \hfill
+ \hfill % push #1 to right
+ {#1} % the end-of-proof mark (or whatever)
+ %
+ % vertical
+ \par}} % build paragraph
+
+\def\qEd{{\lower1 pt\hbox{\vbox{\hrule\hbox{\vrule\kern4 pt
+ \vbox{\kern4 pt\hbox{\hss}\kern4 pt}\kern4 pt\vrule}\hrule}}}}
+\def\qed{\pushright{\qEd}
+ \penalty-700 \par\addvspace{\medskipamount}}
+
+\newenvironment{Proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep6\p@\@plus6\p@\relax
+ \trivlist
+ \item[\hskip\labelsep
+ \itshape
+ #1]\ignorespaces
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
+\newenvironment{iteMize}[1]{\begin{enumerate}[#1]}{\end{enumerate}}
+\newenvironment{desCription}{\begin{enumerate}[\hbox to8 pt{\hfill}]}{\end{enumerate}}
+% Bibliographystyle
+
+\bibliographystyle{alpha}
+
+\endinput