1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- This manual documents GNU troff version 1.23.0.
Copyright 1994-2023 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License". -->
<title>Sentences (The GNU Troff Manual)</title>
<meta name="description" content="Sentences (The GNU Troff Manual)">
<meta name="keywords" content="Sentences (The GNU Troff Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Request-Index.html" rel="index" title="Request Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Text.html" rel="up" title="Text">
<link href="Hyphenation.html" rel="next" title="Hyphenation">
<link href="Filling.html" rel="prev" title="Filling">
<style type="text/css">
<!--
div.example {margin-left: 3.2em}
-->
</style>
</head>
<body lang="en">
<div class="subsection-level-extent" id="Sentences">
<div class="nav-panel">
<p>
Next: <a href="Hyphenation.html" accesskey="n" rel="next">Hyphenation</a>, Previous: <a href="Filling.html" accesskey="p" rel="prev">Filling</a>, Up: <a href="Text.html" accesskey="u" rel="up">Text</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Request-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="Sentences-1">5.1.2 Sentences</h4>
<a class="index-entry-id" id="index-sentences"></a>
<p>A passionate debate has raged for decades among writers of the English
language over whether more space should appear between adjacent
sentences than between words within a sentence, and if so, how much, and
what other circumstances should influence this spacing.<a class="footnote" id="DOCF20" href="groff.html_fot.html#FOOT20"><sup>20</sup></a>
GNU <code class="code">troff</code> follows the example of <abbr class="acronym">AT&T</abbr> <code class="code">troff</code>;
it attempts to detect the boundaries between sentences, and supplies
additional inter-sentence space between them.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">Hello, world!
Welcome to groff.
⇒ Hello, world! Welcome to groff.
</pre></div></div>
<a class="index-entry-id" id="index-end_002dof_002dsentence-characters"></a>
<a class="index-entry-id" id="index-sentence-space"></a>
<a class="index-entry-id" id="index-space-between-sentences"></a>
<a class="index-entry-id" id="index-French-spacing"></a>
<p>GNU <code class="code">troff</code> flags certain characters (normally ‘<samp class="samp">!</samp>’, ‘<samp class="samp">?</samp>’,
and ‘<samp class="samp">.</samp>’) as potentially ending a sentence. When GNU <code class="code">troff</code>
encounters one of these <em class="dfn">end-of-sentence characters</em> at the end of
an input line, or one of them is followed by two (unescaped) spaces on
the same input line, it appends an inter-word space followed by an
inter-sentence space in the output.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">R. Harper subscribes to a maxim of P. T. Barnum.
⇒ R. Harper subscribes to a maxim of P. T. Barnum.
</pre></div></div>
<p>In the above example, inter-sentence space is not added after ‘<samp class="samp">P.</samp>’
or ‘<samp class="samp">T.</samp>’ because the periods do not occur at the end of an input
line, nor are they followed by two or more spaces. Let’s imagine that
we’ve heard something about defamation from Mr. Harper’s attorney,
recast the sentence, and reflowed it in our text editor.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">I submit that R. Harper subscribes to a maxim of P. T.
Barnum.
⇒ I submit that R. Harper subscribes to a maxim of
⇒ P. T. Barnum.
</pre></div></div>
<p>“Barnum” doesn’t begin a sentence! What to do? Let us meet our first
<em class="dfn">escape sequence</em>, a series of input characters that give
instructions to GNU <code class="code">troff</code> instead of being used to construct
output device glyphs.<a class="footnote" id="DOCF21" href="groff.html_fot.html#FOOT21"><sup>21</sup></a> An escape sequence begins with the backslash character <code class="code">\</code>
by default, an uncommon character in natural language text, and is
<em class="emph">always</em> followed by at least one other character, hence the term
“sequence”.
</p>
<a class="index-entry-id" id="index-_005c_0026_002c-at-end-of-sentence"></a>
<p>The dummy character escape sequence <code class="code">\&</code> can be used after an
end-of-sentence character to defeat end-of-sentence detection on a
per-instance basis. We can therefore rewrite our input more
defensively.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">I submit that R.\& Harper subscribes to a maxim of P.\&
T.\& Barnum.
⇒ I submit that R. Harper subscribes to a maxim of
⇒ P. T. Barnum.
</pre></div></div>
<p>Adding text caused our input to wrap; now, we don’t need <code class="code">\&</code> after
‘<samp class="samp">T.</samp>’ but we do after ‘<samp class="samp">P.</samp>’. Consistent use of the escape
sequence ensures that potential sentence boundaries are robust to
editing activities. Further advice along these lines will follow in
<a class="ref" href="Input-Conventions.html">Input Conventions</a>.
</p>
<a class="index-entry-id" id="index-end_002dof_002dsentence-transparent-characters"></a>
<a class="index-entry-id" id="index-characters_002c-end_002dof_002dsentence-transparent"></a>
<a class="index-entry-id" id="index-dg-glyph_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-dd-glyph_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-rq-glyph_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-cq-glyph_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-_0022_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-_0027_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-_0029_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-_005d_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-_002a_002c-at-end-of-sentence"></a>
<a class="index-entry-id" id="index-special-characters"></a>
<a class="index-entry-id" id="index-characters_002c-special"></a>
<p>Normally, the occurrence of a visible non-end-of-sentence character (as
opposed to a space or tab) immediately after an end-of-sentence
character cancels detection of the end of a sentence. For example, it
would be incorrect for GNU <code class="code">troff</code> to infer the end of a sentence
after the dot in ‘<samp class="samp">3.14159</samp>’. However, several characters are
treated <em class="emph">transparently</em> after the occurrence of an end-of-sentence
character. That is, GNU <code class="code">troff</code> does not cancel end-of-sentence
detection when it processes them. This is because such characters are
often used as footnote markers or to close quotations and
parentheticals. The default set is ‘<samp class="samp">"</samp>’, ‘<samp class="samp">'</samp>’, ‘<samp class="samp">)</samp>’,
‘<samp class="samp">]</samp>’, ‘<samp class="samp">*</samp>’, <code class="code">\[dg]</code>, <code class="code">\[dd]</code>, <code class="code">\[rq]</code>, and
<code class="code">\[cq]</code>. The last four are examples of <em class="dfn">special characters</em>,
escape sequences whose purpose is to obtain glyphs that are not easily
typed at the keyboard, or which have special meaning to GNU <code class="code">troff</code>
(like <code class="code">\</code> itself).<a class="footnote" id="DOCF22" href="groff.html_fot.html#FOOT22"><sup>22</sup></a>
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">\[lq]The idea that the poor should have leisure has always
been shocking to the rich.\[rq]
(Bertrand Russell, 1935)
⇒ "The idea that the poor should have
⇒ leisure has always been shocking to
⇒ the rich." (Bertrand Russell, 1935)
</pre></div></div>
<p>The sets of characters that potentially end sentences or are transparent
to sentence endings are configurable. See the <code class="code">cflags</code> request in
<a class="ref" href="Using-Symbols.html">Using Symbols</a>. To change the additional inter-sentence space
amount—even to remove it entirely—see <a class="ref" href="Manipulating-Filling-and-Adjustment.html">Manipulating Filling and Adjustment</a>.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Hyphenation.html">Hyphenation</a>, Previous: <a href="Filling.html">Filling</a>, Up: <a href="Text.html">Text</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Request-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|