8

Some journals, such as Phys. Rev. B., use unusual page numbering conventions, such as 081401-1–081401-4. (Depending on the way this gets rendered by your computer, you may not be able to discern that the center dash is an en-dash and the others are hyphens, however it's clear to see the difference in my compiled document)

This poses a problem as BibTeX appears to turn all of my hyphens into en-dashes. Wrapping the pages field in double curly braces doesn't seem to do anything. How can I get BibTeX to respect this convention?

I am using the IEEE transactions bibstyle (ieeetr)

8

The BibTeX stack language does not taken any notice of { and } apart from when doing case-changing (which is a built-in function). So instead you need to hide the hyphen some other way. One approach is to use a macro

\documentclass{article}
\begin{filecontents}{test.bib}
@preamble{{\providecommand*\hyphen{-}}}

@article{test,
  author  = "Other, A. N.",
  journal = "J. Irrep. Res.",
  title   = "Some things I did",
  pages   = "081401\hyphen 1--081401\hyphen4",
  year    = "2011"
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliography{test}
\bibliographystyle{ieeetr}
\end{document}
  • It would be possible to rewrite the standard BibTeX n.dashify function to respect { ... } protection. However, that would be awkward and would require a customised .bst file. Modifying at the .bib end should make the solution more portable. (Most BibTeX styles use n.dashify.) – Joseph Wright Jun 28 '11 at 9:03
  • That works, thankyou very much for your time. For ease of reading I wrapped the page numbers in the \hyphen{} command you specified. – Richard Terrett Jun 28 '11 at 11:58
  • This does not work for bmc-mathphys.bst, 2014-07-24: I get 081401-10814014. (github.com/konstantinstadler/pymrio_article/blob/master/…). Do you happen to have an alternative solution? – bers Jul 9 at 18:59
4

The standard way to cite such journals seems to be "081401" or "081401 (4 pages)". Many .BSTs will format this way if you include something like

eid = {081401},
numpages = {4},

You should still include the "pages" field for the benefit of those BSTs that do not understand EID (electronic identifier, which I believe was first introduced by APS).

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.