zotero 联合 markdown 软件 - 以思源笔记为例 暨 Pandoc 转换 markdown 为 Word 文档

本贴最后更新于 1021 天前,其中的信息可能已经水流花落

2021 年我做的三个比较重要的选择:

  1. 思源笔记:这两年笔记软件,百花齐放(卷的不行),兜兜转转,我选择了思源笔记(之前使用 onenote,某象、蚂蚁笔记等也试过,偶尔看一下 obsidian。思源笔记是个人知识库软件,上手有难度,但是上手之后,非常丝滑顺畅,甚至相见恨晚。)
  2. zotero:文献管理软件也从 noteexpress、endnote 转到了 zotero(别的文献管理软件也用过,但是还是 zotero 香啊,不是一般的香)
  3. 订阅了 quicker

这种搭配以后应该不会再变了

这两年新启的笔记软件一般都是围着 markdown 转的,那么 markdown 怎么和文献管理软件 zotero 联合使用,打造完美学术生态呢?今天我就以思源笔记 +zotero 为例,分享一下我的经验

开讲之前,最重要的事:

  1. 我的思源笔记推荐码:578MMHg (简记为 578 毫米汞柱)
    现在订阅(升级为会员)后,在思源笔记客户端->设置->账号->订阅推荐码,输入我的推荐码,你可以增加 500 MB 云端空间和 7 天使用时长。思源笔记订阅版和非订阅版的区别见 定价 - 思源笔记 - 本地优先的个人知识管理系统,支持 Markdown 所见即所得、块级引用和双向链接
  2. quicker 免费版足够用,专业版更强(可以添加更多的动作),如果订阅,欢迎使用我的推荐码:11180-1954,可额外获得 3 个月专业版时长,quicker 专业版和免费版区别 获取专业版 - Quicker

使用我的推荐码,也是对我创作的鼓励,以后会分享更多的工具、技巧,欢迎点赞、收藏、关注,谢谢支持。

我纠结了很多天,最后还是没有录视频,如果想看视频的人多的话,我回头补录一个,祝大家新年快乐,多写笔记,哈哈哈。。。

友情提示

简单的 Pandoc 转换 markdown 为 Word 文档可以直接从“思源笔记格式化成期刊文章”这一节看

zotero 联合 markdown 软件-以思源笔记为例

就我个人理解而言,zotero 联合思源笔记主要涉及两个过程:

  1. 输入- 文献笔记:PDF 摘录,添加块链接到 PDF 中,“添加 URI 链接...”。记笔记,肯定要用思源笔记软件啦,你用 ob 或者其它软件的话也可以(日后再谈怎么做摘录,立个 flag)

  2. 输出 - 写文章:插入参考文献,以期刊的形式格式化论文(Word+ 参考文献)。写论文通常是使用 Word,但是有以下弊端

    1. 如果插入文献太多的话,每次插入新文献,或者引用做修改,都会卡一下(取决于你电脑性能),甚至崩溃
    2. 写作就应该专注于写,而不要纠结于格式、排版问题,写完了,再改格式
    3. 如果你有多篇文章或者多个 idea 的话,在思源笔记中日积月累,水到渠成不更好吗?
    4. 我记的文献笔记就在思源中,查阅、参考起来,也很方便

文献引用 + 格式化成期刊文章

下载并安装 zotero Zotero | Your personal research assistant@HTTP
然后安装 zotero 插件 BBT(支持插件、扩展的软件我都很喜欢) Release v5.6.11 · retorquere/zotero-better-bibtex@HTTP

文献引用 + 格式化成期刊文章方案 1(思源笔记支持)

这种方案是先在 markdown 中插入 bbt 引用,然后 pandoc 转为 Word,在 Word 中更新参考文献之后,Word 后面会汇总显示参考文献(在 Word 里面的操作类似直接使用 zotero 或者 endnote 在 Word 插入文献引用)。

