# documentation keys

The Macaulay2 documentation is linked together by cross-references from one documentation node to another. Each node is identified by a string, which is the title of the node. Some nodes, such as this one, have titles that are simply invented by the author. Others have titles that are manufactured in a certain way from the aspect of the program being documented, for the sake of uniformity.

For example, the title of the node describing resolutions of modules is "resolution Module". The corresponding key is (resolution, Module), and it is the job of the function makeDocumentTag to convert keys to titles.

### Types of documentation keys

• "a string"
• s a symbol
• (f,X) a method function or unary operator f that accepts an argument of type X
• (f,X,Y) a method function or binary operator f that accepts 2 arguments, of types X and Y
• (f,X,Y,Z) a method function f that accepts 3 arguments, of types X, Y, and Z
• (f,X,Y,Z,T) a method function f that accepts 4 arguments, of types X, Y, Z and T
• [f,A] a function f with an optional named A
• (NewOfFromMethod,X,Y,Z) the method for new X of Y from Z
• (NewOfMethod,X,Y) the method for new X of Y
• (NewFromMethod,X,Z) the method for new X from Z
• (NewMethod,X) the method for new X
• ((symbol ++, symbol =), X,Y) the method for assignment X ++ Y = ...
• (homology,X) the method for HH X
• (homology,ZZ,X) the method for HH_ZZ X
• (cohomology,ZZ,X) the method for HH^ZZ X
• (homology,ZZ,X,Y) the method for HH_ZZ (X,Y)
• (cohomology,ZZ,X,Y) the method for HH^ZZ (X,Y)
• (E,ZZ,X) the method for E_ZZ X or E^ZZ X, where E is a scripted functor
• (E,ZZ,X,Y) the method for E_ZZ (X,Y) or E^ZZ (X,Y), where E is a scripted functor
 i1 : makeDocumentTag "some title" o1 = User :: some title o1 : DocumentTag i2 : makeDocumentTag (symbol ++, Module, Module) o2 = Macaulay2Doc :: Module ++ Module o2 : DocumentTag i3 : makeDocumentTag ((symbol _, symbol =), Symbol, Thing) o3 = Macaulay2Doc :: Symbol _ Thing = Thing o3 : DocumentTag i4 : makeDocumentTag (Tor,ZZ,Module,Module) o4 = Macaulay2Doc :: Tor_ZZ(Module,Module) o4 : DocumentTag