一组bibtex实用工具(包括一个最小解析器)
项目描述
此包目前仅包括一个相当基础的BibTeX解析器,它将参考文献及其条目转换为类似字典的数据结构,并在使用时检查交叉引用。
用法
如何使用它的简单示例
from zs.bibtex.parser import parse_string data = '''@article{mm09, author = {Max Mustermann}, title = {The story of my life}, year = {2009}, journal = {Life Journale} }''' bibliography = parse_string(data) article = bibliography['mm09']
参考文献以及其中的每个条目都提供了一个 validate() 方法,该方法检查参考文献上的交叉引用和条目上的字段。它还支持一个可选的 raise_unsupported 关键字参数,一旦在条目中使用可能不受支持的字段时,它会引发异常。
有关哪些字段是某种条目所需和可选的信息基于维基百科上的 BibTeX文章。
如果您正在处理文件,您还可以使用一个名为 parse_file(file_or_path, encoding='utf-8', validate=False) 的小型辅助函数,它对给定的文件路径或类似文件对象进行处理,并返回该文件内容的参考文献对象。
自定义条目类型
zs.bibtex默认支持以下验证条目类型
article
book
booklet
incollection
inproceedings
conference
inbook
manual
masterthesis
misc
phdthesis
proceedings
techreport
unpublished
有关哪些条目需要哪些字段的具体信息,请查看 zs.bibtex.structures 模块。
但如果您处于需要不同条目类型的情况,您也可以轻松地注册自己的。
首先,您需要创建 zs.bibtex.structures.Entry 类的子类
from zs.bibtex import structures class MyEntryType(structures.Entry): required_fields = ('required_field_1', ('either_this', 'or_that', ), ) optional_fields = ('optional_field_1', )
然后简单地注册它
structures.TypeRegistry.register('mytype', MyEntryType')
项目详情
关闭
zs.bibtex-1.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f124fde9707905a0c7564beb8078ac876a3284c1b4f3ffa3cdb44f40c86aa604 |
|
MD5 | fa87c9c55a1442f4669d8c398a7d8d3c |
|
BLAKE2b-256 | 3bb7331d306da6b489e295ef975083b025c877dd890b4f4db38e8af3adbc7c96 |