【问题标题】:`variable-pitch` for org-mode, fixed-pitch for tables?组织模式的“可变间距”,表格的固定间距?
【发布时间】:2011-04-15 01:28:37
【问题描述】:

我发现了variable-pitch-modethrough a thread here on StackOverflow,在org-mode写的时候很方便,眼睛和一切都更方便。但是在使用比例字体时,在 org 中使用表格几乎毫无价值。能够使用表格是org-mode :-( 的优势之一

有没有什么方法可以为文本、标题等设置比例字体,但org-mode 中的表格使用等宽字体?

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

    看看这是否有效,

    (set-face-attribute 'org-table nil :inherit 'fixed-pitch)

    您可以使用 C-u C-x = 来查看哪个面在特定点有效。

    【讨论】:

    • 太棒了!就像我想要的那样工作:)
    • 您是如何发现该表是 'org-table 的?我想在 SQL 缓冲区的输出上使用这个解决方案
    • @EoghanM:如果“C-u C-x =”没有给出“face”或“font-lock-face”的名称,那么默认情况下,有效的面将是“default”。上述方法仅适用于缓冲区以字体锁定模式突出显示或以其他方式标记在不同面中的情况。
    • 出于某种原因,虽然运行describe-face 告诉我字体应该继承自'fixed-pitch(或者在我的情况下只是'default),但显示的字体仍然是'variable-pitch...
    • 没关系似乎是buffer-local-theme 包导致了这个错误。
    【解决方案2】:

    此代码将使表格和 ascii 艺术和源代码块以等宽字体显示,同时保留表格的其他字体属性(例如蓝色)等。代码基于另一个答案,唯一的区别是保存。

    (defun my-adjoin-to-list-or-symbol (element list-or-symbol)
      (let ((list (if (not (listp list-or-symbol))
                      (list list-or-symbol)
                    list-or-symbol)))
        (require 'cl-lib)
        (cl-adjoin element list)))
    
    (eval-after-load "org"
      '(mapc
        (lambda (face)
          (set-face-attribute
           face nil
           :inherit
           (my-adjoin-to-list-or-symbol
            'fixed-pitch
            (face-attribute face :inherit))))
        (list 'org-code 'org-block 'org-table 'org-block-background)))
    

    如果您想了解其工作原理以及如何将其应用于其他情况(例如信息模式),请阅读my post on the subject

    【讨论】:

    • 出于某种原因,虽然运行describe-face 告诉我字体应该继承自'fixed-pitch(或者在我的情况下只是'default),但显示的字体仍然是'variable-pitch...
    • 没关系似乎是 buffer-local-theme 包导致了这个错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多