Orgmode 的优化
文章目录
最近从 Prime Day 解放,我终于又有时间捣鼓我的 Orgmode 了。其实缘起是同事给我看了他直接用 vscode ssh 到 cloud desktop 上写码运行 debug 的流程,让我很是心动。但是作为一个 Emacs 资深病患,我的第一反应是能不能用 Emacs 实现这套流程。不过我一直没怎么搞明白如何不卡顿地使用 Tramp,Emacs 在运行 Jupyter Notebook 上也需要更多的设置,就此作罢。
不过既然起了这个钻研 Orgmode 的头,我不经又想起了几个让我很纠结的问题。
Latex 公式
首先是 Latex 的显示。Orgmode 中,可以使用几种方式显示 latex 公式,分别是
|
|
效果如下:
If and , then the solution must be either or .
而要切换公式显示,则需要 C-c C-x C-l
。我并不擅长记这些快捷键,所以经常想预览的时候就忘记了。Kitchin 曾给出一个采用鼠标切换的方案,但是年久失修,已经不能用了。今天搜了一下,已经有 org-fragtog
可以完成鼠标切换了。
解决了切换的问题,下一个则是自动编号的问题。Kitchin 曾给出一个方案,但是同样年久失修。Youtube 上有人秀出了他的自动编号方案,然而没有代码,也就相当于没有。唯一可行的方案是在 Stackoverflow 上利用 tag 的,略有些复杂。首先定义一个 function:
|
|
然后给公式加上 tag。
|
|
然后运行这个 function 就可以自动编号了。
效果如下:
Latex 公式在 retina 屏幕下会非常的糊,一是因为它会先转换成图片格式再显示,也是因为 Emacs 在 Mac 上有 known blurry issue。Stackoverflow 中有几种解决方案,有说将 org-preview-latex-default-process
从 dvipng 换成 dvisvgm 的,有生成 2 倍的图片再缩放显示的。我操作下来感觉还是 emacs-plus 的问题,用 emacs-mac build 了之后就非常清晰了,但是随之而来的就是 Emacs 肉眼可见变得卡顿了,关掉 flycheck 后会一点帮助,但还是比 emacs-plus 卡一点。可能我要体验一段时间才知道这是不是我可以忍受的范围。
优化显示效果的 minor mode 总结
- org-indent: 自动给各级标题缩排
- org-num: 自动给各级标题编号
- org-bars (git): 在 org-indent 的基础上给 org-mode 增加树状线和标题展开收缩状态标。不过这和我的标签对齐设置有一点冲突,我个人觉得 org-indent 已经够用了。
- org-fragtog (git): 可以用鼠标来切换 Latex 公式显示与否。
- Valign (git): 可以对齐不等宽字符和中英文,而且加上
valign-fancy-bar
后表格也会更好看。1 2 3 4 5 6
(require-package 'valign) (use-package valign :config (setq valign-fancy-bar t) (add-hook 'org-mode-hook #'valign-mode) )
其他优化
样式:orgmode 默认不会将带引号的词渲染成代码或等字样式,所以需要对 org-emphasis-regexp-components
这个 list 进行魔改。这个 list 由渲染字段前后允许字符,禁止的边界字符,允许渲染的字符以及允许渲染的行数组成,而我的设置如下:
|
|
代码框:我一般使用以下设置来使代码框中的代码自动排版:
|
|
中英文自动空格:
|
|
显示标题收缩状态
|
|
文章作者 ziyunch
上次更新 2023-07-23