Org mode 中英混排对齐的问题

微软雅黑的问题是:日历不整齐!!!

可以直接用更纱黑体,字体默认中英文等宽,而且还等高

就是字体文件有点大,最新版所有字体解压出来8G多 :rofl:

1 个赞

8g多的字体 我电脑才2g的内存啊

主要是字体文件个数太多了,总共好像有250个左右,每个字体其实也就30M左右的样子

找个电脑解压下,然后只把自己要用的字体拷贝过去也不影响使用

老一个版本的要小一点,3G多的样子

我也用的这个,很完美。

只安装用于的字体就好了,比如我就只装了 Sarasa Mono SC 相关的东西。

  • 拼字体的方式不能换字号,不然又对不齐了;而且不等高
  • Sarasa和M+字体好看,而且严格等宽等高,但是没有斜体

所以我现在是只在 org-table 里使用 M+ 字体,其他地方用 Hack。参考配置:

(set-face-attribute 'default nil :family "Hack" :height 100 :weight 'normal)
(set-face-attribute 'org-table nil :family "M+ 1m" :height 100 :weight 'normal)

谢谢你的建议

非常感谢

mac下应该就是这个字体好使,其他我都试了不行,只要配置这么一行就行,只改org-table的字体,应该是最简单的。 (set-face-attribute 'org-table nil :family “Inconsolata”)

单独设置org表哥的字体为Sarasa,会出现楼上提到的链接不对齐的情况 (set-face-attribute 'org-table nil :family "Sarasa Term TC"), 看来真是没有特别完美的方案啊

把link的face也订制了?

1 个赞

多谢提醒!这下终于搞定了

我的解决方案这个链接访问不了了

org表格对齐的问题,耽误了很多人的很多时间。回头想想,真的是浪费生命。:joy:

2 个赞

至少我orgmode的table能对齐,不像markdow的table,怎么都对不齐

如果把tex对于字符的概念引入emacs的字符显示层,是不是能从根本上解决字符显示宽度的问题呢?

结果就会像 TeXmacs 那样输入反馈极慢

中英对齐了有个问题:dired-rename如果文字长度超出1行,minibuffer里面换行第1行会乱

  1. use this setting

     (defun my-minibuffer-setup ()
     (visual-line-mode 1)
     (setq truncate-lines nil))
    

    (add-hook 'minibuffer-setup-hook 'my-minibuffer-setup)

  2. on a dired buffer run dired-do-rename

  3. first paste the string from the kill ring, then keep pressing a key, eg i, and you will see the first line is not wrapped.

我写了一个小工具来对齐 org table, 欢迎试用.

1 个赞

用 Sarasa Mono 试试看呢?

1 个赞

如果你用 Doom Emacs 的话,使用下面的代码可以解决中英文等宽问题,使用的字体是 Sarasa Mono。其他配置也可以参考改一改。

来源:emacs配置_xhcoding的博客-CSDN博客

(setq doom-font
      (font-spec :family "Sarasa Mono SC" :size 18 :weight 'normal))

(after! doom-big-font-mode
  (setq doom-font
        (font-spec :family "Sarasa Mono SC")))

;; https://blog.csdn.net/xh_acmagic/article/details/78939246
(defun +my/better-font()
  (interactive)
  ;; english font
  (if (display-graphic-p)
      (progn
        (set-face-attribute 'default nil :font (format   "%s:pixelsize=%d" "Sarasa Mono SC" 18)) ;; 11 13 17 19 23
        ;; chinese font
        (dolist (charset '(kana han symbol cjk-misc bopomofo))
          (set-fontset-font (frame-parameter nil 'font)
                            charset
                            (font-spec :family "Sarasa Mono SC")))) ;; 14 16 20 22 28
    ))

(defun +my|init-font(frame)
  (with-selected-frame frame
    (if (display-graphic-p)
        (+my/better-font))))

(if (and (fboundp 'daemonp) (daemonp))
    (add-hook 'after-make-frame-functions #'+my|init-font)
  (+my/better-font))