Table of Contents


Name

ploterps_manual - ploterps User’s Manual (ERP manuals)

Description


Ploterps User’s Manual Ronald Ohst University of California, San Diego

Table of Contents



1. INTRODUCTION
    Example 1 - a simple plot
2. USAGE
    2.1 Plotting Devices
    2.2 Plotting Without a Command File
    2.3 Command Line Options
    2.4 General Command File Format
3. COMMAND FILE ARGUMENT AND PARAMETER CONVENTIONS
    3.1 Attributes
    3.2 Coordinate System
4. COMMANDS
    4.1 Style Commands
    4.3 Commands Related to ERP Data
    4.4 Plotting Commands
         4.4.1 Plotting Calibration Lines
5.  EXAMPLES
    Example 2   - quick and dirty approach (no command file)
    Example 3   - timeline and calibration bar
    Example 4   - several bins from one channel
    Example 5   - shading between waveforms, and labeled arrows
    Example 6   - standard error
    Example 7   - labpos
    Example 8   - drawvoltline
    Example 9   - windowtext
    Example 10a - linetypes (solid, dashed, ldashed) and linewidths
    Example 10b - linetypes (solid, dotted, dotdash) and linewidths
    Example 11  - colors
6.  APPENDIX A - List Of Commands
7.  APPENDIX B - List of Predefined Strings
8.  APPENDIX C - Input Naming Conventions For Special Characters

1. Introduction


ploterps is a program that is designed to allow quick and easy plotting of ERP data. By expending more effort, it is also possible to produce plots in almost any format; if the output device is of sufficiently high quality, publishable figures can be drawn using ploterps.
ploterps provides the user with about 50 commands to control the manner in which data are plotted, but it is possible to plot data without using any commands at all. A series of these commands is placed in a "command file" which can be generated using any text editor. With a little practice, it’s relatively easy to produce high quality ERP data plots.
A number of example command files are given in this manual. For each example, the command file as shown also exists on the linux system, and the reader is encouraged to view the plot it generates. Simply enter the command line given with the example at any xterm window’s command line prompt (a cut-n-paste will do) and the plot will appear in a new window on the display. To remove the plot move the mouse cursor over top of it and hit ESC.
Example 1 - a simple plot
This simple plot is meant to give the reader a feel for what command files generally look like. It plots 2 channels of data in the center of the screen (or page).
View the plot for the following command file by entering:
ploterps xwin /usr/local/erp/man/man7/ploterps_manual/ex1.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 1 - a simple plot
**
** Any line not beginning with an alphabetic character is a comment.
** Commands and their parameters are given here in lower case, but
** ploterps ignores case so the user is free to use either upper or
** lower case.  Comments appear just before relevant command.
**
** Set the top and bottom margins to be .25 of page height each
topmargin .25
bottommargin .25
** Set the left and right margins to be .1 of page width each
leftmargin .1
rightmargin .1
** Set the textsize to 7.5 and the font to complex
textstyle textsize=7.5 complex
** Tell Ploterps the name of the data file
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
** Tell Ploterps what bin to get data from
bin 1
** Divide the drawing page into a 1 X 2 grid for 2 data traces
** The 7.5 means that 7.5 microvolts will correspond to the
** distance from the middle to the top of each of the 
** rectangles in the 1 X 2 grid
chanlocations 1 2 7.5 
** Plot channel 1 in position 0 of the grid, label it "Channel 1"
chan 1 0 "Channel 1"
** Plot channel 2 in position 1 of the grid, label it "Channel 2"
chan 2 1 "Channel 2"
********************************************************************

2. Usage


One invokes ploterps like this:
ploterps plot_device commandfile [options]
where plot_device is one of the plotting devices that are available (see Plotting Devices below); commandfile is a text file consisting of ploterps commands, one per line (see General Command File Format below); and options are the optional program parameters (see Command Line Options below). If commandfile is "none", no explicit commands will be needed and plots will be generated via command line arguments alone, as discussed below.
The ploterps command may fail from time to time with a "broken pipe" message; if it does, simply repeat the command.

2.1 Plotting Devices


Plotting devices can be separated into two types: landscape and portrait. A landscape plot is one where the x dimension is greater than the y dimension. A portrait plot is one where the y dimension is greater than the x dimension. All plotting devices maintain a standard 4:3 ratio.
The following table lists some typical devices (the complete list can be found in /usr/local/erp/lib/graphicdevs).

    NAME           DESCRIPTION

    xwin        -- xwindow (640x480 pixels, landscape)
    pxwin       -- portrait xwindow (480x640 pixels)
    xwinb       -- xwindow (640x480 pixels, landscape), black background
    hxwin       -- huge xwindow (1024x768 pixels, landscape)
    phxwin      -- portrait hugh xwindow (768x1024 pixels)
    hxwinb      -- huge xwindow (1024x768 pixels, landscape), black background
    fortel      -- HP LaserJet 5100tn laser printer, landscape mode
    pfortel     -- HP LaserJet 5100tn laser printer, portrait mode
    hutel       -- HP Color LaserJet 3800n color laser printer, landscape
mode
    phutel      -- HP Color LaserJet 3800n color laser printer, portrait
mode
    pastel      -- HP Business Inkjet 2280TN color printer, landscape mode
    ppastel     -- HP Business Inkjet 2280TN color printer, portrait mode
    motel       -- HP LaserJet 5M laser printer, landscape mode
    pmotel      -- HP LaserJet 5M laser printer, portait mode
    pso         -- Encapsulated Postscript Level 2 to stdout, landscape mode
    ppso        -- Encapsulated Postscript Level 2 to stdout, portrait mode
    gv          -- Encapsulated Postscript Level 2 to ghostview previewer,
landscape
    pgv         -- Encapsulated Postscript Level 2 to ghostview previewer,
portrait
    psf         -- Encapsulated Postscript Level 2 to file out.ps, landscape
    ppsf        -- Encapsulated Postscript Level 2 to file out.ps, portrait
    pdff        -- PDF (Portable Document Format) to file out.pdf, landscape
    ppdff       -- PDF (Portable Document Format) to file out.pdf, portrait
    jpgf        -- JPEG (Joint Photographic Experts Group) to file out.jpg,
landscape
    pjpgf       -- JPEG (Joint Photographic Experts Group) to file out.jpg,
portrait
    save:file   -- save to file (landscape), for subsequent use with multiplot
    psave:file  -- save to file (portrait), for subsequent use with multiplot

2.2 Plotting Without a Command File


Command line options are provided to enable users to plot data without using any ploterps commands or a command file. When these command line options are present, ploterps first plots data as directed by these options, and then reads the commandfile (if any, as specified above) for more commands. If one wishes to only plot data via the command invocation options, "none" or one of the default configuration files should be specified as the commandfile. In these modes of operation, the -files and -bins options must be specified, and their order of appearance in the command line option list determines the method of plotting, as described below under the -files option. Various parameters controlling the format of the plot are set to default values, unless otherwise specified via additional command line option(s). The default parameters for this mode cause the plots to be drawn negative "up", with 5 uV calibration markers. The current default files are:

2.3 Command Line Options


Here are the currently implemented options:
-files file1 [file2 file3 ...]
This option emulates the definefiles command (below). It allows the user to specify files by number (the first file is number 0) in subsequent commands, enabling one to use one command file to plot data from many data files by merely specifying different data file names when invoking ploterps. When used in conjunction with the -bins option (described next) and "none" as the commandfile, the -files option allows plotting data in a standardized manner without using any commands. In this case, if the -files option precedes the -bins option on the command line, all the specified bins are overlaid on a single page (or screen) for each file; if -bins precedes the -files option, data from all the specified files are overlaid on a single page (screen) for each bin specified. For these standardized plots, either different colors or different styles of lines (or both) are used to distinguish the data that are overlaid on each page, depending on the capabilities of the specific plot device in use. It is usually difficult to interpret plots having more than four traces overlaid, so this is the recommended limit for the number of overlaid traces.
-bins #bin1 [#bin2 #bin3 ...]
This option is meaningless unless used with the -files option described above. It specifies the bins that should be plotted from the ERP data file(s). The format in which the plots are drawn (all bins overlaid for each file, or vice versa) is determined by the order of appearance of the -bins and -files options in the command line, as explained above.
-scale uVolts
This option determines the scaling that will be applied to the data when they are plotted from command line options (-files and -bins). The argument uVolts is a floating point number which specifies the number of microvolts that span one half of the vertical space allotted to each data trace. It is the same as the argument to the position and chanlocations commands, discussed below. The number should be positive, but the absolute value is used, as the polarity of the data can be inverted via the -cal option. The default scale is 10.0.
-horzspace value
This option determines the horizontal spacing that will appear around each data trace. The value argument is a floating point number that determines the fraction of the horizontal space allotted to each data trace that should be used for both left and right margins preceding and following the actual data trace. This is the same as the optional argument to the position and chanlocations commands, discussed below. The default horizontal space is 0.05.
-cal uVolts
This option specifies the size of the calibration bar that will accompany the data that are plotted. The argument uVolts is a floating point number that corresponds to the amplitude in microvolts that the bar will represent. Normally two such bars are drawn, one on each side of the baseline for the data. A negative value indicates that negative voltages should be plotted "up". The default value is -5.0 microvolts per side.
-smooth npts
This option tells ploterps to use a smoothing algorithm on all data before plotting it. A running average of npts before and after each data point will be used as the value of the data to plot. Note that smoothing can be turned on and off in the command file with the smooth command.
-filter filter_type cutoff [cutoff]
This option tells ploterps to filter the data before plotting it. The filter_type parameter must be one of "lp" for lowpass, "hp" for highpass, or "bp" for bandpass. The cutoff parameter is the cutoff frequency to use for the filtering. If using a bandpass filter, both a high and low cutoff frequency must be specified. Note that filtering can be turned on and off in the command file with the filter command.
-ticks ms_per_tick
This option specifies the interval in milliseconds (ms_per_tick) between ticks on the abscissa. It can be a floating point number or an integer.
-pause
This enables the pause command, such that ploterps will pause until the user presses the enter key whenever the pause command is encountered in a command file. If plotting is being performed using invocation line options alone (-files and -bins), the program will pause between pages as if a pause command had been encountered.

