2 %% Time-stamp: <2002/12/13 16:41:13 bruce>
4 %% This document is copyright (C) 1998-2002 Bruce Ravel <ravel@phys.washington.edu>
5 %% This page covers version 0.6.0 of gnuplot-mode.
7 %% This document is distributed in the hope that it will be useful,
8 %% but WITHOUT ANY WARRANTY; without even the implied warranty of
9 %% properly describing the software it documents.
11 %% Permission is granted to make and distribute copies of this
12 %% document in electronic form provided the copyright notice and this
13 %% permission are preserved on all copies.
16 \documentclass[twocolumn]{article}
19 \setlength{\parindent}{0truecm}
20 \setlength{\parskip}{1ex}
21 \setlength{\hoffset}{-0.5truecm}
22 \setlength{\voffset}{0truecm}
23 \setlength{\topmargin}{-2.5truecm}
24 \setlength{\marginparsep}{0truecm}
25 \setlength{\marginparwidth}{0truecm}
26 \setlength{\textheight}{25.5truecm}
27 \setlength{\textwidth}{17truecm}
28 \setlength{\oddsidemargin}{0truecm}
29 \setlength{\evensidemargin}{1.2truecm}
30 \setlength{\columnsep}{1.4truecm}
32 \newenvironment{Boxedminipage}%
33 {\begin{Sbox}\begin{minipage}}%
34 {\end{minipage}\end{Sbox}\Ovalbox{\TheSbox}}
35 \newenvironment{SqBoxedminipage}%
36 {\begin{Sbox}\begin{minipage}}%
37 {\end{minipage}\end{Sbox}\fbox{\TheSbox}}
40 \def\revised{{17 May, 2002}}
41 \def\file#1{{\texttt{`#1'}}}
42 \def\key#1{{\textrm \leavevmode\hbox{%
43 \raise0.4pt\hbox{$\langle$}\kern-.08em\vtop{%
44 \vbox{\hrule\kern-0.4pt
45 \hbox{\raise0.4pt\hbox{\vphantom{$\langle$}}#1}}%
47 \kern-.06em\raise0.4pt\hbox{$\rangle$}}}}
51 \begin{minipage}[h]{0.97\linewidth}
53 \textbf{#1}\hfill[\texttt{#2}]
55 \begin{minipage}[h]{0.93\linewidth}
66 \begin{minipage}[h]{0.97\linewidth}
70 \begin{minipage}[h]{0.93\linewidth}
88 \begin{Boxedminipage}{0.75\linewidth}
90 \vspace{0.01\textheight}
91 {\Large Quick Reference for}\\
92 \vspace{0.007\textheight}
94 \vspace{0.01\textheight}
101 This card describes the features of gnuplot-mode for Emacs.
102 Gnuplot-mode is intended for composing scripts for the
103 \textsc{gnuplot} plotting program. It offers functions for sending
104 commands or entire scripts to the \textsc{gnuplot} program as well as
105 various functions to aid in composing scripts. It works with any
106 version of \textsc{gnuplot} from 3.5 to 3.8. See the comments in the
107 file \file{gnuplot.el} for instructions on installing gnuplot-mode.
111 \begin{minipage}[h]{\linewidth}
113 \centerline{{\large\textbf{gnuplot-mode key sequences}}}
115 \begin{tabular}[h]{cl}
118 \multicolumn{2}{l}{~\quad\textbf{Gnuplot-mode buffer}}\\[0.5ex]
119 \textrm{key} & \quad description \\
121 \texttt{C-c C-l} & send a line to gnuplot \\
122 \texttt{C-c C-v} & send a line and move forward 1 line\\
123 \texttt{C-c C-r} & send the region to gnuplot \\
124 \texttt{C-c C-b} & send the buffer to gnuplot \\
125 \texttt{C-c C-f} & send a file to gnuplot \\
127 \texttt{M-\key{tab}} & complete keyword at point \\
128 \texttt{C-c C-i} & insert filename at point \\
129 \texttt{C-c C-j} & jump to next statement \\
130 \texttt{C-c C-n} & negate set option at point \\
131 \texttt{C-c C-c} & comment region \\
132 \texttt{C-c C-o} & set arguments of command at point \\
133 \texttt{S-mouse-2} & set arguments of command under mouse \\
134 \texttt{C-c C-h} & get help from the gnuplot info file \\
135 \texttt{C-c C-e} & look at the gnuplot process buffer \\
137 \texttt{C-c C-k} & kill the gnuplot process \\
138 \texttt{C-c C-u} & submit a bug report about gnuplot-mode \\
139 \texttt{C-c C-z} & customize gnuplot-mode \\
142 \multicolumn{2}{l}{~\quad\textbf{Gnuplot process buffer}}\\[0.5ex]
143 \textrm{key} & \quad description \\
145 \texttt{M-C-p} & plot script \\
146 \texttt{M-C-f} & load file containing script \\
154 \centerline{{\large\textbf{Starting gnuplot-mode}}}
157 \command{M-x gnuplot-mode}{Start gnuplot-mode in the current buffer.}
159 \command{M-x gnuplot-make-buffer}{Open a new buffer in gnuplot-mode}
165 \begin{Boxedminipage}{1.05\linewidth}
167 \footnotesize{Gnuplot-mode homepage} \\
169 \texttt{http://feff.phys.washington.edu/\char126ravel/software/gnuplot-mode/}}
174 This page {\copyright} 1998-2002 Bruce Ravel \hfill revised \revised \\
175 \texttt{<ravel@phys.washington.edu>} \\ %% \hfill printed \today \\
176 This page covers version {\version} of gnuplot-mode.
178 Permission is granted to make and distribute copies of this quick
179 reference provided the copyright notice and this permission are
180 preserved on all copies.}
184 \centerline{{\large\textbf{Setting up gnuplot-mode}}}
187 Put the lines in the box below in your \file{.emacs} file or in the
188 system wide start-up file to enable gnuplot-mode. The first two lines
189 make Emacs recognize the functions described in the ``Starting
190 gnuplot-mode'' section on this page. The third line causes Emacs to
191 put all files ending in \file{.gp} into gnuplot-mode. The final line
192 defines a hotkey -- in this case \key{F9} -- for starting
195 \begin{SqBoxedminipage}{\linewidth}
197 (autoload 'gnuplot-mode "gnuplot"
198 "gnuplot major mode" t)
199 (autoload 'gnuplot-make-buffer "gnuplot"
200 "open a buffer in gnuplot mode" t)
201 (setq auto-mode-alist
202 (append '(("\\.gp$" . gnuplot-mode))
204 (global-set-key [(f9)] 'gnuplot-make-buffer)
206 \end{SqBoxedminipage}
212 \item[Using the gnuplot-process buffer] \hfill \\
213 The process buffer contains an active \textsc{gnuplot} command line
214 for interacting with \textsc{gnuplot} directly. The \texttt{M-C-p}
215 and \texttt{M-C-f} key sequences will plot using the contents of
216 the gnuplot script buffer.
217 \item[Using the GUI to set command arguments] \hfill \\
218 \texttt{C-c C-c} and \texttt{S-mouse-2} are used to invoke the
219 graphical tool for setting command arguments. Use text fields and
220 option menus to choose appropriate values. Menus and buttons are
221 activated with the middle mouse button. A few plot options may not
223 \item[Customizing variables] \hfill \\
224 The graphical customization tool for variables can be invoked using
225 \texttt{C-c C-z}. Descriptions of the variables relevant to
226 gnuplot-mode can be obtained by using \texttt{gnuplot} as the
227 regular expression for \texttt{M-x apropos}.
228 \item[On-line help] \hfill \\
229 Keyword completion and on-line help require that the
230 \textsc{gnuplot} info file be available and that the info-look
231 package be installed. The info file can be made from the
232 documentation supplied with the \textsc{gnuplot} distribution and
233 the info-look package is a standard part of Emacs 20. Users of
234 XEmacs or Emacs 19 should download \file{info-look.el} from the
235 gnuplot-mode homepage.
236 \item[Using mouse] \hfill \\
237 All features of the mouse patch to \textsc{gnuplot} should be
238 available when using gnuplot-mode. One particularly useful feature
239 of mouse is the ability to push a cursor position into the
240 clipboard. This is done by double-clicking \texttt{mouse-1} in the
241 plot window, then doing \texttt{M-x yank-clipboard-selection}
242 (usually bound to \texttt{mouse-2}) in the gnuplot script buffer.
250 %%% end of first column
253 \begin{Boxedminipage}{0.75\linewidth}
255 {\large User configurable variables}
261 \variable{gnuplot-program}{gnuplot}{The name of the gnuplot
264 \variable{gnuplot-process-name}{*gnuplot*}{The name of the gnuplot
265 process and process buffer.}
267 \variable{gnuplot-gnuplot-buffer}{plot.gp}{The name of the gnuplot
268 scratch buffer opened by \texttt{gnuplot-make-buffer}.}
271 \variable{gnuplot-display-process}{'window}{Determines how to display
272 the gnuplot process buffer, either 'frame, 'window, or nil}
274 \variable{gnuplot-info-display}{'window}{Determines how
275 `gnuplot-get-help' displays the info file, either 'frame, 'window,
278 \variable{gnuplot-echo-command-line-flag}{t}{If lines that you send to
279 gnuplot from the gnuplot-mode buffer are not appearing at the
280 gnuplot prompt in the process buffer, set this to nil and restart
283 \variable{gnuplot-delay}{0.01}{Time in seconds to allow the gnuplot
284 display to update. Increase this number if the prompts and lines
285 are displayed out of order.}
287 \variable{gnuplot-quote-character}{'}{Quotation character used when
288 inserting a filename into the script (single, double, or no quote).}
290 \variable{gnuplot-buffer-max-size}{1000}{The maximum size in lines of
291 the gnuplot buffer. Excess lines are trimmed. 0 means to never trim.}
295 \begin{Boxedminipage}{0.75\linewidth}
297 {\large Hook variables}
302 \variable{gnuplot-mode-hook}{nil}{Functions run when gnuplot minor
305 \variable{gnuplot-load-hook}{nil}{Functions run when gnuplot.el is
308 \variable{gnuplot-after-plot-hook}{nil}{Functions run after gnuplot
309 plots an entire buffer. See the doc string for
310 \texttt{gnuplot-recently-sent}.}
312 \variable{gnuplot-comint-setup-hook}{nil}{Functions run after setting
313 up the gnuplot process buffer in comint mode.}
315 \variable{gnuplot-info-hook}{nil}{Functions run before setting up
316 info-look in the gnuplot-mode buffer.}
325 \begin{Boxedminipage}{0.75\linewidth}
327 {\large Insertion variables}
332 \noindent These variables control the \texttt{Insertions} pull-down
333 menu, which can be used to insert \textsc{gnuplot} commands into the
334 script. The various sub-menu variables can be used to customize which
335 commands appear in the \texttt{Insertions} menu.
339 \variable{gnuplot-insertions-menu-flag}{t}{Non-nil means to display
340 the \texttt{Insertions} menu in the menubar.}
342 \variable{gnuplot-insertions-show-help-flag}{nil}{Non-nil means to
343 display help from info file when using the \texttt{Insertions}
346 \variable{gnuplot-insertions-adornments}{\Star}{Contents of the
347 \texttt{adornments} sub-menu.}
349 \variable{gnuplot-insertions-plot-options}{\Star}{Contents of the
350 \texttt{plot-options} sub-menu.}
352 \variable{gnuplot-insertions-terminal}{\Star}{Contents of the
353 \texttt{terminal} sub-menu.}
355 \variable{gnuplot-insertions-x-axis}{\Star}{Contents of the \texttt{x
358 \variable{gnuplot-insertions-x2-axis}{\Star}{Contents of the \texttt{x2
361 \variable{gnuplot-insertions-y-axis}{\Star}{Contents of the \texttt{y
364 \variable{gnuplot-insertions-y2-axis}{\Star}{Contents of the \texttt{y2
367 \variable{gnuplot-insertions-z-axis}{\Star}{Contents of the \texttt{z
370 \variable{gnuplot-insertions-parametric-plots}{\Star}{Contents of the
371 \texttt{parametric plots} sub-menu.}
373 \variable{gnuplot-insertions-polar-plots}{\Star}{Contents of the
374 \texttt{polar plots} sub-menu.}
376 \variable{gnuplot-insertions-surface-plots}{\Star}{Contents of the
377 \texttt{surface plots} sub-menu.}
382 \begin{Boxedminipage}{0.75\linewidth}
384 {\large Toolbar variables}
389 \noindent These variables control the use and location of the
390 toolbar in XEmacs. The toolbar has buttons equivalent to the key
391 sequences \texttt{C-c C-l}, \texttt{C-c C-r}, \texttt{C-c C-b},
392 \texttt{C-c C-e}, and \texttt{C-c C-h}.
397 \variable{gnuplot-display-toolbar-flag}{nil}{Non-nil means to display
398 a toolbar if using XEmacs.}
400 \variable{gnuplot-use-toolbar}{left-toolbar}{Location of XEmacs
401 toolbar. Valid values are \texttt{left-toolbar},
402 \texttt{right-toolbar}, \texttt{top-toolbar}, \texttt{bottom-toolbar},
403 \texttt{default-toolbar} and nil.}
407 \begin{Boxedminipage}{0.75\linewidth}
409 {\large Set Arguments}
414 \noindent These variables control the behavior of the graphical
415 interface to setting command arguments. \texttt{C-c C-c} with point
416 over a command or \texttt{S-mouse-2} with the mouse cursor over a
417 command will cause a small frame to pop open with which you can set
418 command arguments. Green button with bold text are bound to pup-up
419 menus --- use the mouse-2 to select an item from the menu. Grey fields
420 are for filling in strings or numbers. Hit the \textbf{[Set Options]}
421 button with \texttt{mouse-2} to insert command arguments into the
422 script. You can also use the \key{tab} key to move among the widgets
423 and \key{ret} to push the buttons.
427 \variable{gnuplot-gui-popup-flag}{nil}{When non-nil an argument
428 setting frame will pop open whenever the \texttt{Insertions} menu is
431 \variable{gnuplot-gui-plot-splot-fit-style}{'simple}{\texttt{'simple}
432 or \texttt{'complete} -- describes the extent of the list of
433 properties of for plot, splot, and fit in the GUI.}
435 \variable{gnuplot-gui-frame-plist}{\Star}{Property list of parameters
436 controlling the argument setting frame. Used by XEmacs.}
438 \variable{gnuplot-gui-frame-parameters}{\Star}{List of parameters
439 controlling the argument setting frame. Used by Emacs.}
441 \variable{gnuplot-gui-fontname-list}{\Star}{List of font available on your
442 computer to the terminal drivers.}
447 \begin{Boxedminipage}{0.75\linewidth}
454 \noindent These are various faces defined for use with gnuplot-mode.
458 \variable{gnuplot-prompt-face}{firebrick}{Color of gnuplot prompt (on a
459 light background) in process buffer. Bold and underlined on a
462 \variable{gnuplot-gui-menu-face}{dark olive green}{Color of menu
463 buttons (on a light background) in the argument setting frame.
464 Italic on a monochrome display.}
466 \variable{gnuplot-gui-button-face}{sienna}{Color of push buttons (on a
467 light background) in the argument setting frame. Italic on a
470 \variable{gnuplot-gui-label-face}{dark slate blue}{Color of buttons (on
471 a light background) used to set label lists in the argument setting
472 frame. Italic on a monochrome display.}
479 \footnotesize{Variables marked with {\Star} have default values that
480 are too long to print here.}