0

I'm currently having a problem with Biblatex delimiter after the author. I want to have <author>: <title> instead of <author>, <title>. With the following commands it works, except when using the entry type article in my .bib-file.

\usepackage[backend=biber, style=ieee, citestyle=numeric-comp, dashed=false]{biblatex}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}

Has anyone faced a similar problem or can help me with this problem?

Thanks in advance

1
  • Just a small note for people with a similar question, who are not using biblatex-ieee: \labelnamepunct has been deprecated in favour of the context-sensitive nametitledelim, so the line would nowadays be \DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}. (Not all styles support the shift from \labelnamepunct to nametitledelim and biblatex-ieee supports neither. So this is not an answer to the question as posed here.)
    – moewe
    Oct 22, 2019 at 19:21

2 Answers 2

0

The ieee style uses a simple \setunit. This should work:

\usepackage{xpatch}
\xpatchbibdriver{article}{\newunit
  \usebibmacro{title}}{\addcolon\space
  \usebibmacro{title}}{}{}
0

The comma is not added by \lablenamepunct (which btw is deprecated), but by the \newunit which uses \newunitpunct. Unfortunately this is uses in multiple places and therefore the redefinition can not be made globally but needs to be inside a group to not effect all other occurrences:

\documentclass{article}

\usepackage[backend=biber, style=ieee, citestyle=numeric-comp, dashed=false]{biblatex}

\makeatletter
% New bibliography drivers, using the required order of fields. These
% are mainly copied from standard.bbx then modified.
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  {\renewcommand{\newunitpunct}{\addcolon\space}\newunit}
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{bytranslator+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit\newblock
  \usebibmacro{journal+issuetitle}%
  \newunit
  \usebibmacro{byeditor+others}%
  \newunit
  \usebibmacro{pages}%
  \newunit
  \usebibmacro{issue+date}%
  \newunit
  \printfield{note}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \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}}

\makeatother

\addbibresource{test.bib}

\begin{document}

test

\cite{test}

\printbibliography

\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .