导出html时,组织模式无法突出显示C ++源代码

时间:2012-06-12 06:47:40

标签: c++ emacs org-mode

我正在使用org-mode V7.8.09。当我尝试将以下c ++代码块导出到html时,

#+begin_src c++
  int a=1;
  int b=1;
  printf("%d\n", a+b);
#+end_src

它失败并带有消息

org-babel-exp processing...
font-lock-fontify-keywords-region: Symbol's value as variable is void: font-lock-end-statement-face`

有趣的是,如果我声称它是python代码,它会成功导出...

#+begin_src python
  int a=1;
  int b=1;
  printf("%d\n", a+b);
#+end_src

我在(org-babel-do-load-languages 'org-babel-load-languages '((C . t)))中添加init.el后,错误消息消失了,c ++代码可以成功导出到html。但是c ++代码没有突出显示,而python代码被突出显示。

1 个答案:

答案 0 :(得分:4)

您需要加载的软件包是emacs / lisp / org / ob-C.el

https://bitbucket.org/nobeira/dot.emacs.d/src/c6af5b1535b1/elisp/org-7.4/lisp/ob-C.el

没有C ++包

.emacs.el配置文件:

(org-babel-load-languages (C . t)))
(setq org-src-fontify-natively t)

组织文件:

#+BEGIN_SRC cpp   :includes <stdio.h> :exports both
 int a=1;
 int b=1;
 printf("%d\n", a+b);
#+END_SRC

对我来说(fontify and running)只能使用cpp source_name