# Remove dot after journal volume using numeric-comp style

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}

\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}},
volume = {63},
year = {2013}
}
\end{filecontents}
\begin{document}

\cite{Debnath2013}

\printbibliography
\end{document}

• The result I get with your code is "Polyhedron 63 (2013) 189–198." No dot. – gusbrs Aug 9 '17 at 18:04
• My mistake. Please try again. The MWE had no "number" field. – P-M Aug 9 '17 at 18:09
• Do not remove fields by making their field format empty: \DeclareFieldFormat[article]{number}{}. This is bound to confuse and upset biblatex's punctuation tracker. – moewe Aug 10 '17 at 12:40

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}%
\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}%
\printfield{eid}}

\DeclareFieldFormat[article]{pages}{#1}
\renewcommand*{\bibpagespunct}{%
\ifentrytype{article}

\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}},
volume = {63},
year = {2013}
}
\end{filecontents}
\begin{document}

\cite{Debnath2013}

\printbibliography
\end{document}


Resulting in:

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

• Works excellently and the \AtEveryBibitem idea was very useful! – P-M Aug 9 '17 at 18:50
• @P-M, I must add a comment. Though this works, I don't really think that it is a good idea to remove the information on the number of the journal. Not every journal has a continuous page numbering throughout the volume, and this can result in insufficiently specified references. – gusbrs Aug 9 '17 at 18:54
• I would be inclined to agree with you, these are the guidelines I have been given though. – P-M Aug 9 '17 at 19:48
• The code from the edit should be unnecessary. With the standard styles volume+number+eid is only used in @article, so the \ifentrytype{article} adds no protection. Since the macro will not occur in citations (unless \fullcite) is used, there is no need for \AtEveryBibitem. – moewe Aug 10 '17 at 7:28
• Thanks, @moewe! As far as I had checked, I thought so, but it is somewhat hard to be sure sometimes. I'll edit the question to add the info. – gusbrs Aug 10 '17 at 9:42

There is an alternative solution that clears the number field in \AtEveryBibitem similarly to how you handle the DOI already

\AtEveryBibitem{%
\iffieldundef{pages}
{}
{\clearfield{doi}}%
\ifentrytype{article}
{\clearfield{number}}
{}}


You won't have to redefine a macro that way, but you hook into every bibitem. If you use \fullcite anywhere you will need the same for \AtEveryCitekey

\AtEveryCitekey{%
\iffieldundef{pages}
{}
{\clearfield{doi}}%
\ifentrytype{article}
{\clearfield{number}}
{}}