Commit c661431033a9d33a0e1e663e07dc29c96d2f2c5c

Authored by Paulo Meireles
1 parent 56522b5b

a first draft for OSS Tool Demonstrations

OSS-2016/aliascnt.sty
... ... @@ -1,88 +0,0 @@
1   -%%
2   -%% This is file `aliascnt.sty',
3   -%% generated with the docstrip utility.
4   -%%
5   -%% The original source files were:
6   -%%
7   -%% aliascnt.dtx (with options: `package')
8   -%%
9   -%% This is a generated file.
10   -%%
11   -%% Project: aliascnt
12   -%% Version: 2009/09/08 v1.3
13   -%%
14   -%% Copyright (C) 2006, 2009 by
15   -%% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
16   -%%
17   -%% This work may be distributed and/or modified under the
18   -%% conditions of the LaTeX Project Public License, either
19   -%% version 1.3c of this license or (at your option) any later
20   -%% version. This version of this license is in
21   -%% http://www.latex-project.org/lppl/lppl-1-3c.txt
22   -%% and the latest version of this license is in
23   -%% http://www.latex-project.org/lppl.txt
24   -%% and version 1.3 or later is part of all distributions of
25   -%% LaTeX version 2005/12/01 or later.
26   -%%
27   -%% This work has the LPPL maintenance status "maintained".
28   -%%
29   -%% This Current Maintainer of this work is Heiko Oberdiek.
30   -%%
31   -%% This work consists of the main source file aliascnt.dtx
32   -%% and the derived files
33   -%% aliascnt.sty, aliascnt.pdf, aliascnt.ins, aliascnt.drv.
34   -%%
35   -\NeedsTeXFormat{LaTeX2e}
36   -\ProvidesPackage{aliascnt}%
37   - [2009/09/08 v1.3 Alias counter (HO)]%
38   -\newcommand*{\newaliascnt}[2]{%
39   - \begingroup
40   - \def\AC@glet##1{%
41   - \global\expandafter\let\csname##1#1\expandafter\endcsname
42   - \csname##1#2\endcsname
43   - }%
44   - \@ifundefined{c@#2}{%
45   - \@nocounterr{#2}%
46   - }{%
47   - \expandafter\@ifdefinable\csname c@#1\endcsname{%
48   - \AC@glet{c@}%
49   - \AC@glet{the}%
50   - \AC@glet{theH}%
51   - \AC@glet{p@}%
52   - \expandafter\gdef\csname AC@cnt@#1\endcsname{#2}%
53   - \expandafter\gdef\csname cl@#1\expandafter\endcsname
54   - \expandafter{\csname cl@#2\endcsname}%
55   - }%
56   - }%
57   - \endgroup
58   -}
59   -\newcommand*{\aliascntresetthe}[1]{%
60   - \@ifundefined{AC@cnt@#1}{%
61   - \PackageError{aliascnt}{%
62   - `#1' is not an alias counter%
63   - }\@ehc
64   - }{%
65   - \expandafter\let\csname the#1\expandafter\endcsname
66   - \csname the\csname AC@cnt@#1\endcsname\endcsname
67   - }%
68   -}
69   -\newcommand*{\AC@findrootcnt}[1]{%
70   - \@ifundefined{AC@cnt@#1}{%
71   - #1%
72   - }{%
73   - \expandafter\AC@findrootcnt\csname AC@cnt@#1\endcsname
74   - }%
75   -}
76   -\def\AC@patch#1{%
77   - \expandafter\let\csname AC@org@#1reset\expandafter\endcsname
78   - \csname @#1reset\endcsname
79   - \expandafter\def\csname @#1reset\endcsname##1##2{%
80   - \csname AC@org@#1reset\endcsname{##1}{\AC@findrootcnt{##2}}%
81   - }%
82   -}
83   -\RequirePackage{remreset}
84   -\AC@patch{addto}
85   -\AC@patch{removefrom}
86   -\endinput
87   -%%
88   -%% End of file `aliascnt.sty'.
OSS-2016/llncs.cls
... ... @@ -1,1208 +0,0 @@
1   -% LLNCS DOCUMENT CLASS -- version 2.18 (27-Sep-2013)
2   -% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
3   -%
4   -%%
5   -%% \CharacterTable
6   -%% {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
7   -%% 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
8   -%% Digits \0\1\2\3\4\5\6\7\8\9
9   -%% Exclamation \! Double quote \" Hash (number) \#
10   -%% Dollar \$ Percent \% Ampersand \&
11   -%% Acute accent \' Left paren \( Right paren \)
12   -%% Asterisk \* Plus \+ Comma \,
13   -%% Minus \- Point \. Solidus \/
14   -%% Colon \: Semicolon \; Less than \<
15   -%% Equals \= Greater than \> Question mark \?
16   -%% Commercial at \@ Left bracket \[ Backslash \\
17   -%% Right bracket \] Circumflex \^ Underscore \_
18   -%% Grave accent \` Left brace \{ Vertical bar \|
19   -%% Right brace \} Tilde \~}
20   -%%
21   -\NeedsTeXFormat{LaTeX2e}[1995/12/01]
22   -\ProvidesClass{llncs}[2013/09/27 v2.18
23   -^^J LaTeX document class for Lecture Notes in Computer Science]
24   -% Options
25   -\let\if@envcntreset\iffalse
26   -\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
27   -\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
28   -\DeclareOption{oribibl}{\let\oribibl=Y}
29   -\let\if@custvec\iftrue
30   -\DeclareOption{orivec}{\let\if@custvec\iffalse}
31   -\let\if@envcntsame\iffalse
32   -\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
33   -\let\if@envcntsect\iffalse
34   -\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
35   -\let\if@runhead\iffalse
36   -\DeclareOption{runningheads}{\let\if@runhead\iftrue}
37   -
38   -\let\if@openright\iftrue
39   -\let\if@openbib\iffalse
40   -\DeclareOption{openbib}{\let\if@openbib\iftrue}
41   -
42   -% languages
43   -\let\switcht@@therlang\relax
44   -\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}
45   -\def\ds@francais{\def\switcht@@therlang{\switcht@francais}}
46   -
47   -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
48   -
49   -\ProcessOptions
50   -
51   -\LoadClass[twoside]{article}
52   -\RequirePackage{multicol} % needed for the list of participants, index
53   -\RequirePackage{aliascnt}
54   -
55   -\setlength{\textwidth}{12.2cm}
56   -\setlength{\textheight}{19.3cm}
57   -\renewcommand\@pnumwidth{2em}
58   -\renewcommand\@tocrmarg{3.5em}
59   -%
60   -\def\@dottedtocline#1#2#3#4#5{%
61   - \ifnum #1>\c@tocdepth \else
62   - \vskip \z@ \@plus.2\p@
63   - {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm
64   - \parfillskip -\rightskip \pretolerance=10000
65   - \parindent #2\relax\@afterindenttrue
66   - \interlinepenalty\@M
67   - \leavevmode
68   - \@tempdima #3\relax
69   - \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
70   - {#4}\nobreak
71   - \leaders\hbox{$\m@th
72   - \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
73   - mu$}\hfill
74   - \nobreak
75   - \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
76   - \par}%
77   - \fi}
78   -%
79   -\def\switcht@albion{%
80   -\def\abstractname{Abstract.}
81   -\def\ackname{Acknowledgement.}
82   -\def\andname{and}
83   -\def\lastandname{\unskip, and}
84   -\def\appendixname{Appendix}
85   -\def\chaptername{Chapter}
86   -\def\claimname{Claim}
87   -\def\conjecturename{Conjecture}
88   -\def\contentsname{Table of Contents}
89   -\def\corollaryname{Corollary}
90   -\def\definitionname{Definition}
91   -\def\examplename{Example}
92   -\def\exercisename{Exercise}
93   -\def\figurename{Fig.}
94   -\def\keywordname{{\bf Keywords:}}
95   -\def\indexname{Index}
96   -\def\lemmaname{Lemma}
97   -\def\contriblistname{List of Contributors}
98   -\def\listfigurename{List of Figures}
99   -\def\listtablename{List of Tables}
100   -\def\mailname{{\it Correspondence to\/}:}
101   -\def\noteaddname{Note added in proof}
102   -\def\notename{Note}
103   -\def\partname{Part}
104   -\def\problemname{Problem}
105   -\def\proofname{Proof}
106   -\def\propertyname{Property}
107   -\def\propositionname{Proposition}
108   -\def\questionname{Question}
109   -\def\remarkname{Remark}
110   -\def\seename{see}
111   -\def\solutionname{Solution}
112   -\def\subclassname{{\it Subject Classifications\/}:}
113   -\def\tablename{Table}
114   -\def\theoremname{Theorem}}
115   -\switcht@albion
116   -% Names of theorem like environments are already defined
117   -% but must be translated if another language is chosen
118   -%
119   -% French section
120   -\def\switcht@francais{%\typeout{On parle francais.}%
121   - \def\abstractname{R\'esum\'e.}%
122   - \def\ackname{Remerciements.}%
123   - \def\andname{et}%
124   - \def\lastandname{ et}%
125   - \def\appendixname{Appendice}
126   - \def\chaptername{Chapitre}%
127   - \def\claimname{Pr\'etention}%
128   - \def\conjecturename{Hypoth\`ese}%
129   - \def\contentsname{Table des mati\`eres}%
130   - \def\corollaryname{Corollaire}%
131   - \def\definitionname{D\'efinition}%
132   - \def\examplename{Exemple}%
133   - \def\exercisename{Exercice}%
134   - \def\figurename{Fig.}%
135   - \def\keywordname{{\bf Mots-cl\'e:}}
136   - \def\indexname{Index}
137   - \def\lemmaname{Lemme}%
138   - \def\contriblistname{Liste des contributeurs}
139   - \def\listfigurename{Liste des figures}%
140   - \def\listtablename{Liste des tables}%
141   - \def\mailname{{\it Correspondence to\/}:}
142   - \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
143   - \def\notename{Remarque}%
144   - \def\partname{Partie}%
145   - \def\problemname{Probl\`eme}%
146   - \def\proofname{Preuve}%
147   - \def\propertyname{Caract\'eristique}%
148   -%\def\propositionname{Proposition}%
149   - \def\questionname{Question}%
150   - \def\remarkname{Remarque}%
151   - \def\seename{voir}
152   - \def\solutionname{Solution}%
153   - \def\subclassname{{\it Subject Classifications\/}:}
154   - \def\tablename{Tableau}%
155   - \def\theoremname{Th\'eor\`eme}%
156   -}
157   -%
158   -% German section
159   -\def\switcht@deutsch{%\typeout{Man spricht deutsch.}%
160   - \def\abstractname{Zusammenfassung.}%
161   - \def\ackname{Danksagung.}%
162   - \def\andname{und}%
163   - \def\lastandname{ und}%
164   - \def\appendixname{Anhang}%
165   - \def\chaptername{Kapitel}%
166   - \def\claimname{Behauptung}%
167   - \def\conjecturename{Hypothese}%
168   - \def\contentsname{Inhaltsverzeichnis}%
169   - \def\corollaryname{Korollar}%
170   -%\def\definitionname{Definition}%
171   - \def\examplename{Beispiel}%
172   - \def\exercisename{\"Ubung}%
173   - \def\figurename{Abb.}%
174   - \def\keywordname{{\bf Schl\"usselw\"orter:}}
175   - \def\indexname{Index}
176   -%\def\lemmaname{Lemma}%
177   - \def\contriblistname{Mitarbeiter}
178   - \def\listfigurename{Abbildungsverzeichnis}%
179   - \def\listtablename{Tabellenverzeichnis}%
180   - \def\mailname{{\it Correspondence to\/}:}
181   - \def\noteaddname{Nachtrag}%
182   - \def\notename{Anmerkung}%
183   - \def\partname{Teil}%
184   -%\def\problemname{Problem}%
185   - \def\proofname{Beweis}%
186   - \def\propertyname{Eigenschaft}%
187   -%\def\propositionname{Proposition}%
188   - \def\questionname{Frage}%
189   - \def\remarkname{Anmerkung}%
190   - \def\seename{siehe}
191   - \def\solutionname{L\"osung}%
192   - \def\subclassname{{\it Subject Classifications\/}:}
193   - \def\tablename{Tabelle}%
194   -%\def\theoremname{Theorem}%
195   -}
196   -
197   -% Ragged bottom for the actual page
198   -\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
199   -\global\let\@textbottom\relax}}
200   -
201   -\renewcommand\small{%
202   - \@setfontsize\small\@ixpt{11}%
203   - \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
204   - \abovedisplayshortskip \z@ \@plus2\p@
205   - \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
206   - \def\@listi{\leftmargin\leftmargini
207   - \parsep 0\p@ \@plus1\p@ \@minus\p@
208   - \topsep 8\p@ \@plus2\p@ \@minus4\p@
209   - \itemsep0\p@}%
210   - \belowdisplayskip \abovedisplayskip
211   -}
212   -
213   -\frenchspacing
214   -\widowpenalty=10000
215   -\clubpenalty=10000
216   -
217   -\setlength\oddsidemargin {63\p@}
218   -\setlength\evensidemargin {63\p@}
219   -\setlength\marginparwidth {90\p@}
220   -
221   -\setlength\headsep {16\p@}
222   -
223   -\setlength\footnotesep{7.7\p@}
224   -\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
225   -\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@}
226   -
227   -\setcounter{secnumdepth}{2}
228   -
229   -\newcounter {chapter}
230   -\renewcommand\thechapter {\@arabic\c@chapter}
231   -
232   -\newif\if@mainmatter \@mainmattertrue
233   -\newcommand\frontmatter{\cleardoublepage
234   - \@mainmatterfalse\pagenumbering{Roman}}
235   -\newcommand\mainmatter{\cleardoublepage
236   - \@mainmattertrue\pagenumbering{arabic}}
237   -\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
238   - \@mainmatterfalse}
239   -
240   -\renewcommand\part{\cleardoublepage
241   - \thispagestyle{empty}%
242   - \if@twocolumn
243   - \onecolumn
244   - \@tempswatrue
245   - \else
246   - \@tempswafalse
247   - \fi
248   - \null\vfil
249   - \secdef\@part\@spart}
250   -
251   -\def\@part[#1]#2{%
252   - \ifnum \c@secnumdepth >-2\relax
253   - \refstepcounter{part}%
254   - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
255   - \else
256   - \addcontentsline{toc}{part}{#1}%
257   - \fi
258   - \markboth{}{}%
259   - {\centering
260   - \interlinepenalty \@M
261   - \normalfont
262   - \ifnum \c@secnumdepth >-2\relax
263   - \huge\bfseries \partname~\thepart
264   - \par
265   - \vskip 20\p@
266   - \fi
267   - \Huge \bfseries #2\par}%
268   - \@endpart}
269   -\def\@spart#1{%
270   - {\centering
271   - \interlinepenalty \@M
272   - \normalfont
273   - \Huge \bfseries #1\par}%
274   - \@endpart}
275   -\def\@endpart{\vfil\newpage
276   - \if@twoside
277   - \null
278   - \thispagestyle{empty}%
279   - \newpage
280   - \fi
281   - \if@tempswa
282   - \twocolumn
283   - \fi}
284   -
285   -\newcommand\chapter{\clearpage
286   - \thispagestyle{empty}%
287   - \global\@topnum\z@
288   - \@afterindentfalse
289   - \secdef\@chapter\@schapter}
290   -\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
291   - \if@mainmatter
292   - \refstepcounter{chapter}%
293   - \typeout{\@chapapp\space\thechapter.}%
294   - \addcontentsline{toc}{chapter}%
295   - {\protect\numberline{\thechapter}#1}%
296   - \else
297   - \addcontentsline{toc}{chapter}{#1}%
298   - \fi
299   - \else
300   - \addcontentsline{toc}{chapter}{#1}%
301   - \fi
302   - \chaptermark{#1}%
303   - \addtocontents{lof}{\protect\addvspace{10\p@}}%
304   - \addtocontents{lot}{\protect\addvspace{10\p@}}%
305   - \if@twocolumn
306   - \@topnewpage[\@makechapterhead{#2}]%
307   - \else
308   - \@makechapterhead{#2}%
309   - \@afterheading
310   - \fi}
311   -\def\@makechapterhead#1{%
312   -% \vspace*{50\p@}%
313   - {\centering
314   - \ifnum \c@secnumdepth >\m@ne
315   - \if@mainmatter
316   - \large\bfseries \@chapapp{} \thechapter
317   - \par\nobreak
318   - \vskip 20\p@
319   - \fi
320   - \fi
321   - \interlinepenalty\@M
322   - \Large \bfseries #1\par\nobreak
323   - \vskip 40\p@
324   - }}
325   -\def\@schapter#1{\if@twocolumn
326   - \@topnewpage[\@makeschapterhead{#1}]%
327   - \else
328   - \@makeschapterhead{#1}%
329   - \@afterheading
330   - \fi}
331   -\def\@makeschapterhead#1{%
332   -% \vspace*{50\p@}%
333   - {\centering
334   - \normalfont
335   - \interlinepenalty\@M
336   - \Large \bfseries #1\par\nobreak
337   - \vskip 40\p@
338   - }}
339   -
340   -\renewcommand\section{\@startsection{section}{1}{\z@}%
341   - {-18\p@ \@plus -4\p@ \@minus -4\p@}%
342   - {12\p@ \@plus 4\p@ \@minus 4\p@}%
343   - {\normalfont\large\bfseries\boldmath
344   - \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
345   -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
346   - {-18\p@ \@plus -4\p@ \@minus -4\p@}%
347   - {8\p@ \@plus 4\p@ \@minus 4\p@}%
348   - {\normalfont\normalsize\bfseries\boldmath
349   - \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
350   -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
351   - {-18\p@ \@plus -4\p@ \@minus -4\p@}%
352   - {-0.5em \@plus -0.22em \@minus -0.1em}%
353   - {\normalfont\normalsize\bfseries\boldmath}}
354   -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
355   - {-12\p@ \@plus -4\p@ \@minus -4\p@}%
356   - {-0.5em \@plus -0.22em \@minus -0.1em}%
357   - {\normalfont\normalsize\itshape}}
358   -\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
359   - \string\subparagraph\space with this class}\vskip0.5cm
360   -You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
361   -
362   -\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
363   -\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
364   -\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
365   -\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
366   -\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
367   -\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
368   -\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
369   -\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
370   -\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
371   -\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
372   -\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
373   -
374   -\let\footnotesize\small
375   -
376   -\if@custvec
377   -\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
378   -{\mbox{\boldmath$\textstyle#1$}}
379   -{\mbox{\boldmath$\scriptstyle#1$}}
380   -{\mbox{\boldmath$\scriptscriptstyle#1$}}}
381   -\fi
382   -
383   -\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
384   -\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
385   -\penalty50\hskip1em\null\nobreak\hfil\squareforqed
386   -\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
387   -
388   -\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
389   -\halign{\hfil
390   -$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
391   -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
392   -\cr\to\cr}}}
393   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
394   -\cr\to\cr}}}
395   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
396   -\gets\cr\to\cr}}}}}
397   -\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
398   -$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
399   -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
400   -\noalign{\vskip1.2pt}=\cr}}}
401   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
402   -\noalign{\vskip1pt}=\cr}}}
403   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
404   -<\cr
405   -\noalign{\vskip0.9pt}=\cr}}}}}
406   -\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
407   -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
408   -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
409   -\noalign{\vskip1.2pt}=\cr}}}
410   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
411   -\noalign{\vskip1pt}=\cr}}}
412   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
413   ->\cr
414   -\noalign{\vskip0.9pt}=\cr}}}}}
415   -\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
416   -\halign{\hfil
417   -$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
418   -{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
419   ->\cr\noalign{\vskip-1pt}<\cr}}}
420   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
421   ->\cr\noalign{\vskip-0.8pt}<\cr}}}
422   -{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
423   ->\cr\noalign{\vskip-0.3pt}<\cr}}}}}
424   -\def\bbbr{{\rm I\!R}} %reelle Zahlen
425   -\def\bbbm{{\rm I\!M}}
426   -\def\bbbn{{\rm I\!N}} %natuerliche Zahlen
427   -\def\bbbf{{\rm I\!F}}
428   -\def\bbbh{{\rm I\!H}}
429   -\def\bbbk{{\rm I\!K}}
430   -\def\bbbp{{\rm I\!P}}
431   -\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
432   -{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
433   -\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
434   -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
435   -{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
436   -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
437   -{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
438   -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
439   -{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
440   -to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
441   -\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
442   -Q$}\hbox{\raise
443   -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
444   -{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
445   -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
446   -{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
447   -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
448   -{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
449   -0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
450   -\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
451   -T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
452   -{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
453   -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
454   -{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
455   -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
456   -{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
457   -to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
458   -\def\bbbs{{\mathchoice
459   -{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox
460   -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
461   -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
462   -{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox
463   -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
464   -to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
465   -{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox
466   -to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
467   -to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
468   -{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
469   -to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
470   -to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
471   -\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
472   -{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
473   -{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
474   -{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
475   -
476   -\let\ts\,
477   -
478   -\setlength\leftmargini {17\p@}
479   -\setlength\leftmargin {\leftmargini}
480   -\setlength\leftmarginii {\leftmargini}
481   -\setlength\leftmarginiii {\leftmargini}
482   -\setlength\leftmarginiv {\leftmargini}
483   -\setlength \labelsep {.5em}
484   -\setlength \labelwidth{\leftmargini}
485   -\addtolength\labelwidth{-\labelsep}
486   -
487   -\def\@listI{\leftmargin\leftmargini
488   - \parsep 0\p@ \@plus1\p@ \@minus\p@
489   - \topsep 8\p@ \@plus2\p@ \@minus4\p@
490   - \itemsep0\p@}
491   -\let\@listi\@listI
492   -\@listi
493   -\def\@listii {\leftmargin\leftmarginii
494   - \labelwidth\leftmarginii
495   - \advance\labelwidth-\labelsep
496   - \topsep 0\p@ \@plus2\p@ \@minus\p@}
497   -\def\@listiii{\leftmargin\leftmarginiii
498   - \labelwidth\leftmarginiii
499   - \advance\labelwidth-\labelsep
500   - \topsep 0\p@ \@plus\p@\@minus\p@
501   - \parsep \z@
502   - \partopsep \p@ \@plus\z@ \@minus\p@}
503   -
504   -\renewcommand\labelitemi{\normalfont\bfseries --}
505   -\renewcommand\labelitemii{$\m@th\bullet$}
506   -
507   -\setlength\arraycolsep{1.4\p@}
508   -\setlength\tabcolsep{1.4\p@}
509   -
510   -\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
511   - {{\contentsname}}}
512   - \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
513   - \def\lastand{\ifnum\value{auco}=2\relax
514   - \unskip{} \andname\
515   - \else
516   - \unskip \lastandname\
517   - \fi}%
518   - \def\and{\stepcounter{@auth}\relax
519   - \ifnum\value{@auth}=\value{auco}%
520   - \lastand
521   - \else
522   - \unskip,
523   - \fi}%
524   - \@starttoc{toc}\if@restonecol\twocolumn\fi}
525   -
526   -\def\l@part#1#2{\addpenalty{\@secpenalty}%
527   - \addvspace{2em plus\p@}% % space above part line
528   - \begingroup
529   - \parindent \z@
530   - \rightskip \z@ plus 5em
531   - \hrule\vskip5pt
532   - \large % same size as for a contribution heading
533   - \bfseries\boldmath % set line in boldface
534   - \leavevmode % TeX command to enter horizontal mode.
535   - #1\par
536   - \vskip5pt
537   - \hrule
538   - \vskip1pt
539   - \nobreak % Never break after part entry
540   - \endgroup}
541   -
542   -\def\@dotsep{2}
543   -
544   -\let\phantomsection=\relax
545   -
546   -\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
547   -{}\fi}
548   -
549   -\def\addnumcontentsmark#1#2#3{%
550   -\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
551   - {\thechapter}#3}{\thepage}\hyperhrefextend}}%
552   -\def\addcontentsmark#1#2#3{%
553   -\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}%
554   -\def\addcontentsmarkwop#1#2#3{%
555   -\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}%
556   -
557   -\def\@adcmk[#1]{\ifcase #1 \or
558   -\def\@gtempa{\addnumcontentsmark}%
559   - \or \def\@gtempa{\addcontentsmark}%
560   - \or \def\@gtempa{\addcontentsmarkwop}%
561   - \fi\@gtempa{toc}{chapter}%
562   -}
563   -\def\addtocmark{%
564   -\phantomsection
565   -\@ifnextchar[{\@adcmk}{\@adcmk[3]}%
566   -}
567   -
568   -\def\l@chapter#1#2{\addpenalty{-\@highpenalty}
569   - \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
570   - \parindent \z@ \rightskip \@tocrmarg
571   - \advance\rightskip by 0pt plus 2cm
572   - \parfillskip -\rightskip \pretolerance=10000
573   - \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
574   - {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
575   - \else
576   - \nobreak
577   - \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
578   - \@dotsep mu$}\hfill
579   - \nobreak\hbox to\@pnumwidth{\hss #2}%
580   - \fi\par
581   - \penalty\@highpenalty \endgroup}
582   -
583   -\def\l@title#1#2{\addpenalty{-\@highpenalty}
584   - \addvspace{8pt plus 1pt}
585   - \@tempdima \z@
586   - \begingroup
587   - \parindent \z@ \rightskip \@tocrmarg
588   - \advance\rightskip by 0pt plus 2cm
589   - \parfillskip -\rightskip \pretolerance=10000
590   - \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
591   - #1\nobreak
592   - \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
593   - \@dotsep mu$}\hfill
594   - \nobreak\hbox to\@pnumwidth{\hss #2}\par
595   - \penalty\@highpenalty \endgroup}
596   -
597   -\def\l@author#1#2{\addpenalty{\@highpenalty}
598   - \@tempdima=15\p@ %\z@
599   - \begingroup
600   - \parindent \z@ \rightskip \@tocrmarg
601   - \advance\rightskip by 0pt plus 2cm
602   - \pretolerance=10000
603   - \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
604   - \textit{#1}\par
605   - \penalty\@highpenalty \endgroup}
606   -
607   -\setcounter{tocdepth}{0}
608   -\newdimen\tocchpnum
609   -\newdimen\tocsecnum
610   -\newdimen\tocsectotal
611   -\newdimen\tocsubsecnum
612   -\newdimen\tocsubsectotal
613   -\newdimen\tocsubsubsecnum
614   -\newdimen\tocsubsubsectotal
615   -\newdimen\tocparanum
616   -\newdimen\tocparatotal
617   -\newdimen\tocsubparanum
618   -\tocchpnum=\z@ % no chapter numbers
619   -\tocsecnum=15\p@ % section 88. plus 2.222pt
620   -\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt
621   -\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt
622   -\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt
623   -\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt
624   -\def\calctocindent{%
625   -\tocsectotal=\tocchpnum
626   -\advance\tocsectotal by\tocsecnum
627   -\tocsubsectotal=\tocsectotal
628   -\advance\tocsubsectotal by\tocsubsecnum
629   -\tocsubsubsectotal=\tocsubsectotal
630   -\advance\tocsubsubsectotal by\tocsubsubsecnum
631   -\tocparatotal=\tocsubsubsectotal
632   -\advance\tocparatotal by\tocparanum}
633   -\calctocindent
634   -
635   -\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
636   -\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
637   -\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
638   -\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
639   -\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
640   -
641   -\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
642   - \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
643   - \@starttoc{lof}\if@restonecol\twocolumn\fi}
644   -\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
645   -
646   -\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
647   - \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
648   - \@starttoc{lot}\if@restonecol\twocolumn\fi}
649   -\let\l@table\l@figure
650   -
651   -\renewcommand\listoffigures{%
652   - \section*{\listfigurename
653   - \@mkboth{\listfigurename}{\listfigurename}}%
654   - \@starttoc{lof}%
655   - }
656   -
657   -\renewcommand\listoftables{%
658   - \section*{\listtablename
659   - \@mkboth{\listtablename}{\listtablename}}%
660   - \@starttoc{lot}%
661   - }
662   -
663   -\ifx\oribibl\undefined
664   -\ifx\citeauthoryear\undefined
665   -\renewenvironment{thebibliography}[1]
666   - {\section*{\refname}
667   - \def\@biblabel##1{##1.}
668   - \small
669   - \list{\@biblabel{\@arabic\c@enumiv}}%
670   - {\settowidth\labelwidth{\@biblabel{#1}}%
671   - \leftmargin\labelwidth
672   - \advance\leftmargin\labelsep
673   - \if@openbib
674   - \advance\leftmargin\bibindent
675   - \itemindent -\bibindent
676   - \listparindent \itemindent
677   - \parsep \z@
678   - \fi
679   - \usecounter{enumiv}%
680   - \let\p@enumiv\@empty
681   - \renewcommand\theenumiv{\@arabic\c@enumiv}}%
682   - \if@openbib
683   - \renewcommand\newblock{\par}%
684   - \else
685   - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
686   - \fi
687   - \sloppy\clubpenalty4000\widowpenalty4000%
688   - \sfcode`\.=\@m}
689   - {\def\@noitemerr
690   - {\@latex@warning{Empty `thebibliography' environment}}%
691   - \endlist}
692   -\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
693   - {\let\protect\noexpand\immediate
694   - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
695   -\newcount\@tempcntc
696   -\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
697   - \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
698   - {\@ifundefined
699   - {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
700   - ?}\@warning
701   - {Citation `\@citeb' on page \thepage \space undefined}}%
702   - {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
703   - \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
704   - \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
705   - \else
706   - \advance\@tempcntb\@ne
707   - \ifnum\@tempcntb=\@tempcntc
708   - \else\advance\@tempcntb\m@ne\@citeo
709   - \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
710   -\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
711   - \@citea\def\@citea{,\,\hskip\z@skip}%
712   - \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
713   - {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
714   - \def\@citea{--}\fi
715   - \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
716   -\else
717   -\renewenvironment{thebibliography}[1]
718   - {\section*{\refname}
719   - \small
720   - \list{}%
721   - {\settowidth\labelwidth{}%
722   - \leftmargin\parindent
723   - \itemindent=-\parindent
724   - \labelsep=\z@
725   - \if@openbib
726   - \advance\leftmargin\bibindent
727   - \itemindent -\bibindent
728   - \listparindent \itemindent
729   - \parsep \z@
730   - \fi
731   - \usecounter{enumiv}%
732   - \let\p@enumiv\@empty
733   - \renewcommand\theenumiv{}}%
734   - \if@openbib
735   - \renewcommand\newblock{\par}%
736   - \else
737   - \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
738   - \fi
739   - \sloppy\clubpenalty4000\widowpenalty4000%
740   - \sfcode`\.=\@m}
741   - {\def\@noitemerr
742   - {\@latex@warning{Empty `thebibliography' environment}}%
743   - \endlist}
744   - \def\@cite#1{#1}%
745   - \def\@lbibitem[#1]#2{\item[]\if@filesw
746   - {\def\protect##1{\string ##1\space}\immediate
747   - \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
748   - \fi
749   -\else
750   -\@cons\@openbib@code{\noexpand\small}
751   -\fi
752   -
753   -\def\idxquad{\hskip 10\p@}% space that divides entry from number
754   -
755   -\def\@idxitem{\par\hangindent 10\p@}
756   -
757   -\def\subitem{\par\setbox0=\hbox{--\enspace}% second order
758   - \noindent\hangindent\wd0\box0}% index entry
759   -
760   -\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
761   - \noindent\hangindent\wd0\box0}% order index entry
762   -
763   -\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
764   -
765   -\renewenvironment{theindex}
766   - {\@mkboth{\indexname}{\indexname}%
767   - \thispagestyle{empty}\parindent\z@
768   - \parskip\z@ \@plus .3\p@\relax
769   - \let\item\par
770   - \def\,{\relax\ifmmode\mskip\thinmuskip
771   - \else\hskip0.2em\ignorespaces\fi}%
772   - \normalfont\small
773   - \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
774   - }
775   - {\end{multicols}}
776   -
777   -\renewcommand\footnoterule{%
778   - \kern-3\p@
779   - \hrule\@width 2truecm
780   - \kern2.6\p@}
781   - \newdimen\fnindent
782   - \fnindent1em
783   -\long\def\@makefntext#1{%
784   - \parindent \fnindent%
785   - \leftskip \fnindent%
786   - \noindent
787   - \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
788   -
789   -\long\def\@makecaption#1#2{%
790   - \small
791   - \vskip\abovecaptionskip
792   - \sbox\@tempboxa{{\bfseries #1.} #2}%
793   - \ifdim \wd\@tempboxa >\hsize
794   - {\bfseries #1.} #2\par
795   - \else
796   - \global \@minipagefalse
797   - \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
798   - \fi
799   - \vskip\belowcaptionskip}
800   -
801   -\def\fps@figure{htbp}
802   -\def\fnum@figure{\figurename\thinspace\thefigure}
803   -\def \@floatboxreset {%
804   - \reset@font
805   - \small
806   - \@setnobreak
807   - \@setminipage
808   -}
809   -\def\fps@table{htbp}
810   -\def\fnum@table{\tablename~\thetable}
811   -\renewenvironment{table}
812   - {\setlength\abovecaptionskip{0\p@}%
813   - \setlength\belowcaptionskip{10\p@}%
814   - \@float{table}}
815   - {\end@float}
816   -\renewenvironment{table*}
817   - {\setlength\abovecaptionskip{0\p@}%
818   - \setlength\belowcaptionskip{10\p@}%
819   - \@dblfloat{table}}
820   - {\end@dblfloat}
821   -
822   -\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
823   - ext@#1\endcsname}{#1}{\protect\numberline{\csname
824   - the#1\endcsname}{\ignorespaces #2}}\begingroup
825   - \@parboxrestore
826   - \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
827   - \endgroup}
828   -
829   -% LaTeX does not provide a command to enter the authors institute
830   -% addresses. The \institute command is defined here.
831   -
832   -\newcounter{@inst}
833   -\newcounter{@auth}
834   -\newcounter{auco}
835   -\newdimen\instindent
836   -\newbox\authrun
837   -\newtoks\authorrunning
838   -\newtoks\tocauthor
839   -\newbox\titrun
840   -\newtoks\titlerunning
841   -\newtoks\toctitle
842   -
843   -\def\clearheadinfo{\gdef\@author{No Author Given}%
844   - \gdef\@title{No Title Given}%
845   - \gdef\@subtitle{}%
846   - \gdef\@institute{No Institute Given}%
847   - \gdef\@thanks{}%
848   - \global\titlerunning={}\global\authorrunning={}%
849   - \global\toctitle={}\global\tocauthor={}}
850   -
851   -\def\institute#1{\gdef\@institute{#1}}
852   -
853   -\def\institutename{\par
854   - \begingroup
855   - \parskip=\z@
856   - \parindent=\z@
857   - \setcounter{@inst}{1}%
858   - \def\and{\par\stepcounter{@inst}%
859   - \noindent$^{\the@inst}$\enspace\ignorespaces}%
860   - \setbox0=\vbox{\def\thanks##1{}\@institute}%
861   - \ifnum\c@@inst=1\relax
862   - \gdef\fnnstart{0}%
863   - \else
864   - \xdef\fnnstart{\c@@inst}%
865   - \setcounter{@inst}{1}%
866   - \noindent$^{\the@inst}$\enspace
867   - \fi
868   - \ignorespaces
869   - \@institute\par
870   - \endgroup}
871   -
872   -\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
873   - {\star\star\star}\or \dagger\or \ddagger\or
874   - \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
875   - \or \ddagger\ddagger \else\@ctrerr\fi}}
876   -
877   -\def\inst#1{\unskip$^{#1}$}
878   -\def\fnmsep{\unskip$^,$}
879   -\def\email#1{{\tt#1}}
880   -\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
881   -\@ifpackageloaded{babel}{%
882   -\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
883   -\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
884   -\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
885   -\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}%
886   -}{\switcht@@therlang}%
887   -\providecommand{\keywords}[1]{\par\addvspace\baselineskip
888   -\noindent\keywordname\enspace\ignorespaces#1}%
889   -}
890   -\def\homedir{\~{ }}
891   -
892   -\def\subtitle#1{\gdef\@subtitle{#1}}
893   -\clearheadinfo
894   -%
895   -%%% to avoid hyperref warnings
896   -\providecommand*{\toclevel@author}{999}
897   -%%% to make title-entry parent of section-entries
898   -\providecommand*{\toclevel@title}{0}
899   -%
900   -\renewcommand\maketitle{\newpage
901   -\phantomsection
902   - \refstepcounter{chapter}%
903   - \stepcounter{section}%
904   - \setcounter{section}{0}%
905   - \setcounter{subsection}{0}%
906   - \setcounter{figure}{0}
907   - \setcounter{table}{0}
908   - \setcounter{equation}{0}
909   - \setcounter{footnote}{0}%
910   - \begingroup
911   - \parindent=\z@
912   - \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
913   - \if@twocolumn
914   - \ifnum \col@number=\@ne
915   - \@maketitle
916   - \else
917   - \twocolumn[\@maketitle]%
918   - \fi
919   - \else
920   - \newpage
921   - \global\@topnum\z@ % Prevents figures from going at top of page.
922   - \@maketitle
923   - \fi
924   - \thispagestyle{empty}\@thanks
925   -%
926   - \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
927   - \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
928   - \instindent=\hsize
929   - \advance\instindent by-\headlineindent
930   - \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
931   - \addcontentsline{toc}{title}{\the\toctitle}\fi
932   - \if@runhead
933   - \if!\the\titlerunning!\else
934   - \edef\@title{\the\titlerunning}%
935   - \fi
936   - \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
937   - \ifdim\wd\titrun>\instindent
938   - \typeout{Title too long for running head. Please supply}%
939   - \typeout{a shorter form with \string\titlerunning\space prior to
940   - \string\maketitle}%
941   - \global\setbox\titrun=\hbox{\small\rm
942   - Title Suppressed Due to Excessive Length}%
943   - \fi
944   - \xdef\@title{\copy\titrun}%
945   - \fi
946   -%
947   - \if!\the\tocauthor!\relax
948   - {\def\and{\noexpand\protect\noexpand\and}%
949   - \protected@xdef\toc@uthor{\@author}}%
950   - \else
951   - \def\\{\noexpand\protect\noexpand\newline}%
952   - \protected@xdef\scratch{\the\tocauthor}%
953   - \protected@xdef\toc@uthor{\scratch}%
954   - \fi
955   - \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%
956   - \addcontentsline{toc}{author}{\toc@uthor}%
957   - \if@runhead
958   - \if!\the\authorrunning!
959   - \value{@inst}=\value{@auth}%
960   - \setcounter{@auth}{1}%
961   - \else
962   - \edef\@author{\the\authorrunning}%
963   - \fi
964   - \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
965   - \ifdim\wd\authrun>\instindent
966   - \typeout{Names of authors too long for running head. Please supply}%
967   - \typeout{a shorter form with \string\authorrunning\space prior to
968   - \string\maketitle}%
969   - \global\setbox\authrun=\hbox{\small\rm
970   - Authors Suppressed Due to Excessive Length}%
971   - \fi
972   - \xdef\@author{\copy\authrun}%
973   - \markboth{\@author}{\@title}%
974   - \fi
975   - \endgroup
976   - \setcounter{footnote}{\fnnstart}%
977   - \clearheadinfo}
978   -%
979   -\def\@maketitle{\newpage
980   - \markboth{}{}%
981   - \def\lastand{\ifnum\value{@inst}=2\relax
982   - \unskip{} \andname\
983   - \else
984   - \unskip \lastandname\
985   - \fi}%
986   - \def\and{\stepcounter{@auth}\relax
987   - \ifnum\value{@auth}=\value{@inst}%
988   - \lastand
989   - \else
990   - \unskip,
991   - \fi}%
992   - \begin{center}%
993   - \let\newline\\
994   - {\Large \bfseries\boldmath
995   - \pretolerance=10000
996   - \@title \par}\vskip .8cm
997   -\if!\@subtitle!\else {\large \bfseries\boldmath
998   - \vskip -.65cm
999   - \pretolerance=10000
1000   - \@subtitle \par}\vskip .8cm\fi
1001   - \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
1002   - \def\thanks##1{}\@author}%
1003   - \global\value{@inst}=\value{@auth}%
1004   - \global\value{auco}=\value{@auth}%
1005   - \setcounter{@auth}{1}%
1006   -{\lineskip .5em
1007   -\noindent\ignorespaces
1008   -\@author\vskip.35cm}
1009   - {\small\institutename}
1010   - \end{center}%
1011   - }
1012   -
1013   -% definition of the "\spnewtheorem" command.
1014   -%
1015   -% Usage:
1016   -%
1017   -% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
1018   -% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
1019   -% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
1020   -%
1021   -% New is "cap_font" and "body_font". It stands for
1022   -% fontdefinition of the caption and the text itself.
1023   -%
1024   -% "\spnewtheorem*" gives a theorem without number.
1025   -%
1026   -% A defined spnewthoerem environment is used as described
1027   -% by Lamport.
1028   -%
1029   -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1030   -
1031   -\def\@thmcountersep{}
1032   -\def\@thmcounterend{.}
1033   -
1034   -\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
1035   -
1036   -% definition of \spnewtheorem with number
1037   -
1038   -\def\@spnthm#1#2{%
1039   - \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
1040   -\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
1041   -
1042   -\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
1043   - {\@definecounter{#1}\@addtoreset{#1}{#3}%
1044   - \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
1045   - \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
1046   - \expandafter\xdef\csname #1name\endcsname{#2}%
1047   - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
1048   - \global\@namedef{end#1}{\@endtheorem}}}
1049   -
1050   -\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
1051   - {\@definecounter{#1}%
1052   - \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
1053   - \expandafter\xdef\csname #1name\endcsname{#2}%
1054   - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
1055   - \global\@namedef{end#1}{\@endtheorem}}}
1056   -
1057   -\def\@spothm#1[#2]#3#4#5{%
1058   - \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
1059   - {\expandafter\@ifdefinable\csname #1\endcsname
1060   - {\newaliascnt{#1}{#2}%
1061   - \expandafter\xdef\csname #1name\endcsname{#3}%
1062   - \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
1063   - \global\@namedef{end#1}{\@endtheorem}}}}
1064   -
1065   -\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
1066   -\refstepcounter{#1}%
1067   -\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
1068   -
1069   -\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
1070   - \ignorespaces}
1071   -
1072   -\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
1073   - the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
1074   -
1075   -\def\@spbegintheorem#1#2#3#4{\trivlist
1076   - \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
1077   -
1078   -\def\@spopargbegintheorem#1#2#3#4#5{\trivlist
1079   - \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
1080   -
1081   -% definition of \spnewtheorem* without number
1082   -
1083   -\def\@sthm#1#2{\@Ynthm{#1}{#2}}
1084   -
1085   -\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
1086   - {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
1087   - \expandafter\xdef\csname #1name\endcsname{#2}%
1088   - \global\@namedef{end#1}{\@endtheorem}}}
1089   -
1090   -\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
1091   -\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
1092   -
1093   -\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
1094   -
1095   -\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
1096   - {#4}{#2}{#3}\ignorespaces}
1097   -
1098   -\def\@Begintheorem#1#2#3{#3\trivlist
1099   - \item[\hskip\labelsep{#2#1\@thmcounterend}]}
1100   -
1101   -\def\@Opargbegintheorem#1#2#3#4{#4\trivlist
1102   - \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
1103   -
1104   -\if@envcntsect
1105   - \def\@thmcountersep{.}
1106   - \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
1107   -\else
1108   - \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
1109   - \if@envcntreset
1110   - \@addtoreset{theorem}{section}
1111   - \else
1112   - \@addtoreset{theorem}{chapter}
1113   - \fi
1114   -\fi
1115   -
1116   -%definition of divers theorem environments
1117   -\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
1118   -\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
1119   -\if@envcntsame % alle Umgebungen wie Theorem.
1120   - \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
1121   -\else % alle Umgebungen mit eigenem Zaehler
1122   - \if@envcntsect % mit section numeriert
1123   - \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
1124   - \else % nicht mit section numeriert
1125   - \if@envcntreset
1126   - \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
1127   - \@addtoreset{#1}{section}}
1128   - \else
1129   - \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
1130   - \@addtoreset{#1}{chapter}}%
1131   - \fi
1132   - \fi
1133   -\fi
1134   -\spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
1135   -\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
1136   -\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
1137   -\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
1138   -\spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
1139   -\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
1140   -\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
1141   -\spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
1142   -\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
1143   -\spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
1144   -\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
1145   -\spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
1146   -\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
1147   -\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
1148   -
1149   -\def\@takefromreset#1#2{%
1150   - \def\@tempa{#1}%
1151   - \let\@tempd\@elt
1152   - \def\@elt##1{%
1153   - \def\@tempb{##1}%
1154   - \ifx\@tempa\@tempb\else
1155   - \@addtoreset{##1}{#2}%
1156   - \fi}%
1157   - \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
1158   - \expandafter\def\csname cl@#2\endcsname{}%
1159   - \@tempc
1160   - \let\@elt\@tempd}
1161   -
1162   -\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
1163   - \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
1164   - \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
1165   - \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
1166   - }
1167   -
1168   -\renewenvironment{abstract}{%
1169   - \list{}{\advance\topsep by0.35cm\relax\small
1170   - \leftmargin=1cm
1171   - \labelwidth=\z@
1172   - \listparindent=\z@
1173   - \itemindent\listparindent
1174   - \rightmargin\leftmargin}\item[\hskip\labelsep
1175   - \bfseries\abstractname]}
1176   - {\endlist}
1177   -
1178   -\newdimen\headlineindent % dimension for space between
1179   -\headlineindent=1.166cm % number and text of headings.
1180   -
1181   -\def\ps@headings{\let\@mkboth\@gobbletwo
1182   - \let\@oddfoot\@empty\let\@evenfoot\@empty
1183   - \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
1184   - \leftmark\hfil}
1185   - \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
1186   - \llap{\thepage}}
1187   - \def\chaptermark##1{}%
1188   - \def\sectionmark##1{}%
1189   - \def\subsectionmark##1{}}
1190   -
1191   -\def\ps@titlepage{\let\@mkboth\@gobbletwo
1192   - \let\@oddfoot\@empty\let\@evenfoot\@empty
1193   - \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
1194   - \hfil}
1195   - \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
1196   - \llap{\thepage}}
1197   - \def\chaptermark##1{}%
1198   - \def\sectionmark##1{}%
1199   - \def\subsectionmark##1{}}
1200   -
1201   -\if@runhead\ps@headings\else
1202   -\ps@empty\fi
1203   -
1204   -\setlength\arraycolsep{1.4\p@}
1205   -\setlength\tabcolsep{1.4\p@}
1206   -
1207   -\endinput
1208   -%end of file llncs.cls
OSS-2016/llncs.tex
... ... @@ -1,1256 +0,0 @@
1   -% This is LLNCS.DOC the documentation file of
2   -% the LaTeX2e class from Springer-Verlag
3   -% for Lecture Notes in Computer Science, version 2.4
4   -\documentclass{llncs}
5   -\usepackage{llncsdoc}
6   -%
7   -\begin{document}
8   -\markboth{\LaTeXe{} Class for Lecture Notes in Computer
9   -Science}{\LaTeXe{} Class for Lecture Notes in Computer Science}
10   -\thispagestyle{empty}
11   -\begin{flushleft}
12   -\LARGE\bfseries Instructions for Authors\\
13   -Coding with \LaTeX\\[2cm]
14   -\end{flushleft}
15   -\rule{\textwidth}{1pt}
16   -\vspace{2pt}
17   -\begin{flushright}
18   -\Huge
19   -\begin{tabular}{@{}l}
20   -\LaTeXe{} Class\\
21   -for Lecture Notes\\
22   -in Computer Science\\[6pt]
23   -{\Large Version 2.4}
24   -\end{tabular}
25   -\end{flushright}
26   -\rule{\textwidth}{1pt}
27   -\vfill
28   -%\begin{flushleft}
29   -%\large\itshape
30   -%\begin{tabular}{@{}l}
31   -%{\Large\upshape\bfseries Springer}\\[8pt]
32   -%Berlin\enspace Heidelberg\enspace New\kern0.1em York\\[5pt]
33   -%Barcelona\enspace Budapest\enspace Hong\kern0.2em Kong\\[5pt]
34   -%London\enspace Milan\enspace Paris\enspace\\[5pt]
35   -%Santa\kern0.2em Clara\enspace Singapore\enspace Tokyo
36   -%\end{tabular}
37   -%\end{flushleft}
38   -\newpage
39   -%
40   -\section*{For further information please contact us:}
41   -%
42   -\begin{flushleft}
43   -\begin{tabular}{l@{\quad}l@{\hspace{3mm}}l@{\qquad}l}
44   -$\bullet$&\multicolumn{3}{@{}l}{\bfseries LNCS Editorial Office}\\[1mm]
45   -&\multicolumn{3}{@{}l}{Springer-Verlag}\\
46   -&\multicolumn{3}{@{}l}{Computer Science Editorial}\\
47   -&\multicolumn{3}{@{}l}{Tiergartenstraße 17}\\
48   -&\multicolumn{3}{@{}l}{69121 Heidelberg}\\
49   -&\multicolumn{3}{@{}l}{Germany}\\[0.5mm]
50   - & Tel: & +49-6221-487-8706\\
51   - & Fax: & +49-6221-487-8588\\
52   - & e-mail: & \tt lncs@springer.com & for editorial questions\\
53   - & & \tt texhelp@springer.de & for \TeX{} problems\\[2mm]
54   -\noalign{\rule{\textwidth}{1pt}}
55   -\noalign{\vskip2mm}
56   -%
57   -%{\tt svserv@vax.ntp.springer.de}\hfil first try the \verb|help|
58   -%command.
59   -%
60   -$\bullet$&\multicolumn{3}{@{}l}{\bfseries We are also reachable through the world wide web:}\\[1mm]
61   - &\multicolumn{2}{@{}l}{\texttt{http://www.springer.com}}&Springer Global Website\\
62   - &\multicolumn{2}{@{}l}{\texttt{http://www.springer.com/lncs}}&LNCS home page\\
63   - &\multicolumn{2}{@{}l}{\texttt{http://www.springerlink.com}}&data repository\\
64   - &\multicolumn{2}{@{}l}{\texttt{ftp://ftp.springer.de}}&FTP server
65   -\end{tabular}
66   -\end{flushleft}
67   -
68   -
69   -%
70   -\newpage
71   -\tableofcontents
72   -\newpage
73   -%
74   -\section{Introduction}
75   -%
76   -Authors wishing to code their contribution
77   -with \LaTeX{}, as well as those who have already coded with \LaTeX{},
78   -will be provided with a document class that will give the text the
79   -desired layout. Authors are requested to
80   -adhere strictly to these instructions; {\em the class
81   -file must not be changed}.
82   -
83   -The text output area is automatically set within an area of
84   -12.2\,cm horizontally and 19.3\,cm vertically.
85   -
86   -If you are already familiar with \LaTeX{}, then the
87   -LLNCS class should not give you any major difficulties.
88   -It will change the layout to the required LLNCS style
89   -(it will for instance define the layout of \verb|\section|).
90   -We had to invent some extra commands,
91   -which are not provided by \LaTeX{} (e.g.\
92   -\verb|\institute|, see also Sect.\,\ref{contbegin})
93   -
94   -For the main body of the paper (the text) you
95   -should use the commands of the standard \LaTeX{} ``article'' class.
96   -Even if you are familiar with those commands, we urge you to read
97   -this entire documentation thoroughly. It contains many suggestions on
98   -how to use our commands properly; thus your paper
99   -will be formatted exactly to LLNCS standard.
100   -For the input of the references at the end of your contribution,
101   -please follow our instructions given in Sect.\,\ref{refer} References.
102   -
103   -The majority of these hints are not specific for LLNCS; they may improve
104   -your use of \LaTeX{} in general.
105   -Furthermore, the documentation provides suggestions about the proper
106   -editing and use
107   -of the input files (capitalization, abbreviation etc.) (see
108   -Sect.\,\ref{refedit} How to Edit Your Input File).
109   -%
110   -\section{How to Proceed}
111   -%
112   -The package consists of the following files:
113   -\begin{flushleft}
114   -\begin{tabular}{@{}p{2.5cm}l}
115   -{\tt history.txt}& the version history of the package\\[2pt]
116   -{\tt llncs.cls} & class file for \LaTeX{}\\[2pt]
117   -{\tt llncs.dem} & an example showing how to code the text\\[2pt]
118   -{\tt llncs.doc} & general instructions (source of this document),\\
119   - & {\tt llncs.doc} means {\itshape l\/}atex {\itshape doc\/}umentation for\\
120   - & {\itshape L\/}ecture {\itshape N}otes in {\itshape C\/}omputer {\itshape S\/}cience\\
121   -{\tt llncsdoc.pdf}& the documentation of the class (PDF version),\\
122   -{\tt llncs.doc} & general instructions (source of this document),\\
123   -{\tt llncsdoc.sty} & class modifications to help for the instructions\\
124   -{\tt llncs.ind} & an external (faked) author index file\\
125   -{\tt subjidx.ind} & subject index demo from the Springer book package\\
126   -{\tt llncs.dvi} & the resultig DVI file (remember to use binary transfer!)\\[2pt]
127   -{\tt sprmindx.sty} & supplementary style file for MakeIndex\\
128   - & (usage: {\tt makeindex -s sprmindx.sty <yourfile.idx>})
129   -\end{tabular}
130   -\end{flushleft}
131   -%
132   -\subsection{How to Invoke the LLNCS Document Class}
133   -%
134   -The LLNCS class is an extension of the standard \LaTeX{} ``article''
135   -document class. Therefore you may use all ``article'' commands for the
136   -body of your contribution to prepare your manuscript.
137   -LLNCS class is invoked by replacing ``article'' by ``llncs'' in the
138   -first line of your document:
139   -\begin{verbatim}
140   -\documentclass{llncs}
141   -%
142   -\begin{document}
143   - <Your contribution>
144   -\end{document}
145   -\end{verbatim}
146   -%
147   -\subsection{Contributions Already Coded with \protect\LaTeX{} without
148   -the LLNCS document class}
149   -%
150   -If your file is already coded with \LaTeX{} you can easily
151   -adapt it a posteriori to the LLNCS document class.
152   -
153   -Please refrain from using any \LaTeX{} or \TeX{} commands
154   -that affect the layout or formatting of your document (i.e. commands
155   -like \verb|\textheight|, \verb|\vspace|, \verb|\headsep| etc.).
156   -There may nevertheless be exceptional occasions on which to
157   -use some of them.
158   -
159   -The LLNCS document class has been carefully designed to produce the
160   -right layout from your \LaTeX{} input. If there is anything specific you
161   -would like to do and for which the style file does not provide a
162   -command, {\em please contact us}. Same holds for any error and bug you
163   -discover (there is however no reward for this -- sorry).
164   -%
165   -\section{General Rules for Coding Formulas}
166   -%
167   -With mathematical formulas you may proceed as described
168   -in Sect.\,3.3 of the {\em \LaTeX{} User's Guide \& Reference
169   -Manual\/} by Leslie Lamport (2nd~ed. 1994), Addison-Wesley Publishing
170   -Company, Inc.
171   -
172   -Equations are automatically numbered sequentially throughout your
173   -contribution using arabic numerals in parentheses on the right-hand
174   -side.
175   -
176   -When you are working in math mode everything is typeset in italics.
177   -Sometimes you need to insert non-mathematical elements (e.g.\
178   -words or phrases). Such insertions should be coded in roman
179   -(with \verb|\mbox|) as illustrated in the following example:
180   -\begin{flushleft}
181   -{\itshape Sample Input}
182   -\end{flushleft}
183   -\begin{verbatim}
184   -\begin{equation}
185   - \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad
186   - \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace .
187   -\end{equation}
188   -\end{verbatim}
189   -{\itshape Sample Output}
190   -\begin{equation}
191   - \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad
192   - \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace .
193   -\end{equation}
194   -
195   -If you wish to start a new paragraph immediately after a displayed
196   -equation, insert a blank line so as to produce the required
197   -indentation. If there is no new paragraph either do not insert
198   -a blank line or code \verb|\noindent| immediately before
199   -continuing the text.
200   -
201   -Please punctuate a displayed equation in the same way as other
202   -ordinary text but with an \verb|\enspace| before end punctuation.
203   -
204   -Note that the sizes of the parentheses or other delimiter
205   -symbols used in equations should ideally match the height of the
206   -formulas being enclosed. This is automatically taken care of by
207   -the following \LaTeX{} commands:\\[2mm]
208   -\verb|\left(| or \verb|\left[| and
209   -\verb|\right)| or \verb|\right]|.
210   -%
211   -\subsection{Italic and Roman Type in Math Mode}
212   -%
213   -\begin{alpherate}
214   -\item
215   -In math mode \LaTeX{} treats all letters as though they
216   -were mathematical or physical variables, hence they are typeset as
217   -characters of their own in
218   -italics. However, for certain components of formulas, like short texts,
219   -this would be incorrect and therefore coding in roman is required.
220   -Roman should also be used for
221   -subscripts and superscripts {\em in formulas\/} where these are
222   -merely labels and not in themselves variables,
223   -e.g. $T_{\mathrm{eff}}$ \emph{not} $T_{eff}$,
224   -$T_{\mathrm K}$ \emph{not} $T_K$ (K = Kelvin),
225   -$m_{\mathrm e}$ \emph{not} $m_e$ (e = electron).
226   -However, do not code for roman
227   -if the sub/superscripts represent variables,
228   -e.g.\ $\sum_{i=1}^{n} a_{i}$.
229   -\item
230   -Please ensure that {\em physical units\/} (e.g.\ pc, erg s$^{-1}$
231   -K, cm$^{-3}$, W m$^{-2}$ Hz$^{-1}$, m kg s$^{-2}$ A$^{-2}$) and
232   -{\em abbreviations\/} such as Ord, Var, GL, SL, sgn, const.\
233   -are always set in roman type. To ensure
234   -this use the \verb|\mathrm| command: \verb|\mathrm{Hz}|.
235   -On p.\ 44 of the {\em \LaTeX{} User's Guide \& Reference
236   -Manual\/} by Leslie Lamport you will find the names of
237   -common mathe\-matical functions, such as log, sin, exp, max and sup.
238   -These should be coded as \verb|\log|,
239   -\verb|\sin|, \verb|\exp|, \verb|\max|, \verb|\sup|
240   -and will appear in roman automatically.
241   -\item
242   -Chemical symbols and formulas should be coded for roman,
243   -e.g.\ Fe not $Fe$, H$_2$O not {\em H$_2$O}.
244   -\item
245   -Familiar foreign words and phrases, e.g.\ et al.,
246   -a priori, in situ, brems\-strah\-lung, eigenvalues should not be
247   -italicized.
248   -\end{alpherate}
249   -%
250   -\section{How to Edit Your Input (Source) File}
251   -\label{refedit}
252   -%
253   -\subsection{Headings}\label{headings}
254   -%
255   -All words in headings should be capitalized except for conjunctions,
256   -prepositions (e.g.\ on, of, by, and, or, but, from, with, without,
257   -under) and definite and indefinite articles (the, a, an) unless they
258   -appear at the beginning. Formula letters must be typeset as in the text.
259   -%
260   -\subsection{Capitalization and Non-capitalization}
261   -%
262   -\begin{alpherate}
263   -\item
264   -The following should always be capitalized:
265   -\begin{itemize}
266   -\item
267   -Headings (see preceding Sect.\,\ref{headings})
268   -\item
269   -Abbreviations and expressions
270   -in the text such as Fig(s)., Table(s), Sect(s)., Chap(s).,
271   -Theorem, Corollary, Definition etc. when used with numbers, e.g.\
272   -Fig.\,3, Table\,1, Theorem 2.
273   -\end{itemize}
274   -Please follow the special rules in Sect.\,\ref{abbrev} for referring to
275   -equations.
276   -\item
277   -The following should {\em not\/} be capitalized:
278   -\begin{itemize}
279   -\item
280   -The words figure(s), table(s), equation(s), theorem(s) in the text when
281   -used without an accompanying number.
282   -\item
283   -Figure legends and table captions except for names and abbreviations.
284   -\end{itemize}
285   -\end{alpherate}
286   -%
287   -\subsection{Abbreviation of Words}\label{abbrev}
288   -%
289   -\begin{alpherate}
290   -\item
291   -The following {\em should} be abbreviated when they appear in running
292   -text {\em unless\/} they come at the beginning of a sentence: Chap.,
293   -Sect., Fig.; e.g.\ The results are depicted in Fig.\,5. Figure 9 reveals
294   -that \dots .\\
295   -{\em Please note\/}: Equations should usually be referred to solely by
296   -their number in parentheses: e.g.\ (14). However, when the reference
297   -comes at the beginning of a sentence, the unabbreviated word
298   -``Equation'' should be used: e.g.\ Equation (14) is very important.
299   -However, (15) makes it clear that \dots .
300   -\item
301   -If abbreviations of names or concepts are used
302   -throughout the text, they should be defined at first occurrence,
303   -e.g.\ Plurisubharmonic (PSH) Functions, Strong Optimization (SOPT)
304   -Problem.
305   -\end{alpherate}
306   -%
307   -\section{How to Code the Beginning of Your Contribution}
308   -\label{contbegin}
309   -%
310   -The title of a single contribution (it is mandatory) should be coded as
311   -follows:
312   -\begin{verbatim}
313   -\title{<Your contribution title>}
314   -\end{verbatim}
315   -All words in titles should be capitalized except for conjunctions,
316   -prepositions (e.g.\ on, of, by, and, or, but, from, with, without,
317   -under) and definite and indefinite articles (the, a, an) unless they
318   -appear at the beginning. Formula letters must be typeset as in the text.
319   -Titles have no end punctuation.
320   -
321   -If a long \verb|\title| must be divided please use the code \verb|\\|
322   -(for new line).
323   -
324   -If you are to produce running heads for a specific volume the standard
325   -(of no such running heads) is overwritten with the \verb|[runningheads]|
326   -option in the \verb|\documentclass| line. For long titles that do not
327   -fit in the single line of the running head a warning is generated.
328   -You can specify an abbreviated title for the running head on odd pages
329   -with the command
330   -\begin{verbatim}
331   -\titlerunning{<Your abbreviated contribution title>}
332   -\end{verbatim}
333   -
334   -There is also a possibility to change the text of the title that goes
335   -into the table of contents (that's for volume editors only -- there is
336   -no table of contents for a single contribution). For this use the
337   -command
338   -\begin{verbatim}
339   -\toctitle{<Your changed title for the table of contents>}
340   -\end{verbatim}
341   -
342   -An optional subtitle may follow then:
343   -\begin{verbatim}
344   -\subtitle{<subtitle of your contribution>}
345   -\end{verbatim}
346   -
347   -Now the name(s) of the author(s) must be given:
348   -\begin{verbatim}
349   -\author{<author(s) name(s)>}
350   -\end{verbatim}
351   -Numbers referring to different addresses or affiliations are
352   -to be attached to each author with the \verb|\inst{<no>}| command.
353   -If there is more than one author, the order is up to you;
354   -the \verb|\and| command provides for the separation.
355   -
356   -If you have done this correctly, this entry now reads, for example:
357   -\begin{verbatim}
358   -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}}
359   -\end{verbatim}
360   -The first name\footnote{Other initials are optional
361   -and may be inserted if this is the usual
362   -way of writing your name, e.g.\ Alfred J.~Holmes, E.~Henry Green.}
363   -is followed by the surname.
364   -
365   -As for the title there exist two additional commands (again for volume
366   -editors only) for a different author list. One for the running head
367   -(on odd pages) -- if there is any:
368   -\begin{verbatim}
369   -\authorrunning{<abbreviated author list>}
370   -\end{verbatim}
371   -And one for the table of contents where the
372   -affiliation of each author is simply added in braces.
373   -\begin{verbatim}
374   -\tocauthor{<enhanced author list for the table of contents>}
375   -\end{verbatim}
376   -
377   -Next the address(es) of institute(s), company etc. is (are) required.
378   -If there is more than one address, the entries are numbered
379   -automatically with \verb|\and|, in the order in which you type them.
380   -Please make sure that the numbers match those placed next to
381   -to the authors' names to reflect the affiliation.
382   -\begin{verbatim}
383   -\institute{<name of an institute>
384   -\and <name of the next institute>
385   -\and <name of the next institute>}
386   -\end{verbatim}
387   -
388   -In addition, you can use
389   -\begin{verbatim}
390   -\email{<email address>}
391   -\end{verbatim}
392   -to provide your email address within \verb|\institute|. If you need to
393   -typeset the tilde character -- e.g. for your web page in your unix
394   -system's home directory -- the \verb|\homedir| command will happily do
395   -this. Please note that, if your email address is given in your paper,
396   -it will also be included in the meta data of the online version.
397   -\enlargethispage*{6mm}
398   -
399   -\medskip
400   -If footnote like things are needed anywhere in the contribution heading
401   -please code
402   -(immediately after the word where the footnote indicator should be
403   -placed):
404   -\begin{verbatim}
405   -\thanks{<text>}
406   -\end{verbatim}
407   -\verb|\thanks| may only appear in \verb|\title|, \verb|\author|
408   -and \verb|\institute| to footnote anything. If there are two or more
409   -footnotes or affiliation marks to a specific item separate them with
410   -\verb|\fnmsep| (i.e. {\itshape f}oot\emph note \emph mark
411   -\emph{sep}arator).
412   -
413   -\medskip\noindent
414   -The command
415   -\begin{verbatim}
416   -\maketitle
417   -\end{verbatim}
418   -then formats the complete heading of your article. If you leave
419   -it out the work done so far will produce \emph{no} text.
420   -
421   -Then the abstract should follow. Simply code
422   -\begin{verbatim}
423   -\begin{abstract}
424   -<Text of the summary of your article>
425   -\end{abstract}
426   -\end{verbatim}
427   -or refer to the demonstration file {\tt llncs.dem} for an example or
428   -to the {\em Sample Input\/} on p.~\pageref{samppage}.
429   -
430   -\subsubsection{Remark to Running Heads and the Table of Contents}
431   -\leavevmode\\[\medskipamount]
432   -If you are the author of a single contribution you normally have no
433   -running heads and no table of contents. Both are done only by the editor
434   -of the volume or at the printers.
435   -%
436   -\section{Special Commands for the Volume Editor}
437   -The volume editor can produce a complete camera ready output including
438   -running heads, a table of contents, preliminary text (frontmatter), and
439   -index or glossary. For activating the running heads there is the class
440   -option \verb|[runningheads]|.
441   -
442   -The table of contents of the volume is printed wherever
443   -\verb|\tableofcontents| is placed. A simple compilation of all
444   -contributions (fields \verb|\title| and \verb|\author|) is done. If you
445   -wish to change this automatically produced list use the commands
446   -\begin{verbatim}
447   -\titlerunning \toctitle
448   -\authorrunning \tocauthor
449   -\end{verbatim}
450   -to enhance the information in the specific contributions. See the
451   -demonstration file \verb|llncs.dem| for examples.
452   -
453   -An additional structure can be added to the table of contents with the
454   -\verb|\addtocmark{<text>}| command. It has an optional numerical
455   -argument, a digit from 1 through 3. 3 (the default) makes an unnumbered
456   -chapter like entry in the table of contents. If you code
457   -\verb|\addtocmark[2]{text}| the corresponding page number is listed
458   -also, \verb|\addtocmark[1]{text}| even introduces a chapter number
459   -beyond it.
460   -%
461   -\section{How to Code Your Text}
462   -%
463   -The contribution title and all headings should be capitalized
464   -except for conjunctions, prepositions (e.g.\ on, of, by, and, or, but,
465   -from, with, without, under) and definite and indefinite articles (the,
466   -a, an) unless they appear at the beginning. Formula letters must be
467   -typeset as in the text.
468   -
469   -Headings will be automatically numbered by the following codes.\\[2mm]
470   -{\itshape Sample Input}
471   -\begin{verbatim}
472   -\section{This is a First-Order Title}
473   -\subsection{This is a Second-Order Title}
474   -\subsubsection{This is a Third-Order Title.}
475   -\paragraph{This is a Fourth-Order Title.}
476   -\end{verbatim}
477   -\verb|\section| and \verb|\subsection| have no end punctuation.\\
478   -\verb|\subsubsection| and \verb|\paragraph|
479   -need to be punctuated at the end.
480   -
481   -In addition to the above-mentioned headings your text may be structured
482   -by subsections indicated by run-in headings (theorem-like environments).
483   -All the theorem-like environments are numbered automatically
484   -throughout the sections of your document -- each with its own counter.
485   -If you want the theorem-like environments to use the same counter
486   -just specify the documentclass option \verb|envcountsame|:
487   -\begin{verbatim}
488   -\documentclass[envcountsame]{llncs}
489   -\end{verbatim}
490   -If your first call for a theorem-like environment then is e.g.
491   -\verb|\begin{lemma}|, it will be numbered 1; if corollary follows,
492   -this will be numbered 2; if you then call lemma again, this will be
493   -numbered 3.
494   -
495   -But in case you want to reset such counters to 1 in each section,
496   -please specify the documentclass option \verb|envcountreset|:
497   -\begin{verbatim}
498   -\documentclass[envcountreset]{llncs}
499   -\end{verbatim}
500   -
501   -Even a numbering on section level (including the section counter) is
502   -possible with the documentclass option \verb|envcountsect|.
503   -
504   -\section{Predefined Theorem like Environments}\label{builtintheo}
505   -The following variety of run-in headings are at your disposal:
506   -\begin{alpherate}
507   -\item
508   -{\bfseries Bold} run-in headings with italicized text
509   -as built-in environments:
510   -\begin{verbatim}
511   -\begin{corollary} <text> \end{corollary}
512   -\begin{lemma} <text> \end{lemma}
513   -\begin{proposition} <text> \end{proposition}
514   -\begin{theorem} <text> \end{theorem}
515   -\end{verbatim}
516   -\item
517   -The following generally appears as {\itshape italic} run-in heading:
518   -\begin{verbatim}
519   -\begin{proof} <text> \qed \end{proof}
520   -\end{verbatim}
521   -It is unnumbered and may contain an eye catching square (call for that
522   -with \verb|\qed|) before the environment ends.
523   -\item
524   -Further {\itshape italic} or {\bfseries bold} run-in headings with roman
525   -environment body may also occur:
526   -\begin{verbatim}
527   -\begin{definition} <text> \end{definition}
528   -\begin{example} <text> \end{example}
529   -\begin{exercise} <text> \end{exercise}
530   -\begin{note} <text> \end{note}
531   -\begin{problem} <text> \end{problem}
532   -\begin{question} <text> \end{question}
533   -\begin{remark} <text> \end{remark}
534   -\begin{solution} <text> \end{solution}
535   -\end{verbatim}
536   -\end{alpherate}
537   -
538   -\section{Defining your Own Theorem like Environments}
539   -We have enhanced the standard \verb|\newtheorem| command and slightly
540   -changed its syntax to get two new commands \verb|\spnewtheorem| and
541   -\verb|\spnewtheorem*| that now can be used to define additional
542   -environments. They require two additional arguments namely the type
543   -style in which the keyword of the environment appears and second the
544   -style for the text of your new environment.
545   -
546   -\verb|\spnewtheorem| can be used in two ways.
547   -\subsection{Method 1 {\itshape (preferred)}}
548   -You may want to create an environment that shares its counter
549   -with another environment, say {\em main theorem\/} to be numbered like
550   -the predefined {\em theorem\/}. In this case, use the syntax
551   -\begin{verbatim}
552   -\spnewtheorem{<env_nam>}[<num_like>]{<caption>}
553   -{<cap_font>}{<body_font>}
554   -\end{verbatim}
555   -
556   -\noindent
557   -Here the environment with which the new environment should share its
558   -counter is specified with the optional argument \verb|[<num_like>]|.
559   -
560   -\paragraph{Sample Input}
561   -\begin{verbatim}
562   -\spnewtheorem{mainth}[theorem]{Main Theorem}{\bfseries}{\itshape}
563   -\begin{theorem} The early bird gets the worm. \end{theorem}
564   -\begin{mainth} The early worm gets eaten. \end{mainth}
565   -\end{verbatim}
566   -\medskip\noindent
567   -{\em Sample Output}
568   -
569   -\medskip\noindent
570   -{\bfseries Theorem 3.}\enspace {\em The early bird gets the worm.}
571   -
572   -\medskip\noindent
573   -{\bfseries Main Theorem 4.} The early worm gets eaten.
574   -
575   -\bigskip
576   -The sharing of the default counter (\verb|[theorem]|) is desired. If you
577   -omit the optional second argument of \verb|\spnewtheorem| a separate
578   -counter for your new environment is used throughout your document.
579   -
580   -\subsection[Method 2]{Method 2 {\itshape (assumes {\tt[envcountsect]}
581   -documentstyle option)}}
582   -\begin{verbatim}
583   -\spnewtheorem{<env_nam>}{<caption>}[<within>]
584   -{<cap_font>}{<body_font>}
585   -\end{verbatim}
586   -
587   -\noindent
588   -This defines a new environment \verb|<env_nam>| which prints the caption
589   -\verb|<caption>| in the font \verb|<cap_font>| and the text itself in
590   -the font \verb|<body_font>|. The environment is numbered beginning anew
591   -with every new sectioning element you specify with the optional
592   -parameter \verb|<within>|.
593   -
594   -\medskip\noindent
595   -\paragraph{Example} \leavevmode
596   -
597   -\medskip\noindent
598   -\verb|\spnewtheorem{joke}{Joke}[subsection]{\bfseries}{\rmfamily}|
599   -
600   -\medskip
601   -\noindent defines a new environment called \verb|joke| which prints the
602   -caption {\bfseries Joke} in boldface and the text in roman. The jokes are
603   -numbered starting from 1 at the beginning of every subsection with the
604   -number of the subsection preceding the number of the joke e.g. 7.2.1 for
605   -the first joke in subsection 7.2.
606   -
607   -\subsection{Unnumbered Environments}
608   -If you wish to have an unnumbered environment, please
609   -use the syntax
610   -\begin{verbatim}
611   -\spnewtheorem*{<env_nam>}{<caption>}{<cap_font>}{<body_font>}
612   -\end{verbatim}
613   -
614   -\section{Program Codes}
615   -In case you want to show pieces of program code, just use the
616   -\verb|verbatim| environment or the \verb|verbatim| package of \LaTeX.
617   -(There also exist various pretty printers for some programming
618   -languages.)
619   -%
620   -\noindent
621   -\subsection*{Sample Input {\rmfamily(of a simple
622   -contribution)}}\label{samppage}
623   -\begin{verbatim}
624   -\title{Hamiltonian Mechanics}
625   -
626   -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}}
627   -
628   -\institute{Princeton University, Princeton NJ 08544, USA
629   -\and
630   -Universit\'{e} de Paris-Sud,
631   -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\
632   -F-91405 Orsay Cedex, France}
633   -
634   -\maketitle
635   -%
636   -\begin{abstract}
637   -This paragraph shall summarize the contents of the paper
638   -in short terms.
639   -\end{abstract}
640   -%
641   -\section{Fixed-Period Problems: The Sublinear Case}
642   -%
643   -With this chapter, the preliminaries are over, and we begin the
644   -search for periodic solutions \dots
645   -%
646   -\subsection{Autonomous Systems}
647   -%
648   -In this section we will consider the case when the Hamiltonian
649   -$H(x)$ \dots
650   -%
651   -\subsubsection*{The General Case: Nontriviality.}
652   -%
653   -We assume that $H$ is
654   -$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic
655   -at infinity, for some constant \dots
656   -%
657   -\paragraph{Notes and Comments.}
658   -The first results on subharmonics were \dots
659   -%
660   -\begin{proposition}
661   -Assume $H'(0)=0$ and $ H(0)=0$. Set \dots
662   -\end{proposition}
663   -\begin{proof}[of proposition]
664   -Condition (8) means that, for every $\delta'>\delta$, there is
665   -some $\varepsilon>0$ such that \dots \qed
666   -\end{proof}
667   -%
668   -\begin{example}[\rmfamily (External forcing)]
669   -Consider the system \dots
670   -\end{example}
671   -\begin{corollary}
672   -Assume $H$ is $C^{2}$ and
673   -$\left(a_{\infty}, b_{\infty}\right)$-subquadratic
674   -at infinity. Let \dots
675   -\end{corollary}
676   -\begin{lemma}
677   -Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$
678   -and that $H''(x)$ is \dots
679   -\end{lemma}
680   -\begin{theorem}[(Ghoussoub-Preiss)]
681   -Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots
682   -\end{theorem}
683   -\begin{definition}
684   -We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$
685   -satisfies \dots
686   -\end{definition}
687   -\end{verbatim}
688   -{\itshape Sample Output\/} (follows on the next page together with
689   -examples of the above run-in headings)
690   -\newcounter{save}\setcounter{save}{\value{section}}
691   -{\def\addtocontents#1#2{}%
692   -\def\addcontentsline#1#2#3{}%
693   -\def\markboth#1#2{}%
694   -%
695   -\title{Hamiltonian Mechanics}
696   -
697   -\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}}
698   -
699   -\institute{Princeton University, Princeton NJ 08544, USA
700   -\and
701   -Universit\'{e} de Paris-Sud,
702   -Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\
703   -F-91405 Orsay Cedex, France}
704   -
705   -\maketitle
706   -%
707   -\begin{abstract}
708   -This paragraph shall summarize the contents of the paper
709   -in short terms.
710   -\end{abstract}
711   -%
712   -\section{Fixed-Period Problems: The Sublinear Case}
713   -%
714   -With this chapter, the preliminaries are over, and we begin the search
715   -for periodic solutions \dots
716   -%
717   -\subsection{Autonomous Systems}
718   -%
719   -In this section we will consider the case when the Hamiltonian
720   -$H(x)$ \dots
721   -%
722   -\subsubsection{The General Case: Nontriviality.}
723   -%
724   -We assume that $H$ is
725   -$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic at
726   -infinity, for some constant \dots
727   -%
728   -\paragraph{Notes and Comments.}
729   -The first results on subharmonics were \dots
730   -%
731   -\begin{proposition}
732   -Assume $H'(0)=0$ and $ H(0)=0$. Set \dots
733   -\end{proposition}
734   -\begin{proof}[of proposition]
735   -Condition (8) means that, for every $\delta'>\delta$, there is
736   -some $\varepsilon>0$ such that \dots \qed
737   -\end{proof}
738   -%
739   -\begin{example}[{{\rmfamily External forcing}}]
740   -Consider the system \dots
741   -\end{example}
742   -\begin{corollary}
743   -Assume $H$ is $C^{2}$ and
744   -$\left(a_{\infty}, b_{\infty}\right)$-subquadratic
745   -at infinity. Let \dots
746   -\end{corollary}
747   -\begin{lemma}
748   -Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$
749   -and that $H''(x)$ is \dots
750   -\end{lemma}
751   -\begin{theorem}[Ghoussoub-Preiss]
752   -Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots
753   -\end{theorem}
754   -\begin{definition}
755   -We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ satisfies \dots
756   -\end{definition}
757   -%
758   -}\setcounter{section}{\value{save}}
759   -\section{Fine Tuning of the Text}
760   -%
761   -The following should be used to improve the readability of the text:
762   -\begin{flushleft}
763   -\begin{tabular}{@{}p{.19\textwidth}p{.79\textwidth}}
764   -\verb|\,| & a thin space, e.g.\ between numbers or between units
765   - and num\-bers; a line division will not be made
766   - following this space\\
767   -\verb|--| & en dash; two strokes, without a space at either end\\
768   -\verb*| -- |& en dash; two strokes, with a space at either end\\
769   -\verb|-| & hyphen; one stroke, no space at either end\\
770   -\verb|$-$| & minus, in the text {\em only} \\[8mm]
771   -{\em Input} & \verb|21\,$^{\circ}$C etc.,|\\
772   - & \verb|Dr h.\,c.\,Rockefellar-Smith \dots|\\
773   - & \verb|20,000\,km and Prof.\,Dr Mallory \dots|\\
774   - & \verb|1950--1985 \dots|\\
775   - & \verb|this -- written on a computer -- is now printed|\\
776   - & \verb|$-30$\,K \dots|\\[3mm]
777   -{\em Output}& 21\,$^{\circ}$C etc., Dr h.\,c.\,Rockefellar-Smith \dots\\
778   - & 20,000\,km and Prof.\,Dr Mallory \dots\\
779   - & 1950--1985 \dots\\
780   - & this -- written on a computer -- is now printed\\
781   - & $-30$\,K \dots
782   -\end{tabular}
783   -\end{flushleft}
784   -%
785   -\section {Special Typefaces}
786   -%
787   -Normal type (roman text) need not be coded. {\itshape Italic}
788   -(\verb|{\em <text>}| better still \verb|\emph{<text>}|) or, if
789   -necessary, {\bfseries boldface} should be used for emphasis.\\[6pt]
790   -\begin{minipage}[t]{\textwidth}
791   -\begin{flushleft}
792   -\begin{tabular}{@{}p{.25\textwidth}@{\hskip6pt}p{.73\textwidth}@{}}
793   -\verb|{\itshape Text}| & {\itshape Italicized Text}\\[2pt]
794   -\verb|{\em Text}| & {\em Emphasized Text --
795   - if you would like to emphasize a {\em definition} within an
796   - italicized text (e.g.\ of a {\em theorem)} you should code the
797   - expression to be emphasized by} \verb|\em|.\\[2pt]
798   -\verb|{\bfseries Text}|& {\bfseries Important Text}\\[2pt]
799   -\verb|\vec{Symbol}| & Vectors may only appear in math mode. The default
800   - \LaTeX{} vector symbol has been adapted\footnotemark\
801   - to LLNCS conventions.\\[2pt]
802   - & \verb|$\vec{A \times B\cdot C}| yields $\vec{A\times B\cdot C}$\\
803   - & \verb|$\vec{A}^{T} \otimes \vec{B} \otimes|\\
804   - & \verb|\vec{\hat{D}}$|yields $\vec{A}^{T} \otimes \vec{B} \otimes
805   -\vec{\hat{D}}$
806   -\end{tabular}
807   -\end{flushleft}
808   -\end{minipage}
809   -
810   -\footnotetext{If you absolutely must revive the original \LaTeX{}
811   -design of the vector symbol (as an arrow accent), please specify the
812   -option \texttt{[orivec]} in the \texttt{documentclass} line.}
813   -\newpage
814   -%
815   -\section {Footnotes}
816   -%
817   -Footnotes within the text should be coded:
818   -\begin{verbatim}
819   -\footnote{Text}
820   -\end{verbatim}
821   -{\itshape Sample Input}
822   -\begin{flushleft}
823   -Text with a footnote\verb|\footnote{The |{\tt footnote is automatically
824   -numbered.}\verb|}| and text continues \dots
825   -\end{flushleft}
826   -{\itshape Sample Output}
827   -\begin{flushleft}
828   -Text with a footnote\footnote{The footnote is automatically numbered.}
829   -and text continues \dots
830   -\end{flushleft}
831   -%
832   -\section {Lists}
833   -%
834   -Please code lists as described below:\\[2mm]
835   -{\itshape Sample Input}
836   -\begin{verbatim}
837   -\begin{enumerate}
838   - \item First item
839   - \item Second item
840   - \begin{enumerate}
841   - \item First nested item
842   - \item Second nested item
843   - \end{enumerate}
844   - \item Third item
845   -\end{enumerate}
846   -\end{verbatim}
847   -{\itshape Sample Output}
848   - \begin{enumerate}
849   -\item First item
850   -\item Second item
851   - \begin{enumerate}
852   - \item First nested item
853   - \item Second nested item
854   - \end{enumerate}
855   -\item Third item
856   -\end{enumerate}
857   -%
858   -\section {Figures}
859   -%
860   -Figure environments should be inserted after (not in)
861   -the paragraph in which the figure is first mentioned.
862   -They will be numbered automatically.
863   -
864   -Preferably the images should be enclosed as PostScript files -- best as
865   -EPS data using the epsfig package.
866   -
867   -If you cannot include them into your output this way and use other
868   -techniques for a separate production,
869   -the figures (line drawings and those containing halftone inserts
870   -as well as halftone figures) {\em should not be pasted into your
871   -laserprinter output}. They should be enclosed separately in camera-ready
872   -form (original artwork, glossy prints, photographs and/or slides). The
873   -lettering should be suitable for reproduction, and after a
874   -probably necessary reduction the height of capital letters should be at
875   -least 1.8\,mm and not more than 2.5\,mm.
876   -Check that lines and other details are uniformly black and
877   -that the lettering on figures is clearly legible.
878   -
879   -To leave the desired amount of space for the height of
880   -your figures, please use the coding described below.
881   -As can be seen in the output, we will automatically
882   -provide 1\,cm space above and below the figure,
883   -so that you should only leave the space equivalent to the size of the
884   -figure itself. Please note that ``\verb|x|'' in the following
885   -coding stands for the actual height of the figure:
886   -\begin{verbatim}
887   -\begin{figure}
888   -\vspace{x cm}
889   -\caption[ ]{...text of caption...} (Do type [ ])
890   -\end{figure}
891   -\end{verbatim}
892   -\begin{flushleft}
893   -{\itshape Sample Input}
894   -\end{flushleft}
895   -\begin{verbatim}
896   -\begin{figure}
897   -\vspace{2.5cm}
898   -\caption{This is the caption of the figure displaying a white
899   -eagle and a white horse on a snow field}
900   -\end{figure}
901   -\end{verbatim}
902   -\begin{flushleft}
903   -{\itshape Sample Output}
904   -\end{flushleft}
905   -\begin{figure}
906   -\vspace{2.5cm}
907   -\caption{This is the caption of the figure displaying a white eagle and
908   -a white horse on a snow field}
909   -\end{figure}
910   -%
911   -\section{Tables}
912   -%
913   -Table captions should be treated
914   -in the same way as figure legends, except that
915   -the table captions appear {\itshape above} the tables. The tables
916   -will be numbered automatically.
917   -%
918   -\subsection{Tables Coded with \protect\LaTeX{}}
919   -%
920   -Please use the following coding:\\[2mm]
921   -{\itshape Sample Input}
922   -\begin{verbatim}
923   -\begin{table}
924   -\caption{Critical $N$ values}
925   -\begin{tabular}{llllll}
926   -\hline\noalign{\smallskip}
927   -${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$
928   - & $N_{\mathrm{crit}}^{\mathrm L}$
929   - & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\
930   -\noalign{\smallskip}
931   -\hline
932   -\noalign{\smallskip}
933   - 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\
934   - 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\
935   -120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\
936   -\hline
937   -\end{tabular}
938   -\end{table}
939   -\end{verbatim}
940   -
941   -\medskip\noindent{\itshape Sample Output}
942   -\begin{table}
943   -\caption{Critical $N$ values}
944   -\begin{center}
945   -\renewcommand{\arraystretch}{1.4}
946   -\setlength\tabcolsep{3pt}
947   -\begin{tabular}{llllll}
948   -\hline\noalign{\smallskip}
949   -${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$
950   - & $N_{\mathrm{crit}}^{\mathrm L}$
951   - & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\
952   -\noalign{\smallskip}
953   -\hline
954   -\noalign{\smallskip}
955   - 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\
956   - 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\
957   -120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\
958   -\hline
959   -\end{tabular}
960   -\end{center}
961   -\end{table}
962   -
963   -Before continuing your text you need an empty line. \dots
964   -
965   -\vspace{3mm}
966   -For further information you will find a complete description of
967   -the tabular environment
968   -on p.~62~ff. and p.~204 of the {\em \LaTeX{} User's Guide \& Reference
969   -Manual\/} by Leslie Lamport.
970   -%
971   -\subsection{Tables Not Coded with \protect\LaTeX{}}
972   -%
973   -If you do not wish to code your table using \LaTeX{}
974   -but prefer to have it reproduced separately,
975   -proceed as for figures and use the following coding:\\[2mm]
976   -{\itshape Sample Input}
977   -\begin{verbatim}
978   -\begin{table}
979   -\caption{text of your caption}
980   -\vspace{x cm} % the actual height needed for your table
981   -\end{table}
982   -\end{verbatim}
983   -%
984   -\subsection{Signs and Characters}
985   -%
986   -\subsubsection*{Special Signs.}
987   -%
988   -You may need to use special signs. The available ones are listed in the
989   -{\em \LaTeX{} User's Guide \& Reference Manual\/} by Leslie Lamport,
990   -pp.~41\,ff.
991   -We have created further symbols for math mode (enclosed in \$):
992   -\begin{center}
993   -\begin{tabular}{l@{\hspace{1em}yields\hspace{1em}}
994   -c@{\hspace{3em}}l@{\hspace{1em}yields\hspace{1em}}c}
995   -\verb|\grole| & $\grole$ & \verb|\getsto| & $\getsto$\\
996   -\verb|\lid| & $\lid$ & \verb|\gid| & $\gid$
997   -\end{tabular}
998   -\end{center}
999   -%
1000   -\subsubsection*{Gothic (Fraktur).}
1001   -%
1002   -If gothic letters are {\itshape necessary}, please use those of the
1003   -relevant \AmSTeX{} alphabet which are available using the amstex
1004   -package of the American Mathematical Society.
1005   -
1006   -In \LaTeX{} only the following gothic letters are available:
1007   -\verb|$\Re$| yields $\Re$ and \verb|$\Im$| yields $\Im$. These should
1008   -{\itshape not\/} be used when you need gothic letters for your contribution.
1009   -Use \AmSTeX{} gothic as explained above. For the real and the imaginary
1010   -parts of a complex number within math mode you should use instead:
1011   -\verb|$\mathrm{Re}$| (which yields Re) or \verb|$\mathrm{Im}$| (which
1012   -yields Im).
1013   -%
1014   -\subsubsection*{Script.}
1015   -%
1016   -For script capitals use the coding
1017   -\begin{center}
1018   -\begin{tabular}{l@{\hspace{1em}which yields\hspace{1em}}c}
1019   -\verb|$\mathcal{AB}$| & $\mathcal{AB}$
1020   -\end{tabular}
1021   -\end{center}
1022   -(see p.~42 of the \LaTeX{} book).
1023   -%
1024   -\subsubsection*{Special Roman.}
1025   -%
1026   -If you need other symbols than those below, you could use
1027   -the blackboard bold characters of \AmSTeX{}, but there might arise
1028   -capacity problems
1029   -in loading additional \AmSTeX{} fonts. Therefore we created
1030   -the blackboard bold characters listed below.
1031   -Some of them are not esthetically
1032   -satisfactory. This need not deter you from using them:
1033   -in the final printed form they will be
1034   -replaced by the well-designed MT (monotype) characters of
1035   -the phototypesetting machine.
1036   -\begin{flushleft}
1037   -\begin{tabular}{@{}ll@{ yields }
1038   -c@{\hspace{1.em}}ll@{ yields }c}
1039   -\verb|\bbbc| & (complex numbers) & $\bbbc$
1040   - & \verb|\bbbf| & (blackboard bold F) & $\bbbf$\\
1041   -\verb|\bbbh| & (blackboard bold H) & $\bbbh$
1042   - & \verb|\bbbk| & (blackboard bold K) & $\bbbk$\\
1043   -\verb|\bbbm| & (blackboard bold M) & $\bbbm$
1044   - & \verb|\bbbn| & (natural numbers N) & $\bbbn$\\
1045   -\verb|\bbbp| & (blackboard bold P) & $\bbbp$
1046   - & \verb|\bbbq| & (rational numbers) & $\bbbq$\\
1047   -\verb|\bbbr| & (real numbers) & $\bbbr$
1048   - & \verb|\bbbs| & (blackboard bold S) & $\bbbs$\\
1049   -\verb|\bbbt| & (blackboard bold T) & $\bbbt$
1050   - & \verb|\bbbz| & (whole numbers) & $\bbbz$\\
1051   -\verb|\bbbone| & (symbol one) & $\bbbone$
1052   -\end{tabular}
1053   -\end{flushleft}
1054   -\begin{displaymath}
1055   -\begin{array}{c}
1056   -\bbbc^{\bbbc^{\bbbc}} \otimes
1057   -\bbbf_{\bbbf_{\bbbf}} \otimes
1058   -\bbbh_{\bbbh_{\bbbh}} \otimes
1059   -\bbbk_{\bbbk_{\bbbk}} \otimes
1060   -\bbbm^{\bbbm^{\bbbm}} \otimes
1061   -\bbbn_{\bbbn_{\bbbn}} \otimes
1062   -\bbbp^{\bbbp^{\bbbp}}\\[2mm]
1063   -\otimes
1064   -\bbbq_{\bbbq_{\bbbq}} \otimes
1065   -\bbbr^{\bbbr^{\bbbr}} \otimes
1066   -\bbbs^{\bbbs_{\bbbs}} \otimes
1067   -\bbbt^{\bbbt^{\bbbt}} \otimes
1068   -\bbbz \otimes
1069   -\bbbone^{\bbbone_{\bbbone}}
1070   -\end{array}
1071   -\end{displaymath}
1072   -%
1073   -\section{References}
1074   -\label{refer}
1075   -%
1076   -There are three reference systems available; only one, of course,
1077   -should be used for your contribution. With each system (by
1078   -number only, by letter-number or by author-year) a reference list
1079   -containing all citations in the
1080   -text, should be included at the end of your contribution placing the
1081   -\LaTeX{} environment \verb|thebibliography| there.
1082   -For an overall information on that environment
1083   -see the {\em \LaTeX{} User's Guide \& Reference
1084   -Manual\/} by Leslie Lamport, p.~71.
1085   -
1086   -There is a special {\sc Bib}\TeX{} style for LLNCS that works along
1087   -with the class: \verb|splncs.bst|
1088   --- call for it with a line \verb|\bibliographystyle{splncs}|.
1089   -If you plan to use another {\sc Bib}\TeX{} style you are customed to,
1090   -please specify the option \verb|[oribibl]| in the
1091   -\verb|documentclass| line, like:
1092   -\begin{verbatim}
1093   -\documentclass[oribibl]{llncs}
1094   -\end{verbatim}
1095   -This will retain the original \LaTeX{} code for the bibliographic
1096   -environment and the \verb|\cite| mechanism that many {\sc Bib}\TeX{}
1097   -applications rely on.
1098   -%
1099   -\subsection{References by Letter-Number or by Number Only}
1100   -%
1101   -References are cited in the text -- using the \verb|\cite|
1102   -command of \LaTeX{} -- by number or by letter-number in square
1103   -brackets, e.g.\ [1] or [E1, S2], [P1], according to your use of the
1104   -\verb|\bibitem| command in the \verb|thebibliography| environment. The
1105   -coding is as follows: if you choose your own label for the sources by
1106   -giving an optional argument to the \verb|\bibitem| command the citations
1107   -in the text are marked with the label you supplied. Otherwise a simple
1108   -numbering is done, which is preferred.
1109   -\begin{verbatim}
1110   -The results in this section are a refined version
1111   -of \cite{clar:eke}; the minimality result of Proposition~14
1112   -was the first of its kind.
1113   -\end{verbatim}
1114   -The above input produces the citation: ``\dots\ refined version of
1115   -[CE1]; the min\-i\-mality\dots''. Then the \verb|\bibitem| entry of
1116   -the \verb|thebibliography| environment should read:
1117   -\begin{verbatim}
1118   -\begin{thebibliography}{[MT1]}
1119   -.
1120   -.
1121   -\bibitem[CE1]{clar:eke}
1122   -Clarke, F., Ekeland, I.:
1123   -Nonlinear oscillations and boundary-value problems for
1124   -Hamiltonian systems.
1125   -Arch. Rat. Mech. Anal. 78, 315--333 (1982)
1126   -.
1127   -.
1128   -\end{thebibliography}
1129   -\end{verbatim}
1130   -The complete bibliography looks like this:
1131   -%
1132   -\begin{thebibliography}{[MT1]}
1133   -%
1134   -\bibitem[CE1]{clar:eke}
1135   -Clarke, F., Ekeland, I.:
1136   -Nonlinear oscillations and
1137   -boundary-value problems for Hamiltonian systems.
1138   -Arch. Rat. Mech. Anal. 78, 315--333 (1982)
1139   -%
1140   -\bibitem[CE2]{clar:eke:2}
1141   -Clarke, F., Ekeland, I.:
1142   -Solutions p\'{e}riodiques, du
1143   -p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes.
1144   -Note CRAS Paris 287, 1013--1015 (1978)
1145   -%
1146   -\bibitem[MT1]{mich:tar}
1147   -Michalek, R., Tarantello, G.:
1148   -Subharmonic solutions with prescribed minimal
1149   -period for nonautonomous Hamiltonian systems.
1150   -J. Diff. Eq. 72, 28--55 (1988)
1151   -%
1152   -\bibitem[Ta1]{tar}
1153   -Tarantello, G.:
1154   -Subharmonic solutions for Hamiltonian
1155   -systems via a $\bbbz_{p}$ pseudoindex theory.
1156   -Annali di Matematica Pura (to appear)
1157   -%
1158   -\bibitem[Ra1]{rab}
1159   -Rabinowitz, P.:
1160   -On subharmonic solutions of a Hamiltonian system.
1161   -Comm. Pure Appl. Math. 33, 609--633 (1980)
1162   -\end{thebibliography}
1163   -%
1164   -\subsubsection*{Number-Only System.}
1165   -%
1166   -For this preferred system do not use the optional argument
1167   -in the \verb|\bibitem| command: then, only numbers will
1168   -appear for the citations in the text (enclosed in square brackets)
1169   -as well as for the marks in your
1170   -bibliography (here the number is only end-punctuated without
1171   -square brackets).
1172   -
1173   -Subsequent citation numbers in the text are collapsed to ranges.
1174   -Non-numeric and undefined labels are handled correctly but no sorting is
1175   -done.
1176   -
1177   -E.g., \verb|\cite{n1,n3,n2,n3,n4,n5,foo,n1,n2,n3,?,n4,n5}| -- where
1178   -\verb|n|$x$ is the key of the $x^{\mathrm{th}}$ \verb|\bibitem|
1179   -command in sequence, \verb|foo| is the key of a \verb|\bibitem| with an
1180   -optional argument, and \verb|?| is an undefined reference -- gives
1181   -1,3,2-5,foo,1-3,?,4,5 as the citation reference.
1182   -
1183   -\begin{verbatim}
1184   -\begin{thebibliography}{1}
1185   -\bibitem {clar:eke}
1186   -Clarke, F., Ekeland, I.:
1187   -Nonlinear oscillations and boundary-value problems for
1188   -Hamiltonian systems.
1189   -Arch. Rat. Mech. Anal. 78, 315--333 (1982)
1190   -\end{thebibliography}
1191   -\end{verbatim}
1192   -%
1193   -\subsection{Author-Year System}
1194   -%
1195   -References are cited in the text by name and year in parentheses
1196   -and should look as follows:
1197   -(Smith 1970, 1980), (Ekeland et al. 1985, Theorem 2), (Jones and Jaffe
1198   -1986; Farrow 1988, Chap.\,2). If the name is part of the sentence
1199   -only the year may appear in parentheses,
1200   -e.g.\ Ekeland et al. (1985, Sect.\,2.1)
1201   -The reference list should contain all citations occurring in the text,
1202   -ordered alphabetically by surname (with initials following). If there
1203   -are several works by the same author(s) the references should be listed
1204   -in the appropriate order indicated below:
1205   -\begin{alpherate}
1206   -\setlength{\hfuzz}{5pt}
1207   -\item
1208   -One author: list works chronologically;
1209   -\item
1210   -Author and same co-author(s): list works chronologically;
1211   -\item
1212   -Author and different co-authors: list works alphabetically
1213   -according to co-authors.
1214   -\end{alpherate}
1215   -If there are several works by the same author(s) and in the same year,
1216   -but which are cited separately, they should be distinguished by the use
1217   -of ``a'', ``b'' etc., e.g.\ (Smith 1982a), (Ekeland et al. 1982b).
1218   -%
1219   -\subsubsection*{How to Code Author-Year System.}
1220   -%
1221   -If you want to use this system you have to specify the option
1222   -\verb|[citeauthoryear]| in the \verb|documentclass|, like:
1223   -\begin{verbatim}
1224   -\documentclass[citeauthoryear]{llncs}
1225   -\end{verbatim}
1226   -Write your citations in the text explicitly except for the year, leaving
1227   -that up to \LaTeX{} with the \verb|\cite| command. Then give only the
1228   -appropriate year as the optional argument (i.e. the label in square
1229   -brackets) with the \verb|\bibitem| command(s).\\[2mm]
1230   -{\itshape Sample Input}
1231   -\begin{verbatim}
1232   -The results in this section are a refined version
1233   -of Clarke and Ekeland (\cite{clar:eke}); the minimality result of
1234   -Proposition~14 was the first of its kind.
1235   -\end{verbatim}
1236   -The above input produces the citation: ``\dots\ refined version of
1237   -Clarke and Ekeland (1982); the minimality\dots''. Then the
1238   -\verb|\bibitem| entry of \verb|clar:eke| in the \verb|thebibliography|
1239   -environment should read:
1240   -\begin{verbatim}
1241   -\begin{thebibliography}{} % (do not forget {})
1242   -.
1243   -.
1244   -\bibitem[1982]{clar:eke}
1245   -Clarke, F., Ekeland, I.:
1246   -Nonlinear oscillations and boundary-value problems for
1247   -Hamiltonian systems.
1248   -Arch. Rat. Mech. Anal. 78, 315--333 (1982)
1249   -.
1250   -.
1251   -\end{thebibliography}
1252   -\end{verbatim}
1253   -{\itshape Sample Output}
1254   -\bibauthoryear
1255   -%
1256   -\end{document}
OSS-2016/llncsdoc.sty
... ... @@ -1,42 +0,0 @@
1   -% This is LLNCSDOC.STY the modification of the
2   -% LLNCS class file for the documentation of
3   -% the class itself.
4   -%
5   -\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}%
6   - A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
7   -\def\AmSTeX{{\protect\AmS-\protect\TeX}}
8   -%
9   -\def\ps@myheadings{\let\@mkboth\@gobbletwo
10   -\def\@oddhead{\hbox{}\hfil\small\rm\rightmark
11   -\qquad\thepage}%
12   -\def\@oddfoot{}\def\@evenhead{\small\rm\thepage\qquad
13   -\leftmark\hfil}%
14   -\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}}
15   -\ps@myheadings
16   -%
17   -\setcounter{tocdepth}{2}
18   -%
19   -\renewcommand{\labelitemi}{--}
20   -\newenvironment{alpherate}%
21   -{\renewcommand{\labelenumi}{\alph{enumi})}\begin{enumerate}}%
22   -{\end{enumerate}\renewcommand{\labelenumi}{enumi}}
23   -%
24   -\def\bibauthoryear{\begingroup
25   -\def\thebibliography##1{\section*{References}%
26   - \small\list{}{\settowidth\labelwidth{}\leftmargin\parindent
27   - \itemindent=-\parindent
28   - \labelsep=\z@
29   - \usecounter{enumi}}%
30   - \def\newblock{\hskip .11em plus .33em minus -.07em}%
31   - \sloppy
32   - \sfcode`\.=1000\relax}%
33   - \def\@cite##1{##1}%
34   - \def\@lbibitem[##1]##2{\item[]\if@filesw
35   - {\def\protect####1{\string ####1\space}\immediate
36   - \write\@auxout{\string\bibcite{##2}{##1}}}\fi\ignorespaces}%
37   -\begin{thebibliography}{}
38   -\bibitem[1982]{clar:eke3} Clarke, F., Ekeland, I.: Nonlinear
39   -oscillations and boundary-value problems for Hamiltonian systems.
40   -Arch. Rat. Mech. Anal. 78, 315--333 (1982)
41   -\end{thebibliography}
42   -\endgroup}
OSS-2016/remreset.sty
... ... @@ -1,39 +0,0 @@
1   -
2   -% remreset package
3   -%%%%%%%%%%%%%%%%%%
4   -
5   -% Copyright 1997 David carlisle
6   -% This file may be distributed under the terms of the LPPL.
7   -% See 00readme.txt for details.
8   -
9   -% 1997/09/28 David Carlisle
10   -
11   -% LaTeX includes a command \@addtoreset that is used to declare that
12   -% a counter should be reset every time a second counter is incremented.
13   -
14   -% For example the book class has a line
15   -% \@addtoreset{footnote}{chapter}
16   -% So that the footnote counter is reset each chapter.
17   -
18   -% If you wish to bas a new class on book, but without this counter
19   -% being reset, then standard LaTeX gives no simple mechanism to do
20   -% this.
21   -
22   -% This package defines |\@removefromreset| which just undoes the effect
23   -% of \@addtorest. So for example a class file may be defined by
24   -
25   -% \LoadClass{book}
26   -% \@removefromreset{footnote}{chapter}
27   -
28   -
29   -\def\@removefromreset#1#2{{%
30   - \expandafter\let\csname c@#1\endcsname\@removefromreset
31   - \def\@elt##1{%
32   - \expandafter\ifx\csname c@##1\endcsname\@removefromreset
33   - \else
34   - \noexpand\@elt{##1}%
35   - \fi}%
36   - \expandafter\xdef\csname cl@#2\endcsname{%
37   - \csname cl@#2\endcsname}}}
38   -
39   -
OSS-2016/spb.bib
... ... @@ -1,37 +0,0 @@
1   -@article{naur1969software,
2   - title={NATO},
3   - author={Naur, Peter and Randell, Brian},
4   - year={1969}
5   -}
6   -
7   -@phdthesis{meirelles2013monitoramento,
8   - title={Monitoramento de m{\'e}tricas de c{\'o}digo-fonte em projetos de software livre},
9   - author={Meirelles, Paulo Roberto Miranda},
10   - year={2013},
11   - school={Universidade de S{\~a}o Paulo},
12   - url={http://www.teses.usp.br/teses/disponiveis/45/45134/tde-27082013-090242/pt-br.php}
13   -}
14   -
15   -@article{meirelles2009crab,
16   - title={Crab: Uma software para avalia{\c{c}}{\~a}o de qualidade de c{\'o}digo},
17   - author={Meirellesunes, Paulo and Challco, Geiser and Morais, Eduardo and Kon, Fabio},
18   - journal={XXIII SBES-Simp{\'o}sio Brasileiro de Engenharia de Software (XVI Sess{\~a}o de Ferramentas). Citado na p{\'a}g},
19   - volume={33},
20   - year={2009}
21   -}
22   -
23   -@mastersthesis{de2013kalibro,
24   - title={Kalibro: interpreta{\c{c}}{\~a}o de m{\'e}tricas de c{\'o}digo-fonte},
25   - author={de Oliveira Filho, Carlos Morais},
26   - year={2013},
27   - school={Universidade de S{\~a}o Paulo}
28   -}
29   -
30   -@inproceedings{terceiro2010analizo,
31   - title={Analizo: an extensible multi-language source code analysis and visualization toolkit},
32   - author={Terceiro, ulo and Rios, Luiz Rom{\'a}rio and Almeida, Lucianna and Chavez, Christina and Kon, Fabio},
33   - booktitle={Brazilian Conference on Software: Theory and Practice (CBSoft)--Tools, Salvador-Brazil},
34   - volume={29},
35   - year={2010}
36   -}
37   -
OSS-2016/spb.tex
... ... @@ -1,81 +0,0 @@
1   -\documentclass{llncs}
2   -
3   -\usepackage{llncsdoc}
4   -\usepackage{graphicx,url}
5   -\usepackage[brazil]{babel}
6   -\usepackage[utf8]{inputenc}
7   -\usepackage{float}
8   -\usepackage{setspace}
9   -
10   -\usepackage{tabularx}
11   -\usepackage{cite}
12   -\usepackage{hyperref}
13   -
14   -\begin{document}
15   -\sloppy
16   -\title{Titulo aqui}
17   -
18   -\author{Autores aqui}
19   -
20   -\institute{Instituto Aqui\\
21   - \email{\{emails, aqui\}@unb.br}
22   - \and
23   - Faculdade do Gama -- Universidade de Brasília (UnB)\\
24   - Gama -- DF -- Brasil\\
25   - \email{paulormm@unb.br}}
26   -
27   -\maketitle
28   -\begin{abstract}
29   - % Contexto
30   - % Problema
31   - % TODO: adicionar referência que apoie a falta de uso de análise estática em ambientes de desenvolvimento.
32   - % Soluções propostas
33   - % Frase de impacto
34   -\textbf{palavras chave} palavras chaves aqui.
35   -\end{abstract}
36   -
37   -\section{Introdução} \label{sec:intro}
38   -
39   -\section{Motivação}\label{sec:motivacao}
40   -
41   -\section{Ferramentas similares}
42   -
43   -\section{Histórico do spb}\label{sec:spb}
44   -
45   - \subsection{Origem}\label{sec:origin}
46   -
47   -
48   - \subsection{Primeiro protótipo de interface gráfica}\label{sec:primeiro-prototipo}
49   -
50   - \subsection{Segunda interface gráfica - Prezento}\label{sec:segundo-prototipo}
51   -
52   - \subsection{Kalibro em \textit{Ruby on Rails}}
53   -
54   -\section{Arquitetura}
55   -
56   - %%% Colocar figura da época do Noosfero
57   -
58   - %%% Colocar figura da época pós Noosfero. Dependendo da figura que vamos colocar aqui, adaptar o texto e adicionar mais coisas.
59   -
60   - %%% Colocar figura atual. Decidir se já vamos colocar com kalibro_client e kalibro_core. Complementar o texto.
61   - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62   -
63   -\section{Diferenciais} \label{subsec:motivacao}
64   -
65   -\section{Por que usar o Mezuro?} \label{sec:projeto-mezuro}
66   -
67   -\section{Principais funcionalidades}\label{sec:princ-funcionalidades}
68   -
69   -\section{A rede social}\label{sec:user-potencial}
70   -
71   -\section{Casos de uso}
72   -
73   - \subsection{Criação de configuração}
74   -
75   - \subsection{Criação de projeto e avaliação de repositório}
76   -
77   -\section{Conclusão}
78   -
79   -\bibliographystyle{splncs03}
80   -\bibliography{mezuro}
81   -\end{document}
OSS-2016/splncs03.bst
... ... @@ -1,1519 +0,0 @@
1   -%% BibTeX bibliography style `splncs03'
2   -%%
3   -%% BibTeX bibliography style for use with numbered references in
4   -%% Springer Verlag's "Lecture Notes in Computer Science" series.
5   -%% (See Springer's documentation for llncs.cls for
6   -%% more details of the suggested reference format.) Note that this
7   -%% file will not work for author-year style citations.
8   -%%
9   -%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite
10   -%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text.
11   -%%
12   -%% This file comes to you courtesy of Maurizio "Titto" Patrignani of
13   -%% Dipartimento di Informatica e Automazione Universita' Roma Tre
14   -%%
15   -%% ================================================================================================
16   -%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009
17   -%% Edited by hand by titto based on `titto-lncs-01.bst' (see below)
18   -%%
19   -%% CHANGES (with respect to titto-lncs-01.bst):
20   -%% - Removed the call to \urlprefix (thus no "URL" string is added to the output)
21   -%% ================================================================================================
22   -%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008
23   -%% Edited by hand by titto based on `titto.bst' (see below)
24   -%%
25   -%% CHANGES (with respect to titto.bst):
26   -%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)"
27   -%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.")
28   -%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings
29   -%% - Commented all new.block commands before urls and notes (to separate them with a comma)
30   -%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label)
31   -%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle)
32   -%% - Removed a \newblock to avoid long spaces between title and "In: ..."
33   -%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label
34   -%% ================================================================================================
35   -%% This was file `titto.bst',
36   -%% generated with the docstrip utility.
37   -%%
38   -%% The original source files were:
39   -%%
40   -%% 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,')
41   -%% ----------------------------------------
42   -%% *** Tentative .bst file for Springer LNCS ***
43   -%%
44   -%% Copyright 1994-2007 Patrick W Daly
45   - % ===============================================================
46   - % IMPORTANT NOTICE:
47   - % This bibliographic style (bst) file has been generated from one or
48   - % more master bibliographic style (mbs) files, listed above.
49   - %
50   - % This generated file can be redistributed and/or modified under the terms
51   - % of the LaTeX Project Public License Distributed from CTAN
52   - % archives in directory macros/latex/base/lppl.txt; either
53   - % version 1 of the License, or any later version.
54   - % ===============================================================
55   - % Name and version information of the main mbs file:
56   - % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]
57   - % For use with BibTeX version 0.99a or later
58   - %-------------------------------------------------------------------
59   - % This bibliography style file is intended for texts in ENGLISH
60   - % This is a numerical citation style, and as such is standard LaTeX.
61   - % It requires no extra package to interface to the main text.
62   - % The form of the \bibitem entries is
63   - % \bibitem{key}...
64   - % Usage of \cite is as follows:
65   - % \cite{key} ==>> [#]
66   - % \cite[chap. 2]{key} ==>> [#, chap. 2]
67   - % where # is a number determined by the ordering in the reference list.
68   - % The order in the reference list is alphabetical by authors.
69   - %---------------------------------------------------------------------
70   -
71   -ENTRY
72   - { address
73   - author
74   - booktitle
75   - chapter
76   - edition
77   - editor
78   - eid
79   - howpublished
80   - institution
81   - journal
82   - key
83   - month
84   - note
85   - number
86   - organization
87   - pages
88   - publisher
89   - school
90   - series
91   - title
92   - type
93   - url
94   - volume
95   - year
96   - }
97   - {}
98   - { label }
99   -INTEGERS { output.state before.all mid.sentence after.sentence after.block }
100   -FUNCTION {init.state.consts}
101   -{ #0 'before.all :=
102   - #1 'mid.sentence :=
103   - #2 'after.sentence :=
104   - #3 'after.block :=
105   -}
106   -STRINGS { s t}
107   -FUNCTION {output.nonnull}
108   -{ 's :=
109   - output.state mid.sentence =
110   - { ", " * write$ }
111   - { output.state after.block =
112   - { add.period$ write$
113   -% newline$
114   -% "\newblock " write$ % removed for titto-lncs-01
115   - " " write$ % to avoid long spaces between title and "In: ..."
116   - }
117   - { output.state before.all =
118   - 'write$
119   - { add.period$ " " * write$ }
120   - if$
121   - }
122   - if$
123   - mid.sentence 'output.state :=
124   - }
125   - if$
126   - s
127   -}
128   -FUNCTION {output}
129   -{ duplicate$ empty$
130   - 'pop$
131   - 'output.nonnull
132   - if$
133   -}
134   -FUNCTION {output.check}
135   -{ 't :=
136   - duplicate$ empty$
137   - { pop$ "empty " t * " in " * cite$ * warning$ }
138   - 'output.nonnull
139   - if$
140   -}
141   -FUNCTION {fin.entry}
142   -{ duplicate$ empty$
143   - 'pop$
144   - 'write$
145   - if$
146   - newline$
147   -}
148   -
149   -FUNCTION {new.block}
150   -{ output.state before.all =
151   - 'skip$
152   - { after.block 'output.state := }
153   - if$
154   -}
155   -FUNCTION {new.sentence}
156   -{ output.state after.block =
157   - 'skip$
158   - { output.state before.all =
159   - 'skip$
160   - { after.sentence 'output.state := }
161   - if$
162   - }
163   - if$
164   -}
165   -FUNCTION {add.blank}
166   -{ " " * before.all 'output.state :=
167   -}
168   -
169   -
170   -FUNCTION {add.colon}
171   -{ duplicate$ empty$
172   - 'skip$
173   - { ":" * add.blank }
174   - if$
175   -}
176   -
177   -FUNCTION {date.block}
178   -{
179   - new.block
180   -}
181   -
182   -FUNCTION {not}
183   -{ { #0 }
184   - { #1 }
185   - if$
186   -}
187   -FUNCTION {and}
188   -{ 'skip$
189   - { pop$ #0 }
190   - if$
191   -}
192   -FUNCTION {or}
193   -{ { pop$ #1 }
194   - 'skip$
195   - if$
196   -}
197   -STRINGS {z}
198   -FUNCTION {remove.dots}
199   -{ 'z :=
200   - ""
201   - { z empty$ not }
202   - { z #1 #1 substring$
203   - z #2 global.max$ substring$ 'z :=
204   - duplicate$ "." = 'pop$
205   - { * }
206   - if$
207   - }
208   - while$
209   -}
210   -FUNCTION {new.block.checka}
211   -{ empty$
212   - 'skip$
213   - 'new.block
214   - if$
215   -}
216   -FUNCTION {new.block.checkb}
217   -{ empty$
218   - swap$ empty$
219   - and
220   - 'skip$
221   - 'new.block
222   - if$
223   -}
224   -FUNCTION {new.sentence.checka}
225   -{ empty$
226   - 'skip$
227   - 'new.sentence
228   - if$
229   -}
230   -FUNCTION {new.sentence.checkb}
231   -{ empty$
232   - swap$ empty$
233   - and
234   - 'skip$
235   - 'new.sentence
236   - if$
237   -}
238   -FUNCTION {field.or.null}
239   -{ duplicate$ empty$
240   - { pop$ "" }
241   - 'skip$
242   - if$
243   -}
244   -FUNCTION {emphasize}
245   -{ skip$ }
246   -FUNCTION {tie.or.space.prefix}
247   -{ duplicate$ text.length$ #3 <
248   - { "~" }
249   - { " " }
250   - if$
251   - swap$
252   -}
253   -FUNCTION {titto.space.prefix} % always introduce a space
254   -{ duplicate$ text.length$ #3 <
255   - { " " }
256   - { " " }
257   - if$
258   - swap$
259   -}
260   -
261   -
262   -FUNCTION {capitalize}
263   -{ "u" change.case$ "t" change.case$ }
264   -
265   -FUNCTION {space.word}
266   -{ " " swap$ * " " * }
267   - % Here are the language-specific definitions for explicit words.
268   - % Each function has a name bbl.xxx where xxx is the English word.
269   - % The language selected here is ENGLISH
270   -FUNCTION {bbl.and}
271   -{ "and"}
272   -
273   -FUNCTION {bbl.etal}
274   -{ "et~al." }
275   -
276   -FUNCTION {bbl.editors}
277   -{ "eds." }
278   -
279   -FUNCTION {bbl.editor}
280   -{ "ed." }
281   -
282   -FUNCTION {bbl.edby}
283   -{ "edited by" }
284   -
285   -FUNCTION {bbl.edition}
286   -{ "edn." }
287   -
288   -FUNCTION {bbl.volume}
289   -{ "vol." }
290   -
291   -FUNCTION {titto.bbl.volume} % for handling journals
292   -{ "" }
293   -
294   -FUNCTION {bbl.of}
295   -{ "of" }
296   -
297   -FUNCTION {bbl.number}
298   -{ "no." }
299   -
300   -FUNCTION {bbl.nr}
301   -{ "no." }
302   -
303   -FUNCTION {bbl.in}
304   -{ "in" }
305   -
306   -FUNCTION {bbl.pages}
307   -{ "pp." }
308   -
309   -FUNCTION {bbl.page}
310   -{ "p." }
311   -
312   -FUNCTION {titto.bbl.pages} % for journals
313   -{ "" }
314   -
315   -FUNCTION {titto.bbl.page} % for journals
316   -{ "" }
317   -
318   -FUNCTION {bbl.chapter}
319   -{ "chap." }
320   -
321   -FUNCTION {bbl.techrep}
322   -{ "Tech. Rep." }
323   -
324   -FUNCTION {bbl.mthesis}
325   -{ "Master's thesis" }
326   -
327   -FUNCTION {bbl.phdthesis}
328   -{ "Ph.D. thesis" }
329   -
330   -MACRO {jan} {"Jan."}
331   -
332   -MACRO {feb} {"Feb."}
333   -
334   -MACRO {mar} {"Mar."}
335   -
336   -MACRO {apr} {"Apr."}
337   -
338   -MACRO {may} {"May"}
339   -
340   -MACRO {jun} {"Jun."}
341   -
342   -MACRO {jul} {"Jul."}
343   -
344   -MACRO {aug} {"Aug."}
345   -
346   -MACRO {sep} {"Sep."}
347   -
348   -MACRO {oct} {"Oct."}
349   -
350   -MACRO {nov} {"Nov."}
351   -
352   -MACRO {dec} {"Dec."}
353   -
354   -MACRO {acmcs} {"ACM Comput. Surv."}
355   -
356   -MACRO {acta} {"Acta Inf."}
357   -
358   -MACRO {cacm} {"Commun. ACM"}
359   -
360   -MACRO {ibmjrd} {"IBM J. Res. Dev."}
361   -
362   -MACRO {ibmsj} {"IBM Syst.~J."}
363   -
364   -MACRO {ieeese} {"IEEE Trans. Software Eng."}
365   -
366   -MACRO {ieeetc} {"IEEE Trans. Comput."}
367   -
368   -MACRO {ieeetcad}
369   - {"IEEE Trans. Comput. Aid. Des."}
370   -
371   -MACRO {ipl} {"Inf. Process. Lett."}
372   -
373   -MACRO {jacm} {"J.~ACM"}
374   -
375   -MACRO {jcss} {"J.~Comput. Syst. Sci."}
376   -
377   -MACRO {scp} {"Sci. Comput. Program."}
378   -
379   -MACRO {sicomp} {"SIAM J. Comput."}
380   -
381   -MACRO {tocs} {"ACM Trans. Comput. Syst."}
382   -
383   -MACRO {tods} {"ACM Trans. Database Syst."}
384   -
385   -MACRO {tog} {"ACM Trans. Graphic."}
386   -
387   -MACRO {toms} {"ACM Trans. Math. Software"}
388   -
389   -MACRO {toois} {"ACM Trans. Office Inf. Syst."}
390   -
391   -MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
392   -
393   -MACRO {tcs} {"Theor. Comput. Sci."}
394   -
395   -FUNCTION {bibinfo.check}
396   -{ swap$
397   - duplicate$ missing$
398   - {
399   - pop$ pop$
400   - ""
401   - }
402   - { duplicate$ empty$
403   - {
404   - swap$ pop$
405   - }
406   - { swap$
407   - pop$
408   - }
409   - if$
410   - }
411   - if$
412   -}
413   -FUNCTION {bibinfo.warn}
414   -{ swap$
415   - duplicate$ missing$
416   - {
417   - swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
418   - ""
419   - }
420   - { duplicate$ empty$
421   - {
422   - swap$ "empty " swap$ * " in " * cite$ * warning$
423   - }
424   - { swap$
425   - pop$
426   - }
427   - if$
428   - }
429   - if$
430   -}
431   -FUNCTION {format.url}
432   -{ url empty$
433   - { "" }
434   -% { "\urlprefix\url{" url * "}" * }
435   - { "\url{" url * "}" * } % changed in titto-lncs-02.bst
436   - if$
437   -}
438   -
439   -INTEGERS { nameptr namesleft numnames }
440   -
441   -
442   -STRINGS { bibinfo}
443   -
444   -FUNCTION {format.names}
445   -{ 'bibinfo :=
446   - duplicate$ empty$ 'skip$ {
447   - 's :=
448   - "" 't :=
449   - #1 'nameptr :=
450   - s num.names$ 'numnames :=
451   - numnames 'namesleft :=
452   - { namesleft #0 > }
453   - { s nameptr
454   - "{vv~}{ll}{, jj}{, f{.}.}"
455   - format.name$
456   - bibinfo bibinfo.check
457   - 't :=
458   - nameptr #1 >
459   - {
460   - namesleft #1 >
461   - { ", " * t * }
462   - {
463   - s nameptr "{ll}" format.name$ duplicate$ "others" =
464   - { 't := }
465   - { pop$ }
466   - if$
467   - "," *
468   - t "others" =
469   - {
470   - " " * bbl.etal *
471   - }
472   - { " " * t * }
473   - if$
474   - }
475   - if$
476   - }
477   - 't
478   - if$
479   - nameptr #1 + 'nameptr :=
480   - namesleft #1 - 'namesleft :=
481   - }
482   - while$
483   - } if$
484   -}
485   -FUNCTION {format.names.ed}
486   -{
487   - 'bibinfo :=
488   - duplicate$ empty$ 'skip$ {
489   - 's :=
490   - "" 't :=
491   - #1 'nameptr :=
492   - s num.names$ 'numnames :=
493   - numnames 'namesleft :=
494   - { namesleft #0 > }
495   - { s nameptr
496   - "{f{.}.~}{vv~}{ll}{ jj}"
497   - format.name$
498   - bibinfo bibinfo.check
499   - 't :=
500   - nameptr #1 >
501   - {
502   - namesleft #1 >
503   - { ", " * t * }
504   - {
505   - s nameptr "{ll}" format.name$ duplicate$ "others" =
506   - { 't := }
507   - { pop$ }
508   - if$
509   - "," *
510   - t "others" =
511   - {
512   -
513   - " " * bbl.etal *
514   - }
515   - { " " * t * }
516   - if$
517   - }
518   - if$
519   - }
520   - 't
521   - if$
522   - nameptr #1 + 'nameptr :=
523   - namesleft #1 - 'namesleft :=
524   - }
525   - while$
526   - } if$
527   -}
528   -FUNCTION {format.authors}
529   -{ author "author" format.names
530   -}
531   -FUNCTION {get.bbl.editor}
532   -{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
533   -
534   -FUNCTION {format.editors}
535   -{ editor "editor" format.names duplicate$ empty$ 'skip$
536   - {
537   - " " *
538   - get.bbl.editor
539   -% capitalize
540   - "(" swap$ * ")" *
541   - *
542   - }
543   - if$
544   -}
545   -FUNCTION {format.note}
546   -{
547   - note empty$
548   - { "" }
549   - { note #1 #1 substring$
550   - duplicate$ "{" =
551   - 'skip$
552   - { output.state mid.sentence =
553   - { "l" }
554   - { "u" }
555   - if$
556   - change.case$
557   - }
558   - if$
559   - note #2 global.max$ substring$ * "note" bibinfo.check
560   - }
561   - if$
562   -}
563   -
564   -FUNCTION {format.title}
565   -{ title
566   - duplicate$ empty$ 'skip$
567   - { "t" change.case$ }
568   - if$
569   - "title" bibinfo.check
570   -}
571   -FUNCTION {output.bibitem}
572   -{ newline$
573   - "\bibitem{" write$
574   - cite$ write$
575   - "}" write$
576   - newline$
577   - ""
578   - before.all 'output.state :=
579   -}
580   -
581   -FUNCTION {n.dashify}
582   -{
583   - 't :=
584   - ""
585   - { t empty$ not }
586   - { t #1 #1 substring$ "-" =
587   - { t #1 #2 substring$ "--" = not
588   - { "--" *
589   - t #2 global.max$ substring$ 't :=
590   - }
591   - { { t #1 #1 substring$ "-" = }
592   - { "-" *
593   - t #2 global.max$ substring$ 't :=
594   - }
595   - while$
596   - }
597   - if$
598   - }
599   - { t #1 #1 substring$ *
600   - t #2 global.max$ substring$ 't :=
601   - }
602   - if$
603   - }
604   - while$
605   -}
606   -
607   -FUNCTION {word.in}
608   -{ bbl.in capitalize
609   - ":" *
610   - " " * }
611   -
612   -FUNCTION {format.date}
613   -{
614   - month "month" bibinfo.check
615   - duplicate$ empty$
616   - year "year" bibinfo.check duplicate$ empty$
617   - { swap$ 'skip$
618   - { "there's a month but no year in " cite$ * warning$ }
619   - if$
620   - *
621   - }
622   - { swap$ 'skip$
623   - {
624   - swap$
625   - " " * swap$
626   - }
627   - if$
628   - *
629   - remove.dots
630   - }
631   - if$
632   - duplicate$ empty$
633   - 'skip$
634   - {
635   - before.all 'output.state :=
636   - " (" swap$ * ")" *
637   - }
638   - if$
639   -}
640   -FUNCTION {format.btitle}
641   -{ title "title" bibinfo.check
642   - duplicate$ empty$ 'skip$
643   - {
644   - }
645   - if$
646   -}
647   -FUNCTION {either.or.check}
648   -{ empty$
649   - 'pop$
650   - { "can't use both " swap$ * " fields in " * cite$ * warning$ }
651   - if$
652   -}
653   -FUNCTION {format.bvolume}
654   -{ volume empty$
655   - { "" }
656   - { bbl.volume volume tie.or.space.prefix
657   - "volume" bibinfo.check * *
658   - series "series" bibinfo.check
659   - duplicate$ empty$ 'pop$
660   - { emphasize ", " * swap$ * }
661   - if$
662   - "volume and number" number either.or.check
663   - }
664   - if$
665   -}
666   -FUNCTION {format.number.series}
667   -{ volume empty$
668   - { number empty$
669   - { series field.or.null }
670   - { output.state mid.sentence =
671   - { bbl.number }
672   - { bbl.number capitalize }
673   - if$
674   - number tie.or.space.prefix "number" bibinfo.check * *
675   - series empty$
676   - { "there's a number but no series in " cite$ * warning$ }
677   - { bbl.in space.word *
678   - series "series" bibinfo.check *
679   - }
680   - if$
681   - }
682   - if$
683   - }
684   - { "" }
685   - if$
686   -}
687   -
688   -FUNCTION {format.edition}
689   -{ edition duplicate$ empty$ 'skip$
690   - {
691   - output.state mid.sentence =
692   - { "l" }
693   - { "t" }
694   - if$ change.case$
695   - "edition" bibinfo.check
696   - " " * bbl.edition *
697   - }
698   - if$
699   -}
700   -INTEGERS { multiresult }
701   -FUNCTION {multi.page.check}
702   -{ 't :=
703   - #0 'multiresult :=
704   - { multiresult not
705   - t empty$ not
706   - and
707   - }
708   - { t #1 #1 substring$
709   - duplicate$ "-" =
710   - swap$ duplicate$ "," =
711   - swap$ "+" =
712   - or or
713   - { #1 'multiresult := }
714   - { t #2 global.max$ substring$ 't := }
715   - if$
716   - }
717   - while$
718   - multiresult
719   -}
720   -FUNCTION {format.pages}
721   -{ pages duplicate$ empty$ 'skip$
722   - { duplicate$ multi.page.check
723   - {
724   - bbl.pages swap$
725   - n.dashify
726   - }
727   - {
728   - bbl.page swap$
729   - }
730   - if$
731   - tie.or.space.prefix
732   - "pages" bibinfo.check
733   - * *
734   - }
735   - if$
736   -}
737   -FUNCTION {format.journal.pages}
738   -{ pages duplicate$ empty$ 'pop$
739   - { swap$ duplicate$ empty$
740   - { pop$ pop$ format.pages }
741   - {
742   - ", " *
743   - swap$
744   - n.dashify
745   - pages multi.page.check
746   - 'titto.bbl.pages
747   - 'titto.bbl.page
748   - if$
749   - swap$ tie.or.space.prefix
750   - "pages" bibinfo.check
751   - * *
752   - *
753   - }
754   - if$
755   - }
756   - if$
757   -}
758   -FUNCTION {format.journal.eid}
759   -{ eid "eid" bibinfo.check
760   - duplicate$ empty$ 'pop$
761   - { swap$ duplicate$ empty$ 'skip$
762   - {
763   - ", " *
764   - }
765   - if$
766   - swap$ *
767   - }
768   - if$
769   -}
770   -FUNCTION {format.vol.num.pages} % this function is used only for journal entries
771   -{ volume field.or.null
772   - duplicate$ empty$ 'skip$
773   - {
774   -% bbl.volume swap$ tie.or.space.prefix
775   - titto.bbl.volume swap$ titto.space.prefix
776   -% rationale for the change above: for journals you don't want "vol." label
777   -% hence it does not make sense to attach the journal number to the label when
778   -% it is short
779   - "volume" bibinfo.check
780   - * *
781   - }
782   - if$
783   - number "number" bibinfo.check duplicate$ empty$ 'skip$
784   - {
785   - swap$ duplicate$ empty$
786   - { "there's a number but no volume in " cite$ * warning$ }
787   - 'skip$
788   - if$
789   - swap$
790   - "(" swap$ * ")" *
791   - }
792   - if$ *
793   - eid empty$
794   - { format.journal.pages }
795   - { format.journal.eid }
796   - if$
797   -}
798   -
799   -FUNCTION {format.chapter.pages}
800   -{ chapter empty$
801   - 'format.pages
802   - { type empty$
803   - { bbl.chapter }
804   - { type "l" change.case$
805   - "type" bibinfo.check
806   - }
807   - if$
808   - chapter tie.or.space.prefix
809   - "chapter" bibinfo.check
810   - * *
811   - pages empty$
812   - 'skip$
813   - { ", " * format.pages * }
814   - if$
815   - }
816   - if$
817   -}
818   -
819   -FUNCTION {format.booktitle}
820   -{
821   - booktitle "booktitle" bibinfo.check
822   -}
823   -FUNCTION {format.in.ed.booktitle}
824   -{ format.booktitle duplicate$ empty$ 'skip$
825   - {
826   -% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto
827   - editor "editor" format.names duplicate$ empty$ 'pop$
828   - {
829   - " " *
830   - get.bbl.editor
831   -% capitalize
832   - "(" swap$ * ") " *
833   - * swap$
834   - * }
835   - if$
836   - word.in swap$ *
837   - }
838   - if$
839   -}
840   -FUNCTION {empty.misc.check}
841   -{ author empty$ title empty$ howpublished empty$
842   - month empty$ year empty$ note empty$
843   - and and and and and
844   - key empty$ not and
845   - { "all relevant fields are empty in " cite$ * warning$ }
846   - 'skip$
847   - if$
848   -}
849   -FUNCTION {format.thesis.type}
850   -{ type duplicate$ empty$
851   - 'pop$
852   - { swap$ pop$
853   - "t" change.case$ "type" bibinfo.check
854   - }
855   - if$
856   -}
857   -FUNCTION {format.tr.number}
858   -{ number "number" bibinfo.check
859   - type duplicate$ empty$
860   - { pop$ bbl.techrep }
861   - 'skip$
862   - if$
863   - "type" bibinfo.check
864   - swap$ duplicate$ empty$
865   - { pop$ "t" change.case$ }
866   - { tie.or.space.prefix * * }
867   - if$
868   -}
869   -FUNCTION {format.article.crossref}
870   -{
871   - key duplicate$ empty$
872   - { pop$
873   - journal duplicate$ empty$
874   - { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
875   - { "journal" bibinfo.check emphasize word.in swap$ * }
876   - if$
877   - }
878   - { word.in swap$ * " " *}
879   - if$
880   - " \cite{" * crossref * "}" *
881   -}
882   -FUNCTION {format.crossref.editor}
883   -{ editor #1 "{vv~}{ll}" format.name$
884   - "editor" bibinfo.check
885   - editor num.names$ duplicate$
886   - #2 >
887   - { pop$
888   - "editor" bibinfo.check
889   - " " * bbl.etal
890   - *
891   - }
892   - { #2 <
893   - 'skip$
894   - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
895   - {
896   - "editor" bibinfo.check
897   - " " * bbl.etal
898   - *
899   - }
900   - {
901   - bbl.and space.word
902   - * editor #2 "{vv~}{ll}" format.name$
903   - "editor" bibinfo.check
904   - *
905   - }
906   - if$
907   - }
908   - if$
909   - }
910   - if$
911   -}
912   -FUNCTION {format.book.crossref}
913   -{ volume duplicate$ empty$
914   - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
915   - pop$ word.in
916   - }
917   - { bbl.volume
918   - capitalize
919   - swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
920   - }
921   - if$
922   - editor empty$
923   - editor field.or.null author field.or.null =
924   - or
925   - { key empty$
926   - { series empty$
927   - { "need editor, key, or series for " cite$ * " to crossref " *
928   - crossref * warning$
929   - "" *
930   - }
931   - { series emphasize * }
932   - if$
933   - }
934   - { key * }
935   - if$
936   - }
937   - { format.crossref.editor * }
938   - if$
939   - " \cite{" * crossref * "}" *
940   -}
941   -FUNCTION {format.incoll.inproc.crossref}
942   -{
943   - editor empty$
944   - editor field.or.null author field.or.null =
945   - or
946   - { key empty$
947   - { format.booktitle duplicate$ empty$
948   - { "need editor, key, or booktitle for " cite$ * " to crossref " *
949   - crossref * warning$
950   - }
951   - { word.in swap$ * }
952   - if$
953   - }
954   - { word.in key * " " *}
955   - if$
956   - }
957   - { word.in format.crossref.editor * " " *}
958   - if$
959   - " \cite{" * crossref * "}" *
960   -}
961   -FUNCTION {format.org.or.pub}
962   -{ 't :=
963   - ""
964   - address empty$ t empty$ and
965   - 'skip$
966   - {
967   - t empty$
968   - { address "address" bibinfo.check *
969   - }
970   - { t *
971   - address empty$
972   - 'skip$
973   - { ", " * address "address" bibinfo.check * }
974   - if$
975   - }
976   - if$
977   - }
978   - if$
979   -}
980   -FUNCTION {format.publisher.address}
981   -{ publisher "publisher" bibinfo.warn format.org.or.pub
982   -}
983   -
984   -FUNCTION {format.organization.address}
985   -{ organization "organization" bibinfo.check format.org.or.pub
986   -}
987   -
988   -FUNCTION {article}
989   -{ output.bibitem
990   - format.authors "author" output.check
991   - add.colon
992   - new.block
993   - format.title "title" output.check
994   - new.block
995   - crossref missing$
996   - {
997   - journal
998   - "journal" bibinfo.check
999   - "journal" output.check
1000   - add.blank
1001   - format.vol.num.pages output
1002   - format.date "year" output.check
1003   - }
1004   - { format.article.crossref output.nonnull
1005   - format.pages output
1006   - }
1007   - if$
1008   -% new.block
1009   - format.url output
1010   -% new.block
1011   - format.note output
1012   - fin.entry
1013   -}
1014   -FUNCTION {book}
1015   -{ output.bibitem
1016   - author empty$
1017   - { format.editors "author and editor" output.check
1018   - add.colon
1019   - }
1020   - { format.authors output.nonnull
1021   - add.colon
1022   - crossref missing$
1023   - { "author and editor" editor either.or.check }
1024   - 'skip$
1025   - if$
1026   - }
1027   - if$
1028   - new.block
1029   - format.btitle "title" output.check
1030   - crossref missing$
1031   - { format.bvolume output
1032   - new.block
1033   - new.sentence
1034   - format.number.series output
1035   - format.publisher.address output
1036   - }
1037   - {
1038   - new.block
1039   - format.book.crossref output.nonnull
1040   - }
1041   - if$
1042   - format.edition output
1043   - format.date "year" output.check
1044   -% new.block
1045   - format.url output
1046   -% new.block
1047   - format.note output
1048   - fin.entry
1049   -}
1050   -FUNCTION {booklet}
1051   -{ output.bibitem
1052   - format.authors output
1053   - add.colon
1054   - new.block
1055   - format.title "title" output.check
1056   - new.block
1057   - howpublished "howpublished" bibinfo.check output
1058   - address "address" bibinfo.check output
1059   - format.date output
1060   -% new.block
1061   - format.url output
1062   -% new.block
1063   - format.note output
1064   - fin.entry
1065   -}
1066   -
1067   -FUNCTION {inbook}
1068   -{ output.bibitem
1069   - author empty$
1070   - { format.editors "author and editor" output.check
1071   - add.colon
1072   - }
1073   - { format.authors output.nonnull
1074   - add.colon
1075   - crossref missing$
1076   - { "author and editor" editor either.or.check }
1077   - 'skip$
1078   - if$
1079   - }
1080   - if$
1081   - new.block
1082   - format.btitle "title" output.check
1083   - crossref missing$
1084   - {
1085   - format.bvolume output
1086   - format.chapter.pages "chapter and pages" output.check
1087   - new.block
1088   - new.sentence
1089   - format.number.series output
1090   - format.publisher.address output
1091   - }
1092   - {
1093   - format.chapter.pages "chapter and pages" output.check
1094   - new.block
1095   - format.book.crossref output.nonnull
1096   - }
1097   - if$
1098   - format.edition output
1099   - format.date "year" output.check
1100   -% new.block
1101   - format.url output
1102   -% new.block
1103   - format.note output
1104   - fin.entry
1105   -}
1106   -
1107   -FUNCTION {incollection}
1108   -{ output.bibitem
1109   - format.authors "author" output.check
1110   - add.colon
1111   - new.block
1112   - format.title "title" output.check
1113   - new.block
1114   - crossref missing$
1115   - { format.in.ed.booktitle "booktitle" output.check
1116   - format.bvolume output
1117   - format.chapter.pages output
1118   - new.sentence
1119   - format.number.series output
1120   - format.publisher.address output
1121   - format.edition output
1122   - format.date "year" output.check
1123   - }
1124   - { format.incoll.inproc.crossref output.nonnull
1125   - format.chapter.pages output
1126   - }
1127   - if$
1128   -% new.block
1129   - format.url output
1130   -% new.block
1131   - format.note output
1132   - fin.entry
1133   -}
1134   -FUNCTION {inproceedings}
1135   -{ output.bibitem
1136   - format.authors "author" output.check
1137   - add.colon
1138   - new.block
1139   - format.title "title" output.check
1140   - new.block
1141   - crossref missing$
1142   - { format.in.ed.booktitle "booktitle" output.check
1143   - new.sentence % added by titto
1144   - format.bvolume output
1145   - format.pages output
1146   - new.sentence
1147   - format.number.series output
1148   - publisher empty$
1149   - { format.organization.address output }
1150   - { organization "organization" bibinfo.check output
1151   - format.publisher.address output
1152   - }
1153   - if$
1154   - format.date "year" output.check
1155   - }
1156   - { format.incoll.inproc.crossref output.nonnull
1157   - format.pages output
1158   - }
1159   - if$
1160   -% new.block
1161   - format.url output
1162   -% new.block
1163   - format.note output
1164   - fin.entry
1165   -}
1166   -FUNCTION {conference} { inproceedings }
1167   -FUNCTION {manual}
1168   -{ output.bibitem
1169   - author empty$
1170   - { organization "organization" bibinfo.check
1171   - duplicate$ empty$ 'pop$
1172   - { output
1173   - address "address" bibinfo.check output
1174   - }
1175   - if$
1176   - }
1177   - { format.authors output.nonnull }
1178   - if$
1179   - add.colon
1180   - new.block
1181   - format.btitle "title" output.check
1182   - author empty$
1183   - { organization empty$
1184   - {
1185   - address new.block.checka
1186   - address "address" bibinfo.check output
1187   - }
1188   - 'skip$
1189   - if$
1190   - }
1191   - {
1192   - organization address new.block.checkb
1193   - organization "organization" bibinfo.check output
1194   - address "address" bibinfo.check output
1195   - }
1196   - if$
1197   - format.edition output
1198   - format.date output
1199   -% new.block
1200   - format.url output
1201   -% new.block
1202   - format.note output
1203   - fin.entry
1204   -}
1205   -
1206   -FUNCTION {mastersthesis}
1207   -{ output.bibitem
1208   - format.authors "author" output.check
1209   - add.colon
1210   - new.block
1211   - format.btitle
1212   - "title" output.check
1213   - new.block
1214   - bbl.mthesis format.thesis.type output.nonnull
1215   - school "school" bibinfo.warn output
1216   - address "address" bibinfo.check output
1217   - format.date "year" output.check
1218   -% new.block
1219   - format.url output
1220   -% new.block
1221   - format.note output
1222   - fin.entry
1223   -}
1224   -
1225   -FUNCTION {misc}
1226   -{ output.bibitem
1227   - format.authors output
1228   - add.colon
1229   - title howpublished new.block.checkb
1230   - format.title output
1231   - howpublished new.block.checka
1232   - howpublished "howpublished" bibinfo.check output
1233   - format.date output
1234   -% new.block
1235   - format.url output
1236   -% new.block
1237   - format.note output
1238   - fin.entry
1239   - empty.misc.check
1240   -}
1241   -FUNCTION {phdthesis}
1242   -{ output.bibitem
1243   - format.authors "author" output.check
1244   - add.colon
1245   - new.block
1246   - format.btitle
1247   - "title" output.check
1248   - new.block
1249   - bbl.phdthesis format.thesis.type output.nonnull
1250   - school "school" bibinfo.warn output
1251   - address "address" bibinfo.check output
1252   - format.date "year" output.check
1253   -% new.block
1254   - format.url output
1255   -% new.block
1256   - format.note output
1257   - fin.entry
1258   -}
1259   -
1260   -FUNCTION {proceedings}
1261   -{ output.bibitem
1262   - editor empty$
1263   - { organization "organization" bibinfo.check output
1264   - }
1265   - { format.editors output.nonnull }
1266   - if$
1267   - add.colon
1268   - new.block
1269   - format.btitle "title" output.check
1270   - format.bvolume output
1271   - editor empty$
1272   - { publisher empty$
1273   - { format.number.series output }
1274   - {
1275   - new.sentence
1276   - format.number.series output
1277   - format.publisher.address output
1278   - }
1279   - if$
1280   - }
1281   - { publisher empty$
1282   - {
1283   - new.sentence
1284   - format.number.series output
1285   - format.organization.address output }
1286   - {
1287   - new.sentence
1288   - format.number.series output
1289   - organization "organization" bibinfo.check output
1290   - format.publisher.address output
1291   - }
1292   - if$
1293   - }
1294   - if$
1295   - format.date "year" output.check
1296   -% new.block
1297   - format.url output
1298   -% new.block
1299   - format.note output
1300   - fin.entry
1301   -}
1302   -
1303   -FUNCTION {techreport}
1304   -{ output.bibitem
1305   - format.authors "author" output.check
1306   - add.colon
1307   - new.block
1308   - format.title
1309   - "title" output.check
1310   - new.block
1311   - format.tr.number output.nonnull
1312   - institution "institution" bibinfo.warn output
1313   - address "address" bibinfo.check output
1314   - format.date "year" output.check
1315   -% new.block
1316   - format.url output
1317   -% new.block
1318   - format.note output
1319   - fin.entry
1320   -}
1321   -
1322   -FUNCTION {unpublished}
1323   -{ output.bibitem
1324   - format.authors "author" output.check
1325   - add.colon
1326   - new.block
1327   - format.title "title" output.check
1328   - format.date output
1329   -% new.block
1330   - format.url output
1331   -% new.block
1332   - format.note "note" output.check
1333   - fin.entry
1334   -}
1335   -
1336   -FUNCTION {default.type} { misc }
1337   -READ
1338   -FUNCTION {sortify}
1339   -{ purify$
1340   - "l" change.case$
1341   -}
1342   -INTEGERS { len }
1343   -FUNCTION {chop.word}
1344   -{ 's :=
1345   - 'len :=
1346   - s #1 len substring$ =
1347   - { s len #1 + global.max$ substring$ }
1348   - 's
1349   - if$
1350   -}
1351   -FUNCTION {sort.format.names}
1352   -{ 's :=
1353   - #1 'nameptr :=
1354   - ""
1355   - s num.names$ 'numnames :=
1356   - numnames 'namesleft :=
1357   - { namesleft #0 > }
1358   - { s nameptr
1359   - "{ll{ }}{ ff{ }}{ jj{ }}"
1360   - format.name$ 't :=
1361   - nameptr #1 >
1362   - {
1363   - " " *
1364   - namesleft #1 = t "others" = and
1365   - { "zzzzz" * }
1366   - { t sortify * }
1367   - if$
1368   - }
1369   - { t sortify * }
1370   - if$
1371   - nameptr #1 + 'nameptr :=
1372   - namesleft #1 - 'namesleft :=
1373   - }
1374   - while$
1375   -}
1376   -
1377   -FUNCTION {sort.format.title}
1378   -{ 't :=
1379   - "A " #2
1380   - "An " #3
1381   - "The " #4 t chop.word
1382   - chop.word
1383   - chop.word
1384   - sortify
1385   - #1 global.max$ substring$
1386   -}
1387   -FUNCTION {author.sort}
1388   -{ author empty$
1389   - { key empty$
1390   - { "to sort, need author or key in " cite$ * warning$
1391   - ""
1392   - }
1393   - { key sortify }
1394   - if$
1395   - }
1396   - { author sort.format.names }
1397   - if$
1398   -}
1399   -FUNCTION {author.editor.sort}
1400   -{ author empty$
1401   - { editor empty$
1402   - { key empty$
1403   - { "to sort, need author, editor, or key in " cite$ * warning$
1404   - ""
1405   - }
1406   - { key sortify }
1407   - if$
1408   - }
1409   - { editor sort.format.names }
1410   - if$
1411   - }
1412   - { author sort.format.names }
1413   - if$
1414   -}
1415   -FUNCTION {author.organization.sort}
1416   -{ author empty$
1417   - { organization empty$
1418   - { key empty$
1419   - { "to sort, need author, organization, or key in " cite$ * warning$
1420   - ""
1421   - }
1422   - { key sortify }
1423   - if$
1424   - }
1425   - { "The " #4 organization chop.word sortify }
1426   - if$
1427   - }
1428   - { author sort.format.names }
1429   - if$
1430   -}
1431   -FUNCTION {editor.organization.sort}
1432   -{ editor empty$
1433   - { organization empty$
1434   - { key empty$
1435   - { "to sort, need editor, organization, or key in " cite$ * warning$
1436   - ""
1437   - }
1438   - { key sortify }
1439   - if$
1440   - }
1441   - { "The " #4 organization chop.word sortify }
1442   - if$
1443   - }
1444   - { editor sort.format.names }
1445   - if$
1446   -}
1447   -FUNCTION {presort}
1448   -{ type$ "book" =
1449   - type$ "inbook" =
1450   - or
1451   - 'author.editor.sort
1452   - { type$ "proceedings" =
1453   - 'editor.organization.sort
1454   - { type$ "manual" =
1455   - 'author.organization.sort
1456   - 'author.sort
1457   - if$
1458   - }
1459   - if$
1460   - }
1461   - if$
1462   - " "
1463   - *
1464   - year field.or.null sortify
1465   - *
1466   - " "
1467   - *
1468   - title field.or.null
1469   - sort.format.title
1470   - *
1471   - #1 entry.max$ substring$
1472   - 'sort.key$ :=
1473   -}
1474   -ITERATE {presort}
1475   -SORT
1476   -STRINGS { longest.label }
1477   -INTEGERS { number.label longest.label.width }
1478   -FUNCTION {initialize.longest.label}
1479   -{ "" 'longest.label :=
1480   - #1 'number.label :=
1481   - #0 'longest.label.width :=
1482   -}
1483   -FUNCTION {longest.label.pass}
1484   -{ number.label int.to.str$ 'label :=
1485   - number.label #1 + 'number.label :=
1486   - label width$ longest.label.width >
1487   - { label 'longest.label :=
1488   - label width$ 'longest.label.width :=
1489   - }
1490   - 'skip$
1491   - if$
1492   -}
1493   -EXECUTE {initialize.longest.label}
1494   -ITERATE {longest.label.pass}
1495   -FUNCTION {begin.bib}
1496   -{ preamble$ empty$
1497   - 'skip$
1498   - { preamble$ write$ newline$ }
1499   - if$
1500   - "\begin{thebibliography}{" longest.label * "}" *
1501   - write$ newline$
1502   - "\providecommand{\url}[1]{\texttt{#1}}"
1503   - write$ newline$
1504   - "\providecommand{\urlprefix}{URL }"
1505   - write$ newline$
1506   -}
1507   -EXECUTE {begin.bib}
1508   -EXECUTE {init.state.consts}
1509   -ITERATE {call.type$}
1510   -FUNCTION {end.bib}
1511   -{ newline$
1512   - "\end{thebibliography}" write$ newline$
1513   -}
1514   -EXECUTE {end.bib}
1515   -%% End of customized bst file
1516   -%%
1517   -%% End of file `titto.bst'.
1518   -
1519   -
OSS-2016/sprmindx.sty
... ... @@ -1,4 +0,0 @@
1   -delim_0 "\\idxquad "
2   -delim_1 "\\idxquad "
3   -delim_2 "\\idxquad "
4   -delim_n ",\\,"
OSS-2017/Makefile 0 → 100755
... ... @@ -0,0 +1,15 @@
  1 +TARGET=spb
  2 +
  3 +all: $(TARGET).tex
  4 + pdflatex $(TARGET).tex
  5 + bibtex $(TARGET)
  6 + pdflatex $(TARGET).tex
  7 + pdflatex $(TARGET).tex
  8 + evince $(TARGET).pdf &
  9 +
  10 +edit:
  11 + gedit Makefile *.bib *.tex &
  12 +
  13 +clean:
  14 + rm -f $(TARGET).pdf *.out *.aux *.log *.blg *.bbl *.dvi *.ps *.toc *.lot *.lof *.idx *~
  15 +
... ...
OSS-2017/aliascnt.sty 0 → 100644
... ... @@ -0,0 +1,88 @@
  1 +%%
  2 +%% This is file `aliascnt.sty',
  3 +%% generated with the docstrip utility.
  4 +%%
  5 +%% The original source files were:
  6 +%%
  7 +%% aliascnt.dtx (with options: `package')
  8 +%%
  9 +%% This is a generated file.
  10 +%%
  11 +%% Project: aliascnt
  12 +%% Version: 2009/09/08 v1.3
  13 +%%
  14 +%% Copyright (C) 2006, 2009 by
  15 +%% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
  16 +%%
  17 +%% This work may be distributed and/or modified under the
  18 +%% conditions of the LaTeX Project Public License, either
  19 +%% version 1.3c of this license or (at your option) any later
  20 +%% version. This version of this license is in
  21 +%% http://www.latex-project.org/lppl/lppl-1-3c.txt
  22 +%% and the latest version of this license is in
  23 +%% http://www.latex-project.org/lppl.txt
  24 +%% and version 1.3 or later is part of all distributions of
  25 +%% LaTeX version 2005/12/01 or later.
  26 +%%
  27 +%% This work has the LPPL maintenance status "maintained".
  28 +%%
  29 +%% This Current Maintainer of this work is Heiko Oberdiek.
  30 +%%
  31 +%% This work consists of the main source file aliascnt.dtx
  32 +%% and the derived files
  33 +%% aliascnt.sty, aliascnt.pdf, aliascnt.ins, aliascnt.drv.
  34 +%%
  35 +\NeedsTeXFormat{LaTeX2e}
  36 +\ProvidesPackage{aliascnt}%
  37 + [2009/09/08 v1.3 Alias counter (HO)]%
  38 +\newcommand*{\newaliascnt}[2]{%
  39 + \begingroup
  40 + \def\AC@glet##1{%
  41 + \global\expandafter\let\csname##1#1\expandafter\endcsname
  42 + \csname##1#2\endcsname
  43 + }%
  44 + \@ifundefined{c@#2}{%
  45 + \@nocounterr{#2}%
  46 + }{%
  47 + \expandafter\@ifdefinable\csname c@#1\endcsname{%
  48 + \AC@glet{c@}%
  49 + \AC@glet{the}%
  50 + \AC@glet{theH}%
  51 + \AC@glet{p@}%
  52 + \expandafter\gdef\csname AC@cnt@#1\endcsname{#2}%
  53 + \expandafter\gdef\csname cl@#1\expandafter\endcsname
  54 + \expandafter{\csname cl@#2\endcsname}%
  55 + }%
  56 + }%
  57 + \endgroup
  58 +}
  59 +\newcommand*{\aliascntresetthe}[1]{%
  60 + \@ifundefined{AC@cnt@#1}{%
  61 + \PackageError{aliascnt}{%
  62 + `#1' is not an alias counter%
  63 + }\@ehc
  64 + }{%
  65 + \expandafter\let\csname the#1\expandafter\endcsname
  66 + \csname the\csname AC@cnt@#1\endcsname\endcsname
  67 + }%
  68 +}
  69 +\newcommand*{\AC@findrootcnt}[1]{%
  70 + \@ifundefined{AC@cnt@#1}{%
  71 + #1%
  72 + }{%
  73 + \expandafter\AC@findrootcnt\csname AC@cnt@#1\endcsname
  74 + }%
  75 +}
  76 +\def\AC@patch#1{%
  77 + \expandafter\let\csname AC@org@#1reset\expandafter\endcsname
  78 + \csname @#1reset\endcsname
  79 + \expandafter\def\csname @#1reset\endcsname##1##2{%
  80 + \csname AC@org@#1reset\endcsname{##1}{\AC@findrootcnt{##2}}%
  81 + }%
  82 +}
  83 +\RequirePackage{remreset}
  84 +\AC@patch{addto}
  85 +\AC@patch{removefrom}
  86 +\endinput
  87 +%%
  88 +%% End of file `aliascnt.sty'.
... ...
OSS-2017/llncs.cls 0 → 100644
... ... @@ -0,0 +1,1208 @@
  1 +% LLNCS DOCUMENT CLASS -- version 2.18 (27-Sep-2013)
  2 +% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
  3 +%
  4 +%%
  5 +%% \CharacterTable
  6 +%% {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
  7 +%% 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
  8 +%% Digits \0\1\2\3\4\5\6\7\8\9
  9 +%% Exclamation \! Double quote \" Hash (number) \#
  10 +%% Dollar \$ Percent \% Ampersand \&
  11 +%% Acute accent \' Left paren \( Right paren \)
  12 +%% Asterisk \* Plus \+ Comma \,
  13 +%% Minus \- Point \. Solidus \/
  14 +%% Colon \: Semicolon \; Less than \<
  15 +%% Equals \= Greater than \> Question mark \?
  16 +%% Commercial at \@ Left bracket \[ Backslash \\
  17 +%% Right bracket \] Circumflex \^ Underscore \_
  18 +%% Grave accent \` Left brace \{ Vertical bar \|
  19 +%% Right brace \} Tilde \~}
  20 +%%
  21 +\NeedsTeXFormat{LaTeX2e}[1995/12/01]
  22 +\ProvidesClass{llncs}[2013/09/27 v2.18
  23 +^^J LaTeX document class for Lecture Notes in Computer Science]
  24 +% Options
  25 +\let\if@envcntreset\iffalse
  26 +\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
  27 +\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
  28 +\DeclareOption{oribibl}{\let\oribibl=Y}
  29 +\let\if@custvec\iftrue
  30 +\DeclareOption{orivec}{\let\if@custvec\iffalse}
  31 +\let\if@envcntsame\iffalse
  32 +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
  33 +\let\if@envcntsect\iffalse
  34 +\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
  35 +\let\if@runhead\iffalse
  36 +\DeclareOption{runningheads}{\let\if@runhead\iftrue}
  37 +
  38 +\let\if@openright\iftrue
  39 +\let\if@openbib\iffalse
  40 +\DeclareOption{openbib}{\let\if@openbib\iftrue}
  41 +
  42 +% languages
  43 +\let\switcht@@therlang\relax
  44 +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}
  45 +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}}
  46 +
  47 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
  48 +
  49 +\ProcessOptions
  50 +
  51 +\LoadClass[twoside]{article}
  52 +\RequirePackage{multicol} % needed for the list of participants, index
  53 +\RequirePackage{aliascnt}
  54 +
  55 +\setlength{\textwidth}{12.2cm}
  56 +\setlength{\textheight}{19.3cm}
  57 +\renewcommand\@pnumwidth{2em}
  58 +\renewcommand\@tocrmarg{3.5em}
  59 +%
  60 +\def\@dottedtocline#1#2#3#4#5{%
  61 + \ifnum #1>\c@tocdepth \else
  62 + \vskip \z@ \@plus.2\p@
  63 + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm
  64 + \parfillskip -\rightskip \pretolerance=10000
  65 + \parindent #2\relax\@afterindenttrue
  66 + \interlinepenalty\@M
  67 + \leavevmode
  68 + \@tempdima #3\relax
  69 + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  70 + {#4}\nobreak
  71 + \leaders\hbox{$\m@th
  72 + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  73 + mu$}\hfill
  74 + \nobreak
  75 + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
  76 + \par}%
  77 + \fi}
  78 +%
  79 +\def\switcht@albion{%
  80 +\def\abstractname{Abstract.}
  81 +\def\ackname{Acknowledgement.}
  82 +\def\andname{and}
  83 +\def\lastandname{\unskip, and}
  84 +\def\appendixname{Appendix}
  85 +\def\chaptername{Chapter}
  86 +\def\claimname{Claim}
  87 +\def\conjecturename{Conjecture}
  88 +\def\contentsname{Table of Contents}
  89 +\def\corollaryname{Corollary}
  90 +\def\definitionname{Definition}
  91 +\def\examplename{Example}
  92 +\def\exercisename{Exercise}
  93 +\def\figurename{Fig.}
  94 +\def\keywordname{{\bf Keywords:}}
  95 +\def\indexname{Index}
  96 +\def\lemmaname{Lemma}
  97 +\def\contriblistname{List of Contributors}
  98 +\def\listfigurename{List of Figures}
  99 +\def\listtablename{List of Tables}
  100 +\def\mailname{{\it Correspondence to\/}:}
  101 +\def\noteaddname{Note added in proof}
  102 +\def\notename{Note}
  103 +\def\partname{Part}
  104 +\def\problemname{Problem}
  105 +\def\proofname{Proof}
  106 +\def\propertyname{Property}
  107 +\def\propositionname{Proposition}
  108 +\def\questionname{Question}
  109 +\def\remarkname{Remark}
  110 +\def\seename{see}
  111 +\def\solutionname{Solution}
  112 +\def\subclassname{{\it Subject Classifications\/}:}
  113 +\def\tablename{Table}
  114 +\def\theoremname{Theorem}}
  115 +\switcht@albion
  116 +% Names of theorem like environments are already defined
  117 +% but must be translated if another language is chosen
  118 +%
  119 +% French section
  120 +\def\switcht@francais{%\typeout{On parle francais.}%
  121 + \def\abstractname{R\'esum\'e.}%
  122 + \def\ackname{Remerciements.}%
  123 + \def\andname{et}%
  124 + \def\lastandname{ et}%
  125 + \def\appendixname{Appendice}
  126 + \def\chaptername{Chapitre}%
  127 + \def\claimname{Pr\'etention}%
  128 + \def\conjecturename{Hypoth\`ese}%
  129 + \def\contentsname{Table des mati\`eres}%
  130 + \def\corollaryname{Corollaire}%
  131 + \def\definitionname{D\'efinition}%
  132 + \def\examplename{Exemple}%
  133 + \def\exercisename{Exercice}%
  134 + \def\figurename{Fig.}%
  135 + \def\keywordname{{\bf Mots-cl\'e:}}
  136 + \def\indexname{Index}
  137 + \def\lemmaname{Lemme}%
  138 + \def\contriblistname{Liste des contributeurs}
  139 + \def\listfigurename{Liste des figures}%
  140 + \def\listtablename{Liste des tables}%
  141 + \def\mailname{{\it Correspondence to\/}:}
  142 + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
  143 + \def\notename{Remarque}%
  144 + \def\partname{Partie}%
  145 + \def\problemname{Probl\`eme}%
  146 + \def\proofname{Preuve}%
  147 + \def\propertyname{Caract\'eristique}%
  148 +%\def\propositionname{Proposition}%
  149 + \def\questionname{Question}%
  150 + \def\remarkname{Remarque}%
  151 + \def\seename{voir}
  152 + \def\solutionname{Solution}%
  153 + \def\subclassname{{\it Subject Classifications\/}:}
  154 + \def\tablename{Tableau}%
  155 + \def\theoremname{Th\'eor\`eme}%
  156 +}
  157 +%
  158 +% German section
  159 +\def\switcht@deutsch{%\typeout{Man spricht deutsch.}%
  160 + \def\abstractname{Zusammenfassung.}%
  161 + \def\ackname{Danksagung.}%
  162 + \def\andname{und}%
  163 + \def\lastandname{ und}%
  164 + \def\appendixname{Anhang}%
  165 + \def\chaptername{Kapitel}%
  166 + \def\claimname{Behauptung}%
  167 + \def\conjecturename{Hypothese}%
  168 + \def\contentsname{Inhaltsverzeichnis}%
  169 + \def\corollaryname{Korollar}%
  170 +%\def\definitionname{Definition}%
  171 + \def\examplename{Beispiel}%
  172 + \def\exercisename{\"Ubung}%
  173 + \def\figurename{Abb.}%
  174 + \def\keywordname{{\bf Schl\"usselw\"orter:}}
  175 + \def\indexname{Index}
  176 +%\def\lemmaname{Lemma}%
  177 + \def\contriblistname{Mitarbeiter}
  178 + \def\listfigurename{Abbildungsverzeichnis}%
  179 + \def\listtablename{Tabellenverzeichnis}%
  180 + \def\mailname{{\it Correspondence to\/}:}
  181 + \def\noteaddname{Nachtrag}%
  182 + \def\notename{Anmerkung}%
  183 + \def\partname{Teil}%
  184 +%\def\problemname{Problem}%
  185 + \def\proofname{Beweis}%
  186 + \def\propertyname{Eigenschaft}%
  187 +%\def\propositionname{Proposition}%
  188 + \def\questionname{Frage}%
  189 + \def\remarkname{Anmerkung}%
  190 + \def\seename{siehe}
  191 + \def\solutionname{L\"osung}%
  192 + \def\subclassname{{\it Subject Classifications\/}:}
  193 + \def\tablename{Tabelle}%
  194 +%\def\theoremname{Theorem}%
  195 +}
  196 +
  197 +% Ragged bottom for the actual page
  198 +\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
  199 +\global\let\@textbottom\relax}}
  200 +
  201 +\renewcommand\small{%
  202 + \@setfontsize\small\@ixpt{11}%
  203 + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
  204 + \abovedisplayshortskip \z@ \@plus2\p@
  205 + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
  206 + \def\@listi{\leftmargin\leftmargini
  207 + \parsep 0\p@ \@plus1\p@ \@minus\p@
  208 + \topsep 8\p@ \@plus2\p@ \@minus4\p@
  209 + \itemsep0\p@}%
  210 + \belowdisplayskip \abovedisplayskip
  211 +}
  212 +
  213 +\frenchspacing
  214 +\widowpenalty=10000
  215 +\clubpenalty=10000
  216 +
  217 +\setlength\oddsidemargin {63\p@}
  218 +\setlength\evensidemargin {63\p@}
  219 +\setlength\marginparwidth {90\p@}
  220 +
  221 +\setlength\headsep {16\p@}
  222 +
  223 +\setlength\footnotesep{7.7\p@}
  224 +\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
  225 +\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@}
  226 +
  227 +\setcounter{secnumdepth}{2}
  228 +
  229 +\newcounter {chapter}
  230 +\renewcommand\thechapter {\@arabic\c@chapter}
  231 +
  232 +\newif\if@mainmatter \@mainmattertrue
  233 +\newcommand\frontmatter{\cleardoublepage
  234 + \@mainmatterfalse\pagenumbering{Roman}}
  235 +\newcommand\mainmatter{\cleardoublepage
  236 + \@mainmattertrue\pagenumbering{arabic}}
  237 +\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
  238 + \@mainmatterfalse}
  239 +
  240 +\renewcommand\part{\cleardoublepage
  241 + \thispagestyle{empty}%
  242 + \if@twocolumn
  243 + \onecolumn
  244 + \@tempswatrue
  245 + \else
  246 + \@tempswafalse
  247 + \fi
  248 + \null\vfil
  249 + \secdef\@part\@spart}
  250 +
  251 +\def\@part[#1]#2{%
  252 + \ifnum \c@secnumdepth >-2\relax
  253 + \refstepcounter{part}%
  254 + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
  255 + \else
  256 + \addcontentsline{toc}{part}{#1}%
  257 + \fi
  258 + \markboth{}{}%
  259 + {\centering
  260 + \interlinepenalty \@M
  261 + \normalfont
  262 + \ifnum \c@secnumdepth >-2\relax
  263 + \huge\bfseries \partname~\thepart
  264 + \par
  265 + \vskip 20\p@
  266 + \fi
  267 + \Huge \bfseries #2\par}%
  268 + \@endpart}
  269 +\def\@spart#1{%
  270 + {\centering
  271 + \interlinepenalty \@M
  272 + \normalfont
  273 + \Huge \bfseries #1\par}%
  274 + \@endpart}
  275 +\def\@endpart{\vfil\newpage
  276 + \if@twoside
  277 + \null
  278 + \thispagestyle{empty}%
  279 + \newpage
  280 + \fi
  281 + \if@tempswa
  282 + \twocolumn
  283 + \fi}
  284 +
  285 +\newcommand\chapter{\clearpage
  286 + \thispagestyle{empty}%
  287 + \global\@topnum\z@
  288 + \@afterindentfalse
  289 + \secdef\@chapter\@schapter}
  290 +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
  291 + \if@mainmatter
  292 + \refstepcounter{chapter}%
  293 + \typeout{\@chapapp\space\thechapter.}%
  294 + \addcontentsline{toc}{chapter}%
  295 + {\protect\numberline{\thechapter}#1}%
  296 + \else
  297 + \addcontentsline{toc}{chapter}{#1}%
  298 + \fi
  299 + \else
  300 + \addcontentsline{toc}{chapter}{#1}%
  301 + \fi
  302 + \chaptermark{#1}%
  303 + \addtocontents{lof}{\protect\addvspace{10\p@}}%
  304 + \addtocontents{lot}{\protect\addvspace{10\p@}}%
  305 + \if@twocolumn
  306 + \@topnewpage[\@makechapterhead{#2}]%
  307 + \else
  308 + \@makechapterhead{#2}%
  309 + \@afterheading
  310 + \fi}
  311 +\def\@makechapterhead#1{%
  312 +% \vspace*{50\p@}%
  313 + {\centering
  314 + \ifnum \c@secnumdepth >\m@ne
  315 + \if@mainmatter
  316 + \large\bfseries \@chapapp{} \thechapter
  317 + \par\nobreak
  318 + \vskip 20\p@
  319 + \fi
  320 + \fi
  321 + \interlinepenalty\@M
  322 + \Large \bfseries #1\par\nobreak
  323 + \vskip 40\p@
  324 + }}
  325 +\def\@schapter#1{\if@twocolumn
  326 + \@topnewpage[\@makeschapterhead{#1}]%
  327 + \else
  328 + \@makeschapterhead{#1}%
  329 + \@afterheading
  330 + \fi}
  331 +\def\@makeschapterhead#1{%
  332 +% \vspace*{50\p@}%
  333 + {\centering
  334 + \normalfont
  335 + \interlinepenalty\@M
  336 + \Large \bfseries #1\par\nobreak
  337 + \vskip 40\p@
  338 + }}
  339 +
  340 +\renewcommand\section{\@startsection{section}{1}{\z@}%
  341 + {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  342 + {12\p@ \@plus 4\p@ \@minus 4\p@}%
  343 + {\normalfont\large\bfseries\boldmath
  344 + \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
  345 +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
  346 + {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  347 + {8\p@ \@plus 4\p@ \@minus 4\p@}%
  348 + {\normalfont\normalsize\bfseries\boldmath
  349 + \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
  350 +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  351 + {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  352 + {-0.5em \@plus -0.22em \@minus -0.1em}%
  353 + {\normalfont\normalsize\bfseries\boldmath}}
  354 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  355 + {-12\p@ \@plus -4\p@ \@minus -4\p@}%
  356 + {-0.5em \@plus -0.22em \@minus -0.1em}%
  357 + {\normalfont\normalsize\itshape}}
  358 +\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
  359 + \string\subparagraph\space with this class}\vskip0.5cm
  360 +You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
  361 +
  362 +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
  363 +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
  364 +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
  365 +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
  366 +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
  367 +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
  368 +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
  369 +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
  370 +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
  371 +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
  372 +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
  373 +
  374 +\let\footnotesize\small
  375 +
  376 +\if@custvec
  377 +\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
  378 +{\mbox{\boldmath$\textstyle#1$}}
  379 +{\mbox{\boldmath$\scriptstyle#1$}}
  380 +{\mbox{\boldmath$\scriptscriptstyle#1$}}}
  381 +\fi
  382 +
  383 +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
  384 +\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
  385 +\penalty50\hskip1em\null\nobreak\hfil\squareforqed
  386 +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
  387 +
  388 +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  389 +\halign{\hfil
  390 +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
  391 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
  392 +\cr\to\cr}}}
  393 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
  394 +\cr\to\cr}}}
  395 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  396 +\gets\cr\to\cr}}}}}
  397 +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  398 +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
  399 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
  400 +\noalign{\vskip1.2pt}=\cr}}}
  401 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
  402 +\noalign{\vskip1pt}=\cr}}}
  403 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  404 +<\cr
  405 +\noalign{\vskip0.9pt}=\cr}}}}}
  406 +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  407 +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
  408 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
  409 +\noalign{\vskip1.2pt}=\cr}}}
  410 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
  411 +\noalign{\vskip1pt}=\cr}}}
  412 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  413 +>\cr
  414 +\noalign{\vskip0.9pt}=\cr}}}}}
  415 +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  416 +\halign{\hfil
  417 +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
  418 +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
  419 +>\cr\noalign{\vskip-1pt}<\cr}}}
  420 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
  421 +>\cr\noalign{\vskip-0.8pt}<\cr}}}
  422 +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  423 +>\cr\noalign{\vskip-0.3pt}<\cr}}}}}
  424 +\def\bbbr{{\rm I\!R}} %reelle Zahlen
  425 +\def\bbbm{{\rm I\!M}}
  426 +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen
  427 +\def\bbbf{{\rm I\!F}}
  428 +\def\bbbh{{\rm I\!H}}
  429 +\def\bbbk{{\rm I\!K}}
  430 +\def\bbbp{{\rm I\!P}}
  431 +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
  432 +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
  433 +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
  434 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  435 +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
  436 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  437 +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
  438 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  439 +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
  440 +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
  441 +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  442 +Q$}\hbox{\raise
  443 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  444 +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
  445 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  446 +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
  447 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
  448 +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
  449 +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
  450 +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  451 +T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  452 +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
  453 +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  454 +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
  455 +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  456 +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
  457 +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
  458 +\def\bbbs{{\mathchoice
  459 +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox
  460 +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  461 +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  462 +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox
  463 +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  464 +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  465 +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox
  466 +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  467 +to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
  468 +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
  469 +to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  470 +to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
  471 +\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
  472 +{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
  473 +{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
  474 +{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
  475 +
  476 +\let\ts\,
  477 +
  478 +\setlength\leftmargini {17\p@}
  479 +\setlength\leftmargin {\leftmargini}
  480 +\setlength\leftmarginii {\leftmargini}
  481 +\setlength\leftmarginiii {\leftmargini}
  482 +\setlength\leftmarginiv {\leftmargini}
  483 +\setlength \labelsep {.5em}
  484 +\setlength \labelwidth{\leftmargini}
  485 +\addtolength\labelwidth{-\labelsep}
  486 +
  487 +\def\@listI{\leftmargin\leftmargini
  488 + \parsep 0\p@ \@plus1\p@ \@minus\p@
  489 + \topsep 8\p@ \@plus2\p@ \@minus4\p@
  490 + \itemsep0\p@}
  491 +\let\@listi\@listI
  492 +\@listi
  493 +\def\@listii {\leftmargin\leftmarginii
  494 + \labelwidth\leftmarginii
  495 + \advance\labelwidth-\labelsep
  496 + \topsep 0\p@ \@plus2\p@ \@minus\p@}
  497 +\def\@listiii{\leftmargin\leftmarginiii
  498 + \labelwidth\leftmarginiii
  499 + \advance\labelwidth-\labelsep
  500 + \topsep 0\p@ \@plus\p@\@minus\p@
  501 + \parsep \z@
  502 + \partopsep \p@ \@plus\z@ \@minus\p@}
  503 +
  504 +\renewcommand\labelitemi{\normalfont\bfseries --}
  505 +\renewcommand\labelitemii{$\m@th\bullet$}
  506 +
  507 +\setlength\arraycolsep{1.4\p@}
  508 +\setlength\tabcolsep{1.4\p@}
  509 +
  510 +\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
  511 + {{\contentsname}}}
  512 + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
  513 + \def\lastand{\ifnum\value{auco}=2\relax
  514 + \unskip{} \andname\
  515 + \else
  516 + \unskip \lastandname\
  517 + \fi}%
  518 + \def\and{\stepcounter{@auth}\relax
  519 + \ifnum\value{@auth}=\value{auco}%
  520 + \lastand
  521 + \else
  522 + \unskip,
  523 + \fi}%
  524 + \@starttoc{toc}\if@restonecol\twocolumn\fi}
  525 +
  526 +\def\l@part#1#2{\addpenalty{\@secpenalty}%
  527 + \addvspace{2em plus\p@}% % space above part line
  528 + \begingroup
  529 + \parindent \z@
  530 + \rightskip \z@ plus 5em
  531 + \hrule\vskip5pt
  532 + \large % same size as for a contribution heading
  533 + \bfseries\boldmath % set line in boldface
  534 + \leavevmode % TeX command to enter horizontal mode.
  535 + #1\par
  536 + \vskip5pt
  537 + \hrule
  538 + \vskip1pt
  539 + \nobreak % Never break after part entry
  540 + \endgroup}
  541 +
  542 +\def\@dotsep{2}
  543 +
  544 +\let\phantomsection=\relax
  545 +
  546 +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
  547 +{}\fi}
  548 +
  549 +\def\addnumcontentsmark#1#2#3{%
  550 +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
  551 + {\thechapter}#3}{\thepage}\hyperhrefextend}}%
  552 +\def\addcontentsmark#1#2#3{%
  553 +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}%
  554 +\def\addcontentsmarkwop#1#2#3{%
  555 +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}%
  556 +
  557 +\def\@adcmk[#1]{\ifcase #1 \or
  558 +\def\@gtempa{\addnumcontentsmark}%
  559 + \or \def\@gtempa{\addcontentsmark}%
  560 + \or \def\@gtempa{\addcontentsmarkwop}%
  561 + \fi\@gtempa{toc}{chapter}%
  562 +}
  563 +\def\addtocmark{%
  564 +\phantomsection
  565 +\@ifnextchar[{\@adcmk}{\@adcmk[3]}%
  566 +}
  567 +
  568 +\def\l@chapter#1#2{\addpenalty{-\@highpenalty}
  569 + \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
  570 + \parindent \z@ \rightskip \@tocrmarg
  571 + \advance\rightskip by 0pt plus 2cm
  572 + \parfillskip -\rightskip \pretolerance=10000
  573 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  574 + {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
  575 + \else
  576 + \nobreak
  577 + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
  578 + \@dotsep mu$}\hfill
  579 + \nobreak\hbox to\@pnumwidth{\hss #2}%
  580 + \fi\par
  581 + \penalty\@highpenalty \endgroup}
  582 +
  583 +\def\l@title#1#2{\addpenalty{-\@highpenalty}
  584 + \addvspace{8pt plus 1pt}
  585 + \@tempdima \z@
  586 + \begingroup
  587 + \parindent \z@ \rightskip \@tocrmarg
  588 + \advance\rightskip by 0pt plus 2cm
  589 + \parfillskip -\rightskip \pretolerance=10000
  590 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  591 + #1\nobreak
  592 + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
  593 + \@dotsep mu$}\hfill
  594 + \nobreak\hbox to\@pnumwidth{\hss #2}\par
  595 + \penalty\@highpenalty \endgroup}
  596 +
  597 +\def\l@author#1#2{\addpenalty{\@highpenalty}
  598 + \@tempdima=15\p@ %\z@
  599 + \begingroup
  600 + \parindent \z@ \rightskip \@tocrmarg
  601 + \advance\rightskip by 0pt plus 2cm
  602 + \pretolerance=10000
  603 + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
  604 + \textit{#1}\par
  605 + \penalty\@highpenalty \endgroup}
  606 +
  607 +\setcounter{tocdepth}{0}
  608 +\newdimen\tocchpnum
  609 +\newdimen\tocsecnum
  610 +\newdimen\tocsectotal
  611 +\newdimen\tocsubsecnum
  612 +\newdimen\tocsubsectotal
  613 +\newdimen\tocsubsubsecnum
  614 +\newdimen\tocsubsubsectotal
  615 +\newdimen\tocparanum
  616 +\newdimen\tocparatotal
  617 +\newdimen\tocsubparanum
  618 +\tocchpnum=\z@ % no chapter numbers
  619 +\tocsecnum=15\p@ % section 88. plus 2.222pt
  620 +\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt
  621 +\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt
  622 +\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt
  623 +\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt
  624 +\def\calctocindent{%
  625 +\tocsectotal=\tocchpnum
  626 +\advance\tocsectotal by\tocsecnum
  627 +\tocsubsectotal=\tocsectotal
  628 +\advance\tocsubsectotal by\tocsubsecnum
  629 +\tocsubsubsectotal=\tocsubsectotal
  630 +\advance\tocsubsubsectotal by\tocsubsubsecnum
  631 +\tocparatotal=\tocsubsubsectotal
  632 +\advance\tocparatotal by\tocparanum}
  633 +\calctocindent
  634 +
  635 +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
  636 +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
  637 +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
  638 +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
  639 +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
  640 +
  641 +\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  642 + \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
  643 + \@starttoc{lof}\if@restonecol\twocolumn\fi}
  644 +\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
  645 +
  646 +\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  647 + \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
  648 + \@starttoc{lot}\if@restonecol\twocolumn\fi}
  649 +\let\l@table\l@figure
  650 +
  651 +\renewcommand\listoffigures{%
  652 + \section*{\listfigurename
  653 + \@mkboth{\listfigurename}{\listfigurename}}%
  654 + \@starttoc{lof}%
  655 + }
  656 +
  657 +\renewcommand\listoftables{%
  658 + \section*{\listtablename
  659 + \@mkboth{\listtablename}{\listtablename}}%
  660 + \@starttoc{lot}%
  661 + }
  662 +
  663 +\ifx\oribibl\undefined
  664 +\ifx\citeauthoryear\undefined
  665 +\renewenvironment{thebibliography}[1]
  666 + {\section*{\refname}
  667 + \def\@biblabel##1{##1.}
  668 + \small
  669 + \list{\@biblabel{\@arabic\c@enumiv}}%
  670 + {\settowidth\labelwidth{\@biblabel{#1}}%
  671 + \leftmargin\labelwidth
  672 + \advance\leftmargin\labelsep
  673 + \if@openbib
  674 + \advance\leftmargin\bibindent
  675 + \itemindent -\bibindent
  676 + \listparindent \itemindent
  677 + \parsep \z@
  678 + \fi
  679 + \usecounter{enumiv}%
  680 + \let\p@enumiv\@empty
  681 + \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  682 + \if@openbib
  683 + \renewcommand\newblock{\par}%
  684 + \else
  685 + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
  686 + \fi
  687 + \sloppy\clubpenalty4000\widowpenalty4000%
  688 + \sfcode`\.=\@m}
  689 + {\def\@noitemerr
  690 + {\@latex@warning{Empty `thebibliography' environment}}%
  691 + \endlist}
  692 +\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
  693 + {\let\protect\noexpand\immediate
  694 + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  695 +\newcount\@tempcntc
  696 +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  697 + \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
  698 + {\@ifundefined
  699 + {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
  700 + ?}\@warning
  701 + {Citation `\@citeb' on page \thepage \space undefined}}%
  702 + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
  703 + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
  704 + \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
  705 + \else
  706 + \advance\@tempcntb\@ne
  707 + \ifnum\@tempcntb=\@tempcntc
  708 + \else\advance\@tempcntb\m@ne\@citeo
  709 + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
  710 +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
  711 + \@citea\def\@citea{,\,\hskip\z@skip}%
  712 + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
  713 + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
  714 + \def\@citea{--}\fi
  715 + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
  716 +\else
  717 +\renewenvironment{thebibliography}[1]
  718 + {\section*{\refname}
  719 + \small
  720 + \list{}%
  721 + {\settowidth\labelwidth{}%
  722 + \leftmargin\parindent
  723 + \itemindent=-\parindent
  724 + \labelsep=\z@
  725 + \if@openbib
  726 + \advance\leftmargin\bibindent
  727 + \itemindent -\bibindent
  728 + \listparindent \itemindent
  729 + \parsep \z@
  730 + \fi
  731 + \usecounter{enumiv}%
  732 + \let\p@enumiv\@empty
  733 + \renewcommand\theenumiv{}}%
  734 + \if@openbib
  735 + \renewcommand\newblock{\par}%
  736 + \else
  737 + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
  738 + \fi
  739 + \sloppy\clubpenalty4000\widowpenalty4000%
  740 + \sfcode`\.=\@m}
  741 + {\def\@noitemerr
  742 + {\@latex@warning{Empty `thebibliography' environment}}%
  743 + \endlist}
  744 + \def\@cite#1{#1}%
  745 + \def\@lbibitem[#1]#2{\item[]\if@filesw
  746 + {\def\protect##1{\string ##1\space}\immediate
  747 + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  748 + \fi
  749 +\else
  750 +\@cons\@openbib@code{\noexpand\small}
  751 +\fi
  752 +
  753 +\def\idxquad{\hskip 10\p@}% space that divides entry from number
  754 +
  755 +\def\@idxitem{\par\hangindent 10\p@}
  756 +
  757 +\def\subitem{\par\setbox0=\hbox{--\enspace}% second order
  758 + \noindent\hangindent\wd0\box0}% index entry
  759 +
  760 +\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
  761 + \noindent\hangindent\wd0\box0}% order index entry
  762 +
  763 +\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
  764 +
  765 +\renewenvironment{theindex}
  766 + {\@mkboth{\indexname}{\indexname}%
  767 + \thispagestyle{empty}\parindent\z@
  768 + \parskip\z@ \@plus .3\p@\relax
  769 + \let\item\par
  770 + \def\,{\relax\ifmmode\mskip\thinmuskip
  771 + \else\hskip0.2em\ignorespaces\fi}%
  772 + \normalfont\small
  773 + \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
  774 + }
  775 + {\end{multicols}}
  776 +
  777 +\renewcommand\footnoterule{%
  778 + \kern-3\p@
  779 + \hrule\@width 2truecm
  780 + \kern2.6\p@}
  781 + \newdimen\fnindent
  782 + \fnindent1em
  783 +\long\def\@makefntext#1{%
  784 + \parindent \fnindent%
  785 + \leftskip \fnindent%
  786 + \noindent
  787 + \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
  788 +
  789 +\long\def\@makecaption#1#2{%
  790 + \small
  791 + \vskip\abovecaptionskip
  792 + \sbox\@tempboxa{{\bfseries #1.} #2}%
  793 + \ifdim \wd\@tempboxa >\hsize
  794 + {\bfseries #1.} #2\par
  795 + \else
  796 + \global \@minipagefalse
  797 + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  798 + \fi
  799 + \vskip\belowcaptionskip}
  800 +
  801 +\def\fps@figure{htbp}
  802 +\def\fnum@figure{\figurename\thinspace\thefigure}
  803 +\def \@floatboxreset {%
  804 + \reset@font
  805 + \small
  806 + \@setnobreak
  807 + \@setminipage
  808 +}
  809 +\def\fps@table{htbp}
  810 +\def\fnum@table{\tablename~\thetable}
  811 +\renewenvironment{table}
  812 + {\setlength\abovecaptionskip{0\p@}%
  813 + \setlength\belowcaptionskip{10\p@}%
  814 + \@float{table}}
  815 + {\end@float}
  816 +\renewenvironment{table*}
  817 + {\setlength\abovecaptionskip{0\p@}%
  818 + \setlength\belowcaptionskip{10\p@}%
  819 + \@dblfloat{table}}
  820 + {\end@dblfloat}
  821 +
  822 +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
  823 + ext@#1\endcsname}{#1}{\protect\numberline{\csname
  824 + the#1\endcsname}{\ignorespaces #2}}\begingroup
  825 + \@parboxrestore
  826 + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  827 + \endgroup}
  828 +
  829 +% LaTeX does not provide a command to enter the authors institute
  830 +% addresses. The \institute command is defined here.
  831 +
  832 +\newcounter{@inst}
  833 +\newcounter{@auth}
  834 +\newcounter{auco}
  835 +\newdimen\instindent
  836 +\newbox\authrun
  837 +\newtoks\authorrunning
  838 +\newtoks\tocauthor
  839 +\newbox\titrun
  840 +\newtoks\titlerunning
  841 +\newtoks\toctitle
  842 +
  843 +\def\clearheadinfo{\gdef\@author{No Author Given}%
  844 + \gdef\@title{No Title Given}%
  845 + \gdef\@subtitle{}%
  846 + \gdef\@institute{No Institute Given}%
  847 + \gdef\@thanks{}%
  848 + \global\titlerunning={}\global\authorrunning={}%
  849 + \global\toctitle={}\global\tocauthor={}}
  850 +
  851 +\def\institute#1{\gdef\@institute{#1}}
  852 +
  853 +\def\institutename{\par
  854 + \begingroup
  855 + \parskip=\z@
  856 + \parindent=\z@
  857 + \setcounter{@inst}{1}%
  858 + \def\and{\par\stepcounter{@inst}%
  859 + \noindent$^{\the@inst}$\enspace\ignorespaces}%
  860 + \setbox0=\vbox{\def\thanks##1{}\@institute}%
  861 + \ifnum\c@@inst=1\relax
  862 + \gdef\fnnstart{0}%
  863 + \else
  864 + \xdef\fnnstart{\c@@inst}%
  865 + \setcounter{@inst}{1}%
  866 + \noindent$^{\the@inst}$\enspace
  867 + \fi
  868 + \ignorespaces
  869 + \@institute\par
  870 + \endgroup}
  871 +
  872 +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
  873 + {\star\star\star}\or \dagger\or \ddagger\or
  874 + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
  875 + \or \ddagger\ddagger \else\@ctrerr\fi}}
  876 +
  877 +\def\inst#1{\unskip$^{#1}$}
  878 +\def\fnmsep{\unskip$^,$}
  879 +\def\email#1{{\tt#1}}
  880 +\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
  881 +\@ifpackageloaded{babel}{%
  882 +\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
  883 +\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
  884 +\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
  885 +\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}%
  886 +}{\switcht@@therlang}%
  887 +\providecommand{\keywords}[1]{\par\addvspace\baselineskip
  888 +\noindent\keywordname\enspace\ignorespaces#1}%
  889 +}
  890 +\def\homedir{\~{ }}
  891 +
  892 +\def\subtitle#1{\gdef\@subtitle{#1}}
  893 +\clearheadinfo
  894 +%
  895 +%%% to avoid hyperref warnings
  896 +\providecommand*{\toclevel@author}{999}
  897 +%%% to make title-entry parent of section-entries
  898 +\providecommand*{\toclevel@title}{0}
  899 +%
  900 +\renewcommand\maketitle{\newpage
  901 +\phantomsection
  902 + \refstepcounter{chapter}%
  903 + \stepcounter{section}%
  904 + \setcounter{section}{0}%
  905 + \setcounter{subsection}{0}%
  906 + \setcounter{figure}{0}
  907 + \setcounter{table}{0}
  908 + \setcounter{equation}{0}
  909 + \setcounter{footnote}{0}%
  910 + \begingroup
  911 + \parindent=\z@
  912 + \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
  913 + \if@twocolumn
  914 + \ifnum \col@number=\@ne
  915 + \@maketitle
  916 + \else
  917 + \twocolumn[\@maketitle]%
  918 + \fi
  919 + \else
  920 + \newpage
  921 + \global\@topnum\z@ % Prevents figures from going at top of page.
  922 + \@maketitle
  923 + \fi
  924 + \thispagestyle{empty}\@thanks
  925 +%
  926 + \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
  927 + \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
  928 + \instindent=\hsize
  929 + \advance\instindent by-\headlineindent
  930 + \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
  931 + \addcontentsline{toc}{title}{\the\toctitle}\fi
  932 + \if@runhead
  933 + \if!\the\titlerunning!\else
  934 + \edef\@title{\the\titlerunning}%
  935 + \fi
  936 + \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
  937 + \ifdim\wd\titrun>\instindent
  938 + \typeout{Title too long for running head. Please supply}%
  939 + \typeout{a shorter form with \string\titlerunning\space prior to
  940 + \string\maketitle}%
  941 + \global\setbox\titrun=\hbox{\small\rm
  942 + Title Suppressed Due to Excessive Length}%
  943 + \fi
  944 + \xdef\@title{\copy\titrun}%
  945 + \fi
  946 +%
  947 + \if!\the\tocauthor!\relax
  948 + {\def\and{\noexpand\protect\noexpand\and}%
  949 + \protected@xdef\toc@uthor{\@author}}%
  950 + \else
  951 + \def\\{\noexpand\protect\noexpand\newline}%
  952 + \protected@xdef\scratch{\the\tocauthor}%
  953 + \protected@xdef\toc@uthor{\scratch}%
  954 + \fi
  955 + \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%
  956 + \addcontentsline{toc}{author}{\toc@uthor}%
  957 + \if@runhead
  958 + \if!\the\authorrunning!
  959 + \value{@inst}=\value{@auth}%
  960 + \setcounter{@auth}{1}%
  961 + \else
  962 + \edef\@author{\the\authorrunning}%
  963 + \fi
  964 + \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
  965 + \ifdim\wd\authrun>\instindent
  966 + \typeout{Names of authors too long for running head. Please supply}%
  967 + \typeout{a shorter form with \string\authorrunning\space prior to
  968 + \string\maketitle}%
  969 + \global\setbox\authrun=\hbox{\small\rm
  970 + Authors Suppressed Due to Excessive Length}%
  971 + \fi
  972 + \xdef\@author{\copy\authrun}%
  973 + \markboth{\@author}{\@title}%
  974 + \fi
  975 + \endgroup
  976 + \setcounter{footnote}{\fnnstart}%
  977 + \clearheadinfo}
  978 +%
  979 +\def\@maketitle{\newpage
  980 + \markboth{}{}%
  981 + \def\lastand{\ifnum\value{@inst}=2\relax
  982 + \unskip{} \andname\
  983 + \else
  984 + \unskip \lastandname\
  985 + \fi}%
  986 + \def\and{\stepcounter{@auth}\relax
  987 + \ifnum\value{@auth}=\value{@inst}%
  988 + \lastand
  989 + \else
  990 + \unskip,
  991 + \fi}%
  992 + \begin{center}%
  993 + \let\newline\\
  994 + {\Large \bfseries\boldmath
  995 + \pretolerance=10000
  996 + \@title \par}\vskip .8cm
  997 +\if!\@subtitle!\else {\large \bfseries\boldmath
  998 + \vskip -.65cm
  999 + \pretolerance=10000
  1000 + \@subtitle \par}\vskip .8cm\fi
  1001 + \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
  1002 + \def\thanks##1{}\@author}%
  1003 + \global\value{@inst}=\value{@auth}%
  1004 + \global\value{auco}=\value{@auth}%
  1005 + \setcounter{@auth}{1}%
  1006 +{\lineskip .5em
  1007 +\noindent\ignorespaces
  1008 +\@author\vskip.35cm}
  1009 + {\small\institutename}
  1010 + \end{center}%
  1011 + }
  1012 +
  1013 +% definition of the "\spnewtheorem" command.
  1014 +%
  1015 +% Usage:
  1016 +%
  1017 +% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
  1018 +% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
  1019 +% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
  1020 +%
  1021 +% New is "cap_font" and "body_font". It stands for
  1022 +% fontdefinition of the caption and the text itself.
  1023 +%
  1024 +% "\spnewtheorem*" gives a theorem without number.
  1025 +%
  1026 +% A defined spnewthoerem environment is used as described
  1027 +% by Lamport.
  1028 +%
  1029 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1030 +
  1031 +\def\@thmcountersep{}
  1032 +\def\@thmcounterend{.}
  1033 +
  1034 +\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
  1035 +
  1036 +% definition of \spnewtheorem with number
  1037 +
  1038 +\def\@spnthm#1#2{%
  1039 + \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
  1040 +\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
  1041 +
  1042 +\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
  1043 + {\@definecounter{#1}\@addtoreset{#1}{#3}%
  1044 + \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
  1045 + \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
  1046 + \expandafter\xdef\csname #1name\endcsname{#2}%
  1047 + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
  1048 + \global\@namedef{end#1}{\@endtheorem}}}
  1049 +
  1050 +\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
  1051 + {\@definecounter{#1}%
  1052 + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
  1053 + \expandafter\xdef\csname #1name\endcsname{#2}%
  1054 + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
  1055 + \global\@namedef{end#1}{\@endtheorem}}}
  1056 +
  1057 +\def\@spothm#1[#2]#3#4#5{%
  1058 + \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
  1059 + {\expandafter\@ifdefinable\csname #1\endcsname
  1060 + {\newaliascnt{#1}{#2}%
  1061 + \expandafter\xdef\csname #1name\endcsname{#3}%
  1062 + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
  1063 + \global\@namedef{end#1}{\@endtheorem}}}}
  1064 +
  1065 +\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
  1066 +\refstepcounter{#1}%
  1067 +\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
  1068 +
  1069 +\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
  1070 + \ignorespaces}
  1071 +
  1072 +\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
  1073 + the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
  1074 +
  1075 +\def\@spbegintheorem#1#2#3#4{\trivlist
  1076 + \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
  1077 +
  1078 +\def\@spopargbegintheorem#1#2#3#4#5{\trivlist
  1079 + \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
  1080 +
  1081 +% definition of \spnewtheorem* without number
  1082 +
  1083 +\def\@sthm#1#2{\@Ynthm{#1}{#2}}
  1084 +
  1085 +\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
  1086 + {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
  1087 + \expandafter\xdef\csname #1name\endcsname{#2}%
  1088 + \global\@namedef{end#1}{\@endtheorem}}}
  1089 +
  1090 +\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
  1091 +\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
  1092 +
  1093 +\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
  1094 +
  1095 +\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
  1096 + {#4}{#2}{#3}\ignorespaces}
  1097 +
  1098 +\def\@Begintheorem#1#2#3{#3\trivlist
  1099 + \item[\hskip\labelsep{#2#1\@thmcounterend}]}
  1100 +
  1101 +\def\@Opargbegintheorem#1#2#3#4{#4\trivlist
  1102 + \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
  1103 +
  1104 +\if@envcntsect
  1105 + \def\@thmcountersep{.}
  1106 + \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
  1107 +\else
  1108 + \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
  1109 + \if@envcntreset
  1110 + \@addtoreset{theorem}{section}
  1111 + \else
  1112 + \@addtoreset{theorem}{chapter}
  1113 + \fi
  1114 +\fi
  1115 +
  1116 +%definition of divers theorem environments
  1117 +\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
  1118 +\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
  1119 +\if@envcntsame % alle Umgebungen wie Theorem.
  1120 + \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
  1121 +\else % alle Umgebungen mit eigenem Zaehler
  1122 + \if@envcntsect % mit section numeriert
  1123 + \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
  1124 + \else % nicht mit section numeriert
  1125 + \if@envcntreset
  1126 + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
  1127 + \@addtoreset{#1}{section}}
  1128 + \else
  1129 + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
  1130 + \@addtoreset{#1}{chapter}}%
  1131 + \fi
  1132 + \fi
  1133 +\fi
  1134 +\spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
  1135 +\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
  1136 +\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
  1137 +\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
  1138 +\spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
  1139 +\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
  1140 +\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
  1141 +\spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
  1142 +\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
  1143 +\spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
  1144 +\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
  1145 +\spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
  1146 +\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
  1147 +\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
  1148 +
  1149 +\def\@takefromreset#1#2{%
  1150 + \def\@tempa{#1}%
  1151 + \let\@tempd\@elt
  1152 + \def\@elt##1{%
  1153 + \def\@tempb{##1}%
  1154 + \ifx\@tempa\@tempb\else
  1155 + \@addtoreset{##1}{#2}%
  1156 + \fi}%
  1157 + \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
  1158 + \expandafter\def\csname cl@#2\endcsname{}%
  1159 + \@tempc
  1160 + \let\@elt\@tempd}
  1161 +
  1162 +\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
  1163 + \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
  1164 + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
  1165 + \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
  1166 + }
  1167 +
  1168 +\renewenvironment{abstract}{%
  1169 + \list{}{\advance\topsep by0.35cm\relax\small
  1170 + \leftmargin=1cm
  1171 + \labelwidth=\z@
  1172 + \listparindent=\z@
  1173 + \itemindent\listparindent
  1174 + \rightmargin\leftmargin}\item[\hskip\labelsep
  1175 + \bfseries\abstractname]}
  1176 + {\endlist}
  1177 +
  1178 +\newdimen\headlineindent % dimension for space between
  1179 +\headlineindent=1.166cm % number and text of headings.
  1180 +
  1181 +\def\ps@headings{\let\@mkboth\@gobbletwo
  1182 + \let\@oddfoot\@empty\let\@evenfoot\@empty
  1183 + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
  1184 + \leftmark\hfil}
  1185 + \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
  1186 + \llap{\thepage}}
  1187 + \def\chaptermark##1{}%
  1188 + \def\sectionmark##1{}%
  1189 + \def\subsectionmark##1{}}
  1190 +
  1191 +\def\ps@titlepage{\let\@mkboth\@gobbletwo
  1192 + \let\@oddfoot\@empty\let\@evenfoot\@empty
  1193 + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
  1194 + \hfil}
  1195 + \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
  1196 + \llap{\thepage}}
  1197 + \def\chaptermark##1{}%
  1198 + \def\sectionmark##1{}%
  1199 + \def\subsectionmark##1{}}
  1200 +
  1201 +\if@runhead\ps@headings\else
  1202 +\ps@empty\fi
  1203 +
  1204 +\setlength\arraycolsep{1.4\p@}
  1205 +\setlength\tabcolsep{1.4\p@}
  1206 +
  1207 +\endinput
  1208 +%end of file llncs.cls
... ...
OSS-2017/llncs.tex 0 → 100644
... ... @@ -0,0 +1,1256 @@
  1 +% This is LLNCS.DOC the documentation file of
  2 +% the LaTeX2e class from Springer-Verlag
  3 +% for Lecture Notes in Computer Science, version 2.4
  4 +\documentclass{llncs}
  5 +\usepackage{llncsdoc}
  6 +%
  7 +\begin{document}
  8 +\markboth{\LaTeXe{} Class for Lecture Notes in Computer
  9 +Science}{\LaTeXe{} Class for Lecture Notes in Computer Science}
  10 +\thispagestyle{empty}
  11 +\begin{flushleft}
  12 +\LARGE\bfseries Instructions for Authors\\
  13 +Coding with \LaTeX\\[2cm]
  14 +\end{flushleft}
  15 +\rule{\textwidth}{1pt}
  16 +\vspace{2pt}
  17 +\begin{flushright}
  18 +\Huge
  19 +\begin{tabular}{@{}l}
  20 +\LaTeXe{} Class\\
  21 +for Lecture Notes\\
  22 +in Computer Science\\[6pt]
  23 +{\Large Version 2.4}
  24 +\end{tabular}
  25 +\end{flushright}
  26 +\rule{\textwidth}{1pt}
  27 +\vfill
  28 +%\begin{flushleft}
  29 +%\large\itshape
  30 +%\begin{tabular}{@{}l}
  31 +%{\Large\upshape\bfseries Springer}\\[8pt]
  32 +%Berlin\enspace Heidelberg\enspace New\kern0.1em York\\[5pt]
  33 +%Barcelona\enspace Budapest\enspace Hong\kern0.2em Kong\\[5pt]
  34 +%London\enspace Milan\enspace Paris\enspace\\[5pt]
  35 +%Santa\kern0.2em Clara\enspace Singapore\enspace Tokyo
  36 +%\end{tabular}
  37 +%\end{flushleft}
  38 +\newpage
  39 +%
  40 +\section*{For further information please contact us:}
  41 +%
  42 +\begin{flushleft}
  43 +\begin{tabular}{l@{\quad}l@{\hspace{3mm}}l@{\qquad}l}
  44 +$\bullet$&\multicolumn{3}{@{}l}{\bfseries LNCS Editorial Office}\\[1mm]
  45 +&\multicolumn{3}{@{}l}{Springer-Verlag}\\
  46 +&\multicolumn{3}{@{}l}{Computer Science Editorial}\\
  47 +&\multicolumn{3}{@{}l}{Tiergartenstraße 17}\\
  48 +&\multicolumn{3}{@{}l}{69121 Heidelberg}\\
  49 +&\multicolumn{3}{@{}l}{Germany}\\[0.5mm]
  50 + & Tel: & +49-6221-487-8706\\
  51 + & Fax: & +49-6221-487-8588\\
  52 + & e-mail: & \tt lncs@springer.com & for editorial questions\\
  53 + & & \tt texhelp@springer.de & for \TeX{} problems\\[2mm]
  54 +\noalign{\rule{\textwidth}{1pt}}
  55 +\noalign{\vskip2mm}
  56 +%
  57 +%{\tt svserv@vax.ntp.springer.de}\hfil first try the \verb|help|
  58 +%command.
  59 +%
  60 +$\bullet$&\multicolumn{3}{@{}l}{\bfseries We are also reachable through the world wide web:}\\[1mm]
  61 + &\multicolumn{2}{@{}l}{\texttt{http://www.springer.com}}&Springer Global Website\\
  62 + &\multicolumn{2}{@{}l}{\texttt{http://www.springer.com/lncs}}&LNCS home page\\
  63 + &\multicolumn{2}{@{}l}{\texttt{http://www.springerlink.com}}&data repository\\
  64 + &\multicolumn{2}{@{}l}{\texttt{ftp://ftp.springer.de}}&FTP server
  65 +\end{tabular}
  66 +\end{flushleft}
  67 +
  68 +
  69 +%
  70 +\newpage
  71 +\tableofcontents
  72 +\newpage
  73 +%
  74 +\section{Introduction}
  75 +%
  76 +Authors wishing to code their contribution
  77 +with \LaTeX{}, as well as those who have already coded with \LaTeX{},
  78 +will be provided with a document class that will give the text the
  79 +desired layout. Authors are requested to
  80 +adhere strictly to these instructions; {\em the class
  81 +file must not be changed}.
  82 +
  83 +The text output area is automatically set within an area of
  84 +12.2\,cm horizontally and 19.3\,cm vertically.
  85 +
  86 +If you are already familiar with \LaTeX{}, then the
  87 +LLNCS class should not give you any major difficulties.
  88 +It will change the layout to the required LLNCS style
  89 +(it will for instance define the layout of \verb|\section|).
  90 +We had to invent some extra commands,
  91 +which are not provided by \LaTeX{} (e.g.\
  92 +\verb|\institute|, see also Sect.\,\ref{contbegin})
  93 +
  94 +For the main body of the paper (the text) you
  95 +should use the commands of the standard \LaTeX{} ``article'' class.
  96 +Even if you are familiar with those commands, we urge you to read
  97 +this entire documentation thoroughly. It contains many suggestions on
  98 +how to use our commands properly; thus your paper
  99 +will be formatted exactly to LLNCS standard.
  100 +For the input of the references at the end of your contribution,
  101 +please follow our instructions given in Sect.\,\ref{refer} References.
  102 +
  103 +The majority of these hints are not specific for LLNCS; they may improve
  104 +your use of \LaTeX{} in general.
  105 +Furthermore, the documentation provides suggestions about the proper
  106 +editing and use
  107 +of the input files (capitalization, abbreviation etc.) (see
  108 +Sect.\,\ref{refedit} How to Edit Your Input File).
  109 +%
  110 +\section{How to Proceed}
  111 +%
  112 +The package consists of the following files:
  113 +\begin{flushleft}
  114 +\begin{tabular}{@{}p{2.5cm}l}
  115 +{\tt history.txt}& the version history of the package\\[2pt]
  116 +{\tt llncs.cls} & class file for \LaTeX{}\\[2pt]
  117 +{\tt llncs.dem} & an example showing how to code the text\\[2pt]
  118 +{\tt llncs.doc} & general instructions (source of this document),\\
  119 + & {\tt llncs.doc} means {\itshape l\/}atex {\itshape doc\/}umentation for\\
  120 + & {\itshape L\/}ecture {\itshape N}otes in {\itshape C\/}omputer {\itshape S\/}cience\\
  121 +{\tt llncsdoc.pdf}& the documentation of the class (PDF version),\\
  122 +{\tt llncs.doc} & general instructions (source of this document),\\
  123 +{\tt llncsdoc.sty} & class modifications to help for the instructions\\
  124 +{\tt llncs.ind} & an external (faked) author index file\\
  125 +{\tt subjidx.ind} & subject index demo from the Springer book package\\
  126 +{\tt llncs.dvi} & the resultig DVI file (remember to use binary transfer!)\\[2pt]
  127 +{\tt sprmindx.sty} & supplementary style file for MakeIndex\\
  128 + & (usage: {\tt makeindex -s sprmindx.sty <yourfile.idx>})
  129 +\end{tabular}
  130 +\end{flushleft}
  131 +%
  132 +\subsection{How to Invoke the LLNCS Document Class}
  133 +%
  134 +The LLNCS class is an extension of the standard \LaTeX{} ``article''
  135 +document class. Therefore you may use all ``article'' commands for the
  136 +body of your contribution to prepare your manuscript.
  137 +LLNCS class is invoked by replacing ``article'' by ``llncs'' in the
  138 +first line of your document:
  139 +\begin{verbatim}
  140 +\documentclass{llncs}
  141 +%
  142 +\begin{document}
  143 + <Your contribution>
  144 +\end{document}
  145 +\end{verbatim}
  146 +%
  147 +\subsection{Contributions Already Coded with \protect\LaTeX{} without
  148 +the LLNCS document class}
  149 +%
  150 +If your file is already coded with \LaTeX{} you can easily
  151 +adapt it a posteriori to the LLNCS document class.
  152 +
  153 +Please refrain from using any \LaTeX{} or \TeX{} commands
  154 +that affect the layout or formatting of your document (i.e. commands
  155 +like \verb|\textheight|, \verb|\vspace|, \verb|\headsep| etc.).
  156 +There may nevertheless be exceptional occasions on which to
  157 +use some of them.
  158 +
  159 +The LLNCS document class has been carefully designed to produce the
  160 +right layout from your \LaTeX{} input. If there is anything specific you
  161 +would like to do and for which the style file does not provide a
  162 +command, {\em please contact us}. Same holds for any error and bug you
  163 +discover (there is however no reward for this -- sorry).
  164 +%
  165 +\section{General Rules for Coding Formulas}
  166 +%
  167 +With mathematical formulas you may proceed as described
  168 +in Sect.\,3.3 of the {\em \LaTeX{} User's Guide \& Reference
  169 +Manual\/} by Leslie Lamport (2nd~ed. 1994), Addison-Wesley Publishing
  170 +Company, Inc.
  171 +
  172 +Equations are automatically numbered sequentially throughout your
  173 +contribution using arabic numerals in parentheses on the right-hand
  174 +side.
  175 +
  176 +When you are working in math mode everything is typeset in italics.
  177 +Sometimes you need to insert non-mathematical elements (e.g.\
  178 +words or phrases). Such insertions should be coded in roman
  179 +(with \verb|\mbox|) as illustrated in the following example:
  180 +\begin{flushleft}
  181 +{\itshape Sample Input}
  182 +\end{flushleft}
  183 +\begin{verbatim}
  184 +\begin{equation}
  185 + \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad
  186 + \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace .
  187 +\end{equation}
  188 +\end{verbatim}
  189 +{\itshape Sample Output}
  190 +\begin{equation}
  191 + \left(\frac{a^{2} + b^{2}}{c^{3}} \right) = 1 \quad
  192 + \mbox{ if } c\neq 0 \mbox{ and if } a,b,c\in \bbbr \enspace .
  193 +\end{equation}
  194 +
  195 +If you wish to start a new paragraph immediately after a displayed
  196 +equation, insert a blank line so as to produce the required
  197 +indentation. If there is no new paragraph either do not insert
  198 +a blank line or code \verb|\noindent| immediately before
  199 +continuing the text.
  200 +
  201 +Please punctuate a displayed equation in the same way as other
  202 +ordinary text but with an \verb|\enspace| before end punctuation.
  203 +
  204 +Note that the sizes of the parentheses or other delimiter
  205 +symbols used in equations should ideally match the height of the
  206 +formulas being enclosed. This is automatically taken care of by
  207 +the following \LaTeX{} commands:\\[2mm]
  208 +\verb|\left(| or \verb|\left[| and
  209 +\verb|\right)| or \verb|\right]|.
  210 +%
  211 +\subsection{Italic and Roman Type in Math Mode}
  212 +%
  213 +\begin{alpherate}
  214 +\item
  215 +In math mode \LaTeX{} treats all letters as though they
  216 +were mathematical or physical variables, hence they are typeset as
  217 +characters of their own in
  218 +italics. However, for certain components of formulas, like short texts,
  219 +this would be incorrect and therefore coding in roman is required.
  220 +Roman should also be used for
  221 +subscripts and superscripts {\em in formulas\/} where these are
  222 +merely labels and not in themselves variables,
  223 +e.g. $T_{\mathrm{eff}}$ \emph{not} $T_{eff}$,
  224 +$T_{\mathrm K}$ \emph{not} $T_K$ (K = Kelvin),
  225 +$m_{\mathrm e}$ \emph{not} $m_e$ (e = electron).
  226 +However, do not code for roman
  227 +if the sub/superscripts represent variables,
  228 +e.g.\ $\sum_{i=1}^{n} a_{i}$.
  229 +\item
  230 +Please ensure that {\em physical units\/} (e.g.\ pc, erg s$^{-1}$
  231 +K, cm$^{-3}$, W m$^{-2}$ Hz$^{-1}$, m kg s$^{-2}$ A$^{-2}$) and
  232 +{\em abbreviations\/} such as Ord, Var, GL, SL, sgn, const.\
  233 +are always set in roman type. To ensure
  234 +this use the \verb|\mathrm| command: \verb|\mathrm{Hz}|.
  235 +On p.\ 44 of the {\em \LaTeX{} User's Guide \& Reference
  236 +Manual\/} by Leslie Lamport you will find the names of
  237 +common mathe\-matical functions, such as log, sin, exp, max and sup.
  238 +These should be coded as \verb|\log|,
  239 +\verb|\sin|, \verb|\exp|, \verb|\max|, \verb|\sup|
  240 +and will appear in roman automatically.
  241 +\item
  242 +Chemical symbols and formulas should be coded for roman,
  243 +e.g.\ Fe not $Fe$, H$_2$O not {\em H$_2$O}.
  244 +\item
  245 +Familiar foreign words and phrases, e.g.\ et al.,
  246 +a priori, in situ, brems\-strah\-lung, eigenvalues should not be
  247 +italicized.
  248 +\end{alpherate}
  249 +%
  250 +\section{How to Edit Your Input (Source) File}
  251 +\label{refedit}
  252 +%
  253 +\subsection{Headings}\label{headings}
  254 +%
  255 +All words in headings should be capitalized except for conjunctions,
  256 +prepositions (e.g.\ on, of, by, and, or, but, from, with, without,
  257 +under) and definite and indefinite articles (the, a, an) unless they
  258 +appear at the beginning. Formula letters must be typeset as in the text.
  259 +%
  260 +\subsection{Capitalization and Non-capitalization}
  261 +%
  262 +\begin{alpherate}
  263 +\item
  264 +The following should always be capitalized:
  265 +\begin{itemize}
  266 +\item
  267 +Headings (see preceding Sect.\,\ref{headings})
  268 +\item
  269 +Abbreviations and expressions
  270 +in the text such as Fig(s)., Table(s), Sect(s)., Chap(s).,
  271 +Theorem, Corollary, Definition etc. when used with numbers, e.g.\
  272 +Fig.\,3, Table\,1, Theorem 2.
  273 +\end{itemize}
  274 +Please follow the special rules in Sect.\,\ref{abbrev} for referring to
  275 +equations.
  276 +\item
  277 +The following should {\em not\/} be capitalized:
  278 +\begin{itemize}
  279 +\item
  280 +The words figure(s), table(s), equation(s), theorem(s) in the text when
  281 +used without an accompanying number.
  282 +\item
  283 +Figure legends and table captions except for names and abbreviations.
  284 +\end{itemize}
  285 +\end{alpherate}
  286 +%
  287 +\subsection{Abbreviation of Words}\label{abbrev}
  288 +%
  289 +\begin{alpherate}
  290 +\item
  291 +The following {\em should} be abbreviated when they appear in running
  292 +text {\em unless\/} they come at the beginning of a sentence: Chap.,
  293 +Sect., Fig.; e.g.\ The results are depicted in Fig.\,5. Figure 9 reveals
  294 +that \dots .\\
  295 +{\em Please note\/}: Equations should usually be referred to solely by
  296 +their number in parentheses: e.g.\ (14). However, when the reference
  297 +comes at the beginning of a sentence, the unabbreviated word
  298 +``Equation'' should be used: e.g.\ Equation (14) is very important.
  299 +However, (15) makes it clear that \dots .
  300 +\item
  301 +If abbreviations of names or concepts are used
  302 +throughout the text, they should be defined at first occurrence,
  303 +e.g.\ Plurisubharmonic (PSH) Functions, Strong Optimization (SOPT)
  304 +Problem.
  305 +\end{alpherate}
  306 +%
  307 +\section{How to Code the Beginning of Your Contribution}
  308 +\label{contbegin}
  309 +%
  310 +The title of a single contribution (it is mandatory) should be coded as
  311 +follows:
  312 +\begin{verbatim}
  313 +\title{<Your contribution title>}
  314 +\end{verbatim}
  315 +All words in titles should be capitalized except for conjunctions,
  316 +prepositions (e.g.\ on, of, by, and, or, but, from, with, without,
  317 +under) and definite and indefinite articles (the, a, an) unless they
  318 +appear at the beginning. Formula letters must be typeset as in the text.
  319 +Titles have no end punctuation.
  320 +
  321 +If a long \verb|\title| must be divided please use the code \verb|\\|
  322 +(for new line).
  323 +
  324 +If you are to produce running heads for a specific volume the standard
  325 +(of no such running heads) is overwritten with the \verb|[runningheads]|
  326 +option in the \verb|\documentclass| line. For long titles that do not
  327 +fit in the single line of the running head a warning is generated.
  328 +You can specify an abbreviated title for the running head on odd pages
  329 +with the command
  330 +\begin{verbatim}
  331 +\titlerunning{<Your abbreviated contribution title>}
  332 +\end{verbatim}
  333 +
  334 +There is also a possibility to change the text of the title that goes
  335 +into the table of contents (that's for volume editors only -- there is
  336 +no table of contents for a single contribution). For this use the
  337 +command
  338 +\begin{verbatim}
  339 +\toctitle{<Your changed title for the table of contents>}
  340 +\end{verbatim}
  341 +
  342 +An optional subtitle may follow then:
  343 +\begin{verbatim}
  344 +\subtitle{<subtitle of your contribution>}
  345 +\end{verbatim}
  346 +
  347 +Now the name(s) of the author(s) must be given:
  348 +\begin{verbatim}
  349 +\author{<author(s) name(s)>}
  350 +\end{verbatim}
  351 +Numbers referring to different addresses or affiliations are
  352 +to be attached to each author with the \verb|\inst{<no>}| command.
  353 +If there is more than one author, the order is up to you;
  354 +the \verb|\and| command provides for the separation.
  355 +
  356 +If you have done this correctly, this entry now reads, for example:
  357 +\begin{verbatim}
  358 +\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}}
  359 +\end{verbatim}
  360 +The first name\footnote{Other initials are optional
  361 +and may be inserted if this is the usual
  362 +way of writing your name, e.g.\ Alfred J.~Holmes, E.~Henry Green.}
  363 +is followed by the surname.
  364 +
  365 +As for the title there exist two additional commands (again for volume
  366 +editors only) for a different author list. One for the running head
  367 +(on odd pages) -- if there is any:
  368 +\begin{verbatim}
  369 +\authorrunning{<abbreviated author list>}
  370 +\end{verbatim}
  371 +And one for the table of contents where the
  372 +affiliation of each author is simply added in braces.
  373 +\begin{verbatim}
  374 +\tocauthor{<enhanced author list for the table of contents>}
  375 +\end{verbatim}
  376 +
  377 +Next the address(es) of institute(s), company etc. is (are) required.
  378 +If there is more than one address, the entries are numbered
  379 +automatically with \verb|\and|, in the order in which you type them.
  380 +Please make sure that the numbers match those placed next to
  381 +to the authors' names to reflect the affiliation.
  382 +\begin{verbatim}
  383 +\institute{<name of an institute>
  384 +\and <name of the next institute>
  385 +\and <name of the next institute>}
  386 +\end{verbatim}
  387 +
  388 +In addition, you can use
  389 +\begin{verbatim}
  390 +\email{<email address>}
  391 +\end{verbatim}
  392 +to provide your email address within \verb|\institute|. If you need to
  393 +typeset the tilde character -- e.g. for your web page in your unix
  394 +system's home directory -- the \verb|\homedir| command will happily do
  395 +this. Please note that, if your email address is given in your paper,
  396 +it will also be included in the meta data of the online version.
  397 +\enlargethispage*{6mm}
  398 +
  399 +\medskip
  400 +If footnote like things are needed anywhere in the contribution heading
  401 +please code
  402 +(immediately after the word where the footnote indicator should be
  403 +placed):
  404 +\begin{verbatim}
  405 +\thanks{<text>}
  406 +\end{verbatim}
  407 +\verb|\thanks| may only appear in \verb|\title|, \verb|\author|
  408 +and \verb|\institute| to footnote anything. If there are two or more
  409 +footnotes or affiliation marks to a specific item separate them with
  410 +\verb|\fnmsep| (i.e. {\itshape f}oot\emph note \emph mark
  411 +\emph{sep}arator).
  412 +
  413 +\medskip\noindent
  414 +The command
  415 +\begin{verbatim}
  416 +\maketitle
  417 +\end{verbatim}
  418 +then formats the complete heading of your article. If you leave
  419 +it out the work done so far will produce \emph{no} text.
  420 +
  421 +Then the abstract should follow. Simply code
  422 +\begin{verbatim}
  423 +\begin{abstract}
  424 +<Text of the summary of your article>
  425 +\end{abstract}
  426 +\end{verbatim}
  427 +or refer to the demonstration file {\tt llncs.dem} for an example or
  428 +to the {\em Sample Input\/} on p.~\pageref{samppage}.
  429 +
  430 +\subsubsection{Remark to Running Heads and the Table of Contents}
  431 +\leavevmode\\[\medskipamount]
  432 +If you are the author of a single contribution you normally have no
  433 +running heads and no table of contents. Both are done only by the editor
  434 +of the volume or at the printers.
  435 +%
  436 +\section{Special Commands for the Volume Editor}
  437 +The volume editor can produce a complete camera ready output including
  438 +running heads, a table of contents, preliminary text (frontmatter), and
  439 +index or glossary. For activating the running heads there is the class
  440 +option \verb|[runningheads]|.
  441 +
  442 +The table of contents of the volume is printed wherever
  443 +\verb|\tableofcontents| is placed. A simple compilation of all
  444 +contributions (fields \verb|\title| and \verb|\author|) is done. If you
  445 +wish to change this automatically produced list use the commands
  446 +\begin{verbatim}
  447 +\titlerunning \toctitle
  448 +\authorrunning \tocauthor
  449 +\end{verbatim}
  450 +to enhance the information in the specific contributions. See the
  451 +demonstration file \verb|llncs.dem| for examples.
  452 +
  453 +An additional structure can be added to the table of contents with the
  454 +\verb|\addtocmark{<text>}| command. It has an optional numerical
  455 +argument, a digit from 1 through 3. 3 (the default) makes an unnumbered
  456 +chapter like entry in the table of contents. If you code
  457 +\verb|\addtocmark[2]{text}| the corresponding page number is listed
  458 +also, \verb|\addtocmark[1]{text}| even introduces a chapter number
  459 +beyond it.
  460 +%
  461 +\section{How to Code Your Text}
  462 +%
  463 +The contribution title and all headings should be capitalized
  464 +except for conjunctions, prepositions (e.g.\ on, of, by, and, or, but,
  465 +from, with, without, under) and definite and indefinite articles (the,
  466 +a, an) unless they appear at the beginning. Formula letters must be
  467 +typeset as in the text.
  468 +
  469 +Headings will be automatically numbered by the following codes.\\[2mm]
  470 +{\itshape Sample Input}
  471 +\begin{verbatim}
  472 +\section{This is a First-Order Title}
  473 +\subsection{This is a Second-Order Title}
  474 +\subsubsection{This is a Third-Order Title.}
  475 +\paragraph{This is a Fourth-Order Title.}
  476 +\end{verbatim}
  477 +\verb|\section| and \verb|\subsection| have no end punctuation.\\
  478 +\verb|\subsubsection| and \verb|\paragraph|
  479 +need to be punctuated at the end.
  480 +
  481 +In addition to the above-mentioned headings your text may be structured
  482 +by subsections indicated by run-in headings (theorem-like environments).
  483 +All the theorem-like environments are numbered automatically
  484 +throughout the sections of your document -- each with its own counter.
  485 +If you want the theorem-like environments to use the same counter
  486 +just specify the documentclass option \verb|envcountsame|:
  487 +\begin{verbatim}
  488 +\documentclass[envcountsame]{llncs}
  489 +\end{verbatim}
  490 +If your first call for a theorem-like environment then is e.g.
  491 +\verb|\begin{lemma}|, it will be numbered 1; if corollary follows,
  492 +this will be numbered 2; if you then call lemma again, this will be
  493 +numbered 3.
  494 +
  495 +But in case you want to reset such counters to 1 in each section,
  496 +please specify the documentclass option \verb|envcountreset|:
  497 +\begin{verbatim}
  498 +\documentclass[envcountreset]{llncs}
  499 +\end{verbatim}
  500 +
  501 +Even a numbering on section level (including the section counter) is
  502 +possible with the documentclass option \verb|envcountsect|.
  503 +
  504 +\section{Predefined Theorem like Environments}\label{builtintheo}
  505 +The following variety of run-in headings are at your disposal:
  506 +\begin{alpherate}
  507 +\item
  508 +{\bfseries Bold} run-in headings with italicized text
  509 +as built-in environments:
  510 +\begin{verbatim}
  511 +\begin{corollary} <text> \end{corollary}
  512 +\begin{lemma} <text> \end{lemma}
  513 +\begin{proposition} <text> \end{proposition}
  514 +\begin{theorem} <text> \end{theorem}
  515 +\end{verbatim}
  516 +\item
  517 +The following generally appears as {\itshape italic} run-in heading:
  518 +\begin{verbatim}
  519 +\begin{proof} <text> \qed \end{proof}
  520 +\end{verbatim}
  521 +It is unnumbered and may contain an eye catching square (call for that
  522 +with \verb|\qed|) before the environment ends.
  523 +\item
  524 +Further {\itshape italic} or {\bfseries bold} run-in headings with roman
  525 +environment body may also occur:
  526 +\begin{verbatim}
  527 +\begin{definition} <text> \end{definition}
  528 +\begin{example} <text> \end{example}
  529 +\begin{exercise} <text> \end{exercise}
  530 +\begin{note} <text> \end{note}
  531 +\begin{problem} <text> \end{problem}
  532 +\begin{question} <text> \end{question}
  533 +\begin{remark} <text> \end{remark}
  534 +\begin{solution} <text> \end{solution}
  535 +\end{verbatim}
  536 +\end{alpherate}
  537 +
  538 +\section{Defining your Own Theorem like Environments}
  539 +We have enhanced the standard \verb|\newtheorem| command and slightly
  540 +changed its syntax to get two new commands \verb|\spnewtheorem| and
  541 +\verb|\spnewtheorem*| that now can be used to define additional
  542 +environments. They require two additional arguments namely the type
  543 +style in which the keyword of the environment appears and second the
  544 +style for the text of your new environment.
  545 +
  546 +\verb|\spnewtheorem| can be used in two ways.
  547 +\subsection{Method 1 {\itshape (preferred)}}
  548 +You may want to create an environment that shares its counter
  549 +with another environment, say {\em main theorem\/} to be numbered like
  550 +the predefined {\em theorem\/}. In this case, use the syntax
  551 +\begin{verbatim}
  552 +\spnewtheorem{<env_nam>}[<num_like>]{<caption>}
  553 +{<cap_font>}{<body_font>}
  554 +\end{verbatim}
  555 +
  556 +\noindent
  557 +Here the environment with which the new environment should share its
  558 +counter is specified with the optional argument \verb|[<num_like>]|.
  559 +
  560 +\paragraph{Sample Input}
  561 +\begin{verbatim}
  562 +\spnewtheorem{mainth}[theorem]{Main Theorem}{\bfseries}{\itshape}
  563 +\begin{theorem} The early bird gets the worm. \end{theorem}
  564 +\begin{mainth} The early worm gets eaten. \end{mainth}
  565 +\end{verbatim}
  566 +\medskip\noindent
  567 +{\em Sample Output}
  568 +
  569 +\medskip\noindent
  570 +{\bfseries Theorem 3.}\enspace {\em The early bird gets the worm.}
  571 +
  572 +\medskip\noindent
  573 +{\bfseries Main Theorem 4.} The early worm gets eaten.
  574 +
  575 +\bigskip
  576 +The sharing of the default counter (\verb|[theorem]|) is desired. If you
  577 +omit the optional second argument of \verb|\spnewtheorem| a separate
  578 +counter for your new environment is used throughout your document.
  579 +
  580 +\subsection[Method 2]{Method 2 {\itshape (assumes {\tt[envcountsect]}
  581 +documentstyle option)}}
  582 +\begin{verbatim}
  583 +\spnewtheorem{<env_nam>}{<caption>}[<within>]
  584 +{<cap_font>}{<body_font>}
  585 +\end{verbatim}
  586 +
  587 +\noindent
  588 +This defines a new environment \verb|<env_nam>| which prints the caption
  589 +\verb|<caption>| in the font \verb|<cap_font>| and the text itself in
  590 +the font \verb|<body_font>|. The environment is numbered beginning anew
  591 +with every new sectioning element you specify with the optional
  592 +parameter \verb|<within>|.
  593 +
  594 +\medskip\noindent
  595 +\paragraph{Example} \leavevmode
  596 +
  597 +\medskip\noindent
  598 +\verb|\spnewtheorem{joke}{Joke}[subsection]{\bfseries}{\rmfamily}|
  599 +
  600 +\medskip
  601 +\noindent defines a new environment called \verb|joke| which prints the
  602 +caption {\bfseries Joke} in boldface and the text in roman. The jokes are
  603 +numbered starting from 1 at the beginning of every subsection with the
  604 +number of the subsection preceding the number of the joke e.g. 7.2.1 for
  605 +the first joke in subsection 7.2.
  606 +
  607 +\subsection{Unnumbered Environments}
  608 +If you wish to have an unnumbered environment, please
  609 +use the syntax
  610 +\begin{verbatim}
  611 +\spnewtheorem*{<env_nam>}{<caption>}{<cap_font>}{<body_font>}
  612 +\end{verbatim}
  613 +
  614 +\section{Program Codes}
  615 +In case you want to show pieces of program code, just use the
  616 +\verb|verbatim| environment or the \verb|verbatim| package of \LaTeX.
  617 +(There also exist various pretty printers for some programming
  618 +languages.)
  619 +%
  620 +\noindent
  621 +\subsection*{Sample Input {\rmfamily(of a simple
  622 +contribution)}}\label{samppage}
  623 +\begin{verbatim}
  624 +\title{Hamiltonian Mechanics}
  625 +
  626 +\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}}
  627 +
  628 +\institute{Princeton University, Princeton NJ 08544, USA
  629 +\and
  630 +Universit\'{e} de Paris-Sud,
  631 +Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\
  632 +F-91405 Orsay Cedex, France}
  633 +
  634 +\maketitle
  635 +%
  636 +\begin{abstract}
  637 +This paragraph shall summarize the contents of the paper
  638 +in short terms.
  639 +\end{abstract}
  640 +%
  641 +\section{Fixed-Period Problems: The Sublinear Case}
  642 +%
  643 +With this chapter, the preliminaries are over, and we begin the
  644 +search for periodic solutions \dots
  645 +%
  646 +\subsection{Autonomous Systems}
  647 +%
  648 +In this section we will consider the case when the Hamiltonian
  649 +$H(x)$ \dots
  650 +%
  651 +\subsubsection*{The General Case: Nontriviality.}
  652 +%
  653 +We assume that $H$ is
  654 +$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic
  655 +at infinity, for some constant \dots
  656 +%
  657 +\paragraph{Notes and Comments.}
  658 +The first results on subharmonics were \dots
  659 +%
  660 +\begin{proposition}
  661 +Assume $H'(0)=0$ and $ H(0)=0$. Set \dots
  662 +\end{proposition}
  663 +\begin{proof}[of proposition]
  664 +Condition (8) means that, for every $\delta'>\delta$, there is
  665 +some $\varepsilon>0$ such that \dots \qed
  666 +\end{proof}
  667 +%
  668 +\begin{example}[\rmfamily (External forcing)]
  669 +Consider the system \dots
  670 +\end{example}
  671 +\begin{corollary}
  672 +Assume $H$ is $C^{2}$ and
  673 +$\left(a_{\infty}, b_{\infty}\right)$-subquadratic
  674 +at infinity. Let \dots
  675 +\end{corollary}
  676 +\begin{lemma}
  677 +Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$
  678 +and that $H''(x)$ is \dots
  679 +\end{lemma}
  680 +\begin{theorem}[(Ghoussoub-Preiss)]
  681 +Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots
  682 +\end{theorem}
  683 +\begin{definition}
  684 +We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$
  685 +satisfies \dots
  686 +\end{definition}
  687 +\end{verbatim}
  688 +{\itshape Sample Output\/} (follows on the next page together with
  689 +examples of the above run-in headings)
  690 +\newcounter{save}\setcounter{save}{\value{section}}
  691 +{\def\addtocontents#1#2{}%
  692 +\def\addcontentsline#1#2#3{}%
  693 +\def\markboth#1#2{}%
  694 +%
  695 +\title{Hamiltonian Mechanics}
  696 +
  697 +\author{Ivar Ekeland\inst{1} \and Roger Temam\inst{2}}
  698 +
  699 +\institute{Princeton University, Princeton NJ 08544, USA
  700 +\and
  701 +Universit\'{e} de Paris-Sud,
  702 +Laboratoire d'Analyse Num\'{e}rique, B\^{a}timent 425,\\
  703 +F-91405 Orsay Cedex, France}
  704 +
  705 +\maketitle
  706 +%
  707 +\begin{abstract}
  708 +This paragraph shall summarize the contents of the paper
  709 +in short terms.
  710 +\end{abstract}
  711 +%
  712 +\section{Fixed-Period Problems: The Sublinear Case}
  713 +%
  714 +With this chapter, the preliminaries are over, and we begin the search
  715 +for periodic solutions \dots
  716 +%
  717 +\subsection{Autonomous Systems}
  718 +%
  719 +In this section we will consider the case when the Hamiltonian
  720 +$H(x)$ \dots
  721 +%
  722 +\subsubsection{The General Case: Nontriviality.}
  723 +%
  724 +We assume that $H$ is
  725 +$\left(A_{\infty}, B_{\infty}\right)$-subqua\-dra\-tic at
  726 +infinity, for some constant \dots
  727 +%
  728 +\paragraph{Notes and Comments.}
  729 +The first results on subharmonics were \dots
  730 +%
  731 +\begin{proposition}
  732 +Assume $H'(0)=0$ and $ H(0)=0$. Set \dots
  733 +\end{proposition}
  734 +\begin{proof}[of proposition]
  735 +Condition (8) means that, for every $\delta'>\delta$, there is
  736 +some $\varepsilon>0$ such that \dots \qed
  737 +\end{proof}
  738 +%
  739 +\begin{example}[{{\rmfamily External forcing}}]
  740 +Consider the system \dots
  741 +\end{example}
  742 +\begin{corollary}
  743 +Assume $H$ is $C^{2}$ and
  744 +$\left(a_{\infty}, b_{\infty}\right)$-subquadratic
  745 +at infinity. Let \dots
  746 +\end{corollary}
  747 +\begin{lemma}
  748 +Assume that $H$ is $C^{2}$ on $\bbbr^{2n}\backslash \{0\}$
  749 +and that $H''(x)$ is \dots
  750 +\end{lemma}
  751 +\begin{theorem}[Ghoussoub-Preiss]
  752 +Let $X$ be a Banach Space and $\Phi:X\to\bbbr$ \dots
  753 +\end{theorem}
  754 +\begin{definition}
  755 +We shall say that a $C^{1}$ function $\Phi:X\to\bbbr$ satisfies \dots
  756 +\end{definition}
  757 +%
  758 +}\setcounter{section}{\value{save}}
  759 +\section{Fine Tuning of the Text}
  760 +%
  761 +The following should be used to improve the readability of the text:
  762 +\begin{flushleft}
  763 +\begin{tabular}{@{}p{.19\textwidth}p{.79\textwidth}}
  764 +\verb|\,| & a thin space, e.g.\ between numbers or between units
  765 + and num\-bers; a line division will not be made
  766 + following this space\\
  767 +\verb|--| & en dash; two strokes, without a space at either end\\
  768 +\verb*| -- |& en dash; two strokes, with a space at either end\\
  769 +\verb|-| & hyphen; one stroke, no space at either end\\
  770 +\verb|$-$| & minus, in the text {\em only} \\[8mm]
  771 +{\em Input} & \verb|21\,$^{\circ}$C etc.,|\\
  772 + & \verb|Dr h.\,c.\,Rockefellar-Smith \dots|\\
  773 + & \verb|20,000\,km and Prof.\,Dr Mallory \dots|\\
  774 + & \verb|1950--1985 \dots|\\
  775 + & \verb|this -- written on a computer -- is now printed|\\
  776 + & \verb|$-30$\,K \dots|\\[3mm]
  777 +{\em Output}& 21\,$^{\circ}$C etc., Dr h.\,c.\,Rockefellar-Smith \dots\\
  778 + & 20,000\,km and Prof.\,Dr Mallory \dots\\
  779 + & 1950--1985 \dots\\
  780 + & this -- written on a computer -- is now printed\\
  781 + & $-30$\,K \dots
  782 +\end{tabular}
  783 +\end{flushleft}
  784 +%
  785 +\section {Special Typefaces}
  786 +%
  787 +Normal type (roman text) need not be coded. {\itshape Italic}
  788 +(\verb|{\em <text>}| better still \verb|\emph{<text>}|) or, if
  789 +necessary, {\bfseries boldface} should be used for emphasis.\\[6pt]
  790 +\begin{minipage}[t]{\textwidth}
  791 +\begin{flushleft}
  792 +\begin{tabular}{@{}p{.25\textwidth}@{\hskip6pt}p{.73\textwidth}@{}}
  793 +\verb|{\itshape Text}| & {\itshape Italicized Text}\\[2pt]
  794 +\verb|{\em Text}| & {\em Emphasized Text --
  795 + if you would like to emphasize a {\em definition} within an
  796 + italicized text (e.g.\ of a {\em theorem)} you should code the
  797 + expression to be emphasized by} \verb|\em|.\\[2pt]
  798 +\verb|{\bfseries Text}|& {\bfseries Important Text}\\[2pt]
  799 +\verb|\vec{Symbol}| & Vectors may only appear in math mode. The default
  800 + \LaTeX{} vector symbol has been adapted\footnotemark\
  801 + to LLNCS conventions.\\[2pt]
  802 + & \verb|$\vec{A \times B\cdot C}| yields $\vec{A\times B\cdot C}$\\
  803 + & \verb|$\vec{A}^{T} \otimes \vec{B} \otimes|\\
  804 + & \verb|\vec{\hat{D}}$|yields $\vec{A}^{T} \otimes \vec{B} \otimes
  805 +\vec{\hat{D}}$
  806 +\end{tabular}
  807 +\end{flushleft}
  808 +\end{minipage}
  809 +
  810 +\footnotetext{If you absolutely must revive the original \LaTeX{}
  811 +design of the vector symbol (as an arrow accent), please specify the
  812 +option \texttt{[orivec]} in the \texttt{documentclass} line.}
  813 +\newpage
  814 +%
  815 +\section {Footnotes}
  816 +%
  817 +Footnotes within the text should be coded:
  818 +\begin{verbatim}
  819 +\footnote{Text}
  820 +\end{verbatim}
  821 +{\itshape Sample Input}
  822 +\begin{flushleft}
  823 +Text with a footnote\verb|\footnote{The |{\tt footnote is automatically
  824 +numbered.}\verb|}| and text continues \dots
  825 +\end{flushleft}
  826 +{\itshape Sample Output}
  827 +\begin{flushleft}
  828 +Text with a footnote\footnote{The footnote is automatically numbered.}
  829 +and text continues \dots
  830 +\end{flushleft}
  831 +%
  832 +\section {Lists}
  833 +%
  834 +Please code lists as described below:\\[2mm]
  835 +{\itshape Sample Input}
  836 +\begin{verbatim}
  837 +\begin{enumerate}
  838 + \item First item
  839 + \item Second item
  840 + \begin{enumerate}
  841 + \item First nested item
  842 + \item Second nested item
  843 + \end{enumerate}
  844 + \item Third item
  845 +\end{enumerate}
  846 +\end{verbatim}
  847 +{\itshape Sample Output}
  848 + \begin{enumerate}
  849 +\item First item
  850 +\item Second item
  851 + \begin{enumerate}
  852 + \item First nested item
  853 + \item Second nested item
  854 + \end{enumerate}
  855 +\item Third item
  856 +\end{enumerate}
  857 +%
  858 +\section {Figures}
  859 +%
  860 +Figure environments should be inserted after (not in)
  861 +the paragraph in which the figure is first mentioned.
  862 +They will be numbered automatically.
  863 +
  864 +Preferably the images should be enclosed as PostScript files -- best as
  865 +EPS data using the epsfig package.
  866 +
  867 +If you cannot include them into your output this way and use other
  868 +techniques for a separate production,
  869 +the figures (line drawings and those containing halftone inserts
  870 +as well as halftone figures) {\em should not be pasted into your
  871 +laserprinter output}. They should be enclosed separately in camera-ready
  872 +form (original artwork, glossy prints, photographs and/or slides). The
  873 +lettering should be suitable for reproduction, and after a
  874 +probably necessary reduction the height of capital letters should be at
  875 +least 1.8\,mm and not more than 2.5\,mm.
  876 +Check that lines and other details are uniformly black and
  877 +that the lettering on figures is clearly legible.
  878 +
  879 +To leave the desired amount of space for the height of
  880 +your figures, please use the coding described below.
  881 +As can be seen in the output, we will automatically
  882 +provide 1\,cm space above and below the figure,
  883 +so that you should only leave the space equivalent to the size of the
  884 +figure itself. Please note that ``\verb|x|'' in the following
  885 +coding stands for the actual height of the figure:
  886 +\begin{verbatim}
  887 +\begin{figure}
  888 +\vspace{x cm}
  889 +\caption[ ]{...text of caption...} (Do type [ ])
  890 +\end{figure}
  891 +\end{verbatim}
  892 +\begin{flushleft}
  893 +{\itshape Sample Input}
  894 +\end{flushleft}
  895 +\begin{verbatim}
  896 +\begin{figure}
  897 +\vspace{2.5cm}
  898 +\caption{This is the caption of the figure displaying a white
  899 +eagle and a white horse on a snow field}
  900 +\end{figure}
  901 +\end{verbatim}
  902 +\begin{flushleft}
  903 +{\itshape Sample Output}
  904 +\end{flushleft}
  905 +\begin{figure}
  906 +\vspace{2.5cm}
  907 +\caption{This is the caption of the figure displaying a white eagle and
  908 +a white horse on a snow field}
  909 +\end{figure}
  910 +%
  911 +\section{Tables}
  912 +%
  913 +Table captions should be treated
  914 +in the same way as figure legends, except that
  915 +the table captions appear {\itshape above} the tables. The tables
  916 +will be numbered automatically.
  917 +%
  918 +\subsection{Tables Coded with \protect\LaTeX{}}
  919 +%
  920 +Please use the following coding:\\[2mm]
  921 +{\itshape Sample Input}
  922 +\begin{verbatim}
  923 +\begin{table}
  924 +\caption{Critical $N$ values}
  925 +\begin{tabular}{llllll}
  926 +\hline\noalign{\smallskip}
  927 +${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$
  928 + & $N_{\mathrm{crit}}^{\mathrm L}$
  929 + & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\
  930 +\noalign{\smallskip}
  931 +\hline
  932 +\noalign{\smallskip}
  933 + 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\
  934 + 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\
  935 +120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\
  936 +\hline
  937 +\end{tabular}
  938 +\end{table}
  939 +\end{verbatim}
  940 +
  941 +\medskip\noindent{\itshape Sample Output}
  942 +\begin{table}
  943 +\caption{Critical $N$ values}
  944 +\begin{center}
  945 +\renewcommand{\arraystretch}{1.4}
  946 +\setlength\tabcolsep{3pt}
  947 +\begin{tabular}{llllll}
  948 +\hline\noalign{\smallskip}
  949 +${\mathrm M}_\odot$ & $\beta_{0}$ & $T_{\mathrm c6}$ & $\gamma$
  950 + & $N_{\mathrm{crit}}^{\mathrm L}$
  951 + & $N_{\mathrm{crit}}^{\mathrm{Te}}$\\
  952 +\noalign{\smallskip}
  953 +\hline
  954 +\noalign{\smallskip}
  955 + 30 & 0.82 & 38.4 & 35.7 & 154 & 320 \\
  956 + 60 & 0.67 & 42.1 & 34.7 & 138 & 340 \\
  957 +120 & 0.52 & 45.1 & 34.0 & 124 & 370 \\
  958 +\hline
  959 +\end{tabular}
  960 +\end{center}
  961 +\end{table}
  962 +
  963 +Before continuing your text you need an empty line. \dots
  964 +
  965 +\vspace{3mm}
  966 +For further information you will find a complete description of
  967 +the tabular environment
  968 +on p.~62~ff. and p.~204 of the {\em \LaTeX{} User's Guide \& Reference
  969 +Manual\/} by Leslie Lamport.
  970 +%
  971 +\subsection{Tables Not Coded with \protect\LaTeX{}}
  972 +%
  973 +If you do not wish to code your table using \LaTeX{}
  974 +but prefer to have it reproduced separately,
  975 +proceed as for figures and use the following coding:\\[2mm]
  976 +{\itshape Sample Input}
  977 +\begin{verbatim}
  978 +\begin{table}
  979 +\caption{text of your caption}
  980 +\vspace{x cm} % the actual height needed for your table
  981 +\end{table}
  982 +\end{verbatim}
  983 +%
  984 +\subsection{Signs and Characters}
  985 +%
  986 +\subsubsection*{Special Signs.}
  987 +%
  988 +You may need to use special signs. The available ones are listed in the
  989 +{\em \LaTeX{} User's Guide \& Reference Manual\/} by Leslie Lamport,
  990 +pp.~41\,ff.
  991 +We have created further symbols for math mode (enclosed in \$):
  992 +\begin{center}
  993 +\begin{tabular}{l@{\hspace{1em}yields\hspace{1em}}
  994 +c@{\hspace{3em}}l@{\hspace{1em}yields\hspace{1em}}c}
  995 +\verb|\grole| & $\grole$ & \verb|\getsto| & $\getsto$\\
  996 +\verb|\lid| & $\lid$ & \verb|\gid| & $\gid$
  997 +\end{tabular}
  998 +\end{center}
  999 +%
  1000 +\subsubsection*{Gothic (Fraktur).}
  1001 +%
  1002 +If gothic letters are {\itshape necessary}, please use those of the
  1003 +relevant \AmSTeX{} alphabet which are available using the amstex
  1004 +package of the American Mathematical Society.
  1005 +
  1006 +In \LaTeX{} only the following gothic letters are available:
  1007 +\verb|$\Re$| yields $\Re$ and \verb|$\Im$| yields $\Im$. These should
  1008 +{\itshape not\/} be used when you need gothic letters for your contribution.
  1009 +Use \AmSTeX{} gothic as explained above. For the real and the imaginary
  1010 +parts of a complex number within math mode you should use instead:
  1011 +\verb|$\mathrm{Re}$| (which yields Re) or \verb|$\mathrm{Im}$| (which
  1012 +yields Im).
  1013 +%
  1014 +\subsubsection*{Script.}
  1015 +%
  1016 +For script capitals use the coding
  1017 +\begin{center}
  1018 +\begin{tabular}{l@{\hspace{1em}which yields\hspace{1em}}c}
  1019 +\verb|$\mathcal{AB}$| & $\mathcal{AB}$
  1020 +\end{tabular}
  1021 +\end{center}
  1022 +(see p.~42 of the \LaTeX{} book).
  1023 +%
  1024 +\subsubsection*{Special Roman.}
  1025 +%
  1026 +If you need other symbols than those below, you could use
  1027 +the blackboard bold characters of \AmSTeX{}, but there might arise
  1028 +capacity problems
  1029 +in loading additional \AmSTeX{} fonts. Therefore we created
  1030 +the blackboard bold characters listed below.
  1031 +Some of them are not esthetically
  1032 +satisfactory. This need not deter you from using them:
  1033 +in the final printed form they will be
  1034 +replaced by the well-designed MT (monotype) characters of
  1035 +the phototypesetting machine.
  1036 +\begin{flushleft}
  1037 +\begin{tabular}{@{}ll@{ yields }
  1038 +c@{\hspace{1.em}}ll@{ yields }c}
  1039 +\verb|\bbbc| & (complex numbers) & $\bbbc$
  1040 + & \verb|\bbbf| & (blackboard bold F) & $\bbbf$\\
  1041 +\verb|\bbbh| & (blackboard bold H) & $\bbbh$
  1042 + & \verb|\bbbk| & (blackboard bold K) & $\bbbk$\\
  1043 +\verb|\bbbm| & (blackboard bold M) & $\bbbm$
  1044 + & \verb|\bbbn| & (natural numbers N) & $\bbbn$\\
  1045 +\verb|\bbbp| & (blackboard bold P) & $\bbbp$
  1046 + & \verb|\bbbq| & (rational numbers) & $\bbbq$\\
  1047 +\verb|\bbbr| & (real numbers) & $\bbbr$
  1048 + & \verb|\bbbs| & (blackboard bold S) & $\bbbs$\\
  1049 +\verb|\bbbt| & (blackboard bold T) & $\bbbt$
  1050 + & \verb|\bbbz| & (whole numbers) & $\bbbz$\\
  1051 +\verb|\bbbone| & (symbol one) & $\bbbone$
  1052 +\end{tabular}
  1053 +\end{flushleft}
  1054 +\begin{displaymath}
  1055 +\begin{array}{c}
  1056 +\bbbc^{\bbbc^{\bbbc}} \otimes
  1057 +\bbbf_{\bbbf_{\bbbf}} \otimes
  1058 +\bbbh_{\bbbh_{\bbbh}} \otimes
  1059 +\bbbk_{\bbbk_{\bbbk}} \otimes
  1060 +\bbbm^{\bbbm^{\bbbm}} \otimes
  1061 +\bbbn_{\bbbn_{\bbbn}} \otimes
  1062 +\bbbp^{\bbbp^{\bbbp}}\\[2mm]
  1063 +\otimes
  1064 +\bbbq_{\bbbq_{\bbbq}} \otimes
  1065 +\bbbr^{\bbbr^{\bbbr}} \otimes
  1066 +\bbbs^{\bbbs_{\bbbs}} \otimes
  1067 +\bbbt^{\bbbt^{\bbbt}} \otimes
  1068 +\bbbz \otimes
  1069 +\bbbone^{\bbbone_{\bbbone}}
  1070 +\end{array}
  1071 +\end{displaymath}
  1072 +%
  1073 +\section{References}
  1074 +\label{refer}
  1075 +%
  1076 +There are three reference systems available; only one, of course,
  1077 +should be used for your contribution. With each system (by
  1078 +number only, by letter-number or by author-year) a reference list
  1079 +containing all citations in the
  1080 +text, should be included at the end of your contribution placing the
  1081 +\LaTeX{} environment \verb|thebibliography| there.
  1082 +For an overall information on that environment
  1083 +see the {\em \LaTeX{} User's Guide \& Reference
  1084 +Manual\/} by Leslie Lamport, p.~71.
  1085 +
  1086 +There is a special {\sc Bib}\TeX{} style for LLNCS that works along
  1087 +with the class: \verb|splncs.bst|
  1088 +-- call for it with a line \verb|\bibliographystyle{splncs}|.
  1089 +If you plan to use another {\sc Bib}\TeX{} style you are customed to,
  1090 +please specify the option \verb|[oribibl]| in the
  1091 +\verb|documentclass| line, like:
  1092 +\begin{verbatim}
  1093 +\documentclass[oribibl]{llncs}
  1094 +\end{verbatim}
  1095 +This will retain the original \LaTeX{} code for the bibliographic
  1096 +environment and the \verb|\cite| mechanism that many {\sc Bib}\TeX{}
  1097 +applications rely on.
  1098 +%
  1099 +\subsection{References by Letter-Number or by Number Only}
  1100 +%
  1101 +References are cited in the text -- using the \verb|\cite|
  1102 +command of \LaTeX{} -- by number or by letter-number in square
  1103 +brackets, e.g.\ [1] or [E1, S2], [P1], according to your use of the
  1104 +\verb|\bibitem| command in the \verb|thebibliography| environment. The
  1105 +coding is as follows: if you choose your own label for the sources by
  1106 +giving an optional argument to the \verb|\bibitem| command the citations
  1107 +in the text are marked with the label you supplied. Otherwise a simple
  1108 +numbering is done, which is preferred.
  1109 +\begin{verbatim}
  1110 +The results in this section are a refined version
  1111 +of \cite{clar:eke}; the minimality result of Proposition~14
  1112 +was the first of its kind.
  1113 +\end{verbatim}
  1114 +The above input produces the citation: ``\dots\ refined version of
  1115 +[CE1]; the min\-i\-mality\dots''. Then the \verb|\bibitem| entry of
  1116 +the \verb|thebibliography| environment should read:
  1117 +\begin{verbatim}
  1118 +\begin{thebibliography}{[MT1]}
  1119 +.
  1120 +.
  1121 +\bibitem[CE1]{clar:eke}
  1122 +Clarke, F., Ekeland, I.:
  1123 +Nonlinear oscillations and boundary-value problems for
  1124 +Hamiltonian systems.
  1125 +Arch. Rat. Mech. Anal. 78, 315--333 (1982)
  1126 +.
  1127 +.
  1128 +\end{thebibliography}
  1129 +\end{verbatim}
  1130 +The complete bibliography looks like this:
  1131 +%
  1132 +\begin{thebibliography}{[MT1]}
  1133 +%
  1134 +\bibitem[CE1]{clar:eke}
  1135 +Clarke, F., Ekeland, I.:
  1136 +Nonlinear oscillations and
  1137 +boundary-value problems for Hamiltonian systems.
  1138 +Arch. Rat. Mech. Anal. 78, 315--333 (1982)
  1139 +%
  1140 +\bibitem[CE2]{clar:eke:2}
  1141 +Clarke, F., Ekeland, I.:
  1142 +Solutions p\'{e}riodiques, du
  1143 +p\'{e}riode donn\'{e}e, des \'{e}quations hamiltoniennes.
  1144 +Note CRAS Paris 287, 1013--1015 (1978)
  1145 +%
  1146 +\bibitem[MT1]{mich:tar}
  1147 +Michalek, R., Tarantello, G.:
  1148 +Subharmonic solutions with prescribed minimal
  1149 +period for nonautonomous Hamiltonian systems.
  1150 +J. Diff. Eq. 72, 28--55 (1988)
  1151 +%
  1152 +\bibitem[Ta1]{tar}
  1153 +Tarantello, G.:
  1154 +Subharmonic solutions for Hamiltonian
  1155 +systems via a $\bbbz_{p}$ pseudoindex theory.
  1156 +Annali di Matematica Pura (to appear)
  1157 +%
  1158 +\bibitem[Ra1]{rab}
  1159 +Rabinowitz, P.:
  1160 +On subharmonic solutions of a Hamiltonian system.
  1161 +Comm. Pure Appl. Math. 33, 609--633 (1980)
  1162 +\end{thebibliography}
  1163 +%
  1164 +\subsubsection*{Number-Only System.}
  1165 +%
  1166 +For this preferred system do not use the optional argument
  1167 +in the \verb|\bibitem| command: then, only numbers will
  1168 +appear for the citations in the text (enclosed in square brackets)
  1169 +as well as for the marks in your
  1170 +bibliography (here the number is only end-punctuated without
  1171 +square brackets).
  1172 +
  1173 +Subsequent citation numbers in the text are collapsed to ranges.
  1174 +Non-numeric and undefined labels are handled correctly but no sorting is
  1175 +done.
  1176 +
  1177 +E.g., \verb|\cite{n1,n3,n2,n3,n4,n5,foo,n1,n2,n3,?,n4,n5}| -- where
  1178 +\verb|n|$x$ is the key of the $x^{\mathrm{th}}$ \verb|\bibitem|
  1179 +command in sequence, \verb|foo| is the key of a \verb|\bibitem| with an
  1180 +optional argument, and \verb|?| is an undefined reference -- gives
  1181 +1,3,2-5,foo,1-3,?,4,5 as the citation reference.
  1182 +
  1183 +\begin{verbatim}
  1184 +\begin{thebibliography}{1}
  1185 +\bibitem {clar:eke}
  1186 +Clarke, F., Ekeland, I.:
  1187 +Nonlinear oscillations and boundary-value problems for
  1188 +Hamiltonian systems.
  1189 +Arch. Rat. Mech. Anal. 78, 315--333 (1982)
  1190 +\end{thebibliography}
  1191 +\end{verbatim}
  1192 +%
  1193 +\subsection{Author-Year System}
  1194 +%
  1195 +References are cited in the text by name and year in parentheses
  1196 +and should look as follows:
  1197 +(Smith 1970, 1980), (Ekeland et al. 1985, Theorem 2), (Jones and Jaffe
  1198 +1986; Farrow 1988, Chap.\,2). If the name is part of the sentence
  1199 +only the year may appear in parentheses,
  1200 +e.g.\ Ekeland et al. (1985, Sect.\,2.1)
  1201 +The reference list should contain all citations occurring in the text,
  1202 +ordered alphabetically by surname (with initials following). If there
  1203 +are several works by the same author(s) the references should be listed
  1204 +in the appropriate order indicated below:
  1205 +\begin{alpherate}
  1206 +\setlength{\hfuzz}{5pt}
  1207 +\item
  1208 +One author: list works chronologically;
  1209 +\item
  1210 +Author and same co-author(s): list works chronologically;
  1211 +\item
  1212 +Author and different co-authors: list works alphabetically
  1213 +according to co-authors.
  1214 +\end{alpherate}
  1215 +If there are several works by the same author(s) and in the same year,
  1216 +but which are cited separately, they should be distinguished by the use
  1217 +of ``a'', ``b'' etc., e.g.\ (Smith 1982a), (Ekeland et al. 1982b).
  1218 +%
  1219 +\subsubsection*{How to Code Author-Year System.}
  1220 +%
  1221 +If you want to use this system you have to specify the option
  1222 +\verb|[citeauthoryear]| in the \verb|documentclass|, like:
  1223 +\begin{verbatim}
  1224 +\documentclass[citeauthoryear]{llncs}
  1225 +\end{verbatim}
  1226 +Write your citations in the text explicitly except for the year, leaving
  1227 +that up to \LaTeX{} with the \verb|\cite| command. Then give only the
  1228 +appropriate year as the optional argument (i.e. the label in square
  1229 +brackets) with the \verb|\bibitem| command(s).\\[2mm]
  1230 +{\itshape Sample Input}
  1231 +\begin{verbatim}
  1232 +The results in this section are a refined version
  1233 +of Clarke and Ekeland (\cite{clar:eke}); the minimality result of
  1234 +Proposition~14 was the first of its kind.
  1235 +\end{verbatim}
  1236 +The above input produces the citation: ``\dots\ refined version of
  1237 +Clarke and Ekeland (1982); the minimality\dots''. Then the
  1238 +\verb|\bibitem| entry of \verb|clar:eke| in the \verb|thebibliography|
  1239 +environment should read:
  1240 +\begin{verbatim}
  1241 +\begin{thebibliography}{} % (do not forget {})
  1242 +.
  1243 +.
  1244 +\bibitem[1982]{clar:eke}
  1245 +Clarke, F., Ekeland, I.:
  1246 +Nonlinear oscillations and boundary-value problems for
  1247 +Hamiltonian systems.
  1248 +Arch. Rat. Mech. Anal. 78, 315--333 (1982)
  1249 +.
  1250 +.
  1251 +\end{thebibliography}
  1252 +\end{verbatim}
  1253 +{\itshape Sample Output}
  1254 +\bibauthoryear
  1255 +%
  1256 +\end{document}
... ...
OSS-2017/llncsdoc.sty 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +% This is LLNCSDOC.STY the modification of the
  2 +% LLNCS class file for the documentation of
  3 +% the class itself.
  4 +%
  5 +\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}%
  6 + A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
  7 +\def\AmSTeX{{\protect\AmS-\protect\TeX}}
  8 +%
  9 +\def\ps@myheadings{\let\@mkboth\@gobbletwo
  10 +\def\@oddhead{\hbox{}\hfil\small\rm\rightmark
  11 +\qquad\thepage}%
  12 +\def\@oddfoot{}\def\@evenhead{\small\rm\thepage\qquad
  13 +\leftmark\hfil}%
  14 +\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}}
  15 +\ps@myheadings
  16 +%
  17 +\setcounter{tocdepth}{2}
  18 +%
  19 +\renewcommand{\labelitemi}{--}
  20 +\newenvironment{alpherate}%
  21 +{\renewcommand{\labelenumi}{\alph{enumi})}\begin{enumerate}}%
  22 +{\end{enumerate}\renewcommand{\labelenumi}{enumi}}
  23 +%
  24 +\def\bibauthoryear{\begingroup
  25 +\def\thebibliography##1{\section*{References}%
  26 + \small\list{}{\settowidth\labelwidth{}\leftmargin\parindent
  27 + \itemindent=-\parindent
  28 + \labelsep=\z@
  29 + \usecounter{enumi}}%
  30 + \def\newblock{\hskip .11em plus .33em minus -.07em}%
  31 + \sloppy
  32 + \sfcode`\.=1000\relax}%
  33 + \def\@cite##1{##1}%
  34 + \def\@lbibitem[##1]##2{\item[]\if@filesw
  35 + {\def\protect####1{\string ####1\space}\immediate
  36 + \write\@auxout{\string\bibcite{##2}{##1}}}\fi\ignorespaces}%
  37 +\begin{thebibliography}{}
  38 +\bibitem[1982]{clar:eke3} Clarke, F., Ekeland, I.: Nonlinear
  39 +oscillations and boundary-value problems for Hamiltonian systems.
  40 +Arch. Rat. Mech. Anal. 78, 315--333 (1982)
  41 +\end{thebibliography}
  42 +\endgroup}
... ...
OSS-2017/remreset.sty 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +
  2 +% remreset package
  3 +%%%%%%%%%%%%%%%%%%
  4 +
  5 +% Copyright 1997 David carlisle
  6 +% This file may be distributed under the terms of the LPPL.
  7 +% See 00readme.txt for details.
  8 +
  9 +% 1997/09/28 David Carlisle
  10 +
  11 +% LaTeX includes a command \@addtoreset that is used to declare that
  12 +% a counter should be reset every time a second counter is incremented.
  13 +
  14 +% For example the book class has a line
  15 +% \@addtoreset{footnote}{chapter}
  16 +% So that the footnote counter is reset each chapter.
  17 +
  18 +% If you wish to bas a new class on book, but without this counter
  19 +% being reset, then standard LaTeX gives no simple mechanism to do
  20 +% this.
  21 +
  22 +% This package defines |\@removefromreset| which just undoes the effect
  23 +% of \@addtorest. So for example a class file may be defined by
  24 +
  25 +% \LoadClass{book}
  26 +% \@removefromreset{footnote}{chapter}
  27 +
  28 +
  29 +\def\@removefromreset#1#2{{%
  30 + \expandafter\let\csname c@#1\endcsname\@removefromreset
  31 + \def\@elt##1{%
  32 + \expandafter\ifx\csname c@##1\endcsname\@removefromreset
  33 + \else
  34 + \noexpand\@elt{##1}%
  35 + \fi}%
  36 + \expandafter\xdef\csname cl@#2\endcsname{%
  37 + \csname cl@#2\endcsname}}}
  38 +
  39 +
... ...
OSS-2017/spb.bib 0 → 100644
... ... @@ -0,0 +1,37 @@
  1 +@article{naur1969software,
  2 + title={NATO},
  3 + author={Naur, Peter and Randell, Brian},
  4 + year={1969}
  5 +}
  6 +
  7 +@phdthesis{meirelles2013monitoramento,
  8 + title={Monitoramento de m{\'e}tricas de c{\'o}digo-fonte em projetos de software livre},
  9 + author={Meirelles, Paulo Roberto Miranda},
  10 + year={2013},
  11 + school={Universidade de S{\~a}o Paulo},
  12 + url={http://www.teses.usp.br/teses/disponiveis/45/45134/tde-27082013-090242/pt-br.php}
  13 +}
  14 +
  15 +@article{meirelles2009crab,
  16 + title={Crab: Uma software para avalia{\c{c}}{\~a}o de qualidade de c{\'o}digo},
  17 + author={Meirellesunes, Paulo and Challco, Geiser and Morais, Eduardo and Kon, Fabio},
  18 + journal={XXIII SBES-Simp{\'o}sio Brasileiro de Engenharia de Software (XVI Sess{\~a}o de Ferramentas). Citado na p{\'a}g},
  19 + volume={33},
  20 + year={2009}
  21 +}
  22 +
  23 +@mastersthesis{de2013kalibro,
  24 + title={Kalibro: interpreta{\c{c}}{\~a}o de m{\'e}tricas de c{\'o}digo-fonte},
  25 + author={de Oliveira Filho, Carlos Morais},
  26 + year={2013},
  27 + school={Universidade de S{\~a}o Paulo}
  28 +}
  29 +
  30 +@inproceedings{terceiro2010analizo,
  31 + title={Analizo: an extensible multi-language source code analysis and visualization toolkit},
  32 + author={Terceiro, ulo and Rios, Luiz Rom{\'a}rio and Almeida, Lucianna and Chavez, Christina and Kon, Fabio},
  33 + booktitle={Brazilian Conference on Software: Theory and Practice (CBSoft)--Tools, Salvador-Brazil},
  34 + volume={29},
  35 + year={2010}
  36 +}
  37 +
... ...
OSS-2017/spb.tex 0 → 100644
... ... @@ -0,0 +1,211 @@
  1 +\documentclass{llncs}
  2 +
  3 +\usepackage{llncsdoc}
  4 +\usepackage{graphicx,url}
  5 +\usepackage[utf8]{inputenc}
  6 +\usepackage{float}
  7 +\usepackage{setspace}
  8 +
  9 +\usepackage{tabularx}
  10 +\usepackage{cite}
  11 +\usepackage{hyperref}
  12 +
  13 +%------------------------------------------------------------------------------
  14 +
  15 +\begin{document}
  16 +\sloppy
  17 +\title{Brazilian Public Software Portal: an integrated platform for collaborative development}
  18 +
  19 +\titlerunning{Brazilian Public Software}
  20 +
  21 +\author{Paulo Meirelles\inst{1,2}, Himer Neri\inst{1}, Antonio Terceiro\inst{1}\\
  22 + Lucas Kanashiro\inst{2}, Melissa Wen\inst{1}}
  23 +
  24 +\authorrunning{Meirelles et al.}
  25 +
  26 +\institute{UnB Faculty in Gama -- University of Bras\'ilia\\
  27 + \'Area Especial de Ind\'ustria Proje\c{c}\~ao A, Setor Leste, Gama, DF, Brazil \\
  28 + \texttt{\{paulormm,hilmer\}@unb.br \\
  29 + terceiro@softwarelivre.org, melissa.srw@gmail.com}
  30 +\and FLOSS Competence Center -- University of S\~ao Paulo \\
  31 + Rua do Mat\~ao, 1010, S\~ao Paulo, SP, Brazil\\
  32 + \texttt{lkd@ime.usp.br}
  33 +%\and QA Services Team -- Linaro Limited \\
  34 +% \texttt{terceiro@linaro.org}
  35 +}
  36 +
  37 +
  38 +\maketitle
  39 +%------------------------------------------------------------------------------
  40 +
  41 +\begin{abstract}
  42 + % Contexto
  43 + % Problema
  44 + % Soluções propostas
  45 + % Frase de impacto
  46 +\end{abstract}
  47 +
  48 +\section{Introduction}
  49 +\label{sec:intro}
  50 +
  51 +Governo Federal vem nos últimos anos melhorando seus processos de
  52 +desenvolvimento e adoção de software. Em 2003, a recomendação da adoção de
  53 +software livre passou a ser uma política, incentivada com a criação do Guia
  54 +Livre. Em 2007, a Secretaria de Logística e Tecnologia da Informação (SLTI) do
  55 +Ministério do Planejamento, Orçamento e Gestão (MP) lançou o portal do Software
  56 +Público Brasileiro (SPB) -- um sistema web para o compartilhamento de projetos
  57 +de software no Governo.
  58 +
  59 +Por um lado, a Instrução Normativa 04/2012 indica que os gestores devem
  60 +consultar as soluções existentes no portal do SPB antes de realizar uma
  61 +contratação de software. Por outro, a evolução técnica do portal do SPB foi
  62 +comprometida, desde 2009, ao não acompanhar a evolução do seu framework base, o
  63 +OpenACS. Não houve o lançamento de novas versões do portal desde então.
  64 +
  65 +Uma nova plataforma para o SPB está sendo desenvolvida pela Universidade de
  66 +Brasília, através dos seus Laboratórios LAPPIS e MídiaLab em parceria com o
  67 +Centro de Competência em Software Livre da Universidade de São Paulo
  68 +(CCSL-USP). A nova plataforma é baseada na integração de ambientes
  69 +colaborativos, sistemas de controle de versão e de monitoramento da qualidade
  70 +do código-fonte, e está sendo desenvolvida por uma equipe heterogênea composta
  71 +por alunos, professores e profissionais, aplicando métodos ágeis e práticas de
  72 +desenvolvimento distribuído de software.
  73 +
  74 +\section{Platform for collaborative software development}
  75 +
  76 +O conceito de software público se diferencia do de software livre em alguns
  77 +aspectos, destacando-se a atribuição de bem público ao software. Isso significa
  78 +que o Governo, especificamente o MP, assume algumas responsabilidades que
  79 +garantem ao usuário do software, em especial os órgãos públicos, condições
  80 +adequadas de uso. Embora haja diferenças entre o que é um software livre e um
  81 +software público brasileiro, há princípios comuns como a tendência da
  82 +descentralização na tomada de decisões, do compartilhamento de informações e da
  83 +retroalimentação. Por isso, a nova plataforma para o SPB foi pensada para
  84 +contemplar ferramentas que promovam a colaboração e a interação nas comunidades
  85 +(por gestores, usuários e desenvolvedores) dos projetos, conforme as práticas
  86 +usadas nas comunidades de software livre. Isso inclui listas de e-mail, fóruns
  87 +de discussão, issue trackers, sistemas de controle de versão e ambientes de
  88 +rede social.
  89 +
  90 +Para integrar as ferramentas e prover a autenticação única nos serviços da
  91 +plataforma, um sistema web chamado Colab, que funcionada como proxy reverso
  92 +para os ambientes, está sendo evoluído. Em resumo, o Colab oferece a integração
  93 +de busca, autenticação e apresentação, provendo um único ambiente ao usuário
  94 +que tem em seu perfil algumas métricas de contribuições (e-mails para listas,
  95 +inserções em wikis, cadastros de issue e commits nos repositórios).
  96 +
  97 +O Colab foi desenvolvido para o Interlegis (programa do Senado Federal). Por
  98 +padrão, funciona integrado com o servidor de listas de e-mail GNU Mailman e
  99 +utiliza o Apache Lucene Solr para a indexação dos conteúdos para as buscas. A
  100 +partir de 2014, as ferramentas GitLab e Noosfero foram integradas ao Colab para
  101 +compor o novo SPB.
  102 +
  103 +O GitLab é uma plataforma de desenvolvimento colaborativo social integrada ao
  104 +sistema de controle de versão Git. É o ambiente mais técnico: os repositórios
  105 +dos projetos do SPB, com páginas wiki, issue tracker e mecanismos de controle
  106 +de versão de código estão nele. O Noosfero é uma plataforma para rede social e
  107 +de economia solidária que contém funcionalidades de gerenciamento de conteúdos
  108 +(CMS), além de permitir a configuração das páginas de usuários e de comunidades
  109 +de forma flexível. É o ambiente de maior interação com o usuário do SPB, desde
  110 +os cadastros até o acesso às páginas dos projetos para download, leitura de
  111 +documentação e contato com os responsáveis.
  112 +
  113 +A integração dessas ferramentas não está totalmente completa, pois demanda a
  114 +solução de questões complexas de arquitetura de software. O que foi
  115 +desenvolvido em 2014 está funcional e já supera o antigo portal do SPB em
  116 +muitos aspectos. Em 2015, os perfis das diferentes ferramentas estão sendo
  117 +integrados de modo que o usuário o gerencie em um único lugar. Os controles de
  118 +acesso e a gestão de permissões também estão evoluindo. O mecanismo de coleta
  119 +de dados e busca está sendo refatorado para acessar os conteúdos das novas
  120 +ferramentas integradas ao Colab. Além disso, o Mezuro, um sistema para o
  121 +monitoramento de métricas de código-fonte, está sendo acoplado ao Colab para
  122 +fornecer acompanhamento da qualidade do código dos projetos.
  123 +
  124 +A integração dos ambientes colaborativos vai além dos aspectos funcionais.
  125 +Oferecer à população uma experiência unificada desses ambientes é fundamental
  126 +para estimular o uso da plataforma, uma vez que reduz a percepção de
  127 +complexidade.
  128 +
  129 +Assim, a arquitetura da informação está sendo redesenhada para proporcionar uma
  130 +navegação transparente e que atenda aos diversos tipos de usuário. Os modelos
  131 +de interação de cada ferramenta estão sendo harmonizados, diminuindo a curva de
  132 +aprendizado. Ao mesmo tempo, um novo estilo visual está sendo criado para
  133 +apresentar essa experiência unificada e para atender as diretrizes de
  134 +Identidade Padrão de Comunicação Digital do Governo Federal.
  135 +
  136 +Os usuários fazem parte do processo. Em 2014, foi aplicado um questionário para
  137 +avaliar a satisfação das pessoas com o portal antigo e identificar problemas de
  138 +experiência do usuário. Em 2015, estão previstas pelo menos 4 atividades de
  139 +validação da nova plataforma com usuários e cidadãos interessados.
  140 +
  141 +\section{Architecture}
  142 +
  143 +Um proxy reverso trata requisições HTTP e as direciona para uma segunda
  144 +máquina, onde são distribuidas para os serviços solicitados. Todos os bancos de
  145 +dados relevantes estão concentrados em uma única máquina e todos os emails
  146 +disparados pelo sistema partem de um mesmo relay.
  147 +
  148 +O ambiente é composto por 7 máquinas com funções distintas:
  149 +
  150 +\begin{itemize}
  151 +
  152 +\item Reverseproxy: Proxy reverso
  153 +\item Integration: Segundo proxy reverso, Repositórios Git, Listas de email e Backend final de email
  154 +\item Email: Relay de email
  155 +\item Social: Servidor de rede social Noosfero
  156 +\item Database: Servidor de banco de dados PostgreSQL
  157 +\item Mezuro: Servidor de análise de código Mezuro
  158 +\item Monitor: Monitoramento de informações dos outros serviços
  159 +
  160 +\end{itemize}
  161 +
  162 +As máquinas Reverseproxy, Email e Monitor possuem IP’s externos. Reverseproxy
  163 +recebe requisições HTTP/HTTPS (portas 80 e 443) e possibilita que usuários
  164 +utilizem os repositórios git (porta 22). Email recebe emails (porta 25) e
  165 +enviar emails para fora da plataforma. Monitor recebe requisições HTTP/HTTPS
  166 +(portas 80 e 443). Os IP’s variam de acordo com o ambiente.
  167 +
  168 +Conexões na porta 22 da máquina reverseproxy são redirecionadas para
  169 +integration. Todas as máquinas aceitam conexões ssh originadas apenas da
  170 +máquina integration, ou seja, não é possível realizar conexões ssh nas demais
  171 +máquinas se a conexão não for originada da integration. As máquinas email,
  172 +social, database e mezuro aceitam conexão ssh vindas da integration na porta 22
  173 +e a reverseproxy em uma porta alternativa, especificada no arquivo de
  174 +configuração do ambiente, config/\$SPB\_ENV/config.yaml pelo valor
  175 +alt\_ssh\_port.
  176 +
  177 +Note que, como será demonstrado neste manual, existem atalhos definidos no
  178 +repositório de gestão de configuração para simplificar o acesso por ssh às
  179 +máquinas. Internamente, as máquinas integration e social também rodam web
  180 +servers para servirem suas aplicações. Por fim, as máquinas integration e
  181 +social conectam-se em database usando a porta 5432 para acesso aos bancos de
  182 +dados.
  183 +
  184 +\section{Final remarks}
  185 +
  186 +A nova plataforma do SPB foi lançada para homologação em dezembro de 2014 e
  187 +está em uso por algumas comunidades em beta.softwarepublico.gov.br. Todas as
  188 +ferramentas são software livre e o que está sendo desenvolvido pelas equipes da
  189 +UnB e USP é publicado em repositórios abertos, disponíveis na versão beta do
  190 +próprio SPB. Mais importante do que isso, as melhorias necessárias nas
  191 +ferramentas utilizadas estão sendo contribuídas de volta para as respectivas
  192 +comunidades. Isso não só é o certo a se fazer do ponto de vista da comunidade
  193 +de software livre, como vai possibilitar a redução de custos de manutenção no
  194 +futuro para os cofres públicos e a evolução continuada da plataforma em
  195 +sinergia com outras organizações que fazem uso das mesmas ferramentas.
  196 +
  197 +Disponibilizar um conjunto de ferramentas e melhorar a experiência do usuário
  198 +no ambiente é parte desse processo de reformulação do SPB. Aspectos culturais
  199 +da colaboração em rede para um efetivo uso do o que é fornecido na plataforma
  200 +necessitam ser amadurecidos pelo MP junto às comunidades do SPB. Além disso, a
  201 +demanda por maior impacto do software público na oferta de software, na adoção
  202 +das soluções disponibilizadas e na atração de colaboradores e usuários requer
  203 +intervenção. Um estudo para propostas de licenciamento e seus impactos para o
  204 +SPB, bem como para sanar as contradições presentes na Instrução Normativa
  205 +01/2011 (que dispõe sobre os procedimentos do SPB), também está sendo conduzido
  206 +pela UnB para complementar o que está sendo desenvolvido do ponto de vista
  207 +tecnológico.
  208 +
  209 +\bibliographystyle{splncs03}
  210 +\bibliography{spb}
  211 +\end{document}
... ...
OSS-2017/splncs03.bst 0 → 100644
... ... @@ -0,0 +1,1519 @@
  1 +%% BibTeX bibliography style `splncs03'
  2 +%%
  3 +%% BibTeX bibliography style for use with numbered references in
  4 +%% Springer Verlag's "Lecture Notes in Computer Science" series.
  5 +%% (See Springer's documentation for llncs.cls for
  6 +%% more details of the suggested reference format.) Note that this
  7 +%% file will not work for author-year style citations.
  8 +%%
  9 +%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite
  10 +%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text.
  11 +%%
  12 +%% This file comes to you courtesy of Maurizio "Titto" Patrignani of
  13 +%% Dipartimento di Informatica e Automazione Universita' Roma Tre
  14 +%%
  15 +%% ================================================================================================
  16 +%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009
  17 +%% Edited by hand by titto based on `titto-lncs-01.bst' (see below)
  18 +%%
  19 +%% CHANGES (with respect to titto-lncs-01.bst):
  20 +%% - Removed the call to \urlprefix (thus no "URL" string is added to the output)
  21 +%% ================================================================================================
  22 +%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008
  23 +%% Edited by hand by titto based on `titto.bst' (see below)
  24 +%%
  25 +%% CHANGES (with respect to titto.bst):
  26 +%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)"
  27 +%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.")
  28 +%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings
  29 +%% - Commented all new.block commands before urls and notes (to separate them with a comma)
  30 +%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label)
  31 +%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle)
  32 +%% - Removed a \newblock to avoid long spaces between title and "In: ..."
  33 +%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label
  34 +%% ================================================================================================
  35 +%% This was file `titto.bst',
  36 +%% generated with the docstrip utility.
  37 +%%
  38 +%% The original source files were:
  39 +%%
  40 +%% 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,')
  41 +%% ----------------------------------------
  42 +%% *** Tentative .bst file for Springer LNCS ***
  43 +%%
  44 +%% Copyright 1994-2007 Patrick W Daly
  45 + % ===============================================================
  46 + % IMPORTANT NOTICE:
  47 + % This bibliographic style (bst) file has been generated from one or
  48 + % more master bibliographic style (mbs) files, listed above.
  49 + %
  50 + % This generated file can be redistributed and/or modified under the terms
  51 + % of the LaTeX Project Public License Distributed from CTAN
  52 + % archives in directory macros/latex/base/lppl.txt; either
  53 + % version 1 of the License, or any later version.
  54 + % ===============================================================
  55 + % Name and version information of the main mbs file:
  56 + % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]
  57 + % For use with BibTeX version 0.99a or later
  58 + %-------------------------------------------------------------------
  59 + % This bibliography style file is intended for texts in ENGLISH
  60 + % This is a numerical citation style, and as such is standard LaTeX.
  61 + % It requires no extra package to interface to the main text.
  62 + % The form of the \bibitem entries is
  63 + % \bibitem{key}...
  64 + % Usage of \cite is as follows:
  65 + % \cite{key} ==>> [#]
  66 + % \cite[chap. 2]{key} ==>> [#, chap. 2]
  67 + % where # is a number determined by the ordering in the reference list.
  68 + % The order in the reference list is alphabetical by authors.
  69 + %---------------------------------------------------------------------
  70 +
  71 +ENTRY
  72 + { address
  73 + author
  74 + booktitle
  75 + chapter
  76 + edition
  77 + editor
  78 + eid
  79 + howpublished
  80 + institution
  81 + journal
  82 + key
  83 + month
  84 + note
  85 + number
  86 + organization
  87 + pages
  88 + publisher
  89 + school
  90 + series
  91 + title
  92 + type
  93 + url
  94 + volume
  95 + year
  96 + }
  97 + {}
  98 + { label }
  99 +INTEGERS { output.state before.all mid.sentence after.sentence after.block }
  100 +FUNCTION {init.state.consts}
  101 +{ #0 'before.all :=
  102 + #1 'mid.sentence :=
  103 + #2 'after.sentence :=
  104 + #3 'after.block :=
  105 +}
  106 +STRINGS { s t}
  107 +FUNCTION {output.nonnull}
  108 +{ 's :=
  109 + output.state mid.sentence =
  110 + { ", " * write$ }
  111 + { output.state after.block =
  112 + { add.period$ write$
  113 +% newline$
  114 +% "\newblock " write$ % removed for titto-lncs-01
  115 + " " write$ % to avoid long spaces between title and "In: ..."
  116 + }
  117 + { output.state before.all =
  118 + 'write$
  119 + { add.period$ " " * write$ }
  120 + if$
  121 + }
  122 + if$
  123 + mid.sentence 'output.state :=
  124 + }
  125 + if$
  126 + s
  127 +}
  128 +FUNCTION {output}
  129 +{ duplicate$ empty$
  130 + 'pop$
  131 + 'output.nonnull
  132 + if$
  133 +}
  134 +FUNCTION {output.check}
  135 +{ 't :=
  136 + duplicate$ empty$
  137 + { pop$ "empty " t * " in " * cite$ * warning$ }
  138 + 'output.nonnull
  139 + if$
  140 +}
  141 +FUNCTION {fin.entry}
  142 +{ duplicate$ empty$
  143 + 'pop$
  144 + 'write$
  145 + if$
  146 + newline$
  147 +}
  148 +
  149 +FUNCTION {new.block}
  150 +{ output.state before.all =
  151 + 'skip$
  152 + { after.block 'output.state := }
  153 + if$
  154 +}
  155 +FUNCTION {new.sentence}
  156 +{ output.state after.block =
  157 + 'skip$
  158 + { output.state before.all =
  159 + 'skip$
  160 + { after.sentence 'output.state := }
  161 + if$
  162 + }
  163 + if$
  164 +}
  165 +FUNCTION {add.blank}
  166 +{ " " * before.all 'output.state :=
  167 +}
  168 +
  169 +
  170 +FUNCTION {add.colon}
  171 +{ duplicate$ empty$
  172 + 'skip$
  173 + { ":" * add.blank }
  174 + if$
  175 +}
  176 +
  177 +FUNCTION {date.block}
  178 +{
  179 + new.block
  180 +}
  181 +
  182 +FUNCTION {not}
  183 +{ { #0 }
  184 + { #1 }
  185 + if$
  186 +}
  187 +FUNCTION {and}
  188 +{ 'skip$
  189 + { pop$ #0 }
  190 + if$
  191 +}
  192 +FUNCTION {or}
  193 +{ { pop$ #1 }
  194 + 'skip$
  195 + if$
  196 +}
  197 +STRINGS {z}
  198 +FUNCTION {remove.dots}
  199 +{ 'z :=
  200 + ""
  201 + { z empty$ not }
  202 + { z #1 #1 substring$
  203 + z #2 global.max$ substring$ 'z :=
  204 + duplicate$ "." = 'pop$
  205 + { * }
  206 + if$
  207 + }
  208 + while$
  209 +}
  210 +FUNCTION {new.block.checka}
  211 +{ empty$
  212 + 'skip$
  213 + 'new.block
  214 + if$
  215 +}
  216 +FUNCTION {new.block.checkb}
  217 +{ empty$
  218 + swap$ empty$
  219 + and
  220 + 'skip$
  221 + 'new.block
  222 + if$
  223 +}
  224 +FUNCTION {new.sentence.checka}
  225 +{ empty$
  226 + 'skip$
  227 + 'new.sentence
  228 + if$
  229 +}
  230 +FUNCTION {new.sentence.checkb}
  231 +{ empty$
  232 + swap$ empty$
  233 + and
  234 + 'skip$
  235 + 'new.sentence
  236 + if$
  237 +}
  238 +FUNCTION {field.or.null}
  239 +{ duplicate$ empty$
  240 + { pop$ "" }
  241 + 'skip$
  242 + if$
  243 +}
  244 +FUNCTION {emphasize}
  245 +{ skip$ }
  246 +FUNCTION {tie.or.space.prefix}
  247 +{ duplicate$ text.length$ #3 <
  248 + { "~" }
  249 + { " " }
  250 + if$
  251 + swap$
  252 +}
  253 +FUNCTION {titto.space.prefix} % always introduce a space
  254 +{ duplicate$ text.length$ #3 <
  255 + { " " }
  256 + { " " }
  257 + if$
  258 + swap$
  259 +}
  260 +
  261 +
  262 +FUNCTION {capitalize}
  263 +{ "u" change.case$ "t" change.case$ }
  264 +
  265 +FUNCTION {space.word}
  266 +{ " " swap$ * " " * }
  267 + % Here are the language-specific definitions for explicit words.
  268 + % Each function has a name bbl.xxx where xxx is the English word.
  269 + % The language selected here is ENGLISH
  270 +FUNCTION {bbl.and}
  271 +{ "and"}
  272 +
  273 +FUNCTION {bbl.etal}
  274 +{ "et~al." }
  275 +
  276 +FUNCTION {bbl.editors}
  277 +{ "eds." }
  278 +
  279 +FUNCTION {bbl.editor}
  280 +{ "ed." }
  281 +
  282 +FUNCTION {bbl.edby}
  283 +{ "edited by" }
  284 +
  285 +FUNCTION {bbl.edition}
  286 +{ "edn." }
  287 +
  288 +FUNCTION {bbl.volume}
  289 +{ "vol." }
  290 +
  291 +FUNCTION {titto.bbl.volume} % for handling journals
  292 +{ "" }
  293 +
  294 +FUNCTION {bbl.of}
  295 +{ "of" }
  296 +
  297 +FUNCTION {bbl.number}
  298 +{ "no." }
  299 +
  300 +FUNCTION {bbl.nr}
  301 +{ "no." }
  302 +
  303 +FUNCTION {bbl.in}
  304 +{ "in" }
  305 +
  306 +FUNCTION {bbl.pages}
  307 +{ "pp." }
  308 +
  309 +FUNCTION {bbl.page}
  310 +{ "p." }
  311 +
  312 +FUNCTION {titto.bbl.pages} % for journals
  313 +{ "" }
  314 +
  315 +FUNCTION {titto.bbl.page} % for journals
  316 +{ "" }
  317 +
  318 +FUNCTION {bbl.chapter}
  319 +{ "chap." }
  320 +
  321 +FUNCTION {bbl.techrep}
  322 +{ "Tech. Rep." }
  323 +
  324 +FUNCTION {bbl.mthesis}
  325 +{ "Master's thesis" }
  326 +
  327 +FUNCTION {bbl.phdthesis}
  328 +{ "Ph.D. thesis" }
  329 +
  330 +MACRO {jan} {"Jan."}
  331 +
  332 +MACRO {feb} {"Feb."}
  333 +
  334 +MACRO {mar} {"Mar."}
  335 +
  336 +MACRO {apr} {"Apr."}
  337 +
  338 +MACRO {may} {"May"}
  339 +
  340 +MACRO {jun} {"Jun."}
  341 +
  342 +MACRO {jul} {"Jul."}
  343 +
  344 +MACRO {aug} {"Aug."}
  345 +
  346 +MACRO {sep} {"Sep."}
  347 +
  348 +MACRO {oct} {"Oct."}
  349 +
  350 +MACRO {nov} {"Nov."}
  351 +
  352 +MACRO {dec} {"Dec."}
  353 +
  354 +MACRO {acmcs} {"ACM Comput. Surv."}
  355 +
  356 +MACRO {acta} {"Acta Inf."}
  357 +
  358 +MACRO {cacm} {"Commun. ACM"}
  359 +
  360 +MACRO {ibmjrd} {"IBM J. Res. Dev."}
  361 +
  362 +MACRO {ibmsj} {"IBM Syst.~J."}
  363 +
  364 +MACRO {ieeese} {"IEEE Trans. Software Eng."}
  365 +
  366 +MACRO {ieeetc} {"IEEE Trans. Comput."}
  367 +
  368 +MACRO {ieeetcad}
  369 + {"IEEE Trans. Comput. Aid. Des."}
  370 +
  371 +MACRO {ipl} {"Inf. Process. Lett."}
  372 +
  373 +MACRO {jacm} {"J.~ACM"}
  374 +
  375 +MACRO {jcss} {"J.~Comput. Syst. Sci."}
  376 +
  377 +MACRO {scp} {"Sci. Comput. Program."}
  378 +
  379 +MACRO {sicomp} {"SIAM J. Comput."}
  380 +
  381 +MACRO {tocs} {"ACM Trans. Comput. Syst."}
  382 +
  383 +MACRO {tods} {"ACM Trans. Database Syst."}
  384 +
  385 +MACRO {tog} {"ACM Trans. Graphic."}
  386 +
  387 +MACRO {toms} {"ACM Trans. Math. Software"}
  388 +
  389 +MACRO {toois} {"ACM Trans. Office Inf. Syst."}
  390 +
  391 +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
  392 +
  393 +MACRO {tcs} {"Theor. Comput. Sci."}
  394 +
  395 +FUNCTION {bibinfo.check}
  396 +{ swap$
  397 + duplicate$ missing$
  398 + {
  399 + pop$ pop$
  400 + ""
  401 + }
  402 + { duplicate$ empty$
  403 + {
  404 + swap$ pop$
  405 + }
  406 + { swap$
  407 + pop$
  408 + }
  409 + if$
  410 + }
  411 + if$
  412 +}
  413 +FUNCTION {bibinfo.warn}
  414 +{ swap$
  415 + duplicate$ missing$
  416 + {
  417 + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
  418 + ""
  419 + }
  420 + { duplicate$ empty$
  421 + {
  422 + swap$ "empty " swap$ * " in " * cite$ * warning$
  423 + }
  424 + { swap$
  425 + pop$
  426 + }
  427 + if$
  428 + }
  429 + if$
  430 +}
  431 +FUNCTION {format.url}
  432 +{ url empty$
  433 + { "" }
  434 +% { "\urlprefix\url{" url * "}" * }
  435 + { "\url{" url * "}" * } % changed in titto-lncs-02.bst
  436 + if$
  437 +}
  438 +
  439 +INTEGERS { nameptr namesleft numnames }
  440 +
  441 +
  442 +STRINGS { bibinfo}
  443 +
  444 +FUNCTION {format.names}
  445 +{ 'bibinfo :=
  446 + duplicate$ empty$ 'skip$ {
  447 + 's :=
  448 + "" 't :=
  449 + #1 'nameptr :=
  450 + s num.names$ 'numnames :=
  451 + numnames 'namesleft :=
  452 + { namesleft #0 > }
  453 + { s nameptr
  454 + "{vv~}{ll}{, jj}{, f{.}.}"
  455 + format.name$
  456 + bibinfo bibinfo.check
  457 + 't :=
  458 + nameptr #1 >
  459 + {
  460 + namesleft #1 >
  461 + { ", " * t * }
  462 + {
  463 + s nameptr "{ll}" format.name$ duplicate$ "others" =
  464 + { 't := }
  465 + { pop$ }
  466 + if$
  467 + "," *
  468 + t "others" =
  469 + {
  470 + " " * bbl.etal *
  471 + }
  472 + { " " * t * }
  473 + if$
  474 + }
  475 + if$
  476 + }
  477 + 't
  478 + if$
  479 + nameptr #1 + 'nameptr :=
  480 + namesleft #1 - 'namesleft :=
  481 + }
  482 + while$
  483 + } if$
  484 +}
  485 +FUNCTION {format.names.ed}
  486 +{
  487 + 'bibinfo :=
  488 + duplicate$ empty$ 'skip$ {
  489 + 's :=
  490 + "" 't :=
  491 + #1 'nameptr :=
  492 + s num.names$ 'numnames :=
  493 + numnames 'namesleft :=
  494 + { namesleft #0 > }
  495 + { s nameptr
  496 + "{f{.}.~}{vv~}{ll}{ jj}"
  497 + format.name$
  498 + bibinfo bibinfo.check
  499 + 't :=
  500 + nameptr #1 >
  501 + {
  502 + namesleft #1 >
  503 + { ", " * t * }
  504 + {
  505 + s nameptr "{ll}" format.name$ duplicate$ "others" =
  506 + { 't := }
  507 + { pop$ }
  508 + if$
  509 + "," *
  510 + t "others" =
  511 + {
  512 +
  513 + " " * bbl.etal *
  514 + }
  515 + { " " * t * }
  516 + if$
  517 + }
  518 + if$
  519 + }
  520 + 't
  521 + if$
  522 + nameptr #1 + 'nameptr :=
  523 + namesleft #1 - 'namesleft :=
  524 + }
  525 + while$
  526 + } if$
  527 +}
  528 +FUNCTION {format.authors}
  529 +{ author "author" format.names
  530 +}
  531 +FUNCTION {get.bbl.editor}
  532 +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
  533 +
  534 +FUNCTION {format.editors}
  535 +{ editor "editor" format.names duplicate$ empty$ 'skip$
  536 + {
  537 + " " *
  538 + get.bbl.editor
  539 +% capitalize
  540 + "(" swap$ * ")" *
  541 + *
  542 + }
  543 + if$
  544 +}
  545 +FUNCTION {format.note}
  546 +{
  547 + note empty$
  548 + { "" }
  549 + { note #1 #1 substring$
  550 + duplicate$ "{" =
  551 + 'skip$
  552 + { output.state mid.sentence =
  553 + { "l" }
  554 + { "u" }
  555 + if$
  556 + change.case$
  557 + }
  558 + if$
  559 + note #2 global.max$ substring$ * "note" bibinfo.check
  560 + }
  561 + if$
  562 +}
  563 +
  564 +FUNCTION {format.title}
  565 +{ title
  566 + duplicate$ empty$ 'skip$
  567 + { "t" change.case$ }
  568 + if$
  569 + "title" bibinfo.check
  570 +}
  571 +FUNCTION {output.bibitem}
  572 +{ newline$
  573 + "\bibitem{" write$
  574 + cite$ write$
  575 + "}" write$
  576 + newline$
  577 + ""
  578 + before.all 'output.state :=
  579 +}
  580 +
  581 +FUNCTION {n.dashify}
  582 +{
  583 + 't :=
  584 + ""
  585 + { t empty$ not }
  586 + { t #1 #1 substring$ "-" =
  587 + { t #1 #2 substring$ "--" = not
  588 + { "--" *
  589 + t #2 global.max$ substring$ 't :=
  590 + }
  591 + { { t #1 #1 substring$ "-" = }
  592 + { "-" *
  593 + t #2 global.max$ substring$ 't :=
  594 + }
  595 + while$
  596 + }
  597 + if$
  598 + }
  599 + { t #1 #1 substring$ *
  600 + t #2 global.max$ substring$ 't :=
  601 + }
  602 + if$
  603 + }
  604 + while$
  605 +}
  606 +
  607 +FUNCTION {word.in}
  608 +{ bbl.in capitalize
  609 + ":" *
  610 + " " * }
  611 +
  612 +FUNCTION {format.date}
  613 +{
  614 + month "month" bibinfo.check
  615 + duplicate$ empty$
  616 + year "year" bibinfo.check duplicate$ empty$
  617 + { swap$ 'skip$
  618 + { "there's a month but no year in " cite$ * warning$ }
  619 + if$
  620 + *
  621 + }
  622 + { swap$ 'skip$
  623 + {
  624 + swap$
  625 + " " * swap$
  626 + }
  627 + if$
  628 + *
  629 + remove.dots
  630 + }
  631 + if$
  632 + duplicate$ empty$
  633 + 'skip$
  634 + {
  635 + before.all 'output.state :=
  636 + " (" swap$ * ")" *
  637 + }
  638 + if$
  639 +}
  640 +FUNCTION {format.btitle}
  641 +{ title "title" bibinfo.check
  642 + duplicate$ empty$ 'skip$
  643 + {
  644 + }
  645 + if$
  646 +}
  647 +FUNCTION {either.or.check}
  648 +{ empty$
  649 + 'pop$
  650 + { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  651 + if$
  652 +}
  653 +FUNCTION {format.bvolume}
  654 +{ volume empty$
  655 + { "" }
  656 + { bbl.volume volume tie.or.space.prefix
  657 + "volume" bibinfo.check * *
  658 + series "series" bibinfo.check
  659 + duplicate$ empty$ 'pop$
  660 + { emphasize ", " * swap$ * }
  661 + if$
  662 + "volume and number" number either.or.check
  663 + }
  664 + if$
  665 +}
  666 +FUNCTION {format.number.series}
  667 +{ volume empty$
  668 + { number empty$
  669 + { series field.or.null }
  670 + { output.state mid.sentence =
  671 + { bbl.number }
  672 + { bbl.number capitalize }
  673 + if$
  674 + number tie.or.space.prefix "number" bibinfo.check * *
  675 + series empty$
  676 + { "there's a number but no series in " cite$ * warning$ }
  677 + { bbl.in space.word *
  678 + series "series" bibinfo.check *
  679 + }
  680 + if$
  681 + }
  682 + if$
  683 + }
  684 + { "" }
  685 + if$
  686 +}
  687 +
  688 +FUNCTION {format.edition}
  689 +{ edition duplicate$ empty$ 'skip$
  690 + {
  691 + output.state mid.sentence =
  692 + { "l" }
  693 + { "t" }
  694 + if$ change.case$
  695 + "edition" bibinfo.check
  696 + " " * bbl.edition *
  697 + }
  698 + if$
  699 +}
  700 +INTEGERS { multiresult }
  701 +FUNCTION {multi.page.check}
  702 +{ 't :=
  703 + #0 'multiresult :=
  704 + { multiresult not
  705 + t empty$ not
  706 + and
  707 + }
  708 + { t #1 #1 substring$
  709 + duplicate$ "-" =
  710 + swap$ duplicate$ "," =
  711 + swap$ "+" =
  712 + or or
  713 + { #1 'multiresult := }
  714 + { t #2 global.max$ substring$ 't := }
  715 + if$
  716 + }
  717 + while$
  718 + multiresult
  719 +}
  720 +FUNCTION {format.pages}
  721 +{ pages duplicate$ empty$ 'skip$
  722 + { duplicate$ multi.page.check
  723 + {
  724 + bbl.pages swap$
  725 + n.dashify
  726 + }
  727 + {
  728 + bbl.page swap$
  729 + }
  730 + if$
  731 + tie.or.space.prefix
  732 + "pages" bibinfo.check
  733 + * *
  734 + }
  735 + if$
  736 +}
  737 +FUNCTION {format.journal.pages}
  738 +{ pages duplicate$ empty$ 'pop$
  739 + { swap$ duplicate$ empty$
  740 + { pop$ pop$ format.pages }
  741 + {
  742 + ", " *
  743 + swap$
  744 + n.dashify
  745 + pages multi.page.check
  746 + 'titto.bbl.pages
  747 + 'titto.bbl.page
  748 + if$
  749 + swap$ tie.or.space.prefix
  750 + "pages" bibinfo.check
  751 + * *
  752 + *
  753 + }
  754 + if$
  755 + }
  756 + if$
  757 +}
  758 +FUNCTION {format.journal.eid}
  759 +{ eid "eid" bibinfo.check
  760 + duplicate$ empty$ 'pop$
  761 + { swap$ duplicate$ empty$ 'skip$
  762 + {
  763 + ", " *
  764 + }
  765 + if$
  766 + swap$ *
  767 + }
  768 + if$
  769 +}
  770 +FUNCTION {format.vol.num.pages} % this function is used only for journal entries
  771 +{ volume field.or.null
  772 + duplicate$ empty$ 'skip$
  773 + {
  774 +% bbl.volume swap$ tie.or.space.prefix
  775 + titto.bbl.volume swap$ titto.space.prefix
  776 +% rationale for the change above: for journals you don't want "vol." label
  777 +% hence it does not make sense to attach the journal number to the label when
  778 +% it is short
  779 + "volume" bibinfo.check
  780 + * *
  781 + }
  782 + if$
  783 + number "number" bibinfo.check duplicate$ empty$ 'skip$
  784 + {
  785 + swap$ duplicate$ empty$
  786 + { "there's a number but no volume in " cite$ * warning$ }
  787 + 'skip$
  788 + if$
  789 + swap$
  790 + "(" swap$ * ")" *
  791 + }
  792 + if$ *
  793 + eid empty$
  794 + { format.journal.pages }
  795 + { format.journal.eid }
  796 + if$
  797 +}
  798 +
  799 +FUNCTION {format.chapter.pages}
  800 +{ chapter empty$
  801 + 'format.pages
  802 + { type empty$
  803 + { bbl.chapter }
  804 + { type "l" change.case$
  805 + "type" bibinfo.check
  806 + }
  807 + if$
  808 + chapter tie.or.space.prefix
  809 + "chapter" bibinfo.check
  810 + * *
  811 + pages empty$
  812 + 'skip$
  813 + { ", " * format.pages * }
  814 + if$
  815 + }
  816 + if$
  817 +}
  818 +
  819 +FUNCTION {format.booktitle}
  820 +{
  821 + booktitle "booktitle" bibinfo.check
  822 +}
  823 +FUNCTION {format.in.ed.booktitle}
  824 +{ format.booktitle duplicate$ empty$ 'skip$
  825 + {
  826 +% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto
  827 + editor "editor" format.names duplicate$ empty$ 'pop$
  828 + {
  829 + " " *
  830 + get.bbl.editor
  831 +% capitalize
  832 + "(" swap$ * ") " *
  833 + * swap$
  834 + * }
  835 + if$
  836 + word.in swap$ *
  837 + }
  838 + if$
  839 +}
  840 +FUNCTION {empty.misc.check}
  841 +{ author empty$ title empty$ howpublished empty$
  842 + month empty$ year empty$ note empty$
  843 + and and and and and
  844 + key empty$ not and
  845 + { "all relevant fields are empty in " cite$ * warning$ }
  846 + 'skip$
  847 + if$
  848 +}
  849 +FUNCTION {format.thesis.type}
  850 +{ type duplicate$ empty$
  851 + 'pop$
  852 + { swap$ pop$
  853 + "t" change.case$ "type" bibinfo.check
  854 + }
  855 + if$
  856 +}
  857 +FUNCTION {format.tr.number}
  858 +{ number "number" bibinfo.check
  859 + type duplicate$ empty$
  860 + { pop$ bbl.techrep }
  861 + 'skip$
  862 + if$
  863 + "type" bibinfo.check
  864 + swap$ duplicate$ empty$
  865 + { pop$ "t" change.case$ }
  866 + { tie.or.space.prefix * * }
  867 + if$
  868 +}
  869 +FUNCTION {format.article.crossref}
  870 +{
  871 + key duplicate$ empty$
  872 + { pop$
  873 + journal duplicate$ empty$
  874 + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
  875 + { "journal" bibinfo.check emphasize word.in swap$ * }
  876 + if$
  877 + }
  878 + { word.in swap$ * " " *}
  879 + if$
  880 + " \cite{" * crossref * "}" *
  881 +}
  882 +FUNCTION {format.crossref.editor}
  883 +{ editor #1 "{vv~}{ll}" format.name$
  884 + "editor" bibinfo.check
  885 + editor num.names$ duplicate$
  886 + #2 >
  887 + { pop$
  888 + "editor" bibinfo.check
  889 + " " * bbl.etal
  890 + *
  891 + }
  892 + { #2 <
  893 + 'skip$
  894 + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
  895 + {
  896 + "editor" bibinfo.check
  897 + " " * bbl.etal
  898 + *
  899 + }
  900 + {
  901 + bbl.and space.word
  902 + * editor #2 "{vv~}{ll}" format.name$
  903 + "editor" bibinfo.check
  904 + *
  905 + }
  906 + if$
  907 + }
  908 + if$
  909 + }
  910 + if$
  911 +}
  912 +FUNCTION {format.book.crossref}
  913 +{ volume duplicate$ empty$
  914 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
  915 + pop$ word.in
  916 + }
  917 + { bbl.volume
  918 + capitalize
  919 + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
  920 + }
  921 + if$
  922 + editor empty$
  923 + editor field.or.null author field.or.null =
  924 + or
  925 + { key empty$
  926 + { series empty$
  927 + { "need editor, key, or series for " cite$ * " to crossref " *
  928 + crossref * warning$
  929 + "" *
  930 + }
  931 + { series emphasize * }
  932 + if$
  933 + }
  934 + { key * }
  935 + if$
  936 + }
  937 + { format.crossref.editor * }
  938 + if$
  939 + " \cite{" * crossref * "}" *
  940 +}
  941 +FUNCTION {format.incoll.inproc.crossref}
  942 +{
  943 + editor empty$
  944 + editor field.or.null author field.or.null =
  945 + or
  946 + { key empty$
  947 + { format.booktitle duplicate$ empty$
  948 + { "need editor, key, or booktitle for " cite$ * " to crossref " *
  949 + crossref * warning$
  950 + }
  951 + { word.in swap$ * }
  952 + if$
  953 + }
  954 + { word.in key * " " *}
  955 + if$
  956 + }
  957 + { word.in format.crossref.editor * " " *}
  958 + if$
  959 + " \cite{" * crossref * "}" *
  960 +}
  961 +FUNCTION {format.org.or.pub}
  962 +{ 't :=
  963 + ""
  964 + address empty$ t empty$ and
  965 + 'skip$
  966 + {
  967 + t empty$
  968 + { address "address" bibinfo.check *
  969 + }
  970 + { t *
  971 + address empty$
  972 + 'skip$
  973 + { ", " * address "address" bibinfo.check * }
  974 + if$
  975 + }
  976 + if$
  977 + }
  978 + if$
  979 +}
  980 +FUNCTION {format.publisher.address}
  981 +{ publisher "publisher" bibinfo.warn format.org.or.pub
  982 +}
  983 +
  984 +FUNCTION {format.organization.address}
  985 +{ organization "organization" bibinfo.check format.org.or.pub
  986 +}
  987 +
  988 +FUNCTION {article}
  989 +{ output.bibitem
  990 + format.authors "author" output.check
  991 + add.colon
  992 + new.block
  993 + format.title "title" output.check
  994 + new.block
  995 + crossref missing$
  996 + {
  997 + journal
  998 + "journal" bibinfo.check
  999 + "journal" output.check
  1000 + add.blank
  1001 + format.vol.num.pages output
  1002 + format.date "year" output.check
  1003 + }
  1004 + { format.article.crossref output.nonnull
  1005 + format.pages output
  1006 + }
  1007 + if$
  1008 +% new.block
  1009 + format.url output
  1010 +% new.block
  1011 + format.note output
  1012 + fin.entry
  1013 +}
  1014 +FUNCTION {book}
  1015 +{ output.bibitem
  1016 + author empty$
  1017 + { format.editors "author and editor" output.check
  1018 + add.colon
  1019 + }
  1020 + { format.authors output.nonnull
  1021 + add.colon
  1022 + crossref missing$
  1023 + { "author and editor" editor either.or.check }
  1024 + 'skip$
  1025 + if$
  1026 + }
  1027 + if$
  1028 + new.block
  1029 + format.btitle "title" output.check
  1030 + crossref missing$
  1031 + { format.bvolume output
  1032 + new.block
  1033 + new.sentence
  1034 + format.number.series output
  1035 + format.publisher.address output
  1036 + }
  1037 + {
  1038 + new.block
  1039 + format.book.crossref output.nonnull
  1040 + }
  1041 + if$
  1042 + format.edition output
  1043 + format.date "year" output.check
  1044 +% new.block
  1045 + format.url output
  1046 +% new.block
  1047 + format.note output
  1048 + fin.entry
  1049 +}
  1050 +FUNCTION {booklet}
  1051 +{ output.bibitem
  1052 + format.authors output
  1053 + add.colon
  1054 + new.block
  1055 + format.title "title" output.check
  1056 + new.block
  1057 + howpublished "howpublished" bibinfo.check output
  1058 + address "address" bibinfo.check output
  1059 + format.date output
  1060 +% new.block
  1061 + format.url output
  1062 +% new.block
  1063 + format.note output
  1064 + fin.entry
  1065 +}
  1066 +
  1067 +FUNCTION {inbook}
  1068 +{ output.bibitem
  1069 + author empty$
  1070 + { format.editors "author and editor" output.check
  1071 + add.colon
  1072 + }
  1073 + { format.authors output.nonnull
  1074 + add.colon
  1075 + crossref missing$
  1076 + { "author and editor" editor either.or.check }
  1077 + 'skip$
  1078 + if$
  1079 + }
  1080 + if$
  1081 + new.block
  1082 + format.btitle "title" output.check
  1083 + crossref missing$
  1084 + {
  1085 + format.bvolume output
  1086 + format.chapter.pages "chapter and pages" output.check
  1087 + new.block
  1088 + new.sentence
  1089 + format.number.series output
  1090 + format.publisher.address output
  1091 + }
  1092 + {
  1093 + format.chapter.pages "chapter and pages" output.check
  1094 + new.block
  1095 + format.book.crossref output.nonnull
  1096 + }
  1097 + if$
  1098 + format.edition output
  1099 + format.date "year" output.check
  1100 +% new.block
  1101 + format.url output
  1102 +% new.block
  1103 + format.note output
  1104 + fin.entry
  1105 +}
  1106 +
  1107 +FUNCTION {incollection}
  1108 +{ output.bibitem
  1109 + format.authors "author" output.check
  1110 + add.colon
  1111 + new.block
  1112 + format.title "title" output.check
  1113 + new.block
  1114 + crossref missing$
  1115 + { format.in.ed.booktitle "booktitle" output.check
  1116 + format.bvolume output
  1117 + format.chapter.pages output
  1118 + new.sentence
  1119 + format.number.series output
  1120 + format.publisher.address output
  1121 + format.edition output
  1122 + format.date "year" output.check
  1123 + }
  1124 + { format.incoll.inproc.crossref output.nonnull
  1125 + format.chapter.pages output
  1126 + }
  1127 + if$
  1128 +% new.block
  1129 + format.url output
  1130 +% new.block
  1131 + format.note output
  1132 + fin.entry
  1133 +}
  1134 +FUNCTION {inproceedings}
  1135 +{ output.bibitem
  1136 + format.authors "author" output.check
  1137 + add.colon
  1138 + new.block
  1139 + format.title "title" output.check
  1140 + new.block
  1141 + crossref missing$
  1142 + { format.in.ed.booktitle "booktitle" output.check
  1143 + new.sentence % added by titto
  1144 + format.bvolume output
  1145 + format.pages output
  1146 + new.sentence
  1147 + format.number.series output
  1148 + publisher empty$
  1149 + { format.organization.address output }
  1150 + { organization "organization" bibinfo.check output
  1151 + format.publisher.address output
  1152 + }
  1153 + if$
  1154 + format.date "year" output.check
  1155 + }
  1156 + { format.incoll.inproc.crossref output.nonnull
  1157 + format.pages output
  1158 + }
  1159 + if$
  1160 +% new.block
  1161 + format.url output
  1162 +% new.block
  1163 + format.note output
  1164 + fin.entry
  1165 +}
  1166 +FUNCTION {conference} { inproceedings }
  1167 +FUNCTION {manual}
  1168 +{ output.bibitem
  1169 + author empty$
  1170 + { organization "organization" bibinfo.check
  1171 + duplicate$ empty$ 'pop$
  1172 + { output
  1173 + address "address" bibinfo.check output
  1174 + }
  1175 + if$
  1176 + }
  1177 + { format.authors output.nonnull }
  1178 + if$
  1179 + add.colon
  1180 + new.block
  1181 + format.btitle "title" output.check
  1182 + author empty$
  1183 + { organization empty$
  1184 + {
  1185 + address new.block.checka
  1186 + address "address" bibinfo.check output
  1187 + }
  1188 + 'skip$
  1189 + if$
  1190 + }
  1191 + {
  1192 + organization address new.block.checkb
  1193 + organization "organization" bibinfo.check output
  1194 + address "address" bibinfo.check output
  1195 + }
  1196 + if$
  1197 + format.edition output
  1198 + format.date output
  1199 +% new.block
  1200 + format.url output
  1201 +% new.block
  1202 + format.note output
  1203 + fin.entry
  1204 +}
  1205 +
  1206 +FUNCTION {mastersthesis}
  1207 +{ output.bibitem
  1208 + format.authors "author" output.check
  1209 + add.colon
  1210 + new.block
  1211 + format.btitle
  1212 + "title" output.check
  1213 + new.block
  1214 + bbl.mthesis format.thesis.type output.nonnull
  1215 + school "school" bibinfo.warn output
  1216 + address "address" bibinfo.check output
  1217 + format.date "year" output.check
  1218 +% new.block
  1219 + format.url output
  1220 +% new.block
  1221 + format.note output
  1222 + fin.entry
  1223 +}
  1224 +
  1225 +FUNCTION {misc}
  1226 +{ output.bibitem
  1227 + format.authors output
  1228 + add.colon
  1229 + title howpublished new.block.checkb
  1230 + format.title output
  1231 + howpublished new.block.checka
  1232 + howpublished "howpublished" bibinfo.check output
  1233 + format.date output
  1234 +% new.block
  1235 + format.url output
  1236 +% new.block
  1237 + format.note output
  1238 + fin.entry
  1239 + empty.misc.check
  1240 +}
  1241 +FUNCTION {phdthesis}
  1242 +{ output.bibitem
  1243 + format.authors "author" output.check
  1244 + add.colon
  1245 + new.block
  1246 + format.btitle
  1247 + "title" output.check
  1248 + new.block
  1249 + bbl.phdthesis format.thesis.type output.nonnull
  1250 + school "school" bibinfo.warn output
  1251 + address "address" bibinfo.check output
  1252 + format.date "year" output.check
  1253 +% new.block
  1254 + format.url output
  1255 +% new.block
  1256 + format.note output
  1257 + fin.entry
  1258 +}
  1259 +
  1260 +FUNCTION {proceedings}
  1261 +{ output.bibitem
  1262 + editor empty$
  1263 + { organization "organization" bibinfo.check output
  1264 + }
  1265 + { format.editors output.nonnull }
  1266 + if$
  1267 + add.colon
  1268 + new.block
  1269 + format.btitle "title" output.check
  1270 + format.bvolume output
  1271 + editor empty$
  1272 + { publisher empty$
  1273 + { format.number.series output }
  1274 + {
  1275 + new.sentence
  1276 + format.number.series output
  1277 + format.publisher.address output
  1278 + }
  1279 + if$
  1280 + }
  1281 + { publisher empty$
  1282 + {
  1283 + new.sentence
  1284 + format.number.series output
  1285 + format.organization.address output }
  1286 + {
  1287 + new.sentence
  1288 + format.number.series output
  1289 + organization "organization" bibinfo.check output
  1290 + format.publisher.address output
  1291 + }
  1292 + if$
  1293 + }
  1294 + if$
  1295 + format.date "year" output.check
  1296 +% new.block
  1297 + format.url output
  1298 +% new.block
  1299 + format.note output
  1300 + fin.entry
  1301 +}
  1302 +
  1303 +FUNCTION {techreport}
  1304 +{ output.bibitem
  1305 + format.authors "author" output.check
  1306 + add.colon
  1307 + new.block
  1308 + format.title
  1309 + "title" output.check
  1310 + new.block
  1311 + format.tr.number output.nonnull
  1312 + institution "institution" bibinfo.warn output
  1313 + address "address" bibinfo.check output
  1314 + format.date "year" output.check
  1315 +% new.block
  1316 + format.url output
  1317 +% new.block
  1318 + format.note output
  1319 + fin.entry
  1320 +}
  1321 +
  1322 +FUNCTION {unpublished}
  1323 +{ output.bibitem
  1324 + format.authors "author" output.check
  1325 + add.colon
  1326 + new.block
  1327 + format.title "title" output.check
  1328 + format.date output
  1329 +% new.block
  1330 + format.url output
  1331 +% new.block
  1332 + format.note "note" output.check
  1333 + fin.entry
  1334 +}
  1335 +
  1336 +FUNCTION {default.type} { misc }
  1337 +READ
  1338 +FUNCTION {sortify}
  1339 +{ purify$
  1340 + "l" change.case$
  1341 +}
  1342 +INTEGERS { len }
  1343 +FUNCTION {chop.word}
  1344 +{ 's :=
  1345 + 'len :=
  1346 + s #1 len substring$ =
  1347 + { s len #1 + global.max$ substring$ }
  1348 + 's
  1349 + if$
  1350 +}
  1351 +FUNCTION {sort.format.names}
  1352 +{ 's :=
  1353 + #1 'nameptr :=
  1354 + ""
  1355 + s num.names$ 'numnames :=
  1356 + numnames 'namesleft :=
  1357 + { namesleft #0 > }
  1358 + { s nameptr
  1359 + "{ll{ }}{ ff{ }}{ jj{ }}"
  1360 + format.name$ 't :=
  1361 + nameptr #1 >
  1362 + {
  1363 + " " *
  1364 + namesleft #1 = t "others" = and
  1365 + { "zzzzz" * }
  1366 + { t sortify * }
  1367 + if$
  1368 + }
  1369 + { t sortify * }
  1370 + if$
  1371 + nameptr #1 + 'nameptr :=
  1372 + namesleft #1 - 'namesleft :=
  1373 + }
  1374 + while$
  1375 +}
  1376 +
  1377 +FUNCTION {sort.format.title}
  1378 +{ 't :=
  1379 + "A " #2
  1380 + "An " #3
  1381 + "The " #4 t chop.word
  1382 + chop.word
  1383 + chop.word
  1384 + sortify
  1385 + #1 global.max$ substring$
  1386 +}
  1387 +FUNCTION {author.sort}
  1388 +{ author empty$
  1389 + { key empty$
  1390 + { "to sort, need author or key in " cite$ * warning$
  1391 + ""
  1392 + }
  1393 + { key sortify }
  1394 + if$
  1395 + }
  1396 + { author sort.format.names }
  1397 + if$
  1398 +}
  1399 +FUNCTION {author.editor.sort}
  1400 +{ author empty$
  1401 + { editor empty$
  1402 + { key empty$
  1403 + { "to sort, need author, editor, or key in " cite$ * warning$
  1404 + ""
  1405 + }
  1406 + { key sortify }
  1407 + if$
  1408 + }
  1409 + { editor sort.format.names }
  1410 + if$
  1411 + }
  1412 + { author sort.format.names }
  1413 + if$
  1414 +}
  1415 +FUNCTION {author.organization.sort}
  1416 +{ author empty$
  1417 + { organization empty$
  1418 + { key empty$
  1419 + { "to sort, need author, organization, or key in " cite$ * warning$
  1420 + ""
  1421 + }
  1422 + { key sortify }
  1423 + if$
  1424 + }
  1425 + { "The " #4 organization chop.word sortify }
  1426 + if$
  1427 + }
  1428 + { author sort.format.names }
  1429 + if$
  1430 +}
  1431 +FUNCTION {editor.organization.sort}
  1432 +{ editor empty$
  1433 + { organization empty$
  1434 + { key empty$
  1435 + { "to sort, need editor, organization, or key in " cite$ * warning$
  1436 + ""
  1437 + }
  1438 + { key sortify }
  1439 + if$
  1440 + }
  1441 + { "The " #4 organization chop.word sortify }
  1442 + if$
  1443 + }
  1444 + { editor sort.format.names }
  1445 + if$
  1446 +}
  1447 +FUNCTION {presort}
  1448 +{ type$ "book" =
  1449 + type$ "inbook" =
  1450 + or
  1451 + 'author.editor.sort
  1452 + { type$ "proceedings" =
  1453 + 'editor.organization.sort
  1454 + { type$ "manual" =
  1455 + 'author.organization.sort
  1456 + 'author.sort
  1457 + if$
  1458 + }
  1459 + if$
  1460 + }
  1461 + if$
  1462 + " "
  1463 + *
  1464 + year field.or.null sortify
  1465 + *
  1466 + " "
  1467 + *
  1468 + title field.or.null
  1469 + sort.format.title
  1470 + *
  1471 + #1 entry.max$ substring$
  1472 + 'sort.key$ :=
  1473 +}
  1474 +ITERATE {presort}
  1475 +SORT
  1476 +STRINGS { longest.label }
  1477 +INTEGERS { number.label longest.label.width }
  1478 +FUNCTION {initialize.longest.label}
  1479 +{ "" 'longest.label :=
  1480 + #1 'number.label :=
  1481 + #0 'longest.label.width :=
  1482 +}
  1483 +FUNCTION {longest.label.pass}
  1484 +{ number.label int.to.str$ 'label :=
  1485 + number.label #1 + 'number.label :=
  1486 + label width$ longest.label.width >
  1487 + { label 'longest.label :=
  1488 + label width$ 'longest.label.width :=
  1489 + }
  1490 + 'skip$
  1491 + if$
  1492 +}
  1493 +EXECUTE {initialize.longest.label}
  1494 +ITERATE {longest.label.pass}
  1495 +FUNCTION {begin.bib}
  1496 +{ preamble$ empty$
  1497 + 'skip$
  1498 + { preamble$ write$ newline$ }
  1499 + if$
  1500 + "\begin{thebibliography}{" longest.label * "}" *
  1501 + write$ newline$
  1502 + "\providecommand{\url}[1]{\texttt{#1}}"
  1503 + write$ newline$
  1504 + "\providecommand{\urlprefix}{URL }"
  1505 + write$ newline$
  1506 +}
  1507 +EXECUTE {begin.bib}
  1508 +EXECUTE {init.state.consts}
  1509 +ITERATE {call.type$}
  1510 +FUNCTION {end.bib}
  1511 +{ newline$
  1512 + "\end{thebibliography}" write$ newline$
  1513 +}
  1514 +EXECUTE {end.bib}
  1515 +%% End of customized bst file
  1516 +%%
  1517 +%% End of file `titto.bst'.
  1518 +
  1519 +
... ...
OSS-2017/sprmindx.sty 0 → 100644
... ... @@ -0,0 +1,4 @@
  1 +delim_0 "\\idxquad "
  2 +delim_1 "\\idxquad "
  3 +delim_2 "\\idxquad "
  4 +delim_n ",\\,"
... ...