2.4 General Command File Format


ploterps provides about 50 commands. Each command should appear together with its associated arguments on a single line of the command file. Commands and arguments are separated by white space (spaces, tabs, or newlines immediately preceded by a ’\’). Any line in a command file that begins with anything other than an alphabetic character is treated as comment line, and its content ignored (the line count is incremented, however). Unless otherwise noted, the case of either commands or their alphabetic parameters and arguments is immaterial; they are all converted to lower case before interpretation.
If ploterps detects an error either in syntax or during the execution of a command, it will print an error message containing the line number at which the error was detected, and continue processing the input, if possible.
Note that several commands will affect the global format of the plots (e.g. where things are plotted on the page), and should thus appear first. For example, if one wishes to adjust the top margin, it should be done before any plotting commands are given. As another example, it is necessary to plot the "header" (via the plotheader command) before determining the locations where data are to be plotted with the chanlocations or position commands, so that the space used by the header will diminish the available drawing area allocated by these positioning commands. If this is not done, the data will be drawn over the textual information in the "header".

3. Command File Argument and Parameter Conventions


Many of the commands for ploterps employ arguments (often optional) that specify certain attributes for text, data, or other graphic elements in the plot. An "attribute" is simply some property, such as the thickness of the lines used to draw the data traces, that you can designate. Other attributes, for example, are the typestyle (font) used when plotting text, the color for data traces, and the type of line (e.g. dotted, dashed, dotdash, etc.) used when plotting data traces. The values and conventions for these attributes are collected here, since they apply to more than one command. In addition, the user may need to specify a location on the drawing surface. How one does this is also described in this section. Generally, both the attribute and its value are specified as ASCII keywords, such as "dotted", or "thin". In some cases numeric values are required; these are sometimes of the form "attribute=nnn", where "attribute" is an ASCII mnemonic for the particular parameter being specified, and "nnn" is a numeric value appropriate for the mnemonic, for example, color=12. No spaces are allowed between the mnemonic, the equal sign, or the value, and the quotation marks are not part of the actual command text. Finally and again, the case of the parameters and/or keywords is immaterial. Here are the attributes:

3.1 Attributes


font
Currently, four Hershey vector fonts are available for use in plotting text and special symbols; when a font argument is to be specified, the user supplies one of the following keywords: simplex (single stroke, plain), duplex (double stroke), complex (multiple stroke, nice), or italic (much like complex). The default font is simplex.
textsize
textsize is analogous to the point size of printed text. This parameter is specified by the string textsize=XXX, where XXX represents a positive number, possibly containing a decimal point and fractional values. Again, no spaces or other characters are allowed between the "textsize", "=", and "XXX" in the specification. A textsize of 2.0 is about as small as you can go, and this is only useful on devices with high resolution. A character plotted at textsize 5.0 will be twice as tall and twice as wide as one plotted at 2.5.
color
The color attribute is specified in a manner similar to textsize, with a string of the form: color=NNN, where NNN is a positive integer. Again, no intervening spaces are allowed between elements. On pen plotters, this attribute selects the pen (and hence perhaps the width of the lines). The number of colors or pens available is device dependent. In general, for black and white devices, a color of 0 means no color at all (black), and anything else means the device’s one color (white). For pen plotters, color 0 means no color, color 1 is the first pen, color 2 is the second pen, etc. It’s permissible to use unavailable colors, since most monochrome devices map these into color "1", but beware of other color devices and particularly pen plotters, which require more user attention than raster devices. The default color is 1.
linewidth
When a linewidth argument is needed, the user should supply one of the following (hopefully self- explanatory) keywords: verythin, thin, medium, thick, or verythick. The linewidth attribute interacts with the linetype attribute, in that thicker lines have different spacings for elements of a linestyle (i.e. dots and dashes). For text, solid lines of varying widths are very useful for drawing bold characters. On raster devices, the line width is mapped into an appropriate number of pixels for the width of lines that are generated. For pen devices, it only alters the spacings for elements of a linetype; the user must alter the color attribute to select various (pre-loaded) pens with different tip widths. The verythin line width is drawn fastest, and is the default.
linetype
linetype specifies the style or type of lines to draw. Four types are available: solid, dotted, dashed, ldashed and dotdash. Dashed and ldashed are both for dashed lines, the difference between them is that ldashed has longer dashed segments than dashed. The user specifies the linetype attribute by supplying one of these keywords. The default line type is solid.
labelorigin
The labelorigin attribute is associated with plotting text, and specifies the positioning of text with respect to a location on the drawing surface. The labelorigin attribute is specified by a string of the form laborigin=CCC, where CCC represents a code of from one to five ASCII characters. This encoding is a bit tricky, since there are 34 possibilities to be encoded, but is intended to be mnemonic, and works like this: Imagine that a rectangle encloses some text. The label origin specifies some point on, in, or outside of the rectangle and serves as the reference location for the positioning of the text. When one moves to a particular location on the drawing surface and then issues a text command, the reference point becomes the current location, and text is drawn relative to that point. The 9 basic locations for the reference point are depicted schematically thus:

    LT----------------MT----------------RT
     |                 |                |
     |                 |                |
     |                 |                |
    LM-----------------M----------------RM
     |                 |                |
     |                 |                |
     |                 |                |
    LB----------------MB----------------RB

Note that these 9 label origins are encoded with a combination of the letters L (left), M (middle), R (right), T (top), and B (bottom). This encoding allows the letters to occur in any order and be of either upper or lower case. As an example, to center some text immediately above a particular coordinate, one would specify the labelorigin attribute as laborigin=MB, since the reference point would be in the middle of the bottom of the rectangle.
Two other letters are combined with these 5 to complete the full set of label origins. They are: V, which causes the text to be plotted vertically, one character on top of another, and E, which adds an additional half-character-width of extra space around the text in the imaginary rectangle (for example, laborigin=LME would place the reference point one half of a character space to the left of the beginning of the text). The letters that encode these modifiers of the 9 basic positions can also appear in any order, even before and intermingled with the basic five letters, and can be either upper or lower case.

3.2 Coordinate System


Some commands allow arbitrary placement of text, lines, plotted data, etc, on the drawing surface. Whenever a coordinate appears as an argument to a command, no prepended mnemonic should appear and the numbers should start with a digit or a ’.’. A floating point coordinate system (different from that used by barplot and linegraf) is employed. The x direction always goes from 0.0 to 1.0 for any device, whether it is used in landscape or portrait mode. An x coordinate of 1.0 corresponds to the point immediately beyond the rightmost point on the drawing surface, while 0.0 corresponds to the leftmost point on the drawing surface. The bottom-most point on the screen corresponds to 0.0 in the y direction, while the topmost point depends on the specific device in use. For most devices, which have a 4 to 3 aspect ratio (x to y available surface ratio), this will be 0.75 in landscape mode, and 1.33 in portrait mode.

4. Commands


Commands are grouped into four different categories: those that affect the style and drawing attributes of the plot (e.g. color, font, linewidth, linestyle), those that are used for positioning plot elements on the drawing surface, those that are related to ERP data, and those that actually cause plotting to take place. In many cases, arguments are optional, and are so denoted by enclosure in "[" and "]". The possible types for these optional arguments are listed in the square brackets; the user should substitute the desired keyword and/or value as discussed in COMMAND FILE ARGUMENT AND PARAMETER CONVENTIONS, above. Usually any number and/or combination of the different attribute types can appear as optional arguments for a command. Following each command is an alternate, abbreviated version of the command name in parentheses, which can be used in place of the full command name.

4.1 Style Commands


ploterps keeps track of the drawing attributes for text, lines (including data traces), and the baseline grids separately (remember that attributes are things like line thickness and color. Refer to section 3.1 for a description of the drawing attributes). The idea is that you might, for example, want to use thin lines for drawing data traces and thick lines for drawing text (to give a bold effect). You use the linestyle command to set the attributes used for drawing lines, the textstyle command to set the attributes for text, and the gridstyle command to set the attributes used for drawing baseline grids. The commands that tell ploterps to actually plot something then refer the attributes that you have set with the style commands to decide how to do the plotting. Also, each plotting command lets you temporarily override the current settings for the attributes. For example, you could use the textstyle command described in this section to set the color for text to be color # 1. All commands that plot text would then use color # 1 unless you use an optional command parameter that says to override the current text color and use the one you specify instead.
linestyle (ls) [color linewidth linetype]

