When called without an argument, cite produces the desired reference to Macaulay2.

i1 : cite o1 = @misc{M2, author = {Grayson, Daniel R. and Stillman, Michael E.}, title = {Macaulay2, a software system for research in algebraic geometry}, howpublished = {Available at \url{http://www.math.uiuc.edu/Macaulay2/}} } |

When applied to a loaded package cite returns a bibtex citation for inclusion in a LaTeX document, assuming there is enough information included in the package to build it. Compare the following.

i2 : cite PackageCitations o2 = @misc{PackageCitationsSource, title = {{PackageCitations: citation of \emph{Macaulay2} packages. Version~0.1}}, author = {Aaron Dall}, howpublished = {A \emph{Macaulay2} package available at "https://github.com/aarondall/PackageCitations-M2"} } |

i3 : cite Text Warning: The "Text" package provides insufficient citation data: author. o3 = @misc{TextSource, title = {{Text: documentation and hypertext. Version~0.0}}, author = {}, howpublished = {A \emph{Macaulay2} package available at \url{https://github.com/Macaulay2/M2/tree/master/M2/Macaulay2/packages}} } |

If cite is given a string, then it will will load the package if necessary and issue the corresponding citation. Note that if the package is certified then two bibtex entries will be produced: one for the article witnessing the certification and one for the source code. Moreover, if the headline of a package does not meet a certain set of criteria then a more generic title containing "A Macaulay2 package" is produced. For example, the package PieriMaps is a certified Macaulay2 package whose headline is deemed too long by the cite method.

i4 : cite "PieriMaps" o4 = @misc{PieriMapsSource, title = {{PieriMaps: A \emph{Macaulay2} package. Version~1.0}}, author = {Steven V Sam}, howpublished = {A \emph{Macaulay2} package available at \url{https://github.com/Macaulay2/M2/tree/master/M2/Macaulay2/packages}} } @article{PieriMapsArticle, title = {{Computing inclusions of Schur modules}}, author = {Steven V Sam}, journal = {The Journal of Software for Algebra and Geometry: Macaulay2}, volume = {1}, year = {2009}, } |

No effort is made to correct apparent typos in the package data. The user is urged to check for correct spelling and grammar.

i5 : cite "Bruns" o5 = @misc{BrunsSource, title = {{Bruns: make a 3-generator ideal with an ``any" resolution. Version~2.0}}, author = {David Eisenbud}, howpublished = {A \emph{Macaulay2} package available at \url{https://github.com/Macaulay2/M2/tree/master/M2/Macaulay2/packages}} } |

- PackageCitations -- a package facilitating citation of Macaulay2 packages