(add_user_signal): Remove extern.
[emacs.git] / etc / refcards / calccard.tex
blob8286092b655ea7637f61e768c96a47f4f90f7777
1 % Reference Card for GNU Emacs Calc 2.02
2 %**start of header
3 \newcount\columnsperpage
5 % The format for this file is adapted from the GNU Emacs reference
6 % card version 1.9, by Stephen Gildea.
8 % This file can be printed with 1, 2, or 3 columns per page (see below).
9 % Specify how many you want here.
11 \columnsperpage=3
13 % PDF output layout. 0 for A4, 1 for letter (US), a `l' is added for
14 % a landscape layout.
16 \input pdflayout.sty
17 \pdflayout=(1l)
19 % Nothing else needs to be changed.
20 % Typical command to format: tex calccard.tex
21 % Typical command to print (3 cols): dvips -t landscape calccard.dvi
23 % Copyright (C) 1987, 1992, 2001, 2002, 2003, 2004,
24 % 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
26 % This file is part of GNU Emacs.
28 % GNU Emacs is free software: you can redistribute it and/or modify
29 % it under the terms of the GNU General Public License as published by
30 % the Free Software Foundation, either version 3 of the License, or
31 % (at your option) any later version.
33 % GNU Emacs is distributed in the hope that it will be useful,
34 % but WITHOUT ANY WARRANTY; without even the implied warranty of
35 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36 % GNU General Public License for more details.
38 % You should have received a copy of the GNU General Public License
39 % along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
41 % This file is intended to be processed by plain TeX (TeX82).
43 % The final reference card has six columns, three on each side.
44 % This file can be used to produce it in any of three ways:
45 % 1 column per page
46 % produces six separate pages, each of which needs to be reduced to 80%.
47 % This gives the best resolution.
48 % 2 columns per page
49 % produces three already-reduced pages.
50 % You will still need to cut and paste.
51 % 3 columns per page
52 % produces two pages which must be printed sideways to make a
53 % ready-to-use 8.5 x 11 inch reference card.
54 % For this you need a dvi device driver that can print sideways.
55 % Which mode to use is controlled by setting \columnsperpage above.
57 % Author (Calc reference card):
58 % Dave Gillespie
59 % UUCP: uunet!synaptx!daveg
60 % Internet: daveg@synaptics.com
62 % Author (refcard.tex format):
63 % Stephen Gildea
64 % UUCP: mit-erl!gildea
65 % Internet: gildea@stop.mail-abuse.org
67 \def\emacsversionnumber{23.1}
68 \def\year{2009} % latest copyright year
70 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
71 \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
72 Permissions on back.}}
74 \def\copyrightnotice{
75 \vskip 1ex plus 2 fill\begingroup\small
76 \centerline{Copyright \copyright\ \year\ Free Software Foundation, Inc.}
77 \centerline{designed by Dave Gillespie and Stephen Gildea,}
78 \centerline{for GNU Emacs Calc.}
80 Permission is granted to make and distribute copies of
81 this card provided the copyright notice and this permission notice
82 are preserved on all copies.
84 %For copies of the GNU Emacs Calc manual, write to the Free Software
85 %Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
86 %MA 02110-1301, USA.
88 \endgroup}
90 % make \bye not \outer so that the \def\bye in the \else clause below
91 % can be scanned without complaint.
92 \def\bye{\par\vfill\supereject\end}
94 \newdimen\intercolumnskip
95 \newbox\columna
96 \newbox\columnb
98 \def\ncolumns{\the\columnsperpage}
100 \message{[\ncolumns\space
101 column\if 1\ncolumns\else s\fi\space per page]}
103 \def\scaledmag#1{ scaled \magstep #1}
105 % This multi-way format was designed by Stephen Gildea
106 % October 1986.
107 \if 1\ncolumns
108 \hsize 4in
109 \vsize 10in
110 \voffset -.7in
111 \font\titlefont=\fontname\tenbf \scaledmag3
112 \font\headingfont=\fontname\tenbf \scaledmag2
113 \font\smallfont=\fontname\sevenrm
114 \font\smallsy=\fontname\sevensy
116 \footline{\hss\folio}
117 \def\makefootline{\baselineskip10pt\hsize6.5in\line{\the\footline}}
118 \else
119 \hsize 3.2in
120 \vsize 7.95in
121 \hoffset -.75in
122 \voffset -.745in
123 \font\titlefont=cmbx10 \scaledmag2
124 \font\headingfont=cmbx10 \scaledmag1
125 \font\smallfont=cmr6
126 \font\smallsy=cmsy6
127 \font\eightrm=cmr8
128 \font\eightbf=cmbx8
129 \font\eightit=cmti8
130 \font\eighttt=cmtt8
131 \font\eightsy=cmsy8
132 \textfont0=\eightrm
133 \textfont2=\eightsy
134 \def\rm{\eightrm}
135 \def\bf{\eightbf}
136 \def\it{\eightit}
137 \def\tt{\eighttt}
138 \normalbaselineskip=.8\normalbaselineskip
139 \normallineskip=.8\normallineskip
140 \normallineskiplimit=.8\normallineskiplimit
141 \normalbaselines\rm %make definitions take effect
143 \if 2\ncolumns
144 \let\maxcolumn=b
145 \footline{\hss\rm\folio\hss}
146 \def\makefootline{\vskip 2in \hsize=6.86in\line{\the\footline}}
147 \else \if 3\ncolumns
148 \let\maxcolumn=c
149 \nopagenumbers
150 \else
151 \errhelp{You must set \columnsperpage equal to 1, 2, or 3.}
152 \errmessage{Illegal number of columns per page}
153 \fi\fi
155 \intercolumnskip=.46in
156 \def\abc{a}
157 \output={%
158 % This next line is useful when designing the layout.
159 %\immediate\write16{Column \folio\abc\space starts with \firstmark}
160 \if \maxcolumn\abc \multicolumnformat \global\def\abc{a}
161 \else\if a\abc
162 \global\setbox\columna\columnbox \global\def\abc{b}
163 %% in case we never use \columnb (two-column mode)
164 \global\setbox\columnb\hbox to -\intercolumnskip{}
165 \else
166 \global\setbox\columnb\columnbox \global\def\abc{c}\fi\fi}
167 \def\multicolumnformat{\shipout\vbox{\makeheadline
168 \hbox{\box\columna\hskip\intercolumnskip
169 \box\columnb\hskip\intercolumnskip\columnbox}
170 \makefootline}\advancepageno}
171 \def\columnbox{\leftline{\pagebody}}
173 \def\bye{\par\vfill\supereject
174 \if a\abc \else\null\vfill\eject\fi
175 \if a\abc \else\null\vfill\eject\fi
176 \end}
179 % we won't be using math mode much, so redefine some of the characters
180 % we might want to talk about
181 \catcode`\^=12
182 \catcode`\_=12
184 \chardef\\=`\\
185 \chardef\{=`\{
186 \chardef\}=`\}
188 \hyphenation{mini-buf-fer}
190 \parindent 0pt
191 \parskip 1ex plus .5ex minus .5ex
193 \def\small{\smallfont\textfont2=\smallsy\baselineskip=.8\baselineskip}
195 \outer\def\newcolumn{\vfill\eject}
197 \outer\def\title#1{{\titlefont\centerline{#1}}\vskip 1ex plus .5ex}
199 \outer\def\section#1{\par\filbreak
200 \vskip 3ex plus 2ex minus 2ex {\headingfont #1}\mark{#1}%
201 \vskip 2ex plus 1ex minus 1.5ex}
203 \newdimen\keyindent
205 \def\beginindentedkeys{\keyindent=1em}
206 \def\endindentedkeys{\keyindent=0em}
207 \endindentedkeys
209 \def\paralign{\vskip\parskip\halign}
211 \def\<#1>{$\langle${\rm #1}$\rangle$}
213 \def\kbd#1{{\tt#1}\null} %\null so not an abbrev even if period follows
215 \def\beginexample{\par\leavevmode\begingroup
216 \obeylines\obeyspaces\parskip0pt\tt}
217 {\obeyspaces\global\let =\ }
218 \def\endexample{\endgroup}
220 \def\key#1#2{\leavevmode\hbox to \hsize{\vtop
221 {\hsize=.75\hsize\rightskip=1em
222 \hskip\keyindent\relax#1}\kbd{#2}\hfil}}
224 \newbox\metaxbox
225 \setbox\metaxbox\hbox{\kbd{M-x }}
226 \newdimen\metaxwidth
227 \metaxwidth=\wd\metaxbox
229 \def\metax#1#2{\leavevmode\hbox to \hsize{\hbox to .75\hsize
230 {\hskip\keyindent\relax#1\hfil}%
231 \hskip -\metaxwidth minus 1fil
232 \kbd{#2}\hfil}}
234 \def\threecol#1#2#3{\hskip\keyindent\relax#1\hfil&\kbd{#2}\quad
235 &\kbd{#3}\quad\cr}
238 % Calc-specific commands here:
241 \let\^=^
242 \let\_=_
243 \catcode`\^=7
244 \catcode`\_=8
246 % Redefine to make spaces a bit smaller
247 \let\wkbd=\kbd
248 \def\kbd#1{{\spaceskip=.37em\tt#1}\null}
250 \def\wkey#1#2{\leavevmode\hbox to \hsize{\vtop
251 {\hsize=.75\hsize\rightskip=1em
252 \hskip\keyindent\relax#1}\wkbd{#2}\hfil}}
253 \def\wthreecol#1#2#3{\hskip\keyindent\relax#1\hfil&\wkbd{#2}\quad
254 &\wkbd{#3}\quad\cr}
256 \def\stkkey#1#2#3#4{\par\line{\hskip1em\rlap{\kbd{#1}}\hskip4.5em%
257 \rlap{{#2}}\hskip7.5em\rlap{{#3}}\hskip7.5em\rlap{{#4}}\hfill}\par}
258 \def\S#1{$S_{\scriptscriptstyle #1}$}
259 \def\swap{$\leftrightarrow$}
261 \def\calcprefix{C-x *\ }
262 \def\,{{\rm ,\hskip.55em}\ignorespaces}
263 \def\lesssectionskip{\vskip-1.5ex}
265 \def\iline#1{\par\line{\hskip1em\relax #1\hfill}\par}
267 \if 1\ncolumns
268 \else
269 \font\eighti=cmmi8
270 \textfont1=\eighti
273 %**end of header
276 % Column 1
278 \title{GNU Calc Reference Card}
280 \centerline{(for GNU Emacs version \emacsversionnumber)}
282 \section{Starting and Stopping}
284 \wkey{start/stop standard Calc}{\calcprefix c}
285 \wkey{start/stop X keypad Calc}{\calcprefix k}
286 \wkey{\quad start/stop either: \kbd{\calcprefix *}}{}
287 \wkey{stop standard Calc}{q}
289 \wkey{Calc tutorial}{\calcprefix t}
290 \wkey{run Calc in other window}{\calcprefix o}
291 \wkey{quick calculation in minibuffer}{\calcprefix q}
293 \section{Getting Help}
295 \lesssectionskip
296 The \kbd{h} prefix key is Calc's analogue of \kbd{C-h} in Emacs.
298 \key{quick summary of keys}{?}
299 \key{describe key briefly}{h c}
300 \key{describe key fully}{h k}
301 \key{describe function or command}{h f}
302 \key{read on-line manual}{h i{\rm\enskip or\enskip}\calcprefix i}
303 \key{read full Calc summary}{h s{\rm\enskip or\enskip}\calcprefix s}
305 \section{Error Recovery}
307 \key{abort command in progress}{C-g}
308 \key{display recent error messages}{w}
309 \key{undo last operation}{U}
310 \key{redo last operation}{D}
311 \key{recall last arguments}{M-RET}
312 \key{edit top of stack}{`}
313 \wkey{reset Calc to initial state}{\calcprefix 0 {\rm (zero)}}
315 \section{Transferring Data}
317 \wkey{grab region from a buffer}{\calcprefix g}
318 \wkey{grab rectangle from a buffer}{\calcprefix r}
319 \wkey{grab rectangle, summing columns}{\calcprefix :}
320 \wkey{grab rectangle, summing rows}{\calcprefix \_}
322 \wkey{yank data to a buffer}{\calcprefix y}
324 Also, try \kbd{C-k}/\kbd{C-y} or X cut and paste.
326 \section{Examples}
328 \lesssectionskip
329 In RPN, enter numbers first, separated by \kbd{RET} if necessary,
330 then type the operator. To enter a calculation in algebraic form,
331 press the apostrophe first.
333 \beginindentedkeys
334 \paralign to \hsize{#\tabskip=10pt plus 1 fil&#\tabskip=0pt\hfil\quad&#\hfil\cr
335 \wthreecol{ }{{\bf RPN style:}}{{\bf algebraic style:}}
336 \wthreecol{Example:}{2 RET 3 +}{' 2+3 RET}
337 \wthreecol{Example:}{2 RET 3 + 4 *}{' (2+3)*4 RET}
338 \wthreecol{Example:}{2 RET 3 RET 4 + *}{' 2*(3+4) RET}
339 \wthreecol{Example:}{3 RET 6 + Q 3 \^}{' sqrt(3+6)\^3 RET}
340 \wthreecol{Example:}{P 3 / n S}{' sin(-pi/3) RET =}
342 \endindentedkeys
344 \shortcopyrightnotice
346 % Column 2
348 \section{Arithmetic}
350 \key{add, subtract, multiply, divide}{+\, -\, *\, /}
351 \key{raise to a power, {\it n\/}th root}{\^\, I \^}
352 \key{change sign}{n}
353 \key{reciprocal $1/x$}{\&}
354 \key{square root $\sqrt x$}{Q}
356 \key{set precision}{p}
357 \key{round off last two digits}{c 2}
358 \key{convert to fraction, float}{c F\, c f}
360 \wkey{enter using algebraic notation}{' 2+3*4}
361 \wkey{refer to previous result}{' 3*\$\^2}
362 \wkey{refer to higher stack entries}{' \$1*\$2\^2}
363 \key{finish alg entry without evaluating}{LFD}
364 \key{set mode where alg entry used by default}{m a}
366 \section{Stack Commands}
368 \lesssectionskip
369 Here \S{n} is the $n$th stack entry, and $N$ is the size of the stack.
371 \vskip.5ex
372 \stkkey{\it key}{\it no prefix}{\it prefix $n$}{\it prefix $-n$}
373 \stkkey{RET}{copy \S{1}}{copy \S{1..n}}{copy \S{n}}
374 \stkkey{LFD}{copy \S{2}}{copy \S{n}}{copy \S{1..n}}
375 \stkkey{DEL}{delete \S{1}}{delete \S{1..n}}{delete \S{n}}
376 \stkkey{M-DEL}{delete \S{2}}{delete \S{n}}{delete \S{1..n}}
377 \stkkey{TAB}{swap \S{1}\swap\S{2}}{roll \S{1} to \S{n}}{roll \S{n} to \S{N}}
378 \stkkey{M-TAB}{roll \S{3} to \S{1}}{roll \S{n} to \S{1}}{roll \S{N} to \S{n}}
380 With a 0 prefix, these copy, delete, or reverse the entire stack.
382 \section{Display}
384 \wkey{scroll horizontally, vertically}{< >\, \{ \}}
385 \key{home cursor}{o}
386 \key{line numbers on/off}{d l}
387 \key{trail display on/off}{t d}
389 \key{scientific notation}{d s}
390 \key{fixed-point notation}{d f}
391 \key{floating-point (normal) notation}{d n}
392 \key{group digits with commas}{d g}
394 For display mode commands, \kbd{H} prefix prevents screen redraw
395 and \kbd{I} prefix temporarily redraws top of stack.
397 \section{Notations}
399 \wkey{scientific notation}{6.02e23}
400 \wkey{minus sign in numeric entry}{\_23{\rm\quad or\quad}23 n}
401 \wkey{fractions}{3:4}
402 \wkey{complex numbers}{({\it x}, {\it y})}
403 \wkey{polar complex numbers}{({\it r}; $\theta$)}
404 \wkey{vectors (commas optional)}{[1, 2, 3]}
405 \wkey{matrices (or nested vectors)}{[1, 2; 3, 4]}
406 \wkey{error forms (\kbd{p} key)}{100 +/- 0.5}
407 \wkey{interval forms}{[2 ..\ 5)}
408 \wkey{modulo forms (\kbd{M} key)}{6 mod 24}
409 \wkey{HMS forms}{5@ 30' 0"}
410 \wkey{date forms}{<Jul 4, 1992>}
411 \wkey{infinity, indeterminate}{inf\, nan}
413 % Column 3
415 \section{Scientific Functions}
417 \key{ln, log${}_{\scriptscriptstyle 10}$, log${}_b$}{L\, H L\, B}
418 \key{exponential {\it e}${}^x$, 10${}^x$}{E\, H E}
419 \key{sin, cos, tan}{S\, C\, T}
420 \key{arcsin, arccos, arctan}{I S\, I C\, I T}
421 \key{inverse, hyperbolic prefix keys}{I\, H}
422 \key{two-argument arctan}{f T}
423 \key{degrees, radians modes}{m d\, m r}
424 \key{pi ($\pi$)}{P}
426 \key{factorial, double factorial}{!\, k d}
427 \key{combinations, permutations}{k c\, H k c}
428 \key{prime factorization}{k f}
429 \key{next prime, previous prime}{k n\, I k n}
430 \key{GCD, LCM}{k g\, k l}
431 \key{random number, shuffle}{k r\, k h}
432 \key{minimum, maximum}{f n\, f x}
434 \key{error functions erf, erfc}{f e\, I f e}
435 \key{gamma, beta functions}{f g\, f b}
436 \key{incomplete gamma, beta functions}{f G\, f B}
437 \key{Bessel $J_\nu$, $Y_\nu$ functions}{f j\, f y}
439 \key{complex magnitude, arg, conjugate}{A\, G\, J}
440 \key{real, imaginary parts}{f r\, f i}
441 \key{convert polar/rectangular}{c p}
443 \section{Financial Functions}
445 \key{enter percentage}{M-\%}
446 \key{convert to percentage}{c \%}
447 \key{percentage change}{b \%}
449 \key{present value}{b P}
450 \key{future value}{b F}
451 \key{rate of return}{b T}
452 \key{number of payments}{b \#}
453 \key{size of payments}{b M}
454 \key{net present value, int.\ rate of return}{b N\, b I}
456 Above computations assume payments at end of period. Use \kbd{I}
457 prefix for beginning of period, or \kbd{H} for a lump sum investment.
459 \key{straight-line depreciation}{b S}
460 \key{sum-of-years'-digits}{b Y}
461 \key{double declining balance}{b D}
463 \section{Units}
465 \wkey{enter with units}{' 55 mi/hr}
466 \key{convert to new units, base units}{u c\, u b}
467 \key{convert temperature units}{u t}
468 \key{simplify units expression}{u s}
469 \key{view units table}{u v}
471 Common units:
472 \iline{distance: \kbd{m}, \kbd{cm}, \kbd{mm}, \kbd{km};
473 \kbd{in}, \kbd{ft}, \kbd{mi}, \kbd{mfi};
474 \kbd{point}, \kbd{lyr}}
475 \iline{volume: \kbd{l} or \kbd{L}, \kbd{ml};
476 \kbd{gal}, \kbd{qt}, \kbd{pt}, \kbd{cup}, \kbd{floz},
477 \kbd{tbsp}, \kbd{tsp}}
478 \iline{mass: \kbd{g}, \kbd{mg}, \kbd{kg}, \kbd{t};
479 \kbd{lb}, \kbd{oz}, \kbd{ton}}
480 \iline{time: \kbd{s} or \kbd{sec}, \kbd{ms}, \kbd{us}, \kbd{ns}, \kbd{min},
481 \kbd{hr}, \kbd{day}, \kbd{wk}}
482 \iline{temperature: \kbd{degC}, \kbd{degF}, \kbd{K}}
484 % Column 4
486 \newcolumn
487 \title{GNU Calc Reference Card}
489 \section{Programmer's Functions}
491 \key{binary, octal, hex display}{d 2\, d 8\, d 6}
492 \key{decimal, other radix display}{d 0\, d r}
493 \key{display leading zeros}{d z}
494 \key{entering non-decimal numbers}{16\#7FFF}
496 \key{binary word size}{b w}
497 \key{binary AND, OR, XOR}{b a\, b o\, b x}
498 \key{binary DIFF, NOT}{b d\, b n}
499 \key{left shift}{b l}
500 \key{logical right shift}{b r}
501 \key{arithmetic right shift}{b R}
503 \key{integer quotient, remainder}{\\\, \%}
504 \key{integer square root, logarithm}{f Q\, f I}
505 \key{floor, ceiling, round to integer}{F\, I F\, R}
507 \section{Variables}
509 \lesssectionskip
510 Variable names are single digits or whole words.
512 \key{store to variable}{s t}
513 \key{store and keep on stack}{s s}
514 \key{recall from variable}{s r}
515 \key{shorthands for digit variables}{t {\it n}\, s {\it n}\, r {\it n}}
516 \key{unstore, exchange variable}{s u\, s x}
517 \key{edit variable}{s e}
519 \section{Vector Operations}
521 \key{vector of 1, 2, $\ldots\mskip\thinmuskip$, {\it n}}{v x {\it n}}
522 \key{vector of {\it n} counts from {\it a} by {\it b}}{C-u v x}
523 \key{vector of copies of a value}{v b}
524 \key{concatenate into vector}{|}
525 \key{pack many stack items into vector}{v p}
526 \key{unpack vector or object}{v u}
528 \key{length of vector (list)}{v l}
529 \key{reverse vector}{v v}
530 \key{sort, grade vector}{V S\, V G}
531 \key{histogram of vector data}{V H}
532 \key{extract vector element}{v r}
534 \key{matrix determinant, inverse}{V D\, \&}
535 \key{matrix transpose, trace}{v t\, V T}
536 \key{cross, dot products}{V C\, *}
537 \key{identity matrix}{v i}
538 \key{extract matrix row, column}{v r\, v c}
540 \key{intersection, union, diff of sets}{V \^\, V V\, V -}
541 \key{cardinality of set}{V \#}
543 \key{add vectors elementwise (i.e., map \kbd{+})}{V M +}
544 \key{sum elements in vector (i.e., reduce \kbd{+})}{V R +}
545 \key{sum rows in matrix}{V R \_ +}
546 \key{sum columns in matrix}{V R : +}
547 \key{sum elements, accumulate results}{V U +}
549 % Column 5
551 \section{Algebra}
553 \wkey{enter an algebraic formula}{' 2x+3y\^2}
554 \wkey{enter an equation}{' 2x\^2=18}
556 \key{symbolic (vs.\ numeric) mode}{m s}
557 \key{fractions (vs.\ float) mode}{m f}
558 \key{suppress evaluation of formulas}{m O}
559 \key{simplify formulas automatically}{m S}
560 \key{return to default evaluation rules}{m D}
562 \key{``Big'' display mode}{d B}
563 \key{C, Pascal, FORTRAN modes}{d C\, d P\, d F}
564 \key{\TeX, La\TeX, eqn modes}{d T\, d L\, d E}
565 \key{Maxima}{d X}
566 \key{Unformatted mode}{d U}
567 \key{Normal language mode}{d N}
569 \key{simplify formula}{a s}
570 \key{put formula into rational form}{a n}
571 \key{evaluate variables in formula}{=}
572 \key{evaluate numerically}{N}
573 \key{let variable equal a value in formula}{s l {\it x\/}={\it val}}
574 \key{declare properties of variable}{s d}
575 \iline{Common decls: \kbd{pos}, \kbd{int}, \kbd{real},
576 \kbd{scalar}, \kbd{[{\it a}..{\it b}\hskip.1em]}.}
578 \key{expand, collect terms}{a x\, a c}
579 \key{factor, partial fractions}{a f\, a a}
580 \key{polynomial quotient, remainder, GCD}{a \\\, a \%\, a g}
581 \key{derivative, integral}{a d\, a i}
582 \key{taylor series}{a t}
584 \key{principal solution to equation(s)}{a S}
585 \key{list of solutions}{a P}
586 \key{generic solution}{H a S}
587 \key{apply function to both sides of eqn}{a M}
589 \key{rewrite formula}{a r}
590 \iline{Example: \wkbd{a r a*b + a*c := a*(b+c)}}
591 \iline{Example: \wkbd{a r sin(x)\^2 := 1-cos(x)\^2}}
592 \iline{Example: \wkbd{a r cos(n pi) := 1 ::\ integer(n) ::\ n\%2 = 0}}
593 \iline{Example: \wkbd{a r [f(0) := 1, f(n) := n f(n-1) ::\ n > 0]}}
594 \iline{Put rules in \kbd{EvalRules} to have them apply automatically.}
595 \iline{Put rules in \kbd{AlgSimpRules} to apply during \kbd{a s}
596 command.}
597 \iline{Common markers: \kbd{opt}, \kbd{plain}, \kbd{quote}, \kbd{eval},
598 \kbd{let}, \kbd{remember}.}
600 \section{Numerical Computations}
602 \key{sum formula over a range}{a +}
603 \key{product of formula over a range}{a *}
604 \key{tabulate formula over a range}{a T}
605 \key{integrate numerically over a range}{a I}
606 \key{find zero of formula or equation}{a R}
607 \key{find local min, max of formula}{a N\, a X}
608 \key{fit data to line or curve}{a F}
610 \key{mean of data in vector or variable}{u M}
611 \key{median of data}{H u M}
612 \key{geometric mean of data}{u G}
613 \key{sum, product of data}{u +\, u *}
614 \key{minimum, maximum of data}{u N\, u X}
615 \key{sample, pop.\ standard deviation}{u S\, I u S}
617 % Column 6
619 \section{Selections}
621 \key{select subformula under cursor}{j s}
622 \key{select {\it n\/}th subformula}{j {\it n}}
623 \key{select more}{j m}
624 \key{unselect this, all formulas}{j u\, j c}
626 \key{copy indicated subformula}{j RET}
627 \key{delete indicated subformula}{j DEL}
629 \key{commute selected terms}{j C}
630 \key{commute term leftward, rightward}{j L\, j R}
631 \key{distribute, merge selection}{j D\, j M}
632 \key{isolate selected term in equation}{j I}
633 \key{negate, invert term in context}{j N\, j \&}
634 \key{rewrite selected term}{j r}
636 \section{Graphics}
638 \key{graph function or data}{g f}
639 \key{graph 3D function or data}{g F}
640 \key{replot current graph}{g p}
641 \key{print current graph}{g P}
642 \key{add curve to graph}{g a}
643 \key{set number of data points}{g N}
644 \key{set line, point styles}{g s\, g S}
645 \key{set log vs.\ linear {\it x, y} axis}{g l\, g L}
646 \key{set range for {\it x, y} axis}{g r\, g R}
647 \key{close graphics window}{g q}
649 \section{Programming}
651 \key{begin, end recording a macro}{C-x (\, C-x )}
652 \key{replay keyboard macro}{X}
653 \wkey{read region as written-out macro}{\calcprefix m}
654 \key{if, else, endif}{Z [\, Z :\, Z ]}
655 \key{equal to, less than, member of}{a =\, a <\, a \{}
656 \key{repeat {\it n} times, break from loop}{Z <\, Z >\, Z /}
657 \key{``for'' loop: start, end; body, step}{Z (\, Z )}
658 \key{save, restore mode settings}{Z `\, Z '}
659 \key{query user during macro}{Z \#}
660 \key{put finished macro on a key}{Z K}
662 \key{define function with formula}{Z F}
663 \key{edit definition}{Z E}
665 \key{record user-defined command permanently}{Z P}
666 \key{record variable value permanently}{s p}
667 \key{record mode settings permanently}{m m}
669 \copyrightnotice
671 \bye
673 % Local variables:
674 % compile-command: "pdftex calccard"
675 % End:
677 % arch-tag: a2764f34-ec23-4083-bd5c-53f9e70a5da9