This is the official manual for the latest Org-mode release.

Table of Contents

Next: , Previous: Library of Babel, Up: Working with source code


14.7 Languages

Org supports the following languages for the ‘src’ code blocks:

Language Identifier Language Identifier
Asymptote asymptote Awk awk
C C C++ C++
Clojure clojure CSS css
D d ditaa ditaa
Graphviz dot Emacs Calc calc
Emacs Lisp emacs-lisp Fortran fortran
gnuplot gnuplot Haskell haskell
Java java Javascript js
LaTeX latex Ledger ledger
Lisp lisp Lilypond lilypond
Lua lua MATLAB matlab
Mscgen mscgen Objective Caml ocaml
Octave octave Org mode org
Oz oz Perl perl
Plantuml plantuml Processing.js processing
Python python R R
Ruby ruby Sass sass
Scheme scheme GNU Screen screen
Sed sed shell sh
SQL sql SQLite sqlite

Additional documentation for some languages are at http://orgmode.org/worg/org-contrib/babel/languages.html.

By default, only emacs-lisp is enabled for evaluation. To enable or disable other languages, customize the org-babel-load-languages variable either through the Emacs customization interface, or by adding code to the init file as shown next:

In this example, evaluation is disabled for emacs-lisp, and enabled for R.

     (org-babel-do-load-languages
      'org-babel-load-languages
      '((emacs-lisp . nil)
        (R . t)))

Note that this is not the only way to enable a language. Org also enables languages when loaded with require statement. For example, the following enables execution of clojure code blocks:

     (require 'ob-clojure)