Org mode 中英混排对齐的问题

在spacemacs中添加了chinese的layer。在org的表格中,中英文对齐还是不行,怎么解决这个问题。

1 个赞

手机,所以只说一个最简单的方法:把字体换成 ubuntu mono 或者文泉驿正黑,什么配置都不用做就可以了

3 个赞

我去网上找了mac的那个字体,能够实现中英文对齐。 我去试试你说的那个。

分别设置中英文的大小,我的设置如下:

(set-face-attribute 'default nil :font
                    (format   "%s:pixelsize=%d" "Source Code Pro" 17))
(dolist (charset '(kana han cjk-misc bopomofo))
  (set-fontset-font (frame-parameter nil 'font) charset
                    (font-spec :family "微软雅黑" :size 20)))
1 个赞

有Emacs China的手机客户端吗:heart_eyes:

Chinese-fonts-setup

解决 org 中英文对齐的神器

我英文Monaco 14,中文STFangsong 16,效果很不错

5 个赞

直接用网页端就挺好

如图,单独设置org-table的字体就行

我自己用的,源博客地址找不到了,mac下效果很好,其它未测试。

(setq fonts
      (cond ((eq system-type 'darwin)     '("Monaco"    "STHeiti"))
            ((eq system-type 'gnu/linux)  '("Menlo"     "WenQuanYi Zen Hei"))
            ((eq system-type 'windows-nt) '("Consolas"  "Microsoft Yahei"))))
(set-face-attribute 'default nil :font
                    (format "%s:pixelsize=%d" (car fonts) 14))
(dolist (charset '(kana han symbol cjk-misc bopomofo))
  (set-fontset-font (frame-parameter nil 'font) charset
                    (font-spec :family (car (cdr fonts)))))
;; Fix chinese font width and rescale
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.2) ("WenQuanYi Micro Hei Mono" . 1.2) ("STHeiti". 1.2)))
3 个赞

请教一下,怎么单独设置org-table的字体呢?

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(org-table ((t (:foreground "#6c71c4" :family "Ubuntu Mono")))))

可以使用emacs自带的配置接口设置

2 个赞

:open_mouth:哦,谢谢

补充说明,如果想要在mac下用sf mono作为英文字体,STHeiti后面的缩放设置成1.3刚好。

以及chinese layer里面有个在中英文之间自动加空格的插件容易导致在中英文混用时候无法对齐,建议养成自己加空格的好习惯,或者将其屏蔽。

以上。

ps:这个办法真的最好用。

借楼主问题追问,如果加<5>这类参数的话,还能对齐么?

1 个赞

我不知道是不是我没有字体的原因,但是在mac下面,就是不好使。

用终端版,解决一切中英烦恼

1 个赞

说实话其实可以用vim :joy: 不管是终端还是图形vim都是对齐的 终端不是所有按键组合都能用的。而且也一般没有图片支持。

如果没有强迫症完全可以在需要导出时用终端导出,自然就对齐了。 如果需要看的时候就对齐那就在需要用表格的org-mode时用终端。我自己就是这样,觉得没什么不好。 需要看图片看latex预览的时候我都用gui版。要变通啊……

当然设置中英字体确实也是很好的解决方案,但对与强迫症的我来说还没找到喜欢的能匹配的中英字体……哭

1 个赞

正解。

这也是事实,你就当做是带着脚镣跳舞吧,需要更小心地编排快捷键。一旦习惯了,会发现适用场合更广了。

我试了下这个方法,效果还不错,等宽是可以做到的,等高好像不行(在一行中只有英文的情况下,输入中文导致英文下沉)。

;; 等宽: Source Code Pro 13 + STkaiti 16
(setq face-font-rescale-alist `(("STkaiti" . ,(/ 16.0 13))))

(set-face-attribute 'default nil :font "Source Code Pro-13")

(set-fontset-font t 'han      (font-spec :family "STkaiti"))
(set-fontset-font t 'cjk-misc (font-spec :family "STkaiti"))

;; 测试
"
| 软件      |  版本 | 发布日期     |
|-----------+-------+--------------|
| GNU Emacs |  25.1 | 2016 年 9 月 |
| Org       | 9.9.5 | 2017 年 2 月 |
"

2 个赞