[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 03/03: [ms]: Revise paragraph and list documentation.
From: |
G. Branden Robinson |
Subject: |
[groff] 03/03: [ms]: Revise paragraph and list documentation. |
Date: |
Mon, 29 Mar 2021 07:02:27 -0400 (EDT) |
gbranden pushed a commit to branch master
in repository groff.
commit f403182054f30af479fc1e7a59a95b4cf75b49fa
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Mon Mar 29 13:24:15 2021 +1100
[ms]: Revise paragraph and list documentation.
* doc/groff.texi (Body text):
* doc/ms.ms (Body text): Recast introduction; stop being
self-referential ("This section...")
* doc/groff.texi (Paragraphs in ms):
* doc/ms.ms (Paragraphs):
* tmac/groff_ms.7.man (Paragraphs):
- Recast introduction, summarizing what the macros have in common and
how they differ.
- Shift macro descriptions from sentence fragments to imperative mood.
- Introduce LP macro first--it is in a sense the most "vanilla" of the
paragraphing macros.
- <LP>: Avoid misleading reader; the macro imposes no _additional_
indentation.
- <PP>: Clarify that indentation is on the first line and the left.
- <IP>: Document macro here (instead of in "Lists") since it is in
fact a paragrphing macro and shares properties with the others.
Correct claim of how long an indentation width persists. Note
(in comment) Savannah ticket number regarding Unix ms behavior
difference, possibly a bug.
- <QP>: Document as a Berkeley extension.
- <QS, QE>: Document as GNU extensions.
- <XP>: Document as a Berkeley extension. Mention "exdented" and
"hanging indent" when describing for readers seeking this function
under those names.
* doc/groff.texi (Paragraphs in ms): Discuss PORPHANS in lead paragraph
since it is formally documented in another node.
* doc/groff.texi (Paragraphs in ms):
* doc/ms.ms (Paragraphs):
- <PORPHANS>: Move register description to precede example.
- Revise example to illustrate use of IP macro as well.
* doc/groff.texi (Lists in ms):
* doc/ms.ms (Lists):
- Recast introductory paragraph to emphasize application of
already-introduced IP macro.
- Supply "n" scaling indicator in examples of IP macro call to
minimize ambiguity with a numeric marker (or "tag").
- Coalesce adjacent one-sentence paragraphs.
- Break input lines in examples after commas.
- Revise glossary-style examples of forced break after marker to be
informal "diffs" against the previous example to conserve space and
increase focus on the syntactical changes required.
- Add \h escape technique for forcing break in tagged list.
- Supply example of resulting output from any of the three techniques.
* doc/ms.ms:
- Use two empty requests where vertical space is expected.
- Use groff-style special character escape syntax.
(Paragraphs):
- Bracket "Paragraphs" heading and first paragraph in a keep.
- Place macro descriptions in boxed tables.
- Use \[aq] for neutral apostrophes in code example.
(Lists):
- Use \[rs] instead of \\ to get a backslash glyph.
- Assemble the three tag break workarounds and output example into a
single table.
* tmac/groff_ms.7.man (Paragraphs): Present macro descriptions in tagged
paragraphs.
(Lists): Delete subsection; with the IP macro moved to subsection
"Paragraphs" and no examples in the man page, it had no remaining
content.
---
doc/groff.texi | 192 ++++++++++++++++---------------
doc/ms.ms | 316 +++++++++++++++++++++++++++++++++++-----------------
tmac/groff_ms.7.man | 179 +++++++++++++++--------------
3 files changed, 401 insertions(+), 286 deletions(-)
diff --git a/doc/groff.texi b/doc/groff.texi
index 2864439..2c37e88 100644
--- a/doc/groff.texi
+++ b/doc/groff.texi
@@ -3018,8 +3018,9 @@ added features are more in line with user demand.
@subsection Body text
@cindex @code{ms} macros, body text
-This section describes macros used to mark up the body of your document.
-Examples include paragraphs, sections, and other groups.
+A variety of macros, registers, and strings can be used to structure and
+style the body of your document. Examples include paragraphs, headings,
+footnotes, and inclusions of material such as tables and figures.
@menu
* Paragraphs in ms::
@@ -3040,75 +3041,89 @@ Examples include paragraphs, sections, and other groups.
@subsubsection Paragraphs
@cindex @code{ms} macros, paragraph handling
-The following paragraph types are available.
+Several paragraph types are available, differing in how indentation is
+applied: to left, right, or both margins; to the first output line of
+the paragraph, all output lines, or all but the first. All paragraphing
+macro calls cause the insertion of vertical space in the amount stored
+in the @code{PD} register, except at page breaks. The @code{PORPHANS}
+register (@pxref{ms Document Control Settings}) operates in conjunction
+with each of these macros to inhibit the printing of orphaned lines at
+the bottom of any page.
+
+@Defmac {LP, , ms}
+Set a paragraph without any (additional) indentation.
+@endDefmac
@Defmac {PP, , ms}
-Sets a paragraph with an initial indentation.
+Set a paragraph with a first-line left indentation in the amount stored
+in the @code{PI} register.
@endDefmac
-@Defmac {LP, , ms}
-Sets a paragraph without an initial indentation.
+@Defmac {IP, [@Var{marker} [@Var{width}]], ms}
+Set a paragraph with a left indentation. The optional @var{marker} is
+not indented and is empty by default. It has several applications;
+see @ref{Lists in ms}. @var{width} overrides the default indentation
+amount stored in the @code{PI} register; its default unit is @samp{n}.
+Once specified, @var{width} applies to further @code{IP} calls until
+specified again or a different paragraphing
+@c or heading (Savannah #60222)
+macro is called.
@endDefmac
@Defmac {QP, , ms}
-Sets a paragraph that is indented at both left and right margins by the
-amount of the register @code{QI}. The next paragraph or heading returns
-margins to normal. @code{QP} inserts vertical space of amount set by
-register @code{PD} before the paragraph.
+Set a paragraph indented from both left and right margins by the amount
+stored in the @code{QI} register. This is a Berkeley extension.
@endDefmac
@DefmacList {QS, , ms}
@DefmacListEndx {QE, , ms}
-These macros begin and end a quoted region. The @code{QI} register
-controls the amount of indentation. Both @code{QS} and @code{QE} insert
-inter-paragraph vertical space set by register @code{PD}. The text
-between @code{QS} and @code{QE} can be structured further by use of the
-macros @code{LP} or @code{PP}.
+Begin (@code{QS}) and end (@code{QE}) a region where each paragraph is
+indented from both margins by the amount stored in the @code{QI}
+register. The text between @code{QS} and @code{QE} can be structured
+further by use of other paragraphing macros. These macros are GNU
+extensions.
@endDefmac
@Defmac {XP, , ms}
-Sets a paragraph whose lines are indented, except for the first line.
-This is a Berkeley extension.
+Set an ``exdented'' paragraph---one with a left indentation in the
+amount stored in the @code{PI} register on every line @emph{except} the
+first (also known as a hanging indent). This is a Berkeley extension.
@endDefmac
-The following markup uses all four paragraph macros.
+The following example illustrates several different paragraph macros.
@CartoucheExample
.NH 2
-Cases used in the study
+Cases used in the 2001 study
.LP
-The following software and versions were
-considered for this report.
-.PP
-For commercial software, we chose
-.B "Microsoft Word for Windows" ,
-starting with version 1.0 through the
-current version (Word 2000).
+Two software releases were considered for this report.
.PP
-For free software, we chose
-.B Emacs ,
-from its first appearance as a standalone
-editor through the current version (v20).
+The first is commercial software;
+the second is free.
+.IP \[bu]
+Microsoft Word for Windows,
+starting with version 1.0 through the current version
+(Word 2000).
+.IP \[bu]
+GNU Emacs,
+from its first appearance as a standalone editor through
+the current version (v20).
See [Bloggs 2002] for details.
.QP
Franklin's Law applied to software:
-software expands to outgrow both
-RAM and disk space over time.
-.LP
-Bibliography:
+software expands to outgrow both RAM and disk space over
+time.
+.SH
+Bibliography
.XP
Bloggs, Joseph R.,
.I "Everyone's a Critic" ,
Underground Press, March 2002.
-A definitive work that answers all questions
-and criticisms about the quality and usability of
-free software.
+A definitive work that answers all questions and
+criticisms about the quality and usability of free
+software.
@endCartoucheExample
-The @code{PORPHANS} register (@pxref{ms Document Control Settings})
-operates in conjunction with each of these macros to inhibit the
-printing of orphaned lines at the bottom of any page.
-
@c ---------------------------------------------------------------------
@node Headings in ms, Highlighting in ms, Paragraphs in ms, ms Body Text
@@ -3348,22 +3363,11 @@ Text enclosed with @code{\*<} and @code{\*>} is printed
as a subscript.
@subsubsection Lists
@cindex @code{ms} macros, lists
-The @code{IP} macro handles duties for all lists.
-
-@Defmac {IP, [@Var{marker} [@Var{width}]], ms}
-The @var{marker} is usually a bullet glyph (@code{\[bu]}) for unordered
-lists, a number (or auto-incrementing register) for numbered lists, or a
-word or phrase for indented (glossary-style) lists.
-
-The @var{width} specifies the indentation for the body of each list
-item; its default unit is @samp{n}. Once specified, the indentation
-remains the same for all list items in the document until specified
-again.
-
-The @code{PORPHANS} register (@pxref{ms Document Control Settings})
-operates in conjunction with the @code{IP} macro, to inhibit the
-printing of orphaned list markers at the bottom of any page.
-@endDefmac
+The @var{marker} argument to the @code{IP} macro can be employed to
+present a variety of lists; for instance, you can use a bullet glyph
+(@code{\[bu]}) for unordered lists, a number (or auto-incrementing
+register) for numbered lists, or a word or phrase for glossary-style or
+definition lists.
The following is an example of a bulleted list.
@cindex example markup, bulleted list [@code{ms}]
@@ -3371,7 +3375,7 @@ The following is an example of a bulleted list.
@CartoucheExample
A bulleted list:
-.IP \[bu] 2
+.IP \[bu] 2n
lawyers
.IP \[bu]
guns
@@ -3398,7 +3402,7 @@ The following is an example of a numbered list.
@CartoucheExample
.nr step 1 1
A numbered list:
-.IP \n[step] 3
+.IP \n[step] 3n
lawyers
.IP \n+[step]
guns
@@ -3418,9 +3422,8 @@ A numbered list:
3. money
@endExample
-Note the use of the auto-incrementing register in this example.
-
-The following is an example of a glossary-style list.
+Note the use of the auto-incrementing register @var{step} in the
+foregoing example. The next illustrates a glossary-style list.
@cindex example markup, glossary-style list [@code{ms}]
@cindex glossary-style list, example markup [@code{ms}]
@@ -3429,8 +3432,8 @@ A glossary-style list:
.IP lawyers 0.4i
Two or more attorneys.
.IP guns
-Firearms, preferably
-large-caliber.
+Firearms,
+preferably large-caliber.
.IP money
Gotta pay for those
lawyers and guns!
@@ -3450,42 +3453,53 @@ money
Gotta pay for those lawyers and guns!
@endExample
-In the last example, the @code{IP} macro places the definition on the
-same line as the term if it has enough space; otherwise, it breaks to
-the next line and starts the definition below the term. This may or may
-not be the effect you want, especially if some of the definitions break
-and some do not. The following examples show two possible ways to force
-a break.
-
-The first workaround uses the @code{br} request to force a break after
-printing the term or label.
+In the previous example, observe how the @code{IP} macro places the
+definition on the same line as the term if it has enough space. If this
+is not what you want, there are a few workarounds we will illustrate by
+modifying the example. First, you can use a @code{br} request to force
+a break after printing the term or label.
@CartoucheExample
-A glossary-style list:
-.IP lawyers 0.4i
-Two or more attorneys.
.IP guns
.br
-Firearms, preferably large-caliber.
-.IP money
-Gotta pay for those lawyers and guns!
+Firearms,
@endCartoucheExample
-The second workaround uses the @code{\p} escape to force the break.
-Note the space following the escape; this is important. If you omit the
-space, @code{groff} prints the first word on the same line as the term
-or label (if it fits) @emph{then} breaks the line.
+Second, you could apply the @code{\p} escape to force a break. The
+space following the escape is important; if you omit it, @code{groff}
+prints the first word of the paragraph text fits) on the same line as
+the term or label (if it fits) @emph{then} breaks the line.
@CartoucheExample
-A glossary-style list:
-.IP lawyers 0.4i
-Two or more attorneys.
.IP guns
-\p Firearms, preferably large-caliber.
-.IP money
-Gotta pay for those lawyers and guns!
+\p Firearms,
+@endCartoucheExample
+
+Finally, you may append unbreakable horizontal space to the term or
+label with the @code{\h} escape; using the same amount as the
+indentation will ensure that it's too wide for @code{groff} to treat it
+as ``fitting'' on the same line as the paragraph text.
+
+@CartoucheExample
+.IP guns\h'0.4i'
+Firearms,
@endCartoucheExample
+In each case, the result is the same.
+
+@Example
+A glossary-style list:
+
+lawyers
+ Two or more attorneys.
+
+guns
+ Firearms, preferably large-caliber.
+
+money
+ Gotta pay for those lawyers and guns!
+@endExample
+
@c ---------------------------------------------------------------------
@node Indented regions in ms, Tab stops in ms, Lists in ms, ms Body Text
diff --git a/doc/ms.ms b/doc/ms.ms
index 99263fa..ae64ff4 100644
--- a/doc/ms.ms
+++ b/doc/ms.ms
@@ -604,42 +604,151 @@ Body text
.XS
Body text
.XE
+.
+.
.LP
-This section describes macros
-used to mark up the body of your document.
-Examples include paragraphs, sections, and
-other groups.
+A variety of macros,
+registers,
+and strings can be used to structure and style the body of your
+document.
+.
+Examples include paragraphs,
+headings,
+footnotes,
+and inclusions of material such as tables and figures.
+.
+.
+.KS
.NH 2
Paragraphs
.XS
Paragraphs
.XE
+.
+.
.LP
-Use the
-.CW .PP
-macro to create indented paragraphs
-(like the next paragraph),
-and the
-.CW .LP
-macro to create paragraphs with no initial indent (like this one).
+Several paragraph types are available,
+differing in how indentation is
+applied:
+to left,
+right,
+or both margins;
+to the first output line of the paragraph,
+all output lines,
+or all but the first.
+.
+All paragraphing macro calls cause the insertion of vertical space in
+the amount stored in the
+.CW PD
+register,
+except at page breaks.
+.KE
+.
+.
.PP
The
-.CW .QP
-macro indents its text at both left and right margins.
-The effect is identical to the
-.Acr HTML
-.CW <BLOCKQUOTE>
-element.
-The next paragraph or heading
-returns margins to normal.
+.CW PORPHANS
+register defines the minimum number of initial lines of any paragraph
+that must be kept together to avoid orphaned lines at the bottom of a
+page.
+.
+If a new paragraph is started close to the bottom of a page,
+and there is insufficient space to accommodate
+.CW \[rs]n[PORPHANS]
+lines before an automatic page break,
+then a page break is forced before the start of the paragraph.
+.
+This is a GNU extension.
+.
+.
+.TS H
+box;
+lb lb
+lf(CR) lx.
+Macro Description
+_
+.TH
+\&.LP Set a paragraph without any (additional) indentation.
+_
+\&.PP T{
+Set a paragraph with a first-line left indentation in the amount stored
+in the
+.CW PI
+register.
+T}
+_
+\&.IP \f[R][\f[]\f[I]marker\f[] \f[R][\f[]\f[I]width\f[]\f[R]]]\f[]\
+ T{
+Set a paragraph with a left indentation.
+.
+The optional
+.I marker
+is not indented and is empty by default.
+.
+It has several applications;
+see subsection \[lq]Lists\[rq] below.
+.
+.I width
+overrides the default indentation amount stored in
+.CW \[rs]n[PI] ;
+its default unit is
+.CW n \[rq]. \[lq]
+.
+Once specified,
+.I width
+applies to further
+.CW .IP
+calls until specified again or a different paragraphing
+.\" or heading (Savannah #60222)
+macro is called.
+T}
+_
+\&.QP T{
+Set a paragraph indented from both left and right margins by
+.CW \[rs]n[QI] .
+.
+This is a Berkeley extension.
+T}
+_
+T{
+\&.QS
+.br
+\&.QE
+T} T{
+Begin
+.CW QS ) (
+and end
+.CW QE ) (
+a region where each paragraph is indented from both margins by
+.CW \[rs]n[QI] .
+.
+The text between
+.CW .QS
+and
+.CW .QE
+can be structured further by use of other paragraphing macros.
+.
+These macros are GNU extensions.
+T}
+_
+\&.XP T{
+Set an \[lq]exdented\[rq] paragraph\[em]one with a left indentation of
+.CW \[rs]n[PI]
+on every line
+.I except
+the first
+(also known as a hanging indent).
+.
+This is a Berkeley extension.
+T}
+.TE
.
.
.KS
.PP
-The following markup uses all three paragraph macros.
+The following example illustrates several different paragraph macros.
.
.
-.\" Wrap lines in the code example below at 64 columns.
.TS
box center;
l.
@@ -647,25 +756,32 @@ T{
.nf
.CW
\&.NH 2
-Cases used in the study
+Cases used in the 2001 study
\&.LP
-The following software and versions were considered for this
-report.
+Two software releases were considered for this report.
\&.PP
-For commercial software,
-we chose
-\&.B "Microsoft Word for Windows" ,
+The first is commercial software;
+the second is free.
+\&.IP \[rs][bu]
+Microsoft Word for Windows,
starting with version 1.0 through the current version
(Word 2000).
-\&.PP
-For free software,
-we chose
-\&.B Emacs ,
+\&.IP \[rs][bu]
+GNU Emacs,
from its first appearance as a standalone editor through the
current version (v20).
+See [Bloggs 2002] for details.
\&.QP
-Franklin's Law applied to software:
+Franklin\[aq]s Law applied to software:
software expands to outgrow both RAM and disk space over time.
+\&.SH
+Bibliography
+\&.XP
+Bloggs, Joseph R.,
+\&.I "Everyone\[aq]s a Critic" ,
+Underground Press, March 2002.
+A definitive work that answers all questions and criticisms
+about the quality and usability of free software.
.R
.fi
T}
@@ -1184,34 +1300,24 @@ Lists
.XS
Lists
.XE
-.LP
-The
-.CW .IP
-macro handles duties for all lists.
-Its syntax is as follows:
-.PP
-.CW .IP
-.I marker "" [
-.I width ]] [
+.
+.
.LP
The
.I marker
-is usually a bullet character
-.CW \\\\(bu ) (
+argument to the
+.CW IP
+macro can be employed to present a variety of lists;
+for instance,
+you can use a bullet glyph
+.CW \[rs][bu] ) (
for unordered lists,
-a number (or auto-incrementing number register) for numbered lists,
-or a word or phrase for indented (glossary-style) lists.
-.PP
-The
-.I width
-specifies the indent for the body of each list item.
-Once specified, the indent remains the same for all
-list items in the document until specified again.
+a number
+(or auto-incrementing register)
+for numbered lists,
+or a word or phrase for glossary-style or definition lists.
.
.
-.PP
-The following are examples of each type of list.
-.
.TS H
box center;
cb cb
@@ -1222,7 +1328,7 @@ _
T{
.nf
A bulleted list:
-\&.IP \[rs][bu] 2
+\&.IP \[rs][bu] 2n
lawyers
\&.IP \[rs][bu]
guns
@@ -1243,7 +1349,7 @@ T{
.nf
\&.nr step 1 1
A numbered list:
-\&.IP \\n[step] 3
+\&.IP \\n[step] 3n
lawyers
\&.IP \\n+[step]
guns
@@ -1288,86 +1394,86 @@ T}
.
.
.PP
-The second example sets up an auto-incrementing register,
-.CW step .
-.
-In the last example,
+In the last example above,
observe how the
.CW IP
macro places the definition on the same line as the term if it has
enough space.
.
If this is not what you want,
-there are a couple of workarounds.
+there are a few workarounds we will illustrate by modifying the example.
+.
+First,
+you can use a
+.CW br
+request to force a break after printing the term or label.
+.
+Second,
+you could apply the
+.CW \[rs]p
+escape to force a break.
+.
+The space following the escape is important;
+if you omit it,
+.I groff
+prints the first word of the paragraph text on the same line as the term
+or label
+(if it fits)
+.I then
+breaks the line.
+.
+Finally,
+you may append unbreakable horizontal space to the term or label with
+the
+.CW \[rs]h
+escape;
+using the same amount as the indentation will ensure that it's too wide
+for
+.I groff
+to treat it as \[lq]fitting\[rq] on the same line as the paragraph text.
.
.
.TS
box center;
-cb cb
-lf(CR) l .
-Input Result
+cb | cb | cb
+lf(CR) | lf(CR) | lf(CR).
+Approach #1 Approach #2 Approach #3
_
T{
.nf
-A glossary-style list:
-\&.IP lawyers 0.4i
-Two or more attorneys.
\&.IP guns
\&.br
Firearms,
-preferably large-caliber.
-\&.IP money
-Gotta pay for those
-lawyers and guns!
.fi
T} T{
-A glossary-style list:
-.IP lawyers 0.4i
-Two or more attorneys.
-.IP guns
-.br
+.nf
+\&.IP guns
+\[rs]p Firearms,
+.fi
+T} T{
+.nf
+\&.IP guns\[rs]h\[aq]0.4i\[aq]
Firearms,
-preferably large-caliber.
-.IP money
-Gotta pay for those lawyers and guns!
+.fi
T}
_
+.T&
+cb s s
+l s s.
+Result
+_
T{
-.nf
-A glossary-style list:
-\&.IP lawyers 0.4i
-Two or more attorneys.
-\&.IP guns\[rs]h\[aq]0.4i\[aq]
-Firearms, preferably
-large-caliber.
-\&.IP money
-Gotta pay for those
-lawyers and guns!
-.fi
-T} T{
A glossary-style list:
+.
.IP lawyers 0.4i
Two or more attorneys.
-.IP guns\h'0.4i'
+.IP guns\h\[aq]0.4i\[aq] 0.4i
Firearms,
preferably large-caliber.
.IP money
Gotta pay for those lawyers and guns!
T}
.TE
-.PP
-The first example uses the
-.CW .br
-request to force a break after printing the term or label.
-The second example uses the
-.CW \\\\p
-escape to do the same thing.
-Note the space following the escape; this is important.
-If you omit the space,
-.I groff
-prints the first word on the same line as the term or label (if it fits)
-.B then
-breaks the line.
.
.
.NH 2
diff --git a/tmac/groff_ms.7.man b/tmac/groff_ms.7.man
index 20bdbe7..b82532b 100644
--- a/tmac/groff_ms.7.man
+++ b/tmac/groff_ms.7.man
@@ -450,87 +450,114 @@ End the abstract.
.SS Paragraphs
.\" ====================================================================
.
-Use the
-.B PP
-macro to create indented paragraphs,
-and the
-.B LP
-macro to create paragraphs with no initial indent.
+Several paragraph types are available,
+differing in how indentation is
+applied:
+to left,
+right,
+or both margins;
+to the first output line of the paragraph,
+all output lines,
+or all but the first.
+.
+All paragraphing macro calls cause the insertion of vertical space in
+the amount stored in the
+.B PD
+register,
+except at page breaks.
.
.
.PP
The
-.B QP
-macro indents all text at both left and right margins
-by the amount of the register
-.BR QI .
+.B PORPHANS
+register defines the minimum number of initial lines of any paragraph
+that must be kept together to avoid orphaned lines at the bottom of a
+page.
.
-The next paragraph or heading returns the margins to normal.
+If a new paragraph is started close to the bottom of a page,
+and there is insufficient space to accommodate
+.B \[rs]n[PORPHANS]
+lines before an automatic page break,
+then a page break is forced before the start of the paragraph.
.
-.B .QP
-inserts the vertical space specified in register
-.B PD
-as inter-paragraph spacing.
+This is a GNU extension.
.
.
-.PP
-A paragraph bracketed between the macros
-.B QS
-and
-.B QE
-has the same appearance as a paragraph started with
+.TP
+.B .LP
+Set a paragraph without any (additional) indentation.
+.
+.
+.TP
+.B .PP
+Set a paragraph with a first-line left indentation in the amount stored
+in the
+.B PI
+register.
+.
+.
+.TP
+.B .IP\c
+.RI \~[ marker \~[ width ]]
+Set a paragraph with a left indentation.
+.
+The optional
+.I marker
+is not indented and is empty by default.
+.
+.I width
+overrides the default indentation amount of
+.BR \[rs]n[PI] ;
+its default unit is
+.RB \[lq] n \[rq].
+.
+Once specified,
+.I width
+applies to further
+.B .IP
+calls until specified again or a different paragraphing
+.\" or heading (Savannah #60222)
+macro is called.
+.
+.
+.TP
.B .QP
-and a following paragraph started with
-.BR .LP .
+Set a paragraph indented from both left and right margins by
+.BR \[rs]n[PI] .
+.
+This is a Berkeley extension.
+.
.
-Both
+.TP
.B .QS
-and
+.TQ
.B .QE
-insert the inter-paragraph spacing specified in
-.B PD
-and the text is indented on both sides by the amount of register
-.BR QI .
+Begin
+.RB ( QS )
+and end
+.RB ( QE )
+a region where each paragraph is indented from both margins by
+.BR \[rs]n[QI] .
.
The text between
.B .QS
and
.B .QE
-can be split into further paragraphs by using
-.B .LP
-or
-.BR .PP .
-.
-.
-.PP
-The
-.B XP
-macro produces an \[lq]exdented\[rq] paragraph;
-that is,
-one with a hanging indent.
+can be structured further by use of other paragraphing macros.
.
-The first line of the paragraph begins at
-the left margin,
-and subsequent lines are indented
-(the opposite of
-.BR .PP ).
+These macros are GNU extensions.
.
.
-.PP
-For each of the above paragraph types,
-and also for any list entry introduced by the
-.B IP
-macro
-(described later),
-the document control register
-.B PORPHANS
-sets the minimum number of lines which must be printed after the start
-of the paragraph before any page break occurs.
+.TP
+.B .XP
+Set an \[lq]exdented\[rq] paragraph\[em]one with a left indentation of
+.B \[rs]n[PI]
+on every line
+.I except
+the first
+(also known as a hanging indent).
.
-If there is insufficient space remaining on the current page to
-accommodate this number of lines,
-a page break is forced before the first line of the paragraph is
-printed.
+This is a Berkeley extension.
.
.
.\" ====================================================================
@@ -891,38 +918,6 @@ as a subscript.
.
.
.\" ====================================================================
-.SS Lists
-.\" ====================================================================
-.
-The
-.B IP
-macro handles duties for all lists.
-.
-Its syntax is as follows:
-.
-.TP
-.B .IP\c
-.RI " [" marker " [" width ]]
-The
-.I marker
-is usually a bullet character
-.B \[rs](bu
-for unordered lists,
-a number
-(or auto-incrementing register)
-for numbered lists,
-or a word or phrase for indented (glossary-style) lists.
-.
-.IP
-The
-.I width
-specifies the indent for the body of each list item.
-.
-Once specified, the indent remains the same for all list items in the
-document until specified again.
-.
-.
-.\" ====================================================================
.SS "Indented regions"
.\" ====================================================================
.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 03/03: [ms]: Revise paragraph and list documentation.,
G. Branden Robinson <=