文献管理神器 Zotero - 参考文献格式 CSL 文件编辑

下面均以 GB T 7714-2015 numeric 为栗,且以 记事本 打开 CSL 文件进行演示。

编辑时,一定先把原有 CSL 文件 复制粘贴出来不是在zotero数据存储文件夹内!!!

再将 titleid 代码之间的名称重新修改成一个新的名称!!!举个栗子如下:

<title>GB/T 7714-2015 (numeric, 10)</title>
<id>>http://www.zotero.org/styles/china-national-standard-gb-t-7714-2015-numeric10</id>

1)支持中/英文双语混排(即分别显示 等/et al)

步骤:滑至文档最后 或 查找『layout locale』内容,取消对应的注释代码,

即删除 <layout locale="en"> 前面的『<!--』 和 </layout> 后面的『-->

 

最终代码如下所示:

<layout locale="en">
<text variable="citation-number" prefix="[" suffix="]"/>
<text macro="entry-layout"/>
</layout>

2)作者姓名是全部显示/部分显示(即显示前几位)

01 全部显示:

步骤:查找『et-al-use-first』内容,修改 et-al-use-first 后面的数字为 550

et-al-use-first 需满足大于 et-al-min 后面的数字,或是一个超级大大的数字

 

最终代码如下所示:

<bibliography entry-spacing="0" et-al-min="4" et-al-use-first="50" second-field-align="flush">

02 部分显示:

步骤:查找『et-al-use-first』内容,修改 et-al-min 后面数字为 6

et-al-use-first 后面数字为 5,即显示前 5 位作者的姓名,

同理显示前 6 位作者姓名为 et-al-min="7" et-al-use-first="6"

 

最终代码如下所示:

<bibliography entry-spacing="0" et-al-min="6" et-al-use-first="5" second-field-align="flush">

3)作者的等/et al 前面不显示逗号(或其它标点)

步骤:滑至文档最开头,

<style xmlns= ...... default-locale="zh-CN"> 内,敲个空格,

再添加 delimiter-precedes-et-al="never" 内容

注:这个方法也同时实现『』字和前面的作者是 无空格

 

最终代码如下所示:

<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" ...... default-locale="zh-CN" delimiter-precedes-et-al="never">

4)不显示参考文献的类型(即没有 [J] 等内容)

步骤:查找『type-code』内容,将『type-code』这部分代码删除 或 变成注释。

即在 <macro name="type-code"> 前面添加『<!--』 和 </macro> 后面添加『-->

注:重要!!!所有删除的地方也可变成 注释 ,不会被识别以便之后变为原来格式

(变成注释操作:在删除的地方的前面添加『<!--』和后面添加『-->』)

 

最终代码如下所示:
<!--<macro name="type-code">
<group delimiter="/">
<choose>
<if type="article">
......……
<if variable="URL DOI" match="any">
<text value="OL"/>
</if>
</choose>
</group>
</macro>-->

 

5)参考文献尾注是数字序号部分实现对齐(如序号1-9和10后面对齐)

步骤:滑至文档最后 或 查找『bibliography』内容,

在『〈bibliography…〉』里面,添加代码 second-field-align="flush"

 

最终代码如下所示:

<bibliography entry-spacing="0" et-al-min="6" et-al-use-first="5" second-field-align="flush">

6)页码/日期之间的分隔符显示不同格式的横杠(或其它标点)

01 页码之间:

步骤:查找『page-range』修改 <term name="page-range-delimiter"></term> 之间标点。

如果没有 <term name="page-range-delimiter"> 内容,可添加这三行最终代码,标点可自改。

 

最终代码如下所示:

<terms>
<term name="page-range-delimiter">-</term>
</terms>

02 日期之间:

步骤:查找『accessed-date』,修改 delimiter 后面的标点符号,

这里是 delimiter="&#8212;"  假如日期之间分隔符修改为逗号『』,则变为 delimiter=","

注:在XML语言里面,&#8212; 代表 — (可自查XML特殊字符表)

 

最终代码如下所示:

<date variable="accessed" delimiter="&#8212;" form="numeric" prefix="[" suffix="]"/>

另外有些CSL文件不在『accessed-date』,在『year』『month』等地方,

则需要修改后面的 range-delimiter="&#8212;"  (同上)

7)添加/删除参考文献最末尾的句点(或其它标点)

步骤:滑至文档最后 或 查找『layout』内容,在『〈layout…〉』里面,找到 suffix 

将标点更换为自己所需的其它标点,如果没有 suffix,则添加代码 suffix="."

注:删除参考文献最末尾的句点,则删除此处的代码 suffix="."

 

 

最终代码如下所示:(此处是中英文双语混排,所以修改增加两处 suffix="."

<layout suffix="." locale="en">
<text variable="citation-number" prefix="[" suffix="]"/>
<text macro="entry-layout"/>
</layout>
<layout suffix=".">
<text variable="citation-number" prefix="[" suffix="]"/>
<text macro="entry-layout"/>

另外有些CSL文件『〈layout…〉』里面没有代码 suffix="." ,那么删除参考文献最末尾的句点,

则需要找到不同文献类型设置的地方,如下图是专利文献,也是删除代码 suffix="." 即可。

8)外文作者姓名取消全大写(即作者姓名为首字母大写)

步骤:查找『text-case="uppercase"

01 如果仅在 family 这行删除 text-case="uppercase"  则作者的『』 取消全大写。

02 如果仅在 given  这行删除 text-case="uppercase"  则作者的『』  取消全大写。

03 如果在 familygiven 两行都删除 text-case="uppercase"  则作者的 『姓和名』 取消全大写。

注:如还无法显示作者姓名为首字母大写,则在原有是 text-case="uppercase" 的地方,

添加 text-case="capitalize-first"

 

最终代码如下所示:

<name-part name="family"/>
<name-part name="given"/>

9)外文作者姓名显示全称(即作者姓名全部显示)

步骤:查找『macro name="author"』,

在下方〈name〉里面添加 initialize="false"

 

最终代码如下所示:

<name initialize="false">

另外专著等文献类型,可能有单独设置作者姓名的地方,找到对应位置,

在下方〈name〉里面添加 initialize="false"

10)外文文献作者姓名顺序颠倒(即作者名在前 姓在后)

步骤:滑至文档最开头,在 <style xmlns= ...... default-locale="zh-CN"> 内,

查找到『name-as-sort-order="all"』,将其内的 all 删除

 

最终代码如下所示:

<name-as-sort-order="" >

11)期刊文献类型 [J/OL] 全部修改成 [J](即不显示 DOI)

 

如上是从知网或其它数据库抓取到的期刊文献,有的会显示 [J/OL] 

如果需要将 [J/OL] 全部修改成 [J](即不显示 DOI),提供了 2 种方法:

 

法一 

步骤:查找『文献类型标识』或『type-code』,找到下图所在位置,

<if variable="URL DOI" match="any"> 里面的 DOI 删除以及

<text variable="DOI" prefix="DOI:"/> 删除(即下方黄色方框内容)

注:重要!!!删除的地方可变成 注释 ,不会被识别以便之后变为原来格式

(变成注释操作:在删除的地方的前面添加『<!--』和后面添加『-->』)

 

最终代码如下所示:

<choose>
<if variable="URL" match="any">
<text value="OL"/>
</if>
</choose>
</group>
</macro>
<!-- 获取和访问路径以及 DOI -->
<macro name="url-doi">
<group delimiter=". ">
<text variable="URL"/>
</group>
</macro>

法二

步骤:查找『文献类型标识』或『type-code』,

找到下图所在位置,删除下方蓝色方框内容

注:重要!!!所有删除的地方也可变成 注释 ,

这样不会识别,可方便之后想变为原来的格式。

(变成注释操作:在删除的地方前面添加『<!--』和后面添加『-->』)

<choose>
<if variable="URL DOI" match="any">
<text value="OL"/>
</if>
</choose>

