Skip to content

Reference

BibTeX
Formatting Guide

A complete reference for every BibTeX entry type — required fields, optional fields, and copy-ready examples.

Cite-key naming convention: A cite key uniquely identifies each entry and is what you write inside \cite{…} in LaTeX. A widely adopted format is AuthorYEARword — e.g. lecun1989backprop or vaswani2017attention. Keys are case-sensitive and must be unique within your .bib file. Avoid spaces, special characters, and accented letters in keys.
@article

Journal / Magazine Article

An article published in a journal, newspaper, or magazine.

Required fields

authortitlejournalyear

Optional fields

volumenumberpagesmonthdoiurlnote

Example

@article{vaswani2017attention,
  author  = {Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and
             Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N and
             Kaiser, Lukasz and Polosukhin, Illia},
  title   = {Attention Is All You Need},
  journal = {Advances in Neural Information Processing Systems},
  year    = {2017},
  volume  = {30},
  pages   = {5998--6008},
  url     = {https://arxiv.org/abs/1706.03762}
}
Tip: Use pages = {12--24} (double-dash) for page ranges, not a single dash or an em-dash. For articles with a DOI, prefer doi over url — DOIs are stable and citation styles know how to render them.
@book

Book

A complete book with an explicit publisher. Use @incollection for a single chapter.

Required fields

author or editortitlepublisheryear

Optional fields

volumenumberseriesaddresseditionmonthisbnnoteurl

Example

@book{goodfellow2016deep,
  author    = {Goodfellow, Ian and Bengio, Yoshua and Courville, Aaron},
  title     = {Deep Learning},
  publisher = {MIT Press},
  year      = {2016},
  address   = {Cambridge, MA},
  isbn      = {9780262035613},
  url       = {https://www.deeplearningbook.org}
}
Tip: Put the publisher’s city in address and keep edition as an ordinal string, e.g. {3rd} or {Third}. For edited volumes, replace author with editor.
@inproceedings

Conference Paper

A paper published in conference proceedings. @conference is a legacy alias for the same type.

Required fields

authortitlebooktitleyear

Optional fields

editorvolumenumberseriespagesaddressmonthorganizationpublisherdoiurlnote

Example

@inproceedings{he2016resnet,
  author       = {He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
  title        = {Deep Residual Learning for Image Recognition},
  booktitle    = {Proceedings of the IEEE Conference on Computer Vision
                  and Pattern Recognition (CVPR)},
  year         = {2016},
  pages        = {770--778},
  organization = {IEEE},
  doi          = {10.1109/CVPR.2016.90}
}
Tip: Use the full, official conference name in booktitle. You can put the abbreviation in parentheses, but do not use only the abbreviation — citation styles differ in how they display this field.
@incollection

Book Chapter

A chapter or section of a book, typically with its own author and title distinct from the book.

Required fields

authortitlebooktitlepublisheryear

Optional fields

editorchapterpagesvolumenumberseriesaddresseditionmonthnote

Example

@incollection{rumelhart1986backprop,
  author    = {Rumelhart, David E and Hinton, Geoffrey E and Williams, Ronald J},
  title     = {Learning Representations by Back-propagating Errors},
  booktitle = {Parallel Distributed Processing: Explorations in the
               Microstructure of Cognition},
  editor    = {Rumelhart, David E and McClelland, James L},
  publisher = {MIT Press},
  year      = {1986},
  pages     = {318--362},
  volume    = {1}
}
@misc

Miscellaneous

A catch-all for sources that don’t fit any other type: datasets, software, preprints, videos, social-media posts, etc.

Required fields

None strictly required, but at least one field must be present. Include as many as possible.

Commonly used fields

authortitlehowpublishedyearmonthurlnotedoi

Example — arXiv preprint

@misc{brown2020gpt3,
  author        = {Brown, Tom B and Mann, Benjamin and Ryder, Nick and others},
  title         = {Language Models are Few-Shot Learners},
  year          = {2020},
  howpublished  = {arXiv preprint arXiv:2005.14165},
  url           = {https://arxiv.org/abs/2005.14165}
}

Example — software / code

@misc{pytorch2019,
  author        = {Paszke, Adam and Gross, Sam and Massa, Francisco and others},
  title         = {PyTorch: An Imperative Style, High-Performance Deep Learning Library},
  year          = {2019},
  howpublished  = {Software. Version 2.0},
  url           = {https://pytorch.org}
}
Tip: Use howpublished to describe the medium — e.g. “arXiv preprint arXiv:XXXX.XXXXX”, “Software, version 1.0”, or “Dataset, Zenodo”. If the source has a formal DOI (common for Zenodo datasets), add it in the doi field.
@online

Online / Web Resource

A resource only accessible online: web pages, blog posts, documentation sites, etc. Supported natively in biblatex; use @misc as a fallback for plain BibTeX.

Required fields

author or organizationtitleurlyear or urldate

Optional fields

monthurldatenoteorganization

Example

@online{openai2024gpt4,
  author       = {{OpenAI}},
  title        = {GPT-4 Technical Report},
  year         = {2024},
  url          = {https://openai.com/research/gpt-4},
  urldate      = {2025-01-10},
  organization = {OpenAI}
}
Tip: Always include urldate for web sources — web pages can disappear or change. The format is YYYY-MM-DD. For organizations as authors, wrap the name in double braces {{OpenAI}} to prevent BibTeX from treating it as a personal name and potentially reversing it.
@phdthesis

Doctoral Thesis

A PhD dissertation submitted to a university. Use @mastersthesis for Master’s level work.

Required fields

authortitleschoolyear

Optional fields

typeaddressmonthnoteurl

Example

@phdthesis{lecun1987thesis,
  author  = {LeCun, Yann},
  title   = {Mod{\`e}les connexionnistes de l'apprentissage},
  school  = {Universit{\'e} Pierre et Marie Curie},
  year    = {1987},
  address = {Paris, France}
}
Tip: Use the optional type field to override the default “PhD thesis” label — e.g. type = {Doctoral dissertation}. Accented characters in BibTeX use LaTeX escape codes: {\`e} → è, {\'e} → é. With biblatex + biber you can use UTF-8 directly.
@mastersthesis

Master’s Thesis

A thesis submitted for a Master’s degree. Identical structure to @phdthesis.

Required fields

authortitleschoolyear

Optional fields

typeaddressmonthnoteurl

Example

@mastersthesis{smith2022nlp,
  author  = {Smith, Jane},
  title   = {Improving Named Entity Recognition with Transformer Fine-Tuning},
  school  = {University of Edinburgh},
  year    = {2022},
  type    = {MSc dissertation},
  address = {Edinburgh, UK}
}
@techreport

Technical Report

A report published by a university, research institute, or corporation — often numbered and issued without formal peer review.

Required fields

authortitleinstitutionyear

Optional fields

typenumberaddressmonthnoteurl

Example

@techreport{nist2023ai,
  author      = {{National Institute of Standards and Technology}},
  title       = {Artificial Intelligence Risk Management Framework (AI RMF 1.0)},
  institution = {National Institute of Standards and Technology},
  year        = {2023},
  type        = {NIST AI Report},
  number      = {NIST AI 100-1},
  address     = {Gaithersburg, MD},
  url         = {https://doi.org/10.6028/NIST.AI.100-1}
}
Tip: Use the number field for the official report number (e.g. NIST AI 100-1). Use type to replace the generic “Technical Report” label with the publisher’s preferred designation.
@unpublished

Unpublished Work

Work that exists (draft, manuscript, working paper) but has not been formally published. The note field is required to describe its status.

Required fields

authortitlenote

Optional fields

yearmonthurl

Example

@unpublished{doe2025draft,
  author = {Doe, John and Roe, Jane},
  title  = {A Unified Framework for Causal Inference in Language Models},
  note   = {Manuscript in preparation},
  year   = {2025}
}

Quick reference

Entry typeUse forKey required fields
@articleJournal / magazine articlesauthor, title, journal, year
@bookComplete published booksauthor/editor, title, publisher, year
@inproceedingsConference papersauthor, title, booktitle, year
@incollectionChapters within a bookauthor, title, booktitle, publisher, year
@miscPreprints, datasets, software, otherauthor, title, howpublished, year
@onlineWeb pages, blogs, documentationauthor/org, title, url, year/urldate
@phdthesisDoctoral dissertationsauthor, title, school, year
@mastersthesisMaster’s dissertationsauthor, title, school, year
@techreportInstitutional technical reportsauthor, title, institution, year
@unpublishedDrafts, manuscripts, working papersauthor, title, note

General formatting tips

Author names: Use Last, First and Last, First format and separate multiple authors with and, not commas. Wrap organization names in double braces to prevent name-parsing: {{World Health Organization}}.
Protecting case: By default many citation styles lower-case your titles. Wrap words that must stay capitalized in braces: title = {The {BERT} Model Revisited}.
Accented characters: With plain BibTeX use LaTeX escape codes: {\'e} → é, {\ss} → ß. With biblatex + biber you can paste UTF-8 directly — no escaping needed.
Page ranges: Always use a double-dash for ranges: pages = {12--34}. A single dash produces a hyphen; a double-dash produces the en-dash required by most style guides.
DOI vs URL: Prefer doi when available — it’s permanent and citation styles link it automatically. Use url (with urldate) for sources without a DOI.
Braces vs quotes: Both field = {value} and field = "value" are valid. Braces are preferred because they nest cleanly and avoid conflicts with double quotes inside values.