summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Lawrence <richard.lawrence@berkeley.edu>2010-10-25 20:41:54 +0000
committerCarsten Dominik <carsten.dominik@gmail.com>2010-11-21 09:51:52 +0100
commitc579f08eeee1cd92b53fdb92925a7d3035012816 (patch)
treee5767ea9e35226df11a3adb8b0ae4c459d30d571
parentd637546804727d2fb4eacf3086a923c645efd2e5 (diff)
downloadorg-mode-c579f08eeee1cd92b53fdb92925a7d3035012816.tar.gz
Preserve math environments in title when exporting to LaTeX
* lisp/org-latex.el (org-export-as-latex): Sent the section title through the preprocessor. 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
-rw-r--r--lisp/org-latex.el26
1 files changed, 23 insertions, 3 deletions
diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index 33bfc5e..d7677f5 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -729,13 +729,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