The Stacks project

The tag system

Each tag refers to a unique item (section, lemma, theorem, etc.) in order for this project to be referenceable. These tags don't change even if the item moves within the text.

How to use it?

To find the tag for an item, hover/click on the item in the pdf file or find the item from the table of contents. See below for LaTeX instructions on how to reference a tag.

More information

The tag system provides stable references to definitions, lemmas, propositions, theorems, remarks, examples, exercises, situations and even equations, sections and items. As the project grows, each of these gets a tag which will always point to the same mathematical result. The place of the lemma in the document may change, the lemma may be moved to a different chapter, but its tag always keeps pointing to it.

If it ever turns out that a lemma, theorem, etc. was wrong then we may remove it from the project. However, we will keep the tag, and there will be an explanation for its disappearance (in the file tags mentioned below).

How to reference tags

In your BibTeX file put

    shorthand    = {Stacks},
    author       = {The {Stacks Project Authors}},
    title        = {\textit{Stacks Project}},
    howpublished = {\url{}},
    year         = {2018},

Then you can use the citation code we provide for every tag to cite and link the corresponding tag, for example by

\cite[\href{}{Tag 0123}]{stacks-project}

This can be changed according to your tastes. In order to make the \url and \href commands to work, one should use the hyperref package.

Technical information

There is a file called tags (in the tags subdirectory of the Stacks project) which has on each line the tag followed by an identifier. Example:


Here the tag is 01MB and the identifier is constructions-lemma-proj-scheme. This means that the tag points to a lemma from the file constructions.tex. It currently has the label lemma-proj-scheme. If we ever change the lemma's label, or move the lemma to a different file, then we will change the corresponding line in the file tags by changing the identifier correspondingly. But we will never change the tag.

A tag is a four character string made up out of digits and capital letters. They are ordered lexicographically between 0000 and ZZZZ originally giving 1679616 possible tags. But as there might arise confusion from the similarities between 0 and O it was decided to stop using the letter O. The last tag using O is tag 04DO. Thus from 04DP on there are only 35 values per position. The 302 tags assigned before this new guideline will remain, as tags are constant.

Stacks epoch

The first 3026 tags were introduced in the Stacks project on May 16, 2009. New tags are assigned by the maintainer of the Stacks project every once in a while using a script. As the Stacks project is always under construction the available tags on the website, in the Git repository, and the available results in the Stacks project can sometimes be a little bit out of sync.