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
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}
}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}
}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}
}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}
}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
| Field | Description | Example |
|---|---|---|
| author | Author name(s) | {Smith, John and Doe, Jane} |
| title | Title of the work | {Deep Learning Methods} |
| year | Publication year | {2023} |
| journal | Journal name | {Nature} |
| volume | Journal volume | {42} |
| pages | Page range | {1--25} |
| doi | Digital Object Identifier | {10.1038/s41586-023} |
| url | Web address | {https://example.com} |
| publisher | Publisher name | {Springer} |
| booktitle | Conference/book name | {Proceedings of NeurIPS} |
Using BibTeX in Your Documents
% 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 fileCompile with: pdflatex → bibtex → pdflatex → pdflatex
// 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.
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
BibTeX Best Practices
Convention: authorYEARword (e.g., smith2023deep). Makes keys memorable and searchable.
DOIs are permanent links. Include them for reliable source access.
Prevents BibTeX from changing capitalization: title = {{GPU}-Accelerated {AI}}
Build a personal library you reuse across papers. Easier to maintain than per-paper files.
Auto-generated BibTeX often has errors. Check author names, titles, and page numbers.
Frequently Asked Questions
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.
Yes: 'Last, First and Last, First' for multiple authors. BibTeX handles the rest. Example: author = {Smith, John and Doe, Jane}
Use @misc with howpublished for the URL and note for access date. Or use @online in BibLaTeX which has dedicated URL and urldate fields.
Yes. Typst natively reads BibTeX .bib files. Just reference it with #bibliography("file.bib").
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