@citestyle/bibtex (中文(简体) )
将 BibTeX 文件放入 CSL-JSON 并导出 CSL-JSON 返回 BibTeX 。 处理BibTeX真实世界的混乱: LaTeX口音命令, @string 缩写, # 相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相相接相接相接相接相接相接相相相接相接相相接相相相相相相相接相接相接相接相接相相相相相相接相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相.
使用此选项将 BibTeX 引用带入 Citestyle 格式化管道, 或者导出格式化的 BibTeX 以与 LaTeX 用户共享 .
安装
npm install @citestyle/bibtex
解析 BibTeX 到 SSL- JSON
import { parseBibtex } from '@citestyle/bibtex'
const bibtex = `
@article{smith2024,
author = {Smith, John and de la Cruz, Maria},
title = {A Study of {DNA} Replication},
journal = {Nature},
year = {2024},
volume = {620},
pages = {100--108},
doi = {10.1038/example}
}
`
const items = parseBibtex(bibtex)
items[0].title // "A Study of DNA Replication"
items[0].author[0].family // "Smith"
items[0].author[1]['non-dropping-particle'] // "de la"
items[0].page // "100-108"
items[0].DOI // "10.1038/example"
导出 SSL- JSON 到 BibTeX
import { exportBibtex } from '@citestyle/bibtex'
const output = exportBibtex([{
id: 'smith2024',
type: 'article-journal',
title: 'A Study of DNA Replication',
author: [{ family: 'Smith', given: 'John' }],
issued: { 'date-parts': [[2024]] },
'container-title': 'Nature',
volume: '620',
page: '100-108',
DOI: '10.1038/example',
}])
// @article{smith2024,
// author = {Smith, John},
// title = {A Study of DNA Replication},
// journal = {Nature},
// year = {2024},
// volume = {620},
// pages = {100--108},
// doi = {10.1038/example}
// }
全程: BibTeX 到格式化的书目
import { parseBibtex } from '@citestyle/bibtex'
import { createRegistry } from '@citestyle/registry'
import * as apa from '@citestyle/styles/apa'
const items = parseBibtex(readFileSync('references.bib', 'utf-8'))
const registry = createRegistry(apa)
registry.addItems(items)
const bibliography = registry.getBibliography()
bibliography.forEach(entry => {
console.log(entry.html) // Semantic HTML with CSS classes and linked DOIs
console.log(entry.text) // Plain text for copy-paste
})
LaTeX 到 Unicode 转换
import { convertLatex } from '@citestyle/bibtex'
convertLatex('Universit\\"at M\\"unchen') // "Universität München"
convertLatex('Sch\\"onfinkel') // "Schönfinkel"
convertLatex('{\\ss}') // "ß"
convertLatex('\\o') // "ø"
convertLatex("Caf\\'e") // "Café"
120+ LaTeX口音和命令映射. 封面 \", (中文(简体) ), \', (中文(简体) ), \^, (中文(简体) ), \~, (中文(简体) ), \``, \c, \v, =:, \ H, \u, \d, \b, ưμ㼯a, and special commands (旋转, {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你还好吧, {\FN黑体\FS22\BORD1\SHAD0\3AHBE\4AH00\FSCX67\FSCY66\2CHFFFFFF\3CH808080}我们该走了, \ ae, {\FN黑体\FS22\BORD1\SHAD0\3AHBE\4AH00\FSCX67\FSCY66\2CHFFFFFF\3CH808080}AE 说, \a, \. AA 对, \ l, {\FN黑体\FS22\BORD1\SHAD0\3AHBE\4AH00\FSCX67\FSCY66\2CHFFFFFF\3CH808080}你觉得呢, \, (原始内容存档于2018-10-21) (中文(简体) ).
API 密码
parseBibtex(str) → CslItem[]
将 BibTeX 字符串分析为 SSL- JSON 项 .
支持的条目类型数字 : @article, (中文(简体) ), @book, (中文(简体) ), @inproceedings, (中文(简体) ), @incollection, (中文(简体) ), @inbook, (中文(简体) ), @phdthesis, (中文(简体) ), @mastersthesis, (中文(简体) ), @misc, (中文(简体) ), @techreport, (中文(简体) ), @unpublished, (中文(简体) ), @proceedings, (中文(简体) ), @manual, (中文(简体) ), @conference, (中文(简体) ), @booklet, (中文(简体) ), @online
处理数字 :
- LaTeX口音和命令转换(120+映射)
@string缩略语扩展和#协和- 被压缩和引用的字符串值、 嵌入式套接字
- 月份缩写
jan– 说吧 –dec(中文(简体) ) - 用粒子解析名称( N)
von, (中文(简体) ),de, (中文(简体) ),de la)并后缀(Jr., (中文(简体) ),III(中文(简体) ) - 公司/机构作者:
{{World Health Organization}}
exportBibtex(items) → string
将 CSL-JSON 物品序列化为 BibTeX 。 生产有 en-dash 页面范围的清洁输出( E)--)和适当名称格式.
convertLatex(str) → string
将 LaTeX 口音序列和特殊命令转换为 Unicode 字符 。 在全剖析器外处理单个 BibTeX 字段值时有用 .