Bibliography and Citations: Managing References
~9 min read
By the end of this lesson you can store references in a .bib file, cite them in text, choose a citation style, and print a formatted bibliography. LaTeX builds and orders the reference list for you — you never number citations by hand.
The .bib database
References live in a separate .bib file as structured entries. Each has a type (@article, @book, @inproceedings…), a unique key, and fields.
@article{einstein1905,
author = {Albert Einstein},
title = {On the Electrodynamics of Moving Bodies},
journal = {Annalen der Physik},
year = {1905}
}
@book{knuth1984,
author = {Donald E. Knuth},
title = {The TeXbook},
publisher = {Addison-Wesley},
year = {1984}
}Approach A: classic BibTeX
Cite with \cite{key}, pick a style, and print the list. The bibliography only shows entries you actually cite.
As shown in \cite{einstein1905}, time is relative.
\bibliographystyle{ieeetr} % or plain, apalike, abbrv
\bibliography{references} % no .bib extension| Style | Looks like |
|---|---|
| plain | Numbered [1], sorted alphabetically |
| ieeetr | IEEE numeric style |
| apalike | Author–year (APA-like) |
| abbrv | Like plain, abbreviated names |
Approach B: modern biblatex
biblatex (with the biber backend) is more flexible — Unicode-friendly and easy to restyle. Configure it in the preamble and print with \printbibliography.
\usepackage[style=ieee, backend=biber]{biblatex}
\addbibresource{references.bib} % preamble
% ...
Relativity \cite{einstein1905}.
\printbibliographyCitations need an extra compile pass (and a BibTeX/biber run) to resolve. If a citation shows as [?], recompile. On LetX the full sequence runs automatically.
Reference managers
Tools like Zotero, Mendeley, and JabRef export .bib files directly. Build a library once, drop the .bib into your project, and cite by key — no manual entry.
Frequently asked questions
BibTeX or biblatex — which should I use?
biblatex is more modern and flexible (Unicode, easy style switching, uses biber). BibTeX is older but many journal templates require it. Use whichever your target template specifies.
Why is my citation showing as [?] or undefined?
The citation key was not found or the BibTeX/biber pass has not run. Check the key matches your .bib entry and recompile. LetX runs the pass automatically on Compile.
How do I cite everything, even uncited entries?
With BibTeX add \nocite{*} before \bibliography. With biblatex use \nocite{*} as well; it adds all database entries to the printed list.