diff --git a/benchmark/eval_analysis.R b/benchmark/eval_analysis.R index de981001c..1d8e27b31 100755 --- a/benchmark/eval_analysis.R +++ b/benchmark/eval_analysis.R @@ -43,6 +43,12 @@ names(ppn_lab) <- unique(dbdata$ppn) breaks <- c(unique(dbdata$blocksize)) +dbdata$lab_access <- dbdata$accesstype +dbdata$lab_access[dbdata$lab_access == "write"] = "Write" +dbdata$lab_access[dbdata$lab_access == "read"] = "Read" + + + fig_w = 4 fig_h = 4 @@ -83,7 +89,7 @@ print(iotype) p = ggplot(data=data, aes(x=nn, y=perf, colour=as.factor(blocksize/1024), group=blocksize), ymin=0) + #ggtitle("Write") + - facet_grid(ppn ~ api + accesstype, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) + + facet_grid(ppn ~ api + lab_access, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) + xlab("Nodes") + ylab("Performance in MiB/s") + theme(axis.text.x=element_text(angle=90, hjust=0.95, vjust=0.5)) + @@ -102,8 +108,8 @@ print(iotype) filename_eps = sprintf("%s/performance_%s_%s_%s_%s_%s.eps", folder_out, app, fs, iotype, "write", scale) filename_png = sprintf("%s/performance_%s_%s_%s_%s_%s.png", folder_out, app, fs, iotype, "write", scale) - ggsave(filename_png, width = 10, height = 6) - ggsave(filename_eps, width = 10, height = 6) + ggsave(filename_png, width = 10, height = 8) + ggsave(filename_eps, width = 10, height = 8) #system(sprintf("epstopdf %s", filename_eps)) system(sprintf("rm %s", filename_eps)) diff --git a/paper/llncs2e/aliascnt.sty b/paper/llncs2e/aliascnt.sty deleted file mode 100644 index 452aa0e5d..000000000 --- a/paper/llncs2e/aliascnt.sty +++ /dev/null @@ -1,88 +0,0 @@ -%% -%% This is file `aliascnt.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aliascnt.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% Project: aliascnt -%% Version: 2009/09/08 v1.3 -%% -%% Copyright (C) 2006, 2009 by -%% Heiko Oberdiek -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status "maintained". -%% -%% This Current Maintainer of this work is Heiko Oberdiek. -%% -%% This work consists of the main source file aliascnt.dtx -%% and the derived files -%% aliascnt.sty, aliascnt.pdf, aliascnt.ins, aliascnt.drv. -%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{aliascnt}% - [2009/09/08 v1.3 Alias counter (HO)]% -\newcommand*{\newaliascnt}[2]{% - \begingroup - \def\AC@glet##1{% - \global\expandafter\let\csname##1#1\expandafter\endcsname - \csname##1#2\endcsname - }% - \@ifundefined{c@#2}{% - \@nocounterr{#2}% - }{% - \expandafter\@ifdefinable\csname c@#1\endcsname{% - \AC@glet{c@}% - \AC@glet{the}% - \AC@glet{theH}% - \AC@glet{p@}% - \expandafter\gdef\csname AC@cnt@#1\endcsname{#2}% - \expandafter\gdef\csname cl@#1\expandafter\endcsname - \expandafter{\csname cl@#2\endcsname}% - }% - }% - \endgroup -} -\newcommand*{\aliascntresetthe}[1]{% - \@ifundefined{AC@cnt@#1}{% - \PackageError{aliascnt}{% - `#1' is not an alias counter% - }\@ehc - }{% - \expandafter\let\csname the#1\expandafter\endcsname - \csname the\csname AC@cnt@#1\endcsname\endcsname - }% -} -\newcommand*{\AC@findrootcnt}[1]{% - \@ifundefined{AC@cnt@#1}{% - #1% - }{% - \expandafter\AC@findrootcnt\csname AC@cnt@#1\endcsname - }% -} -\def\AC@patch#1{% - \expandafter\let\csname AC@org@#1reset\expandafter\endcsname - \csname @#1reset\endcsname - \expandafter\def\csname @#1reset\endcsname##1##2{% - \csname AC@org@#1reset\endcsname{##1}{\AC@findrootcnt{##2}}% - }% -} -\RequirePackage{remreset} -\AC@patch{addto} -\AC@patch{removefrom} -\endinput -%% -%% End of file `aliascnt.sty'. diff --git a/paper/llncs2e/history.txt b/paper/llncs2e/history.txt index 83f6fe418..9e81efe4e 100644 --- a/paper/llncs2e/history.txt +++ b/paper/llncs2e/history.txt @@ -88,7 +88,7 @@ Version history for the LLNCS LaTeX2e class Saverio Cittadini, Istituto Tecnico Industriale "Tito Sarrocchi" - Siena -28.01.02 llncs.cls 2.12 fixed footnote fix ; error reported by +28.01.02 llncs.cls 2.12 fixed footnote fix; error reported by Chris Mesterharm, CS Dept. Rutgers - NJ 28.01.02 llncs.cls 2.13 fixed the fix (programmer needs vacation) @@ -127,3 +127,13 @@ Version history for the LLNCS LaTeX2e class by Bastian Pfleging, University of Stuttgart 04.09.17 llncs.cls 2.19 introduced \orcidID command + +10.03.18 llncs.cls 2.20 adjusted \doi according to CrossRef requirements; + TOC: removed affiliation numbers + + splncs04.bst added doi field; + bold journal numbers + + samplepaper.tex new sample paper + + llncsdoc.pdf new LaTeX class documentation diff --git a/paper/llncs2e/llncs.cls b/paper/llncs2e/llncs.cls index 6a67a10a6..06401a91c 100644 --- a/paper/llncs2e/llncs.cls +++ b/paper/llncs2e/llncs.cls @@ -1,4 +1,4 @@ -% LLNCS DOCUMENT CLASS -- version 2.19 (04-Sep-2017) +% LLNCS DOCUMENT CLASS -- version 2.20 (10-Mar-2018) % Springer Verlag LaTeX2e support for Lecture Notes in Computer Science % %% @@ -19,7 +19,7 @@ %% Right brace \} Tilde \~} %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{llncs}[2017/09/04 v2.19 +\ProvidesClass{llncs}[2018/03/10 v2.20 ^^J LaTeX document class for Lecture Notes in Computer Science] % Options \let\if@envcntreset\iffalse @@ -875,9 +875,10 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} \or \ddagger\ddagger \else\@ctrerr\fi}} \def\inst#1{\unskip$^{#1}$} -\def\orcidID#1{\unskip$^{[#1]}$} +\def\orcidID#1{\unskip$^{[#1]}$} % added MR 2018-03-10 \def\fnmsep{\unskip$^,$} \def\email#1{{\tt#1}} + \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% \@ifpackageloaded{babel}{% \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% @@ -885,8 +886,12 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% \@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}% }{\switcht@@therlang}% -\providecommand{\keywords}[1]{\par\addvspace\baselineskip +\providecommand{\keywords}[1]{\def\and{{\textperiodcentered} }% +\par\addvspace\baselineskip \noindent\keywordname\enspace\ignorespaces#1}% +\@ifpackageloaded{hyperref}{% +\def\doi#1{\href{https://doi.org/#1}{https://doi.org/#1}}}{ +\def\doi#1{https://doi.org/#1}} } \def\homedir{\~{ }} @@ -947,6 +952,8 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} % \if!\the\tocauthor!\relax {\def\and{\noexpand\protect\noexpand\and}% + \def\inst##1{}% added MR 2017-09-20 to remove inst numbers from the TOC + \def\orcidID##1{}% added MR 2017-09-20 to remove ORCID ids from the TOC \protected@xdef\toc@uthor{\@author}}% \else \def\\{\noexpand\protect\noexpand\newline}% @@ -962,7 +969,9 @@ to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} \else \edef\@author{\the\authorrunning}% \fi - \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% + \global\setbox\authrun=\hbox{\def\inst##1{}% added MR 2017-09-20 to remove inst numbers from the runninghead + \def\orcidID##1{}% added MR 2017-09-20 to remove ORCID ids from the runninghead + \small\unboldmath\@author\unskip}% \ifdim\wd\authrun>\instindent \typeout{Names of authors too long for running head. Please supply}% \typeout{a shorter form with \string\authorrunning\space prior to diff --git a/paper/llncs2e/llncs.dem b/paper/llncs2e/llncs.dem deleted file mode 100644 index 3f4ec4b47..000000000 --- a/paper/llncs2e/llncs.dem +++ /dev/null @@ -1,1098 +0,0 @@ -% This is LLNCS.DEM the demonstration file of -% the LaTeX macro package from Springer-Verlag -% for Lecture Notes in Computer Science, -% version 2.4 for LaTeX2e as of 16. April 2010 -% -\documentclass{llncs} -% -\usepackage{makeidx} % allows for indexgeneration -% -\begin{document} -% -\frontmatter % for the preliminaries -% -\pagestyle{headings} % switches on printing of running heads -\addtocmark{Hamiltonian Mechanics} % additional mark in the TOC -% -\chapter*{Preface} -% -This textbook is intended for use by students of physics, physical -chemistry, and theoretical chemistry. The reader is presumed to have a -basic knowledge of atomic and quantum physics at the level provided, for -example, by the first few chapters in our book {\it The Physics of Atoms -and Quanta}. The student of physics will find here material which should -be included in the basic education of every physicist. This book should -furthermore allow students to acquire an appreciation of the breadth and -variety within the field of molecular physics and its future as a -fascinating area of research. - -For the student of chemistry, the concepts introduced in this book will -provide a theoretical framework for that entire field of study. With the -help of these concepts, it is at least in principle possible to reduce -the enormous body of empirical chemical knowledge to a few basic -principles: those of quantum mechanics. In addition, modern physical -methods whose fundamentals are introduced here are becoming increasingly -important in chemistry and now represent indispensable tools for the -chemist. As examples, we might mention the structural analysis of -complex organic compounds, spectroscopic investigation of very rapid -reaction processes or, as a practical application, the remote detection -of pollutants in the air. - -\vspace{1cm} -\begin{flushright}\noindent -April 1995\hfill Walter Olthoff\\ -Program Chair\\ -ECOOP'95 -\end{flushright} -% -\chapter*{Organization} -ECOOP'95 is organized by the department of Computer Science, Univeristy -of \AA rhus and AITO (association Internationa pour les Technologie -Object) in cooperation with ACM/SIGPLAN. -% -\section*{Executive Commitee} -\begin{tabular}{@{}p{5cm}@{}p{7.2cm}@{}} -Conference Chair:&Ole Lehrmann Madsen (\AA rhus University, DK)\\ -Program Chair: &Walter Olthoff (DFKI GmbH, Germany)\\ -Organizing Chair:&J\o rgen Lindskov Knudsen (\AA rhus University, DK)\\ -Tutorials:&Birger M\o ller-Pedersen\hfil\break -(Norwegian Computing Center, Norway)\\ -Workshops:&Eric Jul (University of Kopenhagen, Denmark)\\ -Panels:&Boris Magnusson (Lund University, Sweden)\\ -Exhibition:&Elmer Sandvad (\AA rhus University, DK)\\ -Demonstrations:&Kurt N\o rdmark (\AA rhus University, DK) -\end{tabular} -% -\section*{Program Commitee} -\begin{tabular}{@{}p{5cm}@{}p{7.2cm}@{}} -Conference Chair:&Ole Lehrmann Madsen (\AA rhus University, DK)\\ -Program Chair: &Walter Olthoff (DFKI GmbH, Germany)\\ -Organizing Chair:&J\o rgen Lindskov Knudsen (\AA rhus University, DK)\\ -Tutorials:&Birger M\o ller-Pedersen\hfil\break -(Norwegian Computing Center, Norway)\\ -Workshops:&Eric Jul (University of Kopenhagen, Denmark)\\ -Panels:&Boris Magnusson (Lund University, Sweden)\\ -Exhibition:&Elmer Sandvad (\AA rhus University, DK)\\ -Demonstrations:&Kurt N\o rdmark (\AA rhus University, DK) -\end{tabular} -% -\begin{multicols}{3}[\section*{Referees}] -V.~Andreev\\ -B\"arwolff\\ -E.~Barrelet\\ -H.P.~Beck\\ -G.~Bernardi\\ -E.~Binder\\ -P.C.~Bosetti\\ -Braunschweig\\ -F.W.~B\"usser\\ -T.~Carli\\ -A.B.~Clegg\\ -G.~Cozzika\\ -S.~Dagoret\\ -Del~Buono\\ -P.~Dingus\\ -H.~Duhm\\ -J.~Ebert\\ -S.~Eichenberger\\ -R.J.~Ellison\\ -Feltesse\\ -W.~Flauger\\ -A.~Fomenko\\ -G.~Franke\\ -J.~Garvey\\ -M.~Gennis\\ -L.~Goerlich\\ -P.~Goritchev\\ -H.~Greif\\ -E.M.~Hanlon\\ -R.~Haydar\\ -R.C.W.~Henderso\\ -P.~Hill\\ -H.~Hufnagel\\ -A.~Jacholkowska\\ -Johannsen\\ -S.~Kasarian\\ -I.R.~Kenyon\\ -C.~Kleinwort\\ -T.~K\"ohler\\ -S.D.~Kolya\\ -P.~Kostka\\ -U.~Kr\"uger\\ -J.~Kurzh\"ofer\\ -M.P.J.~Landon\\ -A.~Lebedev\\ -Ch.~Ley\\ -F.~Linsel\\ -H.~Lohmand\\ -Martin\\ -S.~Masson\\ -K.~Meier\\ -C.A.~Meyer\\ -S.~Mikocki\\ -J.V.~Morris\\ -B.~Naroska\\ -Nguyen\\ -U.~Obrock\\ -G.D.~Patel\\ -Ch.~Pichler\\ -S.~Prell\\ -F.~Raupach\\ -V.~Riech\\ -P.~Robmann\\ -N.~Sahlmann\\ -P.~Schleper\\ -Sch\"oning\\ -B.~Schwab\\ -A.~Semenov\\ -G.~Siegmon\\ -J.R.~Smith\\ -M.~Steenbock\\ -U.~Straumann\\ -C.~Thiebaux\\ -P.~Van~Esch\\ -from Yerevan Ph\\ -L.R.~West\\ -G.-G.~Winter\\ -T.P.~Yiou\\ -M.~Zimmer\end{multicols} -% -\section*{Sponsoring Institutions} -% -Bernauer-Budiman Inc., Reading, Mass.\\ -The Hofmann-International Company, San Louis Obispo, Cal.\\ -Kramer Industries, Heidelberg, Germany -% -\tableofcontents -% -\mainmatter % start of the contributions -% -\title{Hamiltonian Mechanics unter besonderer Ber\"ucksichtigung der -h\"ohreren Lehranstalten} -% -\titlerunning{Hamiltonian Mechanics} % abbreviated title (for running head) -% also used for the TOC unless -% \toctitle is used -% -\author{Ivar Ekeland\inst{1}\orcidID{0000-1111-2222-3333} \and -Roger~Temam\inst{2}\orcidID{1111-2222-3333-4444} \and -Jeffrey~Dean\orcidID{2222-3333-4444-5555} \and -David~Grove\orcidID{3333-4444-5555-6666} \and -Craig~Chambers\orcidID{4444-5555-6666-7777} \and -Kim~B.~Bruce\orcidID{5555-6666-7777-8888} \and -Elsa~Bertino\orcidID{6666-7777-8888-9999}} -% -\authorrunning{Ivar Ekeland et al.} % abbreviated author list (for running head) -% -%%%% list of authors for the TOC (use if author list has to be modified) -\tocauthor{Ivar Ekeland, Roger Temam, Jeffrey Dean, David Grove, -Craig Chambers, Kim B. Bruce, and Elisa Bertino} -% -\institute{Princeton University, Princeton NJ 08544, USA,\\ -\email{I.Ekeland@princeton.edu},\\ WWW home page: -\texttt{http://users/\homedir iekeland/web/welcome.html} -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle % typeset the title of the contribution - -\begin{abstract} -The abstract should summarize the contents of the paper -using at least 70 and at most 150 words. It will be set in 9-point -font size and be inset 1.0 cm from the right and left margins. -There will be two blank lines before and after the Abstract. \dots -\keywords{computational geometry, graph theory, Hamilton cycles} -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the search -for periodic solutions to Hamiltonian systems. All this will be done in -the convex case; that is, we shall study the boundary-value problem -\begin{eqnarray*} - \dot{x}&=&JH' (t,x)\\ - x(0) &=& x(T) -\end{eqnarray*} -with $H(t,\cdot)$ a convex function of $x$, going to $+\infty$ when -$\left\|x\right\| \to \infty$. - -% -\subsection{Autonomous Systems} -% -In this section, we will consider the case when the Hamiltonian $H(x)$ -is autonomous. For the sake of simplicity, we shall also assume that it -is $C^{1}$. - -We shall first consider the question of nontriviality, within the -general framework of -$\left(A_{\infty},B_{\infty}\right)$-subquadratic Hamiltonians. In -the second subsection, we shall look into the special case when $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, -and we shall try to derive additional information. -% -\subsubsection{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty},B_{\infty}\right)$-sub\-qua\-dra\-tic at infinity, -for some constant symmetric matrices $A_{\infty}$ and $B_{\infty}$, -with $B_{\infty}-A_{\infty}$ positive definite. Set: -\begin{eqnarray} -\gamma :&=&{\rm smallest\ eigenvalue\ of}\ \ B_{\infty} - A_{\infty} \\ - \lambda : &=& {\rm largest\ negative\ eigenvalue\ of}\ \ - J \frac{d}{dt} +A_{\infty}\ . -\end{eqnarray} - -Theorem~\ref{ghou:pre} tells us that if $\lambda +\gamma < 0$, the -boundary-value problem: -\begin{equation} -\begin{array}{rcl} - \dot{x}&=&JH' (x)\\ - x(0)&=&x (T) -\end{array} -\end{equation} -has at least one solution -$\overline{x}$, which is found by minimizing the dual -action functional: -\begin{equation} - \psi (u) = \int_{o}^{T} \left[\frac{1}{2} - \left(\Lambda_{o}^{-1} u,u\right) + N^{\ast} (-u)\right] dt -\end{equation} -on the range of $\Lambda$, which is a subspace $R (\Lambda)_{L}^{2}$ -with finite codimension. Here -\begin{equation} - N(x) := H(x) - \frac{1}{2} \left(A_{\infty} x,x\right) -\end{equation} -is a convex function, and -\begin{equation} - N(x) \le \frac{1}{2} - \left(\left(B_{\infty} - A_{\infty}\right) x,x\right) - + c\ \ \ \forall x\ . -\end{equation} - -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set: -\begin{equation} - \delta := \liminf_{x\to 0} 2 N (x) \left\|x\right\|^{-2}\ . - \label{eq:one} -\end{equation} - -If $\gamma < - \lambda < \delta$, -the solution $\overline{u}$ is non-zero: -\begin{equation} - \overline{x} (t) \ne 0\ \ \ \forall t\ . -\end{equation} -\end{proposition} -% -\begin{proof} -Condition (\ref{eq:one}) means that, for every -$\delta ' > \delta$, there is some $\varepsilon > 0$ such that -\begin{equation} - \left\|x\right\| \le \varepsilon \Rightarrow N (x) \le - \frac{\delta '}{2} \left\|x\right\|^{2}\ . -\end{equation} - -It is an exercise in convex analysis, into which we shall not go, to -show that this implies that there is an $\eta > 0$ such that -\begin{equation} - f\left\|x\right\| \le \eta - \Rightarrow N^{\ast} (y) \le \frac{1}{2\delta '} - \left\|y\right\|^{2}\ . - \label{eq:two} -\end{equation} - -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white eagle and -a white horse on a snow field} -\end{figure} - -Since $u_{1}$ is a smooth function, we will have -$\left\|hu_{1}\right\|_\infty \le \eta$ -for $h$ small enough, and inequality (\ref{eq:two}) will hold, -yielding thereby: -\begin{equation} - \psi (hu_{1}) \le \frac{h^{2}}{2} - \frac{1}{\lambda} \left\|u_{1} \right\|_{2}^{2} + \frac{h^{2}}{2} - \frac{1}{\delta '} \left\|u_{1}\right\|^{2}\ . -\end{equation} - -If we choose $\delta '$ close enough to $\delta$, the quantity -$\left(\frac{1}{\lambda} + \frac{1}{\delta '}\right)$ -will be negative, and we end up with -\begin{equation} - \psi (hu_{1}) < 0\ \ \ \ \ {\rm for}\ \ h\ne 0\ \ {\rm small}\ . -\end{equation} - -On the other hand, we check directly that $\psi (0) = 0$. This shows -that 0 cannot be a minimizer of $\psi$, not even a local one. -So $\overline{u} \ne 0$ and -$\overline{u} \ne \Lambda_{o}^{-1} (0) = 0$. \qed -\end{proof} -% -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty},b_{\infty}\right)$-subquadratic at infinity. Let -$\xi_{1},\allowbreak\dots,\allowbreak\xi_{N}$ be the -equilibria, that is, the solutions of $H' (\xi ) = 0$. -Denote by $\omega_{k}$ -the smallest eigenvalue of $H'' \left(\xi_{k}\right)$, and set: -\begin{equation} - \omega : = {\rm Min\,} \left\{\omega_{1},\dots,\omega_{k}\right\}\ . -\end{equation} -If: -\begin{equation} - \frac{T}{2\pi} b_{\infty} < - - E \left[- \frac{T}{2\pi}a_{\infty}\right] < - \frac{T}{2\pi}\omega - \label{eq:three} -\end{equation} -then minimization of $\psi$ yields a non-constant $T$-periodic solution -$\overline{x}$. -\end{corollary} -% - -We recall once more that by the integer part $E [\alpha ]$ of -$\alpha \in \bbbr$, we mean the $a\in \bbbz$ -such that $a< \alpha \le a+1$. For instance, -if we take $a_{\infty} = 0$, Corollary 2 tells -us that $\overline{x}$ exists and is -non-constant provided that: - -\begin{equation} - \frac{T}{2\pi} b_{\infty} < 1 < \frac{T}{2\pi} -\end{equation} -or -\begin{equation} - T\in \left(\frac{2\pi}{\omega},\frac{2\pi}{b_{\infty}}\right)\ . - \label{eq:four} -\end{equation} - -% -\begin{proof} -The spectrum of $\Lambda$ is $\frac{2\pi}{T} \bbbz +a_{\infty}$. The -largest negative eigenvalue $\lambda$ is given by -$\frac{2\pi}{T}k_{o} +a_{\infty}$, -where -\begin{equation} - \frac{2\pi}{T}k_{o} + a_{\infty} < 0 - \le \frac{2\pi}{T} (k_{o} +1) + a_{\infty}\ . -\end{equation} -Hence: -\begin{equation} - k_{o} = E \left[- \frac{T}{2\pi} a_{\infty}\right] \ . -\end{equation} - -The condition $\gamma < -\lambda < \delta$ now becomes: -\begin{equation} - b_{\infty} - a_{\infty} < - - \frac{2\pi}{T} k_{o} -a_{\infty} < \omega -a_{\infty} -\end{equation} -which is precisely condition (\ref{eq:three}).\qed -\end{proof} -% - -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n} \setminus \{ 0\}$ and -that $H'' (x)$ is non-de\-gen\-er\-ate for any $x\ne 0$. Then any local -minimizer $\widetilde{x}$ of $\psi$ has minimal period $T$. -\end{lemma} -% -\begin{proof} -We know that $\widetilde{x}$, or -$\widetilde{x} + \xi$ for some constant $\xi -\in \bbbr^{2n}$, is a $T$-periodic solution of the Hamiltonian system: -\begin{equation} - \dot{x} = JH' (x)\ . -\end{equation} - -There is no loss of generality in taking $\xi = 0$. So -$\psi (x) \ge \psi (\widetilde{x} )$ -for all $\widetilde{x}$ in some neighbourhood of $x$ in -$W^{1,2} \left(\bbbr / T\bbbz ; \bbbr^{2n}\right)$. - -But this index is precisely the index -$i_{T} (\widetilde{x} )$ of the $T$-periodic -solution $\widetilde{x}$ over the interval -$(0,T)$, as defined in Sect.~2.6. So -\begin{equation} - i_{T} (\widetilde{x} ) = 0\ . - \label{eq:five} -\end{equation} - -Now if $\widetilde{x}$ has a lower period, $T/k$ say, -we would have, by Corollary 31: -\begin{equation} - i_{T} (\widetilde{x} ) = - i_{kT/k}(\widetilde{x} ) \ge - ki_{T/k} (\widetilde{x} ) + k-1 \ge k-1 \ge 1\ . -\end{equation} - -This would contradict (\ref{eq:five}), and thus cannot happen.\qed -\end{proof} -% -\paragraph{Notes and Comments.} -The results in this section are a -refined version of \cite{clar:eke}; -the minimality result of Proposition -14 was the first of its kind. - -To understand the nontriviality conditions, such as the one in formula -(\ref{eq:four}), one may think of a one-parameter family -$x_{T}$, $T\in \left(2\pi\omega^{-1}, 2\pi b_{\infty}^{-1}\right)$ -of periodic solutions, $x_{T} (0) = x_{T} (T)$, -with $x_{T}$ going away to infinity when $T\to 2\pi \omega^{-1}$, -which is the period of the linearized system at 0. - -\begin{table} -\caption{This is the example table taken out of {\it The -\TeX{}book,} p.\,246} -\begin{center} -\begin{tabular}{r@{\quad}rl} -\hline -\multicolumn{1}{l}{\rule{0pt}{12pt} - Year}&\multicolumn{2}{l}{World population}\\[2pt] -\hline\rule{0pt}{12pt} -8000 B.C. & 5,000,000& \\ - 50 A.D. & 200,000,000& \\ -1650 A.D. & 500,000,000& \\ -1945 A.D. & 2,300,000,000& \\ -1980 A.D. & 4,400,000,000& \\[2pt] -\hline -\end{tabular} -\end{center} -\end{table} -% -\begin{theorem} [Ghoussoub-Preiss]\label{ghou:pre} -Assume $H(t,x)$ is -$(0,\varepsilon )$-subquadratic at -infinity for all $\varepsilon > 0$, and $T$-periodic in $t$ -\begin{equation} - H (t,\cdot )\ \ \ \ \ {\rm is\ convex}\ \ \forall t -\end{equation} -\begin{equation} - H (\cdot ,x)\ \ \ \ \ {\rm is}\ \ T{\rm -periodic}\ \ \forall x -\end{equation} -\begin{equation} - H (t,x)\ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n (s)s^{-1}\to \infty\ \ {\rm as}\ \ s\to \infty -\end{equation} -\begin{equation} - \forall \varepsilon > 0\ ,\ \ \ \exists c\ :\ - H(t,x) \le \frac{\varepsilon}{2}\left\|x\right\|^{2} + c\ . -\end{equation} - -Assume also that $H$ is $C^{2}$, and $H'' (t,x)$ is positive definite -everywhere. Then there is a sequence $x_{k}$, $k\in \bbbn$, of -$kT$-periodic solutions of the system -\begin{equation} - \dot{x} = JH' (t,x) -\end{equation} -such that, for every $k\in \bbbn$, there is some $p_{o}\in\bbbn$ with: -\begin{equation} - p\ge p_{o}\Rightarrow x_{pk} \ne x_{k}\ . -\end{equation} -\qed -\end{theorem} -% -\begin{example} [{{\rm External forcing}}] -Consider the system: -\begin{equation} - \dot{x} = JH' (x) + f(t) -\end{equation} -where the Hamiltonian $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, and the -forcing term is a distribution on the circle: -\begin{equation} - f = \frac{d}{dt} F + f_{o}\ \ \ \ \ - {\rm with}\ \ F\in L^{2} \left(\bbbr / T\bbbz; \bbbr^{2n}\right)\ , -\end{equation} -where $f_{o} : = T^{-1}\int_{o}^{T} f (t) dt$. For instance, -\begin{equation} - f (t) = \sum_{k\in \bbbn} \delta_{k} \xi\ , -\end{equation} -where $\delta_{k}$ is the Dirac mass at $t= k$ and -$\xi \in \bbbr^{2n}$ is a -constant, fits the prescription. This means that the system -$\dot{x} = JH' (x)$ is being excited by a -series of identical shocks at interval $T$. -\end{example} -% -\begin{definition} -Let $A_{\infty} (t)$ and $B_{\infty} (t)$ be symmetric -operators in $\bbbr^{2n}$, depending continuously on -$t\in [0,T]$, such that -$A_{\infty} (t) \le B_{\infty} (t)$ for all $t$. - -A Borelian function -$H: [0,T]\times \bbbr^{2n} \to \bbbr$ -is called -$\left(A_{\infty} ,B_{\infty}\right)$-{\it subquadratic at infinity} -if there exists a function $N(t,x)$ such that: -\begin{equation} - H (t,x) = \frac{1}{2} \left(A_{\infty} (t) x,x\right) + N(t,x) -\end{equation} -\begin{equation} - \forall t\ ,\ \ \ N(t,x)\ \ \ \ \ - {\rm is\ convex\ with\ respect\ to}\ \ x -\end{equation} -\begin{equation} - N(t,x) \ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n(s)s^{-1}\to +\infty\ \ {\rm as}\ \ s\to +\infty -\end{equation} -\begin{equation} - \exists c\in \bbbr\ :\ \ \ H (t,x) \le - \frac{1}{2} \left(B_{\infty} (t) x,x\right) + c\ \ \ \forall x\ . -\end{equation} - -If $A_{\infty} (t) = a_{\infty} I$ and -$B_{\infty} (t) = b_{\infty} I$, with -$a_{\infty} \le b_{\infty} \in \bbbr$, -we shall say that $H$ is -$\left(a_{\infty},b_{\infty}\right)$-subquadratic -at infinity. As an example, the function -$\left\|x\right\|^{\alpha}$, with -$1\le \alpha < 2$, is $(0,\varepsilon )$-subquadratic at infinity -for every $\varepsilon > 0$. Similarly, the Hamiltonian -\begin{equation} -H (t,x) = \frac{1}{2} k \left\|k\right\|^{2} +\left\|x\right\|^{\alpha} -\end{equation} -is $(k,k+\varepsilon )$-subquadratic for every $\varepsilon > 0$. -Note that, if $k<0$, it is not convex. -\end{definition} -% - -\paragraph{Notes and Comments.} -The first results on subharmonics were -obtained by Rabinowitz in \cite{rab}, who showed the existence of -infinitely many subharmonics both in the subquadratic and superquadratic -case, with suitable growth conditions on $H'$. Again the duality -approach enabled Clarke and Ekeland in \cite{clar:eke:2} to treat the -same problem in the convex-subquadratic case, with growth conditions on -$H$ only. - -Recently, Michalek and Tarantello (see \cite{mich:tar} and \cite{tar}) -have obtained lower bound on the number of subharmonics of period $kT$, -based on symmetry considerations and on pinching estimates, as in -Sect.~5.2 of this article. - -% -% ---- Bibliography ---- -% -\begin{thebibliography}{5} -% -\bibitem {clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and -boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) - -\bibitem {clar:eke:2} -Clarke, F., Ekeland, I.: -Solutions p\'{e}riodiques, du -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. -Note CRAS Paris 287, 1013--1015 (1978) - -\bibitem {mich:tar} -Michalek, R., Tarantello, G.: -Subharmonic solutions with prescribed minimal -period for nonautonomous Hamiltonian systems. -J. Diff. Eq. 72, 28--55 (1988) - -\bibitem {tar} -Tarantello, G.: -Subharmonic solutions for Hamiltonian -systems via a $\bbbz_{p}$ pseudoindex theory. -Annali di Matematica Pura (to appear) - -\bibitem {rab} -Rabinowitz, P.: -On subharmonic solutions of a Hamiltonian system. -Comm. Pure Appl. Math. 33, 609--633 (1980) - -\end{thebibliography} - -% -% second contribution with nearly identical text, -% slightly changed contribution head (all entries -% appear as defaults), and modified bibliography -% -\title{Hamiltonian Mechanics Two} - -\author{Ivar Ekeland\inst{1}\orcidID{0000-1111-2222-3333} \and -Roger Temam\inst{2}\orcidID{1111-2222-3333-4444}} - -\institute{Princeton University, Princeton NJ 08544, USA -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle -% -% Modify the bibliography environment to call for the author-year -% system. This is done normally with the citeauthoryear option -% for a particular contribution. -\makeatletter -\renewenvironment{thebibliography}[1] - {\section*{\refname} - \small - \list{}% - {\settowidth\labelwidth{}% - \leftmargin\parindent - \itemindent=-\parindent - \labelsep=\z@ - \if@openbib - \advance\leftmargin\bibindent - \itemindent -\bibindent - \listparindent \itemindent - \parsep \z@ - \fi - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{}}% - \if@openbib - \renewcommand\newblock{\par}% - \else - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% - \fi - \sloppy\clubpenalty4000\widowpenalty4000% - \sfcode`\.=\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} - \def\@cite#1{#1}% - \def\@lbibitem[#1]#2{\item[]\if@filesw - {\def\protect##1{\string ##1\space}\immediate - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} -\makeatother -% -\begin{abstract} -The abstract should summarize the contents of the paper -using at least 70 and at most 150 words. It will be set in 9-point -font size and be inset 1.0 cm from the right and left margins. -There will be two blank lines before and after the Abstract. \dots -\keywords{graph transformations, convex geometry, lattice computations, -convex polygons, triangulations, discrete geometry} -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the search -for periodic solutions to Hamiltonian systems. All this will be done in -the convex case; that is, we shall study the boundary-value problem -\begin{eqnarray*} - \dot{x}&=&JH' (t,x)\\ - x(0) &=& x(T) -\end{eqnarray*} -with $H(t,\cdot)$ a convex function of $x$, going to $+\infty$ when -$\left\|x\right\| \to \infty$. - -% -\subsection{Autonomous Systems} -% -In this section, we will consider the case when the Hamiltonian $H(x)$ -is autonomous. For the sake of simplicity, we shall also assume that it -is $C^{1}$. - -We shall first consider the question of nontriviality, within the -general framework of -$\left(A_{\infty},B_{\infty}\right)$-subquadratic Hamiltonians. In -the second subsection, we shall look into the special case when $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, -and we shall try to derive additional information. -% -\subsubsection{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty},B_{\infty}\right)$-sub\-qua\-dra\-tic at infinity, -for some constant symmetric matrices $A_{\infty}$ and $B_{\infty}$, -with $B_{\infty}-A_{\infty}$ positive definite. Set: -\begin{eqnarray} -\gamma :&=&{\rm smallest\ eigenvalue\ of}\ \ B_{\infty} - A_{\infty} \\ - \lambda : &=& {\rm largest\ negative\ eigenvalue\ of}\ \ - J \frac{d}{dt} +A_{\infty}\ . -\end{eqnarray} - -Theorem 21 tells us that if $\lambda +\gamma < 0$, the boundary-value -problem: -\begin{equation} -\begin{array}{rcl} - \dot{x}&=&JH' (x)\\ - x(0)&=&x (T) -\end{array} -\end{equation} -has at least one solution -$\overline{x}$, which is found by minimizing the dual -action functional: -\begin{equation} - \psi (u) = \int_{o}^{T} \left[\frac{1}{2} - \left(\Lambda_{o}^{-1} u,u\right) + N^{\ast} (-u)\right] dt -\end{equation} -on the range of $\Lambda$, which is a subspace $R (\Lambda)_{L}^{2}$ -with finite codimension. Here -\begin{equation} - N(x) := H(x) - \frac{1}{2} \left(A_{\infty} x,x\right) -\end{equation} -is a convex function, and -\begin{equation} - N(x) \le \frac{1}{2} - \left(\left(B_{\infty} - A_{\infty}\right) x,x\right) - + c\ \ \ \forall x\ . -\end{equation} - -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set: -\begin{equation} - \delta := \liminf_{x\to 0} 2 N (x) \left\|x\right\|^{-2}\ . - \label{2eq:one} -\end{equation} - -If $\gamma < - \lambda < \delta$, -the solution $\overline{u}$ is non-zero: -\begin{equation} - \overline{x} (t) \ne 0\ \ \ \forall t\ . -\end{equation} -\end{proposition} -% -\begin{proof} -Condition (\ref{2eq:one}) means that, for every -$\delta ' > \delta$, there is some $\varepsilon > 0$ such that -\begin{equation} - \left\|x\right\| \le \varepsilon \Rightarrow N (x) \le - \frac{\delta '}{2} \left\|x\right\|^{2}\ . -\end{equation} - -It is an exercise in convex analysis, into which we shall not go, to -show that this implies that there is an $\eta > 0$ such that -\begin{equation} - f\left\|x\right\| \le \eta - \Rightarrow N^{\ast} (y) \le \frac{1}{2\delta '} - \left\|y\right\|^{2}\ . - \label{2eq:two} -\end{equation} - -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white eagle and -a white horse on a snow field} -\end{figure} - -Since $u_{1}$ is a smooth function, we will have -$\left\|hu_{1}\right\|_\infty \le \eta$ -for $h$ small enough, and inequality (\ref{2eq:two}) will hold, -yielding thereby: -\begin{equation} - \psi (hu_{1}) \le \frac{h^{2}}{2} - \frac{1}{\lambda} \left\|u_{1} \right\|_{2}^{2} + \frac{h^{2}}{2} - \frac{1}{\delta '} \left\|u_{1}\right\|^{2}\ . -\end{equation} - -If we choose $\delta '$ close enough to $\delta$, the quantity -$\left(\frac{1}{\lambda} + \frac{1}{\delta '}\right)$ -will be negative, and we end up with -\begin{equation} - \psi (hu_{1}) < 0\ \ \ \ \ {\rm for}\ \ h\ne 0\ \ {\rm small}\ . -\end{equation} - -On the other hand, we check directly that $\psi (0) = 0$. This shows -that 0 cannot be a minimizer of $\psi$, not even a local one. -So $\overline{u} \ne 0$ and -$\overline{u} \ne \Lambda_{o}^{-1} (0) = 0$. \qed -\end{proof} -% -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty},b_{\infty}\right)$-subquadratic at infinity. Let -$\xi_{1},\allowbreak\dots,\allowbreak\xi_{N}$ be the -equilibria, that is, the solutions of $H' (\xi ) = 0$. -Denote by $\omega_{k}$ -the smallest eigenvalue of $H'' \left(\xi_{k}\right)$, and set: -\begin{equation} - \omega : = {\rm Min\,} \left\{\omega_{1},\dots,\omega_{k}\right\}\ . -\end{equation} -If: -\begin{equation} - \frac{T}{2\pi} b_{\infty} < - - E \left[- \frac{T}{2\pi}a_{\infty}\right] < - \frac{T}{2\pi}\omega - \label{2eq:three} -\end{equation} -then minimization of $\psi$ yields a non-constant $T$-periodic solution -$\overline{x}$. -\end{corollary} -% - -We recall once more that by the integer part $E [\alpha ]$ of -$\alpha \in \bbbr$, we mean the $a\in \bbbz$ -such that $a< \alpha \le a+1$. For instance, -if we take $a_{\infty} = 0$, Corollary 2 tells -us that $\overline{x}$ exists and is -non-constant provided that: - -\begin{equation} - \frac{T}{2\pi} b_{\infty} < 1 < \frac{T}{2\pi} -\end{equation} -or -\begin{equation} - T\in \left(\frac{2\pi}{\omega},\frac{2\pi}{b_{\infty}}\right)\ . - \label{2eq:four} -\end{equation} - -% -\begin{proof} -The spectrum of $\Lambda$ is $\frac{2\pi}{T} \bbbz +a_{\infty}$. The -largest negative eigenvalue $\lambda$ is given by -$\frac{2\pi}{T}k_{o} +a_{\infty}$, -where -\begin{equation} - \frac{2\pi}{T}k_{o} + a_{\infty} < 0 - \le \frac{2\pi}{T} (k_{o} +1) + a_{\infty}\ . -\end{equation} -Hence: -\begin{equation} - k_{o} = E \left[- \frac{T}{2\pi} a_{\infty}\right] \ . -\end{equation} - -The condition $\gamma < -\lambda < \delta$ now becomes: -\begin{equation} - b_{\infty} - a_{\infty} < - - \frac{2\pi}{T} k_{o} -a_{\infty} < \omega -a_{\infty} -\end{equation} -which is precisely condition (\ref{2eq:three}).\qed -\end{proof} -% - -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n} \setminus \{ 0\}$ and -that $H'' (x)$ is non-de\-gen\-er\-ate for any $x\ne 0$. Then any local -minimizer $\widetilde{x}$ of $\psi$ has minimal period $T$. -\end{lemma} -% -\begin{proof} -We know that $\widetilde{x}$, or -$\widetilde{x} + \xi$ for some constant $\xi -\in \bbbr^{2n}$, is a $T$-periodic solution of the Hamiltonian system: -\begin{equation} - \dot{x} = JH' (x)\ . -\end{equation} - -There is no loss of generality in taking $\xi = 0$. So -$\psi (x) \ge \psi (\widetilde{x} )$ -for all $\widetilde{x}$ in some neighbourhood of $x$ in -$W^{1,2} \left(\bbbr / T\bbbz ; \bbbr^{2n}\right)$. - -But this index is precisely the index -$i_{T} (\widetilde{x} )$ of the $T$-periodic -solution $\widetilde{x}$ over the interval -$(0,T)$, as defined in Sect.~2.6. So -\begin{equation} - i_{T} (\widetilde{x} ) = 0\ . - \label{2eq:five} -\end{equation} - -Now if $\widetilde{x}$ has a lower period, $T/k$ say, -we would have, by Corollary 31: -\begin{equation} - i_{T} (\widetilde{x} ) = - i_{kT/k}(\widetilde{x} ) \ge - ki_{T/k} (\widetilde{x} ) + k-1 \ge k-1 \ge 1\ . -\end{equation} - -This would contradict (\ref{2eq:five}), and thus cannot happen.\qed -\end{proof} -% -\paragraph{Notes and Comments.} -The results in this section are a -refined version of \cite{2clar:eke}; -the minimality result of Proposition -14 was the first of its kind. - -To understand the nontriviality conditions, such as the one in formula -(\ref{2eq:four}), one may think of a one-parameter family -$x_{T}$, $T\in \left(2\pi\omega^{-1}, 2\pi b_{\infty}^{-1}\right)$ -of periodic solutions, $x_{T} (0) = x_{T} (T)$, -with $x_{T}$ going away to infinity when $T\to 2\pi \omega^{-1}$, -which is the period of the linearized system at 0. - -\begin{table} -\caption{This is the example table taken out of {\it The -\TeX{}book,} p.\,246} -\begin{center} -\begin{tabular}{r@{\quad}rl} -\hline -\multicolumn{1}{l}{\rule{0pt}{12pt} - Year}&\multicolumn{2}{l}{World population}\\[2pt] -\hline\rule{0pt}{12pt} -8000 B.C. & 5,000,000& \\ - 50 A.D. & 200,000,000& \\ -1650 A.D. & 500,000,000& \\ -1945 A.D. & 2,300,000,000& \\ -1980 A.D. & 4,400,000,000& \\[2pt] -\hline -\end{tabular} -\end{center} -\end{table} -% -\begin{theorem} [Ghoussoub-Preiss] -Assume $H(t,x)$ is -$(0,\varepsilon )$-subquadratic at -infinity for all $\varepsilon > 0$, and $T$-periodic in $t$ -\begin{equation} - H (t,\cdot )\ \ \ \ \ {\rm is\ convex}\ \ \forall t -\end{equation} -\begin{equation} - H (\cdot ,x)\ \ \ \ \ {\rm is}\ \ T{\rm -periodic}\ \ \forall x -\end{equation} -\begin{equation} - H (t,x)\ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n (s)s^{-1}\to \infty\ \ {\rm as}\ \ s\to \infty -\end{equation} -\begin{equation} - \forall \varepsilon > 0\ ,\ \ \ \exists c\ :\ - H(t,x) \le \frac{\varepsilon}{2}\left\|x\right\|^{2} + c\ . -\end{equation} - -Assume also that $H$ is $C^{2}$, and $H'' (t,x)$ is positive definite -everywhere. Then there is a sequence $x_{k}$, $k\in \bbbn$, of -$kT$-periodic solutions of the system -\begin{equation} - \dot{x} = JH' (t,x) -\end{equation} -such that, for every $k\in \bbbn$, there is some $p_{o}\in\bbbn$ with: -\begin{equation} - p\ge p_{o}\Rightarrow x_{pk} \ne x_{k}\ . -\end{equation} -\qed -\end{theorem} -% -\begin{example} [{{\rm External forcing}}] -Consider the system: -\begin{equation} - \dot{x} = JH' (x) + f(t) -\end{equation} -where the Hamiltonian $H$ is -$\left(0,b_{\infty}\right)$-subquadratic, and the -forcing term is a distribution on the circle: -\begin{equation} - f = \frac{d}{dt} F + f_{o}\ \ \ \ \ - {\rm with}\ \ F\in L^{2} \left(\bbbr / T\bbbz; \bbbr^{2n}\right)\ , -\end{equation} -where $f_{o} : = T^{-1}\int_{o}^{T} f (t) dt$. For instance, -\begin{equation} - f (t) = \sum_{k\in \bbbn} \delta_{k} \xi\ , -\end{equation} -where $\delta_{k}$ is the Dirac mass at $t= k$ and -$\xi \in \bbbr^{2n}$ is a -constant, fits the prescription. This means that the system -$\dot{x} = JH' (x)$ is being excited by a -series of identical shocks at interval $T$. -\end{example} -% -\begin{definition} -Let $A_{\infty} (t)$ and $B_{\infty} (t)$ be symmetric -operators in $\bbbr^{2n}$, depending continuously on -$t\in [0,T]$, such that -$A_{\infty} (t) \le B_{\infty} (t)$ for all $t$. - -A Borelian function -$H: [0,T]\times \bbbr^{2n} \to \bbbr$ -is called -$\left(A_{\infty} ,B_{\infty}\right)$-{\it subquadratic at infinity} -if there exists a function $N(t,x)$ such that: -\begin{equation} - H (t,x) = \frac{1}{2} \left(A_{\infty} (t) x,x\right) + N(t,x) -\end{equation} -\begin{equation} - \forall t\ ,\ \ \ N(t,x)\ \ \ \ \ - {\rm is\ convex\ with\ respect\ to}\ \ x -\end{equation} -\begin{equation} - N(t,x) \ge n\left(\left\|x\right\|\right)\ \ \ \ \ - {\rm with}\ \ n(s)s^{-1}\to +\infty\ \ {\rm as}\ \ s\to +\infty -\end{equation} -\begin{equation} - \exists c\in \bbbr\ :\ \ \ H (t,x) \le - \frac{1}{2} \left(B_{\infty} (t) x,x\right) + c\ \ \ \forall x\ . -\end{equation} - -If $A_{\infty} (t) = a_{\infty} I$ and -$B_{\infty} (t) = b_{\infty} I$, with -$a_{\infty} \le b_{\infty} \in \bbbr$, -we shall say that $H$ is -$\left(a_{\infty},b_{\infty}\right)$-subquadratic -at infinity. As an example, the function -$\left\|x\right\|^{\alpha}$, with -$1\le \alpha < 2$, is $(0,\varepsilon )$-subquadratic at infinity -for every $\varepsilon > 0$. Similarly, the Hamiltonian -\begin{equation} -H (t,x) = \frac{1}{2} k \left\|k\right\|^{2} +\left\|x\right\|^{\alpha} -\end{equation} -is $(k,k+\varepsilon )$-subquadratic for every $\varepsilon > 0$. -Note that, if $k<0$, it is not convex. -\end{definition} -% - -\paragraph{Notes and Comments.} -The first results on subharmonics were -obtained by Rabinowitz in \cite{2rab}, who showed the existence of -infinitely many subharmonics both in the subquadratic and superquadratic -case, with suitable growth conditions on $H'$. Again the duality -approach enabled Clarke and Ekeland in \cite{2clar:eke:2} to treat the -same problem in the convex-subquadratic case, with growth conditions on -$H$ only. - -Recently, Michalek and Tarantello (see Michalek, R., Tarantello, G. -\cite{2mich:tar} and Tarantello, G. \cite{2tar}) have obtained lower -bound on the number of subharmonics of period $kT$, based on symmetry -considerations and on pinching estimates, as in Sect.~5.2 of this -article. - -% -% ---- Bibliography ---- -% -\begin{thebibliography}{} -% -\bibitem[1980]{2clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and -boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) - -\bibitem[1981]{2clar:eke:2} -Clarke, F., Ekeland, I.: -Solutions p\'{e}riodiques, du -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. -Note CRAS Paris 287, 1013--1015 (1978) - -\bibitem[1982]{2mich:tar} -Michalek, R., Tarantello, G.: -Subharmonic solutions with prescribed minimal -period for nonautonomous Hamiltonian systems. -J. Diff. Eq. 72, 28--55 (1988) - -\bibitem[1983]{2tar} -Tarantello, G.: -Subharmonic solutions for Hamiltonian -systems via a $\bbbz_{p}$ pseudoindex theory. -Annali di Matematica Pura (to appear) - -\bibitem[1985]{2rab} -Rabinowitz, P.: -On subharmonic solutions of a Hamiltonian system. -Comm. Pure Appl. Math. 33, 609--633 (1980) - -\end{thebibliography} -\clearpage -\addtocmark[2]{Author Index} % additional numbered TOC entry -\renewcommand{\indexname}{Author Index} -\printindex -\clearpage -\addtocmark[2]{Subject Index} % additional numbered TOC entry -\markboth{Subject Index}{Subject Index} -\renewcommand{\indexname}{Subject Index} -\input{subjidx.ind} -\end{document} diff --git a/paper/llncs2e/llncs.doc b/paper/llncs2e/llncs.doc deleted file mode 100644 index eb665a6ce..000000000 --- a/paper/llncs2e/llncs.doc +++ /dev/null @@ -1,1256 +0,0 @@ -% This is LLNCS.DOC the documentation file of -% the LaTeX2e class from Springer-Verlag -% for Lecture Notes in Computer Science, version 2.4 -\documentclass{llncs} -\usepackage{llncsdoc} -% -\begin{document} -\markboth{\LaTeXe{} Class for Lecture Notes in Computer -Science}{\LaTeXe{} Class for Lecture Notes in Computer Science} -\thispagestyle{empty} -\begin{flushleft} -\LARGE\bfseries Instructions for Authors\\ -Coding with \LaTeX\\[2cm] -\end{flushleft} -\rule{\textwidth}{1pt} -\vspace{2pt} -\begin{flushright} -\Huge -\begin{tabular}{@{}l} -\LaTeXe{} Class\\ -for Lecture Notes\\ -in Computer Science\\[6pt] -{\Large Version 2.4} -\end{tabular} -\end{flushright} -\rule{\textwidth}{1pt} -\vfill -%\begin{flushleft} -%\large\itshape -%\begin{tabular}{@{}l} -%{\Large\upshape\bfseries Springer}\\[8pt] -%Berlin\enspace Heidelberg\enspace New\kern0.1em York\\[5pt] -%Barcelona\enspace Budapest\enspace Hong\kern0.2em Kong\\[5pt] -%London\enspace Milan\enspace Paris\enspace\\[5pt] -%Santa\kern0.2em Clara\enspace Singapore\enspace Tokyo -%\end{tabular} -%\end{flushleft} -\newpage -% -\section*{For further information please contact us:} -% -\begin{flushleft} -\begin{tabular}{l@{\quad}l@{\hspace{3mm}}l@{\qquad}l} -$\bullet$&\multicolumn{3}{@{}l}{\bfseries LNCS Editorial Office}\\[1mm] -&\multicolumn{3}{@{}l}{Springer-Verlag}\\ -&\multicolumn{3}{@{}l}{Computer Science Editorial}\\ -&\multicolumn{3}{@{}l}{Tiergartenstraße 17}\\ -&\multicolumn{3}{@{}l}{69121 Heidelberg}\\ -&\multicolumn{3}{@{}l}{Germany}\\[0.5mm] - & Tel: & +49-6221-487-8706\\ - & Fax: & +49-6221-487-8588\\ - & e-mail: & \tt lncs@springer.com & for editorial questions\\ - & & \tt texhelp@springer.de & for \TeX{} problems\\[2mm] -\noalign{\rule{\textwidth}{1pt}} -\noalign{\vskip2mm} -% -%{\tt svserv@vax.ntp.springer.de}\hfil first try the \verb|help| -%command. -% -$\bullet$&\multicolumn{3}{@{}l}{\bfseries We are also reachable through the world wide web:}\\[1mm] - &\multicolumn{2}{@{}l}{\texttt{http://www.springer.com}}&Springer Global Website\\ - &\multicolumn{2}{@{}l}{\texttt{http://www.springer.com/lncs}}&LNCS home page\\ - &\multicolumn{2}{@{}l}{\texttt{http://www.springerlink.com}}&data repository\\ - &\multicolumn{2}{@{}l}{\texttt{ftp://ftp.springer.de}}&FTP server -\end{tabular} -\end{flushleft} - - -% -\newpage -\tableofcontents -\newpage -% -\section{Introduction} -% -Authors wishing to code their contribution -with \LaTeX{}, as well as those who have already coded with \LaTeX{}, -will be provided with a document class that will give the text the -desired layout. Authors are requested to -adhere strictly to these instructions; {\em the class -file must not be changed}. - -The text output area is automatically set within an area of -12.2\,cm horizontally and 19.3\,cm vertically. - -If you are already familiar with \LaTeX{}, then the -LLNCS class should not give you any major difficulties. -It will change the layout to the required LLNCS style -(it will for instance define the layout of \verb|\section|). -We had to invent some extra commands, -which are not provided by \LaTeX{} (e.g.\ -\verb|\institute|, see also Sect.\,\ref{contbegin}) - -For the main body of the paper (the text) you -should use the commands of the standard \LaTeX{} ``article'' class. -Even if you are familiar with those commands, we urge you to read -this entire documentation thoroughly. It contains many suggestions on -how to use our commands properly; thus your paper -will be formatted exactly to LLNCS standard. -For the input of the references at the end of your contribution, -please follow our instructions given in Sect.\,\ref{refer} References. - -The majority of these hints are not specific for LLNCS; they may improve -your use of \LaTeX{} in general. -Furthermore, the documentation provides suggestions about the proper -editing and use -of the input files (capitalization, abbreviation etc.) (see -Sect.\,\ref{refedit} How to Edit Your Input File). -% -\section{How to Proceed} -% -The package consists of the following files: -\begin{flushleft} -\begin{tabular}{@{}p{2.5cm}l} -{\tt history.txt}& the version history of the package\\[2pt] -{\tt llncs.cls} & class file for \LaTeX{}\\[2pt] -{\tt llncs.dem} & an example showing how to code the text\\[2pt] -{\tt llncs.doc} & general instructions (source of this document),\\ - & {\tt llncs.doc} means {\itshape l\/}atex {\itshape doc\/}umentation for\\ - & {\itshape L\/}ecture {\itshape N}otes in {\itshape C\/}omputer {\itshape S\/}cience\\ -{\tt llncsdoc.pdf}& the documentation of the class (PDF version),\\ -{\tt llncs.doc} & general instructions (source of this document),\\ -{\tt llncsdoc.sty} & class modifications to help for the instructions\\ -{\tt llncs.ind} & an external (faked) author index file\\ -{\tt subjidx.ind} & subject index demo from the Springer book package\\ -{\tt llncs.dvi} & the resultig DVI file (remember to use binary transfer!)\\[2pt] -{\tt sprmindx.sty} & supplementary style file for MakeIndex\\ - & (usage: {\tt makeindex -s sprmindx.sty }) -\end{tabular} -\end{flushleft} -% -\subsection{How to Invoke the LLNCS Document Class} -% -The LLNCS class is an extension of the standard \LaTeX{} ``article'' -document class. Therefore you may use all ``article'' commands for the -body of your contribution to prepare your manuscript. -LLNCS class is invoked by replacing ``article'' by ``llncs'' in the -first line of your document: -\begin{verbatim} -\documentclass{llncs} -% -\begin{document} - -\end{document} -\end{verbatim} -% -\subsection{Contributions Already Coded with \protect\LaTeX{} without -the LLNCS document class} -% -If your file is already coded with \LaTeX{} you can easily -adapt it a posteriori to the LLNCS document class. - -Please refrain from using any \LaTeX{} or \TeX{} commands -that affect the layout or formatting of your document (i.e. commands -like \verb|\textheight|, \verb|\vspace|, \verb|\headsep| etc.). -There may nevertheless be exceptional occasions on which to -use some of them. - -The LLNCS document class has been carefully designed to produce the -right layout from your \LaTeX{} input. If there is anything specific you -would like to do and for which the style file does not provide a -command, {\em please contact us}. Same holds for any error and bug you -discover (there is however no reward for this -- sorry). -% -\section{General Rules for Coding Formulas} -% -With mathematical formulas you may proceed as described -in Sect.\,3.3 of the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport (2nd~ed. 1994), Addison-Wesley Publishing -Company, Inc. - -Equations are automatically numbered sequentially throughout your -contribution using arabic numerals in parentheses on the right-hand -side. - -When you are working in math mode everything is typeset in italics. -Sometimes you need to insert non-mathematical elements (e.g.\ -words or phrases). Such insertions should be coded in roman -(with \verb|\mbox|) as illustrated in the following example: -\begin{flushleft} -{\itshape Sample Input} -\end{flushleft} -\begin{verbatim} -\begin{equation} - \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad - \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace . -\end{equation} -\end{verbatim} -{\itshape Sample Output} -\begin{equation} - \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad - \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace . -\end{equation} - -If you wish to start a new paragraph immediately after a displayed -equation, insert a blank line so as to produce the required -indentation. If there is no new paragraph either do not insert -a blank line or code \verb|\noindent| immediately before -continuing the text. - -Please punctuate a displayed equation in the same way as other -ordinary text but with an \verb|\enspace| before end punctuation. - -Note that the sizes of the parentheses or other delimiter -symbols used in equations should ideally match the height of the -formulas being enclosed. This is automatically taken care of by -the following \LaTeX{} commands:\\[2mm] -\verb|\left(| or \verb|\left[| and -\verb|\right)| or \verb|\right]|. -% -\subsection{Italic and Roman Type in Math Mode} -% -\begin{alpherate} -\item -In math mode \LaTeX{} treats all letters as though they -were mathematical or physical variables, hence they are typeset as -characters of their own in -italics. However, for certain components of formulas, like short texts, -this would be incorrect and therefore coding in roman is required. -Roman should also be used for -subscripts and superscripts {\em in formulas\/} where these are -merely labels and not in themselves variables, -e.g. $T_{\mathrm{eff}}$ \emph{not} $T_{eff}$, -$T_{\mathrm K}$ \emph{not} $T_K$ (K = Kelvin), -$m_{\mathrm e}$ \emph{not} $m_e$ (e = electron). -However, do not code for roman -if the sub/superscripts represent variables, -e.g.\ $\sum_{i=1}^{n} a_{i}$. -\item -Please ensure that {\em physical units\/} (e.g.\ pc, erg s$^{-1}$ -K, cm$^{-3}$, W m$^{-2}$ Hz$^{-1}$, m kg s$^{-2}$ A$^{-2}$) and -{\em abbreviations\/} such as Ord, Var, GL, SL, sgn, const.\ -are always set in roman type. To ensure -this use the \verb|\mathrm| command: \verb|\mathrm{Hz}|. -On p.\ 44 of the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport you will find the names of -common mathe\-matical functions, such as log, sin, exp, max and sup. -These should be coded as \verb|\log|, -\verb|\sin|, \verb|\exp|, \verb|\max|, \verb|\sup| -and will appear in roman automatically. -\item -Chemical symbols and formulas should be coded for roman, -e.g.\ Fe not $Fe$, H$_2$O not {\em H$_2$O}. -\item -Familiar foreign words and phrases, e.g.\ et al., -a priori, in situ, brems\-strah\-lung, eigenvalues should not be -italicized. -\end{alpherate} -% -\section{How to Edit Your Input (Source) File} -\label{refedit} -% -\subsection{Headings}\label{headings} -% -All words in headings should be capitalized except for conjunctions, -prepositions (e.g.\ on, of, by, and, or, but, from, with, without, -under) and definite and indefinite articles (the, a, an) unless they -appear at the beginning. Formula letters must be typeset as in the text. -% -\subsection{Capitalization and Non-capitalization} -% -\begin{alpherate} -\item -The following should always be capitalized: -\begin{itemize} -\item -Headings (see preceding Sect.\,\ref{headings}) -\item -Abbreviations and expressions -in the text such as Fig(s)., Table(s), Sect(s)., Chap(s)., -Theorem, Corollary, Definition etc. when used with numbers, e.g.\ -Fig.\,3, Table\,1, Theorem 2. -\end{itemize} -Please follow the special rules in Sect.\,\ref{abbrev} for referring to -equations. -\item -The following should {\em not\/} be capitalized: -\begin{itemize} -\item -The words figure(s), table(s), equation(s), theorem(s) in the text when -used without an accompanying number. -\item -Figure legends and table captions except for names and abbreviations. -\end{itemize} -\end{alpherate} -% -\subsection{Abbreviation of Words}\label{abbrev} -% -\begin{alpherate} -\item -The following {\em should} be abbreviated when they appear in running -text {\em unless\/} they come at the beginning of a sentence: Chap., -Sect., Fig.; e.g.\ The results are depicted in Fig.\,5. Figure 9 reveals -that \dots .\\ -{\em Please note\/}: Equations should usually be referred to solely by -their number in parentheses: e.g.\ (14). However, when the reference -comes at the beginning of a sentence, the unabbreviated word -``Equation'' should be used: e.g.\ Equation (14) is very important. -However, (15) makes it clear that \dots . -\item -If abbreviations of names or concepts are used -throughout the text, they should be defined at first occurrence, -e.g.\ Plurisubharmonic (PSH) Functions, Strong Optimization (SOPT) -Problem. -\end{alpherate} -% -\section{How to Code the Beginning of Your Contribution} -\label{contbegin} -% -The title of a single contribution (it is mandatory) should be coded as -follows: -\begin{verbatim} -\title{} -\end{verbatim} -All words in titles should be capitalized except for conjunctions, -prepositions (e.g.\ on, of, by, and, or, but, from, with, without, -under) and definite and indefinite articles (the, a, an) unless they -appear at the beginning. Formula letters must be typeset as in the text. -Titles have no end punctuation. - -If a long \verb|\title| must be divided please use the code \verb|\\| -(for new line). - -If you are to produce running heads for a specific volume the standard -(of no such running heads) is overwritten with the \verb|[runningheads]| -option in the \verb|\documentclass| line. For long titles that do not -fit in the single line of the running head a warning is generated. -You can specify an abbreviated title for the running head on odd pages -with the command -\begin{verbatim} -\titlerunning{} -\end{verbatim} - -There is also a possibility to change the text of the title that goes -into the table of contents (that's for volume editors only -- there is -no table of contents for a single contribution). For this use the -command -\begin{verbatim} -\toctitle{} -\end{verbatim} - -An optional subtitle may follow then: -\begin{verbatim} -\subtitle{} -\end{verbatim} - -Now the name(s) of the author(s) must be given: -\begin{verbatim} -\author{} -\end{verbatim} -Numbers referring to different addresses or affiliations are -to be attached to each author with the \verb|\inst{}| command. -If there is more than one author, the order is up to you; -the \verb|\and| command provides for the separation. - -If you have done this correctly, this entry now reads, for example: -\begin{verbatim} -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} -\end{verbatim} -The first name\footnote{Other initials are optional -and may be inserted if this is the usual -way of writing your name, e.g.\ Alfred J.~Holmes, E.~Henry Green.} -is followed by the surname. - -As for the title there exist two additional commands (again for volume -editors only) for a different author list. One for the running head -(on odd pages) -- if there is any: -\begin{verbatim} -\authorrunning{} -\end{verbatim} -And one for the table of contents where the -affiliation of each author is simply added in braces. -\begin{verbatim} -\tocauthor{} -\end{verbatim} - -Next the address(es) of institute(s), company etc. is (are) required. -If there is more than one address, the entries are numbered -automatically with \verb|\and|, in the order in which you type them. -Please make sure that the numbers match those placed next to -to the authors' names to reflect the affiliation. -\begin{verbatim} -\institute{ -\and -\and } -\end{verbatim} - -In addition, you can use -\begin{verbatim} -\email{} -\end{verbatim} -to provide your email address within \verb|\institute|. If you need to -typeset the tilde character -- e.g. for your web page in your unix -system's home directory -- the \verb|\homedir| command will happily do -this. Please note that, if your email address is given in your paper, -it will also be included in the meta data of the online version. -\enlargethispage*{6mm} - -\medskip -If footnote like things are needed anywhere in the contribution heading -please code -(immediately after the word where the footnote indicator should be -placed): -\begin{verbatim} -\thanks{} -\end{verbatim} -\verb|\thanks| may only appear in \verb|\title|, \verb|\author| -and \verb|\institute| to footnote anything. If there are two or more -footnotes or affiliation marks to a specific item separate them with -\verb|\fnmsep| (i.e. {\itshape f}oot\emph note \emph mark -\emph{sep}arator). - -\medskip\noindent -The command -\begin{verbatim} -\maketitle -\end{verbatim} -then formats the complete heading of your article. If you leave -it out the work done so far will produce \emph{no} text. - -Then the abstract should follow. Simply code -\begin{verbatim} -\begin{abstract} - -\end{abstract} -\end{verbatim} -or refer to the demonstration file {\tt llncs.dem} for an example or -to the {\em Sample Input\/} on p.~\pageref{samppage}. - -\subsubsection{Remark to Running Heads and the Table of Contents} -\leavevmode\\[\medskipamount] -If you are the author of a single contribution you normally have no -running heads and no table of contents. Both are done only by the editor -of the volume or at the printers. -% -\section{Special Commands for the Volume Editor} -The volume editor can produce a complete camera ready output including -running heads, a table of contents, preliminary text (frontmatter), and -index or glossary. For activating the running heads there is the class -option \verb|[runningheads]|. - -The table of contents of the volume is printed wherever -\verb|\tableofcontents| is placed. A simple compilation of all -contributions (fields \verb|\title| and \verb|\author|) is done. If you -wish to change this automatically produced list use the commands -\begin{verbatim} -\titlerunning \toctitle -\authorrunning \tocauthor -\end{verbatim} -to enhance the information in the specific contributions. See the -demonstration file \verb|llncs.dem| for examples. - -An additional structure can be added to the table of contents with the -\verb|\addtocmark{}| command. It has an optional numerical -argument, a digit from 1 through 3. 3 (the default) makes an unnumbered -chapter like entry in the table of contents. If you code -\verb|\addtocmark[2]{text}| the corresponding page number is listed -also, \verb|\addtocmark[1]{text}| even introduces a chapter number -beyond it. -% -\section{How to Code Your Text} -% -The contribution title and all headings should be capitalized -except for conjunctions, prepositions (e.g.\ on, of, by, and, or, but, -from, with, without, under) and definite and indefinite articles (the, -a, an) unless they appear at the beginning. Formula letters must be -typeset as in the text. - -Headings will be automatically numbered by the following codes.\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\section{This is a First-Order Title} -\subsection{This is a Second-Order Title} -\subsubsection{This is a Third-Order Title.} -\paragraph{This is a Fourth-Order Title.} -\end{verbatim} -\verb|\section| and \verb|\subsection| have no end punctuation.\\ -\verb|\subsubsection| and \verb|\paragraph| -need to be punctuated at the end. - -In addition to the above-mentioned headings your text may be structured -by subsections indicated by run-in headings (theorem-like environments). -All the theorem-like environments are numbered automatically -throughout the sections of your document -- each with its own counter. -If you want the theorem-like environments to use the same counter -just specify the documentclass option \verb|envcountsame|: -\begin{verbatim} -\documentclass[envcountsame]{llncs} -\end{verbatim} -If your first call for a theorem-like environment then is e.g. -\verb|\begin{lemma}|, it will be numbered 1; if corollary follows, -this will be numbered 2; if you then call lemma again, this will be -numbered 3. - -But in case you want to reset such counters to 1 in each section, -please specify the documentclass option \verb|envcountreset|: -\begin{verbatim} -\documentclass[envcountreset]{llncs} -\end{verbatim} - -Even a numbering on section level (including the section counter) is -possible with the documentclass option \verb|envcountsect|. - -\section{Predefined Theorem like Environments}\label{builtintheo} -The following variety of run-in headings are at your disposal: -\begin{alpherate} -\item -{\bfseries Bold} run-in headings with italicized text -as built-in environments: -\begin{verbatim} -\begin{corollary} \end{corollary} -\begin{lemma} \end{lemma} -\begin{proposition} \end{proposition} -\begin{theorem} \end{theorem} -\end{verbatim} -\item -The following generally appears as {\itshape italic} run-in heading: -\begin{verbatim} -\begin{proof} \qed \end{proof} -\end{verbatim} -It is unnumbered and may contain an eye catching square (call for that -with \verb|\qed|) before the environment ends. -\item -Further {\itshape italic} or {\bfseries bold} run-in headings with roman -environment body may also occur: -\begin{verbatim} -\begin{definition} \end{definition} -\begin{example} \end{example} -\begin{exercise} \end{exercise} -\begin{note} \end{note} -\begin{problem} \end{problem} -\begin{question} \end{question} -\begin{remark} \end{remark} -\begin{solution} \end{solution} -\end{verbatim} -\end{alpherate} - -\section{Defining your Own Theorem like Environments} -We have enhanced the standard \verb|\newtheorem| command and slightly -changed its syntax to get two new commands \verb|\spnewtheorem| and -\verb|\spnewtheorem*| that now can be used to define additional -environments. They require two additional arguments namely the type -style in which the keyword of the environment appears and second the -style for the text of your new environment. - -\verb|\spnewtheorem| can be used in two ways. -\subsection{Method 1 {\itshape (preferred)}} -You may want to create an environment that shares its counter -with another environment, say {\em main theorem\/} to be numbered like -the predefined {\em theorem\/}. In this case, use the syntax -\begin{verbatim} -\spnewtheorem{}[]{} -{}{} -\end{verbatim} - -\noindent -Here the environment with which the new environment should share its -counter is specified with the optional argument \verb|[]|. - -\paragraph{Sample Input} -\begin{verbatim} -\spnewtheorem{mainth}[theorem]{Main Theorem}{\bfseries}{\itshape} -\begin{theorem} The early bird gets the worm. \end{theorem} -\begin{mainth} The early worm gets eaten. \end{mainth} -\end{verbatim} -\medskip\noindent -{\em Sample Output} - -\medskip\noindent -{\bfseries Theorem 3.}\enspace {\em The early bird gets the worm.} - -\medskip\noindent -{\bfseries Main Theorem 4.} The early worm gets eaten. - -\bigskip -The sharing of the default counter (\verb|[theorem]|) is desired. If you -omit the optional second argument of \verb|\spnewtheorem| a separate -counter for your new environment is used throughout your document. - -\subsection[Method 2]{Method 2 {\itshape (assumes {\tt[envcountsect]} -documentstyle option)}} -\begin{verbatim} -\spnewtheorem{}{}[] -{}{} -\end{verbatim} - -\noindent -This defines a new environment \verb|| which prints the caption -\verb|| in the font \verb|| and the text itself in -the font \verb||. The environment is numbered beginning anew -with every new sectioning element you specify with the optional -parameter \verb||. - -\medskip\noindent -\paragraph{Example} \leavevmode - -\medskip\noindent -\verb|\spnewtheorem{joke}{Joke}[subsection]{\bfseries}{\rmfamily}| - -\medskip -\noindent defines a new environment called \verb|joke| which prints the -caption {\bfseries Joke} in boldface and the text in roman. The jokes are -numbered starting from 1 at the beginning of every subsection with the -number of the subsection preceding the number of the joke e.g. 7.2.1 for -the first joke in subsection 7.2. - -\subsection{Unnumbered Environments} -If you wish to have an unnumbered environment, please -use the syntax -\begin{verbatim} -\spnewtheorem*{}{}{}{} -\end{verbatim} - -\section{Program Codes} -In case you want to show pieces of program code, just use the -\verb|verbatim| environment or the \verb|verbatim| package of \LaTeX. -(There also exist various pretty printers for some programming -languages.) -% -\noindent -\subsection*{Sample Input {\rmfamily(of a simple -contribution)}}\label{samppage} -\begin{verbatim} -\title{Hamiltonian Mechanics} - -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} - -\institute{Princeton University, Princeton NJ 08544, USA -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle -% -\begin{abstract} -This paragraph shall summarize the contents of the paper -in short terms. -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the -search for periodic solutions \dots -% -\subsection{Autonomous Systems} -% -In this section we will consider the case when the Hamiltonian -$H(x)$ \dots -% -\subsubsection*{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic -at infinity, for some constant \dots -% -\paragraph{Notes and Comments.} -The first results on subharmonics were \dots -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set \dots -\end{proposition} -\begin{proof}[of proposition] -Condition (8) means that, for every $\delta'>\delta$, there is -some $\varepsilon>0$ such that \dots \qed -\end{proof} -% -\begin{example}[\rmfamily (External forcing)] -Consider the system \dots -\end{example} -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty}, b_{\infty}\right)$-subquadratic -at infinity. Let \dots -\end{corollary} -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$ -and that $H''(x)$ is \dots -\end{lemma} -\begin{theorem}[(Ghoussoub-Preiss)] -Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots -\end{theorem} -\begin{definition} -We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ -satisfies \dots -\end{definition} -\end{verbatim} -{\itshape Sample Output\/} (follows on the next page together with -examples of the above run-in headings) -\newcounter{save}\setcounter{save}{\value{section}} -{\def\addtocontents#1#2{}% -\def\addcontentsline#1#2#3{}% -\def\markboth#1#2{}% -% -\title{Hamiltonian Mechanics} - -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}} - -\institute{Princeton University, Princeton NJ 08544, USA -\and -Universit\'{e} de Paris-Sud, -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\ -F-91405 Orsay Cedex, France} - -\maketitle -% -\begin{abstract} -This paragraph shall summarize the contents of the paper -in short terms. -\end{abstract} -% -\section{Fixed-Period Problems: The Sublinear Case} -% -With this chapter, the preliminaries are over, and we begin the search -for periodic solutions \dots -% -\subsection{Autonomous Systems} -% -In this section we will consider the case when the Hamiltonian -$H(x)$ \dots -% -\subsubsection{The General Case: Nontriviality.} -% -We assume that $H$ is -$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic at -infinity, for some constant \dots -% -\paragraph{Notes and Comments.} -The first results on subharmonics were \dots -% -\begin{proposition} -Assume $H'(0)=0$ and $ H(0)=0$. Set \dots -\end{proposition} -\begin{proof}[of proposition] -Condition (8) means that, for every $\delta'>\delta$, there is -some $\varepsilon>0$ such that \dots \qed -\end{proof} -% -\begin{example}[{{\rmfamily External forcing}}] -Consider the system \dots -\end{example} -\begin{corollary} -Assume $H$ is $C^{2}$ and -$\left(a_{\infty}, b_{\infty}\right)$-subquadratic -at infinity. Let \dots -\end{corollary} -\begin{lemma} -Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$ -and that $H''(x)$ is \dots -\end{lemma} -\begin{theorem}[Ghoussoub-Preiss] -Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots -\end{theorem} -\begin{definition} -We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ satisfies \dots -\end{definition} -% -}\setcounter{section}{\value{save}} -\section{Fine Tuning of the Text} -% -The following should be used to improve the readability of the text: -\begin{flushleft} -\begin{tabular}{@{}p{.19\textwidth}p{.79\textwidth}} -\verb|\,| & a thin space, e.g.\ between numbers or between units - and num\-bers; a line division will not be made - following this space\\ -\verb|--| & en dash; two strokes, without a space at either end\\ -\verb*| -- |& en dash; two strokes, with a space at either end\\ -\verb|-| & hyphen; one stroke, no space at either end\\ -\verb|$-$| & minus, in the text {\em only} \\[8mm] -{\em Input} & \verb|21\,$^{\circ}$C etc.,|\\ - & \verb|Dr h.\,c.\,Rockefellar-Smith \dots|\\ - & \verb|20,000\,km and Prof.\,Dr Mallory \dots|\\ - & \verb|1950--1985 \dots|\\ - & \verb|this -- written on a computer -- is now printed|\\ - & \verb|$-30$\,K \dots|\\[3mm] -{\em Output}& 21\,$^{\circ}$C etc., Dr h.\,c.\,Rockefellar-Smith \dots\\ - & 20,000\,km and Prof.\,Dr Mallory \dots\\ - & 1950--1985 \dots\\ - & this -- written on a computer -- is now printed\\ - & $-30$\,K \dots -\end{tabular} -\end{flushleft} -% -\section {Special Typefaces} -% -Normal type (roman text) need not be coded. {\itshape Italic} -(\verb|{\em }| better still \verb|\emph{}|) or, if -necessary, {\bfseries boldface} should be used for emphasis.\\[6pt] -\begin{minipage}[t]{\textwidth} -\begin{flushleft} -\begin{tabular}{@{}p{.25\textwidth}@{\hskip6pt}p{.73\textwidth}@{}} -\verb|{\itshape Text}| & {\itshape Italicized Text}\\[2pt] -\verb|{\em Text}| & {\em Emphasized Text -- - if you would like to emphasize a {\em definition} within an - italicized text (e.g.\ of a {\em theorem)} you should code the - expression to be emphasized by} \verb|\em|.\\[2pt] -\verb|{\bfseries Text}|& {\bfseries Important Text}\\[2pt] -\verb|\vec{Symbol}| & Vectors may only appear in math mode. The default - \LaTeX{} vector symbol has been adapted\footnotemark\ - to LLNCS conventions.\\[2pt] - & \verb|$\vec{A \times B\cdot C}| yields $\vec{A\times B\cdot C}$\\ - & \verb|$\vec{A}^{T} \otimes \vec{B} \otimes|\\ - & \verb|\vec{\hat{D}}$|yields $\vec{A}^{T} \otimes \vec{B} \otimes -\vec{\hat{D}}$ -\end{tabular} -\end{flushleft} -\end{minipage} - -\footnotetext{If you absolutely must revive the original \LaTeX{} -design of the vector symbol (as an arrow accent), please specify the -option \texttt{[orivec]} in the \texttt{documentclass} line.} -\newpage -% -\section {Footnotes} -% -Footnotes within the text should be coded: -\begin{verbatim} -\footnote{Text} -\end{verbatim} -{\itshape Sample Input} -\begin{flushleft} -Text with a footnote\verb|\footnote{The |{\tt footnote is automatically -numbered.}\verb|}| and text continues \dots -\end{flushleft} -{\itshape Sample Output} -\begin{flushleft} -Text with a footnote\footnote{The footnote is automatically numbered.} -and text continues \dots -\end{flushleft} -% -\section {Lists} -% -Please code lists as described below:\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\begin{enumerate} - \item First item - \item Second item - \begin{enumerate} - \item First nested item - \item Second nested item - \end{enumerate} - \item Third item -\end{enumerate} -\end{verbatim} -{\itshape Sample Output} - \begin{enumerate} -\item First item -\item Second item - \begin{enumerate} - \item First nested item - \item Second nested item - \end{enumerate} -\item Third item -\end{enumerate} -% -\section {Figures} -% -Figure environments should be inserted after (not in) -the paragraph in which the figure is first mentioned. -They will be numbered automatically. - -Preferably the images should be enclosed as PostScript files -- best as -EPS data using the epsfig package. - -If you cannot include them into your output this way and use other -techniques for a separate production, -the figures (line drawings and those containing halftone inserts -as well as halftone figures) {\em should not be pasted into your -laserprinter output}. They should be enclosed separately in camera-ready -form (original artwork, glossy prints, photographs and/or slides). The -lettering should be suitable for reproduction, and after a -probably necessary reduction the height of capital letters should be at -least 1.8\,mm and not more than 2.5\,mm. -Check that lines and other details are uniformly black and -that the lettering on figures is clearly legible. - -To leave the desired amount of space for the height of -your figures, please use the coding described below. -As can be seen in the output, we will automatically -provide 1\,cm space above and below the figure, -so that you should only leave the space equivalent to the size of the -figure itself. Please note that ``\verb|x|'' in the following -coding stands for the actual height of the figure: -\begin{verbatim} -\begin{figure} -\vspace{x cm} -\caption[ ]{...text of caption...} (Do type [ ]) -\end{figure} -\end{verbatim} -\begin{flushleft} -{\itshape Sample Input} -\end{flushleft} -\begin{verbatim} -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white -eagle and a white horse on a snow field} -\end{figure} -\end{verbatim} -\begin{flushleft} -{\itshape Sample Output} -\end{flushleft} -\begin{figure} -\vspace{2.5cm} -\caption{This is the caption of the figure displaying a white eagle and -a white horse on a snow field} -\end{figure} -% -\section{Tables} -% -Table captions should be treated -in the same way as figure legends, except that -the table captions appear {\itshape above} the tables. The tables -will be numbered automatically. -% -\subsection{Tables Coded with \protect\LaTeX{}} -% -Please use the following coding:\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\begin{table} -\caption{Critical $N$ values} -\begin{tabular}{llllll} -\hline\noalign{\smallskip} -${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$ - & $N_{\mathrm{crit}}^{\mathrm L}$ - & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\ -\noalign{\smallskip} -\hline -\noalign{\smallskip} - 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\ - 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\ -120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\ -\hline -\end{tabular} -\end{table} -\end{verbatim} - -\medskip\noindent{\itshape Sample Output} -\begin{table} -\caption{Critical $N$ values} -\begin{center} -\renewcommand{\arraystretch}{1.4} -\setlength\tabcolsep{3pt} -\begin{tabular}{llllll} -\hline\noalign{\smallskip} -${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$ - & $N_{\mathrm{crit}}^{\mathrm L}$ - & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\ -\noalign{\smallskip} -\hline -\noalign{\smallskip} - 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\ - 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\ -120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\ -\hline -\end{tabular} -\end{center} -\end{table} - -Before continuing your text you need an empty line. \dots - -\vspace{3mm} -For further information you will find a complete description of -the tabular environment -on p.~62~ff. and p.~204 of the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport. -% -\subsection{Tables Not Coded with \protect\LaTeX{}} -% -If you do not wish to code your table using \LaTeX{} -but prefer to have it reproduced separately, -proceed as for figures and use the following coding:\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -\begin{table} -\caption{text of your caption} -\vspace{x cm} % the actual height needed for your table -\end{table} -\end{verbatim} -% -\subsection{Signs and Characters} -% -\subsubsection*{Special Signs.} -% -You may need to use special signs. The available ones are listed in the -{\em \LaTeX{} User's Guide \& Reference Manual\/} by Leslie Lamport, -pp.~41\,ff. -We have created further symbols for math mode (enclosed in \$): -\begin{center} -\begin{tabular}{l@{\hspace{1em}yields\hspace{1em}} -c@{\hspace{3em}}l@{\hspace{1em}yields\hspace{1em}}c} -\verb|\grole| & $\grole$ & \verb|\getsto| & $\getsto$\\ -\verb|\lid| & $\lid$ & \verb|\gid| & $\gid$ -\end{tabular} -\end{center} -% -\subsubsection*{Gothic (Fraktur).} -% -If gothic letters are {\itshape necessary}, please use those of the -relevant \AmSTeX{} alphabet which are available using the amstex -package of the American Mathematical Society. - -In \LaTeX{} only the following gothic letters are available: -\verb|$\Re$| yields $\Re$ and \verb|$\Im$| yields $\Im$. These should -{\itshape not\/} be used when you need gothic letters for your contribution. -Use \AmSTeX{} gothic as explained above. For the real and the imaginary -parts of a complex number within math mode you should use instead: -\verb|$\mathrm{Re}$| (which yields Re) or \verb|$\mathrm{Im}$| (which -yields Im). -% -\subsubsection*{Script.} -% -For script capitals use the coding -\begin{center} -\begin{tabular}{l@{\hspace{1em}which yields\hspace{1em}}c} -\verb|$\mathcal{AB}$| & $\mathcal{AB}$ -\end{tabular} -\end{center} -(see p.~42 of the \LaTeX{} book). -% -\subsubsection*{Special Roman.} -% -If you need other symbols than those below, you could use -the blackboard bold characters of \AmSTeX{}, but there might arise -capacity problems -in loading additional \AmSTeX{} fonts. Therefore we created -the blackboard bold characters listed below. -Some of them are not esthetically -satisfactory. This need not deter you from using them: -in the final printed form they will be -replaced by the well-designed MT (monotype) characters of -the phototypesetting machine. -\begin{flushleft} -\begin{tabular}{@{}ll@{ yields } -c@{\hspace{1.em}}ll@{ yields }c} -\verb|\bbbc| & (complex numbers) & $\bbbc$ - & \verb|\bbbf| & (blackboard bold F) & $\bbbf$\\ -\verb|\bbbh| & (blackboard bold H) & $\bbbh$ - & \verb|\bbbk| & (blackboard bold K) & $\bbbk$\\ -\verb|\bbbm| & (blackboard bold M) & $\bbbm$ - & \verb|\bbbn| & (natural numbers N) & $\bbbn$\\ -\verb|\bbbp| & (blackboard bold P) & $\bbbp$ - & \verb|\bbbq| & (rational numbers) & $\bbbq$\\ -\verb|\bbbr| & (real numbers) & $\bbbr$ - & \verb|\bbbs| & (blackboard bold S) & $\bbbs$\\ -\verb|\bbbt| & (blackboard bold T) & $\bbbt$ - & \verb|\bbbz| & (whole numbers) & $\bbbz$\\ -\verb|\bbbone| & (symbol one) & $\bbbone$ -\end{tabular} -\end{flushleft} -\begin{displaymath} -\begin{array}{c} -\bbbc^{\bbbc^{\bbbc}} \otimes -\bbbf_{\bbbf_{\bbbf}} \otimes -\bbbh_{\bbbh_{\bbbh}} \otimes -\bbbk_{\bbbk_{\bbbk}} \otimes -\bbbm^{\bbbm^{\bbbm}} \otimes -\bbbn_{\bbbn_{\bbbn}} \otimes -\bbbp^{\bbbp^{\bbbp}}\\[2mm] -\otimes -\bbbq_{\bbbq_{\bbbq}} \otimes -\bbbr^{\bbbr^{\bbbr}} \otimes -\bbbs^{\bbbs_{\bbbs}} \otimes -\bbbt^{\bbbt^{\bbbt}} \otimes -\bbbz \otimes -\bbbone^{\bbbone_{\bbbone}} -\end{array} -\end{displaymath} -% -\section{References} -\label{refer} -% -There are three reference systems available; only one, of course, -should be used for your contribution. With each system (by -number only, by letter-number or by author-year) a reference list -containing all citations in the -text, should be included at the end of your contribution placing the -\LaTeX{} environment \verb|thebibliography| there. -For an overall information on that environment -see the {\em \LaTeX{} User's Guide \& Reference -Manual\/} by Leslie Lamport, p.~71. - -There is a special {\sc Bib}\TeX{} style for LLNCS that works along -with the class: \verb|splncs.bst| --- call for it with a line \verb|\bibliographystyle{splncs}|. -If you plan to use another {\sc Bib}\TeX{} style you are customed to, -please specify the option \verb|[oribibl]| in the -\verb|documentclass| line, like: -\begin{verbatim} -\documentclass[oribibl]{llncs} -\end{verbatim} -This will retain the original \LaTeX{} code for the bibliographic -environment and the \verb|\cite| mechanism that many {\sc Bib}\TeX{} -applications rely on. -% -\subsection{References by Letter-Number or by Number Only} -% -References are cited in the text -- using the \verb|\cite| -command of \LaTeX{} -- by number or by letter-number in square -brackets, e.g.\ [1] or [E1, S2], [P1], according to your use of the -\verb|\bibitem| command in the \verb|thebibliography| environment. The -coding is as follows: if you choose your own label for the sources by -giving an optional argument to the \verb|\bibitem| command the citations -in the text are marked with the label you supplied. Otherwise a simple -numbering is done, which is preferred. -\begin{verbatim} -The results in this section are a refined version -of \cite{clar:eke}; the minimality result of Proposition~14 -was the first of its kind. -\end{verbatim} -The above input produces the citation: ``\dots\ refined version of -[CE1]; the min\-i\-mality\dots''. Then the \verb|\bibitem| entry of -the \verb|thebibliography| environment should read: -\begin{verbatim} -\begin{thebibliography}{[MT1]} -. -. -\bibitem[CE1]{clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and boundary-value problems for -Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) -. -. -\end{thebibliography} -\end{verbatim} -The complete bibliography looks like this: -% -\begin{thebibliography}{[MT1]} -% -\bibitem[CE1]{clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and -boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) -% -\bibitem[CE2]{clar:eke:2} -Clarke, F., Ekeland, I.: -Solutions p\'{e}riodiques, du -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes. -Note CRAS Paris 287, 1013--1015 (1978) -% -\bibitem[MT1]{mich:tar} -Michalek, R., Tarantello, G.: -Subharmonic solutions with prescribed minimal -period for nonautonomous Hamiltonian systems. -J. Diff. Eq. 72, 28--55 (1988) -% -\bibitem[Ta1]{tar} -Tarantello, G.: -Subharmonic solutions for Hamiltonian -systems via a $\bbbz_{p}$ pseudoindex theory. -Annali di Matematica Pura (to appear) -% -\bibitem[Ra1]{rab} -Rabinowitz, P.: -On subharmonic solutions of a Hamiltonian system. -Comm. Pure Appl. Math. 33, 609--633 (1980) -\end{thebibliography} -% -\subsubsection*{Number-Only System.} -% -For this preferred system do not use the optional argument -in the \verb|\bibitem| command: then, only numbers will -appear for the citations in the text (enclosed in square brackets) -as well as for the marks in your -bibliography (here the number is only end-punctuated without -square brackets). - -Subsequent citation numbers in the text are collapsed to ranges. -Non-numeric and undefined labels are handled correctly but no sorting is -done. - -E.g., \verb|\cite{n1,n3,n2,n3,n4,n5,foo,n1,n2,n3,?,n4,n5}| -- where -\verb|n|$x$ is the key of the $x^{\mathrm{th}}$ \verb|\bibitem| -command in sequence, \verb|foo| is the key of a \verb|\bibitem| with an -optional argument, and \verb|?| is an undefined reference -- gives -1,3,2-5,foo,1-3,?,4,5 as the citation reference. - -\begin{verbatim} -\begin{thebibliography}{1} -\bibitem {clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and boundary-value problems for -Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) -\end{thebibliography} -\end{verbatim} -% -\subsection{Author-Year System} -% -References are cited in the text by name and year in parentheses -and should look as follows: -(Smith 1970, 1980), (Ekeland et al. 1985, Theorem 2), (Jones and Jaffe -1986; Farrow 1988, Chap.\,2). If the name is part of the sentence -only the year may appear in parentheses, -e.g.\ Ekeland et al. (1985, Sect.\,2.1) -The reference list should contain all citations occurring in the text, -ordered alphabetically by surname (with initials following). If there -are several works by the same author(s) the references should be listed -in the appropriate order indicated below: -\begin{alpherate} -\setlength{\hfuzz}{5pt} -\item -One author: list works chronologically; -\item -Author and same co-author(s): list works chronologically; -\item -Author and different co-authors: list works alphabetically -according to co-authors. -\end{alpherate} -If there are several works by the same author(s) and in the same year, -but which are cited separately, they should be distinguished by the use -of ``a'', ``b'' etc., e.g.\ (Smith 1982a), (Ekeland et al. 1982b). -% -\subsubsection*{How to Code Author-Year System.} -% -If you want to use this system you have to specify the option -\verb|[citeauthoryear]| in the \verb|documentclass|, like: -\begin{verbatim} -\documentclass[citeauthoryear]{llncs} -\end{verbatim} -Write your citations in the text explicitly except for the year, leaving -that up to \LaTeX{} with the \verb|\cite| command. Then give only the -appropriate year as the optional argument (i.e. the label in square -brackets) with the \verb|\bibitem| command(s).\\[2mm] -{\itshape Sample Input} -\begin{verbatim} -The results in this section are a refined version -of Clarke and Ekeland (\cite{clar:eke}); the minimality result of -Proposition~14 was the first of its kind. -\end{verbatim} -The above input produces the citation: ``\dots\ refined version of -Clarke and Ekeland (1982); the minimality\dots''. Then the -\verb|\bibitem| entry of \verb|clar:eke| in the \verb|thebibliography| -environment should read: -\begin{verbatim} -\begin{thebibliography}{} % (do not forget {}) -. -. -\bibitem[1982]{clar:eke} -Clarke, F., Ekeland, I.: -Nonlinear oscillations and boundary-value problems for -Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) -. -. -\end{thebibliography} -\end{verbatim} -{\itshape Sample Output} -\bibauthoryear -% -\end{document} diff --git a/paper/llncs2e/llncs.dvi b/paper/llncs2e/llncs.dvi deleted file mode 100644 index 2fc782f1f..000000000 Binary files a/paper/llncs2e/llncs.dvi and /dev/null differ diff --git a/paper/llncs2e/llncs.ind b/paper/llncs2e/llncs.ind deleted file mode 100644 index 70d4a36b4..000000000 --- a/paper/llncs2e/llncs.ind +++ /dev/null @@ -1,349 +0,0 @@ -% This is LLNCS.IND the handmade demonstration -% file for an author index from Springer-Verlag -% for Lecture Notes in Computer Science, -% version 2.2 for LaTeX2e -% -\begin{theindex} -\item Abt~I. \idxquad{7} -\item Ahmed~T. \idxquad{3} -\item Andreev~V. \idxquad{24} -\item Andrieu~B. \idxquad{27} -\item Arpagaus~M. \idxquad{34} -\indexspace -\item Babaev~A. \idxquad{25} -\item B\"arwolff~A. \idxquad{33} -\item B\'an~J. \idxquad{17} -\item Baranov~P. \idxquad{24} -\item Barrelet~E. \idxquad{28} -\item Bartel~W. \idxquad{11} -\item Bassler~U. \idxquad{28} -\item Beck~H.P. \idxquad{35} -\item Behrend~H.-J. \idxquad{11} -\item Berger~Ch. \idxquad{1} -\item Bergstein~H. \idxquad{1} -\item Bernardi~G. \idxquad{28} -\item Bernet~R. \idxquad{34} -\item Besan\c con~M. \idxquad{9} -\item Biddulph~P. \idxquad{22} -\item Binder~E. \idxquad{11} -\item Bischoff~A. \idxquad{33} -\item Blobel~V. \idxquad{13} -\item Borras~K. \idxquad{8} -\item Bosetti~P.C. \idxquad{2} -\item Boudry~V. \idxquad{27} -\item Brasse~F. \idxquad{11} -\item Braun~U. \idxquad{2} -\item Braunschweig~A. \idxquad{1} -\item Brisson~V. \idxquad{26} -\item B\"ungener~L. \idxquad{13} -\item B\"urger~J. \idxquad{11} -\item B\"usser~F.W. \idxquad{13} -\item Buniatian~A. \idxquad{11,37} -\item Buschhorn~G. \idxquad{25} -\indexspace -\item Campbell~A.J. \idxquad{1} -\item Carli~T. \idxquad{25} -\item Charles~F. \idxquad{28} -\item Clarke~D. \idxquad{5} -\item Clegg~A.B. \idxquad{18} -\item Colombo~M. \idxquad{8} -\item Courau~A. \idxquad{26} -\item Coutures~Ch. \idxquad{9} -\item Cozzika~G. \idxquad{9} -\item Criegee~L. \idxquad{11} -\item Cvach~J. \idxquad{27} -\indexspace -\item Dagoret~S. \idxquad{28} -\item Dainton~J.B. \idxquad{19} -\item Dann~A.W.E. \idxquad{22} -\item Dau~W.D. \idxquad{16} -\item Deffur~E. \idxquad{11} -\item Delcourt~B. \idxquad{26} -\item Buono~Del~A. \idxquad{28} -\item Devel~M. \idxquad{26} -\item De Roeck~A. \idxquad{11} -\item Dingus~P. \idxquad{27} -\item Dollfus~C. \idxquad{35} -\item Dreis~H.B. \idxquad{2} -\item Drescher~A. \idxquad{8} -\item D\"ullmann~D. \idxquad{13} -\item D\"unger~O. \idxquad{13} -\item Duhm~H. \idxquad{12} -\indexspace -\item Ebbinghaus~R. \idxquad{8} -\item Eberle~M. \idxquad{12} -\item Ebert~J. \idxquad{32} -\item Ebert~T.R. \idxquad{19} -\item Efremenko~V. \idxquad{23} -\item Egli~S. \idxquad{35} -\item Eichenberger~S. \idxquad{35} -\item Eichler~R. \idxquad{34} -\item Eisenhandler~E. \idxquad{20} -\item Ellis~N.N. \idxquad{3} -\item Ellison~R.J. \idxquad{22} -\item Elsen~E. \idxquad{11} -\item Evrard~E. \idxquad{4} -\indexspace -\item Favart~L. \idxquad{4} -\item Feeken~D. \idxquad{13} -\item Felst~R. \idxquad{11} -\item Feltesse~A. \idxquad{9} -\item Fensome~I.F. \idxquad{3} -\item Ferrarotto~F. \idxquad{31} -\item Flamm~K. \idxquad{11} -\item Flauger~W. \idxquad{11} -\item Flieser~M. \idxquad{25} -\item Fl\"ugge~G. \idxquad{2} -\item Fomenko~A. \idxquad{24} -\item Fominykh~B. \idxquad{23} -\item Form\'anek~J. \idxquad{30} -\item Foster~J.M. \idxquad{22} -\item Franke~G. \idxquad{11} -\item Fretwurst~E. \idxquad{12} -\indexspace -\item Gabathuler~E. \idxquad{19} -\item Gamerdinger~K. \idxquad{25} -\item Garvey~J. \idxquad{3} -\item Gayler~J. \idxquad{11} -\item Gellrich~A. \idxquad{13} -\item Gennis~M. \idxquad{11} -\item Genzel~H. \idxquad{1} -\item Godfrey~L. \idxquad{7} -\item Goerlach~U. \idxquad{11} -\item Goerlich~L. \idxquad{6} -\item Gogitidze~N. \idxquad{24} -\item Goodall~A.M. \idxquad{19} -\item Gorelov~I. \idxquad{23} -\item Goritchev~P. \idxquad{23} -\item Grab~C. \idxquad{34} -\item Gr\"assler~R. \idxquad{2} -\item Greenshaw~T. \idxquad{19} -\item Greif~H. \idxquad{25} -\item Grindhammer~G. \idxquad{25} -\indexspace -\item Haack~J. \idxquad{33} -\item Haidt~D. \idxquad{11} -\item Hamon~O. \idxquad{28} -\item Handschuh~D. \idxquad{11} -\item Hanlon~E.M. \idxquad{18} -\item Hapke~M. \idxquad{11} -\item Harjes~J. \idxquad{11} -\item Haydar~R. \idxquad{26} -\item Haynes~W.J. \idxquad{5} -\item Hedberg~V. \idxquad{21} -\item Heinzelmann~G. \idxquad{13} -\item Henderson~R.C.W. \idxquad{18} -\item Henschel~H. \idxquad{33} -\item Herynek~I. \idxquad{29} -\item Hildesheim~W. \idxquad{11} -\item Hill~P. \idxquad{11} -\item Hilton~C.D. \idxquad{22} -\item Hoeger~K.C. \idxquad{22} -\item Huet~Ph. \idxquad{4} -\item Hufnagel~H. \idxquad{14} -\item Huot~N. \idxquad{28} -\indexspace -\item Itterbeck~H. \idxquad{1} -\indexspace -\item Jabiol~M.-A. \idxquad{9} -\item Jacholkowska~A. \idxquad{26} -\item Jacobsson~C. \idxquad{21} -\item Jansen~T. \idxquad{11} -\item J\"onsson~L. \idxquad{21} -\item Johannsen~A. \idxquad{13} -\item Johnson~D.P. \idxquad{4} -\item Jung~H. \idxquad{2} -\indexspace -\item Kalmus~P.I.P. \idxquad{20} -\item Kasarian~S. \idxquad{11} -\item Kaschowitz~R. \idxquad{2} -\item Kathage~U. \idxquad{16} -\item Kaufmann~H. \idxquad{33} -\item Kenyon~I.R. \idxquad{3} -\item Kermiche~S. \idxquad{26} -\item Kiesling~C. \idxquad{25} -\item Klein~M. \idxquad{33} -\item Kleinwort~C. \idxquad{13} -\item Knies~G. \idxquad{11} -\item Ko~W. \idxquad{7} -\item K\"ohler~T. \idxquad{1} -\item Kolanoski~H. \idxquad{8} -\item Kole~F. \idxquad{7} -\item Kolya~S.D. \idxquad{22} -\item Korbel~V. \idxquad{11} -\item Korn~M. \idxquad{8} -\item Kostka~P. \idxquad{33} -\item Kotelnikov~S.K. \idxquad{24} -\item Krehbiel~H. \idxquad{11} -\item Kr\"ucker~D. \idxquad{2} -\item Kr\"uger~U. \idxquad{11} -\item Kubenka~J.P. \idxquad{25} -\item Kuhlen~M. \idxquad{25} -\item Kur\v{c}a~T. \idxquad{17} -\item Kurzh\"ofer~J. \idxquad{8} -\item Kuznik~B. \idxquad{32} -\indexspace -\item Lamarche~F. \idxquad{27} -\item Lander~R. \idxquad{7} -\item Landon~M.P.J. \idxquad{20} -\item Lange~W. \idxquad{33} -\item Lanius~P. \idxquad{25} -\item Laporte~J.F. \idxquad{9} -\item Lebedev~A. \idxquad{24} -\item Leuschner~A. \idxquad{11} -\item Levonian~S. \idxquad{11,24} -\item Lewin~D. \idxquad{11} -\item Ley~Ch. \idxquad{2} -\item Lindner~A. \idxquad{8} -\item Lindstr\"om~G. \idxquad{12} -\item Linsel~F. \idxquad{11} -\item Lipinski~J. \idxquad{13} -\item Loch~P. \idxquad{11} -\item Lohmander~H. \idxquad{21} -\item Lopez~G.C. \idxquad{20} -\indexspace -\item Magnussen~N. \idxquad{32} -\item Mani~S. \idxquad{7} -\item Marage~P. \idxquad{4} -\item Marshall~R. \idxquad{22} -\item Martens~J. \idxquad{32} -\item Martin~A.@ \idxquad{19} -\item Martyn~H.-U. \idxquad{1} -\item Martyniak~J. \idxquad{6} -\item Masson~S. \idxquad{2} -\item Mavroidis~A. \idxquad{20} -\item McMahon~S.J. \idxquad{19} -\item Mehta~A. \idxquad{22} -\item Meier~K. \idxquad{15} -\item Mercer~D. \idxquad{22} -\item Merz~T. \idxquad{11} -\item Meyer~C.A. \idxquad{35} -\item Meyer~H. \idxquad{32} -\item Meyer~J. \idxquad{11} -\item Mikocki~S. \idxquad{6,26} -\item Milone~V. \idxquad{31} -\item Moreau~F. \idxquad{27} -\item Moreels~J. \idxquad{4} -\item Morris~J.V. \idxquad{5} -\item M\"uller~K. \idxquad{35} -\item Murray~S.A. \idxquad{22} -\indexspace -\item Nagovizin~V. \idxquad{23} -\item Naroska~B. \idxquad{13} -\item Naumann~Th. \idxquad{33} -\item Newton~D. \idxquad{18} -\item Neyret~D. \idxquad{28} -\item Nguyen~A. \idxquad{28} -\item Niebergall~F. \idxquad{13} -\item Nisius~R. \idxquad{1} -\item Nowak~G. \idxquad{6} -\item Nyberg~M. \idxquad{21} -\indexspace -\item Oberlack~H. \idxquad{25} -\item Obrock~U. \idxquad{8} -\item Olsson~J.E. \idxquad{11} -\item Ould-Saada~F. \idxquad{13} -\indexspace -\item Pascaud~C. \idxquad{26} -\item Patel~G.D. \idxquad{19} -\item Peppel~E. \idxquad{11} -\item Phillips~H.T. \idxquad{3} -\item Phillips~J.P. \idxquad{22} -\item Pichler~Ch. \idxquad{12} -\item Pilgram~W. \idxquad{2} -\item Pitzl~D. \idxquad{34} -\item Prell~S. \idxquad{11} -\item Prosi~R. \idxquad{11} -\indexspace -\item R\"adel~G. \idxquad{11} -\item Raupach~F. \idxquad{1} -\item Rauschnabel~K. \idxquad{8} -\item Reinshagen~S. \idxquad{11} -\item Ribarics~P. \idxquad{25} -\item Riech~V. \idxquad{12} -\item Riedlberger~J. \idxquad{34} -\item Rietz~M. \idxquad{2} -\item Robertson~S.M. \idxquad{3} -\item Robmann~P. \idxquad{35} -\item Roosen~R. \idxquad{4} -\item Royon~C. \idxquad{9} -\item Rudowicz~M. \idxquad{25} -\item Rusakov~S. \idxquad{24} -\item Rybicki~K. \idxquad{6} -\indexspace -\item Sahlmann~N. \idxquad{2} -\item Sanchez~E. \idxquad{25} -\item Savitsky~M. \idxquad{11} -\item Schacht~P. \idxquad{25} -\item Schleper~P. \idxquad{14} -\item von Schlippe~W. \idxquad{20} -\item Schmidt~D. \idxquad{32} -\item Schmitz~W. \idxquad{2} -\item Sch\"oning~A. \idxquad{11} -\item Schr\"oder~V. \idxquad{11} -\item Schulz~M. \idxquad{11} -\item Schwab~B. \idxquad{14} -\item Schwind~A. \idxquad{33} -\item Seehausen~U. \idxquad{13} -\item Sell~R. \idxquad{11} -\item Semenov~A. \idxquad{23} -\item Shekelyan~V. \idxquad{23} -\item Shooshtari~H. \idxquad{25} -\item Shtarkov~L.N. \idxquad{24} -\item Siegmon~G. \idxquad{16} -\item Siewert~U. \idxquad{16} -\item Skillicorn~I.O. \idxquad{10} -\item Smirnov~P. \idxquad{24} -\item Smith~J.R. \idxquad{7} -\item Smolik~L. \idxquad{11} -\item Spitzer~H. \idxquad{13} -\item Staroba~P. \idxquad{29} -\item Steenbock~M. \idxquad{13} -\item Steffen~P. \idxquad{11} -\item Stella~B. \idxquad{31} -\item Stephens~K. \idxquad{22} -\item St\"osslein~U. \idxquad{33} -\item Strachota~J. \idxquad{11} -\item Straumann~U. \idxquad{35} -\item Struczinski~W. \idxquad{2} -\indexspace -\item Taylor~R.E. \idxquad{36,26} -\item Tchernyshov~V. \idxquad{23} -\item Thiebaux~C. \idxquad{27} -\item Thompson~G. \idxquad{20} -\item Tru\"ol~P. \idxquad{35} -\item Turnau~J. \idxquad{6} -\indexspace -\item Urban~L. \idxquad{25} -\item Usik~A. \idxquad{24} -\indexspace -\item Valkarova~A. \idxquad{30} -\item Vall\'ee~C. \idxquad{28} -\item Van Esch~P. \idxquad{4} -\item Vartapetian~A. \idxquad{11} -\item Vazdik~Y. \idxquad{24} -\item Verrecchia~P. \idxquad{9} -\item Vick~R. \idxquad{13} -\item Vogel~E. \idxquad{1} -\indexspace -\item Wacker~K. \idxquad{8} -\item Walther~A. \idxquad{8} -\item Weber~G. \idxquad{13} -\item Wegner~A. \idxquad{11} -\item Wellisch~H.P. \idxquad{25} -\item West~L.R. \idxquad{3} -\item Willard~S. \idxquad{7} -\item Winde~M. \idxquad{33} -\item Winter~G.-G. \idxquad{11} -\item Wolff~Th. \idxquad{34} -\item Wright~A.E. \idxquad{22} -\item Wulff~N. \idxquad{11} -\indexspace -\item Yiou~T.P. \idxquad{28} -\indexspace -\item \v{Z}\'a\v{c}ek~J. \idxquad{30} -\item Zeitnitz~C. \idxquad{12} -\item Ziaeepour~H. \idxquad{26} -\item Zimmer~M. \idxquad{11} -\item Zimmermann~W. \idxquad{11} -\end{theindex} diff --git a/paper/llncs2e/llncsdoc.pdf b/paper/llncs2e/llncsdoc.pdf index 5b68e0f18..24a36b556 100644 Binary files a/paper/llncs2e/llncsdoc.pdf and b/paper/llncs2e/llncsdoc.pdf differ diff --git a/paper/llncs2e/llncsdoc.sty b/paper/llncs2e/llncsdoc.sty deleted file mode 100644 index 5843cba8e..000000000 --- a/paper/llncs2e/llncsdoc.sty +++ /dev/null @@ -1,42 +0,0 @@ -% This is LLNCSDOC.STY the modification of the -% LLNCS class file for the documentation of -% the class itself. -% -\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}% - A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} -\def\AmSTeX{{\protect\AmS-\protect\TeX}} -% -\def\ps@myheadings{\let\@mkboth\@gobbletwo -\def\@oddhead{\hbox{}\hfil\small\rm\rightmark -\qquad\thepage}% -\def\@oddfoot{}\def\@evenhead{\small\rm\thepage\qquad -\leftmark\hfil}% -\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}} -\ps@myheadings -% -\setcounter{tocdepth}{2} -% -\renewcommand{\labelitemi}{--} -\newenvironment{alpherate}% -{\renewcommand{\labelenumi}{\alph{enumi})}\begin{enumerate}}% -{\end{enumerate}\renewcommand{\labelenumi}{enumi}} -% -\def\bibauthoryear{\begingroup -\def\thebibliography##1{\section*{References}% - \small\list{}{\settowidth\labelwidth{}\leftmargin\parindent - \itemindent=-\parindent - \labelsep=\z@ - \usecounter{enumi}}% - \def\newblock{\hskip .11em plus .33em minus -.07em}% - \sloppy - \sfcode`\.=1000\relax}% - \def\@cite##1{##1}% - \def\@lbibitem[##1]##2{\item[]\if@filesw - {\def\protect####1{\string ####1\space}\immediate - \write\@auxout{\string\bibcite{##2}{##1}}}\fi\ignorespaces}% -\begin{thebibliography}{} -\bibitem[1982]{clar:eke3} Clarke, F., Ekeland, I.: Nonlinear -oscillations and boundary-value problems for Hamiltonian systems. -Arch. Rat. Mech. Anal. 78, 315--333 (1982) -\end{thebibliography} -\endgroup} diff --git a/paper/llncs2e/readme.txt b/paper/llncs2e/readme.txt index baa968816..13c60964e 100644 --- a/paper/llncs2e/readme.txt +++ b/paper/llncs2e/readme.txt @@ -11,24 +11,9 @@ It consists of the following files: llncs.cls the LaTeX2e document class - llncs.dem the sample input file + samplepaper.tex a sample paper + fig1.eps a figure used in the sample paper - llncs.doc the documentation of the class (LaTeX source) llncsdoc.pdf the documentation of the class (PDF version) - llncsdoc.sty the modification of the class for the documentation - llncs.ind an external (faked) author index file - subjidx.ind subject index demo from the Springer book package - llncs.dvi the resulting DVI file (remember to use binary transfer!) - sprmindx.sty supplementary style file for MakeIndex - (usage: makeindex -s sprmindx.sty ) - - splncs.bst old BibTeX style for use with llncs.cls - - splncs_srt.bst ditto with alphabetic sorting - - splncs03.bst current LNCS BibTeX style with alphabetic sorting - - aliascnt.sty part of the Oberdiek bundle; allows more control over - the counters associated to any numbered item - remreset.sty by David Carlisle + splncs04.bst current LNCS BibTeX style with alphabetic sorting diff --git a/paper/llncs2e/remreset.sty b/paper/llncs2e/remreset.sty deleted file mode 100644 index b53de5835..000000000 --- a/paper/llncs2e/remreset.sty +++ /dev/null @@ -1,39 +0,0 @@ - -% remreset package -%%%%%%%%%%%%%%%%%% - -% Copyright 1997 David carlisle -% This file may be distributed under the terms of the LPPL. -% See 00readme.txt for details. - -% 1997/09/28 David Carlisle - -% LaTeX includes a command \@addtoreset that is used to declare that -% a counter should be reset every time a second counter is incremented. - -% For example the book class has a line -% \@addtoreset{footnote}{chapter} -% So that the footnote counter is reset each chapter. - -% If you wish to bas a new class on book, but without this counter -% being reset, then standard LaTeX gives no simple mechanism to do -% this. - -% This package defines |\@removefromreset| which just undoes the effect -% of \@addtorest. So for example a class file may be defined by - -% \LoadClass{book} -% \@removefromreset{footnote}{chapter} - - -\def\@removefromreset#1#2{{% - \expandafter\let\csname c@#1\endcsname\@removefromreset - \def\@elt##1{% - \expandafter\ifx\csname c@##1\endcsname\@removefromreset - \else - \noexpand\@elt{##1}% - \fi}% - \expandafter\xdef\csname cl@#2\endcsname{% - \csname cl@#2\endcsname}}} - - diff --git a/paper/llncs2e/splncs.bst b/paper/llncs2e/splncs.bst deleted file mode 100644 index fe8a22af7..000000000 --- a/paper/llncs2e/splncs.bst +++ /dev/null @@ -1,1098 +0,0 @@ -% BibTeX bibliography style `splncs' - -% An attempt to match the bibliography style required for use with -% numbered references in Springer Verlag's "Lecture Notes in Computer -% Science" series. (See Springer's documentation for llncs.sty for -% more details of the suggested reference format.) Note that this -% file will not work for author-year style citations. - -% Use \documentclass{llncs} and \bibliographystyle{splncs}, and cite -% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. - -% Copyright (C) 1999 Jason Noble. -% Last updated: Friday 07 March 2006, 08:04:42 Frank Holzwarth, Springer -% -% Based on the BibTeX standard bibliography style `unsrt' - -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.sentence - after.block after.authors between.elements} - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := - #4 'after.authors := - #5 'between.elements := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { - output.state after.authors = - { ": " * write$ - newline$ - "\newblock " write$ - } - { output.state between.elements = - { ", " * write$ } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - } - if$ - } - 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} -{ write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {stupid.colon} -{ after.authors 'output.state := } - -FUNCTION {insert.comma} -{ output.state before.all = - 'skip$ - { between.elements 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - 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 {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "" swap$ * "" * } - if$ -} - -FUNCTION {bold} -{ duplicate$ empty$ - { pop$ "" } - { "\textbf{" swap$ * "}" * } - if$ -} - -FUNCTION {parens} -{ duplicate$ empty$ - { pop$ "" } - { "(" swap$ * ")" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.springer.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f{.}.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #1 > - { ", " * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { "" * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " \& " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.springer.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.springer.names - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - 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$ - { "" } - { "Volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - add.period$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "number" } - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - 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 - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.vol} -{ volume bold -} - -FUNCTION {format.vol.num} -{ volume bold -number empty$ -{ } -{ number "(" swap$ * * ")" * } -if$ -} - -FUNCTION {pre.format.pages} -{ pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { " " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { " " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In: " booktitle emphasize * } - { "In " format.editors * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" 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 {\em " 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 " - } - { "Volume" volume tie.or.space.connect - " of " * - } - 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$ - "" - } - { "" } - if$ - } - { "" } - if$ - } - { "" } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {and.the.note} -{ note output - note empty$ - 'skip$ - { add.period$ } - if$ -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check - format.vol.num output - format.date parens output - format.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - and.the.note - 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$ - stupid.colon - format.btitle "title" output.check - new.sentence - crossref missing$ - { format.edition output - format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { format.book.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - stupid.colon - format.title "title" output.check - howpublished address new.block.checkb - howpublished output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - 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$ - stupid.colon - crossref missing$ - { chapter output - new.block - format.number.series output - new.sentence - "In:" output - format.btitle "title" output.check - new.sentence - format.edition output - format.bvolume output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { chapter output - new.block - format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - new.block - format.edition output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - and.the.note - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - stupid.colon - format.btitle "title" output.check - author empty$ - { organization empty$ - { address new.block.checka - address output - } - 'skip$ - if$ - } - { organization address new.block.checkb - organization output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - } - if$ - new.sentence - format.edition output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - howpublished new.block.checka - howpublished output - format.date parens output - and.the.note - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.btitle "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization empty$ - { "" } - { organization output - stupid.colon } - if$ - } - { format.editors output.nonnull - stupid.colon - } - if$ - format.btitle "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution empty$ - 'skip$ - { insert.comma } - if$ - institution "institution" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - note "note" output.check - format.date parens output - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} - -READ - -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} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - - - diff --git a/paper/llncs2e/splncs03.bst b/paper/llncs2e/splncs03.bst deleted file mode 100644 index 327916917..000000000 --- a/paper/llncs2e/splncs03.bst +++ /dev/null @@ -1,1519 +0,0 @@ -%% BibTeX bibliography style `splncs03' -%% -%% BibTeX bibliography style for use with numbered references in -%% Springer Verlag's "Lecture Notes in Computer Science" series. -%% (See Springer's documentation for llncs.cls for -%% more details of the suggested reference format.) Note that this -%% file will not work for author-year style citations. -%% -%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite -%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. -%% -%% This file comes to you courtesy of Maurizio "Titto" Patrignani of -%% Dipartimento di Informatica e Automazione Universita' Roma Tre -%% -%% ================================================================================================ -%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009 -%% Edited by hand by titto based on `titto-lncs-01.bst' (see below) -%% -%% CHANGES (with respect to titto-lncs-01.bst): -%% - Removed the call to \urlprefix (thus no "URL" string is added to the output) -%% ================================================================================================ -%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008 -%% Edited by hand by titto based on `titto.bst' (see below) -%% -%% CHANGES (with respect to titto.bst): -%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)" -%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.") -%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings -%% - Commented all new.block commands before urls and notes (to separate them with a comma) -%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label) -%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle) -%% - Removed a \newblock to avoid long spaces between title and "In: ..." -%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label -%% ================================================================================================ -%% This was file `titto.bst', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% merlin.mbs (with options: `vonx,nm-rvvc,yr-par,jttl-rm,volp-com,jwdpg,jwdvol,numser,ser-vol,jnm-x,btit-rm,bt-rm,edparxc,bkedcap,au-col,in-col,fin-bare,pp,ed,abr,mth-bare,xedn,jabr,and-com,and-com-ed,xand,url,url-blk,em-x,nfss,') -%% ---------------------------------------- -%% *** Tentative .bst file for Springer LNCS *** -%% -%% Copyright 1994-2007 Patrick W Daly - % =============================================================== - % IMPORTANT NOTICE: - % This bibliographic style (bst) file has been generated from one or - % more master bibliographic style (mbs) files, listed above. - % - % This generated file can be redistributed and/or modified under the terms - % of the LaTeX Project Public License Distributed from CTAN - % archives in directory macros/latex/base/lppl.txt; either - % version 1 of the License, or any later version. - % =============================================================== - % Name and version information of the main mbs file: - % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)] - % For use with BibTeX version 0.99a or later - %------------------------------------------------------------------- - % This bibliography style file is intended for texts in ENGLISH - % This is a numerical citation style, and as such is standard LaTeX. - % It requires no extra package to interface to the main text. - % The form of the \bibitem entries is - % \bibitem{key}... - % Usage of \cite is as follows: - % \cite{key} ==>> [#] - % \cite[chap. 2]{key} ==>> [#, chap. 2] - % where # is a number determined by the ordering in the reference list. - % The order in the reference list is alphabetical by authors. - %--------------------------------------------------------------------- - -ENTRY - { address - author - booktitle - chapter - edition - editor - eid - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - url - volume - year - } - {} - { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block } -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} -STRINGS { s t} -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ -% newline$ -% "\newblock " write$ % removed for titto-lncs-01 - " " write$ % to avoid long spaces between title and "In: ..." - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - 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 {fin.entry} -{ duplicate$ empty$ - 'pop$ - 'write$ - if$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} -FUNCTION {add.blank} -{ " " * before.all 'output.state := -} - - -FUNCTION {add.colon} -{ duplicate$ empty$ - 'skip$ - { ":" * add.blank } - if$ -} - -FUNCTION {date.block} -{ - new.block -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} -STRINGS {z} -FUNCTION {remove.dots} -{ 'z := - "" - { z empty$ not } - { z #1 #1 substring$ - z #2 global.max$ substring$ 'z := - duplicate$ "." = 'pop$ - { * } - if$ - } - while$ -} -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} -FUNCTION {emphasize} -{ skip$ } -FUNCTION {tie.or.space.prefix} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ -} -FUNCTION {titto.space.prefix} % always introduce a space -{ duplicate$ text.length$ #3 < - { " " } - { " " } - if$ - swap$ -} - - -FUNCTION {capitalize} -{ "u" change.case$ "t" change.case$ } - -FUNCTION {space.word} -{ " " swap$ * " " * } - % Here are the language-specific definitions for explicit words. - % Each function has a name bbl.xxx where xxx is the English word. - % The language selected here is ENGLISH -FUNCTION {bbl.and} -{ "and"} - -FUNCTION {bbl.etal} -{ "et~al." } - -FUNCTION {bbl.editors} -{ "eds." } - -FUNCTION {bbl.editor} -{ "ed." } - -FUNCTION {bbl.edby} -{ "edited by" } - -FUNCTION {bbl.edition} -{ "edn." } - -FUNCTION {bbl.volume} -{ "vol." } - -FUNCTION {titto.bbl.volume} % for handling journals -{ "" } - -FUNCTION {bbl.of} -{ "of" } - -FUNCTION {bbl.number} -{ "no." } - -FUNCTION {bbl.nr} -{ "no." } - -FUNCTION {bbl.in} -{ "in" } - -FUNCTION {bbl.pages} -{ "pp." } - -FUNCTION {bbl.page} -{ "p." } - -FUNCTION {titto.bbl.pages} % for journals -{ "" } - -FUNCTION {titto.bbl.page} % for journals -{ "" } - -FUNCTION {bbl.chapter} -{ "chap." } - -FUNCTION {bbl.techrep} -{ "Tech. Rep." } - -FUNCTION {bbl.mthesis} -{ "Master's thesis" } - -FUNCTION {bbl.phdthesis} -{ "Ph.D. thesis" } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"Jun."} - -MACRO {jul} {"Jul."} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sep."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -MACRO {acmcs} {"ACM Comput. Surv."} - -MACRO {acta} {"Acta Inf."} - -MACRO {cacm} {"Commun. ACM"} - -MACRO {ibmjrd} {"IBM J. Res. Dev."} - -MACRO {ibmsj} {"IBM Syst.~J."} - -MACRO {ieeese} {"IEEE Trans. Software Eng."} - -MACRO {ieeetc} {"IEEE Trans. Comput."} - -MACRO {ieeetcad} - {"IEEE Trans. Comput. Aid. Des."} - -MACRO {ipl} {"Inf. Process. Lett."} - -MACRO {jacm} {"J.~ACM"} - -MACRO {jcss} {"J.~Comput. Syst. Sci."} - -MACRO {scp} {"Sci. Comput. Program."} - -MACRO {sicomp} {"SIAM J. Comput."} - -MACRO {tocs} {"ACM Trans. Comput. Syst."} - -MACRO {tods} {"ACM Trans. Database Syst."} - -MACRO {tog} {"ACM Trans. Graphic."} - -MACRO {toms} {"ACM Trans. Math. Software"} - -MACRO {toois} {"ACM Trans. Office Inf. Syst."} - -MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} - -MACRO {tcs} {"Theor. Comput. Sci."} - -FUNCTION {bibinfo.check} -{ swap$ - duplicate$ missing$ - { - pop$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ pop$ - } - { swap$ - pop$ - } - if$ - } - if$ -} -FUNCTION {bibinfo.warn} -{ swap$ - duplicate$ missing$ - { - swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ "empty " swap$ * " in " * cite$ * warning$ - } - { swap$ - pop$ - } - if$ - } - if$ -} -FUNCTION {format.url} -{ url empty$ - { "" } -% { "\urlprefix\url{" url * "}" * } - { "\url{" url * "}" * } % changed in titto-lncs-02.bst - if$ -} - -INTEGERS { nameptr namesleft numnames } - - -STRINGS { bibinfo} - -FUNCTION {format.names} -{ 'bibinfo := - duplicate$ empty$ 'skip$ { - 's := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}{, jj}{, f{.}.}" - format.name$ - bibinfo bibinfo.check - 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - "," * - t "others" = - { - " " * bbl.etal * - } - { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - } if$ -} -FUNCTION {format.names.ed} -{ - 'bibinfo := - duplicate$ empty$ 'skip$ { - 's := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{f{.}.~}{vv~}{ll}{ jj}" - format.name$ - bibinfo bibinfo.check - 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - "," * - t "others" = - { - - " " * bbl.etal * - } - { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - } if$ -} -FUNCTION {format.authors} -{ author "author" format.names -} -FUNCTION {get.bbl.editor} -{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } - -FUNCTION {format.editors} -{ editor "editor" format.names duplicate$ empty$ 'skip$ - { - " " * - get.bbl.editor -% capitalize - "(" swap$ * ")" * - * - } - if$ -} -FUNCTION {format.note} -{ - note empty$ - { "" } - { note #1 #1 substring$ - duplicate$ "{" = - 'skip$ - { output.state mid.sentence = - { "l" } - { "u" } - if$ - change.case$ - } - if$ - note #2 global.max$ substring$ * "note" bibinfo.check - } - if$ -} - -FUNCTION {format.title} -{ title - duplicate$ empty$ 'skip$ - { "t" change.case$ } - if$ - "title" bibinfo.check -} -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -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 {word.in} -{ bbl.in capitalize - ":" * - " " * } - -FUNCTION {format.date} -{ - month "month" bibinfo.check - duplicate$ empty$ - year "year" bibinfo.check duplicate$ empty$ - { swap$ 'skip$ - { "there's a month but no year in " cite$ * warning$ } - if$ - * - } - { swap$ 'skip$ - { - swap$ - " " * swap$ - } - if$ - * - remove.dots - } - if$ - duplicate$ empty$ - 'skip$ - { - before.all 'output.state := - " (" swap$ * ")" * - } - if$ -} -FUNCTION {format.btitle} -{ title "title" bibinfo.check - duplicate$ empty$ 'skip$ - { - } - if$ -} -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { bbl.volume volume tie.or.space.prefix - "volume" bibinfo.check * * - series "series" bibinfo.check - duplicate$ empty$ 'pop$ - { emphasize ", " * swap$ * } - if$ - "volume and number" number either.or.check - } - if$ -} -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { bbl.number } - { bbl.number capitalize } - if$ - number tie.or.space.prefix "number" bibinfo.check * * - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { bbl.in space.word * - series "series" bibinfo.check * - } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition duplicate$ empty$ 'skip$ - { - output.state mid.sentence = - { "l" } - { "t" } - if$ change.case$ - "edition" bibinfo.check - " " * bbl.edition * - } - 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 duplicate$ empty$ 'skip$ - { duplicate$ multi.page.check - { - bbl.pages swap$ - n.dashify - } - { - bbl.page swap$ - } - if$ - tie.or.space.prefix - "pages" bibinfo.check - * * - } - if$ -} -FUNCTION {format.journal.pages} -{ pages duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ - { pop$ pop$ format.pages } - { - ", " * - swap$ - n.dashify - pages multi.page.check - 'titto.bbl.pages - 'titto.bbl.page - if$ - swap$ tie.or.space.prefix - "pages" bibinfo.check - * * - * - } - if$ - } - if$ -} -FUNCTION {format.journal.eid} -{ eid "eid" bibinfo.check - duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ 'skip$ - { - ", " * - } - if$ - swap$ * - } - if$ -} -FUNCTION {format.vol.num.pages} % this function is used only for journal entries -{ volume field.or.null - duplicate$ empty$ 'skip$ - { -% bbl.volume swap$ tie.or.space.prefix - titto.bbl.volume swap$ titto.space.prefix -% rationale for the change above: for journals you don't want "vol." label -% hence it does not make sense to attach the journal number to the label when -% it is short - "volume" bibinfo.check - * * - } - if$ - number "number" bibinfo.check duplicate$ empty$ 'skip$ - { - swap$ duplicate$ empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - swap$ - "(" swap$ * ")" * - } - if$ * - eid empty$ - { format.journal.pages } - { format.journal.eid } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { bbl.chapter } - { type "l" change.case$ - "type" bibinfo.check - } - if$ - chapter tie.or.space.prefix - "chapter" bibinfo.check - * * - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.booktitle} -{ - booktitle "booktitle" bibinfo.check -} -FUNCTION {format.in.ed.booktitle} -{ format.booktitle duplicate$ empty$ 'skip$ - { -% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto - editor "editor" format.names duplicate$ empty$ 'pop$ - { - " " * - get.bbl.editor -% capitalize - "(" swap$ * ") " * - * swap$ - * } - if$ - word.in swap$ * - } - 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 duplicate$ empty$ - 'pop$ - { swap$ pop$ - "t" change.case$ "type" bibinfo.check - } - if$ -} -FUNCTION {format.tr.number} -{ number "number" bibinfo.check - type duplicate$ empty$ - { pop$ bbl.techrep } - 'skip$ - if$ - "type" bibinfo.check - swap$ duplicate$ empty$ - { pop$ "t" change.case$ } - { tie.or.space.prefix * * } - if$ -} -FUNCTION {format.article.crossref} -{ - key duplicate$ empty$ - { pop$ - journal duplicate$ empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } - { "journal" bibinfo.check emphasize word.in swap$ * } - if$ - } - { word.in swap$ * " " *} - if$ - " \cite{" * crossref * "}" * -} -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - "editor" bibinfo.check - editor num.names$ duplicate$ - #2 > - { pop$ - "editor" bibinfo.check - " " * bbl.etal - * - } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { - "editor" bibinfo.check - " " * bbl.etal - * - } - { - bbl.and space.word - * editor #2 "{vv~}{ll}" format.name$ - "editor" bibinfo.check - * - } - if$ - } - if$ - } - if$ -} -FUNCTION {format.book.crossref} -{ volume duplicate$ empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - pop$ word.in - } - { bbl.volume - capitalize - swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * - } - 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 emphasize * } - 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$ - { format.booktitle duplicate$ empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - } - { word.in swap$ * } - if$ - } - { word.in key * " " *} - if$ - } - { word.in format.crossref.editor * " " *} - if$ - " \cite{" * crossref * "}" * -} -FUNCTION {format.org.or.pub} -{ 't := - "" - address empty$ t empty$ and - 'skip$ - { - t empty$ - { address "address" bibinfo.check * - } - { t * - address empty$ - 'skip$ - { ", " * address "address" bibinfo.check * } - if$ - } - if$ - } - if$ -} -FUNCTION {format.publisher.address} -{ publisher "publisher" bibinfo.warn format.org.or.pub -} - -FUNCTION {format.organization.address} -{ organization "organization" bibinfo.check format.org.or.pub -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - new.block - crossref missing$ - { - journal - "journal" bibinfo.check - "journal" output.check - add.blank - format.vol.num.pages output - format.date "year" output.check - } - { format.article.crossref output.nonnull - format.pages output - } - if$ -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - add.colon - } - { format.authors output.nonnull - add.colon - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - new.block - new.sentence - format.number.series output - format.publisher.address output - } - { - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {booklet} -{ output.bibitem - format.authors output - add.colon - new.block - format.title "title" output.check - new.block - howpublished "howpublished" bibinfo.check output - address "address" bibinfo.check output - format.date output -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - add.colon - } - { format.authors output.nonnull - add.colon - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - crossref missing$ - { - format.bvolume output - format.chapter.pages "chapter and pages" output.check - new.block - new.sentence - format.number.series output - format.publisher.address output - } - { - format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.chapter.pages output - new.sentence - format.number.series output - format.publisher.address output - format.edition output - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence % added by titto - format.bvolume output - format.pages output - new.sentence - format.number.series output - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {conference} { inproceedings } -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization "organization" bibinfo.check - duplicate$ empty$ 'pop$ - { output - address "address" bibinfo.check output - } - if$ - } - { format.authors output.nonnull } - if$ - add.colon - new.block - format.btitle "title" output.check - author empty$ - { organization empty$ - { - address new.block.checka - address "address" bibinfo.check output - } - 'skip$ - if$ - } - { - organization address new.block.checkb - organization "organization" bibinfo.check output - address "address" bibinfo.check output - } - if$ - format.edition output - format.date output -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.btitle - "title" output.check - new.block - bbl.mthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - add.colon - title howpublished new.block.checkb - format.title output - howpublished new.block.checka - howpublished "howpublished" bibinfo.check output - format.date output -% new.block - format.url output -% new.block - format.note output - fin.entry - empty.misc.check -} -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.btitle - "title" output.check - new.block - bbl.phdthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization "organization" bibinfo.check output - } - { format.editors output.nonnull } - if$ - add.colon - new.block - format.btitle "title" output.check - format.bvolume output - editor empty$ - { publisher empty$ - { format.number.series output } - { - new.sentence - format.number.series output - format.publisher.address output - } - if$ - } - { publisher empty$ - { - new.sentence - format.number.series output - format.organization.address output } - { - new.sentence - format.number.series output - organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - } - if$ - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title - "title" output.check - new.block - format.tr.number output.nonnull - institution "institution" bibinfo.warn output - address "address" bibinfo.check output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - format.date output -% new.block - format.url output -% new.block - format.note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } -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 > } - { s nameptr - "{ll{ }}{ ff{ }}{ jj{ }}" - format.name$ 't := - nameptr #1 > - { - " " * - namesleft #1 = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - { 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$ - "\providecommand{\url}[1]{\texttt{#1}}" - write$ newline$ - "\providecommand{\urlprefix}{URL }" - write$ newline$ -} -EXECUTE {begin.bib} -EXECUTE {init.state.consts} -ITERATE {call.type$} -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} -EXECUTE {end.bib} -%% End of customized bst file -%% -%% End of file `titto.bst'. - - diff --git a/paper/llncs2e/splncs_srt.bst b/paper/llncs2e/splncs_srt.bst deleted file mode 100644 index deb6fea57..000000000 --- a/paper/llncs2e/splncs_srt.bst +++ /dev/null @@ -1,1251 +0,0 @@ -% BibTeX bibliography style `splncs_srt' - -% An attempt to match the bibliography style required for use with -% numbered references in Springer Verlag's "Lecture Notes in Computer -% Science" series. (See Springer's documentation for llncs.sty for -% more details of the suggested reference format.) Note that this -% file will not work for author-year style citations. - -% Use \documentclass{llncs} and \bibliographystyle{splncs_srt}, and cite -% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. - -% Copyright (C) 1999 Jason Noble. -% Last updated: Friday 07 March 2006, 08:04:42 Frank Holzwarth, Springer -% Last modification: added sorting feature from plain.bst -% done by Tobias Heindel, FMI Uni-Stuttgart, June 13th, 2006 -% -% Originally based on the BibTeX standard bibliography style `unsrt' -% - -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.sentence - after.block after.authors between.elements} - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := - #4 'after.authors := - #5 'between.elements := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { - output.state after.authors = - { ": " * write$ - newline$ - "\newblock " write$ - } - { output.state between.elements = - { ", " * write$ } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - } - if$ - } - 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} -{ write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {stupid.colon} -{ after.authors 'output.state := } - -FUNCTION {insert.comma} -{ output.state before.all = - 'skip$ - { between.elements 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - 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 {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "" swap$ * "" * } - if$ -} - -FUNCTION {bold} -{ duplicate$ empty$ - { pop$ "" } - { "\textbf{" swap$ * "}" * } - if$ -} - -FUNCTION {parens} -{ duplicate$ empty$ - { pop$ "" } - { "(" swap$ * ")" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.springer.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f{.}.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #1 > - { ", " * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { "" * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " \& " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.springer.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.springer.names - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - 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$ - { "" } - { "Volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - add.period$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "number" } - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edn." * } - { edition "t" change.case$ " edn." * } - if$ - } - 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 - { "" pages n.dashify tie.or.space.connect } - { "" pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.vol} -{ volume bold -} - -FUNCTION {format.vol.num} -{ volume bold -number empty$ -{ } -{ number "(" swap$ * * ")" * } -if$ -} - -FUNCTION {pre.format.pages} -{ pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { " " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { " " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In: " booktitle emphasize * } - { "In " format.editors * ": " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" 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 {\em " 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 " - } - { "Volume" volume tie.or.space.connect - " of " * - } - 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$ - "" - } - { "" } - if$ - } - { "" } - if$ - } - { "" } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {and.the.note} -{ note output - note empty$ - 'skip$ - { add.period$ } - if$ -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check - format.vol.num output - format.date parens output - format.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - and.the.note - 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$ - stupid.colon - format.btitle "title" output.check - new.sentence - crossref missing$ - { format.edition output - format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { format.book.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - stupid.colon - format.title "title" output.check - howpublished address new.block.checkb - howpublished output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - 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$ - stupid.colon - crossref missing$ - { chapter output - new.block - format.number.series output - new.sentence - "In:" output - format.btitle "title" output.check - new.sentence - format.edition output - format.bvolume output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - } - { chapter output - new.block - format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - new.block - format.edition output - publisher "publisher" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - format.pages output - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - and.the.note - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - format.pages output - and.the.note - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - stupid.colon - format.btitle "title" output.check - author empty$ - { organization empty$ - { address new.block.checka - address output - } - 'skip$ - if$ - } - { organization address new.block.checkb - organization output - address empty$ - 'skip$ - { insert.comma } - if$ - address output - } - if$ - new.sentence - format.edition output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - howpublished new.block.checka - howpublished output - format.date parens output - and.the.note - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.btitle "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school empty$ - 'skip$ - { insert.comma } - if$ - school "school" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization empty$ - { "" } - { organization output - stupid.colon } - if$ - } - { format.editors output.nonnull - stupid.colon - } - if$ - format.btitle "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence - format.bvolume output - format.number.series output - address empty$ - { organization publisher new.sentence.checkb - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - { insert.comma - address output.nonnull - organization empty$ - 'skip$ - { insert.comma } - if$ - organization output - publisher empty$ - 'skip$ - { insert.comma } - if$ - publisher output - format.date parens output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - } - if$ - and.the.note - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution empty$ - 'skip$ - { insert.comma } - if$ - institution "institution" output.check - address empty$ - 'skip$ - { insert.comma } - if$ - address output - format.date parens output - and.the.note - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - stupid.colon - format.title "title" output.check - new.block - note "note" output.check - format.date parens output - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} - -READ - -%% Begin of addition of sorting (taken from CTAN plain.bst) -%% Tobias Heindel June 13th, 2006 - -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{ }}{ ff{ }}{ 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 - -%% End of addition for sorting - -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} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} - - - diff --git a/paper/llncs2e/sprmindx.sty b/paper/llncs2e/sprmindx.sty deleted file mode 100644 index 8f17772e1..000000000 --- a/paper/llncs2e/sprmindx.sty +++ /dev/null @@ -1,4 +0,0 @@ -delim_0 "\\idxquad " -delim_1 "\\idxquad " -delim_2 "\\idxquad " -delim_n ",\\," diff --git a/paper/llncs2e/subjidx.ind b/paper/llncs2e/subjidx.ind deleted file mode 100644 index cd678e8ea..000000000 --- a/paper/llncs2e/subjidx.ind +++ /dev/null @@ -1,70 +0,0 @@ -% clmomu01.ind -%----------------------------------------------------------------------- -% CLMoMu01 1.0: LaTeX style files for books -% Sample index file for User's guide -% (c) Springer-Verlag HD -%----------------------------------------------------------------------- -\begin{theindex} -\item Absorption\idxquad 327 -\item Absorption of radiation \idxquad 289--292,\, 299,\,300 -\item Actinides \idxquad 244 -\item Aharonov-Bohm effect\idxquad 142--146 -\item Angular momentum\idxquad 101--112 -\subitem algebraic treatment\idxquad 391--396 -\item Angular momentum addition\idxquad 185--193 -\item Angular momentum commutation relations\idxquad 101 -\item Angular momentum quantization\idxquad 9--10,\,104--106 -\item Angular momentum states\idxquad 107,\,321,\,391--396 -\item Antiquark\idxquad 83 -\item $\alpha$-rays\idxquad 101--103 -\item Atomic theory\idxquad 8--10,\,219--249,\,327 -\item Average value\newline ({\it see also\/} Expectation value) -15--16,\,25,\,34,\,37,\,357 -\indexspace -\item Baker-Hausdorff formula\idxquad 23 -\item Balmer formula\idxquad 8 -\item Balmer series\idxquad 125 -\item Baryon\idxquad 220,\,224 -\item Basis\idxquad 98 -\item Basis system\idxquad 164,\,376 -\item Bell inequality\idxquad 379--381,\,382 -\item Bessel functions\idxquad 201,\,313,\,337 -\subitem spherical\idxquad 304--306,\, 309,\, 313--314,\,322 -\item Bound state\idxquad 73--74,\,78--79,\,116--118,\,202,\, 267,\, -273,\,306,\,348,\,351 -\item Boundary conditions\idxquad 59,\, 70 -\item Bra\idxquad 159 -\item Breit-Wigner formula\idxquad 80,\,84,\,332 -\item Brillouin-Wigner perturbation theory\idxquad 203 -\indexspace -\item Cathode rays\idxquad 8 -\item Causality\idxquad 357--359 -\item Center-of-mass frame\idxquad 232,\,274,\,338 -\item Central potential\idxquad 113--135,\,303--314 -\item Centrifugal potential\idxquad 115--116,\,323 -\item Characteristic function\idxquad 33 -\item Clebsch-Gordan coefficients\idxquad 191--193 -\item Cold emission\idxquad 88 -\item Combination principle, Ritz's\idxquad 124 -\item Commutation relations\idxquad 27,\,44,\,353,\,391 -\item Commutator\idxquad 21--22,\,27,\,44,\,344 -\item Compatibility of measurements\idxquad 99 -\item Complete orthonormal set\idxquad 31,\,40,\,160,\,360 -\item Complete orthonormal system, {\it see}\newline -Complete orthonormal set -\item Complete set of observables, {\it see\/} Complete -set of operators -\indexspace -\item Eigenfunction\idxquad 34,\,46,\,344--346 -\subitem radial\idxquad 321 -\subsubitem calculation\idxquad 322--324 -\item EPR argument\idxquad 377--378 -\item Exchange term\idxquad 228,\,231,\,237,\,241,\,268,\,272 -\indexspace -\item $f$-sum rule\idxquad 302 -\item Fermi energy\idxquad 223 -\indexspace -\item H$^+_2$ molecule\idxquad 26 -\item Half-life\idxquad 65 -\item Holzwarth energies\idxquad 68 -\end{theindex} diff --git a/paper/paper.tex b/paper/paper.tex index 29a2e2c45..e30175c29 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -1,4 +1,5 @@ \documentclass{./llncs2e/llncs} +%\documentclass{article} \usepackage{silence} \WarningFilter{latex}{Text page} @@ -6,15 +7,20 @@ \WarningFilter{amsmath}{Unable} +\usepackage{color} +\usepackage{soul} \usepackage{todonotes} \newcommand{\jk}[1]{\todo[inline]{JK: #1}} -%\usepackage{silence} +\newcommand{\eb}[1]{\todo[inline]{EB: #1}} +\usepackage{silence} +\WarningFilter{latex}{Float} +\WarningFilter{llncs}{The remreset package is obsolete} %\WarningFilter{latex}{Marginpar} %\WarningFilter{latexfont}{Font shape} %\WarningFilter{latexfont}{Some font} %\usepackage{changes} \usepackage{lmodern} -\usepackage{booktabs} +%\usepackage{booktabs} %\usepackage{caption} \usepackage{subcaption} @@ -29,47 +35,17 @@ \usepackage{xcolor} \usepackage{float} \graphicspath{ - {./fig/} - %{/home/joobog/git/bull-io/mpio/ddnime-benchmark/ime_eval/} - %{/home/joobog/git/bull-io/mpio/ddnime-benchmark/ime_eval/info/} + {./fig/} + {../benchmark/eval_analysis_output/} } -% -%\usepackage{makeidx} % allows for indexgeneration -% -\newcolumntype{P}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1\textwidth}} +%\newcolumntype{P}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1\textwidth}} \begin{document} -% -%\frontmatter % for the preliminaries -% \pagestyle{headings} % switches on printing of running heads -%\addtocmark{Hamiltonian Mechanics} % additional mark in the TOC -% -%\tableofcontents -% -%\mainmatter % start of the contributions -% -%\title{An MPI-IO In-Memory Driver for Non-Volatile Pooled Memory of the Kove XPD} % -- TODO page limit 18 pages -%\title{Burst Buffer for climate applications} \title{Benefit of DDN's IME-FUSE for I/O intensive HPC applications.} -% -%\titlerunning{Hamiltonian Mechanics} % abbreviated title (for running head) -% also used for the TOC unless -% \toctitle is used -% + %\author{Double blind} \author{Eugen Betke\inst{1} \and Julian Kunkel\inst{2}} -% -%\authorrunning{Ivar Ekeland et al.} % abbreviated author list (for running head) -%\institute{Double blind} - -%\institute{Deutsches Klimarechenzentrum, Hamburg HH 20146, Germany,\\ -%\email{betke@dkrz.de},\\ Home page: -%\texttt{http://dkrz.de} -%\and -%University of Reading, Whiteknights, PO Box 217, Reading, Berkshire, RG6 6AH, United Kingdom,\\ -%\email{j.m.kunkel@reading.ac.uk},\\ Home page: -%\texttt{https://www.reading.ac.uk}} \institute{Deutsches Klimarechenzentrum, Hamburg, Germany,\\ \email{betke@dkrz.de} @@ -89,7 +65,6 @@ The evaluation enables data centers choosing the right products and system archi This paper investigates the native performance of DDN-IME, a flash-based burst buffer solution. Then, it takes a closer look at the IME-FUSE file systems, which uses IMEs as burst buffer and a Lustre file system as back-end. -%\jk{Aber nicht nur IME-FUSE, oder? Hinten sind ja andere auch untersucht.} Finally, by utilizing a NetCDF benchmark, it estimates the performance benefit for climate applications. \end{abstract} @@ -98,7 +73,6 @@ Finally, by utilizing a NetCDF benchmark, it estimates the performance benefit f \section{Introduction} -%Since we understand that, the architecture of the next generation HPC shall consider that fact. The dilemma of conventional high-performance storage systems based on HDDs is that they must maximize the throughput to reduce application run times and at the same time they shall minimize the provided bandwidth to reduce costs. The first requirement is often prioritized to the detriment of the second one, which typically ends up in the oversizing and in a low average usage of the bandwidth procured. The prioritization is motivated by the requirement to process large performance peaks particular due to checkpoint/restart workloads, that often occur in large-scale applications. @@ -223,6 +197,7 @@ Therefore, the performance values include open/close times (see \Cref{eq:ior_ddn \begin{equation}\label{eq:ior_ddn} \text{perf}_\text{IME-native} = \frac{\text{filesize}}{t_{\text{total}}} = \frac{\text{filesize}}{t_{\text{open}} + t_{\text{io}} + t_{\text{close}}} \end{equation} +\eb{Fixing IOR to make it report open, close, connection and I/O times} Since the IOR benchmarks does not support NetCDF, and HDF5 is only supported with limited configuration of the pattern, additionally, the NetCDF-Bench has been used\footnote{\url{https://github.com/joobog/netcdf-bench}}. @@ -241,9 +216,9 @@ On the DDN cluster, we use NetCDF-Bench, IOR, and IME-IOR to measure the IME's t Each test configuration is repeated 10 times. All experiments are conducted with block sizes 16, 100, 1024, and 10240~KiB. -To find the performance limits of the test system we use the IOR benchmarks. -For that purpose, we conduct a series of experiments with various parameters, where we measure the performance for \{read, write\} $\times$ \{random, sequential\} $\times$ \{POSIX, MPIIO\} $\times$ \{Lustre, IME-FUSE, IME-native\} $\times$ \{collective, independent\}. -The stripe count on Lustre is twice as large as the number of nodes. +\hl{To find the performance limits of the test system we use the IOR benchmarks. +For that purpose, we conduct a series of experiments with various parameters, where we measure the performance for \{read, write\} $\times$ \{POSIX, MPIIO\} $\times$ \{Lustre, IME-FUSE, IME-native\} $\times$ \{shared file, independent files\}. +The stripe count on Lustre is twice as large as the number of nodes, but is limited by at most 8 stripes, since Lustre has only 8 OSTs.} The purpose of NetCDF-Bench is to investigate the I/O behaviour of typical scientific application, that access large variable through NetCDF4. In the experiment, we varied the following parameters: \{Lustre, IME-FUSE\} $\times$ \{read, write\} $\times$ \{chunked, contiguous\} $\times$ \{collective, independent\}. @@ -274,35 +249,35 @@ But the measured read performance is significantly lower than expected. This indicates, that the bottleneck here are the IMEs. The same considerations apply to sequential performance. \begin{figure}[b!] - \centering - \includegraphics[width=0.8\textwidth]{performance_overview_rnd_ime.png} - \caption{Random access performance depending on blocksize and PPN} - \label{fig:read_write_ime} + \centering + \includegraphics[width=0.8\textwidth]{performance_overview_rnd_ime.png} + \caption{Random access performance depending on blocksize and PPN} + \label{fig:read_write_ime} \end{figure} \section{Evaluation} \begin{table}[b!] - \centering - \begin{tabular}{r|r|r|r|r|r|l|r} - & & \multicolumn{2}{c|}{Best} & \multicolumn{2}{c|}{Mean} & & \\ - NN & PPN & \multicolumn{2}{c|}{Performance} & \multicolumn{2}{c|}{Performance} & I/O type & File size \\ - & & \multicolumn{2}{c|}{in [MiB/s]} & \multicolumn{2}{c|}{in [MiB/s]} & & in [MiB] \\ - & & read & write & read & write & & \\ - \hline -1 &1 &2,560 &1,240 &2,400 &1,180 & rnd & 1000 \\ -1 &1 &2,290 &1,230 &2,000 &870 & seq & 1000 \\ - \hline -1 &8 &8,500 &6,390 &8,100 &6,120 & rnd & 8000 \\ -1 &8 &8,700 &6,380 &7,100 &4,530 & seq & 8000 \\ - \hline -10 &1 &22,300 &10,700 &21,200 &10,000 & rnd & 10000 \\ -10 &1 &23,200 &10,800 &22,200 &8,430 & seq & 10000 \\ - \hline -10 &8 &67,500 &60,200 &65,300 &58,400 & rnd & 80000 \\ -10 &8 &67,500 &62,900 &61,700 &54,300 & seq & 80000 \\ - \end{tabular} - \caption{The best and mean performance measured with IME-IOR (blocksize: 10MiB) (NN: number of nodes; PPN: processes per node).} - \label{tab:bestperf_nn10} + \centering + \begin{tabular}{r|r|r|r|r|r|l|r} + & & \multicolumn{2}{c|}{Best} & \multicolumn{2}{c|}{Mean} & & \\ + NN & PPN & \multicolumn{2}{c|}{Performance} & \multicolumn{2}{c|}{Performance} & I/O type & File size \\ + & & \multicolumn{2}{c|}{in [MiB/s]} & \multicolumn{2}{c|}{in [MiB/s]} & & in [MiB] \\ + & & read & write & read & write & & \\ + \hline + 1 & 1 & 2,560 & 1,240 & 2,400 & 1,180 & rnd & 1000 \\ + 1 & 1 & 2,290 & 1,230 & 2,000 & 870 & seq & 1000 \\ + \hline + 1 & 8 & 8,500 & 6,390 & 8,100 & 6,120 & rnd & 8000 \\ + 1 & 8 & 8,700 & 6,380 & 7,100 & 4,530 & seq & 8000 \\ + \hline + 10 & 1 & 22,300 & 10,700 & 21,200 & 10,000 & rnd & 10000 \\ + 10 & 1 & 23,200 & 10,800 & 22,200 & 8,430 & seq & 10000 \\ + \hline + 10 & 8 & 67,500 & 60,200 & 65,300 & 58,400 & rnd & 80000 \\ + 10 & 8 & 67,500 & 62,900 & 61,700 & 54,300 & seq & 80000 \\ + \end{tabular} + \caption{The best and mean performance measured with IME-IOR (blocksize: 10MiB) (NN: number of nodes; PPN: processes per node).} + \label{tab:bestperf_nn10} \end{table} %\subsubsection{IME} @@ -328,46 +303,37 @@ Hence, the I/O path involves relevant latencies. %\jk{Im Bild braucht es als TEXT PPN, versteht man sonst nicht} \begin{figure}[t] - \centering - \includegraphics[height=\hperf]{performance_ior_ime_ind_CHUNK:notset_FILL:notset_LIM:notset_legend:yes_size:6x8.png} - \caption{IME-native random I/O performance (lines go through max. values)} - \label{fig:overview_ime} + \centering + \includegraphics[height=\hperf]{performance_ior_ime_ind_CHUNK:notset_FILL:notset_LIM:notset_legend:yes_size:6x8.png} + \caption{IME-native random I/O performance (lines go through max. values)} + \label{fig:overview_ime} \end{figure} -%+ sqlite3 results_random.db 'select nn, ppn, t*x*y*z*4/1024/1024, max(read)/1024 from p where app="ior" and iface="posix" and fs="lustre" and nn!=1 ' -%10 8 100.0 17.40234375 -%+ sqlite3 results_random.db 'select nn, ppn, t*x*y*z*4/1024/1024, max(write)/1024 from p where app="ior" and iface="posix" and fs="lustre" and nn!=1 ' -%4 6 1000.0 11.865234375 -%+ sqlite3 results_random.db 'select nn, ppn, t*x*y*z*4/1024/1024, max(read)/1024 from p where app="ior" and iface="mpio" and fs="lustre" and nn!=1 ' -%10 8 1000.0 16.853515625 -%+ sqlite3 results_random.db 'select nn, ppn, t*x*y*z*4/1024/1024, max(write)/1024 from p where app="ior" and iface="mpio" and fs="lustre" and nn!=1 ' -%10 8 100.0 3.763671875 - - - %\subsubsection{Lustre} \textbf{Lustre (\Cref{fig:overview_lustre}):} Firstly, a single node can profit from caching, when reading data. In this case observable performance can rise up to 37~GiB/s (not shown in the figure). The caching effects disappear for $\text{NN}>1$, hence we ignore them in further discussion. \begin{figure}[p!] - \centering - \begin{subfigure}{\textwidth} - \subcaption{Lustre} - \includegraphics[height=\hperf]{performance_ior_lustre_ind_CHUNK:notset_FILL:notset_LIM:notset_legend:yes_size:12x8.png} - \label{fig:overview_lustre} - \end{subfigure} + \centering + \begin{subfigure}{\textwidth} + \subcaption{Lustre} + %\includegraphics[height=\hperf]{performance_ior_lustre_ind_CHUNK:notset_FILL:notset_LIM:notset_legend:yes_size:12x8.png} + \includegraphics[height=\hperf]{performance_ior-default_lustre_random_write_linear.png} + \label{fig:overview_lustre} + \end{subfigure} - \medskip + \medskip - \begin{subfigure}{\textwidth} - \subcaption{IME-FUSE} - \includegraphics[height=\hperf]{performance_ior_fuse_ind_CHUNK:notset_FILL:notset_LIM:notset_legend:yes_size:12x8.png} - \label{fig:overview_fuse} - \end{subfigure} - \caption{Random I/O performance (lines go through max. values)} + \begin{subfigure}{\textwidth} + \subcaption{IME-FUSE} + \includegraphics[height=\hperf]{performance_ior_fuse_ind_CHUNK:notset_FILL:notset_LIM:notset_legend:yes_size:12x8.png} + \label{fig:overview_fuse} + \end{subfigure} +\caption{Random I/O performance (lines go through max. values)} \end{figure} +\eb{Rerun experiments with large files for IME.} Secondly, the read performance don't exceed 17.4~GiB/s, and is achieved with NN=10, PPN=8, BS=100~KiB. This is a contra-intuitive, because usually large block size show better performance. The best write performance is 11.8~GiB/s, and is achieved with NN=4, PPN=6, BS=1000~KiB. @@ -386,57 +352,26 @@ The file system shows a linear scalability, similar to the IME-native, but provi This is probably caused by the FUSE overhead, which includes moving I/O requests from user space to kernel space, and then from kernel space to IME-FUSE. -%\subsection{Opening/Closing of Files} -%\label{sec:open-close} - -%\begin{figure}[ht] -% \begin{subfigure}{.49\textwidth} -% \centering -% \includegraphics[width=\textwidth]{performance_ior_lustre_mpio_writeopen} -% \subcaption{Lustre} -% \label{fig:open_lustre} -% \end{subfigure} -% \begin{subfigure}{.49\textwidth} -% \centering -% \includegraphics[width=\textwidth]{performance_ior_fuse_mpio_writeopen} -% \subcaption{IME-FUSE} -% \label{fig:open_fuse} -% \end{subfigure} -% \caption{Open times} -% \label{fig:open} -%\end{figure} - -%As already mentioned, IME-IOR doesn't provide open/close times. -%Therefore, we skip this investigation and take a look at IME-FUSE and Lustre (\Cref{fig:open}). -%Opening files for writing is one of the most costly metadata operations. -%The small number of nodes doesn't allow to create a reliable model to describe the open/close behaviour. - -%The opening times on FUSE are significantly higher than on Lustre. -%The reason is that a metadata request can not be sent directly to the metadata server, but has to go through the whole FUSE stack. -%The time need on FUSE can be higher than 4 seconds whereby on Lustre it is less than 0.20 seconds. -%Due the limited size of the test cluster it is not possible to proof that, but we assume that on larger runs the open times will converge to the same value. -%Because FUSE overhead is constant and metadata server of the file system will be the most significant bottleneck. - - \subsection{Application Kernel Using HDF5} +\eb{Rerun NetCDF with larger files. NetCDF-Bench requires a stonewalling feature, like IOR. This would make benchmark runtime more predictable.} In this experiment, the HDF5 VOL development branch (date 2016-05-09), NetCDF~4.4.1 and NetCDF-bench is used. %Several values for the 4D data geometry (($100$:$16$:$64$:$4$) $\approx$ 3.1MiB, ($100$:$16$:$64$:$25$) $\approx$ 19.5iB, ($100$:$16$:$64$:$256$) $\approx$ 200MiB, ($100$:$16$:$64$:$2560$) $\approx$ 2000MiB) of raw integer data have been explored. Several values for the 4D data geometry of raw integer data have been explored. For each block size we did 100 measurements. The configuration parameters are summarized in \Cref{tab:netcdf_conf}. \begin{table} - \centering - \begin{tabular}{l|r|r} - Parameter (-d) & Data size & Block size \\ - ($t$:$x$:$y$:$z$) & [in GiB] & [in KiB] \\ - \hline - ($100$:$16$:$64$:$4$) & 0.5 & 16 \\ - ($100$:$16$:$64$:$25$) & 3.1 & 100 \\ - ($100$:$16$:$64$:$256$) & 7.8 & 1024 \\ - ($100$:$16$:$64$:$2560$) & 78.1 & 10240 \\ - \end{tabular} - \caption{NetCDF-Bench configuration used in during the benchmark.} - \label{tab:netcdf_conf} + \centering + \begin{tabular}{l|r|r} + Parameter (-d) & Data size & Block size \\ + ($t$:$x$:$y$:$z$) & [in GiB] & [in KiB] \\ + \hline + ($100$:$16$:$64$:$4$) & 0.5 & 16 \\ + ($100$:$16$:$64$:$25$) & 3.1 & 100 \\ + ($100$:$16$:$64$:$256$) & 7.8 & 1024 \\ + ($100$:$16$:$64$:$2560$) & 78.1 & 10240 \\ + \end{tabular} + \caption{NetCDF-Bench configuration used in during the benchmark.} + \label{tab:netcdf_conf} \end{table} @@ -445,28 +380,11 @@ All experiments were conducted with fixed dimension sizes only, since the unlimi \Cref{fig:netcdf_perf} shows the results. Generally, as expected, independent chunked I/O was a good configuration. -%\subsubsection{Performance} -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(read)/1024 from p where app="benchtool" and type="coll" and fs="lustre" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 coll 1000.0 23.4844971199307 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(write)/1024 from p where app="benchtool" and type="coll" and fs="lustre" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 coll 1000.0 14.0872631923396 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(read)/1024 from p where app="benchtool" and type="ind" and fs="lustre" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 ind 1000.0 40.7447031422526 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(write)/1024 from p where app="benchtool" and type="ind" and fs="lustre" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 ind 1000.0 18.5541272529369 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(read)/1024 from p where app="benchtool" and type="coll" and fs="fuse" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 coll 1000.0 22.9363088999496 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(write)/1024 from p where app="benchtool" and type="coll" and fs="fuse" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 coll 1000.0 14.1118732992937 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(read)/1024 from p where app="benchtool" and type="ind" and fs="fuse" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 ind 1000.0 38.7201201759216 -%+ sqlite3 results_benchtool.db 'select nn, ppn, type, t*x*y*z*4/1024/1024, max(write)/1024 from p where app="benchtool" and type="ind" and fs="fuse" and unlimited="notset" and nn=10 and ppn=8 ' -%10 8 ind 1000.0 18.6272447947956 \begin{figure}[tb] - \centering - \includegraphics[width=0.9\textwidth]{performance_benchtool_FS:lustre_IFACE:mpio_FILLED_notset_LIM:notset.png} - \caption{NetCDF performance for Lustre (similar to IME-FUSE)} - \label{fig:netcdf_perf} + \centering + \includegraphics[width=0.9\textwidth]{performance_benchtool_FS:lustre_IFACE:mpio_FILLED_notset_LIM:notset.png} + \caption{NetCDF performance for Lustre (similar to IME-FUSE)} + \label{fig:netcdf_perf} \end{figure} \textbf{Lustre vs. IME-FUSE:} Generally, the performance looks very similar for Lustre and IME-FUSE, that is why we only included the picture for Lustre. There are a few differences: @@ -496,10 +414,10 @@ This experiment is conducted measuring timing of 10,000 or 1,024 individual I/Os \Cref{fig:variability} shows the qualitative difference between the file systems. The figure shows the density (like a smoothened histogram) of the individually timed I/Os. \begin{figure}[bpt!] - \centering - \includegraphics[width=\textwidth]{density.png} - \caption{Density of timing individual I/O operations} - \label{fig:variability} +\centering +\includegraphics[width=\textwidth]{density.png} +\caption{Density of timing individual I/O operations} +\label{fig:variability} \end{figure} We observe 1) the read operations on Lustre are faster than using IME-FUSE -- this is presumably due to client-side caching. 2) the random acceleration of IME improves write latencies/throughput for IME. @@ -523,34 +441,10 @@ Further large-scale investigation is necessary. \section*{Acknowledgment} { \small -%Thanks to Jean-Thomas Acquaviva for providing access to the IME test cluster and valuable feedback. Thanks to DDN for providing access to the IME test cluster and to Jean-Thomas Acquaviva for the support. -%%Thanks to our sponsor William E. Allcock for providing access and feedback. -%%This research used resources of the Argonne Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC02-06CH11357. } -% -% ---- Bibliography ---- BibLatex -% - - \bibliographystyle{splncs03} \bibliography{bibliography}{} - -% -% ---- Bibliography ---- -% -%\begin{thebibliography}{} - -%\end{thebibliography} -%\clearpage -%\addtocmark[2]{Author Index} % additional numbered TOC entry -%\renewcommand{\indexname}{Author Index} -%%\printindex -%\clearpage -%\addtocmark[2]{Subject Index} % additional numbered TOC entry -%\markboth{Subject Index}{Subject Index} -%\renewcommand{\indexname}{Subject Index} -%%\input{subjidx.ind} \end{document} diff --git a/paper/splncs03.bst b/paper/splncs03.bst deleted file mode 100644 index 327916917..000000000 --- a/paper/splncs03.bst +++ /dev/null @@ -1,1519 +0,0 @@ -%% BibTeX bibliography style `splncs03' -%% -%% BibTeX bibliography style for use with numbered references in -%% Springer Verlag's "Lecture Notes in Computer Science" series. -%% (See Springer's documentation for llncs.cls for -%% more details of the suggested reference format.) Note that this -%% file will not work for author-year style citations. -%% -%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite -%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. -%% -%% This file comes to you courtesy of Maurizio "Titto" Patrignani of -%% Dipartimento di Informatica e Automazione Universita' Roma Tre -%% -%% ================================================================================================ -%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009 -%% Edited by hand by titto based on `titto-lncs-01.bst' (see below) -%% -%% CHANGES (with respect to titto-lncs-01.bst): -%% - Removed the call to \urlprefix (thus no "URL" string is added to the output) -%% ================================================================================================ -%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008 -%% Edited by hand by titto based on `titto.bst' (see below) -%% -%% CHANGES (with respect to titto.bst): -%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)" -%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.") -%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings -%% - Commented all new.block commands before urls and notes (to separate them with a comma) -%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label) -%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle) -%% - Removed a \newblock to avoid long spaces between title and "In: ..." -%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label -%% ================================================================================================ -%% This was file `titto.bst', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% merlin.mbs (with options: `vonx,nm-rvvc,yr-par,jttl-rm,volp-com,jwdpg,jwdvol,numser,ser-vol,jnm-x,btit-rm,bt-rm,edparxc,bkedcap,au-col,in-col,fin-bare,pp,ed,abr,mth-bare,xedn,jabr,and-com,and-com-ed,xand,url,url-blk,em-x,nfss,') -%% ---------------------------------------- -%% *** Tentative .bst file for Springer LNCS *** -%% -%% Copyright 1994-2007 Patrick W Daly - % =============================================================== - % IMPORTANT NOTICE: - % This bibliographic style (bst) file has been generated from one or - % more master bibliographic style (mbs) files, listed above. - % - % This generated file can be redistributed and/or modified under the terms - % of the LaTeX Project Public License Distributed from CTAN - % archives in directory macros/latex/base/lppl.txt; either - % version 1 of the License, or any later version. - % =============================================================== - % Name and version information of the main mbs file: - % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)] - % For use with BibTeX version 0.99a or later - %------------------------------------------------------------------- - % This bibliography style file is intended for texts in ENGLISH - % This is a numerical citation style, and as such is standard LaTeX. - % It requires no extra package to interface to the main text. - % The form of the \bibitem entries is - % \bibitem{key}... - % Usage of \cite is as follows: - % \cite{key} ==>> [#] - % \cite[chap. 2]{key} ==>> [#, chap. 2] - % where # is a number determined by the ordering in the reference list. - % The order in the reference list is alphabetical by authors. - %--------------------------------------------------------------------- - -ENTRY - { address - author - booktitle - chapter - edition - editor - eid - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - url - volume - year - } - {} - { label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block } -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} -STRINGS { s t} -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ -% newline$ -% "\newblock " write$ % removed for titto-lncs-01 - " " write$ % to avoid long spaces between title and "In: ..." - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - 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 {fin.entry} -{ duplicate$ empty$ - 'pop$ - 'write$ - if$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} -FUNCTION {add.blank} -{ " " * before.all 'output.state := -} - - -FUNCTION {add.colon} -{ duplicate$ empty$ - 'skip$ - { ":" * add.blank } - if$ -} - -FUNCTION {date.block} -{ - new.block -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} -STRINGS {z} -FUNCTION {remove.dots} -{ 'z := - "" - { z empty$ not } - { z #1 #1 substring$ - z #2 global.max$ substring$ 'z := - duplicate$ "." = 'pop$ - { * } - if$ - } - while$ -} -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} -FUNCTION {emphasize} -{ skip$ } -FUNCTION {tie.or.space.prefix} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ -} -FUNCTION {titto.space.prefix} % always introduce a space -{ duplicate$ text.length$ #3 < - { " " } - { " " } - if$ - swap$ -} - - -FUNCTION {capitalize} -{ "u" change.case$ "t" change.case$ } - -FUNCTION {space.word} -{ " " swap$ * " " * } - % Here are the language-specific definitions for explicit words. - % Each function has a name bbl.xxx where xxx is the English word. - % The language selected here is ENGLISH -FUNCTION {bbl.and} -{ "and"} - -FUNCTION {bbl.etal} -{ "et~al." } - -FUNCTION {bbl.editors} -{ "eds." } - -FUNCTION {bbl.editor} -{ "ed." } - -FUNCTION {bbl.edby} -{ "edited by" } - -FUNCTION {bbl.edition} -{ "edn." } - -FUNCTION {bbl.volume} -{ "vol." } - -FUNCTION {titto.bbl.volume} % for handling journals -{ "" } - -FUNCTION {bbl.of} -{ "of" } - -FUNCTION {bbl.number} -{ "no." } - -FUNCTION {bbl.nr} -{ "no." } - -FUNCTION {bbl.in} -{ "in" } - -FUNCTION {bbl.pages} -{ "pp." } - -FUNCTION {bbl.page} -{ "p." } - -FUNCTION {titto.bbl.pages} % for journals -{ "" } - -FUNCTION {titto.bbl.page} % for journals -{ "" } - -FUNCTION {bbl.chapter} -{ "chap." } - -FUNCTION {bbl.techrep} -{ "Tech. Rep." } - -FUNCTION {bbl.mthesis} -{ "Master's thesis" } - -FUNCTION {bbl.phdthesis} -{ "Ph.D. thesis" } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"Jun."} - -MACRO {jul} {"Jul."} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sep."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -MACRO {acmcs} {"ACM Comput. Surv."} - -MACRO {acta} {"Acta Inf."} - -MACRO {cacm} {"Commun. ACM"} - -MACRO {ibmjrd} {"IBM J. Res. Dev."} - -MACRO {ibmsj} {"IBM Syst.~J."} - -MACRO {ieeese} {"IEEE Trans. Software Eng."} - -MACRO {ieeetc} {"IEEE Trans. Comput."} - -MACRO {ieeetcad} - {"IEEE Trans. Comput. Aid. Des."} - -MACRO {ipl} {"Inf. Process. Lett."} - -MACRO {jacm} {"J.~ACM"} - -MACRO {jcss} {"J.~Comput. Syst. Sci."} - -MACRO {scp} {"Sci. Comput. Program."} - -MACRO {sicomp} {"SIAM J. Comput."} - -MACRO {tocs} {"ACM Trans. Comput. Syst."} - -MACRO {tods} {"ACM Trans. Database Syst."} - -MACRO {tog} {"ACM Trans. Graphic."} - -MACRO {toms} {"ACM Trans. Math. Software"} - -MACRO {toois} {"ACM Trans. Office Inf. Syst."} - -MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} - -MACRO {tcs} {"Theor. Comput. Sci."} - -FUNCTION {bibinfo.check} -{ swap$ - duplicate$ missing$ - { - pop$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ pop$ - } - { swap$ - pop$ - } - if$ - } - if$ -} -FUNCTION {bibinfo.warn} -{ swap$ - duplicate$ missing$ - { - swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ - "" - } - { duplicate$ empty$ - { - swap$ "empty " swap$ * " in " * cite$ * warning$ - } - { swap$ - pop$ - } - if$ - } - if$ -} -FUNCTION {format.url} -{ url empty$ - { "" } -% { "\urlprefix\url{" url * "}" * } - { "\url{" url * "}" * } % changed in titto-lncs-02.bst - if$ -} - -INTEGERS { nameptr namesleft numnames } - - -STRINGS { bibinfo} - -FUNCTION {format.names} -{ 'bibinfo := - duplicate$ empty$ 'skip$ { - 's := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}{, jj}{, f{.}.}" - format.name$ - bibinfo bibinfo.check - 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - "," * - t "others" = - { - " " * bbl.etal * - } - { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - } if$ -} -FUNCTION {format.names.ed} -{ - 'bibinfo := - duplicate$ empty$ 'skip$ { - 's := - "" 't := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{f{.}.~}{vv~}{ll}{ jj}" - format.name$ - bibinfo bibinfo.check - 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - s nameptr "{ll}" format.name$ duplicate$ "others" = - { 't := } - { pop$ } - if$ - "," * - t "others" = - { - - " " * bbl.etal * - } - { " " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ - } if$ -} -FUNCTION {format.authors} -{ author "author" format.names -} -FUNCTION {get.bbl.editor} -{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } - -FUNCTION {format.editors} -{ editor "editor" format.names duplicate$ empty$ 'skip$ - { - " " * - get.bbl.editor -% capitalize - "(" swap$ * ")" * - * - } - if$ -} -FUNCTION {format.note} -{ - note empty$ - { "" } - { note #1 #1 substring$ - duplicate$ "{" = - 'skip$ - { output.state mid.sentence = - { "l" } - { "u" } - if$ - change.case$ - } - if$ - note #2 global.max$ substring$ * "note" bibinfo.check - } - if$ -} - -FUNCTION {format.title} -{ title - duplicate$ empty$ 'skip$ - { "t" change.case$ } - if$ - "title" bibinfo.check -} -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -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 {word.in} -{ bbl.in capitalize - ":" * - " " * } - -FUNCTION {format.date} -{ - month "month" bibinfo.check - duplicate$ empty$ - year "year" bibinfo.check duplicate$ empty$ - { swap$ 'skip$ - { "there's a month but no year in " cite$ * warning$ } - if$ - * - } - { swap$ 'skip$ - { - swap$ - " " * swap$ - } - if$ - * - remove.dots - } - if$ - duplicate$ empty$ - 'skip$ - { - before.all 'output.state := - " (" swap$ * ")" * - } - if$ -} -FUNCTION {format.btitle} -{ title "title" bibinfo.check - duplicate$ empty$ 'skip$ - { - } - if$ -} -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { bbl.volume volume tie.or.space.prefix - "volume" bibinfo.check * * - series "series" bibinfo.check - duplicate$ empty$ 'pop$ - { emphasize ", " * swap$ * } - if$ - "volume and number" number either.or.check - } - if$ -} -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { bbl.number } - { bbl.number capitalize } - if$ - number tie.or.space.prefix "number" bibinfo.check * * - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { bbl.in space.word * - series "series" bibinfo.check * - } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition duplicate$ empty$ 'skip$ - { - output.state mid.sentence = - { "l" } - { "t" } - if$ change.case$ - "edition" bibinfo.check - " " * bbl.edition * - } - 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 duplicate$ empty$ 'skip$ - { duplicate$ multi.page.check - { - bbl.pages swap$ - n.dashify - } - { - bbl.page swap$ - } - if$ - tie.or.space.prefix - "pages" bibinfo.check - * * - } - if$ -} -FUNCTION {format.journal.pages} -{ pages duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ - { pop$ pop$ format.pages } - { - ", " * - swap$ - n.dashify - pages multi.page.check - 'titto.bbl.pages - 'titto.bbl.page - if$ - swap$ tie.or.space.prefix - "pages" bibinfo.check - * * - * - } - if$ - } - if$ -} -FUNCTION {format.journal.eid} -{ eid "eid" bibinfo.check - duplicate$ empty$ 'pop$ - { swap$ duplicate$ empty$ 'skip$ - { - ", " * - } - if$ - swap$ * - } - if$ -} -FUNCTION {format.vol.num.pages} % this function is used only for journal entries -{ volume field.or.null - duplicate$ empty$ 'skip$ - { -% bbl.volume swap$ tie.or.space.prefix - titto.bbl.volume swap$ titto.space.prefix -% rationale for the change above: for journals you don't want "vol." label -% hence it does not make sense to attach the journal number to the label when -% it is short - "volume" bibinfo.check - * * - } - if$ - number "number" bibinfo.check duplicate$ empty$ 'skip$ - { - swap$ duplicate$ empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - swap$ - "(" swap$ * ")" * - } - if$ * - eid empty$ - { format.journal.pages } - { format.journal.eid } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { bbl.chapter } - { type "l" change.case$ - "type" bibinfo.check - } - if$ - chapter tie.or.space.prefix - "chapter" bibinfo.check - * * - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.booktitle} -{ - booktitle "booktitle" bibinfo.check -} -FUNCTION {format.in.ed.booktitle} -{ format.booktitle duplicate$ empty$ 'skip$ - { -% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto - editor "editor" format.names duplicate$ empty$ 'pop$ - { - " " * - get.bbl.editor -% capitalize - "(" swap$ * ") " * - * swap$ - * } - if$ - word.in swap$ * - } - 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 duplicate$ empty$ - 'pop$ - { swap$ pop$ - "t" change.case$ "type" bibinfo.check - } - if$ -} -FUNCTION {format.tr.number} -{ number "number" bibinfo.check - type duplicate$ empty$ - { pop$ bbl.techrep } - 'skip$ - if$ - "type" bibinfo.check - swap$ duplicate$ empty$ - { pop$ "t" change.case$ } - { tie.or.space.prefix * * } - if$ -} -FUNCTION {format.article.crossref} -{ - key duplicate$ empty$ - { pop$ - journal duplicate$ empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } - { "journal" bibinfo.check emphasize word.in swap$ * } - if$ - } - { word.in swap$ * " " *} - if$ - " \cite{" * crossref * "}" * -} -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - "editor" bibinfo.check - editor num.names$ duplicate$ - #2 > - { pop$ - "editor" bibinfo.check - " " * bbl.etal - * - } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { - "editor" bibinfo.check - " " * bbl.etal - * - } - { - bbl.and space.word - * editor #2 "{vv~}{ll}" format.name$ - "editor" bibinfo.check - * - } - if$ - } - if$ - } - if$ -} -FUNCTION {format.book.crossref} -{ volume duplicate$ empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - pop$ word.in - } - { bbl.volume - capitalize - swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * - } - 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 emphasize * } - 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$ - { format.booktitle duplicate$ empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - } - { word.in swap$ * } - if$ - } - { word.in key * " " *} - if$ - } - { word.in format.crossref.editor * " " *} - if$ - " \cite{" * crossref * "}" * -} -FUNCTION {format.org.or.pub} -{ 't := - "" - address empty$ t empty$ and - 'skip$ - { - t empty$ - { address "address" bibinfo.check * - } - { t * - address empty$ - 'skip$ - { ", " * address "address" bibinfo.check * } - if$ - } - if$ - } - if$ -} -FUNCTION {format.publisher.address} -{ publisher "publisher" bibinfo.warn format.org.or.pub -} - -FUNCTION {format.organization.address} -{ organization "organization" bibinfo.check format.org.or.pub -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - new.block - crossref missing$ - { - journal - "journal" bibinfo.check - "journal" output.check - add.blank - format.vol.num.pages output - format.date "year" output.check - } - { format.article.crossref output.nonnull - format.pages output - } - if$ -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - add.colon - } - { format.authors output.nonnull - add.colon - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - new.block - new.sentence - format.number.series output - format.publisher.address output - } - { - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {booklet} -{ output.bibitem - format.authors output - add.colon - new.block - format.title "title" output.check - new.block - howpublished "howpublished" bibinfo.check output - address "address" bibinfo.check output - format.date output -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - add.colon - } - { format.authors output.nonnull - add.colon - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - crossref missing$ - { - format.bvolume output - format.chapter.pages "chapter and pages" output.check - new.block - new.sentence - format.number.series output - format.publisher.address output - } - { - format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.chapter.pages output - new.sentence - format.number.series output - format.publisher.address output - format.edition output - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - new.sentence % added by titto - format.bvolume output - format.pages output - new.sentence - format.number.series output - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ -% new.block - format.url output -% new.block - format.note output - fin.entry -} -FUNCTION {conference} { inproceedings } -FUNCTION {manual} -{ output.bibitem - author empty$ - { organization "organization" bibinfo.check - duplicate$ empty$ 'pop$ - { output - address "address" bibinfo.check output - } - if$ - } - { format.authors output.nonnull } - if$ - add.colon - new.block - format.btitle "title" output.check - author empty$ - { organization empty$ - { - address new.block.checka - address "address" bibinfo.check output - } - 'skip$ - if$ - } - { - organization address new.block.checkb - organization "organization" bibinfo.check output - address "address" bibinfo.check output - } - if$ - format.edition output - format.date output -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.btitle - "title" output.check - new.block - bbl.mthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - add.colon - title howpublished new.block.checkb - format.title output - howpublished new.block.checka - howpublished "howpublished" bibinfo.check output - format.date output -% new.block - format.url output -% new.block - format.note output - fin.entry - empty.misc.check -} -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.btitle - "title" output.check - new.block - bbl.phdthesis format.thesis.type output.nonnull - school "school" bibinfo.warn output - address "address" bibinfo.check output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization "organization" bibinfo.check output - } - { format.editors output.nonnull } - if$ - add.colon - new.block - format.btitle "title" output.check - format.bvolume output - editor empty$ - { publisher empty$ - { format.number.series output } - { - new.sentence - format.number.series output - format.publisher.address output - } - if$ - } - { publisher empty$ - { - new.sentence - format.number.series output - format.organization.address output } - { - new.sentence - format.number.series output - organization "organization" bibinfo.check output - format.publisher.address output - } - if$ - } - if$ - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title - "title" output.check - new.block - format.tr.number output.nonnull - institution "institution" bibinfo.warn output - address "address" bibinfo.check output - format.date "year" output.check -% new.block - format.url output -% new.block - format.note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - add.colon - new.block - format.title "title" output.check - format.date output -% new.block - format.url output -% new.block - format.note "note" output.check - fin.entry -} - -FUNCTION {default.type} { misc } -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 > } - { s nameptr - "{ll{ }}{ ff{ }}{ jj{ }}" - format.name$ 't := - nameptr #1 > - { - " " * - namesleft #1 = t "others" = and - { "zzzzz" * } - { t sortify * } - if$ - } - { 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$ - "\providecommand{\url}[1]{\texttt{#1}}" - write$ newline$ - "\providecommand{\urlprefix}{URL }" - write$ newline$ -} -EXECUTE {begin.bib} -EXECUTE {init.state.consts} -ITERATE {call.type$} -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} -EXECUTE {end.bib} -%% End of customized bst file -%% -%% End of file `titto.bst'. - -