[Tex/LaTex] Remove dot after journal volume using numeric-comp style

biblatexbibliographiespunctuation

I am trying to remove the dot after the volume field for articles in my bibliography. I haven't managed to find a solution that works yet. I suspect I need to redefined setunit using \DeclareFieldFormat[article]{volume} but I haven't managed to make it work yet. Does anybody have any ideas what I would have to do to remove the dot?

The MWE looks as follows:

\documentclass[a4paper]{book}

\usepackage[style=numeric-comp,sorting=none,backend=biber,isbn=false,date=year,url=false]{biblatex}
\renewbibmacro{in:}{}
\AtEveryBibitem{
    \iffieldundef{pages}{}{\clearfield{doi}}
}
\DeclareFieldFormat[article]{number}{}
\DeclareFieldFormat[article]{pages}{#1}
\renewcommand*{\bibpagespunct}{%
    \ifentrytype{article}
    {\addspace}
    {\addcomma\space}}
\addbibresource{\jobname.bib}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Debnath2013,
author = {Debnath, Mainak and Dutta, Arpan and Biswas, Surajit and Das, Kalyan Kumar and Lee, Hon Man and V{\'{i}}cha, Jan and Marek, Radek and Marek, Jaromir and Ali, Mahammad},
doi = {10.1016/j.poly.2013.07.013},
file = {:D$\backslash$:/pmj27/Mendeley/Library/Debnath et al. - 2013 - Catalytic oxidation of aromatic hydrocarbons by mono-oxido-alkoxidovanadium(V) complexes of ONNO donor ethylened.pdf:pdf},
issn = {02775387},
journal = {Polyhedron},
keywords = {benzoic acid,ethylenediamine- bis,phenolate,terpenes,toluene},
mendeley-tags = {benzoic acid,terpenes,toluene},
month = {oct},
number = {2},
pages = {189--198},
publisher = {Elsevier Ltd},
title = {{Catalytic oxidation of aromatic hydrocarbons by mono-oxido-alkoxidovanadium(V) complexes of ONNO donor ethylenediamine-bis(phenolate) ligands}},
url = {http://linkinghub.elsevier.com/retrieve/pii/S027753871300538X},
volume = {63},
year = {2013}
}
\end{filecontents}
\begin{document}

\cite{Debnath2013}

\printbibliography
\end{document}

Best Answer

The added dot is hardcoded in volume+number+eid macro, of standard.bbx. Once you want to remove the journal number (which this macro expects), you could redefine it, instead of using \DeclareFieldFormat[article]{number}{}. With:

\renewbibmacro{volume+number+eid}{%
    \printfield{volume}%
    \setunit{\addcomma\space}%
    \printfield{eid}}

As far as I know, this macro is only used by the article driver in numeric-comp, but I'm not absolutely sure of this, so some attention for undesired effects is due. [See edit below]

A full MWE:

\documentclass[a4paper]{book}

\usepackage[style=numeric-comp,sorting=none,backend=biber,isbn=false,date=year,url=false]{biblatex}
\renewbibmacro{in:}{}
\AtEveryBibitem{
    \iffieldundef{pages}{}{\clearfield{doi}}
}
%\DeclareFieldFormat[article]{number}{}
\renewbibmacro{volume+number+eid}{%
    \printfield{volume}%
    \setunit{\addcomma\space}%
    \printfield{eid}}

\DeclareFieldFormat[article]{pages}{#1}
\renewcommand*{\bibpagespunct}{%
    \ifentrytype{article}
    {\addspace}
    {\addcomma\space}}
\addbibresource{\jobname.bib}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
    @article{Debnath2013,
        author = {Debnath, Mainak and Dutta, Arpan and Biswas, Surajit and Das, Kalyan Kumar and Lee, Hon Man and V{\'{i}}cha, Jan and Marek, Radek and Marek, Jaromir and Ali, Mahammad},
        doi = {10.1016/j.poly.2013.07.013},
        file = {:D$\backslash$:/pmj27/Mendeley/Library/Debnath et al. - 2013 - Catalytic oxidation of aromatic hydrocarbons by mono-oxido-alkoxidovanadium(V) complexes of ONNO donor ethylened.pdf:pdf},
        issn = {02775387},
        journal = {Polyhedron},
        keywords = {benzoic acid,ethylenediamine- bis,phenolate,terpenes,toluene},
        mendeley-tags = {benzoic acid,terpenes,toluene},
        month = {oct},
        number = {2},
        pages = {189--198},
        publisher = {Elsevier Ltd},
        title = {{Catalytic oxidation of aromatic hydrocarbons by mono-oxido-alkoxidovanadium(V) complexes of ONNO donor ethylenediamine-bis(phenolate) ligands}},
        url = {http://linkinghub.elsevier.com/retrieve/pii/S027753871300538X},
        volume = {63},
        year = {2013}
    }
\end{filecontents}
\begin{document}

    \cite{Debnath2013}

    \printbibliography
\end{document}

Resulting in:

enter image description here

Edit: You can make the change conditional on the entrytype, to play on the safe side, with:

\AtEveryBibitem{%
    \ifentrytype{article}{%
        \renewbibmacro{volume+number+eid}{%
            \printfield{volume}%
            \setunit{\addcomma\space}%
            \printfield{eid}}%
        }%
        {}%
    }

Edit 2: moewe confirms in the comments that, in the standard styles, volume+number+eid is indeed used only by the article entrytype. So, in this context, it is perfectly safe to go with the initially proposed solution.