So, I would like some more input on the idea of having more macros in the Stacks project. Please read my thoughts here first.

One of the things that wasn’t mentioned there, maybe because it is so obvious, is that having more macros makes writing LaTeX for the Stacks project more difficult. On the other hand, it will always be the case that the most difficult part is writing the actual mathematics, and it is much easier to change the actual coding. For an example see this contribution by Kiran Kedlaya and note how this commit fixed up the coding style on the same day.

Here is a list of current code bits that I think warrant being replaced by a macro:

freq snippet meaning
111 \mathit{Isom} Isom sheaf between objects of a stack
114 \text{div} divisor of a rational function
116 \text{Fil} Fil(A) is cat filtered objects of A
125 \text{Sym} Symmetric powers
126 \text{cosk} coskelet functor
129 \text{gr} associated graded
139 \text{Tr} trace
146 \underline{\text{Proj}} relative proj
157 \text{Cris} crystalline site
164 \underline{\mathbf{Z}} constant sheaf
169 \textit{PSh} cat of presheaves on
178 \textit{Coh} cat of coherent sheaves
188 \text{Mod} category of modules over ring
205 \text{Cov} collection of coverings of a site
215 \text{Supp} support of a (sheaf of) module(s)
219 \text{Tot} associated total complex
239 \text{Tor} tor functor
241 \text{Ass} set of associated primes/points
249 \text{length} length of a module
260 \text{Coker} cokernel
285 \text{Im} image
310 \textit{Sets} category of sets
335 \textit{Ab} category of abelian groups
398 \text{Ext} ext functor
406 \text{Proj} proj functor
496 \textit{Mod} category of sheaves of modules
520 \textit{QCoh} quasi-coherent sheaves of modules
560 \text{pr} projection morphism
579 \text{d} differential A –> ΩA
677 \text{Ker} kernel
834 \text{id} identity morphism

Currently, I am contemplating introducing the command \identity for the identity morphism. What do you think?