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