]> www.fi.muni.cz Git - pan12-paper.git/commitdiff
Merge branch 'master' of ssh://calypso.fi.muni.cz/home/kas/git/pan12-paper
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 9 Aug 2012 18:30:26 +0000 (20:30 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 9 Aug 2012 18:30:26 +0000 (20:30 +0200)
.gitignore
abstract-for-proceedings.txt [new file with mode: 0644]
pan12-notebook-template/llncs.cls [new file with mode: 0644]
pan12-notebook-template/pan12-notebook-template.doc [new file with mode: 0755]
pan12-notebook-template/pan12-notebook-template.pdf [new file with mode: 0644]
pan12-notebook-template/pan12-notebook-template.tex [new file with mode: 0644]
pan12-notebook-template/splncs03.bst [new file with mode: 0644]
paper.tex [new file with mode: 0644]
simon-searchengine.tex [new file with mode: 0644]
yenya-detailed.tex [new file with mode: 0644]

index 0e98f990950de3c1562a41021254106828cb9d0e..3a15994a182afc40b3533e8dae9c22f87e04165e 100644 (file)
@@ -1,2 +1,4 @@
 *.log
 *.aux
+*.bbl
+*.blg
diff --git a/abstract-for-proceedings.txt b/abstract-for-proceedings.txt
new file mode 100644 (file)
index 0000000..4c94083
--- /dev/null
@@ -0,0 +1,14 @@
+ Abstract for Print Proceedings. Besides the full length notebooks, you are also to submit an abstract, which will be printed in the proceedings volume of the CLEF conference. The abstract should not be longer than 400 words, and it should be structured as follows:
+
+    Title
+    Authors
+    Affiliations
+    E-mail addresses
+    Body of text, which should contain information on:
+        tasks performed
+        main objectives of experiments
+        approach(es) used
+        resources employed
+        results obtained
+
+Please prepare your abstract as a DOC file, and submit it alongside your notebook. 
diff --git a/pan12-notebook-template/llncs.cls b/pan12-notebook-template/llncs.cls
new file mode 100644 (file)
index 0000000..1ee2791
--- /dev/null
@@ -0,0 +1,1206 @@
+% LLNCS DOCUMENT CLASS -- version 2.16 (15-Apr-2010)\r
+% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science\r
+%\r
+%%\r
+%% \CharacterTable\r
+%%  {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\r
+%%   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\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+%%\r
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]\r
+\ProvidesClass{llncs}[2010/04/15 v2.16\r
+^^J LaTeX document class for Lecture Notes in Computer Science]\r
+% Options\r
+\let\if@envcntreset\iffalse\r
+\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}\r
+\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}\r
+\DeclareOption{oribibl}{\let\oribibl=Y}\r
+\let\if@custvec\iftrue\r
+\DeclareOption{orivec}{\let\if@custvec\iffalse}\r
+\let\if@envcntsame\iffalse\r
+\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}\r
+\let\if@envcntsect\iffalse\r
+\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}\r
+\let\if@runhead\iffalse\r
+\DeclareOption{runningheads}{\let\if@runhead\iftrue}\r
+\r
+\let\if@openbib\iffalse\r
+\DeclareOption{openbib}{\let\if@openbib\iftrue}\r
+\r
+% languages\r
+\let\switcht@@therlang\relax\r
+\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}\r
+\def\ds@francais{\def\switcht@@therlang{\switcht@francais}}\r
+\r
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}\r
+\r
+\ProcessOptions\r
+\r
+\LoadClass[twoside]{article}\r
+\RequirePackage{multicol} % needed for the list of participants, index\r
+\RequirePackage{aliascnt}\r
+\r
+\setlength{\textwidth}{12.2cm}\r
+\setlength{\textheight}{19.3cm}\r
+\renewcommand\@pnumwidth{2em}\r
+\renewcommand\@tocrmarg{3.5em}\r
+%\r
+\def\@dottedtocline#1#2#3#4#5{%\r
+  \ifnum #1>\c@tocdepth \else\r
+    \vskip \z@ \@plus.2\p@\r
+    {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm\r
+               \parfillskip -\rightskip \pretolerance=10000\r
+     \parindent #2\relax\@afterindenttrue\r
+     \interlinepenalty\@M\r
+     \leavevmode\r
+     \@tempdima #3\relax\r
+     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip\r
+     {#4}\nobreak\r
+     \leaders\hbox{$\m@th\r
+        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep\r
+        mu$}\hfill\r
+     \nobreak\r
+     \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%\r
+     \par}%\r
+  \fi}\r
+%\r
+\def\switcht@albion{%\r
+\def\abstractname{Abstract.}\r
+\def\ackname{Acknowledgement.}\r
+\def\andname{and}\r
+\def\lastandname{\unskip, and}\r
+\def\appendixname{Appendix}\r
+\def\chaptername{Chapter}\r
+\def\claimname{Claim}\r
+\def\conjecturename{Conjecture}\r
+\def\contentsname{Table of Contents}\r
+\def\corollaryname{Corollary}\r
+\def\definitionname{Definition}\r
+\def\examplename{Example}\r
+\def\exercisename{Exercise}\r
+\def\figurename{Fig.}\r
+\def\keywordname{{\bf Keywords:}}\r
+\def\indexname{Index}\r
+\def\lemmaname{Lemma}\r
+\def\contriblistname{List of Contributors}\r
+\def\listfigurename{List of Figures}\r
+\def\listtablename{List of Tables}\r
+\def\mailname{{\it Correspondence to\/}:}\r
+\def\noteaddname{Note added in proof}\r
+\def\notename{Note}\r
+\def\partname{Part}\r
+\def\problemname{Problem}\r
+\def\proofname{Proof}\r
+\def\propertyname{Property}\r
+\def\propositionname{Proposition}\r
+\def\questionname{Question}\r
+\def\remarkname{Remark}\r
+\def\seename{see}\r
+\def\solutionname{Solution}\r
+\def\subclassname{{\it Subject Classifications\/}:}\r
+\def\tablename{Table}\r
+\def\theoremname{Theorem}}\r
+\switcht@albion\r
+% Names of theorem like environments are already defined\r
+% but must be translated if another language is chosen\r
+%\r
+% French section\r
+\def\switcht@francais{%\typeout{On parle francais.}%\r
+ \def\abstractname{R\'esum\'e.}%\r
+ \def\ackname{Remerciements.}%\r
+ \def\andname{et}%\r
+ \def\lastandname{ et}%\r
+ \def\appendixname{Appendice}\r
+ \def\chaptername{Chapitre}%\r
+ \def\claimname{Pr\'etention}%\r
+ \def\conjecturename{Hypoth\`ese}%\r
+ \def\contentsname{Table des mati\`eres}%\r
+ \def\corollaryname{Corollaire}%\r
+ \def\definitionname{D\'efinition}%\r
+ \def\examplename{Exemple}%\r
+ \def\exercisename{Exercice}%\r
+ \def\figurename{Fig.}%\r
+ \def\keywordname{{\bf Mots-cl\'e:}}\r
+ \def\indexname{Index}\r
+ \def\lemmaname{Lemme}%\r
+ \def\contriblistname{Liste des contributeurs}\r
+ \def\listfigurename{Liste des figures}%\r
+ \def\listtablename{Liste des tables}%\r
+ \def\mailname{{\it Correspondence to\/}:}\r
+ \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%\r
+ \def\notename{Remarque}%\r
+ \def\partname{Partie}%\r
+ \def\problemname{Probl\`eme}%\r
+ \def\proofname{Preuve}%\r
+ \def\propertyname{Caract\'eristique}%\r
+%\def\propositionname{Proposition}%\r
+ \def\questionname{Question}%\r
+ \def\remarkname{Remarque}%\r
+ \def\seename{voir}\r
+ \def\solutionname{Solution}%\r
+ \def\subclassname{{\it Subject Classifications\/}:}\r
+ \def\tablename{Tableau}%\r
+ \def\theoremname{Th\'eor\`eme}%\r
+}\r
+%\r
+% German section\r
+\def\switcht@deutsch{%\typeout{Man spricht deutsch.}%\r
+ \def\abstractname{Zusammenfassung.}%\r
+ \def\ackname{Danksagung.}%\r
+ \def\andname{und}%\r
+ \def\lastandname{ und}%\r
+ \def\appendixname{Anhang}%\r
+ \def\chaptername{Kapitel}%\r
+ \def\claimname{Behauptung}%\r
+ \def\conjecturename{Hypothese}%\r
+ \def\contentsname{Inhaltsverzeichnis}%\r
+ \def\corollaryname{Korollar}%\r
+%\def\definitionname{Definition}%\r
+ \def\examplename{Beispiel}%\r
+ \def\exercisename{\"Ubung}%\r
+ \def\figurename{Abb.}%\r
+ \def\keywordname{{\bf Schl\"usselw\"orter:}}\r
+ \def\indexname{Index}\r
+%\def\lemmaname{Lemma}%\r
+ \def\contriblistname{Mitarbeiter}\r
+ \def\listfigurename{Abbildungsverzeichnis}%\r
+ \def\listtablename{Tabellenverzeichnis}%\r
+ \def\mailname{{\it Correspondence to\/}:}\r
+ \def\noteaddname{Nachtrag}%\r
+ \def\notename{Anmerkung}%\r
+ \def\partname{Teil}%\r
+%\def\problemname{Problem}%\r
+ \def\proofname{Beweis}%\r
+ \def\propertyname{Eigenschaft}%\r
+%\def\propositionname{Proposition}%\r
+ \def\questionname{Frage}%\r
+ \def\remarkname{Anmerkung}%\r
+ \def\seename{siehe}\r
+ \def\solutionname{L\"osung}%\r
+ \def\subclassname{{\it Subject Classifications\/}:}\r
+ \def\tablename{Tabelle}%\r
+%\def\theoremname{Theorem}%\r
+}\r
+\r
+% Ragged bottom for the actual page\r
+\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil\r
+\global\let\@textbottom\relax}}\r
+\r
+\renewcommand\small{%\r
+   \@setfontsize\small\@ixpt{11}%\r
+   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@\r
+   \abovedisplayshortskip \z@ \@plus2\p@\r
+   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@\r
+   \def\@listi{\leftmargin\leftmargini\r
+               \parsep 0\p@ \@plus1\p@ \@minus\p@\r
+               \topsep 8\p@ \@plus2\p@ \@minus4\p@\r
+               \itemsep0\p@}%\r
+   \belowdisplayskip \abovedisplayskip\r
+}\r
+\r
+\frenchspacing\r
+\widowpenalty=10000\r
+\clubpenalty=10000\r
+\r
+\setlength\oddsidemargin   {63\p@}\r
+\setlength\evensidemargin  {63\p@}\r
+\setlength\marginparwidth  {90\p@}\r
+\r
+\setlength\headsep   {16\p@}\r
+\r
+\setlength\footnotesep{7.7\p@}\r
+\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}\r
+\setlength\intextsep   {8mm\@plus 2\p@ \@minus 2\p@}\r
+\r
+\setcounter{secnumdepth}{2}\r
+\r
+\newcounter {chapter}\r
+\renewcommand\thechapter      {\@arabic\c@chapter}\r
+\r
+\newif\if@mainmatter \@mainmattertrue\r
+\newcommand\frontmatter{\cleardoublepage\r
+            \@mainmatterfalse\pagenumbering{Roman}}\r
+\newcommand\mainmatter{\cleardoublepage\r
+       \@mainmattertrue\pagenumbering{arabic}}\r
+\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi\r
+      \@mainmatterfalse}\r
+\r
+\renewcommand\part{\cleardoublepage\r
+                 \thispagestyle{empty}%\r
+                 \if@twocolumn\r
+                     \onecolumn\r
+                     \@tempswatrue\r
+                   \else\r
+                     \@tempswafalse\r
+                 \fi\r
+                 \null\vfil\r
+                 \secdef\@part\@spart}\r
+\r
+\def\@part[#1]#2{%\r
+    \ifnum \c@secnumdepth >-2\relax\r
+      \refstepcounter{part}%\r
+      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%\r
+    \else\r
+      \addcontentsline{toc}{part}{#1}%\r
+    \fi\r
+    \markboth{}{}%\r
+    {\centering\r
+     \interlinepenalty \@M\r
+     \normalfont\r
+     \ifnum \c@secnumdepth >-2\relax\r
+       \huge\bfseries \partname~\thepart\r
+       \par\r
+       \vskip 20\p@\r
+     \fi\r
+     \Huge \bfseries #2\par}%\r
+    \@endpart}\r
+\def\@spart#1{%\r
+    {\centering\r
+     \interlinepenalty \@M\r
+     \normalfont\r
+     \Huge \bfseries #1\par}%\r
+    \@endpart}\r
+\def\@endpart{\vfil\newpage\r
+              \if@twoside\r
+                \null\r
+                \thispagestyle{empty}%\r
+                \newpage\r
+              \fi\r
+              \if@tempswa\r
+                \twocolumn\r
+              \fi}\r
+\r
+\newcommand\chapter{\clearpage\r
+                    \thispagestyle{empty}%\r
+                    \global\@topnum\z@\r
+                    \@afterindentfalse\r
+                    \secdef\@chapter\@schapter}\r
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne\r
+                       \if@mainmatter\r
+                         \refstepcounter{chapter}%\r
+                         \typeout{\@chapapp\space\thechapter.}%\r
+                         \addcontentsline{toc}{chapter}%\r
+                                  {\protect\numberline{\thechapter}#1}%\r
+                       \else\r
+                         \addcontentsline{toc}{chapter}{#1}%\r
+                       \fi\r
+                    \else\r
+                      \addcontentsline{toc}{chapter}{#1}%\r
+                    \fi\r
+                    \chaptermark{#1}%\r
+                    \addtocontents{lof}{\protect\addvspace{10\p@}}%\r
+                    \addtocontents{lot}{\protect\addvspace{10\p@}}%\r
+                    \if@twocolumn\r
+                      \@topnewpage[\@makechapterhead{#2}]%\r
+                    \else\r
+                      \@makechapterhead{#2}%\r
+                      \@afterheading\r
+                    \fi}\r
+\def\@makechapterhead#1{%\r
+% \vspace*{50\p@}%\r
+  {\centering\r
+    \ifnum \c@secnumdepth >\m@ne\r
+      \if@mainmatter\r
+        \large\bfseries \@chapapp{} \thechapter\r
+        \par\nobreak\r
+        \vskip 20\p@\r
+      \fi\r
+    \fi\r
+    \interlinepenalty\@M\r
+    \Large \bfseries #1\par\nobreak\r
+    \vskip 40\p@\r
+  }}\r
+\def\@schapter#1{\if@twocolumn\r
+                   \@topnewpage[\@makeschapterhead{#1}]%\r
+                 \else\r
+                   \@makeschapterhead{#1}%\r
+                   \@afterheading\r
+                 \fi}\r
+\def\@makeschapterhead#1{%\r
+% \vspace*{50\p@}%\r
+  {\centering\r
+    \normalfont\r
+    \interlinepenalty\@M\r
+    \Large \bfseries  #1\par\nobreak\r
+    \vskip 40\p@\r
+  }}\r
+\r
+\renewcommand\section{\@startsection{section}{1}{\z@}%\r
+                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {12\p@ \@plus 4\p@ \@minus 4\p@}%\r
+                       {\normalfont\large\bfseries\boldmath\r
+                        \rightskip=\z@ \@plus 8em\pretolerance=10000 }}\r
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%\r
+                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {8\p@ \@plus 4\p@ \@minus 4\p@}%\r
+                       {\normalfont\normalsize\bfseries\boldmath\r
+                        \rightskip=\z@ \@plus 8em\pretolerance=10000 }}\r
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%\r
+                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {-0.5em \@plus -0.22em \@minus -0.1em}%\r
+                       {\normalfont\normalsize\bfseries\boldmath}}\r
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%\r
+                       {-12\p@ \@plus -4\p@ \@minus -4\p@}%\r
+                       {-0.5em \@plus -0.22em \@minus -0.1em}%\r
+                       {\normalfont\normalsize\itshape}}\r
+\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use\r
+                  \string\subparagraph\space with this class}\vskip0.5cm\r
+You should not use \verb|\subparagraph| with this class.\vskip0.5cm}\r
+\r
+\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}\r
+\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}\r
+\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}\r
+\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}\r
+\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}\r
+\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}\r
+\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}\r
+\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}\r
+\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}\r
+\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}\r
+\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}\r
+\r
+\let\footnotesize\small\r
+\r
+\if@custvec\r
+\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}\r
+{\mbox{\boldmath$\textstyle#1$}}\r
+{\mbox{\boldmath$\scriptstyle#1$}}\r
+{\mbox{\boldmath$\scriptscriptstyle#1$}}}\r
+\fi\r
+\r
+\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}\r
+\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil\r
+\penalty50\hskip1em\null\nobreak\hfil\squareforqed\r
+\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}\r
+\r
+\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip\r
+\halign{\hfil\r
+$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets\r
+\cr\to\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets\r
+\cr\to\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+\gets\cr\to\cr}}}}}\r
+\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil\r
+$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr\r
+\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr\r
+\noalign{\vskip1pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+<\cr\r
+\noalign{\vskip0.9pt}=\cr}}}}}\r
+\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil\r
+$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr\r
+\noalign{\vskip1.2pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr\r
+\noalign{\vskip1pt}=\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+>\cr\r
+\noalign{\vskip0.9pt}=\cr}}}}}\r
+\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip\r
+\halign{\hfil\r
+$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\r
+>\cr\noalign{\vskip-1pt}<\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\r
+>\cr\noalign{\vskip-0.8pt}<\cr}}}\r
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr\r
+>\cr\noalign{\vskip-0.3pt}<\cr}}}}}\r
+\def\bbbr{{\rm I\!R}} %reelle Zahlen\r
+\def\bbbm{{\rm I\!M}}\r
+\def\bbbn{{\rm I\!N}} %natuerliche Zahlen\r
+\def\bbbf{{\rm I\!F}}\r
+\def\bbbh{{\rm I\!H}}\r
+\def\bbbk{{\rm I\!K}}\r
+\def\bbbp{{\rm I\!P}}\r
+\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}\r
+{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}\r
+\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}\r
+\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm\r
+Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise\r
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}\r
+\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm\r
+T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox\r
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox\r
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox\r
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}\r
+\def\bbbs{{\mathchoice\r
+{\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox\r
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox\r
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox\r
+to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}\r
+{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox\r
+to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox\r
+to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}\r
+\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}\r
+{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}\r
+{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}\r
+{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}\r
+\r
+\let\ts\,\r
+\r
+\setlength\leftmargini  {17\p@}\r
+\setlength\leftmargin    {\leftmargini}\r
+\setlength\leftmarginii  {\leftmargini}\r
+\setlength\leftmarginiii {\leftmargini}\r
+\setlength\leftmarginiv  {\leftmargini}\r
+\setlength  \labelsep  {.5em}\r
+\setlength  \labelwidth{\leftmargini}\r
+\addtolength\labelwidth{-\labelsep}\r
+\r
+\def\@listI{\leftmargin\leftmargini\r
+            \parsep 0\p@ \@plus1\p@ \@minus\p@\r
+            \topsep 8\p@ \@plus2\p@ \@minus4\p@\r
+            \itemsep0\p@}\r
+\let\@listi\@listI\r
+\@listi\r
+\def\@listii {\leftmargin\leftmarginii\r
+              \labelwidth\leftmarginii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    0\p@ \@plus2\p@ \@minus\p@}\r
+\def\@listiii{\leftmargin\leftmarginiii\r
+              \labelwidth\leftmarginiii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    0\p@ \@plus\p@\@minus\p@\r
+              \parsep    \z@\r
+              \partopsep \p@ \@plus\z@ \@minus\p@}\r
+\r
+\renewcommand\labelitemi{\normalfont\bfseries --}\r
+\renewcommand\labelitemii{$\m@th\bullet$}\r
+\r
+\setlength\arraycolsep{1.4\p@}\r
+\setlength\tabcolsep{1.4\p@}\r
+\r
+\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%\r
+                                                    {{\contentsname}}}\r
+ \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}\r
+ \def\lastand{\ifnum\value{auco}=2\relax\r
+                 \unskip{} \andname\\r
+              \else\r
+                 \unskip \lastandname\\r
+              \fi}%\r
+ \def\and{\stepcounter{@auth}\relax\r
+          \ifnum\value{@auth}=\value{auco}%\r
+             \lastand\r
+          \else\r
+             \unskip,\r
+          \fi}%\r
+ \@starttoc{toc}\if@restonecol\twocolumn\fi}\r
+\r
+\def\l@part#1#2{\addpenalty{\@secpenalty}%\r
+   \addvspace{2em plus\p@}%  % space above part line\r
+   \begingroup\r
+     \parindent \z@\r
+     \rightskip \z@ plus 5em\r
+     \hrule\vskip5pt\r
+     \large               % same size as for a contribution heading\r
+     \bfseries\boldmath   % set line in boldface\r
+     \leavevmode          % TeX command to enter horizontal mode.\r
+     #1\par\r
+     \vskip5pt\r
+     \hrule\r
+     \vskip1pt\r
+     \nobreak             % Never break after part entry\r
+   \endgroup}\r
+\r
+\def\@dotsep{2}\r
+\r
+\let\phantomsection=\relax\r
+\r
+\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else\r
+{}\fi}\r
+\r
+\def\addnumcontentsmark#1#2#3{%\r
+\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline\r
+                     {\thechapter}#3}{\thepage}\hyperhrefextend}}%\r
+\def\addcontentsmark#1#2#3{%\r
+\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}%\r
+\def\addcontentsmarkwop#1#2#3{%\r
+\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}%\r
+\r
+\def\@adcmk[#1]{\ifcase #1 \or\r
+\def\@gtempa{\addnumcontentsmark}%\r
+  \or    \def\@gtempa{\addcontentsmark}%\r
+  \or    \def\@gtempa{\addcontentsmarkwop}%\r
+  \fi\@gtempa{toc}{chapter}%\r
+}\r
+\def\addtocmark{%\r
+\phantomsection\r
+\@ifnextchar[{\@adcmk}{\@adcmk[3]}%\r
+}\r
+\r
+\def\l@chapter#1#2{\addpenalty{-\@highpenalty}\r
+ \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup\r
+ \parindent \z@ \rightskip \@tocrmarg\r
+ \advance\rightskip by 0pt plus 2cm\r
+ \parfillskip -\rightskip \pretolerance=10000\r
+ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip\r
+ {\large\bfseries\boldmath#1}\ifx0#2\hfil\null\r
+ \else\r
+      \nobreak\r
+      \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern\r
+      \@dotsep mu$}\hfill\r
+      \nobreak\hbox to\@pnumwidth{\hss #2}%\r
+ \fi\par\r
+ \penalty\@highpenalty \endgroup}\r
+\r
+\def\l@title#1#2{\addpenalty{-\@highpenalty}\r
+ \addvspace{8pt plus 1pt}\r
+ \@tempdima \z@\r
+ \begingroup\r
+ \parindent \z@ \rightskip \@tocrmarg\r
+ \advance\rightskip by 0pt plus 2cm\r
+ \parfillskip -\rightskip \pretolerance=10000\r
+ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip\r
+ #1\nobreak\r
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern\r
+ \@dotsep mu$}\hfill\r
+ \nobreak\hbox to\@pnumwidth{\hss #2}\par\r
+ \penalty\@highpenalty \endgroup}\r
+\r
+\def\l@author#1#2{\addpenalty{\@highpenalty}\r
+ \@tempdima=15\p@ %\z@\r
+ \begingroup\r
+ \parindent \z@ \rightskip \@tocrmarg\r
+ \advance\rightskip by 0pt plus 2cm\r
+ \pretolerance=10000\r
+ \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip\r
+ \textit{#1}\par\r
+ \penalty\@highpenalty \endgroup}\r
+\r
+\setcounter{tocdepth}{0}\r
+\newdimen\tocchpnum\r
+\newdimen\tocsecnum\r
+\newdimen\tocsectotal\r
+\newdimen\tocsubsecnum\r
+\newdimen\tocsubsectotal\r
+\newdimen\tocsubsubsecnum\r
+\newdimen\tocsubsubsectotal\r
+\newdimen\tocparanum\r
+\newdimen\tocparatotal\r
+\newdimen\tocsubparanum\r
+\tocchpnum=\z@            % no chapter numbers\r
+\tocsecnum=15\p@          % section 88. plus 2.222pt\r
+\tocsubsecnum=23\p@       % subsection 88.8 plus 2.222pt\r
+\tocsubsubsecnum=27\p@    % subsubsection 88.8.8 plus 1.444pt\r
+\tocparanum=35\p@         % paragraph 88.8.8.8 plus 1.666pt\r
+\tocsubparanum=43\p@      % subparagraph 88.8.8.8.8 plus 1.888pt\r
+\def\calctocindent{%\r
+\tocsectotal=\tocchpnum\r
+\advance\tocsectotal by\tocsecnum\r
+\tocsubsectotal=\tocsectotal\r
+\advance\tocsubsectotal by\tocsubsecnum\r
+\tocsubsubsectotal=\tocsubsectotal\r
+\advance\tocsubsubsectotal by\tocsubsubsecnum\r
+\tocparatotal=\tocsubsubsectotal\r
+\advance\tocparatotal by\tocparanum}\r
+\calctocindent\r
+\r
+\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}\r
+\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}\r
+\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}\r
+\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}\r
+\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}\r
+\r
+\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\r
+ \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}\r
+ \@starttoc{lof}\if@restonecol\twocolumn\fi}\r
+\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}\r
+\r
+\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\r
+ \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}\r
+ \@starttoc{lot}\if@restonecol\twocolumn\fi}\r
+\let\l@table\l@figure\r
+\r
+\renewcommand\listoffigures{%\r
+    \section*{\listfigurename\r
+      \@mkboth{\listfigurename}{\listfigurename}}%\r
+    \@starttoc{lof}%\r
+    }\r
+\r
+\renewcommand\listoftables{%\r
+    \section*{\listtablename\r
+      \@mkboth{\listtablename}{\listtablename}}%\r
+    \@starttoc{lot}%\r
+    }\r
+\r
+\ifx\oribibl\undefined\r
+\ifx\citeauthoryear\undefined\r
+\renewenvironment{thebibliography}[1]\r
+     {\section*{\refname}\r
+      \def\@biblabel##1{##1.}\r
+      \small\r
+      \list{\@biblabel{\@arabic\c@enumiv}}%\r
+           {\settowidth\labelwidth{\@biblabel{#1}}%\r
+            \leftmargin\labelwidth\r
+            \advance\leftmargin\labelsep\r
+            \if@openbib\r
+              \advance\leftmargin\bibindent\r
+              \itemindent -\bibindent\r
+              \listparindent \itemindent\r
+              \parsep \z@\r
+            \fi\r
+            \usecounter{enumiv}%\r
+            \let\p@enumiv\@empty\r
+            \renewcommand\theenumiv{\@arabic\c@enumiv}}%\r
+      \if@openbib\r
+        \renewcommand\newblock{\par}%\r
+      \else\r
+        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%\r
+      \fi\r
+      \sloppy\clubpenalty4000\widowpenalty4000%\r
+      \sfcode`\.=\@m}\r
+     {\def\@noitemerr\r
+       {\@latex@warning{Empty `thebibliography' environment}}%\r
+      \endlist}\r
+\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw\r
+     {\let\protect\noexpand\immediate\r
+     \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}\r
+\newcount\@tempcntc\r
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi\r
+  \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do\r
+    {\@ifundefined\r
+       {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries\r
+        ?}\@warning\r
+       {Citation `\@citeb' on page \thepage \space undefined}}%\r
+    {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%\r
+     \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne\r
+       \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%\r
+     \else\r
+      \advance\@tempcntb\@ne\r
+      \ifnum\@tempcntb=\@tempcntc\r
+      \else\advance\@tempcntb\m@ne\@citeo\r
+      \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}\r
+\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\r
+               \@citea\def\@citea{,\,\hskip\z@skip}%\r
+               \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else\r
+               {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else\r
+                \def\@citea{--}\fi\r
+      \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}\r
+\else\r
+\renewenvironment{thebibliography}[1]\r
+     {\section*{\refname}\r
+      \small\r
+      \list{}%\r
+           {\settowidth\labelwidth{}%\r
+            \leftmargin\parindent\r
+            \itemindent=-\parindent\r
+            \labelsep=\z@\r
+            \if@openbib\r
+              \advance\leftmargin\bibindent\r
+              \itemindent -\bibindent\r
+              \listparindent \itemindent\r
+              \parsep \z@\r
+            \fi\r
+            \usecounter{enumiv}%\r
+            \let\p@enumiv\@empty\r
+            \renewcommand\theenumiv{}}%\r
+      \if@openbib\r
+        \renewcommand\newblock{\par}%\r
+      \else\r
+        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%\r
+      \fi\r
+      \sloppy\clubpenalty4000\widowpenalty4000%\r
+      \sfcode`\.=\@m}\r
+     {\def\@noitemerr\r
+       {\@latex@warning{Empty `thebibliography' environment}}%\r
+      \endlist}\r
+      \def\@cite#1{#1}%\r
+      \def\@lbibitem[#1]#2{\item[]\if@filesw\r
+        {\def\protect##1{\string ##1\space}\immediate\r
+      \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}\r
+   \fi\r
+\else\r
+\@cons\@openbib@code{\noexpand\small}\r
+\fi\r
+\r
+\def\idxquad{\hskip 10\p@}% space that divides entry from number\r
+\r
+\def\@idxitem{\par\hangindent 10\p@}\r
+\r
+\def\subitem{\par\setbox0=\hbox{--\enspace}% second order\r
+                \noindent\hangindent\wd0\box0}% index entry\r
+\r
+\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third\r
+                \noindent\hangindent\wd0\box0}% order index entry\r
+\r
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}\r
+\r
+\renewenvironment{theindex}\r
+               {\@mkboth{\indexname}{\indexname}%\r
+                \thispagestyle{empty}\parindent\z@\r
+                \parskip\z@ \@plus .3\p@\relax\r
+                \let\item\par\r
+                \def\,{\relax\ifmmode\mskip\thinmuskip\r
+                             \else\hskip0.2em\ignorespaces\fi}%\r
+                \normalfont\small\r
+                \begin{multicols}{2}[\@makeschapterhead{\indexname}]%\r
+                }\r
+                {\end{multicols}}\r
+\r
+\renewcommand\footnoterule{%\r
+  \kern-3\p@\r
+  \hrule\@width 2truecm\r
+  \kern2.6\p@}\r
+  \newdimen\fnindent\r
+  \fnindent1em\r
+\long\def\@makefntext#1{%\r
+    \parindent \fnindent%\r
+    \leftskip \fnindent%\r
+    \noindent\r
+    \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}\r
+\r
+\long\def\@makecaption#1#2{%\r
+  \small\r
+  \vskip\abovecaptionskip\r
+  \sbox\@tempboxa{{\bfseries #1.} #2}%\r
+  \ifdim \wd\@tempboxa >\hsize\r
+    {\bfseries #1.} #2\par\r
+  \else\r
+    \global \@minipagefalse\r
+    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+  \fi\r
+  \vskip\belowcaptionskip}\r
+\r
+\def\fps@figure{htbp}\r
+\def\fnum@figure{\figurename\thinspace\thefigure}\r
+\def \@floatboxreset {%\r
+        \reset@font\r
+        \small\r
+        \@setnobreak\r
+        \@setminipage\r
+}\r
+\def\fps@table{htbp}\r
+\def\fnum@table{\tablename~\thetable}\r
+\renewenvironment{table}\r
+               {\setlength\abovecaptionskip{0\p@}%\r
+                \setlength\belowcaptionskip{10\p@}%\r
+                \@float{table}}\r
+               {\end@float}\r
+\renewenvironment{table*}\r
+               {\setlength\abovecaptionskip{0\p@}%\r
+                \setlength\belowcaptionskip{10\p@}%\r
+                \@dblfloat{table}}\r
+               {\end@dblfloat}\r
+\r
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname\r
+  ext@#1\endcsname}{#1}{\protect\numberline{\csname\r
+  the#1\endcsname}{\ignorespaces #2}}\begingroup\r
+    \@parboxrestore\r
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par\r
+  \endgroup}\r
+\r
+% LaTeX does not provide a command to enter the authors institute\r
+% addresses. The \institute command is defined here.\r
+\r
+\newcounter{@inst}\r
+\newcounter{@auth}\r
+\newcounter{auco}\r
+\newdimen\instindent\r
+\newbox\authrun\r
+\newtoks\authorrunning\r
+\newtoks\tocauthor\r
+\newbox\titrun\r
+\newtoks\titlerunning\r
+\newtoks\toctitle\r
+\r
+\def\clearheadinfo{\gdef\@author{No Author Given}%\r
+                   \gdef\@title{No Title Given}%\r
+                   \gdef\@subtitle{}%\r
+                   \gdef\@institute{No Institute Given}%\r
+                   \gdef\@thanks{}%\r
+                   \global\titlerunning={}\global\authorrunning={}%\r
+                   \global\toctitle={}\global\tocauthor={}}\r
+\r
+\def\institute#1{\gdef\@institute{#1}}\r
+\r
+\def\institutename{\par\r
+ \begingroup\r
+ \parskip=\z@\r
+ \parindent=\z@\r
+ \setcounter{@inst}{1}%\r
+ \def\and{\par\stepcounter{@inst}%\r
+ \noindent$^{\the@inst}$\enspace\ignorespaces}%\r
+ \setbox0=\vbox{\def\thanks##1{}\@institute}%\r
+ \ifnum\c@@inst=1\relax\r
+   \gdef\fnnstart{0}%\r
+ \else\r
+   \xdef\fnnstart{\c@@inst}%\r
+   \setcounter{@inst}{1}%\r
+   \noindent$^{\the@inst}$\enspace\r
+ \fi\r
+ \ignorespaces\r
+ \@institute\par\r
+ \endgroup}\r
+\r
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or\r
+   {\star\star\star}\or \dagger\or \ddagger\or\r
+   \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger\r
+   \or \ddagger\ddagger \else\@ctrerr\fi}}\r
+\r
+\def\inst#1{\unskip$^{#1}$}\r
+\def\fnmsep{\unskip$^,$}\r
+\def\email#1{{\tt#1}}\r
+\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%\r
+\@ifpackageloaded{babel}{%\r
+\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%\r
+\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%\r
+\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%\r
+}{\switcht@@therlang}%\r
+\providecommand{\keywords}[1]{\par\addvspace\baselineskip\r
+\noindent\keywordname\enspace\ignorespaces#1}%\r
+}\r
+\def\homedir{\~{ }}\r
+\r
+\def\subtitle#1{\gdef\@subtitle{#1}}\r
+\clearheadinfo\r
+%\r
+%%% to avoid hyperref warnings\r
+\providecommand*{\toclevel@author}{999}\r
+%%% to make title-entry parent of section-entries\r
+\providecommand*{\toclevel@title}{0}\r
+%\r
+\renewcommand\maketitle{\newpage\r
+\phantomsection\r
+  \refstepcounter{chapter}%\r
+  \stepcounter{section}%\r
+  \setcounter{section}{0}%\r
+  \setcounter{subsection}{0}%\r
+  \setcounter{figure}{0}\r
+  \setcounter{table}{0}\r
+  \setcounter{equation}{0}\r
+  \setcounter{footnote}{0}%\r
+  \begingroup\r
+    \parindent=\z@\r
+    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%\r
+    \if@twocolumn\r
+      \ifnum \col@number=\@ne\r
+        \@maketitle\r
+      \else\r
+        \twocolumn[\@maketitle]%\r
+      \fi\r
+    \else\r
+      \newpage\r
+      \global\@topnum\z@   % Prevents figures from going at top of page.\r
+      \@maketitle\r
+    \fi\r
+    \thispagestyle{empty}\@thanks\r
+%\r
+    \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%\r
+    \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%\r
+    \instindent=\hsize\r
+    \advance\instindent by-\headlineindent\r
+    \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else\r
+       \addcontentsline{toc}{title}{\the\toctitle}\fi\r
+    \if@runhead\r
+       \if!\the\titlerunning!\else\r
+         \edef\@title{\the\titlerunning}%\r
+       \fi\r
+       \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%\r
+       \ifdim\wd\titrun>\instindent\r
+          \typeout{Title too long for running head. Please supply}%\r
+          \typeout{a shorter form with \string\titlerunning\space prior to\r
+                   \string\maketitle}%\r
+          \global\setbox\titrun=\hbox{\small\rm\r
+          Title Suppressed Due to Excessive Length}%\r
+       \fi\r
+       \xdef\@title{\copy\titrun}%\r
+    \fi\r
+%\r
+    \if!\the\tocauthor!\relax\r
+      {\def\and{\noexpand\protect\noexpand\and}%\r
+      \protected@xdef\toc@uthor{\@author}}%\r
+    \else\r
+      \def\\{\noexpand\protect\noexpand\newline}%\r
+      \protected@xdef\scratch{\the\tocauthor}%\r
+      \protected@xdef\toc@uthor{\scratch}%\r
+    \fi\r
+    \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%\r
+    \addcontentsline{toc}{author}{\toc@uthor}%\r
+    \if@runhead\r
+       \if!\the\authorrunning!\r
+         \value{@inst}=\value{@auth}%\r
+         \setcounter{@auth}{1}%\r
+       \else\r
+         \edef\@author{\the\authorrunning}%\r
+       \fi\r
+       \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%\r
+       \ifdim\wd\authrun>\instindent\r
+          \typeout{Names of authors too long for running head. Please supply}%\r
+          \typeout{a shorter form with \string\authorrunning\space prior to\r
+                   \string\maketitle}%\r
+          \global\setbox\authrun=\hbox{\small\rm\r
+          Authors Suppressed Due to Excessive Length}%\r
+       \fi\r
+       \xdef\@author{\copy\authrun}%\r
+       \markboth{\@author}{\@title}%\r
+     \fi\r
+  \endgroup\r
+  \setcounter{footnote}{\fnnstart}%\r
+  \clearheadinfo}\r
+%\r
+\def\@maketitle{\newpage\r
+ \markboth{}{}%\r
+ \def\lastand{\ifnum\value{@inst}=2\relax\r
+                 \unskip{} \andname\\r
+              \else\r
+                 \unskip \lastandname\\r
+              \fi}%\r
+ \def\and{\stepcounter{@auth}\relax\r
+          \ifnum\value{@auth}=\value{@inst}%\r
+             \lastand\r
+          \else\r
+             \unskip,\r
+          \fi}%\r
+ \begin{center}%\r
+ \let\newline\\\r
+ {\Large \bfseries\boldmath\r
+  \pretolerance=10000\r
+  \@title \par}\vskip .8cm\r
+\if!\@subtitle!\else {\large \bfseries\boldmath\r
+  \vskip -.65cm\r
+  \pretolerance=10000\r
+  \@subtitle \par}\vskip .8cm\fi\r
+ \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%\r
+ \def\thanks##1{}\@author}%\r
+ \global\value{@inst}=\value{@auth}%\r
+ \global\value{auco}=\value{@auth}%\r
+ \setcounter{@auth}{1}%\r
+{\lineskip .5em\r
+\noindent\ignorespaces\r
+\@author\vskip.35cm}\r
+ {\small\institutename}\r
+ \end{center}%\r
+ }\r
+\r
+% definition of the "\spnewtheorem" command.\r
+%\r
+% Usage:\r
+%\r
+%     \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}\r
+% or  \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}\r
+% or  \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}\r
+%\r
+% New is "cap_font" and "body_font". It stands for\r
+% fontdefinition of the caption and the text itself.\r
+%\r
+% "\spnewtheorem*" gives a theorem without number.\r
+%\r
+% A defined spnewthoerem environment is used as described\r
+% by Lamport.\r
+%\r
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\r
+\def\@thmcountersep{}\r
+\def\@thmcounterend{.}\r
+\r
+\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}\r
+\r
+% definition of \spnewtheorem with number\r
+\r
+\def\@spnthm#1#2{%\r
+  \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}\r
+\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}\r
+\r
+\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname\r
+   {\@definecounter{#1}\@addtoreset{#1}{#3}%\r
+   \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand\r
+     \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%\r
+   \expandafter\xdef\csname #1name\endcsname{#2}%\r
+   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%\r
+                              \global\@namedef{end#1}{\@endtheorem}}}\r
+\r
+\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname\r
+   {\@definecounter{#1}%\r
+   \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%\r
+   \expandafter\xdef\csname #1name\endcsname{#2}%\r
+   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%\r
+                               \global\@namedef{end#1}{\@endtheorem}}}\r
+\r
+\def\@spothm#1[#2]#3#4#5{%\r
+  \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%\r
+  {\expandafter\@ifdefinable\csname #1\endcsname\r
+  {\newaliascnt{#1}{#2}%\r
+  \expandafter\xdef\csname #1name\endcsname{#3}%\r
+  \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%\r
+  \global\@namedef{end#1}{\@endtheorem}}}}\r
+\r
+\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@\r
+\refstepcounter{#1}%\r
+\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}\r
+\r
+\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%\r
+                    \ignorespaces}\r
+\r
+\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname\r
+       the#1\endcsname}{#5}{#3}{#4}\ignorespaces}\r
+\r
+\def\@spbegintheorem#1#2#3#4{\trivlist\r
+                 \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}\r
+\r
+\def\@spopargbegintheorem#1#2#3#4#5{\trivlist\r
+      \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}\r
+\r
+% definition of \spnewtheorem* without number\r
+\r
+\def\@sthm#1#2{\@Ynthm{#1}{#2}}\r
+\r
+\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname\r
+   {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%\r
+    \expandafter\xdef\csname #1name\endcsname{#2}%\r
+    \global\@namedef{end#1}{\@endtheorem}}}\r
+\r
+\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@\r
+\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}\r
+\r
+\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}\r
+\r
+\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}\r
+       {#4}{#2}{#3}\ignorespaces}\r
+\r
+\def\@Begintheorem#1#2#3{#3\trivlist\r
+                           \item[\hskip\labelsep{#2#1\@thmcounterend}]}\r
+\r
+\def\@Opargbegintheorem#1#2#3#4{#4\trivlist\r
+      \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}\r
+\r
+\if@envcntsect\r
+   \def\@thmcountersep{.}\r
+   \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}\r
+\else\r
+   \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}\r
+   \if@envcntreset\r
+      \@addtoreset{theorem}{section}\r
+   \else\r
+      \@addtoreset{theorem}{chapter}\r
+   \fi\r
+\fi\r
+\r
+%definition of divers theorem environments\r
+\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}\r
+\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}\r
+\if@envcntsame % alle Umgebungen wie Theorem.\r
+   \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}\r
+\else % alle Umgebungen mit eigenem Zaehler\r
+   \if@envcntsect % mit section numeriert\r
+      \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}\r
+   \else % nicht mit section numeriert\r
+      \if@envcntreset\r
+         \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}\r
+                                   \@addtoreset{#1}{section}}\r
+      \else\r
+         \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}\r
+                                   \@addtoreset{#1}{chapter}}%\r
+      \fi\r
+   \fi\r
+\fi\r
+\spn@wtheorem{case}{Case}{\itshape}{\rmfamily}\r
+\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}\r
+\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}\r
+\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}\r
+\spn@wtheorem{example}{Example}{\itshape}{\rmfamily}\r
+\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}\r
+\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}\r
+\spn@wtheorem{note}{Note}{\itshape}{\rmfamily}\r
+\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}\r
+\spn@wtheorem{property}{Property}{\itshape}{\rmfamily}\r
+\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}\r
+\spn@wtheorem{question}{Question}{\itshape}{\rmfamily}\r
+\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}\r
+\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}\r
+\r
+\def\@takefromreset#1#2{%\r
+    \def\@tempa{#1}%\r
+    \let\@tempd\@elt\r
+    \def\@elt##1{%\r
+        \def\@tempb{##1}%\r
+        \ifx\@tempa\@tempb\else\r
+            \@addtoreset{##1}{#2}%\r
+        \fi}%\r
+    \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname\r
+    \expandafter\def\csname cl@#2\endcsname{}%\r
+    \@tempc\r
+    \let\@elt\@tempd}\r
+\r
+\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist\r
+      \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}\r
+                  \def\@Opargbegintheorem##1##2##3##4{##4\trivlist\r
+      \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}\r
+      }\r
+\r
+\renewenvironment{abstract}{%\r
+      \list{}{\advance\topsep by0.35cm\relax\small\r
+      \leftmargin=1cm\r
+      \labelwidth=\z@\r
+      \listparindent=\z@\r
+      \itemindent\listparindent\r
+      \rightmargin\leftmargin}\item[\hskip\labelsep\r
+                                    \bfseries\abstractname]}\r
+    {\endlist}\r
+\r
+\newdimen\headlineindent             % dimension for space between\r
+\headlineindent=1.166cm              % number and text of headings.\r
+\r
+\def\ps@headings{\let\@mkboth\@gobbletwo\r
+   \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+   \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%\r
+                  \leftmark\hfil}\r
+   \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%\r
+                 \llap{\thepage}}\r
+   \def\chaptermark##1{}%\r
+   \def\sectionmark##1{}%\r
+   \def\subsectionmark##1{}}\r
+\r
+\def\ps@titlepage{\let\@mkboth\@gobbletwo\r
+   \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+   \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%\r
+                  \hfil}\r
+   \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%\r
+                 \llap{\thepage}}\r
+   \def\chaptermark##1{}%\r
+   \def\sectionmark##1{}%\r
+   \def\subsectionmark##1{}}\r
+\r
+\if@runhead\ps@headings\else\r
+\ps@empty\fi\r
+\r
+\setlength\arraycolsep{1.4\p@}\r
+\setlength\tabcolsep{1.4\p@}\r
+\r
+\endinput\r
+%end of file llncs.cls\r
diff --git a/pan12-notebook-template/pan12-notebook-template.doc b/pan12-notebook-template/pan12-notebook-template.doc
new file mode 100755 (executable)
index 0000000..1a1e8a6
Binary files /dev/null and b/pan12-notebook-template/pan12-notebook-template.doc differ
diff --git a/pan12-notebook-template/pan12-notebook-template.pdf b/pan12-notebook-template/pan12-notebook-template.pdf
new file mode 100644 (file)
index 0000000..24bc4b2
Binary files /dev/null and b/pan12-notebook-template/pan12-notebook-template.pdf differ
diff --git a/pan12-notebook-template/pan12-notebook-template.tex b/pan12-notebook-template/pan12-notebook-template.tex
new file mode 100644 (file)
index 0000000..f874f6f
--- /dev/null
@@ -0,0 +1,40 @@
+\documentclass{llncs}
+\usepackage[american]{babel}
+\usepackage[T1]{fontenc}
+\usepackage{times}
+\usepackage{graphicx}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+
+\title{Your Title}
+%%% Please do not remove the subtitle.
+\subtitle{Notebook for PAN at CLEF 2012}
+
+\author{Author One \and Author Two \and ... \and Author N}
+\institute{Affiliation \\
+E-Mail}
+
+\maketitle
+
+\begin{abstract}
+Briefly describe the main ideas of your approach.
+\end{abstract}
+
+
+\section{Introduction}
+
+The notebooks shall contain a full write-up of your approach, including all details necessary to reproduce your results.
+
+
+
+\bibliographystyle{splncs03}
+\begin{raggedright}
+\bibliography{}
+\end{raggedright}
+
+\end{document}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
diff --git a/pan12-notebook-template/splncs03.bst b/pan12-notebook-template/splncs03.bst
new file mode 100644 (file)
index 0000000..3279169
--- /dev/null
@@ -0,0 +1,1519 @@
+%% BibTeX bibliography style `splncs03'\r
+%%\r
+%% BibTeX bibliography style for use with numbered references in\r
+%% Springer Verlag's "Lecture Notes in Computer Science" series.\r
+%% (See Springer's documentation for llncs.cls for\r
+%% more details of the suggested reference format.)  Note that this\r
+%% file will not work for author-year style citations.\r
+%%\r
+%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite\r
+%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text.\r
+%%\r
+%% This file comes to you courtesy of Maurizio "Titto" Patrignani of\r
+%% Dipartimento di Informatica e Automazione Universita' Roma Tre\r
+%%\r
+%% ================================================================================================\r
+%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009\r
+%% Edited by hand by titto based on `titto-lncs-01.bst' (see below)\r
+%%\r
+%% CHANGES (with respect to titto-lncs-01.bst):\r
+%% - Removed the call to \urlprefix (thus no "URL" string is added to the output)\r
+%% ================================================================================================\r
+%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008\r
+%% Edited by hand by titto based on `titto.bst' (see below)\r
+%%\r
+%% CHANGES (with respect to titto.bst):\r
+%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)"\r
+%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.")\r
+%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings\r
+%% - Commented all new.block commands before urls and notes (to separate them with a comma)\r
+%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label)\r
+%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle)\r
+%% - Removed a \newblock to avoid long spaces between title and "In: ..."\r
+%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label\r
+%% ================================================================================================\r
+%% This was file `titto.bst',\r
+%% generated with the docstrip utility.\r
+%%\r
+%% The original source files were:\r
+%%\r
+%% 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,')\r
+%% ----------------------------------------\r
+%% *** Tentative .bst file for Springer LNCS ***\r
+%%\r
+%% Copyright 1994-2007 Patrick W Daly\r
+ % ===============================================================\r
+ % IMPORTANT NOTICE:\r
+ % This bibliographic style (bst) file has been generated from one or\r
+ % more master bibliographic style (mbs) files, listed above.\r
+ %\r
+ % This generated file can be redistributed and/or modified under the terms\r
+ % of the LaTeX Project Public License Distributed from CTAN\r
+ % archives in directory macros/latex/base/lppl.txt; either\r
+ % version 1 of the License, or any later version.\r
+ % ===============================================================\r
+ % Name and version information of the main mbs file:\r
+ % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)]\r
+ %   For use with BibTeX version 0.99a or later\r
+ %-------------------------------------------------------------------\r
+ % This bibliography style file is intended for texts in ENGLISH\r
+ % This is a numerical citation style, and as such is standard LaTeX.\r
+ % It requires no extra package to interface to the main text.\r
+ % The form of the \bibitem entries is\r
+ %   \bibitem{key}...\r
+ % Usage of \cite is as follows:\r
+ %   \cite{key} ==>>          [#]\r
+ %   \cite[chap. 2]{key} ==>> [#, chap. 2]\r
+ % where # is a number determined by the ordering in the reference list.\r
+ % The order in the reference list is alphabetical by authors.\r
+ %---------------------------------------------------------------------\r
+\r
+ENTRY\r
+  { address\r
+    author\r
+    booktitle\r
+    chapter\r
+    edition\r
+    editor\r
+    eid\r
+    howpublished\r
+    institution\r
+    journal\r
+    key\r
+    month\r
+    note\r
+    number\r
+    organization\r
+    pages\r
+    publisher\r
+    school\r
+    series\r
+    title\r
+    type\r
+    url\r
+    volume\r
+    year\r
+  }\r
+  {}\r
+  { label }\r
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }\r
+FUNCTION {init.state.consts}\r
+{ #0 'before.all :=\r
+  #1 'mid.sentence :=\r
+  #2 'after.sentence :=\r
+  #3 'after.block :=\r
+}\r
+STRINGS { s t}\r
+FUNCTION {output.nonnull}\r
+{ 's :=\r
+  output.state mid.sentence =\r
+    { ", " * write$ }\r
+    { output.state after.block =\r
+        { add.period$ write$\r
+%          newline$\r
+%          "\newblock " write$  % removed for titto-lncs-01\r
+          " " write$            % to avoid long spaces between title and "In: ..."\r
+        }\r
+        { output.state before.all =\r
+            'write$\r
+            { add.period$ " " * write$ }\r
+          if$\r
+        }\r
+      if$\r
+      mid.sentence 'output.state :=\r
+    }\r
+  if$\r
+  s\r
+}\r
+FUNCTION {output}\r
+{ duplicate$ empty$\r
+    'pop$\r
+    'output.nonnull\r
+  if$\r
+}\r
+FUNCTION {output.check}\r
+{ 't :=\r
+  duplicate$ empty$\r
+    { pop$ "empty " t * " in " * cite$ * warning$ }\r
+    'output.nonnull\r
+  if$\r
+}\r
+FUNCTION {fin.entry}\r
+{ duplicate$ empty$\r
+    'pop$\r
+    'write$\r
+  if$\r
+  newline$\r
+}\r
+\r
+FUNCTION {new.block}\r
+{ output.state before.all =\r
+    'skip$\r
+    { after.block 'output.state := }\r
+  if$\r
+}\r
+FUNCTION {new.sentence}\r
+{ output.state after.block =\r
+    'skip$\r
+    { output.state before.all =\r
+        'skip$\r
+        { after.sentence 'output.state := }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+FUNCTION {add.blank}\r
+{  " " * before.all 'output.state :=\r
+}\r
+\r
+\r
+FUNCTION {add.colon}\r
+{ duplicate$ empty$\r
+    'skip$\r
+    { ":" * add.blank }\r
+  if$\r
+}\r
+\r
+FUNCTION {date.block}\r
+{\r
+  new.block\r
+}\r
+\r
+FUNCTION {not}\r
+{   { #0 }\r
+    { #1 }\r
+  if$\r
+}\r
+FUNCTION {and}\r
+{   'skip$\r
+    { pop$ #0 }\r
+  if$\r
+}\r
+FUNCTION {or}\r
+{   { pop$ #1 }\r
+    'skip$\r
+  if$\r
+}\r
+STRINGS {z}\r
+FUNCTION {remove.dots}\r
+{ 'z :=\r
+  ""\r
+  { z empty$ not }\r
+  { z #1 #1 substring$\r
+    z #2 global.max$ substring$ 'z :=\r
+    duplicate$ "." = 'pop$\r
+      { * }\r
+    if$\r
+  }\r
+  while$\r
+}\r
+FUNCTION {new.block.checka}\r
+{ empty$\r
+    'skip$\r
+    'new.block\r
+  if$\r
+}\r
+FUNCTION {new.block.checkb}\r
+{ empty$\r
+  swap$ empty$\r
+  and\r
+    'skip$\r
+    'new.block\r
+  if$\r
+}\r
+FUNCTION {new.sentence.checka}\r
+{ empty$\r
+    'skip$\r
+    'new.sentence\r
+  if$\r
+}\r
+FUNCTION {new.sentence.checkb}\r
+{ empty$\r
+  swap$ empty$\r
+  and\r
+    'skip$\r
+    'new.sentence\r
+  if$\r
+}\r
+FUNCTION {field.or.null}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    'skip$\r
+  if$\r
+}\r
+FUNCTION {emphasize}\r
+{ skip$ }\r
+FUNCTION {tie.or.space.prefix}\r
+{ duplicate$ text.length$ #3 <\r
+    { "~" }\r
+    { " " }\r
+  if$\r
+  swap$\r
+}\r
+FUNCTION {titto.space.prefix} %  always introduce a space\r
+{ duplicate$ text.length$ #3 <\r
+    { " " }\r
+    { " " }\r
+  if$\r
+  swap$\r
+}\r
+\r
+\r
+FUNCTION {capitalize}\r
+{ "u" change.case$ "t" change.case$ }\r
+\r
+FUNCTION {space.word}\r
+{ " " swap$ * " " * }\r
+ % Here are the language-specific definitions for explicit words.\r
+ % Each function has a name bbl.xxx where xxx is the English word.\r
+ % The language selected here is ENGLISH\r
+FUNCTION {bbl.and}\r
+{ "and"}\r
+\r
+FUNCTION {bbl.etal}\r
+{ "et~al." }\r
+\r
+FUNCTION {bbl.editors}\r
+{ "eds." }\r
+\r
+FUNCTION {bbl.editor}\r
+{ "ed." }\r
+\r
+FUNCTION {bbl.edby}\r
+{ "edited by" }\r
+\r
+FUNCTION {bbl.edition}\r
+{ "edn." }\r
+\r
+FUNCTION {bbl.volume}\r
+{ "vol." }\r
+\r
+FUNCTION {titto.bbl.volume} % for handling journals\r
+{ "" }\r
+\r
+FUNCTION {bbl.of}\r
+{ "of" }\r
+\r
+FUNCTION {bbl.number}\r
+{ "no." }\r
+\r
+FUNCTION {bbl.nr}\r
+{ "no." }\r
+\r
+FUNCTION {bbl.in}\r
+{ "in" }\r
+\r
+FUNCTION {bbl.pages}\r
+{ "pp." }\r
+\r
+FUNCTION {bbl.page}\r
+{ "p." }\r
+\r
+FUNCTION {titto.bbl.pages} % for journals\r
+{ "" }\r
+\r
+FUNCTION {titto.bbl.page}  % for journals\r
+{ "" }\r
+\r
+FUNCTION {bbl.chapter}\r
+{ "chap." }\r
+\r
+FUNCTION {bbl.techrep}\r
+{ "Tech. Rep." }\r
+\r
+FUNCTION {bbl.mthesis}\r
+{ "Master's thesis" }\r
+\r
+FUNCTION {bbl.phdthesis}\r
+{ "Ph.D. thesis" }\r
+\r
+MACRO {jan} {"Jan."}\r
+\r
+MACRO {feb} {"Feb."}\r
+\r
+MACRO {mar} {"Mar."}\r
+\r
+MACRO {apr} {"Apr."}\r
+\r
+MACRO {may} {"May"}\r
+\r
+MACRO {jun} {"Jun."}\r
+\r
+MACRO {jul} {"Jul."}\r
+\r
+MACRO {aug} {"Aug."}\r
+\r
+MACRO {sep} {"Sep."}\r
+\r
+MACRO {oct} {"Oct."}\r
+\r
+MACRO {nov} {"Nov."}\r
+\r
+MACRO {dec} {"Dec."}\r
+\r
+MACRO {acmcs} {"ACM Comput. Surv."}\r
+\r
+MACRO {acta} {"Acta Inf."}\r
+\r
+MACRO {cacm} {"Commun. ACM"}\r
+\r
+MACRO {ibmjrd} {"IBM J. Res. Dev."}\r
+\r
+MACRO {ibmsj} {"IBM Syst.~J."}\r
+\r
+MACRO {ieeese} {"IEEE Trans. Software Eng."}\r
+\r
+MACRO {ieeetc} {"IEEE Trans. Comput."}\r
+\r
+MACRO {ieeetcad}\r
+ {"IEEE Trans. Comput. Aid. Des."}\r
+\r
+MACRO {ipl} {"Inf. Process. Lett."}\r
+\r
+MACRO {jacm} {"J.~ACM"}\r
+\r
+MACRO {jcss} {"J.~Comput. Syst. Sci."}\r
+\r
+MACRO {scp} {"Sci. Comput. Program."}\r
+\r
+MACRO {sicomp} {"SIAM J. Comput."}\r
+\r
+MACRO {tocs} {"ACM Trans. Comput. Syst."}\r
+\r
+MACRO {tods} {"ACM Trans. Database Syst."}\r
+\r
+MACRO {tog} {"ACM Trans. Graphic."}\r
+\r
+MACRO {toms} {"ACM Trans. Math. Software"}\r
+\r
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}\r
+\r
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}\r
+\r
+MACRO {tcs} {"Theor. Comput. Sci."}\r
+\r
+FUNCTION {bibinfo.check}\r
+{ swap$\r
+  duplicate$ missing$\r
+    {\r
+      pop$ pop$\r
+      ""\r
+    }\r
+    { duplicate$ empty$\r
+        {\r
+          swap$ pop$\r
+        }\r
+        { swap$\r
+          pop$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+FUNCTION {bibinfo.warn}\r
+{ swap$\r
+  duplicate$ missing$\r
+    {\r
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$\r
+      ""\r
+    }\r
+    { duplicate$ empty$\r
+        {\r
+          swap$ "empty " swap$ * " in " * cite$ * warning$\r
+        }\r
+        { swap$\r
+          pop$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.url}\r
+{ url empty$\r
+    { "" }\r
+%    { "\urlprefix\url{" url * "}" * }\r
+    { "\url{" url * "}" * }  % changed in titto-lncs-02.bst\r
+  if$\r
+}\r
+\r
+INTEGERS { nameptr namesleft numnames }\r
+\r
+\r
+STRINGS  { bibinfo}\r
+\r
+FUNCTION {format.names}\r
+{ 'bibinfo :=\r
+  duplicate$ empty$ 'skip$ {\r
+  's :=\r
+  "" 't :=\r
+  #1 'nameptr :=\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { s nameptr\r
+      "{vv~}{ll}{, jj}{, f{.}.}"\r
+      format.name$\r
+      bibinfo bibinfo.check\r
+      't :=\r
+      nameptr #1 >\r
+        {\r
+          namesleft #1 >\r
+            { ", " * t * }\r
+            {\r
+              s nameptr "{ll}" format.name$ duplicate$ "others" =\r
+                { 't := }\r
+                { pop$ }\r
+              if$\r
+              "," *\r
+              t "others" =\r
+                {\r
+                  " " * bbl.etal *\r
+                }\r
+                { " " * t * }\r
+              if$\r
+            }\r
+          if$\r
+        }\r
+        't\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+  } if$\r
+}\r
+FUNCTION {format.names.ed}\r
+{\r
+  'bibinfo :=\r
+  duplicate$ empty$ 'skip$ {\r
+  's :=\r
+  "" 't :=\r
+  #1 'nameptr :=\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { s nameptr\r
+      "{f{.}.~}{vv~}{ll}{ jj}"\r
+      format.name$\r
+      bibinfo bibinfo.check\r
+      't :=\r
+      nameptr #1 >\r
+        {\r
+          namesleft #1 >\r
+            { ", " * t * }\r
+            {\r
+              s nameptr "{ll}" format.name$ duplicate$ "others" =\r
+                { 't := }\r
+                { pop$ }\r
+              if$\r
+              "," *\r
+              t "others" =\r
+                {\r
+\r
+                  " " * bbl.etal *\r
+                }\r
+                { " " * t * }\r
+              if$\r
+            }\r
+          if$\r
+        }\r
+        't\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+  } if$\r
+}\r
+FUNCTION {format.authors}\r
+{ author "author" format.names\r
+}\r
+FUNCTION {get.bbl.editor}\r
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }\r
+\r
+FUNCTION {format.editors}\r
+{ editor "editor" format.names duplicate$ empty$ 'skip$\r
+    {\r
+      " " *\r
+      get.bbl.editor\r
+%      capitalize\r
+   "(" swap$ * ")" *\r
+      *\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.note}\r
+{\r
+ note empty$\r
+    { "" }\r
+    { note #1 #1 substring$\r
+      duplicate$ "{" =\r
+        'skip$\r
+        { output.state mid.sentence =\r
+          { "l" }\r
+          { "u" }\r
+        if$\r
+        change.case$\r
+        }\r
+      if$\r
+      note #2 global.max$ substring$ * "note" bibinfo.check\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.title}\r
+{ title\r
+  duplicate$ empty$ 'skip$\r
+    { "t" change.case$ }\r
+  if$\r
+  "title" bibinfo.check\r
+}\r
+FUNCTION {output.bibitem}\r
+{ newline$\r
+  "\bibitem{" write$\r
+  cite$ write$\r
+  "}" write$\r
+  newline$\r
+  ""\r
+  before.all 'output.state :=\r
+}\r
+\r
+FUNCTION {n.dashify}\r
+{\r
+  't :=\r
+  ""\r
+    { t empty$ not }\r
+    { t #1 #1 substring$ "-" =\r
+        { t #1 #2 substring$ "--" = not\r
+            { "--" *\r
+              t #2 global.max$ substring$ 't :=\r
+            }\r
+            {   { t #1 #1 substring$ "-" = }\r
+                { "-" *\r
+                  t #2 global.max$ substring$ 't :=\r
+                }\r
+              while$\r
+            }\r
+          if$\r
+        }\r
+        { t #1 #1 substring$ *\r
+          t #2 global.max$ substring$ 't :=\r
+        }\r
+      if$\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {word.in}\r
+{ bbl.in capitalize\r
+  ":" *\r
+  " " * }\r
+\r
+FUNCTION {format.date}\r
+{\r
+  month "month" bibinfo.check\r
+  duplicate$ empty$\r
+  year  "year"  bibinfo.check duplicate$ empty$\r
+    { swap$ 'skip$\r
+        { "there's a month but no year in " cite$ * warning$ }\r
+      if$\r
+      *\r
+    }\r
+    { swap$ 'skip$\r
+        {\r
+          swap$\r
+          " " * swap$\r
+        }\r
+      if$\r
+      *\r
+      remove.dots\r
+    }\r
+  if$\r
+  duplicate$ empty$\r
+    'skip$\r
+    {\r
+      before.all 'output.state :=\r
+    " (" swap$ * ")" *\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.btitle}\r
+{ title "title" bibinfo.check\r
+  duplicate$ empty$ 'skip$\r
+    {\r
+    }\r
+  if$\r
+}\r
+FUNCTION {either.or.check}\r
+{ empty$\r
+    'pop$\r
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }\r
+  if$\r
+}\r
+FUNCTION {format.bvolume}\r
+{ volume empty$\r
+    { "" }\r
+    { bbl.volume volume tie.or.space.prefix\r
+      "volume" bibinfo.check * *\r
+      series "series" bibinfo.check\r
+      duplicate$ empty$ 'pop$\r
+        { emphasize ", " * swap$ * }\r
+      if$\r
+      "volume and number" number either.or.check\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.number.series}\r
+{ volume empty$\r
+    { number empty$\r
+        { series field.or.null }\r
+        { output.state mid.sentence =\r
+            { bbl.number }\r
+            { bbl.number capitalize }\r
+          if$\r
+          number tie.or.space.prefix "number" bibinfo.check * *\r
+          series empty$\r
+            { "there's a number but no series in " cite$ * warning$ }\r
+            { bbl.in space.word *\r
+              series "series" bibinfo.check *\r
+            }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+    { "" }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.edition}\r
+{ edition duplicate$ empty$ 'skip$\r
+    {\r
+      output.state mid.sentence =\r
+        { "l" }\r
+        { "t" }\r
+      if$ change.case$\r
+      "edition" bibinfo.check\r
+      " " * bbl.edition *\r
+    }\r
+  if$\r
+}\r
+INTEGERS { multiresult }\r
+FUNCTION {multi.page.check}\r
+{ 't :=\r
+  #0 'multiresult :=\r
+    { multiresult not\r
+      t empty$ not\r
+      and\r
+    }\r
+    { t #1 #1 substring$\r
+      duplicate$ "-" =\r
+      swap$ duplicate$ "," =\r
+      swap$ "+" =\r
+      or or\r
+        { #1 'multiresult := }\r
+        { t #2 global.max$ substring$ 't := }\r
+      if$\r
+    }\r
+  while$\r
+  multiresult\r
+}\r
+FUNCTION {format.pages}\r
+{ pages duplicate$ empty$ 'skip$\r
+    { duplicate$ multi.page.check\r
+        {\r
+          bbl.pages swap$\r
+          n.dashify\r
+        }\r
+        {\r
+          bbl.page swap$\r
+        }\r
+      if$\r
+      tie.or.space.prefix\r
+      "pages" bibinfo.check\r
+      * *\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.journal.pages}\r
+{ pages duplicate$ empty$ 'pop$\r
+    { swap$ duplicate$ empty$\r
+        { pop$ pop$ format.pages }\r
+        {\r
+          ", " *\r
+          swap$\r
+          n.dashify\r
+          pages multi.page.check\r
+            'titto.bbl.pages\r
+            'titto.bbl.page\r
+          if$\r
+          swap$ tie.or.space.prefix\r
+          "pages" bibinfo.check\r
+          * *\r
+          *\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.journal.eid}\r
+{ eid "eid" bibinfo.check\r
+  duplicate$ empty$ 'pop$\r
+    { swap$ duplicate$ empty$ 'skip$\r
+      {\r
+          ", " *\r
+      }\r
+      if$\r
+      swap$ *\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.vol.num.pages} % this function is used only for journal entries\r
+{ volume field.or.null\r
+  duplicate$ empty$ 'skip$\r
+    {\r
+%     bbl.volume swap$ tie.or.space.prefix\r
+      titto.bbl.volume swap$ titto.space.prefix\r
+%             rationale for the change above: for journals you don't want "vol." label\r
+%             hence it does not make sense to attach the journal number to the label when\r
+%             it is short\r
+      "volume" bibinfo.check\r
+      * *\r
+    }\r
+  if$\r
+  number "number" bibinfo.check duplicate$ empty$ 'skip$\r
+    {\r
+      swap$ duplicate$ empty$\r
+        { "there's a number but no volume in " cite$ * warning$ }\r
+        'skip$\r
+      if$\r
+      swap$\r
+      "(" swap$ * ")" *\r
+    }\r
+  if$ *\r
+  eid empty$\r
+    { format.journal.pages }\r
+    { format.journal.eid }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.chapter.pages}\r
+{ chapter empty$\r
+    'format.pages\r
+    { type empty$\r
+        { bbl.chapter }\r
+        { type "l" change.case$\r
+          "type" bibinfo.check\r
+        }\r
+      if$\r
+      chapter tie.or.space.prefix\r
+      "chapter" bibinfo.check\r
+      * *\r
+      pages empty$\r
+        'skip$\r
+        { ", " * format.pages * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.booktitle}\r
+{\r
+  booktitle "booktitle" bibinfo.check\r
+}\r
+FUNCTION {format.in.ed.booktitle}\r
+{ format.booktitle duplicate$ empty$ 'skip$\r
+    {\r
+%     editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto\r
+      editor "editor" format.names duplicate$ empty$ 'pop$\r
+        {\r
+          " " *\r
+          get.bbl.editor\r
+%          capitalize\r
+          "(" swap$ * ") " *\r
+          * swap$\r
+          * }\r
+      if$\r
+      word.in swap$ *\r
+    }\r
+  if$\r
+}\r
+FUNCTION {empty.misc.check}\r
+{ author empty$ title empty$ howpublished empty$\r
+  month empty$ year empty$ note empty$\r
+  and and and and and\r
+  key empty$ not and\r
+    { "all relevant fields are empty in " cite$ * warning$ }\r
+    'skip$\r
+  if$\r
+}\r
+FUNCTION {format.thesis.type}\r
+{ type duplicate$ empty$\r
+    'pop$\r
+    { swap$ pop$\r
+      "t" change.case$ "type" bibinfo.check\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.tr.number}\r
+{ number "number" bibinfo.check\r
+  type duplicate$ empty$\r
+    { pop$ bbl.techrep }\r
+    'skip$\r
+  if$\r
+  "type" bibinfo.check\r
+  swap$ duplicate$ empty$\r
+    { pop$ "t" change.case$ }\r
+    { tie.or.space.prefix * * }\r
+  if$\r
+}\r
+FUNCTION {format.article.crossref}\r
+{\r
+  key duplicate$ empty$\r
+    { pop$\r
+      journal duplicate$ empty$\r
+        { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }\r
+        { "journal" bibinfo.check emphasize word.in swap$ * }\r
+      if$\r
+    }\r
+    { word.in swap$ * " " *}\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+FUNCTION {format.crossref.editor}\r
+{ editor #1 "{vv~}{ll}" format.name$\r
+  "editor" bibinfo.check\r
+  editor num.names$ duplicate$\r
+  #2 >\r
+    { pop$\r
+      "editor" bibinfo.check\r
+      " " * bbl.etal\r
+      *\r
+    }\r
+    { #2 <\r
+        'skip$\r
+        { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =\r
+            {\r
+              "editor" bibinfo.check\r
+              " " * bbl.etal\r
+              *\r
+            }\r
+            {\r
+             bbl.and space.word\r
+              * editor #2 "{vv~}{ll}" format.name$\r
+              "editor" bibinfo.check\r
+              *\r
+            }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.book.crossref}\r
+{ volume duplicate$ empty$\r
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$\r
+      pop$ word.in\r
+    }\r
+    { bbl.volume\r
+      capitalize\r
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *\r
+    }\r
+  if$\r
+  editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+        { series empty$\r
+            { "need editor, key, or series for " cite$ * " to crossref " *\r
+              crossref * warning$\r
+              "" *\r
+            }\r
+            { series emphasize * }\r
+          if$\r
+        }\r
+        { key * }\r
+      if$\r
+    }\r
+    { format.crossref.editor * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+FUNCTION {format.incoll.inproc.crossref}\r
+{\r
+  editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+        { format.booktitle duplicate$ empty$\r
+            { "need editor, key, or booktitle for " cite$ * " to crossref " *\r
+              crossref * warning$\r
+            }\r
+            { word.in swap$ * }\r
+          if$\r
+        }\r
+        { word.in key * " " *}\r
+      if$\r
+    }\r
+    { word.in format.crossref.editor * " " *}\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+FUNCTION {format.org.or.pub}\r
+{ 't :=\r
+  ""\r
+  address empty$ t empty$ and\r
+    'skip$\r
+    {\r
+      t empty$\r
+        { address "address" bibinfo.check *\r
+        }\r
+        { t *\r
+          address empty$\r
+            'skip$\r
+            { ", " * address "address" bibinfo.check * }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+FUNCTION {format.publisher.address}\r
+{ publisher "publisher" bibinfo.warn format.org.or.pub\r
+}\r
+\r
+FUNCTION {format.organization.address}\r
+{ organization "organization" bibinfo.check format.org.or.pub\r
+}\r
+\r
+FUNCTION {article}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  crossref missing$\r
+    {\r
+      journal\r
+      "journal" bibinfo.check\r
+      "journal" output.check\r
+      add.blank\r
+      format.vol.num.pages output\r
+      format.date "year" output.check\r
+    }\r
+    { format.article.crossref output.nonnull\r
+      format.pages output\r
+    }\r
+  if$\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+FUNCTION {book}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check\r
+      add.colon\r
+    }\r
+    { format.authors output.nonnull\r
+      add.colon\r
+      crossref missing$\r
+        { "author and editor" editor either.or.check }\r
+        'skip$\r
+      if$\r
+    }\r
+  if$\r
+  new.block\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      new.block\r
+      new.sentence\r
+      format.number.series output\r
+      format.publisher.address output\r
+    }\r
+    {\r
+      new.block\r
+      format.book.crossref output.nonnull\r
+    }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+FUNCTION {booklet}\r
+{ output.bibitem\r
+  format.authors output\r
+  add.colon\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  howpublished "howpublished" bibinfo.check output\r
+  address "address" bibinfo.check output\r
+  format.date output\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inbook}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check\r
+      add.colon\r
+    }\r
+    { format.authors output.nonnull\r
+      add.colon\r
+      crossref missing$\r
+        { "author and editor" editor either.or.check }\r
+        'skip$\r
+      if$\r
+    }\r
+  if$\r
+  new.block\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    {\r
+      format.bvolume output\r
+      format.chapter.pages "chapter and pages" output.check\r
+      new.block\r
+      new.sentence\r
+      format.number.series output\r
+      format.publisher.address output\r
+    }\r
+    {\r
+      format.chapter.pages "chapter and pages" output.check\r
+      new.block\r
+      format.book.crossref output.nonnull\r
+    }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {incollection}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.chapter.pages output\r
+      new.sentence\r
+      format.number.series output\r
+      format.publisher.address output\r
+      format.edition output\r
+      format.date "year" output.check\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull\r
+      format.chapter.pages output\r
+    }\r
+  if$\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+FUNCTION {inproceedings}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.title "title" output.check\r
+  new.block\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      new.sentence % added by titto\r
+      format.bvolume output\r
+      format.pages output\r
+      new.sentence\r
+      format.number.series output\r
+      publisher empty$\r
+        { format.organization.address output }\r
+        { organization "organization" bibinfo.check output\r
+          format.publisher.address output\r
+        }\r
+      if$\r
+      format.date "year" output.check\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull\r
+      format.pages output\r
+    }\r
+  if$\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+FUNCTION {conference} { inproceedings }\r
+FUNCTION {manual}\r
+{ output.bibitem\r
+  author empty$\r
+    { organization "organization" bibinfo.check\r
+      duplicate$ empty$ 'pop$\r
+        { output\r
+          address "address" bibinfo.check output\r
+        }\r
+      if$\r
+    }\r
+    { format.authors output.nonnull }\r
+  if$\r
+  add.colon\r
+  new.block\r
+  format.btitle "title" output.check\r
+  author empty$\r
+    { organization empty$\r
+        {\r
+          address new.block.checka\r
+          address "address" bibinfo.check output\r
+        }\r
+        'skip$\r
+      if$\r
+    }\r
+    {\r
+      organization address new.block.checkb\r
+      organization "organization" bibinfo.check output\r
+      address "address" bibinfo.check output\r
+    }\r
+  if$\r
+  format.edition output\r
+  format.date output\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {mastersthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.btitle\r
+  "title" output.check\r
+  new.block\r
+  bbl.mthesis format.thesis.type output.nonnull\r
+  school "school" bibinfo.warn output\r
+  address "address" bibinfo.check output\r
+  format.date "year" output.check\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {misc}\r
+{ output.bibitem\r
+  format.authors output\r
+  add.colon\r
+  title howpublished new.block.checkb\r
+  format.title output\r
+  howpublished new.block.checka\r
+  howpublished "howpublished" bibinfo.check output\r
+  format.date output\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+  empty.misc.check\r
+}\r
+FUNCTION {phdthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.btitle\r
+  "title" output.check\r
+  new.block\r
+  bbl.phdthesis format.thesis.type output.nonnull\r
+  school "school" bibinfo.warn output\r
+  address "address" bibinfo.check output\r
+  format.date "year" output.check\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {proceedings}\r
+{ output.bibitem\r
+  editor empty$\r
+    { organization "organization" bibinfo.check output\r
+    }\r
+    { format.editors output.nonnull }\r
+  if$\r
+  add.colon\r
+  new.block\r
+  format.btitle "title" output.check\r
+  format.bvolume output\r
+  editor empty$\r
+    { publisher empty$\r
+        {  format.number.series output }\r
+        {\r
+          new.sentence\r
+          format.number.series output\r
+          format.publisher.address output\r
+        }\r
+      if$\r
+    }\r
+    { publisher empty$\r
+        {\r
+          new.sentence\r
+          format.number.series output\r
+          format.organization.address output }\r
+        {\r
+          new.sentence\r
+          format.number.series output\r
+          organization "organization" bibinfo.check output\r
+          format.publisher.address output\r
+        }\r
+      if$\r
+     }\r
+  if$\r
+      format.date "year" output.check\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {techreport}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.title\r
+  "title" output.check\r
+  new.block\r
+  format.tr.number output.nonnull\r
+  institution "institution" bibinfo.warn output\r
+  address "address" bibinfo.check output\r
+  format.date "year" output.check\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {unpublished}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  add.colon\r
+  new.block\r
+  format.title "title" output.check\r
+  format.date output\r
+%  new.block\r
+  format.url output\r
+%  new.block\r
+  format.note "note" output.check\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {default.type} { misc }\r
+READ\r
+FUNCTION {sortify}\r
+{ purify$\r
+  "l" change.case$\r
+}\r
+INTEGERS { len }\r
+FUNCTION {chop.word}\r
+{ 's :=\r
+  'len :=\r
+  s #1 len substring$ =\r
+    { s len #1 + global.max$ substring$ }\r
+    's\r
+  if$\r
+}\r
+FUNCTION {sort.format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  ""\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { s nameptr\r
+      "{ll{ }}{  ff{ }}{  jj{ }}"\r
+      format.name$ 't :=\r
+      nameptr #1 >\r
+        {\r
+          "   "  *\r
+          namesleft #1 = t "others" = and\r
+            { "zzzzz" * }\r
+            { t sortify * }\r
+          if$\r
+        }\r
+        { t sortify * }\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {sort.format.title}\r
+{ 't :=\r
+  "A " #2\r
+    "An " #3\r
+      "The " #4 t chop.word\r
+    chop.word\r
+  chop.word\r
+  sortify\r
+  #1 global.max$ substring$\r
+}\r
+FUNCTION {author.sort}\r
+{ author empty$\r
+    { key empty$\r
+        { "to sort, need author or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+FUNCTION {author.editor.sort}\r
+{ author empty$\r
+    { editor empty$\r
+        { key empty$\r
+            { "to sort, need author, editor, or key in " cite$ * warning$\r
+              ""\r
+            }\r
+            { key sortify }\r
+          if$\r
+        }\r
+        { editor sort.format.names }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+FUNCTION {author.organization.sort}\r
+{ author empty$\r
+    { organization empty$\r
+        { key empty$\r
+            { "to sort, need author, organization, or key in " cite$ * warning$\r
+              ""\r
+            }\r
+            { key sortify }\r
+          if$\r
+        }\r
+        { "The " #4 organization chop.word sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+FUNCTION {editor.organization.sort}\r
+{ editor empty$\r
+    { organization empty$\r
+        { key empty$\r
+            { "to sort, need editor, organization, or key in " cite$ * warning$\r
+              ""\r
+            }\r
+            { key sortify }\r
+          if$\r
+        }\r
+        { "The " #4 organization chop.word sortify }\r
+      if$\r
+    }\r
+    { editor sort.format.names }\r
+  if$\r
+}\r
+FUNCTION {presort}\r
+{ type$ "book" =\r
+  type$ "inbook" =\r
+  or\r
+    'author.editor.sort\r
+    { type$ "proceedings" =\r
+        'editor.organization.sort\r
+        { type$ "manual" =\r
+            'author.organization.sort\r
+            'author.sort\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+  if$\r
+  "    "\r
+  *\r
+  year field.or.null sortify\r
+  *\r
+  "    "\r
+  *\r
+  title field.or.null\r
+  sort.format.title\r
+  *\r
+  #1 entry.max$ substring$\r
+  'sort.key$ :=\r
+}\r
+ITERATE {presort}\r
+SORT\r
+STRINGS { longest.label }\r
+INTEGERS { number.label longest.label.width }\r
+FUNCTION {initialize.longest.label}\r
+{ "" 'longest.label :=\r
+  #1 'number.label :=\r
+  #0 'longest.label.width :=\r
+}\r
+FUNCTION {longest.label.pass}\r
+{ number.label int.to.str$ 'label :=\r
+  number.label #1 + 'number.label :=\r
+  label width$ longest.label.width >\r
+    { label 'longest.label :=\r
+      label width$ 'longest.label.width :=\r
+    }\r
+    'skip$\r
+  if$\r
+}\r
+EXECUTE {initialize.longest.label}\r
+ITERATE {longest.label.pass}\r
+FUNCTION {begin.bib}\r
+{ preamble$ empty$\r
+    'skip$\r
+    { preamble$ write$ newline$ }\r
+  if$\r
+  "\begin{thebibliography}{"  longest.label  * "}" *\r
+  write$ newline$\r
+  "\providecommand{\url}[1]{\texttt{#1}}"\r
+  write$ newline$\r
+  "\providecommand{\urlprefix}{URL }"\r
+  write$ newline$\r
+}\r
+EXECUTE {begin.bib}\r
+EXECUTE {init.state.consts}\r
+ITERATE {call.type$}\r
+FUNCTION {end.bib}\r
+{ newline$\r
+  "\end{thebibliography}" write$ newline$\r
+}\r
+EXECUTE {end.bib}\r
+%% End of customized bst file\r
+%%\r
+%% End of file `titto.bst'.\r
+\r
+\r
diff --git a/paper.tex b/paper.tex
new file mode 100644 (file)
index 0000000..27db7db
--- /dev/null
+++ b/paper.tex
@@ -0,0 +1,47 @@
+\documentclass{llncs}
+\usepackage[american]{babel}
+%\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{times}
+\usepackage{graphicx}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+
+\title{Your Title}
+%%% Please do not remove the subtitle.
+\subtitle{Notebook for PAN at CLEF 2012}
+
+\author{\v{S}imon Suchomel \and Jan Kasprzak \and Michal Brandejs}
+\institute{Faculty of Informatics, Masaryk University \\
+{\tt\{suchomel,kas,brandejs\}@fi.muni.cz}}
+
+\maketitle
+
+\begin{abstract}
+Briefly describe the main ideas of your approach.
+\end{abstract}
+
+
+\section{Introduction}
+
+The notebooks shall contain a full write-up of your approach, including all details necessary to reproduce your results.
+
+
+\include{simon-searchengine}
+\include{yenya-detailed}
+
+\section{Conclusions}
+
+Tady napsat zaver
+
+\bibliographystyle{splncs03}
+\begin{raggedright}
+\bibliography{paper}
+\end{raggedright}
+
+\end{document}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
diff --git a/simon-searchengine.tex b/simon-searchengine.tex
new file mode 100644 (file)
index 0000000..0ce5371
--- /dev/null
@@ -0,0 +1,4 @@
+\section{Search-Engine Queries}
+
+% Tohle napise Simon
+
diff --git a/yenya-detailed.tex b/yenya-detailed.tex
new file mode 100644 (file)
index 0000000..3615ab9
--- /dev/null
@@ -0,0 +1,150 @@
+\section{Detailed Document Comparison}
+
+\subsection{General Approach}
+
+The approach Masaryk University team has used in PAN 2012 Plagiarism
+detection---detailed comparison sub-task is based on the same approach
+that we have used in PAN 2010 \cite{Kasprzak2010}.  This time, we have
+used a similar approach, enhanced by several means
+
+The algorithm evaluates the document pair in several stages:
+
+\begin{itemize}
+\item intrinsic plagiarism detection
+\item language detection of the source document
+\begin{itemize}
+\item cross-lingual plagiarism detection, if the source document is not in English
+\end{itemize}
+\item detecting intervals with common features
+\item post-processing phase, mainly serves for merging the nearby common intervals
+\end{itemize}
+
+\subsection{Intrinsic plagiarism detection}
+
+Our approach is based on character $n$-gram profiles of the interval of
+the fixed size (in terms of $n$-grams), and their differences to the
+profile of the whole document \cite{pan09stamatatos}. We have further
+enhanced the approach with using gaussian smoothing of the style-change
+function \cite{Kasprzak2010}.
+
+For PAN 2012, we have experimented with using 1-, 2-, and 3-grams instead
+of only 3-grams, and using the different measure of the difference between
+the n-gram profiles. We have used an approach similar to \cite{ngram},
+where we have compute the profile as an ordered set of 400 most-frequent
+$n$-grams in a given text (the whole document or a partial window). Apart
+from ordering the set we have ignored the actual number of occurrences
+of a given $n$-gram altogether, and used the value inveresly
+proportional to the $n$-gram order in the profile, in accordance with
+the Zipf's law \cite{zipf1935psycho}.
+
+This approach has provided more stable style-change function than
+than the one proposed in \cite{pan09stamatatos}. Because of pair-wise
+nature of the detailed comparison sub-task, we couldn't use the results
+of the intrinsic detection immediately, so we wanted to use them
+as hints to the external detection.
+
+\subsection{Cross-lingual detection}
+
+%For language detection, we used the $n$-gram based categorization \cite{ngram}.
+%We have computed the language profiles from the source documents of the
+%training corpus (using the annotations from the corpus itself). The result
+%of this approach was better than using the stopwords-based detection we have
+%used in PAN 2010. However, there were still mis-detected documents,
+%mainly the long lists of surnames and other tabular data. We have added
+%an ad-hoc fix, where for documents having their profile too distant from all of
+%English, German, and Spanish profiles, we have declared them to be in English.
+
+For cross-lingual plagiarism detection, our aim was to use the public
+interface to Google translate if possible, and use the resulting document
+as the source for standard intra-lingual detector.
+Should the translation service not be available, we wanted
+to use the fall-back strategy of translating isolated words only,
+with the additional exact matching of longer words (we have used words with
+5 characters or longer).
+We have supposed these longer words can be names or specialized terms,
+present in both languages.
+
+We have used dictionaries from several sources, like
+{\tt dicts.info\footnote{\url{http://www.dicts.info/}}},
+{\tt omegawiki\footnote{\url{http://www.omegawiki.org/}}},
+and {\tt wiktionary\footnote{\url{http://en.wiktionary.org/}}}. The source
+and translated document were aligned on a line-by-line basis.
+
+In the final form of the detailed comparison sub-task, the results of machine
+translation of the source documents were provided to the detector programs
+by the surrounding environment, so we have discarded the language detection
+and machine translation from our submission altogether, and used only
+line-by-line alignment of the source and translated document for calculating
+the offsets of text features in the source document.
+
+\subsection{Multi-feature Plagiarism Detection}
+
+Our pair-wise plagiarism detection is based on finding common passages
+of text, present both in the source and suspicious document. We call them
+{\it features}. In PAN 2010, we have used sorted word 5-grams, formed from
+words of three or more characters, as features to compare.
+Recently, other means of plagiarism detection have been explored:
+Stop-word $n$-gram detection is one of them
+\cite{stamatatos2011plagiarism}.
+
+We propose the plagiarism detection system based on detecting common
+features of various type, like word $n$-grams, stopword $n$-grams,
+translated words or word bigrams, exact common longer words from document
+pairs having each document in a different language, etc. The system
+has to be to the great extent independent of the specialities of various
+feature types. It cannot, for example, use the order of given features
+as a measure of distance between the features, as for example, several
+word 5-grams can be fully contained inside one stopword 8-gram.
+
+We thus define {\it common feature} of two documents (susp and src)
+as the following tuple:
+$$\langle
+\hbox{offset}_{\hbox{susp}},
+\hbox{length}_{\hbox{susp}},
+\hbox{offset}_{\hbox{src}},
+\hbox{length}_{\hbox{src}} \rangle$$
+
+In our final submission, we have used only the following two types
+of common features:
+
+\begin{itemize}
+\item word 5-grams, from words of three or more characters, sorted, lowercased
+\item stop-word 8-grams, from 50 most-frequent English words (including
+       the possessive suffix 's), unsorted, lowercased, with 8-grams formed
+       only from the seven most-frequent words ({\it the, of, a, in, to, 's})
+       removed
+\end{itemize}
+
+We have gathered all the common features for a given document pair, and formed
+{\it valid intervals} from them, as described in \cite{Kasprzak2009a}
+(a similar approach is used also in \cite{stamatatos2011plagiarism}).
+The algorithm is modified for multi-feature detection to use character offsets
+only instead of feature order numbers. We have used valid intervals
+consisting of at least 5 common features, with the maximum allowed gap
+inside the interval (characters not belonging to any common feature
+of a given valid interval) set to 3,500 characters.
+
+We have also experimented with modifying the allowed gap size using the
+intrinsic plagiarism detection: to allow only shorter gap if the common
+features around the gap belong to different passages, detected as plagiarized
+in the suspicious document by the intrinsic detector, and allow larger gap,
+if both the surrounding common features belong to the same passage,
+detected by the intrinsic detector. This approach, however, did not show
+any improvement against allowed gap of a static size, so it was omitted
+from the final submission.
+
+\subsection{Postprocessing}
+
+
+\subsection{Further discussion}
+
+In the full paper, we will also discuss the following topics:
+
+\begin{itemize}
+\item language detection
+\item suitability of plagdet score\cite{potthastframework} for performance measurement
+\item feasibility of our approach in large-scale systems
+\item other possible features to use, especially for cross-lingual detection
+\item discussion of parameter settings
+\end{itemize}
+