仅本页所有页面
由 GitBook 提供支持
1 / 22

Zotero 中文使用手册

Loading...

Loading...

Loading...

手册

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

更多资源

直接从 Zotero 中生成参考文献

Zotero 插件及其安装

前言

本文档由 Zotero Chinese 团队维护。(测试用,非正式)

文档简介

测试

测试 GitHub -> Gitbook

为什么维护这样一份文档?

常用资源

开发者资源

测试效果

二级标题

三级标题

段落

  • 无序列表

  • 无序列表

  • 无序列表

  1. 有序列表

  2. 有序列表

  3. 有序列表

高亮块:信息

高亮块有标题

内容

警告

危险

引用

标签

第二部分内容

点此展开

展开内容

写个 api

GET

插入页面

Zotero 安装

主程序

没什么好记录的,在 Zotero 官网 下载,一路下一步安装即可。

浏览器插件 Zotero Connector

Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。

由于 Google Chrome Store 在国内无法正常访问,所以建议,如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。

建立与管理文献库

在本节,介绍如何建立、维护你的文献库。

在使用 Zotero 之前,我希望可以引入几个术语:

  • 条目 Item:

  • 附件 Attachments:

  • 链接的附件:

  • 存储的附件:

  • 合集 Collections:

  • 标签 Tags:

  • 引文

  • 参考书目

快速上手

安装

使用

Zotero 是什么?为什么用它?

一个表格

f(x)=x∗e2piiξxf(x) = x * e^{2 pi i \xi x}f(x)=x∗e2piiξx
快速上手

把条目添加进文献库

添加条目

通过标识符添加条目

// Some code 代码块
function abc(){
  //  11
}
通过附件添加条目

直接从 Connector 生成条目

手动录入条目

添加附件

茉莉花插件的配置

比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 github.com/l0o0/translators_CN 极大的提高其中文文献抓取能力。

该库的主要维护者还开发了插件 Jasminum - 茉莉花 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:

  1. 拆分或合并 Zotero 中条目作者姓和名

  2. 根据知网上下载的文献文件来抓取引用信息(就是根据文件名)

  3. 添加中文 PDF/CAJ 时,自动拉取知网数据,该功能默认关闭。需要到设置中开启,注意添加的文件名需要含有中文,全英文没有效果(还是根据文件名)

  4. 为知网的学位论文 PDF 添加书签

  5. 更新中文 translators

  6. 拉取文献引用次数,是否核心期刊

就安装而言,

  1. 下载安装 Jasminum 插件:在 下载 .xpi 文件。在 Zotero——Tools——Add-ons——右上角小齿轮⚙——Install Add-on From File...——选中第二步保存的文件——确定——重启 Zotero。

  2. 下载安装 PDFtk:下载并安装 ,记录安装路径(eg. C: \Program Files (x86)\PDFtk)。在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 <PDFtk install dir>/bin (eg. C: \Program Files (x86)\PDFtk\bin)(即 PDFtk 可执行文件所在目录)。MAC 用户参考 。

