1

I am using biblatex to make bibliography and the number and volume are displayed as volume.number enter image description here however I want it to be volume:number. I have tried \DeclareFieldFormat[article]{number}{:#1}, but it yields volume.:number and colon appears even if volume is not present.

MWE:

\begin{filecontents}{bibl.bib}

    @article{A,
    author = {John Doe},
    title = {Interesting article},
    volume = {10},
    number = {100},
    pages = {1--20},
    journal = {Daily articles},
    year = {2020}
    }

    @article{B,
    author = {Jane Doe},
    title = {Another Interesting article},
    number = {50},
    pages = {1--24},
    journal = {Monthly articles},
    year = {2020}
    }

\end{filecontents}

\documentclass[12pt]{article}

\usepackage{filecontents}

\usepackage[russian]{babel}

\usepackage[
    backend = biber,
    language = russian,
        ]{biblatex}

\addbibresource{bibl.bib}
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}

\begin{document}

\nocite{*}

Some text

\printbibliography

\end{document}

1 Answer 1

1

This is easily done with styles from my biblatex-ext bundle. They define the punctuation command \volnumdelim for exactly this job.

With biblatex-ext you can even replace your redefinition of the in: bibmacro by the option articlein=false.

Each standard style has a biblatex-ext equivalent, to which you can switch with no change in output. In the MWE you are using (implicitly) style=numeric,, so the biblatex-ext style you want is style=ext-numeric,.

\documentclass[12pt]{article}
\usepackage[russian]{babel}

\usepackage[backend = biber, style=ext-numeric,
  articlein=false]{biblatex}

\renewcommand*{\volnumdelim}{\addcolon}

\begin{filecontents}{\jobname.bib}
@article{A,
  author  = {John Doe},
  title   = {Interesting article},
  volume  = {10},
  number  = {100},
  pages   = {1--20},
  journal = {Daily articles},
  year    = {2020},
}
@article{B,
  author  = {Jane Doe},
  title   = {Another Interesting article},
  number  = {50},
  pages   = {1--24},
  journal = {Monthly articles},
  year    = {2020},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
Some text

\printbibliography
\end{document}

John Doe. “Interesting article”. Daily articles 10:100 (2020), с. 1—20.


If for some reason you don't want to or can not use biblatex-ext, you can try the following redefinition

\newcommand*{\volnumdelim}{\addcolon}
\providecommand*{\bibeidpunct}{\addcomma\space}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\adddot}%
  \printfield{volnumdelim}%
  \setunit{\bibeidpunct}%
  \printfield{eid}}

You must log in to answer this question.

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