外观

使用了名为 Border theme的主题:

通过 Style Settings 主题可以进行进一步的自定义配置。

首先可以隐藏 ob 自带的页面元素,如果追求简洁的话可以全部隐藏:

{
  "Components@@tab-autohide": true,
  "Components@@status-bar-autohide": true,
  "Components@@Ribbon-autohide": true,
  "Components@@tab-title-bar-autohide": true
}

想要比较美观的半透明效果,主要是要设置 translucent 属性为全透明:

{
	"Appearance-light@@workspace-background-translucent@@light": "#FFFFFF00"
}

开启卡片布局:

{
	"Appearance-light@@card-layout-open-light": true
}

针对中文内容可以将两端对齐打开:

{
  "Editor@@text-align-justify": true
}

学术

使用 ob 来做文献记录和学术写作是很常见的需求。我使用 zotero 来进行文献的管理,网上搜索“Obsidian + zotero 联动”会得到一大堆结果,但通常会比较麻烦;好在目前已经有了一个现代化的解决方案:zotlit,这个插件基本上可称观止,所有的需求该插件都满足了:

具体使用方式不再赘述,请参见官方文档;如下是我的文献笔记模板 zt-note.eta.md,诸位随意取用,也请根据自己的需求修改。

#  <%= it.title %>
 
 
 
# Abstract
 
> 对应论文的“Abstract” ,言简意赅的对文章的Abstract进行简短总结,可以采用如下句式:针对什么问题,采用什么方法,达到了什么效果。
 
<%= it.abstractNote.first().replace(/[\r\n]+/g, " ") %>
 
翻译:
 
# Introduction
 
> 对应论文的“Introduction”章节,言简意赅的对文章的Introduction进行总结。这一章节作者一般会列出相关的参考文献,描述要解决问题是如何提出的,近年来学者们针对这个问题提出了哪些方法,这些方法各有什么优缺点,本文主要是将针对哪些还没有解决好的方面展开研究。
 
 
 
# Methodology
 
> 对应论文的方法章节,言简意赅的对文章提出的核心方法进行总结。首先,以流程图、跨图的方式向大家介绍整个算法/方法的框架和步骤;而后,针对跨图中的关键步骤进行详细的介绍,如某个关键参数如何计算、某个训练算法的实现细节,这里需要精读论文,尽量做到搞懂;
 
 
 
# Experiment
 
> 对应论文的实验结果,言简意赅的对文章方法的实验方法和实验结果进行总结。针对实验方法,作者是设计了哪些实验,每个实验的目的是什么,实验的对比/参照物如何选择和设计;针对实验结果,针对每个实验,以图表的方式列出实验结果,对比作者提出方法与其他相关方法差异;总结实验的结论,即回答作者提出的方法是否解决了拟解决的问题,解决的效果怎么样,如果效果不达预期,作者是如何分析原因的。
 
 
 
# Contribution
 
> 对应论文的总结章节或者主要贡献章节。注意!主要贡献不是讲作者做了哪些工作,不要描述性的说作者干了什么,而是总结作者的方法解决了哪些前人没有解决好的问题或者没有搞清楚的原理。另外,关注下作者的工作是否上传到网上开源了,如果开源了试着去复现。
 
 
 
# Follow
 
> 结合我们的工作,思考:作者的方法是否可以应用到我们的工作中;作者的方法是否还存在可以改进之处。
 
 
 
# 关联
 
-  [Zotero] (<%= it.backlink %>) 
-  [url] (<%= it.url %>)
-  <%= it.fileLink %>

使用 ob(或其他 Markdown 工具)来做文献笔记还有一个好处,就是可以使用 advanced-slides 方便的转换成 slide,这样就可以省下了组会做汇报时制作 PPT 的时间(迫真)。

编辑体验

TLDR:

  • 中文文本格式:easy typing;
  • 工作区管理:Quick Switcher++ 和 Workspace plus;
  • 公式输入:LaTeX Suite;

编辑体验其实还是个蛮重要的事情,如果写作过程中总是感觉别扭,久而久之就不想写了,于是跑去摸鱼,这事不好的。

