【乱侃】使用 markdown 软件 +zotero 进行学术写作的一些经验
最近尝试了 obsidian 在学术写作中的实践,结合以前的一些笔记和经验,稍微总结了一下,语句比较随意,但是有很多链接,详细的可以跳转过去参考。
发这个帖子的重要目的:
- 和践行 markdown+zotero 学术写作的友友交流经验;
- 希望大佬们出手,为思源笔记写几个插件,便于使用思源笔记进行学术写作,感谢;
- 为准备写思源笔记学术插件的大佬提供灵感;
思源笔记官方提出过对学术支持的一个计划,但是一直被搁置了,而最近思源笔记的插件机制推出来了,是不是插件可以接手这些事情? 支持导入 CSL-JSON 进行文献引用 · Issue #2152 · siyuan-note/siyuan
插入 zotero 文献条目到平文本中(markdown、思源笔记、txt 等)-以 obsidian 为例
各种方案都是插入 citation key(类似“[@wang2023]”这样的字符),然后进行后续操作,都需要依赖 zotero 的 BBT 插件,插入 citation key 的方式各种各样,可以分为三种方法。
在 obsidian 中,段与段之间需要有空行,否则导出为 Word 时会合并为一段
使用 [使用 Obsidian 写学术论文 | 文章发了吗?标书写了吗?_哔哩哔哩_bilibili] https://www.bilibili.com/video/BV1iS4y147cz
,搭建 markdown 转 Word
方法 1:调出 zotero 自身界面,获得 citation key
Zotero 插件(Better BibTex for Zotero)+ OB 插件 Zotero Integration
这种方法类似在 Word 中插入文献,直接唤醒 zotero 的对话框,搜索或者选择文献,然后插入[@wang2023]这样的 citation key
方法一引申:设置中有一个关于 pdfannots2json 的设置,暂时没有搞明白怎么从 PDF 中提取注释,不过好像可以把 zotero 中的笔记导入到 obsidian 中
【强烈推荐】方法 2:直接连接 zotero.sqlite 库
这种方法很赞,插入 citation key 的操作、界面和方法 3 基本一样,用起来也很流畅。
不会有方法 1 中调取 zotero 界面的缓慢(zotero 弹窗可能会比较慢),也不会有方法 3 中的“路程长”、容易出问题的缺点,但是可能存在同时操作(zotero、obsidian 插件)zotero.sqlite 文件带来一些风险,但是只要合理设置配置,应该没有问题,并且这种方案也可以在 obsidian 中查看或导入 zotero 的笔记到 obsidian 中。
Zotero Plugin
Obsidian Plugin Setup | Obsidian Zotero
[Zotero 和 Obsidian 联用新插件,设置操作最简单:Obsidian Zotero,再也不担心看不懂了!Zotero 数据路径【首选项>高级>文件夹>路径】_哔哩哔哩_bilibili] https://www.bilibili.com/video/BV16G4y1Z7J3/
Features
-
⚡️ Performance
- Read data **directly **from Zotero database, no need to export data in text-based format
- Fast fuzzy-search for literatures right within Obsidian
-
🔓 Full access to Zotero data
- All data are available in Obsidian, including annotations, notes, tags, and attachments.
- Not restricted by Zotero API or Better BibTex.
-
🔨 Highly customizable templates
- Write your own templates to generate literature note and import annotation in any format you want.
- Powered by Eta, write JavaScript code in your templates to handle complex transformations.
- View all data in a literature in a structured way by using
DetailsView
.
-
🔍 Annotation View
- View annotaions within Obsidian, side-by-side with the literature note.
- Drag annotation to the literature note to import it.
- Always up-to-date, auto-sync whenever you changes the annotation in Zotero.
-
📝 Annotation import
- Import image and text annotation from Zotero to Obsidian.
- Keep your annotation up-to-date with Zotero.
-
✍️ Create literature notes with ease
- Quick switcher to create literature note and insert citekey from any literatures in your Zotero library.
- Open literature note in Obsidian from Zotero item page.
[插件功能详解] https://www.bilibili.com/video/BV16G4y1Z7J3/?t=751.2
Zotero Plugin:Refresh Zotero Data
Zotero Plugin:Insert Markdown citation,在光标出插入文献 citation key
Zotero Plugin:Refresh Zotero Search Index
Zotero Plugin:Refresh Literature Notes Index,如果在 zotero 中重新做了笔记,执行一次这个可以手动强制重新读取 zotero.sqlite
Zotero Plugin:Open quick switcher for literature notes,搜索并选择一篇文献,然后生成一个 ob 文件,是文献表头 +zotero 中的笔记
Zotero Plugin:Open Zotero Annotation View in Side Panel,荧光笔的窗口,这种窗口类似于一些软件在 Word 中集成 zotero 笔记(文献管理软件 Citavi 好像也有这个功能),相当于直接读取 zotero.sqlite 中的笔记并显示
Zotero Plugin:Open Literature Note Fields in Side Panel
显示的笔记来源有三种(点击锁链图标进行切换):
Follow Active Literature in Zotero Reader:在 Side Panel 中显示 zotero reader 中当前正在阅读的文献(激活那一篇)的笔记(这个没成功,zotero 绿色版导致的?)
Follow Active Literature Note:在 Side Panel 中显示在 ob 中打开的“文献表头 +zotero 中的笔记”这篇文献的笔记
Link with Selected Literature:在弹窗中搜索、选择一篇文献,然后在 Side Panel 中显示这篇文献的笔记
方法 3:zotero 中导出一个“Better CSL JSON 格式”文件,并保持更新
这种方法是在方法 2 的中多了一个二传手,“路程更长”,容易有问题、失败,比如我的 zotero 文献库条目太多,导致导出失败(不知道是不是这个原因,使用时,报错“试图导出所选文件出错。”,根据这个 Zotero Better BibTex 导出分类时出错 - 知乎 也没解决,可能文献条目太多(?),暂时先放着吧。)。
Zotero 插件(Better BibTex for Zotero)+ OB 插件 Citation
zotero 先导出文献库到一个文件(选择需要导出的参考文献,File -> Export library, 选择 Better CSL JSON 格式,选择"Keep updated"),然后在插入文献时,有一个搜索框,选中文献之后,也是插入[@wang2023]这样的 citation key
这种在一个地方只能快捷插入一篇文献,同时插入多篇的话,还需要手动调整
思源笔记官方也曾有计划支持这种方案,但是一直没有进度 支持导入 CSL-JSON 进行文献引用 · Issue #2152 · siyuan-note/siyuan
方法 4:使用 quicker 动作或者手动复制粘贴、敲键盘输入 citation key
【ing】拉 obsidian 插件作者来写思源笔记插件
毫无疑问,想要壮大思源生态,得靠广大网友出力写插件,obsidian 那边先手优势,已经遥遥领先,希望思源笔记能后来居上。如果思源生态里面有群友对写这个插件有兴趣,也可以来搞一下啊,我强烈推荐“方法 2:直接连接 zotero.sqlite 库”,期待。
develop a similar plug-in for Siyuan Notes · Issue #146 · aidenlx/obsidian-zotero
develop a similar plug-in for Siyuan Notes · Issue #228 · mgmeyers/obsidian-zotero-integration
导出 markdown 学术笔记为 Word(带文献引用)(obsidian markdown 导出为 Word)
目的:导出为论文引用 Word、md 通过 pandoc 转为 word(保持 zotero 引用)
思源笔记在这一块也是有点差强人意,之前某几个版本思源笔记有幸和 D 大沟通过,但是最后还是无疾而终,草草了事。现在思源笔记虽然可以使用 pandoc 导出笔记为 Word,但是仅仅使用了 Pandoc 的部分功能。
obsidian 中的 obsidian-pandoc 插件可谓是集大成者,可以使用 Word 模板、使用.lua(脚本)转换笔记中对 zotero 条目的引用(对科研工作者很友好)
带 zotero 参考文献转换为 Word
- .lua 文件 (BBT 插件作者写的脚本,可能需要跟随 BBT 而配套更新,export fail 问题解决方法 到这个网站下载 Pandoc filter :https://retorque.re/zotero-better-bibtex/exporting/zotero.lua 放在 download 就可以 (文件夹简单)复制该路径即可)
- Word 模板
OliverBalfour/obsidian-pandoc: Pandoc document export plugin for Obsidian (https://obsidian.md)
Export files from HTML or markdown? Export from markdown,or from the HTML visible in Obsidian?HTML supports fancy plugin features, **markdown supports Pandoc features like citations. 所以选择 markdown 格式,否则无法使用 zotero.lua。**由于以下经验,推荐使用第三种插入图片的方法。
"目前 ob 中 pandoc 插件导出 word 格式并包含本地图片,只有以上这几种方式可以正确识别并导出。 下面用表格更清楚展示:"@HTTP;
插件设置的源格式 | md 文档中的图片格式 | 导出结果 | |
---|---|---|---|
html | ![[附件/202111241058704.png]] |
成功 | |
html | ![[202111241058704.png]] |
失败 | |
我推荐这种 | markdown | ![](附件/202111241058704.png) |
直接导出失败 添加参数 --resource-path="E:\Obsidian文档库\" 成功 |
markdown | ![[附件/202111241058704.png]] |
导出成功,但 wiki 格式图片不识别 | |
markdown | ![](202111241058704.png) |
直接导出失败 添加参数 --resource-path="E:\Obsidian文档库\附件\" 成功 |
|
markdown | ![](file:///E:/Obsidian/XX/202111241058704.png) |
失败,删除 file:/// 协议,导出成功 |
[extra pandoc arguments 参数设置] https://www.bilibili.com/video/BV1iS4y147cz?t=1315.1
-s --resource-path="Z:\softwaredatabase\Obsidian\" --lua-filter=Z:\tools\pandoc\zotero.lua --reference-doc=Z:\tools\pandoc\模板-英文.docx
高级用法:
组合多个文件为一个,Combining Documents · OliverBalfour/obsidian-pandoc Wiki
Citations (work in progress) · OliverBalfour/obsidian-pandoc Wiki ),--metadata bibliography=/path/to/report.bib
,--citeproc
悬浮在引用上时,弹窗可以显示文献条目信息
我在 obsidian 中做成了一半,当悬浮在[@wang2023]这样的子串上时,会有一个悬浮窗,但是弹出信息没有,可能配置不到位。
todo 在思源笔记中高亮参考文献
希望将文档中这样的字符高亮,比如字体使用蓝色加粗,对思源主题、css、js 比较熟悉的友友不知道能不能通过代码片段来实现。
匹配“[]”里面的内容,正则表达式:
\[.*@.+.*\]
[@wang1995]报道了
[@wang1995; @zhao1995] 认为
obsidian 中和 Pandoc 有关的
mgmeyers/obsidian-pandoc-reference-list: Display a formatted reference in Obsidian's sidebar for each pandoc citekey in the active document.,在 obsidian 的小窗口中显示引用的文献。
这个需要一个 Bibliography File(文献库清单?)
如果不显示这个插件的窗口,那么在 obsidian 中 Ctrl+P,输入“Pandoc Reference List:Open view”,点击即可
参考&其它
- obsidian-enhancing-export/README_zh-CN.md at main · mokeyish/obsidian-enhancing-export · GitHub
- 使用 Markdown 搭配 Pandoc 撰写学术论文的详细指南 - 知乎
- deanishe/zothero: Rapidly search and cite Zotero entries from Alfred
- egh/zotxt: zotxt: a Zotero extension for text
- egh/zotxt-emacs
- 整合 zotero, pandoc 进行文献引用_pandoc 参考文献_机房看门人的博客-CSDN 博客
- 使用 Zotero 在 Markdown 中优雅地处理参考文献 |Zotero|Markdown_新浪新闻
- 使用 Zotero 在 Markdown 中优雅地处理参考文献 | 思考问题的熊
- "Better BibTeX 的作者写了一个 lua 脚本 zotero.lua,用来实现从 Markdown 到 Word 实时引用的格式转换。我们可以在 Markdown 文本中写入相关元数据,或者在 pandoc 命令行中进行相关参数设置。"@HTTP
- lowercasename/docdown: A menu bar app to convert Markdown into academia-ready Word documents,An Electron menu bar application which takes Markdown files, filters them through a Zotero bibliography file, a CSL file, and a reference .docx file, and exports a Word document with embedded citations and styles.
- 导出为 .docx 时无法正常转换公式 · Issue #4062 · siyuan-note/siyuan
- 设置 word 模板,Markdown 也能自动转换为美观规范的 Word 文档 - Achuan-2
- 设置 word 模板,Markdown 也能自动转换为美观规范的 Word 文档 - 链滴
- Markdown 写作,Pandoc 转换:我的纯文本学术写作流程 - 少数派
- 使用 [使用 Obsidian 写学术论文 | 文章发了吗?标书写了吗?_哔哩哔哩_bilibili]
https://www.bilibili.com/video/BV1iS4y147cz/
- 使用 Zotero 在 Markdown 中优雅地处理参考文献 - 少数派 @HTTP,这个参考了很多
- Cite as you Write :: Better BibTeX for Zotero zotero 的经典插件
- 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 参考文献格式,很全很全
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于