emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] [PATCH] Preserve math environments in title when exporting to


From: Richard Lawrence
Subject: [Orgmode] [PATCH] Preserve math environments in title when exporting to LaTeX
Date: Mon, 25 Oct 2010 08:41:54 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hi all,

This patch fixes the issue I originally described here:
http://article.gmane.org/gmane.emacs.orgmode/32281

It preserves math-mode delimiters (e.g. "$" and "\(") in the document
title when exporting to LaTeX.  (That is, it prevents them from being
escaped, by running the title through org-export-preprocess-string,
which marks them with the org-protected property.)  It should work
regardless of whether the title is pulled from a headline, from the text
before the first headline, or from an explicit #+TITLE declaration.

(This is my first time contributing a patch to a Free Software project
-- so please, let me know what you think!)

Best,
Richard

diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index 4fcbbb7..f97436c 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -727,13 +727,33 @@ when PUB-DIR is set, use this as the publishing 
directory."
         (org-current-export-file buffer-file-name)
         (title (or (and subtree-p (org-export-get-title-from-subtree))
                    (plist-get opt-plist :title)
-                   (and (not
-                         (plist-get opt-plist :skip-before-1st-heading))
-                        (org-export-grab-title-from-buffer))
+                   (unless (plist-get opt-plist :skip-before-1st-heading)
+                     (let ((pt (org-export-grab-title-from-buffer)))
+                       (remove-text-properties 0 (length pt)
+                                               '(:org-license-to-kill t) pt)
+                       pt))
                    (and buffer-file-name
                         (file-name-sans-extension
                          (file-name-nondirectory buffer-file-name)))
                    "No Title"))
+        ; Preprocessing preserves math environments in title
+        (title
+         (and title (string-match "\\S-" title)
+              (org-export-preprocess-string
+               title
+               :emph-multiline t
+               :for-LaTeX t
+               :comments nil
+               :tags (plist-get opt-plist :tags)
+               :priority (plist-get opt-plist :priority)
+               :footnotes (plist-get opt-plist :footnotes)
+               :drawers (plist-get opt-plist :drawers)
+               :timestamps (plist-get opt-plist :timestamps)
+               :todo-keywords (plist-get opt-plist :todo-keywords)
+               :add-text nil
+               :select-tags nil
+               :exclude-tags nil
+               :LaTeX-fragments nil)))
         (filename
          (and (not to-buffer)
               (concat

reply via email to

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