Biblatex lncs formatting only

The biblatex-lncs style leaves a lot to be desired. There are many problems with its internal implementation and I would be inclined to abandon it and start with one of the existing standard styles.

Having said that, we can work around the particular problems you ask about in your question.

The spacing issue is caused by a bug in \DeclareNameFormat{author} and \DeclareNameFormat{editor} in lncs.bbx. These two macros use the \ifblank test, but should use the \ifdefvoid test. The test gives the wrong result and an extra space is inserted.

The weird period at the start of entry number 3 is caused by punctuation left in the punctuation buffer when no other field is inserted after the title. As @moewe points out in the comments, you should fix this entry to include the right fields (and be the right type—it should be a book). But there is also a bug in the finentry macro in lncs.bbx. Final punctuation (\finentrypunct) should be inserted by this macro, but it isn't. We can fix this by redefining \finentrypunct and redefining the finentry macro.

Jensen1980 is also wrong because you have it as the wrong type. It should be inbook. Except biblatex-lncs does not support the inbook entry type. Aliasing inproceedings to inbook might give an approximation to the required output, but I don't really know.

But really these are just workarounds for a broken style. I wouldn't use it.

MWE

\documentclass[12pt,a4paper,oneside]{book}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{Jonesb,
  author = {Jones, Cliff B.},
  title = {Systematic Software Development Using {VDM} (2nd ed.)},
  year = {1990},
  publisher = {Prentice-Hall},
  address = {Upper Saddle River, NJ},
}

@Article{Jensen1980,
  author          = {Kurt Jensen},
  title           = {{Coloured Petri Nets}},
  year            = {1980},
  pages           = {248--299},
  doi             = {10.1007/978-3-540-47919-2_10},
  booktitle       = {Petri Nets: Central Models and Their Properties},
  publisher       = {Springer Berlin Heidelberg},
}

@InProceedings{Steyn2017,
  author    = {Theunis J. Steyn and Stefan Gruner},
  title     = {A new optional parallelism operator in {CSP} for wireless sensor networks},
  booktitle = {Proceedings of the South African Institute of Computer Scientists and Information Technologists on - {SAICSIT} {\textquotesingle}17},
  year      = {2017},
  publisher = {{ACM} Press},
  doi       = {10.1145/3129416.3129431},
}

@InProceedings{Paar2011,
  author    = {Alexander Paar and Stefan Gruner},
  title     = {Static typing with value space-based subtyping},
  booktitle = {Proceedings of the South African Institute of Computer Scientists and Information Technologists Conference on Knowledge, Innovation and Leadership in a Diverse, Multidisciplinary Environment - {SAICSIT} {\textquotesingle}11},
  year      = {2011},
  publisher = {{ACM} Press},
  doi       = {10.1145/2072221.2072242},
}
\end{filecontents}

\usepackage[
doi=false
,isbn=false
,url=false
,backend=biber
,style=lncs
]{biblatex}

% FIXES FOR BROKEN lncs.bbx
\DeclareNameFormat{author}{%
  \ifdefvoid{\namepartprefix}{}{\namepartprefix\space}\namepartfamily, \namepartgiveni%
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\space}%
    {}%
}
\DeclareNameFormat{editor}{%
  \ifdefvoid{\namepartprefix}{}{\namepartprefix\space}\namepartfamily, \namepartgiveni%
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\space}%
    {\space\ifthenelse{\value{listcount}>1}
      {(\bibstring{editors})}
      {(\bibstring{editor})}}%
}
\renewcommand*{\finentrypunct}{}
\renewbibmacro{finentry}{\settoggle{lncs:lncs}{false}\finentry}
\DeclareBibliographyAlias{inbook}{inproceedings}
\DeclareFieldFormat[inbook]{title}{#1}
% END FIXES FOR BROKEN lncs.bbx

\renewcommand*{\postnotedelim}{}
\DeclareFieldFormat{postnote}{\mkbibparens{\mkpageprefix[pagination]    [\mknormrange]{#1}}}
\DeclareCiteCommand{\cite}
{\usebibmacro{prenote}%
\bibopenbracket}
{\usebibmacro{citeindex}%
    \ifnumgreater{\value{citecount}}{1}
    {\bibopenbracket}
    {}%
    \usebibmacro{cite}}
{\bibclosebracket\multicitedelim}
{\bibclosebracket
\usebibmacro{postnote}}

\addbibresource{\jobname.bib}   

\begin{document}    
\nocite{Steyn2017,Paar2011,Jensen1980,Jonesb} 
\printbibliography
\end{document}

output


There is a fork https://github.com/NorwegianRockCat/biblatex-lncs that seems to fix many of these problems. Still, the misc entry type was missing. I've added it in my fork.

Tags:

Biblatex

Lncs