From 56522b5b42e624e7766df9d4fe66750758817e04 Mon Sep 17 00:00:00 2001 From: rodrigosiqueira Date: Tue, 17 Nov 2015 22:11:15 -0200 Subject: [PATCH] OSS template, based on mezuro OSS-2015 --- OSS-2016/aliascnt.sty | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ OSS-2016/llncs.cls | 1208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ OSS-2016/llncs.tex | 1256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ OSS-2016/llncsdoc.sty | 42 ++++++++++++++++++++++++++++++++++++++++++ OSS-2016/remreset.sty | 39 +++++++++++++++++++++++++++++++++++++++ OSS-2016/spb.bib | 37 +++++++++++++++++++++++++++++++++++++ OSS-2016/spb.tex | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ OSS-2016/splncs03.bst | 1519 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ OSS-2016/sprmindx.sty | 4 ++++ 9 files changed, 4274 insertions(+), 0 deletions(-) create mode 100644 OSS-2016/aliascnt.sty create mode 100644 OSS-2016/llncs.cls create mode 100644 OSS-2016/llncs.tex create mode 100644 OSS-2016/llncsdoc.sty create mode 100644 OSS-2016/remreset.sty create mode 100644 OSS-2016/spb.bib create mode 100644 OSS-2016/spb.tex create mode 100644 OSS-2016/splncs03.bst create mode 100644 OSS-2016/sprmindx.sty diff --git a/OSS-2016/aliascnt.sty b/OSS-2016/aliascnt.sty new file mode 100644 index 0000000..452aa0e --- /dev/null +++ b/OSS-2016/aliascnt.sty @@ -0,0 +1,88 @@ +%% +%% 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/OSS-2016/llncs.cls b/OSS-2016/llncs.cls new file mode 100644 index 0000000..6e1806d --- /dev/null +++ b/OSS-2016/llncs.cls @@ -0,0 +1,1208 @@ +% LLNCS DOCUMENT CLASS -- version 2.18 (27-Sep-2013) +% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science +% +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{llncs}[2013/09/27 v2.18 +^^J LaTeX document class for Lecture Notes in Computer Science] +% Options +\let\if@envcntreset\iffalse +\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} +\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} +\DeclareOption{oribibl}{\let\oribibl=Y} +\let\if@custvec\iftrue +\DeclareOption{orivec}{\let\if@custvec\iffalse} +\let\if@envcntsame\iffalse +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} +\let\if@envcntsect\iffalse +\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} +\let\if@runhead\iffalse +\DeclareOption{runningheads}{\let\if@runhead\iftrue} + +\let\if@openright\iftrue +\let\if@openbib\iffalse +\DeclareOption{openbib}{\let\if@openbib\iftrue} + +% languages +\let\switcht@@therlang\relax +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}} +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} + +\ProcessOptions + +\LoadClass[twoside]{article} +\RequirePackage{multicol} % needed for the list of participants, index +\RequirePackage{aliascnt} + +\setlength{\textwidth}{12.2cm} +\setlength{\textheight}{19.3cm} +\renewcommand\@pnumwidth{2em} +\renewcommand\@tocrmarg{3.5em} +% +\def\@dottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par}% + \fi} +% +\def\switcht@albion{% +\def\abstractname{Abstract.} +\def\ackname{Acknowledgement.} +\def\andname{and} +\def\lastandname{\unskip, and} +\def\appendixname{Appendix} +\def\chaptername{Chapter} +\def\claimname{Claim} +\def\conjecturename{Conjecture} +\def\contentsname{Table of Contents} +\def\corollaryname{Corollary} +\def\definitionname{Definition} +\def\examplename{Example} +\def\exercisename{Exercise} +\def\figurename{Fig.} +\def\keywordname{{\bf Keywords:}} +\def\indexname{Index} +\def\lemmaname{Lemma} +\def\contriblistname{List of Contributors} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\mailname{{\it Correspondence to\/}:} +\def\noteaddname{Note added in proof} +\def\notename{Note} +\def\partname{Part} +\def\problemname{Problem} +\def\proofname{Proof} +\def\propertyname{Property} +\def\propositionname{Proposition} +\def\questionname{Question} +\def\remarkname{Remark} +\def\seename{see} +\def\solutionname{Solution} +\def\subclassname{{\it Subject Classifications\/}:} +\def\tablename{Table} +\def\theoremname{Theorem}} +\switcht@albion +% Names of theorem like environments are already defined +% but must be translated if another language is chosen +% +% French section +\def\switcht@francais{%\typeout{On parle francais.}% + \def\abstractname{R\'esum\'e.}% + \def\ackname{Remerciements.}% + \def\andname{et}% + \def\lastandname{ et}% + \def\appendixname{Appendice} + \def\chaptername{Chapitre}% + \def\claimname{Pr\'etention}% + \def\conjecturename{Hypoth\`ese}% + \def\contentsname{Table des mati\`eres}% + \def\corollaryname{Corollaire}% + \def\definitionname{D\'efinition}% + \def\examplename{Exemple}% + \def\exercisename{Exercice}% + \def\figurename{Fig.}% + \def\keywordname{{\bf Mots-cl\'e:}} + \def\indexname{Index} + \def\lemmaname{Lemme}% + \def\contriblistname{Liste des contributeurs} + \def\listfigurename{Liste des figures}% + \def\listtablename{Liste des tables}% + \def\mailname{{\it Correspondence to\/}:} + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% + \def\notename{Remarque}% + \def\partname{Partie}% + \def\problemname{Probl\`eme}% + \def\proofname{Preuve}% + \def\propertyname{Caract\'eristique}% +%\def\propositionname{Proposition}% + \def\questionname{Question}% + \def\remarkname{Remarque}% + \def\seename{voir} + \def\solutionname{Solution}% + \def\subclassname{{\it Subject Classifications\/}:} + \def\tablename{Tableau}% + \def\theoremname{Th\'eor\`eme}% +} +% +% German section +\def\switcht@deutsch{%\typeout{Man spricht deutsch.}% + \def\abstractname{Zusammenfassung.}% + \def\ackname{Danksagung.}% + \def\andname{und}% + \def\lastandname{ und}% + \def\appendixname{Anhang}% + \def\chaptername{Kapitel}% + \def\claimname{Behauptung}% + \def\conjecturename{Hypothese}% + \def\contentsname{Inhaltsverzeichnis}% + \def\corollaryname{Korollar}% +%\def\definitionname{Definition}% + \def\examplename{Beispiel}% + \def\exercisename{\"Ubung}% + \def\figurename{Abb.}% + \def\keywordname{{\bf Schl\"usselw\"orter:}} + \def\indexname{Index} +%\def\lemmaname{Lemma}% + \def\contriblistname{Mitarbeiter} + \def\listfigurename{Abbildungsverzeichnis}% + \def\listtablename{Tabellenverzeichnis}% + \def\mailname{{\it Correspondence to\/}:} + \def\noteaddname{Nachtrag}% + \def\notename{Anmerkung}% + \def\partname{Teil}% +%\def\problemname{Problem}% + \def\proofname{Beweis}% + \def\propertyname{Eigenschaft}% +%\def\propositionname{Proposition}% + \def\questionname{Frage}% + \def\remarkname{Anmerkung}% + \def\seename{siehe} + \def\solutionname{L\"osung}% + \def\subclassname{{\it Subject Classifications\/}:} + \def\tablename{Tabelle}% +%\def\theoremname{Theorem}% +} + +% Ragged bottom for the actual page +\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil +\global\let\@textbottom\relax}} + +\renewcommand\small{% + \@setfontsize\small\@ixpt{11}% + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \parsep 0\p@ \@plus1\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep0\p@}% + \belowdisplayskip \abovedisplayskip +} + +\frenchspacing +\widowpenalty=10000 +\clubpenalty=10000 + +\setlength\oddsidemargin {63\p@} +\setlength\evensidemargin {63\p@} +\setlength\marginparwidth {90\p@} + +\setlength\headsep {16\p@} + +\setlength\footnotesep{7.7\p@} +\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@} + +\setcounter{secnumdepth}{2} + +\newcounter {chapter} +\renewcommand\thechapter {\@arabic\c@chapter} + +\newif\if@mainmatter \@mainmattertrue +\newcommand\frontmatter{\cleardoublepage + \@mainmatterfalse\pagenumbering{Roman}} +\newcommand\mainmatter{\cleardoublepage + \@mainmattertrue\pagenumbering{arabic}} +\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi + \@mainmatterfalse} + +\renewcommand\part{\cleardoublepage + \thispagestyle{empty}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil + \secdef\@part\@spart} + +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\centering + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >-2\relax + \huge\bfseries \partname~\thepart + \par + \vskip 20\p@ + \fi + \Huge \bfseries #2\par}% + \@endpart} +\def\@spart#1{% + {\centering + \interlinepenalty \@M + \normalfont + \Huge \bfseries #1\par}% + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \null + \thispagestyle{empty}% + \newpage + \fi + \if@tempswa + \twocolumn + \fi} + +\newcommand\chapter{\clearpage + \thispagestyle{empty}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@makechapterhead#1{% +% \vspace*{50\p@}% + {\centering + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \large\bfseries \@chapapp{} \thechapter + \par\nobreak + \vskip 20\p@ + \fi + \fi + \interlinepenalty\@M + \Large \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% +% \vspace*{50\p@}% + {\centering + \normalfont + \interlinepenalty\@M + \Large \bfseries #1\par\nobreak + \vskip 40\p@ + }} + +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-18\p@ \@plus -4\p@ \@minus -4\p@}% + {12\p@ \@plus 4\p@ \@minus 4\p@}% + {\normalfont\large\bfseries\boldmath + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-18\p@ \@plus -4\p@ \@minus -4\p@}% + {8\p@ \@plus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\bfseries\boldmath + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-18\p@ \@plus -4\p@ \@minus -4\p@}% + {-0.5em \@plus -0.22em \@minus -0.1em}% + {\normalfont\normalsize\bfseries\boldmath}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-12\p@ \@plus -4\p@ \@minus -4\p@}% + {-0.5em \@plus -0.22em \@minus -0.1em}% + {\normalfont\normalsize\itshape}} +\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use + \string\subparagraph\space with this class}\vskip0.5cm +You should not use \verb|\subparagraph| with this class.\vskip0.5cm} + +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} + +\let\footnotesize\small + +\if@custvec +\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} +{\mbox{\boldmath$\textstyle#1$}} +{\mbox{\boldmath$\scriptstyle#1$}} +{\mbox{\boldmath$\scriptscriptstyle#1$}}} +\fi + +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil +\penalty50\hskip1em\null\nobreak\hfil\squareforqed +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} + +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9pt}=\cr}}}}} +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9pt}=\cr}}}}} +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr +>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.8pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.3pt}<\cr}}}}} +\def\bbbr{{\rm I\!R}} %reelle Zahlen +\def\bbbm{{\rm I\!M}} +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen +\def\bbbf{{\rm I\!F}} +\def\bbbh{{\rm I\!H}} +\def\bbbk{{\rm I\!K}} +\def\bbbp{{\rm I\!P}} +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} +\def\bbbs{{\mathchoice +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox +to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox +to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} +\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} +{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} +{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}} +{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}} + +\let\ts\, + +\setlength\leftmargini {17\p@} +\setlength\leftmargin {\leftmargini} +\setlength\leftmarginii {\leftmargini} +\setlength\leftmarginiii {\leftmargini} +\setlength\leftmarginiv {\leftmargini} +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} + +\def\@listI{\leftmargin\leftmargini + \parsep 0\p@ \@plus1\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep0\p@} +\let\@listi\@listI +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 0\p@ \@plus2\p@ \@minus\p@} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 0\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@} + +\renewcommand\labelitemi{\normalfont\bfseries --} +\renewcommand\labelitemii{$\m@th\bullet$} + +\setlength\arraycolsep{1.4\p@} +\setlength\tabcolsep{1.4\p@} + +\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% + {{\contentsname}}} + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} + \def\lastand{\ifnum\value{auco}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{auco}% + \lastand + \else + \unskip, + \fi}% + \@starttoc{toc}\if@restonecol\twocolumn\fi} + +\def\l@part#1#2{\addpenalty{\@secpenalty}% + \addvspace{2em plus\p@}% % space above part line + \begingroup + \parindent \z@ + \rightskip \z@ plus 5em + \hrule\vskip5pt + \large % same size as for a contribution heading + \bfseries\boldmath % set line in boldface + \leavevmode % TeX command to enter horizontal mode. + #1\par + \vskip5pt + \hrule + \vskip1pt + \nobreak % Never break after part entry + \endgroup} + +\def\@dotsep{2} + +\let\phantomsection=\relax + +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else +{}\fi} + +\def\addnumcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline + {\thechapter}#3}{\thepage}\hyperhrefextend}}% +\def\addcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}% +\def\addcontentsmarkwop#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}% + +\def\@adcmk[#1]{\ifcase #1 \or +\def\@gtempa{\addnumcontentsmark}% + \or \def\@gtempa{\addcontentsmark}% + \or \def\@gtempa{\addcontentsmarkwop}% + \fi\@gtempa{toc}{chapter}% +} +\def\addtocmark{% +\phantomsection +\@ifnextchar[{\@adcmk}{\@adcmk[3]}% +} + +\def\l@chapter#1#2{\addpenalty{-\@highpenalty} + \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by 0pt plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\large\bfseries\boldmath#1}\ifx0#2\hfil\null + \else + \nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}% + \fi\par + \penalty\@highpenalty \endgroup} + +\def\l@title#1#2{\addpenalty{-\@highpenalty} + \addvspace{8pt plus 1pt} + \@tempdima \z@ + \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by 0pt plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + #1\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty \endgroup} + +\def\l@author#1#2{\addpenalty{\@highpenalty} + \@tempdima=15\p@ %\z@ + \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by 0pt plus 2cm + \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip + \textit{#1}\par + \penalty\@highpenalty \endgroup} + +\setcounter{tocdepth}{0} +\newdimen\tocchpnum +\newdimen\tocsecnum +\newdimen\tocsectotal +\newdimen\tocsubsecnum +\newdimen\tocsubsectotal +\newdimen\tocsubsubsecnum +\newdimen\tocsubsubsectotal +\newdimen\tocparanum +\newdimen\tocparatotal +\newdimen\tocsubparanum +\tocchpnum=\z@ % no chapter numbers +\tocsecnum=15\p@ % section 88. plus 2.222pt +\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt +\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt +\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt +\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt +\def\calctocindent{% +\tocsectotal=\tocchpnum +\advance\tocsectotal by\tocsecnum +\tocsubsectotal=\tocsectotal +\advance\tocsubsectotal by\tocsubsecnum +\tocsubsubsectotal=\tocsubsectotal +\advance\tocsubsubsectotal by\tocsubsubsecnum +\tocparatotal=\tocsubsubsectotal +\advance\tocparatotal by\tocparanum} +\calctocindent + +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} + +\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} + \@starttoc{lof}\if@restonecol\twocolumn\fi} +\def\l@figure{\@dottedtocline{1}{0em}{1.5em}} + +\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} + \@starttoc{lot}\if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +\renewcommand\listoffigures{% + \section*{\listfigurename + \@mkboth{\listfigurename}{\listfigurename}}% + \@starttoc{lof}% + } + +\renewcommand\listoftables{% + \section*{\listtablename + \@mkboth{\listtablename}{\listtablename}}% + \@starttoc{lot}% + } + +\ifx\oribibl\undefined +\ifx\citeauthoryear\undefined +\renewenvironment{thebibliography}[1] + {\section*{\refname} + \def\@biblabel##1{##1.} + \small + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \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\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw + {\let\protect\noexpand\immediate + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} +\newcount\@tempcntc +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@ifundefined + {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries + ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne + \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcntc + \else\advance\@tempcntb\m@ne\@citeo + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else + \@citea\def\@citea{,\,\hskip\z@skip}% + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else + \def\@citea{--}\fi + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} +\else +\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} + \fi +\else +\@cons\@openbib@code{\noexpand\small} +\fi + +\def\idxquad{\hskip 10\p@}% space that divides entry from number + +\def\@idxitem{\par\hangindent 10\p@} + +\def\subitem{\par\setbox0=\hbox{--\enspace}% second order + \noindent\hangindent\wd0\box0}% index entry + +\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third + \noindent\hangindent\wd0\box0}% order index entry + +\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} + +\renewenvironment{theindex} + {\@mkboth{\indexname}{\indexname}% + \thispagestyle{empty}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\par + \def\,{\relax\ifmmode\mskip\thinmuskip + \else\hskip0.2em\ignorespaces\fi}% + \normalfont\small + \begin{multicols}{2}[\@makeschapterhead{\indexname}]% + } + {\end{multicols}} + +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule\@width 2truecm + \kern2.6\p@} + \newdimen\fnindent + \fnindent1em +\long\def\@makefntext#1{% + \parindent \fnindent% + \leftskip \fnindent% + \noindent + \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} + +\long\def\@makecaption#1#2{% + \small + \vskip\abovecaptionskip + \sbox\@tempboxa{{\bfseries #1.} #2}% + \ifdim \wd\@tempboxa >\hsize + {\bfseries #1.} #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} + +\def\fps@figure{htbp} +\def\fnum@figure{\figurename\thinspace\thefigure} +\def \@floatboxreset {% + \reset@font + \small + \@setnobreak + \@setminipage +} +\def\fps@table{htbp} +\def\fnum@table{\tablename~\thetable} +\renewenvironment{table} + {\setlength\abovecaptionskip{0\p@}% + \setlength\belowcaptionskip{10\p@}% + \@float{table}} + {\end@float} +\renewenvironment{table*} + {\setlength\abovecaptionskip{0\p@}% + \setlength\belowcaptionskip{10\p@}% + \@dblfloat{table}} + {\end@dblfloat} + +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + +% LaTeX does not provide a command to enter the authors institute +% addresses. The \institute command is defined here. + +\newcounter{@inst} +\newcounter{@auth} +\newcounter{auco} +\newdimen\instindent +\newbox\authrun +\newtoks\authorrunning +\newtoks\tocauthor +\newbox\titrun +\newtoks\titlerunning +\newtoks\toctitle + +\def\clearheadinfo{\gdef\@author{No Author Given}% + \gdef\@title{No Title Given}% + \gdef\@subtitle{}% + \gdef\@institute{No Institute Given}% + \gdef\@thanks{}% + \global\titlerunning={}\global\authorrunning={}% + \global\toctitle={}\global\tocauthor={}} + +\def\institute#1{\gdef\@institute{#1}} + +\def\institutename{\par + \begingroup + \parskip=\z@ + \parindent=\z@ + \setcounter{@inst}{1}% + \def\and{\par\stepcounter{@inst}% + \noindent$^{\the@inst}$\enspace\ignorespaces}% + \setbox0=\vbox{\def\thanks##1{}\@institute}% + \ifnum\c@@inst=1\relax + \gdef\fnnstart{0}% + \else + \xdef\fnnstart{\c@@inst}% + \setcounter{@inst}{1}% + \noindent$^{\the@inst}$\enspace + \fi + \ignorespaces + \@institute\par + \endgroup} + +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or + {\star\star\star}\or \dagger\or \ddagger\or + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger + \or \ddagger\ddagger \else\@ctrerr\fi}} + +\def\inst#1{\unskip$^{#1}$} +\def\fnmsep{\unskip$^,$} +\def\email#1{{\tt#1}} +\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% +\@ifpackageloaded{babel}{% +\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% +\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% +\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% +\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}% +}{\switcht@@therlang}% +\providecommand{\keywords}[1]{\par\addvspace\baselineskip +\noindent\keywordname\enspace\ignorespaces#1}% +} +\def\homedir{\~{ }} + +\def\subtitle#1{\gdef\@subtitle{#1}} +\clearheadinfo +% +%%% to avoid hyperref warnings +\providecommand*{\toclevel@author}{999} +%%% to make title-entry parent of section-entries +\providecommand*{\toclevel@title}{0} +% +\renewcommand\maketitle{\newpage +\phantomsection + \refstepcounter{chapter}% + \stepcounter{section}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{figure}{0} + \setcounter{table}{0} + \setcounter{equation}{0} + \setcounter{footnote}{0}% + \begingroup + \parindent=\z@ + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{empty}\@thanks +% + \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% + \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% + \instindent=\hsize + \advance\instindent by-\headlineindent + \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else + \addcontentsline{toc}{title}{\the\toctitle}\fi + \if@runhead + \if!\the\titlerunning!\else + \edef\@title{\the\titlerunning}% + \fi + \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% + \ifdim\wd\titrun>\instindent + \typeout{Title too long for running head. Please supply}% + \typeout{a shorter form with \string\titlerunning\space prior to + \string\maketitle}% + \global\setbox\titrun=\hbox{\small\rm + Title Suppressed Due to Excessive Length}% + \fi + \xdef\@title{\copy\titrun}% + \fi +% + \if!\the\tocauthor!\relax + {\def\and{\noexpand\protect\noexpand\and}% + \protected@xdef\toc@uthor{\@author}}% + \else + \def\\{\noexpand\protect\noexpand\newline}% + \protected@xdef\scratch{\the\tocauthor}% + \protected@xdef\toc@uthor{\scratch}% + \fi + \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}% + \addcontentsline{toc}{author}{\toc@uthor}% + \if@runhead + \if!\the\authorrunning! + \value{@inst}=\value{@auth}% + \setcounter{@auth}{1}% + \else + \edef\@author{\the\authorrunning}% + \fi + \global\setbox\authrun=\hbox{\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 + \string\maketitle}% + \global\setbox\authrun=\hbox{\small\rm + Authors Suppressed Due to Excessive Length}% + \fi + \xdef\@author{\copy\authrun}% + \markboth{\@author}{\@title}% + \fi + \endgroup + \setcounter{footnote}{\fnnstart}% + \clearheadinfo} +% +\def\@maketitle{\newpage + \markboth{}{}% + \def\lastand{\ifnum\value{@inst}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{@inst}% + \lastand + \else + \unskip, + \fi}% + \begin{center}% + \let\newline\\ + {\Large \bfseries\boldmath + \pretolerance=10000 + \@title \par}\vskip .8cm +\if!\@subtitle!\else {\large \bfseries\boldmath + \vskip -.65cm + \pretolerance=10000 + \@subtitle \par}\vskip .8cm\fi + \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% + \def\thanks##1{}\@author}% + \global\value{@inst}=\value{@auth}% + \global\value{auco}=\value{@auth}% + \setcounter{@auth}{1}% +{\lineskip .5em +\noindent\ignorespaces +\@author\vskip.35cm} + {\small\institutename} + \end{center}% + } + +% definition of the "\spnewtheorem" command. +% +% Usage: +% +% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} +% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} +% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} +% +% New is "cap_font" and "body_font". It stands for +% fontdefinition of the caption and the text itself. +% +% "\spnewtheorem*" gives a theorem without number. +% +% A defined spnewthoerem environment is used as described +% by Lamport. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@thmcountersep{} +\def\@thmcounterend{.} + +\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} + +% definition of \spnewtheorem with number + +\def\@spnthm#1#2{% + \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} +\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} + +\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@addtoreset{#1}{#3}% + \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand + \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spothm#1[#2]#3#4#5{% + \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\newaliascnt{#1}{#2}% + \expandafter\xdef\csname #1name\endcsname{#3}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}}} + +\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\refstepcounter{#1}% +\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} + +\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% + \ignorespaces} + +\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname + the#1\endcsname}{#5}{#3}{#4}\ignorespaces} + +\def\@spbegintheorem#1#2#3#4{\trivlist + \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} + +\def\@spopargbegintheorem#1#2#3#4#5{\trivlist + \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} + +% definition of \spnewtheorem* without number + +\def\@sthm#1#2{\@Ynthm{#1}{#2}} + +\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} + +\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} + +\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} + {#4}{#2}{#3}\ignorespaces} + +\def\@Begintheorem#1#2#3{#3\trivlist + \item[\hskip\labelsep{#2#1\@thmcounterend}]} + +\def\@Opargbegintheorem#1#2#3#4{#4\trivlist + \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} + +\if@envcntsect + \def\@thmcountersep{.} + \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} +\else + \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} + \if@envcntreset + \@addtoreset{theorem}{section} + \else + \@addtoreset{theorem}{chapter} + \fi +\fi + +%definition of divers theorem environments +\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} +\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} +\if@envcntsame % alle Umgebungen wie Theorem. + \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} +\else % alle Umgebungen mit eigenem Zaehler + \if@envcntsect % mit section numeriert + \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} + \else % nicht mit section numeriert + \if@envcntreset + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{section}} + \else + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{chapter}}% + \fi + \fi +\fi +\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} +\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} +\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} +\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} +\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} +\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} +\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} +\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} +\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} +\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} +\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} +\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} +\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} +\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} + +\def\@takefromreset#1#2{% + \def\@tempa{#1}% + \let\@tempd\@elt + \def\@elt##1{% + \def\@tempb{##1}% + \ifx\@tempa\@tempb\else + \@addtoreset{##1}{#2}% + \fi}% + \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname + \expandafter\def\csname cl@#2\endcsname{}% + \@tempc + \let\@elt\@tempd} + +\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist + \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} + } + +\renewenvironment{abstract}{% + \list{}{\advance\topsep by0.35cm\relax\small + \leftmargin=1cm + \labelwidth=\z@ + \listparindent=\z@ + \itemindent\listparindent + \rightmargin\leftmargin}\item[\hskip\labelsep + \bfseries\abstractname]} + {\endlist} + +\newdimen\headlineindent % dimension for space between +\headlineindent=1.166cm % number and text of headings. + +\def\ps@headings{\let\@mkboth\@gobbletwo + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% + \leftmark\hfil} + \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% + \llap{\thepage}} + \def\chaptermark##1{}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} + +\def\ps@titlepage{\let\@mkboth\@gobbletwo + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% + \hfil} + \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}% + \llap{\thepage}} + \def\chaptermark##1{}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} + +\if@runhead\ps@headings\else +\ps@empty\fi + +\setlength\arraycolsep{1.4\p@} +\setlength\tabcolsep{1.4\p@} + +\endinput +%end of file llncs.cls diff --git a/OSS-2016/llncs.tex b/OSS-2016/llncs.tex new file mode 100644 index 0000000..eb665a6 --- /dev/null +++ b/OSS-2016/llncs.tex @@ -0,0 +1,1256 @@ +% 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/OSS-2016/llncsdoc.sty b/OSS-2016/llncsdoc.sty new file mode 100644 index 0000000..5843cba --- /dev/null +++ b/OSS-2016/llncsdoc.sty @@ -0,0 +1,42 @@ +% 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/OSS-2016/remreset.sty b/OSS-2016/remreset.sty new file mode 100644 index 0000000..b53de58 --- /dev/null +++ b/OSS-2016/remreset.sty @@ -0,0 +1,39 @@ + +% 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/OSS-2016/spb.bib b/OSS-2016/spb.bib new file mode 100644 index 0000000..0a17dd0 --- /dev/null +++ b/OSS-2016/spb.bib @@ -0,0 +1,37 @@ +@article{naur1969software, + title={NATO}, + author={Naur, Peter and Randell, Brian}, + year={1969} +} + +@phdthesis{meirelles2013monitoramento, + title={Monitoramento de m{\'e}tricas de c{\'o}digo-fonte em projetos de software livre}, + author={Meirelles, Paulo Roberto Miranda}, + year={2013}, + school={Universidade de S{\~a}o Paulo}, + url={http://www.teses.usp.br/teses/disponiveis/45/45134/tde-27082013-090242/pt-br.php} +} + +@article{meirelles2009crab, + title={Crab: Uma software para avalia{\c{c}}{\~a}o de qualidade de c{\'o}digo}, + author={Meirellesunes, Paulo and Challco, Geiser and Morais, Eduardo and Kon, Fabio}, + journal={XXIII SBES-Simp{\'o}sio Brasileiro de Engenharia de Software (XVI Sess{\~a}o de Ferramentas). Citado na p{\'a}g}, + volume={33}, + year={2009} +} + +@mastersthesis{de2013kalibro, + title={Kalibro: interpreta{\c{c}}{\~a}o de m{\'e}tricas de c{\'o}digo-fonte}, + author={de Oliveira Filho, Carlos Morais}, + year={2013}, + school={Universidade de S{\~a}o Paulo} +} + +@inproceedings{terceiro2010analizo, + title={Analizo: an extensible multi-language source code analysis and visualization toolkit}, + author={Terceiro, ulo and Rios, Luiz Rom{\'a}rio and Almeida, Lucianna and Chavez, Christina and Kon, Fabio}, + booktitle={Brazilian Conference on Software: Theory and Practice (CBSoft)--Tools, Salvador-Brazil}, + volume={29}, + year={2010} +} + diff --git a/OSS-2016/spb.tex b/OSS-2016/spb.tex new file mode 100644 index 0000000..27050f1 --- /dev/null +++ b/OSS-2016/spb.tex @@ -0,0 +1,81 @@ +\documentclass{llncs} + +\usepackage{llncsdoc} +\usepackage{graphicx,url} +\usepackage[brazil]{babel} +\usepackage[utf8]{inputenc} +\usepackage{float} +\usepackage{setspace} + +\usepackage{tabularx} +\usepackage{cite} +\usepackage{hyperref} + +\begin{document} +\sloppy +\title{Titulo aqui} + +\author{Autores aqui} + +\institute{Instituto Aqui\\ + \email{\{emails, aqui\}@unb.br} + \and + Faculdade do Gama -- Universidade de Brasília (UnB)\\ + Gama -- DF -- Brasil\\ + \email{paulormm@unb.br}} + +\maketitle +\begin{abstract} + % Contexto + % Problema + % TODO: adicionar referência que apoie a falta de uso de análise estática em ambientes de desenvolvimento. + % Soluções propostas + % Frase de impacto +\textbf{palavras chave} palavras chaves aqui. +\end{abstract} + +\section{Introdução} \label{sec:intro} + +\section{Motivação}\label{sec:motivacao} + +\section{Ferramentas similares} + +\section{Histórico do spb}\label{sec:spb} + + \subsection{Origem}\label{sec:origin} + + + \subsection{Primeiro protótipo de interface gráfica}\label{sec:primeiro-prototipo} + + \subsection{Segunda interface gráfica - Prezento}\label{sec:segundo-prototipo} + + \subsection{Kalibro em \textit{Ruby on Rails}} + +\section{Arquitetura} + + %%% Colocar figura da época do Noosfero + + %%% Colocar figura da época pós Noosfero. Dependendo da figura que vamos colocar aqui, adaptar o texto e adicionar mais coisas. + + %%% Colocar figura atual. Decidir se já vamos colocar com kalibro_client e kalibro_core. Complementar o texto. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Diferenciais} \label{subsec:motivacao} + +\section{Por que usar o Mezuro?} \label{sec:projeto-mezuro} + +\section{Principais funcionalidades}\label{sec:princ-funcionalidades} + +\section{A rede social}\label{sec:user-potencial} + +\section{Casos de uso} + + \subsection{Criação de configuração} + + \subsection{Criação de projeto e avaliação de repositório} + +\section{Conclusão} + +\bibliographystyle{splncs03} +\bibliography{mezuro} +\end{document} diff --git a/OSS-2016/splncs03.bst b/OSS-2016/splncs03.bst new file mode 100644 index 0000000..3279169 --- /dev/null +++ b/OSS-2016/splncs03.bst @@ -0,0 +1,1519 @@ +%% 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/OSS-2016/sprmindx.sty b/OSS-2016/sprmindx.sty new file mode 100644 index 0000000..8f17772 --- /dev/null +++ b/OSS-2016/sprmindx.sty @@ -0,0 +1,4 @@ +delim_0 "\\idxquad " +delim_1 "\\idxquad " +delim_2 "\\idxquad " +delim_n ",\\," -- libgit2 0.21.2