首先是符号输入。Markdown 这个东西其实很美国中心主义,其中常用的几种符号全是美式字符(比如数学公式的$字符),这对于使用中文输入的我们来说不太友好。有人为此把输入法的默认标点改成了英文的,我感觉有点因小失大了,md 自身的问题还是要 md 自己解决。Ob 插件里有一个名为 easy-typing 的插件,对中文输入做了很多增强,如 【【 自动转换为 [[]],中文括号自动闭合,中英文之间自动空格等等,非常建议使用。

然后是标签页。原来我以为标签页分屏已经足够好用了,直到偶然知道了 Obsidian 中有一个名叫 Andy’s Mode 的机制(官方名称叫堆叠标签页),这个功能把所有标签页从左至右堆叠在了一起,可以通过左右滑动来查看:

当你想在 ob 中同时浏览多个信息源的信息时,会发现这种滚轴式的浏览是很舒服的。开启这个功能很简单,在命令面板中搜索“堆叠”即可开启。

接下来考虑多窗口问题。有时候你需要在 ob 中同时处理不同种类的任务,比如需要做论文阅读和课程笔记,这时你会想把同一个任务下的多个标签页放在一个单独的窗口中,彼此隔离——可惜 ob 不支持完整的多窗口,尽管现在有一个名为“在新窗口中打开当前面板”的功能,但可惜新面板不具有完整功能且只能打开单个标签页,使用很不方便。引入工作区即可很好的解决这一需求,但 ob 自带的工作区核心插件功能较弱,因此需要通过两个插件:Quick Switcher++Workspace plus 来共同补全其功能:

  • Quick Switcher 提供了使用命令面板快速切换工作区的功能,可以通过名称搜索工作区,就像切换文件一样自然;
    • 建议工作区使用英文命名,这样搜索起来会方便输入一些;
  • Workspace plus 提供了自动保存工作区布局的功能,在切换不同工作区时不需要手动保存当前布局;

最后是理工科朋友可能用的比较多的公式输入功能。主要参考用 LaTeX 实时做课堂笔记,在 ob 中引入 LaTeX suite 插件,可以做到像打字一样快的输入各种 LaTeX 符号。我个人使用的LaTeX 快捷输入模板供各位取用: latex.js

模板

基础文件模板:

---
TLDR: 
created:
updated:
tags: []
aliases: []
topics: []
---
<%* 
let title = tp.file.title
if (title.startsWith("未命名")) {
	title = await tp.system.prompt("文件名:")
	await tp.file.rename(title)
}
-%>
 
# <% title %>
 
<% tp.file.cursor(0) %>
 
# 关联
 
## 参考
 
## 子话题
 
```dataview
TABLE WITHOUT ID 
choice(title, link(file.link, title), file.link) as title, topics, TLDR
where contains(topics, [[]])
```
 
## 相关话题
 

将上述内容放置在一个指定文件中,然后在 Templater 插件中设置全局模板,即可在创建新文件时默认使用该模板。

如果你希望某些文件夹内使用特殊模板的话也可以仿照上述的方法设置局部模板。

模板的使用示例:

阅读

使用名为 PDF++ 的插件可以极大增强在 ob 中进行 pdf 阅读批注的体验。

传统的阅读批注方式为在阅读内容上划线并对每一条划线附上批注,但问题在于:

  • 并不是每一条划线都值得单独批注,有可能一段中的多个划线共同阐述了一个观点,如果只对这一族划线中的一个进行批注,则失去了一致性;
  • 如果为了确保一致性而将所有内容都划上线,那么划线这个行为本身就没什么意义了;

可以看出,传统的阅读批注缺少了一种“聚合”的能力,即对若干离散的划线进行统一的批注。好在通过这个插件,可以在 markdown 文件中模拟出这样一种聚合:

将多条划线内容聚合放置在一起,然后在下面对这一族划线进行统一的批注,这样既保留了划线的意义,又保留了批注的一致性。

其他

  • Auto Link Title:粘贴链接时自动获取链接标题;
  • Better Word Count:字符统计;
  • Clear Unused Images:删除未引用图片;
  • Floating toc:侧边悬浮目录;
  • Footnote Shortcut:快速添加脚注;
  • Github Publisher:博客发表;
  • Recent Files:最近文件;
  • Surfing:应用内打开网页;
  • Update time on edit:自动更新 frontmatter 中的时间;

相关文章