Bibliography in LaTeX

Use BibLaTeX with Biber for modern bibliography management in academic writing.

Quick Answer

latex
% Preamble:
\usepackage[backend=biber, style=apa]{biblatex}
\addbibresource{references.bib}

% In text:
\cite{einstein1905}

% At end of document:
\printbibliography

The .bib File

Create a .bib file with your references. Each entry has a type, a cite key, and fields.

latex
% references.bib

@article{einstein1905,
  author  = {Einstein, Albert},
  title   = {On the Electrodynamics of Moving Bodies},
  journal = {Annalen der Physik},
  year    = {1905},
  volume  = {17},
  pages   = {891--921},
}

@book{knuth1984,
  author    = {Knuth, Donald E.},
  title     = {The TeXbook},
  publisher = {Addison-Wesley},
  year      = {1984},
}

@inproceedings{lecun1989,
  author    = {LeCun, Yann and others},
  title     = {Backpropagation Applied to Handwritten Zip Code Recognition},
  booktitle = {Neural Computation},
  year      = {1989},
}

@online{wikipedia2024,
  author  = {{Wikipedia contributors}},
  title   = {LaTeX},
  url     = {https://en.wikipedia.org/wiki/LaTeX},
  year    = {2024},
}

Writing your thesis in LaTeX?

MonsterWriter's LaTeX Workspace gives you real-time PDF preview with no compile limits — at a fraction of Overleaf's price. Works just like Overleaf, costs 11× less.

Try MonsterWriter free

Citation Styles

latex
% APA 7th (author-year):
\usepackage[backend=biber, style=apa]{biblatex}

% IEEE (numbered):
\usepackage[backend=biber, style=ieee]{biblatex}

% Chicago (author-date):
\usepackage[backend=biber, style=chicago-authordate]{biblatex}

% Numeric with sorting:
\usepackage[backend=biber, style=numeric, sorting=nyt]{biblatex}

Citation Commands

latex
\cite{key}           % (Author, 2005) or [1] depending on style
\parencite{key}      % (Author, 2005) — always parenthetical
\textcite{key}       % Author (2005) — inline
\footcite{key}       % footnote citation
\citeauthor{key}     % Author name only
\citeyear{key}       % Year only

% Multiple sources:
\cite{key1, key2, key3}

Compiling with Biber

BibLaTeX requires a specific compile sequence. Use latexmk to automate it.

latex
# Manual sequence:
pdflatex main
biber main
pdflatex main
pdflatex main

# Automated (recommended):
latexmk -pdf main

Multiple Bibliographies

latex
% Add resources:
\addbibresource{primary.bib}
\addbibresource{secondary.bib}

% Print with heading:
\printbibliography[title={References}]

% Print only a specific type:
\printbibliography[type=article, title={Journal Articles}]
\printbibliography[type=book, title={Books}]

Related Topics