[Tex/LaTex] Adding comma after journal name in biblatex

biblatex

In the following code how can I add a comma after the journal name without changing the style.

\documentclass{article}
\usepackage[backend=bibtex,style=numeric-comp,firstinits=true]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{mynum-compbib.bib}
@article{goss1981simple,
author = "David Goss",
title = "A simple approach to the analytic continuation and values at the negative integers for the Riemann zeta function",
journal= "Proc. Am. Math. Soc.",
volume = "81",
number = "4",
pages = "513-517",
year = 1981,
}
\end{filecontents}
\addbibresource{mynum-compbib.bib}
\renewbibmacro{in:}{\addcomma\addspace}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[unpublished]{title}{#1}
\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[article]{volume}{\textbf{#1}}
\DeclareFieldFormat{pages}{#1}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addcomma\addspace}%
\iffieldundef{number}{}{%
\printtext{no\adddot\addspace}%
}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\begin{document}
\cite{goss1981simple}
\printbibliography
\end{document} 

Currently what I get is:

D. Goss. A simple approach to the analytic continuation and values at
the negative integers for the Riemann zeta function, Proc. Am. Math.
Soc.
81, no. 4 (1981), 513-517.

What I want is:

D. Goss. A simple approach to the analytic continuation and values at
the negative integers for the Riemann zeta function, Proc. Am. Math.
Soc.
, 81, no. 4 (1981), 513-517.

Note the comma after Soc. is what I want.

Secondly how can I change the full stop after the author name into a comma?
Thanks

Best Answer

We will need to do two changes.

First we need to tell biblatex that dots in the journaltitle fields are by no means full stops, but abbreviation dots. This can be done by adding \isdot after the field formatting directive.

\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot}

See In biblatex, treat periods in journal as abbreviation dots and biblatex - How can I force a colon after a period? for a more thorough explanation and investigation of this problem.

We then need to tell biblatex to print a comma after the journal name, and this can be done via

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

Where in the third line we have swapped \setunit*{\addspace}% for \setunit*{\addcomma\space}%.

MWE

\documentclass{article}
\usepackage[backend=bibtex,style=numeric-comp,firstinits=true]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{goss1981simple,
author = "David Goss",
title = "A simple approach to the analytic continuation and values at the negative integers for the Riemann zeta function",
journal= "Proc. Am. Math. Soc.",
volume = "81",
number = "4",
pages = "513-517",
year = 1981,
}
\end{filecontents}
\addbibresource{\jobname.bib}

\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}\isdot}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

\renewbibmacro{in:}{\addcomma\addspace}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[unpublished]{title}{#1}
\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[article]{volume}{\textbf{#1}}
\DeclareFieldFormat[article]{number}{\bibstring{number}~#1}
\DeclareFieldFormat{pages}{#1}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\addcomma\addspace}%
   \printfield{number}%
   \setunit{\addcomma\space}%
   \printfield{eid}}
\begin{document}
\cite{goss1981simple}
\printbibliography
\end{document} 

enter image description here

Related Question