I want to know how I should properly use the provided page field of an article published in an online journal (such as PLoS Computational Biology).
Even though articles published in online journals do not have actual page numbers, both the journals themselves and Google Scholar provide a pages
field holding values such as e1000112
(PLoS) and 20122863
(Proceedings of the Royal Society).
Semantics aside, using the pages
field for this would be a non-issue, but the fact that the second value does not start with a letter means that the printed citation shows p. 20122863
which is wrong because that number is not an actual page number.
Also, it seems to me that the pages
field should not be used for this purpose, so I tried to find an alternative and found eid
[source]:
eid
The Electronic identifier is for electronic journals that also appear in print. This number replaces the page number, and is used to find the article within the printed volume. Sometimes also called citation number.
But I am not sure whether this is suitable because it mentions printed volumes and I am positive that not every online journal ends up publishing printed volumes.
Question:
What field should I use for the pages field provided by online journals that is compatible with both
natbib
+bibtex
andbiblatex
+biber
?
Best Answer
tl;dr: A universal solution is very nearly impossible,
biblatex
offers thebookpagination
(andpagination
field) and a well-coded style will make use of those, sobookpagination = {none}
seems a good way to go forbiblatex
.The Long Answer
A solution that works for both
natbib
andbiblatex
is almost impossible (one might say all but impossible) for the simple reason that it is notnatbib
orbiblatex
that decides what is printed and how the bibliography looks like, but the bibliography style (\bibliographystyle
in "BibTeX packages"for lack of a better name [the.bst
styles];style
,bibstyle
withbiblatex
[the.bbx
styles]); so a universal solution would have to work with all the styles (.bst
as well as.bbx
) available today - that is quite a lot of styles.While most of the styles adhere to a general semantics and best practice, we cannot be sure that all styles will display, say, the
pages
field in a certain way (well, we can be quite sure with thepages
field as it is so essential and standard, but theeid
field is a different matter altogether).Most of the "exotic" fields such as
eid
,eprint
etc. are bound to be unsupported by a number of styles - even the more basic (and arguably quite un-exotic - by modern standards at least) URL field is lacking in some styles, simply because they were completed before the advent of the URI, which was standardised in 1994 (RFC1738), case in point:ieeetr.bst
seems to have been the same since 1988 (save for a clarification of the licence).Having said all that, the
pages
field is probably your best bet for a widely applicable solution, plus it does not seem to be too far off semantically.But even the treatment of the
pages
field is not standardised or normalised across bibliography styles: Some.bst
styles check whether thepages
field contains multiple pages in order to decided whether to print "p." or "pp." (plain.bst
andieeetr.bst
), but there is no need to do that in a German style since in both cases the abbreviation will be "S.", consequentlynatdin.bst
does not care to check for "multiple pages", it behaves differently if a URL is present, though.biblatex
offers a lot of these functionalities out of the box, so almost all styles make use of them (that is also thanks to the fact that a lot of thebiblatex
styles out there are coded quite well), I have yet to come across a style that tries to implement these checks itself.biblatex
will check if thepages
field actually contains a "page range", page ranges consist of characters recognised as numbers (see\DeclareNumChars
) and those recognised as range separators/indicators (see\DeclareRangeChars
) as well as certain other commands (see\DeclareRangeCommands
and\DeclarePageCommands
). If thepages
field contains only characters and commands declared there, it passes the\ifpages
test. If apages
field passes the\ifpages
test and it is printed with\mkpageprefix
, the page prefix "p."/"pp." will be added if it does not, thepages
field is printed as is without a prefix. In fact, we can control the prefix added to thepages
field as described in ยง2.3.10 Pagination, p. 35, of thebiblatex
documentation, we can even define our own prefix (as shown in Citing specific slides of a presentation).The "pagination scheme" is even settable on a per-entry basis with
pagination
(controls how in-text citations have thepostnote
formatted if it passes\ifpages
) andbookpagination
(controls thepages
andpagetotal
fields).So what you could do for these special
pages
fields is to addbookpagination = {none}
to the corresponding entry (or hope for a character that throws\ifpages
to false, thee
in the PLoS entries does exactly that).An example with
bookpagination = {none}
:The MWE
yields, note that for in-text references the pages prefix is enabled (and the default
page
one), while the prefix for the journal pages is disabled.