文献管理神器 Zotero – 参考文献格式 CSL 文件编辑
下面均以 GB T 7714-2015 numeric 为栗,且以 记事本 打开 CSL 文件进行演示。
编辑时,一定先把原有 CSL 文件 复制粘贴出来,不是在zotero数据存储文件夹内!!!
再将 title 和 id 代码之间的名称重新修改成一个新的名称!!!举个栗子如下:
<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 后面的数字为 5 或 50
即 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=”—” 假如日期之间分隔符修改为逗号『,』,则变为 delimiter=”,”
注:在XML语言里面,— 代表 — (可自查XML特殊字符表)
最终代码如下所示:
<date variable=”accessed” delimiter=”—” form=”numeric” prefix=”[” suffix=”]”/>
另外有些CSL文件不在『accessed-date』,在『year』『month』等地方,
则需要修改后面的 range-delimiter=”—” (同上)
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 如果在 family 和 given 两行都删除 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 删除
最终代码如下所示:
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] 等等(即不显示 URL 和 DOI)
第一步:
[J/OL] 、[D/OL] 等后面不显示 URL 和 DOI,但是保留不变 [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”/>
最终代码如下所示:
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”/>)
最终代码如下所示:
16)参考文献表的序号显示为 1.(即不为中括号 [1])
步骤:滑到最后或查找『bibliography』,找到下图所在位置,
将 <layout locale=”en”> 和 </layout> 之间的
变成如下代码(如有2个text variable=”citation-number”…两个都需更换):
最终代码如下所示:
17)参考文献表如何设为1.25倍行间距(或1.5倍等等)
步骤:滑到最后或查找『bibliography』,找到下图所在位置,
最终代码如下所示:
最终代码如下所示:
采用上图及其代码,参考文献表的显示如下图所示:
参考文献第二行 悬挂缩进,前面 无序号 且按作者 首字母和年份 排序。
19)(作者, 年份)参考文献表如何按首字母和年份排序
步骤:滑到最后或查找『bibliography』,找到下图所在位置,
20)(作者, 年份)类型的引文中的 et al. 如何斜体
步骤:查找『author-intext』,找到下图所在位置,
在 <names variable=”author”> 下面
以上这篇博客的内容均来自
不秃燃的小老弟 的CSDN博客(本人)
欢迎踏入『Zotero互帮互助江湖』!
幸会幸会!既然已踏入『Zotero互帮互助江湖』
江湖有江湖的规矩呐~ 请各位侠客务必认真阅览!
1)听说侠客有专属称呼,不妨给自己起一个吧!
2)身为侠客须知书达礼,不燃难以立足于江湖!
3)当燃侠客最重侠肝义胆,快来行侠仗义互助吧!
群主既不作大哥许久啦,曾经哥也不是传说哈哈!
江湖内有免费秘籍自取,详见自查另一份群公告,
祝各位们都能笑傲江湖!!!
__EOF__
点击数:0