<text variable="DOI" prefix="DOI:"/>

注:但是 法二 方法因多删除关于 OL 代码,

会造成其它如 [D/OL] 全部变成 [D] 等等

 

最终代码如下所示:
</group>
</macro>
<!-- 获取和访问路径以及 DOI -->
<macro name="url-doi">
<group delimiter=". ">
<text variable="URL"/>
</group>
</macro>

12)所有文献类型全部不显示 [/OL] (即不显示 URL 和 DOI)

 

如上是从知网或其它数据库抓取到的期刊文献,有的会显示 [J/OL][D/OL] 等等

如果需要将 [J/OL][D/OL] 等等全部修改成 [J][D] 等等(即不显示 URLDOI

 

第一步:

[J/OL][D/OL] 等后面不显示 URLDOI,但是保留不变 [J/OL][D/OL]

步骤:查找『获取和访问路径以及 DOI』或『url-doi』,找到下图位置,删除下方黄色方框

注:重要!!!所有删除的地方也可变成 注释 ,不会被识别,以便之后变为原来格式

(变成注释操作:在删除的地方的前面添加『<!--』和后面添加『-->』)

<text variable="URL"/>
<text variable="DOI" prefix="DOI:"/>

 

最终代码如下所示:

<!-- 获取和访问路径以及 DOI -->
<macro name="url-doi">
<group delimiter=". ">
</group>
</macro>

第二步:

[J/OL] 、[D/OL] 等后面不显示 URL 和 DOI,同时全部修改成 [J][D] 等(如下图所示)

 

步骤:查找『获取和访问路径以及 DOI』或『url-doi』,找到下图位置,删除下方蓝色方框

注:重要!!!所有删除的地方也可变成 注释 ,不会被识别以便之后变为原来格式

(变成注释操作:在删除的地方的前面添加『<!--』和后面添加『-->』)

<choose>
<if variable="URL DOI" match="any">
<text value="OL"/>
</if>
</choose>

<macro name="url-doi">
<group delimiter=". ">
<text variable="URL"/>
<text variable="DOI" prefix="DOI:"/>
</group>
</macro>

 

最终代码如下所示:

<else-if type="thesis">
<text value="D"/>
</else-if>
<else>
<text value="Z"/>
</else>
</choose>
</group>
</macro>
<!-- 获取和访问路径以及 DOI -->
<!-- 连续出版物的年卷期 -->
<macro name="year-volume-issue">

13)文献类型全部不显示引用日期 (即不显示如 [2022-10-27] )

 

如上是从知网或其它数据库抓取到的期刊文献,有的会在学位论文显示 [2022-10-27] 

如果需要将所有文献类型全部不显示引用日期,不显示如 [2022-10-27](如下图所示)

 

步骤:查找『引用日期』或『accessed-date』,找到下图位置,删除下方蓝色标注内容

注:重要!!!所有删除的地方也可变成 注释 ,不会被识别,以便之后变为原来格式

(变成注释操作:在删除的地方的前面添加『<!--』和后面添加『-->』)

<macro name="accessed-date">
<date variable="accessed" form="numeric" prefix="[" suffix="]"/>
</macro>

 

最终代码如下所示:

<term name="page-range-delimiter">-</term>
</terms>
</locale>
<!-- 引用日期 -->
<!-- 主要责任者 -->
<macro name="author">
<names variable="author">

14)参考文献表的外文文献如何显示斜体的 et al.

 

步骤:查找『macro name="author"』或『names variable="author"』,找到下图所在位置,

 在 <names variable="author"> 和 <name> 之间添加下列代码:

 <et-al term="et al. " font-style="italic"/>

 

最终代码如下所示:

  <!-- 主要责任者 -->
  <macro name="author">
    <names variable="author">
     <et-al term="et al. " font-style="italic"/>
      <name>
        <name-part name="family" text-case="uppercase"/>
        <name-part name="given"/>
      </name>
      <substitute>
        <names variable="composer"/>
        <names variable="illustrator"/>
        <names variable="director"/>
        <choose>

15)外文文献作者姓名全部大写(即不仅仅首字母大写)

 步骤:查找『macro name="author"』或『names variable="author"』,找到下图所在位置,

在 <name-part name="family"/> 里面添加下列代码:

 text-case="uppercase"

注:一般只在family处添加 text-case="uppercase" 使其 『』变大写,

多数情况下,given即『』只写首字母,默认为『』首字母。

(当燃如果需姓名全称,需按照本博客的 9)方法 变成 <name initialize="false">

使其姓名全称,名再变成 <name-part name="given" text-case="uppercase"/>

 

最终代码如下所示:

  <!-- 主要责任者 -->
  <macro name="author">
    <names variable="author">
     <et-al term="et al. " font-style="italic"/>
      <name>
        <name-part name="family" text-case="uppercase"/>
        <name-part name="given"/>
      </name>
      <substitute>
        <names variable="composer"/>
        <names variable="illustrator"/>
        <names variable="director"/>
        <choose>

16)参考文献表的序号显示为 1.(即不为中括号 [1])

 

 步骤:滑到最后或查找『bibliography』,找到下图所在位置,

将 <layout locale="en"> </layout> 之间的

<text variable="citation-number" prefix="[" suffix="]"/>

变成如下代码(如有2个text variable="citation-number"...两个都需更换):

<text variable="citation-number" prefix="" suffix="."/>

 

最终代码如下所示:

  <bibliography entry-spacing="0" et-al-min="4" et-al-use-first="3" second-field-align="flush">
    <!-- 取消这部分注释可以使用 CSL-M 的功能支持双语 -->
   <layout locale="en">
      <text variable="citation-number" prefix="" suffix="."/>
     <text macro="entry-layout"/>
    </layout>
    <layout>
      <text variable="citation-number" prefix="" suffix="."/>
      <text macro="entry-layout"/>
    </layout>
  </bibliography>
</style>

17)参考文献表如何设为1.25倍行间距(或1.5倍等等)

 步骤:滑到最后或查找『bibliography』,找到下图所在位置,

<bibliography entry-spacing="0" et-al-min="4" ......> 里面
添加这个代码:
line-spacing="1.25"

 

最终代码如下所示:

  <bibliography entry-spacing="0" et-al-min="4" et-al-use-first="3" line-spacing="1.25" second-field-align="flush">
    <!-- 取消这部分注释可以使用 CSL-M 的功能支持双语 -->
   <layout locale="en">
      <text variable="citation-number" prefix="[" suffix="]"/>
     <text macro="entry-layout"/>
    </layout>
    <layout>
      <text variable="citation-number" prefix="[" suffix="]"/>
      <text macro="entry-layout"/>
    </layout>
  </bibliography>
</style>

18)参考文献表第二行显示为悬挂缩进(针对前面没有序号)

 步骤:滑到最后或查找『bibliography』,找到下图所在位置,

在 <bibliography entry-spacing="0" et-al-min="4" ......> 里面
添加这个代码:
hanging-indent="true"

 

最终代码如下所示:

  <!-- 参考文献表 -->
  <bibliography entry-spacing="0" et-al-min="4" et-al-use-first="3" second-field-align="flush" hanging-indent="true">
    <sort>
      <key macro="author"/>
      <key macro="issued-year"/>
    </sort>
    <layout suffix="." locale="en">
      <text variable="" prefix="" suffix=""/>
      <text macro="bib-full-en"/>
    </layout>
    <layout suffix=".">
      <text variable="" prefix="" suffix=""/>
      <text macro="bib-full"/>
    </layout>
  </bibliography>
</style>

 

 采用上图及其代码,参考文献表的显示如下图所示:

参考文献第二行 悬挂缩进,前面 无序号 且按作者 首字母和年份 排序。

19)(作者, 年份)参考文献表如何按首字母和年份排序

 步骤:滑到最后或查找『bibliography』,找到下图所在位置,

