aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user/tbl_intr
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/tbl_intr')
-rw-r--r--doc/user/tbl_intr119
1 files changed, 119 insertions, 0 deletions
diff --git a/doc/user/tbl_intr b/doc/user/tbl_intr
new file mode 100644
index 0000000..a46da18
--- /dev/null
+++ b/doc/user/tbl_intr
@@ -0,0 +1,119 @@
+@Section
+ @Title { Getting started }
+ @Tag { tbl_intr }
+@Begin
+@PP
+The Lout definitions for table formatting
+@FootNote {
+The @Code "tbl" package described here replaces the @Code "tab"
+package of Version 3.12 and earlier. For backward compatibility
+the @Code "tab" package is still available and still works as
+described in older versions of this documentation. Users of
+@Code "tab" will find simple uses of @Code "tbl" to be very similar,
+replacing @Code "@Tab" by {@Code "@Tbl"}, @Code "@Fmta" by
+{@Code "aformat"}, @Code "@Col" by {@Code "@Cell"}, and
+@Code "!" by {@Code "|"}.
+}
+are kept in a file called {@Code "tbl"}, which you must include at
+the start of your document if
+tbl.file @Index { @Code "tbl" file }
+you want tables, like this:
+@ID @OneRow @Code {
+"@SysInclude { tbl }"
+"@SysInclude { doc }"
+"@Doc @Text @Begin"
+"..."
+"@End @Text"
+}
+Specialized setup files, like {@Code "tbl"}, are included before the main
+setup file (@Code "doc" in this case). Alternatively, if you are using
+your own setup file, you may place the include commands within it, near the
+start.
+@PP
+To begin with a very simple example, the table
+tbl. @Index @Code "@Tbl"
+@CD
+@Tbl
+ aformat { @Cell A | @Cell B | @Cell C }
+{
+@Rowa
+ A { Austen }
+ B { Chaucer }
+ C { Donne }
+@Rowa
+ A { Balzac }
+ B { Darwin }
+ C { Goethe }
+@Rowa
+ A { Byron }
+ B { Dickens }
+ C { Homer }
+}
+is produced by the following input:
+@ID @OneRow @Code {
+"@Tbl"
+" aformat { @Cell A | @Cell B | @Cell C }"
+"{"
+"@Rowa"
+" A { Austen }"
+" B { Chaucer }"
+" C { Donne }"
+"@Rowa"
+" A { Balzac }"
+" B { Darwin }"
+" C { Goethe }"
+"@Rowa"
+" A { Byron }"
+" B { Dickens }"
+" C { Homer }"
+"}"
+}
+Immediately after the @Code "@Tbl" symbol, which introduces the table,
+comes a @I { format option }, {@Code "aformat"}, describing the format of
+each row. It says that each row contains three cells: {@Code "@Cell A"},
+{@Code "@Cell B"}, and {@Code "@Cell C"}. The format option may have up
+to 26 cells, with names chosen freely from the upper-case letters from
+@Code A to {@Code Z}. The symbol @Code "|" separates each cell from the next.
+@PP
+After the format option comes the body of the table, enclosed in
+braces. It consists entirely of a sequence of rows, each introduced by
+a @Code "@Rowa" symbol and containing one entry for each cell of the
+format option, as shown (the row may occupy any number of lines of the
+input file). The entries may be arbitrary Lout objects, such as words,
+paragraphs, equations, figures, and so on without restriction. An entry
+may be omitted altogether if it is empty. Lout will choose suitable widths
+for the cells, and break paragraphs in the entries to the right widths.
+@PP
+The result of the @Code "@Tbl" symbol is an object. As usual with
+Lout, this object may appear at any point in the document,
+@FootNote {
+In rare cases, when the table occupies an entire paragraph but is not
+displayed, a bug in the current version of Basser Lout causes the second
+column to appear much too far to the right. Until the problem is fixed,
+the first thing to try if this occurs is to replace the very first
+row symbol ({@Code "@Rowa"}, {@Code "@Rowb"}, etc.) by {@Code "@FirstRowa"},
+{@Code "@FirstRowb"}, etc.
+# That should work, but if it doesn't, replacing
+# @Code "@Tbl" by @Code "@OneCol @Tbl" certainly will, although it also
+# prevents the table from breaking across page boundaries.
+}
+even within a paragraph or another table. Most commonly, though, tables
+are displayed using the @Code "@IndentedDisplay" and @Code "@CentredDisplay"
+symbols (Section {@NumberOf displays}):
+@ID @Code "@CentredDisplay @Tbl ..."
+or else they go into the @Code "@Table" symbol (Section {@NumberOf figures}):
+@ID @OneRow @Code {
+"@Table"
+" @Caption { ... }"
+"@Tbl ..."
+}
+which centres them at the top of the following page and adds a
+caption. Note the difference between {@Code "@Tbl"}, which builds a
+table, and {@Code "@Table"}, which places an arbitrary object in an
+appropriate place. It's important to remember that the result
+is an object like any other, because from time to time one wants such
+things as rotated tables whose entire contents are to be italicised:
+@ID @Code "90d @Rotate @I @Tbl ..."
+and it helps to remember that the full power of Lout can be
+brought to bear on the @I entire table.
+@End @Section