From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thomas S. Dye" Subject: Re: [PATCH] Preserve math environments in title when exporting to LaTeX Date: Sun, 21 Nov 2010 07:14:16 -1000 Message-ID: <1CA08B4D-9758-4020-9D7E-E8F842100CA7@tsdye.com> References: <87ocai8ekd.fsf@berkeley.edu> <86740850-4B24-406D-A505-0289A50830D2@gmail.com> <0C4982A9-C181-4067-925B-3CEF730AD732@gmail.com> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=34538 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PKDUf-0004A6-80 for emacs-orgmode@gnu.org; Sun, 21 Nov 2010 12:14:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PKDUd-0007tU-Nw for emacs-orgmode@gnu.org; Sun, 21 Nov 2010 12:14:25 -0500 Received: from cpoproxy1-pub.bluehost.com ([69.89.21.11]:38725) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1PKDUd-0007tK-Dk for emacs-orgmode@gnu.org; Sun, 21 Nov 2010 12:14:23 -0500 In-Reply-To: <0C4982A9-C181-4067-925B-3CEF730AD732@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: Richard Lawrence , emacs-orgmode@gnu.org Aloha Richard and Carsten, Thanks very much for this improvement. Math appears to work as expected in the title and in figure captions. I haven't noticed any adverse effects yet, but I've spent most of my time admiring the well typeset titles :) All the best, Tom On Nov 20, 2010, at 11:24 PM, Carsten Dominik wrote: > > On Nov 21, 2010, at 9:54 AM, Carsten Dominik wrote: > >> Hi Richard, >> >> I have now applied this patch. I am not entirely sure it will have >> no adverse effects, so please, people who do export to LaTeX, check >> after the next pull if you see any problems. > > Actually, I think I have just found a better way to solve this issue, > in a way that will also solve it for figure captions. > > Please, LaTeX export users, test the current git version. > > THanks > > - Carsten > >> >> Thanks Richard! >> >> - Carsten >> >> On Oct 25, 2010, at 5:41 PM, Richard Lawrence wrote: >> >>> 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 >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Please use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >> > > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode