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: Nick Dokos
Subject: Re: [O] Question on latex source block
Date: Sun, 09 Sep 2012 03:07:12 -0400

Richard Stanton <address@hidden> wrote:

> Using Org-mode version 7.9.1 (release_7.9.1-154-g659be3 @ c:/emacs/site-lis=
> p/org-mode/lisp/), I created the following LaTeX code block:
> 
> #+begin_src latex :file test.png
> \frac{1}{2}
> #+end_src
> 
> When I press C-c C-c to compile the code block, I get the following error d=
> ump:
> 
> Debugger entered--Lisp error: (void-function org-create-formula-image)
>   org-create-formula-image("\\frac{1}{2}" "test.png" (:foreground default :=
> background default :scale 1.0 :html-foreground "Black" :html-background "Tr=
> ansparent" :html-scale 1.0 :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")) t=
> )
>   org-babel-execute:latex("\\frac{1}{2}" ((:comments . "") (:shebang . "") =
> (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (:exports =
> . "results") (:results . "file replace latex") (:session . "none") (:hlines=
>  . "no") (:padnewline . "yes") (:file . "test.png") (:result-type . value) =
> (:result-params "file" "replace" "latex") (:rowname-names) (:colname-names)=
> ))
>   org-babel-execute-src-block(nil ("latex" "\\frac{1}{2}" ((:comments . "")=
>  (:shebang . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle .=
>  "no") (:exports . "results") (:results . "file replace latex") (:session .=
>  "none") (:hlines . "no") (:padnewline . "yes") (:file . "test.png") (:resu=
> lt-type . value) (:result-params "file" "replace" "latex") (:rowname-names)=
>  (:colname-names)) "" nil 0))
>   org-babel-execute-src-block-maybe()
>   org-babel-execute-maybe()
>   org-babel-execute-safely-maybe()
>   run-hook-with-args-until-success(org-babel-execute-safely-maybe)
>   org-ctrl-c-ctrl-c(nil)
>   call-interactively(org-ctrl-c-ctrl-c nil nil)
> 
> What am I missing here?
> 

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.

Nick






reply via email to

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