From e4731375eaf622df0187d47d949fb9f4e53330be Mon Sep 17 00:00:00 2001 From: Alan Schmitt Date: Wed, 25 Nov 2015 08:48:58 +0100 Subject: [PATCH] ox-latex: Extend custom-lang-environments * lisp/ox-latex.el (org-latex-custom-lang-environments): extend the documentation string. * lisp/ox-latex.el (org-latex-src-block): allow a custom language environment to be a format string to be directly inserted. --- lisp/ox-latex.el | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el index bbf7f41..1b0bff5 100644 --- a/lisp/ox-latex.el +++ b/lisp/ox-latex.el @@ -1025,17 +1025,40 @@ block-specific options, you may use the following syntax: "Alist mapping languages to language-specific LaTeX environments. It is used during export of src blocks by the listings and minted -latex packages. For example, +latex packages. The environment may either be a simple string, +composed of only letters and numbers. In this case, the string is +directly the name of the latex environment to use. The environment +may also be a format string. In this case the format string will be +directly exported. This format string may contain these elements: + + %c for the formatted source + %C for the caption + %f for the float attribute + %l for an appropriate label + +For example, (setq org-latex-custom-lang-environments - '((python \"pythoncode\"))) + '((python \"pythoncode\") + (ocaml \"\\\\begin{listing}\\n\\\\begin{minted}{ocaml}%c\\\\end{minted}\\n\\\\caption{%C}\\n\\\\label{%l}\"))) would have the effect that if org encounters begin_src python during latex export it will output \\begin{pythoncode} - \\end{pythoncode}") + \\end{pythoncode} + +and if org encounters begin_src ocaml during latex export it will +output + + \\begin{listing} + \\begin{minted}{ocaml} + + \\end{minted} + \\caption{} + \\label{