From f6bb3af88f2f17ed3e4c301a45803dd9d879cad1 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Thu, 9 Aug 2012 18:12:19 +0200 Subject: [PATCH] Pridavam template pro finalni paper --- pan12-notebook-template/llncs.cls | 1206 +++++++++++++ .../pan12-notebook-template.doc | Bin 0 -> 30208 bytes .../pan12-notebook-template.pdf | Bin 0 -> 25600 bytes .../pan12-notebook-template.tex | 40 + pan12-notebook-template/splncs03.bst | 1519 +++++++++++++++++ 5 files changed, 2765 insertions(+) create mode 100644 pan12-notebook-template/llncs.cls create mode 100755 pan12-notebook-template/pan12-notebook-template.doc create mode 100644 pan12-notebook-template/pan12-notebook-template.pdf create mode 100644 pan12-notebook-template/pan12-notebook-template.tex create mode 100644 pan12-notebook-template/splncs03.bst diff --git a/pan12-notebook-template/llncs.cls b/pan12-notebook-template/llncs.cls new file mode 100644 index 0000000..1ee2791 --- /dev/null +++ b/pan12-notebook-template/llncs.cls @@ -0,0 +1,1206 @@ +% LLNCS DOCUMENT CLASS -- version 2.16 (15-Apr-2010) +% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science +% +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{llncs}[2010/04/15 v2.16 +^^J LaTeX document class for Lecture Notes in Computer Science] +% Options +\let\if@envcntreset\iffalse +\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} +\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} +\DeclareOption{oribibl}{\let\oribibl=Y} +\let\if@custvec\iftrue +\DeclareOption{orivec}{\let\if@custvec\iffalse} +\let\if@envcntsame\iffalse +\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} +\let\if@envcntsect\iffalse +\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} +\let\if@runhead\iffalse +\DeclareOption{runningheads}{\let\if@runhead\iftrue} + +\let\if@openbib\iffalse +\DeclareOption{openbib}{\let\if@openbib\iftrue} + +% languages +\let\switcht@@therlang\relax +\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}} +\def\ds@francais{\def\switcht@@therlang{\switcht@francais}} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} + +\ProcessOptions + +\LoadClass[twoside]{article} +\RequirePackage{multicol} % needed for the list of participants, index +\RequirePackage{aliascnt} + +\setlength{\textwidth}{12.2cm} +\setlength{\textheight}{19.3cm} +\renewcommand\@pnumwidth{2em} +\renewcommand\@tocrmarg{3.5em} +% +\def\@dottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\p@ + {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% + \par}% + \fi} +% +\def\switcht@albion{% +\def\abstractname{Abstract.} +\def\ackname{Acknowledgement.} +\def\andname{and} +\def\lastandname{\unskip, and} +\def\appendixname{Appendix} +\def\chaptername{Chapter} +\def\claimname{Claim} +\def\conjecturename{Conjecture} +\def\contentsname{Table of Contents} +\def\corollaryname{Corollary} +\def\definitionname{Definition} +\def\examplename{Example} +\def\exercisename{Exercise} +\def\figurename{Fig.} +\def\keywordname{{\bf Keywords:}} +\def\indexname{Index} +\def\lemmaname{Lemma} +\def\contriblistname{List of Contributors} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\mailname{{\it Correspondence to\/}:} +\def\noteaddname{Note added in proof} +\def\notename{Note} +\def\partname{Part} +\def\problemname{Problem} +\def\proofname{Proof} +\def\propertyname{Property} +\def\propositionname{Proposition} +\def\questionname{Question} +\def\remarkname{Remark} +\def\seename{see} +\def\solutionname{Solution} +\def\subclassname{{\it Subject Classifications\/}:} +\def\tablename{Table} +\def\theoremname{Theorem}} +\switcht@albion +% Names of theorem like environments are already defined +% but must be translated if another language is chosen +% +% French section +\def\switcht@francais{%\typeout{On parle francais.}% + \def\abstractname{R\'esum\'e.}% + \def\ackname{Remerciements.}% + \def\andname{et}% + \def\lastandname{ et}% + \def\appendixname{Appendice} + \def\chaptername{Chapitre}% + \def\claimname{Pr\'etention}% + \def\conjecturename{Hypoth\`ese}% + \def\contentsname{Table des mati\`eres}% + \def\corollaryname{Corollaire}% + \def\definitionname{D\'efinition}% + \def\examplename{Exemple}% + \def\exercisename{Exercice}% + \def\figurename{Fig.}% + \def\keywordname{{\bf Mots-cl\'e:}} + \def\indexname{Index} + \def\lemmaname{Lemme}% + \def\contriblistname{Liste des contributeurs} + \def\listfigurename{Liste des figures}% + \def\listtablename{Liste des tables}% + \def\mailname{{\it Correspondence to\/}:} + \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% + \def\notename{Remarque}% + \def\partname{Partie}% + \def\problemname{Probl\`eme}% + \def\proofname{Preuve}% + \def\propertyname{Caract\'eristique}% +%\def\propositionname{Proposition}% + \def\questionname{Question}% + \def\remarkname{Remarque}% + \def\seename{voir} + \def\solutionname{Solution}% + \def\subclassname{{\it Subject Classifications\/}:} + \def\tablename{Tableau}% + \def\theoremname{Th\'eor\`eme}% +} +% +% German section +\def\switcht@deutsch{%\typeout{Man spricht deutsch.}% + \def\abstractname{Zusammenfassung.}% + \def\ackname{Danksagung.}% + \def\andname{und}% + \def\lastandname{ und}% + \def\appendixname{Anhang}% + \def\chaptername{Kapitel}% + \def\claimname{Behauptung}% + \def\conjecturename{Hypothese}% + \def\contentsname{Inhaltsverzeichnis}% + \def\corollaryname{Korollar}% +%\def\definitionname{Definition}% + \def\examplename{Beispiel}% + \def\exercisename{\"Ubung}% + \def\figurename{Abb.}% + \def\keywordname{{\bf Schl\"usselw\"orter:}} + \def\indexname{Index} +%\def\lemmaname{Lemma}% + \def\contriblistname{Mitarbeiter} + \def\listfigurename{Abbildungsverzeichnis}% + \def\listtablename{Tabellenverzeichnis}% + \def\mailname{{\it Correspondence to\/}:} + \def\noteaddname{Nachtrag}% + \def\notename{Anmerkung}% + \def\partname{Teil}% +%\def\problemname{Problem}% + \def\proofname{Beweis}% + \def\propertyname{Eigenschaft}% +%\def\propositionname{Proposition}% + \def\questionname{Frage}% + \def\remarkname{Anmerkung}% + \def\seename{siehe} + \def\solutionname{L\"osung}% + \def\subclassname{{\it Subject Classifications\/}:} + \def\tablename{Tabelle}% +%\def\theoremname{Theorem}% +} + +% Ragged bottom for the actual page +\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil +\global\let\@textbottom\relax}} + +\renewcommand\small{% + \@setfontsize\small\@ixpt{11}% + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \parsep 0\p@ \@plus1\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep0\p@}% + \belowdisplayskip \abovedisplayskip +} + +\frenchspacing +\widowpenalty=10000 +\clubpenalty=10000 + +\setlength\oddsidemargin {63\p@} +\setlength\evensidemargin {63\p@} +\setlength\marginparwidth {90\p@} + +\setlength\headsep {16\p@} + +\setlength\footnotesep{7.7\p@} +\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@} +\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@} + +\setcounter{secnumdepth}{2} + +\newcounter {chapter} +\renewcommand\thechapter {\@arabic\c@chapter} + +\newif\if@mainmatter \@mainmattertrue +\newcommand\frontmatter{\cleardoublepage + \@mainmatterfalse\pagenumbering{Roman}} +\newcommand\mainmatter{\cleardoublepage + \@mainmattertrue\pagenumbering{arabic}} +\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi + \@mainmatterfalse} + +\renewcommand\part{\cleardoublepage + \thispagestyle{empty}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil + \secdef\@part\@spart} + +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\centering + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >-2\relax + \huge\bfseries \partname~\thepart + \par + \vskip 20\p@ + \fi + \Huge \bfseries #2\par}% + \@endpart} +\def\@spart#1{% + {\centering + \interlinepenalty \@M + \normalfont + \Huge \bfseries #1\par}% + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \null + \thispagestyle{empty}% + \newpage + \fi + \if@tempswa + \twocolumn + \fi} + +\newcommand\chapter{\clearpage + \thispagestyle{empty}% + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter}#1}% + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@makechapterhead#1{% +% \vspace*{50\p@}% + {\centering + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \large\bfseries \@chapapp{} \thechapter + \par\nobreak + \vskip 20\p@ + \fi + \fi + \interlinepenalty\@M + \Large \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% +% \vspace*{50\p@}% + {\centering + \normalfont + \interlinepenalty\@M + \Large \bfseries #1\par\nobreak + \vskip 40\p@ + }} + +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-18\p@ \@plus -4\p@ \@minus -4\p@}% + {12\p@ \@plus 4\p@ \@minus 4\p@}% + {\normalfont\large\bfseries\boldmath + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-18\p@ \@plus -4\p@ \@minus -4\p@}% + {8\p@ \@plus 4\p@ \@minus 4\p@}% + {\normalfont\normalsize\bfseries\boldmath + \rightskip=\z@ \@plus 8em\pretolerance=10000 }} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-18\p@ \@plus -4\p@ \@minus -4\p@}% + {-0.5em \@plus -0.22em \@minus -0.1em}% + {\normalfont\normalsize\bfseries\boldmath}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-12\p@ \@plus -4\p@ \@minus -4\p@}% + {-0.5em \@plus -0.22em \@minus -0.1em}% + {\normalfont\normalsize\itshape}} +\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use + \string\subparagraph\space with this class}\vskip0.5cm +You should not use \verb|\subparagraph| with this class.\vskip0.5cm} + +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} + +\let\footnotesize\small + +\if@custvec +\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} +{\mbox{\boldmath$\textstyle#1$}} +{\mbox{\boldmath$\scriptstyle#1$}} +{\mbox{\boldmath$\scriptscriptstyle#1$}}} +\fi + +\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} +\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil +\penalty50\hskip1em\null\nobreak\hfil\squareforqed +\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} + +\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} +\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9pt}=\cr}}}}} +\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9pt}=\cr}}}}} +\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr +>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.8pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.3pt}<\cr}}}}} +\def\bbbr{{\rm I\!R}} %reelle Zahlen +\def\bbbm{{\rm I\!M}} +\def\bbbn{{\rm I\!N}} %natuerliche Zahlen +\def\bbbf{{\rm I\!F}} +\def\bbbh{{\rm I\!H}} +\def\bbbk{{\rm I\!K}} +\def\bbbp{{\rm I\!P}} +\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} +{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} +\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox +to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} +\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise +0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} +\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm +T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox +to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} +\def\bbbs{{\mathchoice +{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox +to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox +to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} +{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox +to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox +to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} +\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} +{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} +{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}} +{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}} + +\let\ts\, + +\setlength\leftmargini {17\p@} +\setlength\leftmargin {\leftmargini} +\setlength\leftmarginii {\leftmargini} +\setlength\leftmarginiii {\leftmargini} +\setlength\leftmarginiv {\leftmargini} +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} + +\def\@listI{\leftmargin\leftmargini + \parsep 0\p@ \@plus1\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep0\p@} +\let\@listi\@listI +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 0\p@ \@plus2\p@ \@minus\p@} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 0\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@} + +\renewcommand\labelitemi{\normalfont\bfseries --} +\renewcommand\labelitemii{$\m@th\bullet$} + +\setlength\arraycolsep{1.4\p@} +\setlength\tabcolsep{1.4\p@} + +\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% + {{\contentsname}}} + \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} + \def\lastand{\ifnum\value{auco}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{auco}% + \lastand + \else + \unskip, + \fi}% + \@starttoc{toc}\if@restonecol\twocolumn\fi} + +\def\l@part#1#2{\addpenalty{\@secpenalty}% + \addvspace{2em plus\p@}% % space above part line + \begingroup + \parindent \z@ + \rightskip \z@ plus 5em + \hrule\vskip5pt + \large % same size as for a contribution heading + \bfseries\boldmath % set line in boldface + \leavevmode % TeX command to enter horizontal mode. + #1\par + \vskip5pt + \hrule + \vskip1pt + \nobreak % Never break after part entry + \endgroup} + +\def\@dotsep{2} + +\let\phantomsection=\relax + +\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else +{}\fi} + +\def\addnumcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline + {\thechapter}#3}{\thepage}\hyperhrefextend}}% +\def\addcontentsmark#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}% +\def\addcontentsmarkwop#1#2#3{% +\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}% + +\def\@adcmk[#1]{\ifcase #1 \or +\def\@gtempa{\addnumcontentsmark}% + \or \def\@gtempa{\addcontentsmark}% + \or \def\@gtempa{\addcontentsmarkwop}% + \fi\@gtempa{toc}{chapter}% +} +\def\addtocmark{% +\phantomsection +\@ifnextchar[{\@adcmk}{\@adcmk[3]}% +} + +\def\l@chapter#1#2{\addpenalty{-\@highpenalty} + \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by 0pt plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + {\large\bfseries\boldmath#1}\ifx0#2\hfil\null + \else + \nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}% + \fi\par + \penalty\@highpenalty \endgroup} + +\def\l@title#1#2{\addpenalty{-\@highpenalty} + \addvspace{8pt plus 1pt} + \@tempdima \z@ + \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by 0pt plus 2cm + \parfillskip -\rightskip \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip + #1\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern + \@dotsep mu$}\hfill + \nobreak\hbox to\@pnumwidth{\hss #2}\par + \penalty\@highpenalty \endgroup} + +\def\l@author#1#2{\addpenalty{\@highpenalty} + \@tempdima=15\p@ %\z@ + \begingroup + \parindent \z@ \rightskip \@tocrmarg + \advance\rightskip by 0pt plus 2cm + \pretolerance=10000 + \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip + \textit{#1}\par + \penalty\@highpenalty \endgroup} + +\setcounter{tocdepth}{0} +\newdimen\tocchpnum +\newdimen\tocsecnum +\newdimen\tocsectotal +\newdimen\tocsubsecnum +\newdimen\tocsubsectotal +\newdimen\tocsubsubsecnum +\newdimen\tocsubsubsectotal +\newdimen\tocparanum +\newdimen\tocparatotal +\newdimen\tocsubparanum +\tocchpnum=\z@ % no chapter numbers +\tocsecnum=15\p@ % section 88. plus 2.222pt +\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt +\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt +\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt +\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt +\def\calctocindent{% +\tocsectotal=\tocchpnum +\advance\tocsectotal by\tocsecnum +\tocsubsectotal=\tocsectotal +\advance\tocsubsectotal by\tocsubsecnum +\tocsubsubsectotal=\tocsubsectotal +\advance\tocsubsubsectotal by\tocsubsubsecnum +\tocparatotal=\tocsubsubsectotal +\advance\tocparatotal by\tocparanum} +\calctocindent + +\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} +\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} +\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} +\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} +\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} + +\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} + \@starttoc{lof}\if@restonecol\twocolumn\fi} +\def\l@figure{\@dottedtocline{1}{0em}{1.5em}} + +\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} + \@starttoc{lot}\if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +\renewcommand\listoffigures{% + \section*{\listfigurename + \@mkboth{\listfigurename}{\listfigurename}}% + \@starttoc{lof}% + } + +\renewcommand\listoftables{% + \section*{\listtablename + \@mkboth{\listtablename}{\listtablename}}% + \@starttoc{lot}% + } + +\ifx\oribibl\undefined +\ifx\citeauthoryear\undefined +\renewenvironment{thebibliography}[1] + {\section*{\refname} + \def\@biblabel##1{##1.} + \small + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \if@openbib + \renewcommand\newblock{\par}% + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw + {\let\protect\noexpand\immediate + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} +\newcount\@tempcntc +\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@ifundefined + {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries + ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne + \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcntc + \else\advance\@tempcntb\m@ne\@citeo + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else + \@citea\def\@citea{,\,\hskip\z@skip}% + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else + \def\@citea{--}\fi + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} +\else +\renewenvironment{thebibliography}[1] + {\section*{\refname} + \small + \list{}% + {\settowidth\labelwidth{}% + \leftmargin\parindent + \itemindent=-\parindent + \labelsep=\z@ + \if@openbib + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + \fi + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{}}% + \if@openbib + \renewcommand\newblock{\par}% + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + \def\@cite#1{#1}% + \def\@lbibitem[#1]#2{\item[]\if@filesw + {\def\protect##1{\string ##1\space}\immediate + \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} + \fi +\else +\@cons\@openbib@code{\noexpand\small} +\fi + +\def\idxquad{\hskip 10\p@}% space that divides entry from number + +\def\@idxitem{\par\hangindent 10\p@} + +\def\subitem{\par\setbox0=\hbox{--\enspace}% second order + \noindent\hangindent\wd0\box0}% index entry + +\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third + \noindent\hangindent\wd0\box0}% order index entry + +\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} + +\renewenvironment{theindex} + {\@mkboth{\indexname}{\indexname}% + \thispagestyle{empty}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\par + \def\,{\relax\ifmmode\mskip\thinmuskip + \else\hskip0.2em\ignorespaces\fi}% + \normalfont\small + \begin{multicols}{2}[\@makeschapterhead{\indexname}]% + } + {\end{multicols}} + +\renewcommand\footnoterule{% + \kern-3\p@ + \hrule\@width 2truecm + \kern2.6\p@} + \newdimen\fnindent + \fnindent1em +\long\def\@makefntext#1{% + \parindent \fnindent% + \leftskip \fnindent% + \noindent + \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} + +\long\def\@makecaption#1#2{% + \small + \vskip\abovecaptionskip + \sbox\@tempboxa{{\bfseries #1.} #2}% + \ifdim \wd\@tempboxa >\hsize + {\bfseries #1.} #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} + +\def\fps@figure{htbp} +\def\fnum@figure{\figurename\thinspace\thefigure} +\def \@floatboxreset {% + \reset@font + \small + \@setnobreak + \@setminipage +} +\def\fps@table{htbp} +\def\fnum@table{\tablename~\thetable} +\renewenvironment{table} + {\setlength\abovecaptionskip{0\p@}% + \setlength\belowcaptionskip{10\p@}% + \@float{table}} + {\end@float} +\renewenvironment{table*} + {\setlength\abovecaptionskip{0\p@}% + \setlength\belowcaptionskip{10\p@}% + \@dblfloat{table}} + {\end@dblfloat} + +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname}{\ignorespaces #2}}\begingroup + \@parboxrestore + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + +% LaTeX does not provide a command to enter the authors institute +% addresses. The \institute command is defined here. + +\newcounter{@inst} +\newcounter{@auth} +\newcounter{auco} +\newdimen\instindent +\newbox\authrun +\newtoks\authorrunning +\newtoks\tocauthor +\newbox\titrun +\newtoks\titlerunning +\newtoks\toctitle + +\def\clearheadinfo{\gdef\@author{No Author Given}% + \gdef\@title{No Title Given}% + \gdef\@subtitle{}% + \gdef\@institute{No Institute Given}% + \gdef\@thanks{}% + \global\titlerunning={}\global\authorrunning={}% + \global\toctitle={}\global\tocauthor={}} + +\def\institute#1{\gdef\@institute{#1}} + +\def\institutename{\par + \begingroup + \parskip=\z@ + \parindent=\z@ + \setcounter{@inst}{1}% + \def\and{\par\stepcounter{@inst}% + \noindent$^{\the@inst}$\enspace\ignorespaces}% + \setbox0=\vbox{\def\thanks##1{}\@institute}% + \ifnum\c@@inst=1\relax + \gdef\fnnstart{0}% + \else + \xdef\fnnstart{\c@@inst}% + \setcounter{@inst}{1}% + \noindent$^{\the@inst}$\enspace + \fi + \ignorespaces + \@institute\par + \endgroup} + +\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or + {\star\star\star}\or \dagger\or \ddagger\or + \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger + \or \ddagger\ddagger \else\@ctrerr\fi}} + +\def\inst#1{\unskip$^{#1}$} +\def\fnmsep{\unskip$^,$} +\def\email#1{{\tt#1}} +\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% +\@ifpackageloaded{babel}{% +\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% +\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% +\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% +}{\switcht@@therlang}% +\providecommand{\keywords}[1]{\par\addvspace\baselineskip +\noindent\keywordname\enspace\ignorespaces#1}% +} +\def\homedir{\~{ }} + +\def\subtitle#1{\gdef\@subtitle{#1}} +\clearheadinfo +% +%%% to avoid hyperref warnings +\providecommand*{\toclevel@author}{999} +%%% to make title-entry parent of section-entries +\providecommand*{\toclevel@title}{0} +% +\renewcommand\maketitle{\newpage +\phantomsection + \refstepcounter{chapter}% + \stepcounter{section}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{figure}{0} + \setcounter{table}{0} + \setcounter{equation}{0} + \setcounter{footnote}{0}% + \begingroup + \parindent=\z@ + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{empty}\@thanks +% + \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% + \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% + \instindent=\hsize + \advance\instindent by-\headlineindent + \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else + \addcontentsline{toc}{title}{\the\toctitle}\fi + \if@runhead + \if!\the\titlerunning!\else + \edef\@title{\the\titlerunning}% + \fi + \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% + \ifdim\wd\titrun>\instindent + \typeout{Title too long for running head. Please supply}% + \typeout{a shorter form with \string\titlerunning\space prior to + \string\maketitle}% + \global\setbox\titrun=\hbox{\small\rm + Title Suppressed Due to Excessive Length}% + \fi + \xdef\@title{\copy\titrun}% + \fi +% + \if!\the\tocauthor!\relax + {\def\and{\noexpand\protect\noexpand\and}% + \protected@xdef\toc@uthor{\@author}}% + \else + \def\\{\noexpand\protect\noexpand\newline}% + \protected@xdef\scratch{\the\tocauthor}% + \protected@xdef\toc@uthor{\scratch}% + \fi + \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}% + \addcontentsline{toc}{author}{\toc@uthor}% + \if@runhead + \if!\the\authorrunning! + \value{@inst}=\value{@auth}% + \setcounter{@auth}{1}% + \else + \edef\@author{\the\authorrunning}% + \fi + \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% + \ifdim\wd\authrun>\instindent + \typeout{Names of authors too long for running head. Please supply}% + \typeout{a shorter form with \string\authorrunning\space prior to + \string\maketitle}% + \global\setbox\authrun=\hbox{\small\rm + Authors Suppressed Due to Excessive Length}% + \fi + \xdef\@author{\copy\authrun}% + \markboth{\@author}{\@title}% + \fi + \endgroup + \setcounter{footnote}{\fnnstart}% + \clearheadinfo} +% +\def\@maketitle{\newpage + \markboth{}{}% + \def\lastand{\ifnum\value{@inst}=2\relax + \unskip{} \andname\ + \else + \unskip \lastandname\ + \fi}% + \def\and{\stepcounter{@auth}\relax + \ifnum\value{@auth}=\value{@inst}% + \lastand + \else + \unskip, + \fi}% + \begin{center}% + \let\newline\\ + {\Large \bfseries\boldmath + \pretolerance=10000 + \@title \par}\vskip .8cm +\if!\@subtitle!\else {\large \bfseries\boldmath + \vskip -.65cm + \pretolerance=10000 + \@subtitle \par}\vskip .8cm\fi + \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% + \def\thanks##1{}\@author}% + \global\value{@inst}=\value{@auth}% + \global\value{auco}=\value{@auth}% + \setcounter{@auth}{1}% +{\lineskip .5em +\noindent\ignorespaces +\@author\vskip.35cm} + {\small\institutename} + \end{center}% + } + +% definition of the "\spnewtheorem" command. +% +% Usage: +% +% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} +% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} +% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} +% +% New is "cap_font" and "body_font". It stands for +% fontdefinition of the caption and the text itself. +% +% "\spnewtheorem*" gives a theorem without number. +% +% A defined spnewthoerem environment is used as described +% by Lamport. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@thmcountersep{} +\def\@thmcounterend{.} + +\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} + +% definition of \spnewtheorem with number + +\def\@spnthm#1#2{% + \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} +\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} + +\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@addtoreset{#1}{#3}% + \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand + \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@spothm#1[#2]#3#4#5{% + \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\newaliascnt{#1}{#2}% + \expandafter\xdef\csname #1name\endcsname{#3}% + \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% + \global\@namedef{end#1}{\@endtheorem}}}} + +\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\refstepcounter{#1}% +\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} + +\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% + \ignorespaces} + +\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname + the#1\endcsname}{#5}{#3}{#4}\ignorespaces} + +\def\@spbegintheorem#1#2#3#4{\trivlist + \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} + +\def\@spopargbegintheorem#1#2#3#4#5{\trivlist + \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} + +% definition of \spnewtheorem* without number + +\def\@sthm#1#2{\@Ynthm{#1}{#2}} + +\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% + \expandafter\xdef\csname #1name\endcsname{#2}% + \global\@namedef{end#1}{\@endtheorem}}} + +\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ +\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} + +\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} + +\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} + {#4}{#2}{#3}\ignorespaces} + +\def\@Begintheorem#1#2#3{#3\trivlist + \item[\hskip\labelsep{#2#1\@thmcounterend}]} + +\def\@Opargbegintheorem#1#2#3#4{#4\trivlist + \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} + +\if@envcntsect + \def\@thmcountersep{.} + \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} +\else + \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} + \if@envcntreset + \@addtoreset{theorem}{section} + \else + \@addtoreset{theorem}{chapter} + \fi +\fi + +%definition of divers theorem environments +\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} +\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} +\if@envcntsame % alle Umgebungen wie Theorem. + \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} +\else % alle Umgebungen mit eigenem Zaehler + \if@envcntsect % mit section numeriert + \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} + \else % nicht mit section numeriert + \if@envcntreset + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{section}} + \else + \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} + \@addtoreset{#1}{chapter}}% + \fi + \fi +\fi +\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} +\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} +\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} +\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} +\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} +\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} +\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} +\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} +\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} +\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} +\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} +\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} +\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} +\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} + +\def\@takefromreset#1#2{% + \def\@tempa{#1}% + \let\@tempd\@elt + \def\@elt##1{% + \def\@tempb{##1}% + \ifx\@tempa\@tempb\else + \@addtoreset{##1}{#2}% + \fi}% + \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname + \expandafter\def\csname cl@#2\endcsname{}% + \@tempc + \let\@elt\@tempd} + +\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist + \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} + \def\@Opargbegintheorem##1##2##3##4{##4\trivlist + \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} + } + +\renewenvironment{abstract}{% + \list{}{\advance\topsep by0.35cm\relax\small + \leftmargin=1cm + \labelwidth=\z@ + \listparindent=\z@ + \itemindent\listparindent + \rightmargin\leftmargin}\item[\hskip\labelsep + \bfseries\abstractname]} + {\endlist} + +\newdimen\headlineindent % dimension for space between +\headlineindent=1.166cm % number and text of headings. + +\def\ps@headings{\let\@mkboth\@gobbletwo + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% + \leftmark\hfil} + \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% + \llap{\thepage}} + \def\chaptermark##1{}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} + +\def\ps@titlepage{\let\@mkboth\@gobbletwo + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% + \hfil} + \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}% + \llap{\thepage}} + \def\chaptermark##1{}% + \def\sectionmark##1{}% + \def\subsectionmark##1{}} + +\if@runhead\ps@headings\else +\ps@empty\fi + +\setlength\arraycolsep{1.4\p@} +\setlength\tabcolsep{1.4\p@} + +\endinput +%end of file llncs.cls diff --git a/pan12-notebook-template/pan12-notebook-template.doc b/pan12-notebook-template/pan12-notebook-template.doc new file mode 100755 index 0000000000000000000000000000000000000000..1a1e8a6a3f058fba785f0b5896164d556e32cefa GIT binary patch literal 30208 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 HaNvIc2!OcFgu3p^> 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 SYc0W05Ew$p$||P}Bm5s+jv5RA literal 0 HcmV?d00001 diff --git a/pan12-notebook-template/pan12-notebook-template.tex b/pan12-notebook-template/pan12-notebook-template.tex new file mode 100644 index 0000000..f874f6f --- /dev/null +++ b/pan12-notebook-template/pan12-notebook-template.tex @@ -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 index 0000000..3279169 --- /dev/null +++ b/pan12-notebook-template/splncs03.bst @@ -0,0 +1,1519 @@ +%% BibTeX bibliography style `splncs03' +%% +%% BibTeX bibliography style for use with numbered references in +%% Springer Verlag's "Lecture Notes in Computer Science" series. +%% (See Springer's documentation for llncs.cls for +%% more details of the suggested reference format.) Note that this +%% file will not work for author-year style citations. +%% +%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite +%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text. +%% +%% This file comes to you courtesy of Maurizio "Titto" Patrignani of +%% Dipartimento di Informatica e Automazione Universita' Roma Tre +%% +%% ================================================================================================ +%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009 +%% Edited by hand by titto based on `titto-lncs-01.bst' (see below) +%% +%% CHANGES (with respect to titto-lncs-01.bst): +%% - Removed the call to \urlprefix (thus no "URL" string is added to the output) +%% ================================================================================================ +%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008 +%% Edited by hand by titto based on `titto.bst' (see below) +%% +%% CHANGES (with respect to titto.bst): +%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)" +%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.") +%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings +%% - Commented all new.block commands before urls and notes (to separate them with a comma) +%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label) +%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle) +%% - Removed a \newblock to avoid long spaces between title and "In: ..." +%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label +%% ================================================================================================ +%% This was file `titto.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `vonx,nm-rvvc,yr-par,jttl-rm,volp-com,jwdpg,jwdvol,numser,ser-vol,jnm-x,btit-rm,bt-rm,edparxc,bkedcap,au-col,in-col,fin-bare,pp,ed,abr,mth-bare,xedn,jabr,and-com,and-com-ed,xand,url,url-blk,em-x,nfss,') +%% ---------------------------------------- +%% *** Tentative .bst file for Springer LNCS *** +%% +%% Copyright 1994-2007 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2007/04/24 4.20 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is a numerical citation style, and as such is standard LaTeX. + % It requires no extra package to interface to the main text. + % The form of the \bibitem entries is + % \bibitem{key}... + % Usage of \cite is as follows: + % \cite{key} ==>> [#] + % \cite[chap. 2]{key} ==>> [#, chap. 2] + % where # is a number determined by the ordering in the reference list. + % The order in the reference list is alphabetical by authors. + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + eid + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ +% newline$ +% "\newblock " write$ % removed for titto-lncs-01 + " " write$ % to avoid long spaces between title and "In: ..." + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + + +FUNCTION {add.colon} +{ duplicate$ empty$ + 'skip$ + { ":" * add.blank } + if$ +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +STRINGS {z} +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ skip$ } +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} +FUNCTION {titto.space.prefix} % always introduce a space +{ duplicate$ text.length$ #3 < + { " " } + { " " } + if$ + swap$ +} + + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {titto.bbl.volume} % for handling journals +{ "" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {titto.bbl.pages} % for journals +{ "" } + +FUNCTION {titto.bbl.page} % for journals +{ "" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } +% { "\urlprefix\url{" url * "}" * } + { "\url{" url * "}" * } % changed in titto-lncs-02.bst + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, jj}{, f{.}.}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.~}{vv~}{ll}{ jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + "," * + t "others" = + { + + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor +% capitalize + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ + month "month" bibinfo.check + duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + remove.dots + } + if$ + duplicate$ empty$ + 'skip$ + { + before.all 'output.state := + " (" swap$ * ")" * + } + if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + pages multi.page.check + 'titto.bbl.pages + 'titto.bbl.page + if$ + swap$ tie.or.space.prefix + "pages" bibinfo.check + * * + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} % this function is used only for journal entries +{ volume field.or.null + duplicate$ empty$ 'skip$ + { +% bbl.volume swap$ tie.or.space.prefix + titto.bbl.volume swap$ titto.space.prefix +% rationale for the change above: for journals you don't want "vol." label +% hence it does not make sense to attach the journal number to the label when +% it is short + "volume" bibinfo.check + * * + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { +% editor "editor" format.names.ed duplicate$ empty$ 'pop$ % changed by titto + editor "editor" format.names duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor +% capitalize + "(" swap$ * ") " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + key duplicate$ empty$ + { pop$ + journal duplicate$ empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * warning$ } + { "journal" bibinfo.check emphasize word.in swap$ * } + if$ + } + { word.in swap$ * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + editor num.names$ duplicate$ + #2 > + { pop$ + "editor" bibinfo.check + " " * bbl.etal + * + } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + "editor" bibinfo.check + " " * bbl.etal + * + } + { + bbl.and space.word + * editor #2 "{vv~}{ll}" format.name$ + "editor" bibinfo.check + * + } + if$ + } + if$ + } + if$ +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { series emphasize * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { format.booktitle duplicate$ empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + } + { word.in swap$ * } + if$ + } + { word.in key * " " *} + if$ + } + { word.in format.crossref.editor * " " *} + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ +% new.block + format.url output +% new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + new.sentence + format.number.series output + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check +% new.block + format.url output +% new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + add.colon + new.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date output +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + add.colon + } + { format.authors output.nonnull + add.colon + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + new.sentence + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.chapter.pages output + new.sentence + format.number.series output + format.publisher.address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ +% new.block + format.url output +% new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % added by titto + format.bvolume output + format.pages output + new.sentence + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ +% new.block + format.url output +% new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization "organization" bibinfo.check + duplicate$ empty$ 'pop$ + { output + address "address" bibinfo.check output + } + if$ + } + { format.authors output.nonnull } + if$ + add.colon + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { + address new.block.checka + address "address" bibinfo.check output + } + 'skip$ + if$ + } + { + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + } + if$ + format.edition output + format.date output +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.btitle + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + add.colon + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished "howpublished" bibinfo.check output + format.date output +% new.block + format.url output +% new.block + format.note output + fin.entry + empty.misc.check +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.btitle + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization "organization" bibinfo.check output + } + { format.editors output.nonnull } + if$ + add.colon + new.block + format.btitle "title" output.check + format.bvolume output + editor empty$ + { publisher empty$ + { format.number.series output } + { + new.sentence + format.number.series output + format.publisher.address output + } + if$ + } + { publisher empty$ + { + new.sentence + format.number.series output + format.organization.address output } + { + new.sentence + format.number.series output + organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + if$ + format.date "year" output.check +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check +% new.block + format.url output +% new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + add.colon + new.block + format.title "title" output.check + format.date output +% new.block + format.url output +% new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {presort} +SORT +STRINGS { longest.label } +INTEGERS { number.label longest.label.width } +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `titto.bst'. + + -- 2.43.0