思源笔记中插入文献引用

  1. zotero 安装 BBT(Better BibTeX,Better BibTeX for Zotero :: Better BibTeX for Zotero@HTTPRelease v5.6.11 · retorquere/zotero-better-bibtex@HTTP) 插件,这个插件会给每一个 zotero 中的父条目生成一个唯一的字符串,这个字符串可以自定义:zotero 首选项 →Better Bibtex → citation keys → citation key format,我一般设置为 [auth:lower][year] 格式,即作者年,简单,也符合科研过程中的习惯,后期如果思源笔记能够支持快速输入一个词典的 key,那么这种引用方式就更好了

  2. 敲入上一步 BBT 生成的 citation key,格式都是类似这样的:

    1. 一个知识点单篇文献[@airy1855]
    2. 一个知识点多篇文献[@airy1855; @darwin1837; @pratt1856]
  3. 插入格式的深入说明,有多种插入方式

    1. 手动复制粘贴:从 zotero 中复制 Citation Key ,然后粘贴到思源笔记中

      复制 citationkey20220123210073d8xlm7m.png

      复制 citation key

    2. 使用拖拽/释放功能:需要先设置 zotero,

      zotero 中 编辑首选项导出默认格式:Better BibTeX Quick Copy:[@citekeys]

      对应的 BBT 设置:Better BibTeXExportQuick-CopyQuick-Copy format: Pandoc citation,勾选 surround Pandoc citation with brackets,(待深入了解"Eta template"《Export :: Better BibTeX for Zotero》@HTTP 怎么自定义?)

      设置好之后,就可以从 zotero 选中要参考的文献,拖拽到文本编辑器,释放即可

      BBT 使用 citekeys20211207202940h2xmosq.png

      BBT 使用 citekeys

      对应的 BBT 设置 2021120721039692koggv.png

      对应的 BBT 设置

    3. windows 平台可以使用 quicker 动作“Zo4MD - 动作信息 - Quicker”在思源笔记(其它 markdown 笔记软件中也可以)中插入引用的文献,比如:[@klein2007],一个知识点,有多个参考文献时,参考"多重来源":[@ghose1988; @ganguly1991]

      1. 思源笔记中选中之前插入的参考文献时(即选中[ ]),则是增加参考文献;
      2. 没有选中文字时,则是第一次在这个地方插入文献;
      3. 追增文献时其实也可以不选中之前添加的文献,追增之后,手动在思源笔记中按照这样的格式修改即可:[@ghose1988; @ganguly1991];
    4. Mac 平台自行参考

      1. davepwsmith/zotpick-applescript: Leverage Better-BibTeX's citation picker in Scrivener@HTTP
      2. 用 Markdown 写论文如何关联 Zotero 添加引用?Zotpick 和 Docdown 使用简介_哔哩哔哩_bilibili@HTTP
    5. 有些时候需要修改一下格式,比如

      A minus sign (-) before the @ will suppress mention of the author in the citation. This can be useful when the author is already mentioned in the text:

      Smith says blah [-@smith04].
      

      You can also write an author-in-text citation, by omitting the square brackets:

      @smith04 says blah.
      
      @smith04 [p. 33] says blah.
      

      第一种实现了,在 Word 更新之后,显示的是 Smith says blah (2004),比如文章里常见的:张三(2016)认为 xxxx

      第二种没有实现,姿势不对?

      详参 Extension citations - Untitled@HTTP

      "Extension: citations"《Pandoc - Pandoc User’s Guide》@HTTP

思源笔记格式化成期刊文章

  1. Pandoc - Releases@HTTP 下载 pandoc.exe,将 zotero.lua (见文后资源)和 pandoc.exe 放在同一目录中,本次是 Z:\Powertools\pandoc
  2. 思源笔记导出为纯 markdown 格式,放在合适目录,本次为 Z:\Powertools\pandoc\测试呀.md
  3. cmd 切换工作目录至 pandoc.exe 所在目录,命令是 cd /d Z:\Powertools\pandoc
  4. 保持 zotero 开启,然后执行命令 pandoc Z:\Powertools\pandoc\测试呀.md -s --lua-filter=zotero.lua -o output.docx,执行成功的话会有 zotero-live-citations a266bf0e6 这样的提示语;
  5. 此时在 Z:\Powertools\pandoc 目录下会有生成的文件 output.docx;
  6. 打开文件 output.docx(如图.“refresh 之前的内容”所示),在末尾敲入 Reference;
  7. 回车换行到文档最后一行,点击 Word 工具栏中 zotero→Refresh(第一次点击会提示你选择引文样式,以后点击就不会提示了,如果想要更改引文样式,可以点击 Document Preferences),如果有多重来源参考文献(一个知识点参考了多篇文献)此时会按照期刊格式自动排序(比如按照发表时间升序),相同作者的文献也会进行简并;
  8. 鼠标定位在文档末尾,点击 Word 工具栏中 zotero→Add/Edit Bibliography,即可将引用的文献汇总在最后。

