| Commit | Line | Data |
|---|---|---|
| 92d0a6a6 JR |
1 | '\" t |
| 2 | .ig | |
| 3 | groff.man | |
| 4 | ||
| 92d0a6a6 JR |
5 | This file is part of groff, the GNU roff type-setting system. |
| 6 | ||
| 4d3e9548 JL |
7 | Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 8 | 2009 | |
| 465b256c | 9 | Free Software Foundation, Inc. |
| 92d0a6a6 JR |
10 | written by Bernd Warken <bwarken@mayn.de> |
| 11 | maintained by Werner Lemberg <wl@gnu.org> | |
| 12 | ||
| 13 | Permission is granted to copy, distribute and/or modify this document | |
| 4d3e9548 | 14 | under the terms of the GNU Free Documentation License, Version 1.3 or |
| 92d0a6a6 JR |
15 | any later version published by the Free Software Foundation; with the |
| 16 | Invariant Sections being this .ig-section and AUTHORS, with no | |
| 17 | Front-Cover Texts, and with no Back-Cover Texts. | |
| 18 | ||
| 19 | A copy of the Free Documentation License is included as a file called | |
| 20 | FDL in the main directory of the groff source package. | |
| 21 | .. | |
| 22 | . | |
| 23 | .\" -------------------------------------------------------------------- | |
| 24 | .\" Setup | |
| 25 | .\" -------------------------------------------------------------------- | |
| 26 | . | |
| 27 | .do nr groff_C \n[.C] | |
| 28 | .cp 0 | |
| 29 | . | |
| 92d0a6a6 JR |
30 | .\" -------------------------------------------------------------------- |
| 31 | .\" start of macro definitions | |
| 92d0a6a6 JR |
32 | . |
| 33 | .de TPx | |
| 34 | . TP 10n | |
| 35 | .. | |
| 4d3e9548 JL |
36 | .\" --------------------------------------------------------------------- |
| 37 | .\" .Text anything ... | |
| 38 | .\" | |
| 39 | .\" All arguments are printed as text. | |
| 40 | .\" | |
| 92d0a6a6 | 41 | .de Text |
| 4d3e9548 | 42 | . nop \)\\$* |
| 92d0a6a6 JR |
43 | .. |
| 44 | . | |
| 4d3e9548 | 45 | .\" --------- command line option --------- |
| 92d0a6a6 JR |
46 | . |
| 47 | .de option | |
| 4d3e9548 | 48 | . Text \f[CB]\\$* |
| 92d0a6a6 JR |
49 | . ft P |
| 50 | .. | |
| 51 | . | |
| 4d3e9548 | 52 | .\" --------- characters --------- |
| 92d0a6a6 | 53 | . |
| 92d0a6a6 | 54 | .de squoted_char |
| 4d3e9548 | 55 | . Text \[oq]\f[CB]\\$1\f[]\[cq]\\$2 |
| 92d0a6a6 JR |
56 | .. |
| 57 | .de dquoted_char | |
| 4d3e9548 | 58 | . Text \[lq]\f[CB]\\$1\f[]\[rq]\\$2 |
| 92d0a6a6 | 59 | .. |
| 4d3e9548 | 60 | .\" --------- requests --------- |
| 92d0a6a6 | 61 | . |
| 4d3e9548 | 62 | .\" synopsis of a request |
| 92d0a6a6 | 63 | .de REQ |
| 4d3e9548 JL |
64 | . ie \n[.$]=1 \{\ |
| 65 | . Text \f[CB]\\$1\f[] | |
| 92d0a6a6 JR |
66 | . \} |
| 67 | . el \{\ | |
| 4d3e9548 | 68 | . Text \f[CB]\\$1\~\f[]\f[I]\\$2\f[] |
| 92d0a6a6 | 69 | . \} |
| 92d0a6a6 | 70 | .. |
| 4d3e9548 JL |
71 | . |
| 72 | .\" reference of a request | |
| 92d0a6a6 | 73 | .de request |
| 4d3e9548 | 74 | . BR \\$* |
| 92d0a6a6 JR |
75 | .. |
| 76 | . | |
| 4d3e9548 | 77 | .\" --------- numerical elements --------- |
| 92d0a6a6 | 78 | . |
| 4d3e9548 | 79 | .\" number with a trailing unit |
| 92d0a6a6 | 80 | .de scalednumber |
| 4d3e9548 | 81 | . Text \\$1\^\f[CB]\\$2\f[]\\$3\f[R] |
| 92d0a6a6 JR |
82 | . ft P |
| 83 | .. | |
| 84 | . | |
| 4d3e9548 | 85 | .\" representation of units within the text |
| 92d0a6a6 | 86 | .de scaleindicator |
| 4d3e9548 | 87 | . Text \f[CB]\\$1\f[]\\$2\f[R] |
| 92d0a6a6 JR |
88 | . ft P |
| 89 | .. | |
| 90 | . | |
| 4d3e9548 | 91 | .\" representation of mathematical operators within the text |
| 92d0a6a6 | 92 | .de operator |
| 4d3e9548 | 93 | . squoted_char \\$@ |
| 92d0a6a6 JR |
94 | .. |
| 95 | . | |
| 96 | . | |
| 4d3e9548 | 97 | .\" --------- escape sequences --------- |
| 92d0a6a6 | 98 | . |
| 4d3e9548 JL |
99 | .\" --------------------------------------------------------------------- |
| 100 | .\" .ESC name [arg] | |
| 101 | .\" | |
| 102 | .\" Synopsis of an escape sequence, optionally with argument | |
| 103 | .\" Args : 1 or 2; `name' obligatory, `arg' optional | |
| 104 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 105 | .\" arg : arbitrary word | |
| 106 | .\" Result : prints \namearg, where `name' is in CB, `arg' in I | |
| 107 | .\" | |
| 92d0a6a6 | 108 | .de ESC |
| 4d3e9548 | 109 | . Text "\f[CB]\[rs]\\$1\,\f[I]\\$2\/\fR" |
| 92d0a6a6 | 110 | .. |
| 4d3e9548 JL |
111 | .\" --------------------------------------------------------------------- |
| 112 | .\" .ESC[] name arg | |
| 113 | .\" | |
| 114 | .\" Synopsis for escape sequence with a bracketed long argument | |
| 115 | .\" Args : 2 obligatory | |
| 116 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 117 | .\" arg : arbitrary text | |
| 118 | .\" Result : prints \name[arg], where `name' is in CB, `arg' in I | |
| 119 | .\" | |
| 92d0a6a6 | 120 | .de ESC[] |
| 4d3e9548 | 121 | . Text "\f[CB]\[rs]\\$1\[lB]\f[]\f[I]\\$2\f[]\f[CB]\[rB]\f[]" |
| 92d0a6a6 | 122 | .. |
| 4d3e9548 JL |
123 | .\" --------------------------------------------------------------------- |
| 124 | .\" .ESCq name arg | |
| 125 | .\" | |
| 126 | .\" Synopsis for escape sequence with a bracketed long argument | |
| 127 | .\" Args : 2 obligatory | |
| 128 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 129 | .\" arg : arbitrary text | |
| 130 | .\" Result : prints \name'arg', where `name' is in CB, `arg' in I | |
| 131 | .\" | |
| 92d0a6a6 | 132 | .de ESCq |
| 4d3e9548 | 133 | . Text "\f[CB]\[rs]\\$1\[cq]\f[]\f[I]\\$2\f[]\f[CB]\[cq]\f[]" |
| 92d0a6a6 | 134 | .. |
| 4d3e9548 JL |
135 | .\" --------------------------------------------------------------------- |
| 136 | .\" .ESC? arg | |
| 137 | .\" | |
| 138 | .\" Synopsis for escape sequence with a bracketed long argument | |
| 139 | .\" Args : 1 obligatory | |
| 140 | .\" arg : arbitrary text | |
| 141 | .\" Result : prints `\?arg?', where the `?' are in CB, `arg' in I | |
| 142 | .\" | |
| 92d0a6a6 | 143 | .de ESC? |
| 4d3e9548 | 144 | . Text "\f[CB]\[rs]?\f[I]\\$1\f[CB]?\f[R]" |
| 92d0a6a6 | 145 | .. |
| 4d3e9548 JL |
146 | .\" --------------------------------------------------------------------- |
| 147 | .\" .esc name [punct] | |
| 148 | .\" | |
| 149 | .\" Reference of an escape sequence (no args), possibly punctuation | |
| 150 | .\" Args : 1 obligatory | |
| 151 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 152 | .\" punct : arbitrary | |
| 153 | .\" Result : prints \name, where `name' is in B, `punct' in R | |
| 154 | .\" | |
| 92d0a6a6 | 155 | .de esc |
| 4d3e9548 | 156 | . BR "\[rs]\\$1" \\$2 |
| 92d0a6a6 | 157 | .. |
| 4d3e9548 JL |
158 | .\" --------------------------------------------------------------------- |
| 159 | .\" .escarg name arg [punct] | |
| 160 | .\" | |
| 161 | .\" Reference of an escape sequence (no args) | |
| 162 | .\" Args : 1 obligatory, 1 optional | |
| 163 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 164 | .\" arg : arbitrary word | |
| 165 | .\" Result : prints \namearg, where | |
| 166 | .\" `name' is in B, `arg' in I | |
| 167 | .\" | |
| 92d0a6a6 | 168 | .de escarg |
| 4d3e9548 | 169 | . Text \f[B]\[rs]\\$1\f[]\f[I]\\$2\f[]\\$3 |
| 92d0a6a6 | 170 | .. |
| 4d3e9548 JL |
171 | .\" --------------------------------------------------------------------- |
| 172 | .\" .esc[] name arg [punct] | |
| 173 | .\" | |
| 174 | .\" Reference for escape sequence with a bracketed long argument | |
| 175 | .\" Args : 2 obligatory | |
| 176 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 177 | .\" arg : arbitrary text | |
| 178 | .\" Result : prints \name[arg], where `name' is in CB, `arg' in CI | |
| 179 | .\" | |
| 92d0a6a6 | 180 | .de esc[] |
| 4d3e9548 | 181 | . Text \f[B]\[rs]\\$1\[lB]\f[]\f[I]\\$2\f[]\f[B]\[rB]\f[]\\$3 |
| 92d0a6a6 JR |
182 | .. |
| 183 | . | |
| 4d3e9548 JL |
184 | .\" --------------------------------------------------------------------- |
| 185 | .\" .escq name arg | |
| 186 | .\" | |
| 187 | .\" Reference for escape sequence with a bracketed long argument | |
| 188 | .\" Args : 2 obligatory | |
| 189 | .\" name : suitable name for an escape sequence (c, (xy, [long]) | |
| 190 | .\" arg : arbitrary text | |
| 191 | .\" Result : prints \name'arg', where `name' is in CB, `arg' in CI | |
| 192 | .\" | |
| 92d0a6a6 | 193 | .de escq |
| 4d3e9548 | 194 | . Text \f[B]\[rs]\\$1\[cq]\f[]\f[I]\\$2\f[]\f[B]\[cq]\f[]\\$3 |
| 92d0a6a6 JR |
195 | .. |
| 196 | . | |
| 4d3e9548 | 197 | .\" --------- strings --------- |
| 92d0a6a6 | 198 | . |
| 4d3e9548 | 199 | .\" synopsis for string, with \*[] |
| 92d0a6a6 | 200 | .de STRING |
| 4d3e9548 | 201 | . Text \[rs]*[\f[CB]\\$1\f[]] \\$2 |
| 92d0a6a6 | 202 | .. |
| 4d3e9548 | 203 | .\" synopsis for a long string |
| 92d0a6a6 | 204 | .de string |
| 4d3e9548 | 205 | . if \n[.$]=0 \ |
| 92d0a6a6 | 206 | . return |
| 4d3e9548 | 207 | . Text \f[CB]\[rs]*\[lB]\\$1\[rB]\f[]\\$2 |
| 92d0a6a6 JR |
208 | .. |
| 209 | . | |
| 4d3e9548 | 210 | .\" --------- registers --------- |
| 92d0a6a6 | 211 | . |
| 4d3e9548 | 212 | .\" synopsis for registers, with \n[] |
| 92d0a6a6 | 213 | .de REG |
| 4d3e9548 | 214 | . Text \[rs]n[\f[CB]\\$1\f[]] |
| 92d0a6a6 | 215 | .. |
| 4d3e9548 | 216 | .\" reference of a register, without decoration |
| 92d0a6a6 JR |
217 | .de register |
| 218 | . Text register | |
| 4d3e9548 | 219 | . BR \\$* |
| 92d0a6a6 JR |
220 | .. |
| 221 | . | |
| 92d0a6a6 JR |
222 | .\" end of macro definitions |
| 223 | . | |
| 224 | . | |
| 225 | .\" -------------------------------------------------------------------- | |
| 226 | .\" Title | |
| 227 | .\" -------------------------------------------------------------------- | |
| 228 | . | |
| 229 | .TH GROFF @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@" | |
| 230 | .SH NAME | |
| 231 | groff \- a short reference for the GNU roff language | |
| 232 | . | |
| 233 | . | |
| 234 | .\" -------------------------------------------------------------------- | |
| 235 | .SH DESCRIPTION | |
| 236 | .\" -------------------------------------------------------------------- | |
| 237 | . | |
| 238 | The name | |
| 239 | .I groff | |
| 240 | stands for | |
| 241 | .I GNU roff | |
| 242 | and is the free implementation of the roff type-setting system. | |
| 243 | . | |
| 244 | See | |
| 245 | .BR roff (@MAN7EXT@) | |
| 246 | for a survey and the background of the groff system. | |
| 247 | . | |
| 248 | .P | |
| 249 | This document gives only short descriptions of the predefined roff | |
| 250 | language elements as used in groff. | |
| 251 | . | |
| 252 | Both the classical features and the groff extensions are provided. | |
| 253 | . | |
| 254 | .P | |
| 255 | Historically, the | |
| 256 | .I roff language | |
| 257 | was called | |
| 258 | .IR troff . | |
| 259 | .I groff | |
| 260 | is compatible with the classical system and provides proper | |
| 261 | extensions. | |
| 262 | . | |
| 263 | So in GNU, the terms | |
| 264 | .IR roff , | |
| 265 | .IR troff , | |
| 266 | and | |
| 267 | .I groff language | |
| 268 | could be used as synonyms. | |
| 269 | . | |
| 270 | However | |
| 271 | .I troff | |
| 272 | slightly tends to refer more to the classical aspects, whereas | |
| 273 | .I groff | |
| 274 | emphasizes the GNU extensions, and | |
| 275 | .I roff | |
| 276 | is the general term for the language. | |
| 277 | . | |
| 278 | .P | |
| 279 | This file is only a short version of the complete documentation that | |
| 280 | is found in the | |
| 281 | .I groff | |
| 282 | .BR info (1) | |
| 283 | file, which contains more detailed, actual, and concise information. | |
| 284 | . | |
| 285 | .P | |
| 286 | The general syntax for writing groff documents is relatively easy, but | |
| 287 | writing extensions to the roff language can be a bit harder. | |
| 288 | . | |
| 289 | .P | |
| 290 | The roff language is line-oriented. | |
| 291 | . | |
| 292 | There are only two kinds of lines, control lines and text lines. | |
| 293 | . | |
| 294 | The control lines start with a control character, by default a period | |
| 295 | .dquoted_char . | |
| 296 | or a single quote | |
| 297 | .dquoted_char ' ; | |
| 298 | all other lines are text lines. | |
| 299 | . | |
| 300 | .P | |
| 301 | .B Control lines | |
| 302 | represent commands, optionally with arguments. | |
| 303 | . | |
| 304 | They have the following syntax. | |
| 305 | . | |
| 306 | The leading control character can be followed by a command name; | |
| 4d3e9548 JL |
307 | arguments, if any, are separated by spaces (but not tab characters) |
| 308 | from the command name and among themselves, for example, | |
| 92d0a6a6 JR |
309 | .RS |
| 310 | . | |
| 311 | .P | |
| 312 | .Text .command_name arg1 arg2 | |
| 313 | .RE | |
| 314 | . | |
| 315 | .P | |
| 316 | For indentation, any number of space or tab characters can be inserted | |
| 317 | between the leading control character and the command name, but the | |
| 318 | control character must be on the first position of the line. | |
| 319 | . | |
| 320 | .P | |
| 321 | .B Text lines | |
| 4d3e9548 | 322 | represent the parts that is printed. |
| 92d0a6a6 JR |
323 | They can be modified by escape sequences, which are recognized by a |
| 324 | leading backslash | |
| 325 | .squoted_char \[rs] . | |
| 326 | These are in-line or even in-word formatting elements or functions. | |
| 327 | . | |
| 328 | Some of these take arguments separated by single quotes | |
| 329 | .dquoted_char ' , | |
| 330 | others are regulated by a length encoding introduced by an open | |
| 331 | parenthesis | |
| 332 | .squoted_char ( | |
| 333 | or enclosed in brackets | |
| 334 | .squoted_char [ | |
| 335 | and | |
| 336 | .squoted_char ] . | |
| 337 | . | |
| 338 | .P | |
| 339 | The roff language provides flexible instruments for writing language | |
| 340 | extension, such as macros. | |
| 341 | . | |
| 342 | When interpreting macro definitions, the roff system enters a special | |
| 343 | operating mode, called the | |
| 344 | .BR "copy mode" . | |
| 345 | . | |
| 346 | .P | |
| 347 | The copy mode behavior can be quite tricky, but there are some rules | |
| 348 | that ensure a safe usage. | |
| 349 | . | |
| 350 | .IP 1. | |
| 351 | Printable backslashes must be denoted as | |
| 352 | .esc e . | |
| 353 | To be more precise, | |
| 354 | .esc e | |
| 355 | represents the current escape character. | |
| 356 | . | |
| 357 | To get a backslash glyph, use | |
| 358 | .esc (rs | |
| 359 | or | |
| 360 | .esc [rs] . | |
| 361 | .IP 2. | |
| 362 | Double all backslashes. | |
| 363 | .IP 3. | |
| 364 | Begin all text lines with the special non-spacing character | |
| 365 | .esc & . | |
| 366 | . | |
| 367 | .P | |
| 368 | This does not produce the most efficient code, but it should work as a | |
| 369 | first measure. | |
| 370 | . | |
| 371 | For better strategies, see the groff info file and | |
| 372 | .BR groff_tmac (@MAN5EXT@). | |
| 373 | . | |
| 374 | .P | |
| 375 | Reading roff source files is easier, just reduce all double backslashes | |
| 376 | to a single one in all macro definitions. | |
| 377 | . | |
| 378 | . | |
| 379 | .\" -------------------------------------------------------------------- | |
| 380 | .SH "GROFF ELEMENTS" | |
| 381 | .\" -------------------------------------------------------------------- | |
| 382 | . | |
| 383 | The roff language elements add formatting information to a text file. | |
| 384 | . | |
| 385 | The fundamental elements are predefined commands and variables that | |
| 386 | make roff a full-blown programming language. | |
| 387 | . | |
| 388 | .P | |
| 389 | There are two kinds of roff commands, possibly with arguments. | |
| 390 | .B Requests | |
| 391 | are written on a line of their own starting with a dot | |
| 392 | .squoted_char . | |
| 393 | or a | |
| 394 | .dquoted_char ' , | |
| 395 | whereas | |
| 396 | .B Escape sequences | |
| 397 | are in-line functions and in-word formatting elements starting with a | |
| 398 | backslash | |
| 399 | .squoted_char \[rs] . | |
| 400 | . | |
| 401 | .P | |
| 402 | The user can define her own formatting commands using the | |
| 403 | .request de | |
| 404 | request. | |
| 405 | . | |
| 406 | These commands are called | |
| 407 | .BR macros , | |
| 408 | but they are used exactly like requests. | |
| 409 | . | |
| 410 | Macro packages are pre-defined sets of macros written in the groff | |
| 411 | language. | |
| 412 | . | |
| 413 | A user's possibilities to create escape sequences herself is very | |
| 414 | limited, only special characters can be mapped. | |
| 415 | . | |
| 416 | .P | |
| 417 | The groff language provides several kinds of variables with | |
| 418 | different interfaces. | |
| 419 | . | |
| 420 | There are pre-defined variables, but the user can define her own | |
| 421 | variables as well. | |
| 422 | . | |
| 423 | .P | |
| 424 | .B String | |
| 425 | variables store character sequences. | |
| 426 | . | |
| 427 | They are set with the | |
| 428 | .request ds | |
| 429 | request and retrieved by the | |
| 430 | .esc * | |
| 431 | escape sequences. | |
| 432 | . | |
| 433 | Strings can have variables. | |
| 434 | . | |
| 435 | .P | |
| 436 | .B Register | |
| 437 | variables can store numerical values, numbers with a scale unit, and | |
| 438 | occasionally string-like objects. | |
| 439 | . | |
| 440 | They are set with the | |
| 441 | .request nr | |
| 442 | request and retrieved by the | |
| 443 | .esc n | |
| 444 | escape sequences. | |
| 445 | . | |
| 446 | .P | |
| 447 | .B Environments | |
| 448 | allow the user to temporarily store global formatting parameters like | |
| 449 | line length, font size, etc.\& for later reuse. | |
| 450 | . | |
| 451 | This is done by the | |
| 452 | .request ev | |
| 453 | request. | |
| 454 | . | |
| 455 | .P | |
| 456 | .B Fonts | |
| 457 | are identified either by a name or by an internal number. | |
| 458 | . | |
| 459 | The current font is chosen by the | |
| 460 | .request ft | |
| 461 | request or by the | |
| 462 | .esc f | |
| 463 | escape sequences. | |
| 464 | . | |
| 465 | Each device has special fonts, but the following fonts are available | |
| 466 | for all devices. | |
| 467 | .B R | |
| 468 | is the standard font Roman. | |
| 469 | .B B | |
| 470 | is its | |
| 471 | .B bold | |
| 472 | counterpart. | |
| 473 | . | |
| 474 | The | |
| 475 | .I italic | |
| 476 | font is called | |
| 477 | .B I | |
| 478 | and is available everywhere, but on text devices it is displayed as an | |
| 479 | underlined Roman font. | |
| 480 | . | |
| 481 | For the graphical output devices, there exist constant-width pendants | |
| 482 | of these fonts, | |
| 483 | .BR CR , | |
| 484 | .BR CI , | |
| 485 | and | |
| 486 | .BR CB . | |
| 4d3e9548 JL |
487 | On text devices, all glyphs have a constant width anyway. |
| 488 | . | |
| 489 | .P | |
| 490 | .B Glyphs | |
| 491 | are visual representation forms of | |
| 492 | .BR characters . | |
| 493 | In groff, the distinction between those two elements is not always | |
| 494 | obvious (and a full discussion is beyond the scope of this man page). | |
| 495 | . | |
| 496 | A first approximation is that glyphs have a specific size and | |
| 497 | colour and are taken from a specific font; they can't be modified any | |
| 498 | more \[en] characters are the input, and glyphs are the output. | |
| 499 | . | |
| 500 | As soon as an output line has been generated, it no longer contains | |
| 501 | characters but glyphs. | |
| 502 | . | |
| 503 | In this man page, we use either `glyph' or `character', whatever is | |
| 504 | more appropriate. | |
| 92d0a6a6 JR |
505 | . |
| 506 | .P | |
| 507 | Moreover, there are some advanced roff elements. | |
| 508 | . | |
| 509 | A | |
| 510 | .B diversion | |
| 4d3e9548 | 511 | stores (formatted) information into a macro for later usage. |
| 92d0a6a6 JR |
512 | . |
| 513 | A | |
| 514 | .B trap | |
| 515 | is a positional condition like a certain number of lines from page top | |
| 516 | or in a diversion or in the input. | |
| 517 | . | |
| 518 | Some action can be prescribed to be run automatically when the | |
| 519 | condition is met. | |
| 520 | . | |
| 521 | .P | |
| 522 | More detailed information and examples can be found in the groff info | |
| 523 | file. | |
| 524 | . | |
| 525 | . | |
| 526 | .\" -------------------------------------------------------------------- | |
| 527 | .SH "CONTROL CHARACTERS" | |
| 528 | .\" -------------------------------------------------------------------- | |
| 529 | . | |
| 530 | There is a small set of characters that have a special controlling | |
| 531 | task in certain conditions. | |
| 532 | . | |
| 533 | .TP | |
| 4d3e9548 | 534 | \&\f[CB].\f[] |
| 92d0a6a6 JR |
535 | A dot is only special at the beginning of a line or after the |
| 536 | condition in the requests | |
| 537 | .request if , | |
| 538 | .request ie , | |
| 539 | .request el , | |
| 540 | and | |
| 541 | .request while . | |
| 542 | There it is the control character that introduces a request (or macro). | |
| 543 | . | |
| 544 | The special behavior can be delayed by using the | |
| 545 | .esc . | |
| 546 | escape. | |
| 547 | . | |
| 548 | By using the | |
| 549 | .request cc | |
| 550 | request, the control character can be set to a different character, | |
| 551 | making the dot | |
| 552 | .squoted_char . | |
| 553 | a non-special character. | |
| 554 | .IP "" | |
| 555 | In all other positions, it just means a dot character. | |
| 556 | . | |
| 557 | In text paragraphs, it is advantageous to start each sentence at a | |
| 558 | line of its own. | |
| 559 | . | |
| 560 | .TP | |
| 4d3e9548 | 561 | \&\f[CB]'\f[] |
| 92d0a6a6 JR |
562 | The single quote has two controlling tasks. |
| 563 | . | |
| 564 | At the beginning of a line and in the conditional requests it is the | |
| 565 | non-breaking control character. | |
| 566 | . | |
| 567 | That means that it introduces a request like the dot, but with the | |
| 568 | additional property that this request doesn't cause a linebreak. | |
| 569 | . | |
| 570 | By using the | |
| 571 | .request c2 | |
| 572 | request, the non-break control character can be set to a different | |
| 573 | character. | |
| 574 | . | |
| 575 | .IP "" | |
| 576 | As a second task, it is the most commonly used argument separator in | |
| 577 | some functional escape sequences (but any pair of characters not part | |
| 4d3e9548 | 578 | of the argument do work). |
| 92d0a6a6 JR |
579 | . |
| 580 | In all other positions, it denotes the single quote or apostrophe | |
| 581 | character. | |
| 582 | . | |
| 583 | Groff provides a printable representation with the | |
| 584 | .esc (cq | |
| 585 | escape sequence. | |
| 586 | . | |
| 587 | .TP | |
| 4d3e9548 JL |
588 | \&\f[CB]\[dq]\f[] |
| 589 | The double quote is used to enclose arguments in macros (but not in | |
| 590 | requests and strings). | |
| 92d0a6a6 JR |
591 | . |
| 592 | In the | |
| 593 | .request ds | |
| 594 | and | |
| 595 | .request as | |
| 4d3e9548 | 596 | requests, a leading double quote in the argument is stripped off, |
| 92d0a6a6 JR |
597 | making everything else afterwards the string to be defined (enabling |
| 598 | leading whitespace). | |
| 599 | . | |
| 600 | The escaped double quote | |
| 601 | .esc \[dq] | |
| 602 | introduces a comment. | |
| 603 | . | |
| 604 | Otherwise, it is not special. | |
| 605 | . | |
| 606 | Groff provides a printable representation with the | |
| 607 | .esc (dq | |
| 608 | escape sequence. | |
| 609 | . | |
| 610 | .TP | |
| 4d3e9548 | 611 | \&\f[CB]\[rs]\f[] |
| 92d0a6a6 JR |
612 | The backslash usually introduces an escape sequence (this can be |
| 613 | changed with the | |
| 614 | .request ec | |
| 615 | request). | |
| 616 | . | |
| 617 | A printed version of the escape character is the | |
| 618 | .esc e | |
| 619 | escape; a backslash glyph can be obtained by | |
| 620 | .esc (rs . | |
| 621 | .TP | |
| 4d3e9548 | 622 | \&\f[CB](\f[] |
| 92d0a6a6 JR |
623 | The open parenthesis is only special in escape sequences when |
| 624 | introducing an escape name or argument consisting of exactly two | |
| 625 | characters. | |
| 626 | . | |
| 627 | In groff, this behavior can be replaced by the \f[CB][]\f[] construct. | |
| 628 | .TP | |
| 4d3e9548 | 629 | \&\f[CB][\f[] |
| 92d0a6a6 JR |
630 | The opening bracket is only special in groff escape sequences; there |
| 631 | it is used to introduce a long escape name or long escape argument. | |
| 632 | . | |
| 633 | Otherwise, it is non-special, e.g.\& in macro calls. | |
| 634 | .TP | |
| 4d3e9548 | 635 | \&\f[CB]]\f[] |
| 92d0a6a6 JR |
636 | The closing bracket is only special in groff escape sequences; there |
| 637 | it terminates a long escape name or long escape argument. | |
| 638 | . | |
| 639 | Otherwise, it is non-special. | |
| 640 | .TP | |
| 641 | \f[CI]space\f[] | |
| 642 | Space characters are only functional characters. | |
| 643 | . | |
| 644 | They separate the arguments in requests, macros, and strings, and the words | |
| 645 | in text lines. | |
| 646 | . | |
| 647 | They are subject to groff's horizontal spacing calculations. | |
| 648 | . | |
| 649 | To get a defined space width, escape sequences like | |
| 650 | .squoted_char "\[rs]\ " | |
| 651 | (this is the escape character followed by a space), | |
| 652 | .esc | , | |
| 653 | .esc ^ , | |
| 654 | or | |
| 655 | .esc h | |
| 656 | should be used. | |
| 657 | . | |
| 658 | .IP \f[CI]newline\f[] | |
| 659 | In text paragraphs, newlines mostly behave like space characters. | |
| 660 | . | |
| 661 | Continuation lines can be specified by an escaped newline, i.e., by | |
| 662 | specifying a backslash | |
| 663 | .squoted_char \[rs] | |
| 664 | as the last character of a line. | |
| 665 | .IP \f[CI]tab\f[] | |
| 666 | If a tab character occurs during text the interpreter makes a | |
| 667 | horizontal jump to the next pre-defined tab position. | |
| 668 | . | |
| 669 | There is a sophisticated interface for handling tab positions. | |
| 670 | . | |
| 671 | . | |
| 672 | .\" -------------------------------------------------------------------- | |
| 673 | .SH "NUMERICAL EXPRESSIONS" | |
| 674 | .\" -------------------------------------------------------------------- | |
| 675 | . | |
| 676 | A | |
| 677 | .B numerical value | |
| 678 | is a signed or unsigned integer or float with or without an appended | |
| 679 | scaling indicator. | |
| 680 | . | |
| 681 | A | |
| 682 | .B scaling indicator | |
| 683 | is a one-character abbreviation for a unit of measurement. | |
| 684 | . | |
| 685 | A number followed by a scaling indicator signifies a size value. | |
| 686 | . | |
| 687 | By default, numerical values do not have a scaling indicator, i.e., they | |
| 688 | are normal numbers. | |
| 689 | . | |
| 690 | .P | |
| 691 | The | |
| 692 | .I roff | |
| 693 | language defines the following scaling indicators. | |
| 694 | . | |
| 695 | . | |
| 696 | .P | |
| 697 | .PD 0 | |
| 698 | .RS | |
| 699 | . | |
| 700 | .TPx | |
| 701 | .B c | |
| 702 | Centimeter | |
| 703 | . | |
| 704 | .TPx | |
| 705 | .B i | |
| 706 | Inch | |
| 707 | . | |
| 708 | .TPx | |
| 709 | .B P | |
| 710 | Pica\ \[eq]\ 1/6\ inch | |
| 711 | . | |
| 712 | .TPx | |
| 713 | .B p | |
| 714 | Point\ \[eq]\ 1/72\ inch | |
| 715 | . | |
| 716 | .TPx | |
| 717 | .B m | |
| 4d3e9548 JL |
718 | Em\ \[eq]\ \f[R]the font size in points (approx.\& width of letter |
| 719 | `\f[CR]m\f[R]') | |
| 92d0a6a6 JR |
720 | . |
| 721 | .TPx | |
| 722 | .B M | |
| 723 | 100\^th \f[R]of an \f[CR]Em | |
| 724 | . | |
| 725 | .TPx | |
| 726 | .B n | |
| 727 | En\ \[eq]\ Em/2 | |
| 728 | . | |
| 729 | .TPx | |
| 730 | .B u | |
| 731 | Basic unit for actual output device | |
| 732 | . | |
| 733 | .TPx | |
| 734 | .B v | |
| 735 | Vertical line space in basic units | |
| 736 | scaled point\ \[eq]\ 1/\f[CI]sizescale\f[R] of a point (defined in | |
| 737 | font \f[I]DESC\f[] file) | |
| 738 | . | |
| 739 | .TPx | |
| 740 | .B f | |
| 741 | Scale by 65536. | |
| 742 | .RE | |
| 743 | .PD | |
| 744 | . | |
| 745 | .P | |
| 746 | .B Numerical expressions | |
| 747 | are combinations of the numerical values defined above with the | |
| 748 | following arithmetical operators already defined in classical troff. | |
| 749 | . | |
| 750 | .P | |
| 751 | .PD 0 | |
| 752 | .RS | |
| 753 | . | |
| 754 | .TPx | |
| 755 | .B + | |
| 756 | Addition | |
| 757 | . | |
| 758 | .TPx | |
| 759 | .B \- | |
| 760 | Subtraction | |
| 761 | . | |
| 762 | .TPx | |
| 763 | .B * | |
| 764 | Multiplication | |
| 765 | . | |
| 766 | .TPx | |
| 767 | .B / | |
| 768 | Division | |
| 769 | . | |
| 770 | .TPx | |
| 771 | .B % | |
| 772 | Modulo | |
| 773 | . | |
| 774 | .TPx | |
| 775 | .B = | |
| 776 | Equals | |
| 777 | . | |
| 778 | .TPx | |
| 779 | .B == | |
| 780 | Equals | |
| 781 | . | |
| 782 | .TPx | |
| 783 | .B < | |
| 784 | Less than | |
| 785 | . | |
| 786 | .TPx | |
| 787 | .B > | |
| 788 | Greater than | |
| 789 | . | |
| 790 | .TPx | |
| 791 | .B <= | |
| 792 | Less or equal | |
| 793 | . | |
| 794 | .TPx | |
| 795 | .B >= | |
| 796 | Greater or equal | |
| 797 | . | |
| 798 | .TPx | |
| 799 | .B & | |
| 800 | Logical and | |
| 801 | . | |
| 802 | .TPx | |
| 803 | .B : | |
| 804 | Logical or | |
| 805 | . | |
| 806 | .TPx | |
| 807 | .B ! | |
| 808 | Logical not | |
| 809 | . | |
| 810 | .TPx | |
| 811 | .B ( | |
| 812 | Grouping of expressions | |
| 813 | . | |
| 814 | .TPx | |
| 815 | .B ) | |
| 816 | Close current grouping | |
| 817 | . | |
| 818 | .RE | |
| 819 | .PD | |
| 820 | . | |
| 821 | .P | |
| 822 | Moreover, | |
| 823 | .I groff | |
| 824 | added the following operators for numerical expressions: | |
| 825 | . | |
| 826 | .P | |
| 827 | .PD 0 | |
| 828 | .RS | |
| 829 | . | |
| 830 | .TPx | |
| 4d3e9548 | 831 | \f[I]e1\f[CB]>?\f[I]e2\f[R] |
| 92d0a6a6 JR |
832 | The maximum of |
| 833 | .I e1 | |
| 834 | and | |
| 835 | .IR e2 . | |
| 836 | . | |
| 837 | .TPx | |
| 4d3e9548 | 838 | \f[I]e1\f[CB]<?\f[I]e2\f[R] |
| 92d0a6a6 JR |
839 | The minimum of |
| 840 | .I e1 | |
| 841 | and | |
| 842 | .IR e2 . | |
| 843 | . | |
| 844 | .TPx | |
| 4d3e9548 | 845 | \f[CB](\f[I]c\f[CB];\f[I]e\f[CB])\f[R] |
| 92d0a6a6 JR |
846 | Evaluate |
| 847 | .I e | |
| 848 | using | |
| 849 | .I c | |
| 850 | as the default scaling indicator. | |
| 851 | . | |
| 852 | .RE | |
| 853 | .PD | |
| 854 | . | |
| 855 | .P | |
| 856 | For details see the groff info file. | |
| 857 | . | |
| 858 | . | |
| 859 | .\" -------------------------------------------------------------------- | |
| 860 | .SH CONDITIONS | |
| 861 | .\" -------------------------------------------------------------------- | |
| 862 | . | |
| 863 | .B Conditions | |
| 864 | occur in tests raised by the | |
| 865 | .request if , | |
| 866 | .request ie , | |
| 867 | and the | |
| 868 | .request while | |
| 869 | requests. | |
| 870 | . | |
| 871 | The following table characterizes the different types of conditions. | |
| 872 | . | |
| 873 | .P | |
| 874 | .PD 0 | |
| 875 | .RS | |
| 876 | . | |
| 877 | .TPx | |
| 878 | .I N | |
| 879 | A numerical expression | |
| 880 | .I N | |
| 881 | yields true if its value is greater than\~0. | |
| 882 | . | |
| 883 | .TPx | |
| 884 | .BI ! N | |
| 885 | True if the value of | |
| 886 | .I I | |
| 887 | is\~0. | |
| 888 | . | |
| 889 | .TPx | |
| 890 | .BI ' s1 ' s2 ' | |
| 891 | True if string\~\c | |
| 892 | .I s1 | |
| 893 | is identical to string\~\c | |
| 894 | .IR s2 . | |
| 895 | . | |
| 896 | .TPx | |
| 897 | .BI !' s1 ' s2 ' | |
| 898 | True if string\~\c | |
| 899 | .I s1 | |
| 900 | is not identical to string\~\c | |
| 901 | .IR s2 . | |
| 902 | . | |
| 903 | .TPx | |
| 904 | .BI c ch | |
| 4d3e9548 | 905 | True if there is a glyph\~\c |
| 92d0a6a6 JR |
906 | .I ch |
| 907 | available. | |
| 908 | . | |
| 909 | .TPx | |
| 910 | .BI d name | |
| 911 | True if there is a string, macro, diversion, or request called | |
| 912 | .IR name . | |
| 913 | . | |
| 914 | .TPx | |
| 915 | .B e | |
| 916 | Current page number is even. | |
| 917 | . | |
| 918 | .TPx | |
| 919 | .B o | |
| 920 | Current page number is odd. | |
| 921 | . | |
| 922 | .TPx | |
| 923 | .BI m name | |
| 924 | True if there is a color called | |
| 925 | .IR name . | |
| 926 | . | |
| 927 | .TPx | |
| 928 | .B n | |
| 929 | Formatter is | |
| 930 | .BR nroff . | |
| 931 | . | |
| 932 | .TPx | |
| 933 | .BI r reg | |
| 934 | True if there is a register named | |
| 935 | .IR reg . | |
| 936 | . | |
| 937 | .TPx | |
| 938 | .B t | |
| 939 | Formatter is | |
| 940 | .BR troff . | |
| 941 | . | |
| 465b256c JR |
942 | .TPx |
| 943 | .BI F font | |
| 944 | True if there exists a font named | |
| 945 | .IR font . | |
| 946 | . | |
| 947 | .TPx | |
| 948 | .BI S style | |
| 949 | True if a style named | |
| 950 | .I style | |
| 951 | has been registered. | |
| 952 | . | |
| 92d0a6a6 JR |
953 | .RE |
| 954 | .PD | |
| 955 | . | |
| 956 | . | |
| 957 | .\" -------------------------------------------------------------------- | |
| 958 | .SH REQUESTS | |
| 959 | .\" -------------------------------------------------------------------- | |
| 960 | . | |
| 961 | This section provides a short reference for the predefined requests. | |
| 962 | . | |
| 4d3e9548 | 963 | In groff, request, macro, and string names can be arbitrarily long. |
| 92d0a6a6 JR |
964 | . |
| 965 | No bracketing or marking of long names is needed. | |
| 966 | . | |
| 967 | .P | |
| 968 | Most requests take one or more arguments. | |
| 969 | . | |
| 970 | The arguments are separated by space characters (no tabs!); there is | |
| 971 | no inherent limit for their length or number. | |
| 972 | . | |
| 92d0a6a6 JR |
973 | .P |
| 974 | Some requests have optional arguments with a different behaviour. | |
| 975 | . | |
| 976 | Not all of these details are outlined here. | |
| 977 | . | |
| 978 | Refer to the groff info file and | |
| 979 | .BR groff_diff (@MAN7EXT@) | |
| 980 | for all details. | |
| 981 | . | |
| 982 | .P | |
| 983 | In the following request specifications, most argument names were | |
| 984 | chosen to be descriptive. | |
| 985 | . | |
| 986 | Only the following denotations need clarification. | |
| 987 | . | |
| 988 | .P | |
| 989 | .PD 0 | |
| 990 | .RS | |
| 991 | . | |
| 992 | .TPx | |
| 993 | .I c | |
| 994 | denotes a single character. | |
| 995 | . | |
| 996 | .TPx | |
| 997 | .I font | |
| 998 | a font either specified as a font name or a font number. | |
| 999 | . | |
| 1000 | .TPx | |
| 1001 | .I anything | |
| 1002 | all characters up to the end of the line or within | |
| 1003 | .esc { | |
| 1004 | and | |
| 1005 | .esc } . | |
| 1006 | . | |
| 1007 | .TPx | |
| 1008 | .I n | |
| 1009 | is a numerical expression that evaluates to an integer value. | |
| 1010 | . | |
| 1011 | .TPx | |
| 1012 | .I N | |
| 1013 | is an arbitrary numerical expression, signed or unsigned. | |
| 1014 | . | |
| 1015 | .TPx | |
| 1016 | .I \[+-]N | |
| 1017 | has three meanings depending on its sign, described below. | |
| 1018 | . | |
| 1019 | .RE | |
| 1020 | .PD | |
| 1021 | . | |
| 1022 | .P | |
| 1023 | If an expression defined as | |
| 1024 | .I \[+-]N | |
| 1025 | starts with a | |
| 1026 | .squoted_char + | |
| 4d3e9548 | 1027 | sign the resulting value of the expression is added to an already |
| 92d0a6a6 JR |
1028 | existing value inherent to the related request, e.g.\& adding to a number |
| 1029 | register. | |
| 1030 | . | |
| 1031 | If the expression starts with a | |
| 1032 | .squoted_char - | |
| 4d3e9548 | 1033 | the value of the expression is subtracted from the request value. |
| 92d0a6a6 JR |
1034 | . |
| 1035 | .P | |
| 1036 | Without a sign, | |
| 1037 | .I N | |
| 1038 | replaces the existing value directly. | |
| 1039 | . | |
| 1040 | To assign a negative number either prepend\~0 or enclose the negative | |
| 1041 | number in parentheses. | |
| 1042 | . | |
| 1043 | . | |
| 1044 | .\" -------------------------------------------------------------------- | |
| 1045 | .SS "Request Short Reference" | |
| 1046 | .\" -------------------------------------------------------------------- | |
| 1047 | . | |
| 1048 | .PD 0 | |
| 1049 | . | |
| 4d3e9548 | 1050 | .TPx |
| 92d0a6a6 JR |
1051 | .REQ . |
| 1052 | Empty line, ignored. | |
| 1053 | . | |
| 1054 | Useful for structuring documents. | |
| 1055 | . | |
| 4d3e9548 JL |
1056 | .TPx |
| 1057 | .REQ .\[rs]\[dq] "anything" | |
| 92d0a6a6 JR |
1058 | Complete line is a comment. |
| 1059 | . | |
| 4d3e9548 JL |
1060 | .TPx |
| 1061 | .REQ .ab "string | |
| 92d0a6a6 JR |
1062 | |
| 1063 | .I string | |
| 1064 | on standard error, exit program. | |
| 1065 | . | |
| 4d3e9548 | 1066 | .TPx |
| 92d0a6a6 JR |
1067 | .REQ .ad |
| 1068 | Begin line adjustment for output lines in current adjust mode. | |
| 1069 | . | |
| 4d3e9548 JL |
1070 | .TPx |
| 1071 | .REQ .ad "c" | |
| 92d0a6a6 JR |
1072 | Start line adjustment in mode |
| 1073 | .I c | |
| 1074 | (\f[CI]c\f[]\f[CR]\|\^\[eq]\|l,r,b,n\f[]). | |
| 1075 | . | |
| 4d3e9548 JL |
1076 | .TPx |
| 1077 | .REQ .af "register c" | |
| 92d0a6a6 JR |
1078 | Assign format |
| 1079 | .I c | |
| 1080 | to | |
| 1081 | .I register | |
| 1082 | (\f[CI]c\f[]\f[CR]\|\^\[eq]\|l,i,I,a,A\f[]). | |
| 1083 | . | |
| 4d3e9548 JL |
1084 | .TPx |
| 1085 | .REQ .aln "alias register" | |
| 92d0a6a6 JR |
1086 | Create alias name for |
| 1087 | .IR register . | |
| 1088 | . | |
| 4d3e9548 JL |
1089 | .TPx |
| 1090 | .REQ .als "alias object" | |
| 92d0a6a6 JR |
1091 | Create alias name for request, string, macro, or diversion |
| 1092 | .IR object . | |
| 1093 | . | |
| 4d3e9548 JL |
1094 | .TPx |
| 1095 | .REQ .am "macro" | |
| 92d0a6a6 JR |
1096 | Append to |
| 1097 | .I macro | |
| 1098 | until | |
| 1099 | .B ..\& | |
| 1100 | is encountered. | |
| 1101 | . | |
| 4d3e9548 JL |
1102 | .TPx |
| 1103 | .REQ .am "macro end" | |
| 92d0a6a6 JR |
1104 | Append to |
| 1105 | .I macro | |
| 1106 | until | |
| 4d3e9548 | 1107 | .BI . end |
| 92d0a6a6 JR |
1108 | is called. |
| 1109 | . | |
| 4d3e9548 JL |
1110 | .TPx |
| 1111 | .REQ .am1 "macro" | |
| 92d0a6a6 JR |
1112 | Same as |
| 1113 | .request .am | |
| 1114 | but with compatibility mode switched off during macro expansion. | |
| 1115 | . | |
| 4d3e9548 JL |
1116 | .TPx |
| 1117 | .REQ .am1 "macro end" | |
| 92d0a6a6 JR |
1118 | Same as |
| 1119 | .request .am | |
| 1120 | but with compatibility mode switched off during macro expansion. | |
| 1121 | . | |
| 4d3e9548 JL |
1122 | .TPx |
| 1123 | .REQ .ami "macro" | |
| 92d0a6a6 JR |
1124 | Append to a macro whose name is contained in the string register |
| 1125 | .I macro | |
| 1126 | until | |
| 1127 | .B ..\& | |
| 1128 | is encountered. | |
| 1129 | . | |
| 4d3e9548 JL |
1130 | .TPx |
| 1131 | .REQ .ami "macro end" | |
| 92d0a6a6 JR |
1132 | Append to a macro indirectly. |
| 1133 | .I macro | |
| 1134 | and | |
| 1135 | .I end | |
| 1136 | are string registers whose contents are interpolated for the macro name | |
| 1137 | and the end macro, respectively. | |
| 1138 | . | |
| 4d3e9548 JL |
1139 | .TPx |
| 1140 | .REQ .ami1 "macro" | |
| 92d0a6a6 JR |
1141 | Same as |
| 1142 | .request .ami | |
| 1143 | but with compatibility mode switched off during macro expansion. | |
| 1144 | . | |
| 4d3e9548 JL |
1145 | .TPx |
| 1146 | .REQ .ami1 "macro end" | |
| 92d0a6a6 JR |
1147 | Same as |
| 1148 | .request .ami | |
| 1149 | but with compatibility mode switched off during macro expansion. | |
| 1150 | . | |
| 4d3e9548 JL |
1151 | .TPx |
| 1152 | .REQ .as "stringvar anything" | |
| 92d0a6a6 JR |
1153 | Append |
| 1154 | .I anything | |
| 1155 | to | |
| 1156 | .IR stringvar . | |
| 1157 | . | |
| 4d3e9548 JL |
1158 | .TPx |
| 1159 | .REQ .as1 "stringvar anything" | |
| 92d0a6a6 JR |
1160 | Same as |
| 1161 | .request .as | |
| 1162 | but with compatibility mode switched off during string expansion. | |
| 1163 | . | |
| 4d3e9548 JL |
1164 | .TPx |
| 1165 | .REQ .asciify "diversion" | |
| 92d0a6a6 JR |
1166 | Unformat ASCII characters, spaces, and some escape sequences in |
| 1167 | .IR diversion . | |
| 1168 | . | |
| 4d3e9548 | 1169 | .TPx |
| 92d0a6a6 JR |
1170 | .REQ .backtrace |
| 1171 | Print a backtrace of the input on stderr. | |
| 1172 | . | |
| 4d3e9548 JL |
1173 | .TPx |
| 1174 | .REQ .bd "font N" | |
| 92d0a6a6 JR |
1175 | Embolden |
| 1176 | .I font | |
| 1177 | by | |
| 1178 | .IR N -1 | |
| 1179 | units. | |
| 1180 | . | |
| 4d3e9548 JL |
1181 | .TPx |
| 1182 | .REQ .bd "S font N" | |
| 92d0a6a6 JR |
1183 | Embolden Special Font |
| 1184 | .I S | |
| 1185 | when current font is | |
| 1186 | .IR font . | |
| 1187 | . | |
| 4d3e9548 | 1188 | .TPx |
| 92d0a6a6 JR |
1189 | .REQ .blm |
| 1190 | Unset the blank line macro. | |
| 1191 | . | |
| 4d3e9548 JL |
1192 | .TPx |
| 1193 | .REQ .blm "macro" | |
| 92d0a6a6 JR |
1194 | Set the blank line macro to |
| 1195 | .IR macro . | |
| 1196 | . | |
| 4d3e9548 | 1197 | .TPx |
| 92d0a6a6 JR |
1198 | .REQ .box |
| 1199 | End current diversion. | |
| 1200 | . | |
| 4d3e9548 JL |
1201 | .TPx |
| 1202 | .REQ .box "macro" | |
| 92d0a6a6 JR |
1203 | Divert to |
| 1204 | .IR macro , | |
| 1205 | omitting a partially filled line. | |
| 1206 | . | |
| 4d3e9548 | 1207 | .TPx |
| 92d0a6a6 JR |
1208 | .REQ .boxa |
| 1209 | End current diversion. | |
| 1210 | . | |
| 4d3e9548 JL |
1211 | .TPx |
| 1212 | .REQ .boxa "macro" | |
| 92d0a6a6 JR |
1213 | Divert and append to |
| 1214 | .IR macro , | |
| 1215 | omitting a partially filled line. | |
| 1216 | . | |
| 4d3e9548 | 1217 | .TPx |
| 92d0a6a6 JR |
1218 | .REQ .bp |
| 1219 | Eject current page and begin new page. | |
| 1220 | . | |
| 4d3e9548 JL |
1221 | .TPx |
| 1222 | .REQ .bp "\[+-]N" | |
| 92d0a6a6 JR |
1223 | Eject current page; next page number |
| 1224 | .IR \[+-]N . | |
| 1225 | . | |
| 4d3e9548 | 1226 | .TPx |
| 92d0a6a6 JR |
1227 | .REQ .br |
| 1228 | Line break. | |
| 1229 | . | |
| 4d3e9548 | 1230 | .TPx |
| 92d0a6a6 JR |
1231 | .REQ .brp |
| 1232 | Break and spread output line. | |
| 1233 | Same as | |
| 1234 | .esc p . | |
| 1235 | . | |
| 4d3e9548 | 1236 | .TPx |
| 92d0a6a6 JR |
1237 | .REQ .break |
| 1238 | Break out of a while loop. | |
| 1239 | . | |
| 4d3e9548 | 1240 | .TPx |
| 92d0a6a6 JR |
1241 | .REQ .c2 |
| 1242 | Reset no-break control character to | |
| 1243 | .dquoted_char ' . | |
| 1244 | . | |
| 4d3e9548 JL |
1245 | .TPx |
| 1246 | .REQ .c2 "c" | |
| 92d0a6a6 JR |
1247 | Set no-break control character to |
| 1248 | .IR c . | |
| 1249 | . | |
| 4d3e9548 | 1250 | .TPx |
| 92d0a6a6 JR |
1251 | .REQ .cc |
| 1252 | Reset control character to | |
| 1253 | .squoted_char . . | |
| 1254 | . | |
| 4d3e9548 JL |
1255 | .TPx |
| 1256 | .REQ .cc "c" | |
| 92d0a6a6 JR |
1257 | Set control character to |
| 1258 | .IR c . | |
| 1259 | . | |
| 4d3e9548 | 1260 | .TPx |
| 92d0a6a6 JR |
1261 | .REQ .ce |
| 1262 | Center the next input line. | |
| 1263 | . | |
| 4d3e9548 JL |
1264 | .TPx |
| 1265 | .REQ .ce "N" | |
| 92d0a6a6 JR |
1266 | Center following |
| 1267 | .I N | |
| 1268 | input lines. | |
| 1269 | . | |
| 4d3e9548 JL |
1270 | .TPx |
| 1271 | .REQ .cf "filename" | |
| 92d0a6a6 JR |
1272 | Copy contents of file |
| 1273 | .I filename | |
| 1274 | unprocessed to stdout or to the diversion. | |
| 1275 | . | |
| 4d3e9548 JL |
1276 | .TPx |
| 1277 | .REQ .cflags "mode c1 c2 .\|.\|.\&" | |
| 92d0a6a6 JR |
1278 | Treat characters |
| 1279 | .IR c1 , | |
| 1280 | .IR c2 , | |
| 1281 | .I .\|.\|.\& | |
| 1282 | according to | |
| 1283 | .I mode | |
| 1284 | number. | |
| 1285 | . | |
| 4d3e9548 JL |
1286 | .TPx |
| 1287 | .REQ .ch "trap N" | |
| 92d0a6a6 JR |
1288 | Change |
| 1289 | .I trap | |
| 1290 | location | |
| 1291 | to | |
| 4d3e9548 | 1292 | .IR N . |
| 92d0a6a6 | 1293 | . |
| 4d3e9548 JL |
1294 | .TPx |
| 1295 | .REQ .char "c anything" | |
| 1296 | Define entity | |
| 92d0a6a6 JR |
1297 | .I c |
| 1298 | as string | |
| 1299 | .IR anything . | |
| 1300 | . | |
| 4d3e9548 JL |
1301 | .TPx |
| 1302 | .REQ .chop "object" | |
| 92d0a6a6 JR |
1303 | Chop the last character off macro, string, or diversion |
| 1304 | .IR object . | |
| 1305 | . | |
| 4d3e9548 JL |
1306 | .TPx |
| 1307 | .REQ .close "stream" | |
| 92d0a6a6 JR |
1308 | Close the |
| 1309 | .IR stream . | |
| 1310 | . | |
| 4d3e9548 | 1311 | .TPx |
| 92d0a6a6 JR |
1312 | .REQ .color |
| 1313 | Enable colors. | |
| 1314 | . | |
| 4d3e9548 JL |
1315 | .TPx |
| 1316 | .REQ .color "N" | |
| 92d0a6a6 JR |
1317 | If |
| 1318 | .I N | |
| 1319 | is zero disable colors, otherwise enable them. | |
| 1320 | . | |
| 4d3e9548 JL |
1321 | .TPx |
| 1322 | .REQ .composite "from to" | |
| 92d0a6a6 JR |
1323 | Map glyph name |
| 1324 | .I from | |
| 1325 | to glyph name | |
| 1326 | .I to | |
| 1327 | while constructing a composite glyph name. | |
| 1328 | . | |
| 4d3e9548 | 1329 | .TPx |
| 92d0a6a6 JR |
1330 | .REQ .continue |
| 1331 | Finish the current iteration of a while loop. | |
| 1332 | . | |
| 4d3e9548 | 1333 | .TPx |
| 92d0a6a6 JR |
1334 | .REQ .cp |
| 1335 | Enable compatibility mode. | |
| 1336 | . | |
| 4d3e9548 JL |
1337 | .TPx |
| 1338 | .REQ .cp "N" | |
| 92d0a6a6 JR |
1339 | If |
| 1340 | .I N | |
| 1341 | is zero disable compatibility mode, otherwise enable it. | |
| 1342 | . | |
| 4d3e9548 JL |
1343 | .TPx |
| 1344 | .REQ .cs "font N M" | |
| 92d0a6a6 JR |
1345 | Set constant character width mode for |
| 1346 | .I font | |
| 1347 | to | |
| 1348 | .IR N /36 | |
| 1349 | ems with em | |
| 1350 | .IR M . | |
| 1351 | . | |
| 4d3e9548 JL |
1352 | .TPx |
| 1353 | .REQ .cu "N" | |
| 92d0a6a6 JR |
1354 | Continuous underline in nroff, like |
| 1355 | .request .ul | |
| 1356 | in troff. | |
| 1357 | . | |
| 4d3e9548 | 1358 | .TPx |
| 92d0a6a6 JR |
1359 | .REQ .da |
| 1360 | End current diversion. | |
| 1361 | . | |
| 4d3e9548 JL |
1362 | .TPx |
| 1363 | .REQ .da "macro" | |
| 92d0a6a6 JR |
1364 | Divert and append to |
| 1365 | .IR macro . | |
| 1366 | . | |
| 4d3e9548 JL |
1367 | .TPx |
| 1368 | .REQ .de "macro" | |
| 92d0a6a6 JR |
1369 | Define or redefine |
| 1370 | .I macro | |
| 1371 | until | |
| 1372 | .B ..\& | |
| 1373 | is encountered. | |
| 1374 | . | |
| 4d3e9548 JL |
1375 | .TPx |
| 1376 | .REQ .de "macro end" | |
| 92d0a6a6 JR |
1377 | Define or redefine |
| 1378 | .I macro | |
| 1379 | until | |
| 4d3e9548 | 1380 | .BI . end |
| 92d0a6a6 JR |
1381 | is called. |
| 1382 | . | |
| 4d3e9548 JL |
1383 | .TPx |
| 1384 | .REQ .de1 "macro" | |
| 92d0a6a6 JR |
1385 | Same as |
| 1386 | .request .de | |
| 1387 | but with compatibility mode switched off during macro expansion. | |
| 1388 | . | |
| 4d3e9548 JL |
1389 | .TPx |
| 1390 | .REQ .de1 "macro end" | |
| 92d0a6a6 JR |
1391 | Same as |
| 1392 | .request .de | |
| 1393 | but with compatibility mode switched off during macro expansion. | |
| 1394 | . | |
| 4d3e9548 JL |
1395 | .TPx |
| 1396 | .REQ .defcolor "color scheme component" | |
| 92d0a6a6 JR |
1397 | Define or redefine a color with name |
| 1398 | .IR color . | |
| 1399 | .I scheme | |
| 1400 | can be | |
| 1401 | .BR rgb , | |
| 1402 | .BR cym , | |
| 1403 | .BR cymk , | |
| 1404 | .BR gray , | |
| 1405 | or | |
| 1406 | .BR grey . | |
| 1407 | .I component | |
| 1408 | can be single components specified as fractions in the range 0 to 1 | |
| 1409 | (default scaling indicator\~\c | |
| 1410 | .scaleindicator f ), | |
| 1411 | as a string of two-digit hexadecimal color components with a leading | |
| 1412 | .BR # , | |
| 1413 | or as a string of four-digit hexadecimal components with two leading | |
| 1414 | .BR # . | |
| 1415 | The color | |
| 1416 | .B default | |
| 1417 | can't be redefined. | |
| 1418 | . | |
| 4d3e9548 JL |
1419 | .TPx |
| 1420 | .REQ .dei "macro" | |
| 92d0a6a6 JR |
1421 | Define or redefine a macro whose name is contained in the string register |
| 1422 | .I macro | |
| 1423 | until | |
| 1424 | .B ..\& | |
| 1425 | is encountered. | |
| 1426 | . | |
| 4d3e9548 JL |
1427 | .TPx |
| 1428 | .REQ .dei "macro end" | |
| 92d0a6a6 JR |
1429 | Define or redefine a macro indirectly. |
| 1430 | .I macro | |
| 1431 | and | |
| 1432 | .I end | |
| 1433 | are string registers whose contents are interpolated for the macro name | |
| 1434 | and the end macro, respectively. | |
| 1435 | . | |
| 4d3e9548 JL |
1436 | .TPx |
| 1437 | .REQ .dei1 "macro" | |
| 92d0a6a6 JR |
1438 | Same as |
| 1439 | .request .dei | |
| 1440 | but with compatibility mode switched off during macro expansion. | |
| 1441 | . | |
| 4d3e9548 JL |
1442 | .TPx |
| 1443 | .REQ .dei1 "macro end" | |
| 92d0a6a6 JR |
1444 | Same as |
| 1445 | .request .dei | |
| 1446 | but with compatibility mode switched off during macro expansion. | |
| 1447 | . | |
| 4d3e9548 JL |
1448 | .TPx |
| 1449 | .REQ .device "anything" | |
| 1450 | Write | |
| 1451 | .I anything | |
| 1452 | to the intermediate output as a device control function. | |
| 1453 | . | |
| 1454 | .TPx | |
| 1455 | .REQ .devicem "name" | |
| 1456 | Write contents of macro or string | |
| 1457 | .I name | |
| 1458 | uninterpreted to the intermediate output as a device control function. | |
| 1459 | . | |
| 1460 | .TPx | |
| 92d0a6a6 JR |
1461 | .REQ .di |
| 1462 | End current diversion. | |
| 1463 | . | |
| 4d3e9548 JL |
1464 | .TPx |
| 1465 | .REQ .di "macro" | |
| 92d0a6a6 | 1466 | Divert to |
| 4d3e9548 | 1467 | .IR macro . |
| 92d0a6a6 | 1468 | . |
| 4d3e9548 JL |
1469 | .TPx |
| 1470 | .REQ .do "name" | |
| 92d0a6a6 | 1471 | Interpret |
| 4d3e9548 | 1472 | .BI . name |
| 92d0a6a6 JR |
1473 | with compatibility mode disabled. |
| 1474 | . | |
| 4d3e9548 JL |
1475 | .TPx |
| 1476 | .REQ .ds "stringvar anything" | |
| 92d0a6a6 JR |
1477 | Set |
| 1478 | .I stringvar | |
| 1479 | to | |
| 1480 | .IR anything . | |
| 1481 | . | |
| 4d3e9548 JL |
1482 | .TPx |
| 1483 | .REQ .ds1 "stringvar anything" | |
| 92d0a6a6 JR |
1484 | Same as |
| 1485 | .request .ds | |
| 1486 | but with compatibility mode switched off during string expansion. | |
| 1487 | . | |
| 4d3e9548 JL |
1488 | .TPx |
| 1489 | .REQ .dt "N trap" | |
| 92d0a6a6 JR |
1490 | Set diversion trap to position |
| 1491 | .I N | |
| 1492 | (default scaling indicator\~\c | |
| 1493 | .scaleindicator v ). | |
| 1494 | . | |
| 4d3e9548 | 1495 | .TPx |
| 92d0a6a6 JR |
1496 | .REQ .ec |
| 1497 | Reset escape character to | |
| 1498 | .squoted_char \[rs] . | |
| 1499 | . | |
| 4d3e9548 JL |
1500 | .TPx |
| 1501 | .REQ .ec "c" | |
| 92d0a6a6 JR |
1502 | Set escape character to |
| 1503 | .IR c . | |
| 1504 | . | |
| 4d3e9548 | 1505 | .TPx |
| 92d0a6a6 JR |
1506 | .REQ .ecr |
| 1507 | Restore escape character saved with | |
| 1508 | .request .ecs . | |
| 1509 | . | |
| 4d3e9548 | 1510 | .TPx |
| 92d0a6a6 JR |
1511 | .REQ .ecs |
| 1512 | Save current escape character. | |
| 1513 | . | |
| 4d3e9548 JL |
1514 | .TPx |
| 1515 | .REQ .el "anything" | |
| 92d0a6a6 JR |
1516 | Else part for if-else (\c |
| 1517 | .request ie ) | |
| 1518 | request. | |
| 1519 | . | |
| 4d3e9548 JL |
1520 | .TPx |
| 1521 | .REQ .em "macro" | |
| 92d0a6a6 JR |
1522 | The |
| 1523 | .I macro | |
| 4d3e9548 | 1524 | is run after the end of input. |
| 92d0a6a6 | 1525 | . |
| 4d3e9548 | 1526 | .TPx |
| 92d0a6a6 JR |
1527 | .REQ .eo |
| 1528 | Turn off escape character mechanism. | |
| 1529 | . | |
| 4d3e9548 | 1530 | .TPx |
| 92d0a6a6 | 1531 | .REQ .ev |
| 4d3e9548 | 1532 | Switch to previous environment and pop it off the stack. |
| 92d0a6a6 | 1533 | . |
| 4d3e9548 JL |
1534 | .TPx |
| 1535 | .REQ .ev "env" | |
| 92d0a6a6 JR |
1536 | Push down environment number or name |
| 1537 | .I env | |
| 4d3e9548 | 1538 | to the stack and switch to it. |
| 92d0a6a6 | 1539 | . |
| 4d3e9548 JL |
1540 | .TPx |
| 1541 | .REQ .evc "env" | |
| 92d0a6a6 JR |
1542 | Copy the contents of environment |
| 1543 | .I env | |
| 1544 | to the current environment. | |
| 1545 | No pushing or popping. | |
| 1546 | . | |
| 4d3e9548 | 1547 | .TPx |
| 92d0a6a6 JR |
1548 | .REQ .ex |
| 1549 | Exit from roff processing. | |
| 1550 | . | |
| 4d3e9548 | 1551 | .TPx |
| 92d0a6a6 JR |
1552 | .REQ .fam |
| 1553 | Return to previous font family. | |
| 1554 | . | |
| 4d3e9548 JL |
1555 | .TPx |
| 1556 | .REQ .fam "name" | |
| 92d0a6a6 JR |
1557 | Set the current font family to |
| 1558 | .IR name . | |
| 1559 | . | |
| 4d3e9548 | 1560 | .TPx |
| 92d0a6a6 JR |
1561 | .REQ .fc |
| 1562 | Disable field mechanism. | |
| 1563 | . | |
| 4d3e9548 JL |
1564 | .TPx |
| 1565 | .REQ .fc "a" | |
| 1566 | Set field delimiter to\~\c | |
| 92d0a6a6 | 1567 | .I a |
| 4d3e9548 | 1568 | and pad glyph to space. |
| 92d0a6a6 | 1569 | . |
| 4d3e9548 JL |
1570 | .TPx |
| 1571 | .REQ .fc "a b" | |
| 1572 | Set field delimiter to\~\c | |
| 92d0a6a6 | 1573 | .I a |
| 4d3e9548 | 1574 | and pad glyph to\~\c |
| 92d0a6a6 JR |
1575 | .IR b . |
| 1576 | . | |
| 4d3e9548 JL |
1577 | .TPx |
| 1578 | .REQ .fchar "c anything" | |
| 1579 | Define fallback character (or glyph) | |
| 92d0a6a6 JR |
1580 | .I c |
| 1581 | as string | |
| 1582 | .IR anything . | |
| 1583 | . | |
| 4d3e9548 | 1584 | .TPx |
| 465b256c JR |
1585 | .REQ .fcolor |
| 1586 | Set fill color to previous fill color. | |
| 1587 | . | |
| 4d3e9548 JL |
1588 | .TPx |
| 1589 | .REQ .fcolor "c" | |
| 465b256c JR |
1590 | Set fill color to |
| 1591 | .IR c . | |
| 1592 | . | |
| 4d3e9548 | 1593 | .TPx |
| 92d0a6a6 JR |
1594 | .REQ .fi |
| 1595 | Fill output lines. | |
| 1596 | . | |
| 4d3e9548 | 1597 | .TPx |
| 92d0a6a6 JR |
1598 | .REQ .fl |
| 1599 | Flush output buffer. | |
| 1600 | . | |
| 4d3e9548 JL |
1601 | .TPx |
| 1602 | .REQ .fp "n font" | |
| 92d0a6a6 JR |
1603 | Mount |
| 1604 | .I font | |
| 1605 | on position | |
| 1606 | .IR n . | |
| 1607 | . | |
| 4d3e9548 JL |
1608 | .TPx |
| 1609 | .REQ .fp "n internal external" | |
| 92d0a6a6 JR |
1610 | Mount font with long |
| 1611 | .I external | |
| 1612 | name to short | |
| 1613 | .I internal | |
| 1614 | name on position | |
| 1615 | .IR n . | |
| 1616 | . | |
| 4d3e9548 JL |
1617 | .TPx |
| 1618 | .REQ .fschar "f c anything" | |
| 1619 | Define fallback character (or glyph) | |
| 92d0a6a6 JR |
1620 | .I c |
| 1621 | for font | |
| 1622 | .I f | |
| 1623 | as string | |
| 1624 | .IR anything . | |
| 1625 | . | |
| 4d3e9548 JL |
1626 | .TPx |
| 1627 | .REQ .fspecial "font" | |
| 92d0a6a6 JR |
1628 | Reset list of special fonts for |
| 1629 | .I font | |
| 1630 | to be empty. | |
| 1631 | . | |
| 4d3e9548 JL |
1632 | .TPx |
| 1633 | .REQ .fspecial "font s1 s2 .\|.\|.\&" | |
| 92d0a6a6 JR |
1634 | When the current font is |
| 1635 | .IR font , | |
| 1636 | then the fonts | |
| 1637 | .IR s1 , | |
| 1638 | .IR s2 , | |
| 1639 | .I .\|.\|.\& | |
| 4d3e9548 | 1640 | are special. |
| 92d0a6a6 | 1641 | . |
| 4d3e9548 | 1642 | .TPx |
| 92d0a6a6 JR |
1643 | .REQ .ft |
| 1644 | Return to previous font. | |
| 1645 | Same as | |
| 1646 | .request \[rs]f[] | |
| 1647 | or | |
| 1648 | .request \[rs]fP . | |
| 1649 | . | |
| 4d3e9548 JL |
1650 | .TPx |
| 1651 | .REQ .ft "font" | |
| 92d0a6a6 JR |
1652 | Change to font name or number |
| 1653 | .IR font ; | |
| 1654 | same as | |
| 1655 | .esc[] f font | |
| 1656 | escape sequence. | |
| 1657 | . | |
| 4d3e9548 JL |
1658 | .TPx |
| 1659 | .REQ .ftr "font1 font2" | |
| 92d0a6a6 JR |
1660 | Translate |
| 1661 | .I font1 | |
| 1662 | to | |
| 1663 | .IR font2 . | |
| 1664 | . | |
| 4d3e9548 JL |
1665 | .TPx |
| 1666 | .REQ .fzoom "font" | |
| 1667 | Don't magnify | |
| 1668 | .IR font . | |
| 1669 | . | |
| 1670 | .TPx | |
| 1671 | .REQ .fzoom "font zoom" | |
| 1672 | Set zoom factor for | |
| 1673 | .I font | |
| 1674 | (in multiples of 1/1000th). | |
| 1675 | . | |
| 1676 | .TPx | |
| 465b256c JR |
1677 | .REQ .gcolor |
| 1678 | Set glyph color to previous glyph color. | |
| 1679 | . | |
| 4d3e9548 JL |
1680 | .TPx |
| 1681 | .REQ .gcolor "c" | |
| 465b256c JR |
1682 | Set glyph color to |
| 1683 | .IR c . | |
| 1684 | . | |
| 4d3e9548 | 1685 | .TPx |
| 92d0a6a6 JR |
1686 | .REQ .hc |
| 1687 | Remove additional hyphenation indicator character. | |
| 1688 | . | |
| 4d3e9548 JL |
1689 | .TPx |
| 1690 | .REQ .hc "c" | |
| 92d0a6a6 JR |
1691 | Set up additional hyphenation indicator character\~\c |
| 1692 | .IR c . | |
| 1693 | . | |
| 4d3e9548 JL |
1694 | .TPx |
| 1695 | .REQ .hcode "c1 code1 c2 code2 .\|.\|.\&" | |
| 92d0a6a6 JR |
1696 | Set the hyphenation code of character |
| 1697 | .I c1 | |
| 1698 | to | |
| 1699 | .IR code1 , | |
| 1700 | that of | |
| 1701 | .I c2 | |
| 1702 | to | |
| 1703 | .IR code2 , | |
| 1704 | etc. | |
| 1705 | . | |
| 4d3e9548 JL |
1706 | .TPx |
| 1707 | .REQ .hla "lang" | |
| 92d0a6a6 JR |
1708 | Set the current hyphenation language to |
| 1709 | .IR lang . | |
| 1710 | . | |
| 4d3e9548 JL |
1711 | .TPx |
| 1712 | .REQ .hlm "n" | |
| 92d0a6a6 JR |
1713 | Set the maximum number of consecutive hyphenated lines to |
| 1714 | .IR n . | |
| 1715 | . | |
| 4d3e9548 JL |
1716 | .TPx |
| 1717 | .REQ .hpf "file" | |
| 92d0a6a6 JR |
1718 | Read hyphenation patterns from |
| 1719 | .IR file . | |
| 1720 | . | |
| 4d3e9548 JL |
1721 | .TPx |
| 1722 | .REQ .hpfa "file" | |
| 92d0a6a6 JR |
1723 | Append hyphenation patterns from |
| 1724 | .IR file . | |
| 1725 | . | |
| 4d3e9548 JL |
1726 | .TPx |
| 1727 | .REQ .hpfcode "a b c d .\|.\|.\&" | |
| 92d0a6a6 JR |
1728 | Set input mapping for |
| 1729 | .request .hpf . | |
| 1730 | . | |
| 4d3e9548 JL |
1731 | .TPx |
| 1732 | .REQ .hw "words" | |
| 92d0a6a6 JR |
1733 | List of |
| 1734 | .I words | |
| 1735 | with exceptional hyphenation. | |
| 1736 | . | |
| 4d3e9548 JL |
1737 | .TPx |
| 1738 | .REQ .hy "N" | |
| 92d0a6a6 JR |
1739 | Switch to hyphenation mode |
| 1740 | .IR N . | |
| 1741 | . | |
| 4d3e9548 JL |
1742 | .TPx |
| 1743 | .REQ .hym "n" | |
| 92d0a6a6 JR |
1744 | Set the hyphenation margin to |
| 1745 | .I n | |
| 1746 | (default scaling indicator\~\c | |
| 1747 | .scaleindicator m ). | |
| 1748 | . | |
| 4d3e9548 JL |
1749 | .TPx |
| 1750 | .REQ .hys "n" | |
| 92d0a6a6 JR |
1751 | Set the hyphenation space to |
| 1752 | .IR n . | |
| 1753 | . | |
| 4d3e9548 JL |
1754 | .TPx |
| 1755 | .REQ .ie "cond anything" | |
| 92d0a6a6 JR |
1756 | If |
| 1757 | .I cond | |
| 1758 | then | |
| 1759 | .I anything | |
| 1760 | else goto | |
| 1761 | .request .el . | |
| 1762 | . | |
| 4d3e9548 JL |
1763 | .TPx |
| 1764 | .REQ .if "cond anything" | |
| 92d0a6a6 JR |
1765 | If |
| 1766 | .I cond | |
| 1767 | then | |
| 1768 | .IR anything ; | |
| 1769 | otherwise do nothing. | |
| 1770 | . | |
| 4d3e9548 | 1771 | .TPx |
| 92d0a6a6 JR |
1772 | .REQ .ig |
| 1773 | Ignore text until | |
| 1774 | .B ..\& | |
| 1775 | is encountered. | |
| 1776 | . | |
| 4d3e9548 JL |
1777 | .TPx |
| 1778 | .REQ .ig "end" | |
| 92d0a6a6 | 1779 | Ignore text until |
| 4d3e9548 JL |
1780 | .BI . end |
| 1781 | is called. | |
| 92d0a6a6 | 1782 | . |
| 4d3e9548 | 1783 | .TPx |
| 92d0a6a6 | 1784 | .REQ .in |
| 4d3e9548 | 1785 | Change to previous indentation value. |
| 92d0a6a6 | 1786 | . |
| 4d3e9548 JL |
1787 | .TPx |
| 1788 | .REQ .in "\[+-]N" | |
| 1789 | Change indentation according to | |
| 92d0a6a6 JR |
1790 | .I \[+-]N |
| 1791 | (default scaling indicator\~\c | |
| 1792 | .scaleindicator m ). | |
| 1793 | . | |
| 4d3e9548 JL |
1794 | .TPx |
| 1795 | .REQ .it "N trap" | |
| 92d0a6a6 JR |
1796 | Set an input-line count trap for the next |
| 1797 | .I N | |
| 1798 | lines. | |
| 1799 | . | |
| 4d3e9548 JL |
1800 | .TPx |
| 1801 | .REQ .itc "N trap" | |
| 92d0a6a6 JR |
1802 | Same as |
| 1803 | .request .it | |
| 1804 | but count lines interrupted with | |
| 1805 | .esc c | |
| 1806 | as one line. | |
| 1807 | . | |
| 4d3e9548 | 1808 | .TPx |
| 92d0a6a6 JR |
1809 | .REQ .kern |
| 1810 | Enable pairwise kerning. | |
| 1811 | . | |
| 4d3e9548 JL |
1812 | .TPx |
| 1813 | .REQ .kern "n" | |
| 92d0a6a6 JR |
1814 | If |
| 1815 | .I n | |
| 1816 | is zero, disable pairwise kerning, otherwise enable it. | |
| 1817 | . | |
| 4d3e9548 | 1818 | .TPx |
| 92d0a6a6 | 1819 | .REQ .lc |
| 4d3e9548 | 1820 | Remove leader repetition glyph. |
| 92d0a6a6 | 1821 | . |
| 4d3e9548 JL |
1822 | .TPx |
| 1823 | .REQ .lc "c" | |
| 1824 | Set leader repetition glyph to\~\c | |
| 92d0a6a6 JR |
1825 | .IR c . |
| 1826 | . | |
| 4d3e9548 JL |
1827 | .TPx |
| 1828 | .REQ .length "register anything" | |
| 92d0a6a6 JR |
1829 | Write the length of the string |
| 1830 | .I anything | |
| 4d3e9548 | 1831 | to |
| 92d0a6a6 JR |
1832 | .IR register . |
| 1833 | . | |
| 4d3e9548 | 1834 | .TPx |
| 92d0a6a6 JR |
1835 | .REQ .linetabs |
| 1836 | Enable line-tabs mode (i.e., calculate tab positions relative to output | |
| 1837 | line). | |
| 1838 | . | |
| 4d3e9548 JL |
1839 | .TPx |
| 1840 | .REQ .linetabs "n" | |
| 92d0a6a6 JR |
1841 | If |
| 1842 | .I n | |
| 1843 | is zero, disable line-tabs mode, otherwise enable it. | |
| 1844 | . | |
| 4d3e9548 JL |
1845 | .TPx |
| 1846 | .REQ .lf "N" | |
| 92d0a6a6 JR |
1847 | Set input line number to |
| 1848 | .IR N . | |
| 1849 | . | |
| 4d3e9548 JL |
1850 | .TPx |
| 1851 | .REQ .lf "N file" | |
| 92d0a6a6 JR |
1852 | Set input line number to |
| 1853 | .I N | |
| 1854 | and filename to | |
| 1855 | .IR file . | |
| 1856 | . | |
| 4d3e9548 JL |
1857 | .TPx |
| 1858 | .REQ .lg "N" | |
| 92d0a6a6 JR |
1859 | Ligature mode on if |
| 1860 | .IR N >0. | |
| 1861 | . | |
| 4d3e9548 | 1862 | .TPx |
| 92d0a6a6 JR |
1863 | .REQ .ll |
| 1864 | Change to previous line length. | |
| 1865 | . | |
| 4d3e9548 JL |
1866 | .TPx |
| 1867 | .REQ .ll "\[+-]N" | |
| 92d0a6a6 JR |
1868 | Set line length according to |
| 1869 | .I \[+-]N | |
| 4d3e9548 | 1870 | (default length |
| 92d0a6a6 JR |
1871 | .scalednumber 6.5 i , |
| 1872 | default scaling indicator\~\c | |
| 1873 | .scaleindicator m ). | |
| 1874 | . | |
| 4d3e9548 | 1875 | .TPx |
| 92d0a6a6 JR |
1876 | .REQ .ls |
| 1877 | Change to the previous value of additional intra-line skip. | |
| 1878 | . | |
| 4d3e9548 JL |
1879 | .TPx |
| 1880 | .REQ .ls "N" | |
| 92d0a6a6 JR |
1881 | Set additional intra-line skip value to |
| 1882 | .IR N , | |
| 1883 | i.e., | |
| 1884 | .IR N -1 | |
| 1885 | blank lines are inserted after each text output line. | |
| 1886 | . | |
| 4d3e9548 JL |
1887 | .TPx |
| 1888 | .REQ .lt "\[+-]N" | |
| 92d0a6a6 JR |
1889 | Length of title (default scaling indicator\~\c |
| 1890 | .scaleindicator m ). | |
| 1891 | . | |
| 4d3e9548 | 1892 | .TPx |
| 92d0a6a6 | 1893 | .REQ .mc |
| 4d3e9548 | 1894 | Margin glyph off. |
| 92d0a6a6 | 1895 | . |
| 4d3e9548 JL |
1896 | .TPx |
| 1897 | .REQ .mc "c" | |
| 1898 | Print glyph\~\c | |
| 92d0a6a6 JR |
1899 | .I c |
| 1900 | after each text line at actual distance from right margin. | |
| 1901 | . | |
| 4d3e9548 JL |
1902 | .TPx |
| 1903 | .REQ .mc "c N" | |
| 1904 | Set margin glyph to\~\c | |
| 92d0a6a6 | 1905 | .I c |
| 4d3e9548 | 1906 | and distance to\~\c |
| 92d0a6a6 JR |
1907 | .I N |
| 1908 | from right margin (default scaling indicator\~\c | |
| 1909 | .scaleindicator m ). | |
| 1910 | . | |
| 4d3e9548 JL |
1911 | .TPx |
| 1912 | .REQ .mk "register" | |
| 92d0a6a6 JR |
1913 | Mark current vertical position in |
| 1914 | .IR register . | |
| 1915 | . | |
| 4d3e9548 JL |
1916 | .TPx |
| 1917 | .REQ .mso "file" | |
| 1918 | The same as | |
| 1919 | .request .so | |
| 1920 | except that | |
| 92d0a6a6 JR |
1921 | .I file |
| 1922 | is searched in the tmac directories. | |
| 1923 | . | |
| 4d3e9548 | 1924 | .TPx |
| 92d0a6a6 JR |
1925 | .REQ .na |
| 1926 | No output-line adjusting. | |
| 1927 | . | |
| 4d3e9548 | 1928 | .TPx |
| 92d0a6a6 JR |
1929 | .REQ .ne |
| 1930 | Need a one-line vertical space. | |
| 1931 | . | |
| 4d3e9548 JL |
1932 | .TPx |
| 1933 | .REQ .ne "N" | |
| 92d0a6a6 JR |
1934 | Need |
| 1935 | .I N | |
| 1936 | vertical space (default scaling indicator\~\c | |
| 1937 | .scaleindicator v ). | |
| 1938 | . | |
| 4d3e9548 | 1939 | .TPx |
| 92d0a6a6 JR |
1940 | .REQ .nf |
| 1941 | No filling or adjusting of output-lines. | |
| 1942 | . | |
| 4d3e9548 | 1943 | .TPx |
| 92d0a6a6 JR |
1944 | .REQ .nh |
| 1945 | No hyphenation. | |
| 1946 | . | |
| 4d3e9548 | 1947 | .TPx |
| 92d0a6a6 JR |
1948 | .REQ .nm |
| 1949 | Number mode off. | |
| 1950 | . | |
| 4d3e9548 JL |
1951 | .TPx |
| 1952 | .REQ .nm "\[+-]N \fR[\fPM \fR[\fPS \fR[\fPI\fR]]]\fP" | |
| 1953 | In line number mode, set number, multiple, spacing, and indentation. | |
| 92d0a6a6 | 1954 | . |
| 4d3e9548 | 1955 | .TPx |
| 92d0a6a6 JR |
1956 | .REQ .nn |
| 1957 | Do not number next line. | |
| 1958 | . | |
| 4d3e9548 JL |
1959 | .TPx |
| 1960 | .REQ .nn "N" | |
| 92d0a6a6 JR |
1961 | Do not number next |
| 1962 | .I N | |
| 1963 | lines. | |
| 1964 | . | |
| 4d3e9548 JL |
1965 | .TPx |
| 1966 | .REQ .nop "anything" | |
| 1967 | Always process | |
| 92d0a6a6 JR |
1968 | .IR anything . |
| 1969 | . | |
| 4d3e9548 JL |
1970 | .TPx |
| 1971 | .REQ .nr "register \[+-]N \fR[\fPM\fR]\fP" | |
| 92d0a6a6 JR |
1972 | Define or modify |
| 1973 | .I register | |
| 1974 | using | |
| 1975 | .I \[+-]N | |
| 1976 | with auto-increment | |
| 1977 | .IR M . | |
| 1978 | . | |
| 4d3e9548 | 1979 | .TPx |
| 92d0a6a6 | 1980 | .REQ .nroff |
| 4d3e9548 | 1981 | Make the built-in conditions |
| 92d0a6a6 JR |
1982 | .B n |
| 1983 | true and | |
| 1984 | .B t | |
| 1985 | false. | |
| 1986 | . | |
| 4d3e9548 | 1987 | .TPx |
| 92d0a6a6 | 1988 | .REQ .ns |
| 4d3e9548 | 1989 | Turn on no-space mode. |
| 92d0a6a6 | 1990 | . |
| 4d3e9548 | 1991 | .TPx |
| 92d0a6a6 JR |
1992 | .REQ .nx |
| 1993 | Immediately jump to end of current file. | |
| 1994 | . | |
| 4d3e9548 JL |
1995 | .TPx |
| 1996 | .REQ .nx "filename" | |
| 1997 | Immediately continue processing with file | |
| 1998 | .IR file . | |
| 92d0a6a6 | 1999 | . |
| 4d3e9548 JL |
2000 | .TPx |
| 2001 | .REQ .open "stream filename" | |
| 92d0a6a6 | 2002 | Open |
| 4d3e9548 | 2003 | .I filename |
| 92d0a6a6 | 2004 | for writing and associate the stream named |
| 4d3e9548 | 2005 | .I stream |
| 92d0a6a6 JR |
2006 | with it. |
| 2007 | . | |
| 4d3e9548 JL |
2008 | .TPx |
| 2009 | .REQ .opena "stream filename" | |
| 92d0a6a6 JR |
2010 | Like |
| 2011 | .request .open | |
| 2012 | but append to it. | |
| 2013 | . | |
| 4d3e9548 | 2014 | .TPx |
| 92d0a6a6 JR |
2015 | .REQ .os |
| 2016 | Output vertical distance that was saved by the | |
| 2017 | .request sv | |
| 2018 | request. | |
| 2019 | . | |
| 4d3e9548 JL |
2020 | .TPx |
| 2021 | .REQ .output "string" | |
| 92d0a6a6 JR |
2022 | Emit |
| 2023 | .I string | |
| 2024 | directly to intermediate output, allowing leading whitespace if | |
| 2025 | .I string | |
| 2026 | starts with | |
| 4d3e9548 JL |
2027 | \&\f[CB]\[dq]\f[] |
| 2028 | (which is stripped off). | |
| 92d0a6a6 | 2029 | . |
| 4d3e9548 | 2030 | .TPx |
| 92d0a6a6 JR |
2031 | .REQ .pc |
| 2032 | Reset page number character to\~\c | |
| 2033 | .squoted_char % . | |
| 2034 | . | |
| 4d3e9548 JL |
2035 | .TPx |
| 2036 | .REQ .pc "c" | |
| 92d0a6a6 JR |
2037 | Page number character. |
| 2038 | . | |
| 4d3e9548 JL |
2039 | .TPx |
| 2040 | .REQ .pev | |
| 2041 | Print the current environment and each defined environment | |
| 2042 | state to stderr. | |
| 2043 | . | |
| 2044 | .TPx | |
| 2045 | .REQ .pi "program" | |
| 92d0a6a6 JR |
2046 | Pipe output to |
| 2047 | .I program | |
| 2048 | (nroff only). | |
| 2049 | . | |
| 4d3e9548 | 2050 | .TPx |
| 92d0a6a6 JR |
2051 | .REQ .pl |
| 2052 | Set page length to default | |
| 2053 | .scalednumber 11 i . | |
| 2054 | The current page length is stored in | |
| 2055 | .register .p . | |
| 2056 | . | |
| 4d3e9548 JL |
2057 | .TPx |
| 2058 | .REQ .pl "\[+-]N" | |
| 92d0a6a6 JR |
2059 | Change page length to |
| 2060 | .I \[+-]N | |
| 2061 | (default scaling indicator\~\c | |
| 2062 | .scaleindicator v ). | |
| 2063 | . | |
| 4d3e9548 | 2064 | .TPx |
| 92d0a6a6 JR |
2065 | .REQ .pm |
| 2066 | Print macro names and sizes (number of blocks of 128 bytes). | |
| 2067 | . | |
| 4d3e9548 JL |
2068 | .TPx |
| 2069 | .REQ .pm "t" | |
| 92d0a6a6 JR |
2070 | Print only total of sizes of macros (number of 128 bytes blocks). |
| 2071 | . | |
| 4d3e9548 JL |
2072 | .TPx |
| 2073 | .REQ .pn "\[+-]N" | |
| 92d0a6a6 JR |
2074 | Next page number |
| 2075 | .IR N . | |
| 2076 | . | |
| 4d3e9548 | 2077 | .TPx |
| 92d0a6a6 JR |
2078 | .REQ .pnr |
| 2079 | Print the names and contents of all currently defined number registers | |
| 2080 | on stderr. | |
| 2081 | . | |
| 4d3e9548 | 2082 | .TPx |
| 92d0a6a6 JR |
2083 | .REQ .po |
| 2084 | Change to previous page offset. | |
| 2085 | . | |
| 2086 | The current page offset is available in | |
| 2087 | .register .o . | |
| 2088 | . | |
| 4d3e9548 JL |
2089 | .TPx |
| 2090 | .REQ .po "\[+-]N" | |
| 92d0a6a6 JR |
2091 | Page offset |
| 2092 | .IR N . | |
| 2093 | . | |
| 4d3e9548 | 2094 | .TPx |
| 92d0a6a6 | 2095 | .REQ .ps |
| 4d3e9548 JL |
2096 | Return to previous point size. |
| 2097 | .TPx | |
| 2098 | .REQ .ps "\[+-]N" | |
| 92d0a6a6 JR |
2099 | Point size; same as |
| 2100 | .esc[] s \[+-]N . | |
| 2101 | . | |
| 4d3e9548 JL |
2102 | .TPx |
| 2103 | .REQ .psbb "filename" | |
| 92d0a6a6 JR |
2104 | Get the bounding box of a PostScript image |
| 2105 | .IR filename . | |
| 2106 | . | |
| 4d3e9548 JL |
2107 | .TPx |
| 2108 | .REQ .pso "command" | |
| 92d0a6a6 JR |
2109 | This behaves like the |
| 2110 | .request so | |
| 2111 | request except that input comes from the standard output of | |
| 2112 | .IR command . | |
| 2113 | . | |
| 4d3e9548 | 2114 | .TPx |
| 92d0a6a6 JR |
2115 | .REQ .ptr |
| 2116 | Print the names and positions of all traps (not including input line | |
| 2117 | traps and diversion traps) on stderr. | |
| 2118 | . | |
| 4d3e9548 | 2119 | .TPx |
| 92d0a6a6 JR |
2120 | .REQ .pvs |
| 2121 | Change to previous post-vertical line spacing. | |
| 2122 | . | |
| 4d3e9548 JL |
2123 | .TPx |
| 2124 | .REQ .pvs "\[+-]N" | |
| 92d0a6a6 JR |
2125 | Change post-vertical line spacing according to |
| 2126 | .I \[+-]N | |
| 2127 | (default scaling indicator\~\c | |
| 2128 | .scaleindicator p ). | |
| 2129 | . | |
| 4d3e9548 JL |
2130 | .TPx |
| 2131 | .REQ .rchar "c1 c2 .\|.\|.\&" | |
| 2132 | Remove the definitions of entities | |
| 92d0a6a6 JR |
2133 | .IR c1 , |
| 2134 | .IR c2 , | |
| 2135 | .I .\|.\|.\& | |
| 2136 | . | |
| 4d3e9548 JL |
2137 | .TPx |
| 2138 | .REQ .rd "prompt" | |
| 92d0a6a6 JR |
2139 | Read insertion. |
| 2140 | . | |
| 4d3e9548 | 2141 | .TPx |
| 92d0a6a6 JR |
2142 | .REQ .return |
| 2143 | Return from a macro. | |
| 2144 | . | |
| 4d3e9548 JL |
2145 | .TPx |
| 2146 | .REQ .return "anything" | |
| 92d0a6a6 JR |
2147 | Return twice, namely from the macro at the current level and from the macro |
| 2148 | one level higher. | |
| 2149 | . | |
| 4d3e9548 JL |
2150 | .TPx |
| 2151 | .REQ .rfschar "f c1 c2 .\|.\|.\&" | |
| 2152 | Remove the definitions of entities | |
| 92d0a6a6 JR |
2153 | .IR c1 , |
| 2154 | .IR c2 , | |
| 2155 | .I .\|.\|.\& | |
| 2156 | for font | |
| 2157 | .IR f . | |
| 2158 | . | |
| 4d3e9548 JL |
2159 | .TPx |
| 2160 | .REQ .rj "n" | |
| 92d0a6a6 JR |
2161 | Right justify the next |
| 2162 | .I n | |
| 2163 | input lines. | |
| 2164 | . | |
| 4d3e9548 JL |
2165 | .TPx |
| 2166 | .REQ .rm "name" | |
| 92d0a6a6 JR |
2167 | Remove request, macro, or string |
| 2168 | .IR name . | |
| 2169 | . | |
| 4d3e9548 JL |
2170 | .TPx |
| 2171 | .REQ .rn "old new" | |
| 92d0a6a6 JR |
2172 | Rename request, macro, or string |
| 2173 | .I old | |
| 2174 | to | |
| 2175 | .IR new . | |
| 2176 | . | |
| 4d3e9548 JL |
2177 | .TPx |
| 2178 | .REQ .rnn "reg1 reg2" | |
| 92d0a6a6 JR |
2179 | Rename register |
| 2180 | .I reg1 | |
| 2181 | to | |
| 2182 | .IR reg2 . | |
| 2183 | . | |
| 4d3e9548 JL |
2184 | .TPx |
| 2185 | .REQ .rr "register" | |
| 92d0a6a6 JR |
2186 | Remove |
| 2187 | .IR register . | |
| 2188 | . | |
| 4d3e9548 | 2189 | .TPx |
| 92d0a6a6 JR |
2190 | .REQ .rs |
| 2191 | Restore spacing; turn no-space mode off. | |
| 2192 | . | |
| 4d3e9548 JL |
2193 | .TPx |
| 2194 | .REQ .rt "\[+-]N" | |
| 92d0a6a6 JR |
2195 | Return |
| 2196 | .I (upward only) | |
| 2197 | to marked vertical place (default scaling indicator\~\c | |
| 2198 | .scaleindicator v ). | |
| 2199 | . | |
| 4d3e9548 JL |
2200 | .TPx |
| 2201 | .REQ .schar "c anything" | |
| 2202 | Define global fallback character (or glyph)\~\c | |
| 92d0a6a6 JR |
2203 | .I c |
| 2204 | as string | |
| 2205 | .IR anything . | |
| 2206 | . | |
| 4d3e9548 | 2207 | .TPx |
| 92d0a6a6 | 2208 | .REQ .shc |
| 4d3e9548 | 2209 | Reset soft hyphen glyph to |
| 92d0a6a6 JR |
2210 | .esc (hy . |
| 2211 | . | |
| 4d3e9548 JL |
2212 | .TPx |
| 2213 | .REQ .shc "c" | |
| 2214 | Set the soft hyphen glyph to\~\c | |
| 92d0a6a6 JR |
2215 | .IR c . |
| 2216 | . | |
| 4d3e9548 JL |
2217 | .TPx |
| 2218 | .REQ .shift "n" | |
| 92d0a6a6 JR |
2219 | In a macro, shift the arguments by |
| 2220 | .IR n \~\c | |
| 2221 | positions. | |
| 2222 | . | |
| 4d3e9548 JL |
2223 | .TPx |
| 2224 | .REQ .sizes "s1 s2 .\|.\|.\& sn \fB[0]\fP" | |
| 92d0a6a6 JR |
2225 | Set available font sizes similar to the |
| 2226 | .B sizes | |
| 2227 | command in a | |
| 2228 | .B DESC | |
| 2229 | file. | |
| 2230 | . | |
| 4d3e9548 JL |
2231 | .TPx |
| 2232 | .REQ .so "filename" | |
| 92d0a6a6 JR |
2233 | Include source file. |
| 2234 | . | |
| 4d3e9548 | 2235 | .TPx |
| 92d0a6a6 JR |
2236 | .REQ .sp |
| 2237 | Skip one line vertically. | |
| 2238 | . | |
| 4d3e9548 JL |
2239 | .TPx |
| 2240 | .REQ .sp "N" | |
| 92d0a6a6 JR |
2241 | Space vertical distance |
| 2242 | .I N | |
| 2243 | up or down according to sign of | |
| 2244 | .I N | |
| 2245 | (default scaling indicator\~\c | |
| 2246 | .scaleindicator v ). | |
| 2247 | . | |
| 4d3e9548 | 2248 | .TPx |
| 92d0a6a6 JR |
2249 | .REQ .special |
| 2250 | Reset global list of special fonts to be empty. | |
| 2251 | . | |
| 4d3e9548 JL |
2252 | .TPx |
| 2253 | .REQ .special "s1 s2 .\|.\|.\&" | |
| 92d0a6a6 JR |
2254 | Fonts |
| 2255 | .IR s1 , | |
| 2256 | .IR s2 , | |
| 4d3e9548 | 2257 | etc.\& are special and are searched for glyphs not in the |
| 92d0a6a6 JR |
2258 | current font. |
| 2259 | . | |
| 4d3e9548 | 2260 | .TPx |
| 92d0a6a6 JR |
2261 | .REQ .spreadwarn |
| 2262 | Toggle the spread warning on and off without changing its value. | |
| 2263 | . | |
| 4d3e9548 JL |
2264 | .TPx |
| 2265 | .REQ .spreadwarn "limit" | |
| 92d0a6a6 JR |
2266 | Emit a warning if each space in an output line is widened by |
| 2267 | .I limit | |
| 2268 | or more (default scaling indicator\~\c | |
| 2269 | .scaleindicator m ). | |
| 2270 | . | |
| 4d3e9548 JL |
2271 | .TPx |
| 2272 | .REQ .ss "N" | |
| 2273 | Set space glyph size to | |
| 92d0a6a6 | 2274 | .IR N /12 |
| 4d3e9548 | 2275 | of the space width in the current font. |
| 92d0a6a6 | 2276 | . |
| 4d3e9548 JL |
2277 | .TPx |
| 2278 | .REQ .ss "N M" | |
| 2279 | Set space glyph size to | |
| 92d0a6a6 JR |
2280 | .IR N /12 |
| 2281 | and sentence space size set to | |
| 2282 | .IR M /12 | |
| 4d3e9548 | 2283 | of the space width in the current font. |
| 92d0a6a6 | 2284 | . |
| 4d3e9548 JL |
2285 | .TPx |
| 2286 | .REQ .sty "n style" | |
| 92d0a6a6 JR |
2287 | Associate |
| 2288 | .I style | |
| 2289 | with font position | |
| 2290 | .IR n . | |
| 2291 | . | |
| 4d3e9548 JL |
2292 | .TPx |
| 2293 | .REQ .substring "xx n1 n2" | |
| 92d0a6a6 JR |
2294 | Replace the string named |
| 2295 | .I xx | |
| 2296 | with the substring defined by the indices | |
| 2297 | .I n1 | |
| 2298 | and | |
| 2299 | .IR n2 . | |
| 2300 | . | |
| 4d3e9548 | 2301 | .TPx |
| 92d0a6a6 JR |
2302 | .REQ .sv |
| 2303 | Save | |
| 4d3e9548 | 2304 | .scalednumber "1 v" |
| 92d0a6a6 | 2305 | of vertical space. |
| 4d3e9548 JL |
2306 | .TPx |
| 2307 | .REQ .sv "N" | |
| 92d0a6a6 JR |
2308 | Save the vertical distance |
| 2309 | .I N | |
| 2310 | for later output with | |
| 2311 | .request os | |
| 4d3e9548 JL |
2312 | request (default scaling indicator\~\c |
| 2313 | .scaleindicator v ). | |
| 92d0a6a6 | 2314 | . |
| 4d3e9548 JL |
2315 | .TPx |
| 2316 | .REQ .sy "command-line" | |
| 92d0a6a6 JR |
2317 | Execute program |
| 2318 | .IR command-line . | |
| 2319 | . | |
| 4d3e9548 JL |
2320 | .TPx |
| 2321 | .REQ .ta "T N" | |
| 92d0a6a6 JR |
2322 | Set tabs after every position that is a multiple of |
| 2323 | .I N | |
| 2324 | (default scaling indicator\~\c | |
| 2325 | .scaleindicator m ). | |
| 4d3e9548 JL |
2326 | .TPx |
| 2327 | .REQ .ta "n1 n2 .\|.\|.\& nn \f[CB]T\f[] r1 r2 .\|.\|.\& rn" | |
| 92d0a6a6 JR |
2328 | Set tabs at positions |
| 2329 | .IR n1 , | |
| 2330 | .IR n2 , | |
| 2331 | .Text .\|.\|., | |
| 2332 | .IR nn , | |
| 2333 | then set tabs at | |
| 2334 | .IR nn + r1 , | |
| 2335 | .IR nn + r2 , | |
| 2336 | .Text .\|.\|., | |
| 2337 | .IR nn + rn , | |
| 2338 | then at | |
| 2339 | .IR nn + rn + r1 , | |
| 2340 | .IR nn + rn + r2 , | |
| 2341 | .Text .\|.\|., | |
| 2342 | .IR nn + rn + rn , | |
| 2343 | and so on. | |
| 2344 | . | |
| 4d3e9548 | 2345 | .\".TPx |
| 92d0a6a6 JR |
2346 | .\".REQ .tar |
| 2347 | .\"Restore internally saved tab positions. | |
| 2348 | .\". | |
| 4d3e9548 | 2349 | .\".TPx |
| 92d0a6a6 JR |
2350 | .\".REQ .tas |
| 2351 | .\"Save tab positions internally. | |
| 2352 | . | |
| 4d3e9548 | 2353 | .TPx |
| 92d0a6a6 | 2354 | .REQ .tc |
| 4d3e9548 JL |
2355 | Remove tab repetition glyph. |
| 2356 | .TPx | |
| 2357 | .REQ .tc "c" | |
| 2358 | Set tab repetition glyph to\~\c | |
| 92d0a6a6 JR |
2359 | .IR c . |
| 2360 | . | |
| 4d3e9548 JL |
2361 | .TPx |
| 2362 | .REQ .ti "\[+-]N" | |
| 92d0a6a6 JR |
2363 | Temporary indent next line (default scaling indicator\~\c |
| 2364 | .scaleindicator m ). | |
| 2365 | . | |
| 4d3e9548 JL |
2366 | .TPx |
| 2367 | .REQ .tkf "font s1 n1 s2 n2" | |
| 92d0a6a6 JR |
2368 | Enable track kerning for |
| 2369 | .IR font . | |
| 2370 | . | |
| 4d3e9548 JL |
2371 | .TPx |
| 2372 | .REQ .tl "\f[CB]\[cq]\f[]left\f[CB]\[cq]\f[]center\f[CB]\[cq]\f[]right\f[CB]\[cq]\f[]" | |
| 92d0a6a6 JR |
2373 | Three-part title. |
| 2374 | . | |
| 4d3e9548 JL |
2375 | .TPx |
| 2376 | .REQ .tm "anything" | |
| 92d0a6a6 JR |
2377 | |
| 2378 | .I anything | |
| 4d3e9548 | 2379 | on stdout. |
| 92d0a6a6 | 2380 | . |
| 4d3e9548 JL |
2381 | .TPx |
| 2382 | .REQ .tm1 "anything" | |
| 92d0a6a6 JR |
2383 | |
| 2384 | .I anything | |
| 4d3e9548 | 2385 | on stdout, allowing leading whitespace if |
| 92d0a6a6 JR |
2386 | .I anything |
| 2387 | starts with | |
| 4d3e9548 JL |
2388 | \&\f[CB]\[dq]\f[] |
| 2389 | (which is stripped off). | |
| 92d0a6a6 | 2390 | . |
| 4d3e9548 JL |
2391 | .TPx |
| 2392 | .REQ .tmc "anything" | |
| 92d0a6a6 JR |
2393 | Similar to |
| 2394 | .request .tm1 | |
| 2395 | without emitting a final newline. | |
| 2396 | . | |
| 4d3e9548 JL |
2397 | .TPx |
| 2398 | .REQ .tr "abcd.\|.\|.\&" | |
| 92d0a6a6 JR |
2399 | Translate |
| 2400 | .I a | |
| 2401 | to | |
| 2402 | .IR b , | |
| 2403 | .I c | |
| 2404 | to | |
| 2405 | .IR d , | |
| 2406 | etc.\& on output. | |
| 2407 | . | |
| 4d3e9548 JL |
2408 | .TPx |
| 2409 | .REQ .trf "filename" | |
| 92d0a6a6 JR |
2410 | Transparently output the contents of file |
| 2411 | .IR filename . | |
| 2412 | . | |
| 4d3e9548 JL |
2413 | .TPx |
| 2414 | .REQ .trin "abcd.\|.\|.\&" | |
| 92d0a6a6 JR |
2415 | This is the same as the |
| 2416 | .request tr | |
| 2417 | request except that the | |
| 2418 | .B asciify | |
| 4d3e9548 | 2419 | request uses the character code (if any) before the character |
| 92d0a6a6 JR |
2420 | translation. |
| 2421 | . | |
| 4d3e9548 JL |
2422 | .TPx |
| 2423 | .REQ .trnt "abcd.\|.\|.\&" | |
| 92d0a6a6 JR |
2424 | This is the same as the |
| 2425 | .request tr | |
| 2426 | request except that the translations do not apply to text that is | |
| 2427 | transparently throughput into a diversion with | |
| 2428 | .esc ! . | |
| 2429 | . | |
| 4d3e9548 | 2430 | .TPx |
| 92d0a6a6 | 2431 | .REQ .troff |
| 4d3e9548 | 2432 | Make the built-in conditions |
| 92d0a6a6 JR |
2433 | .B t |
| 2434 | true and | |
| 2435 | .B n | |
| 2436 | false. | |
| 2437 | . | |
| 4d3e9548 JL |
2438 | .TPx |
| 2439 | .REQ .uf "font" | |
| 2440 | Set underline font to | |
| 92d0a6a6 JR |
2441 | .I font |
| 2442 | (to be switched to by | |
| 2443 | .request .ul ). | |
| 2444 | . | |
| 4d3e9548 JL |
2445 | .TPx |
| 2446 | .REQ .ul "N" | |
| 92d0a6a6 JR |
2447 | Underline (italicize in troff) |
| 2448 | .I N | |
| 2449 | input lines. | |
| 2450 | . | |
| 4d3e9548 JL |
2451 | .TPx |
| 2452 | .REQ .unformat "diversion" | |
| 2453 | Unformat space characters and tabs in | |
| 2454 | .IR diversion , | |
| 2455 | preserving font information. | |
| 2456 | .TPx | |
| 2457 | .REQ .vpt "n" | |
| 92d0a6a6 JR |
2458 | Enable vertical position traps if |
| 2459 | .I n | |
| 2460 | is non-zero, disable them otherwise. | |
| 2461 | . | |
| 4d3e9548 | 2462 | .TPx |
| 92d0a6a6 JR |
2463 | .REQ .vs |
| 2464 | Change to previous vertical base line spacing. | |
| 2465 | . | |
| 4d3e9548 JL |
2466 | .TPx |
| 2467 | .REQ .vs "\[+-]N" | |
| 2468 | Set vertical base line spacing to | |
| 92d0a6a6 JR |
2469 | .I \[+-]N |
| 2470 | (default scaling indicator\~\c | |
| 2471 | .scaleindicator p ). | |
| 92d0a6a6 | 2472 | . |
| 4d3e9548 JL |
2473 | .TPx |
| 2474 | .REQ .warn "n" | |
| 92d0a6a6 JR |
2475 | Set warnings code to |
| 2476 | .IR n . | |
| 2477 | . | |
| 4d3e9548 JL |
2478 | .TPx |
| 2479 | .REQ .warnscale "si" | |
| 92d0a6a6 JR |
2480 | Set scaling indicator used in warnings to |
| 2481 | .IR si . | |
| 2482 | . | |
| 4d3e9548 JL |
2483 | .TPx |
| 2484 | .REQ .wh "N" | |
| 92d0a6a6 JR |
2485 | Remove (first) trap at position |
| 2486 | .IR N . | |
| 2487 | . | |
| 4d3e9548 JL |
2488 | .TPx |
| 2489 | .REQ .wh "N trap" | |
| 92d0a6a6 JR |
2490 | Set location trap; negative means from page bottom. |
| 2491 | . | |
| 4d3e9548 JL |
2492 | .TPx |
| 2493 | .REQ .while "cond anything" | |
| 92d0a6a6 JR |
2494 | While condition |
| 2495 | .I cond | |
| 2496 | is true, accept | |
| 2497 | .I anything | |
| 2498 | as input. | |
| 2499 | . | |
| 4d3e9548 JL |
2500 | .TPx |
| 2501 | .REQ .write "stream anything" | |
| 92d0a6a6 JR |
2502 | Write |
| 2503 | .I anything | |
| 2504 | to the stream named | |
| 2505 | .IR stream . | |
| 2506 | . | |
| 4d3e9548 JL |
2507 | .TPx |
| 2508 | .REQ .writec "stream anything" | |
| 92d0a6a6 JR |
2509 | Similar to |
| 2510 | .request .write | |
| 2511 | without emitting a final newline. | |
| 2512 | . | |
| 4d3e9548 JL |
2513 | .TPx |
| 2514 | .REQ .writem "stream xx" | |
| 92d0a6a6 JR |
2515 | Write contents of macro or string |
| 2516 | .I xx | |
| 2517 | to the stream named | |
| 2518 | .IR stream . | |
| 2519 | . | |
| 2520 | .PD | |
| 2521 | . | |
| 2522 | .P | |
| 2523 | Besides these standard groff requests, there might be further macro | |
| 2524 | calls. | |
| 2525 | They can originate from a macro package (see | |
| 2526 | .BR roff (@MAN7EXT@) | |
| 2527 | for an overview) or from a preprocessor. | |
| 2528 | . | |
| 2529 | .P | |
| 2530 | Preprocessor macros are easy to be recognized. | |
| 2531 | . | |
| 2532 | They enclose their code into a pair of characteristic macros. | |
| 2533 | . | |
| 2534 | .P | |
| 2535 | .TS | |
| 2536 | box, center, tab (@); | |
| 2537 | c | c | c | |
| 2538 | CfCB | CfCB | CfCB. | |
| 2539 | preprocessor@start macro@ end macro | |
| 2540 | = | |
| 4d3e9548 | 2541 | eqn@.EQ@.EN |
| 92d0a6a6 JR |
2542 | grap@.G1@.G2 |
| 2543 | grn@.GS@.GE | |
| 2544 | pic@.PS@.PE | |
| 2545 | refer@.R1@.R2 | |
| 2546 | soelim@\f[I]none@\f[I]none | |
| 2547 | tbl@.TS@.TE | |
| 2548 | .TE | |
| 2549 | .P | |
| 2550 | . | |
| 2551 | . | |
| 2552 | .\" -------------------------------------------------------------------- | |
| 2553 | .SH "ESCAPE SEQUENCES" | |
| 2554 | .\" -------------------------------------------------------------------- | |
| 2555 | . | |
| 2556 | Escape sequences are in-line language elements usually introduced by a | |
| 2557 | backslash | |
| 2558 | .squoted_char \[rs] | |
| 2559 | and followed by an escape name and sometimes by a required argument. | |
| 2560 | . | |
| 2561 | Input processing is continued directly after the escaped character or | |
| 4d3e9548 | 2562 | the argument (without an intervening separation character). |
| 92d0a6a6 JR |
2563 | . |
| 2564 | So there must be a way to determine the end of the escape name and the | |
| 2565 | end of the argument. | |
| 2566 | . | |
| 2567 | .P | |
| 2568 | This is done by enclosing names (escape name and arguments consisting | |
| 2569 | of a variable name) by a pair of brackets | |
| 2570 | .BI \[lB] name \[rB] | |
| 2571 | and constant arguments (number expressions and characters) by | |
| 2572 | apostrophes (ASCII 0x27) like | |
| 2573 | .BI \[cq] constant \[cq] \f[R]. | |
| 2574 | . | |
| 2575 | .P | |
| 2576 | There are abbreviations for short names. | |
| 2577 | . | |
| 4d3e9548 | 2578 | Two-character escape names can be specified by an opening parenthesis |
| 92d0a6a6 JR |
2579 | like |
| 2580 | .esc ( xy | |
| 4d3e9548 JL |
2581 | or |
| 2582 | .esc *( xy | |
| 92d0a6a6 JR |
2583 | without a closing counterpart. |
| 2584 | . | |
| 2585 | And all one-character names different from the special characters | |
| 2586 | .squoted_char [ | |
| 2587 | and | |
| 2588 | .squoted_char ( | |
| 4d3e9548 JL |
2589 | can even be specified without a marker, for example |
| 2590 | .esc n c | |
| 2591 | or | |
| 2592 | .esc $ c. | |
| 92d0a6a6 JR |
2593 | . |
| 2594 | .P | |
| 2595 | Constant arguments of length\~1 can omit the marker apostrophes, too, | |
| 2596 | but there is no two-character analogue. | |
| 2597 | . | |
| 2598 | .P | |
| 4d3e9548 JL |
2599 | While one-character escape sequences are mainly used for in-line |
| 2600 | functions and system related tasks, the two-letter names following the | |
| 92d0a6a6 | 2601 | .esc ( |
| 4d3e9548 JL |
2602 | construct are glyphs predefined by the roff system; these are called |
| 2603 | `Special Characters' in the classical documentation. | |
| 92d0a6a6 | 2604 | . |
| 4d3e9548 | 2605 | Escapes sequences of the form |
| 92d0a6a6 | 2606 | .esc[] "" name |
| 4d3e9548 | 2607 | denote glyphs too. |
| 92d0a6a6 JR |
2608 | . |
| 2609 | . | |
| 2610 | .\" -------------------------------------------------------------------- | |
| 4d3e9548 | 2611 | .SS "Single-Character Escapes" |
| 92d0a6a6 JR |
2612 | .\" -------------------------------------------------------------------- |
| 2613 | . | |
| 2614 | .PD 0 | |
| 2615 | . | |
| 2616 | .\" --------- comments --------- | |
| 2617 | . | |
| 4d3e9548 | 2618 | .TP |
| 92d0a6a6 | 2619 | .ESC \[dq] |
| 4d3e9548 | 2620 | Start of a comment. |
| 92d0a6a6 JR |
2621 | . |
| 2622 | Everything up to the end of the line is ignored. | |
| 2623 | . | |
| 4d3e9548 | 2624 | .TP |
| 92d0a6a6 JR |
2625 | .ESC # |
| 2626 | Everything up to and including the next newline is ignored. | |
| 2627 | . | |
| 2628 | This is interpreted in copy mode. | |
| 2629 | . | |
| 2630 | This is like | |
| 2631 | .esc \[dq] | |
| 2632 | except that the terminating newline is ignored as well. | |
| 2633 | . | |
| 2634 | .\" --------- strings --------- | |
| 2635 | . | |
| 4d3e9548 | 2636 | .TP |
| 92d0a6a6 | 2637 | .ESC *\f[I]s\f[] |
| 4d3e9548 | 2638 | The string stored in the string variable with one-character name\~\c |
| 92d0a6a6 JR |
2639 | .IR s . |
| 2640 | . | |
| 4d3e9548 | 2641 | .TP |
| 92d0a6a6 | 2642 | .ESC *(\f[I]st\f[] |
| 4d3e9548 | 2643 | The string stored in the string variable with two-character name |
| 92d0a6a6 JR |
2644 | .IR st . |
| 2645 | . | |
| 4d3e9548 JL |
2646 | .TP |
| 2647 | .ESC[] * string | |
| 2648 | The string stored in the string variable with name | |
| 2649 | .I string | |
| 2650 | (with arbitrary length). | |
| 2651 | . | |
| 2652 | .TP | |
| 92d0a6a6 | 2653 | .ESC[] * "stringvar arg1 arg2 .\|.\|." |
| 4d3e9548 | 2654 | The string stored in the string variable with arbitrarily long name |
| 92d0a6a6 JR |
2655 | .IR stringvar , |
| 2656 | taking | |
| 2657 | .IR arg1 , | |
| 2658 | .IR arg2 , | |
| 2659 | .I .\|.\|.\& | |
| 2660 | as arguments. | |
| 2661 | . | |
| 2662 | .\" --------- macro arguments --------- | |
| 2663 | . | |
| 4d3e9548 | 2664 | .TP |
| 92d0a6a6 JR |
2665 | .ESC $0 |
| 2666 | The name by which the current macro was invoked. | |
| 2667 | . | |
| 2668 | The | |
| 2669 | .request als | |
| 2670 | request can make a macro have more than one name. | |
| 2671 | . | |
| 4d3e9548 | 2672 | .TP |
| 92d0a6a6 | 2673 | .ESC $ x |
| 4d3e9548 | 2674 | Macro or string argument with one-digit number\~\c |
| 92d0a6a6 | 2675 | .I x |
| 4d3e9548 | 2676 | in the range 1 to\~9. |
| 92d0a6a6 | 2677 | . |
| 4d3e9548 | 2678 | .TP |
| 92d0a6a6 | 2679 | .ESC $( xy |
| 4d3e9548 JL |
2680 | Macro or string argument with two-digit number |
| 2681 | .I xy | |
| 2682 | (larger than zero). | |
| 92d0a6a6 | 2683 | . |
| 4d3e9548 | 2684 | .TP |
| 92d0a6a6 JR |
2685 | .ESC[] $ nexp |
| 2686 | Macro or string argument with number | |
| 2687 | .IR nexp , | |
| 2688 | where | |
| 2689 | .I nexp | |
| 2690 | is a numerical expression evaluating to an integer \[>=]1. | |
| 2691 | . | |
| 4d3e9548 | 2692 | .TP |
| 92d0a6a6 JR |
2693 | .ESC $* |
| 2694 | In a macro or string, the concatenation of all the arguments separated | |
| 2695 | by spaces. | |
| 2696 | . | |
| 4d3e9548 | 2697 | .TP |
| 92d0a6a6 JR |
2698 | .ESC $@ |
| 2699 | In a macro or string, the concatenation of all the arguments with each | |
| 2700 | surrounded by double quotes, and separated by spaces. | |
| 2701 | . | |
| 4d3e9548 JL |
2702 | .TP |
| 2703 | .ESC $^ | |
| 2704 | In a macro, the representation of all parameters as if they were an | |
| 2705 | argument to the | |
| 2706 | .request ds | |
| 2707 | request. | |
| 2708 | . | |
| 92d0a6a6 JR |
2709 | .\" --------- escaped characters --------- |
| 2710 | . | |
| 4d3e9548 | 2711 | .TP |
| 92d0a6a6 JR |
2712 | .ESC \[rs] |
| 2713 | reduces to a single backslash; useful to delay its interpretation as | |
| 2714 | escape character in copy mode. | |
| 2715 | . | |
| 2716 | For a printable backslash, use | |
| 2717 | .esc e , | |
| 2718 | or even better | |
| 2719 | .esc [rs] , | |
| 2720 | to be independent from the current escape character. | |
| 2721 | . | |
| 4d3e9548 | 2722 | .TP |
| 92d0a6a6 JR |
2723 | .ESC \[cq] |
| 2724 | The acute accent \[aa]; same as | |
| 2725 | .esc (aa . | |
| 2726 | Unescaped: apostrophe, right quotation mark, single quote (ASCII 0x27). | |
| 2727 | . | |
| 4d3e9548 | 2728 | .TP |
| 92d0a6a6 JR |
2729 | .ESC ` |
| 2730 | The grave accent \[ga]; same as | |
| 2731 | .esc (ga . | |
| 2732 | Unescaped: left quote, backquote (ASCII 0x60). | |
| 2733 | . | |
| 4d3e9548 JL |
2734 | .TP |
| 2735 | .ESC - | |
| 2736 | The \- (minus) sign in the current font. | |
| 2737 | . | |
| 2738 | .TP | |
| 2739 | .ESC _ | |
| 2740 | The same as | |
| 2741 | .esc (ul , | |
| 2742 | the underline character. | |
| 92d0a6a6 | 2743 | . |
| 4d3e9548 | 2744 | .TP |
| 92d0a6a6 JR |
2745 | .ESC . |
| 2746 | An uninterpreted dot (period), even at start of line. | |
| 2747 | . | |
| 4d3e9548 | 2748 | .TP |
| 92d0a6a6 JR |
2749 | .ESC % |
| 2750 | Default optional hyphenation character. | |
| 2751 | . | |
| 4d3e9548 | 2752 | .TP |
| 92d0a6a6 JR |
2753 | .ESC ! |
| 2754 | Transparent line indicator. | |
| 2755 | . | |
| 4d3e9548 | 2756 | .TP |
| 92d0a6a6 | 2757 | .ESC? anything |
| 4d3e9548 | 2758 | In a diversion, this transparently embeds |
| 92d0a6a6 JR |
2759 | .I anything |
| 2760 | in the diversion. | |
| 2761 | .I anything | |
| 2762 | is read in copy mode. | |
| 2763 | . | |
| 2764 | See also the escape sequences | |
| 2765 | .esc ! | |
| 2766 | and | |
| 2767 | .esc ? . | |
| 2768 | . | |
| 2769 | . | |
| 2770 | .\" --------- spacing --------- | |
| 2771 | . | |
| 4d3e9548 | 2772 | .TP |
| 92d0a6a6 | 2773 | .ESC \& space |
| 4d3e9548 | 2774 | Unpaddable space size space glyph (no line break). |
| 92d0a6a6 | 2775 | . |
| 4d3e9548 | 2776 | .TP |
| 92d0a6a6 | 2777 | .ESC 0 |
| 4d3e9548 | 2778 | Digit-width space. |
| 92d0a6a6 | 2779 | . |
| 4d3e9548 | 2780 | .TP |
| 92d0a6a6 | 2781 | .ESC | |
| 4d3e9548 | 2782 | 1/6\ em narrow space glyph; zero width in nroff. |
| 92d0a6a6 | 2783 | . |
| 4d3e9548 | 2784 | .TP |
| 92d0a6a6 | 2785 | .ESC ^ |
| 4d3e9548 | 2786 | 1/12\ em half-narrow space glyph; zero width in nroff. |
| 92d0a6a6 | 2787 | . |
| 4d3e9548 | 2788 | .TP |
| 92d0a6a6 | 2789 | .ESC & |
| 4d3e9548 | 2790 | Non-printable, zero-width glyph. |
| 92d0a6a6 | 2791 | . |
| 4d3e9548 | 2792 | .TP |
| 92d0a6a6 JR |
2793 | .ESC ) |
| 2794 | Like | |
| 2795 | .esc & | |
| 4d3e9548 JL |
2796 | except that it behaves like a glyph declared with the |
| 2797 | .request cflags | |
| 2798 | request to be transparent for the purposes of end-of-sentence | |
| 92d0a6a6 JR |
2799 | recognition. |
| 2800 | . | |
| 4d3e9548 | 2801 | .TP |
| 92d0a6a6 | 2802 | .ESC / |
| 4d3e9548 JL |
2803 | Increases the width of the preceding glyph so that the spacing |
| 2804 | between that glyph and the following glyph is correct if | |
| 2805 | the following glyph is a roman glyph. | |
| 92d0a6a6 | 2806 | . |
| 4d3e9548 | 2807 | .TP |
| 92d0a6a6 | 2808 | .ESC , |
| 4d3e9548 JL |
2809 | Modifies the spacing of the following glyph so that the spacing |
| 2810 | between that glyph and the preceding glyph is correct if the | |
| 2811 | preceding glyph is a roman glyph. | |
| 92d0a6a6 | 2812 | . |
| 4d3e9548 | 2813 | .TP |
| 92d0a6a6 JR |
2814 | .ESC ~ |
| 2815 | Unbreakable space that stretches like a normal inter-word space when a | |
| 2816 | line is adjusted. | |
| 2817 | . | |
| 4d3e9548 | 2818 | .TP |
| 92d0a6a6 JR |
2819 | .ESC : |
| 2820 | Inserts a zero-width break point (similar to | |
| 2821 | .esc % | |
| 2822 | but without a soft hyphen character). | |
| 2823 | . | |
| 4d3e9548 | 2824 | .TP |
| 92d0a6a6 JR |
2825 | .ESC "" newline |
| 2826 | Ignored newline, for continuation lines. | |
| 2827 | . | |
| 2828 | .\" --------- structuring --------- | |
| 2829 | . | |
| 4d3e9548 | 2830 | .TP |
| 92d0a6a6 JR |
2831 | .ESC { |
| 2832 | Begin conditional input. | |
| 2833 | . | |
| 4d3e9548 | 2834 | .TP |
| 92d0a6a6 JR |
2835 | .ESC } |
| 2836 | End conditional input. | |
| 2837 | . | |
| 2838 | .\" --------- longer escape names --------- | |
| 2839 | . | |
| 4d3e9548 | 2840 | .TP |
| 92d0a6a6 | 2841 | .ESC ( sc |
| 4d3e9548 JL |
2842 | A glyph with two-character name |
| 2843 | .IR sc ; | |
| 92d0a6a6 JR |
2844 | see section |
| 2845 | .BR "Special Characters" . | |
| 2846 | . | |
| 4d3e9548 | 2847 | .TP |
| 92d0a6a6 | 2848 | .ESC[] "" name |
| 4d3e9548 JL |
2849 | A glyph with name |
| 2850 | .I name | |
| 2851 | (of arbitrary length). | |
| 92d0a6a6 | 2852 | . |
| 4d3e9548 | 2853 | .TP |
| 92d0a6a6 JR |
2854 | .ESC[] "" "comp1 comp2 .\|.\|." |
| 2855 | A composite glyph with components | |
| 2856 | .IR comp1 , | |
| 2857 | .IR comp2 , | |
| 2858 | .I .\|.\|. | |
| 2859 | . | |
| 2860 | .\" --------- alphabetical escapes --------- | |
| 2861 | . | |
| 4d3e9548 | 2862 | .TP |
| 92d0a6a6 JR |
2863 | .ESC a |
| 2864 | Non-interpreted leader character. | |
| 2865 | . | |
| 4d3e9548 | 2866 | .TP |
| 92d0a6a6 JR |
2867 | .ESCq A anything |
| 2868 | If | |
| 2869 | .I anything | |
| 2870 | is acceptable as a name of a string, macro, diversion, register, | |
| 2871 | environment or font it expands to\~1, and to\~0 otherwise. | |
| 2872 | . | |
| 4d3e9548 | 2873 | .TP |
| 92d0a6a6 JR |
2874 | .ESCq b abc.\|.\|.\& |
| 2875 | Bracket building function. | |
| 2876 | . | |
| 4d3e9548 | 2877 | .TP |
| 92d0a6a6 JR |
2878 | .ESCq B anything |
| 2879 | If | |
| 2880 | .I anything | |
| 2881 | is acceptable as a valid numeric expression it expands to\~1, and | |
| 2882 | to\~0 otherwise. | |
| 2883 | . | |
| 4d3e9548 | 2884 | .TP |
| 92d0a6a6 JR |
2885 | .ESC c |
| 2886 | Interrupt text processing. | |
| 2887 | . | |
| 4d3e9548 JL |
2888 | .TP |
| 2889 | .ESCq C glyph | |
| 2890 | The glyph called | |
| 2891 | .IR glyph ; | |
| 92d0a6a6 | 2892 | same as |
| 4d3e9548 | 2893 | .esc[] "" glyph , |
| 92d0a6a6 JR |
2894 | but compatible to other roff versions. |
| 2895 | . | |
| 4d3e9548 | 2896 | .TP |
| 92d0a6a6 | 2897 | .ESC d |
| 4d3e9548 | 2898 | Forward (down) 1/2 em (1/2 line in nroff). |
| 92d0a6a6 | 2899 | . |
| 4d3e9548 | 2900 | .TP |
| 92d0a6a6 JR |
2901 | .ESCq D charseq |
| 2902 | Draw a graphical element defined by the characters in | |
| 2903 | .IR charseq ; | |
| 4d3e9548 | 2904 | see the groff info file for details. |
| 92d0a6a6 | 2905 | . |
| 4d3e9548 | 2906 | .TP |
| 92d0a6a6 JR |
2907 | .ESC e |
| 2908 | Printable version of the current escape character. | |
| 2909 | . | |
| 4d3e9548 | 2910 | .TP |
| 92d0a6a6 | 2911 | .ESC E |
| 4d3e9548 | 2912 | Equivalent to an escape character, but is not interpreted in copy mode. |
| 92d0a6a6 | 2913 | . |
| 4d3e9548 | 2914 | .TP |
| 92d0a6a6 | 2915 | .ESC f F |
| 4d3e9548 | 2916 | Change to font with one-character name or one-digit number\~\c |
| 92d0a6a6 JR |
2917 | .IR F . |
| 2918 | . | |
| 4d3e9548 | 2919 | .TP |
| 92d0a6a6 JR |
2920 | .ESC fP |
| 2921 | Switch back to previous font. | |
| 2922 | . | |
| 4d3e9548 | 2923 | .TP |
| 92d0a6a6 | 2924 | .ESC f( fo |
| 4d3e9548 | 2925 | Change to font with two-character name or two-digit number |
| 92d0a6a6 JR |
2926 | .IR fo . |
| 2927 | . | |
| 4d3e9548 | 2928 | .TP |
| 92d0a6a6 | 2929 | .ESC[] f font |
| 4d3e9548 | 2930 | Change to font with arbitrarily long name or number expression |
| 92d0a6a6 JR |
2931 | .IR font . |
| 2932 | . | |
| 4d3e9548 | 2933 | .TP |
| 92d0a6a6 JR |
2934 | .ESC[] f "" |
| 2935 | Switch back to previous font. | |
| 2936 | . | |
| 4d3e9548 | 2937 | .TP |
| 92d0a6a6 | 2938 | .ESC F f |
| 4d3e9548 | 2939 | Change to font family with one-character name\~\c |
| 92d0a6a6 JR |
2940 | .IR f . |
| 2941 | . | |
| 4d3e9548 | 2942 | .TP |
| 92d0a6a6 | 2943 | .ESC F( fm |
| 4d3e9548 | 2944 | Change to font family with two-character name |
| 92d0a6a6 JR |
2945 | .IR fm . |
| 2946 | . | |
| 4d3e9548 | 2947 | .TP |
| 92d0a6a6 | 2948 | .ESC[] F fam |
| 4d3e9548 | 2949 | Change to font family with arbitrarily long name |
| 92d0a6a6 JR |
2950 | .IR fam . |
| 2951 | . | |
| 4d3e9548 | 2952 | .TP |
| 92d0a6a6 JR |
2953 | .ESC[] F "" |
| 2954 | Switch back to previous font family. | |
| 2955 | . | |
| 4d3e9548 JL |
2956 | .TP |
| 2957 | .ESC g r | |
| 2958 | Return format of register with one-character name\~\c | |
| 2959 | .I r | |
| 2960 | suitable for | |
| 2961 | .request af | |
| 2962 | request. | |
| 2963 | . | |
| 2964 | .TP | |
| 2965 | .ESC g( rg | |
| 2966 | Return format of register with two-character name | |
| 2967 | .I rg | |
| 2968 | suitable for | |
| 2969 | .request af | |
| 2970 | request. | |
| 2971 | . | |
| 2972 | .TP | |
| 92d0a6a6 | 2973 | .ESC[] g reg |
| 4d3e9548 | 2974 | Return format of register with arbitrarily long name |
| 92d0a6a6 JR |
2975 | .I reg |
| 2976 | suitable for | |
| 4d3e9548 JL |
2977 | .request af |
| 2978 | request. | |
| 92d0a6a6 | 2979 | . |
| 4d3e9548 | 2980 | .TP |
| 92d0a6a6 JR |
2981 | .ESCq h N |
| 2982 | Local horizontal motion; move right | |
| 2983 | .I N | |
| 2984 | (left if negative). | |
| 2985 | . | |
| 4d3e9548 | 2986 | .TP |
| 92d0a6a6 JR |
2987 | .ESCq H N |
| 2988 | Set height of current font to | |
| 2989 | .IR N . | |
| 2990 | . | |
| 4d3e9548 JL |
2991 | .TP |
| 2992 | .ESC k r | |
| 2993 | Mark horizontal input place in one-character register\~\c | |
| 2994 | .IR r . | |
| 2995 | . | |
| 2996 | .TP | |
| 2997 | .ESC k( rg | |
| 2998 | Mark horizontal input place in two-character register | |
| 2999 | .IR rg . | |
| 3000 | . | |
| 3001 | .TP | |
| 92d0a6a6 | 3002 | .ESC[] k reg |
| 4d3e9548 | 3003 | Mark horizontal input place in register with arbitrarily long name |
| 92d0a6a6 | 3004 | .IR reg . |
| 92d0a6a6 | 3005 | . |
| 4d3e9548 | 3006 | .TP |
| 92d0a6a6 JR |
3007 | .ESCq l Nc |
| 3008 | Horizontal line drawing function (optionally using character | |
| 3009 | .IR c ). | |
| 3010 | . | |
| 4d3e9548 | 3011 | .TP |
| 92d0a6a6 JR |
3012 | .ESCq L Nc |
| 3013 | Vertical line drawing function (optionally using character | |
| 3014 | .IR c ). | |
| 3015 | . | |
| 4d3e9548 JL |
3016 | .TP |
| 3017 | .ESC m c | |
| 3018 | Change to color with one-character name\~\c | |
| 3019 | .IR c . | |
| 3020 | . | |
| 3021 | .TP | |
| 3022 | .ESC m( cl | |
| 3023 | Change to color with two-character name | |
| 3024 | .IR cl . | |
| 3025 | . | |
| 3026 | .TP | |
| 92d0a6a6 | 3027 | .ESC[] m color |
| 4d3e9548 | 3028 | Change to color with arbitrarily long name |
| 92d0a6a6 JR |
3029 | .IR color . |
| 3030 | . | |
| 4d3e9548 | 3031 | .TP |
| 92d0a6a6 JR |
3032 | .ESC[] m "" |
| 3033 | Switch back to previous color. | |
| 3034 | . | |
| 4d3e9548 JL |
3035 | .TP |
| 3036 | .ESC M c | |
| 3037 | Change filling color for closed drawn objects to color with | |
| 3038 | one-character name\~\c | |
| 3039 | .IR c . | |
| 3040 | . | |
| 3041 | .TP | |
| 3042 | .ESC M( cl | |
| 3043 | Change filling color for closed drawn objects to color with | |
| 3044 | two-character name | |
| 3045 | .IR cl . | |
| 3046 | . | |
| 3047 | .TP | |
| 92d0a6a6 | 3048 | .ESC[] M color |
| 4d3e9548 JL |
3049 | Change filling color for closed drawn objects to color with |
| 3050 | arbitrarily long name | |
| 92d0a6a6 JR |
3051 | .IR color . |
| 3052 | . | |
| 4d3e9548 | 3053 | .TP |
| 92d0a6a6 JR |
3054 | .ESC[] M "" |
| 3055 | Switch to previous fill color. | |
| 3056 | . | |
| 4d3e9548 | 3057 | .TP |
| 92d0a6a6 JR |
3058 | .ESC n r |
| 3059 | The numerical value stored in the register variable with the | |
| 4d3e9548 | 3060 | one-character name\~\c |
| 92d0a6a6 JR |
3061 | .IR r . |
| 3062 | . | |
| 4d3e9548 | 3063 | .TP |
| 92d0a6a6 JR |
3064 | .ESC n( re |
| 3065 | The numerical value stored in the register variable with the | |
| 4d3e9548 | 3066 | two-character name |
| 92d0a6a6 JR |
3067 | .IR re . |
| 3068 | . | |
| 4d3e9548 | 3069 | .TP |
| 92d0a6a6 | 3070 | .ESC[] n reg |
| 4d3e9548 JL |
3071 | The numerical value stored in the register variable with arbitrarily |
| 3072 | long name | |
| 92d0a6a6 JR |
3073 | .IR reg . |
| 3074 | . | |
| 4d3e9548 | 3075 | .TP |
| 92d0a6a6 | 3076 | .ESCq N n |
| 4d3e9548 | 3077 | Typeset the glyph with index\~\c |
| 92d0a6a6 | 3078 | .I n |
| 4d3e9548 | 3079 | in the current font. |
| 92d0a6a6 | 3080 | . |
| 4d3e9548 JL |
3081 | No special fonts are searched. |
| 3082 | . | |
| 3083 | Useful for adding (named) entities to a document using the | |
| 92d0a6a6 | 3084 | .request char |
| 4d3e9548 | 3085 | request and friends. |
| 92d0a6a6 | 3086 | . |
| 4d3e9548 | 3087 | .TP |
| 92d0a6a6 | 3088 | .ESCq o abc.\|.\|.\& |
| 4d3e9548 | 3089 | Overstrike glyphs |
| 92d0a6a6 JR |
3090 | .IR a , |
| 3091 | .IR b , | |
| 3092 | .IR c , | |
| 3093 | etc. | |
| 3094 | . | |
| 4d3e9548 JL |
3095 | .TP |
| 3096 | .ESC O0 | |
| 92d0a6a6 JR |
3097 | Disable glyph output. |
| 3098 | . | |
| 3099 | Mainly for internal use. | |
| 3100 | . | |
| 4d3e9548 JL |
3101 | .TP |
| 3102 | .ESC O1 | |
| 92d0a6a6 JR |
3103 | Enable glyph output. |
| 3104 | . | |
| 3105 | Mainly for internal use. | |
| 3106 | . | |
| 4d3e9548 | 3107 | .TP |
| 92d0a6a6 JR |
3108 | .ESC p |
| 3109 | Break and spread output line. | |
| 3110 | . | |
| 4d3e9548 | 3111 | .TP |
| 92d0a6a6 JR |
3112 | .ESC r |
| 3113 | Reverse 1\ em vertical motion (reverse line in nroff). | |
| 3114 | . | |
| 4d3e9548 | 3115 | .TP |
| 92d0a6a6 JR |
3116 | .ESCq R "name\~\[+-]n" |
| 3117 | The same as | |
| 3118 | .request .nr | |
| 3119 | .I name | |
| 3120 | .IR \[+-]n . | |
| 3121 | . | |
| 4d3e9548 JL |
3122 | .TP |
| 3123 | .ESC s \[+-]N | |
| 3124 | Set/increase/decrease the point size to/by | |
| 3125 | .I N | |
| 3126 | scaled points; | |
| 3127 | .I N | |
| 3128 | is a one-digit number in the range 1 to\~9. | |
| 3129 | . | |
| 3130 | Same as | |
| 3131 | .request ps | |
| 3132 | request. | |
| 3133 | . | |
| 3134 | .TP | |
| 3135 | .ESC s( \[+-]N | |
| 3136 | .TQ | |
| 3137 | .ESC s\[+-]( N | |
| 3138 | Set/increase/decrease the point size to/by | |
| 3139 | .I N | |
| 3140 | scaled points; | |
| 3141 | .I N | |
| 3142 | is a two-digit number \[>=]1. | |
| 3143 | . | |
| 3144 | Same as | |
| 3145 | .request ps | |
| 3146 | request. | |
| 3147 | . | |
| 3148 | .TP | |
| 92d0a6a6 | 3149 | .ESC[] s \[+-]N |
| 4d3e9548 JL |
3150 | .TQ |
| 3151 | .ESC[] s\[+-] N | |
| 3152 | .TQ | |
| 3153 | .ESCq s \[+-]N | |
| 3154 | .TQ | |
| 3155 | .ESCq s\[+-] N | |
| 3156 | Set/increase/decrease the point size to/by | |
| 92d0a6a6 JR |
3157 | .I N |
| 3158 | scaled points. | |
| 3159 | . | |
| 92d0a6a6 JR |
3160 | Same as |
| 3161 | .request ps | |
| 3162 | request. | |
| 3163 | . | |
| 4d3e9548 | 3164 | .TP |
| 92d0a6a6 | 3165 | .ESCq S N |
| 4d3e9548 | 3166 | Slant output by |
| 92d0a6a6 JR |
3167 | .I N |
| 3168 | degrees. | |
| 3169 | . | |
| 4d3e9548 | 3170 | .TP |
| 92d0a6a6 JR |
3171 | .ESC t |
| 3172 | Non-interpreted horizontal tab. | |
| 3173 | . | |
| 4d3e9548 | 3174 | .TP |
| 92d0a6a6 JR |
3175 | .ESC u |
| 3176 | Reverse (up) 1/2 em vertical motion (1/2 line in nroff). | |
| 3177 | . | |
| 4d3e9548 | 3178 | .TP |
| 92d0a6a6 JR |
3179 | .ESCq v N |
| 3180 | Local vertical motion; move down | |
| 3181 | .I N | |
| 3182 | (up if negative). | |
| 3183 | . | |
| 4d3e9548 JL |
3184 | .TP |
| 3185 | .ESC V e | |
| 3186 | The contents of the environment variable with one-character | |
| 3187 | name\~\c | |
| 3188 | .IR e . | |
| 3189 | . | |
| 3190 | .TP | |
| 3191 | .ESC V( ev | |
| 3192 | The contents of the environment variable with two-character name | |
| 3193 | .IR ev . | |
| 3194 | . | |
| 3195 | .TP | |
| 92d0a6a6 | 3196 | .ESC[] V env |
| 4d3e9548 | 3197 | The contents of the environment variable with arbitrarily long name |
| 92d0a6a6 JR |
3198 | .IR env . |
| 3199 | . | |
| 4d3e9548 | 3200 | .TP |
| 92d0a6a6 | 3201 | .ESCq w string |
| 4d3e9548 | 3202 | The width of the glyph sequence |
| 92d0a6a6 JR |
3203 | .IR string . |
| 3204 | . | |
| 4d3e9548 | 3205 | .TP |
| 92d0a6a6 JR |
3206 | .ESCq x N |
| 3207 | Extra line-space function (negative before, positive after). | |
| 3208 | . | |
| 4d3e9548 | 3209 | .TP |
| 92d0a6a6 JR |
3210 | .ESCq X string |
| 3211 | Output | |
| 3212 | .I string | |
| 3213 | as device control function. | |
| 3214 | . | |
| 4d3e9548 JL |
3215 | .TP |
| 3216 | .ESC Y n | |
| 3217 | Output string variable or macro with one-character name\~\c | |
| 3218 | .I n | |
| 3219 | uninterpreted as device control function. | |
| 3220 | . | |
| 3221 | .TP | |
| 3222 | .ESC Y( nm | |
| 3223 | Output string variable or macro with two-character name | |
| 3224 | .I nm | |
| 3225 | uninterpreted as device control function. | |
| 3226 | . | |
| 3227 | .TP | |
| 92d0a6a6 | 3228 | .ESC[] Y name |
| 4d3e9548 | 3229 | Output string variable or macro with arbitrarily long name |
| 92d0a6a6 JR |
3230 | .I name |
| 3231 | uninterpreted as device control function. | |
| 3232 | . | |
| 4d3e9548 | 3233 | .TP |
| 92d0a6a6 JR |
3234 | .ESC z c |
| 3235 | ||
| 3236 | .I c | |
| 3237 | with zero width (without spacing). | |
| 3238 | . | |
| 4d3e9548 | 3239 | .TP |
| 92d0a6a6 JR |
3240 | .ESCq Z anything |
| 3241 | ||
| 3242 | .I anything | |
| 3243 | and then restore the horizontal and vertical position; | |
| 3244 | .I anything | |
| 3245 | may not contain tabs or leaders. | |
| 3246 | . | |
| 3247 | .PD | |
| 3248 | .P | |
| 3249 | The escape sequences | |
| 3250 | .esc e , | |
| 3251 | .esc . , | |
| 3252 | .esc \[dq] , | |
| 3253 | .esc $ , | |
| 3254 | .esc * , | |
| 3255 | .esc a , | |
| 3256 | .esc n , | |
| 3257 | .esc t , | |
| 3258 | .esc g , | |
| 3259 | and | |
| 3260 | .escarg \& newline | |
| 3261 | are interpreted in copy mode. | |
| 3262 | . | |
| 3263 | .P | |
| 3264 | Escape sequences starting with | |
| 3265 | .esc ( | |
| 3266 | or | |
| 3267 | .esc [ | |
| 3268 | do not represent single character escape sequences, but introduce escape | |
| 3269 | names with two or more characters. | |
| 3270 | . | |
| 3271 | .P | |
| 3272 | If a backslash is followed by a character that does not constitute a | |
| 4d3e9548 | 3273 | defined escape sequence, the backslash is silently ignored and the |
| 92d0a6a6 JR |
3274 | character maps to itself. |
| 3275 | . | |
| 3276 | . | |
| 3277 | .\" -------------------------------------------------------------------- | |
| 3278 | .SS "Special Characters" | |
| 3279 | .\" -------------------------------------------------------------------- | |
| 3280 | . | |
| 4d3e9548 JL |
3281 | [Note: `Special Characters' is a misnomer; those entities are (output) |
| 3282 | glyphs, not (input) characters.] | |
| 3283 | . | |
| 3284 | .P | |
| 92d0a6a6 JR |
3285 | Common special characters are predefined by escape sequences of the |
| 3286 | form | |
| 3287 | .BI \[rs]( xy | |
| 3288 | with characters | |
| 3289 | .I x | |
| 3290 | and | |
| 3291 | .IR y . | |
| 3292 | . | |
| 3293 | Some of these exist in the usual font while most of them are only | |
| 3294 | available in the special font. | |
| 3295 | . | |
| 4d3e9548 | 3296 | Below you can find a selection of the most important glyphs; a complete |
| 92d0a6a6 JR |
3297 | list can be found in |
| 3298 | .BR groff_char (@MAN7EXT@). | |
| 3299 | .RS | |
| 3300 | .P | |
| 3301 | .PD 0 | |
| 3302 | . | |
| 4d3e9548 | 3303 | .TP |
| 92d0a6a6 JR |
3304 | .ESC (bu |
| 3305 | Bullet sign | |
| 4d3e9548 | 3306 | .TP |
| 92d0a6a6 JR |
3307 | .ESC (co |
| 3308 | Copyright | |
| 4d3e9548 | 3309 | .TP |
| 92d0a6a6 JR |
3310 | .ESC (ct |
| 3311 | Cent | |
| 4d3e9548 | 3312 | .TP |
| 92d0a6a6 JR |
3313 | .ESC (dd |
| 3314 | Double dagger | |
| 4d3e9548 | 3315 | .TP |
| 92d0a6a6 JR |
3316 | .ESC (de |
| 3317 | Degree | |
| 4d3e9548 | 3318 | .TP |
| 92d0a6a6 JR |
3319 | .ESC (dg |
| 3320 | Dagger | |
| 4d3e9548 JL |
3321 | .TP |
| 3322 | .ESC (rq | |
| 92d0a6a6 | 3323 | Printable double quote |
| 4d3e9548 | 3324 | .TP |
| 92d0a6a6 JR |
3325 | .ESC (em |
| 3326 | Em-dash | |
| 4d3e9548 | 3327 | .TP |
| 92d0a6a6 JR |
3328 | .ESC (hy |
| 3329 | Hyphen | |
| 4d3e9548 | 3330 | .TP |
| 92d0a6a6 JR |
3331 | .ESC (rg |
| 3332 | Registered sign | |
| 4d3e9548 | 3333 | .TP |
| 92d0a6a6 JR |
3334 | .ESC (rs |
| 3335 | Printable backslash character | |
| 4d3e9548 | 3336 | .TP |
| 92d0a6a6 JR |
3337 | .ESC (sc |
| 3338 | Section sign | |
| 4d3e9548 | 3339 | .TP |
| 92d0a6a6 JR |
3340 | .ESC (ul |
| 3341 | Underline character | |
| 4d3e9548 | 3342 | .TP |
| 92d0a6a6 JR |
3343 | .ESC (== |
| 3344 | Identical | |
| 4d3e9548 | 3345 | .TP |
| 92d0a6a6 JR |
3346 | .ESC (>= |
| 3347 | Larger or equal | |
| 4d3e9548 | 3348 | .TP |
| 92d0a6a6 JR |
3349 | .ESC (<= |
| 3350 | Less or equal | |
| 4d3e9548 | 3351 | .TP |
| 92d0a6a6 JR |
3352 | .ESC (!= |
| 3353 | Not equal | |
| 4d3e9548 | 3354 | .TP |
| 92d0a6a6 JR |
3355 | .ESC (-> |
| 3356 | Right arrow | |
| 4d3e9548 | 3357 | .TP |
| 92d0a6a6 JR |
3358 | .ESC (<- |
| 3359 | Left arrow | |
| 4d3e9548 | 3360 | .TP |
| 92d0a6a6 JR |
3361 | .ESC (+- |
| 3362 | Plus-minus sign | |
| 3363 | .PD | |
| 3364 | .RE | |
| 3365 | . | |
| 3366 | . | |
| 3367 | .\" -------------------------------------------------------------------- | |
| 3368 | .SS "Strings" | |
| 3369 | .\" -------------------------------------------------------------------- | |
| 3370 | . | |
| 3371 | Strings are defined by the | |
| 3372 | .request ds | |
| 3373 | request and can be retrieved by the | |
| 3374 | .esc * | |
| 3375 | escape sequence. | |
| 3376 | . | |
| 3377 | .P | |
| 3378 | Strings share their name space with macros. | |
| 3379 | . | |
| 3380 | So strings and macros without arguments are roughly equivalent; it is | |
| 3381 | possible to call a string like a macro and vice-versa, but this often | |
| 3382 | leads to unpredictable results. | |
| 3383 | . | |
| 4d3e9548 | 3384 | The following string is the only one predefined in groff. |
| 92d0a6a6 | 3385 | . |
| 4d3e9548 | 3386 | .TPx |
| 92d0a6a6 JR |
3387 | .STRING .T |
| 3388 | The name of the current output device as specified by the | |
| 4d3e9548 | 3389 | .option \-T |
| 92d0a6a6 JR |
3390 | command line option. |
| 3391 | . | |
| 3392 | . | |
| 3393 | .\" -------------------------------------------------------------------- | |
| 3394 | .SH REGISTERS | |
| 3395 | .\" -------------------------------------------------------------------- | |
| 3396 | . | |
| 3397 | Registers are variables that store a value. | |
| 3398 | In groff, most registers store numerical values (see section | |
| 3399 | .B NUMERICAL EXPRESSIONS | |
| 3400 | above), but some can also hold a string value. | |
| 3401 | . | |
| 3402 | .P | |
| 3403 | Each register is given a name. | |
| 4d3e9548 | 3404 | Arbitrary registers can be defined and set with the |
| 92d0a6a6 | 3405 | .request nr |
| 4d3e9548 | 3406 | request. |
| 92d0a6a6 JR |
3407 | . |
| 3408 | .P | |
| 3409 | The value stored in a register can be retrieved by the escape sequences | |
| 3410 | introduced by | |
| 3411 | .esc n . | |
| 3412 | . | |
| 3413 | .P | |
| 3414 | Most useful are predefined registers. | |
| 3415 | . | |
| 3416 | In the following the notation | |
| 3417 | .I name | |
| 4d3e9548 | 3418 | is used to refer to |
| 92d0a6a6 JR |
3419 | .register name |
| 3420 | to make clear that we speak about registers. | |
| 3421 | . | |
| 3422 | Please keep in mind that the | |
| 3423 | .esc[] n "" | |
| 3424 | decoration is not part of the register name. | |
| 3425 | . | |
| 3426 | . | |
| 3427 | .\" -------------------------------------------------------------------- | |
| 3428 | .SS "Read-only Registers" | |
| 3429 | .\" -------------------------------------------------------------------- | |
| 3430 | . | |
| 3431 | The following registers have predefined values that should not be | |
| 3432 | modified by the user (usually, registers starting with a dot a | |
| 3433 | read-only). | |
| 3434 | . | |
| 3435 | Mostly, they provide information on the current settings or store | |
| 3436 | results from request calls. | |
| 3437 | . | |
| 3438 | .P | |
| 3439 | .PD 0 | |
| 3440 | . | |
| 4d3e9548 | 3441 | .TPx |
| 92d0a6a6 JR |
3442 | .REG .$ |
| 3443 | Number of arguments in the current macro or string. | |
| 3444 | . | |
| 4d3e9548 | 3445 | .TPx |
| 92d0a6a6 JR |
3446 | .REG .a |
| 3447 | Post-line extra line-space most recently utilized using | |
| 4d3e9548 | 3448 | .esc x . |
| 92d0a6a6 | 3449 | . |
| 4d3e9548 | 3450 | .TPx |
| 92d0a6a6 JR |
3451 | .REG .A |
| 3452 | Set to\~1 in | |
| 3453 | .B troff | |
| 3454 | if option | |
| 4d3e9548 | 3455 | .option \-A |
| 92d0a6a6 JR |
3456 | is used; always\~1 in |
| 3457 | .BR nroff . | |
| 3458 | . | |
| 4d3e9548 JL |
3459 | .TPx |
| 3460 | .REG .br | |
| 3461 | Within a macro, set to\~1 if macro called with the `normal' control | |
| 3462 | character, and to\~0 otherwise. | |
| 3463 | . | |
| 3464 | .TPx | |
| 92d0a6a6 JR |
3465 | .REG .c |
| 3466 | Current input line number. | |
| 3467 | . | |
| 4d3e9548 | 3468 | .TPx |
| 92d0a6a6 JR |
3469 | .REG .C |
| 3470 | 1\~if compatibility mode is in effect, 0\~otherwise. | |
| 3471 | . | |
| 4d3e9548 | 3472 | .TPx |
| 92d0a6a6 | 3473 | .REG .cdp |
| 4d3e9548 | 3474 | The depth of the last glyph added to the current environment. |
| 92d0a6a6 | 3475 | . |
| 4d3e9548 JL |
3476 | It is positive if the glyph extends below the baseline. |
| 3477 | . | |
| 3478 | .TPx | |
| 92d0a6a6 JR |
3479 | .REG .ce |
| 3480 | The number of lines remaining to be centered, as set by the | |
| 3481 | .request ce | |
| 3482 | request. | |
| 3483 | . | |
| 4d3e9548 | 3484 | .TPx |
| 92d0a6a6 | 3485 | .REG .cht |
| 4d3e9548 | 3486 | The height of the last glyph added to the current environment. |
| 92d0a6a6 | 3487 | . |
| 4d3e9548 JL |
3488 | It is positive if the glyph extends above the baseline. |
| 3489 | . | |
| 3490 | .TPx | |
| 92d0a6a6 JR |
3491 | .REG .color |
| 3492 | 1\~if colors are enabled, 0\~otherwise. | |
| 3493 | . | |
| 4d3e9548 | 3494 | .TPx |
| 92d0a6a6 | 3495 | .REG .csk |
| 4d3e9548 JL |
3496 | The skew of the last glyph added to the current environment. |
| 3497 | . | |
| 3498 | The skew of a glyph is how far to the right of the center of a glyph | |
| 3499 | the center of an accent over that glyph should be placed. | |
| 92d0a6a6 | 3500 | . |
| 4d3e9548 | 3501 | .TPx |
| 92d0a6a6 | 3502 | .REG .d |
| 465b256c | 3503 | Current vertical place in current diversion; equal to |
| 92d0a6a6 JR |
3504 | .register nl . |
| 3505 | . | |
| 4d3e9548 | 3506 | .TPx |
| 92d0a6a6 JR |
3507 | .REG .ev |
| 3508 | The name or number of the current environment (string-valued). | |
| 3509 | . | |
| 4d3e9548 | 3510 | .TPx |
| 92d0a6a6 JR |
3511 | .REG .f |
| 3512 | Current font number. | |
| 3513 | . | |
| 4d3e9548 | 3514 | .TPx |
| 92d0a6a6 JR |
3515 | .REG .fam |
| 3516 | The current font family (string-valued). | |
| 3517 | . | |
| 4d3e9548 | 3518 | .TPx |
| 92d0a6a6 JR |
3519 | .REG .fn |
| 3520 | The current (internal) real font name (string-valued). | |
| 3521 | . | |
| 4d3e9548 | 3522 | .TPx |
| 92d0a6a6 JR |
3523 | .REG .fp |
| 3524 | The number of the next free font position. | |
| 3525 | . | |
| 4d3e9548 | 3526 | .TPx |
| 92d0a6a6 JR |
3527 | .REG .g |
| 3528 | Always 1 in GNU troff. | |
| 3529 | . | |
| 3530 | Macros should use it to test if running under groff. | |
| 3531 | . | |
| 4d3e9548 | 3532 | .TPx |
| 92d0a6a6 JR |
3533 | .REG .h |
| 3534 | Text base-line high-water mark on current page or diversion. | |
| 3535 | . | |
| 4d3e9548 | 3536 | .TPx |
| 92d0a6a6 JR |
3537 | .REG .H |
| 3538 | Available horizontal resolution in basic units. | |
| 3539 | . | |
| 4d3e9548 | 3540 | .TPx |
| 92d0a6a6 JR |
3541 | .REG .height |
| 3542 | The current font height as set with | |
| 3543 | .request \[rs]H . | |
| 3544 | . | |
| 4d3e9548 | 3545 | .TPx |
| 92d0a6a6 JR |
3546 | .REG .hla |
| 3547 | The current hyphenation language as set by the | |
| 4d3e9548 | 3548 | .request hla |
| 92d0a6a6 JR |
3549 | request. |
| 3550 | . | |
| 4d3e9548 | 3551 | .TPx |
| 92d0a6a6 JR |
3552 | .REG .hlc |
| 3553 | The number of immediately preceding consecutive hyphenated lines. | |
| 3554 | . | |
| 4d3e9548 | 3555 | .TPx |
| 92d0a6a6 JR |
3556 | .REG .hlm |
| 3557 | The maximum allowed number of consecutive hyphenated lines, as set by | |
| 3558 | the | |
| 3559 | .request hlm | |
| 3560 | request. | |
| 3561 | . | |
| 4d3e9548 | 3562 | .TPx |
| 92d0a6a6 JR |
3563 | .REG .hy |
| 3564 | The current hyphenation flags (as set by the | |
| 3565 | .request hy | |
| 3566 | request). | |
| 3567 | . | |
| 4d3e9548 | 3568 | .TPx |
| 92d0a6a6 JR |
3569 | .REG .hym |
| 3570 | The current hyphenation margin (as set by the | |
| 3571 | .request hym | |
| 3572 | request). | |
| 3573 | . | |
| 4d3e9548 | 3574 | .TPx |
| 92d0a6a6 JR |
3575 | .REG .hys |
| 3576 | The current hyphenation space (as set by the | |
| 3577 | .request hys | |
| 3578 | request). | |
| 3579 | . | |
| 4d3e9548 | 3580 | .TPx |
| 92d0a6a6 | 3581 | .REG .i |
| 4d3e9548 | 3582 | Current indentation. |
| 92d0a6a6 | 3583 | . |
| 4d3e9548 | 3584 | .TPx |
| 92d0a6a6 | 3585 | .REG .in |
| 4d3e9548 | 3586 | The indentation that applies to the current output line. |
| 92d0a6a6 | 3587 | . |
| 4d3e9548 | 3588 | .TPx |
| 92d0a6a6 JR |
3589 | .REG .int |
| 3590 | Positive if last output line contains | |
| 3591 | .esc c . | |
| 3592 | . | |
| 4d3e9548 | 3593 | .TPx |
| 92d0a6a6 JR |
3594 | .REG .kern |
| 3595 | 1\~if pairwise kerning is enabled, 0\~otherwise. | |
| 3596 | . | |
| 4d3e9548 | 3597 | .TPx |
| 92d0a6a6 JR |
3598 | .REG .l |
| 3599 | Current line length. | |
| 3600 | . | |
| 4d3e9548 | 3601 | .TPx |
| 92d0a6a6 JR |
3602 | .REG .lg |
| 3603 | The current ligature mode (as set by the | |
| 3604 | .request lg | |
| 3605 | request). | |
| 3606 | . | |
| 4d3e9548 | 3607 | .TPx |
| 92d0a6a6 JR |
3608 | .REG .linetabs |
| 3609 | The current line-tabs mode (as set by the | |
| 3610 | .request linetabs | |
| 3611 | request). | |
| 3612 | . | |
| 4d3e9548 | 3613 | .TPx |
| 92d0a6a6 JR |
3614 | .REG .ll |
| 3615 | The line length that applies to the current output line. | |
| 3616 | . | |
| 4d3e9548 | 3617 | .TPx |
| 92d0a6a6 JR |
3618 | .REG .lt |
| 3619 | The title length (as set by the | |
| 3620 | .request lt | |
| 3621 | request). | |
| 3622 | . | |
| 4d3e9548 | 3623 | .TPx |
| 92d0a6a6 JR |
3624 | .REG .m |
| 3625 | The current drawing color (string-valued). | |
| 3626 | . | |
| 4d3e9548 | 3627 | .TPx |
| 92d0a6a6 JR |
3628 | .REG .M |
| 3629 | The current background color (string-valued). | |
| 3630 | . | |
| 4d3e9548 | 3631 | .TPx |
| 92d0a6a6 JR |
3632 | .REG .n |
| 3633 | Length of text portion on previous output line. | |
| 3634 | . | |
| 4d3e9548 | 3635 | .TPx |
| 92d0a6a6 JR |
3636 | .REG .ne |
| 3637 | The amount of space that was needed in the last | |
| 3638 | .request ne | |
| 3639 | request that caused a trap to be sprung. | |
| 3640 | . | |
| 3641 | Useful in conjunction with | |
| 3642 | .register .trunc . | |
| 3643 | . | |
| 4d3e9548 | 3644 | .TPx |
| 92d0a6a6 JR |
3645 | .REG .ns |
| 3646 | 1\~if in no-space mode, 0\~otherwise. | |
| 3647 | . | |
| 4d3e9548 | 3648 | .TPx |
| 92d0a6a6 JR |
3649 | .REG .o |
| 3650 | Current page offset. | |
| 3651 | . | |
| 4d3e9548 | 3652 | .TPx |
| 92d0a6a6 JR |
3653 | .REG .p |
| 3654 | Current page length. | |
| 3655 | . | |
| 4d3e9548 | 3656 | .TPx |
| 92d0a6a6 JR |
3657 | .REG .pe |
| 3658 | 1\~during page ejection, 0\~otherwise. | |
| 3659 | . | |
| 4d3e9548 | 3660 | .TPx |
| 92d0a6a6 JR |
3661 | .REG .pn |
| 3662 | The number of the next page: either the value set by a | |
| 3663 | .request pn | |
| 3664 | request, or the number of the current page plus\ 1. | |
| 3665 | . | |
| 4d3e9548 | 3666 | .TPx |
| 92d0a6a6 | 3667 | .REG .ps |
| 4d3e9548 | 3668 | The current point size in scaled points. |
| 92d0a6a6 | 3669 | . |
| 4d3e9548 | 3670 | .TPx |
| 92d0a6a6 | 3671 | .REG .psr |
| 4d3e9548 | 3672 | The last-requested point size in scaled points. |
| 92d0a6a6 | 3673 | . |
| 4d3e9548 | 3674 | .TPx |
| 92d0a6a6 JR |
3675 | .REG .pvs |
| 3676 | The current post-vertical line spacing. | |
| 3677 | . | |
| 4d3e9548 | 3678 | .TPx |
| 92d0a6a6 | 3679 | .REG .rj |
| 4d3e9548 JL |
3680 | The number of lines to be right-justified as set by the |
| 3681 | .request rj | |
| 3682 | request. | |
| 92d0a6a6 | 3683 | . |
| 4d3e9548 | 3684 | .TPx |
| 92d0a6a6 JR |
3685 | .REG .s |
| 3686 | Current point size as a decimal fraction. | |
| 3687 | . | |
| 4d3e9548 | 3688 | .TPx |
| 92d0a6a6 JR |
3689 | .REG .slant |
| 3690 | The slant of the current font as set with | |
| 3691 | .request \[rs]S . | |
| 3692 | . | |
| 4d3e9548 | 3693 | .TPx |
| 92d0a6a6 | 3694 | .REG .sr |
| 4d3e9548 | 3695 | The last requested point size in points as a decimal fraction |
| 92d0a6a6 JR |
3696 | (string-valued). |
| 3697 | . | |
| 4d3e9548 | 3698 | .TPx |
| 465b256c JR |
3699 | .REG .ss |
| 3700 | The value of the parameters set by the first argument of the | |
| 3701 | .request ss | |
| 3702 | request. | |
| 3703 | . | |
| 4d3e9548 | 3704 | .TPx |
| 465b256c JR |
3705 | .REG .sss |
| 3706 | The value of the parameters set by the second argument of the | |
| 3707 | .request ss | |
| 3708 | request. | |
| 3709 | . | |
| 4d3e9548 | 3710 | .TPx |
| 465b256c JR |
3711 | .REG .sty |
| 3712 | The current font style (string-valued). | |
| 3713 | . | |
| 4d3e9548 | 3714 | .TPx |
| 92d0a6a6 | 3715 | .REG .t |
| 4d3e9548 | 3716 | Vertical distance to the next trap. |
| 92d0a6a6 | 3717 | . |
| 4d3e9548 | 3718 | .TPx |
| 92d0a6a6 JR |
3719 | .REG .T |
| 3720 | Set to\~1 | |
| 3721 | if option | |
| 4d3e9548 | 3722 | .option \-T |
| 92d0a6a6 JR |
3723 | is used. |
| 3724 | . | |
| 4d3e9548 | 3725 | .TPx |
| 92d0a6a6 JR |
3726 | .REG .tabs |
| 3727 | A string representation of the current tab settings suitable for use | |
| 3728 | as an argument to the | |
| 3729 | .request ta | |
| 3730 | request. | |
| 3731 | . | |
| 4d3e9548 | 3732 | .TPx |
| 92d0a6a6 JR |
3733 | .REG .trunc |
| 3734 | The amount of vertical space truncated by the most recently sprung | |
| 3735 | vertical position trap, or, if the trap was sprung by a | |
| 3736 | .request ne | |
| 3737 | request, minus the amount of vertical motion produced by | |
| 3738 | .request .ne . | |
| 3739 | . | |
| 92d0a6a6 | 3740 | Useful in conjunction with the |
| 465b256c | 3741 | .register .ne . |
| 92d0a6a6 | 3742 | . |
| 4d3e9548 | 3743 | .TPx |
| 92d0a6a6 | 3744 | .REG .u |
| 4d3e9548 | 3745 | Equal to 1 in fill mode and 0 in no-fill mode. |
| 92d0a6a6 | 3746 | . |
| 4d3e9548 | 3747 | .TPx |
| 92d0a6a6 JR |
3748 | .REG .U |
| 3749 | Equal to 1 in safer mode and 0 in unsafe mode. | |
| 3750 | . | |
| 4d3e9548 | 3751 | .TPx |
| 92d0a6a6 JR |
3752 | .REG .v |
| 3753 | Current vertical line spacing. | |
| 3754 | . | |
| 4d3e9548 | 3755 | .TPx |
| 92d0a6a6 JR |
3756 | .REG .V |
| 3757 | Available vertical resolution in basic units. | |
| 3758 | . | |
| 4d3e9548 | 3759 | .TPx |
| 92d0a6a6 | 3760 | .REG .vpt |
| 4d3e9548 | 3761 | 1\~if vertical position traps are enabled, 0\~otherwise. |
| 92d0a6a6 | 3762 | . |
| 4d3e9548 | 3763 | .TPx |
| 92d0a6a6 | 3764 | .REG .w |
| 4d3e9548 | 3765 | Width of previous glyph. |
| 92d0a6a6 | 3766 | . |
| 4d3e9548 | 3767 | .TPx |
| 92d0a6a6 JR |
3768 | .REG .warn |
| 3769 | The sum of the number codes of the currently enabled warnings. | |
| 3770 | . | |
| 4d3e9548 | 3771 | .TPx |
| 92d0a6a6 JR |
3772 | .REG .x |
| 3773 | The major version number. | |
| 3774 | . | |
| 4d3e9548 | 3775 | .TPx |
| 92d0a6a6 JR |
3776 | .REG .y |
| 3777 | The minor version number. | |
| 3778 | . | |
| 4d3e9548 | 3779 | .TPx |
| 92d0a6a6 JR |
3780 | .REG .Y |
| 3781 | The revision number of groff. | |
| 3782 | . | |
| 4d3e9548 | 3783 | .TPx |
| 92d0a6a6 JR |
3784 | .REG .z |
| 3785 | Name of current diversion. | |
| 4d3e9548 JL |
3786 | . |
| 3787 | .TPx | |
| 3788 | .REG .zoom | |
| 3789 | Zoom factor for current font (in multiples of 1/1000th; zero if no | |
| 3790 | magnification). | |
| 92d0a6a6 JR |
3791 | .PD |
| 3792 | . | |
| 3793 | . | |
| 3794 | .\" -------------------------------------------------------------------- | |
| 3795 | .SS "Writable Registers" | |
| 3796 | .\" -------------------------------------------------------------------- | |
| 3797 | . | |
| 3798 | The following registers can be read and written by the user. | |
| 3799 | They have predefined default values, but these can be modified for | |
| 3800 | customizing a document. | |
| 3801 | . | |
| 3802 | .P | |
| 3803 | .PD 0 | |
| 4d3e9548 | 3804 | .TPx |
| 92d0a6a6 JR |
3805 | .REG % |
| 3806 | Current page number. | |
| 3807 | . | |
| 4d3e9548 | 3808 | .TPx |
| 92d0a6a6 JR |
3809 | .REG c. |
| 3810 | Current input line number. | |
| 3811 | . | |
| 4d3e9548 | 3812 | .TPx |
| 92d0a6a6 JR |
3813 | .REG ct |
| 3814 | Character type (set by width function | |
| 3815 | .esc w ). | |
| 3816 | . | |
| 4d3e9548 | 3817 | .TPx |
| 92d0a6a6 JR |
3818 | .REG dl |
| 3819 | Maximal width of last completed diversion. | |
| 3820 | . | |
| 4d3e9548 | 3821 | .TPx |
| 92d0a6a6 JR |
3822 | .REG dn |
| 3823 | Height of last completed diversion. | |
| 3824 | . | |
| 4d3e9548 | 3825 | .TPx |
| 92d0a6a6 JR |
3826 | .REG dw |
| 3827 | Current day of week (1-7). | |
| 3828 | . | |
| 4d3e9548 | 3829 | .TPx |
| 92d0a6a6 JR |
3830 | .REG dy |
| 3831 | Current day of month (1-31). | |
| 3832 | . | |
| 4d3e9548 | 3833 | .TPx |
| 92d0a6a6 JR |
3834 | .REG hours |
| 3835 | The number of hours past midnight. | |
| 3836 | . | |
| 3837 | Initialized at start-up. | |
| 3838 | . | |
| 4d3e9548 | 3839 | .TPx |
| 92d0a6a6 JR |
3840 | .REG hp |
| 3841 | Current horizontal position at input line. | |
| 3842 | . | |
| 4d3e9548 | 3843 | .TPx |
| 92d0a6a6 JR |
3844 | .REG llx |
| 3845 | Lower left x-coordinate (in PostScript units) of a given PostScript | |
| 3846 | image (set by | |
| 3847 | .request .psbb ). | |
| 3848 | . | |
| 4d3e9548 | 3849 | .TPx |
| 92d0a6a6 JR |
3850 | .REG lly |
| 3851 | Lower left y-coordinate (in PostScript units) of a given PostScript | |
| 3852 | image (set by | |
| 3853 | .request .psbb ). | |
| 3854 | . | |
| 4d3e9548 | 3855 | .TPx |
| 92d0a6a6 JR |
3856 | .REG ln |
| 3857 | Output line number. | |
| 3858 | . | |
| 4d3e9548 | 3859 | .TPx |
| 92d0a6a6 JR |
3860 | .REG minutes |
| 3861 | The number of minutes after the hour. | |
| 3862 | . | |
| 3863 | Initialized at start-up. | |
| 3864 | . | |
| 4d3e9548 | 3865 | .TPx |
| 92d0a6a6 JR |
3866 | .REG mo |
| 3867 | Current month (1-12). | |
| 3868 | . | |
| 4d3e9548 | 3869 | .TPx |
| 92d0a6a6 JR |
3870 | .REG nl |
| 3871 | Vertical position of last printed text base-line. | |
| 3872 | . | |
| 4d3e9548 | 3873 | .TPx |
| 92d0a6a6 JR |
3874 | .REG rsb |
| 3875 | Like | |
| 3876 | .register sb , | |
| 4d3e9548 | 3877 | but takes account of the heights and depths of glyphs. |
| 92d0a6a6 | 3878 | . |
| 4d3e9548 | 3879 | .TPx |
| 92d0a6a6 JR |
3880 | .REG rst |
| 3881 | Like | |
| 3882 | .register st , | |
| 4d3e9548 | 3883 | but takes account of the heights and depths of glyphs. |
| 92d0a6a6 | 3884 | . |
| 4d3e9548 | 3885 | .TPx |
| 92d0a6a6 JR |
3886 | .REG sb |
| 3887 | Depth of string below base line (generated by width function | |
| 3888 | .esc w ). | |
| 3889 | . | |
| 4d3e9548 | 3890 | .TPx |
| 92d0a6a6 JR |
3891 | .REG seconds |
| 3892 | The number of seconds after the minute. | |
| 3893 | . | |
| 3894 | Initialized at start-up. | |
| 3895 | . | |
| 4d3e9548 | 3896 | .TPx |
| 92d0a6a6 | 3897 | .REG skw |
| 4d3e9548 | 3898 | Right skip width from the center of the last glyph in the |
| 92d0a6a6 JR |
3899 | .esc w |
| 3900 | argument. | |
| 3901 | . | |
| 4d3e9548 | 3902 | .TPx |
| 92d0a6a6 JR |
3903 | .REG slimit |
| 3904 | If greater than 0, the maximum number of objects on the input stack. | |
| 3905 | . | |
| 3906 | If \[<=]0 there is no limit, i.e., recursion can continue until virtual | |
| 3907 | memory is exhausted. | |
| 3908 | . | |
| 4d3e9548 | 3909 | .TPx |
| 92d0a6a6 JR |
3910 | .REG ssc |
| 3911 | The amount of horizontal space (possibly negative) that should be | |
| 4d3e9548 | 3912 | added to the last glyph before a subscript (generated by width |
| 92d0a6a6 JR |
3913 | function |
| 3914 | .esc w ). | |
| 3915 | . | |
| 4d3e9548 | 3916 | .TPx |
| 92d0a6a6 JR |
3917 | .REG st |
| 3918 | Height of string above base line (generated by width function | |
| 3919 | .esc w ). | |
| 3920 | . | |
| 4d3e9548 | 3921 | .TPx |
| 92d0a6a6 JR |
3922 | .REG systat |
| 3923 | The return value of the | |
| 3924 | .I system() | |
| 3925 | function executed by the last | |
| 3926 | .request sy | |
| 3927 | request. | |
| 3928 | . | |
| 4d3e9548 | 3929 | .TPx |
| 92d0a6a6 JR |
3930 | .REG urx |
| 3931 | Upper right x-coordinate (in PostScript units) of a given PostScript | |
| 3932 | image (set by | |
| 3933 | .request .psbb ). | |
| 3934 | . | |
| 4d3e9548 | 3935 | .TPx |
| 92d0a6a6 JR |
3936 | .REG ury |
| 3937 | Upper right y-coordinate (in PostScript units) of a given PostScript | |
| 3938 | image (set by | |
| 3939 | .request .psbb ). | |
| 3940 | . | |
| 4d3e9548 | 3941 | .TPx |
| 92d0a6a6 JR |
3942 | .REG year |
| 3943 | The current year (year 2000 compliant). | |
| 3944 | . | |
| 4d3e9548 | 3945 | .TPx |
| 92d0a6a6 JR |
3946 | .REG yr |
| 3947 | Current year minus 1900. | |
| 3948 | . | |
| 465b256c | 3949 | For Y2K compliance use |
| 92d0a6a6 JR |
3950 | .register year |
| 3951 | instead. | |
| 3952 | . | |
| 3953 | .PD | |
| 3954 | . | |
| 3955 | . | |
| 3956 | .\" -------------------------------------------------------------------- | |
| 3957 | .SH COMPATIBILITY | |
| 3958 | .\" -------------------------------------------------------------------- | |
| 3959 | . | |
| 3960 | The differences of the groff language in comparison to classical troff | |
| 3961 | as defined by | |
| 3962 | .I [CSTR\~#54] | |
| 3963 | are documented in | |
| 3964 | .BR groff_diff (@MAN7EXT@). | |
| 3965 | . | |
| 3966 | .P | |
| 3967 | The groff system provides a compatibility mode, see | |
| 3968 | .BR groff (@MAN1EXT@) | |
| 3969 | on how to invoke this. | |
| 3970 | . | |
| 3971 | . | |
| 3972 | .\" -------------------------------------------------------------------- | |
| 3973 | .SH BUGS | |
| 3974 | .\" -------------------------------------------------------------------- | |
| 3975 | . | |
| 3976 | Report bugs to the | |
| 4d3e9548 JL |
3977 | .MT bug-groff@gnu.org |
| 3978 | groff bug mailing list | |
| 3979 | .ME . | |
| 92d0a6a6 JR |
3980 | Include a complete, self-contained example that will allow the bug to |
| 3981 | be reproduced, and say which version of groff you are using. | |
| 3982 | . | |
| 3983 | . | |
| 3984 | .\" -------------------------------------------------------------------- | |
| 3985 | .SH AUTHORS | |
| 3986 | .\" -------------------------------------------------------------------- | |
| 3987 | . | |
| 4d3e9548 | 3988 | Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
| 465b256c | 3989 | Free Software Foundation, Inc. |
| 92d0a6a6 JR |
3990 | . |
| 3991 | .P | |
| 3992 | This document is distributed under the terms of the FDL (GNU Free | |
| 4d3e9548 | 3993 | Documentation License) version 1.3 or later. |
| 92d0a6a6 JR |
3994 | . |
| 3995 | You should have received a copy of the FDL on your system, it is also | |
| 3996 | available on-line at the | |
| 4d3e9548 JL |
3997 | .UR http://\:www.gnu.org/\:copyleft/\:fdl.html |
| 3998 | GNU copyleft site | |
| 3999 | .UE . | |
| 92d0a6a6 JR |
4000 | . |
| 4001 | .P | |
| 4002 | This document is part of | |
| 4003 | .IR groff , | |
| 4004 | the GNU roff distribution. | |
| 4005 | . | |
| 4006 | It was written by | |
| 4d3e9548 JL |
4007 | .MT bwarken@mayn.de |
| 4008 | Bernd Warken | |
| 4009 | .ME ; | |
| 92d0a6a6 | 4010 | it is maintained by |
| 4d3e9548 JL |
4011 | .MT wl@gnu.org |
| 4012 | Werner Lemberg | |
| 4013 | .ME . | |
| 92d0a6a6 JR |
4014 | . |
| 4015 | . | |
| 4016 | .\" -------------------------------------------------------------------- | |
| 4017 | .SH "SEE ALSO" | |
| 4018 | .\" -------------------------------------------------------------------- | |
| 4019 | . | |
| 4020 | .P | |
| 4021 | The main source of information for the groff language is the | |
| 4022 | .B groff | |
| 4023 | .BR info (1) | |
| 4024 | file. | |
| 4025 | . | |
| 4026 | Besides the gory details, it contains many examples. | |
| 4027 | . | |
| 4028 | .TP | |
| 4029 | .BR groff (@MAN1EXT@) | |
| 4030 | the usage of the groff program and pointers to the documentation and | |
| 4031 | availability of the groff system. | |
| 4032 | . | |
| 4033 | .TP | |
| 4034 | .BR groff_diff (@MAN7EXT@) | |
| 4035 | the differences of the groff language as compared to classical roff. | |
| 4036 | . | |
| 4037 | This is the authoritative document for the predefined language | |
| 4038 | elements that are specific to groff. | |
| 4039 | . | |
| 4040 | .TP | |
| 4041 | .BR groff_char (@MAN7EXT@) | |
| 4d3e9548 | 4042 | the predefined groff special characters (glyphs). |
| 92d0a6a6 JR |
4043 | . |
| 4044 | .TP | |
| 4045 | .BR groff_font (@MAN5EXT@) | |
| 4046 | the specification of fonts and the DESC file. | |
| 4047 | . | |
| 4048 | .TP | |
| 4049 | .BR roff (@MAN7EXT@) | |
| 4050 | the history of roff, the common parts shared by all roff systems, and | |
| 4051 | pointers to further documentation. | |
| 4052 | . | |
| 4053 | .TP | |
| 4054 | .I [CSTR\~#54] | |
| 4d3e9548 JL |
4055 | .UR http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr/\:54.ps.gz |
| 4056 | Nroff/\:Troff User's Manual by Ossanna & Kernighan | |
| 4057 | .UE | |
| 92d0a6a6 JR |
4058 | \[em] the bible for classical troff. |
| 4059 | . | |
| 4060 | .cp \n[groff_C] | |
| 4061 | . | |
| 4062 | .\" -------------------------------------------------------------------- | |
| 4063 | .\" Emacs Setup | |
| 4064 | .\" -------------------------------------------------------------------- | |
| 4065 | . | |
| 4066 | .\" Local Variables: | |
| 4067 | .\" mode: nroff | |
| 4068 | .\" End: |