安装中文 Translator:与上一步同一界面——Unofficial Translator Repository——Refresh——Update all。

  • 更新中文 Translator:打开已安装 Zotero Connector 的浏览器,右击 Zotero Connector 图标进入拓展选项,Advanced——Update Translators。

  • Latest Release · l0o0/jasminum (github.com)
    PDFtk server
    这里

    组织、管理文献库

    集合与标签

    笔记与关联条目

    重复条目

    在 Word 中插入参考文献

    生成引注、参考文献表

    几个术语

    • 引注 Citation:

    • 参考文献表 bibliography:

    • 样式 / CSL 样式:

      • 顺序编码制 num:

      • 作者-年份 author-data:

      • 脚注制 note:

    下载与安装样式

    从 CSL 官方安装样式

    从 CSL 中文仓库安装样式

    官方的 CSL 样式目前....

    生成引注 / 参考文献表

    以下是插入参考文献的几种方式,读者可以根据自身需求来选择性阅读。

    中文“等”与英文“et al.”混排
    在 Word 中插入参考文献
    在 Tex 中插入参考文献
    直接从 Zotero 中生成参考文献
    使用 Zotero bib 生成参考文献

    使用 Zotero bib 生成参考文献

    将引注链接到参考文献表

    由于 CSL citeproc-js 的原因,此特性目前不被 Zotero 官方支持,以下宏代码运行前请务必做好文档备份!

    描述

    建立引用(citation)与参考书目(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:

    Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 ^1。

    从 Zotero 论坛发现了通过 word 宏实现的功能 [^2],虽有一些缺陷,但基本可以达成需求。

    [^2]:

    配置及使用

    缺陷和注意事项

    Word: Possibility to link references and bibliography in a document? - Zotero Forums
    Public Sub ZoteroLinkCitation()
        
    ' get selected area (if applicable)
        Dim nStart&, nEnd&
        nStart = Selection.Start
        nEnd = Selection.End
        
    ' toggle screen updating
        Application.ScreenUpdating = False
        
    ' define variables
        Dim title As String
        Dim titleAnchor As String
        Dim style As String
        Dim fieldCode As String
        Dim numOrYear As String
        Dim pos&, n1&, n2&, n3&
    
        ActiveWindow.View.ShowFieldCodes = True
        Selection.Find.ClearFormatting
     
    ' find the Zotero bibliography
        With Selection.Find
            .Text = "^d ADDIN ZOTERO_BIBL"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute
        
        ' add bookmark for the Zotero bibliography
        With ActiveDocument.Bookmarks
            .Add Range:=Selection.Range, Name:="Zotero_Bibliography"
            .DefaultSorting = wdSortByName
            .ShowHidden = True
        End With
        
        ' loop through each field in the document
        For Each aField In ActiveDocument.Fields
            ' check if the field is a Zotero in-text reference
            '##################################################
            If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then
                fieldCode = aField.Code
                '#############
                ' Prepare
                ' Plain citation== Format of Textfield shown
                ' must be in Brackets
                Dim plain_Cit As String
                plCitStrBeg = """plainCitation"":""["
                plCitStrEnd = "]"""
                n1 = InStr(fieldCode, plCitStrBeg)
                n1 = n1 + Len(plCitStrBeg)
                n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1
                plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2)
                'Reference 'as shown' in word as a string
                
                'Title array in fieldCode (all referenced Titles within this field)
                Dim array_RefTitle(32) As String
                i = 0
                Do While InStr(fieldCode, """title"":""") > 0
                    n1 = InStr(fieldCode, """title"":""") + Len("""title"":""")
                    n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1
                    If n2 < n1 Then 'Exception the type 'Article'
                        n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1
                    End If
                    array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1)
                    fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1)
                    i = i + 1
                Loop
                Titles_in_Cit = i
                
                'Number array with References shown in PlainCit
                'Numer is equal or less than Titels, depending on the type
                '[3], [8]-[10]; [2]-[4]; [2], [4], [5]
                ' All citations have to be in Brackets each! [3], [8] not [3, 8]
                ' This doesnt work otherwise!
                ' --> treatment of other delimiters could be implemented here
                Dim RefNumber(32) As String
                i = 0
                Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0
                    n1 = InStr(plain_Cit, "[")
                    n2 = InStr(plain_Cit, "]")
                    RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1))
                    plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1)
                i = i + 1
                Loop
                Refs_in_Cit = i
                     'treat only the shown references (skip the rest)
                '[3], [8]-[10] --> skip [9]
                'Order of titles given from fieldcode, not checked!
                If Titles_in_Cit > Refs_in_Cit Then
                    array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1)
                    i = 1
                    Do While Refs_in_Cit + i <= Titles_in_Cit
                        array_RefTitle(Refs_in_Cit + i - 1) = ""
                        i = i + 1
                    Loop
                End If
                
                '#############
                'Make the links
                For Refs = 0 To Refs_in_Cit - 1 Step 1
                    title = array_RefTitle(Refs)
                    array_RefTitle(Refs) = ""
                    ' make title a valid bookmark name
                    titleAnchor = title
                    titleAnchor = MakeValidBMName(titleAnchor)
                    
                    ActiveWindow.View.ShowFieldCodes = False
                    Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography"
                    
                    '' locate the corresponding reference in the bibliography
                    '' by searching for its title
                    Selection.Find.ClearFormatting
                    With Selection.Find
                        .Text = Left(title, 255)
                        .Replacement.Text = ""
                        .Forward = True
                        .Wrap = wdFindContinue
                        .Format = False
                        .MatchCase = False
                        .MatchWholeWord = False
                        .MatchWildcards = False
                        .MatchSoundsLike = False
                        .MatchAllWordForms = False
                    End With
                    Selection.Find.Execute
                                   
                    ' select the whole caption (for mouseover tooltip)
                    Selection.MoveStartUntil ("["), Count:=wdBackward
                    Selection.MoveEndUntil (vbBack)
                    lnkcap = "[" & Selection.Text
                    lnkcap = Left(lnkcap, 70)
                    
                    ' add bookmark for the reference within the bibliography
                    Selection.Shrink
                    With ActiveDocument.Bookmarks
                        .Add Range:=Selection.Range, Name:=titleAnchor
                        .DefaultSorting = wdSortByName
                        .ShowHidden = True
                    End With
                    
                    ' jump back to the field
                    aField.Select
                    ' find and select the numeric part of the field which will become the hyperlink
                    Selection.Find.ClearFormatting
                    With Selection.Find
                        .Text = RefNumber(Refs)
                        .Replacement.Text = ""
                        .Forward = True
                        .Wrap = wdFindContinue
                        .Format = False
                        .MatchCase = False
                        .MatchWholeWord = False
                        .MatchWildcards = False
                        .MatchSoundsLike = False
                        .MatchAllWordForms = False
                    End With
                    Selection.Find.Execute
                            
                    numOrYear = Selection.Range.Text & ""
                                        
                    ' store current style
                    style = Selection.style
                    ' Generate the Hyperlink -->Forward!
                    ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear
                    ' reset the style
                    Selection.style = style
    
                    ' comment if you want standard link style
                    aField.Select
                    With Selection.Font
                         .Underline = wdUnderlineNone
                         .ColorIndex = wdBlack
                    End With
                        
                Next Refs 'References in Cit
    
            End If  'If Zotero-Field
            '#########################
    
            Next aField ' next field
    
            ' go back to original range selected
            ActiveWindow.View.ShowFieldCodes = False
            ActiveDocument.Range(nStart, nEnd).Select
            
        End Sub
        Function MakeValidBMName(strIn As String)
            Dim pFirstChr As String
            Dim i As Long
            Dim tempStr As String
            strIn = Trim(strIn)
            pFirstChr = Left(strIn, 1)
            If Not pFirstChr Like "[A-Za-z]" Then
                strIn = "A_" & strIn
            End If
            For i = 1 To Len(strIn)
                Select Case Asc(Mid$(strIn, i, 1))
                Case 49 To 57, 65 To 90, 97 To 122
                    tempStr = tempStr & Mid$(strIn, i, 1)
                Case Else
                    tempStr = tempStr & "_"
                End Select
                Next i
                tempStr = Replace(tempStr, "  ", " ")
                MakeValidBMName = Left(tempStr, 40)
            End Function

    通过 WebDav 同步

    中文“等”与英文“et al.”混排

    在 Tex 中插入参考文献

    同步与备份

    在多设备同步中,条目的同步均是通过 Zotero 官方提供的同步服务进行的,不同的是附件的同步方式。可以依据需要同步的设备类型、同步的目的来合理选择同步的方案。

    使用官方的存储空间进行附件同步

    优点:只需要账号登录上,基本不需要任何额外配置,方便快捷简单。缺点:默认只有 300M,更大要付费。

    其他同步方案

    通过 WebDav 同步
    🙃通过 Zotfile 与第三方网盘备份

    通过 Zotfile 与第三方网盘备份

    注意,自 Zotero 更新至 6.x 以来,这种同步/备份已经过时,不再被推荐,本文档在此记录该方案的基本思路,但请读者根据自身情况和需求谨慎选择该方案!

    https://github.com/zotero-cngithub.com
    嵌入 URL
    https://w6zjinn49j.feishu.cn/wiki/wikcnzXqIoGVxAIIUF5Bz3yq3RAw6zjinn49j.feishu.cn
    飞书
    测试

    群组与协作

    space