diff options
| -rw-r--r-- | etc/calccard.tex | 669 |
1 files changed, 669 insertions, 0 deletions
diff --git a/etc/calccard.tex b/etc/calccard.tex new file mode 100644 index 00000000000..1fcff752735 --- /dev/null +++ b/etc/calccard.tex | |||
| @@ -0,0 +1,669 @@ | |||
| 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 | |||
| 94 | \message{[\ncolumns\space | ||
| 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 | ||
| 170 | \end} | ||
| 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 | |||
| 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}} | ||
| 469 | \iline{volume: \kbd{l} or \kbd{L}, \kbd{ml}; | ||
| 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 | |||
| 667 | % Local variables: | ||
| 668 | % compile-command: "tex calccard" | ||
| 669 | % End: | ||