如何在同一个(org-mode)缓冲区中使用不同的字体?

时间:2016-10-04 18:16:41

标签: emacs

由于我使用Emacs的org-mode进行学术写作,在我的 .org 文件的开头,我总是有一长串的乳胶导出设置:

#+LATEX_HEADER: lorem ipsum dolor
#+LATEX_HEADER: lorem ipsum dolor
...

或分散在表单文档周围的代码段:

#+BEGIN_SRC emacs-lips
lorem ipsum dolor
#+END_SRC

所有这些行( lorem ipsum 部分和#+ BLAHBLAH部分),我希望以单声道间隔字体显示,例如 Liberation Mono ,尊重我在别处定义的自定义颜色和自定义尺寸。

我搜索过,我得出的结论是,按照建议here,使用 font-lock 将是最佳选择。不幸的是,通过查看示例,我无法弄清楚如何正确设置它。我尝试了以下方法,但是正则表达式错误或语法错误:

(add-hook 'org-mode-hook
          (lambda ()
           (font-lock-add-keywords nil
            '(("^\#\+.*$" 1
               font-lock-comment-face t)))))

所以,问题是:有人能够解决这个问题吗?或者,有人会提出不同的建议吗?

2 个答案:

答案 0 :(得分:1)

我试图为我找到类似的东西。 在我在这里和Emacs Stack Exchange中寻找其他答案之后,我提出了以下代码。

(add-hook 'org-mode-hook
            '(lambda ()
               (variable-pitch-mode 1) ;; All fonts with variable pitch.
               (mapc
                (lambda (face) ;; Other fonts with fixed-pitch.
                  (set-face-attribute face nil :inherit 'fixed-pitch))
                (list 'org-code 
                      'org-link 
                      'org-block
                      'org-table
                      'org-block-begin-line
                      'org-block-end-line
                      'org-meta-line
                      'org-document-info-keyword))))

我尝试使用Emacs 25.1和Org-mode 9.0.3。

答案 1 :(得分:0)

您始终可以在文件顶部使用* Configuration :ARCHIVE:标记创建标题ARCHIVE。这样可以防止标题被扩展,从正常视图中隐藏它。 The ARCHIVE tag

  
      当您尝试使用可见性循环命令执行此操作时,
  • [...]不会打开(请参阅可见性循环)。您可以强制循环存档   使用C-TAB的子树,或通过设置选项   ORG-周期开放式存档树。也是正常的大纲命令   show-all将打开存档的子树。
  •   
  • 在稀疏树构造期间(请参阅稀疏树),除非您配置选项,否则不会公开存档子树中的匹配项   组织稀疏树开存档的树。
  •   
  • 在议程视图构建期间(请参阅日程视图),除非您配置该选项,否则将忽略已归档树的内容   org-agenda-skip-archived-trees,在这种情况下,这些树将永远   包括在内。在议程中,您可以按v a获取档案   暂时包括在内。
  •   
  • 不会导出已存档的树(请参阅导出),只有标题为。使用变量配置详细信息   ORG-出口与归档的树。
  •   
  • 除非将变量org-columns-skip-archived-trees配置为nil,否则将从列视图中排除已存档的树。
  •   

如果您设置'(org-export-with-archived-trees nil),则可以使用LaTeX导出。