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

author title journal year

Optional fields

volume number pages month doi url note

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 editor title publisher year

Optional fields

volume number series address edition month isbn note url

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

author title booktitle year

Optional fields

editor volume number series pages address month organization publisher doi url note

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

author title booktitle publisher year

Optional fields

editor chapter pages volume number series address edition month note

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

author title howpublished year month url note doi

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 organization title url year or urldate

Optional fields

month urldate note organization

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

author title school year

Optional fields

type address month note url

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

author title school year

Optional fields

type address month note url

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

author title institution year

Optional fields

type number address month note url

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

author title note

Optional fields

year month url

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 type Use for
@article Journal / magazine articles
@book Complete published books
@inproceedings Conference papers
@incollection Chapters within a book
@misc Preprints, datasets, software, other
@online Web pages, blogs, documentation
@phdthesis Doctoral dissertations
@mastersthesis Master's dissertations
@techreport Institutional technical reports
@unpublished Drafts, manuscripts, working papers

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.