The linestyle command sets the current line color, linewidth, and/or linetype attributes that are used when any line is drawn (such as during the plotting of data) up until the next linestyle command. It does not affect the style used for plotting text, or the style used for plotting baseline grids. One can supply one, two, or all three types of attributes; unspecified attributes retain their existing values. However, if no arguments at all are specified, all linestyle attributes are reset to their default values.
gridstyle (gs) [color linewidth linetype]

This is very similar to the linestyle command, except that it only applies to the plotting of the "grid" on which the data is drawn. The grid includes the timebase, baseline, tick marks, and calibration bar. The gridstyle is kept as a separate class of style attributes so that, for example, one can plot data with dashed lines and the baseline with solid lines. As with the linestyle command, any or all of the arguments can appear; however, if no arguments are supplied, all gridstyle attributes revert to their default values.
textstyle (ts) [font textsize labelorigin color linewidth linetype]

The textstyle command sets the current font, textsize, color, linewidth, and linetype that will be used for all text plotting up until the next textstyle command. Any combination of arguments can be supplied; if none appear, all textstyle attributes are set to their default values.
labelprec (lp) precision

Set the precision for tick labels. Precision is the number of digits that are to appear after the decimal point. If precision is 0, no decimal point is printed. Note that label precision applies only to ticklabels. Precision defaults to 0.
vlabelprec (vlp) precision

Similar to labelprec. Sets the number of decimal places that should appear in the labels used for the voltline. See the Plotting Calibration Lines section for info on the drawvoltline command.

4.2 Positioning Commands


Positioning commands specify the locations, sizes, and margins for elements of the plot. All these commands require that the numeric arguments appear in the proper order. If no arguments are supplied for any one of these commands, the value is set to the corresponding default(s) for the command. Usually one will want to place these in the command file prior to actual plotting commands.
bottommargin (bm) value

Set the amount of space to be reserved for the bottom margin of the drawing surface as a fraction of the screen height. For example, if one were using an 11 inch high piece of paper (portrait mode) and wanted a 1 inch bottom margin, the command would be:

    bottommargin 0.0909

topmargin (tm) value

This command is analogous to the bottommargin command. It reserves space for the top margin on the drawing surface as a fraction of the screen height.
leftmargin (lm) value

Sets the left margin as a fraction of the screen width.
rightmargin (rm) value

Sets the right margin as a fraction of the screen width.
chanlocations (cl) rows cols [scalefactor horzspace show]

Later commands are going to require a positioning argument that selects a position on the drawing surface. That position and its associated position number is defined using this command, or by the position command below. The position command allows one to specify exactly where to plot data using the coordinate system described in COMMAND FILE ARGUMENT AND PARAMETER CONVENTIONS above. The chanlocations command allows one to automatically define an array of positions, one for each channel of data, laid out as follows. The available drawing surface is divided into "rows" horizontal strips and "cols" vertical strips, the combination of which creates an imaginary array of rectangles. These rectangles, numbered as discussed below, define the space that can be used to plot a particular channel of data. Screen coordinates are calculated and saved, but the user denotes positions by an integer, counting positions from the top left using row-major order. For example, if a chanlocations command is given with the rows and cols arguments being 2 and 2, the upper left area would then correspond to a position number of 0, the upper right to 1, the lower left to 2, and the lower right to 3:

  --------
  | 0  1 |
  | 2  3 |
  --------

The optional scalefactor argument determines the scaling of the data (and thus its apparent size) in the rectangle by specifying the number of microvolts (as a floating point number) corresponding to one half of the height of the rectangle (one side of the baseline). The size of the actual calibration marker is determined by the calibration command below, its presence or absence by the calmarks command, also below.
The optional horzspace argument represents a fraction of the width of each rectangle that should be used for both the left and right margins preceding and following the actual data trace. For example, if one wanted traces separated by one quarter the width of the traces, one would supply 0.10 for this argument. In this case the space between traces would be .25 of the width of the traces, but the left and right margins would be increased by only one eighth of the width of a trace. Be sure to set the margins before executing a chanlocations command.
The optional show parameter indicates to display the grids.
If only one optional parameter is given, and it is not show, then it is assumed to be scalefactor. If there are two optional parameters, the first must be the scalefactor, and the second can be either show or horzspace.
channelorder (co) chan [chan ...]

Define which channels of data should be plotted in which locations (as defined by the chanlocations command). The first argument is the channel number of the data channel that should be plotted in location 0, the second argument is the channel number of data channel that should be plotted in location 1, and so on. If no data should be plotted in a particular position, use a -1 for that location. The channelorder command works only in conjunction with the plotchans command (below). Once a list of channels has been defined with the channelorder command, the plotchans command is used to plot all of the channels in the list. This is merely a shortcut to get around plotting each channel one at a time with the chan command (below).
position (po) posnumber xl xr yt yb scalefactor [horzspace]

This command is used to define the drawing rectangle (as described above for the chanlocations command) for a single a channel of data. It is useful if one wishes to place data at arbitrary locations on the drawing surface, rather than just on a rectangular matrix, or when one wants the scaling to differ at different positions. Posnumber represents an integer, and specifies the position being defined. It will be referred to in subsequent chan commands. The xl, xr, yt, and yb arguments represent floating point numbers using the coordinates system defined above in COMMAND FILE ARGUMENT AND PARAMETER CONVENTIONS corresponding to the left, right, top, and bottom edges of the rectangle. The scalefactor argument is the same as in the chanlocations command (above) as is the optional horzspace argument.
scalefactor (sf) scalefactor posnumber

This command is used to redefine the scalefactor of a drawing rectangle previously defined by the chanlocations or position command (described above). It is useful, for example, if one wants to use the chanlocations command to define the locations on the drawing surface for plotting the data, but does not want to use the same scalefactor for each position. The scalefactor argument is the same as in the chanlocations and position commands (above).

4.3 Commands Related to ERP Data


These commands are used to select the particular ERP data that are to be plotted, and various miscellaneous aspects of the drawing that depend on the particular data being plotted.
definefiles (df) file0 [file1 file2 ...]

Defines a list of files that can later be referenced by numbers. Any files defined by a previous definefiles command will be closed and their names and indices forgotten. This command can be emulated by the -files command line option, allowing one to use the same command file for different data sets. In this case, however, no definefiles commands should appear, as they will override the command line option.
file (f) file_spec

Select the current file from which to retrieve data. File_spec can either be a file name, or an integer specifying one of the files defined in the last definefiles command (or from the -files command line option).
bin (bn) bin_number

Select the current bin from which to retrieve data as an integer. Remember that bin numbers start at 0.
procfunc (pf) pfnumber1 [ +/- pfnumber2 ]

Select the current processing function from which to receive data to be pfnumber, an integer. Processing functions numbers start at 0. If the optional arguments are present, pfnumber2 is added to (or subtracted from) pfnumber1 point by point. This would be useful if one wanted to plot a simple average with the standard error processing function added to or subtracted from (or probably both) the original simple average. Note that the spaces around the "+" or "-" must be present. Read the manual on ERP data files for more information on processing functions.
ticks (tk) mspertick

Specify how far apart ticks (if drawn) should be spaced in milliseconds, as a floating point number. Ticks are turned on or off with the tickmarks command, below. If no argument is present, the tick interval is set to the default value of 100 milliseconds per tick.
calibration (cal) uVolts

Specify how many microvolts via uVolts (as a floating point number) are represented by the calibration bar. A separate bar is drawn on each side of the baseline, so this is half the number for the combined size of both bars spanning the baseline. If uVolts is negative, the data are plotted with negative voltages "up". If no argument are present, the calibration size is set to -5.0, the default value.
smooth (sm) npts(on, yes)/off(no)

This is very similar to the -smooth command line option. The data is "smoothed" before plotting by computing a running average of npts before and after each data point. If yes or on is used instead of a number, smoothing is done by using a weighted average: 2 times each data point value plus the point before it plus the point after it, divided by 4. If no or off is used as the argument, smoothing will not be done for any plotting that follows the smooth command.
filter (fi) off/no
filter (fi) filter_type cutoff [cutoff]

This is very similar to the -filter command line option. The data is filtered prior to plotting. filter_type specifies the type of filtering to perform. It must be one of: "lp" (for lowpass), "hp" (for highpass), or "bp" (for bandpass). cutoff is the cutoff frequency. Note that for bandpass filtering both a high and low cutoff frequency must be specified. If the only parameter specified is off (or no), no filtering is done for subsequent plotting.
timewindow (tw) start_time end_time

Specify the time window of the data that you wish to plot. The start_time and stop_time are in milliseconds, as floating point numbers. If no arguments are present, the default (the entire epoch) is set.
baseline (bl) start_time end_time

Specify the time window which should be used to calculate the baseline amplitude, which is subtracted from all the points of the channel of data prior to plotting it. The start_time and stop_time are in milliseconds, as floating point values. If no arguments are present, the default interval is set, which is the entire presampling period.
ticklength (tl) value

Determines the size of tick marks on the grid abscissa, as a floating point number representing a fraction of the entire width of the drawing surface. If no argument is supplied, the ticklength is reset to the default value.
calmarks (cm) on(yes, y, 1)/off(no, n, 0)

