120

Is there a convention for how to enter publications that are "in preparation" or "submitted to Some Journal" into a BibTeX database?

3

2 Answers 2

84

One can enter non-numeric information -- such as "in press" and "forthcoming" -- directly in the year field of a bibliographic entry.

The only time that having non-numeric information in the year field may cause trouble is if you (a) have several "in-press" pieces by the same author(s) and (b) need to ensure that the entries are sorted in a certain order. Fortunately, an easy fix for this is suggested in the BibTeX manual:

  • First, set up a command named \noop (short for "no operation"): At the top of your .bib file, you should enter

    @preamble{ " \newcommand{\noop}[1]{} " } % a do-nothing command that serves a purpose
    
  • Later on in the bib file, you'd augment the year fields of the "in-press" entries as follows:

    @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",
       ... }
    
  • With this setup, and assuming you're employing a bibliography style that sorts entries by year, "smith:2011" will always be listed before "smith:inpress-a" which, in turn, will always be listed before "smith:inpress-b".

  • Note that \noop{<anything>} generates no LaTeX output. However, it is still useful, because when BibTeX encounters it while building the bibliography file (which will have the file name extension .bbl), it will "see" the contents of the two year fields as 3001in press and 3002forthcoming, respectively, and thus perform its sorting job correctly.

  • Observe that I recommend using fake years -- such as 3001, 3002, and so on -- to make clear to all readers of the .bib file (including yourself!) that these aren't real publication dates but are being used solely for the purpose of ensuring a correct sorting order.

The natbib citation command \citet{smith:inpress-a,smith:inpress:b} will generate

Smith (in press, forthcoming)

This may well be confusing to your readers. To avoid this problem -- and assuming, for the sake of this example, that both pieces will be published later in 2012 -- you'll have to change the two year fields to something such as

year = "\noop{3001}in press 2012a"

and

year = "\noop{3002}in press 2012b"

respectively. With these modifications in place, the command \citet{smith:inpress-a,smith:inpress:b} will generate the more readily parsable output

Smith (in press 2012a, in press 2012b)

Later on, once the pieces are published, you can update the .bib file and replace "\noop{3001}in press 2012a" with the actual publication year -- which may turn out to be 2013. (Obviously, you'll want to use that opportunity to also enter the actual values of the entry's other fields, such as volume, issue, pages, etc.)

Addendum: Note that the \noop command can also be used to impose a sorting order on pieces that have already been published. Suppose that you have three entries published in 2005 by the particularly prolific "John Miller", with keys miller:2005a, miller:2005b, and miller:2005c; let's assume the keys were chosen in this manner because you happen to know that the 2005a piece was published in February, the 2005b piece in June, and the 2005c piece in October 2005. Suppose further that all three entries currently contain the field year = 2005. If two or three publications are to be included in a bibliography that's sorted by author and year, there's unfortunately no guarantee that BibTeX will list these entries according to the values of their keys. To ensure that the miller:2005a, miller:2005b, and miller:2005c entries will always be sorted and thus listed in this order, you could use the \noop command and modify the entries' year fields as follows:

@article{miller:2005a,
   author = "John Miller",
   year   = "2005{\noop{a}}",
   ...
}
@article{miller:2005b,
   author = "John Miller",
   year   = "2005{\noop{b}}",
   ...
}
@article{miller:2005c,
   author = "John Miller",
   year   = "2005{\noop{c}}",
   ...
}

That way, if for a given publication you need to include the pieces with keys 2005b and 2005c, BibTeX will be sure to give them the year labels 2005a and 2005b when the .bbl file is created.

17
  • 1
    Instead of calling the command \noop, would it make sense to call it \sortorder - so that it's clear what's going on? Or would there be some other undesirable consequences from this?
    – jhabbott
    May 22, 2016 at 2:27
  • 2
    With pdflatex I get only the last four characters of the Year field in the citation. E.g. a field like year = "\noop{3001}in press", produces a citation like (de Sousa, ress). Feb 13, 2017 at 13:29
  • 2
    I am using apalike. Feb 13, 2017 at 13:48
  • 1
    @LuísdeSousa - Indeed, apalike is a bibliography style that truncates the year field. :-( I suggest you proceed as follows: (i) Find the file apalike.bst in your TeX distribution, make a copy of this file, and call the copy, say, myapalike.bst. (ii) Open the file myapalike.bst in a text editor, go to line 909, and delete the string #-1 #4 substring$. (iii) Save the file myapalike.bst in the directory where your main tex file is located, change the argument of \bibliographystyle from apalike to myapalike, and do a full recompile cycle: latex, bibtex, and latex twice more.
    – Mico
    Feb 13, 2017 at 14:39
  • 1
    @b-fg - There are two separate things going on here. The first is that by modifying apalike.bst to remove #-1 #4 substring$, you give yourself the opportunity to display the citation call-out and the formatted bibliography entry with a year field as 2020, accepted. That's independent of the second thing, which is that by affixing {\noop{a}} etc to the (plain or augmented) year fields, you can influence the way these entries are sorted.
    – Mico
    Jul 16, 2020 at 12:18
42

If you are using a traditional BibTeX style file, use the @unpublished type and use the note field to explain the status. If you are using biblatex, then you can use the @article type and add the information to the note: biblatex tends to be more forgiving in what is 'required' for an article.

4
  • I could be wrong, but doesn't the notes field show up in the output with the @article type as well?
    – Reid
    Oct 13, 2011 at 14:10
  • @ReidPriedhorsky It does, but some BibTeX styles issue a warning if you have no year, volume or pages for an @article entry. Some may give very odd formatting as a result, so I'd avoid that unless using biblatex. In the later case, there are not really any 'required' fields in the same way as traditional BibTeX, so the problem is avoided.
    – Joseph Wright
    Oct 13, 2011 at 14:53
  • 13
    In my version [BibTeX 0.99c (TeX Live 2009/Debian)], this works if I use the type @article and the field name note, rather than notes.
    – SabreWolfy
    Aug 7, 2012 at 11:25
  • I confirm that note should be used instead of notes also for the @unpusblished format (I took the liberty to edit the post since it has not been fixed in 10 years).
    – tobiasBora
    Apr 8, 2021 at 13:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.