refresh 之前的内容 202111281837900oc1bsb.png

refresh 之前的内容

点击 refresh 选择引文样式 2021112818430929rlnme.png

点击 refresh,选择引文样式

refresh 之后的内容 202111281845194eqz6gd.png

refresh 之后的内容

本期内容到此结束,后面是我觉得需要优化的、前前后后和 D 大交流的一些内容记录,花费了很多时间和精力,我相信如果学术圈用思源笔记的人多了,思源笔记的开发者 D 大会考虑再次引入 Pandoc 参数?!到时候,整个流程会更丝滑一些。

如果你喜欢这次分享的话,订阅软件的时候,欢迎使用我的订阅码,你我都有优惠,你的支持是我继续分享经验、创作文章的动力,谢谢。

官方网址奉上:

Quicker 软件 您的指尖工具箱 - Quicker 推荐码:11180-1954

思源笔记 - 本地优先的个人知识管理系统,支持 Markdown 排版、块级引用和双向链接 思源笔记推荐码:578MMHg

这次使用到的资源 20220129-zotero markdown 思源笔记.zip - 蓝奏云 https://wwm.lanzouw.com/i0bySzeavrc

如果有什么问题,也欢迎留言交流。

#todo# 需要优化的(你可以看,也可以不看)

思源笔记快速输入词典单词

如果可以将 zotero 的 citation key 作为思源笔记的“词典”文件的词,那么就可以快速输入,即快速引用文献

请教一个思源输入的问题,能不能使用类似“词典”输入:我有一系列的“单词”(N 多个,姑且是一个文本文件,一行一个词,并且是以 @ 打头),我希望输入的时候可以保证

  1. 准确地是这个文件里面的词,
  2. 能支持模糊输入更好
@zhang2012
@li2013
@mats2018
@he1986

思源笔记如何快速输入“词典单词” - 链滴 @HTTP

支持导入 CSL-JSON 进行文献引用 · Issue #2152 · siyuan-note/siyuan@HTTP 这个 issue 我看了,后面那个 wazili 也是我反馈的,我之前咨询过思源导出 Word 的机制、增加 pandoc 属性便于导出为 Word 时添加参数(关于导出 Word 的机制 - 链滴 @HTTP)(这个问题最后还没定,其实我觉得如果和学术文献参考联系的话,还是增加一个 .sy -> Markdown ->Pandoc 带参数转为word 的流程会比较好一些,这也是我迟迟没有发自己文献引用工作流的原因之一),这些都是为了和文献管理联合使用。

其实据我调查,markdown 文献引用有两种模式

第一种

  1. markdown 中只插入一个 citation key 类似 [@wang2021e] 这样的平文本(没有代码包裹哈)形式
  2. 使用 Pandoc 转换过程中,通过加命令参数,和 zotero 联合(其它软件我没有试过,不过和 markdown 软件联用的文献管理软件好像基本上都是 zotero),格式化引用(当然参数里面也可以支持 Word 模板之类的),导出 Word
  3. 在 Word 中汇总、格式化文献引用,或者进一步修改
  4. 但是这种方式在 markdown 文件中没有生成汇总的详细参考文献清单

第二种基本上就是下面这种视频的方案,可以直接在 markdown 编辑器文章后面生成参考文献清单,不过我没试过

如何用 markdown 写学术论文?(VScode+zotero+pandoc)_哔哩哔哩_bilibili@HTTP

如果需要的话,我可以抽空把我第一种流程录个屏给你。

