3

Is there a bibliography style for biblatex that arranges the data in columns, especially when the cited work is part of a larger entity? (Better than the following mockup that is.)

Mockup with many rows per entry

\documentclass{minimal}
\begin{document}
\begin{tabular}{p{\parindent}*2{p{0.45\linewidth}}}
\multicolumn{2}{p{0.5\linewidth}}
     {Authors}        & Editors \\
    & Title. Subtitle & Booktitle \\
    & Chapter, Pages  & Series Volume. Issue \\
    &                 & Publisher, Place. Date, Edition \\
    & DOI etc.        & ISBN/ISSN etc. \\
    & \multicolumn{2}{p{\linewidth}}{Comment, Access Date etc.} \\ % shared data
\end{tabular}
\end{document}

Mockup with 2 rows per entry

\documentclass{minimal}
\begin{document}
\begin{tabular}{p{\parindent}*2{p{0.45\linewidth}}}
key & Authors: “Title. Subtitle” (Chapter, Pages). 
      DOI etc.
    & Editors: “Booktitle” (Series Volume, Issue). 
      Publisher, Place. Date, Edition. ISBN/ISSN etc. \\
    & \multicolumn{2}{p{\linewidth}}{Comment, Access Date etc.} \\ % shared data
\end{tabular}
\end{document}

Mockup with 1 row per entry

\documentclass{minimal}
\begin{document}
\begin{tabular}{p{\parindent}*2{p{0.45\linewidth}}}
key & Authors: “Title. Subtitle” (Chapter, Pages). 
      DOI etc. Comment, Access Date etc.
    & Editors: “Booktitle” (Series Volume, Issue). 
      Publisher, Place. Date, Edition. ISBN/ISSN etc. \\
\end{tabular}
\end{document}

If there is nothing like that, how would you do it? (Answers)

Why would you not do it? (Comments)

Update:

Since biblatex bibliographies are expected to be lists, some prerequisites must be met first. This seem to be solved, mostly at least, by @Audrey in an answer from 2012, which introduces \defbibtabular etc. I’m not sure how robust the code is regarding biblatex updates, because it uses \patchcmd.

In the style requested there, however, the author names appear in the first of two columns, everything else is put right of it, whereas my primary goal is to separate @article and @journal or @inbook and @book into 2 columns and, possibly, the citation key in a third.

  • 2
    Why not: I could buy just putting it in columns but not the use of multicolumns for common data. Perhaps this is just me, but I think it would be extremely annoying to use. The point of the bibliography is to make it easy to find references. That layout would make it much harder to scan through the list to the relevant entry. One column or two columns is OK but two-columns-with-bits-in-one-column would make it harder to find labels quickly. Plus you will end up with gaps in some cases because the non-shared data will take different amounts of space. Again, harder to see what goes with what. – cfr Feb 4 '14 at 4:22
  • @cfr: Okay, granted, the multicolumn just seemed like a good idea for long strings like URLs. I actually hoped that there already was a tabular bibliography style that dealt with all this much better than my mockups do. – Crissov Feb 12 '14 at 9:44
3
+100

I suppose that the MWE of my question Align/avoid numeration and labels in a custom biblatex format could be a starting point for your own styles. With the improvements suggested by Guido, the final source code was the following:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage{csquotes}
\usepackage{rotating}
\usepackage[backend=biber, maxnames=99, sorting=none, hyperref=true]{biblatex}
\usepackage[colorlinks=true]{hyperref}

\begin{filecontents}{\jobname.bib}

@ARTICLE{mwe2012,
  author = {Smith, A. and Johnson, B. and Willians, C.},
  title = {The three most common surnames in the United States of America},
  journal = {Review of Useless Knowledge},
  year = {2012},
  volume = {8},
  number = {1},
  pages = {290--290}
}

@ARTICLE{mwe2011,
  author = {Miller, J. and Brown, D.},
  title = {Most used surnames in fake passports},
  journal = {Journal of Nosense Ranks},
  year = {2011},
  volume = {5},
  number = {3},
  pages = {1--130},
  pmid = {1234567},
  url = {http://www.mwe.com/mwe2011},
  doi = {http://dx.doi.org/10.1016/jnr.2011.01.01},
}
\end{filecontents}


\addbibresource{\jobname.bib}  

\defbibenvironment{bibliography}
  {\list
     {\ifentrytype{article}
       {\rotatebox[origin=c]{90}{
         \printtext[labelnumberwidth]{%
             \printfield{prefixnumber}%
              \printfield{labelnumber}}%
            \addspace%
            \MakeSentenceCase{\thefield{entrytype}}}}
       {\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}

\DeclareFieldFormat{doi}{\printtext[bibhyperref]{#1}}
\DeclareFieldFormat{url}{\printtext[bibhyperref]{#1}}

% \DeclareNameFormat[article]{author}{\dotfill #1 \dotfill}
\DeclareFieldFormat[article,incollection]{title}{\bf #1\isdot}
\DeclareFieldFormat{journaltitle}{\emph{#1}}
\DeclareFieldFormat[article,incollection]{volume}{#1}
\DeclareFieldFormat[article]{number}{#1}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{year}{#1}


\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
\begin{tabular}{lp{0.75\textwidth}}     \\ 
 \textcolor{gray}{Authors:}   & \printnames{author}       \\ 
 \textcolor{gray}{Title:}    & \printfield{title}        \\  
 \textcolor{gray}{Year:}       & \printfield{year}         \\
 \textcolor{gray}{Journal:}   & \printfield{journaltitle} \\ 
 \textcolor{gray}{Volume:}   & \printfield{volume}       \\
 \textcolor{gray}{Number:}    & \printfield{number}       \\
 \textcolor{gray}{Pages:}   & \printfield{pages}        \\
 \iffieldundef{url}{}{\textcolor{gray}{\sc url:}     & \printfield{url}     \\}%
 \iffieldundef{doi}{}{\textcolor{gray}{\sc doi:}     & \printfield{doi}     \\}%
\end{tabular}
\vspace{1em}
\hrule
\usebibmacro{finentry}}

\begin{document}
\nocite{*}
\printbibliography[title=My example articles]
\end{document}

And the result is:

MWEGuido

  • That helps and I reward you the bounty. I shall post my results in a subsequent answer as soon as I’ve had enough time to experiment. – Crissov Feb 13 '14 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.