This README uses Org mode.
MUSS is a style sheet for BibLaTeX that seeks minimality in different ways:
- Minimality of supported entry types: MUSS supports only a small set of entry types and fields that I consider most important in my field (computational linguistics/natural language processing).
- Minimality of backward compatiblity: MUSS will only be compatible with recent versions of BibLaTeX.
- Minimality of code: Because of (1) and (2), MUSS has a very slim codebase and is maximally self-contained. In fact, there is only one generic driver which is used for articles, books, etc.
MUSS was heavily inspired by, but uses only certain characteristics of,
- Unified Style Sheet for Linguistics (USS), a set of general style rules for references (see https://www.linguisticsociety.org/resource/unified-style-sheet)
- langsci-unified.bbx, a BibLaTeX implementation of the USS that is part of the langscibook class (see https://github.com/langsci/langscibook), and therefore also biblatex-unified.bbx, on which langsci-unified.bbx is based (see https://github.com/semprag/biblatex-sp-unified)
MUSS comes with two files:
- muss.bbx specifies the structure and formatting of entries in a list of references.
- muss.cbx specifies the look of cite commands in the text.
List of currently supported entry types: article, book, collection, incollection, inproceedings, manual, online, (phd)thesis, (tech)report
List of currently supported entry fields (depending on the entry type): author, booktitle, doi, edition, editor, institution, journal, note, number, pages, publisher, school, title, type, url, urldate, volume, year
Yes, there is no address field; this is a deliberate decision.
MUSS assumes that an entry in the list of references consists of the parts AUTHOR, YEAR, TITLE, TYPEOF, PARTOF, ACCESS and NOTE, which are associated with different fields depending on the type of reference:
Entry parts |
AUTHOR | YEAR | TITLE | TYPEOF | PARTOF | ACCESS | NOTE |
---|---|---|---|---|---|---|---|
article | author | year | title | journal, pages, volume, number | doi/url+urldate | note | |
book | author | year | title | series, number | edition | publisher, doi/url+urldate | note |
collection | editor | year | title/booktitle | series, number | edition | publisher, doi/url+urldate | note |
incollection | author | year | title | @collection, pages | doi/url+urldate | note | |
inproceedings | author | year | title | booktitle, pages | doi/url+urldate | note | |
manual | author | year | title | doi/url+urldate | note | ||
online | author | year | title | doi/url+urldate | note | ||
(phd)thesis | author | year | title | type, school/instutition | doi/url+urldate | note | |
(tech)report | author | year | title | type, institution | doi/url+urldate | note |
Note that MUSS itself does not distinguish between obligatory and optional fields. Missing fields are simply ignored.
MUSS differs from USS in the following details:
- PARTOF is preceded by “In” also with articles. In USS, journal names are not preceded by “In”.
- There is no address field. Never.
- If no DOI is provided, the URL is printed. Not both.
- The publisher is only printed with books and collections.
For comparison, see the output of MUSS in test.pdf and the output of USS in test-langsci-uss.pdf using langsci-unified.bbx.
The most recent version of MUSS is tested with BibLaTeX v3.19.
Simply copy muss.bbx and muss.cbx to your LaTeX project and tell BibLaTeX to use it:
\usepackage[
bibstyle=muss,
citestyle=muss,
]{biblatex}
Take a look at test.tex for a complete example.
- [X] Overhaul muss.cbx
- [X] Remove outdated code
- [X] Simplify code
- [X] Add default value for type in @thesis
- [X] Add type and institution in @report
- [X] Add CSL file