Your thesis is due Monday, it's Sunday evening, and LaTeX is saying Badly formed author list: expected comma before initials. Welcome to BibTeX debugging. This guide covers the ten errors that come up most often, what they actually mean, and how to fix them fast.
The classic. Your \bibliography{references} line is looking for a file that isn't where LaTeX expects.
Causes: file in a subdirectory but path not specified; extension included (it shouldn't be — LaTeX adds .bib automatically); typo in the filename.
Fix:
.tex: \bibliography{references} (no extension).\bibliography{bib/references}.References.bib and references.bib are different files.An unescaped & in a .bib field. Common in company names, titles, and URLs with query strings.
Fix: escape with a backslash: {R\&D} or {AT\&T}. The protective braces are important — they also prevent the ampersand from being interpreted as a math separator.
An unbalanced brace anywhere in your .bib file will make BibTeX silently ignore every entry that follows. You'll compile, your bibliography will be half-empty, and you won't know why.
Fix: open the .bib in a LaTeX-aware editor (VS Code + LaTeX Workshop, TeXstudio, Overleaf) and look for highlighted unmatched braces. Start from the bottom of the file — the error is always before the last entry that does appear in your bibliography.
If you can't find it manually, DEEPNOTIS's BibTeX formatter will parse the file and tell you exactly which entry failed.
Usually, a non-UTF-8 character in legacy BibTeX. Paste an accented character ("é", "ü", "ñ") or a smart quote ("") from a PDF and BibTeX chokes.
Fix options:
\'e for é, \"a for ä, \~n for ñ, --- for em dash..bib file as ASCII-only and re-encode.In 2026, the right answer is almost always "use biblatex." Legacy BibTeX's refusal to handle Unicode is the single biggest reason people hate LaTeX references.
Two .bib entries with the same key. Biber (biblatex) errors loudly. Classic BibTeX will pick one and move on, which is worse — you won't notice until a reviewer points out that the same citekey is linked to two different papers.
Fix: run a quick check in your shell:
grep "^@" references.bib | sed 's/^@[^{]*{//' | sed 's/,$//' | sort | uniq -d
Or use the duplicate detector in DEEPNOTIS's BibTeX formatter, which also catches semantic duplicates (same paper, different keys) via fuzzy matching on title and author.
BibTeX found an entry but a required field is missing. For @article, that's author, title, journal, year. For @book, it's author, title, publisher, year. For @inproceedings, author, title, booktitle, year.
Fix: open the flagged entry, add the missing field. If you don't have the value, put {Unknown} as a placeholder and hunt it down before final submission — never submit a bibliography with missing required fields.
Your \cite{xyz} references a key that isn't in the .bib. Typo, or the .bib file wasn't updated after you added the entry.
Fix in order:
.bib.bibtex or biber again and then pdflatex twice. BibTeX needs multiple passes..aux, .bbl, .blg, .bcf, .run.xml — then recompile from scratch.On Overleaf specifically: Menu → Clean cache, then recompile.
You cite a paper with four authors. You want "Smith et al." after the third. Instead you get every author spelled out, or "Smith, Jones, Patel, and Lee" every time.
Fix: this is a style-file thing in legacy BibTeX. Either:
.bst style that already shortens (e.g. abbrvnat, plainnat-smallcaps)maxcitenames=3 as a simple optionExample for biblatex:
\usepackage[style=apa, maxcitenames=3, maxbibnames=99]{biblatex}
This shortens in-text citations to "Smith et al." but keeps the full author list in the bibliography.
Your \bibliographystyle{plain} sorts alphabetically. You want order of appearance, or some other ordering.
Fix:
\bibliographystyle{unsrt} for unsorted (order of appearance) in classic BibTeX.\usepackage[sorting=none]{biblatex}.Journals that use numbered references (IEEE, Vancouver, Nature) typically want order-of-appearance sorting. Journals with author-date citations (APA, Chicago-author-date, Harvard) want alphabetical.
Long URLs run off the right margin of your page.
Fix:
\usepackage[hyphens]{url} before hyperref.\usepackage{xurl} for more aggressive breaking.\usepackage[url=true, doi=true]{biblatex} + \PassOptionsToPackage{hyphens}{url}.And if you have DOIs for every entry, drop the URLs (set url=false in biblatex options) — DOIs are shorter and always work.
If you're staring at a bibliography error you can't parse, this is the fastest path to recovery:
.aux, .bbl, .blg, .bcf, .run.xml.pdflatex).bibtex thesis or biber thesis).pdflatex × 2).Clean four-pass build. Most weird, lingering errors disappear after step 1.
Every error above is easier to prevent than to fix. A clean .bib file in 2026 should be:
Treat your .bib as a database export, not a source document. If you follow that rule, most of the errors above never appear.