On Wed, Feb 08 2023, Max Nikulin <maniku...@gmail.com> wrote: > On 08/02/2023 04:40, Leo Butler wrote: >> Generate @@latex:\LaTeX{}@@ code from Maxima code. > > You can write just LaTeX, ox-latex recognizes such pattern. The bonus > is the it will be literally exported to HTML.
Thanks. > >> #+begin_example >> ,#+begin_src maxima :tangle maxima-init.lisp :exports none >> (defun $batchload (file) (mfuncall '$batch file)) >> ($load "./maxima-init.mac") >> ,#+end_src >> #+end_example >> On tangling, this produces the ~common-lisp~ output file >> ~maxima-init.lisp~. It will be pre-loaded into Maxima. >> #+begin_src maxima :tangle maxima-init.lisp :exports none >> (defun $batchload (file) (mfuncall '$batch file)) >> ($load "./maxima-init.mac") >> #+end_src > > I am curious if it is possible to avoid duplication by e.g. using noweb. I am not sure what you think is being duplicated. Do you mean the duplication of the example and src blocks? I am not aware of how to remove that duplication--all the examples I have found in the worg source do what I have done above. > >> #+begin_src maxima :tangle maxima-init.mac :exports none > > At first glance :prologue header argument might be an alternative, but > likely I have missed something obvious. The prologue header is put into a temporary source file, along with the body and epilogue and it is read by Maxima's `batchload' command. So using a prologue is too late, because I need to overwrite `batchload' by its more verbose companion `batch'. That is why `maxima-init.lisp' is pre-loaded. Leo