2

I'm trying to adapt the German bibliography norm DIN 1505 T2.

As seen in my minimal example, I almost managed it:

\documentclass{article}
\usepackage{filecontents}
\usepackage[style=alphabetic,backend=biber,maxnames=99,maxalphanames=1, backref=false,firstinits=true,]{biblatex}

\DeclareNameAlias{default}{last-first}
\renewcommand*{\multinamedelim}{\addspace\addsemicolon\addspace}
\renewcommand*{\finalnamedelim}{\addspace\addsemicolon\addspace}
\renewcommand*{\multilistdelim}{\addspace\addsemicolon\addspace}
\renewcommand*{\finallistdelim}{\addspace\addsemicolon\addspace}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}
\renewcommand*{\subtitlepunct}{\addspace\addcolon\addspace}
\renewcommand*{\finentrypunct}{}

\DeclareFieldFormat*{title}{\emph{#1}}
\DeclareFieldFormat*{subtitle}{\emph{#1}}
\DeclareFieldFormat*{booktitle}{\emph{#1}}
\DeclareFieldFormat*{booksubtitle}{\emph{#1}}
\DeclareFieldFormat*{journaltitle}{#1}
\DeclareFieldFormat[periodical]{issuetitle}{\emph{#1}}
\DeclareFieldFormat*{maintitle}{\emph{#1}}

\renewcommand*{\labelalphaothers}{}
\renewcommand*{\intitlepunct}{}
\DefineBibliographyStrings{german}{in={}}
\DefineBibliographyStrings{english}{in={}}

\begin{filecontents*}{\jobname.bib}
@ARTICLE{Sun,
author={Yanhua Sun and Yick-Sing Ho and Lie Yu},
journal={IEEE Transactions on Magnetics},
title={Dynamic Stiffnesses of Active Magnetic Thrust Bearing Including Eddy-Current Effects},
year={2009},
month={Jan},
volume={45},
number={1},
}
@book{Moon,
  title={Field Theory Handbook},
  author={Moon, P. and Spencer, D.E.},
  year={1961},
  location={Berlin, Heidelberg},
  publisher={Springer}
}
\end{filecontents*}

\bibliography{\jobname.bib} 
\begin{document}
\cite{Sun,Moon}
\printbibliography
\end{document}

which gives: enter image description here

The last thing I can't manage to format are the sequences journal-volume-number-month-year for journal articles and location-publisher-year for books.

At the moment it looks like

journal volume.number (month year)

but I need it to be

journal volume.number, month year

I was able to remove the brackets by

\newbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {\usebibmacro{date}}
      {\printfield{issue}%
       \setunit*{\addspace}%
       \usebibmacro{date}}%
       \newunit}

but I can't manage to get the simple comma ,. How to add the comma before the date?

A similar problem comes up with books, where I need

location: publisher date

instead of

location: publisher, date

How to remove the comma in this case?

1 Answers1

2

I finally managed it. These three macros are required:

For journal volume.number, month year

% Comma before date; date not in parentheses
\renewbibmacro*{issue+date}{%
  \setunit*{\addcomma\space}%
  \iffieldundef{issue}
        {\usebibmacro{date}}
        {\printfield{issue}%
        \setunit*{\addcomma\addspace}%
        \usebibmacro{date}}%
  \newunit}

% Comma before and after journal volume
\renewbibmacro*{volume+number+eid}{%
  \setunit*{\addcomma\space}%
  \iffieldundef{eid}{
        \printfield{volume}%
        \setunit*{\adddot}%
        \printfield{number}%
        \setunit{\addcomma\space}%
  \newunit}%
  {
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}}

and for location: publisher date

% remove comma after publisher
\newbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
        {\setunit*{\addcomma\space}}
        {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\space}%
  \usebibmacro{date}%
  \newunit}

enter image description here

it is kind of improvised from what I think I understood. Please feel free to edit the answer if there are some unnecessary commands.