Bibliographies – Fixing Proceedings Booktitle Not Appearing in Springer Nature Template

bibliographiesspringernature

I am submitting a paper to a Springer journal using their LaTeX template available here. I am using the Standard Nature style (sn-standardnature.bst).

Everything works fine except that my InProceedings references do not seem to be appearing correctly in my bibliography. From my reading, I have included all required fields for InProceedings, those being the authors, title, booktitle and year. Despite the fact that I have the booktitle field, it does not appear in the reference. An example output would be:
"Smith, J. Article Title (2021)." where I am wanting: "Smith, J. Article Title. Book Title (2021)."

By experimenting I found that including the editor field would partially resolve the issue (although it would include the blank editors field in the reference itself, which I do not want).

When compiling I also get the warning:

"You can't pop an empty literal stack for entry myproceedings while executing—line 1701 of file sn-standardNature.bst".

I have followed this up but have been unable to find how to resolve my specific issues, although judging by similar answers on this site [1], [2], [3], I suspect it may be to do with an errant skip$ command in the sn-standardnature.bst file.

\documentclass[sn-standardnature]{sn-jnl}
\begin{document}
    Words1 \cite{myproceedings}
    \bibliography{ABC}
\end{document}

Where an example of my InProceedings bibtex entry is:

@InProceedings{myproceedings,
  author =   {Smith, J.},
  title =    {Article Title},
  booktitle = {Book Title},
  year =     {2021}
}

Thanks!

Best Answer

You need to add the editor of the book.

zz

\documentclass[sn-standardnature]{sn-jnl}

\begin{filecontents}[overwrite]{\jobname.bib}
    @inproceedings{myproceedings,
        author = {Smith, J.},
        title = {Article Title},
        editor = {Zaimis, E.},
        booktitle = {Book Title},
        year = {2021}
    }       
\end{filecontents}

\begin{document}
    Words1  \cite{myproceedings}

    \bibliography{\jobname}

\end{document}

As a help to solve other similar issues I wrote this guide:

(1) Download Springer Nature LaTeX authoring template

(2) Add the missing extension (!) .zip to the downloaded file and open it. The package contains the sn-bibliography.bib with 12 references from various sources.

(3) Make a directory including sn-bibliography.bib, sn-jnl.cls and, for example sn-standardnature.bst, (found in the subdir bst together with other formats).

(4) Save this file in the same directory and compile:

LaTeX + LateX + bibtex + LateX + LateX

\documentclass[sn-standardnature]{sn-jnl}

\begin{document}        
Testing  \texttt{sn-bibliography.bib}   \cite{bib12}

\nocite*

\bibliography{sn-bibliography}  
\end{document}

(5) After bibtex you shold see in the command window

This is BibTeX, Version 0.99d (MiKTeX 21.3)
The top-level auxiliary file: Testingbib.aux
The style file: sn-standardNature.bst
Database file #1: sn-bibliography.bib
Process exited normally

The last line is important.

(6) The output should look like this:

z

(7) Now you know your installation is fine and you are able to produce the list of references.

(8) Finally replace sn-bibliography.bib with your own .bib file, put your \cite and go to step 4.

(9) If after running bibtex you get Process exited with error(s) you can use the .bib template as a guide to found missing fields, proper format for entries and so on.