Extra fields

In some cases the Zotero fields do not offer a place to enter the data you need to get your exported entries just right. For this Zotero has a so-called “cheater syntax” which allows you to add extra “fields” as separate lines in the extra field all items in Zotero have. These fields are supported by the citation processor inside Zotero, and BBT understands them too, and adds one “cheater syntax of its own.

You can add such fields by adding each on their own line in the following format:

Label: value

or the older format you migh have seen, which is supported but considered depracated:

{:csl-variable: value}

The full list of labels and the Zotero/CSL variables they translate to can be found in the table at the end.

These extra-fields are available to postscripts as extra.kv.<variable-name>. Which variable it is depends (sorry):

  • when you export to CSL, it is attempted to map it to the corrsponding CSL fields; if none are available, it is available under their zotero name
  • when you export to Better BibTeX/Better BibLaTeX, it is attempted to map it to the corresponding zotero fields; if none are available, it is available under their csl variable name

There’s three type of fields:

  • text
  • date
  • name

Text is just that. For dates, BBT will do its darndest to parse the crazy dates so many people seem intent in using but if you want consistent results, stick to YYYY-MM-DD. For names, use either just text (equivalent to a single-part name in Zotero), or <family name> || <given name>.


There is also a BBT-specific extra-field format that looks like

tex.field: value

These fields are simply copied to the output by BBT, so if you have

tex.bestfield: philosophy

you will end up with

  bestfield = {philosophy}

in the written bib(la)tex.

You can make BBT export the field only for bibtex or biblatex by changing the prefix to bibtex. (so bibtex.bestfield:) or biblatex. respectively. Finally, you can use = instead of : as a delimiter, and that will indicate to BBT that what follows the = is “raw LaTeX”; BBT will not do any escaping and just copy it out unchanged. This means, for example, that you would probably want

tex.corp: Black & Decker
tex.formula= $\sum\limits_{i=1}^{n} -p(m_{i})\log_{2}(p(m_{i}))$

and not

tex.corp= Black & Decker
tex.formula: $\sum\limits_{i=1}^{n} -p(m_{i})\log_{2}(p(m_{i}))$

BBT will apply case-protection rules for non-raw fields by including capitals in the prefix, eg

TeX.corp: Black & Decker

It is important to note that these BBT-specific fields are not recognized by any other exporter. They might end up in notes for some other exporters; there’s nothing I can do about that.

Label/variable list

note: I list the Zotero fields here, not the bibtex fields. The Zotero fields are translated to bibtex fields but that translation is pretty complicated and I don’t have a simple description of it at this time.

label type zotero/jurism csl
access date date accessDate accessed
admin flag text adminFlag¹ admin-flag¹
adoption date date adoptionDate¹
application number text applicationNumber
archive collection text archiveCollection¹ archive_collection¹
archive id text number number
archive location text archiveLocation archive_location
archive place text archive-place
artwork medium text medium
artwork size text artworkSize
assembly number text assemblyNumber¹ / seriesNumber
attorney agent name attorneyAgent attorneyAgent
audio file type text medium
audio recording format text medium
bill number text number number
blog title text publicationTitle
book abbreviation text journalAbbreviation container-title-short
book author name bookAuthor container-author
book title text publicationTitle
call number text callNumber call-number
case name text title title
cast member name castMember castMember
chapter number text session chapter-number
citation key text citationKey²
code number text codeNumber
code pages text pages page
code volume text volume
collection editor name seriesEditor collection-editor
collection number text assemblyNumber¹ / regnalYear¹ / seriesNumber / yearAsVolume¹ collection-number
collection title text parentTreaty¹ / series / seriesTitle collection-title
conference date date conferenceDate¹
conference name text conferenceName
container author name bookAuthor container-author
container title text code / publicationTitle / reporter container-title
container title short text journalAbbreviation container-title-short
csl type text csl-type
date amended date dateAmended¹
date decided date date issued
date enacted date date issued
dictionary title text publicationTitle
docket number text number number
document name text documentName¹ document-name¹
document number text documentNumber¹ / number document-number¹
editorial director name editorial-director
encyclopedia title text publicationTitle
episode number text number number
event date date conferenceDate¹ / dateAmended¹ / signingDate¹ event-date
event place text event-place
event title text event-title²
filing date date filingDate submitted
first page text pages page
forum title text publicationTitle
gazette flag text gazetteFlag¹ gazette-flag¹
interview medium text medium
issue date date date issued
issuing authority text authority² / issuingAuthority¹
journal abbreviation text journalAbbreviation container-title-short
legal status text legalStatus¹ / status status
legislative body text authority² / legislativeBody¹
letter type text type
library catalog text libraryCatalog source
manuscript type text type
map type text type
meeting name text meetingName
meeting number text meetingNumber¹
name of act text title title
news case date date newsCaseDate¹
num pages text numPages number-of-pages
number of pages text numPages number-of-pages
number of volumes text numberOfVolumes number-of-volumes
opening date date openingDate¹ opening-date¹
original author name original-author
original date date originalDate¹ original-date
original publisher text original-publisher
original publisher place text original-publisher-place
original title text original-title
parent treaty text parentTreaty¹
patent number text number number
post type text type
presentation type text type
priority date date priorityDate¹
priority numbers text priorityNumbers
proceedings title text publicationTitle
program title text publicationTitle
programming language text programmingLanguage
public law number text number number
publication date date publicationDate¹ publication-date¹
publication number text publicationNumber¹ publication-number¹
publication title text publicationTitle
publisher place text publisher-place
regnal year text regnalYear¹
regulation type text regulationType¹ / type
regulatory body text legislativeBody¹ / regulatoryBody¹
report number text number number
report type text type
reporter volume text volume
repository location text place event-place / publisher-place
resolution label text resolutionLabel¹
reviewed author name reviewedAuthor reviewed-author
reviewed title text reviewed-title
running time text runningTime
script writer name scriptwriter script-writer²
series editor name seriesEditor collection-editor
series number text seriesNumber
series text text seriesText
series title text seriesTitle
session type text sessionType¹ / type
short title text shortTitle title-short
signing date date signingDate¹
supplement name text supplementName¹ supplement¹
testimony by name testimonyBy¹ testimonyBy¹
thesis type text type
title short text shortTitle title-short
treaty number text number number
version number text versionNumber version
video recording format text medium
volume title text volumeTitle¹ volume-title¹
website title text publicationTitle
website type text type
words by name wordsBy wordsBy
year as volume text yearAsVolume¹

¹ only supported in Juris-M