all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Calc embedded assignment without producing output
@ 2011-04-03  9:36 Josip Gracin
  0 siblings, 0 replies; 2+ messages in thread
From: Josip Gracin @ 2011-04-03  9:36 UTC (permalink / raw)
  To: help-gnu-emacs

Hello!

In a LaTeX document, I'd like to assign some calc variables and have
calc update a bunch of expressions using these variables.  However, I
don't want these assignments to appear in the document.

Here's an example.  I'd like to be able to use calc in the following manner:

\documentclass{article}
\begin{document}
%%% f := 10 %%%

The first value is
$
%%% f * 15 => %%%
150
$

The second value is
$
%%% f * 13 => %%%
130
$
\end{document}

So, I'd like assignment f:=10 to be invisible in the document, but
calc always inserts "f \gets 10" after evaluating it.  Also, I'd like
the evaluation of f*13 to only insert "150", and not "\evalto f * 15
\to 150".

Is there a way to get this kind of behavior from calc?

Thanks!



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Calc embedded assignment without producing output
       [not found] <mailman.3.1301860255.14368.help-gnu-emacs@gnu.org>
@ 2011-04-04  3:47 ` Jay Belanger
  0 siblings, 0 replies; 2+ messages in thread
From: Jay Belanger @ 2011-04-04  3:47 UTC (permalink / raw)
  To: help-gnu-emacs


> Here's an example.  I'd like to be able to use calc in the following manner:
>
> \documentclass{article}
> \begin{document}
> %%% f := 10 %%%
>
> The first value is
> $
> %%% f * 15 => %%%
> 150
> $
>
> The second value is
> $
> %%% f * 13 => %%%
> 130
> $
> \end{document}
>
> So, I'd like assignment f:=10 to be invisible in the document, but
> calc always inserts "f \gets 10" after evaluating it.

Calc could be adjusted to keep the ":=", although I don't suppose that
it matters whether there is "f:=10" or "f \gets 10" in the comment.

> Also, I'd like the evaluation of f*13 to only insert "150", and not
> "\evalto f * 15 \to 150".
>
> Is there a way to get this kind of behavior from calc?

Do you mean put the result on a separate line, but keep the formula
inside a comment?  Having something like that in Calc would probably be
a good idea.  For the time being, perhaps the following kludge would work.  
Keep the assignments and evaluation in comments, as above, but put them
in dollar signs (to make them easier to activate):

****
%%% $f := 10$ %%%

The first value is
$
%%% $f * 15 =>$ %%%

$
****

When the => formulas get updated, the result will still be in
comments, like

****
%%% $f \gets 10$ %%%

The first value is
$
%%% $\evalto f 15 \to 150$ %%%

$
****

Every once in a while run the function

(defun update-assignments ()
  (interactive)
  (save-excursion
    (goto-char (point-min))
    (while (re-search-forward "^%+ *\\$.*\\\\to *\\(.*\\)\\$" nil t)
      (forward-line 1)
      (kill-line 1)
      (insert (match-string 1) "\n"))))

which will put the result of the => formulas on the following lines.
(Notice that the following line gets killed each time the above function
is run, so don't start off with something you want kept there.)

****
%%% $f \gets 10$ %%%

The first value is
$
%%% $\evalto f 15 \to 150$ %%%
150
$
****

This isn't quite what you asked for, but perhaps it will do for the time
being.

Jay


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-04-04  3:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-03  9:36 Calc embedded assignment without producing output Josip Gracin
     [not found] <mailman.3.1301860255.14368.help-gnu-emacs@gnu.org>
2011-04-04  3:47 ` Jay Belanger

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.