GRI(1)

πŸ’– GRI(1) β€” the scientific graphics language, bestie πŸ’–

okay so. gri is a scientific graphics language, and it lives in the General Commands Manual. that's the vibe. let's get into it 🫢


✨ NAME ✨

gri β€” scientific graphics language


🌸 SYNOPSIS 🌸

gri [ OPTIONS ] [ CommandFile [ optional_arguments ]]

πŸ’… DESCRIPTION πŸ’…

so Gri is literally a programming language for scientific graphics. she makes x-y graphs, contour-graphs, and image graphs. not just that though β€” she's got a full suite of low-level graphical elements AND enough programming capability (loops, subroutines, etc) to permit complex customization. like, she can do it all. πŸ’…

ngl, Gri is not point-click. in some ways she's analogous to TeX. and the way that extensive power rewards tolerance of a modest learning curve?? that's the whole deal. iconic behavior, fr fr. 🌈


πŸŽ€ OPTIONS πŸŽ€

okay so first the ground rules on files, because this part matters:

  • if a command file (CommandFile) is named, commands are read from that file; otherwise they're 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 gets 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 gri-00.ps (or gri-01.ps if gri-00.ps exists, etc).

🧚 the 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_offpage β€” warn if any item is drawn far off a 8.5x11 inch page. (this is the default, bestie.)
  • -nowarn_offpage β€” 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.
  • -directory_default β€” reports directory where gri.cmd should be found, if not supplied by -directory.
  • -no_bounding_box β€” make bounding-box be full page.
  • -no_expecting β€” prevent warning message if expecting version .n. command is missing.
  • -no_startup_message β€” stops printing of startup message.
  • -publication or -p β€” sets the builtin variable ..publication.. to 1; normally it is 0. one might use if statements on drafts, like:
if !..publication..' ...
  • -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. slay πŸ’…
  • -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.

πŸ¦‹ SEE ALSO πŸ¦‹

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/*refcard.ps

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

/usr/share/doc/gri/html/index.html

or, if you have a web server installed, at

http://localhost/doc/gri/html/index.html

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

/usr/share/doc/gri/html/FAQ.html

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.


🌸 GRI_MERGE AND GRI_UNPAGE COMMANDS 🌸

two Perl scripts are provided with Gri to manipulate the PostScript output, and honestly they're so handy 🫢

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.


πŸ’œ EMACS SUPPORT πŸ’œ

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:

/etc/emacs/site-start.d/50gri-el.el

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

πŸŽ€ SEE ALSO (again, bestie) πŸŽ€

gri_merge(1), gri_unpage(1)


⭐ AUTHOR ⭐

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

this manual page by Peter S Galbraith <psg@debian.org>.


and that's the whole page, no cap πŸ’– mwah, kisses from your General Commands Manual, page GRI(1). take care of her, she's iconic πŸ‘‘πŸ’…
πŸ“¦ where this page comes from