aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user/typ_plai
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/typ_plai')
-rw-r--r--doc/user/typ_plai76
1 files changed, 76 insertions, 0 deletions
diff --git a/doc/user/typ_plai b/doc/user/typ_plai
new file mode 100644
index 0000000..a880ccb
--- /dev/null
+++ b/doc/user/typ_plai
@@ -0,0 +1,76 @@
+@Section
+ @Title { Plain text documents }
+ @Tag { plain }
+@Begin
+@PP
+Occasionally you may need to produce an output file containing plain text
+plain.text. @Index { plain text documents }
+rather than PostScript, for example for an online manual entry or to send
+as electronic mail. Any document that can be produced by Lout in
+PostScript can be produced in plain text as well, by adding a @Code "-p"
+flag to the Unix command line:
+@ID @Code "lout -p simple"
+No other changes are required. Here we are sending the output directly to
+the screen, but it can be redirected to a file, or piped through the
+@Code more command for viewing one page at a time, etc.
+@PP
+Of course, plain text is an extremely limited medium of communication
+compared with PostScript, and this forces Lout to make some rather
+drastic compromises:
+@BulletList gap { @ParaGap }
+@LI { Symbols like {@Code "@Bullet"}, which stand for unusual characters,
+produce printable characters which approximate the PostScript ones. For
+example, {@Code "@Bullet"} produces {@Code "o"}. However, the @Code "@Char"
+and @Code "@Sym" symbols often produce unprintable characters, and are best
+avoided; }
+@LI { All font and size changes are ignored, since plain text has only
+one font and size. Every character is taken to be @Eq { 1 frac 10 } inch
+wide and @Eq { 1 frac 6 } inch high; }
+@LI { No underlines are printed; }
+@LI { No margin notes are printed; }
+@LI { Scaled objects are not printed unless the scale factor happens to be 1; }
+@LI { Rotated objects are not printed unless the angle happens to be zero
+degrees. This means that page orientations (Section {@NumberOf pagesize})
+other than @Code Portrait do not work; }
+@LI { Ruled lines are not printed, and paint and colour options are
+ignored. This spoils the graphics and graphs of Chapters
+{@NumberOf graphics}, {@NumberOf diagrams}, and {@NumberOf graphs}. }
+@EndList
+Despite the problems, many things work surprisingly well. Tables, for example,
+look very good. It does no harm to try things and see if they work out.
+@PP
+The worst problem with plain text is that characters cannot be placed at
+arbitrary points on the page. A superscript, for example, is impossible to
+place correctly, so Lout uses a different layout for footnote labels (and
+makes a mess of equations, which are best avoided). Because of this problem
+it's best to make all horizontal lengths multiples of @Eq {1 frac 10} inch
+(conveniently expressed as {@Code 1s}), and all vertical lengths multiples
+of @Eq { 1 frac 6 } inch (conveniently expressed as {@Code 1f}). To help
+you do this, the setup files contain many entries that look like this
+example:
+@ID @Code "# @InitialBreak { {adjust 1.2fx hyphen} @OrIfPlain {ragged 1fx nohyphen} }"
+The meaning is that the value of @Code "@InitialBreak" will be
+@Code "adjust 1.2fx hyphen" usually, but will switch to
+{@Code "ragged 1fx nohyphen"}, which is better suited to plain text,
+if the @Code "-p" command line flag is used. These setup file values
+allow you to switch from PostScript to plain text and back again without
+changing anything at all except the @Code "-p" command line flag.
+@PP
+If you use @Code "lout -P" instead of {@Code "lout -p"}, the plain text
+output will contain a form-feed character (control-L) after each page
+form.feed @Index { form-feed in plain text }
+except the last. This character causes most printing devices to start
+a new page, which is very useful when your page height is not exactly
+right.
+@PP
+The @Code "@Document" symbol (Section {@NumberOf ordinary}) has an
+unpaginated. @Index @Code "@Unpaginated"
+@Code "@Unpaginated" option which, when set to {@Code "Yes"}, causes
+the plain text output to appear unpaginated, that is, in one long
+continous stream with no page breaks. Its value is ignored if plain text
+output is not in effect, so it can be safely set to @Code "Yes" in
+documents intended for formatting both ways. The usual margins apply;
+footnotes appear at the end; figures and tables do not work. Lout
+stupidly reads the entire document before producing any output when
+this option is used, so if the document is long you might run out of memory.
+@End @Section