@ 引用- js/ plugin- bibtex
引用.js的 BibTeX 格式插件.
安装
npm install @citation-js/plugin-bibtex
使用量
通过导入软件包注册 :
require('@citation-js/plugin-bibtex')
格式
此插件添加的格式和其他特性 .
BibTeX 函数
此插件添加输入和输出支持 BibTeX 函数, (中文(简体) ),
以文字形式和JSON代表形式。 输入类型称为 @bibtex/text
财务报告和审定财务报表 @bibtex/entry+object,输出格式为 bibtex。输出有格式
词典支持.
BibLaTeX 图像
此插件添加输入和输出支持 BibLaTeX 图像, (中文(简体) ),
以文字形式和JSON代表形式。 输入类型称为 @biblatex/text
财务报告和审定财务报表 @biblatex/entry+object,输出格式为 biblatex。输出有格式
词典支持.
Bib.TXT 电话
此插件添加输入和输出支持 Bib.TXT 电话, (中文(简体) ),
bibTeX的简化和现代化版本。 输入类型称为 @bibtxt/text
财务报告和审定财务报表 @biblatex/entry+object,输出格式为 bibtxt。输出有格式
词典支持.
配置
配置如下:
const { plugins } = require('@citation-js/core')
const config = plugins.config.get('@bibtex')
| 财产 | 值 [默认] | 说明 |
|---|---|---|
config.parse.strict | true, [false[ . ] | 如果为真, 则检查所需的字段 . |
config.parse.sentenceCase | 'always', (中文(简体) ), 'english', ['never'[ . ] | 解析时将标题转换为句子大小写 . |
config.format.useIdAsLabel | true, [false[ . ] | 使用条目ID作为标签而不是生成标签 . |
config.format.checkLabel | [true[, false | 从提供的标签( 或ID) 中删除不安全字符 . |
config.format.asciiOnly | [true[, false | 逃避或去除非ASCII字符. |
类型映射
BibLaTeX 或 BibTeX 和 CSL-JSON 之间的条目类型映射可以通过
config.types.biblatex 财务报告和审定财务报表 config.types.bibtex在这两种情况下,Bib(La)TeX
地图在 source 字段中的反向映射 target 字段.
config.types.biblatex.source.inproceedings = 'paper-conference'
config.types.biblatex.target['paper-conference'] = 'inproceedings'
所需类型
BibLaTeX 和 BibTeX 每种类型需要的字段列表
下级 config.required.biblatex 财务报告和审定财务报表 config.required.bibtex 页:1 单位
列表包含所需字段的字符串和组合的数组
bibLaTeX的年份或日期 :
(见a/cn.9/wg.iii/wp.83,附件).
config.required.biblatex.book = [
'title',
['author', 'editor'],
'publisher',
['year', 'date']
]
字段类型
字段类型(既用于 BibLaTeX 也用于 BibTeX) 可以通过 config.constants.fieldTypes。 。 。 .
这将一个对象映射 Bib( La) TeX 字段名称返回包含一个数组
字段类型和一个值类型。 前者是 field, (中文(简体) ), list (单位:千美元)" and "- 有限,
或者说 separated (comma-delimited) (中文(简体) ). 至于后者:
| 数值类型 | 说明 |
|---|---|
literal | 普通文本或数字内容 |
title | 喜欢 literal 但可能会受到以下因素的影响: config.parse.sentenceCase |
name | 个人或组织名称 |
date | EDTF 第1级日期 |
verbatim | 未更改文本( 不扩展命令等) |
uri | 与 verbatim 但如果需要, URL 会被编码 |
| 其他项目 | 没有特殊的行为,对待像 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']
统一码
config.constants.diacritics地图命令( e)\"(去二极论)config.constants.commands地图命令( e)\textinterrobangdown)到一般unicode字符(⸘(中文(简体) )config.constants.ligatures映射非命令字符序列( n)---, (中文(简体) ),~其替换(emdash, no-break space等)config.constants.ligaturePattern是一个 RegExp ,它能识别上面所映射的连接config.constants.mathScripts地图上标和下标( 属性)^财务报告和审定财务报表_(分别为)
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': '₁' }
}
格式化
config.constants.formattingEnvs用于格式化的地图环境命令config.constants.formattingCommands将正则命令映射到格式化config.constants.mathScriptFormatting地图^财务报告和审定财务报表_到 resp 上下标config.constants.formatting映射到 HTML (尽管 RTF 或 Markdown 可以替换)
config.constants.formattingEnvs.bf = 'bold'
config.constants.formattingCommands.textbf = 'bold'
config.constants.mathScriptFormatting['^'] = 'superscript'
config.constants.formatting = {
bold: ['<b>', '</b>'],
superscript: ['<sup>', '</sup>']
}
其他命令
对象 config.constants.argumentCommands 将命令名称映射到函数
处理他们。 这不包括上面使用的命令. 粗略的参数是
根据函数的参数数自动解析。 没有
支持可选参数(即平方括号中的参数).
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'
英语
数组 config.constants.sentenceCaseLanguages 影响哪一种语言
有资格在 config.parse.sentenceCase 设置为 'english'。 。 。 .
所有条目均应为小写.
config.constants.sentenceCaseLanguages = [
'english',
'en-us',
'en-gb'
]
替换字符串
对象 config.constants.defaultStrings 确定定义的字符串
默认.
config.constants.defaultStrings.larsgw = "Willighagen, Lars G"