%%%%%%%%%% espcrc2.sty %%%%%%%%%% % C(amera) R(eady) C(opy) document-style option. (two-column format). % $Revision: 1.2 $, $Date: 2004/02/24 11:22:11 $ % To be used with LaTeX version 2.09 (14 January 1992 or later), or LaTeX2e. % % Copyright (C) 1992 by Elsevier Science Publishers. All rights reserved. % % IMPORTANT NOTICE: % % You are not allowed to change this file. You may however copy this file % to a file with a different name and then change the copy. % % You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED % to take money for the distribution or use of this file (or a changed % version) except for a nominal charge for copying etc. % % You are allowed to distribute this file under the condition that it is % distributed together with espcrc2.tex. % % If you receive only this file from someone, complain! % % % % Usage: \documentclass[fleqn,twoside]{article} % \usepackage{espcrc2} % \def\readRCS$#1: #2 #3 #4 #5${% \def\filename{#2}% \def\fileversion{#3}% \def\filedate{#4}% } \readRCS $Id: espcrc2.sty,v 1.2 2004/02/24 11:22:11 spepping Exp $ \ProvidesPackage{espcrc2}[\filedate \space v\fileversion \space Elsevier 2-column CRC] \DeclareOption{headings}{\@headingstrue} \newif\if@headings\@headingsfalse \ProcessOptions % SIDE MARGINS: \oddsidemargin -4mm % Left margin on odd-numbered pages. \evensidemargin 4mm % Left margin on even-numbered pages. % VERTICAL SPACING: \topmargin 16mm % Nominal distance from top of page to top % of box containing running head. \headheight 13mm % No running headline, and no \headsep 21pt % space between running headline and text. \footskip 30pt % Baseline-baseline distance between % running footline and last line of text. % DIMENSION OF TEXT: \textheight 202mm % Height of text part of page \textwidth 160mm % Width of text part of page, i.e of line \columnsep 10mm % Horizontal space between columns \columnseprule 0pt % No vertical rule between columns % PARAGRAPHING \parskip 0pt % No extra vertical space between paragraphs. \parindent 1em % Width of paragraph indentation. % SECTIONAL UNITS: \newdimen\@bls % \@b(ase)l(ine)s(kip) \@bls=\baselineskip % \@bls ~= \baselineskip for \normalsize \advance\@bls -1ex % (fudge term) \newdimen\@eps % \@eps=0.0001pt % \eps = very small positive quantity \def\section{\@startsection{section}{1}{\z@} {1.5\@bls plus 0.5\@bls}{1\@bls}{\normalsize\bf}} \def\subsection{\@startsection{subsection}{2}{\z@} {1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}} \def\subsubsection{\@startsection{subsubsection}{3}{\z@} {1\@bls plus 0.25\@bls}{\@eps}{\normalsize\bf}} \def\paragraph{\@startsection{paragraph}{4}{\parindent} {1\@bls plus 0.25\@bls}{0.5em}{\normalsize\bf}} \def\subparagraph{\@startsection{subparagraph}{4}{\parindent} {1\@bls plus 0.25\@bls}{0.5em}{\normalsize\bf}} \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.\hskip0.5em}\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}} % FIGURES AND TABLES \long\def\@makefigurecaption#1#2{\vskip 10mm #1. #2\par} \long\def\@maketablecaption#1#2{\hbox to \hsize{\parbox[t]{\hsize} {#1 \\ #2}}\vskip 0.3ex} \def\fnum@figure{Figure \thefigure} \def\figure{\let\@makecaption\@makefigurecaption \@float{figure}} \@namedef{figure*}{\let\@makecaption\@makefigurecaption \@dblfloat{figure}} % \def\fnum@table{Table \thetable} \def\table{\let\@makecaption\@maketablecaption \@float{table}} \@namedef{table*}{\let\@makecaption\@maketablecaption \@dblfloat{table}} \floatsep 10mm plus 4pt minus 4pt % Space between adjacent floats moved % to top or bottom of text page. \textfloatsep=\floatsep % Space between main text and floats % at top or bottom of page. \intextsep=\floatsep % Space between in-text figures and % text. % FOOTNOTE \long\def\@makefntext#1{\parindent 1em\noindent\hbox{${}^{\@thefnmark}$}#1} % EQUATION \mathindent=0em % TITLE \def\maketitle{\begingroup % Initialize generation of front-matter % \let\thanks\@gobble \def\thefootnote{\fnsymbol{footnote}}% \newpage \global\@topnum\z@ \@maketitle \@thanks \thispagestyle{plain} \endgroup % copy title and author into runtitle and runauthor if not already given \@ifundefined{@runtitle}{\global\let\@runtitle\@title}{}% \@ifundefined{@runauthor}{\global\let\@runauthor\@author}{}% % these three occur in the author string; % make them gobble their arguments \renewcommand\address[2][\relax]{}% \renewcommand\addressmark[1][\relax]{}% \let\thanks\@gobble \let\maketitle\relax \let\@maketitle\relax \gdef\@thanks{}% \gdef\@address{}\gdef\@author{}\gdef\@title{}} \def\justify@on{\let\\=\@normalcr \leftskip\z@ \@rightskip\z@ \rightskip\@rightskip} \newbox\fm@box % Box to capture front-matter in \def\@maketitle{% % Actual formatting of \maketitle \global\setbox\fm@box=\vbox\bgroup \vskip 8mm % 930715: 8mm white space above title \raggedright % Front-matter text is ragged right \hyphenpenalty\@M % and is not hyphenated. {\Large \@title \par} % Title set in larger font. \vskip\@bls % One line of vertical space after title. {\normalsize % each author set in the normal \@author \par} % typeface size \vskip\@bls % One line of vertical space after author(s). \@address % all addresses \egroup \twocolumn[% % Front-matter text is over 2 columns. \unvbox\fm@box % Unwrap contents of front-matter box \vskip\@bls % add 1 line of vertical space, \unvbox\abstract@box % unwrap contents of abstract boxes, \vskip 2pc]} % and add 2pc of vertical space \def\runtitle#1{\gdef\@runtitle{#1}} \def\runauthor#1{\gdef\@runauthor{#1}} \let\@runauthor\relax \let\@runtitle\relax \newcounter{address} \def\theaddress{\alph{address}} \def\@makeadmark#1{\hbox{$^{\rm #1}$}} \def\address{\stepcounter{address}\addressmark \@ifnextchar[\@markaddress\@addtoaddress} \def\@markaddress[#1]{% \expandafter\xdef\csname mkad@#1\endcsname{\theaddress}% \@addtoaddress} \def\@addtoaddress#1{\begingroup \xdef\@tempa{\theaddress}\let\\=\relax \def\protect{\noexpand\protect\noexpand}\xdef\@address{\@address \protect\addresstext{\@tempa}{#1}}\endgroup} \def\@address{} \def\addressmark{\@ifnextchar[\@markedaddressmark {\xdef\@tempb{\theaddress}\@makeadmark{\@tempb}}} \def\@markedaddressmark[#1]{\xdef\@tempb{\csname mkad@#1\endcsname}% \@makeadmark{\@tempb}} \def\addresstext#1#2{\leavevmode \begingroup \raggedright \hyphenpenalty\@M \@makeadmark{#1}#2\par \endgroup \vskip\@bls} % ABSTRACT: \newbox\abstract@box % Box to capture abstract in \def\abstract{% \global\setbox\abstract@box=\vbox\bgroup \small\rm \ignorespaces} \def\endabstract{\par \egroup} % BIBLIOGRAPHY \def\thebibliography#1{\section*{REFERENCES}\list{\arabic{enumi}.} {\settowidth\labelwidth{#1.}\leftmargin=1.67em \labelsep\leftmargin \advance\labelsep-\labelwidth \itemsep\z@ \parsep\z@ \usecounter{enumi}}\def\makelabel##1{\rlap{##1}\hss}% \def\newblock{\hskip 0.11em plus 0.33em minus -0.07em} \sloppy \clubpenalty=4000 \widowpenalty=4000 \sfcode`\.=1000\relax} % Collapse citation numbers to ranges. \newcount\@tempcntc \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do {\@ifundefined {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea \def\@citea{,\penalty\@m\ }{\bf ?}\@warning {Citation `\@citeb' on page \thepage \space undefined}}% {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne \@citea\def\@citea{,\penalty\@m} \hbox{\csname b@\@citeb\endcsname}% \else \advance\@tempcntb\@ne \ifnum\@tempcntb=\@tempcntc \else\advance\@tempcntb\m@ne\@citeo \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea \def\@citea{,\penalty\@m}% \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} % PAGE STYLES \def\ps@crcplain{\let\@mkboth\@gobbletwo \def\@oddhead{\reset@font{\sl\rightmark}\hfil \rm\thepage}% \def\@evenhead{\reset@font\rm \thepage\hfil\sl\leftmark}% \let\@oddfoot\@empty \let\@evenfoot\@oddfoot} \def\ps@crcheadings{\let\@mkboth\@gobbletwo \def\@oddhead{\reset@font{\let\\=\space \sl \@runtitle}\hfil \rm\thepage}% \def\@evenhead{\reset@font\rm \thepage\hfil\sl\@runauthor}% \let\@oddfoot\@empty \let\@evenfoot\@oddfoot} % INITIALIZATION % \twocolumn % Formatting is in 2 columns, with \sloppy % paragraphs that can be loosely set, \emergencystretch=1pc % (with 1 pc extra for emergencies), \flushbottom % and pages of equal length \if@headings \ps@crcheadings % modified 'headings' page style \else \ps@crcplain % modified 'plain' page style \fi