- Source:
Members
(static) biber :Object
Type:
- Object
Properties:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
biber.annotationMarker |
Boolean |
<optional> |
'+an' | Signifier that a field is a data annotation. |
biber.namedAnnotationMarker |
Boolean |
<optional> |
':' | Signifier that a data annotation is named. |
- Source:
(static) constants :Object
Contains various constants used while parsing, mapping and formatting BibTeX- related file formats.
Required types
The list of required fields for each type for BibLaTeX and BibTeX is available
under config.constants.required.biblatex
and config.constants.required.bibtex
respectively. In both cases, the list consists of strings for required fields
and arrays for sets of fields where at least one should be present
(year OR date for BibLaTeX for example).
config.constants.required.biblatex.book = [
'title',
['author', 'editor'],
'publisher',
['year', 'date']
]
Field types
Field types (used for both BibLaTeX and BibTeX) are available through config.constants.fieldTypes
.
This returns an object mapping Bib(La)TeX field names to an array containing a
field type and a value type. The former is either field
, list
(" and "
-delimited),
or separated
(comma-delimited). As for the latter:
Value type | Description |
---|---|
literal |
Normal text or numeric content |
title |
Like literal but can be affected by config.parse.sentenceCase |
name |
A personal or organizational name |
date |
An EDTF Level 1 date |
verbatim |
Unaltered text (no expansion of commands, etc.) |
uri |
Same as verbatim but if needed the URL is encoded |
other | No special behaviour, treated like literal |
// Add `daturl` for dat:// URLs
config.constants.fieldTypes.daturl = ['field', 'uri']
// Do not treat `publisher` as a list
config.constants.fieldTypes.publisher = ['field', 'literal']
Unicode
config.constants.diacritics
maps commands (\"
) to diacriticsconfig.constants.commands
maps commands (\textinterrobangdown
) to general unicode characters (⸘
)config.constants.mathCommands
maps math-mode commands (\Gamma
) to general unicode characters (Γ
)config.constants.ligatures
maps non-command character sequences (---
,~
, etc.) to their replacements (emdash, no-breaking space, etc.)config.constants.ligaturePattern
is a RegExp that recognizes the ligatures mapped aboveconfig.constants.mathScripts
maps superscript and subscript (in properties^
and_
respectively)
config.constants.diacritics['"'] = '\u0308'
config.constants.commands.textinterrobangdown = '⸘'
config.constants.ligatures = {
'---': '\u2014',
'~': '\u00A0'
}
config.constants.ligaturePattern = /---|~/g // Don't forget the (g)lobal flag
config.constants.mathScripts = {
'^': { '1': '¹' },
'_': { '1': '₁' }
}
Formatting
config.constants.formattingEnvs
maps environment commands to formattingconfig.constants.formattingCommands
maps regular commands to formattingconfig.constants.mathScriptFormatting
maps^
and_
to resp. super- and subscriptconfig.constants.formatting
maps formatting to HTML (though RTF or Markdown could be substituted)
config.constants.formattingEnvs.bf = 'bold'
config.constants.formattingCommands.textbf = 'bold'
config.constants.mathScriptFormatting['^'] = 'superscript'
config.constants.formatting = {
bold: ['<b>', '</b>'],
superscript: ['<sup>', '</sup>']
}
Other commands
The object config.constants.argumentCommands
maps command names to functions
handling them. This does not include commands used above. Braced arguments are
parsed automatically based on how many arguments the function takes. It does not
support optional arguments (i.e. those in square braces) yet.
config.constants.argumentCommands.href = function (url, displayText) {
// Note: <a> tags are not supported by CSL so watch out if you use this
return `<a href="${url}">${displayText}</a>`
}
// You can also use it to replace commands that produce text
config.constants.argumentCommands.LaTeX = () => 'LaTeX'
English languages
The array config.constants.sentenceCaseLanguages
affects which languages are
eligible for sentence-casing when config.parse.sentenceCase
is set to 'english'
.
All entries should be lowercase.
config.constants.sentenceCaseLanguages = [
'english',
'en-us',
'en-gb'
]
Replacement strings
The object config.constants.defaultStrings
determines which strings are defined
by default.
config.constants.defaultStrings.larsgw = "Willighagen, Lars G"
Type:
- Object
Properties:
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
required |
Object |
Properties
|
|||||||||
fieldTypes |
Object.<String, Array.<String>> | ||||||||||
diacritics |
Object.<String, String> | ||||||||||
commands |
Object.<String, String> | ||||||||||
ligatures |
Object.<String, String> | ||||||||||
ligaturePattern |
RegExp | ||||||||||
mathScripts |
Object |
Properties
|
|||||||||
formattingEnvs |
Object.<String, String> | ||||||||||
formattingCommands |
Object.<String, String> | ||||||||||
mathScriptFormatting |
Object.<String, String> | ||||||||||
formatting |
Object.<String, String> | ||||||||||
argumentCommands |
Object.<String, function()> | ||||||||||
sentenceCaseLanguages |
Array.<String> | ||||||||||
defaultStrings |
Object.<String, String> |
- Source:
(static) format :Object
Type:
- Object
Properties:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
format.useIdAsLabel |
Boolean |
<optional> |
false | Use the entry ID as the label instead of generating one. |
format.asciiOnly |
Boolean |
<optional> |
true | Escape or remove non-ASCII characters. |
- Source:
(static) parse :Object
Type:
- Object
Properties:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
strict |
Boolean |
<optional> |
false | When true, entries are checked for required fields. |
sentenceCase |
String |
<optional> |
'never' | Convert titles to sentence case when parsing. |
- Source:
(static) types :Object
Entry type mappings between BibLaTeX or BibTeX and CSL-JSON are available through
config.types.biblatex
and config.types.bibtex
. In both cases, the Bib(La)TeX
mappings are in the source
field and the reverse mappings in the target
field.
config.types.biblatex.source.inproceedings = 'paper-conference'
config.types.biblatex.target['paper-conference'] = 'inproceedings'
Type:
- Object
Properties:
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
biblatex |
Object |
Properties
|
|||||||||
bibtex |
Object |
Properties
|
- Source: