# Re: Examples of integration between Lyx, Sage computations, and PDFLateX

The attachments on this thread have been posted to the wiki (thanks Christian):

http://wiki.lyx.org/Layouts/Modules/#toc7

Note that if you customize the sage.module file, you can load the
changes immediately by entering "layout-reload" in the minibuffer.

As Murat has done: I hereby grant permission to license my
contributions to the sage module for LyX under the GNU General Public

- Thomas

On Sun, Apr 1, 2012 at 12:03 PM, Murat Yildizoglu <myi...@gmail.com> wrote:
> Good idea, thanks a lot for the suggestion Xu. Here is my statement (I put
> the devel list as CC) :
>
> I hereby grant permission to license my contributions to the SAGE module for
> LyX under the GNU
> General Public Licence, version 2 or later.
>
> Murat Yildizoglu
>
>
> 2012/3/31 Xu Wang <xuwang...@gmail.com>
>>
>> Dear Thomas
>>
>> Excellent news! Thank you for your continued work. I have not taken a fine
>> look at this yet, but I also use Ubuntu so it looks like it might be useful.
>>
>> I'm not sure but I think for your contributions to be used you have to
>> give permission explicitly. Look at this email:
>>
>> http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg161963.html
>> You can send something like that to the development list, lyx-devel
>>
>> And it could be a good idea for Murat to do the same.
>>
>> I'm not sure though.
>>
>> In any case, thank you for your continued work. I am appreciative. Xu
>>
>>
>>
>> On Sat, Mar 31, 2012 at 3:08 AM, Thomas Coffee <thomasmcof...@gmail.com>
>> wrote:
>>>
>>> Hi Murat and Xu,
>>>
>>> I found your thread in the archives and did some further work on the
>>> LyX-SageTeX module that Murat posted previously.
>>>
>>> I fixed a few things that did not work for me in the version described
>>> earlier, and expanded the module specification to provide some
>>> additional conveniences for including literate Sage code in LyX
>>> documents. There's still much room for development and customization.
>>>
>>> The attachments comprise a set of files and a shell script "setup.sh"
>>> that should largely automate the configuration process on GNU/Linux
>>> systems.
>>>
>>> *** Help needed:
>>>
>>> For other interested users, I'd like to upload this to
>>> http://wiki.lyx.org/Layouts/Modules, but I get browser errors for
>>>
>>> Thanks,
>>>  Thomas
>>>
>>>
>>> > Hi Xu,
>>> >
>>> > Thank you for your appreciation. I cannot advance anymore without any
>>> > help
>>> > from Lyx gurus.
>>> > I think I have extracted all the information I can from the help docs.
>>> > If I
>>> > get any answer to my questions, I can construct a little bit smarter
>>> > module
>>> > but the one we have now is already usable. With some supplementary
>>> > tricks
>>> > from the sagetex documentation and through manual executions of the
>>> > latex-sage-latex chain, it is possible to make a lot of computations.
>>> >
>>> > I was also very agreeably surprised that this module can be used for
>>> > conversion to HTML from LyX, with figures and all.
>>> >
>>> > I attach to this message the module in its actual stage and some
>>> > instruction for making the conversion chain functional. I hope this
>>> > would
>>> > already help some of you.
>>> >
>>> > As soon as I have more information, I will try to complete the module
>>> > file.
>>> >
>>> > Best regards,
>>> >
>>> > Murat
>>> >
>>> > 2011/10/31 Xu Wang <xuwang...@gmail.com>
>>> >
>>> > > Dear Murat,
>>> > >
>>> > > This is great! I have been waiting for something like this for a long
>>> > > time. I also like the Sweave-like philosophy of this. It's more
>>> > > transparent
>>> > > and reproducible.
>>> > >
>>> > > I am looking forward to the final release with much excitement.
>>> > >
>>> > > Thank you for your work!
>>> > >
>>> > > Best,
>>> > >
>>> > > Xu
>>> > >
>>> > >
>>> > > On Mon, Oct 31, 2011 at 12:54 PM, Murat Yildizoglu
>>> > > <myi...@gmail.com>wrote:
>>> > >
>>> > >> Just another mail to correct a problem with the preceding Lyx file
>>> > >> (see
>>> > >> the new file attached, and the $signs in ERT boxes, this is >>> > >> connected with >>> > >> the problem I describe below) and ask a question about insets again: >>> > >> >>> > >> What kind of Flex insets can be included in a math mode text? Is >>> > >> this >>> > >> possible at all? Especially in displayed equation where one would >>> > >> like to >>> > >> include results from SAge computations? >>> > >> I cannot write the following in math mode in Lyx, putting the left >>> > >> member >>> > >> in a displayed equation and the right member in a sagecode inset >>> > >> that would >>> > >> be converted to the expression I give >>> > >> (\sage{integral(x/(x^2+1),x,0,1)) >>> > >> \dfrac{\partial^{4}y}{\partial >>> > >> x^{4}}=\sage{integral(x/(x^2+1),x,0,1)} >>> > >> >>> > >> I meet two problems: >>> > >> 1/ I cannot insert a Flex:sagecommand inset in a displayed equation, >>> > >> Lyx >>> > >> just goes to the next line before inserting it... >>> > >> 2/ I cannot type the sagetex instruction (*sage{} ) by hand, >>> > >> because >>> > >> "x^2" in the right member must not be interpreted by LyX, since >>> > >> Sage will >>> > >> need it for its computation. >>> > >> >>> > >> I can of course type everything in an ERT, but this cannot be called >>> > >> "integration" can it? ;-) >>> > >> >>> > >> I have reread again the help document on layouts and insets, and I >>> > >> have >>> > >> checked the files that come in the layout folder of LyX, but cannot >>> > >> find >>> > >> any answer to my question. >>> > >> >>> > >> Sorry for bothering you again with my problems... I hope that Sage >>> > >> integration will interest other people... >>> > >> >>> > >> Murat >>> > >> >>> > >> I definitely need the help of a Lyx wizard who understands well the >>> > >> insets and their integration in Lyx/Latex... >>> > >> >>> > >> >>> > >> >>> > >> 2011/10/31 Murat Yildizoglu <myi...@gmail.com> >>> > >> >>> > >>> Just to show you the kind of niceties that such an integration can >>> > >>> bring, I send you two files. One is the Lyx source and the other >>> > >>> one is the >>> > >>> final PDF. >>> > >>> In Lyx, I just click on the Preview button and wait a little bit >>> > >>> to get >>> > >>> the final PDF that I show here, with results of the computations >>> > >>> done by >>> > >>> Sage and converted back to Latex. >>> > >>> >>> > >>> The module isfar from perfect yet (this is the first module I am >>> > >>> creating), a better integration between the Latex output by Sage, >>> > >>> and the >>> > >>> math mode in LyX would be implemented to have nice equations >>> > >>> typeset with >>> > >>> equation numbers and what not. You can also see that the output of >>> > >>> the >>> > >>> integral by Sage is not very beautiful... >>> > >>> >>> > >>> I will continue to work on this module, but it is already useful >>> > >>> for me >>> > >>> and eliminates some regrets I feel ;-), since I have dropped >>> > >>> Scientific >>> > >>> Workplace in favor of LyX. >>> > >>> >>> > >>> I hope that you will like this new possibilities. >>> > >>> >>> > >>> Best regards, >>> > >>> >>> > >>> Murat >>> > >>> >>> > >>> PS. Sage lives in: http://www.sagemath.org >>> > >>> >>> > >>> >>> > >>> -- >>> > >>> Prof. Murat Yildizoglu >>> > >>> >>> > >>> Université Montesquieu Bordeaux IV >>> > >>> GREThA (UMR CNRS 5113) >>> > >>> Avenue Léon Duguit >>> > >>> 33608 Pessac cedex >>> > >>> France >>> > >>> >>> > >>> yi...@u-bordeaux4.fr >>> > >>> >>> > >>> http://yildizoglu.info >>> > >>> >>> > >>> http://www.twitter.com/yildizoglu >>> > >>> >>> > >>> >>> > >> >>> > >> >>> > >> -- >>> > >> Prof. Murat Yildizoglu >>> > >> >>> > >> Université Montesquieu Bordeaux IV >>> > >> GREThA (UMR CNRS 5113) >>> > >> Avenue Léon Duguit >>> > >> 33608 Pessac cedex >>> > >> France >>> > >> >>> > >> yi...@u-bordeaux4.fr >>> > >> >>> > >> http://yildizoglu.info >>> > >> >>> > >> http://www.twitter.com/yildizoglu >>> > >> >>> > >> >>> > > >>> > >>> > >>> > -- >>> > Prof. Murat Yildizoglu >>> > >>> > Université Montesquieu Bordeaux IV >>> > GREThA (UMR CNRS 5113) >>> > Avenue Léon Duguit >>> > 33608 Pessac cedex >>> > France >>> > >>> > yi...@u-bordeaux4.fr >>> > >>> > h <http://myildi.e-jemed.org/>ttp://yildizoglu.info >>> > >>> > http://www.twitter.com/yildizoglu >>> > >>> > The Sage module allows the use of the open source Sage mathematical >>> > platform >>> > for computations in Lyx (with results inserted in the final PDF file), >>> > in a >>> > somewhat similar way for R-project with the Sweave module. >>> > >>> > To be able to use it, you must have Sage installed on your computer and >>> > the >>> > "sage" command must be in the path. >>> > See : http://www.sagemath.org/ >>> > >>> > Sage speaks Latex and can interact with it through the sagetex.sty >>> > package. >>> > >>> > See: http://www.sagemath.org/doc/tutorial/sagetex.html#sec-sagetex >>> > >>> > INSTALLATION >>> > >>> > 0/ You must have a working Sage system on your computer and the sage >>> > command >>> > must be on the PATH (open a console and type sage and RETURN key to >>> > check it >>> > this is the case). >>> > >>> > 1/Add the sage.module in the layouts folder of your local LyX >>> > configuration >>> > (depends on the system). Start LyX and reconfigure it. >>> > You can now add the Sage module to a new document. This module provides >>> > - the environments: sageblock and sagesilent >>> > - the commands: \sage (to be used in-line) and \sageplot (as an >>> > environment, >>> > can be included in a Figure float) >>> > and it needs the sagetex.sty package to be available in your local Tex >>> > installation. >>> > Justfollow the instructions given in the documentation of this package, >>> > for >>> > example >>> > >>> > >>> > >>> > 2/ Add the following sections elements in the preferences file that >>> > lives in >>> > your personal lyx config folder (depends on the system) >>> > >>> > # FORMATS SECTION ########################## >>> > # >>> > >>> > \format "pdf10" "pdf" "PDF" "" >>> > "\"/Applications/_Editiontextes/Skim.app/Contents/MacOS/Skim\"" "" >>> > "document,vector,menu=export" >>> > \format "sage" "sage" "Sage" "" "" "" "document" >>> > \default_view_format pdf10 >>> > >>> > # >>> > # CONVERTERS SECTION ########################## >>> > # >>> > >>> > >>> > \converter "latex" "sage" "latex" "latex" >>> > \converter "sage" "pdf10" "compile-pdf-sage.sh$$b" "" >>> > >>> > 3/ You need a bash file for automatically running the .sage file and >>> > get the >>> > results in the final pdf file >>> > >>> > This compile-pdf-sage.sh should be on your path, with the following >>> > content: >>> > #!/bin/sh >>> > >>> > /Applications/_Recherche/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage/sage >>> >$1.sage
>>> > pdflatex $1.tex >>> > exit 0 >>> > >>> > Otherwise, >>> > You can just convert your Lyx document to Sage and then go to the >>> > temporary >>> > folder and execute manually >>> > >>> > (pdf)latex mysagedoc.tex -> generates mysagedoc.sage >>> > sage mysagedoc.sage >>> > (pdf)latex mysagedoc.tex >>> > >>> > Remaining problems and questions: >>> > 1/ How to setup options for environments? Example: >>> > \sageplot[width=12cm]{plot(sin(x), 0, pi), axes=True} -> Bug fix by >>> > Richard >>> > 2/ How to insert Flex insets in math mode, in displayed equations? >>> >$\dfrac{\partial^{4}y}{\partial
>>> > x^{4}}=\sage{integral(x/(x^2+1),x,0,1)}$>>> > x^2 must not be interpreted by LyX in the second part of the equality, >>> > since >>> > Sage will need it for its computation. >>> > 3/ \sage{} does not automatically switch to the math mode. These insets >>> > must be >>> > inserted between two$ sign put in ERT boxes. Then, the problem remains
>>> > for the
>>> > displayed equations where one would like to include Sage results.
>>
>>
>
>
>
> --
> Prof. Murat Yildizoglu
>
> Université Montesquieu Bordeaux IV
> GREThA (UMR CNRS 5113)
> Avenue Léon Duguit
> 33608 Pessac cedex
> France
>
> Bureau : F-331
>
> yi...@u-bordeaux4.fr
>
> http://yildizoglu.info
>