emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Question on latex source block


From: Eric Schulte
Subject: Re: [O] Question on latex source block
Date: Sun, 09 Sep 2012 10:49:18 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

>
> Nothing - it's a bug introduced by commit 
> a9d3ce0bcd3492eb0cd2aa7b0d1f6ee93276114b:
>
> ,----
> | commit a9d3ce0bcd3492eb0cd2aa7b0d1f6ee93276114b
> | Author: Feng Shu <address@hidden>
> | Date:   Fri Apr 20 19:21:43 2012 +0200
> | 
> |     Allow to use imagemagick for previewing LaTeX fragements.
> |     
> |     * org.el (org-latex-create-formula-image-program): New option
> |     to use either dvipng or imagemagick to convert and preview
> |     LaTeX fragments.
> |     (org-preview-latex-fragment, org-format-latex): Handle the new
> |     option.
> |     (org-create-formula-image-with-dvipng): Rename from
> |     `org-create-formula-image'.
> |     (org-create-formula-image-with-imagemagick): New defun to
> |     handle LaTeX preview with imagemagick.
> |     (org-latex-color, org-latex-color-format): New defuns to
> |     handle color conversions.
> |     
> |     * org-latex.el (org-latex-to-pdf-process, org-export-as-pdf):
> |     Allow to use imagemagick to convert LaTeX fragments.
> |     
> |     * org-html.el (org-export-html-preprocess): Ditto.
> |     
> |     * org-exp.el (org-export-with-LaTeX-fragments): Ditto.
> |     
> |     * org.texi (@LaTeX{} fragments): Document imagemagick as an
> |     alternative to dvipng.
> | 
> `----
>
> org-create-formula-image got renamed, but the reference in ob-latex.el
> to the original name was not changed.
>
> The quick-and-dirty "fix" is to change the reference in ob-latex.el to
> org-create-formula-image-dvipng or org-create-formula-image-imagemagick,
> depending on which method you happen to be using. But one would resort
> to that only in the direst emergency in order to get something working
> as quickly as possible.
>
> IMO, it would be better to have split the dvipng/imagemagick decision at
> a lower level in the code. That way, both org-format-latex and
> org-babel-execute:latex would use the common function. As it is,
> org-format-latex is a fairly "dirty" function and with the split, it got
> even dirtier.
>
> But there may be difficulties that my quick glance through the code has
> not uncovered: it needs a deeper look.
>

So, what would you recommend as a full fix in ob-latex.el?  The attached
commit selects an alternate function based on the value of the
`org-latex-create-formula-image-program' variable.  Does this seem like
an appropriate fix to the problem?

Thanks,

>From 4ad24215f86f24d44439e013c16a4d78e1df68b6 Mon Sep 17 00:00:00 2001
From: Eric Schulte <address@hidden>
Date: Sun, 9 Sep 2012 10:48:02 -0600
Subject: [PATCH] replace org-create-formula-image w/new functions

A previous commit deleted the definition of `org-create-formula-image'
without removing all calls to the function.  This commit fixes the
resultant bug in ob-latex by replacing the deleted function with a
conditional call to one of the two replacement functions.
---
 lisp/ob-latex.el | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lisp/ob-latex.el b/lisp/ob-latex.el
index 43f673e..339584e 100644
--- a/lisp/ob-latex.el
+++ b/lisp/ob-latex.el
@@ -86,7 +86,12 @@ This function is called by `org-babel-execute-src-block'."
                      org-export-latex-packages-alist)))
         (cond
          ((and (string-match "\\.png$" out-file) (not imagemagick))
-          (org-create-formula-image
+          (funcall
+          (case org-latex-create-formula-image-program
+            ('dvipng #'org-create-formula-image-with-dvipng)
+            ('imagemagick #'org-create-formula-image-with-imagemagick)
+            (t (error
+                "invalid value of `org-latex-create-formula-image-program'")))
            body out-file org-format-latex-options in-buffer))
          ((or (string-match "\\.pdf$" out-file) imagemagick)
          (require 'org-latex)
-- 
1.7.12

-- 
Eric Schulte
http://cs.unm.edu/~eschulte

reply via email to

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