Support via Liberapay

Ditaa Code Blocks in Org

Org support for ditaa


Ditaa is a command-line utility that converts diagrams drawn using ASCII art into bitmap graphics.

Requirements and Setup

Ditaa is no longer distributed with Org. Now, you will need to install ditaa and store the path to the executable in the variable ob-ditaa-jar-path. Often, this is all that is needed to set up ditaa in Babel. Nevertheless, Org offers several other variables designed to accommodate non-standard Java setups. These include org-babel-ditaa-java-cmd, org-ditaa-eps-jar-path, and org-ditaa-jar-option.

Activate evaluation of ditaa source code blocks by adding ditaa to org-babel-load-languages.

 '((ditaa . t))) ; this line activates ditaa

Customization Options

Org needs to know a few things about ditaa and the java executable in order to function. The following is a list of variables that can be customized.

The path to the ditaa jar file.
The name or path to the Java executable used to run the ditaa jar file.
The path to the ditaaeps jar file. DitaaEps is maintained as part of the ditaa-addons project.
The prefix used before the ditaa jar path. The default is -jar.

Babel Features for ditaa Code Blocks

Header Arguments

the output filename (mandatory)
command line arguments for ditaa
arguments for the java runtimes (JRE)
produce an eps output file using ditaaeps
produce a pdf output file using ditaaeps followed by epstopdf


ditaa does not support sessions.

Result Types

Ditaa source code blocks return a link to a png bitmap file.

Examples of Use

Hello World

The obligatory Hello World! example in ditaa:

#+NAME: hello-world
#+HEADER: :exports results
#+BEGIN_SRC ditaa :file images/hello-world.png
|              |
| Hello World! |
|              |

Passing command-line options to ditaa

Now, round all corners by passing ditaa the -r,--round-corners command line switch.

#+NAME: hello-world-round
#+HEADER: :exports results
#+BEGIN_SRC ditaa :file images/hello-world-round.png :cmdline -r
|              |
| Hello World! |
|              |

Documentation from the orgmode.org/worg/ website (either in its HTML format or in its Org format) is licensed under the GNU Free Documentation License version 1.3 or later. The code examples and css stylesheets are licensed under the GNU General Public License v3 or later.