Scroll to navigation

GRI(1) General Commands Manual GRI(1)


gri - scientific graphics language


gri [ OPTIONS ] [ CommandFile [ optional_arguments ]]


Gri is a programming language for scientific graphics. It can make x-y graphs, contour-graphs, and image graphs. In addition, Gri has a full suite of low-level graphical elements and sufficient programming capabilities (loops, subroutines, etc) to permit complex customization.

Gri is not point-click. In some ways it is analogous to TeX. Extensive power rewards tolerance of a modest learning curve.


If a command file (CommandFile) is named, commands are read from that file; otherwise they are read from the keyboard. If a command file is named, then a file in which to store the PostScript output may also be named; otherwise it is stored in a file named by substituting the .ps extension instead of .gri in CommandFile. If no command file is named, the output is named (or if exists, etc).

There are 3 special forms that do no graphing:

`gri -creator postscript_file'

Extracts the Gri commands that created the Gri PostScript file.

`gri -help' or `gri -h'

Prints this help message.

`gri -version' or `gri -v'

Prints the version number of Gri.

In normal usage, where drawing is expected, Gri takes these options:

-batch or -b

Stops printing of prompts and hints.

-chatty[N] or -c[N]

Let gri print info messages

-debug or -d

Turns debugging on (sets variable ..debug.. to value 1).


Warn if any item is drawn far off a 8.5x11 inch page. (This is the default.)


Don't warn if any item is drawn far off a 8.5x11 inch page

-directory pathname

Specifies the directory where Gri looks for startup files; otherwise it looks in /opt/gri/lib or at whatever directory is defined in configure shellscript, at compile time.


Reports directory where gri.cmd should be found, if not supplied by -directory.


Make bounding-box be full page.


Prevent warning message if `expecting version .n.' command is missing.


Stops printing of startup message.

-publication or -p

Sets the builtin variable ..publication.. to 1; normally it is 0. One might use if statements (`if !..publication..' ...) on drafts.

-superuser or -s

Used only by Gri programmers (who can check the value with the C function `superuser()'.) An optional value can be supplied without spaces (e.g. `-s2') to set the debugging level. Flags are listed below; add flags to get several actions at once
1: print cmdline before/after substituting synonyms

2: print cmdline before/after substituting rpn expressions

4: print new commands being defined

8: print system commands and `open "... | "' commands before

they are passed to the system
128: for author's use only

256: for author's use only

Note that all flags are equal to 2 raised to an integer power. Since the flag values are detected by a bitwise OR, you can combine flags by adding; thus specifying a flag of 5 yields flags 1 and 4 together; specifying 15 yields flags 1, 2, 4 and 8.

-trace or -t

Makes Gri print out command lines as they are executed.

-true or -y

Makes Gri think the answer to all `query's is RETURN.


For more information, please consult online info and html manuals.

The info manual included in the main gri Debian package is normally accessed by typing

info gri

(or from within Emacs' own info).

There are also reference cards in postscript format. See /usr/share/doc/gri/*

The Debian package gri-html-doc provides the html manual, which when installed is then located at


or, if you have a web server installed, at


The HTML manual is accessible via dwww and dhelp Debian help interfaces. The html FAQ is located at


The gri-html-doc package also includes examples in /usr/share/doc/gri/examples/ which are described in the manual, and are included as a quick start primer.

The gri-pdf-doc package is a PDF version of the manual suitable for printing.


Two Perl scripts are provided with Gri to manipulate the PostScript output.

gri_merge is used to merge multiple Gri output files into a single PostScript file. See gri_merge -h and its man page for usage information.

gri_unpage is used is split a multi-page Gri output file (in which the new page command was used) into separate PostScript files, one for each page.

See their respective man pages.


An emacs mode is provided with Gri. It is documented in the gri Info or HTML manual.

The mode is installed automatically in Debian by the elisp file:


The emacs mode itself is gri-mode.el and is installed on Debian as /usr/share/emacs/site-lisp/gri-mode.el

Byte-compiled versions of this file are produced for every flavour of Emacs that is installed, and are located in places like /usr/share/emacs/23.1/site-lisp/gri-el/gri-mode.elc


gri_merge(1), gri_unpage(1)


Gri (c) 1991-2010 Dan Kelley <Dan.Kelley@Dal.CA>

This manual page by Peter S Galbraith <>.