LaTeX参考文献工具和宏包bibmap项目简介

LaTeX参考文献工具和宏包bibmap项目简介

LaTeX 中的参考文献生成方式主要有三种:第一种是手动写thebibliography环境的,第二种事基于bibtex程序的,第三种则是基于biblatex宏包和biber程序的。本文介绍的bibmap项目则提供了第四种方法。目前bibmap宏包更新到2.0版后,已经完全实现了"使宏包极致简单"的设计思路,常用功能已经基本完善,详见 bibmap,欢迎大家使用并提供相关意见。

bibmap项目

bibmap项目是一个用于在latex中处理参考文献的工具,

包含一个sty文件(即宏包),用于设置参考文献处理时的选项;

一个bibmap程序(即后端程序),用于在后端处理参考文献数据。

bibmap 宏包和后端

bibmap宏包提供了完整的参考文献功能,用于latex参考文献标注和文献表的生成,支持分章参考文献、表格文献表、双语对照文献表、多种样式的标注命令等最常用功能。bibmap宏包的工作原理有点类似biblatex,但又是极度简化的,目的是直接利用后端程序结合样式设置获得满足格式要求的著录表和标注标签内容,即避免像biblatex那样需要利用大量的latex内部宏来实现格式设置,

也不再利用natbib等宏包解析bbl信息以设置标注标签。

bibmap后端程序类似bibtex/biber程序用于处理参考文献数据,其输出也是bbl文件,包含著录表信息(即latex直接能用的thebibliography环境)以及不同的引用命令的标注内容信息(即各个引用命令对应的格式化内容,由bibmap宏包读取后直接输出)。bibmap后端与biber的最大区别是,biber输出biblatex能识别和处理的特定协议的文献信息,而bibmap输出的全部是格式化后的可用于latex直接输出的信息。bibmap后端与bibtex的最大差别在于,bibmap格式化文献表所用的样式文件是python数据和代码,更简单易懂,目的是让用户可以更方便的设置参考文献格式,而不用去设计语法复杂的bst文件。

bibmap 的设计思路和优势

bibmap宏包延续了利用外部工具处理数据并通过文件为latex提供信息的思路来生成或处理参考文献,但期望走得更极致即尽可能的利用外部工具获得满足格式要求的信息,从而简化latex宏包方面的工作。其核心创新点或优势用一个词来描述就是追求极致简单。具体表现为:

  1. 利用python写后端用于处理参考文献简单易懂便于维护和扩展

  2. 格式由python数据结构的信息来设定避免如bst语言的复杂语法

  3. 著录和标注格式尽可能用后端程序生成避免复杂的latex宏设计

bibmap 的使用

目前附带的bibmap程序主要是python源代码,可以直接用命令python bibmap.py jobname来运行bibmap.py程序。在windows下可以利用打包成的bibmap.exe程序,其它系统用户可自行打包成可执行程序。

bibmap的各个目录下提供了各种测试文件,windows下运行 maketest.bat 可以进行测试。

更具体的使用说明,详见bibmap.PDF

ps

latex生成参考文献的方法可能是不准确的,应该还有一种,即使用citeproc-lua和csl样式的方法,这种方法也是比较新的,我最近没有深入了解,所以刚写文档的时候忘了。后面再完善一下。

相关推荐
鸡鸭扣12 天前
LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。
论文·latex·简历
诸神缄默不语16 天前
LaTeX中的\pdfoutput命令:输出PDF
pdf·latex·\pdfoutput·pdflatex
阿史大杯茶1 个月前
用LaTeX写一篇帅帅的算法学习题解
学习·算法·latex
ejinxian2 个月前
LaTeX 编辑器-TeXstudio
编辑器·latex·texstudio·texmaker
RS_数模加油站2 个月前
【研赛论文】数学建模2024华为杯论文word/latex模板
数学建模·word·latex·华为杯
孙悟空间2 个月前
国产 LateX 线上平台 LoongTeX 推荐
latex·loongtex
Gu_fcsdn3 个月前
Python将Latex公式插入到Word中
python·word·latex·latex2word
CarnivoreRabbit3 个月前
win10环境下gvim离线配置插件的一些补充
latex
HelloWorld__来都来了3 个月前
【问题记录+总结】VS Code & Tex Live 2024 & Latex Workshop & Springer模板----更新ing
vscode·latex·template method·tex studio