Specify whether or not you want a calmark on the baseline grids. The argument may be: on, yes, y, or 1 for drawing the calmarks; or off, no, n, or 0, for not drawing the calmarks. If no argument is supplied, they are turned on.
tickmarks (tkm) on(yes, y, 1)/off(no, n, 0)

Specify whether or not you want tick marks on the baselines. Argument is the same as for calmarks command. If no argument is supplied, tickmarks will be drawn.
grids (g) on(yes, y, 1)/off(no, n, 0)

If the argument is off (no, n, 0), neither the baseline grid nor the channel label are plotted when data are plotted. This is nice when you are overlaying several channels at the same position and don’t want to redraw the baseline grid or channel label each time. If no argument is supplied, grids and channel labels will be drawn.
polindicators (pi) on(yes, y, 1)/off(no, n, 0)

Specify whether or not to put polarity indicators on the calibration bars when they are plotted. This does not affect the polarity indicators plotted by the drawcal command (below). If no argument is supplied, indicators will be drawn.
ticklabels (tlb) on(yes, y, 1)/off(no, n, 0)

Specify whether or not to label the tickmarks on the baseline grids. If they are labeled, the textsize used will be 1.0 less than the current textsize. If no argument is supplied, ticklabels will not be drawn.
utick (ut) time [+/-] [label] [font labelorigin textsize color linewidth linestyle]

Specify a time (in milliseconds) to locate a tick mark on the baselines. If "+" is supplied as an optional argument, only the top half of the tick is drawn. If "-" is present, only the bottom half (below the baseline) is drawn. If the user wants to label the tick mark, he may provide a label in the optional label argument (if it contains spaces, enclose it in quotes). These two optional arguments should precede the following optional attribute arguments on the command line. The current font, textsize, color, linewidth, and linetype from the last textstyle command will be used unless the user overrides them with the optional attribute arguments.
clearuticks (ct)

Requests that any user requested tickmarks and labels (defined via the utick command) be forgotten.

4.4 Plotting Commands


plotheader (ph) [font textsize color linewidth linestyle]

Plot a legend, or "header" at the bottom of the page, describing the data from the current bin, as well as various plotting s. The s plotted includes: sums, calibration, time window being plotted, milliseconds per tick mark, onset delay, subject description, experiment description, condition description, and bin description. ploterps assumes that all information other than the sums, bin description, and experiment description will be the same for each bin, and reserves space for this information for four overlaid traces. These fields will be arranged in some default fashion at the bottom of the page. See example 2 for the default header layout. The current font, textsize, color, linewidth, and linestyle will be used, unless overridden with the optional arguments. This command should appear before any space allocating (such as chanlocations or position) or plotting commands, and after specifying bin numbers.
chan (ch) chan_num posnumber [labpos] [label] [font textsize col linewidth linetype]

The chan command is used to plot a particular channel of data at a particular position. Chan_num specifies the channel number from the current file, bin, and processing function. Posnumber selects a position as defined in a previous chanlocations or position command, and is an integer.
The optional labpos argument specifies where the label for the channel (from the channel description field in the data file bin header) will be plotted with respect to the baseline. It is similar to the argument for the labelorigin attribute, but uses a different code, and is introduced by the sequence labpos=CC, where CC is the code, as follows. The single letter "N" specifies that no channel description should be drawn, whereas a combination of the letters "T" (top), "L" (left), and "R" (right) specify a location around the data trace. If you want the label just to the left of the baseline, the argument is the single letter "L". If you want the label just to the right of the baseline, the labpos argument is the single letter "R". If you want the label centered over the top of the baseline (just above the top of where the calibration bar would be), the argument is the single letter "T". The combination of letters "T" and "L" says to put the label on the top left side, and the combination "TR" says to put the label on the top right side. Order of the letters is not important, and upper or lower case may be used.
The optional label argument for the chan command is for labeling a channel with one’s own label. The program will normally get the channel description out of the bin header and use that for the label, but if the user specifies another label by supplying this label argument, it will be used instead. Note that the optional labpos and label arguments must appear before any of the optional over-riding attribute arguments on the command line. Either or both of these optional arguments can appear in either order, as long as they occur before the attribute arguments, if present.
For example, let’s say you wanted to plot channels 0, 1, and 2 down the center of the page. You could first use the chanlocations command with arguments of 3 (rows) and 1 (cols), and an appropriate scaling factor. Then, the posnumber argument for channel 0 would be 0 (the top position of the 3 X 1 matrix), the posnumber argument for channel 1 would be 1, and the posnumber argument for channel 2 would be 2. If this is still confusing, please look at the examples before giving up. Interaction with a human expert might also be helpful. In any case, the automatic, easy to use chanlocations facility should be sufficient for most applications.
chanlabel (chl) chan_num posnumber [labpos] [label] [font textsize col linewidth linetype]

This command merely puts the label for chan number chan_num at the specified posnumber. The syntax is exactly the same as for the chan command described above. Refer to the description of the chan command for details.
plotchans (pc) [yes(on 1)/no(off 0)]

Plots the channels as defined by a previous channelorder command. If no, off or 0 is specified, doesn’t plot channel labels. The default is to plot the channel labels.
plotallchans (pa) [rows cols scalefactor [horzspace]]

This command plots all channels in the current bin. The channels of data are plotted in the order they are found in the average file (use the plotchans command to plot several channels in some special order). If none of the optional arguments are supplied, ploterps figures out some reasonable way to position the channels, and automatically plots them, labeling them with the default labels from the header. If the optional arguments are supplied, the specified rows, cols, scalefactor (and optionally horzspace) are used to position and scale the data for all of the channels in the current bin. Note that rows, cols, and scalefactor must all appear if the user wishes to specify how to position the data traces, and that they must appear in the given order. These optional arguments are the same as the arguments to the chanlocations command (above).
drawbaseline (db) posnumber [color linewidth linetype]

The drawbaseline command plots a baseline without plotting data on it. The posnumber argument is exactly the same as the posnumber argument for the chan command. The color, linewidth, and linetype from the last gridstyle command (or the defaults if there was no previous gridstyle command) will be used, unless they are overridden with the optional attribute arguments.
drawcal (dc) posnumber calorigin [label] [font textsize color linewidth linetype]

(NOTE: the drawcal command is from the original version of ploterps. A newer, easier technique is available with the newer versions of ploterps. See the Plotting Calibration Lines section below.)
The drawcal command is for plotting a calibration bar by itself at an arbitrary location. Because there are so many ways one might want to plot a separate calibration marker, the command is quite involved.
The posnumber argument specifies one of the positions previously defined by either the chanlocations or position command (above) to be used as a reference point for the calibration marker. One must also specify where the calibration marker will be located with respect to that reference point using the calorigin argument. In other commands, the position defined by a posnumber argument specifies a rectangular area on the drawing surface in which data will be plotted. Usually a baseline is plotted, centered in this rectangle. The imaginary place where this baseline would be drawn is used a reference point for drawing the calibration marker. There are several possibilities, all of which are encoded in the calorigin argument with a combination of letters, in much the same fashion as the argument for the labelorigin attribute. The calorigin argument also specifies whether or not and where to put tick marks on the calibration marker, and which side of the calibration marker to draw the positive and negative signs. The calorigin argument has the form calorigin=CCC, where a combination of one or more letters constitute the CCC code, as follows. The letters that can be combined are: "N", "T", "M", "B", "L", "R", "E", "O", and "+". Their meanings are as follows:
N: do not put ticks or positive and negative indicators on the calibration marker.
T: place the calibration marker above (on top of) the location specified by the posnumber argument.
M: center the calibration marker (middle) vertically on the location specified by the posnumber argument.
B: place the calibration marker below the location specified by the posnumber argument.
L: put tick marks on the left side of the calibration marker only.
R: put tick marks on the right side of the calibration marker only.
E: when placing the calibration marker below or above the location specified by the posnumber argument, use extra space.
O: ploterps will label the calibration marker with the value (in microvolts) that it represents (or the optional label string, if present), unless this letter appears. The side of the calibration marker on which the label is placed is determined by the current label origin associated with the linestyle attributes, or by the optional, over- riding labelorigin attribute argument. Normally the positive and negative signs will be placed on the marker, on the same side as the calibration label. This letter means to put the positive and negative signs on the "O"pposite side from the label (picky yes, but somebody wanted to be able to do this).
+: put calibration marker on the left side of the location specified by the posnumber argument.
As usual, the default label (the size of the marker in microvolts, to one decimal place) can be overridden by supplying an optional label argument. The current font, textsize, etc can also be overridden if the optional arguments are present, but the label argument must precede them.
Note that the optional attribute arguments following the optional label affect only the label, but not the calibration bar line itself. This is controlled by the gridstyle command.
line (l) startx starty endx endy [color linewidth linetype]

The line command simply draws a line from (startx, starty) to (endx, endy). The current color, linewidth, and linestyle (from the last linestyle command) will be used, unless overridden with the optional attribute arguments.
lineto (lt) x y [color linewidth linetype]

This command is similar to the line command above, except the line is drawn from the end of the last line, lineto, or moveto command to the location specified in x and y, as drawing surface coordinates. The current color, linewidth, and linestyle (from the last linestyle command) will be used, unless overridden with the optional attribute arguments.
moveto (mt) x y

