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