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

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

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.