\documentclass[headings=small]{scrarticle}
\usepackage[british]{babel}

\newcommand*\BibLaTeX{Bib\LaTeX}

\date{2026/05/25 v1}
\author{Jonathan Garbe}
\title{The Greifswald bibliography style}
\subtitle{A tabular author-date \BibLaTeX{} style}

\setcounter{section}{-1}

\begin{document}
\maketitle

\section{Description}

Greifswald bibliographies consist of two columns: The left one contains the publication date, while title and other bibliographical data (the body) are printed in the right column. The author names are printed in bold face and span both columns. Titles are printed upright and not surrounded by quotation marks. 

The body of dependent publications (\verb|@article|, \verb|@inCollection|, etc.) is divided into two paragraphs: The first contains information that relates to the dependent publication itself, such as title, DOI and URL; data relating to the parent publication, such as that one's title, editor and ISBN, is printed in the second. 

The publisher and its location are printed only if neither DOI, ISBN nor ISSN are known. 

\section{Use}

To use the tabular bibliography style, the package \texttt{greifswald}, which itself does not process any options, needs to be loaded after \texttt{biblatex}. It is recommended to set \verb|date=iso, seconds=true|:
\begin{verbatim}
\usepackage[style=greifswald, date=iso, seconds=true, ...]{biblatex}
\usepackage{greifswald}
\addbibresource{...}
\end{verbatim}
The bibliography is printed with \verb|\printbibtabular|. The command accepts the same options as \verb|\printbibliography|.

\section{Non-tabular Greifswald bibliographies}

Because Greifswald is based on the package longtable, it cannot be used in a two-column document. Anyway a tabular bibliography wouldn't look nice with too little space available. 

Therefore the style is designed so it can be used also to print non-tabular bibliographies: Just replace \verb|\printbibtabular| by \verb|\printbibliography|. Loading the package is unnecessary in that case. 

\section{Lengths}

To adapt vertical spacing, set the following lengths:
\begin{itemize}
    \item\verb|\bibnamesep| before a new author (default: 0.5em),
    \item\verb|\greifswalddatesep| after each author (0, ignored in non-tabular mode),
    \item\verb|\bibitemsep| between two entries by the same author (0).
\end{itemize}
The spaces actually get larger because some space is automatically added between table rows.

Horizontal lengths:
\begin{itemize}
    \item\verb|\greifswaldindent| the indentation before the title of the parent publication for dependent publications (1em),
    \item\verb|\greifswalddatewidth| the width of the first column in a tabular bibliography (width of the string "2000m/2000"),
    \item\verb|\greifswaldcolsep| the space between the two columns (0).
\end{itemize}

\section{Macros}

The style can be further customised by renewing the following macros:
\begin{itemize}
    \item\verb|greifswald:doi+eprint+url| and
    \item\verb|greifswald:omitdoi+eprint+url| together move DOI, eprint and URL to the first paragraph of an entry (set both to \verb|{}| if you want the information be printed in the second paragraph instead),
    \item\verb|greifswald:omitpublisher+location| is used if DOI, ISBN or ISSN are found to clear publisher and location (set to \verb|{}| if you want publisher and location to be printed anyway).
\end{itemize}
The package uses the following macros to print the content of a tabular bibliography:
\begin{itemize}
    \item\verb|greifswald:author| prints the author,
    \item\verb|greifswald:date| prints the date,
    \item\verb|greifswald:omitauthor+date| is called once before the body is printed to clear the information already presented. If the information contained in the other two macros is changed, this macro should be adapted accordingly to avoid the same information being printed twice or not at all. 
\end{itemize}

\section{For developers}

The package is based on the \verb|biblatex-ext-tabular| package by Moritz Wemheuer. See the \verb|biblatex-ext| documentation for details.

The package can also be used without the style as a base to design tabular bibliography styles. The style should be based on \verb|ext-authoryear|.

As the package must be loaded after the style, lengths that are to be set in the style need to be registered using \verb|\newlength| first. The package registers undefined lengths but does not override lengths defined in the style. 

The macros used to print the table cannot be defined or renewed in a style. If you want to renew them, you have to do so after loading the \verb|greifswald| package.

\end{document}