NAME
nutmeg - spice post-processor
SYNOPSIS
nutmeg [ - ] [ -n ] [ -t term ] [ datafile ... ]
DESCRIPTION
Nutmeg is a post processor for SPICE - it takes the raw output file
created by spice -r and plots the data on a graphics terminal or a
workstation display. Note that the raw output file is different from
the data that SPICE writes to the standard output.
Arguments are:
- Don’t try to load the default data file ("rawspice") if no other
files are given.
-n (or --no-spiceinit)
Don’t try to source the file ".spiceinit" upon startup. Normally
nutmeg tries to find the file in the current directory, and if
it is not found then in the user’s home directory.
-t term (or --term=term)
The program is being run on a terminal with mfb name term.
-h (or --help)
Display a verbose help on the arguments available to the
program.
-v (or --version)
Display a version number and copyright information of the
program.
Further arguments are taken to be data files in binary or ascii format
(see sconvert(1)) which are loaded into nutmeg. If the file is in
binary format, it may be only partially completed (useful for examining
SPICE ouput before the simulation is finished). One file may contain
any number of data sets from different analyses.
Nutmeg data is in the form of vectors: time, voltage, etc. Each vector
has a type, and vectors can be operated on and combined algebraicly in
ways consistent with their types. Vectors are normally created when a
data file is read in (see the load command below), and when the initial
datafile is loaded. They can also be created with the let command.
An expression is an algebraic formula involving vectors and scalars (a
scalar is a vector of length 1), and the following operations:
+, -, *, %, /, ^, and ,.
% is the modulo operator, and the comma operator has two meanings: if
it is present in the argument list of a user-definable function, it
serves to seperate the arguments. Otherwise, the term x , y is
synonymous with x + j(y).
Also available are the logical operations & (and), | (or), ! (not), and
the relational operations <, >, >=, <=, =, and <> (not equal). If used
in an algebraic expression they work like they would in C, producing
values of 0 or 1. The relational operators have the following
synonyms: "gt" is >, "lt" is <, "ge" is >=, "le" is <=, "ne" is <>,
"eq" is =, "and" is &, "or" is |, and "not" is !. These are useful
when < and > might be confused with IO redirection (which is almost
always).
The following functions are available:
mag(vector) - The magnitude of vector.
ph(vector) - The phase of vector.
j(vector) - i (sqrt(-1)) times vector.
real(vector) - The real component of vector.
imag(vector) - The imaginary part of vector.
db(vector) - 20 * log10(mag(vector)).
log(vector) - The logarithm (base 10) of the vector.
ln(vector) - The natural logarithm (base e) of vector.
exp(vector) - e to the vector power.
abs(vector) - The absolute value of vector.
sqrt(vector) - The square root of vector.
sin(vector) - The sin of vector.
cos(vector) - The cosine of vector.
tan(vector) - The tangent of vector.
atan(vector) - The inverse tangent of vector.
norm(vector) - The vector normalized to 1 (i.e, the largest
magnitude of any component will be 1).
rnd(vector) - A vector with each component a random integer
between 0 and the absolute value of the vectors’s corresponding
component.
mean(vector) - The result is a scalar (a length 1 vector) that
is the mean of the elements of vector.
vector(number) - The result is a vector of length number, with
elements 0, 1, ... number - 1. If number is a vector then just
the first element is taken, and if it isn’t an integer then the
floor of the magnitude is used.
length(vector) - The length of vector.
interpolate(plot.vector) - The result of interpolating the named
vector onto the scale of the current plot. This function uses
the variable polydegree to determine the degree of
interpolation.
A vector may be either the name of a vector already defined, a
floating- point number (a scalar), or a list like [elt1 elt2 ... eltn],
which is a vector of length n. A number may be written in any format
acceptable to SPICE, such as 14.6MEG or -1.231E-4. Note that you can
either use scientific notation or one of the abbreviations like MEG or
G, but not both. As with SPICE, a number may have trailing alphabetic
characters after it.
The notation expr [lower upper], where lower and upper are numbers,
denotes the range of elements from expr between lower and upper. The
notation expr [num] denotes the num’th element of expr. If upper is
lower than lower, the order of the elements in the vector is reversed.
In all other cases, [ and ] serve to surround literal vectors as
described above. (You may have to use a lot of parentheses to make
sure that you get what you want. For instance, you have to type print
(foo) ([1 2]) to print the two vectors. Otherwise it will be
interpreted as a function call or a vector with an index.) Note that
the expression foo[10 20][5] will not yield the 15th element of foo,
but rather the 5th. In general only the last index suffix on an
expression will take effect.
To reference vectors in a plot that is not the current plot (see the
setplot command, below), the notation plotname.vecname can be used.
Either a plotname or a vector name may be the wildcard all. If the
plotname is all, matching vectors from all plots are specified, and if
the vector name is all, all vectors in the specified plots are
referenced. Note that you may not use binary operations on expressions
involving wildcards - it is not obvious what all + all should denote,
for instance.
Thus some (contrived) examples of expressions are:
cos(TIME) + db(v(3))
sin(cos(log([1 2 3 4 5 6 7 8 9 10])))
TIME * rnd(v(9)) - 15 * cos(vin#branch) ^ [7.9e5 8]
not ((ac3.FREQ[32] & tran1.TIME[10]) gt 3)
Nutmeg commands are as follows:
plot exprs [ylimit ylo yhi] [xlimit xlo xhi] [xindices xilo xihi]
[xcompress comp] [xdelta xdel] [ydelta ydel] [xlog] [ylog] [vs xname]
[xlabel word] [ylabel word] [title word] [samep]
Plot the given exprs on the screen (if you are on a graphics
terminal). The xlimit and ylimit arguments determine the high
and low x- and y-limits of the axes, respectively. The xindices
arguments determine what range of points are to be plotted -
everything between the xilo’th point and the xihi’th point is
plotted. The xcompress argument specifies that only one out of
every comp points should be plotted. If an xdelta or a ydelta
parameter is present, it specifies the spacing between grid
lines on the X- and Y-axis. These parameter names may be
abbreviated to xl, yl, xind, xcomp, xdel, and ydel respectively.
The xname argument is an expression to use as the scale on the
x-axis. If xlog or ylog are present, the X or Y scale
respectively will be logarithmic. The xlabel and ylabel
arguments cause the specified labels to be used for the X and Y
axes, respectively. If samep is given, the values of the other
parameters (other than xname) from the previous plot, hardcopy,
or asciiplot command will be used unless re-defined on the
command line. Finally, the title argument will be used in the
place of the plot name at the bottom of the graph.
hardcopy file plotargs
Just like plot, except creates a file called file containing the
plot. The file is an image in plot(5) format, and can be
printed by either the plot(1) program or lpr with the -g flag.
asciiplot plotargs
Produce a line printer plot of the vectors. The plot is sent to
the standard output, so you can put it into a file with
asciiplot args ... > file. The set options width, height, and
nobreak determine the width and height of the plot, and whether
there are page breaks, respectively. Note that you will have
problems if you try to asciiplot something with an X-scale that
isn’t monotonic (i.e, something like sin(TIME) ), because
asciiplot uses a simple-minded sort of linear interpolation.
define function(arg1, arg2, ...) expression
Define the user-definable function with the name function and
arguments arg1, arg2, ... to be expression, which may involve
the arguments. When the function is later used, the arguments it
is given are substituted for the formal arguments when it is
parsed. If expression is not present, any definition for
function is printed, and if there are no arguments to define
then all currently active definitions are printed. Note that you
may have different functions defined with the same name but
different arities. Some useful definitions are:
define max(x,y) (x > y) * x + (x <= y) * y
define min(x,y) (x < y) * x + (x >= y) * y
undefine function ...
Definitions for the named user-defined functions are deleted.
let name = expr
Creates a new vector called name with the value specified by
expr, an expression as described above. If expr is [] (a zero-
length vector) then the vector becomes undefined. If there are
no arguments, let is the same as display.
print [col] [line] expr ...
Prints the vector described by the expression expr. If the col
argument is present, print the vectors named side by side. If
line is given, the vectors are printed horizontally. col is the
default, unless all the vectors named have a length of one, in
which case line is the default. The options width, length, and
nobreak are effective for this command (see asciiplot). If the
expression is all, all of the vectors available are printed.
Thus print col all > file will print everything in the file in
SPICE2 format. The scale vector (time, frequency) will always
be in the first column unless the variable noprintscale is true.
load [filename] ...
Loads the raw data in either binary or ascii format from the
files named. The default filename is rawspice, or the argument
to the -r flag if there was one.
source filename
Reads commands from the file filename. Lines beginning with the
character * are considered comments and ignored.
help [all] [command ...]
Prints help. If the argument all is given, a short description
of everything you could possibly type is printed. If commands
are given, descriptions of those commands are printed.
Otherwise help for only a few major commands is printed.
display [varname ...]
Prints a summary of currently defined vectors, or of the names
specified. The vectors are sorted by name unless the variable
nosort is set. The information given is the name of the vector,
the length, the type of the vector, and whether it is real or
complex data. Additionally, one vector will be labeled [scale].
When a command such as plot is given without a vs argument, this
scale is used for the X-axis. It is always the first vector in a
rawfile, or the first vector defined in a new plot. If you
undefine the scale (i.e, let TIME = []), a random remaining
vector will become the scale.
setplot [plotname]
Set the current plot to the plot with the given name, or if no
name is given, prompt the user with a menu. (Note that the
plots are named as they are loaded, with names like tran1 or
op2. These names are shown by the setplot and display commands
and are used by diff, below.) If the "New plot" item is
selected, the current plot will become one with no vectors
defined. Note that here the word "plot" refers to a group of
vectors that are the result of one SPICE run. When more than
one file is loaded in, or more than one plot is present in one
file, nutmeg keeps them seperate and only shows you the vectors
in the current plot.
settype type vector ...
Change the type of the named vectors to type. Type names can be
found in the manual page for sconvert.
diff plot1 plot2 [vec ...]
Compare all the vectors in the specified plots, or only the
named vectors if any are given. There are different vectors in
the two plots, or any values in the vectors differ significantly
the difference is reported. The variables abstol, reltol, and
vntol are used to determine what "significantly" means (see the
SPICE3 User’s Manual).
quit Quit nutmeg.
bug Send a bug report. (If you have defined BUGADDR, the mail will
go there.)
write [file] [exprs]
Writes out the expr’s to file. First vectors are grouped
together by plots, and written out as such. (I.e, if the
expression list contained three vectors from one plot and two
from another, then two plots will be written, one with three
vectors and one with two.) Additionally, if the scale for a
vector isn’t present, it is automatically written out as well.
The default format is ascii, but this can be changed with the
set filetype command. The default filename is rawspice, or the
argument to the -r flag on the command line, if there was one,
and the default expression list is all.
shell [args ...]
Fork a shell, or execute the arguments as a command to the
shell.
alias [word] [text ...]
Causes word to be aliased to text. History substitutions may be
used, as in C-shell aliases.
unalias [word ...]
Removes any aliases present for the words.
history [number]
Print out the history, or the last number commands typed at the
keyboard. Note: in version 3a7 and earlier, all commands
(including ones read from files) were saved.
set [word] [word = value] ...
Set the value of word to be value, if it is present. You can
set any word to be any value, numeric or string. If no value is
given then the value is the boolean ’true’. The value of word
may be inserted into a command by writing $word. If a variable
is set to a list of values that are enclosed in parentheses
(which must be seperated from their values by white space), the
value of the variable is the list. The variables meaningful to
nutmeg (of which there are too many) are:
abstol
The absolute tolerance used by the diff command.
appendwrite
Append to the file when a write command is issued, if
one already exists.
colorN
These variables determine the colors used, if X is
being run on a color display. N may be between 0 and
15. Color 0 is the background, color 1 is the grid and
text color, and colors 2 through 15 are used in order
for vectors plotted. The value of the color variables
should be names of colors, which may be found in the
file /usr/lib/rgb.txt.
combplot
Plot vectors by drawing a vertical line from each point
to the X-axis, as opposed to joining the points. Note
that this option is subsumed in the plottype option,
below.
cpdebug
Print cshpar debugging information. (Must be complied
with the -DCPDEBUG flag.)
debug
If set then a lot of debugging information is printed.
(Must be compiled with the -DFTEDEBUG flag.)
device
The name (/dev/tty??) of the graphics device. If this
variable isn’t set then the user’s terminal is used. To
do plotting on another monitor you will probably have
to set both the device and term variables. (If device
is set to the name of a file, nutmeg will dump the
graphics control codes into this file -- this is useful
for saving plots.)
echo
Print out each command before it is executed.
filetype
This can be either ascii or binary, and determines what
the format of rawfiles will be. The default is ascii.
fourgridsize
How many points to use for interpolating into when
doing fourier analysis.
gridsize
If this variable is set to an integer, this number will
be used as the number of equally spaced points to use
for the Y-axis when plotting. Otherwise the current
scale will be used (which may not have equally spaced
points). If the current scale isn’t strictly
monotonic, then this option will have no effect.
hcopydev
If this is set, when the hardcopy command is run the
resulting file is automatically printed on the printer
named hcopydev with the command lpr -Phcopydev -g file.
hcopydevtype
This variable specifies the type of the printer output
to use in the hardcopy command. If hcopydevtype is not
set, plot (5) format is assumed. The standard
distribution currently recognizes postscript as an
alternative output format. When used in conjunction
with hcopydev, hcopydevtype should specify a format
supported by the printer.
height
The length of the page for asciiplot and print col.
history
The number of events to save in the history list.
nfreqs
The number of frequencies to compute in the fourier
command. (Defaults to 10.)
nobreak
Don’t have asciiplot and print col break between pages.
noasciiplotvalue
Don’t print the first vector plotted to the left when
doing an asciiplot.
noclobber
Don’t overwrite existing files when doing IO
redirection.
noglob
Don’t expand the global characters ‘*’, ‘?’, ‘[’, and
‘]’. This is the default.
nogrid
Don’t plot a grid when graphing curves (but do label
the axes).
nomoremode
If nomoremode is not set, whenever a large amount of
data is being printed to the screen (e.g, the print or
asciiplot commands), the output will be stopped every
screenful and will continue when a carriage return is
typed. If nomoremode is set then data will scroll off
the screen without hesitation.
nonomatch
If noglob is unset and a global expression cannot be
matched, use the global characters literally instead of
complaining.
nosort
Don’t have display sort the variable names.
noprintscale
Don’t print the scale in the leftmost column when a
print col command is given.
numdgt
The number of digits to print when printing tables of
data (fourier, print col). The default precision is 6
digits. On the VAX, approximately 16 decimal digits
are available using double precision, so numdgt should
not be more than 16. If the number is negative, one
fewer digit is printed to ensure constant widths in
tables.
plottype
This should be one of normal, comb, or point:chars.
normal, the default, causes points to be plotted as
parts of connected lines. comb causes a comb plot to
be done (see the description of the combplot variable
above). point causes each point to be plotted
seperately - the chars are a list of characters that
will be used for each vector plotted. If they are
omitted then a default set is used.
polydegree
The degree of the polynomial that the plot command
should fit to the data. If polydegree is N, then nutmeg
will fit a degree N polynomial to every set of N points
and draw 10 intermediate points in between each
endpoint. If the points aren’t monotonic, then it will
try rotating the curve and reducing the degree until a
fit is achieved.
polysteps
The number of points to interpolate between every pair
of points available when doing curve fitting. The
default is 10. (This should really be done
automatically.)
program
The name of the current program (argv[0]).
prompt
The prompt, with the character ‘!’ replaced by the
current event number.
rawfile
The default name for rawfiles created.
reltol
The relative tolerance used by the diff command.
rhost
The machine to use for remote SPICE-3 runs, instead of
the default one. (See the description of the rspice
command, below.)
rprogram
The name of the remote program to use in the rspice
command.
slowplot
Stop between each graph plotted and wait for the user
to type return before continuing.
sourcepath
A list of the directories to search when a source
command is given. The default is the current directory
and the standard spice library (/usr/local/lib/spice,
or whatever LIBPATH is #defined to in the source.
spicepath
The program to use for the aspice command. The default
is /cad/bin/spice.
term
The mfb name of the current terminal.
units
If this is degrees, then all the trig functions will
use degrees instead of radians.
unixcom
If a command isn’t defined, try to execute it as a UNIX
command. Setting this option has the effect of giving
a rehash command, below. This is useful for people who
want to use nutmeg as a login shell.
verbose
Be verbose. This is midway between echo and debug /
cpdebug.
vntol
The absolute voltage tolerance used by the diff
command.
width
The width of the page for asciiplot and print col.
xbrushheight
The height of the brush to use if X is being run.
xbrushwidth
The width of the brush to use if X is being run.
xfont
The name of the X font to use when plotting data and
entering labels. The plot may not look entirely great
if this is a variable-width font.
unset [word] ...
Unset the variables word.
shift [varname] [number]
If varname is the name of a list variable, it is shifted to the
left by number elements. (I.e, the number leftmost elements are
removed.) The default varname is argv, and the default number
is 1.
rusage [resource ...]
Print resource usage statistics. If any resources are given,
just print the usage of that resource. Currently valid
resources are:
elapsed
The amount of time elapsed since the last rusage elaped
call.
faults
Number of page faults and context switches (BSD only).
space
Data space used.
time
CPU time used so far.
everything
All of the above.
cd [directory] Change the current working directory to directory, or
to the user’s home directory if none is given.
aspice [output-file]
Start a SPICE-3 run, and when it is finished load the
data. The raw data is kept in a temporary file. If
output-file is specified then the diagnostic output is
directed into that file, otherwise it is thrown away.
jobs Report on the asynchronous SPICE-3 jobs currently
running. Nutmeg checks to see if the jobs are finished
every time you execute a command. If it is done then
the data is loaded and becomes available.
rspice [input file]
Runs a SPICE-3 remotely taking the input file as a
SPICE-3 input deck, or the current circuit if no
argument is given. Nutmeg waits for the job to
complete, and passes output from the remote job to the
user’s standard output. When the job is finished the
data is loaded in as with aspice. If the variable rhost
is set, nutmeg will connect to this host instead of the
default remote SPICE-3 server machine. Note that this
command will only work if your system administrator is
running a SPICE-3 daemon on the remote host. If the
variable rprogram is set, then rspice will use this as
the pathname to the program to run.
echo [stuff...] Echos the arguments.
fourier fundamental_frequency [value ...]
Does a fourier analysis of each of the given values,
using the first 10 multiples of the fundamental
frequency (or the first nfreqs, if that variable is set
- see below). The output is like that of the .four
card. The values may be any valid expression. The
values are interpolated onto a fixed-space grid with
the number of points given by the fourgridsize
variable, or 200 if it is not set. The interpolation
will be of degree polydegree if that variable is set,
or 1. If polydegree is 0, then no interpolation will
be done. This is likely to give erroneous results if
the time scale is not monotonic, though.
version [version id]
Print out the version of nutmeg that is running. If
there are arguments, it checks to make sure that the
arguments match the current version of SPICE. (This is
mainly used as a Command: line in rawfiles.)
rehash Recalculate the internal hash tables used when looking
up UNIX commands, and make all UNIX commands in the
user’s PATH available for command completion. This is
useless unless you have set unixcom first (see above).
The following control structures are available:
while condition
statement
...
end
While condition, an arbitrary algebraic expression, is true, execute
the statements.
repeat [number]
statement
...
end
Execute the statements number times, or forever if no argument is
given.
dowhile condition
statement
...
end
The same as while, except that the condition is tested after the
statements are executed.
foreach var value ...
statement
...
end
The statements are executed once for each of the values, each time with
the variable var set to the current one. (var can be accessed by the
$var notation - see below).
if condition
statement
...
else
statement
...
end
If the condition is non-zero then the first set of statements are
executed, otherwise the second set. The else and the second set of
statements may be omitted.
label word
If a statement of the form goto word is encountered, control is
transfered to this point, otherwise this is a no-op.
goto word
If a statement of the form label word is present in the block or an
enclosing block, control is transfered there. Note that if the label
is at the top level, it must be before the goto statement (i.e, a
forward goto may occur only within a block).
continue
If there is a while, dowhile, or foreach block enclosing this
statement, control passes to the test, or in the case of foreach, the
next value is taken. Otherwise an error results.
break
If there is a while, dowhile, or foreach block enclosing this
statement, control passes out of the block. Otherwise an error results.
Of course, control structures may be nested. When a block is entered
and the input is the terminal, the prompt becomes a number of >’s
equalling the number of blocks the user has entered. The current
control structures may be examined with the debugging command cdump.
If a word is typed as a command, and there is no built-in command with
that name, the directories in the sourcepath list are searched in order
for the file. If it is found, it is read in as a command file (as if
it were sourced). Before it is read, however, the variables argc and
argv are set to the number of words following the filename on the
command line, and a list of those words respectively. After the file
is finished, these variables are unset. Note that if a command file
calls another, it must save its argv and argc since they will get
altered. Also, command files may not be re-entrant since there are no
local variables. (Of course, the procedures may explicitly manipulate
a stack...) This way one can write scripts analogous to shell scripts
for nutmeg and . Note that for the script to work with , it must begin
with a blank line (or whatever you like, since it will be thrown away)
and then a line with .control on it. This is an unfortunate result of
the source command being used for both circuit input and command file
execution. Note also that this allows the user to merely type the name
of a circuit file as a command, and it will be automatically run.
There are various command scripts installed in
/usr/local/lib/spice/scripts (or whatever the path is on your machine),
and the default sourcepath includes this directory, so you can use
these command files (almost) like builtin commands.
Nutmeg will use either X or MFB, depending on whether it finds the
variable DISPLAY in the environment. If you are using X on a
workstation, it should already be present, but if you want to display
graphics on a different machine than the one you are running nutmeg on,
DISPLAY should be of the form machine:0.
If X is being used, the cursor may be positioned at any point on the
screen when the window is up and characters typed at the keyboard will
be added to the window at that point. The window may then be sent to a
printer using the xpr(1) program.
There are a number of pre-defined constants in nutmeg. They are:
pi pi
e The base of natural logarithms
c The speed of light
i The square root of -1
kelvin Absolute 0 in Centigrade
echarge The charge on an electron
boltz Boltzman’s constant
planck Planck’s constant (h)
These are all in MKS units. If you have another variable with a name
that conflicts with one of these then it takes precedence.
Nutmeg occasionally checks to see if it is getting close to running out
of space, and warns the user if this is the case. (This is more likely
to be useful with the SPICE front end.)
C-shell type quoting with "" and ’’, and backquote substitution may be
used. Within single quotes, no further substitution (like history
substitution) is done, and within double quotes, the words are kept
together but further substitution is done. Any text between backquotes
is replaced by the result of executing the text as a command to the
shell.
Tenex-style (’set filec’ in the 4.3 C-shell) command, filename, and
keyword completion is possible: If EOF (control-D) is typed after the
first character on the line, a list of the commands or possible
arguments is printed. (If it is alone on the line it will exit nutmeg.)
If escape is typed, then nutmeg will try to complete what the user has
already typed. To get a list of all commands, the user should type
<space> ^D.
The values of variables may be used in commands by writing $varname
where the value of the variable is to appear. The special variables $$
and $< refer to the process ID of the program and a line of input which
is read from the terminal when the variable is evaluated, respectively.
If a variable has a name of the form $&word, then word is considered a
vector (see above), and its value is taken to be the value of the
variable. If $foo is a valid variable, and is of type list, then the
expression $foo[low-high] represents a range of elements. Either the
upper index or the lower may be left out, and the reverse of a list may
be obtained with $foo[len-0]. Also, the notation $?foo evaluates to 1
if the variable foo is defined, 0 otherwise, and $#foo evaluates to the
number of elements in foo if it is a list, 1 if it is a number or
string, and 0 if it is a boolean variable.
History substitutions, similar to C-shell history substitutions, are
also available - see the C-shell manual page for all of the details.
The characters ~, {, and } have the same effects as they do in the C-
Shell, i.e., home directory and alternative expansion. It is possible
to use the wildcard characters *, ?, [, and ] also, but only if you
unset noglob first. This makes them rather useless for typing algebraic
expressions, so you should set noglob again after you are done with
wildcard expansion. Note that the pattern [^abc] will match all
characters except a, b, and c.
IO redirection is available - the symbols >, >>, >&, >>&, and < have
the same effects as in the C-shell.
You may type multiple commands on one line, seperated by semicolons.
If you want to use a different mfbcap file than the default (usually
~cad/lib/mfbcap), you have to set the environment variable MFBCAP
before you start nutmeg. The -m option and the mfbcap variable no
longer work.
VMS NOTES
Nutmeg can be run under VAX/VMS. Some features like command, etc
completion, expansion of *, ?, and [], backquote substitution, the
shell command, and so forth do not work. (In fact command completion
only works on 4.2 or 4.3 BSD.)
Nutmeg will look for start-up commands in the file spice.rc in the
current directory.
The standard suffix for rawspice files in VMS is ".raw".
You will have to respond to the -more- prompt during plot with a
carriage return instead of any key as you can do on UNIX.
SEE ALSO
sconvert(1), spice(1), mfb(3), writedata(3)
AUTHOR
Wayne Christopher (faustus@cad.berkeley.edu)
BUGS
The label entry facilities are very primitive - after all, nutmeg isn’t
a graphics editor (yet). You must be careful to type very slowly when
entering labels -- nutmeg checks the X event queue once every second,
and can get very confused if characters arrive faster than that.
If you redefine colors after creating a plot window with X, and then
cause the window to be redrawn, it will not to the right thing.
When defining aliases like
alias pdb plot db( !:1 - !:2 )
you must be careful to quote the argument list substitutions in this
manner. If you quote the whole argument it might not work properly.
In a user-defined function, the arguments cannot be part of a name that
uses the plot.vec syntax. I.e,
define poke(duck) cos(tran1.duck)
won’t do the right thing.
If you type plot all all, or otherwise use a wildcard reference for one
plot twice in a command, bad things will happen.
The asciiplot command doesn’t deal with log scales or the delta
keywords.
There are probably some features that nutmeg doesn’t have yet.
CAVEATS
Often the names of terminals recognised by MFB are different from those
in /etc/termcap. Thus you may have to reset your terminal type with the
command
set term = termname
where termname is the name in the mfbcap file.
The hardcopy command is useless on VMS and other systems without the
plot command, unless the user has a program that understands plot(5)
format.