115

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

3
79

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 '16 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). – Luís de Sousa Feb 13 '17 at 13:29
  • 2
    I am using apalike. – Luís de Sousa Feb 13 '17 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 '17 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 '20 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 '11 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 '11 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 '12 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 at 13:58

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