biblatex add line breaks after author and title

The first step is

\DeclareDelimFormat[bib]{nametitledelim}{\newline\bibsentence}

to get a new line after the names.

Then you need something to jump to a new line after the title. Unfortunately, there is no standard delimiter to redefine here. The easiest way that worked for all entry types was the following

\usepackage{xpatch}
\makeatletter
\def\do#1{
  \ifcsdef{blx@bbx@#1}
    {\xpatchbibdriver{#1}
       {\printlist{language}%
        \newunit\newblock}
       {\printlist{language}%
        \printunit{\newline\bibsentence}}
       {}{}}
    {}} 
\abx@doentrytypes
\makeatother

This adds a newline after the language, which in all standard drivers comes right after the title. We use the xpatch package to change the bibliography drivers and apply the change to all drivers with a loop (\abx@doentrytypes is an internal macro that loops over all).

MWE

\documentclass{scrartcl}

\usepackage{biblatex}
\usepackage{filecontents}

\DeclareDelimFormat[bib]{nametitledelim}{\newline\bibsentence}

\usepackage{xpatch}
\makeatletter
\def\do#1{
  \ifcsdef{blx@bbx@#1}
    {\xpatchbibdriver{#1}
       {\printlist{language}%
        \newunit\newblock}
       {\printlist{language}%
        \printunit{\newline\bibsentence}}
       {}{}}
    {}} 
\abx@doentrytypes
\makeatother

\begin{filecontents*}{\jobname.bib}
@inproceedings{inProc,
  author    = {Author11 and Author12 and Author13},
  editor    = {Editor1},
  title     = {Title1},
  booktitle = {Booktitle1},
  year      = {2017},
  pages     = {50--67},
  publisher = {Publisher1}
}
@article{article,
  author  = {Author21 and Author22},
  title   = {Title2},
  journal = {Journal2},
  year    = {2007},
  volume  = {29},
  number  = {5},
  pages   = {29:1--29:27}
}
@book{book,
  author    = {Author31},
  title     = {Title3},
  year      = {1970},
  publisher = {Publisher3}
}
@incollection{inCollection,
   author    = {Author4},
   title     = {Title4},
   booktitle = {Booktitle4},
   pages     = {843--993},
   editor    = {Editor4},
   chapter   = {15},
   volume    = {B},
   series    = {Series4},
   publisher = {Publisher4},
   year      = {1990}
}
@techreport{techreport,
  author      = {Author5},
  institution = {Institution5},
  number      = {Number5},
  pages       = {Pages5},
  title       = {Title5},
  year        = {5}
}
@phdthesis{phdthesis,
  author    = {Author6},
  title     = {Title6},
  school    = {School6},
  month     = {6},
  publisher = {Publisher6},
  address   = {Address6},
  year      = {6}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

example output


An alternative solution to a loose bibliography like this with block=par is discussed in Bibliography style for BibLaTeX similar to BibTeX+Beamer.


The following solution will only give the desired result, if all the entries have the "In:", e.g. for articles without a journal, there won't be a new line.

\documentclass{article}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@article{Neu93,
  author = {John von Neumann},
  title = {First Draft of a Report on the EDVAC},
  journaltitle = {IEEE Ann. Hist. Comput. },
  date = {1993},
  volume = {15},
  number = {4},
  pages = {27--75},
}
\end{filecontents*}
\usepackage{biblatex}

\renewcommand*{\labelnamepunct}{\newunitpunct\par}
\renewbibmacro{in:}{\newline In:}


\addbibresource{\jobname.bib}

\begin{document}

\nocite{*}

\printbibliography

\end{document} 

enter image description here

Tags:

Biblatex