diff options
author | Karl Berry <karl@freefriends.org> | 2007-01-10 22:24:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-01-10 22:24:14 +0000 |
commit | 8a88f72a120a3d7f214cf0c24916e0c24da2a130 (patch) | |
tree | 47882be5f5f0fe051b894d8db556833a1f05f718 /Master/texmf-dist/source/latex/siam/ltexproc.all | |
parent | de0d34e2013ef10d645ab355c2a7f53510fc171c (diff) |
remove siam, selling not allowed
git-svn-id: svn://tug.org/texlive/trunk@3310 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/siam/ltexproc.all')
-rw-r--r-- | Master/texmf-dist/source/latex/siam/ltexproc.all | 1784 |
1 files changed, 0 insertions, 1784 deletions
diff --git a/Master/texmf-dist/source/latex/siam/ltexproc.all b/Master/texmf-dist/source/latex/siam/ltexproc.all deleted file mode 100644 index 61283eec0aa..00000000000 --- a/Master/texmf-dist/source/latex/siam/ltexproc.all +++ /dev/null @@ -1,1784 +0,0 @@ - - -This file constitutes the full distribution for SIAM Proceedings -Series LaTeX version macros. The files included here are: - -ltexproc.tex (An example file, also containing documentation) - -ltexproc.sty (The style file) - -siamproc.bst (for BiBTeX users) - -To use these macros, separate the files at the indicated cut lines. - -%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% This is ltexproc.tex, an example file for use with the SIAM LaTeX -% Proceedings Series macros. -% Please take the time to read the following comments, as they describe -% how to use these macros. This file can be composed and printed out for -% use as sample output. - -% Any comments or questions regarding these macros should be directed to: -% -% Corey Gray -% SIAM -% 3600 University City Science Center -% Philadelphia, PA 19104-2688 -% USA -% Telephone: (215) 382-9800 -% Fax: (215) 386-7999 -% e-mail: gray@siam.org - - -% This file is to be used as an example for style only. It should not be read -% for content. - -%%%%%%%%%%%%%%% PLEASE NOTE THE FOLLOWING STYLE RESTRICTIONS %%%%%%%%%%%%%%% - -%% 1. There are no new tags. Existing LaTeX tags have been formatted to -%% match the Proceedings series style. -%% -%% 2. You must use \cite in the text to mark your reference citations and -%% \bibitem in the listing of references at the end of your chapter. See -%% the examples in the following file. The file siamproc.bst has been -%% included for use with BiBTeX. Please be sure to include the appropriate -%% .bib file with BiBTeX submissions. You may also submit the .bbl file -%% instead of the .bib file. -%% -%% 3. Unless otherwise stated by your editor, do your chapter as if it -%% is Chapter 1. The appropriate chapter number will be included during -%% the production of the proceedings. -%% -%% 4. This macro is set up for three levels of headings (\section, -%% \subsection, and \subsubsection). The macro will automatically number -%% the headings for you. -%% -%% 5. The running heads are indicated by the \markboth command. Please -%% define the running heads by placing the authors last names in the -%% first field and the title of the paper in the second field. -%% They should be typed initial cap and lower case. Please see the example. -%% Neither field can contain more than 50 characters including spaces, -%% so please use a shortened version of the title if necessary. For -%% papers with multiple authors please follow these rules; for -%% two authors type {Author 1 and Author 2}; for more that two authors type -%% {Author 1 et al.}. -%% -%% 6. Theorems, Lemmas, Definitions, etc. are to be double-numbered, -%% indicating the section and the occurrence of that element -%% within that section. (For example, the first theorem in the second -%% section would be numbered 2.1. The macro will -%% automatically do the numbering for you. -%% -%% 7. Proofs are handled with the commands \begin{proof}\end{proof}. -%% If you wish to use an end of proof box, use \qed preceding \end{proof}. -%% The example uses one. It is not required. -%% -%% 8. Figures, equations, and tables must be single-numbered. All equation -%% numbers are to be on the left. Figure captions should be placed under -%% the figures they pertain to. Table captions should be placed above -%% the tables. Use existing LaTeX tags for these elements. Numbering of -%% these elements will be done automatically. SIAM supports the use of -%% psfig for including Postscript figures. All Postscript figures should be -%% sent as separate files. A hardcopy version of all Postscript figures -%% is also required. See note regarding this under How to Submit Your Paper. -%% -%% 9. Grant information and author affiliations. -%% This information is included in the file with the two commands, -%% \thanks and \footnotemark []. (See example). The \thanks command -%% produces a footnote for the title or author, and places the -%% appropriate footnote symbol with the title or author and at the -%% bottom of the page. The \footnotemark [] command allows the use of -%% duplicate footnote symbols. This macro follows the normal LaTeX order -%% of footnote symbols. Below is a list of these symbols, and their -%% corresponding footnotemark: -%% -%% asterisk \footnotemark[1] -%% single-dagger \footnotemark[2] -%% double-dagger \footnotemark[3] -%% section sign \footnotemark[4] -%% paragraph \footnotemark[5] -%% parallel \footnotemark[6] -%% double asterisk \footnotemark[7] -%% double single-dagger \footnotemark[8] -%% double double-dagger \footnotemark[9] -%% -%% The following general rules for grants and affiliations apply: -%% a) If there is a single grant for the paper, then the grant -%% information should be footnoted to the title. -%% b) If there is more than one grant, include the grant information -%% with each author's affiliation. -%% c) If there are different grants for the paper but the authors share -%% the same affiliation, footnote the grant information to the title. -%% For example, The work of the first author was supported by xyz. -%% The work of the second author was supported by abc. And so on. -%% d) For authors sharing the same affiliation, use \thanks for the -%% first author with that affiliation and the appropriate -%% \footnotemark[] (from the list above) for all subsequent authors -%% with that affiliation. -%% -%% 10. Special fonts. -%% SIAM supports the use of AMS-TeX fonts version 2.0 and later. As -%% described in the manual for these fonts, they can be included by -%% \input{amssym.def} and \input{amssym.tex}. These macros are not yet -%% updated to make use of the New Font Selection Scheme (NFSS) of -%% Mittelbach and Schopf. To make these macros compatible with NFSS, use -%% the oldlfont style option. -%% -%% 11. How to Submit Your Paper. -%% The electronic version of your paper should be sent to proceed@siam.org. -%% A hardcopy version should also be submitted. Instructions are included -%% in your acceptance letter. Please be sure to send hardcopy -%% versions of any Postscript figures you have submitted electronically. -%% Be sure to return your signed Copyright Transfer Agreement. We cannot -%% publish your paper without it. -%% -%% -%% -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%- -%%% - - -\documentstyle[leqno,twoside,11pt,ltexproc]{article} %You must set up your - %\documentstyle line like this. - - -\begin{document} -\cleardoublepage -\pagestyle{myheadings} - -\title{Chapter 1\\ -SIAM Proceedings Series Macros\\ - for Use With LaTeX\thanks{Any information regarding grants should be placed -here.}} -\author{J. Corey Gray\thanks{Production Manager, Society for Industrial and Applied -Mathematics, Philadelphia, PA.} -\and -Tricia Manning\thanks{Publications Specialist, Society for Industrial and Applied -Mathematics, Philadelphia, PA.} -\and -Vickie Kearn\thanks{Publisher, Society for Industrial and Applied Mathematics, -Philadelphia, PA.}\\ -\and -Nancy Abbott\thanks{Design Supervisor, Society for Industrial and Applied -Mathematics, Philadelphia, PA} -\and -Sue Ciambrano\thanks{Acquisitions Editor, Society for Industrial and Applied -Mathematics, Philadelphia, PA} -\and -Paul Duggan\thanks{Composition Specialist, Society for Industrial and Applied -Mathematics, Philadelphia, PA} -\and -Robbi Anne Albert\thanks{Production Assistant, Society for Industrial and Applied -Mathematics, Philadelphia, PA} -\and -Jean Anderson\thanks{Composition Coordinator, Society for Industrial and Applied -Mathematics, Philadelphia, PA} -} -\date{} -\maketitle -\markboth{Gray et al.}{SIAM Proceedings Series Macros} % See section 5 above - % for explanation. -\pagenumbering{arabic} - -\begin{abstract}An equivalence is shown between realizability of input/output (i/o) operators by -rational control systems and high-order algebraic differential equations for -i/o pairs. This generalizes, to nonlinear systems, the equivalence -between autoregressive representations and finite dimensional linear -realizability. \end{abstract} -\section{Problem Specification}In this paper, we consider the solution of the $N \times -N$ linear -system -\begin{equation} \label{e1.1} -\cos \sin A x = b -\end{equation} -where $A$ is large, sparse, symmetric, and positive definite. We consider -the direct solution of (\ref{e1.1}) by means of general sparse Gaussian -elimination. In such a procedure, we find a permutation matrix $P$, and -compute the decomposition -\[ -P A P^{t} = L D L^{t} -\] -where $L$ is unit lower triangular and $D$ is diagonal. - - -\section{Design Considerations}Several good ordering algorithms (nested dissection and -minimum degree) -are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}. -Since our interest here does not -focus directly on the ordering, we assume for convenience that $P=I$, -or that $A$ has been preordered to reflect an appropriate choice of $P$. - -Our purpose here is to examine the nonnumerical complexity of the -sparse elimination algorithm given in \cite{BANKSMITH}. -As was shown there, a general sparse elimination scheme based on the -bordering algorithm requires less storage for pointers and -row/column indices than more traditional implementations of general -sparse elimination. This is accomplished by exploiting the m-tree, -a particular spanning tree for the graph of the filled-in matrix. - -\begin{theorem} The method was extended to three -dimensions. For the standard multigrid -coarsening -(in which, for a given grid, the next coarser grid has $1/8$ -as many points), anisotropic problems require plane -relaxation to -obtain a good smoothing factor.\end{theorem} - -Several good ordering algorithms (nested dissection and minimum degree) -are available for computing $P$ \cite{GEORGELIU}, \cite{ROSE72}. -Since our interest here does not -focus directly on the ordering, we assume for convenience that $P=I$, -or that $A$ has been preordered to reflect an appropriate choice of $P$. - - -\begin{proof} In this paper we consider two methods. The first method -is -basically the method considered with two differences: -first, we perform plane relaxation by a two-dimensional -multigrid method, and second, we use a slightly different -choice of -interpolation operator, which improves performance -for nearly singular problems. In the second method coarsening -is done by successively coarsening in each of the three -independent variables and then ignoring the intermediate -grids; this artifice simplifies coding considerably.\qed -\end{proof} - -Our purpose here is to examine the nonnumerical complexity of the -sparse elimination algorithm given in \cite{BANKSMITH}. -As was shown there, a general sparse elimination scheme based on the -bordering algorithm requires less storage for pointers and -row/column indices than more traditional implementations of general -sparse elimination. This is accomplished by exploiting the m-tree, -a particular spanning tree for the graph of the filled-in matrix. - -\begin{Definition}{\rm We describe the two methods in \S 1.2. In \S\ 1.3. we -discuss -some remaining details.} -\end{Definition} - -\begin{figure} -\vspace*{24pc} -\caption{This is figure 1.} -\end{figure} - -Our purpose here is to examine the nonnumerical complexity of the -sparse elimination algorithm given in \cite{BANKSMITH}. -As was shown there, a general sparse elimination scheme based on the -bordering algorithm requires less storage for pointers and -row/column indices than more traditional implementations of general -sparse elimination. - -\begin{lemma} We discuss first the choice for $I_{k-1}^k$ -which is a generalization. We assume that $G^{k-1}$ is -obtained -from $G^k$ -by standard coarsening; that is, if $G^k$ is a tensor product -grid $G_{x}^k \times G_{y}^k \times G_{z}^k$, -$G^{k-1}=G_{x}^{k-1} \times G_{y}^{k-1} \times G_{z}^{k-1}$, -where $G_{x}^{k-1}$ is obtained by deleting every other grid -point of $G_x^k$ and similarly for $G_{y}^k$ and $G_{z}^k$. -\end{lemma} - -This is accomplished by exploiting the m-tree, -a particular spanning tree for the graph of the filled-in matrix. -To our knowledge, the m-tree previously has not been applied in this -fashion to the numerical factorization, but it has been used, -directly or indirectly, in several optimal order algorithms for -computing the fill-in during the symbolic factorization phase -\cite{EISENSTAT} - \cite{LIU2}, \cite{ROSE76}, \cite{SCHREIBER}. - -\subsection{Robustness} -We do not -attempt to present an overview -here, but rather attempt to focus on those results that -are relevant to our particular algorithm. -This section assumes prior knowledge of the role of graph theory -in sparse Gaussian elimination; surveys of this role are -available in \cite{ROSE72} and \cite{GEORGELIU}. More general -discussions of elimination trees are given in -\cite{LAW} - \cite{LIU2}, \cite{SCHREIBER}. -Thus, at the $k$th stage, the bordering algorithm consists of -solving the lower triangular system -\begin{equation} \label{1.2} - L_{k-1}v = c -\end{equation} -and setting -\begin{eqnarray} -\ell &=& D^{-1}_{k-1}v , \\ -\delta &=& \alpha - \ell^{t} v . -\end{eqnarray} - -\subsubsection{Versatility.} We do not -attempt to present an overview -here, but rather attempt to focus on those results that -are relevant to our particular algorithm. - -\section{Conclusions} The special -structure of this problem allows us to make exact estimates of -the complexity. For the old approach, we show that the -complexity of the intersection problem is $O(n^{3})$, the same -as the complexity of the numerical computations -\cite{GEORGELIU}, \cite{ROSEWHITTEN}. For the -new approach, the complexity of the second part is reduced to -$O(n^{2} (\log n)^{2})$. - -\begin{thebibliography}{99} - - -\bibitem{BANKSMITH} -R.~E. Bank and R.~K. Smith, {\em General sparse elimination requires no - permanent integer storage}, SIAM J. Sci. Stat. Comput., 8 (1987), - pp.~574--584. - -\bibitem{EISENSTAT} -S.~C. Eisenstat, M.~C. Gursky, M.~Schultz, and A.~Sherman, {\em - Algorithms and data structures for sparse symmetric gaussian elimination}, - SIAM J. Sci. Stat. Comput., 2 (1982), pp.~225--237. - -\bibitem{GEORGELIU} -A.~George and J.~Liu, {\em Computer Solution of Large Sparse Positive - Definite Systems}, Prentice Hall, Englewood Cliffs, NJ, 1981. - -\bibitem{LAW} -K.~H. Law and S.~J. Fenves, {\em A node addition model for symbolic - factorization}, ACM TOMS, 12 (1986), pp.~37--50. - -\bibitem{LIU} -J.~W.~H. Liu, {\em A compact row storage scheme for cholesky factors - using elimination trees}, ACM TOMS, 12 (1986), pp.~127--148. - -\bibitem{LIU2} -\sameauthor , {\em The role of - elimination trees in sparse factorization}, Tech. Report CS-87-12,Department - of Computer Science, York University, Ontario, Canada, 1987. - -\bibitem{ROSE72} -D.~J. Rose, {\em A graph theoretic study of the numeric solution of - sparse positive definite systems}, in Graph Theory and Computing, Academic Press, New -York, 1972. - -\bibitem{ROSE76} -D.~J. Rose, R.~E. Tarjan, and G.~S. Lueker, {\em Algorithmic aspects of - vertex elimination on graphs}, SIAM J. Comput., 5 (1976), pp.~226--283. - -\bibitem{ROSEWHITTEN} -D.~J. Rose and G.~F. Whitten, {\em A recursive analysis of disection - strategies}, in Sparse Matrix Computations, Academic Press, New York, 1976. - -\bibitem{SCHREIBER} -R.~Schreiber, {\em A new implementation of sparse gaussian elimination}, - ACM TOMS, 8 (1982), pp.~256--276. - -\end{thebibliography} - -\end{document} - -%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% This is ltexproc.sty. -% This file may be freely distributed but may not be altered in any way. -% Any comments or questions regarding these macros should be directed to: - -% Corey Gray -% SIAM -% 3600 University City Science Center -% Philadelphia, PA 19104-2688 -% USA -% Telephone: (215) 382-9800 -% Fax: (215) 386-7999 -% e-mail: gray@siam.org - -% This is a file of macros and definitions for creating a chapter for -% publication in the SIAM Proceedings series using LaTeX. - -% Report the version. -\message{*** SIAM LaTeX Proceedings Series macro package, version 1.0, -November 6, 1992 ***} - -\pretolerance=800 -\tolerance=10000 -\sloppy - - -\vsize=56pc -\hsize=36pc -\baselineskip=13pt -\hoffset -.5in -\voffset -.5in -\footskip=18pt -\topmargin 24pt -\headheight 12pt -\headsep 15pt -\textheight 53.5pc \advance\textheight by \topskip -\textwidth 36pc -\parskip 0pt -\parindent 18pt -\def\topfraction{.9} -\def\textfraction{.1} -\def\topnumber{2} -%% footnotes to be set 8/10 -\def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt - % \indent - \abovedisplayskip \z@ - \belowdisplayskip\z@ - \abovedisplayshortskip\abovedisplayskip - \belowdisplayshortskip\belowdisplayshortskip -\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt - \parsep 2pt plus 1pt minus 1pt - \itemsep \parsep}} - -\let\referencesize\footnotesize - -\footnotesep 0pt - -\skip\footins 12pt plus 12pt - -\def\footnoterule{\kern3\p@ \hrule width 3em\vspace{3pt}} % the \hrule is .4pt high - - -\def\ps@plain{\let\@mkboth\@gobbletwo - \def\@oddfoot{{\hfil\small\thepage\hfil}}% - \def\@oddhead{} - \def\@evenhead{}\def\@evenfoot{}} - - - -\def\ps@headings{\let\@mkboth\markboth - \def\@oddfoot{}\def\@evenfoot{}% - \def\@evenhead{{\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}% - \def\@oddhead{\hfil{\noindent\sc\rightmark}\hspace*{2pc}{\rm\thepage}}% - - - -\def\ps@myheadings{\let\@mkboth\@gobbletwo - \def\@oddfoot{}\def\@evenfoot{}% - \def\@oddhead{\hfil{\sc\rightmark}\hspace*{2pc}{\normalsize\rm\thepage}}% - \def\@evenhead{{\normalsize\rm\thepage}\hspace*{2pc}{\sc\leftmark}\hfil}% -% \def\chaptermark##1{}% - % \def\sectionmark##1{}\def\subsectionmark##1{}} -}} - - - -\def\theequation{\arabic{equation}} - -\def\abstract{\if@twocolumn -\section*{Abstract} -\else \small -\begin{center} -{\bf Abstract\vspace{-.5em}\vspace{3pt}} -\end{center} -\quotation -\fi} -\def\endabstract{\if@twocolumn\else\endquotation\fi} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% THEOREMS, PROOFS, ALGORITHMS % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%% defined proof environment by theorem model (took out counter) - -\def\qed{{\qquad \vbox{\hrule\hbox{% - \vrule height1.3ex\hskip0.8ex\vrule}\hrule - }}\par} - -\def\newproof#1{\@nprf{#1}} - -\def\@nprf#1#2{\@xnprf{#1}{#2}} - -\def\@xnprf#1#2{\expandafter\@ifdefinable\csname #1\endcsname -\global\@namedef{#1}{\@prf{#1}{#2}}\global\@namedef{end#1}{\@endproof}} - -\def\@prf#1#2{\@xprf{#1}{#2}} - -\def\@xprf#1#2{\@beginproof{#2}{\csname the#1\endcsname}\ignorespaces} - - - -%%% defined algorithm environment by theorem model - -\def\newalgorithm#1{\@ifnextchar[{\@oalg{#1}}{\@nalg{#1}}} - -\def\@nalg#1#2{% -\@ifnextchar[{\@xnalg{#1}{#2}}{\@ynalg{#1}{#2}}} - -\def\@xnalg#1#2[#3]{\expandafter\@ifdefinable\csname #1\endcsname -{\@definecounter{#1}\@addtoreset{#1}{#3}% -\expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand - \csname the#3\endcsname \@thmcountersep \@thmcounter{#1}}% -\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}} - -\def\@ynalg#1#2{\expandafter\@ifdefinable\csname #1\endcsname -{\@definecounter{#1}% -\expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% -\global\@namedef{#1}{\@alg{#1}{#2}}\global\@namedef{end#1}{\@endalgorithm}}} - -\def\@oalg#1[#2]#3{\expandafter\@ifdefinable\csname #1\endcsname - {\global\@namedef{the#1}{\@nameuse{the#2}}% -\global\@namedef{#1}{\@alg{#2}{#3}}% -\global\@namedef{end#1}{\@endalgorithm}}} - -\def\@alg#1#2{\refstepcounter - {#1}\@ifnextchar[{\@yalg{#1}{#2}}{\@xalg{#1}{#2}}} - -\def\@xalg#1#2{\@beginalgorithm{#2}{\csname the#1\endcsname}\ignorespaces} -\def\@yalg#1#2[#3]{\@opargbeginalgorithm{#2}{\csname - the#1\endcsname}{#3}\ignorespaces} - - - - -\def\@beginproof#1{\rm {\it #1.\ }} -\def\@endproof{\outerparskip 0pt\endtrivlist} - -\def\@begintheorem#1#2{\it {\sc #1\ #2.\ }} -\def\@opargbegintheorem#1#2#3{\it - {\sc #1\ #2\ (#3).\ }} -\def\@endtheorem{\outerparskip 0pt\endtrivlist} - -%\def\@begindefinition#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]} -%\def\@opargbegindefinition#1#2#3{\rm \trivlist -% \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]} -%\def\@enddefinition{\outerparskip 0pt\endtrivlist} - - -\def\@beginalgorithm#1#2{\rm \trivlist \item[\hskip \labelsep{\sc #1\ #2.}]} -\def\@opargbeginalgorithm#1#2#3{\rm \trivlist - \item[\hskip \labelsep{\sc #1\ #2.\ (#3)}]} -\def\@endalgorithm{\outerparskip 6pt\endtrivlist} - - -\newskip\outerparskip - -\def\trivlist{\parsep\outerparskip - \@trivlist \labelwidth\z@ \leftmargin\z@ - \itemindent\parindent \def\makelabel##1{##1}} - -\def\@trivlist{\topsep=0pt\@topsepadd\topsep - \if@noskipsec \leavevmode \fi - \ifvmode \advance\@topsepadd\partopsep \else \unskip\par\fi - \if@inlabel \@noparitemtrue \@noparlisttrue - \else \@noparlistfalse \@topsep\@topsepadd \fi - \advance\@topsep \parskip - \leftskip\z@\rightskip\@rightskip \parfillskip\@flushglue - \@setpar{\if@newlist\else{\@@par}\fi}% - \global\@newlisttrue \@outerparskip\parskip} - - -\def\endtrivlist{\if@newlist\@noitemerr\fi - \if@inlabel\indent\fi - \ifhmode\unskip \par\fi - \if@noparlist \else - \ifdim\lastskip >\z@ \@tempskipa\lastskip \vskip -\lastskip - \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip - \vskip\@tempskipa - \fi\@endparenv\fi - \vskip\outerparskip} - - - - \newproof{@proof}{Proof} - \newenvironment{proof}{\begin{@proof}}{\end{@proof}} - - \newtheorem{@theorem}{Theorem}[section] - \newenvironment{theorem}{\begin{@theorem}}{\end{@theorem}} - -% \newalgorithm{@algorithm}{Algorithm}[section] -% \newenvironment{algorithm}{\begin{@algorithm}}{\end{@algorithm}} - - - -\newtheorem{lemma}{Lemma}[section] -\newtheorem{fact}{Fact}[section] -\newtheorem{corollary}{Corollary}[section] -\newtheorem{axiom}{Axiom}[section] -\newtheorem{cond}{Condition}[section] -\newtheorem{property}{Property}[section] -\newtheorem{proposition}{Proposition}[section] - -\newtheorem{Conjecture}{Conjecture}[section] -\newtheorem{Definition}{Definition}[section] -\newtheorem{Lemma}{Lemma}[section] -\newtheorem{Remark}{Remark}[section] - -\newproof{Example}{Example} -\newproof{Method}{Method} -\newproof{Exercise}{Exercise} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% TABLE AND FIGURE CAPTIONS % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \def\@figtxt{figure} -\long\def\@makecaption#1#2{\small -\setlength{\parindent}{18pt} -\baselineskip 14pt - \ifx\@captype\@figtxt - \vskip 10pt - \setbox\@tempboxa\hbox{{\sc #1} {\it #2}} - \ifdim \wd\@tempboxa >\hsize {\sc #1} {\it #2}\par \else \hbox -to\hsize{\hfil\box\@tempboxa\hfil}% - \fi\else\hbox to\hsize{\hfil{\sc #1}\hfil}% - \setbox\@tempboxa\hbox{{\it #2}}% - \ifdim \wd\@tempboxa >\hsize {\it #2}\par \else - \hbox to \hsize{\hfil\box\@tempboxa\hfil}\fi - \vskip 10pt - \fi} - - -%\newif\iftable \global\tablefalse - - -%\long\def\@makecaption#1#2{% -%\setlength{\parindent}{18pt} -% \vskip 12pt -% \iftable - % \hbox to \hsize{\hfil\sc #1\hfil} - % \hbox to \hsize{\hfil\it #2\hfil} - % \global\tablefalse - % \else - % \setbox\@tempboxa\hbox{{\small#1} {\small\it#2}} - % \ifdim \wd\@tempboxa >\hsize - % \indent{\small#1}{\small\it#2}\par - % \else - % \hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi - % \fi} -% \vskip 6pt} - - - -%\def\figure{\global\tablefalse\@float{figure}} -\def\fnum@figure{\par\sc Fig. \thefigure.\ } -%\def\fnum@figure{\par\sc Fig. \thefigure\ } - -%\def\table{\global\tabletrue\@float{table}} -\def\fnum@table{\small \sc Table \thetable} - - - - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SECTIONS % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus - -.2ex}%{2.3ex plus .2ex} -{2pt}{\large\bf}} -\def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus - -.2ex}%{1.5ex plus .2ex} -{2pt}{\large\bf}} -\def\subsubsection{\@startsection {subsubsection}{3}{\z@}{1.3ex plus .5ex minus - .2ex}{-.5em plus -.1em}{\normalsize\bf}} - - - - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% %% -%% BIBLIOGRAPHY %% -%% %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -\def\thebibliography#1{% -%\cleardoublepage -\parindent 0em -\vspace{9pt} -\begin{flushleft}\large\bf {References}\end{flushleft} -\addvspace{3pt}\nopagebreak\list - %% default is no labels, for those not using \cite or BibTeX -{[\arabic{enumi}]} {\settowidth\labelwidth{[#1]} -%%{[\arabic{enumi}]}{\settowidth\labelwidth{mm} -\leftmargin\labelwidth -\leftmargin=17pt - \advance\leftmargin\labelsep - \usecounter{enumi}\@bibsetup} -\def\newblock{\hskip .11em plus .33em minus -.07em} - \sloppy\clubpenalty4000\widowpenalty4000 - \sfcode`\.=1000\relax} - - - -%% setup 8/10 type -\def\@bibsetup{%\itemindent=0pt -\itemsep=0pt \parsep=0pt -\small} - -\def\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% INDEX % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -%makeindex.sty official version 6.4 -%The second line came from /usr/misc/lib/tex82/report.sty. - -\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi -\columnseprule \z@ -\columnsep 35pt\twocolumn[\chapter*{Index}] - \parskip\z@ plus .3pt\relax\let\item\@idxitem} - - -\def\printindex{\cleardoublepage\markboth{INDEX}{INDEX} -\addcontentsline{toc}{chapter}{Index}\@input{\jobname.ind}} - -\ps@headings - - -%%% end of style file - -%%%%%%%%%%%%%%%%%%%%%%%%%%CUT HERE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% This is siamproc.bst -% SIAM bibliography style (29-Jan-88 version) -% numeric labels, alphabetic order, Mathematical Reviews abbreviations, -% names in \sc, titles in italics, book titles mixed upper-lower and article -% titles lowercase, commas separate all fields except before "notes". -% -% History -% 1/30/86 (HWT) Original version, by Howard Trickey. -% 6/15/87 (HWT) Fix format.editors---Martin Costabel. -% 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik; -% THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i. - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - 'write$ - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -FUNCTION {scapify} -{ duplicate$ empty$ - { pop$ "" } - { "{\sc " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -STRINGS { last.authors } - -FUNCTION {init.last.authors} -{ "" 'last.authors := -} - -FUNCTION {format.authors} -{ author empty$ - { "" 'last.authors := - "" - } - { author last.authors = - { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } - { author format.names }% scapify } - if$ - author 'last.authors := - } - if$ -} - -FUNCTION {format.organization} -{ organization empty$ - { "" 'last.authors := - "" - } - { organization last.authors = - { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } - { organization scapify } - if$ - organization 'last.authors := - } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" 'last.authors := - "" - } - { editor last.authors = - { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" } - { editor format.names scapify } - if$ - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - editor 'last.authors := - } - if$ -} - -FUNCTION {format.ineditors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ emphasize } - if$ -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { month empty$ - 'year - { month " " * year * } - if$ - } - if$ -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "vol.~" volume * - series empty$ - 'skip$ - { " of " * series * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { "no.~" number * - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { edition "l" change.case$ "~ed." * } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pp.~" pages n.dashify * } - { "p.~" pages * } - if$ - } - if$ -} - -FUNCTION {format.vol.year} -{ volume field.or.null - year empty$ - { "empty year in " cite$ * warning$ } - { " (" year * ")" * * } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "ch.~" chapter * } - { type "l" change.case$ chapter tie.or.space.connect } - if$ - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "in " booktitle * } - { "in " booktitle * ", " * format.ineditors * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - key empty$ not and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "l" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. Rep." } - 'type - if$ - number empty$ - { "l" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "in " journal * } - if$ - } - { "in " key * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "in " - } - { "vol.~" volume * - " of " * - } - if$ - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { series * } - if$ - } - { key * } - if$ - } - { format.crossref.editor * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "in " booktitle * } - if$ - } - { "in " key * } - if$ - } - { "in " format.crossref.editor * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - crossref missing$ - { journal "journal" output.check - format.vol.year output - } - { format.article.crossref output.nonnull } - if$ - format.pages output - new.block - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.number.series output - publisher "publisher" output.check - address output - } - { format.book.crossref output.nonnull } - if$ - format.edition output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - format.title "title" output.check - howpublished new.block.checka - howpublished output - address output - format.date output - new.block - note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.number.series output - publisher "publisher" output.check - address output - } - { format.book.crossref output.nonnull } - if$ - format.edition output - format.date "year" output.check - format.chapter.pages "chapter and pages" output.check - new.block - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - publisher "publisher" output.check - address output - format.edition output - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull } - if$ - format.chapter.pages output - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - address empty$ - { organization output - publisher output - format.date "year" output.check - } - { address output.nonnull - format.date "year" output.check - organization output - publisher output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull } - if$ - format.pages output - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { format.organization output } - { format.authors output.nonnull } - if$ - format.btitle "title" output.check - author empty$ - 'skip$ - { organization output } - if$ - address output - format.edition output - format.date output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - "Master's thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - format.title output - howpublished new.block.checka - howpublished output - format.date output - new.block - note output - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - format.btitle "title" output.check - "PhD thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { format.organization output } - { format.editors output.nonnull } - if$ - format.btitle "title" output.check - format.bvolume output - format.number.series output - address empty$ - { editor empty$ - 'skip$ - { organization output } - if$ - publisher output - format.date "year" output.check - } - { address output.nonnull - format.date "year" output.check - editor empty$ - 'skip$ - { organization output } - if$ - publisher output - } - if$ - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - format.tr.number output.nonnull - institution "institution" output.check - address output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - new.block - note "note" output.check - format.date output - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -MACRO {acmcs} {"ACM Comput. Surveys"} - -MACRO {acta} {"Acta Inf."} - -MACRO {cacm} {"Comm. ACM"} - -MACRO {ibmjrd} {"IBM J. Res. Dev."} - -MACRO {ibmsj} {"IBM Syst.~J."} - -MACRO {ieeese} {"IEEE Trans. Softw. Eng."} - -MACRO {ieeetc} {"IEEE Trans. Comput."} - -MACRO {ieeetcad} - {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} - -MACRO {ipl} {"Inf. Process. Lett."} - -MACRO {jacm} {"J.~Assoc. Comput. Mach."} - -MACRO {jcss} {"J.~Comput. System Sci."} - -MACRO {scp} {"Sci. Comput. Programming"} - -MACRO {sicomp} {"SIAM J. Comput."} - -MACRO {tocs} {"ACM Trans. Comput. Syst."} - -MACRO {tods} {"ACM Trans. Database Syst."} - -MACRO {tog} {"ACM Trans. Gr."} - -MACRO {toms} {"ACM Trans. Math. Softw."} - -MACRO {toois} {"ACM Trans. Office Inf. Syst."} - -MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} - -MACRO {tcs} {"Theoretical Comput. Sci."} - -READ - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { nameptr #1 > - { " " * } - 'skip$ - if$ - s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := - nameptr numnames = t "others" = and - { "et al" * } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.organization.sort} -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { editor sort.format.names } - if$ -} - -FUNCTION {presort} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.organization.sort - { type$ "manual" = - 'author.organization.sort - 'author.sort - if$ - } - if$ - } - if$ - " " - * - year field.or.null sortify - * - " " - * - title field.or.null - sort.format.title - * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT - -STRINGS { longest.label } - -INTEGERS { number.label longest.label.width } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} - -FUNCTION {longest.label.pass} -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ -} - -EXECUTE {initialize.longest.label} - -ITERATE {longest.label.pass} - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" longest.label * "}" * write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -EXECUTE {init.last.authors} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - |