# @citation-js/plugin-bibtex 中文文档

规范地址：https://npmcn.com/package/%40citation-js/plugin-bibtex/

版本：0\.9\.0
npm 元数据更新时间：2026-09-18T11:14:41.550Z
中文译文更新时间：2026-11-09T16:59:30.272Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40citation-js/plugin-bibtex
原文对照：https://npmcn.com/package/%40citation-js/plugin-bibtex/?lang=original
项目主页：https://citation.js.org/
源码仓库：https://github.com/citation-js/citation-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：206 kB，52 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.12\.0
- 运行依赖：3 个
- peer 依赖：@citation-js/core ^0\.9\.0
- 首次发布：2018-12-06T20:51:50.168Z
- 最新版本发布：2026-09-18T11:14:41.340Z
- 近 30 天下载量：317601（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：59（近 12 个月 4 个）

## 中文简介

引用.js 的 BibTeX 格式插件

## 安装

```sh
npm install @citation-js/plugin-bibtex
```

也可以使用：`pnpm add @citation-js/plugin-bibtex`、`yarn add @citation-js/plugin-bibtex`、`bun add @citation-js/plugin-bibtex`

## README

# @ 引用- js/ plugin- bibtex

引用.js的 BibTeX 格式插件.

## [![NPM version](https://img.shields.io/npm/v/@citation-js/plugin-bibtex.svg)](https://npmjs.org/package/@citation-js/plugin-bibtex) [![NPM total downloads](https://img.shields.io/npm/dt/@citation-js/plugin-bibtex.svg)](https://npmcharts.com/compare/@citation-js%2Fplugin-bibtex?minimal=true) ![License](https://img.shields.io/npm/l/@citation-js/plugin-bibtex.svg) ![Dependency status](https://img.shields.io/librariesio/release/npm/@citation-js/plugin-bibtex)

## 安装

```
npm install @citation-js/plugin-bibtex
```

## 使用量

通过导入软件包注册 :

```js
require('@citation-js/plugin-bibtex')
```

## 格式

此插件添加的格式和其他特性 .

### BibTeX 函数

此插件添加输入和输出支持 [BibTeX 函数](http://www.bibtex.org/), (中文(简体) ), 以文字形式和JSON代表形式。 输入类型称为 `@bibtex/text` 财务报告和审定财务报表 `@bibtex/entry+object`,输出格式为 `bibtex`。输出有格式 词典支持.

### BibLaTeX 图像

此插件添加输入和输出支持 [BibLaTeX 图像](https://www.ctan.org/pkg/biblatex), (中文(简体) ), 以文字形式和JSON代表形式。 输入类型称为 `@biblatex/text` 财务报告和审定财务报表 `@biblatex/entry+object`,输出格式为 `biblatex`。输出有格式 词典支持.

### Bib.TXT 电话

此插件添加输入和输出支持 [Bib.TXT 电话](http://bibtxt.github.io/), (中文(简体) ), bibTeX的简化和现代化版本。 输入类型称为 `@bibtxt/text` 财务报告和审定财务报表 `@biblatex/entry+object`,输出格式为 `bibtxt`。输出有格式 词典支持.

## 配置

配置如下:

```js
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` 字段.

```js
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,附件).

```js
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` |

```js
// 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` 地图上标和下标( 属性) `^` 财务报告和审定财务报表 `_` (分别为)

```js
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 可以替换)

```js
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` 将命令名称映射到函数 处理他们。 这不包括上面使用的命令. 粗略的参数是 根据函数的参数数自动解析。 没有 支持可选参数(即平方括号中的参数).

```js
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'`。 。 。 . 所有条目均应为小写.

```js
config.constants.sentenceCaseLanguages = [
  'english',
  'en-us',
  'en-gb'
]
```

### 替换字符串

对象 `config.constants.defaultStrings` 确定定义的字符串 默认.

```js
config.constants.defaultStrings.larsgw = "Willighagen, Lars G"
```

## 常见问题

### @citation-js/plugin-bibtex 是什么？

引用\.js 的 BibTeX 格式插件

### 如何安装 @citation-js/plugin-bibtex？

在项目目录运行 npm install @citation-js/plugin-bibtex，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@citation-js/core（^0\.9\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @citation-js/plugin-bibtex 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @citation-js/plugin-bibtex 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @citation-js/plugin-bibtex 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @citation-js/plugin-bibtex 可以商用吗？

@citation-js/plugin-bibtex 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @citation-js/plugin-bibtex 的下载量有多少？

根据 npm 官方下载统计，@citation-js/plugin-bibtex 在 2026/10/10 – 2026/11/08 这 30 天内被下载 317,601 次，日均约 10,587 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @citation-js/plugin-bibtex 还在维护吗？

最新版本 0\.9\.0 发布于 2026/09/18（1 个月前）；至今共发布 59 个版本，其中过去 12 个月发布了 4 个；首次发布于 2018/12/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

