最近在写一篇综述,要处理大量引用文献,选用Zotero作为文献管理工具。在插入参考文献目录时需要遵循格式,奈何网上找不到《软件学报》对应的csl模板文件,所以决定自己动手修改。在此记录下自己的学习所得。

Zotero入门

关于Zotero的用法建议阅读这篇博客:文献管理软件Zotero基础及进阶示范

CSL基本概念理解

CSL是一种xml文件,专门用来描述论文中的参考文献格式,具体包括引用格式(如是用数字[1]形式引用还是用作者+年的形式)和参考文献目录格式(如作者姓名、期刊名称等显示格式)。

关于CSL文献的详细描述参见官方文档

CSL文件的工作原理如上图所示,CSL文件负责描述格式,CSL Processor负责将CSL文件渲染成最终的引用和文献目录样式。

CSL文件修改

我选用了Elsevier (numeric, with titles)作为模板来修改,其样式如下图,和软件学报的要求很接近,只要将引用样式改为上标,文献目录中作者姓名的显示顺序改变一下即可.

引用样式修改如下:

文献目录修改如下:

出乎意料的简单。需要注意的是因为我的文献中英文居多,所以locale设置为了en_US,locale在左侧的Global Formatting Options中修改。

  • 如果想要分享自己修改好的CSL文件,建议按照官方教程上传到Github上

最后附上修改好的CSL文件:journal-of-software.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>Journal of Software(Chinese)</title>
<title-short>JOS</title-short>
<id>http://www.zotero.org/styles/journal-of-software</id>
<link href="http://www.zotero.org/styles/journal-of-software" rel="self"/>
<link href="http://www.zotero.org/styles/elsevier-with-titles" rel="template"/>
<author>
<name>Chang YC</name>
<email>chang.1123@outlook.com</email>
</author>
<category citation-format="numeric"/>
<issn>1000-9825</issn>
<summary>A style for Journal of Software</summary>
<updated>2017-07-01T03:38:51+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 delimiter-precedes-last="always" initialize-with="" name-as-sort-order="all" sort-separator=" "/>
<label form="short" prefix=", "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
</substitute>
</names>
</macro>
<macro name="editor">
<names variable="editor">
<name initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>
</names>
</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>
<macro name="publisher">
<text variable="publisher" suffix=", "/>
<text variable="publisher-place" suffix=", "/>
<text macro="year-date"/>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short"/>
</group>
</if>
<else>
<text variable="edition"/>
</else>
</choose>
</macro>
<macro name="access">
<choose>
<if variable="URL">
<text variable="URL"/>
<group prefix=" (" suffix=")" delimiter=" ">
<text term="accessed"/>
<date variable="accessed" form="text"/>
</group>
</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 entry-spacing="0" second-field-align="flush">
<layout suffix=".">
<text variable="citation-number" prefix="[" suffix="]"/>
<text macro="author" suffix=", "/>
<choose>
<if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<group delimiter=", ">
<text variable="title"/>
<text macro="edition"/>
<text macro="publisher"/>
</group>
</if>
<else-if type="chapter paper-conference" match="any">
<text variable="title" suffix=", "/>
<text term="in" suffix=": "/>
<text macro="editor" suffix=", "/>
<text variable="container-title" form="short" text-case="title" suffix=", "/>
<text macro="edition" suffix=", "/>
<text macro="publisher"/>
<group delimiter=" ">
<label variable="page" form="short" prefix=": "/>
<text variable="page"/>
</group>
</else-if>
<else-if type="patent">
<group delimiter=", ">
<text variable="title"/>
<text variable="number"/>
<text macro="year-date"/>
</group>
</else-if>
<else-if type="thesis">
<group delimiter=", ">
<text variable="title"/>
<text variable="genre"/>
<text variable="publisher"/>
<text macro="year-date"/>
</group>
</else-if>
<else>
<group delimiter=" ">
<text variable="title" suffix=","/>
<text variable="container-title" form="short" text-case="title" suffix="."/>
<text variable="volume"/>
<text macro="year-date" prefix="(" suffix=")"/>
<text variable="page" form="short"/>
</group>
</else>
</choose>
<choose>
<if variable="DOI">
<text variable="DOI" prefix=". doi:"/>
</if>
<else>
<text macro="access" prefix=". "/>
</else>
</choose>
</layout>
</bibliography>
</style>
 
1
  1. <?xml version="1.0" encoding="utf-8"?>
2
  1. <style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">
3
  1.  <info>
4
  1.    <title>Journal of Software(Chinese)</title>
5
  1.    <title-short>JOS</title-short>
6
  1.    <id>http://www.zotero.org/styles/journal-of-software</id>
7
  1.    <link href="http://www.zotero.org/styles/journal-of-software" rel="self"/>
8
  1.    <link href="http://www.zotero.org/styles/elsevier-with-titles" rel="template"/>
9
  1.    <author>
10
  1.      <name>Chang YC</name>
11
  1.      <email>chang.1123@outlook.com</email>
12
  1.    </author>
