Neovim 用户请教关于使用 Emacs Orgmode 做理科笔记的一些建议

nabla 我稍微看过,感觉在有 GUI 的情况下没必要这样写数学公式,好好用图形界面不好吗

math-preview 和 xenops 使用起来有什么区别呢?

首先肯定一下用 org 肯定比直接用 latex 方便(易读易组织易标记 etc.) 这个观点: 前者是笔记工具, 后者是排版工具.

  1. 最简单的啥都不用装, cursor 在 org latex fragments 上点击 C-c ', 你就可以一边预览公式一边编辑公式 latex 了. 这也是我个人用的方案, 不过我在细节上有自己的 elisp 加强. 如果你要个包进行预览, 推荐 GitHub - guanyilun/org-elp: Preview equations live in org-mode. 这个包的特点是直接用 latex 而不是 mathjax/katex. 后者是你 markdown 用的东西.
  2. 简单的 cdlatex, 复杂的你就用通用的 yasnippet
  3. 可以, 文件/node/字词 级别的跳转都有, 前两者建议都用 org-id 实现. 别走直接 link 文件名/node名的弯路

最后多说一句, 如果你对 elisp 和 org (不仅是操作, 而且包括 org-element 之类的 API 调用)都熟了以后, 你就不用问啥可以不可以了, 你基本想干啥都可以. 如果以这个为目的, 建议从零配置, 但是缺点是很长一段时间你的 org 都不能真正实用化, 这个时间少则几个月, 多则一年.

2 个赞

用 org-fragtog 在 org 下预览还是很稳的,但我很少在 tex-mode 下写。 感觉整个 latex 生态里的 emacs 工具太多了,@Voleking 提到的 Karthinks 的文章,虽然做了梳理,图和内容都很好,但一下给的工具太多了,带来的混乱和清晰对半开(刚开始读完有被插件淹没的感觉,加重了选择困难),另外他目前只写了图里一小部分,列出的工具之间功能重叠又很大,一直搞不清怎么选择

