bartleby.bibliography

combine-fields

(combine-fields field subfield)
Return a single field that is the concatenation of field's and subfield's
values, separated by a colon, updating field if possible, or inferring the key
if only subfield is supplied.

embed-subtitles

(embed-subtitles item)
If item is an instance of Reference, and there are any sub(book)title
fields, remove the subtitle field and  from the field's
value and insert a new field with that value; otherwise, return item unchanged.

expand-citekeys

(expand-citekeys items citekeys)
Recurse into crossref fields to find all used citekeys

extract-subtitles

(extract-subtitles item)
If item is an instance of Reference, and there is a colon in a (book)title
field and no existing (book)subtitle, remove the subtitle from the field's
value and insert a new field with that value; otherwise, return item unchanged.

match-case

(match-case s prototype)
Change the case of s to match the case pattern of prototype.
Returns s unchanged if no pattern can be inferred from prototype.

Reference?

(Reference? r)
Return true if r is an instance of the Reference class

remove-fields

(remove-fields reference & matching-keys)
Remove all of the fields in reference that have a key that occurs in
matching-keys, which will be all lower-cased and converted to a set.

split-field

(split-field field suffix-key)
If field's value contains a colon, move the content after the colon into a new field
and return both; otherwise return a singleton vector of the original field

title-case

(title-case s)
Convert each word in s to title case, using a simple regular expression for detecting words