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

Table of Contents

Next: , Previous: Language-specific header arguments in Org mode properties, Up: Using header arguments


Code block specific header arguments

Header arguments are most commonly set at the ‘src’ code block level, on the #+BEGIN_SRC line. Arguments set at this level take precedence over those set in the org-babel-default-header-args variable, and also those set as header properties.

In the following example, setting results to silent makes it ignore results of the code execution. Setting :exports to code exports only the body of the code block to HTML or LaTeX.

     #+NAME: factorial
     #+BEGIN_SRC haskell :results silent :exports code :var n=0
     fac 0 = 1
     fac n = n * fac (n-1)
     #+END_SRC

The same header arguments in an inline code block:

     src_haskell[:exports both]{fac 5}

Code block header arguments can span multiple lines using #+HEADER: on each line. Note that Org currently accepts the plural spelling of #+HEADER: only as a convenience for backward-compatibility. It may be removed at some point.

Multi-line header arguments on an unnamed code block:

     #+HEADER: :var data1=1
     #+BEGIN_SRC emacs-lisp :var data2=2
        (message "data1:%S, data2:%S" data1 data2)
     #+END_SRC
     
     #+RESULTS:
     : data1:1, data2:2

Multi-line header arguments on a named code block:

     #+NAME: named-block
     #+HEADER: :var data=2
     #+BEGIN_SRC emacs-lisp
       (message "data:%S" data)
     #+END_SRC
     
     #+RESULTS: named-block
       : data:2