From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: SageTeX in export Date: Fri, 17 Aug 2012 02:30:18 -0400 Message-ID: <21716.1345185018@alphaville> References: <87a9xuqgr8.fsf@fester.com> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([208.118.235.92]:57451) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T2G4d-0002Tb-66 for emacs-orgmode@gnu.org; Fri, 17 Aug 2012 02:30:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T2G4b-0006zE-Rh for emacs-orgmode@gnu.org; Fri, 17 Aug 2012 02:30:23 -0400 Received: from g5t0007.atlanta.hp.com ([15.192.0.44]:5061) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T2G4b-0006z0-Lu for emacs-orgmode@gnu.org; Fri, 17 Aug 2012 02:30:21 -0400 In-Reply-To: Message from mailinglists@nawaz.org of "Thu, 16 Aug 2012 21:33:47 PDT." <87a9xuqgr8.fsf@fester.com> 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: mailinglists@nawaz.org Cc: emacs-orgmode@gnu.org mailinglists@nawaz.org 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 > ".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.