Annotation of lucent/sys/man/1/grap, revision 1.1

1.1     ! root        1: .TH GRAP 1
        !             2: .SH NAME
        !             3: grap \- pic preprocessor for drawing graphs
        !             4: .SH SYNOPSIS
        !             5: .B grap
        !             6: [
        !             7: .I file ...
        !             8: ]
        !             9: .SH DESCRIPTION
        !            10: .I Grap
        !            11: is a
        !            12: .IR pic (1)
        !            13: preprocessor for drawing graphs on a typesetter.
        !            14: Graphs are surrounded by the
        !            15: .I troff
        !            16: `commands'
        !            17: .B \&.G1
        !            18: and
        !            19: .BR  \&.G2 .
        !            20: Data are scaled and plotted,
        !            21: with tick marks supplied automatically.
        !            22: Commands exist to modify the frame,
        !            23: add labels, override the default ticks,
        !            24: change the plotting style,
        !            25: define coordinate ranges and transformations,
        !            26: and include data from files.
        !            27: In addition,
        !            28: .I grap
        !            29: provides the same loops, conditionals, and macro processing that
        !            30: .I pic
        !            31: does.
        !            32: .PP
        !            33: .BI frame
        !            34: .B ht
        !            35: .I e
        !            36: .B wid
        !            37: .I e
        !            38: .B top
        !            39: .B dotted
        !            40: .IR ... :
        !            41: Set the frame around the graph to specified
        !            42: .B ht
        !            43: and
        !            44: .BR wid ;
        !            45: default is 2 by 3 (inches).
        !            46: The line
        !            47: .I styles
        !            48: .RB ( dotted ,
        !            49: .BR dashed ,
        !            50: .BR invis ,
        !            51: .BR solid
        !            52: (default))
        !            53: of the 
        !            54: .I sides
        !            55: .RB ( top ,
        !            56: .BR bot ,
        !            57: .BR left ,
        !            58: .BR right )
        !            59: of the frame can be set
        !            60: independently.
        !            61: .PP
        !            62: .B label
        !            63: .I side
        !            64: .B \&"a label"
        !            65: .B \&"as a set of strings"
        !            66: .IR adjust :
        !            67: Place label on specified side; default side is bottom.
        !            68: .I adjust
        !            69: is
        !            70: .B up
        !            71: (or
        !            72: .B down
        !            73: .B left
        !            74: .BR right )
        !            75: .I expr
        !            76: to shift default position;
        !            77: .B width
        !            78: .I expr
        !            79: sets the width explicitly.
        !            80: .PP
        !            81: .BI ticks
        !            82: .I side
        !            83: .B in
        !            84: .B at
        !            85: .IR "optname expr, expr, ..." :
        !            86: Put ticks on
        !            87: .I side
        !            88: at
        !            89: .I "expr, ...,
        !            90: and label with
        !            91: .I \&"expr"\f1.
        !            92: If any
        !            93: .I expr
        !            94: is followed by "...", label tick with "...",
        !            95: and turn off all automatic labels.
        !            96: If "..." contains
        !            97: .BR %f 's,
        !            98: they will be interpreted as
        !            99: .B printf
        !           100: formatting instructions for the tick value.
        !           101: Ticks point
        !           102: .B in
        !           103: or
        !           104: .B out
        !           105: (default out).
        !           106: Tick iterator: instead of
        !           107: .B at
        !           108: .IR \&... ,
        !           109: use
        !           110: .BI from
        !           111: .I expr
        !           112: .B to
        !           113: .I expr
        !           114: .B by
        !           115: .I "op expr
        !           116: where
        !           117: .I op
        !           118: is optionally
        !           119: .B +-*/
        !           120: for additive or multiplicative steps.
        !           121: .B by
        !           122: can be omitted, to give steps of size 1.
        !           123: If no ticks are requested, they are supplied automatically;
        !           124: suppress this with
        !           125: .B ticks
        !           126: .BR off .
        !           127: Automatic ticks normally
        !           128: leave a margin of 7% on each side; set this to anything by
        !           129: .B margin
        !           130: .B =
        !           131: .IR expr .
        !           132: .PP
        !           133: .B grid
        !           134: .I "side linedesc"
        !           135: .B at
        !           136: .IR "optname expr, expr, ..." :
        !           137: Draw grids perpendicular to
        !           138: .I side
        !           139: in style
        !           140: .I linedesc
        !           141: at
        !           142: .I "expr, ....\&
        !           143: Iterators and labels work as with ticks.
        !           144: .PP
        !           145: .B coord
        !           146: .I optname
        !           147: .B x
        !           148: .I "min, max"
        !           149: .B y
        !           150: .I "min, max"
        !           151: .B "log x
        !           152: .BR " log y" :
        !           153: Set range of coords and optional log scaling on either or both.
        !           154: This overrides computation of data range.
        !           155: Default value of
        !           156: .I optname
        !           157: is current coordinate system
        !           158: (each
        !           159: .B coord
        !           160: defines a new coordinate system).
        !           161: .PP
        !           162: .B plot
        !           163: .I \&"str"
        !           164: .B at
        !           165: .IR point ;
        !           166: .B
        !           167: .I \&"str"
        !           168: .B at
        !           169: .IR point :
        !           170: Put
        !           171: .I str
        !           172: at
        !           173: .IR point .
        !           174: Text position can be qualified with
        !           175: .BR rjust ,
        !           176: .BR ljust ,
        !           177: .BR above ,
        !           178: .BR below
        !           179: after "...".
        !           180: .PP
        !           181: .B line
        !           182: .B from
        !           183: .I point
        !           184: .B to
        !           185: .IR "point linedesc" :
        !           186: Draw line from here to there.
        !           187: .B arrow
        !           188: works in place of
        !           189: .BR line .
        !           190: .PP
        !           191: .B next
        !           192: .I optname
        !           193: .B at
        !           194: .IR "point linedesc" :
        !           195: Continue plot of data in
        !           196: .I optname to
        !           197: .IR point ;
        !           198: default is current.
        !           199: .PP
        !           200: .BI draw
        !           201: .IR "optname linedesc ..." :
        !           202: Set mode for
        !           203: .BR next :
        !           204: use this style from now on,
        !           205: and plot "..." at each point (if given).
        !           206: .PP
        !           207: .BI new
        !           208: .IR "optname linedesc ..." :
        !           209: Set mode for
        !           210: .BR next ,
        !           211: but disconnect from previous.
        !           212: .PP
        !           213: A list of numbers
        !           214: .I "x y1 y2 y3 ...
        !           215: is treated as 
        !           216: .B plot
        !           217: .B bullet
        !           218: .B at
        !           219: .IR x,y1 ;
        !           220: .B plot
        !           221: .B bullet
        !           222: .B at
        !           223: .IR x,y2 ;
        !           224: etc., or as
        !           225: .B next
        !           226: .B at
        !           227: .I x,y1
        !           228: etc., if
        !           229: .B draw
        !           230: is specified.
        !           231: Abscissae of 1,2,3,... are provided if there is only one input number per line.
        !           232: .PP
        !           233: A
        !           234: point
        !           235: .I "optname expr, expr
        !           236: maps the point to the named coordinate system.
        !           237: A
        !           238: .I linedesc
        !           239: is one of
        !           240: .B dot
        !           241: .B dash
        !           242: .B invis
        !           243: .B solid
        !           244: optionally followed by an expression.
        !           245: .PP
        !           246: .BI define
        !           247: .I name
        !           248: .BI { whatever } \f1:
        !           249: Define a macro.
        !           250: There are macros already defined for standard plotting
        !           251: symbols like
        !           252: .BR bullet ,
        !           253: .BR circle ,
        !           254: .BR star ,
        !           255: .BR plus ,
        !           256: etc., in
        !           257: .BR /sys/lib/grap.defines ,
        !           258: which is included if it exists.
        !           259: .PP
        !           260: .I var
        !           261: .B =
        !           262: .IR expr :
        !           263: Evaluate an expression.
        !           264: Operators are
        !           265: .B=
        !           266: .B +
        !           267: .B -
        !           268: .B *
        !           269: and
        !           270: .BR / .
        !           271: Functions are
        !           272: .B log
        !           273: and
        !           274: .B exp
        !           275: (both base 10),
        !           276: .BR sin ,
        !           277: .BR cos ,
        !           278: .BR sqrt ;
        !           279: .B rand
        !           280: returns random number on [0,1);
        !           281: .BI max( e , e )\f1,
        !           282: .BI min( e , e )\f1,
        !           283: .BI int( e )\f1.
        !           284: .PP
        !           285: .B print
        !           286: .IR expr ;
        !           287: .B print
        !           288: \fL"\f2...\fL"\f1:
        !           289: As a debugging aid, print
        !           290: .I expr
        !           291: or
        !           292: .I string
        !           293: on the standard error.
        !           294: .PP
        !           295: .B copy
        !           296: \fL"\fIfile name\fL"\fR:
        !           297: Include this file right here.
        !           298: .PP
        !           299: .B copy
        !           300: .B thru
        !           301: .IR macro :
        !           302: Pass rest of input (until
        !           303: .BR \&.G2 )
        !           304: through
        !           305: .IR macro ,
        !           306: treating each field (non-blank, or "...") as an argument.
        !           307: .I macro
        !           308: can be the name of a macro previously defined,
        !           309: or the body of one in place, like
        !           310: .BR "/plot $1 at $2,$3/" .
        !           311: .PP
        !           312: .B copy
        !           313: .B thru
        !           314: .I macro
        !           315: .B until
        !           316: \fL"\fIstring\fL"\fR:
        !           317: Stop copy when input is
        !           318: .I string
        !           319: (left-justified).
        !           320: .PP
        !           321: .BI pic
        !           322: .IR "remainder of line" :
        !           323: Copy to output with leading blanks removed.
        !           324: .PP
        !           325: .BI graph
        !           326: .IR "Name pic-position" :
        !           327: Start a new frame, place it at specified position,
        !           328: e.g.,
        !           329: .B graph
        !           330: .B Thing2
        !           331: .BR "with .sw at Thing1.se + (0.1,0)" .
        !           332: .I Name
        !           333: must be capitalized to keep
        !           334: .I pic
        !           335: happy.
        !           336: .PP
        !           337: .BI \&. "anything at beginning of
        !           338: .IR line :
        !           339: Copied verbatim.
        !           340: .PP
        !           341: .B sh
        !           342: .BI % anything
        !           343: .BR % :
        !           344: Pass everything between the
        !           345: .BR % 's
        !           346: to the shell;
        !           347: as with macros,
        !           348: .B %
        !           349: may be any character and
        !           350: .I anything
        !           351: may include newlines.
        !           352: .PP
        !           353: .B #
        !           354: .IR anything :
        !           355: A comment, which is discarded.
        !           356: .PP
        !           357: Order is mostly irrelevant; no category is mandatory.
        !           358: Any arguments on the
        !           359: .B \&.G1
        !           360: line are placed on the generated
        !           361: .B \&.PS
        !           362: line for
        !           363: .IR pic .
        !           364: .SH EXAMPLES
        !           365: .EX
        !           366: .ps -1
        !           367: .vs -1
        !           368: \&.G1
        !           369: frame ht 1 top invis right invis
        !           370: coord x 0, 10 y 1, 3 log y
        !           371: ticks left in at 1 "bottommost tick", 2,3 "top tick"
        !           372: ticks bot in from 0 to 10 by 2
        !           373: label bot "silly graph"
        !           374: label left "left side label" "here"
        !           375: grid left dashed at 2.5
        !           376: copy thru / circle at $1,$2 /
        !           377: 1 1
        !           378: 2 1.5
        !           379: 3 2
        !           380: 4 1.5
        !           381: 10 3
        !           382: \&.G2
        !           383: .G1
        !           384: frame ht 1 top invis right invis
        !           385: coord x 0, 10 y 1, 3 log y
        !           386: ticks left in at 1 "bottommost tick", 2,3 "top tick"
        !           387: ticks bot in from 0 to 10 by 2
        !           388: label bot "silly graph"
        !           389: label left "left side label" "here"
        !           390: grid left dashed at 2.5
        !           391: copy thru / circle at $1,$2 /
        !           392: 1 1
        !           393: 2 1.5
        !           394: 3 2
        !           395: 4 1.5
        !           396: 10 3
        !           397: .G2
        !           398: .ps
        !           399: .vs
        !           400: .EE
        !           401: .SH FILES
        !           402: .TF /sys/lib/grap.defines
        !           403: .TP
        !           404: .B /sys/lib/grap.defines
        !           405: definitions of standard plotting characters, e.g., bullet
        !           406: .SH SOURCE
        !           407: .B /sys/src/cmd/grap
        !           408: .SH "SEE ALSO"
        !           409: .IR pic (1), 
        !           410: .IR troff (1)
        !           411: .br
        !           412: J. L. Bentley and B. W. Kernighan,
        !           413: ``GRAP\(emA Language for Typesetting Graphs'',
        !           414: .I
        !           415: Unix Research System Programmer's Manual,
        !           416: Tenth Edition, Volume 2.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.