biblatex宏包使用后端bibtex和biber的区别

两个后端的输出差异

biblatex 有两种后端可以使用,分别是bibtex和biber。

两者的作用本质上是相同的,都是通过文献引用信息和bib文件处理出biblatex需要的数据,这些数据符合biblatex宏包定义的格式,保存在bbl文件中。一篇文献的典型格式为:

bibtex后端生成的:

  \entry{Yi2013--}{book}{}\name{author}{4}{}{%{{hash=YSH}{%family={Yi},familyi={Y\bibinitperiod},given={S\bibnamedelima H},giveni={S\bibinitperiod\bibinitdelim H\bibinitperiod},}}%{{hash=ZYX}{%family={Zhao},familyi={Z\bibinitperiod},given={Y\bibnamedelima X},giveni={Y\bibinitperiod\bibinitdelim X\bibinitperiod},}}%{{hash=HL}{%family={He},familyi={H\bibinitperiod},given={L},giveni={L},}}%{{hash=ZML}{%family={Zhang},familyi={Z\bibinitperiod},given={M\bibnamedelima L},giveni={M\bibinitperiod\bibinitdelim L\bibinitperiod},}}%}\list{publisher}{1}{%{National Defense Industry Press}%}\strng{namehash}{YSH+1}\strng{fullhash}{YSHZYXHLZML1}\field{labelnamesource}{author}\field{labeltitlesource}{title}\field{labelyear}{2013}\field{labeldatesource}{year}\field{title}{Supersonic and hypersonic nozzle design}\list{location}{1}{%{BeiJing}%}\field{year}{2013}\endentry

biber后端生成的:

    \entry{Yi2013--}{book}{}\name{author}{4}{}{%{{uniquename=0,uniquepart=base,hash=30d1228d0571fa5d05eecaca3b7b5b21}{%family={Yi},familyi={Y\bibinitperiod},given={S\bibnamedelima H},giveni={S\bibinitperiod\bibinitdelim H\bibinitperiod},givenun=0}}%{{uniquename=0,uniquepart=base,hash=c7453b16a8928705077f2d6040ce623d}{%family={Zhao},familyi={Z\bibinitperiod},given={Y\bibnamedelima X},giveni={Y\bibinitperiod\bibinitdelim X\bibinitperiod},givenun=0}}%{{uniquename=0,uniquepart=base,hash=972234bc6cedbf8c53e9cdde1d02f16a}{%family={He},familyi={H\bibinitperiod},given={L},giveni={L\bibinitperiod},givenun=0}}%{{uniquename=0,uniquepart=base,hash=21145600045e45ca2f7db5c316e4b905}{%family={Zhang},familyi={Z\bibinitperiod},given={M\bibnamedelima L},giveni={M\bibinitperiod\bibinitdelim L\bibinitperiod},givenun=0}}%}\list{language}{1}{%{english}%}\list{location}{1}{%{BeiJing}%}\list{publisher}{1}{%{National Defense Industry Press}%}\strng{namehash}{c2c256e4a2b6e92ca488592d166b5177}\strng{fullhash}{45269d2c791d5ef5a4149112f63f35ae}\strng{bibnamehash}{c5aa3c5e799e6393445433a9d58e3a5c}\strng{authorbibnamehash}{c5aa3c5e799e6393445433a9d58e3a5c}\strng{authornamehash}{c2c256e4a2b6e92ca488592d166b5177}\strng{authorfullhash}{45269d2c791d5ef5a4149112f63f35ae}\field{sortinit}{e}\field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e}\field{extradatescope}{labelyear}\field{labeldatesource}{}\field{labelnamesource}{author}\field{labeltitlesource}{title}\field{title}{Supersonic and hypersonic nozzle design}\field{year}{2013}\field{dateera}{ce}\endentry

可以看到两者的基本信息是一致的,只是biber后端多了一些附加的输出。
利用这些附加输出可以实现一些附加的设置和功能。但只要基本信息存在那么就足以生成和格式化文献引用标注和文献表。
从这里我们也可以知道,其实对于biblatex宏包来说,核心是需要利用一个后端程序产生满足biblatex格式要求的文献信息库
即bbl文件,无论这个后端用的什么程序,用bibtex也好,用biber也好,也其它程序也要,只要输出的格式满足要求即可。

两个后端的输入差异

对于biber程序来说,其所需的信息,都由biblatex输出保存到bcf文件中,因此biber程序只需要读取bcf文件和bib文件就能根据其中的信息生成bbl文件。

对于bibtex程序来说,传统latex的参考文献生成方法,通过aux文件中的信息获取bst样式文件和bib文件信息,以及参考文献引用信息,进而根据bst样式生成对应的输出,这个输出通常是一个thebibliography环境。
对于biblatex宏包,其基本方式是类似的,biblatex宏包将bst样式文件和bib文件信息,以及文献引用信息写入aux文件中,然后bibtex获取这些信息进行处理,但我们知道biblatex需要的bbl文件中的格式不是一个thebibliography环境,而是其需要的格式,因此对应的bst样式文件是特殊的,就是用来生成这一格式。
然而当biblatex设置选项时需要产生对应的格式,但bibtex无法简单接收这样的选项设置信息,
由于bst样式是固定的,那么biblatex设置选项的信息只能通过bib文件进行传递,用户的bib文件不能修改,于是biblatex另外写了一个
\jobname-blx.bib文件用于向bibtex和bst文件传递信息。
于是我们可以看到在aux文件中,还有一个额外的bib文件信息\jobname-blx.bib

