From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Stanton Subject: Re: Question on latex source block Date: Mon, 10 Sep 2012 09:49:57 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:46187) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TB7Bn-0007Gb-0n for emacs-orgmode@gnu.org; Mon, 10 Sep 2012 12:50:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TB7Bd-0002te-QO for emacs-orgmode@gnu.org; Mon, 10 Sep 2012 12:50:22 -0400 Received: from gateway-b.haas.berkeley.edu ([128.32.222.40]:5448) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TB7Bd-0002rm-Fc for emacs-orgmode@gnu.org; Mon, 10 Sep 2012 12:50:13 -0400 In-Reply-To: Content-Language: en-US List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "emacs-orgmode@gnu.org" Cc: "nicholas.dokos@hp.com" , "eric.schulte@gmx.com" >Date: Sun, 09 Sep 2012 13:39:32 -0600 >From: Eric Schulte >To: nicholas.dokos@hp.com >Cc: Richard Stanton , > "emacs-orgmode@gnu.org" >Subject: Re: [O] Question on latex source block >Message-ID: <87ligj6l57.fsf@gmx.com> >Content-Type: text/plain > >Nick Dokos writes: > >> Eric Schulte wrote: >> >>> > >>> > Nothing - it's a bug introduced by commit >>>a9d3ce0bcd3492eb0cd2aa7b0d1f6ee93276114b: >>> > >>> > ,---- >>> > | commit a9d3ce0bcd3492eb0cd2aa7b0d1f6ee93276114b >>> > | Author: Feng Shu >>> > | Date: Fri Apr 20 19:21:43 2012 +0200 >>> > |=20 >>> > | Allow to use imagemagick for previewing LaTeX fragements. >>> > | =20 >>> > | * 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. >>> > | =20 >>> > | * org-latex.el (org-latex-to-pdf-process, org-export-as-pdf): >>> > | Allow to use imagemagick to convert LaTeX fragments. >>> > | =20 >>> > | * org-html.el (org-export-html-preprocess): Ditto. >>> > | =20 >>> > | * org-exp.el (org-export-with-LaTeX-fragments): Ditto. >>> > | =20 >>> > | * org.texi (@LaTeX{} fragments): Document imagemagick as an >>> > | alternative to dvipng. >>> > |=20 >>> > `---- >>> > >>> > 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. >>> > >>>=20 >>> 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? >>>=20 >> >> For the time being, yes: I think this fix is entirely appropriate (nb: >> haven't tested it yet though). >> >> In the longer run, I would like to see a single function >> (org-create-formula-image redux) be called from the two call sites >> (org-format-latex and org-babel-execute:latex) and have the >> dvipng/imagemagick/etc split be entirely within that function. It's >> bound to happen that more methods of creating images (the etc part >> above) will need to be added in the future and it behooves one to >> arrange it so that only one place in the code is affected. >> >> Thanks, >> Nick >> > >Alright, > >I've just committed a patch which gets part-way to your suggest >solution. While the two backend-specific functions are still separate >(I agree they should be combined), I have brought back the >`org-create-formula-image' function, which now dispatches to the backend >specific functions. > >Additionally there are some problems in the `org-format-latex' function. >It lists mandatory arguments as optional, and appears to create >variables which are not required or properly set. > >These function should probably be cleaned at some point up by whoever is >maintaining Org-mode's LaTeX interfaces. > >Cheers, > >--=20 >Eric Schulte >http://cs.unm.edu/~eschulte Thanks. Things now get a lot further, but I'm still not quite getting what I was hoping for. In particular, this source: #+begin_src latex :file test.png \frac{1}{2} #+end_src results in this output: #+Results: #+BEGIN_LaTeX [[file:test.png]] #+END_LaTeX There are two problems here. 1) I'd like the graphic file to be displayed inline in the org file buffer, so I don't think I want those #+BEGIN_LaTeX ... #+END_LaTeX lines 2) There is no file test.png in the current working directory. It may well be that I'm missing something, but I can't quite see what... Thanks. Richard Stanton