emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [PATCH] ox-latex.el: Wrap 'minted' src blocks in a 'listing', enviro


From: Lixin Chin
Subject: [O] [PATCH] ox-latex.el: Wrap 'minted' src blocks in a 'listing', environment
Date: Tue, 31 Jan 2017 14:28:16 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

Hi everyone,

Included is a patch to make the 'minted' source code syntax highlighting
package behave the same as the 'listings' source code syntax package
when exporting an org-mode document to LaTeX.

Previously, 'minted' would only get exported to a floating environment
if '#+ATTR_LATEX: :float multicolumn' was provided, whereas the
org-mode documentation implies that it should be floated if any caption
is provided.

Regards,
Lixin Chin

* lisp/ox-latex.el (org-latex-src-block): Make source highlighting
  using the 'minted' syntax highlighting package behave the same as
  using the 'listings' syntax highlighting package.

The source block should be floating if a caption is provided, or if
':float t' is provided in an '#+ATTR_LATEX:' block. Previously, the
source block would only be floating if ':float multicolumn' was
provided. This now matches the org-mode documentation for source
blocks.
---
 lisp/ox-latex.el | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index d05991233..3cea81650 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -1301,7 +1301,7 @@ For non-floats, see `org-latex--wrap-label'."
                (and (eq type 'src-block)
                 (not (plist-get attr :float))
                 (memq (plist-get info :latex-listings)
-                  '(nil minted)))))
+                  '(nil)))))
      (short (org-export-get-caption element t))
      (caption-from-attr-latex (plist-get attr :caption)))
     (cond
@@ -2880,13 +2880,19 @@ contextual information."
            (float-env
         (cond
          ((string= "multicolumn" float)
-          (format "\\begin{listing*}\n%s%%s\n%s\\end{listing*}"
+          (format "\\begin{listing*}[%s]\n%s%%s\n%s\\end{listing*}"
+              (plist-get info :latex-default-figure-position)
               (if caption-above-p caption-str "")
               (if caption-above-p "" caption-str)))
          (caption
-          (concat (if caption-above-p caption-str "")
-              "%s"
-              (if caption-above-p "" (concat "\n" caption-str))))
+          (format "\\begin{listing}[%s]\n%s%%s\n%s\\end{listing}"
+              (plist-get info :latex-default-figure-position)
+              (if caption-above-p caption-str "")
+              (if caption-above-p "" caption-str)))
+         ((string= "t" float)
+          (concat (format "\\begin{listing}[%s]\n"
+                  (plist-get info :latex-default-figure-position))
+              "%s\n\\end{listing}"))
          (t "%s")))
            (options (plist-get info :latex-minted-options))
            (body
--
2.11.0


Attachment: 0001-ox-latex.el-Wrap-minted-src-blocks-in-a-listing-envi.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]