总结

两者的异同可以用下表总结:

后端 bibtex biber
输入的辅助文件 aux文件 bcf文件
辅助文件给出内容 bst文件名,bib文件名,选项控制bib文件名,文献引用信息 文献引用信息,bib文件名,选项设置信息
输出文件 bbl文件 bbl文件
输出文件给出内容 biblatex自定义格式文献信息 biblatex自定义格式文献信息

两个后端的主要差别在于,由于bibtex程序处理bst文件的特殊性,无法从tex源代码直接传递信息给bst文件,需要多生成了一个保存控制信息的bib文件,待bst中的函数读取利用。这种思路提供了tex控制bst样式输出格式的可能,尽管其格式的选择可能会比较有限,因为bib文件只能提供格式选项,而这些格式必须是bst已经预备好了的,bst能够预设的格式总是有限的。然而这的确为bst样式作者及利用基于bibtex的传统方法的宏包作者提供了一条利用tex设置参考文献格式的可行路子。

biblatex宏包使用后端bibtex和biber的区别相关推荐

  1. TeX/LaTeX 常用宏包简介

    geometry 利用 geometry 可以很方便的设置页面的大小.由于可以自动居中排放页面,自动计算并平衡页面各部分如页眉.页脚.左右边空等的大小,因此只需给出很少的信息就能得到满意的页面.   ...

  2. Latex中宏包总结

    文章目录 基本: 字体包 样式定制 特定领域 特定需求 浮动体专题 表格专题 PDF 专题 辅助工具专题 命令定义.宏包编写专题 个人推荐 兴趣类 主要参考: https://zhuanlan.zhi ...

  3. LaTeX 常用宏包(转载)

    latex常用宏包 (2014-08-01 19:45:30) 转载▼     转载于http://blog.sina.com.cn/s/blog_628dd2bc0102uyih.html 页面与标 ...

  4. TeX/LaTeX 常用宏包

    页面与标题式样 geometry 利用 geometry 可以很方便的设置页面的大小.由于可以自动居中排放页面,自动计算并平衡页面各部分如页眉.页脚.左右边空等的大小,因此只需给出很少的信息就能得到满 ...

  5. LATEX教程第三讲——那些不得不说的宏包(中)

    LATEX教程第三讲-- 那些不得不说的宏包(中) 3.1 表格与列表 array longtable supertabular tabularx multirow hhline slashbox b ...

  6. texstudio如何安装cjk宏包_MikTex+TexStudio配置论文写作环境

    MikTex+TexStudio配置论文写作环境 1. 前言 因为写论文需要要倒腾latex,最开始是使用vscode和tex live,结果折腾了好久没安装配置好,去知乎问,发现了一些好看的编辑器, ...

  7. tikz包 安装_Latex之安装宏包 | 学步园

    宏包就是Latex发行版(TexLive.MikTex等)的插件功能,通过安装不同的宏包可以获得更多的功能.一般情况下,Latex的发行版都自带了一些宏包(多是CTAN中的),以便于使用者快速的编译. ...

  8. pip在windows下安装配件/宏包

    安装完pip后可以直接命令安装宏包 pip install bagname # e.g. pip install scipy 要加指定版本则 pip install bagname==1.5.1 后面 ...

  9. CTEX - 在线文档 - TeX/LaTeX 常用宏包

      页面与章节标题式样   浮动对象及标题设计   生成与插入图形   表格与列表   目录与索引   参考文献   数学与化学公式   抄录和代码打印   特殊文本元素   辅助工具包   非标准文 ...

最新文章

  1. Oracle 监听器无法启动(TNS-12537,TNS-12560,TNS-00507)
  2. OS / 进程启动过程
  3. springboot教程(一)
  4. 汇编语言(十八)之求两个数的最大公约数
  5. 使用 Python 切割图片
  6. localhost 拒绝了我们的连接请求。_Zipkin请求链路日志聚合
  7. Kubernetes详解(二十三)——Deployment控制器更新策略
  8. 华为ac配置radius认证服务器_华为AAA结合Radius服务器认证学习
  9. 最好用的资源管理器软件——Directory Opus
  10. 计算机图形学--全局光照RSM
  11. php笔刷怎么安装,ps笔刷怎么用?PS笔刷使用教程
  12. 为大家提供了解内网穿透的内容
  13. MATLAB中的三次样条插值spline函数
  14. AI经典书单:入门人工智能该读哪些书?
  15. firefox插件推荐
  16. 阿里云共享流量包是用来干什么的?
  17. 做电商的必须知道的事,线上、线下、海外聚合支付第三方及背景牌照!
  18. 深圳加密芯片服务器,国民技术-加密芯片-Z32HUB-安全加密芯片
  19. matlab的交通灯信号识别,交通灯识别系统.docx
  20. 冈萨雷斯matlab工具箱,MATLAB版冈萨雷斯+中文高清版.pdf

热门文章

  1. CameraX 三:获取预览流
  2. codevs 1331 西行寺幽幽子
  3. [转帖]ARM 相关内容
  4. 多个PDF文件如何合并成一个?三步教你搞定
  5. LeetCode 1757. 可回收且低脂的产品
  6. 高中生用计算机打游戏,高中生用3年在游戏中复制母校!逝去的都是青春,看哭了……...
  7. CF1371B Magical Calendar
  8. ARUBA NETWORKS无线网络
  9. 2021-2025年中国EMS和ODM行业市场供需与战略研究报告
  10. CRM软件厂商排名?CRM管理软件厂商怎么选?