Is there a convention for how to enter publications that are "in preparation" or "submitted to Some Journal" into a BibTeX database?
2 Answers
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 as3001in press
and3002forthcoming
, 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. If it matters to you 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 indeed sort them in the desired order. And, depending on the bib style file in use, BibTeX will use the augmented year labels 2005a
and 2005b
when the .bbl
file is created.
-
1Instead 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?– jhabbottCommented May 22, 2016 at 2:27
-
2With
pdflatex
I get only the last four characters of theYear
field in the citation. E.g. a field likeyear = "\noop{3001}in press"
, produces a citation like (de Sousa, ress). Commented Feb 13, 2017 at 13:29 -
2
-
1@LuísdeSousa - Indeed,
apalike
is a bibliography style that truncates theyear
field. :-( I suggest you proceed as follows: (i) Find the fileapalike.bst
in your TeX distribution, make a copy of this file, and call the copy, say,myapalike.bst
. (ii) Open the filemyapalike.bst
in a text editor, go to line 909, and delete the string#-1 #4 substring$
. (iii) Save the filemyapalike.bst
in the directory where your main tex file is located, change the argument of\bibliographystyle
fromapalike
tomyapalike
, and do a full recompile cycle: latex, bibtex, and latex twice more.– MicoCommented Feb 13, 2017 at 14:39 -
2@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 ayear
field as2020, 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.– MicoCommented Jul 16, 2020 at 12:18
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
.
-
I could be wrong, but doesn't the
notes
field show up in the output with the@article
type as well?– ReidCommented 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 usingbiblatex
. 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 ♦Commented Oct 13, 2011 at 14:53 -
15In my version [BibTeX 0.99c (TeX Live 2009/Debian)], this works if I use the type
@article
and the field namenote
, rather thannotes
. Commented Aug 7, 2012 at 11:25 -
1I confirm that
note
should be used instead ofnotes
also for the@unpusblished
format (I took the liberty to edit the post since it has not been fixed in 10 years). Commented Apr 8, 2021 at 13:58
notes
field is used for this.biblatex
, you may also add thepubstate
field to the entries of your.bib
database. See tex.stackexchange.com/questions/25088/….