承接 proximify/bibutils 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

proximify/bibutils

Composer 安装命令:

composer require proximify/bibutils

包简介

A PHP class to interface with the Bibutils libraries written in ANSI C.

README 文档

README

A PHP class to interface with the Bibutils libraries written in ANSI C. Bibutils is a set of C programs written by Chris Putnam.

"The bibutils program set inter-converts between various bibliography formats using a common MODS-format XML intermediate. For example, one can convert RIS-format files to BibTeX by doing two transformations: RIS->MODS->BibTeX. By using a common intermediate for N formats, only 2N programs are required and not N^2-N. These programs operate on the command line and are styled after standard UNIX-like filters." (see CTAN package)

The current version of the libraries using in this project is bibutils 6.10 (released on 2020-03-23). The original files are unmodified and distributed under the GNU General Public License Version 2.

Metadata Object Description Schema (MODS)

The Library of Congress's Metadata Object Description Schema (MODS) XML format:

"MODS is an XML schema and guidelines for encoding a resource description. It supports discovery and management of resources, and access to them, as well as exchange and management of encoded descriptions." (see design principles)

Related:

Installation

$ composer require proximify/bibutils
$ cd vendor/proximify/bibutils && composer build

Class synopsis

namespace Proximify;

class Bibutils {
    public static read( array $options) : string
    public static convert( string $options) : string
}

read

public static Bibutils::read( array $options ) : string

Description

This method reads read bibliographic contents of a file into a MOD XML string. The input is inferred from the file extensions when not explicitly given.

Parameters

Option key Description
filename The path to the source file name.
in An optional input format.

Return Values

The loaded bibliographic data. A generic Exception is thrown on error.

convert

public Bibutils::convert( array $options ) : string

Description

This method reads read bibliographic contents of a file into a MOD XML strin and converts it to a selected output bibliographic format. The input format is inferred from the file extensions when not explicitly given.

Parameters

Option key Description
filename The path to the source file name.
out The output format.
in An optional input format.

Return Values

The converted bibliographic data. A generic Exception is thrown on error.

Examples

use Proximify\Bibutils;

// Read an EndNote XML into MOD XML
$xml = Bibutils::read(['filename' => 'dev/data/bibtex/one_of_each.bib']);

// Load a RIS file and converted into a BibTex string
$bib = Bibutils::convert(['filename' => 'refs.ris', 'out' => 'bib']);

CLI Scripts

composer app:read dev/data/bibtex/one_of_each.bib
composer app:convert dev/data/bibtex/one_of_each.bib end

Bibutils references

List of programs

The table below is from the SourceForge documentation

Program Description
bib2xml convert BibTeX to MODS XML intermediate
biblatex2xml convert BibLaTeX to MODS XML intermediate
bibdiff compare two bibliographies after reading into the bibutils internal format
copac2xml convert COPAC format references to MODS XML intermediate
end2xml convert EndNote (Refer format) to MODS XML intermediate
endx2xml convert EndNote XML to MODS XML intermediate
isi2xml convert ISI web of science to MODS XML intermediate
med2xml convert Pubmed XML references to MODS XML intermediate
modsclean a MODS to MODS converter for testing puposes mostly
nbib2xml convert Pubmed/National Library of Medicine nbib format to MODS XML intermedidate
ris2xml convert RIS format to MODS XML intermediate
xml2ads convert MODS XML intermediate into Smithsonian Astrophysical
xml2bib convert MODS XML intermediate into BibTeX
xml2biblatex convert MODS XML intermediate into BibLaTeX
xml2end convert MODS XML intermediate into format for EndNote
xml2isi convert MODS XML intermediate to ISI format
xml2nbib convert MODS XML intermediate to Pubmed/National Library of Medicine nbib format
xml2ris convert MODS XML intermediate into RIS format
xml2wordbib convert MODS XML intermediate into Word 2007 bibliography format

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to and actually do, grant us the rights to use your contribution. For details, visit our Contributor License Agreement.

When you submit a pull request, we will determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided. You will only need to do this once across all repositories using our CLA.

This project has adopted the Proximify Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact support@proximify.com with any additional questions or comments.

License

Copyright (c) Proximify Inc. All rights reserved.

Licensed under the MIT license. Please see License File for more information.

Bibutils (PHP Wrapper) is made by Proximify. We invite the community to participate.

proximify/bibutils 适用场景与选型建议

proximify/bibutils 是一款 基于 C 开发的 Composer 扩展包,目前已累计 199 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 11 月 05 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「bibtex」 「endnote」 「proximify」 「bibutils」 「uniweb」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 proximify/bibutils 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 proximify/bibutils 我们能提供哪些服务?
定制开发 / 二次开发

基于 proximify/bibutils 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 199
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: C

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-11-05