引文和书目格式化程序

citeproc-p的Python项目详细描述


PyPIBuild statusCode coverageCode issues

citeproc py是python的CSL处理器。它旨在实施 CSL 1.0.1 specification。citeproc py可以输出样式化的引用和 多种不同输出格式的书目。目前 支持纯文本、structuredtext和html。其他格式可以 容易添加。

citeproc py使用semantic versioning。目前,它的主要版本 数字仍然是0,这意味着api还不稳定。但是,你 不应该期望很快看到任何主要的api更改。

要求

citeproc py最初是为python 3开发的,但现在也在python上运行 2.6+。它依赖于lxml来解析和导航csl样式和区域设置 文件夹。

安装

安装citeproc py的推荐方法是使用pip

pip install citeproc-py

如果没有安装lxml,pip将尝试为您安装它。

如果坚持,可以从分发包中手动安装citeproc py 寄宿于PyPI。请忽略github提供的发布档案。

开始

要开始使用citeproc py,请看下面的示例 examples/。提供了两个示例,一个解析来自 citeproc js支持的json引用表示 分析bibtex文件中的引用。展示并解释如何 引用参考文献并提供参考书目。

CSL兼容性

目前,citeproc py通过了 citeproc-test suite。但是,它已经完成了60%以上,因为 citeproc py不处理双空格和重复标点符号 可是,很多测试都失败了。另外, 以下功能尚未实现(可能有 但有些我忘了):

  • 消歧/年份后缀
  • et al后续min/et al后续使用优先
  • 折叠
  • 引号中的标点符号
  • 显示

另外,一些citeproc-js功能不是csl规范的一部分 尚不支持:

  • 生枣
  • 静态排序
  • 文字名称

运行测试

首先克隆citeproc-test suite以便它位于 citeproc py目录。现在您可以运行citeproc-test.py(在tests 目录)。运行citeproc-test.py--help查看其使用信息。

更改日志

版本0.4.0(2017-06-23)

新功能:

  • 允许指定bibtex数据库文件的编码(20和25)
  • bibtex'month'字段:支持整数和“<;month>;<;day>;”值
  • bibtex‘pages’字段:支持“10”、“10+”、“10-12”和“10–12”格式
  • bibtex条目类型:映射非标准的“论文”和“报告”条目
  • 将csl架构更新到版本1.0.1(5)
  • 更新csl locales以提交49bf3fc0

已修复错误:

  • 无需粘贴时避免碰撞(David Lesieur)
  • 修复bibtex月到csl月的映射(24)
  • 从bibtex值(37)中去掉前导/尾随空格

版本0.3.0(2014-11-07)

bibtex解析器的主要改进:

  • 将名称拆分为部分并将其分配给等效的csl名称部分
  • 修复了重音宏和转义字符的处理方法
  • 更兼容的(LA)TEX宏处理,一般(但仍然是基本的)
  • 处理标准的计算机现代连字,如–、-,和<;<;
  • 增加了bibtex和乳胶分析器的单元测试

其他更改:

  • 默认情况下禁用csl样式的relaxng验证(api更改)

版本0.2.0(2014-10-25)

  • 坏引用回调函数可以确定坏引用的显示方式(hetsch)
  • 添加了禁用relaxng验证的选项(jasper op德库尔)
  • distutils已替换为setuptools(joshua carp)
  • 错误修复(Yaroslav Halchenko,David Lesieur)
  • 现在返回条目列表

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何避免springbootstarterparent和dependency中的flyway包冲突   java文本文件写入不起作用   java获取名为DAO类的Bean创建异常   java类路径和清单文件   如何使用Java中的模式来获取像C中的“sscanf”这样的组?   java Spring自动连接具有构造函数的类   clientSecurity运行的java geode示例失败   java JavaFX:在FXML中从ResourceBundle访问非string对象   java登录到google firebase   java对象在通过构造函数后不会更改。为什么?   java(Android)对特定页面的操作webView   javascript如何在webview的js中从java调用变量   持久化—一种在Java中存储和检索对象而不使用关系数据库的简单方法?   java Ldap获取通讯组列表中的用户   java检查温度条件   java后退按钮警报框(Android Studio)   数组java列表问题:为什么我运行它时,它会在第三次打印时打印出4?   java相对路径与绝对路径