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

devtools/2024/10/23 10:02:35/

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

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

bibmap_6">bibmap项目

bibmap项目是一个用于在latex中处理参考文献的工具,
包含一个sty文件(即宏包),用于设置参考文献处理时的选项;
一个bibmap程序(即后端程序),用于在后端处理参考文献数据。

bibmap__12">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__18">bibmap 的设计思路和优势

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

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

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

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

bibmap__28">bibmap 的使用

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

bibmap的各个目录下提供了各种测试文件,windows下运行 maketest.bat 可以进行测试。
更具体的使用说明,详见bibmap.PDF

ps

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


http://www.ppmy.cn/devtools/128133.html

相关文章

【K8s】Kubernetes 证书管理工具 Cert-Manager

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 | 精选文章 | Kubernetes | Docker | Linux | 羊毛资源 | 工具推荐 | 往期精彩文章 【Docker】(全…

js(深浅拷贝,节流防抖,this指向,改变this指向的方法)

一、深浅拷贝 1.基本数据类型和引用数据类型的区别: 1. 基本数据类型的变量存储的是值 引用数据类型的变量存储的是地址值 2. 基本数据类型的变量存储的值在栈内存 引用数据类型的变量存储的值在堆内存 3. 基本数据类型的变量存储的是值和值之间相互不影响 引用数据…

Java项目-基于springboot框架的校园疫情防控系统系统项目实战(附源码+文档)

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

redis过期提醒

文章目录 redis过期提醒 redis过期提醒 有一次看redis的配置文件发现一个notify-keyspace-events配置,注释里边长篇大论的,那我得看看这是干啥的,看完注释内容,发现不得了了,redis竟然还有过期提醒的功能 接下来得大…

Angular signal信号详细解析

Angular Signals 是 Angular 16 引入的新功能,专注于响应式编程,它通过显式的依赖追踪来提高性能和开发体验。与之前的变更检测机制不同,Signals 提供了一种更简洁且高效的方式来处理数据流和组件更新。 Signals 的核心概念 Signal (信号) …

3DMAX碎片生成器插件FragmentGenerator使用方法

3DMAX碎片生成器FragmentGenerator插件,主要应用于科研绘图方面,一键从选择对象体积上生成若干不规则大小凌乱排列的三角形面。 【适用版本】 3dMax2015 – 2025(不仅限于此范围) 【安装方法】 FragmentGenerator插件无需安装&a…

AndroidStudio实验报告——实验一、二

目录 实验一: AS安装与安卓环境搭建 一、实验目标 二、实验内容 (一)Android Studio安装 (二)JDK安装与配置 (三)Android SDK安装与配置 三、实验结果:(实…

基于MATLAB的战术手势识别功能的设计与实现

基于MATLAB的战术手势识别功能的设计与实现 1 选题背景与研究意义 武警部队作为国家重要武装力量,履行着国家赋予的神圣使命,在执行解救人质、捕歼暴恐分子等任务时,确保良好的通信联络是分队行动中通信保障的重点。低劣的通信质量在实战中…