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

Thanks for continuing to support the module. I'm not sure if you have
the time, but it would be great if some the useful tips were posted on
a wiki page, which many users find easier to read than going through
an email conversation. You could make a page and then link to it from
the module description:
http://wiki.lyx.org/Layouts/Modules#toc7

Thanks,

Scott

On Fri, Feb 15, 2013 at 3:42 PM, Thomas Coffee <thomasmcof...@gmail.com> wrote:
> In case it is helpful to anyone, I am posting below a recent
> conversation working out some issues with an installation of the
> SageTeX module previously discussed on this thread:
>
>
> Dear mr McCoffee,
>
> I was very excited when I discovered your module for integrating Sage
> with LyX. But I'm afraid I need a little bit more help to make it
> work.
>
> I managed to setup the one-step conversion in LyX, however, when I
> apply it to your file example.lyx all sage-blocks display as double
> questionmarks in the .pdf file. Can you point me to a more detailed
> tutorial on how to use this LyX module?
>
> Here is what I did:
>
> and preferences to the desktop
>     edited setup.sh to reflect non-standard paths on my system
> (~/.lyx2 and /opt/sage-5.2)
>     ran setup.sh (sudo bash setup.sh)
>
> I checked that compile-pdf-sage.sh is copied to the sage directory,
> the preferences file to ~/lyx2 and sage.module to the layouts folder
> in ~/lyx2.
>
> I also copied sagetex.sty to /home/dd/texmf, my user texmf folder.
>
> I noticed the following error in the console from which I started LyX2:
>
> insets/InsetLayout.cpp (191): Flex insets must have names of the form
> Flex:<name>'.
> This one has the name sagecommand'
>
> I hope you can help me out,
> yours sincerely
>
> Dirk Danckaert
>
>
>
> Hi Dirk,
>
> I'm currently running LyX 2.0.0 with Sage 4.8 on Ubuntu 11.10. Since
> my Sage version is old (for complicated reasons), it's possible
> something has changed in SageTeX, but let's try some other things
> before I install another Sage.
>
> I get the same message you do about the insets, along with some other
> LyX complaints, and they are not causing me problems (yet), so that
> may not be something to worry about.
>
> Since you're on Ubuntu, one possible source of trouble (which happened
> to me when I changed machines) is that, if you're using TeXLive, the
> potentially mis-matched version of SageTeX that it includes can stick
> around and pre-empt the correct one (even if you've followed the
> instructions --- http://www.sagemath.org/doc/installation/sagetex.html
> --- to install the one from your Sage distribution into LaTeX. Try
> making sure it's gone by doing something like
>
> sudo rm -r /usr/share/texmf-texlive/tex/latex/sagetex
> sudo texhash
>
> - Thomas
>
>
>
> Hi Thomas,
>
> I have corrected at least one error while checking things out again.
> Seems the copying of sagetex.sty had not been done as it should.
> However, still no joy. I did the two sudo-commands, with no
> error-messages. I loaded example.lyx and tried a .pdf-export (I chose
> /File/Export/PDF (pdflatex+sagetex). As a result I got the error
> message
>
> An error occurred while running:
>
> compile-pdf-sage.sh "example.sagetex.sage"
>
>
> I tried to make sense of that but I couldn't:
>
>     compile-pdf-sage.sh must be located in the SAGE-directory, isn't it?
>     So how does it find the .sagetex.sage-file?
>
> I tried to locate example.sagetex.sage (I thought this is an
> intermediate file produced by LyX) in the directory that contained
> example.lyx (a folder on my desktop) but it wasn't there.
>
> Is there perhaps a simpler test that I could perform, e.g. just
> calculate 1+1 in LyX?
>
> Dirk
>
>
>
> Hi Dirk,
>
> In order to figure out what's going on, please try running LyX from a
> terminal window and running the export again --- then the error
> messages from the call to compile-pdf-sage.sh will be visible in the
> terminal.
>
> I believe you edited the setup.sh script included with the module to
> point to your Sage installation at /opt/sage-5.2. The script normally
> puts compile-pdf-sage.sh in this same directory and adds that
> directory to the execution path. However, it doesn't make that change
> to the execution path permanent --- when you start a new shell, it
> won't be there --- so in retrospect, it's probably a better idea to
> move or link compile-pdf-sage.sh to somewhere like /usr/local/bin
> where it can always be found. You can always do echo $PATH' to make > sure it's somewhere findable. (The reason I did it this way was that, > in the Sage installations I had used before, it was normally necessary > to permanently add the Sage directory to the execution path anyway, so > it didn't occur to me this would be a problem.) > > In the LyX that I'm running, it does all its LaTeX file operations in > an auto-generated temporary directory with a name like > /tmp/lyx_tmpdir.J23736/lyx_tmpbuf2' (to avoid cluttering your file > system). This is where I would expect example.sagetex.sage' to > appear. It might be helpful to see the files it generates in this > directory to make sure things are working right --- but whenever we > make any changes, clear out the old files so we know what's new. > > If you want, you can replace the Sage insets in example.lyx with a > single simpler one, but I doubt it will help much --- once we get Sage > doing its job, the whole thing should run very fast. > > > - Thomas > > > > Hi Thomas, > > First I have to thank you for your time and patience. But I think I'm > making progress. As you assumed, the system couldn't find > compile-pdf-sage.sh, and I learned a lesson in using the terminal. > (I'm an ex-windows user, and hence I acquired some bad habits I > guess.) > > I then moved compile-pdf-sage.sh to /usr/local/bin and - on second try > - had a complaint about permissions. I then change-modded the > permissions on compile-pdf-sage.sh to 777, and this time the script > was executed. > > However, now it is TeX which is complaining. This is the message on > which the script hangs (I stop it with some <Ctrl-C>'s, or just by > waiting long enough).dd@Dokux:~$ lyx2
>
>     insets/InsetLayout.cpp (191): Flex insets must have names of the
> form Flex:<name>'.
>     This one has the name sagecommand'
>     Ignoring LyXType declaration.
>     LyX: Unknown InsetLayout tag [around line 2 of file  current
> token: 'custom' context: '']
>     LyX: Unknown InsetLayout tag [around line 12 of file  current
> token: 'OptionalArgs' context: '']
>     LyX: Unknown InsetLayout tag [around line 13 of file  current
> token: '0' context: '']
>     LyX: Unknown InsetLayout tag [around line 13 of file
> /tmp/lyx_tmpdir.TJ2300/convert_layout.kn2300 current token:
> 'OptionalArgs' context: '']
>     LyX: Unknown InsetLayout tag [around line 14 of file
> /tmp/lyx_tmpdir.TJ2300/convert_layout.kn2300 current token: '0'
> context: '']
>
>     Running: pdflatex  "example.tex" > /dev/null
>     This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
>     entering extended mode
>     (./example.tex
>     LaTeX2e <2009/09/24>
>     Babel <v3.8l> and hyphenation patterns for english, usenglishmax,
> dumylang, noh
>     yphenation, farsi, arabic, croatian, bulgarian, ukrainian,
> russian, czech, slov
>     ak, danish, dutch, finnish, french, basque, ngerman, german,
> german-x-2009-06-1
>     9, ngerman-x-2009-06-19, ibycus, monogreek, greek, ancientgreek,
> hungarian, san
>     skrit, italian, latin, latvian, lithuanian, mongolian2a,
> mongolian, bokmal, nyn
>     orsk, romanian, irish, coptic, serbian, turkish, welsh, esperanto,
> uppersorbian
>     , estonian, indonesian, interlingua, icelandic, kurmanji,
> slovenian, polish, po
>     rtuguese, spanish, galician, catalan, swedish, ukenglish, pinyin, loaded.
>
>     Running: pdflatex  "example.tex" > /dev/null
>     This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
>     entering extended mode
>     (./example.tex
>     LaTeX2e <2009/09/24>
>     Babel <v3.8l> and hyphenation patterns for english, usenglishmax,
> dumylang, noh
>     yphenation, farsi, arabic, croatian, bulgarian, ukrainian,
> russian, czech, slov
>     ak, danish, dutch, finnish, french, basque, ngerman, german,
> german-x-2009-06-1
>     9, ngerman-x-2009-06-19, ibycus, monogreek, greek, ancientgreek,
> hungarian, san
>     skrit, italian, latin, latvian, lithuanian, mongolian2a,
> mongolian, bokmal, nyn
>     orsk, romanian, irish, coptic, serbian, turkish, welsh, esperanto,
> uppersorbian
>     , estonian, indonesian, interlingua, icelandic, kurmanji,
> slovenian, polish, po
>     rtuguese, spanish, galician, catalan, swedish, ukenglish, pinyin, loaded.
>
>     Running: compile-pdf-sage.sh "example.sagetex.sage"
>     This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
>     entering extended mode
>     (./example.sagetex.sage
>     LaTeX2e <2009/09/24>
>     Babel <v3.8l> and hyphenation patterns for english, usenglishmax,
> dumylang, noh
>     yphenation, farsi, arabic, croatian, bulgarian, ukrainian,
> russian, czech, slov
>     ak, danish, dutch, finnish, french, basque, ngerman, german,
> german-x-2009-06-1
>     9, ngerman-x-2009-06-19, ibycus, monogreek, greek, ancientgreek,
> hungarian, san
>     skrit, italian, latin, latvian, lithuanian, mongolian2a,
> mongolian, bokmal, nyn
>     orsk, romanian, irish, coptic, serbian, turkish, welsh, esperanto,
> uppersorbian
>     , estonian, indonesian, interlingua, icelandic, kurmanji,
> slovenian, polish, po
>     rtuguese, spanish, galician, catalan, swedish, ukenglish, pinyin, loaded.
>     ! You can't use macro parameter character #' in vertical mode.
>     l.1 #
>          # -*- encoding: utf-8 -*-
>
> It seems a bit strange that pdfTeX should process the file three
> times. Maybe I should have left the comment lines in the script?
> Here's the compile-pdf-sage.sh script that I am running:
>
>     #!/bin/bash
>
>     sagefile=$1 > texfile=${sagefile%.sagetex.sage}.tex
>
>     # for one-step conversion, uncomment lines below and corresponding
> line in ~/.lyx/preferences
>
>     texfile=$1 > sagefile=${texfile%.tex}.sagetex.sage
>     pdflatex $texfile > > sage$sagefile
>     pdflatex $texfile > > exit 0 > > I found the lyx temporary directory too. I see now that TeX is trying > to tex example.sagetex.sage, which is meant to be processed by sage of > course. If you should need them I can send you the tex-logs too, or I > can try to analyse them myself if you can tell what to look for. > > > Dirk > > > > Hi Dirk, > > Yes, for now you should leave the three lines commented out in > compile-pdf-sage.sh as they were originally. > > The module was designed to support two different modes of doing the > conversion: (a) a two-step mode, the default; and (b) a one-step mode. > If you uncomment the lines in compile-pdf-sage.sh, it tries to use the > one-step mode, but in order for this to work at all, you also need to > uncomment the corresponding LyX preferences line included in the > preferences' file. > > Looking at the preferences' file, you'll see that in the two-step > mode, we tell LyX that it can convert "sagetex" to "sage" using > pdflatex, and can convert "sage" to "pdf10" using compile-pdf-sage.sh. > LyX figures out that in order to convert "sagetex" to "pdf10", it > should do both of these in order. In this mode, it will run > compile-pdf-sage.sh on a Sage file, so the original lines in > compile-pdf-sage.sh must remain commented out for this to work. The > advantage of the two-step mode is that any errors generated on the > first run of pdflatex will show up in LyX, so you can easily see if > there's a LaTeX problem in your document. > > In the one-step mode, the preferences file tells LyX that to convert > "sagetex" to "pdf10", it can just use compile-pdf-sage.sh directly. So > LyX runs compile-pdf-sage.sh on a TeX file, and those lines need to be > uncommented. The compile-pdf-sage.sh script then does all three steps > itself: (1) run pdflatex on the TeX file, (2) run sage on the Sage > file, and (3) run pdflatex on the TeX file again to incorporate the > results from Sage. > > Leave the original stuff commented out for now so we can use the > default two-step mode. > > > Thomas > > > > Hi Thomas, > > It works! Works like a charm! Thank you very much: it don't think I > would have managed to get it working on my own. The possibility to > define a graph from within LyX will be very useful to me. > > I see that LyX generates a .pdf, in the same directory as the .lyx > source file. That's perfectly workable, but can I set things up so > that I have the .pdf automatically opened, as when using normal LyX? > > I thought the 2-step mode would require two actions from the user, > each time you wanted to process a LyX-file. I understand now that it > is only the software that does two steps. So what are the advantages > of using the one-step process? > > Dirk > > > > Hi Dirk, > > That's great! I hope it's useful to you --- if you make or think of > any improvements, do let me know so we can make them available. I am > not actively using it myself at the moment, so I have not made any > updates since the initial version. > > It's odd that your PDF file doesn't open automatically, which it does > for me. When I select View >> View (Other Formats) >> PDF > (pdflatex+sagetex) from the LyX menu on my system, the PDF opens > automatically in evince. The lines of the LyX preferences file > included with the module contain the following: > > \Format pdf10 pdf "PDF (pdflatex+sagetex)" g xdg-open "" > "document,vector,menu=export" > > \viewer_alternatives pdf10 xdg-open > \viewer_alternatives pdf10 okular > \viewer_alternatives pdf10 evince > \viewer_alternatives pdf10 xpdf > > The first line gives the name "pdf10" to the output format we get from > choosing that option from the View menu (LyX uses the other > "\converter" lines in file to work out a conversion path to yield that > format). The other lines above tell it what commands to try for > opening the resulting file (xdg-open just keeps track of default > applications for opening various file types, like you have probably > experienced on Windows). If for some reason you don't have any of > these PDF viewers, or your xdg-open doesn't point to any suitable > viewer, your file might not open. Otherwise, I'm not sure ... but I > think you could always hack it by adding something like the following > at the end of comple-pdf-sage.sh before the exit code: > > pdffile=${texfile%.tex}.pdf
> evince $pdffile > > (By the way, the current shell script doesn't play nice with file > names containing spaces ... you can fix this by putting quotation > marks around anything beginning with $'.)
>
> I can't think of a good reason to use the one-step mode instead of the
> two-step mode, but I seem to recall I kept it because it was
> implemented by the person who started work on this module (Murat
> Yildizoglu). It's conceivable it could be marginally faster since LyX
> wouldn't pay attention to any LaTeX messages, but I doubt that's
> significant. The main way to gain speed is to only run pdflatex (and
> not Sage) if the Sage computations have not changed, by using the
> regular pdflatex option from the View menu in LyX --- this is why the
> module leaves that option as the default view method.
>
> Until I get around to writing a better README file, would you mind if
> I append the transcript of our exchange to the lyx-users thread about
> the module? In case others run into any similar problems ...
>
> Cheers,
>  Thomas
>
>
>
> Hi Thomas,
>
> one improvement I can suggest right away: just eliminate that one-step
> process. If its performance gain is indeed minimal, I see no reason to
> keep it. I for one was confused as to its purpose.
>
> The reason the PDF did not open automatically was because I used the
> etc., the PDF does open automatically. I'm a bit puzzled why the new
> format 'PDF (pdflatex + sagetex)' doesn't show up under the toolbar
> button 'View other formats'. I always used this toolbar in stead of
> the View menu, and I just didn't think of it (I mean: the menu).
>
> Of course you can post our exchange to the lyx-forum. I think the
> combination of LyX - hands down the best text processor I ever worked
> with - and Sage opens vast possibilities. It really should get more
> publicity.
>
> It seems like a good idea to learn a bit more about the workings of
> LyX. Perhaps you can point me to a good source of information about,
> e.g., the format and purpose of the various entries in the lyx options
> file? Is it dangerous to edit it by hand? (there's a warning not to do
> so) Could I e.g. just clear it and build it anew from inside LyX?
>
> Thanks again, Thomas, you have been most helpful.
>
>
>
> Hi Dirk,
>
>     one improvement I can suggest right away: just eliminate that
> one-step process. If its performance gain is indeed minimal, I see no
> reason to keep it. I for one was confused as to its purpose.
>
>
> I agree the annotations about it were confusing ... when I get a
> chance to update, I will change this.
>
>
>     The reason the PDF did not open automatically was because I used
>>> etc., the PDF does open automatically. I'm a bit puzzled why the
> new format 'PDF (pdflatex + sagetex)' doesn't show up under the
> toolbar button 'View other formats'. I always used this toolbar in
> stead of the View menu, and I just didn't think of it (I mean: the
>
>
> Never noticed that before ... I've filed it as a bug:
> http://www.lyx.org/trac/ticket/8550
>
>
>     Of course you can post our exchange to the lyx-forum. I think the
> combination of LyX - hands down the best text processor I ever worked
> with - and Sage opens vast possibilities. It really should get more
> publicity.
>
>
> In the past I have made extensive use of Mathematica, whose "notebook"
> documents provide a tightly integrated literate programming
> environment. However, since my main interest in literate programming
> has been for reproducible research, this platform had some severe
> limitations (openness, availability to everyone, sophisticated
> document features for paper-writing, and extensibility of the
> underlying computation system). I am currently using LyX and Sage for
> my Ph.D. thesis, and feel like I've finally found the right set of
> tools (though of course there's always more to do).
>
>
>     It seems like a good idea to learn a bit more about the workings
> of LyX. Perhaps you can point me to a good source of information
> about, e.g., the format and purpose of the various entries in the lyx
> options file? Is it dangerous to edit it by hand? (there's a warning
> not to do so) Could I e.g. just clear it and build it anew from inside
> LyX?
>
>
> I never found a good guide to all of this, though just now I came
> across this page that might be a good place to start:
> http://www.oak-tree.us/2010/07/13/custom-lyx-modules/ . There's some
> information in the Customization manual (Section 5: Installing New
> Document Classes, Layouts, and Templates), but not enough to explain
> the whole module system. I started from a version of this module
> already built by Murat (you can see our discussion here:
> http://www.mail-archive.com/lyx-users@lists.lyx.org/msg91798.html ),
> so I gradually just figured out how to tweak things to get them to
> work.
>
> Everything that we added to the LyX preferences file for purposes of
> this module can be changed from within LyX under Tools >> Preferences.
> If you go there, you'll see the changes we made already appear in the
> GUI.
>
>
>     Thanks again, Thomas, you have been most helpful.
>
>
> My pleasure --- thanks for trying it out!
>
>
>
> On Mon, Apr 2, 2012 at 12:31 PM, Thomas Coffee <thomasmcof...@gmail.com>
> wrote:
>> 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
>> License, version 2 or later.
>>
>> - 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
>>>
`