Crossref publisher_item article-number
There is a problem with certain journal articles lacking page numbers in CrossRef. For instance, try adding doi:10.1103/PhysRevB.68.060403 through "add by identifier".
The reason for this is that PhysRevB doesn't have real page numbers, but article numbers instead. In the CrossRef XML we find:
<publisher_item>
<item_number item_number_type="article-number">060403</item_number>
</publisher_item>
This is a problem, since the "proper" way to cite this is to use the article-number as page number, but the CrossRef translator doesn't store this. Incidentally, if you use the PROLA translator at http://prb.aps.org/abstract/PRB/v68/i6/e060403 you will get this as a page number, it is extracted from the RIS/EndNote that PROLA supplies.
I suggest that Zotero treats the article-number as first-page if the first-page doesn't exist. This is not just a hack for PhysRevB, but conforms to the Crossref schema (p. 119):
I think the first (and easiest) way is the best, but I know quite little about this so please argue with me. I might even be willing to provide a patch, it should be a line or two of code.
Two questions:
The reason for this is that PhysRevB doesn't have real page numbers, but article numbers instead. In the CrossRef XML we find:
<publisher_item>
<item_number item_number_type="article-number">060403</item_number>
</publisher_item>
This is a problem, since the "proper" way to cite this is to use the article-number as page number, but the CrossRef translator doesn't store this. Incidentally, if you use the PROLA translator at http://prb.aps.org/abstract/PRB/v68/i6/e060403 you will get this as a page number, it is extracted from the RIS/EndNote that PROLA supplies.
I suggest that Zotero treats the article-number as first-page if the first-page doesn't exist. This is not just a hack for PhysRevB, but conforms to the Crossref schema (p. 119):
Zotero can be modified in two ways. The easiest is to modify CrossRef.js to substitute article-number in the first_page field if no first_page is available. The other way would be to store the article-number in Zotero, and then do the substitution at the output end, that way it would be possible (guessing here) to create citation styles that explicitly handle the article-number.item_number within publisher_item may also be used to provide an article number when a first_page is not available or applicable. In certain cases it may be deemed in-appropriate to 'misuse' the first_page element to provide a value that has meaning in an on-line only publication and does not convey an form of page number. In these circumstances the attribute <item_number item_number_type="article-number"> will instruct the CrossRef system to treat the value of item_number in the same manner as first_page. This value then becomes a critical part of the query process. If both <item_number item_number_type="article-number"> and first_page are present, first_page will take precedence.
I think the first (and easiest) way is the best, but I know quite little about this so please argue with me. I might even be willing to provide a patch, it should be a line or two of code.
Two questions:
- Might such a patch be accepted?
- Where and how would it be done most efficiently?
Mendeley, on the other hand, supports article numbers,
which are used to populate the page number field.
FGN
I downloaded the citation information for an article (https://aip.scitation.org/doi/full/10.1063/1.2759475) by going to Tools -> Download Citation -> BibTex -> copy the contents to clipboard -> go to Zotero -> File -> Import from Clipboard.
The article is specified by article number, not pages.
However, in the bibtex, you can see that the article number is specified in the 'pages' field:
pages = {061103},
Up now it is fine.
The problem occurs when you need to use the IEEE reference format (https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf).
The IEEE format specifies that when an article has 'article number', it should be, for example (notice the "Art. no. 061103."):
"R. Fardel, M. Nagel, F. Nuesch, T. Lippert, and A. Wokaun, “Fabrication of organic light emitting diode pixels by laser-assisted forward transfer,” Appl. Phys. Lett., vol. 91, no. 6, Aug. 2007, Art. no. 061103."
Then I selected the IEEE citation style (Edit -> Preferences -> Cite -> Styles -> Get additional styles -> type and select IEEE -> Ok).
Then I tested the style: (Edit -> Preferences -> Cite -> Styles -> Style editor -> select IEEE -> Refresh) and the result is:
"[1] R. Fardel, M. Nagel, F. Nüesch, T. Lippert, and A. Wokaun, “Fabrication of organic light-emitting diode pixels by laser-assisted forward transfer,” Applied Physics Letters, vol. 91, no. 6, p. 061103, 2007, doi: 10.1063/1.2759475."
Notice the "p. 061103"
So I can correctly import the citation information into Zotero, but I cannot cite it correctly, because the IEEE specifies: "Art. no. 061103." and the citation comes out as "p. 061103".
Personally, I recommend ignoring this rule and just citing it as a page number. Any reader will be able to figure it out. That said, if you do want "Art. no." instead, enter the number in Extra like this:
Number: 061103
Citation styles that are written to include article numbers for journal articles will pick this up (note that most styles do not currently support article numbers).
I've submitted an update for the IEEE style to include article numbers if provided:
https://raw.githubusercontent.com/citation-style-language/styles/1643ffab2f7c8d974acdd88fd2c87f166d90ecc3/ieee.csl
https://apastyle.apa.org/style-grammar-guidelines/references/examples/journal-article-references#2
This is already supported in the citation style:
https://github.com/citation-style-language/styles/blob/master/apa.csl#L1451
The problem appears to originate from Zotero copying the article number into the initial page number, after which it cannot insert the required prefix. I've tested using zbib.org
Number: 1234
And leaving page blank.
Number: 1234
But I couldn't make it work with Zotero online (web library) -- is it supposed to work there, too?
For the long term, would it make sense to offer a user setting to import article number as extra number instead of page number?