|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on calc.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
# (find-eev-quick-intro)
# http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/calc.e>
# or at <http://angg.twu.net/e/calc.e.html>.
# See also <http://angg.twu.net/emacs.html>,
# <http://angg.twu.net/.emacs[.html]>,
# <http://angg.twu.net/.zshrc[.html]>,
# <http://angg.twu.net/escripts.html>,
# and <http://angg.twu.net/>.
#
#######
# «.video-0-2022apr02» (to "video-0-2022apr02")
# «.andrew-hyatt» (to "andrew-hyatt")
# «.vars-in-calc» (to "vars-in-calc")
# (find-node "(calc)Top")
# (find-node "(calc)Demonstration of Calc")
# (find-node "(calc)Demonstration of Calc" "C-x * c")
# (find-node "(calc)Demonstration of Calc" "C-x * c" "M-x calc")
# (find-node "(calc)Demonstration of Calc" "RPN calculation")
# (find-node "(calc)Demonstration of Calc" "Algebraic calculation")
# (eek "M-h M-k C-x * ;; calc-dispatch")
# (find-efunctiondescr 'calc-dispatch)
# (find-efunction 'calc-dispatch)
# (find-efunctiondescr 'calc-dispatch-help)
# (find-efunctiondescr 'calc-graph-view-commands)
# (find-ekeydescr "gv")
# (find-efunction 'calc-graph-view-commands)
C-x * q 100! RET
Type ‘2 <RET> 3 + Q’ to compute the square root of 2+3, which is
2.2360679775.
Type ‘P 2 ^’ to compute the value of ‘pi’ squared, 9.86960440109.
Type <TAB> to exchange the order of these two results.
Type ‘- I H S’ to subtract these results and compute the Inverse
Hyperbolic sine of the difference, 2.72996136574.
Type ‘' sqrt(2+3) <RET>’ to compute the square root of 2+3.
Type ‘' pi^2 <RET>’ to enter ‘pi’ squared. To evaluate this symbolic
formula as a number, type ‘=’.
Type ‘' arcsinh($ - $$) <RET>’ to subtract the second-most-recent result
from the most-recent and compute the Inverse Hyperbolic sine.
eepitch-to-buffer
"*Calculator*"
* (eepitch-to-buffer "*Calculator*")
* (eepitch-kill)
* (eepitch-to-buffer "*Calculator*")
' 3
# (find-efunctiondescr 'calc-algebraic-entry)
# (find-efunction 'calc-algebraic-entry)
https://github.com/moosotc/llpp/blob/master/main.ml
# (calc-eval "integ(3x^2-2x^3, x)")
# (find-orgnode "Advanced features")
# (find-orgnode "Advanced features" "Taylor series")
https://www.remcycles.net/blog/calc.html
https://www.youtube.com/watch?v=afsBtpEfoG4
# https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-03/msg00272.html
# (require 'calc)
# (find-efunctiondescr 'calc-dispatch-help)
# (find-efunction 'calc-dispatch-help)
#####
#
# video-0-2022apr02
# 2022apr02
#
#####
# «video-0-2022apr02» (to ".video-0-2022apr02")
# (find-ssr-links "eevcalc0" "2022eev-calc-0" "{hash}")
# (code-eevvideo "eevcalc0" "2022eev-calc-0" "{hash}")
# (code-eevlinksvideo "eevcalc0" "2022eev-calc-0" "{hash}")
# (find-eevcalc0video "0:00")
# https://lists.gnu.org/archive/html/help-gnu-emacs/2022-04/msg00013.html Michael H
# https://lists.gnu.org/archive/html/help-gnu-emacs/2022-04/msg00015.html Edrx
# http://angg.twu.net/eev-videos/2022eev-calc-0.mp4
# http://angg.twu.net/eev-videos/eev-calc.html
A demo of scripting Calc with eev
=================================
Eduardo Ochs, 2022apr02 - based on
this message by Michael Heerdegen:
https://lists.gnu.org/archive/html/help-gnu-emacs/2022-04/msg00013.html
See: http://angg.twu.net/eev-calc.html
(defun eek-at-window (window keyseq)
(save-selected-window
(select-window (get-buffer-window window))
(eek keyseq)))
(defun eec (keyseq) (eek-at-window "*Calculator*" keyseq))
(defun ee-show-calc-windows ()
(interactive)
(find-wset "13o_3o_o"
'(find-ebuffer "*Calculator*")
'(find-ebuffer "*Calc Trail*")))
* (calc) (eek "C-x 3 M-1 M-j")
* (ee-show-calc-windows)
* (eec "' [x0-1 .. x0+1] RET ;; interval")
* (eec "' [y0-1 .. y0+1] RET ;; ditto")
* (eec "' (x-x0)^2 - (y-y0)^2 + 2 RET ;; alt: define a named function")
* (eec "3 s t x0 RET ;; set x0 to 3")
* (eec "2 s t y0 RET ;; set y0 to 2")
* (eec "M-3 = ;; updates topmost 3 stack values with vars substituted")
* (eec "g F ;; draw it")
...it needs to be run from ~/TODO, and it is very fragile. The line
(calc) (eek "C-x 3 M-1 M-j")
will start Calc, and Calc will (usually?) make the frame display the
"*Calculator*" window at the left and the "*Calc Trail*" window at the
right. Then in the `eek' sexp the `C-x 3' splits the "*Calculator*"
window into a left half and a right half, and the `M-1 M-j' makes the
left half visit the file "~/TODO". The
(ee-show-calc-windows)
resizes the windows to make the "~/TODO" window take 50% of the width
of the frame and the window "*Calculator*" and "*Calc Trail*" take 25%
each.
#####
#
# andrew-hyatt
# 2022oct01
#
#####
# «andrew-hyatt» (to ".andrew-hyatt")
# https://github.com/ahyatt/
# https://github.com/ahyatt/emacs-calc-tutorials
# (code-c-d "emacscalctutorials" "~/usrc/emacs-calc-tutorials/")
# (find-emacscalctutorialsfile "")
#####
#
# vars-in-calc
# 2022nov14
#
#####
# «vars-in-calc» (to ".vars-in-calc")
# How to assign values to variables in Emacs GNU Calc
# (find-yttranscript-links "varsincalc" "oznRf8d7k5M")
# (find-youtubedl-links nil nil "oznRf8d7k5M" nil "varsincalc")
http://yummymelon.com/devnull/announcing-casual-an-opinionated-porcelain-for-emacs-calc.html
http://yummymelon.com/devnull/mathing-in-emacs-with-casual.html
# Local Variables:
# coding: utf-8-unix
# End: