Bibliography entries causing Missing }/$ inserted and Extra }, or forgotten $ errors

bibliographiesbibliographystyle

I am using Overleaf, and when I copied and pasted bibliography from a different project into a new one, I am getting errors and cannot figure out what's wrong. The errors I am getting are all Missing } inserted., Missing $ inserted. or Extra }, or forgotten $. They refer to some lines in the output.bbl file.

My attempt so far: I manually went through process of elimination and narrowed it down to 4 problematic entries. I checked for underscores _ but they are all in the DOI/URL fields, and I tried checking for missing braces }. When I add this new bibliography, I get the errors. I tried adding each of these one by one and they all individually cause errors. I noticed that all of these are @incollection entries.

@incollection{old-nsf-proposal-1,
  doi = {10.1007/978-3-319-20681-3_29},
  url = {https://doi.org/10.1007/978-3-319-20681-3_29},
  year = {2015},
  publisher = {Springer International Publishing},
  pages = {307--318},
  author = {Nicoletta Adamo-Villani and Ronnie B. Wilbur},
  title = {{ASL}-Pro: American Sign Language Animation with Prosodic Elements},
  booktitle = {Universal Access in Human-Computer Interaction. Access to Interaction}
}

@incollection{old-nsf-proposal-44,
  doi = {10.1007/978-3-642-31534-3_32},
  url = {https://doi.org/10.1007/978-3-642-31534-3_32},
  year = {2012},
  publisher = {Springer Berlin Heidelberg},
  pages = {205--212},
  author = {Eleni Efthimiou and Stavroula-Evita Fotinea and Thomas Hanke and John Glauert and Richard Bowden and Annelies Braffort and Christophe Collet and Petros Maragos and Fran{\c{c}}ois Lefebvre-Albaret},
  title = {The Dicta-Sign Wiki: Enabling Web Communication for the Deaf},
  booktitle = {Lecture Notes in Computer Science}
}

@incollection{old-nsf-proposal-45,
  doi = {10.1007/978-3-642-02707-9_3},
  url = {https://doi.org/10.1007/978-3-642-02707-9_3},
  year = {2009},
  publisher = {Springer Berlin Heidelberg},
  pages = {21--30},
  author = {Eleni Efthimiou and Stavroula-Evita Fotinea and Christian Vogler and Thomas Hanke and John Glauert and Richard Bowden and Annelies Braffort and Christophe Collet and Petros Maragos and J{\'{e}}r{\'{e}}mie Segouat},
  title = {Sign Language Recognition,  Generation,  and Modelling: A Research Effort with Applications in Deaf Communication},
  booktitle = {Universal Access in Human-Computer Interaction. Addressing Diversity}
}

@incollection{old-nsf-proposal-46,
  doi = {10.1007/978-3-319-20681-3_33},
  url = {https://doi.org/10.1007/978-3-319-20681-3_33},
  year = {2015},
  publisher = {Springer International Publishing},
  pages = {351--361},
  author = {Eleni Efthimiou and Stavroula-Evita Fotinea and Theodore Goulas and Panos Kakoulidis},
  title = {User Friendly Interfaces for Sign Retrieval and Sign Synthesis},
  booktitle = {Universal Access in Human-Computer Interaction. Access to Interaction}
}

I checked the .bst file that I have, searched for inproceedings and I found this:

FUNCTION { incollection }
{
  output.bibitem
  format.authors "author" output.check
  author format.key output       % added
  output.year.check              % added
  new.block
  format.articletitle "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      new.sentence                % jtb: start a new sentence for series/volume
      format.bvolume output
      format.number.series output
      new.sentence
      publisher "publisher" output.check
      address "address" output.check      % jtb: require address
      format.bookpages output
      format.chapter.pages output % gnp - was special.output.nonnull
                                  % left out comma before page numbers
                                  % jtb: moved from before publisher
    }
    {
      format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  fin.block
  output.issue.doi.coden.isxn.lccn.url.note
  fin.entry
}

FUNCTION { inproceedings }
{
  output.bibitem
  format.authors "author" output.check
  author format.key output            % added
  output.year.check                   % added
  new.block
  format.articletitle "title" output.check
  howpublished output.dot.space
  crossref missing$
    {
      journal missing$          % jtb: proceedings appearing in journals
        { format.in.emphasize.booktitle "booktitle"  output.check.dot.space
          format.series output.removenospace
          format.editors.fml output % BV 2011/09/27 Moved dot to comma
          format.bvolume.noseries output
          new.sentence
          organization output
          publisher "publisher" output.check % jtb: require publisher (?)
          address "address" output.check  % jtb: require address
          format.bookpages output
        }
        {
           format.in.booktitle format.city "booktitle" output.check
           format.editors.fml output
           new.sentence
           format.journal.volume.number.day.month.year output
        }
      if$
      format.articleno output
      format.pages.check.without.articleno output
    }
    {
      format.incoll.inproc.crossref output.nonnull
      format.articleno output
      format.pages.check.without.articleno output
    }
  if$
  format.articleno.numpages output
  fin.block
  output.issue.doi.coden.isxn.lccn.url.note
  fin.entry
}

EDIT: added MWE to reproduce error:

SIGCHI-Reference-Format.bst : https://controlc.com/6d1ed4fb

.tex file:

\begin{filecontents*}{bib.bib}
@incollection{old-nsf-proposal-1,
  doi = {10.1007/978-3-319-20681-3_29},
  url = {https://doi.org/10.1007/978-3-319-20681-3_29},
  year = {2015},
  publisher = {Springer International Publishing},
  pages = {307--318},
  author = {Nicoletta Adamo-Villani and Ronnie B. Wilbur},
  title = {{ASL}-Pro: American Sign Language Animation with Prosodic Elements},
  booktitle = {Universal Access in Human-Computer Interaction. Access to Interaction}
}
\end{filecontents*}


\documentclass[letterpaper, 11pt, oneside, openright, draft]{book}

\usepackage{url}

% https://tex.stackexchange.com/questions/3802/how-to-get-doi-links-in-bibliography#3803
% https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url
\PassOptionsToPackage{hyphens}{url}\usepackage[linktoc=all, pagebackref=true]{hyperref}
\hypersetup{%
  pdfdisplaydoctitle=true, % For Accessibility
  pdfstartview={FitH}, % https://tex.stackexchange.com/questions/3450/make-pdf-open-in-fill-window-mode-with-hyperref/7251
  colorlinks=true,
  pdflang={en},
  extension=pdf,
  plainpages=false,
  pdfpagelayout=SinglePage,
  bookmarksnumbered,
  breaklinks=true,
  hypertexnames=true,
  citecolor=blue, % TODO change to black for final version (this makes it easy to check for unfinished links
  filecolor=blue, % TODO change to black for final version (this makes it easy to check for unfinished links
  linkcolor=blue, % TODO change to black for final version (this makes it easy to check for unfinished links
  urlcolor=blue,
  final % to avoid draft mode for hyperref
}

\usepackage{doi} % this must be loaded AFTER hyperref!

\begin{document}

Testing... Citing \cite{old-nsf-proposal-1}.

\bibliographystyle{SIGCHI-Reference-Format}
\bibliography{bib}

\end{document}

Best Answer

Thanks to the commenters!

What I ended up doing: I could not find a good source for the SIGCHI-Reference-Format.bst file online, so I changed it to the ACM-Reference-Format.bst from CTAN here.

For reference, I have created a diffchecker link to compare the version of SIGCHI-Reference-Format.bst I had (18 January 2012) with the current version of the ACM-Reference-Format.bst (at time of writing, 14 June 2017): https://www.diffchecker.com/m8087Izb

To use the ACM-Reference-Format.bst file, I had to add \usepackage{natbib} to my preamble. I also added \setcitestyle{numbers,square} to use numbers enclosed in square brackets.

Related Question