diff --git a/orig.pdf b/orig.pdf
deleted file mode 100644
index f5b5bf1f604da4e0b9f7cc0bb48101b53237de5b..0000000000000000000000000000000000000000
Binary files a/orig.pdf and /dev/null differ
diff --git a/presentation.tex b/presentation.tex
index 009f2fe940c32992893072eba921da5d4b0e5ccd..a5865e5815b8dd7981790186cf831fdda719ff44 100644
--- a/presentation.tex
+++ b/presentation.tex
@@ -18,7 +18,7 @@
 
 
 \begin{frame}
-  \frametitle{Inhaltsverzeichnist}
+  \frametitle{Inhaltsverzeichnis}
   \tableofcontents
 \end{frame}
 
@@ -133,4 +133,15 @@
   No frame title, no logo.
 \end{frame}
 
+\begin{frame}{Bunch of references}
+  \cite{abrial1996b,ain2019codeclone,allamanis2018survey,alon2019code2vec,%
+        blanchette2016learning,blanchette2019machine,bobot2011why3}
+\end{frame}
+
+
+\begin{frame}[allowframebreaks]{References}
+  \bibliographystyle{plain}
+  \bibliography{references}
+\end{frame}
+
 \end{document}
diff --git a/references.bib b/references.bib
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..211c1b675b0661eaef0bf7196b6d0cb5179e2736 100644
--- a/references.bib
+++ b/references.bib
@@ -0,0 +1,379 @@
+@Book(abrial1996b,
+  Author	= {Abrial, Jean-Raymond},
+  Title		= {The {B}-Book: Assigning Programs to Meanings},
+  Publisher	= {Cambridge University Press},
+  Year		= 1996,
+  Address	= {New York, NY, USA}
+)
+
+@Article(ain2019codeclone,
+  Author	= {Q. U. {Ain} and W. H. {Butt} and M. W. {Anwar} and F. {Azam} and B. {Maqbool}},
+  Title		= {A Systematic Review on Code Clone Detection},
+  Journal	= {IEEE Access},
+  Year		= 2019,
+  Volume	= 7,
+  Pages		= {86121--86144},
+  doi		= {10.1109/ACCESS.2019.2918202}
+)
+
+@Article(allamanis2018survey,
+  Author	= {Allamanis, Miltiadis and Barr, Earl T and Devanbu, Premkumar and Sutton, Charles},
+  Title		= {A Survey of Machine Learning for Big Code and Naturalness},
+  Journal	= {ACM Computing Surveys (CSUR)},
+  Year		= 2018,
+  Volume	= 51,
+  Number	= 4,
+  Pages		= {1--37}
+)
+
+@Article(alon2019code2vec,
+  Author	= {Alon, Uri and Zilberstein, Meital and Levy, Omer and Yahav, Eran},
+  Title		= {code2vec: Learning Distributed Representations of Code},
+  Journal	= {Proceedings of the ACM on Programming Languages},
+  Year		= 2019,
+  Volume	= 3,
+  Number	= {POPL},
+  Pages		= {1--29}
+)
+
+@Article(blanchette2016learning,
+  Author	= {Blanchette, Jasmin Christian and Greenaway, David and Kaliszyk, Cezary and K{\"u}hlwein, Daniel and Urban, Josef},
+  Title		= {A Learning-Based Fact Selector for {Isabelle}/{HOL}},
+  Journal	= {Journal of Automated Reasoning},
+  Year		= 2016,
+  Volume	= 57,
+  Number	= 3,
+  Pages		= {219--244},
+  doi		= {10.1007/s10817-016-9362-8}
+)
+
+@InProceedings(blanchette2019machine,
+  Author	= {Blanchette, Jasmin Christian and Ouraoui, Daniel El and Fontaine, Pascal and Kaliszyk, Cezary},
+  Title		= {Machine Learning for Instance Selection in {SMT} Solving},
+  Booktitle	= {{AITP} 2019 - 4th Conference on Artificial Intelligence and Theorem Proving},
+  Year		= 2019,
+  Address	= {Obergurgl, Austria},
+  Month		= apr
+)
+
+@InProceedings(bobot2011why3,
+  Author	= {Fran\c{c}ois Bobot and Jean-Christophe Filli\^atre and Claude March\'e and Andrei Paskevich},
+  Title		= {{Why3}: Shepherd Your Herd of Provers},
+  Booktitle	= {Boogie 2011: First International Workshop on Intermediate Verification Languages},
+  Year		= 2011,
+  Pages		= {53--64},
+  Address	= {Wroc\l{}aw, Poland},
+  Month		= aug
+)
+
+@InProceedings(bortolussi2015machine,
+  Author	= {Bortolussi, Luca and Milios, Dimitrios and Sanguinetti, Guido},
+  Title		= {Machine Learning Methods in Statistical Model Checking and System Design - Tutorial},
+  Booktitle	= {Runtime Verification},
+  Year		= 2015,
+  Series	= {LNCS},
+  Volume	= 9333,
+  Pages		= {323--341},
+  Organization	= {Springer}
+)
+
+@Article(buccafurri1999enhancing,
+  Author	= {Buccafurri, Francesco and Eiter, Thomas and Gottlob, Georg and Leone, Nicola},
+  Title		= {Enhancing model checking in verification by {AI} techniques},
+  Journal	= {Artificial Intelligence},
+  Year		= 1999,
+  Volume	= 112,
+  Number	= {1-2},
+  Pages		= {57--104}
+)
+
+@Article(cai2019automatic,
+  Author	= {Cai, Cheng-Hao and Sun, Jing and Dobbie, Gillian},
+  Title		= {Automatic {B}-model repair using model checking and machine learning},
+  Journal	= {Automated Software Engineering},
+  Year		= 2019,
+  Volume	= 26,
+  Number	= 3,
+  Pages		= {653--704}
+)
+
+@Article(chen2019literature,
+  Author	= {Chen, Zimin and Monperrus, Martin},
+  Title		= {A Literature Study of Embeddings on Source Code},
+  Journal	= {arXiv preprint arXiv:1904.03061},
+  Year		= 2019
+)
+
+@InProceedings(devlin2019bert,
+  Author	= {Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina},
+  Title		= {{BERT}: Pre-training of Deep Bidirectional Transformers for Language Understanding},
+  Booktitle	= {Human Language Technologies},
+  Year		= 2019,
+  Volume	= 1,
+  Pages		= {4171--4186},
+  Month		= jun,
+  Publisher	= {Association for Computational Linguistics},
+  doi		= {10.18653/v1/N19-1423}
+)
+
+@InProceedings(dunkelau2019automated,
+  Author	= {Dunkelau, Jannik and Krings, Sebastian and Schmidt, Joshua},
+  Title		= {Automated Backend Selection for {ProB} Using Deep Learning},
+  Booktitle	= {{NASA} Formal Methods},
+  Year		= 2019,
+  Series	= {LNCS},
+  Volume	= 11460,
+  Pages		= {130--147},
+  Month		= may,
+  Publisher	= {Springer},
+  doi		= {10.1007/978-3-030-20652-9\_9}
+)
+
+@InProceedings(dunkelau2020analysing,
+  Author	= {Dunkelau, Jannik and Schmidt, Joshua and Leuschel, Michael},
+  Title		= {Analysing {ProB}'s Constraint Solving Backends},
+  Booktitle	= {Rigorous State-Based Methods},
+  Year		= 2020,
+  Series	= {LNCS},
+  Volume	= 12071,
+  Pages		= {107--123},
+  Month		= may,
+  Publisher	= {Springer},
+  doi		= {10.1007/978-3-030-48077-6\_8}
+)
+
+@InProceedings(farber2015random,
+  Author	= {F{\"a}rber, Michael and Kaliszyk, Cezary},
+  Title		= {Random Forests for Premise Selection},
+  Booktitle	= {International Symposium on Frontiers of Combining Systems},
+  Year		= 2015,
+  Pages		= {325--340},
+  Organization	= {Springer}
+)
+
+@InProceedings(garg2016inductive,
+  Author	= {Garg, Pranav and Neider, Daniel and Madhusudan, P. and Roth, Dan},
+  Title		= {Learning Invariants Using Decision Trees and Implication Counterexamples},
+  Booktitle	= {Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},
+  Year		= 2016,
+  Series	= {POPL '16},
+  Volume	= 51,
+  Pages		= {499–512},
+  Month		= jan,
+  Publisher	= {Association for Computing Machinery},
+  Number	= 1,
+  doi		= {10.1145/2837614.2837664}
+)
+
+@Article(goldman2015employing,
+  Author	= {Goldman, Robert P and Boldt, Michael W and Musliner, David J},
+  Title		= {Employing {AI} Techniques in Probabilistic Model Checking Position Paper},
+  Year		= 2015
+)
+
+@Article(healy2017predicting,
+  Author	= {Healy, Andrew and Monahan, Rosemary and Power, James F.},
+  Title		= {Predicting {SMT} Solver Performance for Software Verification},
+  Journal	= {Electronic Proceedings in Theoretical Computer Science},
+  Year		= 2017,
+  Volume	= 240,
+  Pages		= {20–37},
+  Month		= jan,
+  doi		= {10.4204/eptcs.240.2}
+)
+
+@InProceedings(hindle2012naturalness,
+  Author	= {A. {Hindle} and E. T. {Barr} and Z. {Su} and M. {Gabel} and P. {Devanbu}},
+  Title		= {On the naturalness of software},
+  Booktitle	= {34th International Conference on Software Engineering (ICSE)},
+  Year		= 2012,
+  Pages		= {837--847},
+  doi		= {10.1109/ICSE.2012.6227135}
+)
+
+@Article(irving2016deepmath,
+  Author	= {Irving, Geoffrey and Szegedy, Christian and Alemi, Alexander A and E{\'e}n, Niklas and Chollet, Fran{\c{c}}ois and Urban, Josef},
+  Title		= {{DeepMath} - Deep Sequence Models for Premise Selection},
+  Journal	= {Advances in Neural Information Processing Systems},
+  Year		= 2016,
+  Volume	= 29,
+  Pages		= {2235--2243}
+)
+
+@InProceedings(kaliszyk2015efficient,
+  Author	= {Kaliszyk, Cezary and Urban, Josef and Vysko\v{c}il, Ji\v{r}\'{\i}},
+  Title		= {Efficient Semantic Features for Automated Reasoning over Large Theories},
+  Booktitle	= {Proceedings of the 24th International Conference on Artificial Intelligence},
+  Year		= 2015,
+  Series	= {IJCAI'15},
+  Pages		= {3084–3090},
+  Publisher	= {AAAI Press}
+)
+
+@InProceedings(kaliszyk2018reinforcement,
+  Author	= {Kaliszyk, Cezary and Urban, Josef and Michalewski, Henryk and Ol\v{s}\'{a}k, Miroslav},
+  Title		= {Reinforcement Learning of Theorem Proving},
+  Booktitle	= {Advances in Neural Information Processing Systems},
+  Year		= 2018,
+  Volume	= 31,
+  Publisher	= {Curran Associates, Inc.}
+)
+
+@InProceedings(kanade2020learning,
+  Author	= {Kanade, Aditya and Maniatis, Petros and Balakrishnan, Gogul and Shi, Kensen},
+  Title		= {Learning and Evaluating Contextual Embedding of Source Code},
+  Booktitle	= {International Conference on Machine Learning},
+  Year		= 2020,
+  Pages		= {5110--5121},
+  Organization	= {PMLR}
+)
+
+@InProceedings(lederman2019learning,
+  Author	= {Lederman, Gil and Rabe, Markus and Seshia, Sanjit and Lee, Edward A},
+  Title		= {Learning Heuristics for Quantified Boolean Formulas through Reinforcement Learning},
+  Booktitle	= {International Conference on Learning Representations},
+  Year		= 2019
+)
+
+@Article(leuschel2008prob,
+  Author	= {Leuschel, Michael and Butler, Michael},
+  Title		= {{ProB}: An Automated Analysis Toolset for the {B} Method},
+  Journal	= {International Journal on Software Tools for Technology Transfer},
+  Year		= 2008,
+  Volume	= 10,
+  Number	= 2,
+  Pages		= {185--203},
+  Month		= mar
+)
+
+@InProceedings(meinke2018survey,
+  Author	= {K. {Meinke} and A. {Bennaceur}},
+  Title		= {Machine Learning for Software Engineering: Models, Methods, and Applications},
+  Booktitle	= {40th International Conference on Software Engineering: Companion (ICSE-Companion)},
+  Year		= 2018,
+  Pages		= {548--549},
+  Publisher	= {IEEE/ACM}
+)
+
+@Article(mikolov2013efficient,
+  Author	= {Mikolov, Tomas and Chen, Kai and Corrado, Greg and Dean, Jeffrey},
+  Title		= {Efficient Estimation of Word Representations in Vector Space},
+  Journal	= {arXiv preprint arXiv:1301.3781},
+  Year		= 2013
+)
+
+@InProceedings(nagashima2018pamper,
+  Author	= {Nagashima, Yutaka and He, Yilun},
+  Title		= {PaMpeR},
+  Booktitle	= {Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering},
+  Year		= 2018,
+  Series	= {ASE 2018},
+  Pages		= {362–372},
+  Address	= {New York, NY, USA},
+  Publisher	= {Association for Computing Machinery},
+  doi		= {10.1145/3238147.3238210}
+)
+
+@Article(pira2021using,
+  Author	= {Pira, Einollah},
+  Title		= {Using knowledge discovery to propose a two-phase model checking for safety analysis of graph transformations},
+  Journal	= {Software Quality Journal},
+  Year		= 2021,
+  Pages		= {1--28},
+  doi		= {10.1007/s11219-020-09542-x}
+)
+
+@Article(pira2018searching,
+  Author	= {Pira, Einollah and Rafe, Vahid and Nikanjam, Amin},
+  Title		= {Searching for violation of safety and liveness properties using knowledge discovery in complex systems specified through graph transformations},
+  Journal	= {Information and Software Technology},
+  Year		= 2018,
+  Volume	= 97,
+  Pages		= {110--134},
+  doi		= {10.1016/j.infsof.2018.01.004}
+)
+
+@InProceedings(rahman2019classifying,
+  Author	= {Rahman, Md Abdur and Haque, Md Ariful and Tawhid, Md Nurul Ahad and Siddik, Md Saeed},
+  Title		= {Classifying Non-Functional Requirements using {RNN} Variants for Quality Software Development},
+  Booktitle	= {Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation},
+  Year		= 2019,
+  Pages		= {25--30}
+)
+
+@InProceedings(schmidt2018repair,
+  Author	= {Schmidt, Joshua and Krings, Sebastian and Leuschel, Michael},
+  Title		= {Repair and Generation of Formal Models Using Synthesis},
+  Editor	= {Furia, Carlo A. and Winter, Kirsten},
+  Booktitle	= {Integrated Formal Methods},
+  Year		= 2018,
+  Series	= {LNCS},
+  Volume	= 11023,
+  Pages		= {346--366},
+  Address	= {Cham},
+  Publisher	= {Springer International Publishing}
+)
+
+@InProceedings(sharma2014machine,
+  Author	= {Sharma, Richa and Bhatia, Jaspreet and Biswas, KK},
+  Title		= {Machine Learning for Constituency Test of Coordinating Conjunctions in Requirements Specifications},
+  Booktitle	= {Proceedings of the 3rd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering},
+  Year		= 2014,
+  Pages		= {25--31}
+)
+
+@InProceedings(sultanov2013application,
+  Author	= {H. {Sultanov} and J. H. {Hayes}},
+  Title		= {Application of reinforcement learning to requirements engineering: requirements tracing},
+  Booktitle	= {2013 21st IEEE International Requirements Engineering Conference (RE)},
+  Year		= 2013,
+  Pages		= {52--61},
+  doi		= {10.1109/RE.2013.6636705}
+)
+
+@InProceedings(tulsian2014mux,
+  Author	= {Tulsian, Varun and Kanade, Aditya and Kumar, Rahul and Lal, Akash and Nori, Aditya V},
+  Title		= {{MUX}: Algorithm Selection for Software Model Checkers},
+  Booktitle	= {Proceedings of the 11th Working Conference on Mining Software Repositories},
+  Year		= 2014,
+  Pages		= {132--141}
+)
+
+@InProceedings(turian2010word,
+  Author	= {Turian, Joseph and Ratinov, Lev and Bengio, Yoshua},
+  Title		= {Word representations: A simple and general method for semi-supervised learning},
+  Booktitle	= {Proceedings of the 48th annual meeting of the association for computational linguistics},
+  Year		= 2010,
+  Pages		= {384--394}
+)
+
+@InProceedings(white2015deep,
+  Author	= {White, Martin},
+  Title		= {Deep Representations for Software Engineering},
+  Booktitle	= {2015 IEEE/ACM 37th IEEE International Conference on Software Engineering},
+  Year		= 2015,
+  Volume	= 2,
+  Pages		= {781--783},
+  Organization	= {IEEE}
+)
+
+@Article(yousefian2016greedy,
+  Author	= {Yousefian, Rosa and Aboutorabi, Shahryar and Rafe, Vahid},
+  Title		= {A greedy algorithm versus metaheuristic solutions to deadlock detection in Graph Transformation Systems},
+  Journal	= {Journal of Intelligent \& Fuzzy Systems},
+  Year		= 2016,
+  Volume	= 31,
+  Number	= 1,
+  Pages		= {137--149},
+  doi		= {10.3233/IFS-162127}
+)
+
+@Article(zhu2019ltl,
+  Author	= {W. {Zhu} and H. {Wu} and M. {Deng}},
+  Title		= {{LTL} Model Checking Based on Binary Classification of Machine Learning},
+  Journal	= {IEEE Access},
+  Year		= 2019,
+  Volume	= 7,
+  Pages		= {135703--135719},
+  doi		= {10.1109/ACCESS.2019.2942762}
+)
diff --git a/splncs04.bst b/splncs04.bst
deleted file mode 100644
index 3be8de3ac7c33fd679d5fd4f6709a6fcc4d21bc2..0000000000000000000000000000000000000000
--- a/splncs04.bst
+++ /dev/null
@@ -1,1548 +0,0 @@
-%% BibTeX bibliography style `splncs03'
-%%
-%% BibTeX bibliography style for use with numbered references in
-%% Springer Verlag's "Lecture Notes in Computer Science" series.
-%% (See Springer's documentation for llncs.cls for
-%% more details of the suggested reference format.)  Note that this
-%% file will not work for author-year style citations.
-%%
-%% Use \documentclass{llncs} and \bibliographystyle{splncs03}, and cite
-%% a reference with (e.g.) \cite{smith77} to get a "[1]" in the text.
-%%
-%% This file comes to you courtesy of Maurizio "Titto" Patrignani of
-%% Dipartimento di Informatica e Automazione Universita' Roma Tre
-%%
-%% ================================================================================================
-%% This was file `titto-lncs-02.bst' produced on Wed Apr 1, 2009
-%% Edited by hand by titto based on `titto-lncs-01.bst' (see below)
-%%
-%% CHANGES (with respect to titto-lncs-01.bst):
-%% - Removed the call to \urlprefix (thus no "URL" string is added to the output)
-%% ================================================================================================
-%% This was file `titto-lncs-01.bst' produced on Fri Aug 22, 2008
-%% Edited by hand by titto based on `titto.bst' (see below)
-%%
-%% CHANGES (with respect to titto.bst):
-%% - Removed the "capitalize" command for editors string "(eds.)" and "(ed.)"
-%% - Introduced the functions titto.bbl.pages and titto.bbl.page for journal pages (without "pp.")
-%% - Added a new.sentence command to separate with a dot booktitle and series in the inproceedings
-%% - Commented all new.block commands before urls and notes (to separate them with a comma)
-%% - Introduced the functions titto.bbl.volume for handling journal volumes (without "vol." label)
-%% - Used for editors the same name conventions used for authors (see function format.in.ed.booktitle)
-%% - Removed a \newblock to avoid long spaces between title and "In: ..."
-%% - Added function titto.space.prefix to add a space instead of "~" after the (removed) "vol." label
-%% - Added doi
-%% ================================================================================================
-%% 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
-    doi
-    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 {embolden}
-{ duplicate$ empty$
-{ pop$ "" }
-{ "\textbf{" swap$ * "}" * }
-if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #5 <
-    { "~" }
-    { " " }
-  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$
-}
-
-FUNCTION {format.doi} % added in splncs04.bst
-{ doi empty$
-     { "" }
-     { after.block 'output.state :=
-       "\doi{" doi * "}" * }
-  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 embolden
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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.doi output
-  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$
-  "\providecommand{\doi}[1]{https://doi.org/#1}"
-  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'.