【问题标题】:Org-mode strike-through color组织模式删除线颜色
【发布时间】:2012-10-22 19:33:22
【问题描述】:

Org 模式下的删除线文本(如:+text+)默认为黑色。我想让它们变灰。问题是,我找不到定制它的地方。我试过M=x describe-face,结果是“默认脸”,令人费解。 Org-mode没有配置删除线颜色的地方吗?

【问题讨论】:

  • 您使用的是什么版本的 org-mode?在我的 7.9.1 中 +text+ 不改变颜色,只出现一条罢工线。
  • 我的是 7.7。我的意思是,我希望它改变颜色。
  • 据我从文档中得知,删除线 不是 脸,而是文本/脸的属性,在这种情况下被强加在任何有效的面孔(例如,默认面孔)。换句话说,您无法使用自定义面进行自定义。

标签: emacs org-mode emacs-faces


【解决方案1】:

使用 M-x customize-variable 自定义 org-emphasis-alist 变量。找到“标记字符”为+ 的列表条目,然后在“值菜单”弹出窗口中选择“字体锁定”选项。输入您选择的面孔的值,您可以按照通常的方式自定义其确切外观,例如使用 M-x customize-face

或者,更简洁:

(require 'cl)   ; for delete*
(setq org-emphasis-alist
      (cons '("+" '(:strike-through t :foreground "gray"))
            (delete* "+" org-emphasis-alist :key 'car :test 'equal)))

【讨论】:

  • 这个答案仍然是相关的并且有效,但是 cl 包已经被 Emacs 27 弃用。也许不依赖于 cl 的方法是定义一个自定义 org-custom-strike-through面并将其应用于org-emphasis-alist下的custom-set-variables。我可以看到,最近在org-faces 的删除面上有一个针对defface 的补丁,但它没有被合并(idk,我可能弄错了)? source
  • @mnestorov cl 已被弃用,但 cl-lib 仍然有效,并且定义了 cl-delete,它等同于 delete*。当然,你也可以不使用任何一个,但它会不那么优雅/简洁。
  • 是的,确实如此 :) 我只是觉得提一下它是个好主意,因为我最近调查了 cl 的情况。
猜你喜欢
  • 1970-01-01
  • 2010-09-11
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
相关资源
最近更新 更多