最后再次咨询一下,是否考虑增加 .sy -> Markdown ->Pandoc 带参数转为word 这个流程?原因:

  1. 人的惰性。虽然现在我可以通过导出为 markdown 格式,然后在 cmd 命令行中使用 Pandoc 完成转换,但是如果思源直接有 .sy -> Markdown ->Pandoc 带参数转为word 这个选项,会减少很多繁杂过程,避免中间文件的产生,省大量精力和时间;
  2. 新手重现性应该也会大大提高;
  3. 降低使用门槛。大多数人可能并不像我这么喜欢折腾,更多的喜欢简单易用,如果添加这个导出流程的话,也能作为思源软件的一大亮点。

谢谢回复。

Word 模板问题

一般学校毕业论文有 Word 格式要求:字体、字号等各种排版,这个如何引用到工作流中呢?

Pandoc 支持 Word 模板参数,怎么做模板?

请问导出 word 能够设置好格式吗?比如一级标题是什么字体,二级标题什么字体之类
平时直接在 word 里面写会议纪要是很方便,直接在原来调好的格式上面写,开完会直接就发出去了,但是不方便管理,所以想转到笔记软件中。现在我写报告就要打开以前写过的各种 word 文档找相关的东西,所以想要用这种双联笔记来写,但是发出的时候又需要用 WORD。所以找到这个思源笔记这类软件,想要了解一下是不是可以支持导出成想要格式的 word 文档。我了解到 obsidian 配合 pandoc 插件是可以实现的,等于把 markdown 格式转成想要格式的 word,但我感觉思源更加适配中文。

我也经常转成 word 给别人,但 typora 直接转换成 word 格式住往不符合我的要求,我是自己写了个 word 模板然后用 pando 转换的。其实也很快,而且更灵活。
其实思源可以调用 pando,并在设置中指定 pando 的参数,让用户自己配置转换的形式,这更方便,也很符合思源的极客理念。

思源笔记 pandoc-docx 属性问题 思源笔记 v1.7.1 把这个功能砍了

从最初的建议,到一直追踪更新、探索使用方法,花费了很多时间和精力

关于导出 Word 的机制 - 链滴 @HTTP

请求增加 Markdown -> Pandoc 带参转换 · Issue #3592 · siyuan-note/siyuan

下个版本内测,在文档上设置属性 pandoc-docx,值为附加参数列表,比如 --reference-doc twocolumns.docx --lua-filter=zotero.lua

🎨 导出 Word 时支持通过属性设置 Pandoc 参数 Fix https://github.com/siyuan-note/… · siyuan-note/user-guide-zh_CN@db753ea@HTTP

pandoc Z:\xxxx.sy -o output.docx
pandoc Z:\xxxx.sy -s --lua-filter=zotero.lua -o output.docx

D 大:思源用的是 Pandoc,但是不是直接转换,而是先将文档转换为 HTML,然后再通过 Pandoc 将 HTML 转换为 Docx。目前思源导出 Word 的流程:.sy -> Markdown -> HTML -> Pandoc Word,导出 pandoc-docx 属性只在调用 HTML -> Pandoc Word 这一步会作为 pandoc 命令参数加入。

--lua-filter=zotero.lua 这个参数目前应该是无法作用于 SY 导出流程的

在大纲处或者文档标题处添加文档属性,添加新属性 pandoc-docx,值为附加参数列表 --reference-doc twocolumns.docx --lua-filter=zotero.lua

思源笔记 v1.7.1 发布,改进 PDF/HTML 导出 - 链滴 移除 Word .docx 导出 · Issue #3811 · siyuan-note/siyuan

或者看一下 --lua-filter=zotero.lua 这个参数能否用于 html 文件

或者看一下 --lua-filter=zotero.lua 这个参数能否用于 html 文件 Pandoc - Releases@HTTP

如果可以的话,zotero.lua 能否增加一个过滤 markdown 超链接的功能?这样的话,在思源笔记里面可以直接点击引用就跳转到 zotero

the input file only support plain file when I use .lua file ?@HTTP

源文件是 html 文件的

converter - pandoc convert html with style sheet to docx - Stack Overflow@HTTP

使用 zotero.lua 参数的教程

