更改期刊条目的卷/号样式(biblatex)

更改期刊条目的卷/号样式(biblatex)

我将卷/号样式改为“vol. X, n° Y”。它适用于article条目,但不适用于periodical条目。我不明白为什么?

这是一个 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}

附有 bib 文档:

@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},
}

在此处输入图片描述

我只是希望期刊条目看起来像文章条目(用逗号和空格而不是句点)。

答案1

volume由于某种原因,打印和number的宏@periodical不使用volume+number+eid。但我们可以做到。

\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}

相关内容