emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiple calc commands with orgbabel


From: pietru
Subject: Re: Multiple calc commands with orgbabel
Date: Wed, 5 May 2021 22:24:58 +0200

> Sent: Thursday, May 06, 2021 at 4:39 AM
> From: "Eric S Fraga" <e.fraga@ucl.ac.uk>
> To: "Matt Price" <moptop99@gmail.com>
> Cc: pietru@caramail.com, "Org Mode List" <emacs-orgmode@gnu.org>
> Subject: Re: Multiple calc commands with orgbabel
>
> On Wednesday,  5 May 2021 at 11:11, Matt Price wrote:
> > Can you explain how you get calc embedded mode working in org? I have
> > never used it and it sounds interesting, but I don't understand what
> > hte delimiters are.
>
> Sure.  Here is a mini-tutorial! :-) I recently gave an interactive talk
> on embedded Calc...
>
> The out-of-the-box settings for Emacs embedded mode are such that any
> line surrounded by empty lines (i.e. couple of blank lines before and
> after) can be interpreted as an expression to evaluate by Calc using
> "C-x * u".  You do not need to place these expressions in any src block.
>
> The detection can be somewhat fragile so extra blank lines are sometimes
> necessary for some reason.
>
> For instance, copy the following few lines to a text buffer and type
> "C-x * u" on each line in turn:
>
> --8<---------------cut here---------------start------------->8---
>
>
> x := 180 =>
>
>
> y := sin(x / 4) =>
>
>
> z := 2 y^2 =>
>
>
> --8<---------------cut here---------------end--------------->8---
>
> The general format for an embedded calc expression is
>
>    var := expression => value
>
> where only "expression" is required.  If you don't have "=>", evaluating
> the expression will replace the expression with its value.
>
> If you have lines as above, with assignments and values after the actual
> expression, you can then go back to the first line and change the value,
> say to 90, type "C-x *u" on that line again and all of them should
> update.
>
> The calculations can involve calculus (derivatives, integration), linear
> algebra, and units.  Calc is actually an incredibly powerful (and
> relatively unknown) computer algebra system hiding within Emacs.

Calc is a great piece of work.  Has it been long that work was done on it?

> The variables that could be customised to have org specific recognition
> would be calc-embedded-open-formula and calc-embedded-close-formula.  It
> might be useful for the community to think about whether org should have
> org specific settings for these variables.  I actually define settings
> for org so that only lines that look like this:
>
> #+calc: expression
>
> are interpreted (without requiring empty lines around such lines)
> [1].  I then have code for processing these lines on export to LaTeX to
> present the equations and results in a more accessible way as I use
> embedded calc a lot for teaching (beamer slides).
>
> Final note: the info manual for embedded Calc mode emphasises editing
> the expressions and interacting with Calc while doing so.  I find that
> method of working rather confusing, tiring, and unproductive (for my use
> case) so I write the calc lines using normal editing and only "update"
> the expressions to get the results.  YMMV, of course.
>
> Let me know if this helped at all,
> eric
>
>
> Footnotes:
> [1] it would be nice to have some generic way to hijack C-c C-c on such
>      lines to do what I want, e.g. calc-embedded-update-formula.
>
> --
> : Eric S Fraga via Emacs 28.0.50, Org release_9.4.5-395-g82fbdd
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]