aboutsummaryrefslogtreecommitdiffstats
path: root/include/tblf
diff options
context:
space:
mode:
Diffstat (limited to 'include/tblf')
-rw-r--r--include/tblf3127
1 files changed, 3127 insertions, 0 deletions
diff --git a/include/tblf b/include/tblf
new file mode 100644
index 0000000..c8f0019
--- /dev/null
+++ b/include/tblf
@@ -0,0 +1,3127 @@
+
+###############################################################################
+# #
+# Lout @Tbl package for tables #
+# #
+# Version 1.0 (22 November 1998) #
+# Jeffrey H. Kingston #
+# #
+# Based on the @Tab package (Jeffrey H. Kingston, September 1991). #
+# #
+###############################################################################
+
+@SysPrependGraphic { tblf.lpg }
+
+export @OrIfPlain
+def @TOIP {
+
+ def @OrIfPlain
+ left ps
+ right plain
+ {
+ @BackEnd @Case {
+ PlainText @Yield plain
+ else @Yield ps
+ }
+ }
+}
+
+export @Tbl
+def @TblSetup
+ import @TOIP named paint p { nopaint }
+ import @TOIP named background bg {}
+ import @TOIP named font f {}
+ import @TOIP named break b {}
+ import @TOIP named width w {}
+ import @TOIP named height h {}
+ import @TOIP named indent i {}
+ import @TOIP named indentvertical iv {}
+ import @TOIP named strut s { yes }
+ import @TOIP named struthorizontal sh { no }
+ import @TOIP named margin m {}
+ import @TOIP named marginhorizontal mh { 0.6f @OrIfPlain 2s }
+ import @TOIP named marginleft ml {}
+ import @TOIP named marginright mr {}
+ import @TOIP named marginvertical mv { 0.3f @OrIfPlain 2f }
+ import @TOIP named marginabove ma {}
+ import @TOIP named marginbelow mb {}
+ import @TOIP named rule r { no }
+ import @TOIP named rulehorizontal rh {}
+ import @TOIP named ruleabove ra {}
+ import @TOIP named rulebelow rb {}
+ import @TOIP named rulevertical rv {}
+ import @TOIP named ruleleft rl {}
+ import @TOIP named ruleright rr {}
+ import @TOIP named rulewidth rw { 0.05f }
+ import @TOIP named rulehorizontalwidth rhw { {} @OrIfPlain 1f }
+ import @TOIP named ruleabovewidth raw {}
+ import @TOIP named rulebelowwidth rbw {}
+ import @TOIP named ruleverticalwidth rvw { {} @OrIfPlain 1s }
+ import @TOIP named ruleleftwidth rlw {}
+ import @TOIP named rulerightwidth rrw {}
+ import @TOIP named rulegap rg { 0.15f }
+ import @TOIP named rulehorizontalgap rhg { {} @OrIfPlain 0f }
+ import @TOIP named ruleabovegap rag {}
+ import @TOIP named rulebelowgap rbg {}
+ import @TOIP named ruleverticalgap rvg { {} @OrIfPlain 0s }
+ import @TOIP named ruleleftgap rlg {}
+ import @TOIP named rulerightgap rrg {}
+ import @TOIP named rulecolour rulecolor rc { black }
+ import @TOIP named rulehorizontalcolour rulehorizontalcolor rhc {}
+ import @TOIP named ruleabovecolour ruleabovecolor rac {}
+ import @TOIP named rulebelowcolour rulebelowcolor rbc {}
+ import @TOIP named ruleverticalcolour ruleverticalcolor rvc {}
+ import @TOIP named ruleleftcolour ruleleftcolor rlc {}
+ import @TOIP named rulerightcolour rulerightcolor rrc {}
+ import @TOIP named ruleplainchar rpc { . }
+
+@Begin
+
+ def @Else
+ precedence 20
+ associativity right
+ left x
+ right y
+ {
+ x @Case {
+ "" @Yield y
+ else @Yield x
+ }
+ }
+
+
+ ###########################################################################
+ # #
+ # Specific option values as the setup file knows them (i.e. Level 1) #
+ # #
+ ###########################################################################
+
+ def setupp { p }
+ def setupbg { bg }
+ def setupf { f }
+ def setupb { b }
+ def setupw { w }
+ def setuph { h }
+ def setupi { i }
+ def setupiv { iv }
+ def setups { s }
+ def setupsh { sh }
+ def setupml { ml @Else mh @Else m }
+ def setupmr { mr @Else mh @Else m }
+ def setupma { ma @Else mv @Else m }
+ def setupmb { mb @Else mv @Else m }
+ def setupra { ra @Else rh @Else r }
+ def setuprb { rb @Else rh @Else r }
+ def setuprl { rl @Else rv @Else r }
+ def setuprr { rr @Else rv @Else r }
+ def setupraw { raw @Else rhw @Else rw }
+ def setuprbw { rbw @Else rhw @Else rw }
+ def setuprlw { rlw @Else rvw @Else rw }
+ def setuprrw { rrw @Else rvw @Else rw }
+ def setuprag { rag @Else rhg @Else rg }
+ def setuprbg { rbg @Else rhg @Else rg }
+ def setuprlg { rlg @Else rvg @Else rg }
+ def setuprrg { rrg @Else rvg @Else rg }
+ def setuprac { rac @Else rhc @Else rc }
+ def setuprbc { rbc @Else rhc @Else rc }
+ def setuprlc { rlc @Else rvc @Else rc }
+ def setuprrc { rrc @Else rvc @Else rc }
+ def setuprpc { rpc }
+
+
+ ###########################################################################
+ # #
+ # @Tbl symbol #
+ # #
+ ###########################################################################
+
+ export
+
+ @Row
+ @Rowa
+ @Rowb
+ @Rowc
+ @Rowd
+ @Rowe
+ @Rowf
+ @Rowg
+ @Rowh
+
+ @FirstRow
+ @FirstRowa
+ @FirstRowb
+ @FirstRowc
+ @FirstRowd
+ @FirstRowe
+ @FirstRowf
+ @FirstRowg
+ @FirstRowh
+
+ @MarkRow
+ @MarkRowa
+ @MarkRowb
+ @MarkRowc
+ @MarkRowd
+ @MarkRowe
+ @MarkRowf
+ @MarkRowg
+ @MarkRowh
+
+ @NoBreakRow
+ @NoBreakRowa
+ @NoBreakRowb
+ @NoBreakRowc
+ @NoBreakRowd
+ @NoBreakRowe
+ @NoBreakRowf
+ @NoBreakRowg
+ @NoBreakRowh
+
+ @NP
+
+ def @Tbl
+
+ # parameters for formatting the entire table
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+
+ # parameters for formatting @Rowa rows
+ named apaint ap {}
+ named abackground abg {}
+ named afont af {}
+ named abreak ab {}
+ named awidth aw {}
+ named aheight ah {}
+ named aindent ai {}
+ named aindentvertical aiv {}
+ named astrut as {}
+ named astruthorizontal ash {}
+ named amargin am {}
+ named amarginhorizontal amh {}
+ named amarginleft aml {}
+ named amarginright amr {}
+ named amarginvertical amv {}
+ named amarginabove ama {}
+ named amarginbelow amb {}
+ named arule ar {}
+ named arulehorizontal arh {}
+ named aruleabove ara {}
+ named arulebelow arb {}
+ named arulevertical arv {}
+ named aruleleft arl {}
+ named aruleright arr {}
+ named arulewidth arw {}
+ named arulehorizontalwidth arhw {}
+ named aruleabovewidth araw {}
+ named arulebelowwidth arbw {}
+ named aruleverticalwidth arvw {}
+ named aruleleftwidth arlw {}
+ named arulerightwidth arrw {}
+ named arulegap arg {}
+ named arulehorizontalgap arhg {}
+ named aruleabovegap arag {}
+ named arulebelowgap arbg {}
+ named aruleverticalgap arvg {}
+ named aruleleftgap arlg {}
+ named arulerightgap arrg {}
+ named arulecolour arulecolor arc {}
+ named arulehorizontalcolour arulehorizontalcolor arhc {}
+ named aruleabovecolour aruleabovecolor arac {}
+ named arulebelowcolour arulebelowcolor arbc {}
+ named aruleverticalcolour aruleverticalcolor arvc {}
+ named aruleleftcolour aruleleftcolor arlc {}
+ named arulerightcolour arulerightcolor arrc {}
+ named aruleplainchar arpc {}
+ named aformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowb rows
+ named bpaint bp {}
+ named bbackground bbg {}
+ named bfont bf {}
+ named bbreak bb {}
+ named bwidth bw {}
+ named bheight bh {}
+ named bindent bi {}
+ named bindentvertical biv {}
+ named bstrut bs {}
+ named bstruthorizontal bsh {}
+ named bmargin bm {}
+ named bmarginhorizontal bmh {}
+ named bmarginleft bml {}
+ named bmarginright bmr {}
+ named bmarginvertical bmv {}
+ named bmarginabove bma {}
+ named bmarginbelow bmb {}
+ named brule br {}
+ named brulehorizontal brh {}
+ named bruleabove bra {}
+ named brulebelow brb {}
+ named brulevertical brv {}
+ named bruleleft brl {}
+ named bruleright brr {}
+ named brulewidth brw {}
+ named brulehorizontalwidth brhw {}
+ named bruleabovewidth braw {}
+ named brulebelowwidth brbw {}
+ named bruleverticalwidth brvw {}
+ named bruleleftwidth brlw {}
+ named brulerightwidth brrw {}
+ named brulegap brg {}
+ named brulehorizontalgap brhg {}
+ named bruleabovegap brag {}
+ named brulebelowgap brbg {}
+ named bruleverticalgap brvg {}
+ named bruleleftgap brlg {}
+ named brulerightgap brrg {}
+ named brulecolour brulecolor brc {}
+ named brulehorizontalcolour brulehorizontalcolor brhc {}
+ named bruleabovecolour bruleabovecolor brac {}
+ named brulebelowcolour brulebelowcolor brbc {}
+ named bruleverticalcolour bruleverticalcolor brvc {}
+ named bruleleftcolour bruleleftcolor brlc {}
+ named brulerightcolour brulerightcolor brrc {}
+ named bruleplainchar brpc {}
+ named bformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowc rows
+ named cpaint cp {}
+ named cbackground cbg {}
+ named cfont cf {}
+ named cbreak cb {}
+ named cwidth cw {}
+ named cheight ch {}
+ named cindent ci {}
+ named cindentvertical civ {}
+ named cstrut cs {}
+ named cstruthorizontal csh {}
+ named cmargin cm {}
+ named cmarginhorizontal cmh {}
+ named cmarginleft cml {}
+ named cmarginright cmr {}
+ named cmarginvertical cmv {}
+ named cmarginabove cma {}
+ named cmarginbelow cmb {}
+ named crule cr {}
+ named crulehorizontal crh {}
+ named cruleabove cra {}
+ named crulebelow crb {}
+ named crulevertical crv {}
+ named cruleleft crl {}
+ named cruleright crr {}
+ named crulewidth crw {}
+ named crulehorizontalwidth crhw {}
+ named cruleabovewidth craw {}
+ named crulebelowwidth crbw {}
+ named cruleverticalwidth crvw {}
+ named cruleleftwidth crlw {}
+ named crulerightwidth crrw {}
+ named crulegap crg {}
+ named crulehorizontalgap crhg {}
+ named cruleabovegap crag {}
+ named crulebelowgap crbg {}
+ named cruleverticalgap crvg {}
+ named cruleleftgap crlg {}
+ named crulerightgap crrg {}
+ named crulecolour crulecolor crc {}
+ named crulehorizontalcolour crulehorizontalcolor crhc {}
+ named cruleabovecolour cruleabovecolor crac {}
+ named crulebelowcolour crulebelowcolor crbc {}
+ named cruleverticalcolour cruleverticalcolor crvc {}
+ named cruleleftcolour cruleleftcolor crlc {}
+ named crulerightcolour crulerightcolor crrc {}
+ named cruleplainchar crpc {}
+ named cformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowd rows
+ named dpaint dp {}
+ named dbackground dbg {}
+ named dfont df {}
+ named dbreak db {}
+ named dwidth dw {}
+ named dheight dh {}
+ named dindent di {}
+ named dindentvertical div {}
+ named dstrut ds {}
+ named dstruthorizontal dsh {}
+ named dmargin dm {}
+ named dmarginhorizontal dmh {}
+ named dmarginleft dml {}
+ named dmarginright dmr {}
+ named dmarginvertical dmv {}
+ named dmarginabove dma {}
+ named dmarginbelow dmb {}
+ named drule dr {}
+ named drulehorizontal drh {}
+ named druleabove dra {}
+ named drulebelow drb {}
+ named drulevertical drv {}
+ named druleleft drl {}
+ named druleright drr {}
+ named drulewidth drw {}
+ named drulehorizontalwidth drhw {}
+ named druleabovewidth draw {}
+ named drulebelowwidth drbw {}
+ named druleverticalwidth drvw {}
+ named druleleftwidth drlw {}
+ named drulerightwidth drrw {}
+ named drulegap drg {}
+ named drulehorizontalgap drhg {}
+ named druleabovegap drag {}
+ named drulebelowgap drbg {}
+ named druleverticalgap drvg {}
+ named druleleftgap drlg {}
+ named drulerightgap drrg {}
+ named drulecolour drulecolor drc {}
+ named drulehorizontalcolour drulehorizontalcolor drhc {}
+ named druleabovecolour druleabovecolor drac {}
+ named drulebelowcolour drulebelowcolor drbc {}
+ named druleverticalcolour druleverticalcolor drvc {}
+ named druleleftcolour druleleftcolor drlc {}
+ named drulerightcolour drulerightcolor drrc {}
+ named druleplainchar drpc {}
+ named dformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowe rows
+ named epaint ep {}
+ named ebackground ebg {}
+ named efont ef {}
+ named ebreak eb {}
+ named ewidth ew {}
+ named eheight eh {}
+ named eindent ei {}
+ named eindentvertical eiv {}
+ named estrut es {}
+ named estruthorizontal esh {}
+ named emargin em {}
+ named emarginhorizontal emh {}
+ named emarginleft eml {}
+ named emarginright emr {}
+ named emarginvertical emv {}
+ named emarginabove ema {}
+ named emarginbelow emb {}
+ named erule er {}
+ named erulehorizontal erh {}
+ named eruleabove era {}
+ named erulebelow erb {}
+ named erulevertical erv {}
+ named eruleleft erl {}
+ named eruleright err {}
+ named erulewidth erw {}
+ named erulehorizontalwidth erhw {}
+ named eruleabovewidth eraw {}
+ named erulebelowwidth erbw {}
+ named eruleverticalwidth ervw {}
+ named eruleleftwidth erlw {}
+ named erulerightwidth errw {}
+ named erulegap erg {}
+ named erulehorizontalgap erhg {}
+ named eruleabovegap erag {}
+ named erulebelowgap erbg {}
+ named eruleverticalgap ervg {}
+ named eruleleftgap erlg {}
+ named erulerightgap errg {}
+ named erulecolour erulecolor erc {}
+ named erulehorizontalcolour erulehorizontalcolor erhc {}
+ named eruleabovecolour eruleabovecolor erac {}
+ named erulebelowcolour erulebelowcolor erbc {}
+ named eruleverticalcolour eruleverticalcolor ervc {}
+ named eruleleftcolour eruleleftcolor erlc {}
+ named erulerightcolour erulerightcolor errc {}
+ named eruleplainchar erpc {}
+ named eformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowf rows
+ named fpaint fp {}
+ named fbackground fbg {}
+ named ffont ff {}
+ named fbreak fb {}
+ named fwidth fw {}
+ named fheight fh {}
+ named findent fi {}
+ named findentvertical fiv {}
+ named fstrut fs {}
+ named fstruthorizontal fsh {}
+ named fmargin fm {}
+ named fmarginhorizontal fmh {}
+ named fmarginleft fml {}
+ named fmarginright fmr {}
+ named fmarginvertical fmv {}
+ named fmarginabove fma {}
+ named fmarginbelow fmb {}
+ named frule fr {}
+ named frulehorizontal frh {}
+ named fruleabove fra {}
+ named frulebelow frb {}
+ named frulevertical frv {}
+ named fruleleft frl {}
+ named fruleright frr {}
+ named frulewidth frw {}
+ named frulehorizontalwidth frhw {}
+ named fruleabovewidth fraw {}
+ named frulebelowwidth frbw {}
+ named fruleverticalwidth frvw {}
+ named fruleleftwidth frlw {}
+ named frulerightwidth frrw {}
+ named frulegap frg {}
+ named frulehorizontalgap frhg {}
+ named fruleabovegap frag {}
+ named frulebelowgap frbg {}
+ named fruleverticalgap frvg {}
+ named fruleleftgap frlg {}
+ named frulerightgap frrg {}
+ named frulecolour frulecolor frc {}
+ named frulehorizontalcolour frulehorizontalcolor frhc {}
+ named fruleabovecolour fruleabovecolor frac {}
+ named frulebelowcolour frulebelowcolor frbc {}
+ named fruleverticalcolour fruleverticalcolor frvc {}
+ named fruleleftcolour fruleleftcolor frlc {}
+ named frulerightcolour frulerightcolor frrc {}
+ named fruleplainchar frpc {}
+ named fformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowg rows
+ named gpaint gp {}
+ named gbackground gbg {}
+ named gfont gf {}
+ named gbreak gb {}
+ named gwidth gw {}
+ named gheight gh {}
+ named gindent gi {}
+ named gindentvertical giv {}
+ named gstrut gs {}
+ named gstruthorizontal gsh {}
+ named gmargin gm {}
+ named gmarginhorizontal gmh {}
+ named gmarginleft gml {}
+ named gmarginright gmr {}
+ named gmarginvertical gmv {}
+ named gmarginabove gma {}
+ named gmarginbelow gmb {}
+ named grule gr {}
+ named grulehorizontal grh {}
+ named gruleabove gra {}
+ named grulebelow grb {}
+ named grulevertical grv {}
+ named gruleleft grl {}
+ named gruleright grr {}
+ named grulewidth grw {}
+ named grulehorizontalwidth grhw {}
+ named gruleabovewidth graw {}
+ named grulebelowwidth grbw {}
+ named gruleverticalwidth grvw {}
+ named gruleleftwidth grlw {}
+ named grulerightwidth grrw {}
+ named grulegap grg {}
+ named grulehorizontalgap grhg {}
+ named gruleabovegap grag {}
+ named grulebelowgap grbg {}
+ named gruleverticalgap grvg {}
+ named gruleleftgap grlg {}
+ named grulerightgap grrg {}
+ named grulecolour grulecolor grc {}
+ named grulehorizontalcolour grulehorizontalcolor grhc {}
+ named gruleabovecolour gruleabovecolor grac {}
+ named grulebelowcolour grulebelowcolor grbc {}
+ named gruleverticalcolour gruleverticalcolor grvc {}
+ named gruleleftcolour gruleleftcolor grlc {}
+ named grulerightcolour grulerightcolor grrc {}
+ named gruleplainchar grpc {}
+ named gformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ # parameters for formatting @Rowh rows
+ named hpaint hp {}
+ named hbackground hbg {}
+ named hfont hf {}
+ named hbreak hb {}
+ named hwidth hw {}
+ named hheight hh {}
+ named hindent hi {}
+ named hindentvertical hiv {}
+ named hstrut hs {}
+ named hstruthorizontal hsh {}
+ named hmargin hm {}
+ named hmarginhorizontal hmh {}
+ named hmarginleft hml {}
+ named hmarginright hmr {}
+ named hmarginvertical hmv {}
+ named hmarginabove hma {}
+ named hmarginbelow hmb {}
+ named hrule hr {}
+ named hrulehorizontal hrh {}
+ named hruleabove hra {}
+ named hrulebelow hrb {}
+ named hrulevertical hrv {}
+ named hruleleft hrl {}
+ named hruleright hrr {}
+ named hrulewidth hrw {}
+ named hrulehorizontalwidth hrhw {}
+ named hruleabovewidth hraw {}
+ named hrulebelowwidth hrbw {}
+ named hruleverticalwidth hrvw {}
+ named hruleleftwidth hrlw {}
+ named hrulerightwidth hrrw {}
+ named hrulegap hrg {}
+ named hrulehorizontalgap hrhg {}
+ named hruleabovegap hrag {}
+ named hrulebelowgap hrbg {}
+ named hruleverticalgap hrvg {}
+ named hruleleftgap hrlg {}
+ named hrulerightgap hrrg {}
+ named hrulecolour hrulecolor hrc {}
+ named hrulehorizontalcolour hrulehorizontalcolor hrhc {}
+ named hruleabovecolour hruleabovecolor hrac {}
+ named hrulebelowcolour hrulebelowcolor hrbc {}
+ named hruleverticalcolour hruleverticalcolor hrvc {}
+ named hruleleftcolour hruleleftcolor hrlc {}
+ named hrulerightcolour hrulerightcolor hrrc {}
+ named hruleplainchar hrpc {}
+ named hformat
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+
+ body @Body # this is the right parameter of @Tbl
+
+ {
+
+ #######################################################################
+ # #
+ # Specific option values as @Tbl knows them (i.e. Level 2) #
+ # #
+ #######################################################################
+
+ def tblp { p @Else setupp }
+ def tblbg { bg @Else setupbg }
+ def tblf { f @Else setupf }
+ def tblb { b @Else setupb }
+ def tblw { w @Else setupw }
+ def tblh { h @Else setuph }
+ def tbli { i @Else setupi }
+ def tbliv { iv @Else setupiv }
+ def tbls { s @Else setups }
+ def tblsh { sh @Else setupsh }
+ def tblml { ml @Else mh @Else m @Else setupml }
+ def tblmr { mr @Else mh @Else m @Else setupmr }
+ def tblma { ma @Else mv @Else m @Else setupma }
+ def tblmb { mb @Else mv @Else m @Else setupmb }
+ def tblra { ra @Else rh @Else r @Else setupra }
+ def tblrb { rb @Else rh @Else r @Else setuprb }
+ def tblrl { rl @Else rv @Else r @Else setuprl }
+ def tblrr { rr @Else rv @Else r @Else setuprr }
+ def tblraw { raw @Else rhw @Else rw @Else setupraw }
+ def tblrbw { rbw @Else rhw @Else rw @Else setuprbw }
+ def tblrlw { rlw @Else rvw @Else rw @Else setuprlw }
+ def tblrrw { rrw @Else rvw @Else rw @Else setuprrw }
+ def tblrag { rag @Else rhg @Else rg @Else setuprag }
+ def tblrbg { rbg @Else rhg @Else rg @Else setuprbg }
+ def tblrlg { rlg @Else rvg @Else rg @Else setuprlg }
+ def tblrrg { rrg @Else rvg @Else rg @Else setuprrg }
+ def tblrac { rac @Else rhc @Else rc @Else setuprac }
+ def tblrbc { rbc @Else rhc @Else rc @Else setuprbc }
+ def tblrlc { rlc @Else rvc @Else rc @Else setuprlc }
+ def tblrrc { rrc @Else rvc @Else rc @Else setuprrc }
+ def tblrpc { rpc @Else setuprpc }
+
+
+ def @DoCell
+ named compulsory p {}
+ named compulsory bg {}
+ named compulsory f {}
+ named compulsory b {}
+ named compulsory w {}
+ named compulsory h {}
+ named compulsory i {}
+ named compulsory iv {}
+ named compulsory s {}
+ named compulsory sh {}
+ named compulsory ml {}
+ named compulsory mr {}
+ named compulsory ma {}
+ named compulsory mb {}
+ named compulsory ra {}
+ named compulsory rb {}
+ named compulsory rl {}
+ named compulsory rr {}
+ named compulsory raw {}
+ named compulsory rbw {}
+ named compulsory rlw {}
+ named compulsory rrw {}
+ named compulsory rag {}
+ named compulsory rbg {}
+ named compulsory rlg {}
+ named compulsory rrg {}
+ named compulsory rac {}
+ named compulsory rbc {}
+ named compulsory rlc {}
+ named compulsory rrc {}
+ named compulsory rpc {}
+ right @Body
+ {
+
+ def @ZeroWidth right x
+ {
+ @OneCol { |0io x |0io }
+ }
+
+ def @ZeroHeight right x
+ {
+ @OneRow { /0io x /0io }
+ }
+
+ def @PDFColourCommand right col
+ {
+ def @ColourCoords
+ {
+ col @Case {
+ nochange @Yield { nochange }
+ darkblue @Yield { 0.0 0.0 0.5 }
+ blue @Yield { 0.0 0.0 1.0 }
+ lightblue @Yield { 0.5 0.5 1.0 }
+ darkgreen @Yield { 0.0 0.5 0.0 }
+ green @Yield { 0.0 1.0 0.0 }
+ lightgreen @Yield { 0.5 1.0 0.5 }
+ darkred @Yield { 0.5 0.0 0.0 }
+ red @Yield { 1.0 0.0 0.0 }
+ lightred @Yield { 1.0 0.5 0.5 }
+ darkcyan @Yield { 0.0 0.5 0.5 }
+ cyan @Yield { 0.0 1.0 1.0 }
+ lightcyan @Yield { 0.5 1.0 1.0 }
+ darkmagenta @Yield { 0.5 0.0 0.5 }
+ magenta @Yield { 1.0 0.0 1.0 }
+ lightmagenta @Yield { 1.0 0.5 1.0 }
+ darkyellow @Yield { 0.5 0.5 0.0 }
+ yellow @Yield { 1.0 1.0 0.0 }
+ lightyellow @Yield { 1.0 1.0 0.5 }
+ darkgray @Yield { 0.2 0.2 0.2 }
+ gray @Yield { 0.5 0.5 0.5 }
+ lightgray @Yield { 0.8 0.8 0.8 }
+ darkgrey @Yield { 0.2 0.2 0.2 }
+ grey @Yield { 0.5 0.5 0.5 }
+ lightgrey @Yield { 0.8 0.8 0.8 }
+ black @Yield { 0.0 0.0 0.0 }
+ white @Yield { 1.0 1.0 1.0 }
+ }
+ }
+
+ @ColourCoords "rg" @ColourCoords "RG"
+ }
+
+ def @PDFAddPaint right col
+ {
+ col @Case {
+ none @Yield ""
+ nochange @Yield "q f Q"
+ else @Yield { "q" @PDFColourCommand col "f Q" }
+ }
+ }
+
+ def @FillBox left col right x
+ {
+ @BackEnd @Case {
+ PostScript @Yield {{"LoutBox ltbl"col} @Graphic x}
+ PDF @Yield {{
+ "0 0 m __xsize 0 l __xsize __ysize l 0 __ysize l h"
+ @PDFAddPaint col "S"
+ } @Graphic x}
+ PlainText @Yield { rpc @PlainGraphic x }
+ }
+ }
+
+ def @PaintBox left col right x
+ {
+ @BackEnd @Case {
+ PostScript @Yield {{"LoutBox ltbl"col} @Graphic x}
+ PDF @Yield {{
+ "0 0 m __xsize 0 l __xsize __ysize l 0 __ysize l h"
+ @PDFAddPaint col "S"
+ } @Graphic x}
+ PlainText @Yield { x }
+ }
+ }
+
+ def @HRule left col right thick
+ {
+ @ZeroHeight thick @High col @FillBox {}
+ # thick @High col @FillBox {}
+ }
+
+ def @VRule left col right thick
+ {
+ @ZeroWidth thick @Wide col @FillBox {}
+ # thick @Wide col @FillBox {}
+ }
+
+ def @DoubleHRule
+ left col
+ named gap {}
+ right thick
+ {
+ @OneCol { col @HRule thick /gap col @HRule thick }
+ }
+
+ def @DoubleVRule
+ left col
+ named gap {}
+ right thick
+ {
+ @OneRow { col @VRule thick /gap col @VRule thick }
+ }
+
+ def @MakeHRule
+ left col
+ named thick {}
+ named gap {}
+ right type
+ {
+ type @Case {
+ { none "" no } @Yield {}
+ { yes single } @Yield col @HRule thick
+ { double } @Yield col @DoubleHRule gap { gap } thick
+ }
+ }
+
+ def @MakeVRule
+ left col
+ named thick {}
+ named gap {}
+ right type
+ {
+ type @Case {
+ { none "" no } @Yield {}
+ { yes single } @Yield col @VRule thick
+ { double } @Yield col @DoubleVRule gap { gap } thick
+ }
+ }
+
+ def @RuleBox
+ left col
+ named hthick {}
+ named vthick {}
+ named htype {}
+ named vtype {}
+ {
+ htype @Case {
+ { none "" no } @Yield {}
+ else @Yield vtype @Case {
+ { none "" no } @Yield {}
+ else @Yield {
+ @ZeroWidth @ZeroHeight hthick @Wide vthick @High
+ col @FillBox {}
+ }
+ }
+ }
+ }
+
+ def @AddRules
+ right x
+ {
+ {
+ rlc @MakeVRule thick { rlw } gap { rlg } rl
+ |0rt |1rt
+ rrc @MakeVRule thick { rrw } gap { rrg } rr
+ } @Background
+ { rac @MakeHRule thick { raw } gap { rag } ra
+ /0rt
+ /1rt
+ rbc @MakeHRule thick { rbw } gap { rbg } rb
+ } @Background
+ {
+ |1rt rac @RuleBox hthick { rrw } vthick { raw } htype { rr } vtype { ra }
+ /0rt
+ /1rt |1rt
+ rbc @RuleBox hthick { rrw } vthick { rbw } htype { rr } vtype { rb }
+ } @Background x
+
+ }
+
+ def @AddMargins
+ right x
+ {
+ @OneCol @OneRow {
+ ^|ml |mr
+ ^/ma | x |
+ /mb | |
+ }
+ }
+
+ def @AddPaint
+ right x
+ {
+ p @Case {
+ { none nopaint no } @Yield x
+ else @Yield { p @PaintBox x }
+ }
+ }
+
+ def @Strut right x
+ {
+ def strutval right x
+ {
+ x @Case {
+ { no No "" } @Yield "0.0f"
+ { yes Yes } @Yield "1.0f"
+ else @Yield x
+ }
+ }
+
+ def vs { "0.5w" @VShift { { strutval s } @High } }
+ def hs { { strutval sh } @Wide }
+
+ @OneCol @OneRow { ^| hs ^/ vs | x }
+ }
+
+ def @VSize right x
+ {
+ h @Case {
+ "" @Yield x
+ else @Yield { h @High x }
+ }
+ }
+
+ def @HSize right x
+ {
+ w @Case {
+ "" @Yield x
+ "expand" @Yield { "40c" @Wide x }
+ else @Yield { w @Wide x }
+ }
+ }
+
+ def @HIndent right x
+ {
+ i @Case {
+ left @Yield @OneCol { | x }
+ ctr @Yield @OneCol { |"0.5rt" x }
+ right @Yield @OneCol { |"1.0rt" x }
+ mctr @Yield @OneCol { |"0.5bx" x }
+ "" @Yield @OneCol x
+ else @Yield @OneCol { |i x }
+ }
+ }
+
+ def @VIndent right x
+ {
+ iv @Case {
+ top @Yield @OneRow { / x }
+ ctr @Yield @OneRow { /"0.5rt" x }
+ foot @Yield @OneRow { /"1.0rt" x }
+ mctr @Yield @OneRow { /"0.5bx" x }
+ "" @Yield @OneRow x
+ else @Yield @OneRow { /iv x }
+ }
+ }
+
+ @HSize @VSize @AddPaint bg @Background @AddRules
+ @HIndent @VIndent @AddMargins f @Font b @Break @Strut @Body
+ }
+
+ # symbol for producing @Row rows
+ def @DoRow
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named compulsory format
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ named @Cell
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ right x
+ {}
+ {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values as @Row knows them (i.e. Level 6) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tblp }
+ def rowbg { bg @Else tblbg }
+ def rowf { f @Else tblf }
+ def rowb { b @Else tblb }
+ def roww { w @Else tblw }
+ def rowh { h @Else tblh }
+ def rowi { i @Else tbli }
+ def rowiv { iv @Else tbliv }
+ def rows { s @Else tbls }
+ def rowsh { sh @Else tblsh }
+ def rowml { ml @Else mh @Else m @Else tblml }
+ def rowmr { mr @Else mh @Else m @Else tblmr }
+ def rowma { ma @Else mv @Else m @Else tblma }
+ def rowmb { mb @Else mv @Else m @Else tblmb }
+ def rowra { ra @Else rh @Else r @Else tblra }
+ def rowrb { rb @Else rh @Else r @Else tblrb }
+ def rowrl { rl @Else rv @Else r @Else tblrl }
+ def rowrr { rr @Else rv @Else r @Else tblrr }
+ def rowraw { raw @Else rhw @Else rw @Else tblraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tblrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tblrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tblrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tblrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tblrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tblrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tblrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tblrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tblrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tblrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tblrrc }
+ def rowrpc { rpc @Else tblrpc }
+
+ format
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 7) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowa rows
+ def @DoRowa
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "aoption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { ap @Else tblp }
+ def tbxbg { abg @Else tblbg }
+ def tbxf { af @Else tblf }
+ def tbxb { ab @Else tblb }
+ def tbxw { aw @Else tblw }
+ def tbxh { ah @Else tblh }
+ def tbxi { ai @Else tbli }
+ def tbxiv { aiv @Else tbliv }
+ def tbxs { as @Else tbls }
+ def tbxsh { ash @Else tblsh }
+ def tbxml { aml @Else amh @Else am @Else tblml }
+ def tbxmr { amr @Else amh @Else am @Else tblmr }
+ def tbxma { ama @Else amv @Else am @Else tblma }
+ def tbxmb { amb @Else amv @Else am @Else tblmb }
+ def tbxra { ara @Else arh @Else ar @Else tblra }
+ def tbxrb { arb @Else arh @Else ar @Else tblrb }
+ def tbxrl { arl @Else arv @Else ar @Else tblrl }
+ def tbxrr { arr @Else arv @Else ar @Else tblrr }
+ def tbxraw { araw @Else arhw @Else arw @Else tblraw }
+ def tbxrbw { arbw @Else arhw @Else arw @Else tblrbw }
+ def tbxrlw { arlw @Else arvw @Else arw @Else tblrlw }
+ def tbxrrw { arrw @Else arvw @Else arw @Else tblrrw }
+ def tbxrag { arag @Else arhg @Else arg @Else tblrag }
+ def tbxrbg { arbg @Else arhg @Else arg @Else tblrbg }
+ def tbxrlg { arlg @Else arvg @Else arg @Else tblrlg }
+ def tbxrrg { arrg @Else arvg @Else arg @Else tblrrg }
+ def tbxrac { arac @Else arhc @Else arc @Else tblrac }
+ def tbxrbc { arbc @Else arhc @Else arc @Else tblrbc }
+ def tbxrlc { arlc @Else arvc @Else arc @Else tblrlc }
+ def tbxrrc { arrc @Else arvc @Else arc @Else tblrrc }
+ def tbxrpc { arpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowa level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ aformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowb rows
+ def @DoRowb
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "boption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { bp @Else tblp }
+ def tbxbg { bbg @Else tblbg }
+ def tbxf { bf @Else tblf }
+ def tbxb { bb @Else tblb }
+ def tbxw { bw @Else tblw }
+ def tbxh { bh @Else tblh }
+ def tbxi { bi @Else tbli }
+ def tbxiv { biv @Else tbliv }
+ def tbxs { bs @Else tbls }
+ def tbxsh { bsh @Else tblsh }
+ def tbxml { bml @Else bmh @Else bm @Else tblml }
+ def tbxmr { bmr @Else bmh @Else bm @Else tblmr }
+ def tbxma { bma @Else bmv @Else bm @Else tblma }
+ def tbxmb { bmb @Else bmv @Else bm @Else tblmb }
+ def tbxra { bra @Else brh @Else br @Else tblra }
+ def tbxrb { brb @Else brh @Else br @Else tblrb }
+ def tbxrl { brl @Else brv @Else br @Else tblrl }
+ def tbxrr { brr @Else brv @Else br @Else tblrr }
+ def tbxraw { braw @Else brhw @Else brw @Else tblraw }
+ def tbxrbw { brbw @Else brhw @Else brw @Else tblrbw }
+ def tbxrlw { brlw @Else brvw @Else brw @Else tblrlw }
+ def tbxrrw { brrw @Else brvw @Else brw @Else tblrrw }
+ def tbxrag { brag @Else brhg @Else brg @Else tblrag }
+ def tbxrbg { brbg @Else brhg @Else brg @Else tblrbg }
+ def tbxrlg { brlg @Else brvg @Else brg @Else tblrlg }
+ def tbxrrg { brrg @Else brvg @Else brg @Else tblrrg }
+ def tbxrac { brac @Else brhc @Else brc @Else tblrac }
+ def tbxrbc { brbc @Else brhc @Else brc @Else tblrbc }
+ def tbxrlc { brlc @Else brvc @Else brc @Else tblrlc }
+ def tbxrrc { brrc @Else brvc @Else brc @Else tblrrc }
+ def tbxrpc { brpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowb level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ bformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowc rows
+ def @DoRowc
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "coption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { cp @Else tblp }
+ def tbxbg { cbg @Else tblbg }
+ def tbxf { cf @Else tblf }
+ def tbxb { cb @Else tblb }
+ def tbxw { cw @Else tblw }
+ def tbxh { ch @Else tblh }
+ def tbxi { ci @Else tbli }
+ def tbxiv { civ @Else tbliv }
+ def tbxs { cs @Else tbls }
+ def tbxsh { csh @Else tblsh }
+ def tbxml { cml @Else cmh @Else cm @Else tblml }
+ def tbxmr { cmr @Else cmh @Else cm @Else tblmr }
+ def tbxma { cma @Else cmv @Else cm @Else tblma }
+ def tbxmb { cmb @Else cmv @Else cm @Else tblmb }
+ def tbxra { cra @Else crh @Else cr @Else tblra }
+ def tbxrb { crb @Else crh @Else cr @Else tblrb }
+ def tbxrl { crl @Else crv @Else cr @Else tblrl }
+ def tbxrr { crr @Else crv @Else cr @Else tblrr }
+ def tbxraw { craw @Else crhw @Else crw @Else tblraw }
+ def tbxrbw { crbw @Else crhw @Else crw @Else tblrbw }
+ def tbxrlw { crlw @Else crvw @Else crw @Else tblrlw }
+ def tbxrrw { crrw @Else crvw @Else crw @Else tblrrw }
+ def tbxrag { crag @Else crhg @Else crg @Else tblrag }
+ def tbxrbg { crbg @Else crhg @Else crg @Else tblrbg }
+ def tbxrlg { crlg @Else crvg @Else crg @Else tblrlg }
+ def tbxrrg { crrg @Else crvg @Else crg @Else tblrrg }
+ def tbxrac { crac @Else crhc @Else crc @Else tblrac }
+ def tbxrbc { crbc @Else crhc @Else crc @Else tblrbc }
+ def tbxrlc { crlc @Else crvc @Else crc @Else tblrlc }
+ def tbxrrc { crrc @Else crvc @Else crc @Else tblrrc }
+ def tbxrpc { crpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowc level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ cformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowd rows
+ def @DoRowd
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "doption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { dp @Else tblp }
+ def tbxbg { dbg @Else tblbg }
+ def tbxf { df @Else tblf }
+ def tbxb { db @Else tblb }
+ def tbxw { dw @Else tblw }
+ def tbxh { dh @Else tblh }
+ def tbxi { di @Else tbli }
+ def tbxiv { div @Else tbliv }
+ def tbxs { ds @Else tbls }
+ def tbxsh { dsh @Else tblsh }
+ def tbxml { dml @Else dmh @Else dm @Else tblml }
+ def tbxmr { dmr @Else dmh @Else dm @Else tblmr }
+ def tbxma { dma @Else dmv @Else dm @Else tblma }
+ def tbxmb { dmb @Else dmv @Else dm @Else tblmb }
+ def tbxra { dra @Else drh @Else dr @Else tblra }
+ def tbxrb { drb @Else drh @Else dr @Else tblrb }
+ def tbxrl { drl @Else drv @Else dr @Else tblrl }
+ def tbxrr { drr @Else drv @Else dr @Else tblrr }
+ def tbxraw { draw @Else drhw @Else drw @Else tblraw }
+ def tbxrbw { drbw @Else drhw @Else drw @Else tblrbw }
+ def tbxrlw { drlw @Else drvw @Else drw @Else tblrlw }
+ def tbxrrw { drrw @Else drvw @Else drw @Else tblrrw }
+ def tbxrag { drag @Else drhg @Else drg @Else tblrag }
+ def tbxrbg { drbg @Else drhg @Else drg @Else tblrbg }
+ def tbxrlg { drlg @Else drvg @Else drg @Else tblrlg }
+ def tbxrrg { drrg @Else drvg @Else drg @Else tblrrg }
+ def tbxrac { drac @Else drhc @Else drc @Else tblrac }
+ def tbxrbc { drbc @Else drhc @Else drc @Else tblrbc }
+ def tbxrlc { drlc @Else drvc @Else drc @Else tblrlc }
+ def tbxrrc { drrc @Else drvc @Else drc @Else tblrrc }
+ def tbxrpc { drpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowd level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ dformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowe rows
+ def @DoRowe
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "eoption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { ep @Else tblp }
+ def tbxbg { ebg @Else tblbg }
+ def tbxf { ef @Else tblf }
+ def tbxb { eb @Else tblb }
+ def tbxw { ew @Else tblw }
+ def tbxh { eh @Else tblh }
+ def tbxi { ei @Else tbli }
+ def tbxiv { eiv @Else tbliv }
+ def tbxs { es @Else tbls }
+ def tbxsh { esh @Else tblsh }
+ def tbxml { eml @Else emh @Else em @Else tblml }
+ def tbxmr { emr @Else emh @Else em @Else tblmr }
+ def tbxma { ema @Else emv @Else em @Else tblma }
+ def tbxmb { emb @Else emv @Else em @Else tblmb }
+ def tbxra { era @Else erh @Else er @Else tblra }
+ def tbxrb { erb @Else erh @Else er @Else tblrb }
+ def tbxrl { erl @Else erv @Else er @Else tblrl }
+ def tbxrr { err @Else erv @Else er @Else tblrr }
+ def tbxraw { eraw @Else erhw @Else erw @Else tblraw }
+ def tbxrbw { erbw @Else erhw @Else erw @Else tblrbw }
+ def tbxrlw { erlw @Else ervw @Else erw @Else tblrlw }
+ def tbxrrw { errw @Else ervw @Else erw @Else tblrrw }
+ def tbxrag { erag @Else erhg @Else erg @Else tblrag }
+ def tbxrbg { erbg @Else erhg @Else erg @Else tblrbg }
+ def tbxrlg { erlg @Else ervg @Else erg @Else tblrlg }
+ def tbxrrg { errg @Else ervg @Else erg @Else tblrrg }
+ def tbxrac { erac @Else erhc @Else erc @Else tblrac }
+ def tbxrbc { erbc @Else erhc @Else erc @Else tblrbc }
+ def tbxrlc { erlc @Else ervc @Else erc @Else tblrlc }
+ def tbxrrc { errc @Else ervc @Else erc @Else tblrrc }
+ def tbxrpc { erpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowe level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ eformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowf rows
+ def @DoRowf
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "foption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { fp @Else tblp }
+ def tbxbg { fbg @Else tblbg }
+ def tbxf { ff @Else tblf }
+ def tbxb { fb @Else tblb }
+ def tbxw { fw @Else tblw }
+ def tbxh { fh @Else tblh }
+ def tbxi { fi @Else tbli }
+ def tbxiv { fiv @Else tbliv }
+ def tbxs { fs @Else tbls }
+ def tbxsh { fsh @Else tblsh }
+ def tbxml { fml @Else fmh @Else fm @Else tblml }
+ def tbxmr { fmr @Else fmh @Else fm @Else tblmr }
+ def tbxma { fma @Else fmv @Else fm @Else tblma }
+ def tbxmb { fmb @Else fmv @Else fm @Else tblmb }
+ def tbxra { fra @Else frh @Else fr @Else tblra }
+ def tbxrb { frb @Else frh @Else fr @Else tblrb }
+ def tbxrl { frl @Else frv @Else fr @Else tblrl }
+ def tbxrr { frr @Else frv @Else fr @Else tblrr }
+ def tbxraw { fraw @Else frhw @Else frw @Else tblraw }
+ def tbxrbw { frbw @Else frhw @Else frw @Else tblrbw }
+ def tbxrlw { frlw @Else frvw @Else frw @Else tblrlw }
+ def tbxrrw { frrw @Else frvw @Else frw @Else tblrrw }
+ def tbxrag { frag @Else frhg @Else frg @Else tblrag }
+ def tbxrbg { frbg @Else frhg @Else frg @Else tblrbg }
+ def tbxrlg { frlg @Else frvg @Else frg @Else tblrlg }
+ def tbxrrg { frrg @Else frvg @Else frg @Else tblrrg }
+ def tbxrac { frac @Else frhc @Else frc @Else tblrac }
+ def tbxrbc { frbc @Else frhc @Else frc @Else tblrbc }
+ def tbxrlc { frlc @Else frvc @Else frc @Else tblrlc }
+ def tbxrrc { frrc @Else frvc @Else frc @Else tblrrc }
+ def tbxrpc { frpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowf level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ fformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowg rows
+ def @DoRowg
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "doption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { gp @Else tblp }
+ def tbxbg { gbg @Else tblbg }
+ def tbxf { gf @Else tblf }
+ def tbxb { gb @Else tblb }
+ def tbxw { gw @Else tblw }
+ def tbxh { gh @Else tblh }
+ def tbxi { gi @Else tbli }
+ def tbxiv { giv @Else tbliv }
+ def tbxs { gs @Else tbls }
+ def tbxsh { gsh @Else tblsh }
+ def tbxml { gml @Else gmh @Else gm @Else tblml }
+ def tbxmr { gmr @Else gmh @Else gm @Else tblmr }
+ def tbxma { gma @Else gmv @Else gm @Else tblma }
+ def tbxmb { gmb @Else gmv @Else gm @Else tblmb }
+ def tbxra { gra @Else grh @Else gr @Else tblra }
+ def tbxrb { grb @Else grh @Else gr @Else tblrb }
+ def tbxrl { grl @Else grv @Else gr @Else tblrl }
+ def tbxrr { grr @Else grv @Else gr @Else tblrr }
+ def tbxraw { graw @Else grhw @Else grw @Else tblraw }
+ def tbxrbw { grbw @Else grhw @Else grw @Else tblrbw }
+ def tbxrlw { grlw @Else grvw @Else grw @Else tblrlw }
+ def tbxrrw { grrw @Else grvw @Else grw @Else tblrrw }
+ def tbxrag { grag @Else grhg @Else grg @Else tblrag }
+ def tbxrbg { grbg @Else grhg @Else grg @Else tblrbg }
+ def tbxrlg { grlg @Else grvg @Else grg @Else tblrlg }
+ def tbxrrg { grrg @Else grvg @Else grg @Else tblrrg }
+ def tbxrac { grac @Else grhc @Else grc @Else tblrac }
+ def tbxrbc { grbc @Else grhc @Else grc @Else tblrbc }
+ def tbxrlc { grlc @Else grvc @Else grc @Else tblrlc }
+ def tbxrrc { grrc @Else grvc @Else grc @Else tblrrc }
+ def tbxrpc { grpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowg level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ gformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ # symbol for producing @Rowh rows
+ def @DoRowh
+ named paint p {}
+ named background bg {}
+ named font f {}
+ named break b {}
+ named width w {}
+ named height h {}
+ named indent i {}
+ named indentvertical iv {}
+ named strut s {}
+ named struthorizontal sh {}
+ named margin m {}
+ named marginhorizontal mh {}
+ named marginleft ml {}
+ named marginright mr {}
+ named marginvertical mv {}
+ named marginabove ma {}
+ named marginbelow mb {}
+ named rule r {}
+ named rulehorizontal rh {}
+ named ruleabove ra {}
+ named rulebelow rb {}
+ named rulevertical rv {}
+ named ruleleft rl {}
+ named ruleright rr {}
+ named rulewidth rw {}
+ named rulehorizontalwidth rhw {}
+ named ruleabovewidth raw {}
+ named rulebelowwidth rbw {}
+ named ruleverticalwidth rvw {}
+ named ruleleftwidth rlw {}
+ named rulerightwidth rrw {}
+ named rulegap rg {}
+ named rulehorizontalgap rhg {}
+ named ruleabovegap rag {}
+ named rulebelowgap rbg {}
+ named ruleverticalgap rvg {}
+ named ruleleftgap rlg {}
+ named rulerightgap rrg {}
+ named rulecolour rulecolor rc {}
+ named rulehorizontalcolour rulehorizontalcolor rhc {}
+ named ruleabovecolour ruleabovecolor rac {}
+ named rulebelowcolour rulebelowcolor rbc {}
+ named ruleverticalcolour ruleverticalcolor rvc {}
+ named ruleleftcolour ruleleftcolor rlc {}
+ named rulerightcolour rulerightcolor rrc {}
+ named ruleplainchar rpc {}
+ named A {} named B {} named C {} named D {} named E {}
+ named F {} named G {} named H {} named I {} named J {}
+ named K {} named L {} named M {} named N {} named O {}
+ named P {} named Q {} named R {} named S {} named T {}
+ named U {} named V {} named W {} named X {} named Y {}
+ named Z {}
+ {
+
+ ###################################################################
+ # #
+ # Specific option values at "hoption" level (i.e. Level 3) #
+ # #
+ ###################################################################
+
+ def tbxp { hp @Else tblp }
+ def tbxbg { hbg @Else tblbg }
+ def tbxf { hf @Else tblf }
+ def tbxb { hb @Else tblb }
+ def tbxw { hw @Else tblw }
+ def tbxh { hh @Else tblh }
+ def tbxi { hi @Else tbli }
+ def tbxiv { hiv @Else tbliv }
+ def tbxs { hs @Else tbls }
+ def tbxsh { hsh @Else tblsh }
+ def tbxml { hml @Else hmh @Else hm @Else tblml }
+ def tbxmr { hmr @Else hmh @Else hm @Else tblmr }
+ def tbxma { hma @Else hmv @Else hm @Else tblma }
+ def tbxmb { hmb @Else hmv @Else hm @Else tblmb }
+ def tbxra { hra @Else hrh @Else hr @Else tblra }
+ def tbxrb { hrb @Else hrh @Else hr @Else tblrb }
+ def tbxrl { hrl @Else hrv @Else hr @Else tblrl }
+ def tbxrr { hrr @Else hrv @Else hr @Else tblrr }
+ def tbxraw { hraw @Else hrhw @Else hrw @Else tblraw }
+ def tbxrbw { hrbw @Else hrhw @Else hrw @Else tblrbw }
+ def tbxrlw { hrlw @Else hrvw @Else hrw @Else tblrlw }
+ def tbxrrw { hrrw @Else hrvw @Else hrw @Else tblrrw }
+ def tbxrag { hrag @Else hrhg @Else hrg @Else tblrag }
+ def tbxrbg { hrbg @Else hrhg @Else hrg @Else tblrbg }
+ def tbxrlg { hrlg @Else hrvg @Else hrg @Else tblrlg }
+ def tbxrrg { hrrg @Else hrvg @Else hrg @Else tblrrg }
+ def tbxrac { hrac @Else hrhc @Else hrc @Else tblrac }
+ def tbxrbc { hrbc @Else hrhc @Else hrc @Else tblrbc }
+ def tbxrlc { hrlc @Else hrvc @Else hrc @Else tblrlc }
+ def tbxrrc { hrrc @Else hrvc @Else hrc @Else tblrrc }
+ def tbxrpc { hrpc @Else tblrpc }
+
+ ###################################################################
+ # #
+ # Specific option values at @Rowh level (i.e. Level 4) #
+ # #
+ ###################################################################
+
+ def rowp { p @Else tbxp }
+ def rowbg { bg @Else tbxbg }
+ def rowf { f @Else tbxf }
+ def rowb { b @Else tbxb }
+ def roww { w @Else tbxw }
+ def rowh { h @Else tbxh }
+ def rowi { i @Else tbxi }
+ def rowiv { iv @Else tbxiv }
+ def rows { s @Else tbxs }
+ def rowsh { sh @Else tbxsh }
+ def rowml { ml @Else mh @Else m @Else tbxml }
+ def rowmr { mr @Else mh @Else m @Else tbxmr }
+ def rowma { ma @Else mv @Else m @Else tbxma }
+ def rowmb { mb @Else mv @Else m @Else tbxmb }
+ def rowra { ra @Else rh @Else r @Else tbxra }
+ def rowrb { rb @Else rh @Else r @Else tbxrb }
+ def rowrl { rl @Else rv @Else r @Else tbxrl }
+ def rowrr { rr @Else rv @Else r @Else tbxrr }
+ def rowraw { raw @Else rhw @Else rw @Else tbxraw }
+ def rowrbw { rbw @Else rhw @Else rw @Else tbxrbw }
+ def rowrlw { rlw @Else rvw @Else rw @Else tbxrlw }
+ def rowrrw { rrw @Else rvw @Else rw @Else tbxrrw }
+ def rowrag { rag @Else rhg @Else rg @Else tbxrag }
+ def rowrbg { rbg @Else rhg @Else rg @Else tbxrbg }
+ def rowrlg { rlg @Else rvg @Else rg @Else tbxrlg }
+ def rowrrg { rrg @Else rvg @Else rg @Else tbxrrg }
+ def rowrac { rac @Else rhc @Else rc @Else tbxrac }
+ def rowrbc { rbc @Else rhc @Else rc @Else tbxrbc }
+ def rowrlc { rlc @Else rvc @Else rc @Else tbxrlc }
+ def rowrrc { rrc @Else rvc @Else rc @Else tbxrrc }
+ def rowrpc { rpc @Else tbxrpc }
+
+ hformat
+ A { A } B { B } C { C } D { D } E { E } F { F }
+ G { G } H { H } I { I } J { J } K { K } L { L }
+ M { M } N { N } O { O } P { P } Q { Q } R { R }
+ S { S } T { T } U { U } V { V } W { W } X { X }
+ Y { Y } Z { Z }
+ @Cell {
+
+ @DoCell
+
+ #######################################################
+ # #
+ # Specific option values to @Cell (i.e. Level 5) #
+ # #
+ #######################################################
+
+ p { p @Else rowp }
+ bg { bg @Else rowbg }
+ f { f @Else rowf }
+ b { b @Else rowb }
+ w { w @Else roww }
+ h { h @Else rowh }
+ i { i @Else rowi }
+ iv { iv @Else rowiv }
+ s { s @Else rows }
+ sh { sh @Else rowsh }
+ ml { ml @Else mh @Else m @Else rowml }
+ mr { mr @Else mh @Else m @Else rowmr }
+ ma { ma @Else mv @Else m @Else rowma }
+ mb { mb @Else mv @Else m @Else rowmb }
+ ra { ra @Else rh @Else r @Else rowra }
+ rb { rb @Else rh @Else r @Else rowrb }
+ rl { rl @Else rv @Else r @Else rowrl }
+ rr { rr @Else rv @Else r @Else rowrr }
+ raw { raw @Else rhw @Else rw @Else rowraw }
+ rbw { rbw @Else rhw @Else rw @Else rowrbw }
+ rlw { rlw @Else rvw @Else rw @Else rowrlw }
+ rrw { rrw @Else rvw @Else rw @Else rowrrw }
+ rag { rag @Else rhg @Else rg @Else rowrag }
+ rbg { rbg @Else rhg @Else rg @Else rowrbg }
+ rlg { rlg @Else rvg @Else rg @Else rowrlg }
+ rrg { rrg @Else rvg @Else rg @Else rowrrg }
+ rac { rac @Else rhc @Else rc @Else rowrac }
+ rbc { rbc @Else rhc @Else rc @Else rowrbc }
+ rlc { rlc @Else rvc @Else rc @Else rowrlc }
+ rrc { rrc @Else rvc @Else rc @Else rowrrc }
+ rpc { rpc @Else rowrpc }
+
+ x
+ }
+ }
+
+ macro @Row { / @DoRow }
+ macro @Rowa { / @DoRowa }
+ macro @Rowb { / @DoRowb }
+ macro @Rowc { / @DoRowc }
+ macro @Rowd { / @DoRowd }
+ macro @Rowe { / @DoRowe }
+ macro @Rowf { / @DoRowf }
+ macro @Rowg { / @DoRowg }
+ macro @Rowh { / @DoRowh }
+
+ macro @FirstRow { @DoRow }
+ macro @FirstRowa { @DoRowa }
+ macro @FirstRowb { @DoRowb }
+ macro @FirstRowc { @DoRowc }
+ macro @FirstRowd { @DoRowd }
+ macro @FirstRowe { @DoRowe }
+ macro @FirstRowf { @DoRowf }
+ macro @FirstRowg { @DoRowg }
+ macro @FirstRowh { @DoRowh }
+
+ macro @MarkRow { ^/ @DoRow }
+ macro @MarkRowa { ^/ @DoRowa }
+ macro @MarkRowb { ^/ @DoRowb }
+ macro @MarkRowc { ^/ @DoRowc }
+ macro @MarkRowd { ^/ @DoRowd }
+ macro @MarkRowe { ^/ @DoRowe }
+ macro @MarkRowf { ^/ @DoRowf }
+ macro @MarkRowg { ^/ @DoRowg }
+ macro @MarkRowh { ^/ @DoRowh }
+
+ macro @NoBreakRow { /0iu @DoRow }
+ macro @NoBreakRowa { /0iu @DoRowa }
+ macro @NoBreakRowb { /0iu @DoRowb }
+ macro @NoBreakRowc { /0iu @DoRowc }
+ macro @NoBreakRowd { /0iu @DoRowd }
+ macro @NoBreakRowe { /0iu @DoRowe }
+ macro @NoBreakRowf { /0iu @DoRowf }
+ macro @NoBreakRowg { /0iu @DoRowg }
+ macro @NoBreakRowh { /0iu @DoRowh }
+
+ macro @NP { /"1.1b" }
+
+ @Body
+ }
+
+@End @TblSetup