%Special modified version supplied 6/22/94 by C. Hurley. This version %seems to solve all previous problems with numbering of theorem-like %environments and in-text cross-references to them. A new official LAA %style file incorporating these fixes (and others) is due to be released %by fall, 1994. Charles Hurley's email address is % c.hurley@panix.com % %%%%%%%%%%%%%% Linear Algebra and its Application %%%%%%%%%%%%%% Elsevier Science Inc. %%%%%%%%%%%%%% 655 Avenue of the Americas %%%%%%%%%%%%%% New York, N.Y.10010 %%%%%%%%%%%%%% U.S.A. %%%%%%%%%%%%%% Ver. 1.0 Sept. 24, 1993 \typeout{LAA Version 1.0 } \def\bull{\rule{6pt}{6pt}} \def\ell{l} \def\m#1{\mbox{\rm #1}} \def\halmos{\hspace*{\fill}\rule{6pt}{6pt}} \def\em{\protect\pem{}} \def\pem{\ifdim \fontdimen\@ne\font >\z@ \rm \else \it \fi} \long\gdef\rec#1#2{\addvspace{1pc}\def\tempa{#2}\noindent\hspace{1.5pc}% \ifx\tempa\@empty{\footnotesize\it Received #1;}\else {\recfont Received #1; final manuscript accepted \tempa}\fi} \font\rmmm=cmr10 at 10pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% If you wish to use these environments uncomment them. %%%%%% The numbering will be by section. \newcounter{theorem}[section] \newcounter{algorithm}[section] \newcounter{corollary}[section] \newcounter{proposition}[section] \newcounter{lemma}[section] \newcounter{axiom}[section] \newcounter{definition}[section] \newcounter{remark}[section] \newcounter{comment}[section] \newcounter{example}[section] \newcounter{problem}[section] \newcounter{conjecture}[section] \newcounter{observation}[section] \newcounter{acknowledgements}[section] % \newtheorem{theorem}{Theorem}[section] \newtheorem{axiom}{Axiom}[section] \newtheorem{lemma}{Lemma}[section] \newtheorem{corollary}{Corollary}[section] \newtheorem{proposition}{Proposition}[section] \newtheorem{algorithm}{Algorithm}[section] \newtheorem{observation}{Observation}[section] % \long\gdef\numberbysection{\renewcommand{\thesection}{\arabic{section}} \renewcommand{\theequation}{\thesection.\arabic{equation}} \@addtoreset{equation}{section} \renewcommand{\thetheorem}{\thesection.\arabic{theorem}} \@addtoreset{theorem}{section} \renewcommand{\thefigure}{\arabic{figure}} \@addtoreset{figure}{section} \renewcommand{\thetable}{\arabic{table}} \@addtoreset{table}{section} \renewcommand{\thelemma}{\thesection.\arabic{lemma}} \@addtoreset{lemma}{section} \renewcommand{\theobservation}{\thesection.\arabic{observation}} \@addtoreset{observation}{section} \renewcommand{\thealgorithm}{\thesection.\arabic{algorithm}} \@addtoreset{algorithm}{section} \renewcommand{\thecorollary}{\thesection.\arabic{corollary}} \@addtoreset{corollary}{section} \renewcommand{\theproposition}{\thesection.\arabic{proposition}} \@addtoreset{proposition}{section} \renewcommand{\theaxiom}{\thesection.\arabic{axiom}} \@addtoreset{axiom}{section} \renewcommand{\theproblem}{\arabic{problem}} \@addtoreset{problem}{section} \renewcommand{\theexample}{\arabic{example}} \@addtoreset{example}{section} \renewcommand{\theremark}{\arabic{remark}} \@addtoreset{remark}{section} \renewcommand{\thedefinition}{\arabic{definition}} \@addtoreset{definition}{section} \renewcommand{\theconjecture}{\arabic{conjecture}} \@addtoreset{conjecture}{section} \renewcommand{\thecomment}{\arabic{comment}} \@addtoreset{comment}{section}} % \long\gdef\numberglobal{\renewcommand{\thesection}{\arabic{section}} \renewcommand{\theequation}{\arabic{equation}} \renewcommand{\thetheorem}{\arabic{theorem}} \renewcommand{\thefigure}{\arabic{figure}} \renewcommand{\thetable}{\arabic{table}} \renewcommand{\thelemma}{\arabic{lemma}} \renewcommand{\theobservation}{\arabic{observation}} \renewcommand{\thealgorithm}{\arabic{algorithm}} \renewcommand{\thecorollary}{\arabic{corollary}} \renewcommand{\theproposition}{\arabic{proposition}} \renewcommand{\theaxiom}{\arabic{axiom}} \renewcommand{\theproblem}{\arabic{problem}} \renewcommand{\theexample}{\arabic{example}} \renewcommand{\theremark}{\arabic{remark}} \renewcommand{\thedefinition}{\arabic{definition}} \renewcommand{\theconjecture}{\arabic{conjecture}} \renewcommand{\thecomment}{\arabic{comment}}} % \numberbysection %\numberglobal % \newenvironment{definition}[1]{\bgroup\vspace{12pt}\rm D{\sc efinition} \refstepcounter{definition}\thesection.\thedefinition.\quad\rm #1}{\vspace{12pt}\indent\egroup} % \newenvironment{remark}[1]{\bgroup\vspace{12pt}{\sc Remark} \refstepcounter{remark}\thesection.\theremark.\quad\rm #1}{\vspace{12pt}\indent\egroup} % \newenvironment{comment}[1]{\bgroup\vspace{12pt}\rm C{\sc omment} \refstepcounter{comment}\thesection.\thecomment.\quad\rm #1}{\vspace{12pt}\indent\egroup} % \newenvironment{example}[1]{\bgroup\vspace{12pt}\rm E{\sc xample} \refstepcounter{example}\thesection.\theexample.\quad\rm #1}{\vspace{12pt}\indent\egroup} % \newenvironment{problem}[1]{\bgroup\vspace{12pt}\rm P{\sc roblem} \refstepcounter{problem}\thesection.\theproblem.\quad\rm #1}{\vspace{12pt}\indent\egroup} % \newenvironment{conjecture}[1]{\bgroup\vspace{12pt}\rm C{\sc onjecture} \refstepcounter{conjecture}\thesection.\theconjecture.\quad\rm #1}{\vspace{12pt}\indent\egroup} % \newenvironment{acknowledgements}[1]{\bgroup\vspace{12pt}\rm A{\sc cknowledgements}\setcounter{acknowledgements}{1} \thesection.\theacknowledgements.\quad\it #1}{\vspace{12pt}\indent\egroup} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newtheorem{theorem}{Theorem} %\newtheorem{lemma}[theorem]{Lemma} %\newtheorem{corollary}[theorem]{Corollary} %\newtheorem{proposition}[theorem]{Proposition} % %\newenvironment{definition}[1]{\bgroup\vspace{12pt}D{\sc efinition} %\refstepcounter{theorem}\thetheorem.\quad\rm #1}{\vspace{12pt}\indent\egroup} %\newenvironment{remark}[1]{\bgroup\vspace{12pt}R{\sc emark} %\refstepcounter{theorem}\thetheorem.\quad\rm #1}{\vspace{12pt}\indent\egroup} %\newenvironment{comment}[1]{\bgroup\vspace{12pt}C{\sc omment} %\refstepcounter{theorem}\thetheorem.\quad\rm #1}{\vspace{12pt}\indent\egroup} %\newenvironment{example}[1]{\bgroup\vspace{12pt}E{\sc xample} %\refstepcounter{theorem}\thetheorem.\quad\rm #1}{\vspace{12pt}\indent\egroup} %\newenvironment{problem}[1]{\bgroup\vspace{12pt}P{\sc roblem} %\refstepcounter{theorem}\thetheorem.\quad\rm #1}{\vspace{12pt}\indent\egroup} %\newenvironment{conjecture}[1]{\bgroup\vspace{12pt}C{\sc onjecture} %\refstepcounter{theorem}\thetheorem.\quad\rm #1}{\vspace{12pt}\indent\egroup} % %\def\numberbysection{\renewcommand{\thesection}{\arabic{section}} %\renewcommand{\theequation}{\thesection.\arabic{equation}} %\@addtoreset{equation}{section} %\renewcommand{\thetheorem}{\thesection.\arabic{theorem}} %\@addtoreset{theorem}{section} %\renewcommand{\thefigure}{\arabic{figure}} %\@addtoreset{figure}{section} %\renewcommand{\thetable}{\arabic{table}} %\@addtoreset{table}{section}} %\numberbysection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt \abovedisplayskip 12pt plus1pt minus2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus1pt% \belowdisplayshortskip 6pt plus1pt minus2pt} \def\small{\@setsize\small{11pt}\ixpt\@ixpt \abovedisplayskip 11pt plus 1pt minus 2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus1pt% \belowdisplayshortskip 6pt plus1pt minus 2pt \def\@listi{\topsep 4pt plus 1pt minus 2pt\parsep 2pt plus 1pt minus 2pt \itemsep \parsep}} \def\footnotesize{\@setsize\footnotesize{10pt}\viiipt\@viiipt \abovedisplayskip 10pt plus 1pt minus 2pt% \belowdisplayskip \abovedisplayskip \abovedisplayshortskip \z@ plus 1pt% \belowdisplayshortskip 5pt plus 1pt minus 2pt \def\@listi{\topsep 3pt plus 1pt minus 2pt\parsep 2pt plus 1pt minus 2pt \itemsep \parsep}} \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt} \def\large{\@setsize\large{14pt}\xiipt\@xiipt} \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt} \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt} \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt} \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt} \normalsize % Choose the normalsize font. % **************************************** % * PAGE LAYOUT * % **************************************** % All margin dimensions measured from a point one inch from top and side % of page. % SIDE MARGINS: \if@twoside % Values for two-sided printing: \oddsidemargin 44pt % Left margin on odd-numbered pages. \evensidemargin 82pt % Left margin on even-numbered pages. \marginparwidth 107pt % Width of marginal notes. \else % Values for one-sided printing: \oddsidemargin 63pt % Note that \oddsidemargin = \evensidemargin \evensidemargin 63pt \marginparwidth 90pt \fi \marginparsep 11pt % Horizontal space between outer margin and % marginal note % VERTICAL SPACING: % Top of page: \topmargin 27pt % Nominal distance from top of page to top of % box containing running head. \headheight 12pt % Height of box containing running head. \headsep 14pt % Space between running head and text. % \topskip = 10pt % '\baselineskip' for first line of page. % Bottom of page: \footskip 30pt % Distance from baseline of box containing foot % to baseline of last line of text. % DIMENSION OF TEXT: % 24 Jun 86: changed to explicitly compute \textheight to avoid roundoff. % The value of the multiplier was calculated as the floor of the % old \textheight minus \topskip, divided by \baselineskip for \normalsize. % The old value of \textheight was 528pt. % \textheight is the height of text (including footnotes and figures, % excluding running head and foot). \textheight = 42\baselineskip \advance\textheight by \topskip \textwidth 27pc % Width of text line. % For two-column mode: \columnsep 10pt % Space between columns \columnseprule 0pt % Width of rule between columns. % A \raggedbottom command causes 'ragged bottom' pages: pages set to % natural height instead of being stretched to exactly \textheight. % FOOTNOTES: \footnotesep 6.65pt % Height of strut placed at the beginning of every % footnote = height of normal \footnotesize strut, % so no extra space between footnotes. \skip\footins 10pt plus 1pt minus 2pt % Space between last line of text and % top of first footnote. % FLOATS: (a float is something like a figure or table) % FOR FLOATS ON A TEXT PAGE: % ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: \floatsep 12pt plus 1pt minus 2pt % Space between adjacent floats moved % to top or bottom of text page. \textfloatsep 10pt plus 1pt minus 2pt % Space between main text and floats % at top or bottom of page. \intextsep 12pt plus 1pt minus 2pt % Space between in-text figures and % text. % JCS Removed this next line %\@maxsep 20pt % The maximum of \floatsep, % \textfloatsep and \intextsep (minus % the stretch and shrink). % TWO-COLUMN FLOATS IN TWO-COLUMN MODE: \dblfloatsep 12pt plus 1pt minus 2pt % Same as \floatsep for double-column % figures in two-column mode. \dbltextfloatsep 20pt plus 1pt minus 2pt % \textfloatsep for double-column % floats. %JCS removed this next line %\@dblmaxsep 20pt % The maximum of \dblfloatsep and % \dbltexfloatsep. % FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN: % ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE: \@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be % 0pt plus ...) \@fpsep 8pt plus 1fil % Space between floats on float page/column. \@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be % 0pt plus ... ) % DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE. \@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus...) \@dblfpsep 8pt plus 1fil % Space between floats on float page. \@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be % 0pt plus ... ) % MARGINAL NOTES: \marginparpush 5pt % Minimum vertical separation between two marginal % notes. % **************************************** % * PARAGRAPHING * % **************************************** \parskip 0pt plus 0pt % Extra vertical space between paragraphs. \parindent 15pt % Width of paragraph indentation. \topsep 8pt plus 1pt minus 2pt % Extra vertical space, in addition to % \parskip, added above and below list and % paragraphing environments. \partopsep 2pt plus 1pt minus 2pt % Extra vertical space, in addition to % \parskip and \topsep, added when user % leaves blank line before environment. \itemsep 0pt % Extra vertical space, in addition to % \parskip, added between list items. % The following page-breaking penalties are defined \@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] \@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] \@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] \@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. \@endparpenalty -\@lowpenalty % After a list or paragraph environment. \@itempenalty -\@lowpenalty % Between list items. % \clubpenalty % 'Club line' at bottom of page. % \widowpenalty % 'Widow line' at top of page. % \displaywidowpenalty % Math display widow line. % \predisplaypenalty % Breaking before a math display. % \postdisplaypenalty % Breaking after a math display. % \interlinepenalty % Breaking at a line within a paragraph. % \brokenpenalty % Breaking after a hyphenated line. % **************************************** % * SECTIONS * % **************************************** % \secdef{UNSTARCMDS}{STARCMDS} : % When defining a sectionioning command without using % \@startsection, you can use \secdef as follows: % \def\part { ... \secdef \CMDA \CMDB } % \def\CMDA [#1]#2{ ... } % Command to define \part[...]{...} % \def\CMDB #1{ ... } % Command to define \part*{...} % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} % optional * [ALTHEADING]{HEADING} % Generic command to start a section. % NAME : e.g., 'subsection' % LEVEL : a number, denoting depth of section---i.e., section=1, % subsection = 2, etc. A section number will be printed if % and only if LEVEL < or = the value of the secnumdepth % counter. % INDENT : Indentation of heading from left margin % BEFORESKIP : Absolute value = skip to leave above the heading. % If negative, then paragraph indent of text following % heading is suppressed. % AFTERSKIP : if positive, then skip to leave below heading, % else - skip to leave to right of run-in heading. % STYLE : commands to set style % If '*' missing, then increments the counter. If it is present, then % there should be no [ALTHEADING] argument. A sectioning command % is normally defined to \@startsection + its first six arguments. \def\nointro{\vspace{1.41pc}} \def\section{\@startsection{section}{1}{\z@}{24pt plus 1pt minus 2pt}{18pt plus 1pt minus 2pt}{\normalsize}} \def\subsection{\@startsection{subsection}{2}{\z@}{-18pt plus -6pt minus -3pt}{3pt plus 1.5pt minus .5pt}{\normalsize\it}} \def\subsubsection{\@startsection{subsubsection}{3}{15pt}{-6pt plus -6pt minus -2pt}{-12pt}{\normalsize\it}} \def\paragraph{\@startsection {paragraph}{4}{\z@}{3pt plus 1.5pt minus .5pt}{-1em}{\normalsize\bf}} \def\subparagraph{\@startsection{subparagraph}{4}{\parindent% }{3pt plus 1.5pt minus.5pt}{1em}{\normalsize\bf}} \def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindenttrue\fi \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar {\@ssect{#3}{#4}{#5}{#1}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else \refstepcounter{#1} \edef\@svsec{\expandafter\relax\csname @pre#1\endcsname}\fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup \expandafter\relax\csname @#1style\endcsname\relax %\ifnum #2=1 \raggedright\fi %%%%%%%%%%%%%%%%%%%%% TechBooks \@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{% \expandafter\relax\csname @#1style\endcsname\relax \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\@ssect#1#2#3#4#5{\@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup \expandafter\relax\csname @#4style\endcsname\relax %\ifnum #2=1 \raggedright\fi %%%%%%%%%%%%%%%%%%%%% TechBooks \@hangfrom{\hskip #1}{\interlinepenalty \@M #5\par}\endgroup \else \edef\@svsechd{\expandafter\relax\csname @#4style\endcsname\relax \hskip #1\relax #5}\fi \@xsect{#3}} \def\mysection#1#2#3{ \expandafter\def\csname @#1style\endcsname{#2} \expandafter\def\csname @pre#1\endcsname{#3}} \mysection{section}{\normalsize\rm}{\thesection.\hskip 1em} \mysection{subsection}{\normalsize\it}{\thesubsection.\hskip 1em} \mysection{subsubsection}{\normalsize\it}{\thesubsubsection.\hskip 1em} \mysection{paragraph}{\normalsize\bf}{\theparagraph.\hskip 1em} \mysection{subparagraph}{\normalsize\bf}{\thesubparagraph.\hskip 1em} % Default initializations of \...mark commands. (See below for their % us in defining page styles. % \def\sectionmark#1{} % Preloaded definitions % \def\subsectionmark#1{} % \def\subsubsectionmark#1{} % \def\paragraphmark#1{} % \def\subparagraphmark#1{} % The value of the counter secnumdepth gives the depth of the % highest-level sectioning command that is to produce section numbers. \setcounter{secnumdepth}{3} % APPENDIX % The \appendix command must do the following: % -- reset the section and subsection counters to zero % -- redefine the section counter to produce appendix numbers % -- redefine the \section command if appendix titles and headings are % to look different from section titles and headings. \def\appendix{\par \setcounter{section}{0} \setcounter{subsection}{0} \def\thesection{\Alph{section}}} % **************************************** % * LISTS * % **************************************** % The following commands are used to set the default values for the list % environment's parameters. See the LaTeX manual for an explanation of % the meanings of the parameters. Defaults for the list environment are % set as follows. First, \rightmargin, \listparindent and \itemindent % are set to 0pt. Then, for a Kth level list, the command \@listK is % called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is % called for a third-level list.) By convention, \@listK should set % \leftmargin to \leftmarginK. % For efficiency, level-one list's values are defined at top level, and % \@listi is defined to set only \leftmargin \leftmargini 25pt \leftmarginii 22pt % > \labelsep + width of '(m)' \leftmarginiii 18.7pt % > \labelsep + width of 'vii.' \leftmarginiv 17pt % > \labelsep + width of 'M.' \leftmarginv 10pt \leftmarginvi 10pt \leftmargin\leftmargini \labelsep 5pt \labelwidth\leftmargini\advance\labelwidth-\labelsep \parsep 0pt \def\@listi{\leftmargin\leftmargini} \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 4pt plus 1pt minus 2pt \parsep 0pt \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 2pt plus 1pt minus 2pt \parsep \z@ \partopsep 1pt plus 0pt minus 2pt \itemsep \topsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} % Two-side or one-side printing. % \@twosidefalse % Default is one-sided printing. \def\ds@twoside{\@twosidetrue % Defines twoside option. \@mparswitchtrue} % Marginpars go on outside of page. % draft option % \overfullrule = 0pt % Default is don't mark overfull hboxes. \def\ds@draft{\overfullrule 5pt} % Causes overfull hboxes to be marked. % The \@options command causes the execution of every command \ds@FOO % which is defined and for which the user typed the FOO option in his % \documentstyle command. For every option BAR he typed for which % \ds@BAR is not defined, the file BAR.sty will be read after the present % (main) .STY file is executed. %\@options % **************************************** % * LISTS * % **************************************** % ENUMERATE % Enumeration is done with four counters: enumi, enumii, enumiii % and enumiv, where enumN controls the numbering of the Nth level % enumeration. The label is generated by the commands \labelenumi % ... \labelenumiv. The expansion of \p@enumN\theenumN defines the % output of a \ref command. \def\labelenumi{\arabic{enumi}.} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\alph{enumii})} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{\roman{enumiii}.} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{\Alph{enumiv}.} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} % ITEMIZE % Itemization is controlled by four commands: \labelitemi, \labelitemii, % \labelitemiii, and \labelitemiv, which define the labels of the various % itemization levels. \def\labelitemi{$\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\ast$} \def\labelitemiv{$\cdot$} % VERSE % The verse environment is defined by making clever use of the % list environment's parameters. The user types \\ to end a line. % This is implemented by \let'in \\ equal \@centercr. \def\verse{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} \let\endverse\endlist % QUOTATION % Fills lines % Indents paragraph \def\quotation{\list{}{\listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} \let\endquotation=\endlist % QUOTE -- same as quotation except no paragraph indentation, \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote=\endlist % DESCRIPTION % To change the formatting of the label, you must redefine % \descriptionlabel. \def\descriptionlabel#1{\hspace\labelsep \bf #1} \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} \let\enddescription\endlist %\newdimen\descriptionmargin %\descriptionmargin=3em % **************************************** % * OTHER ENVIRONMENTS * % **************************************** % THEOREM % \@begintheorem ... \@endtheorem are the commands executed at the % beginning and end of a (user-defined) theorem-like environment. % Except \@opargbegintheorem is executed when an optional argument is % given. Cf. LATEX.TEX. \def\@begintheorem#1#2{\it\trivlist\item[\indent\hskip\labelsep {\sc #1\ %\thesection.#2.}]} {\rm #2.}}]} \def\@opargbegintheorem#1#2#3{\it \trivlist \item[\indent \hskip \labelsep {\sc #1\ {\rm #2}\ (#3)}]} \def\@endtheorem{\endtrivlist} \def\proof{\par\indent\normalsize{\it Proof}.\quad\rm } % EQUATION and EQNARRAY % \newcounter{equation} % Default is for left-hand side of equations to be flushleft. % To make them flushright, do: % \let\@eqnsel = \hfil %\def\theequation{\arabic{equation}} % \jot = 3pt %Extra space added between lines of an eqnarray environment % The macro \@eqnnum defines how equation numbers are to appear in equations. % \def\@eqnnum{(\theequation)} % TITLEPAGE % In the normal environments, the titlepage environment does nothing but % start and end a page, and inhibit page numbers. It also resets the % page number to zero. %\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn % \else \newpage \fi \thispagestyle{empty}\c@page\z@} %\def\endtitlepage{\if@restonecol\twocolumn \else \vskip{12pt} \fi} \def\main#1{\thispagestyle{empty}\noindent{\normalsize\raggedright\bf #1}\begin{figure}[b]\noindent{\small{\it LINEAR ALGEBRA AND ITS APPLICATIONS} 203--204:\thepage --66 (1994)\hfill\thepage} \par\vspace{4pt}\noindent{\footnotesize\copyright\ Elsevier Science Inc., 1994\\[-2pt] \noindent 655 Avenue of the Americas, New York, NY 10010\hfill 0024-3795/94/\$6.00}\end{figure}} \pagestyle{myheadings} \def\thefootnote{\fnsymbol{footnote}} %\def\thefootnote{\arabic{footnote}} \def\author#1{\par\vspace{12pt}\noindent{\normalsize\raggedright\rm #1}} \def\and{\par\vspace{6pt}\noindent\rm and\par\vspace{6pt}\noindent\rm} \def\affil#1{\par\vspace{4pt}\noindent{\normalsize\it #1}} \gdef\TO#1{\par\vspace{0pt}\noindent{\footnotesize\rm To #1}} \gdef\dedicated#1{\par\vspace{0pt}\noindent{\footnotesize\rm Dedicated to #1}} \gdef\submit#1{\par\vspace{22pt}\noindent{\footnotesize\rm Submitted by #1}} \def\markboth#1#2{\gdef\@themark{{{\rmmm #1}}{{\rmmm #2}}}{\let\protect\noexpand \let\label\relax \let\index\relax \let\glossary\relax \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi} % ARRAY AND TABULAR \arraycolsep1.5pt % Half the space between columns in an array environment. \tabcolsep 6pt % Half the space between columns in a tabular % environment. \arrayrulewidth .4pt % Width of rules in array and tabular environment. \doublerulesep 2pt % Space between adjacent rules in array or tabular env. % TABBING \tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) % MINIPAGE % \@minipagerestore is called upon entry to a minipage environment to % set up things that are to be handled differently inside a minipage % environment. In the current styles, it does nothing. % \skip\@mpfootins : plays same role for footnotes in a minipage as % \skip\footins does for ordinary footnotes \skip\@mpfootins = \skip\footins % FRAMEBOX \fboxsep = 3pt % Space left between box and text by \fbox and \framebox. \fboxrule = .4pt % Width of rules in box made by \fbox and \framebox. % **************************************** % * SECTIONS * % **************************************** % DEFINE COUNTERS: % \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is % reset to zero when counter OLDCTR is stepped. % Counter OLDCTR must already be defined. %\newcounter{part} %\newcounter{section} %\newcounter{subsection}[section] %\newcounter{subsubsection}[subsection] %\newcounter{paragraph}[subsubsection] %\newcounter{subparagraph}[paragraph] % For any counter CTR, \theCTR is a macro that defines the printed version % of counter CTR. It is defined in terms of the following macros: % \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral. % \roman{COUNTER} : Its value printed as a lower-case roman numberal. % \Roman{COUNTER} : Its value printed as an upper-case roman numberal. % \alph{COUNTER} : Value of COUNTER printed as a lower-case letter: % 1 = a, 2 = b, etc. % \Alph{COUNTER} : Value of COUNTER printed as an upper-case letter: % 1 = A, 2 = B, etc. \def\thepart{\Roman{part}} % Roman numeral part numbers. \def\thesection{\arabic{section}} \def\thesubsection{\thesection.\arabic{subsection}} \def\thesubsubsection{\thesubsection .\arabic{subsubsection}} \def\theparagraph{\thesubsubsection.\arabic{paragraph}} \def\thesubparagraph{\theparagraph.\arabic{subparagraph}} % **************************************** % * TABLE OF CONTENTS, ETC. * % **************************************** % A \subsection command writes a % \contentsline{subsection}{TITLE}{PAGE} % command on the .toc file, where TITLE contains the contents of the % entry and PAGE is the page number. If subsections are being numbered, % then TITLE will be of the form % \numberline{NUM}{HEADING} % where NUM is the number produced by \thesubsection. Other sectioning % commands work similarly. % A \caption command in a 'figure' environment writes % \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE} % on the .lof file, where NUM is the number produced by \thefigure and % CAPTION is the figure caption. It works similarly for a 'table' % environment. % The command \contentsline{NAME} expands to \l@NAME. So, to specify % the table of contents, we must define \l@section, % \l@subsection, ... ; to specify the list of figures, we must define % \l@figure; and so on. Most of these can be defined with the % \@dottedtocline command, which works as follows. % \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE} % LEVEL : An entry is produced only if LEVEL < or = value of % 'tocdepth' counter. Note that \section is level 1, % \subsection is level 2, etc. % INDENT : The indentation from the outer left margin of the start of % the contents line. % NUMWIDTH : The width of a box in which the section number is to go, % if TITLE includes a \numberline command. % This command uses the following three parameters, which are set % with a \def (so em's can be used to make them depend upon the font). % \@pnumwidth : The width of a box in which the page number is put. % \@tocrmarg : The right margin for multiple line entries. One % wants \@tocrmarg > or = \@pnumwidth % \@dotsep : Separation between dots, in mu units. Should be \def'd to % a number like 2 or 1.7 \def\@pnumwidth{1.55em} \def\@tocrmarg {2.55em} \def\@dotsep{4.5} \setcounter{tocdepth}{3} % **************************************** % * BIBLIOGRAPHY * % **************************************** % The thebibliography environment executes the following commands: % \def\newblock{\hskip .11em plus .33em minus .07em} -- % Defines the `closed' format, where the blocks (major units of % information) of an entry run together. % \sloppy -- Used because it's rather hard to do line breaks in % bibliographies, % \sfcode`\.=1000\relax -- % Causes a `.' (period) not toproduce an end-of-sentence space. \def\thebibliography#1{\section*{REFERENCES\@mkboth {REFERENCES}{REFERENCES}}\list {\small\arabic{enumi}}{\small\settowidth\leftmargin{#1\quad}\settowidth \labelwidth{#1}\settowidth\labelsep{\quad}% \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax\parskip 0pt plus 0pt\itemsep 0pt plus 0pt} \def\bib{\hangindent=15pt\hangafter=1\noindent} \let\endthebibliography=\endlist % \def\@biblabel#1{[#1]\hfill} % Produces the label for a \bibitem[...] % command. % \def\@cite#1{[#1]} % Produces the output of the \cite command. % **************************************** % * FOOTNOTES * % **************************************** % \footnoterule is a macro to draw the rule separating the footnotes from % the text. It should take zero vertical space, so it needs a negative % skip to compensate for any positive space taken by the rule. (See % PLAIN.TEX.) \def\footnoterule{\kern-3\p@ \hrule width 2pc \kern 2.6\p@} % The \hrule has default height of .4pt . % \newcounter{footnote} % The numbering style (arabic, alph, etc.) for ordinary footnotes % is defined by the macro \thefootnote. % \@makefntext{NOTE}: % Must produce the actual footnote, using \@thefnmark as the mark % of the footnote and NOTE as the text. It is called when effectively % inside a \parbox of width \columnwidth (i.e., with \hsize = % \columnwidth). % The following macro indents all lines of the footnote by 10pt, and % indents the first line of a new paragraph by 1em. To change these % dimensions, just substitute the desired value for '10pt' [in both % places] or '1em'. The mark is flushright against the footnote. % \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize % \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par % \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1} % A simpler macro is used, in which the footnote text is % set like an ordinary text paragraph, with no indentation except % on the first line of a paragraph, and the first line of the % footnote. Thus, all the macro must do is set \parindent % to the appropriate value for succeeding paragraphs and put the % proper indentation before mark. \long\def\@makefntext#1{\parindent 1em\noindent \hbox to 1.8em{\hss$^{\@thefnmark}$}#1} %\def\@xfootnotemark[#1]{\begingroup \c@footnote #1\relax % \xdef\@thefnmark{\thefootnote}\endgroup \@footnotemark} %\def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} %\def\@footnotemark{\leavevmode\ifhmode % \edef\@x@sf{\the\spacefactor}\fi \@makefnmark % \ifhmode\spacefactor\@x@sf\fi\relax} %\def\footnote{\@ifnextchar[{\@xfootnote}{\stepcounter % {\@mpfn}\xdef\@thefnmark{\thempfn}\@footnotemark % \@footnotetext}} % \@makefnmark : A macro to generate the footnote marker that goes % in the text. Default definition used. % **************************************** % * FIGURES AND TABLES * % **************************************** % Float placement parameters. See LaTeX manual for their definition. \setcounter{topnumber}{2} \def\topfraction{.7} \setcounter{bottomnumber}{1} \def\bottomfraction{.3} \setcounter{totalnumber}{3} \def\textfraction{.2} \def\floatpagefraction{.8} \setcounter{dbltopnumber}{2} \def\dbltopfraction{.7} \def\dblfloatpagefraction{.5} \renewcommand{\arraystretch}{1.1} % \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption. % NUMBER : Figure or table number--e.g., 'Figure 3.2' % TEXT : The caption text. % Macro should be called inside a \parbox of right width, with \normalsize. % changed 25 Jun 86 to fix according to Howard Trickey: % instead of \unhbox\@tempboxa\par we do #1: #2\par %\long\def\@makecaption#1#2{ % \vskip 10pt % \setbox\@tempboxa\hbox{#1 #2} % \ifdim \wd\@tempboxa >\hsize % IF longer than one line: % #1 #2\par % THEN set as ordinary paragraph. % \else % ELSE center. % \hbox to\hsize{\hfil\box\@tempboxa\hfil} % \fi} %\long\def\@makecaption#1#2{ % \vskip 10pt \hspace*{\fill} #1\hspace*{\fill}\\ %\hspace*{\fill}#2\hspace*{\fill}\par} \long\def\@makecaption#1#2{\vskip 10pt \hspace*{\fill} #1\ #2\hspace*{\fill}\par} % To define a float of type TYPE (e.g., TYPE = figure), the document style % must define the following. % \fps@TYPE : The default placement specifier for floats of type TYPE. % \ftype@TYPE : The type number for floats of type TYPE. Each TYPE has % associated a unique positive TYPE NUMBER, which is a power % of two. E.g., figures might have type number 1, tables type % number 2, programs type number 4, etc. % \ext@TYPE : The file extension indicating the file on which the % contents list for float type TYPE is stored. For example, % \ext@figure = 'lof'. % \fnum@TYPE : A macro to generate the figure number for a caption. % For example, \fnum@TYPE == Figure \thefigure. % The actual float-making environment commands---e.g., the commands % \figure and \endfigure---are defined in terms of the macros \@float % and \end@float, which are described below. % \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a % single-column float of type TYPE with PLACEMENT as the placement % specifier. The default value of PLACEMENT is defined by \fps@TYPE. % The environment is ended by \end@float. % E.g., \figure == \@float{figure}, \endfigure == \end@float. % FIGURE %\newcounter{figure} \def\thefigure{\@arabic\c@figure} \def\fps@figure{tbp} \def\ftype@figure{1} \def\ext@figure{lof} \def\fnum@figure{\rm Fig. \thefigure.} \def\figure{\@float{figure}} \let\endfigure\end@float \@namedef{figure*}{\@dblfloat{figure}} \@namedef{endfigure*}{\end@dblfloat} % TABLE %\newcounter{table} \def\thetable{\@arabic\c@table} \def\fps@table{tbp} \def\ftype@table{2} \def\ext@table{lot} \def\fnum@table{{\sc TABLE} {\rm \thetable.}} \def\table{\@float{table}} \let\endtable\end@float \@namedef{table*}{\@dblfloat{table}} \@namedef{endtable*}{\end@dblfloat} % TABLE AND THEIR \hlines \newdimen\arrayruleHwidth \setlength{\arrayruleHwidth}{0.50pt} \makeatletter \def\Hline{\noalign{\ifnum0=`}\fi\hrule \@height \arrayruleHwidth \futurelet \@tempa\@xhline} \makeatother % CORRECT SPACING FOR TABLES AND ARRAYS \newcommand\T{\rule{0pt}{2.6ex}} % Top strut \newcommand\B{\rule[-1.2ex]{0pt}{0pt}} % Bottom strut % **************************************** % * TITLE AND ABSTRACT * % **************************************** % \maketitle == % BEGIN % \par % \begingroup % redefine \@makefnmark so footnote marks take zero space (this make % centering look better) % \thefootnote == \fnsymbol{footnote} % to number by *, dagger, etc. % if @twocolumn = true % then \twocolumn[\@maketitle] % else \@maketitle % fi % \thispagestyle{plain} % \@thanks % \thanks defines \@thanks to have \footnotetext commands for % % producing footnotes. % \endgroup % END \def\maketitle{\par \begingroup \def\thefootnote{\fnsymbol{footnote}} \def\@makefnmark{\hbox to 0pt{$^{\@thefnmark}$\hss}} \if@twocolumn \twocolumn[\@maketitle] \else \newpage \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \fi\thispagestyle{plain}\@thanks \endgroup \setcounter{footnote}{0} \let\maketitle\relax \let\@maketitle\relax \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} \def\@maketitle{\newpage \null \vskip 2em % Vertical space above title. {\noindent\normalsize \@title \par} % Title set in \LARGE size. \vskip 2pc % Vertical space after title. {\noindent\normalsize % each author set in \large, in a \lineskip .5em % tabular environment \par} \vskip 4pt % Vertical space after author. \par \vskip 24pt} % Vertical space after date. \def\abstract{\if@twocolumn %\section*{Abstract} \else {\par\vspace{24pt}\noindent\hrule \kern 12pt\noindent\small ABSTRACT}\vspace{0.7pc}\par\indent\small \fi} \def\endabstract{\if@twocolumn\else\par\kern 12pt\noindent \hrule\fi} \mark{{}{}} % Initializes TeX's marks %\if@twoside % If two-sided printing. %\def\ps@headings{\let\@mkboth\markboth %\def\@oddfoot{}\def\@evenfoot{} % No feet. %\def\@evenhead{\rm \thepage\hfil \uppercase{\leftmark}}% Left heading. %\def\@oddhead{\hbox{}\uppercase{\rightmark}\hfil \rm\thepage}% Right heading. %\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@ % \thesection\hskip 1em\relax \fi ##1}}{}}% %\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne % \thesubsection\hskip 1em\relax \fi ##1}}} %\else % If one-sided printing. %\def\ps@headings{\let\@mkboth\markboth %\def\@oddfoot{}\def\@evenfoot{}% No feet. %\def\@evenhead{\rm \thepage\hfil \uppercase{\leftmark}}% Left heading. %\def\@oddhead{\hbox {}\uppercase{\rightmark} \hfil \rm\thepage}% Heading. %\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ % \thesection\hskip 1em\relax \fi ##1}}}} %\fi % Definition of 'myheadings' page style. \def\ps@myheadings{\let\@mkboth\@gobbletwo \def\@evenhead{\ninrm\thepage\hfil \uppercase{\small\leftmark}}% Left heading. \def\@oddhead{\small\hbox{}\rm\uppercase{\small\rightmark}\hfil \ninrm\thepage} \def\@oddfoot{} \def\@evenhead{\rm\thepage\hfil\sl\leftmark\hbox{}} \def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} % DATE \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year} % **************************************** % * INITIALIZATION * % **************************************** % Default initializations %\ps@headings % 'plain' page style \pagenumbering{arabic} % Arabic page numbers \onecolumn % Single-column. \if@twoside\else\raggedbottom\fi % Ragged bottom unless twoside option.