将word中插入的zotero文献转为latex引用样式

在word中,可以使用zotero插件插入和管理参考文献。

例如:

若需要将这段内容移植到latex,就需要将对应的引用编号用\cite{}替换。手动替换非常麻烦且容易出错。要实现自动转换,可在zotero中定制一种新的引文格式,自动将引用编号替换为\cite{key},方法如下:

将下面的样式文件保存为better-bibtex-citekeys-latex.cls

cls 复制代码
<?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">
  <!-- This style was edited with the Visual CSL Editor (http://editor.citationstyles.org/visualEditor/) -->
  <info>
    <title>Better BibTeX Citekeys</title>
    <id>http://www.zotero.org/styles/better-bibtex-citekeys</id>
    <link href="http://www.zotero.org/styles/better-bibtex-citekeys" rel="self"/>
    <link href="http://www.zotero.org/support/bbt_citekeys" rel="documentation"/>
    <author>
      <name>Emiliano Heyns</name>
    </author>
    <category citation-format="author-date"/>
    <category field="generic-base"/>
    <summary>Style to show BBT citekeys</summary>
    <updated>2019-02-27T10:14:13+00:00</updated>
    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
  </info>
  <macro name="author-short">
    <names variable="author">
      <name form="short" and="text" delimiter=", " initialize-with=". " sort-separator=", "/>
      <substitute>
        <names variable="editor"/>
        <names variable="translator"/>
        <text macro="title"/>
      </substitute>
    </names>
  </macro>
  <macro name="title">
    <text value="&quot;"/>
    <text variable="title"/>
    <text value="&quot;"/>
  </macro>
  <macro name="year-date">
    <choose>
      <if variable="issued">
        <date variable="issued">
          <date-part name="year"/>
        </date>
      </if>
      <else>
        <text term="no date" form="short"/>
      </else>
    </choose>
  </macro>
  <citation et-al-min="2" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">
    <sort>
      <key macro="author-short"/>
      <key macro="title"/>
      <key macro="year-date"/>
    </sort>
    <layout delimiter=", " prefix="\cite{" suffix="}">
      <group>
        <text value=""/>
        <text variable="citation-key"/>
        <text variable="locator" prefix=", p. "/>
      </group>
    </layout>
  </citation>
  <bibliography hanging-indent="true" et-al-min="2" et-al-use-first="1">
    <sort>
      <key macro="author-short"/>
      <key macro="year-date"/>
      <key variable="title"/>
    </sort>
    <layout prefix="{" suffix="}">
      <group delimiter=", ">
        <text macro="author-short"/>
        <text macro="title"/>
        <text macro="year-date"/>
      </group>
    </layout>
  </bibliography>
</style>

双击该cls文件,将这一样式安装到zotero(zotero上需要有Better bibtex插件):

在word中,应用该引用格式:

结果如下:

可见已将原文的引用编号转换为latex的\cite命令。

相关推荐
Metaphor6928 小时前
Java 高效处理 Word 文档:查找并替换文本的全面指南
java·经验分享·word
jianghaha201114 小时前
前端 Word 模板参入特定数据 并且下载
前端·word
Invinc-Z17 小时前
$\LaTeX{}$之快速编译和删除中间文件
latex
揭老师高效办公20 小时前
在Word和WPS文字中便捷切换英文段落大小写
word·wps文字
Invinc-Z20 小时前
$\LaTeX{}$之图片使用
latex
CodeCraft Studio1 天前
国产化Word处理组件Spire.DOC教程:使用 Python 将 Markdown 转换为 HTML 的详细教程
python·html·word·markdown·国产化·spire.doc·文档格式转换
揭老师高效办公1 天前
在Word和WPS文字中将手机中间4位替换为星号****
word·wps文字
Time_Memory_cici2 天前
WinEdt编译tex文件失败解决办法
latex
打码人的日常分享2 天前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
揭老师高效办公2 天前
在Word和WPS文字的表格中快速输入连续的星期、月、日
word·wps