在 <bibliography entry-spacing="0" et-al-min="4" ......> 下面
增加几行这个代码:
    <sort>
      <key macro="author"/>
      <key macro="issued-year"/>
    </sort>
 
前提是:这个CSL文件最后的『引文』首先是显示为『(作者, 年份)』类型 ,
如果不是,将『引文』即<citation...> ...</citation> 代码首先进行替换更改 。
 
注:可找个『引文』部分显示为『(作者, 年份)』 的CSL文件,
将后面『引文』即 <citation...> ...</citation> 代码部分复制粘贴过来,
全部替换原有的 『顺序编码 即[1]...』 类型的代码,或自取下方代码。
 
最终代码如下所示:
  <!-- 引文 -->
  <citation et-al-min="2" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">
    <sort>
      <key macro="author-intext"/>
      <key macro="issue-date-year" sort="ascending"/>
    </sort>
    <layout locale="en" prefix="(" suffix=")" delimiter="; ">
      <group delimiter=",">
        <text macro="author-intext"/>
        <text macro="issue-date-year"/>
        <group>
          <label variable="locator" form="short"/>
          <text variable="locator"/>
        </group>
      </group>
    </layout>
    <layout delimiter="; " prefix="(" suffix=")">
      <group delimiter=",">
        <text macro="author-intext-long"/>
        <text macro="issue-date-year"/>
        <group>
          <label variable="locator" form="short"/>
          <text variable="locator"/>
        </group>
      </group>
    </layout>
  </citation>
  <!-- 参考文献表 -->
  <bibliography entry-spacing="0" et-al-min="4" et-al-use-first="3" second-field-align="flush">
    <sort>
      <key macro="author"/>
      <key macro="issued-year"/>
    </sort>
    <layout locale="en">
      <text variable="citation-number" prefix="[" suffix="]"/>
      <text macro="bib-entry-en" suffix="."/>
    </layout>
    <layout>
      <text variable="citation-number" prefix="[" suffix="]"/>
      <text macro="bib-entry-zh" suffix="."/>
    </layout>
  </bibliography>
</style>

 

20)(作者, 年份)类型的引文中的 et al. 如何斜体

 步骤:查找『author-intext』,找到下图所在位置,

 在 <names variable="author"> 下面

增加一行这个代码:
<et-al term="et al. " font-style="italic"/>
 
前提是:这个CSL文件最后的『引文』首先是显示为『(作者, 年份)』类型 ,
如果不是,将『引文』即<citation...> ...</citation> 代码首先进行替换更改 。
 
注:可找个『引文』部分显示为『(作者, 年份)』 的CSL文件,
将后面『引文』即 <citation...> ...</citation> 代码部分复制粘贴过来,
替换原有的 『顺序编码 即[1]...』 的代码,或自取 本博客19)方法 的代码。
 
最终代码如下所示:
  <macro name="author-intext">
    <choose>
      <if variable="author">
        <names variable="author">
         <et-al term="et al. " font-style="italic"/>
          <name form="short" delimiter=" " and="text" et-al-min="3"/>
        </names>

 

 

以上这篇博客的内容均来自

不秃燃的小老弟 的CSDN博客(本人)

http://t.csdn.cn/NJXU5

欢迎踏入『Zotero互帮互助江湖』!

幸会幸会!既然已踏入『Zotero互帮互助江湖』

江湖有江湖的规矩呐~ 请各位侠客务必认真阅览!

1)听说侠客有专属称呼,不妨给自己起一个吧!

2)身为侠客须知书达礼,不燃难以立足于江湖!

3)当燃侠客最重侠肝义胆,快来行侠仗义互助吧!

群主既不作大哥许久啦,曾经哥也不是传说哈哈!

江湖内有免费秘籍自取,详见自查另一份群公告,

祝各位们都能笑傲江湖!!!

posted @ 2022-11-03 17:21  不秃燃的小老弟  阅读(9829)  评论(4编辑  收藏  举报