Citation Guide

What is BibTeX? Complete Guide

Everything you need to know about BibTeX: the standard format for managing academic citations in LaTeX and Typst.

Last updated: February 1, 2026

TL;DR

BibTeX is a file format (.bib) for storing citation information. Each entry has a type (@article, @book, etc.), a citation key, and fields (author, title, year). LaTeX and Typst read .bib files to automatically format your references.

Example: @article{smith2023, author={Smith, J.}, title={...}, ...} creates a citation you reference with \cite{smith2023} in LaTeX or @smith2023 in Typst.

What is BibTeX?

BibTeX is a reference management format created by Oren Patashnik and Leslie Lamport in 1985. It stores bibliographic information in plain text files (with .bib extension) that can be read by LaTeX, Typst, and reference managers.

Instead of manually formatting citations in different styles (APA, IEEE, MLA, etc.), you store the raw data once in BibTeX format. Your document processor then formats it according to whatever style you need.

Key Benefits:

  • Write once, use everywhere: Same .bib file works for any citation style
  • Automatic formatting: No manual bibliography formatting
  • Consistent citations: Same source always formatted the same way
  • Reusable library: Build a collection you use across papers

BibTeX Entry Structure

Every BibTeX entry follows this structure:

@TYPE{citationkey,
  field1 = {value1},
  field2 = {value2},
  field3 = {value3}
}

@TYPE: The entry type (article, book, inproceedings, etc.)

citationkey: Unique identifier you use to cite this source (e.g., smith2023deep)

fields: The bibliographic data (author, title, year, journal, etc.)

Common Entry Types

@article
Journal articles

Required fields: author, title, journal, year

@article{smith2023deep,
  author  = {Smith, John and Doe, Jane},
  title   = {Deep Learning for Scientific Discovery},
  journal = {Nature Machine Intelligence},
  year    = {2023},
  volume  = {5},
  pages   = {123--145},
  doi     = {10.1038/s42256-023-00001-1}
}
@inproceedings
Conference papers

Required fields: author, title, booktitle, year

@inproceedings{doe2023neural,
  author    = {Doe, Jane and Smith, John},
  title     = {Neural Networks in Practice},
  booktitle = {Proceedings of NeurIPS 2023},
  year      = {2023},
  pages     = {1--15},
  publisher = {NeurIPS Foundation}
}
@book
Books

Required fields: author/editor, title, publisher, year

@book{knuth1984texbook,
  author    = {Knuth, Donald E.},
  title     = {The TeXbook},
  publisher = {Addison-Wesley},
  year      = {1984},
  isbn      = {0-201-13447-0}
}
@misc
Websites, software, datasets

Required fields: depends on content

@misc{typst2023,
  author       = {{Typst GmbH}},
  title        = {Typst: A New Markup-Based Typesetting System},
  year         = {2023},
  howpublished = {\url{https://typst.app}},
  note         = {Accessed: 2023-12-01}
}
@phdthesis
PhD dissertations

Required fields: author, title, school, year

@phdthesis{johnson2022thesis,
  author = {Johnson, Emily},
  title  = {Machine Learning for Climate Modeling},
  school = {Stanford University},
  year   = {2022}
}

Common BibTeX Fields

FieldDescriptionExample
authorAuthor name(s){Smith, John and Doe, Jane}
titleTitle of the work{Deep Learning Methods}
yearPublication year{2023}
journalJournal name{Nature}
volumeJournal volume{42}
pagesPage range{1--25}
doiDigital Object Identifier{10.1038/s41586-023}
urlWeb address{https://example.com}
publisherPublisher name{Springer}
booktitleConference/book name{Proceedings of NeurIPS}

Using BibTeX in Your Documents

In LaTeX
% In your .tex file
According to Smith~\cite{smith2023deep}, deep learning...

% At the end of your document
\bibliographystyle{ieeetr}  % or plain, acm, etc.
\bibliography{references}   % references.bib file

Compile with: pdflatex → bibtex → pdflatex → pdflatex

In Typst
// In your .typ file
According to Smith @smith2023deep, deep learning...

// At the end of your document
#bibliography("references.bib", style: "ieee")

Typst handles compilation automatically in one pass.

In TypeTeX

TypeTeX makes BibTeX even easier:

  • • Upload your .bib file or paste entries directly
  • • Auto-complete citation keys as you type
  • • AI suggests relevant citations from your library
  • • Switch citation styles with one click

Where to Get BibTeX Entries

Google Scholar
Click "Cite" → "BibTeX" under any paper. Copy and paste into your .bib file.
DOI Lookup
Use doi2bib.org — paste a DOI, get formatted BibTeX instantly.
Reference Managers
Zotero, Mendeley, and EndNote can export your library as .bib files.
Publisher Websites
Most publishers (IEEE, ACM, Springer) offer "Export Citation" → BibTeX.

BibTeX Best Practices

Use consistent citation keys

Convention: authorYEARword (e.g., smith2023deep). Makes keys memorable and searchable.

Include DOIs when available

DOIs are permanent links. Include them for reliable source access.

Use curly braces for titles

Prevents BibTeX from changing capitalization: title = {{GPU}-Accelerated {AI}}

Keep one master .bib file

Build a personal library you reuse across papers. Easier to maintain than per-paper files.

Verify imported entries

Auto-generated BibTeX often has errors. Check author names, titles, and page numbers.

Frequently Asked Questions

What's the difference between BibTeX and BibLaTeX?

BibTeX is the original format. BibLaTeX is a modern replacement with better Unicode support, more entry types, and more customization. Both use .bib files. Use BibLaTeX for new projects unless your template requires BibTeX.

Do I need to format author names a specific way?

Yes: 'Last, First and Last, First' for multiple authors. BibTeX handles the rest. Example: author = {Smith, John and Doe, Jane}

How do I cite a website?

Use @misc with howpublished for the URL and note for access date. Or use @online in BibLaTeX which has dedicated URL and urldate fields.

Can Typst use my existing .bib files?

Yes. Typst natively reads BibTeX .bib files. Just reference it with #bibliography("file.bib").

How do I change citation style?

In LaTeX, change \bibliographystyle{style}. In Typst, change the style parameter. In TypeTeX, click the style selector and choose from hundreds of options.

Related Guides

Ready to manage citations effortlessly?

TypeTeX handles BibTeX automatically. Import, cite, and format without the hassle.

Try TypeTeX Free
What is BibTeX? Complete Guide to BibTeX Citations | 2025 | TypeTeX