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

    一.登陆思路 从数据库中拿到数据,每个用户信息都是一个对象,需要用数组存储对象信息,然后对比输入的用户信息,如果匹配成功就跳转到home主页,否则提示用户或密码错误. 二.具体操作 1.导入axios ...

  2. http参数传递方式

    url传参 这种在各种method(get,post,delete,put)都能使用,解析速度快 body体中的参数 application/x-www-form-urlencoded 这应该是最常见 ...

  3. 对数据集做标准化处理的几种方法——基于R语言

    数据集——iris(R语言自带鸢尾花包) 一.scale函数 scale函数默认的是对制定数据做均值为0,标准差为1的标准化.它的两个参数center和scale: 1)center和scale默认为 ...

  4. Spring基础13——Spring表达式语言:SpEL

    1.SpEL简介 Spring表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言.语法上类似于EL:SpEL使用#{...}作为界定符,所有在大框号中的字符都将被认为是Sp ...

  5. Nginx1.3.15导致Wordpress,Drupal等框架无限重定向的解决方案

    Wordpress建立的站点出现无限循环重定向问题.很多人遇到这个问题,并不是单纯Wordpress,Drupal, PHPCake等框架也都遇到同样的问题. 新版本的Nginx在收到 http:// ...

  6. 时钟管脚设置问题 xilinx ERROR:Place:864 - Incompatible IOB's are locked to the same bank 0

    ERROR:Place:1108 - A clock IOB / BUFGMUX clock component pair have been found   that are not placed ...

  7. Django中间件拦截未登录url

    1.利用装饰器在视图中拦截未登录的url @login_required(login_url='/user/login/') def homepage(request): pass 这种方法适合于程序 ...

  8. 64bit机器编译32bit汇编

    sudo apt-get install gcc-multilib sudo apt-get install g++-multilib gcc -m32  -S a.c -o a.s gcc -m64 ...

  9. C#基础知识之Ref Out Params 4种类型的参数

    一.按值传递参数 值参数是通过将实参的值复制到形参,来实现按值传递到方法,也就是我们通常说的按值传递. 方法被调用时,CLR做如下操作: 1.在托管栈中为形参分配空间: 2.将实参的值复制到形参. 这 ...

  10. vue-element添加修改密码弹窗

    1.新建修改密码vue文件CgPwd.vue 代码如下: <template> <!-- 修改密码界面 --> <el-dialog :title="$t('c ...