diff options
Diffstat (limited to 'doc/user/tbl_rule')
-rw-r--r-- | doc/user/tbl_rule | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/doc/user/tbl_rule b/doc/user/tbl_rule new file mode 100644 index 0000000..383ffab --- /dev/null +++ b/doc/user/tbl_rule @@ -0,0 +1,192 @@ +@Section + @Title { Rules } + @Tag { tbl_rule } +@Begin +@PP +There is a @Code "rule" option for drawing a rule around a cell: +@ID @OneRow @Code "@Cell rule { yes }" +The other possible values are {@Code no} (the default), +{@Code single} (the same as {@Code yes}), and {@Code double}, which +draws a double rule. +@PP +There are @Code "rulehorizontal" and @Code "rulevertical" options which +draw only horizontal or vertical rules, and also {@Code "ruleabove"}, +{@Code "rulebelow"}, {@Code "ruleleft"}, and {@Code "ruleright"} options: +@ID @OneRow @Code @Verbatim { +@Tbl + aformat { @Cell A | @Cell B } +{ +@Rowa + ruleabove { yes } + A { Commercial property } + B { 10% } +@Rowa + A { Stock market } + B { 15% } + rulebelow { yes } +} +} +produces +@CD @OneRow @Tbl + aformat { @Cell A | @Cell B } +{ +@Rowa + ruleabove { yes } + A { Commercial property } + B { 10% } +@Rowa + A { Stock market } + B { 15% } + rulebelow { yes } +} +These options take the same values as {@Code "rule"}, but draw +along only one or two of the four edges. +@PP +Other options control the appearance of rules. Here they are with their +default values: +@ID @OneRow @Code @Verbatim { +@Tbl + rulewidth { 0.05f } + rulegap { 0.15f } + rulecolour { black } +} +These say that rules are to be @Code "0.05f" wide (thick), double rules +are to appear @Code "0.15f" apart, and the colour of rules is to be black. +Once again, more specific versions of these symbols exist for controlling +above, below, left, and right rules: +@ID @OneRow @Code @Tbl + aformat { @Cell ml { 0i } A | @Cell B | @Cell C } + marginvertical { 0.5vx } +{ +@Rowa + A { rulehorizontalwidth } + B { rulehorizontalgap } + C { rulehorizontalcolour } +@Rowa + A { ruleabovewidth } + B { ruleabovegap } + C { ruleabovecolour } +@Rowa + A { rulebelowwidth } + B { rulebelowgap } + C { rulebelowcolour } +@Rowa + A { ruleverticalwidth } + B { ruleverticalgap } + C { ruleverticalcolour } +@Rowa + A { ruleleftwidth } + B { ruleleftgap } + C { ruleleftcolour } +@Rowa + A { rulerightwidth } + B { rulerightgap } + C { rulerightcolour } +} +As usual, all these options have abbreviated names; and @Code { colour } +may be spelt @Code { color } wherever it appears. Section +{@NumberOf tbl_summ} has a complete summary of all spellings of all +options. +@PP +To clarify exactly where the rules are drawn, let's start with +a cell with no rules at all: +@CD @Tbl + aformat { @Cell width { 3c } height { 1.5c } paint { lightgrey } A } +{ +@Rowa +} +Above rules and left rules are drawn within the cell boundary, just +touching it, with any above rule overstriking any left rule: +@CD { @Tbl + aformat { @Cell width { 3c } height { 1.5c } paint { lightgrey } A } +{ +@Rowa +} +@Background @Tbl + aformat { @Cell width { 3c } height { 1.5c } A } + ruleleft { yes } + ruleabove { yes } + rulehorizontalwidth { 0.8v } + ruleverticalwidth { 0.5v } + ruleverticalcolour { grey } + rulehorizontalcolour { black } +{ +@Rowa +} +} +Below and right rules are drawn just outside the boundary of the +cell, also touching it: +@CD @Tbl aformat { @Cell A | @Cell | @Cell B } +{ +@Rowa + A { + @Tbl + aformat { @Cell width { 3c } height { 1.5c } paint { lightgrey } A } + { + @Rowa + } + @Background + @Tbl + aformat { @Cell width { 3c } height { 1.5c } A } + rulebelow { yes } + rulehorizontalwidth { 0.8v } + ruleverticalwidth { 0.5v } + ruleverticalcolour { grey } + rulehorizontalcolour { black } + { + @Rowa + } + } + B { + @Tbl + aformat { @Cell width { 3c } height { 1.5c } paint { lightgrey } A } + { + @Rowa + } + @Background + @Tbl + aformat { @Cell width { 3c } height { 1.5c } A } + ruleright { yes } + rulehorizontalwidth { 0.8v } + ruleverticalwidth { 0.5v } + ruleverticalcolour { grey } + rulehorizontalcolour { black } + { + @Rowa + } + } +} +@DP +When a right rule is present, any above and below rules are extended +by the width of the right rule, and they overstrike it: +@CD { +@Tbl + aformat { @Cell width { 3c } height { 1.5c } paint { lightgrey } A } +{ +@Rowa +} +@Background +@Tbl + aformat { @Cell width { 3c } height { 1.5c } A } + ruleabove { yes } + ruleright { yes } + rulebelow { yes } + rulehorizontalwidth { 0.8v } + ruleverticalwidth { 0.5v } + ruleverticalcolour { grey } + rulehorizontalcolour { black } +{ +@Rowa +} +} +@DP +(These diagrams were produced by @Code "@Tbl" itself, using horizontal +rules of width @Code 0.8v drawn in black, and vertical rules of width +@Code 0.5v drawn in grey.) These arrangements ensure that even thick +rules produce clean corners, and also that a right rule and a neighbouring +left rule exactly overstrike each other, as do a below rule and its +neighbouring above rule. +@PP +For information about rules in plain text tables, consult Section +{@NumberOf tbl_plai}. +@End @Section |