aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/README28
-rw-r--r--doc/user/all6
-rw-r--r--doc/user/bas1
-rw-r--r--doc/user/bas_char6
-rw-r--r--doc/user/bas_lang10
-rw-r--r--doc/user/bas_marg33
-rw-r--r--doc/user/bgr1
-rw-r--r--doc/user/bgr_incl14
-rw-r--r--doc/user/bgr_prec190
-rw-r--r--doc/user/bgr_rota4
-rw-r--r--doc/user/bgr_scal8
-rw-r--r--doc/user/dia_synt2
-rw-r--r--doc/user/dia_tree8
-rw-r--r--doc/user/equ2
-rw-r--r--doc/user/equ_intr18
-rw-r--r--doc/user/equ_summ5
-rw-r--r--doc/user/gra_over20
-rw-r--r--doc/user/gra_summ2
-rw-r--r--doc/user/preface2
-rw-r--r--doc/user/prg16
-rw-r--r--doc/user/prg_chan9
-rw-r--r--doc/user/prg_opti10
-rw-r--r--doc/user/str_foot11
-rw-r--r--doc/user/str_marg16
-rw-r--r--doc/user/typ_book7
-rw-r--r--doc/user/typ_illu2
-rw-r--r--doc/user/typ_ordi4
-rw-r--r--doc/user/typ_repo5
-rw-r--r--doc/user/vtyp2
29 files changed, 343 insertions, 99 deletions
diff --git a/doc/user/README b/doc/user/README
index 715d867..e65b183 100644
--- a/doc/user/README
+++ b/doc/user/README
@@ -17,19 +17,17 @@ nearly all beginning with "unresolved cross reference". These
should gradually go away on later runs. The following shows the
error message output on the later runs for A4 size printing:
-lout file "str_foot" (from "str" line 8, from "all" line 38):
- 11,13: 1.0c object too high for 0.6c space; will try elsewhere
-lout file "str_indx" (from "str" line 16, from "all" line 38):
- 54,1: 0.3c object too high for 0.2c space; will try elsewhere
-lout file "dia_synt" (from "dia" line 50, from "all" line 45):
- 80,1: 1.0c object too high for 0.8c space; will try elsewhere
-lout file "gra_summ" (from "gra" line 44, from "all" line 46):
- 10,1: 24.1c object too high for 23.6c space; @Scale inserted
-lout file "prg_tabs" (from "prg" line 141, from "all" line 48):
- 66,23: prg2lout 2,1: program text ended within comment
- 68,35: prg2lout 2,1: program text ended within comment
-
-The first three warnings are about footnotes that did not fit onto
+ lout file "str_foot" (from "str" line 8, from "all" line 38):
+ 11,13: 1.0c object too high for 0.6c space; will try elsewhere
+ lout file "str_indx" (from "str" line 16, from "all" line 38):
+ 54,1: 0.3c object too high for 0.2c space; will try elsewhere
+ lout file "gra_summ" (from "gra" line 44, from "all" line 46):
+ 10,1: 24.1c object too high for 23.6c space; @Scale inserted
+ lout file "prg_tabs" (from "prg" line 141, from "all" line 48):
+ 66,23: prg2lout 2,1: program text ended within comment
+ 68,35: prg2lout 2,1: program text ended within comment
+
+The first two warnings are about footnotes that did not fit onto
the first available page. The next is about a large table that had
to be scaled down slightly to fit on the page. The last two warnings
point to two places where a C program text ended inside a comment,
@@ -42,7 +40,7 @@ repeated failure to converge, caused by footnotes and floating figures
close to large unbreakable displays.
A copy of the final PostScript output file (A4 paper size) is
-stored at "ftp://ftp.it.su.edu.au/jeff/lout/lout-3.30.user.ps.gz".
+stored at "ftp://ftp.it.su.edu.au/jeff/lout/lout-3.31.user.ps.gz".
Jeffrey H. Kingston
-27 October 2004
+August 2005
diff --git a/doc/user/all b/doc/user/all
index 937eb4d..76a8366 100644
--- a/doc/user/all
+++ b/doc/user/all
@@ -22,10 +22,10 @@ Lout
Document Formatting System
}
@Author { Jeffrey H. Kingston }
- @Edition { Version 3.30
-October, 2004 }
+ @Edition { Version 3.31
+August, 2005 }
@Publisher {
-Copyright @CopyRight 1991, 2004 Jeffrey H. Kingston,
+Copyright @CopyRight 1991, 2005 Jeffrey H. Kingston,
School of Information Technologies,
The University of Sydney 2006, Australia. ISBN 0 86758 951 5.
}
diff --git a/doc/user/bas b/doc/user/bas
index 253abd8..a947d77 100644
--- a/doc/user/bas
+++ b/doc/user/bas
@@ -20,6 +20,7 @@ simple to use.
@Include { bas_par2 }
@Include { bas_line }
@Include { bas_hyph }
+@Include { bas_marg }
@Include { bas_unde }
@Include { bas_lang }
@Include { bas_date }
diff --git a/doc/user/bas_char b/doc/user/bas_char
index 4f4b8a6..3805021 100644
--- a/doc/user/bas_char
+++ b/doc/user/bas_char
@@ -85,8 +85,8 @@ or not, inside one pair of double quotes:
A { "\"@PP\"" }
B { "\"\\\"@PP\\\"\"" }
}
-Next we have some miscellaneous characters which have been deemed
-sufficiently important to deserve their own symbols:
+The following characters have been deemed important enough to deserve
+their own symbols:
@ID @OneRow @Tab
vmargin { 0.5vx }
@Fmta { @Col A ! @Col @Code B ! @Col ! @Col C ! @Col @Code D !
@@ -301,7 +301,7 @@ exotic characters obtained with the @Code "@Sym" symbol:
There is only one Symbol font; it does not come in bold or italic faces
like the other fonts. Typing @Code "@B @Sym alpha" is therefore useless,
and anyway there is no bold @Sym alpha character in any font distributed
-with Lout (except see Section {@NumberOf teq}).
+with Lout. # (except see Section {@NumberOf teq}).
@PP
Next there are the dingbats. Here they are with their
dingbats. @Index { dingbats characters }
diff --git a/doc/user/bas_lang b/doc/user/bas_lang
index 7468076..7270b39 100644
--- a/doc/user/bas_lang
+++ b/doc/user/bas_lang
@@ -38,17 +38,19 @@ At the time of writing, the following languages were available:
A { EnglishUK en-GB }
B { Slovak Slovensky Slovencina }
@Rowa
- A { Finnish Suomi fi }
+ A { Esperanto eo }
B { Slovenian Slovenia Slovenija sl }
@Rowa
- A { French Francais Fran{@Char ccedilla}ais fr }
+ A { Finnish Suomi fi }
B { Spanish Espa{@Char ntilde}ol es }
@Rowa
- A { German Deutsch de }
+ A { French Francais Fran{@Char ccedilla}ais fr }
B { Swedish Svenska sv }
@Rowa
- A { Hungarian Magyar hu }
+ A { German Deutsch de }
B { UpperSorbian hornjoserbsce serbsce }
+@Rowa
+ A { Hungarian Magyar hu }
}
File @Code "include/langdefs" in the distribution always has the exact
list of known languages. As shown, most languages have alternative
diff --git a/doc/user/bas_marg b/doc/user/bas_marg
new file mode 100644
index 0000000..416378c
--- /dev/null
+++ b/doc/user/bas_marg
@@ -0,0 +1,33 @@
+@Section
+ @Title { Margin kerning }
+ @Tag { mkern }
+@Begin
+@PP
+The @Code "@Break" symbol offers a variant of ordinary paragraph
+breaking called @I { margin kerning }, in which small characters
+margin.kerning. @Index { margin kerning }
+that happen to end up at the start or end of a line protrude
+slightly into the margin. This is said to make documents
+look better, particularly in narrow columns. For example,
+@ID @Code @Verbatim {
+2i @Wide marginkerning @Break {
+This is a test, just a little test, of
+margin kerning. It should kern small
+characters at the margins.
+}
+}
+produces
+@ID 2i @Wide marginkerning @Break {
+This is a test, just a little test, of
+margin kerning. It should kern small
+characters at the margins.
+}
+in which the comma at the end of the first line protrudes. (For the
+@Code "@Wide" symbol, which produces a two-inch column here,
+see Section {@NumberOf precise}.)
+@PP
+As with most @Code "@Break" options, you probably want this in your
+@Code "@InitialBreak" option, described in Section {@NumberOf paras},
+if you use it at all. By default there is no margin kerning. To turn
+it off in a context where it is on, use @Code {"nomarginkerning @Break"}.
+@End @Section
diff --git a/doc/user/bgr b/doc/user/bgr
index 9855287..9646edb 100644
--- a/doc/user/bgr
+++ b/doc/user/bgr
@@ -18,5 +18,6 @@ get them beyond the usual @Code "@SysInclude { doc }" or whatever.
@Include { bgr_scal }
@Include { bgr_mirr }
@Include { bgr_incl }
+@Include { bgr_prec }
@EndSections
@End @Chapter
diff --git a/doc/user/bgr_incl b/doc/user/bgr_incl
index 0299b6d..3b91070 100644
--- a/doc/user/bgr_incl
+++ b/doc/user/bgr_incl
@@ -32,18 +32,16 @@ called @Code "lout.eps" in the current directory, and removed after
being copied into the output file.
@PP
If you place an included illustration in a line of text, or anywhere
-where you care about its alignment with things on either side of it,
+where you care about its alignment with things on each side,
it will be positioned with its centre at the same height as the
-centre of the letter x. If this is not where you want it, use the
-@Code "@VShift" symbol:
+centre of the letter x. If this is not what you want, use the
+@Code "@VShift" symbol from Section {@NumberOf precise}:
vshift. @Index @Code "@VShift"
@ID @Code "... +0.5f @VShift @IncludeGraphic ..."
prints the illustration half of the current font size higher on the
page than would otherwise have been the case, and
@ID @Code "... -0.5f @VShift @IncludeGraphic ..."
-prints it half the current font size lower. Any length (Section
-{@NumberOf objects}) is allowed, and the object following @Code "@VShift"
-may in fact be arbitrary as usual.
+prints it half the current font size lower.
@PP
Sometimes you need to include the same EPS file many times, for
example once per page. If it is a large file it can make the
@@ -72,6 +70,6 @@ output file a lot shorter, and it usually makes it print faster as
well. On the other hand, {@Code "@IncludeGraphicRepeated"} uses
Level 2 PostScript features which some older printers may not have,
and it consumes a lot of memory in the printer. If memory runs out
-your job will not print properly, so @Code "@IncludeGraphicRepeated"
-must be used with caution.
+your job will not print properly, so use @Code "@IncludeGraphicRepeated"
+with caution.
@End @Section
diff --git a/doc/user/bgr_prec b/doc/user/bgr_prec
new file mode 100644
index 0000000..3bd0d57
--- /dev/null
+++ b/doc/user/bgr_prec
@@ -0,0 +1,190 @@
+@Section
+ @Title { Precise object placement }
+ @Tag { precise }
+@Begin
+@PP
+This section offers some tips on placing objects precisely where you
+want them. This isn't a subject with any clear boundaries, so the
+section is mainly a list of examples, covering the use of the
+@Code {"@OneCol"}, @Code {"@OneRow"}, @Code {"@Wide"}, @Code {"@High"},
+@Code {"@HExpand"}, @Code {"@VExpand"}, @Code {"@HShift"}, @Code {"@VShift"},
+@Code {"@VStrut"}, @Code {"@OverStrike"}, @Code {"@ZeroHeight"},
+and @Code {"@ZeroWidth"} symbols.
+@PP
+The @Code "@OneCol" symbol causes the following object to be kept
+onecol. @Index @Code "@OneCol"
+on one line. (The name stands for `one column', which is a bit
+confusing unless you are an expert.) For example, you could use
+it to prevent hyphenation in a particular word, or to keep someone's
+name together on one line:
+@ID @Code "@OneCol { Mr. Jones }"
+although there is also the @Code "~" symbol for that. Similarly,
+@Code "@OneRow" causes the following object to be kept in one
+onerow. @Index @Code "@OneRow"
+column. It is commonly used to keep displays and list items
+together:
+@ID @Code "@IndentedDisplay @OneRow ..."
+and
+@ID @Code "@ListItem @OneRow ..."
+are the usual uses.
+@PP
+Loosely speaking, the @Code {"@Wide"} symbol causes the object following
+wide. @Index @Code "@Wide"
+it to have a particular width. It also has a @Code "@OneCol" effect.
+Paragraphs within the object will be broken if necessary in order to
+satisfy the width restriction. More precisely, the result of the
+@Code {"@Wide"} symbol is an object with the given width, with the
+following object fitting inside it, so having at most that width. Compare
+@ID @Code "5c @Wide @Box { A box }"
+which produces
+@ID 5c @Wide @Box { A box }
+with
+@ID @Code "@Box 5c @Wide { A box }"
+which produces
+@ID @Box 5c @Wide { A box }
+In the first example, the only obligation on the box is to be
+at most five centimetres wide, so that it fits into the space
+allowed it. In the second example, the box is drawn around
+an object guaranteed to be exactly five centimetres wide.
+The width of the box itself will be five centimetres plus twice the
+box margin width. Any length (Section {@NumberOf objects}) is allowed,
+and the object following @Code "@Wide" may be arbitrary as usual.
+@PP
+The @Code "@High" symbol is like @Code {"@Wide"}, only vertical. The two
+high. @Index @Code "@High"
+may be used together:
+@ID @Code "@Box 5c @Wide 5c @High { A box }"
+produces
+@ID @Box 5c @Wide 5c @High { A box }
+Be careful when using @Code "@High" to allow enough space for
+whatever is inside. An error message will be printed if you
+don't, and the @Code "@High" symbol will be ignored.
+@PP
+Instead of a particular width, it is quite common to want something
+to be as wide as possible. For this there is the @Code "@HExpand"
+hexpand. @Index @Code "@HExpand"
+symbol:
+@ID @Code "@IndentedDisplay @Box @HExpand { A box }"
+produces
+@IndentedDisplay @Box @HExpand { A box }
+Notice how @Code "@HExpand" is placed after the @Code "@Box" symbol,
+to ensure that the box is drawn around something as wide as possible,
+analogously to the second @Code "@Wide" example above. Lout has
+carefully worked out that `as wide as possible' means the column width
+minus the indent width and box margins.
+@PP
+Here is an example of @Code "@Wide" and @Code "@HExpand" working
+together:
+@ID @Box margin { 0.3c } 8c @Wide {
+Name: @Underline @HExpand
+@LP
+Address: @Underline @HExpand
+}
+The problem is to get the underlines to be as wide as possible.
+The solution is
+@ID @Code @Verbatim {
+@Box margin { 0.3c } 8c @Wide {
+Name: @Underline @HExpand
+@LP
+Address: @Underline @HExpand
+}
+}
+Each @Code "@HExpand" symbol produces for its result an object
+which is as wide as possible, in this example containing nothing.
+When that object is underlined, the underline is as wide as possible.
+@PP
+Although there is a corresponding @Code "@VExpand" symbol, it is not very
+vexpand. @Index @Code "@VExpand"
+useful alone because `as high as possible' does not mean `down to the foot
+of the page' as you would expect. It is mainly useful within
+{@Code "@High"}.
+@PP
+The @Code {"@HShift"} and @Code {"@VShift"} symbols control the alignment
+hshift. @Index @Code "@HShift"
+vshift. @Index @Code "@VShift"
+of objects with neighbouring objects. There are not many places in document
+formatting where alignment actually matters. Ordinary lines of text are
+one of them:
+@ID @Code "faults such as {-0.3f @VShift s}lipped letters"
+produces
+@ID { faults such as {-0.3f @VShift s}lipped letters }
+with the object following @Code "@VShift" aligned with neighbouring
+objects such that it appears 0.3 times the current font size lower
+than it normally would. The object following @Code {"@VShift"} may
+be arbitrary as usual. Examples requiring @Code "@HShift" are very
+rare; one appears below.
+@PP
+The @Code "@VStrut" symbol is used to compensate for missing
+vstrut. @Index @Code "@VStrut"
+letter ascenders and descenders. For example, the three
+boxes @Box { e }, @Box { f }, and @Box { g } look ragged
+because their contents differ in their ascenders and descenders.
+The solution is to insert a @I strut into each box: an invisible
+object of zero width whose height is that of a letter with both
+an ascender and a descender. This is done with the
+@Code "@VStrut" symbol, which attaches such a strut to the
+following object:
+@ID @Code "@Box { @VStrut e }, @Box { @VStrut f }, and @Box { @VStrut g }"
+produces
+@ID { @Box { @VStrut e }, @Box { @VStrut f }, and @Box { @VStrut g } }
+The @Code "@VStrut" symbol has @Code "above" and @Code "below" options
+which determine how high and low (relative to the middle of the letter
+`x') the strut is to go. Their default values are both @Code { "0.5f" }.
+@PP
+Missing descenders can cause list items to appear unequally spaced,
+because the space between list items is ordinarily measured from
+the bottom edge of the higher list item to the top edge of the lower
+one, rather than from baseline to baseline. Enclosing the last word
+of the troublesome items in @Code "@VStrut" will fix this problem.
+@PP
+The @Code "@OverStrike" symbol causes the objects on
+overstrike. @Index @Code "@OverStrike"
+each side of it to be overstruck:
+@ID @Code "= @OverStrike \"/\""
+produces
+@ID { = @OverStrike "/" }
+The objects to be overstruck may be arbitrary as usual. For example,
+Section {@NumberOf overall} recommends this symbol for overstriking
+two graphs, to get what appears to be one graph with two coordinate
+systems superimposed. The second object is printed after the first
+and will paint over it.
+@PP
+Sometimes the best way to get Lout to do what you want is to make it
+pretend that some object has zero width or height, using the
+zerowidth. @Index @Code "@ZeroWidth"
+zeroheight. @Index @Code "@ZeroHeight"
+@Code "@ZeroWidth" and @Code "@ZeroHeight" symbols. Lout will
+format the overall document as though the object in question had
+zero width or height, but it will still print the entire object.
+@PP
+For example, you might have an inline equation that causes the
+line spacing to increase to accommodate it -- @E { 2 sup 2 sup N } say --
+but you would rather it didn't. Writing
+@ID @Code "@ZeroHeight @E { 2 sup 2 sup N }"
+causes Lout to pretend that the object has zero height, and so
+it will not increase the line spacing around this version of
+{@ZeroHeight @E { 2 sup 2 sup N }}, as you can see.
+@PP
+The @Code "@HShift" and @Code "@VShift" symbols provide a way to move
+the printed object with respect to the zero-width one:
+@ID @Code @Verbatim {
+{@ZeroWidth 1w @HShift ``}My dear Sir Thomas!'' cried
+Mrs. Norris, red with anger, ``Fanny can walk.''
+}
+This example produces `hanging punctuation':
+@ID 5c @Wide ragged @Break {
+{@ZeroWidth 1w @HShift ``}My dear Sir Thomas!'' cried
+Mrs. Norris, red with anger, ``Fanny can walk.''
+}
+The double quotes are printed at zero width, and @Code "1w @HShift"
+ensures that they appear just to the left of the empty object that
+Lout thinks it is placing, so that they protrude into the margin
+rather than overstriking the next word (the Expert's Guide
+@Cite { $kingston1995lout.expert } explains the @Code "w" unit of
+measurement).
+@PP
+Some of the symbols described in this section are Lout primitives, described
+in full detail in the Expert's Guide @Cite { $kingston1995lout.expert };
+and that is also the place to look for more information about precise
+object placement.
+@End @Section
diff --git a/doc/user/bgr_rota b/doc/user/bgr_rota
index 4a35764..202d129 100644
--- a/doc/user/bgr_rota
+++ b/doc/user/bgr_rota
@@ -13,8 +13,8 @@ As usual, the object to be rotated may be arbitrary. However, it is
difficult for Lout to choose appropriate column widths for paragraphs
inside rotated objects, so if a rotated object contains paragraphs that
should be broken it is best to define the object's width explicitly,
-using the @Code "@Wide" symbol:
-wide @RawIndex { @Code "@Wide" }
+using the @Code "@Wide" symbol from Section {@NumberOf precise}:
+wide. @RawIndex { @Code "@Wide" }
wide.rotate @SubIndex { with @Code "@Rotate" }
@ID @OneRow @Code @Verbatim {
-90d @Rotate 4.5c @Wide {
diff --git a/doc/user/bgr_scal b/doc/user/bgr_scal
index 7623967..05f1074 100644
--- a/doc/user/bgr_scal
+++ b/doc/user/bgr_scal
@@ -41,10 +41,10 @@ takes no account of the available @I vertical space when choosing the
scale factor. The chosen scale factor could enlarge the vertical size so
much that the object no longer fits on the page, with disastrous results.
@PP
-By using a @Code "@Wide" symbol to restrict the available horizontal
-space, this form of scaling can also be used to scale to a nominated
-width. For example,
-wide @RawIndex { @Code "@Wide" }
+By using the @Code "@Wide" symbol from Section {@NumberOf precise} to
+restrict the available horizontal space, this form of scaling can also
+be used to scale to a nominated width. For example,
+wide. @RawIndex { @Code "@Wide" }
wide.scale @SubIndex { with @Code "@Scale" }
@ID @Code "5c @Wide @Scale @Box WARNING!"
produces
diff --git a/doc/user/dia_synt b/doc/user/dia_synt
index 921b918..614cc54 100644
--- a/doc/user/dia_synt
+++ b/doc/user/dia_synt
@@ -309,7 +309,7 @@ options, @Code "A" and {@Code "B"}:
B { @ACell body }
}
}
-Although the concept extends to more than two options, the symnbol
+Although the concept extends to more than two options, the symbol
doesn't. The summary at the end of this chapter shows the other
three directions.
@PP
diff --git a/doc/user/dia_tree b/doc/user/dia_tree
index 3b1b6d1..dd8ad1a 100644
--- a/doc/user/dia_tree
+++ b/doc/user/dia_tree
@@ -239,9 +239,7 @@ end of the stub path:
@Code @Verbatim {
@Tree {
@Circle @Eq { a }
-@StubSub
- from { SW }
- to { SE }
+@StubSub from { SW } to { SE }
@Box outlinestyle { noline }
@Eq { T tsub a }
}
@@ -250,9 +248,7 @@ end of the stub path:
@Diag {
@Tree {
@Circle @Eq { a }
-@StubSub
- from { SW }
- to { SE }
+@StubSub from { SW } to { SE }
@Box outlinestyle { noline }
@Eq { T tsub a }
}
diff --git a/doc/user/equ b/doc/user/equ
index 6e3525d..0d0b0ca 100644
--- a/doc/user/equ
+++ b/doc/user/equ
@@ -25,6 +25,6 @@ you, and it provides several hundred mathematical symbols.
@Include { equ_disp }
@Include { equ_defs }
@Include { equ_summ }
-@Include { equ_tequ }
+# @Include { equ_tequ } apparently not offered any more, forget why
@EndSections
@End @Chapter
diff --git a/doc/user/equ_intr b/doc/user/equ_intr
index e6f742f..1c3ea37 100644
--- a/doc/user/equ_intr
+++ b/doc/user/equ_intr
@@ -32,16 +32,6 @@ Equations may appear within a paragraph of text, or they may be
displayed. {@Code "@Eq"}'s job is to produce an object containing the
equation; it neither knows nor cares where this equation goes.
@PP
-To get an equation within a paragraph, simply place @Code "@Eq { ... }"
-at the desired point. To make the optimal paragraph breaker work hard to
-arrange the paragraph so that the equation does not spread over two
-lines, use {@Code "@OneCol @Eq { ... }"}. This is needed so frequently
-that a symbol @Code "@E" is defined in @Code "eq" along with @Code "@Eq"
-equations. @RawIndex { equations }
-equations.e @SubIndex { @Code "@E" }
-eaaa.equations @Index { @Code "@E" (equations) }
-which is an abbreviation for {@Code "@OneCol @Eq"}.
-@PP
To display an equation, use a display symbol like @Code "@IndentedDisplay"
or @Code "@CentredDisplay" (Section {@NumberOf displays}). For example,
@ID @Code "@CentredDisplay @Eq { int supp pi on 0 sin ` x = 0 }"
@@ -51,6 +41,14 @@ There are also symbols for aligned and numbered displays, which are
very commonly used with equations. These symbols are the subject of
Section {@NumberOf mathdisplays}.
@PP
+To get an equation within a paragraph, it is best to use a variant of
+@Code "@Eq" called {@Code "@E"}. An equation within @Code "@E { ... }"
+will be prevented from breaking across two lines, and its superscripts
+will appear slightly lower, which is desirable within paragraphs.
+equations. @RawIndex { equations }
+equations.e @SubIndex { @Code "@E" }
+eaaa.equations @Index { @Code "@E" (equations) }
+@PP
In this chapter we show the Lout input at the left, and its
result at the right:
@ID {
diff --git a/doc/user/equ_summ b/doc/user/equ_summ
index 8f5b738..5b3c1aa 100644
--- a/doc/user/equ_summ
+++ b/doc/user/equ_summ
@@ -582,9 +582,8 @@ ragged @Break {
}
@DP
Finally, here is the long list of full names from the Adobe Symbol font;
-these are the same characters as you get with the @Code "@Sym" symbol
-of Section {@NumberOf characters}, but within equations you don't need
-to type {@Code "@Sym"}:
+these are as for the @Code "@Sym" symbol of Section {@NumberOf characters},
+but within equations you don't type {@Code "@Sym"}:
@DP
ragged @Break {
"space" @Dbl @Eq { space }
diff --git a/doc/user/gra_over b/doc/user/gra_over
index b459da8..a2f5467 100644
--- a/doc/user/gra_over
+++ b/doc/user/gra_over
@@ -14,17 +14,17 @@ graphs.style @SubIndex { @Code style option }
style. @RawIndex { @Code "style" option }
style.in.graphs @SubIndex { in graphs }
axes. @Index { axes in graphs }
-graph, whose value may be either {@Code "frame"}, {@Code "none"},
-or {@Code "axes"}. The default value is {@Code "frame"}, and it produces
-a frame around the graph with ticks and labels along its left and bottom
-edges, as in previous examples. Value @Code "grid" is similar except
-that the ticks are converted into grid lines crossing the entire
-frame. The {@Code "none"} style prints nothing (no frame, no ticks,
-no labels), which is useful for producing graphs that don't look like
-graphs, as it were.
+graph, whose value may be either {@Code "frame"}, {@Code "grid"},
+{@Code "none"}, or {@Code "axes"}. The default value is {@Code "frame"},
+and it produces a frame around the graph with ticks and labels along
+its left and bottom edges, as in previous examples. Value @Code "grid"
+is similar except that the ticks are converted into grid lines crossing
+the entire frame. The {@Code "none"} style prints nothing (no frame,
+no ticks, no labels), which is useful for producing graphs that don't
+look like graphs, as it were.
@PP
-If the other value, {@Code "axes"}, is chosen, two other options called
-{@Code xorigin} and {@Code yorigin} become compulsory:
+If {@Code "axes"} is chosen, two other options called {@Code xorigin}
+and {@Code yorigin} become compulsory:
graphs. @RawIndex { graphs (statistical) }
graphs.xorigin @SubIndex { @Code xorigin option }
xorigin.graph @Index { @Code "xorigin" option (graphs) }
diff --git a/doc/user/gra_summ b/doc/user/gra_summ
index d0ca103..15662c1 100644
--- a/doc/user/gra_summ
+++ b/doc/user/gra_summ
@@ -18,7 +18,7 @@ their possible values are:
@Rowa
A { style }
B { frame }
- C { {@Code frame}, {@Code axes}, or {@Code none} }
+ C { {@Code frame}, {@Code grid}, {@Code axes}, or {@Code none} }
@Rowa
A { width }
B { 6.0c }
diff --git a/doc/user/preface b/doc/user/preface
index e9c9bab..a97008b 100644
--- a/doc/user/preface
+++ b/doc/user/preface
@@ -18,7 +18,7 @@ gnu. @Index { GNU Public License }
primary source is directory
@ID @Code "ftp://ftp.it.usyd.edu.au/jeff/lout"
containing a gzipped tar file of the current version
-(currently {@Code "lout-3.30.tar.gz"}), and various other things including
+(currently {@Code "lout-3.31.tar.gz"}), and various other things including
a PostScript version of this guide. The distribution contains source code,
libraries, documentation, license, and installation instructions.
@PP
diff --git a/doc/user/prg b/doc/user/prg
index 5f8aa71..8643d6b 100644
--- a/doc/user/prg
+++ b/doc/user/prg
@@ -8,15 +8,15 @@ programs. @Index { programs }
computer.programs. @RawIndex { computer programs @I see programs }
in conjunction with the @Code prg2lout
prg2lout. @Index { @Code prg2lout filter program }
-@FootNote {
-Prior to Version 3.18 of Lout, this chapter described how to typeset
-programs written in the C programming language using the
-@Code c2lout filter, and Eiffel programs using the @Code eif2lout
-filter. These have now been withdrawn and replaced by {@Code prg2lout},
-which handles multiple languages. Ordinary Lout documents require no
-modifications as a result of this change.
-}
filter program, which is always installed wherever Lout is.
+# @FootNote {
+# Prior to Version 3.18 of Lout, this chapter described how to typeset
+# programs written in the C programming language using the
+# @Code c2lout filter, and Eiffel programs using the @Code eif2lout
+# filter. These have now been withdrawn and replaced by {@Code prg2lout},
+# which handles multiple languages. Ordinary Lout documents require no
+# modifications as a result of this change.
+# }
@PP
It is possible to simply print out one or more program files independently
of any document. Alternatively, the program text may be printed as part of
diff --git a/doc/user/prg_chan b/doc/user/prg_chan
index ae67eea..35c102f 100644
--- a/doc/user/prg_chan
+++ b/doc/user/prg_chan
@@ -33,6 +33,7 @@ file. Here is part of the @Code "@Use" clause from {@Code cprint}:
@Rowb A { "fixedfont" } B { Courier }
@Rowb A { "fixedsize" } B { -1.0p }
@Rowb A { "fixedline" } B { 1.0vx }
+@Rowb A { "fixedspace" } B { lout }
@Rowb A { "fixedtabin" } B { 8 }
@Rowb A { "fixedtabout" } B { 8s }
@@ -67,10 +68,10 @@ shown, which apply when @Code style is {@Code varying} and {@Code symbol}.
@PP
We can see in this extract that the default value of @Code style is
{@Code fixed}, and of @Code "numbers" is {@Code No}. We can also see the
-default font family, font face, font size,
-line spacing, and tab settings when the style is {@Code "fixed"}. The
-font family name for @Code "fixed" style is {@Code "Courier"}, but for the
-other styles (not shown) it is empty. This causes the @Code "fixed" style
+default font family, font face, font size, line spacing, spacing mode,
+and tab settings when the style is {@Code "fixed"}. The font family
+name for @Code "fixed" style is {@Code "Courier"}, but for the other
+styles (not shown) it is empty. This causes the @Code "fixed" style
to always switch to Courier, and the other styles to use the same font
family as in the surrounding document.
@PP
diff --git a/doc/user/prg_opti b/doc/user/prg_opti
index f48e662..292f26a 100644
--- a/doc/user/prg_opti
+++ b/doc/user/prg_opti
@@ -85,6 +85,7 @@ default values:
font { Courier }
size { -1.0p }
line { 1.0vx }
+ space { lout }
tabin { 8 }
tabout { 8s }
identifiers { Base }
@@ -116,8 +117,13 @@ size.programs @Index { @Code "size" option (programs) }
programs. @RawIndex { programs }
programs.line @SubIndex { @Code "line" option }
line.programs @Index { @Code "line" option (programs) }
-the font size to use, and {@Code "line"}, the inter-line spacing. The
-default value for @Code "size" asks for one point smaller than in the
+the font size to use, {@Code "line"}, the inter-line spacing, and
+{@Code "space"}, the spacing mode (as for the @Code "@Space" symbol
+of Section {@NumberOf white}).
+programs. @RawIndex { programs }
+programs.space @SubIndex { @Code "space" option }
+space.programs @Index { @Code "space" option (programs) }
+The default value for @Code "size" asks for one point smaller than in the
surrounding document; this was done to compensate for Courier's relatively
large appearance compared to other fonts of the same nominal size.
@PP
diff --git a/doc/user/str_foot b/doc/user/str_foot
index 70e50a2..8165a6b 100644
--- a/doc/user/str_foot
+++ b/doc/user/str_foot
@@ -115,11 +115,16 @@ through the document (or through each chapter in the case of books);
page. @Code "@FootNoteLocation" determines the default value of
footnotelocatin. @Index @Code "@FootNoteLocation"
the @Code "@Location" option mentioned above; it may be either
-@Code "ColFoot" or {@Code "PageFoot"}. @Code "@FootNoteNumbers"
-determines how the footnotes are numbered;
+@Code "ColFoot" or {@Code "PageFoot"}.
+@PP
+@Code "@FootNoteNumbers" determines how the footnotes are numbered;
footnotenumbers. @Index @Code "@FootNoteNumbers"
it may be {@Code Arabic}, {@Code Roman}, {@Code UCRoman}, {@Code Alpha},
-or {@Code UCAlpha}.
+or {@Code UCAlpha}, which give the obvious results. It may also be
+{@Code Bullets}, which uses sequences of bullets to mark the footnotes,
+following a style proposed by typographer Jan Tschichold, and it
+may be {@Code Symbols}, which produces the traditional sequence of
+daggers and similar symbols.
@PP
@Code "@FootNoteFont" and @Code "@FootNoteBreak" determine the
footnotefont. @Index @Code "@FootNoteFont"
diff --git a/doc/user/str_marg b/doc/user/str_marg
index fdb58f4..f7057c0 100644
--- a/doc/user/str_marg
+++ b/doc/user/str_marg
@@ -147,12 +147,14 @@ may be used inside the @Code "x" and @Code "y" options:
A { "ymark" }
B { The row mark of the object being placed (for expert users) }
}
-The usual precedences and associativities apply to the mathematical
-operators; braces (not parentheses) may be used for grouping. It is
-best to give values to @Code "x" and @Code y that do not depend on
-any assumptions about where the coordinate system's origin is; this
-is true of the examples above. At the point where @Code "@Place" occurs,
-the result is an empty object. As with margin notes, Lout does not know
-what is happening and will not lay out the rest of the page around the
+Negative numbers have to be enclosed in double quotes to avoid the
+initial @Code "-" being mistaken for subtraction. The usual precedences
+and associativities apply to the mathematical operators; braces (not
+parentheses) may be used for grouping. It is best to give values to
+@Code "x" and @Code y that do not depend on any assumptions about
+where the coordinate system's origin is; this is true of the examples
+above. At the point where @Code "@Place" occurs, the result is an
+empty object. As with margin notes, Lout does not know what is
+happening and will not lay out the rest of the page around the
placed object.
@End @Section
diff --git a/doc/user/typ_book b/doc/user/typ_book
index 1e9c081..c62885e 100644
--- a/doc/user/typ_book
+++ b/doc/user/typ_book
@@ -381,6 +381,7 @@ symbol whose options control the appearance of features specific to books
" # @ChapterHeadingFormat { number @DotSep title }"
" # @AboveChapterGap { 3.00f }"
" # @ChapterInContents { Yes }"
+" # @ChapterContentsIndent { 0f }"
"}"
}
This is just a representative sample of these options. Section
@@ -492,4 +493,10 @@ much space is left before each one.
the table of contents for each chapter; it may be @Code Yes or {@Code No},
but would always be {@Code Yes}. The default value of the corresponding
options for sub-subsections and sub-subappendices, however, is {@Code No}.
+@Code "@ChapterContentsIndent" determines how far from the left margin
+the contents entry is indented if it is printed at all. The default
+value shown above causes no indenting; but the default values for
+the corresponding @Code "@SectionrContentsIndent" and
+@Code "@SubSectionrContentsIndent" symbols are @Code 3f and @Code 6f
+respectively, producing the familiar indenting structure.
@End @Section
diff --git a/doc/user/typ_illu b/doc/user/typ_illu
index 532b42b..ec62140 100644
--- a/doc/user/typ_illu
+++ b/doc/user/typ_illu
@@ -58,7 +58,7 @@ makes things very awkward for filled paragraphs and centring, which depend
on knowing how much space is available to be occupied. So you should either
avoid filled paragraphs and all displays and lists altogether in
illustrations, or else enclose your object in a @Code "@Wide" symbol:
-wide @RawIndex { @Code "@Wide" }
+wide. @RawIndex { @Code "@Wide" }
wide.illustrations @SubIndex { with illustrations }
@ID @OneRow @Code {
"@Illustration 5c @Wide {"
diff --git a/doc/user/typ_ordi b/doc/user/typ_ordi
index e171115..36feefa 100644
--- a/doc/user/typ_ordi
+++ b/doc/user/typ_ordi
@@ -273,6 +273,7 @@ ordinary.setup @Index @Code "@OrdinarySetup"
" # @SectionHeadingFont { Bold }"
" # @SectionGap { 2.00v }"
" # @SectionInContents { Yes }"
+" # @SectionContentsIndent { 0f }"
"}"
}
Section {@NumberOf setup} explains how to make your own setup file and
@@ -309,4 +310,7 @@ before each one.
the table of contents for each section; it may be @Code Yes or {@Code No},
but would always be {@Code Yes}. The default value of the corresponding
options for sub-subsections and sub-subappendices, however, is {@Code No}.
+@Code "@SectionContentsIndent" determines the indent of the contents
+entry if printed at all; the default value shown above, @Code {0f},
+asks for zero indenting, so the entry will appear at the left margin.
@End @Section
diff --git a/doc/user/typ_repo b/doc/user/typ_repo
index ece7fe0..fe41acc 100644
--- a/doc/user/typ_repo
+++ b/doc/user/typ_repo
@@ -317,6 +317,7 @@ is a representative sample of these options, showing their default values:
" # @SectionHeadingFont { Bold }"
" # @SectionGap { 2.00v }"
" # @SectionInContents { Yes }"
+" # @SectionContentsIndent { 0f }"
"}"
}
@Code "@CoverSheet" and @Code "@DateLine" are as for {@Code "@Report"};
@@ -349,6 +350,8 @@ section title; the default value shown above is twice the current
inter-line spacing. The special value @Code "2b" may be used to get a
page break rather than a space. @Code "@SectionInContents" determines
whether or not an entry is made in the table of contents for each section;
-it may be @Code Yes or {@Code No}. There are similar options for other
+it may be @Code Yes or {@Code No}. @Code "@SectionContentsIndent"
+determines how far the contents entry is indented from the left
+margin if printed at all. There are similar options for other
large-scale structure symbols.
@End @Section
diff --git a/doc/user/vtyp b/doc/user/vtyp
index 003ff0b..a360b04 100644
--- a/doc/user/vtyp
+++ b/doc/user/vtyp
@@ -1,2 +1,2 @@
-vi typ typ_ordi typ_repo typ_book typ_over typ_illu typ_plai \
+gvim typ typ_ordi typ_repo typ_book typ_over typ_illu typ_plai \
typ_apdf typ_orga