不显示Zetero导出的文献库中的部分内容

Zetero作为文献管理软件,收集到的参考文献的相关信息(域fields)比较齐全。文章或书籍的引用中仅仅只用到了其中的一部分,如作者、发表年、题名、期刊(或书籍)等,引用时需要将其他的信息,如doi,url,urldate等域屏蔽掉,或者根据文献的类型,有选择的使用其中的某些域。Zetero通过Javascript脚本控制参考文献的导出,理论上可以修改控制导出的脚本,但是可能比较麻烦,如果在LaTeX文档中使用BibLaTeX宏包,可以控制文献库中的部分内容的显示。

如果希望在所有的manual条目中不显示url域,可以通过如下几种方式:

  1. 全局控制

    \usepackage[
    style=numeric-comp,
    sorting=none,
    doi=false, %不显示doi域
    isbn=false, %不显示isbn域
    url=false, %不显示url域
    eprint=false, %不显示eprint域
    maxnames=99
    ]{biblatex}

    缺陷有2点:

    所有的类型都会屏蔽上述域;

    在online类型中,即使url=false,仍然会显示url域的内容。

  2. 引用时自动清除

    \AtEveryBibitem{%
    \ifentrytype{manual}{%
    }{%
    \clearfield{url}%
    \clearfield{urldate}%
    }%
    }

    如果类型是manual,清除url和urldate中的内容。加强版如下

    %removes url for every type except those listed here
    \AtEveryBibitem{%
    \ifboolexpr{ not (test {\ifentrytype{misc}} or test%
    {\ifentrytype{unpublished}} or test {\ifentrytype{online}}%
    or test {\ifentrytype{inreference}}%
    or test {\ifentrytype{report}}) }%
    {\clearfield{url} \clearfield{urlday} \clearfield{urlmonth} \clearfield{urlyear} }{}
    }
    }

    http://tex.stackexchange.com/questions/65216中也提供了另一个序列控制的方式实现删除。

  3. 通过DeclareFieldFormat命令定义格式

    \DeclareFieldFormat*{url}{}
    \DeclareFieldFormat[manual]{url}{\mkbibacro{URL}\addcolon\space\url{#1}}
    \DeclareFieldFormat*{urldate}{}
    \DeclareFieldFormat[manual]{urldate}{\mkbibparens{\bibstring{urlseen}\space#1}}

    如果类型是manual,重新定义url和urldate的引用格式。

  4. 在JabRef中删除相关条目

    可以批量操作。域名不区分大小写

    选中条目,右键->"set/clear/rename field",最上的Field name是要操作的域(如果选中的条目没 有该域名,则在设置域值时会新建一个域名并填充值),下方有三个选项:set field是设置域值,clear 是删除该域,rename是重命名该域。

    缺点:如果导出的文献包含的域较多,改起来也麻烦!

  5. 使用Better Bib(La)TeX

    安装该扩展后,在preference->Better Bib(La)TeX->import/export中:field to omit from export后输入不需要导出的域。​

    https://retorque.re/zotero-better-bibtex/installation/

  6. 修改导出文件BibTeX.js

    preference->advance->file and folder->Show Data Directory,编辑translator下的 BibTeX.js. 搜索for(var field in fieldMap),添加一行,使得结果为

    for(var field in fieldMap) {
    # only add the following line:
    if (field == "url") continue;
    if(item[fieldMap[field]]) {
    writeField(field, item[fieldMap[field]]);
    }
    }
  7. 导出文献

    选择"better biblatex",字符编码选择"UTF-8"。中文文献在"UTF-8(without BOM)"时,导出的中文乱码

参考文献

  1. https://forums.zotero.org/discussion/39514/delete-fields-for-specific-reference-types-when-exporting-as-bibtex-biblatex/
  2. http://tex.stackexchange.com/questions/52601/url-field-only-for-certain-reference-types-with-biblatex/52603#52603
  3. http://vxlabs.com/2012/06/29/removing-urls-from-zotero-bibtex-exports

有帮助,打赏支持!

不显示Zetero导出的文献库中的部分内容的更多相关文章

  1. Sopus库中FindEigen3.cmake内容详解笔记

    FindEigen3.cmake: # - Try to find Eigen3 lib # Once done this will define # # EIGEN3_FOUND - system ...

  2. TortoiseGit版本库中某个文件显示问号或叹号的问题解决办法

    这是一个怪问题,原因就是文件名大小写与版本库管理的大小写不一致. 解决办法: 1.先把文件夹中的物理文件名改为版本库浏览器中显示的文件名(版本库浏览器中的文件名不知道怎么改),改了以后这个文件图标就变 ...

  3. 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型

    如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...

  4. Lib作为“静态库”与“动态库”中的区别

    Lib作为“静态库”与“动态库”中的区别 0. 前言: 什么是静态连接库: 静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中.因此对应的链接方式称为静态链接. 为什么 ...

  5. 如何导出标准模板库(STL)类的实例化和包含STL类对象数据成员的类

    本文翻译自 https://support.microsoft.com/zh-cn/help/168958/how-to-export-an-instantiation-of-a-standard-t ...

  6. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  7. iOS开发系列--扩展--播放音乐库中的音乐

    众所周知音乐是iOS的重要组成播放,无论是iPod.iTouch.iPhone还是iPad都可以在iTunes购买音乐或添加本地音乐到音乐 库中同步到你的iOS设备.在MediaPlayer.fram ...

  8. 删除本地git版本库中受版本控制的文件

     git乱码解决方案汇总 乱码原因 搜索一番,发现git文件名.log乱码,是普遍问题,这其中有编码的原因,也有跨平台的原因.主要原因是Windows 系统中的Git对中文文件名采用不同的编码保存所致 ...

  9. 【转】c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据

    准备工作就是可以分页的DataGridView,和两个按钮,一个用来导出当前页数据到Excel,一个用来导出全部数据到Excel 没有使用SaveFileDialog,但却可以弹出保存对话框来 先做导 ...

随机推荐

  1. OpenStack v.s. Kubernetes

    目录 文章目录 目录 What are the differences with OpenStack and Kubernetes? Why OpenStack & Kubernetes? W ...

  2. NLP之TF-IDF与BM25原理探究

    前言 本文主要是对TF-IDF和BM25在公式推演.发展沿革方面的演述,全文思路.图片基本来源于此篇公众号推文<搜索中的权重度量利器: TF-IDF和BM25>,侵删. 一 术语 TF: ...

  3. 一个数独引发的惨案:零知识证明(Zero-Knowledge Proof)

    导言:原文的作者是著名的Ghost和Spectre 这两个协议的创始团队的领队Aviv Zohar.原文作者说他的这篇原文又是引用了以下这两篇学术论文: How to Explain Zero Kno ...

  4. 如何为ubuntu等Linux系统扩容(LVM)

    第一步:磁盘分区 fdisk /dev/sdb root@ubuntu:/home/ubuntu# fdisk /dev/sdb Welcome to fdisk (util-linux 2.27.1 ...

  5. 使用 Metrics.net + influxdb + grafana 搭建项目自动化监控和预警方案

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_25042791/article/d ...

  6. OpenGL学习(4)——纹理(补)

    完成章节后练习 练习 1. Make sure only the happy face looks in the other/reverse direction by changing the fra ...

  7. 基于mysqld_multi实现MySQL多实例配置

    环境: 操作系统  CentOS7.5(已安装MySQL) 主机名    localhost 本机安装路径为 /usr/local/mysql 实验初始配置:所有主机关闭防火墙与selinux [ro ...

  8. Ubuntu中 apt-get -f install 命令

    Ubuntu 下当发现可能是安装的其他软件包不兼容导致了安装包出错时,可以根据提示需要执行“sudo apt-get  -f install ”来卸载之前的冲突包. 如果安装过aptitude包,还可 ...

  9. Vue父子组件传值$parent , ref,$refs,props大总结

    子组件: <template> <div class="child"> <slot name='meiyong'></slot> & ...

  10. Kafka 1.1.0 服务端源码阅读笔记

    网络层 01: 服务器的启动 02: Acceptor和Processor 03: RequestChannel API层 04: Handler和Apis 06: Produce请求(1): 写入本 ...