Simply move to the specified location on the drawing surface. This command is used mainly with lineto command, to reduce the typing of coordinates.
text (tx) xcrd ycrd string [string args] [font labelorigin textsize color linewidth linestyle]

Plot the text string at the coordinate (xcrd, ycrd) using the current label origin, textsize, font, linewidth, color, and linetype attributes as determined by the last textstyle command, unless overridden by optional attribute arguments supplied for the command. If the string argument contains white space, enclose it in double quotes. Users have a number of predefined strings at their disposal. The syntax for accessing these predefined strings (mostly from the bin headers of the data file) is similar to that of the printf function of the C language. At the point where a predefined string is desired, use the "control" sequence "%v". Then, after the string (in the [string args] position), put name of the predefined string desired. The available predefined strings are described in APPENDIX B. One complication is that some predefined strings need an additional "index" argument. Such is the case for the channel descriptions, which require the channel number. For example, if you wanted to plot the experiment description for the current bin on the center of the screen, the command would be:

    text .5 .5 %v expdesc

If you wanted to print the channel description in the bin header for channel number 5, the command would look something like this:

    text .5 .5 "Channel 5 is %v" chandesc 5

Note that any string arguments must precede any optional text style arguments. Several special characters (mostly greek alphabet and mathematical symbols) are available. These are accessed in the same manner employed by the text processing program nroff. APPENDIX C lists the special characters that are available.
arrow (ar) location time volt arrowcode label [textstyle options]

Draw an arrow with a label. Location is one of the channel locations specified with either the chanlocations or the position command. Time is the time in milliseconds that corresponds to the horizontal position of the arrowhead. Volt is the voltage in microvolts that corresponds to the vertical position of the arrowhead. Arrowcode is a combination of the letters "U" (up), "D" (down), "L" (left), and "R" (right) used to define one of 8 possible orientations for the arrow. If you want the arrow pointing up, the arrowcode is "U", if you want the arrow pointing down and to the left, the arrowcode is "DL", etc. Label is a text string that will be placed near the tail of the arrow. If the label has white space in it, enclose it in quotes. The exact position of the label in relation to the arrow is determined by the label origin as described above in the Attributes section. The label origin reference location is the tip of the tail of the arrow. The size of the arrow is determined by the textsize.
shade (sh) location start end file1 bin1 chan1 file2 bin2 chan2 [greyscale]

Shade the region between two erp waveforms. The location argument is the location, defined previously by either the chanlabel or the position command, where the two erps are plotted. The start and end arguments specify the times in milliseconds where shading should start and end. The next six arguments specify where the two waveforms came from. File1, bin1, and chan1 define the file, bin, and channel number of the first waveform. File1 may be either a data file name, or a file number as defined by the definefiles command or the -files command line option. Similarly, file2, bin2, and chan2 define the file, bin, and channel number for the second waveform. The optional greyscale parameter is used to specify lighter or darker shading. greyscale is a number in the range 1-10, 1 being the lightest and 10 being the darkest.
rect (r) ULx ULy LRx LRy [fill] [color linewidth linestyle]

Draw a rectangle with the upper left corner coordinate specified by the first two arguments, and the lower right corner specified by the second two arguments, as drawing surface coordinates. The current attributes specified by the last linestyle command are employed when the rectangle is outlined, unless overridden by the optional attribute arguments. If the optional fill argument is specified, it must appear before any of the attribute arguments, and selects the pattern used to fill the rectangle. The fill argument is an integer specifying one of a number of fill patterns available. If not present, the rectangle will only be outlined.
newpage (np)

Depending on the device, the current page is ejected and a new one loaded, or the screen is erased. All subsequent plotting will be done on a "new page".
readfile (rf) filename xtrans ytrans

Read commands from the file filename, and then resume reading commands from the current command file. While the file is being read, all coordinates are translated by adding the xtrans and ytrans arguments to those in the file, thus effecting a translation of the sub- image. Hence, the coordinates in a command file that is to be read in this manner can be considered relative, if the translations are non-zero, or absolute, if the translations are both zero. Actually, a stack of offsets is maintained to allow the possibility that one of the commands in filename is itself another readfile command. The actual location of coordinates in a nested command file is translated by the sum of all the xtrans and ytrans s in the "reading" files. The limit on the number of nested files is 10. The readfile command is quite useful for things like drawing a head or other figures at various locations on the drawing surface. One command file could contain a long sequence of line, lineto, and moveto commands for the head, and another command file could use the readfile command to read the specifications for drawing the head, so that the drawing commands need not be replicated repeatedly.
Note: only actual plotting performed in the readfile is translated; commands that don’t do plotting (e.g. position) won’t be affected by the xtrans and ytrans coordinates.
pause (pz)

The pause command only works if -pause is specified on the command line. When a pause command is encountered, the program waits for the user to type a carriage return on the terminal keyboard.
windowtext (wt) posnumber position text [font labelorigin textsize color linewidth linestyle]

The windowtext command displays text relative to a specified window. This is useful if the user changes the order of the plots with the channelorder command. Instead of recalculating the x and y coordinates for the plot’s label, the user only has to change the posnumber to the corresponding posnumber of the plot that has changed to display the text. The first argument for the windowtext command is a posnumber, the posnumbers are initially allocated with the chanlocations command, which specifies which window in the array of windows to display the text. The second argument specifies which of the nine preset locations the text should be displayed in the selected window. The nine preset locations are as follows:

    TL/LT-------------TM/MT-------------TR/RT
      |                 |                 |
      |                 |                 |
    ML/LM---------------M---------------MR/RM
      |                 |                 |
      |                 |                 |
    BL/LB-------------BM/MB-------------BR/RB

The last argument is the actual text to be diplayed.

4.4.1 Plotting Calibration Lines


Plotting a calibration line is somewhat of a special operation, and as such, gets a section all to itself in this manual. By calibration line, we are referring to the calibration and timeline that are often put as a legend at the bottom of an erp plot. In previous versions of the ploterps program, this task was performed with the drawcal and drawbaseline commands. While these commands are still available, it is suggested that the new commands described in this section be used, as the older commands have proven to be rather cumbersome to use.
The task of drawing a calibration line can be divided into 4 subtasks: (1) drawing the horizontal time line at some predefined channel location, (2) putting time ticks on and labeling them, (3) drawing a vertical voltage line at some location on the time line and labeling it, and (4) labeling the voltage line with a polarity label. Commands are provided for performing each of these subtasks.
drawtimeline (dt) location [linestyle options]

Simply draw a horizontal line in the position specified by the location argument. The location argument refers to one of the locations defined by either a previous chanlocations or position command. If no linestyle options are given, the linestyle attributes from the last gridstyle command are used.
labelticks (lbt) size time [lab="my label"] [time [lab="mylabel"]...] [text options]

Put labeled tickmarks on the timeline drawn with the last drawtimeline command (note that drawtimeline must be used before the labelticks command can be used). The size argument determines the size of the tickmarks as a floating point number representing a fraction of the entire width of the drawing surface. Each time argument specifies a time in milliseconds at which a tickmark should be placed on the timeline. Normally ploterps will label the tickmark with the time you specify, however, if you wish to override the default label for a particular tickmark, you may supply your own label by following the time argument for the desired tickmark with a lab= argument. You are allowed to specify up to 20 tickmark times and labels. The text attributes of the tickmark labels may be specified with the usual optional text options. If no text options are specified, the text attributes are determined by the last textstyle command. The labels are normally centered underneath the tickmarks; this can be overridden by specifying a laborigin= text attribute as one of the text options, making it possible to right or left justify a tick label with a tickmark.
nolabelticks (nlt) size time [time ...]

Put tickmarks on the timeline drawn with the last drawtimeline command, but don’t label them. This functions similarly to the labelticks command (above), except that no labels are drawn with the tickmarks.
drawvoltline (dv) time tickmarkpos labelpos [text options]

Draw a vertical voltage line on the timeline drawn by the last drawtimeline command. The time argument specifies the time in milliseconds on the timeline at which to draw the voltline. The tickmarkpos specifies the orientation of the tickmark that appears at the top of the voltline. It must be one of "right", "left", or "center". The labelpos argument encodes one of 6 possible positions for the microvolt label to be placed with respect to the voltline. It is constructed of one or a combination of two of the letters "M", "T", "R", "L", and "N". The first four are the usual middle, top, right, and left specifiers. Using "N" for the labelpos argument specifies that no microvolt label should be drawn for the voltline. Examples of all 6 positions are shown in the Examples section below.
labelpol (lbp) neg [pos]

Put a negative or positive (or both) polarity sign by the voltline drawn with the last drawvoltline command. The polarity indicator is drawn on the side opposite from the side that the tickmark was drawn on the voltline, or to the left if the tickmark was centered on the voltline.

5. Examples


Perhaps the easiest way to learn about ploterps is to study the examples given here. Each example is followed by the actual command file used to produce it, except for Example 2 which generates a plot without using a command file. Keep in mind that there are often several ways to produce the same output. For most of these examples, we use a grand average (i.e. many subjects) erp datafile called g28.gnd.

Example 2 - quick and dirty approach (no command file)


