@Section
   @Title { Starting a new line, paragraph, or page }
   @Tag { paragraphs }
@Begin
@PP
The usual way to start a new paragraph is with the @Code "@PP" `plain
pp. @Index @Code "@PP"
paragraphs. @Index { paragraph symbols }
paragraph' symbol.  It produces a small vertical space and indents the
first line of the new paragraph.  Some document formatting systems
interpret a blank line as a request to start a new paragraph.  This is
not the case with Lout:  a blank line is two line-endings, equivalent to
two spaces.
@PP
The @Code "@LP" `left paragraph' symbol produces the same
lp. @Index @Code "@LP"
vertical space as {@Code "@PP"}, but omits the indent.  The @Code "@LLP"
`left line paragraph' symbol starts a new paragraph using
llp. @Index @Code "@LLP"
the usual inter-line spacing and no indent, or in other words it starts a
new line.  If you are using it to create single lines, you need the
@Code "lines" paragraph breaking style instead (Section {@NumberOf paras}).
@PP
The @Code "@DP" `display paragraph' symbol produces a somewhat larger
dp. @Index @Code "@DP"
vertical space, equal to the amount used before and after displays
(Section {@NumberOf displays}), with no indent.  To get even more
space, use @Code "@DP" repeatedly.  Another symbol,
{@Code "@LOP"}, leaves a paragraph break the size of the gap left
lop. @Index @Code "@LOP"
outside (that is, before and after) lists (Section {@NumberOf lists}).  This
is usually equal to {@Code "@DP"}.
@PP
The {@Code "@NP"} `new page' symbol causes the following paragraph to
page. @Index { page, skipping to next }
new.page @Index { new page }
np. @Index { @Code "@NP" (new page) }
begin on a new page or column.  Of course, Lout starts a new page or
column automatically when the old one is full, so @Code "@NP" is needed
only rarely.
@PP
To make each section begin on a new page you must set the @Code "@SectionGap"
sectiongap. @Index @Code "@SectionGap"
setup file option (Section {@NumberOf largescale}).  To make one particular
section start on a new page or column, place @Code "@NP" within the previous
section, at the end.  Placing @Code "@NP" between sections will not work.
@PP
Occasionally Lout will start a new page or column directly after a heading,
which looks very poor.  The obvious answer is to place an @Code "@NP"
just before the heading, but when the document is later revised and the
heading no longer falls near the page or column ending, this @Code "@NP"
will have to be taken away again.
A better answer is to precede the heading with a @Code "@CNP" `conditional
cnp. @Index @Code "@CNP"
new page' symbol, which checks whether enough space remains in the page or
column for a heading and at least two lines of text.  If so, @Code "@CNP"
does nothing; if not, @Code "@CNP" causes a new page or column to be begun,
like {@Code "@NP"}.  The recommended arrangement is
@ID @OneRow @Code {
# "end of previous part."
"@DP"
"@CNP"
"@Heading { A Heading }"
"@PP"
"First paragraph of next part ..."
}
The @Code "@CNP" symbol should be preceded by either @Code "@DP" or
@Code "@LP", preferably {@Code "@DP"}, and this determines the amount of
space when the @Code "@NP" action does not occur.
@PP
The ultimate answer to the conditional new page problem is to recognise
that the heading is the beginning of a new section of the document, and
to use a large-scale structure symbol like @Code "@Section" (Section
{@NumberOf largescale}).  Conditional new page is just one of many
services provided automatically by these symbols.
@PP
Some people do not like to see the first line of a paragraph alone at
the bottom of a page, or the last line of a paragraph alone at the
top (these blemishes are sometimes called widows and orphans).  You
can instruct Lout not to allow these; see the next section for details.
@PP
You can modify the effect of the paragraph symbols by changing options
in the setup file.  For general information about setup files and their
options, consult Section {@NumberOf setup}; here we just explain how
the relevant options work.  The options and their default values are
paragap @Index @Code "@ParaGap"
paraindent @Index @Code "@ParaIndent"
displaygap @Index @Code "@DisplayGap"
@ID @OneRow @Code {
"@ParaGap { 1.30vx }"
"@ParaIndent { 2.00f }"
"@DisplayGap { 1.00v }"
}
The values are lengths (Section {@NumberOf objects}), except that
for reasons beyond our scope @Code "@ParaGap" must be a length with
an @Code "x" appended, as shown.  The @Code "@ParaGap" option determines
how much vertical space will be
inserted by @Code "@PP" and {@Code "@LP"}.  The default value,
{@Code "1.30vx"}, is 30% more than the normal inter-line spacing;
to get no extra spacing, change it to {@Code "1.00vx"}.  The
@Code "@ParaIndent" option determines the width of the indent produced
by {@Code "@PP"}, and its default value is twice the current font
size.  The @Code "@DisplayGap" option determines the amount of vertical
space inserted by {@Code "@DP"}, as well as the vertical space before
and after displays.
@End @Section
