emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] SageTeX in export


From: Nick Dokos
Subject: Re: [O] SageTeX in export
Date: Fri, 17 Aug 2012 02:30:18 -0400

address@hidden wrote:

> Hi,
> 
> Some background for the interested:
> 
> Sage (http://www.sagemath.org/) is a free open source mathematics
> system. It essentially takes a number of well known open source math
> packages (Pari/GP, Maxima, etc) and provides it all to you under one
> interface, all glued together with Python. 
> 
> I highly recommend it. There was even a post here a few days ago
> regarding including Sage into Org-Babel.
> 
> I want to talk about SageTeX. It's a package that allows you to call
> Sage code from within your LaTeX document. You insert a Sage command
> (e.g. plotting some data) and it returns the result - either an image or
> relevant LaTeX code. Kind of like literate programming.
> 
> Here's how it works. If your document is file.tex and it uses the
> SageTeX package, you run pdflatex on the .tex file. This will then
> produce a sage script called "file.sagetex.sage". You then manually run
> this sage script using Sage. Then you run pdflatex again and it will
> include the results from your sage script into the document.
> 
> I'm finding myself embedding Sage code into a document I'm writing which
> is meant for a LaTeX export. My problem is that Org mode's LaTeX export
> can't handle the steps in my previous paragraph. I'm sure it's trivial
> to do via some hook, but I'm no good at Elisp.
> 
> All I need is a way for the export to:
> 
> 1. After running pdflatex, check if there is a file called
>    "<org_file_name>.sagetex.sage".
> 2. If it's present, run sage on it, and then rerun pdflatex.
> 3. If it's not, nothing more is left to do.
> 
> I'd really appreciate if someone could tell me how to enable this with
> Org mode's export.
> 

All you have to do is set the variable org-latex-to-pdf-process,
something like this [fn:1]

(setq org-latex-to-pdf-process 
      '("pdflatex %f"
        "if [ -f %b.sagetex.sage ] ;then sage %b.sagetex.sage ;fi"
        "pdflatex %f"
        "pdflatex %f"))

although as Achim Gratz pointed out in this thread:

  http://thread.gmane.org/gmane.emacs.orgmode/58928

it's probably better to use the Customization interface, particularly if
one is an elisp beginner - do C-h v org-latex-to-pdf-process RET, read the
documentation for the variable and then click the customize link at the bottom
to get to the customization page.

Nick

Footnotes:

[fn:1] Note that the default setting for this variable is three invocations of
       pdflatex, so I'm just interpolating a call to sage.




reply via email to

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