Org mode - 改变代码块的背景颜色

10
以下代码将把HTML导出的背景颜色更改为#eff0fe:
#+ATTR_HTML: :style background-color:#eff0fe;
#+BEGIN_EXAMPLE
hello world!
#+END_EXAMPLE

像下面这样:

enter image description here

我们如何在编辑Emacs时更改背景颜色?

我看到 源代码块的漂亮字体 文档,但好像对我没用!

2个回答

12

另一种方法(我认为更通用)在 此页面中有详细说明,我已经将片段复制粘贴到这里。它只会更改代码块,而不会更改 #+BEGIN#+END#+RESULTS 行。

下面的示例将相对于您的emacs主题的背景颜色使代码块变暗3%(请注意最后一个参数中的数字3)。但是,如果您在编辑期间更改主题,则代码块的颜色将保持不变。

(require 'color)
(set-face-attribute 'org-block nil :background
                    (color-darken-name
                     (face-attribute 'default :background) 3))

使用浅色主题的输出:

light

使用深色主题的输出:

dark

您可以进一步修改单个编程语言的代码块颜色。以下示例将修改 emacs-lisp 和 python 的代码块颜色。

(setq org-src-block-faces '(("emacs-lisp" (:background "#EEE2FF"))
                            ("python" (:background "#E5FFB8"))))

要么URL不准确,要么已经被更改。正确的URL是https://orgmode.org/manual/Editing-Source-Code.html。 - Sam

7
听起来好像有些面部名称已更改,下面的配置可以正常工作:
(custom-set-faces
 '(org-block-begin-line
   ((t (:underline "#A7A6AA" :foreground "#008ED1" :background "#EAEAFF" :extend t))))
 '(org-block
   ((t (:background "#EFF0F1" :extend t))))
 '(org-block-end-line
   ((t (:overline "#A7A6AA" :foreground "#008ED1" :background "#EAEAFF" :extend t))))
 )

输出: 在这里输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接