This example demonstrates the "quick and dirty" approach to plotting data. This is probably the best way to take a quick look at some data without having to mess with a command file. The plot is produced using "none" for the commandfile argument, and instead uses command line options to select the data of interest.
View the plot by entering the following (enter the command all on one line, here it is broken into multiple lines for readability):
ploterps pxwin none
-files /usr/local/erp/man/man7/ploterps_manual/g28.gnd
-bins 1 8 11 -scale 7.5
For each channel in the file g28.gnd the bins 1, 8, and 11 are overlaid on the plot, using the default calibration of 5 microvolts per side. The -scale option scales the data up from the default of 10.0 microvolts for each half of the rectangle allotted to each data trace.

Example 3 - timeline and calibration bar


In this example, the use of a command file is demonstrated. Keep in mind that users that don’t like to type a lot can use the abbreviated command names, however I’ve chosen to use the full command names to make things more readable. I’ve overlaid data from channels 3 through 13 of bins 21 and 17 from the data file g28.gnd, using the chanlocations and channelorder command to determine positioning. This is also a good example of how to draw a timeline and a calibration bar for the legend.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex3.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 3 - timeline and calibration bar
**
** comments appear just before relevant command
**
polindicators no
** put time ticks every 100 msec, set length of ticks to .02
ticks 100
ticklength .02
** default timewindow is entire epoch (-100 to 924 in this case)
timewindow -100 800
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
topmargin    .08
bottommargin .02
rightmargin  .10
leftmargin   .10
** linewidth for grids
gridstyle medium
calibration -2.0
textstyle complex
** next command puts a title at specified x and y locations, it will be
** centered around the x-coordinate because of the M (for middle) in
** the "labelorigin" parameter. Font type is "complex", line thickness for
** letters is "medium", size of letters is "5".
text .50 1.293 "Congruent Associated" textsize=5 medium laborigin=MTE
** next command divides page up into sections for the different channels,
** 7 rows, 3 columns.  3.0 determines how much vertical space will be
** allowed between channels. .04 sets how much horizontal space between
** channels.  Nothing will be drawn in these sections until we request it.
chanlocations 7 3 3.0 .04
** bin to be plotted
bin 21
** line thickness for the ERP and color of line
linestyle thick color=1 solid
** define which channels go in which locations.  -1 means put no channel
** in this location.  We have channel 4 in location 0, nothing in location
** 1, channel 5 in location 2, etc.  This will stay in effect until we use
** the channelorder command again.
channelorder 4 -1 5 6 2 7 8 3 9 10 -1 11 12 -1 13
** set the textsize to 3, the text color to 1 and the text thickness to
** thin.  This will affect the channel labels for the data we are about
** to plot.
textstyle thin textsize=3 color=1
** Plot the data for the channels and locations we defined above with
** the channelorder command.
plotchans
** we’re going to plot another bin on top of the first,
** no need to redraw the grid.
grids off
** plot this bin with a dashed line, color 3 (color command will
** be ignored by laser)
linestyle color=2 dashed thick
bin 17
plotchans no
** done plotting data, now we will worry about plotting the calibration
** info, next command sets text characteristics for the msec info, and
** the uV info.
textstyle complex textsize=4.4 color=1 medium
** First draw the timeline only in position 17.
drawtimeline 17
** Now put some labeled ticks on the timeline we just drew.  Tick size
** is .04.  We want labeled ticks at 0, 400, and 800 milliseconds.  For
** the tick at 800 we don’t use the default label.  The spaces to the
** left of 800 in "   800 ms"  will just about center the 800 under the
** tick mark.
labelticks .04 0 400 800 lab="   800 ms"
** Now put some ticks without labels on the same timeline.  Tick size
** is .02.  Put ticks at 200 and 600 milliseconds.
nolabelticks .02 200 600
** Now draw the voltline.  Draw it at 0 milliseconds.  Put the tickmark
** on the right size of the voltline only. Put the micrvolt label in the
** the middle and to the left of the voltline.
drawvoltline 0 right ML
** Finally draw the negative polarity indicator.
labelpol neg
** write "First word" at specified x and y coordinates, color 3
text .26 .28 "First word" color=2
** draw a dashed line from x-coord .14 to x-coord .24, vertical (y-coord)
** location is .27.  Make the line thick.
line .14 .27 .24 .27 color=2 thick dashed
** write "Second word" at specified x and y coordinates, color 1.
text .26 .24 "Second word" color=1
** draw a solid line from x-coord .14 to x-coord .24, vertical (y-coord)
** location is .23.  Make the line medium thickness, color 1.
line .14 .23 .24 .23 color=1 medium solid
** Center a title at the bottom of the page.
text .50 .10 "Ploterps Manual, Example 3" color=1 textsize=5 laborigin=MTE
********************************************************************


Example 4 - several bins from one channel


This example is very similar to the last. I have plotted channel 2 from several different bins. Notice that we could not use the channelorder and plotchans commands this time since we use only one channel from each bin. Also notice the special handling of the calibration bar label.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex4.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 4 - several bins from one channel
**
** comments appear just before relevant command
**
timewindow -100 799
topmargin .10
bottommargin .20
** In setting the left hand margin, I left plenty of space to put some
** labels there.
rightmargin .09
leftmargin .28
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
gridstyle medium
calibration -2.0
ticklength .02
textstyle complex textsize=5 thin laborigin=LTE
text .31 1.273 "Congruent" 
text .63 1.273 "Anomalous"
** The following labels appear on the left side of the page, so I
** wanted them left-justified and used "lte" (left top, extra space) 
** for the "laborigin".  Notice that I set laborigin to "lte" in the
** above textstyle command.
textstyle textsize=4
text .15 .517 "Final" 
text .15 .477 "word" 
text .15 .65 "Words" 
text .15 .61 "13 on" 
text .15 .785 "Words"
text .15 .74 "10-12" 
text .15 .92 "Words" 
text .15 .88 "7-9" 
text .15 1.055 "Words" 
text .15 1.015 "4-6" 
text .15 1.19 "Words" 
text .15 1.15 "2&3" 
** Specify a 7 row by 2 column grid for channel locations.  The
** 4.5 is for the vertical spacing.  It means that there is room
** for 4.5 microvolts on each side of the baseline.  Another way to
** look at it is that each baseline is 9 microvolts apart from the
** baseline above or below it.
chanlocations 7 2 4.5
** Ticks every 100 milliseconds.
ticks 100
** No polarity indicators.
polindicators no
** I don’t wan’t to the channel label (Cz) to show up, so I set the
** text color to 0.
textstyle color=0
** Draw several bins with a medium-width, solid line, color 1.
linestyle medium color=1 solid
bin 1
chan 2 0 
bin 3
chan 2 2 
bin 5
chan 2 4 
bin 7
chan 2 6 
bin 9
chan 2 8 
bin 12
chan 2 10
** I’m going to draw in the same locations again, so no need to redraw
** the baseline grids and calmarks.  Turn grid drawing off.
grids off
** Now draw several bins with thick-width, dashed lines, color 2.
** Note that color command does nothing for laserjet.
linestyle thick color=2 dashed
bin 2
chan 2 0 
bin 4
chan 2 2
bin 6
chan 2 4 
bin 8
chan 2 6 
bin 10
chan 2 8 
bin 11
chan 2 10 
** Now I’m going to plot data in locations that I haven’t used yet, so
** I turn grid drawing back on.
grids on
** Plot several more bins of data with medium solid lines, color 1. 
linestyle medium color=1 solid
bin 13
chan 2 1 
bin 15
chan 2 3 
bin 17
chan 2 5 
bin 19
chan 2 7 
bin 21
chan 2 9 
bin 24
chan 2 11
** Turn the grid drawing off again.
grids off
** Plot several more bins of data with thick-width, dashed lines, color
2.
linestyle thick color=2 dashed
bin 14
chan 2 1 
bin 16
chan 2 3 
bin 18
chan 2 5 
bin 20
chan 2 7 
bin 22
chan 2 9 
bin 23
chan 2 11 
** Prepare to draw the baseline/calibration stuff at the bottom.
textstyle complex textsize=4.5 color=1 thin
** Put a timeline only at location 13
drawtimeline 13
** Put labeled ticks at 0 and 400 milliseconds.  The ticklength
** is .04.  Override the default label for 400, the extra spaces
** will center the tickmark over the "400".
labelticks .04 0 400 lab="   400 ms"
** Put ticks without labels at 200 and 600 milliseconds.  The .02
** is the ticksize.
nolabelticks .02 200 600
** The voltline and microvolt label is a bit tricky here.  When I
** did it the first time, I noticed that everything was crammed 
** together because the voltline is only 2.0 microvolts long.
** So, in order to spread it out, I draw the voltline without the
** normal microvolt label (the N). 
drawvoltline 0 right N 
** Now put the microvolt label in using the chanlabel command.  This
** puts my label to the left of location 13.  Since I am supplying a
** label, the channel number argument (0) is ignored.  Also notice
** the nroff-like way of specifying the Greek micro sign. Available
** Greek and special characters are in the appendix.
chanlabel 0 13 labpos=L "2.0 \(*mV"
** Now put the polarity indicator up.
labelpol neg 
** Finally some more explanatory text.
textstyle textsize=4 
text .34 .28 "high freq"
line .19 .26 .31 .26 medium color=1 solid
text .34 .24 "low freq"
line .19 .22 .31 .22 thick color=2 dashed 
text .50 .10 "Ploterps Manual, Example 4" textsize=5 laborigin=MTE
********************************************************************


