You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Citation-js的CSL-JSON输出中保留非标准字段

如何在Citation-js的CSL-JSON输出中保留非标准BibTeX字段

要保留confsite这类非标准字段,你需要给Citation-js的BibTeX插件添加自定义字段映射——因为插件默认只处理标准字段的转换,未注册的非标准字段会被自动忽略。

具体实现步骤

  1. 调用BibTeX插件的addField方法,注册你的非标准字段映射规则,明确字段在BibTeX中的名称,以及如何转换到CSL-JSON结构中。
  2. 完成映射注册后,再用new Cite()处理BibTeX内容,输出的CSL-JSON就会包含目标字段。

代码示例

const { Cite } = require('@citation-js/core');
const { plugin: bibtexPlugin } = require('@citation-js/plugin-bibtex');

// 注册自定义字段confsite的映射规则
bibtexPlugin.addField('confsite', {
  bibtex: 'confsite', // 对应BibTeX中的字段名
  output: (value) => ({ confsite: value }) // 直接将字段值映射到CSL-JSON的confsite字段
});

// 测试用的BibTeX内容
const bibtexContent = `
@InProceedings{demo_paper,
  author    = {Jane Smith},
  title     = {Demo Conference Paper},
  booktitle = {Annual Demo Conference},
  year      = {2024},
  url       = {https://demo.com/paper-detail},
  confsite  = {https://demo.com/conference-home}
}
`;

const citeInstance = new Cite(bibtexContent);
// 输出包含confsite字段的CSL-JSON
console.log(citeInstance.format('csl'));

原理说明

Citation-js的BibTeX插件内部维护了一套标准字段的映射表,只有在表中存在的字段才会被解析并转换到CSL-JSON中。通过addField方法扩展这个映射表,就能让插件识别并保留你的非标准字段。

内容的提问来源于stack exchange,提问作者SiliconValley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:33:22