Macaulay2 » Documentation
Packages » PackageCitations :: cite
next | previous | forward | backward | up | index | toc

# cite -- obtain bibtex citations for Macaulay2 packages

- Usage:
    `cite`
    `cite P`
    `cite S`
- Inputs:
  - P, a package,
  - S, a string,
- Outputs:
  - T, a string, bibtex entry or entries

## Description

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{https://macaulay2.com/}}
         }

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/stable/M2/Macaulay2/packages}}
         }

If cite is given a string, then it 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/stable/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/stable/M2/Macaulay2/packages}}
         }

## See also

- PackageCitations -- a package facilitating citation of Macaulay2 packages

## For the programmer

The object cite is a command.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/PackageCitations.m2:316:0.