Example 5 - shading between waveforms, and labeled arrows


This example demonstrates shading between waveforms, and labeled arrows. The shade command is used to shade the area between two erps. The arrow command is used to point out an N400.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex5.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 5 - shading between waveforms, and labeled arrows
**
** comments appear just before relevant command
**
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
topmargin .09
calibration -5.0 
ticklength .02
bin 2
text .5 1.333 "Ploterps Manual, Example 5" italic textsize=6  medium  laborigin=MTE
chanlocations 5 2 8
channelorder 0 1 2 3 4 5 6 7
linestyle thin
textstyle complex textsize=5  thin
gridstyle thin
ticks 200
polindicators no
plotchans
linestyle dotted medium
grids off
bin 3
plotchans
drawtimeline 9
labelticks .04 0 400 800
nolabelticks .02 200 600
drawvoltline -100 right mr
labelpol neg
text  .75 0.01 (msec) italic textsize=6.5 laborigin=BME
line .45 .16 .31 .16  solid
textstyle laborigin=lm complex textsize=6.5
text 0 0.16 "Congruent" 
line .45 .09 .31 .09  dotted
text 0 0.09 "Anomalous"
** shade the area between the two waveforms in location 0.
** Start at 175 milliseconds, end at 425.  First waveform
** is from file g28.gnd, bin 2, chan 0.  Second waveform
** is from file g28.gnd, bin 3, chan 0.
shade 0 175 425 /usr/local/erp/man/man7/ploterps_manual/g28.gnd 2 0 /usr/local/erp/man/man7/ploterps_manual/g28.gnd
3 0 
** Similar shading for locations 2 and 3.
shade 2 350 760 /usr/local/erp/man/man7/ploterps_manual/g28.gnd 2 2 /usr/local/erp/man/man7/ploterps_manual/g28.gnd
3 2 
shade 3 300 800 /usr/local/erp/man/man7/ploterps_manual/g28.gnd 2 3 /usr/local/erp/man/man7/ploterps_manual/g28.gnd
3 3
** put an arrow in location 3 with the arrowhead at 400 milliseconds
** and -4.5 microvolts.  Use an empty string for the arrow label.
arrow 3 400 -4.5 DL N400 laborigin=LME textsize=4.5
********************************************************************


Example 6 - standard error


This example shows how to use the procfunc command to add or subtract the data that may be contained in a second dataset, or processing function, in the same data file. The purpose of providing this feature is to facilitate the plotting of standard error around erps. In this example I have used the procfunc command to plot the average, the average plus standard error, and the average minus standard error from a data file called flex.avg, which has standard error as its second processing function. I have also demonstrated the use of predefined strings in the text command.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex6.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 6 - standard error
**
** comments appear just before relevant command
**
file /usr/local/erp/man/man7/ploterps_manual/flex.avg
** Put some margins on the plot.  This must go before any
** chanlocations commands.
rightmargin .10
leftmargin .10
topmargin .10
** Set the current font to be the complex font since we will
** use this font for the entire plot.
textstyle complex 
** Center a title at the top of the page.
text .5 1.33 "Standard Error" textsize=6 laborigin=tme
timewindow -100 800
bin 61
ls thin
** Don’t draw the positive and negative signs on all the
** cal bars.
polindicators no
calibration -7.5
chanlocations 6 3 10
** Use channelorder command so we can plot the first 15 channels
** with one plotchans command.
channelorder 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 
plotchans
** No need to redraw the grids again.  
grids off
** We will draw the standard error with dotted, medium width lines,
** using color 2.
ls color=2 dotted medium
** The standard error is in processing function 1 of the data file.
** We want to plot the erp +/- the standard error.  Do the "+" part
** first.
procfunc 0 + 1
plotchans
** Now do the erp minus the standard error.
pf 0 - 1
plotchans
** Draw a timeline and a calibration bar at the bottom.
drawtimeline 17
drawvoltline 0 right M
labelticks .04 0  400 800
nolabelticks .02 200 600
labelpol neg
textstyle textsize=4 
** We can get text out of the data file by using "%v" in the
** textstring and supplying one of the predefined string names.
** (Available predefined strings are listed in Appendix B).
text .12 .1 "%v" expdesc laborigin=ble
text .12 .1 "Condition: %v" condesc laborigin=tle
********************************************************************


Example 7 - labpos


This example merely shows all of the possible values for the labpos argument for the chan and chanlabel commands. Notice that the chanlabel command can be used to label the electrode as well as for displaying explanatory text. In certain situations, it is easier to use the chanlabel command than it is to use the text command when displaying arbitrary text.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex7.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 7 - labpos
**
** comments appear just before relevant command
**
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
bin 2
topmargin .15
text .5 1.33 "Chanlab labpos Locations" laborigin=tme textsize=7 medium Complex
ts textsize=6.0  italics
chanlocations 3 3 7.5
db 1
chanlabel  0 1 labpos=L "labpos=L"
chanlabel 0 1 labpos=R "labpos=R"
chl 0 1 labpos=T "labpos=T"
db 3
chl 0 3 labpos=TL "labpos=TL"
db 5
chl 0 5 labpos=TR "labpos=TR"
*db 7
chan 3 7 labpos=N
ts complex textsize=5.35
chl 0 7 labpos=T "Wernicke’s         "
chl 0 7 labpos=L "Low Frequency"
ts textsize=2.9 
** When putting double quotes within a quoted string, precede the
** double quotes with the backslash () character
arrow 7 250 5.5 UL "You can Use
arrow 7 250 5.5 UL "label electrode and for explanatory text" laborigin=tle
********************************************************************


Example 8 - drawvoltline


This example shows all of the possible locations for the microvolt label when using the drawvoltline command.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex8.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 8 - drawvoltline
**
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
bin 1
tm .15
rm .10
gs thin
ticklength .02
ts complex thin textsize=5.5
tx .5 1.33 "Drawvoltline \(*mV-Label Positions" laborigin=mte textsize=7
cl 6 3 6 
cal -7.5
vlabelprec 1
dt 2
dv 0 right tl textsize=4
labelpol pos
chl 0 0 labpos=TL "Label Position is TL"
dt 5
dv 0 right t textsize=4
labelpol pos
chl 0 3 labpos=TL "Label Position is T"
dt 8
dv 0 right tr textsize=4
labelpol neg
chl 0 6 labpos=TL "Label Position is TR"
dt 11
dv 0 right ml textsize=4
labelpol neg
chl 0 9 labpos=TL "Label Position is ML"
dt 14
dv 0 right m textsize=4
labelpol neg
chl 0 12 labpos=TL "Label Position is M"
dt 17
dv 0 right mr textsize=4
labelpol neg
chl 0 15 labpos=TL "Label Position is MR"

********************************************************************



Example 9 - windowtext


This example just shows all the possible values for the windowtext command’s position argument.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex9.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 9 - windowtext
**
topmargin .05
bottommargin .35
leftmargin .1
rightmargin .1
textstyle textsize=7.5 complex
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
bin 1
** I am dividing the window into a 2 x 2 array
** so therefore there are 4 subwindows numbered 0 through 4
chanlocations 2 2 10 show
**
** Using the windowtext command to show where the
** 9 preset locations appear in the subwindow
** All the text will be displayed in window number 3
**
windowtext 3 TR "TR" textsize=5
windowtext 3 TM "TM" textsize=5
windowtext 3 TL "TL" textsize=5
windowtext 3 MR "MR" textsize=5
windowtext 3 M "M" textsize=5
windowtext 3 ML "ML" textsize=5
windowtext 3 BR "BR" textsize=5
windowtext 3 BM "BM" textsize=5
windowtext 3 BL "BL" textsize=5
********************************************************************


Example 10a - linetypes (solid, dashed, ldashed) and linewidths


This example shows the solid, dashed, and ldashed linetypes in the varying line widths.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex10a.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 10a - linetypes (solid, dashed, ldashed) and linewidths
**
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
bin 4
topmargin .1
leftmargin .2
textstyle complex textsize=4.5 thin
text .5 1.33 "Linetype and Linewidth Examples" laborigin=tm textsize=6.0 medium
cl 5 3 7.5
linestyle solid verythin 
chan 13 0 labpos=t " solid "
ls dashed
chan 13 1 labpos=t " dashed "
ls ldashed
chan 13 2 labpos=t " ldashed "
ls thin solid
chan 13 3 labpos=n
ls dashed
chan 13 4 labpos=n
ls ldashed
chan 13 5 labpos=n
ls medium solid
chan 13 6 labpos=n
ls dashed
chan 13 7 labpos=n 
ls ldashed
chan 13 8 labpos=n
ls thick solid
chan 13 9 labpos=n
ls dashed
chan 13 10 labpos=n 
ls ldashed
chan 13 11 labpos=n
ls verythick solid
chan 13 12 labpos=n
ls dashed
chan 13 13 labpos=n 
ls ldashed
chan 13 14 labpos=n
textstyle laborigin=m
text .110 1.081 verythin verythin
text .110 .842  thin thin
text .110 .600 medium medium
text .110 .360 thick thick 
text .110 .121 verythick verythick
********************************************************************


