0

I changed the volume/number style to "vol. X, n° Y". It works for article entries, but not for periodical ones. I don't understand why ??

Here's a MWE :

\documentclass[a4paper,12pt,oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[french]{babel}

\usepackage[style=authoryear,backend=biber]{biblatex}
\addbibresource{biblio_mwe.bib}

%Remplace les points par des virgules dans la biblio
\renewcommand{\newunitpunct}[0]{\addcomma\addspace}

\DefineBibliographyStrings{french}{%
    volume = {vol\adddot},%
    volumes = {vol\adddot},%
    jourvol = {vol\adddot},%
}

%On supprime "in" de la présentation des articles (mais pas des inbook, etc.)
\renewbibmacro{in:}{%
    \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}

%On passe de "vol.numero" à ", vol. XX, n° XY"
\DeclareFieldFormat[article,periodical,inreference]{number}{\bibstring{number}~#1}
\DeclareFieldFormat[article,periodical,inreference]{volume}{\bibstring{volume}~#1}
\renewbibmacro*{volume+number+eid}{%
    \setunit*{\addcomma\space}% NEW
    \printfield{volume}%
%   \setunit*{\adddot}% DELETED
    \setunit*{\addcomma\space}% NEW
    \printfield{number}%
    \setunit{\addcomma\space}%
    \printfield{eid}}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

With bib document :

@periodical{periodical,
    title = {Journal},
    issuetitle = {Issue Title},
    volume = {284},
    number = {5411},
    date = {1999},
    langid = {english},
}

@article{article,
    title = {Article Title},
    author = {Author},
    journaltitle = {Journal Title},
    volume = {3},
    number = {1},
    date = {2013},
    pages = {33-67},
    langid = {english},
}

enter image description here

I just want the periodical entry to look like the article one (with comma and space instead of a period).

1 Answer 1

2

For some reason the macro that prints the volume and number for @periodical doesn't use volume+number+eid. But we can make it.

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

You must log in to answer this question.

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