
  paper_count_[std::string("Abraham2015")] = 0;
  paper_url_[std::string("Abraham2015")] = "https://doi.org/10.1016/j.softx.2015.06.001";
  paper_bibtex_[std::string("Abraham2015")] =
    "\n"
    "@article{Abraham2015,\n"
    "  title = {{GROMACS}: High performance molecular simulations through multi-level parallelism from laptops to supercomputers},\n"
    "  author = {Abraham, Mark J.{} and Murtola, Teemu and Schulz, Roland and Páll, Szil\\'ard and Smith, Jeremy C.{} and Hess, Berk and Lindahl, Erik},\n"
    "  journal = {{SoftwareX}},\n"
    "  volume = {1--2},\n"
    "  year = {2015},\n"
    "  pages = {19--25},\n"
    "  doi = {10.1016/j.softx.2015.06.001},\n"
    "  url = {https://doi.org/10.1016/j.softx.2015.06.001}\n"
    "}\n";

  paper_count_[std::string("BouRabee2010")] = 0;
  paper_url_[std::string("BouRabee2010")] = "https://doi.org/10.1137/090758842";
  paper_bibtex_[std::string("BouRabee2010")] =
    "\n"
    "@article{BouRabee2010,\n"
    "  doi = {10.1137/090758842},\n"
    "  url = {https://doi.org/10.1137/090758842},\n"
    "  year = {2010},\n"
    "  volume = {48},\n"
    "  number = {1},\n"
    "  pages = {278--297},\n"
    "  author = {Nawaf Bou-Rabee and Houman Owhadi},\n"
    "  title = {Long-Run Accuracy of Variational Integrators in the Stochastic Context},\n"
    "  journal = {{SIAM} Journal on Numerical Analysis}\n"
    "}\n";

  paper_count_[std::string("Chen2021")] = 0;
  paper_url_[std::string("Chen2021")] = "https://doi.org/10.1021/acs.jctc.1c00103";
  paper_bibtex_[std::string("Chen2021")] =
    "\n"
    "@article{Chen2021,\n"
    "  author = {Chen, Haochuan and Fu, Haohao and Chipot, Christophe and Shao, Xueguang and Cai, Wensheng},\n"
    "  title = {Overcoming free-energy barriers with a seamless combination of a biasing force and a collective variable-independent boost potential},\n"
    "  journal = {J. Chem. Theory Comput.},\n"
    "  year = {2021},\n"
    "  volume = {17},\n"
    "  number = {7},\n"
    "  pages = {3886--3894},\n"
    "  doi = {10.1021/acs.jctc.1c00103},\n"
    "  url = {https://doi.org/10.1021/acs.jctc.1c00103}\n"
    "}\n";

  paper_count_[std::string("Chen2022")] = 0;
  paper_url_[std::string("Chen2022")] = "https://doi.org/10.1021/acs.jcim.1c01010";
  paper_bibtex_[std::string("Chen2022")] =
    "\n"
    "@article{Chen2022,\n"
    "  author = {Chen, Haochuan and Liu, Han and Feng, Heying and Fu, Haohao and Cai, Wensheng and Shao, Xueguang and Chipot, Christophe},\n"
    "  title = {MLCV: {Bridging} {Machine-Learning-Based} {Dimensionality} {Reduction} and {Free-Energy} {Calculation}},\n"
    "  journal = {J. Chem. Inf. Model.},\n"
    "  volume = {62},\n"
    "  number = {1},\n"
    "  pages = {1-8},\n"
    "  year = {2022},\n"
    "  doi = {10.1021/acs.jcim.1c01010},\n"
    "  URL = {https://doi.org/10.1021/acs.jcim.1c01010}\n"
    "}\n";

  paper_count_[std::string("Comer2014c")] = 0;
  paper_url_[std::string("Comer2014c")] = "https://doi.org/10.1021/ct500874p";
  paper_bibtex_[std::string("Comer2014c")] =
    "\n"
    "@article{Comer2014c,\n"
    "  author = {Comer, Jeffrey and Phillips, James C.{} and Schulten, Klaus and Chipot, Christophe},\n"
    "  title = {Multiple-walker strategies for free-energy calculations in {NAMD}: {Shared} adaptive biasing force and walker selection rules},\n"
    "  journal = {J. Chem. Theor. Comput.},\n"
    "  year = {2014},\n"
    "  volume = {10},\n"
    "  number = {12},\n"
    "  pages = {5276--5285},\n"
    "  doi = {10.1021/ct500874p},\n"
    "  pmid = {26583211},\n"
    "  url = {https://doi.org/10.1021/ct500874p}\n"
    "}\n";

  paper_count_[std::string("Ebrahimi2022")] = 0;
  paper_url_[std::string("Ebrahimi2022")] = "https://doi.org/10.1021/acs.jctc.1c01235";
  paper_bibtex_[std::string("Ebrahimi2022")] =
    "\n"
    "@article {Ebrahimi2022,\n"
    "  author = {Ebrahimi, Mina and H\\'enin, J\\'er\\^ome},\n"
    "  title = {Symmetry-Adapted Restraints for Binding Free Energy Calculations},\n"
    "  journal = {Journal of Chemical Theory and Computation},\n"
    "  volume = {18},\n"
    "  number = {4},\n"
    "  pages = {2494-2502},\n"
    "  year = {2022},\n"
    "  doi = {10.1021/acs.jctc.1c01235},\n"
    "  url = {https://doi.org/10.1021/acs.jctc.1c01235}\n"
    "}\n";

  paper_count_[std::string("Fiorin2013")] = 0;
  paper_url_[std::string("Fiorin2013")] = "https://doi.org/10.1080/00268976.2013.813594";
  paper_bibtex_[std::string("Fiorin2013")] =
    "\n"
    "@article{Fiorin2013,\n"
    "  author = {Fiorin, Giacomo and Klein, Michael L.{} and H\\'enin, J\\'er\\^ome},\n"
    "  title = {Using collective variables to drive molecular dynamics simulations},\n"
    "  journal = {Mol. Phys.},\n"
    "  year = {2013},\n"
    "  volume = {111},\n"
    "  number = {22-23},\n"
    "  pages = {3345--3362},\n"
    "  publisher = {Taylor & Francis},\n"
    "  doi = {10.1080/00268976.2013.813594},\n"
    "  url = {https://doi.org/10.1080/00268976.2013.813594}\n"
    "}\n";

  paper_count_[std::string("Fiorin2020")] = 0;
  paper_url_[std::string("Fiorin2020")] = "https://doi.org/10.1002/jcc.26075";
  paper_bibtex_[std::string("Fiorin2020")] =
    "\n"
    "@article{Fiorin2020,\n"
    "  author = {Fiorin, Giacomo and Marinelli, Fabrizio and {Faraldo-G\\'omez}, Jos\\'e D.},\n"
    "  title = {Direct Derivation of Free Energies of Membrane Deformation and Other Solvent Density Variations From Enhanced Sampling Molecular Dynamics},\n"
    "  journal = {J. Comp. Chem.},\n"
    "  year = {2020},\n"
    "  volume = {41},\n"
    "  number = {5},\n"
    "  pages = {449--459},\n"
    "  doi = {10.1002/jcc.26075},\n"
    "  pmid = {31602694},\n"
    "  url = {https://doi.org/10.1002/jcc.26075}\n"
    "}\n";

  paper_count_[std::string("Fiorin2024")] = 0;
  paper_url_[std::string("Fiorin2024")] = "https://doi.org/10.1021/acs.jpcb.4c05604";
  paper_bibtex_[std::string("Fiorin2024")] =
    "\n"
    "@article{Fiorin2024,\n"
    "  author = {Fiorin, Giacomo and Marinelli, Fabrizio and Forrest, Lucy R. and Chen, Haochuan and Chipot, Christophe and Kohlmeyer, Axel and Santuz, Hubert and H{\\'e}nin, J{\\'e}rôme},\n"
    "  title = {Expanded Functionality and Portability for the Colvars Library},\n"
    "  journal = {J. Phys. Chem. {B}},\n"
    "  volume = {0},\n"
    "  number = {0},\n"
    "  pages = {null},\n"
    "  year = {2024},\n"
    "  doi = {10.1021/acs.jpcb.4c05604},\n"
    "  pmid = 39501453,\n"
    "  url = { https://doi.org/10.1021/acs.jpcb.4c05604}\n"
    "}\n";

  paper_count_[std::string("Fu2016")] = 0;
  paper_url_[std::string("Fu2016")] = "https://doi.org/10.1021/acs.jctc.6b00447";
  paper_bibtex_[std::string("Fu2016")] =
    "\n"
    "@article{Fu2016,\n"
    "  author = {Fu, Haohao and Shao, Xueguang and Chipot, Christophe and Cai, Wensheng},\n"
    "  title = {Extended adaptive biasing force algorithm. {An} on--the--fly implementation for accurate free--energy calculations},\n"
    "  journal = {J. Chem. Theory Comput.},\n"
    "  year = {2016},\n"
    "  volume = {12},\n"
    "  number = {8},\n"
    "  pages = {3506-–3513},\n"
    "  pmid = {27398726},\n"
    "  doi = {10.1021/acs.jctc.6b00447},\n"
    "  pmid = {27398726},\n"
    "  url = {https://doi.org/10.1021/acs.jctc.6b00447}\n"
    "}\n";

  paper_count_[std::string("Fu2017")] = 0;
  paper_url_[std::string("Fu2017")] = "https://doi.org/10.1021/acs.jctc.7b00791";
  paper_bibtex_[std::string("Fu2017")] =
    "\n"
    "@article{Fu2017,\n"
    "  author = {Fu, Haohao and Cai, Wensheng and H\\'enin, J\\'er\\^ome and Roux, Beno\\^it and Chipot, Christophe},\n"
    "  title = {New Coarse Variables for the Accurate Determination of Standard Binding Free Energies},\n"
    "  journal = {J. Chem. Theory. Comput.},\n"
    "  year = {2017},\n"
    "  volume = {13},\n"
    "  number = {11},\n"
    "  pages = {5173-5178},\n"
    "  doi = {10.1021/acs.jctc.7b00791},\n"
    "  pmid = {28965398},\n"
    "  url = {https://doi.org/10.1021/acs.jctc.7b00791}\n"
    "}\n";

  paper_count_[std::string("Garate2019")] = 0;
  paper_url_[std::string("Garate2019")] = "https://doi.org/10.1021/acs.jpcb.8b09374";
  paper_bibtex_[std::string("Garate2019")] =
    "\n"
    "@article{Garate2019,\n"
    "  author = {Garate, Jos\\'e Antonio and Bernardin, Alejandro and Escalona, Yerko and Yanez, Carlos and English, Niall J.{} and {Perez-Acle}, Tomas},\n"
    "  title = {Orientational and Folding Thermodynamics via Electric Dipole Moment Restraining},\n"
    "  journal = {J. Phys. Chem. {B}},\n"
    "  year = {2019},\n"
    "  volume = {123},\n"
    "  number = {12},\n"
    "  pages = {2599--2608},\n"
    "  doi = {10.1021/acs.jpcb.8b09374},\n"
    "  pmid = {30831028},\n"
    "  url = {https://doi.org/10.1021/acs.jpcb.8b09374}\n"
    "}\n";

  paper_count_[std::string("Henin2010")] = 0;
  paper_url_[std::string("Henin2010")] = "https://doi.org/10.1021/ct9004432";
  paper_bibtex_[std::string("Henin2010")] =
    "\n"
    "@article{Henin2010,\n"
    "  author = {H\\'enin, J\\'er\\^ome and Fiorin, Giacomo and Chipot, Christophe and Klein, Michael L.},\n"
    "  title = {Exploring multidimensional free energy landscapes using time-dependent biases on collective variables},\n"
    "  journal = {J. Chem. Theory Comput.},\n"
    "  year = {2010},\n"
    "  volume = {6},\n"
    "  pages = {35-47},\n"
    "  number = {1},\n"
    "  doi = {10.1021/ct9004432},\n"
    "  pmid = {26614317},\n"
    "  url = {https://doi.org/10.1021/ct9004432}\n"
    "}\n";

  paper_count_[std::string("Henin2021")] = 0;
  paper_url_[std::string("Henin2021")] = "https://doi.org/10.1021/acs.jctc.1c00593";
  paper_bibtex_[std::string("Henin2021")] =
    "\n"
    "@Article{Henin2021,\n"
    "  author  = {H\\'enin, J.},\n"
    "  journal = {J. Chem. Theory Comput.},\n"
    "  title   = {Fast and accurate multidimensional free energy integration},\n"
    "  year    = {2021},\n"
    "  doi     = {10.1021/acs.jctc.1c00593},\n"
    "  url     = {https://doi.org/10.1021/acs.jctc.1c00593},\n"
    "}\n";

  paper_count_[std::string("Humphrey1996")] = 0;
  paper_url_[std::string("Humphrey1996")] = "https://doi.org/10.1016/0263-7855(96)00018-5";
  paper_bibtex_[std::string("Humphrey1996")] =
    "\n"
    "@article{Humphrey1996,\n"
    "  title = {{VMD}: visual molecular dynamics},\n"
    "  author = {Humphrey, William and Dalke, Andrew and Schulten, Klaus},\n"
    "  journal = {J. Mol. Graph.},\n"
    "  year = {1996},\n"
    "  volume = {14},\n"
    "  number = {1},\n"
    "  pages = {33--38},\n"
    "  doi = {10.1016/0263-7855(96)00018-5},\n"
    "  url = {https://doi.org/10.1016/0263-7855(96)00018-5}\n"
    "}\n";

  paper_count_[std::string("Lesage2017")] = 0;
  paper_url_[std::string("Lesage2017")] = "https://doi.org/10.1021/acs.jpcb.6b10055";
  paper_bibtex_[std::string("Lesage2017")] =
    "\n"
    "@article{Lesage2017,\n"
    "  author = {Lesage, Adrien and Leli\\`evre, Tony and Stoltz, Gabriel and H\\'enin, J\\'er\\^ome},\n"
    "  title = {Smoothed biasing forces yield unbiased free energies with the extended-system adaptive biasing force method},\n"
    "  journal = {J. Phys. Chem. {B}},\n"
    "  year = {2017},\n"
    "  volume = {121},\n"
    "  number = {15},\n"
    "  pages = {3676-3685},\n"
    "  doi = {10.1021/acs.jpcb.6b10055},\n"
    "  pmid = {27959559},\n"
    "  url = {https://doi.org/10.1021/acs.jpcb.6b10055}\n"
    "}\n";

  paper_count_[std::string("Marinelli2015")] = 0;
  paper_url_[std::string("Marinelli2015")] = "https://doi.org/10.1016/j.bpj.2015.05.024";
  paper_bibtex_[std::string("Marinelli2015")] =
    "\n"
    "@article{Marinelli2015,\n"
    "  author = {Marinelli, Fabrizio and Faraldo-G\\'omez, Jos\\'e D.},\n"
    "  title = {Ensemble-Biased Metadynamics: A Molecular Simulation Method to Sample Experimental Distributions},\n"
    "  journal = {Biophys. J.},\n"
    "  year = {2015},\n"
    "  volume = {108},\n"
    "  number = {12},\n"
    "  pages = {2779--2782},\n"
    "  doi = {10.1016/j.bpj.2015.05.024},\n"
    "  pmid = {26083917},\n"
    "  url = {https://doi.org/10.1016/j.bpj.2015.05.024}\n"
    "}\n";

  paper_count_[std::string("Phillips2020")] = 0;
  paper_url_[std::string("Phillips2020")] = "https://doi.org/10.1063/5.0014475";
  paper_bibtex_[std::string("Phillips2020")] =
    "\n"
    "@article{Phillips2020,\n"
    "  author = {Phillips, James C.{} and Hardy, David J.{} and Maia, Julio D. C.{} and Stone, John E.{} and Ribeiro, Jo\\~ao V.{} and Bernardi, Rafael C.{} and Buch, Ronak and Fiorin, Giacomo and H\\'enin, J\\'er\\^ome and Jiang, Wei and McGreevy, Ryan and Melo, Marcelo C. R.{} and Radak, Brian K.{} and Skeel, Robert D.{} and Singharoy, Abhishek and Wang, Yi and Roux, Beno\\^it and Aksimentiev, Aleksei and Luthey-Schulten, Zaida and Kal\\'e, Laxmikant V.{} and Schulten, Klaus and Chipot, Christophe and Tajkhorshid, Emad},\n"
    "  title = {Scalable molecular dynamics on {CPU} and {GPU} architectures with {NAMD}},\n"
    "  journal = {J. Chem. Phys.},\n"
    "  year = {2020},\n"
    "  volume = {153},\n"
    "  number = {4},\n"
    "  pages = {044130},\n"
    "  doi = {10.1063/5.0014475},\n"
    "  pmid = {32752662},\n"
    "  url = {https://doi.org/10.1063/5.0014475}\n"
    "}\n";

  paper_count_[std::string("Thompson2022")] = 0;
  paper_url_[std::string("Thompson2022")] = "https://doi.org/10.1016/j.cpc.2021.108171";
  paper_bibtex_[std::string("Thompson2022")] =
    "\n"
    "@article{Thompson2022,\n"
    "  title = {{LAMMPS} - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales},\n"
    "  author = {Thompson, Aidan P. and Aktulga, H. Metin and Berger, Richard and Bolintineanu, Dan S. and Brown, W. Michael and Crozier, Paul S. and {in't Veld}, Pieter J. and Kohlmeyer, Axel and Moore, Stan G. and Nguyen, Trung Dac and Shan, Ray and Stevens, Mark J. and Tranchida, Julien and Trott, Christian and Plimpton, Steven J.},\n"
    "  journal = {Comp. Phys. Comm.},\n"
    "  volume = {271},\n"
    "  pages = {108171},\n"
    "  year = {2022},\n"
    "  doi = {10.1016/j.cpc.2021.108171},\n"
    "  url = {https://doi.org/10.1016/j.cpc.2021.108171}\n"
    "}\n";

  paper_count_[std::string("Shen2015")] = 0;
  paper_url_[std::string("Shen2015")] = "https://doi.org/10.1371/journal.pcbi.1004368";
  paper_bibtex_[std::string("Shen2015")] =
    "\n"
    "@article{Shen2015,\n"
    "  title = {Structural refinement of proteins by restrained molecular dynamics simulations with non-interacting molecular fragments},\n"
    "  author = {Shen, Rong and Han, Wei and Fiorin, Giacomo and Islam, Shahidul M and Schulten, Klaus and Roux, Beno{\\^\\i}t},\n"
    "  journal = {{PLoS} Comput. Biol.},\n"
    "  volume = {11},\n"
    "  year = {2015},\n"
    "  number = {10},\n"
    "  pages = {e1004368},\n"
    "  doi = {10.1371/journal.pcbi.1004368},\n"
    "  pmid = {26505197},\n"
    "  url = {https://doi.org/10.1371/journal.pcbi.1004368}\n"
    "}\n";

  paper_count_[std::string("Wells2007")] = 0;
  paper_url_[std::string("Wells2007")] = "https://doi.org/10.1063/1.2770738";
  paper_bibtex_[std::string("Wells2007")] =
    "\n"
    "@article{Wells2007,\n"
    "  author = {Wells, David B. and Abramkina, Volha and Aksimentiev, Aleksei},\n"
    "  title = {Exploring transmembrane transport through $\\alpha$-hemolysin with grid-steered molecular dynamics},\n"
    "  journal = {J. Chem. Phys.},\n"
    "  year = {2007},\n"
    "  volume = {127},\n"
    "  number = {12},\n"
    "  pages = {125101},\n"
    "  doi = {10.1063/1.2770738},\n"
    "  pmid = {17902937},\n"
    "  url = {https://doi.org/10.1063/1.2770738}\n"
    "}\n";

  paper_count_[std::string("White2014")] = 0;
  paper_url_[std::string("White2014")] = "https://doi.org/10.1021/ct500320c";
  paper_bibtex_[std::string("White2014")] =
    "\n"
    "@article{White2014,\n"
    "  author = {White, Andrew D.{} and Voth, Gregory A.{}},\n"
    "  title = {Efficient and minimal method to bias molecular simulations with experimental data},\n"
    "  journal = {J. Chem. Theory Comput.},\n"
    "  year = {2014},\n"
    "  volume = {10},\n"
    "  number = {8},\n"
    "  pages = {3023-–3030},\n"
    "  doi = {10.1021/ct500320c},\n"
    "  pmid = {26588273},\n"
    "  url = {https://doi.org/10.1021/ct500320c}\n"
    "}\n";

  paper_count_[std::string("Invernizzi2020")] = 0;
  paper_url_[std::string("Invernizzi2020")] = "https://pubs.acs.org/doi/10.1021/acs.jpclett.0c00497";
  paper_bibtex_[std::string("Invernizzi2020")] =
    "\n"
    "@article{Invernizzi2020,\n"
    "	title = {Rethinking {Metadynamics}: {From} {Bias} {Potentials} to {Probability} {Distributions}},\n"
    "	volume = {11},\n"
    "	issn = {1948-7185, 1948-7185},\n"
    "	shorttitle = {Rethinking {Metadynamics}},\n"
    "	url = {https://pubs.acs.org/doi/10.1021/acs.jpclett.0c00497},\n"
    "	doi = {10.1021/acs.jpclett.0c00497},\n"
    "	number = {7},\n"
    "	urldate = {2020-09-30},\n"
    "	journal = {J. Phys. Chem. Lett.},\n"
    "	author = {Invernizzi, Michele and Parrinello, Michele},\n"
    "	month = apr,\n"
    "	year = {2020},\n"
    "	pages = {2731--2736},\n"
    "}\n";

  paper_count_[std::string("Invernizzi2022")] = 0;
  paper_url_[std::string("Invernizzi2022")] = "https://doi.org/10.1021/acs.jctc.2c00152";
  paper_bibtex_[std::string("Invernizzi2022")] =
    "\n"
    "@article{Invernizzi2022,\n"
    "	title = {Exploration vs {Convergence} {Speed} in {Adaptive}-{Bias} {Enhanced} {Sampling}},\n"
    "	volume = {18},\n"
    "	issn = {1549-9618},\n"
    "	url = {https://doi.org/10.1021/acs.jctc.2c00152},\n"
    "	doi = {10.1021/acs.jctc.2c00152},\n"
    "	number = {6},\n"
    "	urldate = {2024-07-02},\n"
    "	journal = {J. Chem. Theory Comput.},\n"
    "	author = {Invernizzi, Michele and Parrinello, Michele},\n"
    "	month = jun,\n"
    "	year = {2022},\n"
    "	pages = {3988--3996},\n"
    "}\n";

  paper_count_[std::string("n/a")] = 0;
  paper_url_[std::string("n/a")] = "";
  paper_bibtex_[std::string("n/a")] = "";

  feature_count_[std::string("GROMACS engine")] = 0;
  feature_paper_map_[std::string("GROMACS engine")] = "Abraham2015";

  feature_count_[std::string("BAOA integrator")] = 0;
  feature_paper_map_[std::string("BAOA integrator")] = "BouRabee2010";

  feature_count_[std::string("reweightaMD colvar bias implementation (NAMD)")] = 0;
  feature_paper_map_[std::string("reweightaMD colvar bias implementation (NAMD)")] = "Chen2021";

  feature_count_[std::string("neuralNetwork colvar component")] = 0;
  feature_paper_map_[std::string("neuralNetwork colvar component")] = "Chen2022";

  feature_count_[std::string("Multiple-walker ABF implementation")] = 0;
  feature_paper_map_[std::string("Multiple-walker ABF implementation")] = "Comer2014c";

  feature_count_[std::string("Symmetry-adapted RMSD")] = 0;
  feature_paper_map_[std::string("Symmetry-adapted RMSD")] = "Ebrahimi2022";

  feature_count_[std::string("Colvars module")] = 0;
  feature_paper_map_[std::string("Colvars module")] = "Fiorin2013";

  feature_count_[std::string("Colvars-NAMD interface")] = 0;
  feature_paper_map_[std::string("Colvars-NAMD interface")] = "Fiorin2013";

  feature_count_[std::string("Colvars-LAMMPS interface")] = 0;
  feature_paper_map_[std::string("Colvars-LAMMPS interface")] = "Fiorin2013";

  feature_count_[std::string("Colvars-VMD interface (command line)")] = 0;
  feature_paper_map_[std::string("Colvars-VMD interface (command line)")] = "Fiorin2013";

  feature_count_[std::string("distance colvar component")] = 0;
  feature_paper_map_[std::string("distance colvar component")] = "Fiorin2013";

  feature_count_[std::string("distanceXY colvar component (derived from distanceZ)")] = 0;
  feature_paper_map_[std::string("distanceXY colvar component (derived from distanceZ)")] = "Fiorin2013";

  feature_count_[std::string("distanceZ colvar component")] = 0;
  feature_paper_map_[std::string("distanceZ colvar component")] = "Fiorin2013";

  feature_count_[std::string("distanceVec colvar component (derived from distance)")] = 0;
  feature_paper_map_[std::string("distanceVec colvar component (derived from distance)")] = "Fiorin2013";

  feature_count_[std::string("distanceDir colvar component (derived from distance)")] = 0;
  feature_paper_map_[std::string("distanceDir colvar component (derived from distance)")] = "Fiorin2013";

  feature_count_[std::string("distanceInv colvar component")] = 0;
  feature_paper_map_[std::string("distanceInv colvar component")] = "Fiorin2013";

  feature_count_[std::string("angle colvar component")] = 0;
  feature_paper_map_[std::string("angle colvar component")] = "Fiorin2013";

  feature_count_[std::string("dihedral colvar component")] = 0;
  feature_paper_map_[std::string("dihedral colvar component")] = "Fiorin2013";

  feature_count_[std::string("coordNum colvar component")] = 0;
  feature_paper_map_[std::string("coordNum colvar component")] = "Fiorin2013";

  feature_count_[std::string("selfCoordNum colvar component")] = 0;
  feature_paper_map_[std::string("selfCoordNum colvar component")] = "Fiorin2013";

  feature_count_[std::string("groupCoord colvar component (derived from distance)")] = 0;
  feature_paper_map_[std::string("groupCoord colvar component (derived from distance)")] = "Fiorin2013";

  feature_count_[std::string("hBond colvar component")] = 0;
  feature_paper_map_[std::string("hBond colvar component")] = "Fiorin2013";

  feature_count_[std::string("rmsd colvar component")] = 0;
  feature_paper_map_[std::string("rmsd colvar component")] = "Fiorin2013";

  feature_count_[std::string("eigenvector colvar component")] = 0;
  feature_paper_map_[std::string("eigenvector colvar component")] = "Fiorin2013";

  feature_count_[std::string("gyration colvar component")] = 0;
  feature_paper_map_[std::string("gyration colvar component")] = "Fiorin2013";

  feature_count_[std::string("inertia colvar component (derived from gyration)")] = 0;
  feature_paper_map_[std::string("inertia colvar component (derived from gyration)")] = "Fiorin2013";

  feature_count_[std::string("inertiaZ colvar component (derived from inertia)")] = 0;
  feature_paper_map_[std::string("inertiaZ colvar component (derived from inertia)")] = "Fiorin2013";

  feature_count_[std::string("orientation colvar component")] = 0;
  feature_paper_map_[std::string("orientation colvar component")] = "Fiorin2013";

  feature_count_[std::string("Moving frame of reference")] = 0;
  feature_paper_map_[std::string("Moving frame of reference")] = "Fiorin2013";

  feature_count_[std::string("Optimal rotation via flexible fitting")] = 0;
  feature_paper_map_[std::string("Optimal rotation via flexible fitting")] = "Fiorin2013";

  feature_count_[std::string("orientationAngle colvar component (derived from orientation)")] = 0;
  feature_paper_map_[std::string("orientationAngle colvar component (derived from orientation)")] = "Fiorin2013";

  feature_count_[std::string("orientationProj colvar component (derived from orientationAngle)")] = 0;
  feature_paper_map_[std::string("orientationProj colvar component (derived from orientationAngle)")] = "Fiorin2013";

  feature_count_[std::string("spinAngle colvar component (derived from tilt)")] = 0;
  feature_paper_map_[std::string("spinAngle colvar component (derived from tilt)")] = "Fiorin2013";

  feature_count_[std::string("tilt colvar component (derived from orientationProj)")] = 0;
  feature_paper_map_[std::string("tilt colvar component (derived from orientationProj)")] = "Fiorin2013";

  feature_count_[std::string("alpha colvar component")] = 0;
  feature_paper_map_[std::string("alpha colvar component")] = "Fiorin2013";

  feature_count_[std::string("dihedralPC colvar component")] = 0;
  feature_paper_map_[std::string("dihedralPC colvar component")] = "Fiorin2013";

  feature_count_[std::string("cartesian colvar component")] = 0;
  feature_paper_map_[std::string("cartesian colvar component")] = "Fiorin2013";

  feature_count_[std::string("Linear and polynomial combination of colvar components")] = 0;
  feature_paper_map_[std::string("Linear and polynomial combination of colvar components")] = "Fiorin2013";

  feature_count_[std::string("Metadynamics colvar bias implementation")] = 0;
  feature_paper_map_[std::string("Metadynamics colvar bias implementation")] = "Fiorin2013";

  feature_count_[std::string("Multiple-walker metadynamics colvar bias implementation")] = 0;
  feature_paper_map_[std::string("Multiple-walker metadynamics colvar bias implementation")] = "Fiorin2013";

  feature_count_[std::string("Harmonic colvar bias implementation")] = 0;
  feature_paper_map_[std::string("Harmonic colvar bias implementation")] = "Fiorin2013";

  feature_count_[std::string("harmonicWalls colvar bias implementation")] = 0;
  feature_paper_map_[std::string("harmonicWalls colvar bias implementation")] = "Fiorin2013";

  feature_count_[std::string("Linear colvar bias implementation")] = 0;
  feature_paper_map_[std::string("Linear colvar bias implementation")] = "Fiorin2013";

  feature_count_[std::string("Histogram colvar bias implementation")] = 0;
  feature_paper_map_[std::string("Histogram colvar bias implementation")] = "Fiorin2013";

  feature_count_[std::string("mapTotal colvar component")] = 0;
  feature_paper_map_[std::string("mapTotal colvar component")] = "Fiorin2020";

  feature_count_[std::string("Volumetric map-based collective variables")] = 0;
  feature_paper_map_[std::string("Volumetric map-based collective variables")] = "Fiorin2020";

  feature_count_[std::string("Multi-Map collective variables")] = 0;
  feature_paper_map_[std::string("Multi-Map collective variables")] = "Fiorin2020";

  feature_count_[std::string("Updated multiple-walker ABF implementation")] = 0;
  feature_paper_map_[std::string("Updated multiple-walker ABF implementation")] = "Fiorin2024";

  feature_count_[std::string("Umbrella-integration eABF estimator")] = 0;
  feature_paper_map_[std::string("Umbrella-integration eABF estimator")] = "Fu2016";

  feature_count_[std::string("polarTheta colvar component")] = 0;
  feature_paper_map_[std::string("polarTheta colvar component")] = "Fu2017";

  feature_count_[std::string("polarPhi colvar component")] = 0;
  feature_paper_map_[std::string("polarPhi colvar component")] = "Fu2017";

  feature_count_[std::string("eulerPhi colvar component (derived from orientation_angle)")] = 0;
  feature_paper_map_[std::string("eulerPhi colvar component (derived from orientation_angle)")] = "Fu2017";

  feature_count_[std::string("eulerTheta colvar component (derived from orientation_angle)")] = 0;
  feature_paper_map_[std::string("eulerTheta colvar component (derived from orientation_angle)")] = "Fu2017";

  feature_count_[std::string("eulerPsi colvar component (derived from orientation_angle)")] = 0;
  feature_paper_map_[std::string("eulerPsi colvar component (derived from orientation_angle)")] = "Fu2017";

  feature_count_[std::string("dipoleAngle colvar component")] = 0;
  feature_paper_map_[std::string("dipoleAngle colvar component")] = "Garate2019";

  feature_count_[std::string("dipoleMagnitude colvar component")] = 0;
  feature_paper_map_[std::string("dipoleMagnitude colvar component")] = "Garate2019";

  feature_count_[std::string("ABF colvar bias implementation")] = 0;
  feature_paper_map_[std::string("ABF colvar bias implementation")] = "Henin2010";

  feature_count_[std::string("Internal-forces free energy estimator")] = 0;
  feature_paper_map_[std::string("Internal-forces free energy estimator")] = "Henin2010";

  feature_count_[std::string("Poisson integration of 2D/3D free energy surfaces")] = 0;
  feature_paper_map_[std::string("Poisson integration of 2D/3D free energy surfaces")] = "Henin2021";

  feature_count_[std::string("VMD engine")] = 0;
  feature_paper_map_[std::string("VMD engine")] = "Humphrey1996";

  feature_count_[std::string("eABF implementation")] = 0;
  feature_paper_map_[std::string("eABF implementation")] = "Lesage2017";

  feature_count_[std::string("CZAR eABF estimator")] = 0;
  feature_paper_map_[std::string("CZAR eABF estimator")] = "Lesage2017";

  feature_count_[std::string("Ensemble-biased metadynamics (ebMetaD)")] = 0;
  feature_paper_map_[std::string("Ensemble-biased metadynamics (ebMetaD)")] = "Marinelli2015";

  feature_count_[std::string("NAMD engine")] = 0;
  feature_paper_map_[std::string("NAMD engine")] = "Phillips2020";

  feature_count_[std::string("Scalable center-of-mass computation (NAMD)")] = 0;
  feature_paper_map_[std::string("Scalable center-of-mass computation (NAMD)")] = "Phillips2020";

  feature_count_[std::string("LAMMPS engine")] = 0;
  feature_paper_map_[std::string("LAMMPS engine")] = "Thompson2022";

  feature_count_[std::string("distancePairs colvar component")] = 0;
  feature_paper_map_[std::string("distancePairs colvar component")] = "Shen2015";

  feature_count_[std::string("histogramRestraint colvar bias implementation")] = 0;
  feature_paper_map_[std::string("histogramRestraint colvar bias implementation")] = "Shen2015";

  feature_count_[std::string("GridForces volumetric map implementation for NAMD")] = 0;
  feature_paper_map_[std::string("GridForces volumetric map implementation for NAMD")] = "Wells2007";

  feature_count_[std::string("ALB colvar bias implementation")] = 0;
  feature_paper_map_[std::string("ALB colvar bias implementation")] = "White2014";

  feature_count_[std::string("OPES")] = 0;
  feature_paper_map_[std::string("OPES")] = "Invernizzi2020";

  feature_count_[std::string("OPES explore or adaptive kernels")] = 0;
  feature_paper_map_[std::string("OPES explore or adaptive kernels")] = "Invernizzi2022";

  feature_count_[std::string("Colvars-GROMACS interface")] = 0;
  feature_paper_map_[std::string("Colvars-GROMACS interface")] = "n/a";

  feature_count_[std::string("gspath colvar component")] = 0;
  feature_paper_map_[std::string("gspath colvar component")] = "n/a";

  feature_count_[std::string("gzpath colvar component")] = 0;
  feature_paper_map_[std::string("gzpath colvar component")] = "n/a";

  feature_count_[std::string("linearCombination colvar component")] = 0;
  feature_paper_map_[std::string("linearCombination colvar component")] = "n/a";

  feature_count_[std::string("gspathCV colvar component")] = 0;
  feature_paper_map_[std::string("gspathCV colvar component")] = "n/a";

  feature_count_[std::string("gzpathCV colvar component")] = 0;
  feature_paper_map_[std::string("gzpathCV colvar component")] = "n/a";

  feature_count_[std::string("aspathCV colvar component")] = 0;
  feature_paper_map_[std::string("aspathCV colvar component")] = "n/a";

  feature_count_[std::string("azpathCV colvar component")] = 0;
  feature_paper_map_[std::string("azpathCV colvar component")] = "n/a";

  feature_count_[std::string("coordNum pairlist")] = 0;
  feature_paper_map_[std::string("coordNum pairlist")] = "n/a";

  feature_count_[std::string("Custom functions (Lepton)")] = 0;
  feature_paper_map_[std::string("Custom functions (Lepton)")] = "n/a";

  feature_count_[std::string("Scripted functions (Tcl)")] = 0;
  feature_paper_map_[std::string("Scripted functions (Tcl)")] = "n/a";

  feature_count_[std::string("torchANN colvar component")] = 0;
  feature_paper_map_[std::string("torchANN colvar component")] = "n/a";

  feature_count_[std::string("ABMD bias")] = 0;
  feature_paper_map_[std::string("ABMD bias")] = "n/a";