chrisgrieser/pandoc_alfred: Pandoc-Suite for Academic Writing in Markdown@HTTP

(16 条消息) 用 markdown+zotero+pandoc 完成学术论文的撰写_Brain-Machine Interface Technologies-CSDN 博客 @HTTP

Pandoc 问题反馈

zotero 导入 zotero 导出的条目.rdf

笔记内容是 20211202193901-w7yhtbe.sy

思源笔记先导出 markdown,然后 zotero 处于打开状态,cmd 命令行执行 pandoc Z:\Downloads\Untitled\Untitled.md -s --lua-filter Z:\zotero.lua -o output.docx 可以成功转化(转换过程中需要和 zotero 通讯),

转换时如果 zotero 关闭会报错 20211202232095030q7di.png

转换时,如果 zotero 关闭,会报错

但是在思源笔记 v1.5.5 alpha 版中,设置属性 pandoc-docx ,属性值 -s --lua-filter Z:\zotero.lua ,导出的 Word 和不加参数导出的一样,即属性值没有起到作用

常见错误:下图错误请检查步骤 2 中是否已经将 zotero.lua 放在了和 SiYuan.exe 同一目录中

常见错误 202112022118935f0pm0b.png

常见错误

其实如果 zotero.lua 文件没有放在和 SiYuan.exe 同一目录中,只要在第三步属性值里面吧 zotero.lua 的全路径填上即可,但是为了保证成功率,还是建议按照上面教程操作

思源笔记 v1.7.0 Pandoc 导出参数实验
--lua-filter=zotero.lua

image.png

--lua-filter C:\Users\laomao\.config\siyuan\pandoc\zotero.lua
-s --lua-filter=C:\Users\laomao\.config\siyuan\pandoc\zotero.lua -o Z:\Downloads\output.docx
--lua-filter=C:\Users\laomao\.config\siyuan\pandoc\zotero.lua
--lua-filter=Z:\zotero.lua


没效果

--lua-filter=Z:\zotero.lua

命令行 成功的

Microsoft Windows [版本 10.0.19044.1415]
(c) Microsoft Corporation。保留所有权利。

C:\Users\laomao>cd /d C:\Users\laomao\.config\siyuan\pandoc

C:\Users\laomao\.config\siyuan\pandoc>pandoc -s --lua-filter=zotero.lua ceshi.md -f markdown -s -o untitled.docx
zotero-live-citations a266bf0e6

C:\Users\laomao\.config\siyuan\pandoc>pandoc -s --lua-filter=Z:\zotero.lua ceshi.md -f markdown -s -o untitled.docx
zotero-live-citations a266bf0e6

C:\Users\laomao\.config\siyuan\pandoc>pandoc -s --lua-filter=Z:\ce\zotero.lua Z:\ce\ceshi.md -f markdown -s -o untitled.docx
zotero-live-citations a266bf0e6
[WARNING] Could not fetch resource 'assets/image-20211228013033-jrr5vg0.png': PandocResourceNotFound "assets/image-20211228013033-jrr5vg0.png"

C:\Users\laomao\.config\siyuan\pandoc>pandoc -s --lua-filter=Z:\ce\zotero.lua Z:\ce\ceshi.md -f markdown --resource-path=Z:\ce -s -o untitled.docx
zotero-live-citations a266bf0e6

C:\Users\laomao\.config\siyuan\pandoc>


文件不指明路径的话,就以 pandoc 为准

使用文档属性参数

pandoc-docx -f markdown

导出 Word 时,代码块、图片不能导出来,有序列表没有序号,其它未测试


-f markdown --resource-path=D:\SiYuan\data\assets -s --lua-filter=D:\SiYuan\data\templatefiles\zotero.lua
-f markdown --resource-path=D:\SiYuan\data\assets\ -s --lua-filter=D:\SiYuan\data\templatefiles\zotero.lua
-f markdown -s --lua-filter=D:\SiYuan\data\templatefiles\zotero.lua

上面这三个效果一样

-f markdown -s --lua-filter=D:\SiYuan\data\templatefiles\zotero.lua

-f markdown
这个属性可以反馈给D大

导出为 PDF 时 pandoc-docx 属性不起作用,正是需要的

