2012-06-12 19 views
12

Estoy usando org-mode V7.8.09. Cuando yo estaba tratando de exportar el siguiente bloque de código C++ a html,Modo-Org no pudo resaltar el código fuente de C++ al exportar html

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

falló con el mensaje

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

Curiosamente, si reclamo que es el código Python, exporta con éxito ...

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

Después agrego (org-babel-do-load-languages 'org-babel-load-languages '((C . t))) en mi init.el, el mensaje de error se ha ido y los códigos C++ se pueden exportar a hTML con éxito. Pero los códigos de C++ no están resaltados, mientras que los códigos de pitón se destacan bien.

+0

Es curioso que una búsqueda en Google del nombre de la variable muestre solo seis resultados. y todos tratan con Python ... – Matthias

+0

intente usar 'cpp' en lugar de' C++ ' – cm2

+0

ya intentado C++, C++, cpp, CPP, Cpp, ninguno de estos trabajos :-( – updogliu

Respuesta

3

El paquete que usted necesita carga es emacs/lisp/org/ob-c.el

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

no es C++ paquete

fichero de configuración .emacs.el:

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

documento org:

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

para mi trabajo (fontify y en funcionamiento) SOLAMENTE con source_name CPP

Candido

+1

Simplemente poniendo' (setq org-src-fontify-natively t) 'en mi archivo' ~/.emacs' funciona para mí en Emacs 24.3.1 –