%From AI.HASSAN@MCC.COM Tue Aug 16 13:34:53 1988 %Date: Thu 4 Aug 88 11:07:30-CDT %From: Hassan Ait-Kaci %Subject: kluwer.sty %To: edsel!jlz@labrea.stanford.edu % FILE. . . . . /usr/bloom2/slang/hassan/papers/lasc/kluwer.sty % EDIT BY . . . Hassan Ait-Kaci % ON MACHINE. . Phoebus.Aca.Mcc.Com % STARTED ON. . Fri May 27 16:49:22 1988 % % This is a LaTeX document style for articles to be published in the % journal of Lisp and Symbolic Computation (LASC), published by Kluwer % Academic Publishers. It was written by Hassan Ait-Kaci, at MCC in % Austin, TX (hassan@mcc.com) following specifications and samples sent % by LASC editor Jan Zubkoff. It is meant to make life easy to the % authors by providing some high level commands necessary to declare such % things as title, author name, etc., without worrying about how Kluwer % wants LASC article to look. All that the authors have to do is prepare % their manuscript in LaTeX as follows. % % The file must specify: % % \documentsyle{kluwer} % % NO ALTERATION OF PAGE LAYOUT MAY BE MADE. DO NOT SPECIFY ANY HEADINGS. % Immediately following the % % \begin{document} % % line, use the following commands (those marked with a * are optional % and may be omitted) followed by the command \preamble: % % \title{...} the title of the article % (*) \titlenote{...} footnote for the title % \runningtitle{...} the running title if different from the title % because title is too long to fit on top of odd pages % \author{...} one author's name % \runningauthor{...} Person's name on top of even pages or last % names only on co-authors % (*) \thanks{...} last author's thanks (for support, etc...) % (*) \email{...} last author's electronic mail address % (*) \address{...} last author's street address % (the \thanks, \email, and \address commands % refer to the last specified \author) % \runningauthor{...} for 2 or more authors last name and last name % (*) \keywords{...} key words and phrases dealt with in article % (*) \draft marks the manuscript foot with ``Draft of ...'' % % Following these commands the command: % % \preamble % % will put everything into place. In addition to the name, title, etc., % if known to the authors the following can be defined before the % \preamble command (more probably, these command are to be inserted by % the editor upon final acceptance and when all details of the issue of % LASC in which the article is to appear are finalized): % % (*) \startingpage{...} the number of the first page (MUST BE ODD) % (*) \endingpage{...} the number of the last page % (*) \volume{...} the number of the LASC volume % (*) \pubyear{...} the year of publication % % The last one defaults to the current year. % % After \preamble, give the abstract as follows: % % \begin{abstract} % ... % \end{abstract} % % and start the text of your article using all regular LaTeX section and % other commands. A proof environment has been added so that % % \begin{proof} % ... % \end{proof} % % following theorems, lemmas, etc., will do the necessary thing. % % If the article contains bibliographical references use: % % \bibliographystyle{plain} % \bibliography{} % % right before the \end{document} line at the end of your file. This is % intended to be used in conjunction with BiBTeX using the particular % bibliography style of Kluwer Pubs. A kluwer.bst file is supplied along % with this kluwer.sty file for this purpose. Refer to the LaTeX % manual for information on how to use BiBTeX. We provide the command % \uml{...} equivalent to \"{...} (putting a dieresis on the argument) % to use in a *.bib file to avoid problems of it being confused with the % string quote " of BiBTeX. % % or include the bibliography in the file itself by typing the following % at the end of the paper and before \end{document} %\bibliography{kluwer} %\begin{thebibliography}{10} % % result should be: % \bibitem{Unknown} Unknown. % \newblock {\sl Multi-Paradigm Research: A Survey of Nine Projects}. % \newblock IEEE Software, Vol. 3, No. 1 (1986), 70--77. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Here is an example of a preamble: % % \documentstyle{kluwer} % \begin{document} % % \title{Integrating Logic and Functional Programming} % \titlenote{This article is a revised and extended version of~\cite{lefun}.} % % \author{Hassan Ait-Kaci} % \email{hassan@mcc.com} % \thanks{Supported by Mickey Mouse Grant Number 123-45-6789} % % \author{Roger Nasr} % \email{nasr@mcc.com} % \address{Microelectronics and Computer Technology Corporation \\ % Austin, Texas 78759, U.S.A.} % % \runningauthor{Ait-Kaci and Nasr} % \runningtitle{Integrating Logic and Functional Programming} % % % \keywords{Logic Programming, Functional Programming, Equational Programming, % Symbolic Computation, Symbolic Deduction, Delayed Evaluation.} % % \preamble % % \begin{abstract} % <... text of abstract ...> % \end{abstract} % % \section{Introduction} % % <... rest of article ...> % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % K L U W E R L a T e X M A C R O S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentstyle[11pt,twoside]{article} \typeout{*******************************************} \typeout{* Document Style `kluwer' --- 27 May 1988 *} \typeout{*******************************************} \makeatletter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % P A G E S I Z E %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Kluwer page width must be 125 mm, text being centered \textwidth 125 mm \oddsidemargin 18 mm \evensidemargin 18 mm \headheight 18pt \raggedbottom \parindent 1em \parskip 0.04in \renewcommand{\baselinestretch}{0.9} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % F R O N T P A G E P A R A M E T E R S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\herald {\typeout{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ } \typeout{Title ......... \@title} \typeout{First Author .. \@fstauthor} \typeout{Received ...... \@received} \typeout{Revised ....... \@revised} \typeout{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ }} \def\startingpage#1{\gdef\@startingpage{#1}\count0=#1} \def\endingpage#1{\gdef\@endingpage{#1}} \def\volume#1{\gdef\@volume{#1}} \def\pubyear#1{\gdef\@pubyear{#1}} %Gracious changes by Kent Dybvig 1/90 %%% the \draft definition has an errant "<" in it \def\draft{\gdef\@draft{\hfill\fbox{\footnotesize\sl Draft of \today}\hfill}} %\def\draft{\gdef\@draft{\hfill\fbox{\footnotesize\sl< Draft of \today}\hfill}} \def\title#1{\gdef\@title{#1}\gdef\@runningtitle{\uppercase{#1}}} \def\runningtitle#1{\gdef\@runningtitle{\uppercase{#1}}} \def\runningauthor#1{\gdef\@runningauthor{\uppercase{#1}}}%added for author running title \def\titlenote#1{\gdef\@tnote{#1}} \def\tn@te{\@ifundefined{@tnote}{\relax}{\signednote{\@tnote}}} \def\received#1{\gdef\@received{#1}} \def\revised#1{\gdef\@revised{#1}} \def\keywords#1{\gdef\@keywords{#1}} \newcount\@temp \newcount\@authorcount \@authorcount=0 \def\@fstauthor{[None Specified]} \def\author#1{\advance\@authorcount by 1 \@namedef{@author\the\@authorcount}{\uppercase{#1}} \ifnum\@authorcount=1\gdef\@fstauthor{#1}\fi} \def\thanks#1{\@namedef{@thanks\the\@authorcount}{#1}} \def\email#1{\@namedef{@email\the\@authorcount}{#1}} \def\address#1{\@namedef{@address\the\@authorcount}{#1}} \newbox\@authorbox \def\@authors{\unhcopy\@authorbox} \def\c@mma{\ifvoid\@authorbox\relax\else, \fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\def\doauthors %{\@temp=0 % \@whilenum\@temp<\@authorcount % \do{\advance \@temp by 1 % \def\@author{\@nameuse{@author\the\@temp}} % \global\setbox\@authorbox=\hbox{\@authors\c@mma \@author} % \doauthorline{\@author} % {\@ifundefined{@thanks\the\@temp}{\relax} % {\signednote{\@nameuse{@thanks\the\@temp}}}} % {\@ifundefined{@email\the\@temp}{\relax} % {({\normalsize\sl % \@nameuse{@email\the\@temp}}\/)}} % \@ifundefined{@address\the\@temp}{\relax} % {\doaddress{\@nameuse{@address\the\@temp}}}}} % %\def\doauthorline#1#2#3{\hbox to \hsize{#1#2\hfill #3}} %not sure if this should be illiminated %\def\doaddress#1{\par\vskip 0.01in {\it #1} \vskip 0.07in} %not sure if this should be illiminated %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Changes graciously done by Kent Dybvig 1/90 % there are two problems in \doauthors: % 1. if there is no address for a given author, the following item in % the header comes too close % 2. the email addresses don't match the size and font of the address lines \def\doauthors {\@temp=0 \@whilenum\@temp<\@authorcount \do{\advance \@temp by 1 \def\@author{\@nameuse{@author\the\@temp}} \global\setbox\@authorbox=\hbox{\@authors\c@mma \@author} \doauthorline{\@author} {\@ifundefined{@thanks\the\@temp}{\relax} {\signednote{\@nameuse{@thanks\the\@temp}}}} {\@ifundefined{@email\the\@temp}{\relax} {({\it\@nameuse{@email\the\@temp}}\/)}} \@ifundefined{@address\the\@temp}{\vskip 0.07in} {\doaddress{\@nameuse{@address\the\@temp}}}}} \def\doauthorline#1#2#3{\hbox to \hsize{#1#2\hfill #3}} %not sure if this should be illiminated \def\doaddress#1{\par\vskip 0.01in {\it #1} \vskip 0.07in} %not sure if this should be illiminated \def\signednote{\xdef\@thefnmark{\@signmark}\@@signmark\@footnotetext} \newcount\signcount \signcount=0 \@namedef{@sign0}{*} \@namedef{@sign1}{\dag} \@namedef{@sign2}{\ddag} \@namedef{@sign3}{\sharp} \@namedef{@sign4}{\natural} \@namedef{@sign5}{\flat} \@namedef{@sign6}{\S} \def\@signmark{\ifnum\signcount>6 \global\signcount=0 \typeout{WARNING: Too many signed notes!} \relax \else\@nameuse{@sign\the\signcount} \global\advance\signcount by 1 \fi} \def\@@signmark{$^{\@nameuse{@sign\the\signcount}}$} \newlength{\kwskip} %\settowidth{\kwskip}{\footnotesize\bf Keywords:\ } %\typeout{\kwskip=\the\kwskip} \kwskip 54pt %new preamble 9/22/88 fixed so bookreviews can be typeset \def\preamble{\vbox{\vskip0.35in}\pagestyle{names@title}\thispagestyle{lasc} {\parindent 0pt{\LARGE \@title}\tn@te\vskip 0.5in \footnotesize\doauthors\vskip 0.03in \@ifundefined{@received}{\relax}{(Received: \@received)\vskip 0.01in} \@ifundefined{@revised}{\relax}{(Revised: \@revised)\vskip 0.1in} \@ifundefined{@keywords}{\relax} {{\parindent -\kwskip\leftskip \kwskip{\bf Keywords:} \@keywords }}\herald}} %\def\preamble{\vbox{\vskip0.35in}\pagestyle{names@title}\thispagestyle{lasc} %{\parindent 0pt{\LARGE \@title}\tn@te\vskip 0.5in % \footnotesize\doauthors\vskip 0.03in % \@ifundefined{@received}{\relax}{(Received: \@received)\vskip 0.01in} % \@ifundefined{@revised}{\relax}{(Revised: \@revised)\vskip 0.1in} % {\parindent -\kwskip\leftskip \kwskip{\bf Keywords:} \@keywords % \herald % %}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % H E A D S A N D F O O T S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@volume{?} \def\@startingpage{??} \def\@endingpage{??} \def\@pubyear{\the\year} \def\@lasc{LISP AND SYMBOLIC COMPUTATION: An International Journal, \@volume, \@startingpage--\/\@endingpage, \@pubyear} %changed volume 3: => Volume 3, yuk \def\@kluwer{\copyright~\@pubyear~Kluwer Academic Publishers -- Manufactured in The Netherlands} %changed \footnotesize to \footnotesize\sl jlz 8/16/88 \def\lascmark{\footnotesize\sl\vbox{\rightline{\@lasc}\rightline{\@kluwer}}} \def\ps@lasc{\def\@oddhead{\lascmark}} \def\ps@names@title{\def\@oddhead{\footnotesize\sl\@runningtitle\hfil\thepage} % \def\@evenhead{\footnotesize\sl\thepage\hfil\@authors}} \def\@evenhead{\footnotesize\sl\thepage\hfil\@runningauthor}} \def\@oddfoot{\@draft} \def\@evenfoot{\@draft} \def\@draft{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % S E C T I O N S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\section{\@startsection{section}{1}{\z@}{-0.2in}{0.12in}{\large\bf}} %fix from Alan Borning \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip 1em }\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}% \endgroup \csname #1mark\endcsname{#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}\else \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname {#7}\addcontentsline {toc}{#1}{\ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname}\fi #7}}\fi \@xsect{#5}} % %\def\thesection{\arabic{section}.\hskip-.5em} %\def\section{\@startsection %{section}{1}{\z@}{0.2in}{0.12in}{\large\bf}} \def\subsection{\@startsection {subsection}{2}{\z@}{0.13in}{0.09in}{\normalsize\bf}} \def\subsubsection{\@startsection {subsubsection}{3}{\z@}{0.08in}{0.05in}{\normalsize\it}} \def\paragraph{\@startsection {paragraph}{4}{\z@}{0.05in}{2\baselineskip}{\normalsize\it}} \def\subparagraph{\@startsection {subparagraph}{4}{\parindent}{2\baselineskip}{-1em}{\normalsize\it}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % A B S T R A C T %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Change the abstract to have the word Abstract in \footnotesize\bf % and followed by a period. \def\abparagraph{\@startsection{paragraph}{4}{\z@}{3.25ex plus 1ex minus .2ex}{-1em}{\footnotesize\bf}} \def\abstract{\abparagraph{Abstract.}\footnotesize} \def\endabstract{\vskip 0.1in\normalsize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % M I S C E L L A N Y %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Theorems etc... \newtheorem{theorem}{Theorem} \newtheorem{proposition}{Proposition} \newtheorem{lemma}{Lemma} \newtheorem{definition}{Definition} \newtheorem{corollary}{Corollary} % Definition of the proof-environment: \def\qed{\vrule height6pt width4pt depth2pt} \newenvironment{proof}{\quote\small{\bf Proof:\ }}{\qed\endquote} % Define umlaut command \uml as alias of \" to work in *.bib file \def\uml#1{\"#1} % Define bibliography with labels of the form ``n.'' rather than ``[n]'' \def\thebibliography#1{\section*{References}\list {\arabic{enumi}.}{\settowidth\labelwidth{#1.}\leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus -.07em} \sloppy\frenchspacing \sfcode`\.=1000\relax} \let\endthebibliography=\endlist % Change the line spacing in the verbatim environment from default % 13.6pt to 12pt \def\verbatim {\@verbatim \baselineskip 12pt \frenchspacing\@vobeyspaces \@xverbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%