aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user/gra_summ
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/gra_summ')
-rw-r--r--doc/user/gra_summ466
1 files changed, 466 insertions, 0 deletions
diff --git a/doc/user/gra_summ b/doc/user/gra_summ
new file mode 100644
index 0000000..ea074b9
--- /dev/null
+++ b/doc/user/gra_summ
@@ -0,0 +1,466 @@
+@Section
+ @Title { Summary }
+ @Tag { grsummary }
+@Begin
+@PP
+The options to the @Code "@Graph" symbol, their default values, and
+their possible values are:
+@ID -2.1px @Break -1p @Font @Tab
+ hmargin { 0.15c }
+ @Fmta { @Col @Code { " "A } ! @Col @Code "{" ! @Col @Code B !
+ @Col @Code "}" ! @Col ! @Col ! @Col C }
+ @Fmtb { @Col @Code A ! @Col ! @Col ! @Col ! @Col ! @Col ! @Col }
+{
+@Rowb
+ A { "@Graph" }
+@Rowa
+ A { style }
+ B { frame }
+ C { {@Code frame}, {@Code axes}, or {@Code none} }
+@Rowa
+ A { width }
+ B { 6.0 cm }
+ C { any @I distance }
+@Rowa
+ A { height }
+ B { 4.0 cm }
+ C { any @I distance }
+@Rowa
+ A { xextra }
+ B { 0.5 cm }
+ C { any @I distance ({@Code axes} and {@Code none} default is {@Code "0 cm"}) }
+@Rowa
+ A { yextra }
+ B { 0.5 cm }
+ C { any @I distance ({@Code axes} and {@Code none} default is {@Code "0 cm"}) }
+@Rowa
+ A { xdecreasing }
+ B { no }
+ C { @Code yes or @Code no }
+@Rowa
+ A { ydecreasing }
+ B { no }
+ C { @Code yes or @Code no }
+@Rowa
+ A { leftcaption }
+ B { }
+ C { any Lout object }
+@Rowa
+ A { rightcaption }
+ B { }
+ C { any Lout object }
+@Rowa
+ A { abovecaption }
+ B { }
+ C { any Lout object }
+@Rowa
+ A { belowcaption }
+ B { }
+ C { any Lout object }
+@Rowa
+ A { leftgap }
+ B { 1.5 cm }
+ C { any @I distance }
+@Rowa
+ A { rightgap }
+ B { 0.5 cm }
+ C { any @I distance }
+@Rowa
+ A { abovegap }
+ B { 0.5 cm }
+ C { any @I distance }
+@Rowa
+ A { belowgap }
+ B { 0.5 cm }
+ C { any @I distance }
+@Rowa
+ A { hidecaptions }
+ B { yes }
+ C { @Code yes or @Code no }
+@Rowa
+ A { xorigin }
+ B { none }
+ C { {@Code none} or any @I number }
+@Rowa
+ A { yorigin }
+ B { none }
+ C { {@Code none} or any @I number }
+@Rowa
+ A { xlog }
+ B { none }
+ C { {@Code none} or any @I number greater than 1 }
+@Rowa
+ A { ylog }
+ B { none }
+ C { {@Code none} or any @I number greater than 1 }
+@Rowa
+ A { xmin }
+ B { none }
+ C { @Code none or any {@I number} }
+@Rowa
+ A { xmax }
+ B { none }
+ C { @Code none or any {@I number} }
+@Rowa
+ A { ymin }
+ B { none }
+ C { @Code none or any {@I number} }
+@Rowa
+ A { ymax }
+ B { none }
+ C { @Code none or any {@I number} }
+@Rowa
+ A { xticksep }
+ B { none }
+ C { {@Code none} or any @I number greater than 0 }
+@Rowa
+ A { yticksep }
+ B { none }
+ C { {@Code none} or any @I number greater than 0 }
+@Rowa
+ A { rticksep }
+ B { none }
+ C { {@Code none} or any @I number greater than 0 }
+@Rowa
+ A { xticks }
+ B { auto }
+ C { @I sequence (of numbers and strings), or @Code auto meaning
+automatic }
+@Rowa
+ A { yticks }
+ B { auto }
+ C { @I sequence (of numbers and strings), or @Code auto meaning
+automatic }
+@Rowa
+ A { rticks }
+ B { }
+ C { @I sequence (of numbers and strings), or @Code auto meaning
+automatic }
+@Rowa
+ A { xticklength }
+ B { 0.5 ft }
+ C { any @I distance }
+@Rowa
+ A { yticklength }
+ B { 0.5 ft }
+ C { any @I distance }
+@Rowa
+ A { rticklength }
+ B { 0.5 ft }
+ C { any @I distance }
+@Rowa
+ A { objects }
+ B { }
+ C { sequence of {@Code "@CTR"}, {@Code "@NW"}, {@Code "@SW"}, {@Code "@SE"},
+{@Code "@NE"}, {@Code "@N"}, {@Code "@W"}, {@Code "@S"}, {@Code "@E"} symbols }
+@Rowa
+ A { points }
+ B { none }
+ C { {@Code none}, {@Code plus}, {@Code cross}, {@Code square},
+{@Code filledsquare}, {@Code diamond}, {@Code filleddiamond},
+{@Code circle}, {@Code filledcircle}, {@Code triangle}, {@Code filledtriangle} }
+@Rowa
+ A { pairs }
+ B { none }
+ C { {@Code none}, {@Code solid}, {@Code dashed}, {@Code dotted},
+{@Code yhisto}, {@Code xhisto}, {@Code filledyhisto}, {@Code filledxhisto},
+{@Code surfaceyhisto}, {@Code surfacexhisto} }
+@Rowa
+ A { "colour/color" }
+ B { none }
+ C { {@Code none} or any colour name from Section {@NumberOf colour}}
+@Rowa
+ A { paint }
+ B { no }
+ C { {@Code no} or {@Code yes} }
+@Rowa
+ A { dataformat }
+ B { xandy }
+ C { {@Code xandy}, {@Code yonly}, {@Code xonly} }
+@Rowa
+ A { dashlength }
+ B { 0.2 ft }
+ C { any @I distance }
+@Rowa
+ A { linewidth }
+ B { 0.5 pt }
+ C { any @I distance }
+@Rowa
+ A { symbolsize }
+ B { 0.15 ft }
+ C { any @I distance }
+}
+@I Number means an ordinary decimal number; @I distance means a number
+followed by at least one space followed by any one of the following
+units of measurement:
+@ID @Tab
+ vmargin { 0.5vx }
+ @Fmta { @Col @Code A ! @Col B }
+{
+@Rowa
+ A { cm }
+ B { centimetres }
+@Rowa
+ A { in }
+ B { inches }
+@Rowa
+ A { em }
+ B { Ems (12 ems = 1 inch) }
+@Rowa
+ A { pt }
+ B { Points (72 points = 1 inch) }
+@Rowa
+ A { ft }
+ B { @Code "1 ft" is the size of the current font }
+@Rowa
+ A { sp }
+ B { @Code "1 sp" is the width of the space character in the current font }
+@Rowa
+ A { vs }
+ B { @Code "1 vs" is the current inter-line spacing }
+}
+In general, numbers denote x or y values while distances denote lengths
+on the printed result.
+@PP
+The minimum plottable x value is the minimum of all the x data,
+{@Code xticks}, {@Code xorigin}, {@Code xmin}, and {@Code xmax} whenever
+these are not {@Code none}. If @Code xticks is {@Code none}, this
+minimum may be reduced further to a `round' number. The maximum plottable
+x value is the maximum of the same values, and it may be increased further
+if {@Code xticks} is {@Code none}. Similar remarks apply to y values.
+@PP
+The value of the @Code "objects" option is a sequence of zero or more of
+the following:
+@ID @Tab
+ vmargin { 0.5vx }
+ @Fmta { @Col A ! @Col { @Code "at {" @I expression @I expression
+@Code "}" } ! @Col @I object }
+{
+@Rowa A { @Code "@CTR" }
+@Rowa A { @Code "@NW" }
+@Rowa A { @Code "@SW" }
+@Rowa A { @Code "@SE" }
+@Rowa A { @Code "@NE" }
+@Rowa A { @Code "@N" }
+@Rowa A { @Code "@W" }
+@Rowa A { @Code "@S" }
+@Rowa A { @Code "@E" }
+}
+where @I object is an arbitrary Lout object. Each of these nine symbols
+also has a @Code "margin" option whose value may be any non-negative
+distance, with default value {@Code "0.3 ft"}.
+@PP
+The options to the @Code "@Data" symbol, their default values, and
+their possible values are:
+@ID 0.85vx @Break @Tab
+ hmargin { 0.15c }
+ @Fmta { @Col @Code { " "A } ! @Col @Code "{" ! @Col @I inherited !
+ @Col @Code "}" ! @Col ! @Col ! @Col C }
+ @Fmtb { @Col A ! @Col ! @Col ! @Col ! @Col ! @Col ! @Col }
+{
+@Rowb
+ A { @Code "@Data" }
+@Rowa
+ A { points }
+ C { {@Code none}, {@Code plus}, {@Code cross}, {@Code square},
+{@Code filledsquare}, {@Code diamond}, {@Code filleddiamond},
+{@Code circle}, {@Code filledcircle},
+{@Code triangle}, {@Code filledtriangle} }
+@Rowa
+ A { pairs }
+ C { {@Code none}, {@Code solid}, {@Code dashed}, {@Code dotted},
+{@Code yhisto}, {@Code xhisto}, {@Code filledyhisto}, {@Code filledxhisto},
+{@Code surfaceyhisto}, {@Code surfacexhisto} }
+@Rowa
+ A { "colour/color" }
+ C { {@Code none}, or any colour name from Section {@NumberOf colour} }
+@Rowa
+ A { paint }
+ C { {@Code no} or {@Code yes} }
+@Rowa
+ A { dataformat }
+ C { {@Code xandy}, {@Code yonly}, {@Code xonly} }
+@Rowa
+ A { dashlength }
+ C { any @I distance }
+@Rowa
+ A { linewidth }
+ C { any @I distance }
+@Rowa
+ A { symbolsize }
+ C { any @I distance }
+@Rowb
+ A { @Code "{" @I sequence @Code "}" }
+ C { any @I sequence }
+}
+@I Inherited means that the default value is taken from the
+@Code "@Graph" option with the same name.
+@PP
+The right parameter of @Code "@Data" contains a @I sequence of zero
+or more {@I expressions}. The {@Code xticks}, {@Code yticks}, and
+{@Code rticks} options also are sequences, which may contain @Code "@"
+and labels as well as expressions. An @I expression is any of the
+following (operators are shown in decreasing precedence order, with
+the precedence, if relevant, at right):
+@ID @Tab
+ vmargin { 0.5vx }
+ @Fmta { @Col A ! @Col ! @Col B }
+{
+@Rowa
+ A { @I number }
+@Rowa
+ A { @Code x (within @Code xloop only) }
+@Rowa
+ A { @Code y (within @Code yloop only) }
+@Rowa
+ A { @Code z (within @Code zloop only) }
+@Rowa
+ A { @Code pi }
+@Rowa
+ A { @Code e }
+@Rowa
+ A { @Code "{" @I expression @Code "}" }
+@Rowa
+ A { @Code "sqrt" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "abs" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "ceiling" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "floor" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "truncate" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "round" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "cos" @I expression }
+ B { 40 }
+@Rowa
+ A { @Code "sin" @I expression }
+ B { 40 }
+@Rowa
+ A { @I expression @Code "atan" @I expression }
+ B { 39 }
+@Rowa
+ A { @I expression @Code "exp" @I expression }
+ B { 38 }
+@Rowa
+ A { @I expression @Code "log" @I expression }
+ B { 37 }
+@Rowa
+ A { @I expression @Code "rand" @I expression }
+ B { 36 }
+@Rowa
+ A { @I expression @Eq { non * } @I expression }
+ B { 35 }
+@Rowa
+ A { @I expression @Code "/" @I expression }
+ B { 34 }
+@Rowa
+ A { @I expression @Code "idiv" @I expression }
+ B { 34 }
+@Rowa
+ A { @I expression @Code "mod" @I expression }
+ B { 34 }
+@Rowa
+ A { @I expression @Eq { non - } @I expression }
+ B { 33 }
+@Rowa
+ A { @Eq { non - } @I expression }
+ B { 33 }
+@Rowa
+ A { @I expression @Code "+" @I expression }
+ B { 32 }
+@Rowa
+ A { @Code "+" @I expression }
+ B { 32 }
+@Rowa
+ A { @Code "if cond {" @I boolean @Code "} then {" @I expression
+@Code "} else {" @I expression @Code "}" }
+}
+A @Eq { non - } immediately followed by a digit or decimal point is
+always taken to be a minus sign, never a subtraction. The left
+parameter of @Code "exp" and @Code "log" is the base of the
+exponentiation and logarithm respectively; @Code "idiv" is integer
+division; and @Code "rand" returns a uniform random integer lying between
+its two parameters (inclusive). Now a @I sequence is zero or more of
+the following:
+@ID @Tab
+ vmargin { 0.5vx }
+ @Fmta { @Col A }
+{
+@Rowa
+ A { 2c @Wide "@" (within {@Code xticks}, {@Code yticks}, and {@Code rticks} only) }
+@Rowa
+ A { 2c @Wide { ({@I label}) } (within {@Code xticks}, {@Code yticks}, and {@Code rticks} only) }
+@Rowa
+ A { @I expression }
+@Rowa
+ A { @Code "xloop from {" @I expression @Code "} to {" @I expression
+@Code "} by {" @I expression @Code "} do {" @I sequence @Code "}" }
+@Rowa
+ A { @Code "yloop from {" @I expression @Code "} to {" @I expression
+@Code "} by {" @I expression @Code "} do {" @I sequence @Code "}" }
+@Rowa
+ A { @Code "zloop from {" @I expression @Code "} to {" @I expression
+@Code "} by {" @I expression @Code "} do {" @I sequence @Code "}" }
+@Rowa
+ A { @Code "if cond {" @I boolean @Code "} then {" @I sequence
+@Code "} else {" @I sequence @Code "}" }
+}
+The @Code "by" part of the loop symbols is optional with default
+value 1; the @Code "else" part of @Code "if" is optional with
+default value equal to the empty sequence. A @I boolean is any one of
+the following things, again shown in decreasing precedence order, with
+the precedence at right:
+@ID @Tab
+ vmargin { 0.5vx }
+ @Fmta { @Col A ! @Col ! @Col B }
+{
+@Rowa
+ A { @Code true }
+@Rowa
+ A { @Code false }
+@Rowa
+ A { @Code "{" @I boolean @Code "}" }
+@Rowa
+ A { @I expression @Code = @I expression }
+ B { 30 }
+@Rowa
+ A { @I expression @Code != @I expression }
+ B { 30 }
+@Rowa
+ A { @I expression @Code < @I expression }
+ B { 30 }
+@Rowa
+ A { @I expression @Code <= @I expression }
+ B { 30 }
+@Rowa
+ A { @I expression @Code > @I expression }
+ B { 30 }
+@Rowa
+ A { @I expression @Code >= @I expression }
+ B { 30 }
+@Rowa
+ A { @Code not @I boolean }
+ B { 25 }
+@Rowa
+ A { @I boolean @Code and @I boolean }
+ B { 24 }
+@Rowa
+ A { @I boolean @Code xor @I boolean }
+ B { 23 }
+@Rowa
+ A { @I boolean @Code or @I boolean }
+ B { 22 }
+@Rowa
+ A { @Code "if cond {" @I boolean @Code "} then {" @I boolean
+@Code "} else {" @I boolean @Code "}" }
+}
+@End @Section