(图源: LaTeX Input for Impatient Scholars | Karthinks

现在基本就是自己写 snippet + org-fragtog 预览,cdlatex 和 LaTeX-auto-activating-snippets 虽说可以 “高效”, 但还是得自己记住缩写或者临时按快捷键查表,不知道有没有更好的方式

7 个赞

這張圖很漂亮,怎麼畫的呢?

作者说是用 Inkscape.

我推荐先使用doom emacs这样的配置系统,我个人就用了有个两三年 doom,最近重装系统才开始决定从零攒配置。 不过从零攒配置的话也不是太难,只要你的需求一上来不是太复杂:

这是我目前的配置,用到的是比较新的elpaca包管理器。包看起来不算太少但是其实除了companymeowcorfu这几个比较重要的模块以外,其他模块代码都非常少。elpaca搭配use-package也很简单。基本上用elpaca提供的elpaca-use-package就可以无脑去插件官网抄配置了。

这是latex相关配置的内容。基本上是从官网照抄的。

elpaca的配置也是直接复制粘贴官网的,然后(elpaca-use-package xxx)就配置上插件了,安装加载elpaca会在后台异步地进行。启动完全在1秒之下。

(不过也有个小问题,melpa的包会出现package.el找不到的情况,需要在custom.el里面再补上)

总之我现在觉得自己从0配置好像也不是很麻烦,而且跟用doom相比较很多地方也变得清晰好理解了许多,doomspacemacs的易用性虽然好,但是感觉封装有点深,自己客制化的时候感觉会有点束手束脚地,尤其是因为不是很懂emacs而使用它们的时候。

5 个赞

感谢!我的 Neovim 配置是从 0 开始攒的,但是 Emacs 的配置难度还要高很多,打算先用 Doom 了

  1. Org 本身有 org-latex-preview
(org-latex-preview &optional ARG)

Toggle preview of the LaTeX fragment at point.

If the cursor is on a LaTeX fragment, create the image and
overlay it over the source code, if there is none.  Remove it
otherwise.  If there is no fragment at point, display images for
all fragments in the current section.

With a ‘C-u’ prefix argument ARG, clear images for all fragments
in the current section.

With a ‘C-u C-u’ prefix argument ARG, display image for all
fragments in the buffer.

With a ‘C-u C-u C-u’ prefix argument ARG, clear image for all
fragments in the buffer.

我一直在用,没有遇到什么无法渲染的情况。

  1. 模板系统最好的还是 YASnippet,支持条件扩展,支持模板嵌套,支持多光标,支持input transformation,支持区分major-mode以及分组, 甚至支持在snippet中插入Elisp代码,扩展的时候会自动运行。所以说你可以在emacs里面输入 im-back 然后按一下trigger键,文本会扩展成 Welcome Home. ,同时你家里的灯和咖啡机就自动打开了。

更多的功能可以看文档

输符号和字母可以用cdlatex,其他的模板既可以自己写也可以用社区里别人分享出来的,资源很多。

  1. Orgmode原生支持插入链接并打开,你可以在某个文档里面插入 [[file:another_file.org][Another File]],把光标移到链接上,然后按 C-c C-o 就会打开。

链接不一定只能是文件名,比如:

摘自Org Manual #4.4

‘file:sometextfile::NNN’ (jump to line number)
‘file:projects.org’
‘file:projects.org::some words’ (text search)
‘file:projects.org::*task title’ (headline search)
‘file:projects.org::#custom-id’ (headline search)

YASnippet 最后一次维护是在 2020 年,有点担心项目的状态…

1 个赞

你说的对,所以我现在没有用neovim记笔记了呀😂。记笔记建议不要折腾latex,如果只是做笔记的话,latex除了数学公式以外没有任何优势,数学公式直接在org里写就行了。我使用的是doom emacs,在org里预览数学公式就直接 M-x org-preview-latex 就完事了,也从来没去研究过额外还要配置啥包。我的 doom 配置基本上都是修改它的快捷键,主题以及默认的一些模版😂。

如果你是准备现在就上doom的船的话,我建议你不要频繁的更新doom版本,因为doom最近似乎在进行一次大的重构/升级,更新非常频繁,每次更新以后大大小小的bug还是不少的,可以翻一下commit记录,找一个稍微早一点的,提交没那么频繁的时候的版本装上,不要频繁更新。

OK,谢谢建议

xenops的功能更多,但是使用add-hook的方式随org启动,严重影响启动速度。

math-preview就专注于公式渲染,功能更单一,且不影响org的启动速度。

如果你使用linux,且需要光标置于公式上时实时预览公式,那么使用popweb就很好。

不推荐使用org自带的公式预览的方法,这个会在文件夹下生成相应的图片,污染文件夹内容,个人不喜欢这样。如果你使用两套主题(亮色和暗色),这种方式需要重新生成图片。math-preview就没有这种问题。

popweb 是和 math-preview, xenops 平行的另一个同类插件吗?我使用 Linux,但是我想要的是光标在公式上时显示源码方便编辑,光标挪开就显示渲染效果方便阅读(或者一直都显示渲染效果在 LateX 源码上/下也可)

没用过 popweb 和 math-preview,xenops 可以做到光标挪开就显示渲染效果,光标在公式上显示源码(按一下enter),xenops 还有一点是很方便放大缩小。把 org-mode 的呈现美化一下,结合 xenops,可以替代 ppt 作展示用。

哈哈,有时间的时候我去试试

popweb 还有其他的功能,可以用来显示单词翻译,org-roam的预览等。

math-preview就只是用来看公式。我平常的使用是,编辑完公式按快捷键渲染,如果要重新编辑就公式上回车显示原码。可以一直显示渲染效果,也可以通过一键显示源码。

我原先使用evil,后来觉得这个包太重,需要引入一堆的相关的包。如果你喜欢且熟炼使用vim,那么可以继续使用evil。

其他的模式编辑,Meow很好用,用了很长的时间,和Emacs的结合很好,不需要同时按ctrl键,小拇指很友好。

目前己经完全切换到Emacs按键3个月了,体验很好,很统一。不喜欢总是要去按esc,才切换到Emacs原生按键上的。此外,我换了电脑Mac,系统的按键风格是Emacs的,这样体验比较统一。

2 个赞

如果你能接受形码输入法,可以看看三码郑码方案。纯打单,不需要考虑词库、分词等问题。

在Emacs中使用emacs-rime,我的日常使用是不用开候选栏的。

其实vim用户都是使用jk,jj之类的映射成esc的,少部分vim用户会把caps映射成esc,但是emacs用户都已经把caps映射成ctrl了,所以不可行。

甚至doomemacs默认就直接把jk映射成了esc,每次打字完了顺手连按两下jk速非常方便舒服的肌肉记忆,因为jk就在主键区正中间,完全不需要移动手腕。