The documentation for Macaulay2 is available in several formats: text format while in Macaulay2, in info format, and the most important, html format.

The following functions for available for accessing the documentation.
• examples -- list the examples in documentation
• help -- help command
• about -- search the documentation
• apropos -- symbols matching a pattern
• viewHelp -- view online doc with a web browser
• infoHelp -- view online doc with info

While in Macaulay2, type help to get a summary of the most useful ways of obtaining help on a topic or function. TypeviewHelp to start the web browser (if necessary) and to point it at the page index.html in your .Macaulay2 directory. For help on a specific topic, e.g., the jacobian function, use viewHelp jacobian or viewHelp "jacobian" or if you want the documentation for jacobian of an Ideal, use viewHelp (jacobian,Ideal)

Using 'help' instead of 'viewHelp' results in the help text appearing in your Macaulay2 session.

 ```i1 : help "jacobian" o1 = jacobian -- the Jacobian matrix of partial derivatives ****************************************************** See also ======== * "diff" -- differentiate or take difference * "contract" -- contract one matrix by another Ways to use jacobian : ====================== * "jacobian(Ideal)" -- the Jacobian matrix of the generators of an ideal * jacobian(MonomialIdeal), see "jacobian(Ideal)" -- the Jacobian matrix of the generators of an ideal * "jacobian(Matrix)" -- the matrix of partial derivatives of polynomials in a matrix * "jacobian(Ring)" -- the Jacobian matrix of the polynomials defining a quotient ring o1 : DIV```

A useful tip: in emacs, if you place your cursor on one of the lines that starts with a '*', and press return, then you will get help on that topic.

 ```i2 : * "jacobian(Ideal)" o2 = jacobian(Ideal) -- the Jacobian matrix of the generators of an ideal ******************************************************************** Synopsis ======== * Usage: jacobian I * Function: "jacobian" * Inputs: * I, an ideal, in a polynomial ring * Outputs: * a matrix, the Jacobian matrix of partial derivatives of the generators of I Description =========== This is identical to jacobian generators I. See "jacobian(Matrix)" for more information. +-----------------------------+ |R = QQ[x,y,z]; | +-----------------------------+ |I = ideal(y^2-x*(x-1)*(x-13))| +-----------------------------+ |jacobian I | +-----------------------------+ If the ring of I is a polynomial ring over a polynomial ring, then indeterminates in the coefficient ring are treated as constants. +---------------------------------+ |R = ZZ[a,b,c][x,y,z] | +---------------------------------+ |jacobian ideal(a*y*z+b*x*z+c*x*y)| +---------------------------------+ o2 : DIV```

Reading the info form of the documentation in emacs is perhaps better than using infoHelp, because the preferred way of running Macaulay2 is also in emacs. If you do so, we recommend configuring the emacs variable Info-hide-note-references so its value is hide. The reason is that the Macaulay2 documentation sets up hyperlinks with all the required text already in them, but if Info-hide-note-references is set to t, then it will insert See or see in front of the hyperlink unless it sees that word (or in) already present in the text.

The function apropos is useful to find functions and other defined symbols which match a search string. For example, to find all symbols in Macaulay2 which contain the string 'deal', use

 ```i3 : apropos "deal" o3 = {AdjointIdeal, BinomialEdgeIdeals, EdgeIdeals, expectedReesIdeal, ------------------------------------------------------------------------ ExteriorIdeals, FiniteFittingIdeals, fittingIdeal, GenericInitialIdeal, ------------------------------------------------------------------------ graphIdeal, icPIdeal, Ideal, ideal, idealizer, isIdeal, isMonomialIdeal, ------------------------------------------------------------------------ LexIdeals, MaximalIdeal, monomialCurveIdeal, MonomialIdeal, ------------------------------------------------------------------------ monomialIdeal, monomialSubideal, MultiplierIdeals, MultiplierIdealsDim2, ------------------------------------------------------------------------ RandomIdeals, RandomMonomialIdeals, reesIdeal, reesIdeal, ------------------------------------------------------------------------ specialFiberIdeal, StronglyStableIdeals, symmetricAlgebraIdeal, ------------------------------------------------------------------------ TestIdeals} o3 : List```

To find all documentation nodes whose contain a given string, use about.

 ```i4 : about resolution o4 = {0 => Macaulay2Doc::resolution } {1 => Macaulay2Doc::resolution(..., DegreeLimit => ...) } {2 => Macaulay2Doc::resolution(..., FastNonminimal => ...) } {3 => Macaulay2Doc::resolution(..., HardDegreeLimit => ...) } {4 => Macaulay2Doc::resolution(..., LengthLimit => ...) } {5 => Macaulay2Doc::resolution(..., PairLimit => ...) } {6 => Macaulay2Doc::resolution(..., SortStrategy => ...) } {7 => Macaulay2Doc::resolution(..., StopBeforeComputation => ...)} {8 => Macaulay2Doc::resolution(..., Strategy => ...) } {9 => Macaulay2Doc::resolution(..., SyzygyLimit => ...) } {10 => Macaulay2Doc::resolution(Ideal) } {11 => Macaulay2Doc::resolution(Matrix) } {12 => Macaulay2Doc::resolution(Module) } {13 => Macaulay2Doc::resolution(MonomialIdeal) } o4 : NumberedVerticalList``` ```i5 : help o5 = initial help ************ Welcome to Macaulay2 Try entering '2+2' at your next input prompt, which begins with i. The two output prompts begin with o. The first one, with the equal sign, '=', gives the value computed from your input, and the second one, with the colon, ':', tells what type of thing the value is. Type one of these commands to get started reading the documentation: * copyright -- the copyright * help "Macaulay2" -- top node of the documentation. * help "reading the documentation" -- * help "getting started" -- * help "a first Macaulay2 session" -- * help x -- show documentation for x * help about x -- show documentation about x * help about (x,Body=>true) -- show documentation mentioning x * ? f -- display brief documentation for a function f * printWidth = 80 -- set print width to 80 characters * viewHelp -- view documentation in a browser * viewHelp x -- view documentation on x in browser To read the documentation in info form, in case you happen to be running Macaulay2 in a terminal window, replace "help" by "infoHelp" in any of the commands above. o5 : DIV```

The documentation for most functions comes with example code. You can obtain the text of this example code using examples.

 ```i6 : examples "jacobian(Ideal)" o6 = R = QQ[x,y,z]; I = ideal(y^2-x*(x-1)*(x-13)) jacobian I R = ZZ[a,b,c][x,y,z] jacobian ideal(a*y*z+b*x*z+c*x*y)```

which returns it as a string. To place these on their own lines, print the string.

 ```i7 : print examples "jacobian(Ideal)" R = QQ[x,y,z]; I = ideal(y^2-x*(x-1)*(x-13)) jacobian I R = ZZ[a,b,c][x,y,z] jacobian ideal(a*y*z+b*x*z+c*x*y)```