4

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

3
  • What happens if you write journal= "Proc. Am. Math. Soc.,", ? – juanuni Jun 7 '15 at 2:57
  • 1
    @juanuni: Of course, that will work. But that is not how I have built my collection of bibliographies (there are a large number of references) and I want a way to automatically have a comma. – Shahab Jun 7 '15 at 3:00
  • For your second problem try \renewcommand*{\labelnamepunct}{\addcomma\space} or more radical (check if you like it!) \renewcommand*{\newunitpunct}{\addcomma\space}. – moewe Jun 7 '15 at 6:36
9

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

0

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.