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

Reply via email to