13
  1.    <category citation-format="numeric"/>
14
  1.    <issn>1000-9825</issn>
15
  1.    <summary>A style for Journal of Software</summary>
16
  1.    <updated>2017-07-01T03:38:51+00:00</updated>
17
  1.    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
18
  1.  </info>
19
  1.  <macro name="author">
20
  1.    <names variable="author">
21
  1.      <name delimiter-precedes-last="always" initialize-with="" name-as-sort-order="all" sort-separator=" "/>
22
  1.      <label form="short" prefix=", "/>
23
  1.      <substitute>
24
  1.        <names variable="editor"/>
25
  1.        <names variable="translator"/>
26
  1.      </substitute>
27
  1.    </names>
28
  1.  </macro>
29
  1.  <macro name="editor">
30
  1.    <names variable="editor">
31
  1.      <name initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
32
  1.      <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>
33
  1.    </names>
34
  1.  </macro>
35
  1.  <macro name="year-date">
36
  1.    <choose>
37
  1.      <if variable="issued">
38
  1.        <date variable="issued">
39
  1.          <date-part name="year"/>
40
  1.        </date>
41
  1.      </if>
42
  1.      <else>
43
  1.        <text term="no date" form="short"/>
44
  1.      </else>
45
  1.    </choose>
46
  1.  </macro>
47
  1.  <macro name="publisher">
48
  1.    <text variable="publisher" suffix=", "/>
49
  1.    <text variable="publisher-place" suffix=", "/>
50
  1.    <text macro="year-date"/>
51
  1.  </macro>
52
  1.  <macro name="edition">
53
  1.    <choose>
54
  1.      <if is-numeric="edition">
55
  1.        <group delimiter=" ">
56
  1.          <number variable="edition" form="ordinal"/>
57
  1.          <text term="edition" form="short"/>
58
  1.        </group>
59
  1.      </if>
60
  1.      <else>
61
  1.        <text variable="edition"/>
62
  1.      </else>
63
  1.    </choose>
64
  1.  </macro>
65
  1.  <macro name="access">
66
  1.    <choose>
67
  1.      <if variable="URL">
68
  1.        <text variable="URL"/>
69
  1.        <group prefix=" (" suffix=")" delimiter=" ">
70
  1.          <text term="accessed"/>
71
  1.          <date variable="accessed" form="text"/>
72
  1.        </group>
73
  1.      </if>
74
  1.    </choose>
75
  1.  </macro>
76
  1.  <citation collapse="citation-number">
77
  1.    <sort>
78
  1.      <key variable="citation-number" sort="ascending"/>
79
  1.    </sort>
80
  1.    <layout vertical-align="sup" prefix="[" suffix="]" delimiter=",">
81
  1.      <text variable="citation-number"/>
82
  1.    </layout>
83
  1.  </citation>
84
  1.  <bibliography entry-spacing="0" second-field-align="flush">
85
  1.    <layout suffix=".">
86
  1.      <text variable="citation-number" prefix="[" suffix="]"/>
87
  1.      <text macro="author" suffix=", "/>
88
  1.      <choose>
89
  1.        <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
90
  1.          <group delimiter=", ">
91
  1.            <text variable="title"/>
92
  1.            <text macro="edition"/>
93
  1.            <text macro="publisher"/>
94
  1.          </group>
95
  1.        </if>
96
  1.        <else-if type="chapter paper-conference" match="any">
97
  1.          <text variable="title" suffix=", "/>
98
  1.          <text term="in" suffix=": "/>
99
  1.          <text macro="editor" suffix=", "/>
100
  1.          <text variable="container-title" form="short" text-case="title" suffix=", "/>
101
  1.          <text macro="edition" suffix=", "/>
102
  1.          <text macro="publisher"/>
103
  1.          <group delimiter=" ">
104
  1.            <label variable="page" form="short" prefix=": "/>
105
  1.            <text variable="page"/>
106
  1.          </group>
107
  1.        </else-if>
108
  1.        <else-if type="patent">
109
  1.          <group delimiter=", ">
110
  1.            <text variable="title"/>
111
  1.            <text variable="number"/>
112
  1.            <text macro="year-date"/>
113
  1.          </group>
114
  1.        </else-if>
115
  1.        <else-if type="thesis">
116
  1.          <group delimiter=", ">
117
  1.            <text variable="title"/>
118
  1.            <text variable="genre"/>
119
  1.            <text variable="publisher"/>
120
  1.            <text macro="year-date"/>
121
  1.          </group>
122
  1.        </else-if>
123
  1.        <else>
124
  1.          <group delimiter=" ">
125
  1.            <text variable="title" suffix=","/>
126
  1.            <text variable="container-title" form="short" text-case="title" suffix="."/>
127
  1.            <text variable="volume"/>
128
  1.            <text macro="year-date" prefix="(" suffix=")"/>
129
  1.            <text variable="page" form="short"/>
130
  1.          </group>
131
  1.        </else>
132
  1.      </choose>
133
  1.      <choose>
134
  1.        <if variable="DOI">
