Zotero使用GB/T7714 2005模板插入参考文献出现 作者名全部大写问题、et al.变成汉字‘等‘、多出参考文章的doi 问题 的解决方案

Zotero使用GB/T7714 2005模板插入参考文献出现 作者名全部大写问题、et al.变成汉字‘等’、多出参考文章的doi 问题 的解决方案

问题描述

zotero‘获取更多样式’中的模板会有下图所示框处的三个问题
在这里插入图片描述

解决方案

GB/T7714 2005使用这个命名为chinese-gb7714-2005-numeric.csl模板文件。下面详细展示设置过程。

<?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>Chinese Std GB/T 7714-2005 (numeric, Chinese)</title>
    <id>http://www.zotero.org/styles/chinese-gb7714-2005-numeric</id>
    <link href="http://www.zotero.org/styles/chinese-gb7714-2005-numeric" rel="self"/>
    <link href="http://gradschool.ustc.edu.cn/ylb/material/xw/wdxz/19.pdf" rel="documentation"/>
    <author>
      <name>heromyth</name>
      <email>zxpmyth@yahoo.com.cn</email>
    </author>
    <category citation-format="numeric"/>
    <category field="engineering"/>
    <category field="generic-base"/>
    <category field="science"/>
    <summary>This style just partly implemented what the Chinese GB/T 7714-2005 requires.</summary>
    <updated>2018-02-18T21:20:55+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">
    <names variable="author">
      <name initialize-with=" " name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always">
        <name-part name="family" />
      </name>
    </names>
  </macro>
  <macro name="recipient">
    <names variable="recipient">
      <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always"/>
      <label form="short" prefix=", " text-case="lowercase"/>
    </names>
  </macro>
  <macro name="interviewer">
    <names variable="interviewer">
      <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always"/>
      <label form="short" prefix=", " text-case="lowercase"/>
    </names>
  </macro>
  <macro name="composer">
    <names variable="composer">
      <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always"/>
      <label form="short" prefix=", " text-case="lowercase"/>
    </names>
  </macro>
  <macro name="original-author">
    <names variable="original-author">
      <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always"/>
      <label form="short" prefix=", " text-case="lowercase"/>
    </names>
  </macro>
  <macro name="title">
    <text variable="title"/>
  </macro>
  <macro name="titleField">
    <choose>
      <if type="report">
        <text macro="title" suffix="[R]. "/>
      </if>
      <else-if type="thesis">
        <text macro="title" suffix="[D]. "/>
      </else-if>
      <else-if type="bill legislation" match="any">
        <text variable="number" suffix=", "/>
        <text macro="title" suffix="[S]"/>
      </else-if>
      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
        <text macro="title" suffix="[M]. "/>
      </else-if>
      <else-if type="paper-conference">
        <text macro="title" suffix="[C]//"/>
      </else-if>
      <else-if type="chapter paper-conference" match="any">
        <text macro="title" suffix="[G]//"/>
      </else-if>
      <else-if type="webpage">
        <text macro="title" suffix="[EB/OL]. "/>
      </else-if>
      <else-if type="patent">
        <text macro="title"/>
        <text variable="number" prefix=": 中国, " suffix="[P].  "/>
      </else-if>
      <else>
        <text macro="title" suffix="[J]. "/>
      </else>
    </choose>
  </macro>
  <macro name="secondaryAuthor">
    <names variable="editor">
      <name initialize-with=" " name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always">
        <name-part name="family"/>
      </name>
    </names>
    <names variable="translator">
      <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always" suffix=", 译"/>
    </names>
  </macro>
  <macro name="publisher">
    <choose>
      <if type="chapter paper-conference" match="any">
        <text variable="container-title" suffix=". "/>
      </if>
      <else-if type="report">
        <text variable="collection-title" suffix=", "/>
        <text variable="number" suffix=", "/>
      </else-if>
      <else-if type="bill legislation" match="any">
        <text variable="container-title" prefix=". "/>
      </else-if>
      <else>
        <text variable="container-title" suffix=", "/>
      </else>
    </choose>
    <!--
 