Example 10b - linetypes (solid, dotted, dotdash) and linewidths


This example shows the solid, dotted, and dotdash linetypes in the varying line widths.
View the plot for the following command file by entering:
ploterps pxwin /usr/local/erp/man/man7/ploterps_manual/ex10b.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 10b - linetypes (solid, dotted, dotdash) and linewidths
**
file /usr/local/erp/man/man7/ploterps_manual/g28.gnd
bin 4
topmargin .1
leftmargin .2
textstyle complex textsize=4.5 thin
text .5 1.33 "Linetype and Linewidth Examples" laborigin=tm textsize=6.0 medium
cl 5 3 7.5
linestyle solid verythin 
chan 13 0 labpos=t " solid "
ls dotted
chan 13 1 labpos=t " dotted "
ls dotdash
chan 13 2 labpos=t " dotdash "
ls thin solid
chan 13 3 labpos=n
ls dotted
chan 13 4 labpos=n
ls dotdash
chan 13 5 labpos=n
ls medium solid
chan 13 6 labpos=n
ls dotted
chan 13 7 labpos=n 
ls dotdash
chan 13 8 labpos=n
ls thick solid
chan 13 9 labpos=n
ls dotted
chan 13 10 labpos=n 
ls dotdash
chan 13 11 labpos=n
ls verythick solid
chan 13 12 labpos=n
ls dotted
chan 13 13 labpos=n 
ls dotdash
chan 13 14 labpos=n
textstyle laborigin=m
text .110 1.081 verythin verythin
text .110 .842  thin thin
text .110 .600 medium medium
text .110 .360 thick thick
text .110 .121 verythick verythick
********************************************************************


Example 11 - colors


This example shows the basic colors available in ploterps.
View the plot for the following command file by entering:
ploterps xwin /usr/local/erp/man/man7/ploterps_manual/ex11.plt

********************************************************************
**
** Ploterps User’s Manual
** Example 11 - colors
**
textstyle laborigin=m textsize=8 complex thick
text .500 .690 "Plotting Colors" color=1
line .200 .640 .800 .640 color=1 
textstyle laborigin=lm textsize=8 complex thick
text .155 .580 "(no color = 0)" color=1 textsize=4 thin
text .160 .516 "color=1" color=1
text .160 .446 "color=2" color=2
text .160 .377 "color=3" color=3
text .160 .308 "color=4" color=4
text .160 .238 "color=5" color=5
text .160 .169 "color=6" color=6
text .160 .100 "color=7" color=7
text .540 .585 "color=8" color=8
text .540 .516 "color=9" color=9
text .540 .446 "color=10" color=10
text .540 .377 "color=11" color=11
text .540 .308 "color=12" color=12
text .540 .238 "color=13" color=13
text .540 .169 "color=14" color=14
text .540 .100 "color=15" color=15
********************************************************************



6. APPENDIX A - List Of Commands


Style Commands


linestyle (ls) [color linewidth linetype]
gridstyle (gs) [color linewidth linetype]
textstyle (ts) [font textsize labelorigin color linewidth linetype]
labelprec (lp) precision
vlabelprec (vlp) precision

Positioning Commands


bottommargin (bm) value
topmargin (tm) value
leftmargin (lm) value
rightmargin (rm) value
chanlocations (cl) rows cols [scalefactor horzspace show]
channelorder (co) chan [chan ...]
position (po) posnumber xl xr yt yb scalefactor [horzspace]
scalefactor (sf) scalefactor posnumber

Commands Related to ERP DATA


definefiles (df) file0 [file1 file2 ...]
file (f) file_spec
bin (bn) bin_number
procfunc (pf) pfnumber1 [ +/- pfnumber2 ]
ticks (tk) mspertick
calibration (cal) uVolts
smooth (sm) npts(on, yes)/off(no)
filter (fi) off/no
filter (fi) filter_type cutoff [cutoff]
timewindow (tw) start_time end_time
baseline (bl) start_time end_time
ticklength (tl) value
calmarks (cm) on(yes, y, 1)/off(no, n, 0)
tickmarks (tkm) on(yes, y, 1)/off(no, n, 0)
grids (g) on(yes, y, 1)/off(no, n, 0)
polindicators (pi) on(yes, y, 1)/off(no, n, 0)
ticklabels (tlb) on(yes, y, 1)/off(no, n, 0)
utick (ut) time [+/-] [label] [font labelorigin textsize color linewidth
linestyle]
clearuticks (ct)

Plotting Commands


plotheader (ph) [font textsize color linewidth linestyle]
chan (ch) chan_num posnumber [labpos] [label] [font textsize col linewidth
linetype]
chanlabel (chl) chan_num posnumber [labpos] [label] [font textsize col
linewidth linetype]
plotchans (pc) [yes(on 1)/no(off 0)]
plotallchans (pa) [rows cols scalefactor [horzspace]]
drawbaseline (db) posnumber [color linewidth linetype]
drawcal (dc) posnumber calorigin  [label] [font textsize color linewidth
linetype]
line (l) startx starty endx endy [color linewidth linetype]
lineto (lt) x y [color linewidth linetype]
moveto (mt) x y
text (tx) xcrd ycrd string [string args] [font labelorigin textsize color
linewidth linestyle]
arrow (ar) location time volt arrowcode label [textstyle options]
shade (sh) location start end file1 bin1 chan1 file2 bin2 chan2 [greyscale]
rect (r) ULx ULy LRx LRy [fill] [color linewidth linestyle]
newpage (np)
readfile (rf) filename xtrans ytrans
pause (pz)
windowtext (wt) posnumber position text [font labelorigin textsize color
linewidth linestyle]
drawtimeline (dt) location [linestyle options]
labelticks (lbt) size time [lab="mylabel"] [time [lab="mylabel"]...][text
options]
nolabelticks (nlt) size time [time ...]
drawvoltline (dv) time tickmarkpos labelpos [text options]
labelpol (lbp) neg [pos]

7. APPENDIX B - List of Predefined StringsNote: those entries marked with
a "*" require an integer index to
 specify the element of an array.
 
 
"bindesc". . . . . . . . bin description
"binnumber". . . . . . . bin number
"chans". . . . . . . . . number of channels
"chndesc". . . . . . . . channel descriptions *
"clktick". . . . . . . . 10s of microseconds in a single clock tick
"condcode" . . . . . . . condition code
"condesc". . . . . . . . condition description
"cprecis". . . . . . . . channel precision in # 256 point blocks
"epoch". . . . . . . . . epoch length in milliseconds
"event". . . . . . . . . raw event number
"expdesc". . . . . . . . experiment description
"filename" . . . . . . . current data file name
"itemnumber" . . . . . . sequential item number
"odelay" . . . . . . . . milliseconds from trigger to stimulus
"pp10uv" . . . . . . . . points per 10 microvolts
"presampling". . . . . . pre-event time in milliseconds
"prfdesc". . . . . . . . processing function descriptions * 
"rejcounts". . . . . . . individual rejection counts *
"rejdesc". . . . . . . . descriptions for rejection functions *
"subdesc". . . . . . . . subject description
"sums" . . . . . . . . . number of sums in average
"totevnt". . . . . . . . total log events
"totrawrecs" . . . . . . total raw records including rejects
"totrejects" . . . . . . total raw rejects
"tpfuncs". . . . . . . . total number of processing functions
"trfuncs". . . . . . . . total number of rejection functions


8. APPENDIX C - Input Naming Conventions For Special Characters


Input   Character                         Input   Character
Name    Name                              Name    Name     

\(de    degree                            \(dg    dagger
\(**    math star                         \(sc    section
\(*a    alpha                             \(*b    beta
\(*g    gamma                             \(*d    delta
\(*e    epsilon                           \(*z    zeta
\(*y    eta                               \(*h    theta
\(*i    iota                              \(*k    kappa
\(*l    lambda                            \(*m    mu
\(*n    nu                                \(*c    xi
\(*o    omicron                           \(*p    pi
\(*r    rho                               \(*s    sigma
\(*t    tau                               \(*u    upsilon
\(*f    phi                               \(*x    chi
\(*q    psi                               \(*w    omega
\(*A    ALPHA                             \(*B    BETA
\(*G    GAMMA                             \(*D    DELTA
\(*E    EPSILON                           \(*Z    ZETA
\(*Y    ETA                               \(*H    THETA
\(*I    IOTA                              \(*K    KAPPA
\(*L    LAMBDA                            \(*M    MU
\(*N    NU                                \(*C    XI
\(*O    OMICRON                           \(*P    PI
\(*R    RHO                               \(*S    SIGMA
\(*T    TAU                               \(*U    UPSILON
\(*F    PHI                               \(*X    CHI
\(*Q    PSI                               \(*W    OMEGA
\(sr    square root                       \(>=    >=
\(<=    <=                                \(->    right arrow
\(mu    multiply                          \(di    divide
\(+-    plus minus                        \(-+    minus plus
\(if    infinity                          \(pd    partial derivative
\(gr    gradient                          \(is    integral sign
\(es    empty set                         \(mo    member of
\(li    line integral sign                \(cp    continued product sign
\(dp    dot product                       \(cs    continued sum
\(t2    alternate theta                   \(<<    large open angular bracket
                                 
\(>>    large close angular bracket


Table of Contents