Latex Zotero导出格式化Bibtex条目

在Zotero中可以通过快捷键Ctrl+Shift+C直接复制参考文目录献条目,符合latex中可以使用Bibtex样式只有Bibtex generic citation style,输出的bib条目可读性很差,可以通过修改样式文件*.csl来美化一下。

进入样式编辑器里将Bibtex generic citation style的格式文件另存为新文件后,对其进行修改,修改完添加到样式里即可。记得修改XML文件里的title和id字段,不然导入的时候会覆盖。

修改后效果:
预览效果
简单的修改换行和对齐效果的完整样式代码,只适合期刊和会议论文:

<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">
  <info>
    <title>Aligned BibTeX citation style</title>
    <id>AlignedBibtex</id>
    <!-- only verified for article and paper-conference -->
    <category citation-format="label"/>
    <category field="generic-base"/>
    <updated>2022-10-06T15:41:00</updated>
  </info>
  <macro name="zotero2bibtexType">
    <choose>
      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
        <text value="book"/>
      </if>
      <else-if type="chapter" match="any">
        <text value="inbook"/>
      </else-if>
      <else-if type="article article-journal article-magazine article-newspaper" match="any">
        <text value="article"/>
      </else-if>
      <else-if type="thesis" match="any">
        <text value="phdthesis"/>
      </else-if>
      <else-if type="manuscript" match="any">
        <text value="unpublished"/>
      </else-if>
      <else-if type="paper-conference" match="any">
        <text value="inproceedings"/>
      </else-if>
      <else-if type="report" match="any">
        <text value="techreport"/>
      </else-if>
      <else>
        <text value="misc"/>
      </else>
    </choose>
  </macro>
  <macro name="citeKey">
    <group delimiter="_">
      <text macro="author-short" text-case="lowercase"/>
      <text macro="issued-year"/>
    </group>
  </macro>
  <macro name="author-short">
    <names variable="author">
      <name form="short" delimiter="_" delimiter-precedes-last="always" et-al-min="11" et-al-use-first="10"/>
    </names>
  </macro>
  <macro name="issued-year">
    <date variable="issued">
      <date-part name="year"/>
    </date>
  </macro>
  <macro name="author">
    <names variable="author">
      <name sort-separator=", " delimiter=" and " delimiter-precedes-last="always" name-as-sort-order="all"/>
    </names>
  </macro>
  <macro name="number">
    <text variable="issue"/>
    <text variable="number"/>
  </macro>
  <macro name="container-title">
    <choose>
      <if type="chapter paper-conference" match="any">
        <text variable="container-title" prefix="  booktitle = {" suffix="}"/>
      </if>
      <else>
        <text variable="container-title" prefix="  journal   = {" suffix="}"/>
      </else>
    </choose>
  </macro>
  <macro name="pages">
    <text variable="page"/>
  </macro>
  <citation disambiguate-add-year-suffix="true" disambiguate-add-names="false" disambiguate-add-givenname="false" collapse="year">
    <sort>
      <key macro="author"/>
      <key variable="issued"/>
    </sort>
    <layout delimiter="_">
      <text macro="citeKey"/>
    </layout>
  </citation>
  <bibliography hanging-indent="false">
    <sort>
      <key macro="author"/>
      <key variable="issued"/>
    </sort>
    <layout>
      <text macro="zotero2bibtexType" prefix="@"/>
      <group prefix="{" suffix=",&#10;}" delimiter=",&#10;">
        <text macro="citeKey"/>
        <text macro="author" prefix="  author    = {" suffix="}"/>
        <text variable="title" prefix="  title     = {" suffix="}"/>
        <text macro="container-title"/>
        <text macro="issued-year" prefix="  year      = {" suffix="}"/>
        <text variable="volume" prefix="  volume    = {" suffix="}"/>
        <text macro="number" prefix="  number    = {" suffix="}"/>
        <text macro="pages" prefix="  pages     = {" suffix="}"/>
        <text variable="DOI" prefix="  doi       = {" suffix="}"/>
      </group>
    </layout>
  </bibliography>
</style>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值