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: