Common Errors in Bibliographies John Owens
First: Issues in text: how to cite properly.
Citations as words: Huge pet peeve: Using citations as words. van Leunen: “Brackets are not words. A bracketed number is just a pointer, not a word. Never, ever, use a bracketed number as if it were the name of an author or a work.” (p. 20). So instead of “A similar strategy is described in [15].”), use instead “A similar strategy is discussed by AuthorOne et al. [15]”. The way you can get this right in your head is considering a journal that does citations as superscripts (like the old Graphics Hardware style). It looks really stupid to say “A similar strategy is discussed by 15.” I don't like this particular style for citation, but it does make sure citations aren't used as words.
Citing with LaTeX: When writing citations in LaTeX, do them in this form:
text text text~\cite{Foo:2000:BAR}
The ~ means non-breaking space (which is what you want—you don't want a linebreak between the text and the citation).
Also, do
\cite{AuthorOne:2000:ABC,AuthorTwo:2002:DEF}
instead of
\cite{AuthorOne:2000:ABC}\cite{AuthorTwo:2002:DEF}.
Always alphabetize grouped citations so they appear in numerical order (instead of [8, 6, 10], arrange the citations so it looks like [6, 8, 10]). Your citation package will do this for you, but you have to ask for it, and the incantation depends on what you are using:
Plain numeric BibTeX, no citation package: \usepackage{cite} sorts them and also compresses [1,2,3,4,6] to [1–4,6].
natbib: \usepackage[sort&compress]{natbib}. Add numbers for a numeric style; there is nothing to compress in author–year.
biblatex: style=numeric-comp together with sortcites=true.
Do not load cite alongside natbib or biblatex. You do not need it—and natbib will tell you so itself:
Package natbib Warning: The `cite' package should not be used
Shortcite: Use \shortcite when appropriate. \shortcite is used in sentences like “AuthorOne discusses this point further in her dissertation [AuthorOne 2002].” It looks silly to put AuthorOne's name twice. Instead, use \shortcite{AuthorOne:2002:AOT}, which makes the sentence “AuthorOne discusses this point further in her dissertation [2002].” Of course this only makes sense if you are using a citation format that lists author name / year (like Siggraph or most dissertation formats).
I always use \shortcite in my text even when my bib style doesn't support it, in which case I use the following fix in my LaTeX preamble (this defines \shortcite if it's not already defined, otherwise it has no effect):
\providecommand{\shortcite}[1]{\cite{#1}}
If you don't have this command, you'll see an error like:
! Undefined control sequence.
l.123 ...blah blah Author1 and Author2~\shortcite {Author1:1999:ABC} blah...Sorting your references: If at all possible, arrange your reference list in alphabetical order by author's last name. Going in cited order is much less useful to readers of your paper. The only reason I've heard that cited-order is useful is in a survey article where nearby (and presumably related) citations from the paper are next to each other in the bibliography. I don't find this argument particularly compelling.
Next: issues with bibliographies (your .bib file). Big picture: Don't trust the digital library to give you a perfect .bib file. Both ACM and IEEE (as well as many others) screw up bibliography entries in delightfully creative ways.
“Official” metadata is often wrong: This is the one that should change how you work, so it goes first. In September 2026 I audited 363 ACM records and 271 IEEE records against the published papers. What the publishers hand you routinely contains:
Wrong author order. ACM's record for one of my own papers contradicts the article ACM itself typeset. On another, a 3×2 byline was read column-major, so the deposited order is Ebeida, Davidson, Patney… instead of Ebeida, Patney, Mitchell…
Names mangled. IEEE deposits whole names in the family field with given empty in 20 records—and every one of them is a Chinese, Korean, or hyphenated name. Diacritics get dropped, so Pınar becomes Pnar.
Papers filed under the wrong venue. All seven records I sampled from IEEE Visualization 2003 are filed under IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control.
So: check every entry against the paper's own title page for author order, spelling, and venue. That is thirty seconds, and it catches the errors a search engine will happily propagate for the next decade.
Names: Make the names in the bibliography match what is printed on the paper. If the paper has First M. Last as the author, put that in your bibliography. If it has initials, use those. If it has crazy umlauts and accents, use those too. If it has initials, make sure they are separated by spaces: use J. D. Owens rather than J.D. Owens. The latter leads bibtex to believe the first name is J.D. with no middle name/initial. (And then if your bibstyle abbreviates first names, you'll just get the initial J. without the middle initial, since bibtex doesn't think you have a middle name.)
For hyphenated names with the second half uncapitalized (Wu-chun Feng, Wen-mei Hwu), put the hyphen and second half in brackets: Wu-{chun} Feng, Wen{-mei} Hwu.
Surnames of more than one word (Thanks to Adam Stewart.)—common in Spanish and Arabic names—need the whole surname bracketed. Otherwise BibTeX treats everything but the last word as a middle name. This one fails silently: you get a plausible-looking wrong answer instead of an error.
author = {Juan M. Lavista Ferres} % cites as “Ferres”—wrong
author = {Juan M. {Lavista Ferres}} % cites as “Lavista Ferres”
author = {Nassim {Ait Ali Braham}} % three words, same treatmentFirst names beginning with an accented letter (Thanks to Adam Stewart.) need the accent braced and the whole thing braced again, or an abbreviating bib style will get it wrong in one of two ways. With abbrv:
author = {\'Angel Garcia} % renders “A. Garcia”—accent lost
author = {\'{A}ngel Garcia} % renders “Ángel Garcia”—not abbreviated at all
author = {{\'{A}}ngel Garcia} % renders “Á. Garcia”—correctCapitalization in titles: Just like with authors, the capitalization on titles in your bibtex file should match what's on the paper. The bib style should enforce capitalization, not your bibliography—your bib should faithfully represent what's printed on the paper.
Make sure, in your BibTeX file, that you properly bracket {} words in titles that must be capitalized, like GPU or PDE, or proper names. Example (the “Loop” should always be capitalized since it's a last name):
@inproceedings{Bischoff:2000:THI,
author = "Stephan Bischoff and Leif P. Kobbelt and Hans-Peter Seidel",
title = "Towards Hardware Implementation Of {L}oop Subdivision",You don't have to do this with venues (or anything else), just the title.
(Thanks to Adam Stewart.) Watch for titles containing more than one sentence. The bib style downcases the word after a question mark or a period just like any other word, so the start of the second sentence needs bracketing too: {Is Attention All You Need? {A} Study}. The {A} is as necessary as any acronym, and it is easy to miss because the title looks fine in your editor.
The word after a colon needs a moment's thought, and the answer depends on what the colon is doing. If it introduces a subtitle, brace the first word: {Register Packing for Cyclic Reduction: {A} Case Study}. Both Chicago and APA capitalize the first word of a subtitle even in sentence case, so the brace is right under either convention, and no bib style will supply it for you.
If the colon is only introducing a clause rather than a subtitle, leave it bare and let the style decide. Forcing a capital there is the same over-bracing this item warns against two paragraphs down. I will admit my own bibliography is inconsistent about this—several hundred entries leave it bare—which is itself a reasonable argument that the sky does not fall either way.
Resist the temptation to double-brace the entire title as a manner of course: {{Title Title with Title}}. This guarantees your title will always be capitalized. But many bib styles downcase all titles, in which case your title will stick out like a sore thumb. Instead, just put your title in single-braces or quotes and let the bib style do the right thing.
(What is the right thing? In the US, publishers capitalize most words in titles [title case]; in the UK, publishers use the same capitalization rules as normal sentences [sentence case]. [Wikipedia link.] Markus Kuhn's thoughts on the subject are congruent with mine, that sentence case is preferable from an information-theoretic point of view, but in practice, authors should follow the conventions of their publication venue.)
If the title is in all-caps, I usually rewrite it in title case.
Venues: Both ACM and IEEE screw up venue names in different ways. Here's how IEEE formatted a recent venue name in a recent paper of mine:
booktitle={Intelligent Vehicles Symposium (IV), 2011 IEEE},
Never use the ACM or IEEE digital library's citations without fixing them. For some reason the First Society of Computing and the World's Largest Professional Association for the Advancement of Technology have zero interest in making their capitalization correct. For many years, the first paper I ever wrote, according to ACM, had the following title and booktitle:
title = {Polygon rendering on a stream architecture},
booktitle = {HWWS '00: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware},when the paper has the major words in the title capitalized, and “workshop” and “hardware” should both be capitalized in the booktitle. (Partly fixed, as of September 2026. ACM has dropped the HWWS '00: series code from the booktitle, and its BibTeX export now gives a bare doi = {10.1145/346876.346883} where it used to emit a http://doi.acm.org/ URL. But the title is still sentence-cased, “workshop” and “hardware” are still lowercase, and the export still adds a url that merely restates the DOI.) I often review papers where citations have been taken directly from ACM with bizarre capitalization particularly in the booktitle. Fix these before you submit a paper.
This is not just my two papers being unlucky. Of the 363 ACM records I audited in September 2026, 36 carry sentence-case venue titles. (Thanks to Adam Stewart.) And when Google Scholar hands you a lowercase “iccv”, that is the same defect arriving by a different route—it is propagating someone's bad metadata, not expressing a house style. You are not being presumptuous when you override it. You are fixing it.
Months: Include the month of publication in your bibliographies (simply for your own records: when you have two papers talking about a similar idea, one in January and one in November of the same year, maintaining the month lets you determine which came first).
Always use three-letter abbreviations without quotes for months. These are built into bibtex. They allow the bib style to actually know what month it is, so the bib style can enforce a consistent style across all citations (1/2012? Jan. 2012? January 2012? Januar 2012 [foreign language]?).
month = mar, % most common - single month
month = jun # "\slash " # jul, % two months
month = "18~" # dec % day/monthThe braces matter. month = {aug} is not the same as month = aug: the braces make it a literal string instead of a macro, the bib style cannot expand it, and your bibliography reads “aug 2012”. It looks almost right, which is why it survives proofreading. doi2bib emits exactly this, so the error is everywhere.
Digital libraries often get these wrong too (IEEE uses month={june}).
Pages: Always include pages if pages are available. Ranges of pages use the en-dash to separate them (that's two dashes): 35--49. Some non-printed proceedings only assign a paper number, so for those I typically see (and use) something like 12:1--12:10, where 12 is the paper number and the paper has 10 pages.
Also, if the bib source says that your paper starts on page 1, double-check it. Make sure that it doesn't list every paper in the conference/journal starting on page 1 (like the rocket scientists at IPDPS 2009 who decided it would be a good idea to assign neither page numbers nor paper IDs [example]). It's a little embarrassing when you cite two papers in your article and they both start on page 1 of the same conference. (Usually, you should figure out the paper number n in the conference and use n:1--n:10. If you can't make your page numbers unique, leave them out entirely.)
DOIs: DOIs uniquely identify a paper. Even if your style doesn't use them, you should record them in your bibtex file. Store them as the numbers only (DOIs have the format https://doi.org/numbers/numbers; store the part after https://doi.org/ only). Bibliography tools seem to use this format predominantly.
The DOI must identify the thing you are citing. This decides a case that comes up constantly: NeurIPS, MLSys, and similar venues mint no DOI of their own. It is tempting to reach for the arXiv DOI so the field is not empty. Don't—a reader following a DOI expects the paper you cited, not a preprint of it. Give an eprint and leave doi out. A DOI is required where one exists; otherwise eprint; and url only for something a reader cannot get from either.
Beware the 10.5555 prefix. ACM's Digital Library exports DOIs under it. It is Crossref's internal prefix and resolves to nothing at all. Two of them had reached my own bibliography before I went looking.
A Crossref 404 does not mean “no DOI”. Crossref is one registration agency among several, and it returns 404 for perfectly good DOIs belonging to another. Ask who owns the prefix first. Every DOI prefix belongs to exactly one agency, and doi.org/ra/ will tell you which:
$ curl https://doi.org/ra/10.5441
[{"DOI":"10.5441","RA":"DataCite"}]
$ curl https://doi.org/ra/10.1145
[{"DOI":"10.1145","RA":"Crossref"}]Then ask that agency. Crossref answers at api.crossref.org/works/doi; DataCite answers at api.datacite.org/dois/doi. The EDBT paper I had written off as unregistered is perfectly well registered—it is simply DataCite's, deposited by OpenProceedings.org, and Crossref has never heard of it. There are a dozen or so other agencies (mEDRA, JaLC, KISTI, ISTIC and friends), which is why it is worth asking rather than assuming.
The lazy version of this check works too: paste https://doi.org/ plus the DOI into a browser. If it takes you somewhere, the DOI is registered, whoever registered it. I got this wrong myself and had to write a correction.
arXiv preprints: There is no settled convention here and it shows—look at any ten bibliographies and you will find preprints cited as @article, @misc, @unpublished, @techreport, and bare @online, with wildly varying fields. The community could use some guidance. Absent any, here is what I do and why.
@article{Odemuyiwa:2026:TED,
author = {Toluwanimi O. Odemuyiwa and Serban D. Porumbescu and
Muhammad Osama and Joel S. Emer and John D. Owens},
title = {The {E}insum-Enabled Design Space for Graph
Algorithms: {A} {BFS} Case Study},
journal = "CoRR",
volume = {abs/2607.17106},
year = 2026,
month = jul,
doi = {10.48550/arXiv.2607.17106},
eprint = {2607.17106},
primaryclass = {cs.DS},
archiveprefix = {arXiv},
}Why @article? Not because a preprint is philosophically an article. Because it is the most heavily trodden path in BibTeX, and that is worth more than taxonomic precision. Every venue ships its own .bst, and a style is free to reorder fields, drop ones it does not recognize, or typeset an entry type in a way you never anticipated. I know how @article will render in essentially any style I am likely to be handed, and I know which fields will survive the trip. @unpublished is rarer, styles treat it inconsistently, and several drop fields I want printed. The moment you invent your own convention for a class of entry, you are betting on styles you have never seen.
@unpublished has a second problem: to most readers it means there is nothing to point at. An arXiv preprint has a venue, a registered DOI, and a permanent identifier. It is published; it is simply not refereed. Those are different claims.
One caveat on the form above. journal = "CoRR" is a computing convention—CoRR is the Computing Research Repository, the arXiv subset my field lives in. If you deposit in astro-ph or q-bio, do not label it CoRR. The structural part travels fine—@article, the 10.48550 DOI, eprint with archiveprefix—but the journal name does not.
Never pin a version. No 2301.03598v1. Pins go stale the moment the authors post a revision, and arXiv mints no versioned DOIs—10.48550/arXiv.2404.11591v3 returns 404 while the unversioned form resolves perfectly. Cite the work, not the snapshot.
URLs: Put a bare URL in the url field. I used to say to wrap it in \url{} yourself. Don't—that advice is out of date and now actively breaks things. Modern styles do the wrapping for you: plainnat.bst emits "URL \url{" url * "}", and IEEEtran.bst does the same. Wrap it yourself and you get \url{\url{…}}, whose braces are printed literally in your bibliography—with no error and no warning:
url = {https://example.com/long/path.html}
→ URL https://example.com/long/path.html
url = {\url{https://example.com/long/path.html}}
→ URL \url{https://example.com/long/path.html}Do still load \usepackage{url} (or hyperref, which loads it for you). Without it the .bbl falls back to \providecommand{\url}[1]{\texttt{#1}}, which sets the URL in typewriter but gives it no line breaks—so a long one sails straight into the margin as an overfull box.
One more trap: the venerable plain.bst has no concept of a url field and silently drops it. If your URL simply is not there in the output, that is probably why.
If you add a DOI with a doi tag, you don't need to add the DOI as url as well.
Citekeys: Pick a rule and let a machine apply it. Mine is Surname:Year:XYZ—the first author's surname, the year, and the first letter of each of the first three words of the title, so this page's running example is Bischoff:2000:THI. Any mechanical rule will do; the point is that it is mechanical. Keys you invent by hand drift, collide, and start encoding opinions (sparse, thegoodone, smith-new2), and no two co-authors invent the same one.
I have Emacs Lisp and Python implementations of this rule that agree with each other on every entry in my bibliography. Mail me if they would be useful to you.
Let's see where digital libraries get these things wrong! Corrections are in blue.
IEEE:
@INPROCEEDINGS{5940539,
author={Glavtchev, V. and Muyan-Ozcelik, P. and Ota, J.M. and Owens, J.D.},
author = {Vladimir Glavtchev and P{\i}nar Muyan-{\"{O}}z{\c{c}}elik
and Jeffery M. Ota and John D. Owens},
booktitle={Intelligent Vehicles Symposium (IV), 2011 IEEE},
booktitle = {Proceedings
of the 2011 IEEE Intelligent Vehicles Symposium},
title={Feature-based speed limit sign detection using a graphics processing unit},
title = {Feature-Based Speed Limit Sign Detection Using a Graphics
Processing Unit},
year={2011},
month={june},
month=jun,
volume={},
number={},
pages={195 -200},
pages={195--200},
doi={10.1109/IVS.2011.5940539},
ISSN={1931-0587},
}
Problems with IEEE: Did not use the names that were printed on the paper; did not put accents on proper characters; did not separate first initial and middle initial with a space; venue title is strangely wrapped around with the comma; did not capitalize paper title as it was on the paper; did not use bibtex month abbreviations; did not use en-dash to separate out page numbers.
ACM:
@inproceedings{Davidson:2011:RPC:1964179.1964185,
author = {Davidson, Andrew and Owens, John D.},
title = {Register packing for cyclic reduction: a case study},
title = {Register Packing for Cyclic Reduction: A Case Study},
booktitle = {Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units},
series = {GPGPU-4},
year = {2011},
isbn = {978-1-4503-0569-3},
location = {Newport Beach, California},
pages = {4:1--4:6},
articleno = {4},
numpages = {6},
url = {http://doi.acm.org/10.1145/1964179.1964185},
doi = {http://doi.acm.org/10.1145/1964179.1964185},
doi = {10.1145/1964179.1964185},
acmid = {1964185},
publisher = {ACM},
address = {New York, NY, USA},
}
Problems with ACM: Did not capitalize paper title as it was on the paper; added a URL that's redundant with the DOI; did not store DOI as numbers only. Notable: On this paper, ACM got the venue capitalization correct!
Also see Dan Wallach's thoughts on the matter.
On why this matters more than it used to: Isaac Corley and Caleb Robinson, Q&A from the slop trenches. They reviewed 22 submissions over one summer; 15 contained fabricated citations, invented author lists, or obviously machine-generated text. Fabricating a plausible-looking DOI now costs nothing, so checking one has become part of the job.
Thanks to Adam Stewart and Isaac Corley for great discussions and numerous suggestions.
John Owens | Last updated 13 September 2026.