@NewPage @SeeAlso(Primary="Text processing",Other="LAYOUT") @Index(LAYOUT) @Section(LAYOUT) Layout is a program which produces a paged formatted document from a source file. The source file consists of text interspersed with directives to LAYOUT. Directives consist of "$" followed by a letter. The following commands are useful to know for anyone using LAYOUT: @Begin(Enumerate) $A INVERT=0 letters are left in the case they are read. (Otherwise all letters are forced to lower case). $A JUST=1 Lines are fully justified. $P to start a new paragraph. $B0 to break a line. @End(Enumerate) @IndexSecondary(Primary="LAYOUT", Secondary="Assign directive") @SubSection($A Assign Directive) The details of operation of LAYOUT are governed by a number of parameters. These can be altered at any time by a $A assign directive. FORMAT: $A =;=... @Paragraph(INVERT, TOP, BOTTOM, PAGE, LEFT, LINE, PAGENO, SECTNO, MARK, SGAP, PGAP, JUST, NLS) @Begin(Description, LeftMargin 10, Indent -10) @IndexSecondary(Primary="LAYOUT", Secondary="Character case") INVERT @\If non-zero, all upper case letters are inverted to lower case (and lower to upper). If zero, then letters are left in the case in which they are read. (Default = non-zero) @IndexSecondary(Primary="LAYOUT", Secondary="Top margin") TOP @\Number of blank lines to form the top margin. (Default = 2) @IndexSecondary(Primary="LAYOUT", Secondary="Bottom margin") BOTTOM @\Number of blank lines to form the bottom margin. (Default = 4) @IndexSecondary(Primary="LAYOUT", Secondary="Page length") PAGE @\Number of lines in a page available for text. If set to 0 then the page turns are suppressed. (Default = 60) @IndexSecondary(Primary="LAYOUT", Secondary="Left margin") LEFT @\Number of spaces that will form the left margin. (Default = 0) @IndexSecondary(Primary="LAYOUT", Secondary="Line length") LINE @\Number of characters available in the line for the text, not counting the left margin. (Default = 72) @IndexSecondary(Primary="LAYOUT", Secondary="Page number") PAGENO @\Page number. If 0, the page number is not printed. (Default = 0) @IndexSecondary(Primary="LAYOUT", Secondary="Section number") SECTNO @\Section Number. (Default =0) SGAP @\Number of spaces to be inserted at the end of a sentence. (Default = 2) @IndexSecondary(Primary="LAYOUT", Secondary="Paragraph indentation") PGAP @\Number of spaces by which the first line of a paragraph is indented. (Default = 3) @IndexSecondary(Primary="LAYOUT", Secondary="Justification") JUST @\If non-zero, the lines are fully justified. (Default = 0) @IndexSecondary(Primary="LAYOUT", Secondary="Line spacing") NLS @\Line spacing. (Default = 1) @End(Description) @IndexSecondary(Primary="LAYOUT", Secondary="Line directive") @SubSection($L Lines Directive) The $L command is particularly useful for headings and titles. FORMAT: $L ,,... is the number of source lines to be copied in the way specified by the $L directive. If is = 0 then all source lines up to the next directive are copied following th $L directive. @Paragraph(C, U, M) @Begin(Description, LeftMargin 8, Indent -8) @IndexSecondary(Primary="LAYOUT", Secondary="Character case") C @\Capitalise all letters. @IndexSecondary(Primary="LAYOUT", Secondary="Underlining") U @\Underline all characters (including spaces). @IndexSecondary(Primary="LAYOUT", Secondary="Centering") M @\Centralise each line. @End(Description) @SubSection($B, $N, $P, $V, $J, $S) @Begin(Description, LeftMargin 8, Indent -8) @IndexSecondary(Primary="LAYOUT", Secondary="Insert blank lines") $B @\Add blank lines to the output file. $B0 can be used to terminate the current output line. @IndexSecondary(Primary="LAYOUT", Secondary="Insert blank pages") $N @\Newpage. If the current page is empty then the directive is ignored. To get a blank page use $N$B$N. @IndexSecondary(Primary="LAYOUT", Secondary="Need lines") $V @\A new page is started if fewer than lines remain on the current page. @IndexSecondary(Primary="LAYOUT", Secondary="Line break") $J @\The current line is terminated and justified if JUST is non-zero. @IndexSecondary(Primary="LAYOUT", Secondary="New Section") $S @\A new section and a new page are started. PAGENO is reset to 1 and SECNO is increased by 1. @End(Description)