[Tex/LaTex] BibTeX style file for The Journal of Engineering Mathematics (Springer)

biblatexbibtexjournaljournal-publishing

Here is an example of how the bibliography should look. It has the order of author year, but it has numbered labels, non italic titles, removes several full stops, and ends with volume:pages. Here is an example

  1. Gower AL, Destrade M, Ogden R (2013) Counter-intuitive results in acousto-elasticity. Wave Motion 50:1218–1228
  2. Golub GH, Van Loan CF (1996) Matrix computations. Johns Hopkins University Press, Baltimore

The first is an article the second is a book. How can I do this without learning the intricacies of bibtex code?

Best Answer

Here is how you do it! (without suffering like I have). Note my answer only covers books and article bibtex entries.

As you are submitting a manuscript to springer you should use their tex class svjour3 found here, but it is not necessary for what follows. Now download biblatex and create a file called biblatex.cfg and put it in the same folder as your .tex file. This file will be automatically read every time latex is compiled. In a moment I will show the contents of this file, but first a minimal example of the .tex file:

\documentclass{article}
\usepackage[citestyle=numeric,bibstyle=authoryear]{biblatex}

\begin{filecontents}{\jobname.bib}
@ARTICLE{liu:11,
  author = {Peter Fox and Richard Rabbit and Franc Bird},
  title = {Animals are the better humans},
  journal = {Horse and Hound},
  year = {2011},
  volume = {10},
  pages = {11--15}
}
@BOOK{bibbook,
title = {How to do all the typographic editing for free. },
publisher = {Open Access, University},
author = {Mathematician, D r},
year = {2012}
}
\end{filecontents}

\addbibresource{\jobname.bib}
\nocite{*}

\begin{document}
\printbibliography
\end{document}

And now for the more painful contents of biblatex.cfg

% $Id: biblatex.cfg,v 1.7 2011/11/13 19:09:07 lehman stable $

\ProvidesFile{biblatex.cfg}
\RequireBibliographyStyle{standard}
\RequireBibliographyStyle{authoryear}

\ExecuteBibliographyOptions{firstinits=true,terseinits=true, doi=false,url=false, isbn=false,maxbibnames=99}

\usepackage{csquotes}

\DeclareNameAlias{sortname}{last-first}

\DeclareFieldFormat{journaltitle}{#1} %remove comma after title 
\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[article]{volume}{#1\addcolon} %add colon after volume 

\renewcommand*\finentrypunct{} %Remove last full stop
\renewcommand*{\bibpagespunct}{% remove space before pages
\ifentrytype{article}
  {}
  {\addcomma}}

%remove quotation marks from titles  
  \DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{citetitle}{#1}
\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{title}{#1} 
\DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography

\renewbibmacro{in:}{} %remove in: before journal title
\renewcommand*{\finalnamedelim}{\addcomma\space}
\renewcommand{\labelnamepunct}{\addspace}

\AtEveryBibitem{%
  \clearfield{day}%
  \clearfield{month}%
  \clearfield{endday}%
  \clearfield{endmonth}%
  \clearfield{number}%
}

% Add numeric label in the bibliography without brakets
\DeclareFieldFormat{labelnumberwidth}{#1.}
\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}

% Change order to last name then first name abbreviate without a full stop at the end. This should be at the end!
\renewbibmacro*{name:last-first}[4]{%
  \ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}{}{%
       \ifcapital
         {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
     {\mkbibnameprefix{#3}\isdot}%
       \ifpunctmark{'}{}{\bibnamedelimc}}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
%\ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% DELETED
     \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}}}% NEW
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
%      \ifblank{#2#3}{}{\addcomma}% DELETED
     \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}%
     \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}

\endinput

Here is the result of running latex bibtex latex latex:

  1. Fox P, Rabbit R, Bird F (2011) Animals are the better humans. Horse and Hound 10:11–15
  2. Mathematician Dr (2012) How to do all the typographic editing for free. Open Access, University

This code was pieced together from several posts, I can not remember all the names to thank, so I will thank the community as a whole, you guys are awesome!

Related Question