直接导出为 docx 时,应该仍然是 .sy->html->docx

文献引用 + 格式化成期刊文章方案 2-期待思源笔记成长

支持导入 CSL-JSON 进行文献引用 · Issue #2152 · siyuan-note/siyuan@HTTP 需要回帖

如何用 markdown 写学术论文?(VScode+zotero+pandoc)_哔哩哔哩_bilibili 工作流可以参考一下

这种方案是直接在 markdown 后面汇总显示参考文献,思源笔记后期如果支持自动运行 js 的话可能也会支持,期待更新。
前面的插入文献工作流,在思源笔记中怎么优化?

参考

引用 workflow

使用 Zotero 在 Markdown 中优雅地处理参考文献 - 少数派 @HTTP ( ) 这个参考了很多

Cite as you Write :: Better BibTeX for Zotero zotero 的经典插件

如果想要和 zotero 联动,可能需要思源笔记更改导出机制,或者自己写个 quicker 动作,以便于实现快速转换
搜索:pandoc - Quicker@HTTP

creating bibliographies [Zotero Documentation]

转换 workflow

Pandoc - About pandoc@HTTP 各种文档转换格式

Pandoc - Pandoc User’s Guide@HTTP 完整的 PandocUser‘sGuide pandoc 命令大全

Pandoc - Demos@HTTP 一些命令示例

greyovo/md2word-pandoc: 一个 markdown 转 word 工具。使用 C#编写、提供 GUI 界面设置样式(Winform)、依赖 Pandoc。@HTTP 如果不考虑和 zotero 联动,可以考虑使用这个工具,;

greyovo/markdocx: 将 markdown 文件转换为 Word(.docx)/ Convert Markdown to Word (.docx).

Markdown 到 docx,包括复杂模板 | 码农家园 @HTTP

在 Pandoc 中对 docx 文件使用模板的技巧 | M-x Chris-An-Emacser@HTTP

Pandoc 实用教程 – Devin@HTTP

使用 pandoc 将 markdown 转换成 word 文档 | 一堆文章 @HTTP

使用案例 ,原版

lowercasename/docdown: A menu bar app to convert Markdown into academia-ready Word documents@HTTP
Zotero Style Repository@HTTP 参考文献格式,很全很全

未分类

rtf scan [Zotero Documentation]

"Markdown 写作,Pandoc 转换:我的纯文本学术写作流程";;
"文献管理:使用 Zotero 进行 Rmarkdown 写作的文献自动化";;

PhD Research && Study in Obsidian - YouTube

Web Clipper 联用

Using Better Bib(La)Tex - YouTube

初步实现思源笔记 +zotero 论文写作工作流 - 链滴 @HTTP

zotero 和思源笔记探索 - xuanlemming 的回帖 - 链滴

"QuickCopy items: Copy selected items to the clipboard using the "Default output format" specified in the "Export" section of Zotero's preferences."@HTTP; zotero 的 Zutilo 插件,通过设置也可以在 zotero 中选中条目,右键复制得到 citation key

Zutilo 的高级扩展使用 Quick Copy alt1 alt2_magefreehome 的博客-CSDN 博客

 RTF/ODF-Scan for Zotero 边写边引用,很实用,但是不知道怎么实现,可能需要配合特定的文字编辑软件

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23088 引用 • 92920 回帖
  • Zotero
    12 引用 • 108 回帖 • 1 关注
3 操作
Diamond 在 2022-03-10 22:43:53 更新了该帖
Diamond 在 2022-03-10 22:42:49 更新了该帖
Diamond 在 2022-01-29 23:10:16 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • abumn

    谢谢,完全看不懂 233333

    1 回复
  • Diamond

    如果需要学术写作,有用,如果不需要学术写作,那就没用

  • 看起来比较好用 但是这个联动有点复杂

    1 回复
  • Diamond

    确实有点复杂,但是核心就两点

    1. BBT 引用文献
    2. Pandoc 把 markdown 格式的文献转变为 Word 格式

    如果想要打入学术圈,这两点思源得优化,第一点好像有计划,第二点兜兜转转,最后砍了,只能手动转换