不显示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

有帮助,打赏支持!

最新文章

  1. Struts框架 内部资料 请勿转载 谢谢合作
  2. js将金额专成每隔3位数加逗号
  3. redis的redis.conf文件详解
  4. css边框阴影
  5. 解决Cannot change version of project facet Dynamic web module to 3.0
  6. eclipse代码编辑快捷键
  7. Android(java)学习笔记66:实现Runnable接口创建线程 和 使用Callable和Future创建线程
  8. Android平台一些流行的使用3D技术开发的锁屏
  9. 金额的计算BigDecimal类
  10. MFC用GDI+动感歌词的制作
  11. DevExpress控件的GridControl实现行多选
  12. JavaScript 高级
  13. es上的的Watcher示例
  14. 在使用完全拷贝过来的类文件(带xib文件)时,要及时修改 File's Owner
  15. rpc简介、原理、实例
  16. Openssl speed命令
  17. Qt快速入门学习笔记(画图篇)
  18. Linux系统运维问题收集
  19. [GO]数组做函数参数
  20. 【bzoj4806~bzoj4809】 象棋四连发 DP-高精度-匈牙利算法-dfs

热门文章

  1. SpringBoot之HandlerInterceptor拦截器的使用 ——(一)
  2. delphi 根据数据库结构生成TreeView
  3. Product - 产品经理 - 知返
  4. godot新手教程2[godot常用代码用法]
  5. mysql学习笔记11_12(查询)
  6. outlook寻找/删除指定日期范围内的邮件
  7. MySql中的count、NULL和空串的区别
  8. 洛谷 题解 P4158 【[SCOI2009]粉刷匠】
  9. hdoj4003 (树形dp+分组背包)
  10. 【Python】【demo实验36】【基础实验】【求3*3矩阵的主对角线之和】