Seb's nice listings code led me to come across this[1] blog post, describing the latex package "minted"[2]. I've made a first-pass implementation of org-mode latex export using minted. This didn't take too long because I copied the original work Eric Schulte did on listings. I think that minted may be an improvement over using listings for exporting code from org-mode. This pdf shows an example of export from org-mode http://www.princeton.edu/~ddavison/software/org-minted/minted.pdf My patch is below and in branch "minted" at http://github.com/dandavison/org-devel. minted does coloured syntax highlighting in ~150 languages. Unlike with the latex listings package, no extra configuration is required to set up the colors and fonts for different language elements. There are other nice features such as displaying latex code in code comments, support for unicode in the code, and (apparently) greater sophistication of the syntax highlighters than the listings package. It uses a python library pygments[3] to do the syntax highlighting, so imposes a requirement on org users. Below is the org source for the pdf, with instructions for installing minted and pygments, and the necessary elisp configuration. Dan --8<---------------cut here---------------start------------->8--- #+title: latex export with minted This demonstrates export using the [[http://code.google.com/p/minted/][minted]] package. minted is a latex package that formats source code with syntax highlighting. It uses the python library [[http://pygments.org/][pygments]] to do the syntax highlighting. The org-mode patch is in branch =minted= at git://github.com/dandavison/org-devel.git. You will also need to get minted.sty, and the python package (see requirements). Then, using the =minted= branch of org-mode, make the elisp customizations in the Org config section. The source code blocks in this file can then be exported to pdf as usual with e.g. C-c C-e d. * Requirements #+begin_src sh # Clone minted hg clone https://minted.googlecode.com/hg/ minted # Install the python syntax highlighter sudo aptitude install python-pygments #+end_src * Org config #+begin_src emacs-lisp :results silent (setq org-export-latex-minted t) (add-to-list 'org-export-latex-packages-alist '("" "minted")) (setq org-latex-to-pdf-process '("pdflatex --shell-escape -interaction nonstopmode %s")) #+end_src * Example by the minted author #+begin_src csharp string title = "This is a Unicode \pi in the sky" /* Defined as $\pi=\lim_{n\to\infty}\frac{P_n}{d}$ where $P$ is the perimeter of an $n$-sided regular polygon circumscribing a circle of diameter $d$. */ const double pi = 3.1415926535 #+end_src This example originally demonstrated both unicode strings and \LaTeX \nbsp code in comments. However the unicode \pi in the string isn't working for me at the moment, and I've replaced it with backslash pi. * Sébastian's example #+SRCNAME: srcModifyDB2.sql #+BEGIN_SRC sql :tangle srcModifyDB.sql -- add column `DossierSentToSecteur' (if column does not exist yet) IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'dossier' AND COLUMN_NAME = 'DossierSentToSecteur') BEGIN ALTER TABLE dossier ADD DossierSentToSecteur smalldatetime NULL END GO #+END_SRC * Python #+begin_src python def tabulate(x): # Return dict containing values and counts vals = sorted(unique(x)) return dict(zip(vals, map(lambda(val): x.count(val), vals))) #+end_src * Notes To list minted language identifiers: #+begin_src sh pygmentize -L lexers #+end_src #+options: toc:nil --8<---------------cut here---------------end--------------->8---