Thomas Holst <thomas.ho...@de.bosch.com> writes: > Hello, > > recent org-mode versions have support for maxima via org-babel. But > there is no support vor variables. I implemented basic support for > variables. A header =var: eq="x^2"= is translated to: > > #+begin_src maxima > eq : x^2; > #+end_src > > I attached a patch to this eMail. >
Great, thanks for sharing this patch, I'd very much like to apply this. Have you seen the instructions for contributing to Org-mode [1]? Any patch over 10 lines long requires signed FSF copyright attribution papers. Please let me know if you are able to complete the copyright assignment, once that is done I will apply this patch. > > Now I can use the output from one maxima block and make a LaTeX equation > out of it with one maxima code block and reuse the output and make further > maipulations with it. I find it dificult to explain what I want to do, > so here is an example: > The example below like a nice application, you may also want to use "begin_src latex" blocks to display equations resulting from maxima code blocks. Cheers -- Eric > > * Reuse Output of maxima code blocks > > #+source: eq1() > #+begin_src maxima :exports none :results output verbatim > display2d:false; > eq1: x**2; > print(eq1); > #+end_src > #+results: eq1 > : x^2 > > Pretty print equation with LaTeX: > > #+source: eq1-latex > #+begin_src maxima :exports results :results output latex :var eq=eq1() > print("\\begin{equation}"); > print(tex1(eq)); > print("\\end{equation}"); > #+end_src > > #+results: eq1-latex > #+BEGIN_LaTeX > \begin{equation} > x^2 > \end{equation} > #+END_LaTeX > > Do some further calculation / maipulation to equation > > #+source: eq2() > #+begin_src maxima :exports none :results output verbatim :var eq=eq1() > display2d:false; > eq2 : eq + sin(x); > print(eq2); > #+end_src > #+results: eq5 > : sin(x)+x^2 > > Pretty print second equation: > > #+source: eq2-latex > #+begin_src maxima :exports results :results output latex :var eq=eq2() > print("\\begin{equation}"); > print(tex1(eq)); > print("\\end{equation}"); > #+end_src > > #+results: > #+BEGIN_LaTeX > \begin{equation} > \sin x+x^2 > \end{equation} > #+END_LaTeX > > With this workflow I have all org features for docmentation of math or > engineering works. > > I am a lisp beginner so my lisp code may not be the best. If there are > better ways to accomplish variable support please let me know. Footnotes: [1] http://orgmode.org/worg/org-contribute.php