<text variable="event" suffix="event "/>
<text variable="event-place" suffix="event-place "/>
<text variable="original-title" suffix="original-title"/>
 
 -->
    <text variable="publisher-place" suffix=": "/>
    <group delimiter=", ">
      <text variable="publisher"/>
      <choose>
        <if type="webpage" variable="container-title" match="all">
          <date variable="issued" suffix=". ">
            <date-part name="year"/>
            <date-part name="month" form="numeric-leading-zeros" prefix="-"/>
            <date-part name="day" form="numeric-leading-zeros" prefix="-"/>
          </date>
        </if>
        <else-if type="webpage"/>
        <else-if type="patent">
          <date variable="issued">
            <date-part name="year"/>
            <date-part name="month" form="numeric-leading-zeros" prefix="-"/>
            <date-part name="day" form="numeric-leading-zeros" prefix="-"/>
          </date>
        </else-if>
        <else-if variable="publisher">
          <date variable="issued">
            <date-part name="year"/>
          </date>
        </else-if>
        <else-if type="bill legislation" match="any"/>
        <else>
          <date variable="issued">
            <date-part name="year"/>
          </date>
        </else>
      </choose>
    </group>
    <text variable="volume" prefix=", "/>
    <text variable="issue" prefix="(" suffix=")"/>
  </macro>
  <macro name="pageField">
    <text variable="page"/>
  </macro>
  <macro name="referenceDate">
    <choose>
      <if type="webpage">
        <date variable="issued" prefix="(" suffix=")">
          <date-part name="year"/>
          <date-part name="month" form="numeric-leading-zeros" prefix="-"/>
          <date-part name="day" form="numeric-leading-zeros" prefix="-"/>
        </date>
        <date variable="accessed" prefix="[" suffix="]">
          <date-part name="year"/>
          <date-part name="month" form="numeric-leading-zeros" prefix="-"/>
          <date-part name="day" form="numeric-leading-zeros" prefix="-"/>
        </date>
      </if>
    </choose>
  </macro>
  <macro name="access">
    <choose>
      <if variable="DOI">
        <text variable="DOI" prefix="doi:"/>
      </if>
      <else-if variable="URL">
        <text variable="URL"/>
      </else-if>
    </choose>
  </macro>
  <citation collapse="citation-number">
    <sort>
      <key variable="citation-number" sort="ascending"/>
    </sort>
    <layout vertical-align="sup" prefix="[" suffix="]" delimiter=",">
      <text variable="citation-number"/>
    </layout>
  </citation>
  <bibliography et-al-min="4" et-al-use-first="3" second-field-align="flush" entry-spacing="0">
    <layout suffix=".">
      <text variable="citation-number" prefix="[" suffix="]"/>
      <text macro="author" suffix=". "/>
      <text macro="titleField"/>
      <text macro="secondaryAuthor" suffix=". "/>
      <text variable="edition" prefix="第" suffix="版. "/>
      <text macro="publisher"/>
      <text macro="pageField" prefix=": "/>
      <text macro="referenceDate"/>
      <choose>
        <if type="webpage" match="any">
          <text macro="access" prefix=". "/>
        </if>
      </choose>
      <text macro="recipient"/>
      <text macro="interviewer"/>
      <text macro="composer"/>
      <text macro="original-author"/>
    </layout>
  </bibliography>
</style>

操作步骤

  1. zotero 首选项
    在这里插入图片描述
  2. 引用
    在这里插入图片描述
    在这里插入图片描述
  3. 找到并双击选择你保存上述的chinese-gb7714-2005-numeric.csl模板文件
    在这里插入图片描述
  4. 搞定
    在这里插入图片描述
  5. 看一下word里面的效果
    在这里插入图片描述

GB/T7714 2015 的类似问题

我没被要求用2015,所以有类似问题可以参考这个文章:
https://zhuanlan.zhihu.com/p/581479488

### 下载并安装符合GB/T 7714-2015的Zotero引用样式 为了在Zotero使用符合中国国家标准GB/T 7714-2015的引用样式,可以按照以下方法获取和配置: #### 获取引用样式文件 可以通过访问开源项目地址来下载所需的CSL样式文件。具体来说,可以从以下链接找到支持GB/T 7714-2015标准的样式文件[^1]: ```plaintext https://gitcode.com/Resource-Bundle-Collection/737a2 ``` 此项目的目的是提供一种简单的方法让用户能够将GB/T 7714-2015的标准样式导入到Zotero中。 #### 安装引用样式 一旦下载了CSL文件(通常是以`.csl`为扩展的文件),需要将其导入到Zotero中。以下是具体的导入方式: 1. 打开Zotero软件。 2. 转至菜单栏中的“工具”选项,选择“管理引用样式”。 3. 在弹出窗口中点击左下角的“齿轮图标”,然后选择“添加样式”。 4. 浏览本地计算机上的已下载CSL文件,并完成上传过程。 这样就可以成功加载GB/T 7714-2015引用样式到Zotero环境中[^3]。 #### 修改特定需求 对于一些特殊的需求调整,比如处理“等”字以及引用的大写问题,则可能需要进一步编辑CSL代码。这一步骤涉及进入Zotero的“样式编辑器”。如果默认情况下未显示代码修改界面,可尝试点击中间的省略号按钮以切换视图模式[^4]。 下面是一个简单的例子展示如何手动更改部分CSL逻辑: ```xml <macro name="author"> <names variable="author" delimiter=", "> <name form="short"/> <label prefix=" et al." suffix="." form="long" plural="only-if-more-than" count="2">editor</label> </names> </macro> ``` 上述XML片段展示了当作者数量超过两位时自动替换为“et al.”的形式。 ### 注意事项 需要注意的是,在实际应用过程中可能会遇到某些版本兼容性或者功能局限等问题。此时建议查阅官方论坛讨论区寻求解决方案,例如参考相关帖子了解常见错误及其修复方案[^2]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值