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

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}

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.