1

I want to create a custom bibliography with BibLaTeX. I got to a point where it almost looks as required, but I'm not able to split the bibliography into two columns and I also don't know how to write the authors below each other.

Desired output: Desired Output

Current output: Current Output

My code: %!TEX root = ../root.tex

% Formats the bibliography environment
\defbibenvironment{bibliography}
  {\list
     {\usebibmacro{author/editor+others/translator+others}}
     {\setlength{\leftmargin}{0.2\textwidth}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item}


\makeatletter
\AtEveryBibitem{%
  \global\undef\bbx@lasthash%
  \clearfield{extrayear}}
\makeatother

% Adds ":" after authors.
\renewcommand{\labelnamepunct}{\addcolon\space}

% Commas between units
\renewcommand{\newunitpunct}{\addcomma\space}

% Delimiter between multiple authors:
\renewcommand{\multinamedelim}{\addsemicolon\space}

% Delimiter between last two authors:
\renewcommand{\finalnamedelim}{\addsemicolon\space}

% More space between entries
\setlength\bibitemsep{2\itemsep}

% Lastname, Firstname for all authors
\DeclareNameAlias{sortname}{family-given}

% Remove url prefix
\DeclareFieldFormat{url}{\url{#1}}

% o.J. if no date is given
\newcommand{\mkbibnodate}{\addcomma \space o\adddot J\adddot}
\renewbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \iffieldundef{year}
   {\mkbibnodate}
  {\usebibmacro{date}}
  \newunit}

% Makes title in this Format: (Shorttitle) Title
\renewbibmacro*{title}{%
  \printfield[parens]{shorttitle}%
  \setunit{\space}%
  \printfield{title}%
  \newunit}

% Bibliography style online, modified
\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  %\usebibmacro{author/editor+others/translator+others}%
  %\setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{title}%
  \newunit
  \printfield{subtitle}
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \iffieldundef{year}
   {\mkbibnodate}
  {\usebibmacro{date}}
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

% Bibliography style book, modified
  \DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printfield{subtitle}
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

Thank you for any help in advance!

Edit:

MWE:

\documentclass{article}
\usepackage[backend=biber,style=authortitle,citestyle=authortitle,hyperref=true,autocite=footnote,sortlocale=de_DE,dashed=false,maxnames=99]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@online{chickenlittle,
    author      = {Jesus Bisbal and Deirdre Lawless and Bing Wu and Jane Grimson and Vincent Wade and Ray Richardson and Donie O'Sullivan},
    title       = {A Survey of Research into Legacy System Migration},
    shorttitle  = {Legacy Migration},
    institution = {Trinity College},
    publisher   = {Trinity College},
    year        = {1997},
    url         = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.9051},
    urldate     = {2018-07-11}
}

@online{incmigration,
    author      = {Michael L. Brodie and Michael Stonebraker},
    title       = {DARWIN: On the Incremental Migration of Legacy Information Systems 1},
    shorttitle  = {Incremental Migration},
    year        = {1993},
    institution = {University of California},
    publisher   = {University of California},
    month       = {3},
    urldate     = {2018-07-11},
    url         = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.2950}
}

@online{porting,
    author      = "{Microsoft Corporation}",
    title       = {Porting to .NET Core from .NET Framework},
    shorttitle  = {Porting in .NET},
    date        = {2016-06-20},
    url         = {https://docs.microsoft.com/en-us/dotnet/core/porting/},
    urldate     = {2018-06-26}
}
@online{netframeworkfirstrelease,
    author      = "{Microsoft Corporation}",
    title       = {.NET Framework Versions and Dependencies},
    shorttitle  = {.NET Framework Initial Release},
    date        = {2018-05-31},
    urldate     = {2018-07-09},
    url         = {https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies}
}

@online{whatisdotnet,
    author      = "{Microsoft Corporation}",
    title       = {What is .NET?},
    shorttitle  = {What is .NET?},
    date        = {2018-07-06},
    urldate     = {2018-07-06},
    url         = {https://www.microsoft.com/net/learn/what-is-dotnet}
}

@online{azureiotedge,
    author      = "{Microsoft Corporation}",
    title       = {What is Azure IoT Edge},
    shorttitle  = {Azure IoT Edge},
    date        = {2018-06-12},
    urldate     = {2018-07-02},
    url         = {https://docs.microsoft.com/de-de/azure/iot-edge/about-iot-edge}
}

@online{netapianal,
    author      = "{Microsoft Corporation}",
    title       = {.NET API analyzer},
    shorttitle  = {.NET API analyzer},
    date        = {2018-07-02},
    urldate     = {2018-05-31},
    url         = {https://docs.microsoft.com/de-de/dotnet/standard/analyzers/api-analyzer}
}
\end{filecontents}



\makeatletter
\AtEveryBibitem{%
  \global\undef\bbx@lasthash%
  \clearfield{extrayear}}
\makeatother

% Adds ":" after authors.
\renewcommand{\labelnamepunct}{\addcolon\space}

% Commas between units
\renewcommand{\newunitpunct}{\addcomma\space}

% Delimiter between multiple authors:
\renewcommand{\multinamedelim}{\addsemicolon\space}

% Delimiter between last two authors:
\renewcommand{\finalnamedelim}{\addsemicolon\space}

% More space between entries
\setlength\bibitemsep{2\itemsep}

% Lastname, Firstname for all authors
\DeclareNameAlias{sortname}{family-given}

% Remove url prefix
\DeclareFieldFormat{url}{\url{#1}}

% o.J. if no date is given
\newcommand{\mkbibnodate}{\addcomma \space o\adddot J\adddot}
\renewbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \iffieldundef{year}
   {\mkbibnodate}
  {\usebibmacro{date}}
  \newunit}

% Makes title in this Format: (Shorttitle) Title
\renewbibmacro*{title}{%
  \printfield[parens]{shorttitle}%
  \setunit{\space}%
  \printfield{title}%
  \newunit}

% Bibliography style online, modified
\DeclareBibliographyDriver{online}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \printtext{\newline}%
  \usebibmacro{title}%
  \newunit
  \printfield{subtitle}
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \printlist{organization}%
  \newunit\newblock
  \iffieldundef{year}
   {\mkbibnodate}
  {\usebibmacro{date}}
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit\newblock
  \usebibmacro{url+urldate}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

% Bibliography style book, modified
  \DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}\newblock
  \printtext{\newline}%
  \usebibmacro{maintitle+title}%
  \newunit
  \printfield{subtitle}
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
  \newunit
  \printfield{volumes}%
  \newunit\newblock
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\begin{document}

\cite{porting}

\printbibliography

\end{document}

Biber/BibLaTeX Versions: latest

skyfrk
  • 13
  • You will need a tabular bibliography: https://tex.stackexchange.com/q/71088/35864 That requires some intricate changes to internals. – moewe Jul 12 '18 at 11:23
  • Do you have to follow this two-column style? I think it looks quite bad with several authors or longer names. So if you are allowed some artistic license I would definitely advise you to not go down that route. You could try biblatex-philosophy's philosophy-modern for a fancy style that similarly emphasises the authors, but does not suffer from the disadvantages of tables. – moewe Jul 12 '18 at 11:29
  • @moewe Thank you! I'll look into it. Yes, I'm forced to implement their ugly MS Word requirements... – skyfrk Jul 12 '18 at 11:31
  • Can you please show us a complete minimal example (with \documentclass, \begin{document}...\end{document}, a few bib entries and so forth), so we can have a proper look at your question. See I've just been asked to write a minimal example, what is that? and How to write a MWEB. That will make it much easier for us to help you. – moewe Jul 12 '18 at 11:42
  • Oh while you are producing the MWE/MWEB please tell us which version of biblatex (and Biber) you are using. The current versions are 3.11/2.11 – moewe Jul 12 '18 at 11:50
  • @moewe I updated the post – skyfrk Jul 12 '18 at 12:01

1 Answers1

1

Tabular bibliographies have been integrated into biblatex-ext. If you load the support package biblatex-ext-tabular the code below reduces to

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authortitle, autocite=footnote, dashed=false, maxnames=99]{biblatex}
\usepackage{hyperref}

\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space} \renewcommand{\newunitpunct}{\addcomma\space} \DeclareDelimFormat{multinamedelim}{\addsemicolon\space} \DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareNameAlias{sortname}{family-given}

\DeclareFieldFormat*{shorttitle}{\mkbibparens{#1}} \DeclareFieldFormat{url}{\url{#1}}

\renewbibmacro*{date}{% \iffieldundef{year} {\printtext{\bibstring{nodate}}} {\printdate}}

\makeatletter

\usepackage{biblatex-ext-tabular}

% sortname labels (a robust style should add provision for missing labelnames) \newbibmacro*{sortname}{% \ifnameundef{labelname} {\printtext[bold]{No name given.}% \PackageWarning{biblatex}{No labelname for entry \thefield{entrykey},\MessageBreak we need to think of something else}} {\printnames[sortname]{labelname}% \iffieldequalstr{labelnamesource}{editor} {\setunit{\printdelim{editortypedelim}}% \usebibmacro{editor+othersstrg}} {\iffieldequalstr{labelnamesource}{translator} {\setunit{\printdelim{translatortypedelim}}% \usebibmacro{translator+othersstrg}} {}}}}

\usepackage{array} \newcolumntype{L}[1]{>{\raggedright\let\newline\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{C}[1]{>{\centering\let\newline\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{R}[1]{>{\raggedleft\let\newline\\arraybackslash\hspace{0pt}}p{#1}}

\usepackage{longtable} % demo new tabular bibliography format % I strongly prefer left-aligned with fixed width (L) % over justified (p) here % longtable for tables that break over pages \defbibtabular{bibtabular} {\def\arraystretch{2}% \begin{longtable}{@{}L{\dimexpr0.3\textwidth-\tabcolsep\relax}L{\dimexpr0.7\textwidth-\tabcolsep\relax}@{}}} {\end{longtable}} {\anchorlang{\usebibmacro{sortname}} & \driver{\usebibmacro{tabular:omitsortname}} \}

\renewbibmacro{begentry}{% \printfield{shorttitle}% \printunit{\addspace}}

\usepackage{filecontents} \begin{filecontents}{\jobname.bib} @online{chickenlittle, author = {Jesus Bisbal and Deirdre Lawless and Bing Wu and Jane Grimson and Vincent Wade and Ray Richardson and Donie O'Sullivan}, title = {A Survey of Research into Legacy System Migration}, shorttitle = {Legacy Migration}, institution = {Trinity College}, publisher = {Trinity College}, year = {1997}, url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.9051}, urldate = {2018-07-11} }

@online{incmigration, author = {Michael L. Brodie and Michael Stonebraker}, title = {DARWIN: On the Incremental Migration of Legacy Information Systems 1}, shorttitle = {Incremental Migration}, year = {1993}, institution = {University of California}, publisher = {University of California}, month = {3}, urldate = {2018-07-11}, url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.2950} }

@online{porting, author = {{Microsoft Corporation}}, title = {Porting to .NET Core from .NET Framework}, shorttitle = {Porting in .NET}, date = {2016-06-20}, url = {https://docs.microsoft.com/en-us/dotnet/core/porting/}, urldate = {2018-06-26} } \end{filecontents} \addbibresource{\jobname.bib} \addbibresource{biblatex-examples.bib}

\begin{document} \cite{porting,incmigration,chickenlittle, sigfridsson,ctan,westfahl:frontier, knuth:ct:a,knuth:ct:b,worman,geer,nussbaum}

\printbibtabular \end{document}

Here is a solution based on Audrey's answer to tabular bibliography with biblatex. Because of changes to internal macros, the code of Audrey's answer was changed very slightly. I have also modernised your code ans shortened it where possible.

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authortitle, autocite=footnote, dashed=false, maxnames=99]{biblatex}
\usepackage{hyperref}

\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space} \renewcommand{\newunitpunct}{\addcomma\space} \DeclareDelimFormat{multinamedelim}{\addsemicolon\space} \DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareNameAlias{sortname}{family-given}

\DeclareFieldFormat*{shorttitle}{\mkbibparens{#1}} \DeclareFieldFormat{url}{\url{#1}}

\renewbibmacro*{date}{% \iffieldundef{year} {\printtext{\bibstring{nodate}}} {\printdate}}

\makeatletter

% user-level command for printing tabular bibliography \let\printbibtabular\printbibliography \patchcmd{\printbibtabular}{\blx@printbibliography}{\bbx@printbibtabular}{}{} \patchcmd{\printbibtabular}{\blx@printbibliography}{\bbx@printbibtabular}{}{} \let\bbx@printbibtabular\blx@printbibliography \patchcmd{\bbx@printbibtabular}{\blx@bibliography}{\bbx@bibtabular}{}{} \patchcmd{\bbx@printbibtabular} {\def\blx@theenv{bibliography}}{\def\blx@theenv{bibtabular}}{}{}

% underlying macros \def\bbx@bibtabular#1{% \blx@langstrings \blx@bibheading\blx@theheading\blx@thetitle \blx@bibnote\blx@theprenote \begingroup \blx@bibinit \let@noitemerr@empty \let\blx@noitem\blx@warn@bibempty \ifnum\bibinitsep=\z@ \let\blx@initsep\relax \fi \ifnum\bibnamesep=\z@ \let\blx@namesep\relax \fi \csuse{blx@hook@bibinit}% \csuse{blx@hook@bibinit@next}% % copy filtered list of entries to internal list macro \def\blx@do##1{% \blx@ifdata{##1}{% \begingroup \blx@getdata{##1}% \blx@bibcheck \iftoggle{blx@skipentry}{}{% \global\let\blx@noitem@empty \listadd\blx@tempa{##1}}% \endgroup}{}}% \let\blx@done\relax \blx@listloop{#1}% % tabular output for each item in list macro \def\do##1{\bbx@tab@label{##1} & \bbx@tab@item{##1}\}% \csuse{blx@env@\blx@theenv}% \dolistloop{\blx@tempa}% \csuse{blx@endenv@\blx@theenv}% \blx@bibnote\blx@thepostnote \endgroup \endgroup% this closed a goup opened by \printbibtabular }

\def\bbx@tab@label#1{% \begingroup \blx@getdata{#1}% \blx@setdefaultrefcontext{#1}% \blx@setoptions@type\abx@field@entrytype \blx@setoptions@entry \blx@thelabelnumber \blx@initsep \blx@namesep \csuse{blx@hook@bibitem}% \addtocounter{instcount}@ne \blx@anchor \csuse{bbx@tabenv@\blx@theenv}\relax \endgroup }

\def\bbx@tab@item#1{% \begingroup \blx@getdata{#1}% \blx@setoptions@type\abx@field@entrytype \blx@setoptions@entry \blx@thelabelnumber \csuse{blx@hook@bibitem}% \csuse{blx@item@\blx@theenv}\relax \blx@execute \blx@initunit \blx@beglangbib \bibsentence \blx@pagetracker \blx@driver\abx@field@entrytype \blx@postpunct \blx@endlangbib \endgroup }

% user-level command for defining tabular bibliography format \newrobustcmd*{\defbibtabular}[5]{% \long\csdef{blx@env@#1}{#2}% \long\csdef{blx@endenv@#1}{#3}% \long\csdef{bbx@tabenv@#1}{#4}% \long\csdef{blx@item@#1}{#5}}

\makeatother

% sortname labels (a robust style should add provision for missing labelnames) \newbibmacro*{sortname}{% \ifnameundef{labelname} {\printtext[bold]{No name given.}% \PackageWarning{biblatex}{No labelname for entry \thefield{entrykey},\MessageBreak we need to think of something else}} {\printnames[sortname]{labelname}% \iffieldequalstr{labelnamesource}{editor} {\setunit{\printdelim{editortypedelim}}% \usebibmacro{editor+othersstrg}} {\iffieldequalstr{labelnamesource}{translator} {\setunit{\printdelim{translatortypedelim}}% \usebibmacro{translator+othersstrg}} {}}}}

% bibitem hook to suppress redundant sortname list \newbibmacro*{omitsortname}{% \ifnameundef{labelname} {} {\clearname{\thefield{labelnamesource}}}}

\usepackage{array} \newcolumntype{L}[1]{>{\raggedright\let\newline\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{C}[1]{>{\centering\let\newline\\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{R}[1]{>{\raggedleft\let\newline\\arraybackslash\hspace{0pt}}p{#1}}

\usepackage{longtable} % demo new tabular bibliography format % I strongly prefer left-aligned with fixed width (L) % over justified (p) here % longtable for tables that break over pages \defbibtabular{bibtabular} {\def\arraystretch{2}% \begin{longtable}{@{}L{\dimexpr0.3\textwidth-\tabcolsep\relax}L{\dimexpr0.7\textwidth-\tabcolsep\relax}@{}}} {\end{longtable}} {\usebibmacro{sortname}} {\usebibmacro{omitsortname}}

\renewbibmacro{begentry}{% \printfield{shorttitle}% \printunit{\addspace}}

\usepackage{filecontents} \begin{filecontents}{\jobname.bib} @online{chickenlittle, author = {Jesus Bisbal and Deirdre Lawless and Bing Wu and Jane Grimson and Vincent Wade and Ray Richardson and Donie O'Sullivan}, title = {A Survey of Research into Legacy System Migration}, shorttitle = {Legacy Migration}, institution = {Trinity College}, publisher = {Trinity College}, year = {1997}, url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.9051}, urldate = {2018-07-11} }

@online{incmigration, author = {Michael L. Brodie and Michael Stonebraker}, title = {DARWIN: On the Incremental Migration of Legacy Information Systems 1}, shorttitle = {Incremental Migration}, year = {1993}, institution = {University of California}, publisher = {University of California}, month = {3}, urldate = {2018-07-11}, url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.2950} }

@online{porting, author = {{Microsoft Corporation}}, title = {Porting to .NET Core from .NET Framework}, shorttitle = {Porting in .NET}, date = {2016-06-20}, url = {https://docs.microsoft.com/en-us/dotnet/core/porting/}, urldate = {2018-06-26} } \end{filecontents} \addbibresource{\jobname.bib} \addbibresource{biblatex-examples.bib}

\begin{document} \cite{porting,incmigration,chickenlittle, sigfridsson,ctan,westfahl:frontier, knuth:ct:a,knuth:ct:b,worman,geer,nussbaum}

\printbibtabular \end{document}

enter image description here

Tabular bibliographies more complicated because the usual setup assumes that bibliographies are ultimately created using some kind of list environment. Since lists are populated in a manner very similar to normal paragraphs of text there is nothing special going on there. With tables, on the other hand a few extra things have to be done.

This solution allows for complete customisation of a two-column tabular bibliography, where the first column is defined via \defbibtabular and the second column is populated by the bibliography driver as usual.

moewe
  • 175,683
  • Thank you very much @moewe ! I only got one issue left with this solution: There is no space between the shorttitle and the title. I'm not able to figure out where to add a \space here. I'm only 2 weeks into the latex journey... – skyfrk Jul 13 '18 at 08:51
  • @Skyfreak Fixed. – moewe Jul 13 '18 at 08:59
  • Some heroes don't wear capes. Thank you :) – skyfrk Jul 13 '18 at 09:15
  • @Skyfreak I assume that is because there is a strict No capes policy now. If the answer helped you, you may want to consider accepting it: https://tex.stackexchange.com/help/someone-answers – moewe Jul 13 '18 at 09:22
  • I just realised, that sorting doesn't work any longer with your custom style. I used to sort my bib by author, date (ascending), title.

    I'll update the MWE with better entries for testing in a second.

    – skyfrk Jul 14 '18 at 13:46
  • @Skyfreak Add sorting=nyt, but please note that it makes little sense to sort name>year>title when the style is essentially author-title, the more natural sorting would be name>title(>year). If that does not help, please ask a new question. – moewe Jul 14 '18 at 13:55
  • It didn't work. I asked a new question – skyfrk Jul 14 '18 at 14:16