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
.psextension instead of.griinCommandFile. - if no command file is named, the output is named
gri-00.ps(orgri-01.psifgri-00.psexists, etc).
π§ the 3 special forms that do no graphing π§
gri -creator postscript_fileβ extracts the Gri commands that created the Gri PostScript file.gri -helporgri -hβ prints this help message.gri -versionorgri -vβ prints the version number of Gri.
π in normal usage, where drawing is expected, Gri takes these options π
-batchor-bβ stops printing of prompts and hints.-chatty[N]or-c[N]β let gri print info messages.-debugor-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/libor at whatever directory is defined in configure shellscript, at compile time.-directory_defaultβ reports directory wheregri.cmdshould be found, if not supplied by-directory.-no_bounding_boxβ make bounding-box be full page.-no_expectingβ prevent warning message ifexpecting version .n.command is missing.-no_startup_messageβ stops printing of startup message.-publicationor-pβ sets the builtin variable..publication..to 1; normally it is 0. one might use if statements on drafts, like:
if !..publication..' ...
-superuseror-sβ used only by Gri programmers (who can check the value with the C functionsuperuser()). 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 synonyms2: print cmdline before/after substituting rpn expressions4: print new commands being defined8: print system commands andopen "... | "commands before they are passed to the system128: for author's use only256: 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 π
-traceor-tβ makes Gri print out command lines as they are executed.-trueor-yβ makes Gri think the answer to allquery'sis 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) π
β 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
- debian bookworm: gri 2.12.27-1.1
- debian trixie: gri 2.12.27-1.2+b1
- ubuntu noble: gri 2.12.27-1.1build2
- ubuntu questing: gri 2.12.27-1.2build1
- ubuntu resolute: gri 2.12.27-1.2build2
- ubuntu stonking: gri 2.12.27-1.2build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms