Citing Forthcoming Articles with BibTeX

January 19, 2013

I’ve often wondered if there was a proper way to cite forthcoming papers in BibTeX. It’s possible, of course, using the @Unpublished entry type, but in cases where the name of the journal is known, I’d prefer to use @Article instead. The problem is that you can’t simply put strings such as “forthcoming” or “in press” directly into the year field of @Article entries in a BibTeX database. Fortunately, a generous StackExchange user recently posted the following solution, apparently taken straight from the BibTeX manual itself.

First, define a \noop command (which produces no output, hence, “no operation”) at the top of your BibTeX database:

@Preamble{ " \newcommand{\noop}[1]{} " }

Then, use the \noop command in the year fields of any forthcoming entries. Using a fake year that’s sufficiently far in the future as the argument to \noop will ensure that the entries sort in the correct order, both in citations and in the bibliography:

@Article{smith-2011,
  author  = "John Smith", 
  year    = 2011,
  journal = "Unorganized Scholarly Impressions",
  ...
}

@Article{smith-inpress-a,
  author  = "John Smith", 
  year    = "\noop{3001}in press",
  journal = "Journal of Nothingness",
  ...
}

@Article{smith-inpress-b,
   author  = "John Smith", 
   year    = "\noop{3002}forthcoming",
   journal = "Review of Random Thoughts",
   ...
}

For additional details, see the original answer. In particular, there is an important caveat when using natbib.