如何在orgmode下增加line-spacing但不让underline和字体分离?

不同字体占据的高/宽不同,对齐方式不同。有没有改过 baseline,上下 padding 是多少。

如果行高是动态的,你往字母行里输入一个汉字,可以明显看到行高增加。

如果行高是固定的,也会因为字符占据的高度不同,造成上下行间距疏密不一的视觉效果。

你不给出可重现的完整脚本,继续讨论的意义不大。


补充:doom 会压缩最后一行的高度

末尾无空行 末尾有空行

这是我自己的doom 配置链接:

其中跟这里相关的要么在init-basic要么在init-org.我自己截取相关段落放在这里:

(setq user-full-name "Isaac Wang"
      user-mail-address "[email protected]"
      company-idle-delay 0.1
      flycheck-checker-error-threshold 50000
      org-directory "~/org/"
      display-line-numbers-type t
      confirm-kill-emacs nil
      doom-modeline-major-mode-icon t
      lsp-file-watch-threshold 50000
      doom-font (font-spec :family "MonacoB" :size 13)
      doom-unicode-font (font-spec :family "Monaco Nerd Font Mono" :size 14)
      treemacs-width 32)
(setq-default cursor-type 'bar)
(+global-word-wrap-mode +1)
;;中文字体
(if (display-graphic-p)
    (progn
      (dolist (charset '(kana han symbol cjk-misc bopomofo))
        (set-fontset-font (frame-parameter nil 'font)
                          charset
                          (font-spec :family "STHeiti" :size 14)))))

这里是我对字体的全部相关设置。我试过把monaco换成别的字体,结果是一样的。 下面是org的:

(add-hook! 'org-mode-hook (kill-local-variable 'line-spacing)(setq-local default-text-properties '(line-spacing 0.2 line-height 1.25)) )

实际上我自己把所有配置都删了只剩下一个add-hook 'org-mode-hook那一句的时候,结果也是一样的。 我自己填的东西真的很少,因为我自己的水平也就是会用一下setq的水平。。。 :rofl: 至于你说的baseline, padding之类的,我是一点也没有动过。

感谢大佬。

说错了,这个现象是 (setq-local default-text-properties '(line-spacing ...)) 引起的,用 emacs -Q --eval ... 可重现。

试了下。确实是这样。那就是emacs自己的锅了,最后一行高度压缩应该是无解的,不过这个不重要。

wrap-mode下被wrap的行不算行高倒是比较坑爹。目前也没找到解决办法。