Home | History | Annotate | Line # | Download | only in momdoc
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
      2 <html>
      3 <head>
      4 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
      5 <title>Mom -- Inline escapes</title>
      6 </head>
      7 <body bgcolor="#dfdfdf">
      8 
      9 <!====================================================================>
     10 
     11 <a href="color.html#TOP">Next</a>&nbsp;&nbsp;
     12 <a href="goodies.html#TOP">Prev</a>&nbsp;&nbsp;
     13 <a href="toc.html">Back to Table of Contents</a>
     14 
     15 <a name="TOP"></a>
     16 <h1 align="center">
     17     <a name="INLINE_ESCAPES"><u>Inline escapes</u></a>
     18 </h1>
     19 <p>
     20 <a href="#INLINE_ESCAPES_INTRO">Introduction to inline escapes</a>
     21 <br>
     22 <a href="#INDEX_INLINES">Index of inline escapes</a>
     23 <p>
     24 
     25 <a name="INLINE_ESCAPES_INTRO">
     26 	<h2><u>Introduction to inline escapes</u></h2>
     27 </a>
     28 
     29 <a name="INTRO_INLINE_ESCAPES">
     30 Inline escapes, as described in the
     31 <a href="definitions.html#TERMS_INLINES">groff terms</a>
     32 section of this manual, are typesetting commands that appear in
     33 text
     34 <a href="definitions.html#TERMS_INPUTLINE">input lines</a>,
     35 as opposed to macros and other
     36 <a href="definitions.html#TERMS_CONTROLLINES">control lines</a>
     37 that must appear on lines by themselves.
     38 <p>
     39 Aside from altering type parameters within a line, inlines also
     40 tell groff about special characters -- em-dashes, bullets,
     41 <a href="definitions.html#TERMS_FIGURESPACE">figure/digit-width spaces</a>,
     42 and so on.  It is beyond the scope of this manual to provide a
     43 complete list of groff's inline functions and special characters.
     44 I recommend having a look at the
     45 <a href="intro.html#CANONICAL">canonical reference materials</a>
     46 should you need more information than is contained herein.
     47 <p>
     48 In groff, the escape character is the backslash ( \ ).  Groff interprets
     49 everything following the backslash as instructions, not literal text,
     50 until the escape sequence is complete.  Should you need the actual
     51 backslash character as part of a line of text, simply enter it twice
     52 ( \\ ).  Groff understands that this means "please print a backslash
     53 character."  (You can also use <strong>\e</strong> to print a literal
     54 backslash.)
     55 <p>
     56 Groff has a number of ways of recognizing what constitutes a complete
     57 escape sequence.  This is both a boon and a curse; some escape
     58 sequences have no terminating delimiter and consequently become
     59 difficult to distinguish from real input text.  Others require
     60 the use of an opening parenthesis with no corresponding closing
     61 parenthesis.  Still others need to be enclosed in square brackets.
     62 <p>
     63 <strong>Mom</strong> recognizes that certain escapes get used more
     64 often than others.  For these, she has a consistent input style that
     65 takes the form \*[...], which makes them stand out well from the text
     66 of your documents.  These escapes are the ones listed under
     67 <a href="#INLINES_MOM">Mom's personal inlines</a>.
     68 <p>
     69 Despite <strong>mom</strong>'s best intentions, there are still
     70 a number of typesetting functions that can only be accomplished
     71 with groff's native inline escapes.  I've listed the ones that
     72 strike me as essential, but there are many others.  If you want
     73 to know what they are, please read the
     74 <a href="intro.html#CANONICAL">canonical reference materials</a>
     75 pertaining to groff.
     76 <p>
     77 <strong>HELPFUL BIT OF INFORMATION:</strong> Inline escapes can be used
     78 in
     79 <a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
     80 that take
     81 <a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>.
     82 <p>
     83 <a name="INDEX_INLINES"><h3><u>Inlines index</u></h3></a>
     84 <ul>
     85 	<li><a name="INLINES_MOM"><strong>Mom's personal inlines</strong></a>
     86 	<ul>
     87 		<li><a href="#INLINE_FONTS_MOM">Changing fonts</a>
     88 		<li><a href="#INLINE_SIZE_MOM">Changing point size</a>
     89 		<li><a href="#INLINE_KERNING_MOM">Pairwise kerning</a>
     90 		<li><a href="#INLINE_HORIZONTAL_MOM">Horizontal movement</a>
     91 		<li><a href="#INLINE_VERTICAL_MOM">Vertical movement</a>
     92 		<li><a href="#B">Terminate a line without advancing on the page</a>
     93 		<li><a href="#TB+">Call the next sequential tab without advancing on the page</a>
     94 		<li><a href="#INLINE_RULE_MOM">Full measure rules</a>
     95 	</ul>
     96 	<li><a name="INLINES_GROFF"><strong>Groff inline escapes</strong></a>
     97 	<ul>
     98 		<li><a href="#INLINE_FONTS_GROFF">Font control</a> <strong>\f</strong>
     99 		<li><a href="#INLINE_HORIZONTAL_GROFF">Inline horizontal motions</a> <strong>\h</strong>
    100 		<li><a href="#INLINE_VERTICAL_GROFF">Inline vertical motions</a> <strong>\v</strong>
    101 		<li><a href="#INLINE_STRINGWIDTH_GROFF">String width function</a> <strong>\w</strong>
    102 		<li><a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a> <strong>\l</strong>
    103 		<li><a href="#INLINE_CHARACTERS_GROFF">Special characters</a>
    104 	</ul>
    105 </ul>
    106 <p>
    107 <hr>
    108 
    109 <!---INLINE_FONTS_MOM--->
    110 
    111 <h2><u>Mom's personal inlines</u></h2>
    112 
    113 <a name="INLINE_FONTS_MOM"><h3><u>Changing fonts</u></h3></a>
    114 
    115 <p>
    116 <strong>Mom</strong> provides five escapes for changing fonts
    117 inline:
    118 <p>
    119 <table valign="baseline" cellpadding="10" summary="inlinefonts">
    120 <tr>
    121 	<td><strong>\*[ROM]</strong></td>
    122 	<td>Change font to medium roman</td>
    123 </tr>
    124 <tr>
    125 	<td><strong>\*[IT]</strong></td>
    126 	<td>Change font to medium italic</td>
    127 </tr>
    128 <tr>
    129 	<td><strong>\*[BD]</strong></td>
    130 	<td>Change font to bold roman</td>
    131 </tr>
    132 <tr>
    133 	<td><strong>\*[BDI]</strong></td>
    134 	<td>Change font to bold italic</td>
    135 </tr>
    136 <tr>
    137 	<td><strong>\*[PREV]</strong></td>
    138 	<td>Revert to previous font</td>
    139 </tr>
    140 </table>
    141 <p>
    142 These escapes are provided for merely for convenience, legibility,
    143 and consistency when typesetting with <strong>mom</strong>.  For
    144 more complete and flexible inline font control, please see
    145 <a href="#INLINE_FONTS_GROFF">font control with \f</a>.
    146 
    147 <p>
    148 <strong>NOTE:</strong> If you're using the
    149 <a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
    150 inline font changes remain in effect only for the duration of the
    151 current document element tag.
    152 <p>
    153 
    154 <!---INLINE_SIZE_MOM--->
    155 
    156 <hr width="66%" align="left">
    157 <a name="INLINE_SIZE_MOM"><h3><u>Changing point size</u></h3></a>
    158 
    159 <p>
    160 <strong>Mom</strong> has two inline escapes for changing point
    161 size:
    162 <p>
    163 <pre>
    164 	\*[SIZE &lt;size&gt;]
    165 </pre>
    166 
    167 and
    168 <p>
    169 <pre>
    170 	\*[S&lt;size&gt;]
    171 </pre>
    172 
    173 where &quot;size&quot; is the new size you want.  You can use
    174 either; they behave exactly the same way.  For example, to change
    175 the point size of type inline to 12 points, you could enter either
    176 <p>
    177 <pre>
    178 	\*[SIZE 12]
    179 </pre>
    180 
    181 or
    182 <p>
    183 <pre>
    184 	\*S[12]
    185 </pre>
    186 
    187 The advantage of the first form is that it's easy to remember, and
    188 follows <strong>mom</strong>'s usual inline syntax.  The advantage
    189 of the second is that it's more concise.
    190 <p>
    191 Notice that in both cases, the new size does not require a
    192 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>;
    193 <a href="definitions.html#TERMS_PICASPOINTS">points</a>
    194 is assumed.  However, a unit of measure may be appended to the size
    195 if that's what you wish.  Fractional sizes are, of course, allowed.
    196 <p>
    197 The size given to <strong>\*[SIZE&nbsp;&lt;size&gt;]</strong> or
    198 <strong>\*S[&lt;size&gt;]</strong> may be expressed in plus or minus
    199 terms, which can be very useful.  In the following examples, the word
    200 &quot;mom&quot; will be output 2 points larger than the point size
    201 of the rest of the line.
    202 <p>
    203 <pre>
    204 	While she isn't perfect, \*S[+2]mom\*S[-2] isn't half bad.
    205 	While she isn't perfect, \*[SIZE +2]mom\*[SIZE -2] isn't half bad.
    206 </pre>
    207 
    208 <strong>NOTE:</strong> If you're accustomed to groff's usual way
    209 of handling inline size requests (<kbd>\sN, \sN, \s(NN, \s(NN,
    210 \s[NNN], \s[NNN]</kbd>), feel free to continue with your old habits.
    211 <strong>Mom</strong> doesn't care.
    212 <p>
    213 
    214 <!---INLINE_KERNING_MOM--->
    215 
    216 <hr width="66%" align="left">
    217 <a name="INLINE_KERNING_MOM"><h3><u>Pairwise kerning</u></h3></a>
    218 
    219 <p>
    220 Pairwise kerning means moving specific letter pairs closer
    221 together or further apart (see
    222 <a href="definitions.html#TERMS_KERN">Typesetting terms, kerning</a>
    223 for more details).
    224 <p>
    225 <strong>Mom</strong> permits inline pairwise
    226 kerning through the use of the inline escapes
    227 <table valign="baseline" cellpadding="10" summary="inlinekerning">
    228 <tr>
    229 	<td><pre>\*[BU n]</pre></td>
    230 	<td>Closes the space between letters (<strong>B</strong>ack <strong>U</strong>nits).</td>
    231 </tr>
    232 <tr>
    233 	<td><pre>\*[FU n]</pre></td>
    234 	<td>Opens the space between letters (<strong>F</strong>orward <strong>U</strong>nits).</td>
    235 </tr>
    236 </table>
    237 <br>
    238 &quot;<strong>n</strong>&quot; is the number of
    239 <a href="definitions.html#TERMS_KERNUNIT">kern units</a>
    240 by which to close or open the space between letters.
    241 <p>
    242 For example,
    243 <p>
    244 <pre>
    245 	THE HUMAN COST OF COMMODIF\*[FU 1]YING FRESH W\*[BU 4]A\*[BU 5]TER
    246 </pre>
    247 
    248 moves the letter Y in &quot;COMMODIFYING&quot; 1 kern unit away from
    249 the letter F, and the letter A in &quot;WATER&quot; 4 kern units closer
    250 to the letter W.  Additionally, the letter T in "WATER" is moved 5 kern
    251 units closer to the letter A.
    252 <p>
    253 For backward compatibility, the forms
    254 <table valign="baseline" cellpadding="10" summary="inlinekerningold">
    255 <tr>
    256 	<td><pre>\*[BU1]...\*[BU36]</pre></td>
    257 	<td>Move back 1...36 <a href="definitions.html#TERMS_KERNUNIT">kern units</a></td>
    258 </tr>
    259 <tr>
    260 	<td><pre>\*[FU1]...\*[FU36]</pre></td>
    261 	<td>Move forward 1...36 <a href="definitions.html#TERMS_KERNUNIT">kern units</a></td>
    262 </tr>
    263 </table>
    264 <br>
    265 also exist (i.e. with no space before the number of kern units desired,
    266 up to a limit of 36).
    267 <p>
    268 <strong>NOTE:</strong> Using <strong>BU</strong> or <strong>FU</strong>
    269 between characters pairs that are already automatically kerned
    270 disables the automatic kerning and uses the value you give to
    271 <strong>BU</strong> or <strong>FU</strong> instead.
    272 <p>
    273 
    274 <!---INLINE_HORIZONTAL_MOM--->
    275 
    276 <hr width="66%" align="left">
    277 <a name="INLINE_HORIZONTAL_MOM"><h3><u>Horizontal inline movement</u></h3></a>
    278 
    279 <p>
    280 Sometimes, you may need to insert a specified amount amount of white
    281 space into an
    282 <a href="definitions.html#TERMS_OUTPUTLINE">output line</a>,
    283 or -- occasionally  -- back up to a
    284 previous position on an
    285 <a href="definitions.html#TERMS_INPUTLINE">output</a>
    286 line in order to create special typographic effects.
    287 <p>
    288 <strong>Mom</strong>'s inline escapes for these horizontal movements are
    289 <p>
    290 <table align="left" valign="baseline" cellpadding="10" summary="inlinehorizontal">
    291 <tr>
    292 <a name="FWD"></a>
    293 	<td><pre>\*[FWD n&lt;unit&gt;]</pre></td>
    294 	<td width="80%">Move forward inline the specified number of
    295 		<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>;
    296 		decimal fractions are allowed.</td>
    297 </tr>
    298 <tr>
    299 <a name="BCK"></a>
    300 	<td><pre>\*[BCK n&lt;unit&gt;]</pre></td>
    301 	<td width="80%">Move backward inline the specified number of
    302 		<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>;
    303 		decimal fractions are allowed.</td>
    304 </tr>
    305 </table>
    306 <p>
    307 For example,
    308 <p>
    309 <pre>
    310 	1.\*[FWD 12p]The Free Trade Play-Offs: WalMart 100, Mexico 0
    311 </pre>
    312 puts 12 points of space between &quot;1.&quot; and
    313 &quot;The&quot;.
    314 <p>
    315 <strong>NOTE:</strong> For backward compatibility, the forms
    316 <p>
    317 <table valign="baseline" cellpadding="10" summary="inlinehorizontalold">
    318 <tr>
    319 	<td><pre>\*[BP.25]...\*[BP12.75]</pre></td>
    320 	<td>Move back .25...12.75 points</td>
    321 </tr>
    322 <tr>
    323 	<td><pre>\*[FP.25]...\*[FP12.75]</pre></td>
    324 	<td>Move forward .25...12.75 points</td>
    325 </tr>
    326 </table>
    327 <br>
    328 also exist (i.e. with no space before the digit and points being
    329 the unit of measure, hence no unit of measure required).  Both
    330 accept quarter points, so it's possible to do, for example,
    331 <strong>\*[FP.5]</strong> or <strong>\*[BP1.25]</strong> up to a limit
    332 of 12.75 points.
    333 <p>
    334 
    335 <!---INLINE_VERTICAL_MOM--->
    336 
    337 <hr width="66%" align="left">
    338 <a name="INLINE_VERTICAL_MOM"><h3><u>Vertical inline movement</u></h3></a>
    339 
    340 <p>
    341 If you need to move portions of type up or down on a line,
    342 <strong>mom</strong> provides the following inline escapes:
    343 <p>
    344 <table width="80%" valign="baseline" cellpadding="10" summary="inlinevertical">
    345 <tr>
    346 <a name="UP"></a>
    347 	<td><pre>\*[UP n&lt;unit&gt;]</pre></td>
    348 	<td>Move up inline the specified number of
    349 		<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a></td>
    350 </tr>
    351 <tr>
    352 <a name="DOWN"></a>
    353 	<td><pre>\*[DOWN n&lt;unit&gt;]</pre></td>
    354 	<td>Move down inline the specified number of
    355 		<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a></td>
    356 </tr>
    357 </table>
    358 <br>
    359 For example,
    360 <p>
    361 <pre>
    362 	Tel: 905\*[UP 1p]-\*[DOWN 1p]4072
    363 </pre>
    364 
    365 moves the hyphen in the telephone number up by 1 point, then
    366 moves back down by the same amount.
    367 <p>
    368 <strong>NOTE: \*[UP]</strong> and <strong>\*[DOWN]</strong> do not
    369 work with the inline escape,
    370 <a href="#INLINE_RULE_MOM">\*[RULE]</a>.
    371 See
    372 <a href="#RULE_EXCEPTION">here</a>
    373 for details.
    374 <p>
    375 <strong>ADDITIONAL NOTE:</strong> For backward compatibility, the
    376 following are also available:
    377 <p>
    378 <table valign="baseline" cellpadding="10" summary="inlinevertical">
    379 <tr>
    380 	<td><pre>\*[ALD.25]...\*[ALD12.75]</pre>
    381 	<td>Advance lead .25...12.75 points (move downward)
    382 </tr>
    383 <tr>
    384 	<td><pre>\*[RLD.25]...\*[RLD12.75]</pre></td>
    385 	<td>Reverse lead .5...12.75 points (move upward)</td>
    386 </tr>
    387 </table>
    388 <p>
    389 <p>
    390 Both <strong>\*[ALD]</strong> and <strong>\*[RLD]</strong> work in
    391 points, hence you mustn't use a unit of measure.
    392 <p>
    393 
    394 <!---INLINE_B_MOM--->
    395 
    396 <hr width="66%" align="left">
    397 <a name="B"><h3><u>Terminate a line without advancing on the page</u></h3></a>
    398 
    399 <p>
    400 Sometimes, you want <strong>mom</strong> to break a line but not
    401 advance on the page.  See
    402 <a href="typesetting.html#EL_EXAMPLE">here</a>
    403 for an example of when you might want to do this.
    404 <p>
    405 In versions of <strong>mom</strong> prior to 1.2-f, this was
    406 accomplished through the use of
    407 <a href="typesetting.html#EL">EL</a>.
    408 As of 1.2-f, you can, if you prefer, accomplish the same thing
    409 by using the inline escape, <strong>\*[B]</strong>.  Simply
    410 attach the escape to the end of any line.  Using the example
    411 given in the document entry for <strong>EL</strong>, you'd use
    412 <strong>\*[B]</strong> like this:
    413 
    414 <p>
    415 <pre>
    416 	.LEFT
    417 	.LS 12.5
    418 	A line of text.\*[B]
    419 	.ALD 24p
    420 	The next line of text.
    421 </pre>
    422 
    423 <strong>\*[B]</strong> works reliably regardless of the current
    424 <a href="definitions.html#TERMS_FILLED">fill mode</a>.
    425 <p>
    426 
    427 <!---INLINE_TB+_MOM--->
    428 
    429 <hr width="66%" align="left">
    430 <a name="TB+"><h3><u>Call the next sequential tab without advancing on the page</u></h3></a>
    431 
    432 <p>
    433 Sometimes, you want <strong>mom</strong> to move to the next tab in
    434 sequence (e.g. from TAB 1 to TAB 2, or TAB 8 to TAB 9) without
    435 <strong>mom</strong> advancing on the page.  (See the example in
    436 <a href="typesetting.html#NOTE_TN">here</a>
    437 if you're not clear how <strong>mom</strong> manages tabs and
    438 linebreaks.)
    439 <p>
    440 In versions of <strong>mom</strong> prior to 1.2-f, this was
    441 accomplished through the use of
    442 <a href="typesetting.html#TN">TN</a>.
    443 As of 1.2-f, you can, if you prefer, accomplish the same thing
    444 by using the inline escape, <strong>\*[TB+]</strong>.  Simply
    445 attach the escape to the end of any line in a tab, like this:
    446 
    447 <p>
    448 <pre>
    449 	.TAB 1
    450 	Some text\*[TB+]    \" This line is in tab 1
    451 	Some more text      \" This line is in tab 2, on the same baseline as tab 1
    452 </pre>
    453 
    454 <strong>\*[TB+]</strong> works reliably regardless of the current
    455 <a href="definitions.html#TERMS_FILLED">fill mode</a>.
    456 <p>
    457 
    458 <!---INLINE_RULE_MOM--->
    459 
    460 <hr width="66%" align="left">
    461 <a name="INLINE_RULE_MOM"><h3><u>Full measure rules</u></h3></a>
    462 
    463 <p>
    464 I find I often need rules drawn to the full measure of the current line
    465 or tab length.  The official way to do this is <kbd>\l'\n(.lu'</kbd>,
    466 which is annoying to type, and doesn't mean a whole heck of a lot if
    467 you're new to groff.  The inline, <strong>\*[RULE]</strong>, is a simple
    468 replacement for <strong>\l'\n(.lu'</strong>.  Use it whenever you need
    469 a rule drawn to the full measure of the current line or tab length, for
    470 example:
    471 <p>
    472 <pre>
    473 	.LL 6P
    474 	\*[RULE]
    475 </pre>
    476 
    477 The above draws a rule the full measure of the 6-pica line length.
    478 <p>
    479 <strong>\*[RULE]</strong> should appear on a line by itself.  In
    480 <a href="definitions.html#TERMS_FILLED">fill modes</a>,
    481 (i.e.
    482 <a href="typesetting.html#QUAD">QUAD</a>
    483 or
    484 <a href="typesetting.html#JUSTIFY">JUSTIFY</a>),
    485 it requires a
    486 <a href="typesetting.html#BR">.BR</a>
    487 on the line immediately before it; otherwise, the rule will be drawn
    488 on the same baseline occupied by any type preceding it.  In
    489 <a href="definitions.html#TERMS_NOFILL">nofill modes</a>
    490 (i.e
    491 <a href="typesetting.html#LRC">LEFT</a>,
    492 <a href="typesetting.html#LRC">RIGHT</a>
    493 or
    494 <a href="typesetting.html#LRC">CENTER</a>),
    495 the <strong>.BR</strong> is not required.
    496 <p>
    497 Please note that <strong>\*[RULE]</strong> draws the rule to the
    498 full measure, hence it <em>cannot</em> be used to fill the remainder
    499 of a partial line with a rule in this way:
    500 <p>
    501 <pre>
    502 	Signature__________________________________________
    503 </pre>
    504 
    505 If you wish to accomplish this effect, you have to use
    506 <strong>\*[RULE]</strong> in conjunction with the
    507 <a href="goodies.html#PAD"><strong>PAD</strong></a>
    508 macro and
    509 <a href="typesetting.html#STRING_TABS">string tabs</a>.
    510 (See the
    511 <a href="goodies.html#PAD_EXAMPLE">example</a>
    512 provided with <strong>PAD</strong>.)
    513 <a name="RULE_EXCEPTION"></a>
    514 <p>
    515 Please also note that the inline escapes
    516 <a href="#UP">\*[UP]</a>
    517 and
    518 <a href="#DOWN">\*[DOWN]</a>
    519 cannot be used in conjunction with <strong>\*[RULE]</strong>.  This
    520 doesn't work:
    521 <p>
    522 <pre>
    523 	\*[DOWN 2p]\*[RULE]\*[UP 2p]
    524 </pre>
    525 
    526 This does:
    527 <p>
    528 <pre>
    529 	.ALD 2p
    530 	\*[RULE]
    531 	.RLD 2p
    532 </pre>
    533 
    534 See groff's
    535 <a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a>
    536 for more information on drawing horizontal rules.
    537 <p>
    538 <hr>
    539 
    540 <!---INLINE_FONT_GROFF--->
    541 
    542 <h2><u>Groff inline escapes</u></h2>
    543 
    544 <a name="INLINE_FONTS_GROFF"><h3><u>Font control with \f</u></h3></a>
    545 
    546 <p>
    547 Groff's basic mechanism for inline font control is the escape
    548 <strong>\f[&lt;</strong>font&gt;<strong>]</strong>. 
    549 <p>
    550 <table valign="baseline" cellpadding="10" summary="inlinefontsgroff">
    551 <tr>
    552 	<td><strong>\f[R]</strong></td>
    553 	<td>Change font to medium roman (equivalent to mom's <strong>\*[ROM]</strong>)</td>
    554 </tr>
    555 <tr>
    556 	<td><strong>\f[I]</strong></td>
    557 	<td>Change font to medium italic (equivalent to mom's <strong>\*[IT]</strong>)</td>
    558 </tr>
    559 <tr>
    560 	<td><strong>\f[B]</strong></td>
    561 	<td>Change font to bold roman (equivalent to mom's <strong>\*[BD]</strong>)</td>
    562 </tr>
    563 <tr>
    564 	<td><strong>\f[BI]</strong></td>
    565 	<td>Change font to bold italic (equivalent to mom's <strong>\*[BDI]</strong>)</td>
    566 </tr>
    567 <tr>
    568 	<td><strong>\f[P]</strong></td>
    569 	<td>Revert to previous font (equivalent to mom's <strong>\*[PREV]</strong>)</td>
    570 </tr>
    571 </table>
    572 <p>
    573 <strong>\f[&lt;</strong>font&gt;<strong>]</strong> can be used with
    574 any legal font style registered with groff.  (See
    575 <a href="appendices.html#STYLE_EXTENSIONS">here</a>
    576 for a list of pre-registered font styles provided by
    577 <strong>mom</strong>).
    578 <p>
    579 <strong>\f[&lt;</strong>font&gt;<strong>]</strong> can also take a
    580 complete legal family+font name combo.  This is especially useful
    581 should you need to change both family and font inline.  For example,
    582 if your prevailing family and font are Times Roman and you want a
    583 few words in Courier Bold Italic, you could do this:
    584 <p>
    585 <pre>
    586 	.FAM T
    587 	.FT  R
    588 	The command \f[CBI]ls -l\f[P] gives a &quot;long&quot; directory listing.
    589 </pre>
    590 
    591 The Unix command &quot;ls -l&quot; will appear in Courier Bold Italic
    592 in a line that is otherwise in Times Roman.
    593 <p>
    594 
    595 <!---INLINE_HORIZONTAL_GROFF--->
    596 
    597 <hr width="66%" align="left">
    598 <a name="INLINE_HORIZONTAL_GROFF"><h3><u>Inline horizontal motions with \h</u></h3></a>
    599 
    600 <p>
    601 Whenever you need to move forward or backward on a line, use the inline
    602 <strong>\h'&lt;distance&gt;'</strong>.  In order to avoid unpleasant surprises,
    603 always append a
    604 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
    605 to &quot;distance&quot;.
    606 <p>
    607 <pre>
    608 	\h'1.25i'
    609 </pre>
    610 
    611 moves you 1.25 inches to the right (forwards) of the horizontal
    612 position on the current
    613 <a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
    614 <strong>\h'&lt;distance&gt;'</strong> is exactly equivalent to
    615 <a href="#FWD"><strong>\*[FWD n&lt;unit&gt;]</strong></a>.
    616 <p>
    617 <pre>
    618 	\h'-1.25i'
    619 </pre>
    620 
    621 moves you 1.25 inches to the left (backwards).
    622 <strong>\h'-&lt;distance&gt;'</strong> is exactly equivalent to
    623 <a href="#BCK"><strong>\*[BCK n&lt;unit&gt;]</strong></a>.
    624 <p>
    625 
    626 <!---INLINE_VERTICAL_GROFF--->
    627 
    628 <hr width="66%" align="left">
    629 <a name="INLINE_VERTICAL_GROFF"><h3><u>Inline vertical motions with \v</u></h3></a>
    630 
    631 <p>
    632 If you need to raise or lower type on a line (say, for sub- or
    633 superscripts, or any other special effect), use
    634 <strong>\v'&lt;distance&gt;'</strong>.  In order to avoid unpleasant
    635 surprises, always append a
    636 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
    637 to &quot;distance&quot;.
    638 <p>
    639 <pre>
    640 	\v'.6m'
    641 </pre>
    642 
    643 moves you (approx.) 2/3 of an
    644 <a href="definitions.html#TERMS_EM">em</a>
    645 downward on the current
    646 <a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
    647 <strong>\v'&lt;distance&gt;'</strong> is exactly equivalent to
    648 <a href="#DOWN"><strong>\*[DOWN n&lt;unit&gt;]</strong></a>.
    649 <p>
    650 <pre>
    651 	\v'-.6m'
    652 </pre>
    653 
    654 moves you (approx.) 2/3 of an em upward.
    655 <strong>\v'&lt;-distance&gt;'</strong> is exactly equivalent to <a
    656 href="#UP"><strong>\*[UP n&lt;unit&gt;]</strong></a>.
    657 <p>
    658 <strong>IMPORTANT:</strong> The vertical motion of <strong>\v</strong>
    659 affects ONLY type on the current
    660 <a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
    661 When groff breaks the output line, the effect of
    662 <strong>\v</strong> is cancelled; the baseline of the next output line
    663 is where it would be if you hadn't used <strong>\v</strong>.
    664 <p>
    665 <strong>TIP:</strong> When using <strong>\v</strong> for
    666 occasional effects on a line, don't forget to reverse it when
    667 you've done what you want to do.  Otherwise, the remaining type
    668 will be set too high (if you used <strong>\v</strong> with the
    669 minus sign) or too low (if you used <strong>\v</strong> without
    670 the minus sign).
    671 <p>
    672 
    673 <!---INLINE_STRINGWIDTHL_GROFF--->
    674 
    675 <hr width="66%" align="left">
    676 <a name="INLINE_STRINGWIDTH_GROFF"><h3><u>String width function \w</u></h3></a>
    677 
    678 <p>
    679 In the context of <strong>mom</strong>, the string width inline
    680 <strong>\w'string'</strong> primarily serves to let you
    681 establish the horizontal measure of something (e.g. indents) based
    682 on the length of a bit of text.  For example, if you want a left
    683 indent the length of the word &quot;Examples:&quot; plus a
    684 space, you can set it with the <strong>\w</strong> inline escape:
    685 <p>
    686 <pre>
    687 	.IL "\w'Examples: '"
    688 </pre>
    689 
    690 <strong>NOTE:</strong> Whenever you pass <strong>\w'string'</strong>
    691 to a macro that normally requires a
    692 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
    693 <em>do <strong>NOT</strong> add a unit of measure to the \w'string'
    694 argument.</em>
    695 <p>
    696 Furthermore, if the string is composed of several words separated
    697 by spaces, you MUST surround the whole escape with double quotes,
    698 as in the example above.
    699 <p>
    700 
    701 <!---INLINE_LINEDRAWING_GROFF--->
    702 
    703 <hr width="66%" align="left">
    704 <a name="INLINE_LINEDRAWING_GROFF"><h3><u>Horizontal line drawing function \l</u></h3></a>
    705 
    706 <p>
    707 The <strong>\l'distance'</strong> inline allows you to draw a
    708 horizontal rule of the specified distance.  You must supply a
    709 <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
    710 Therefore, to set a 3-pica rule into a line of text, you'd do
    711 <p>
    712 <pre>
    713 	A line of text with a superfluous \l'3P' 3-pica rule in it.
    714 </pre>
    715 
    716 <strong>\l'3P'</strong> above not only draws the rule, but
    717 advances 3 picas horizontally as well, just as you'd expect.
    718 <p>
    719 For an easy way of drawing rules to the full measure of the current
    720 line or tab length, see 
    721 <a href="#INLINE_RULE_MOM">Full measure rules</a>.
    722 <p>
    723 The weight (thickness) of rules varies according to the point size
    724 in effect when you invoke <strong>\l</strong>, but you can't fix
    725 the weight with any real precision.  A point size of 12 produces
    726 a tastefully moderate rule weight of between one-half and one
    727 point (depending on your printer), and is the point size used by
    728 <strong>mom</strong> for all macros and routines that create rules.
    729 <p>
    730 <strong>NOTE:</strong> There are, in addition to <strong>\l</strong>,
    731 a number of other line-drawing escapes, but frankly, using them for
    732 typographically precise drawing is a bit like hammering in a nail
    733 with a screwdriver -- doable, but not recommended.
    734 <p>
    735 Groff comes with a number of &quot;preprocessors&quot; designed
    736 to ease creating rules, boxes, splines, and so on (tbl, pic,
    737 and friends), but I tend not to use them.  A firm believer
    738 in the &quot;right tool for the job,&quot; I prefer a vector
    739 drawing program when I need to combine type with graphic elements
    740 (say, a complex ruled form).  Inserting the results into a
    741 document is easy enough with <strong>.PSPIC</strong> (consult
    742 the <strong>groff_tmac</strong> man page for information on this
    743 indispensable and easy-to-use macro).
    744 <p>
    745 
    746 <!---INLINE_CHARACTERS_GROFF--->
    747 
    748 <hr width="66%" align="left">
    749 <a name="INLINE_CHARACTERS_GROFF"><h3><u>Special characters and symbols</u></h3></a>
    750 
    751 <p>
    752 Here follows a short list of commonly-used special characters available
    753 via inline escapes.  If you're not sure of the meaning of some of
    754 these characters, consult the
    755 <a href="definitions.html#TERMS">Definitions of Terms</a>.
    756 <p>
    757 For a complete list of special characters and glyphs (i.e. just
    758 about anything you'd ever want to appear on the printed page,
    759 including mathematical symbols, accented characters, unusual
    760 ligatures and letters unique to various European languages), consult
    761 <kbd>man groff_char</kbd>.
    762 <p>
    763 <pre>
    764     CHARACTER                   ESCAPE SEQUENCE
    765     ---------                   ---------------
    766 
    767     Comment line                \#
    768     Fixed-width space           \&lt;space&gt;  i.e. backslash followed by a space
    769     Unbreakable space           \~
    770     Digit-width (figure) space  \0
    771     Zero-width character        \&amp;
    772     Discretionary hyphen        \%
    773     Backslash                   \\ or \e
    774     Plus/minus (arithmetic)     \(+-
    775     Subtract (arithmetic)       \(mi
    776     Multiply (arithmetic)       \(mu
    777     Divide (arithmetic)         \(di
    778     Em-dash                     \(em
    779     En-dash                     \(en
    780     Left double-quote           \(lq
    781     Right double-quote          \(rq
    782     Bullet                      \(bu
    783     Ballot box                  \(sq
    784     One-quarter                 \(14
    785     One-half                    \(12
    786     Three-quarters              \(34
    787     Degree sign                 \(de
    788     Dagger                      \(dg
    789     Foot mark                   \(fm
    790     Cent sign                   \(ct
    791     Registered trademark        \(rg
    792     Copyright                   \(co
    793     Section symbol              \(se
    794 </pre>
    795 
    796 <hr>
    797 <a href="color.html#TOP">Next</a>&nbsp;&nbsp;
    798 <a href="goodies.html#TOP">Prev</a>&nbsp;&nbsp;
    799 <a href="#TOP">Top</a>&nbsp;&nbsp;
    800 <a href="toc.html">Back to Table of Contents</a>
    801 </body>
    802 </html>
    803