How do I cite software in LaTeX?
Solution 1:
This is driven by the format of the citation required by the institution or journal.
For example, the APA has guidelines for computer software references and, if these are to be followed, then the output from LaTeX needs to produce the appropriate format. An example they give (reference entry 92 for computer software) is
Miller, M. E. (1993). The Interactive Tester (Version 4.0) [Computer software]. Westminster, CA: Psytek Services.
but there are a lot of precise rules for different categories of software. In many cases the software is not put into a reference entry but just mentioned in the text with its proper name and version number (see Publication Manual of the American Psychological Society (5th edition, 2001), p.280)
Another mailing list example is at http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2007-10/msg01823.html:
Software with a manual:
@BOOK{lapack99, AUTHOR = {Anderson, E. and Bai, Z. and Bischof, C. and Blackford, S. and Demmel, J. and Dongarra, J. and Du Croz, J. and Greenbaum, A. and Hammarling, S. and McKenney, A. and Sorensen, D.}, TITLE = {{LAPACK} Users' Guide}, EDITION = {Third}, PUBLISHER = {Society for Industrial and Applied Mathematics}, YEAR = {1999}, ADDRESS = {Philadelphia, PA}, ISBN = {0-89871-447-8 (paperback)} } @Article{frigo-johnson05, author = {Matteo Frigo and Steven G. Johnson}, title = {The design and implementation of {FFTW3}}, journal = pieee, year = 2005, volume = 93, number = 2, pages = {216--231}, month = {February} }
Free software with no published manual:
@Misc{popinet00, author = {Stephane Popinet}, title = {{GTS}: {GNU} {Triangulated} {Surface} library}, howpublished = {\url{http://gts.sourceforge.net/}}, year = {2000--2004} }
Solution 2:
BibLaTeX has a @software
entry type which is an alias for @misc
, and a version
field:
@software{hadoop,
author = {{Apache Software Foundation}},
title = {Hadoop},
url = {https://hadoop.apache.org},
version = {0.20.2},
date = {2010-02-19},
}
It produces:
Apache Software Foundation. Hadoop. Version 0.20.2. Feb. 19, 2010. URL: https://hadoop.apache.org
Solution 3:
I use the BibTeX @misc
format, and diddle the fields until I'm happy with the result. You need enough info for the read to unambiguously know which version you're using and where to get it.
So I put the version in the note
, the release data in the year
and month
fields, software name in title
, the author or project name in author
, and try to include a url
.
But then, I've never faced an stylesheet that constrained me in this: editors simply don't expect you to cite a piece of code...
Solution 4:
Unless the software doesn't specify what to cite (SPRNG for example asks that you cite a specific paper where the software was presented and many software that originated in academic circles does similarly) I'd use @misc
as it's the best BibTeX has to offer in that regard.
Also, one usually only cites works that consist mostly of words, not of pretty windows, so when just talking about software and not citing from some publication I'd rather use a footnote or something in parentheses instead of a citation.