135
  1.          <text variable="DOI" prefix=". doi:"/>
136
  1.        </if>
137
  1.        <else>
138
  1.          <text macro="access" prefix=". "/>
139
  1.        </else>
140
  1.      </choose>
141
  1.    </layout>
142
  1.  </bibliography>
143
  1. </style>

Zotero引用文献格式(软件学报)的更多相关文章

  1. 文献管理软件zotero的一点使用感受作者: 杨林畅

    作者是我的本科同学叶家鑫 http://www.renren.com/profile.do?id=240875124 文章写于去年12月,我做了一些排版上的修改,括号内的蓝字为我所加 ---- zot ...

  2. 文献管理软件 Zotero 安装、配置与使用

    简介 Zotero优缺点 使用Zotero作为主力文献管理工具的原因: 软件本身完全免费并且开源,不存在盗版问题 注册后本身只包括 300M 空间同步,但支持 WebDAV 同步,例如 Dropbox ...

  3. linux下各种格式软件的安装(引用http://blog.csdn.net/zyz511919766/article/details/7574040)

    首先介绍两个简单的方式 第一:sudo apt-get install packagename 命令 如果我们知道我们要安装的软件的确切的名称,那么我们可以简单的通过此条命令来获取和安装软件.apt- ...

  4. [工具] Citavi – 文献管理软件(笔记记录)

    https://www.citavi.com/en/ 如果你有论文写作的需求,特别是对于科研人员.研究生来说,文献管理软件是不可或缺的.目前流行的文献管理软件有老牌的 EndNote,本土化的 Not ...

  5. Mendeley文献管理软件使用介绍

    <!DOCTYPE html> New Document /* GitHub stylesheet for MarkdownPad (http://markdownpad.com) / / ...

  6. JabRef 文献管理软件

    JabRef 文献管理软件简明教程 大多只有使用LaTeX撰写科技论文的研究人员才能完全领略到JabRef的妙不可言,但随着对Word写作平台上BibTeX4Word插件的开发和便利应用,使用Word ...

  7. latex_引用参考文献格式,引用多篇参考文献

    以下内容在TeXstudio中实现: LaTeX 标准选项及其样式命令为: \bibliographystyle{type} 共有以下8种: plain,按字母的顺序排列,比较次序为作者.年度和标题. ...

  8. linux deb及rpm格式软件安装

    deb格式软件安装 deb包是debian,ubuntu等LINUX发行版的软件安装包,是类似于rpm的软件包,而非debian,ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装 ...

  9. 用 zotero 管理文献和个人知识库

    这周开始用了一下 zotero. 这是一款非常好用的文献管理工具,但它更像是一个多功能的收藏夹,或者说是一个知识.笔记.文献的综合管理工具. 入门的时候搜到了阳志平老师的几个图文并茂的教程,这里也推荐 ...

随机推荐

  1. linux常用的小命令

    查看linux版本 uname -a 图上可知,linux内核版本为2.6.32 查看cpu核数 cat /proc/cpuinfo |grep "cores"| uniq 系统中 ...

  2. [转载]关于晶振ppm

    写得不错,小白的我学习了 原文地址:关于晶振ppm作者:thomaswangbj XXppm就是说频率的误差=(xx/百万)*振荡器的标称频率 eg1:120ppm,27M的晶振,频率的误差 = 12 ...

  3. C#基础知识之事件和委托

    本文中,我将通过两个范例由浅入深地讲述什么是委托.为什么要使用委托.委托的调用方式.事件的由来..Net Framework中的委托和事件.委托和事件对Observer设计模式的意义,对它们的中间代码 ...

  4. mac下安装 rabbitMq

    1.安装HomeBrew,如果已经安装这一步跳过. 2.用brew install rabbitmq指令即可进行rabbitmq服务的自动安装. 3.安装完成之后会出现一下提示:   rabbit安装 ...

  5. 【02】Python 字符串、列表、元组、字典

    1 列表 list就是一种采用分离式技术实现的动态顺序表(tuple也一样): 在建立空表(或者很小的表)时,系统分配一块能容纳8个元素的存储区: 在执行插入操作(insert或append)时,如果 ...

  6. SpringCloud学习系列-构建部门微服务消费者Module

    1.新建microservicecloud-consumer-dept-80 2.Pom <project xmlns="http://maven.apache.org/POM/4.0 ...

  7. 什么是npm ? 什么是node ? 什么是vue-cli ?什么是webpack ?

  8. oracle java for ubuntu apt-get

    oracle java PPA: ppa:webupd8team/javathe key word use for search more infomation: webupd8team

  9. mysql FULL JOIN关键字 语法

    mysql FULL JOIN关键字 语法 作用:只要其中某个表存在匹配,FULL JOIN 关键字就会返回行.“富瑞华”牌大理石构件 语法:SELECT column_name(s) FROM ta ...

  10. 爬虫小例1:ajax形式的网页数据的抓取

    ---恢复内容开始--- 下面记录如何抓取ajax形式加载的网页数据: 目标:获取“https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%8 ...