On Tue, Nov 4, 2014 at 4:26 PM, Brady Trainor <algeb...@uw.edu> wrote: > Darlan Cavalcante Moreira <darc...@gmail.com> writes: > >> I have done this in the past, I don't have the files anymore. However, as >> Tom says it is very easy to modify the templates to make org work with >> sage. I remember I only needed some search and replace to make it work. >> >> Also, you may want to have a look at sage-mode first if you haven't >> already. >> http://wiki.sagemath.org/sage-mode >> >> With sage mode installed its is a simple matter to make "C-c '" edit the >> source code in sage-mode. >> > > I have tried "C-c '", but it did not work.
I took a stab at fiddling with this and think sage "works," but not in the true babel sense like you might be expecting. My process: - install sage - $ sudo sage -f sage_mode - added the following to a minimal config: #+begin_src min-config (add-to-list 'load-path "~/.elisp/org.git/lisp/") (add-to-list 'load-path "/opt/sage/local/share/emacs/site-lisp/sage-mode/") (require 'sage "sage") (require 'sage-mode) (setq sage-command "/opt/sage/sage") #+end_src Having never played with sage/sage-mode, I found the "wiki" pretty unsatisfactory. It seemed to just cover installation, but nothing about how to actually use it once installed! On a complete whim, I added =(require 'sage-mode)=, which finally let me do what I was expecting, which was =M-x sage-mode=. With that, I'm able to use this simple file and *sort of* get it to work: #+begin_src test.sage print "Hello World"<point> print 2^3 #+end_src Just using the various M-x sage-* auto completes, I saw =sage-run=, so I used that. It hangs for a bit and then pops up a *Sage-main* buffer but with no results. After going back to the test.sage buffer, I can C-c C-c at <point> and it spits out the results in *Sage-main*. Next, I created a test.org file with the following: #+begin_src test.org * header #+begin_src sage print "Hello World"<point> print 2^3 #+end_src #+end_src =C-c '= on the block gets me to a typical Org babel buffer, and I can =C-c C-c= in it and get results output to *Sage-main*. > My attempt: > > As suggested at https://bitbucket.org/gvol/sage-mode/src, I try > > #+BEGIN_SRC sh > sudo sage -f sage_mode > #+END_SRC > > After running this, the end of message includes the suggestion to add > > #+BEGIN_SRC emacs-lisp > (add-to-list 'load-path > "/usr/lib/sagemath/local/share/emacs/site-lisp/sage-mode") > (require 'sage "sage") > (setq sage-command "/usr/lib/sagemath/sage") > #+END_SRC > > But if I try =C-c '= in a block like > > #+BEGIN_SRC sage > f(x) = x^2 > integrate(f(x), 1, 3).n() > #+END_SRC > > I get > > ,---- > | org-edit-src-code: No such language mode: sage-mode > `---- I think the issue is needing =(require 'sage-mode)= in .emacs. I seriously have *no idea* why the docs didn't say anything about this. Perhaps someone else can chime in regarding what one can do with =(require 'sage "sage")= but without loading sage-mode itself? The only additional function I could get was =M-x sage-update-autoloads=. Hope that helps! John > Also, I cannot publish to html in this way. > > _I tried copying ob-python.el to a file ob-sage.el and replacing all > instances of "python" and "py" with "sage"._ > > I also tried > > #+BEGIN_SRC emacs-lisp > (add-to-list 'org-src-lang-modes '("sage" . sage)) > (org-babel-do-load-languages 'org-babel-load-languages > '((sage . t) > (emacs-lisp . t) > (latex . t) > (sh . t))) > #+END_SRC > > But it still tells me "No such language mode: sage-mode". > > Thoughts? > > -- > Brady > > >> >> -- >> Darlan >> >> At Mon, 06 Aug 2012 11:33:47 -1000, >> t...@tsdye.com (Thomas S. Dye) wrote: >>> >>> Aloha Johan, >>> >>> Babel can be configured to support new languages, see >>> http://orgmode.org/worg/org-contrib/babel/languages.html#develop >>> >>> Someone will need to write language specific functions to support code >>> block evaluation in sage. There is a template for this. The functions >>> written for other languages provide good examples of what the >>> sage-specific functions might look like. >>> >>> hth, >>> Tom >>> >>> >>> >>> Johan Ekh <ekh.jo...@gmail.com> writes: >>> >>> > Hi all, >>> > sage is not listed under languages that can be used with >>> > org-babel. But it is based on >>> > Python, is it possible to use it with org-babel? >>> > >>> > /Johan >>> > >>> > Sent from my iPad >>> > >>> >>> -- >>> Thomas S. Dye >>> http://www.tsdye.com >>> >