1 .\"     $Id: mandoc_char.7,v 1.67 2017/06/14 20:57:07 schwarze Exp $
   2 .\"
   3 .\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org>
   4 .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
   5 .\" Copyright (c) 2011, 2013, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
   6 .\"
   7 .\" Permission to use, copy, modify, and distribute this software for any
   8 .\" purpose with or without fee is hereby granted, provided that the above
   9 .\" copyright notice and this permission notice appear in all copies.
  10 .\"
  11 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  12 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  13 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  14 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  15 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  16 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  17 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  18 .\"
  19 .Dd $Mdocdate: June 14 2017 $
  20 .Dt MANDOC_CHAR 5
  21 .Os
  22 .Sh NAME
  23 .Nm mandoc_char
  24 .Nd mandoc special characters
  25 .Sh DESCRIPTION
  26 This page documents the
  27 .Xr mandoc_roff 5
  28 escape sequences accepted by
  29 .Xr mandoc 1
  30 to represent special characters in
  31 .Xr mdoc 5
  32 and
  33 .Xr man 5
  34 documents.
  35 .Pp
  36 The rendering depends on the
  37 .Xr mandoc 1
  38 output mode; in ASCII output, most characters are completely
  39 unintelligible.
  40 For that reason, using any of the special characters documented here,
  41 except those discussed in the
  42 .Sx DESCRIPTION ,
  43 is strongly discouraged; they are supported merely for backwards
  44 compatibility with existing documents.
  45 .Pp
  46 In particular, in English manual pages, do not use special-character
  47 escape sequences to represent national language characters in author
  48 names; instead, provide ASCII transcriptions of the names.
  49 .Ss Dashes and Hyphens
  50 In typography there are different types of dashes of various width:
  51 the hyphen (-),
  52 the minus sign (\(mi),
  53 the en-dash (\(en),
  54 and the em-dash (\(em).
  55 .Pp
  56 Hyphens are used for adjectives;
  57 to separate the two parts of a compound word;
  58 or to separate a word across two successive lines of text.
  59 The hyphen does not need to be escaped:
  60 .Bd -unfilled -offset indent
  61 blue-eyed
  62 lorry-driver
  63 .Ed
  64 .Pp
  65 If a word on a text input line contains a hyphen, a formatter may decide
  66 to insert an output line break after the hyphen if that helps filling
  67 the current output line, but the whole word would overflow the line.
  68 If it is important that the word is not broken across lines in this
  69 way, a zero-width space
  70 .Pq Sq \e&
  71 can be inserted before or after the hyphen.
  72 While
  73 .Xr mandoc 1
  74 never breaks the output line after hyphens adjacent to a zero-width
  75 space, after any of the other dash- or hyphen-like characters
  76 represented by escape sequences, or after hyphens inside words in
  77 macro arguments, other software may not respect these rules and may
  78 break the line even in such cases.
  79 .Pp
  80 Some
  81 .Xr mandoc_roff 5
  82 implementations contains dictionaries allowing to break the line
  83 at syllable boundaries even inside words that contain no hyphens.
  84 Such automatic hyphenation is not supported by
  85 .Xr mandoc 1 ,
  86 which only breaks the line at whitespace, and inside words only
  87 after existing hyphens.
  88 .Pp
  89 The mathematical minus sign is used for negative numbers or subtraction.
  90 It should be written as
  91 .Sq \e(mi :
  92 .Bd -unfilled -offset indent
  93 a = 3 \e(mi 1;
  94 b = \e(mi2;
  95 .Ed
  96 .Pp
  97 The en-dash is used to separate the two elements of a range,
  98 or can be used the same way as an em-dash.
  99 It should be written as
 100 .Sq \e(en :
 101 .Bd -unfilled -offset indent
 102 pp. 95\e(en97.
 103 Go away \e(en or else!
 104 .Ed
 105 .Pp
 106 The em-dash can be used to show an interruption
 107 or can be used the same way as colons, semi-colons, or parentheses.
 108 It should be written as
 109 .Sq \e(em :
 110 .Bd -unfilled -offset indent
 111 Three things \e(em apples, oranges, and bananas.
 112 This is not that \e(em rather, this is that.
 113 .Ed
 114 .Pp
 115 Note:
 116 hyphens, minus signs, and en-dashes look identical under normal ASCII output.
 117 Other formats, such as PostScript, render them correctly,
 118 with differing widths.
 119 .Ss Spaces
 120 To separate words in normal text, for indenting and alignment
 121 in literal context, and when none of the following special cases apply,
 122 just use the normal space character
 123 .Pq Sq \  .
 124 .Pp
 125 When filling text, output lines may be broken between words, i.e. at space
 126 characters.
 127 To prevent a line break between two particular words,
 128 use the unpaddable non-breaking space escape sequence
 129 .Pq Sq \e\ \&
 130 instead of the normal space character.
 131 For example, the input string
 132 .Dq number\e\ 1
 133 will be kept together as
 134 .Dq number\ 1
 135 on the same output line.
 136 .Pp
 137 On request and macro lines, the normal space character serves as an
 138 argument delimiter.
 139 To include whitespace into arguments, quoting is usually the best choice;
 140 see the MACRO SYNTAX section in
 141 .Xr mandoc_roff 5 .
 142 In some cases, using the non-breaking space escape sequence
 143 .Pq Sq \e\ \&
 144 may be preferable.
 145 .Pp
 146 To escape macro names and to protect whitespace at the end
 147 of input lines, the zero-width space
 148 .Pq Sq \e&
 149 is often useful.
 150 For example, in
 151 .Xr mdoc 5 ,
 152 a normal space character can be displayed in single quotes in either
 153 of the following ways:
 154 .Pp
 155 .Dl .Sq \(dq \(dq
 156 .Dl .Sq \e \e&
 157 .Ss Quotes
 158 On request and macro lines, the double-quote character
 159 .Pq Sq \(dq
 160 is handled specially to allow quoting.
 161 One way to prevent this special handling is by using the
 162 .Sq \e(dq
 163 escape sequence.
 164 .Pp
 165 Note that on text lines, literal double-quote characters can be used
 166 verbatim.
 167 All other quote-like characters can be used verbatim as well,
 168 even on request and macro lines.
 169 .Ss Accents
 170 In output modes supporting such special output characters, for example
 171 .Fl T Cm pdf ,
 172 and sometimes less consistently in
 173 .Fl T Cm utf8 ,
 174 some
 175 .Xr mandoc_roff 5
 176 formatters convert the following ASCII input characters to the
 177 following Unicode special output characters:
 178 .Bl -column x(ga U+2018 -offset indent
 179 .It \(ga Ta U+2018 Ta left single quotation mark
 180 .It \(aq Ta U+2019 Ta right single quotation mark
 181 .It \(ti Ta U+02DC Ta small tilde
 182 .It \(ha Ta U+02C6 Ta modifier letter circumflex
 183 .El
 184 .Pp
 185 In prose, this automatic substitution is often desirable;
 186 but when these characters have to be displayed as plain ASCII
 187 characters, for example in source code samples, they require
 188 escaping to render as follows:
 189 .Bl -column x(ga U+2018 -offset indent
 190 .It \e(ga Ta U+0060 Ta grave accent
 191 .It \e(aq Ta U+0027 Ta apostrophe
 192 .It \e(ti Ta U+007E Ta tilde
 193 .It \e(ha Ta U+005E Ta circumflex accent
 194 .El
 195 .Ss Periods
 196 The period
 197 .Pq Sq \&.
 198 is handled specially at the beginning of an input line,
 199 where it introduces a
 200 .Xr mandoc_roff 5
 201 request or a macro, and when appearing alone as a macro argument in
 202 .Xr mdoc 5 .
 203 In such situations, prepend a zero-width space
 204 .Pq Sq \e&.
 205 to make it behave like normal text.
 206 .Pp
 207 Do not use the
 208 .Sq \e.
 209 escape sequence.
 210 It does not prevent special handling of the period.
 211 .Ss Backslashes
 212 To include a literal backslash
 213 .Pq Sq \e
 214 into the output, use the
 215 .Pq Sq \ee
 216 escape sequence.
 217 .Pp
 218 Note that doubling it
 219 .Pq Sq \e\e
 220 is not the right way to output a backslash.
 221 Because
 222 .Xr mandoc 1
 223 does not implement full
 224 .Xr mandoc_roff 5
 225 functionality, it may work with
 226 .Xr mandoc 1 ,
 227 but it may have weird effects on complete
 228 .Xr mandoc_roff 5
 229 implementations.
 230 .Sh SPECIAL CHARACTERS
 231 Special characters are encoded as
 232 .Sq \eX
 233 .Pq for a one-character escape ,
 234 .Sq \e(XX
 235 .Pq two-character ,
 236 and
 237 .Sq \e[N]
 238 .Pq N-character .
 239 For details, see the
 240 .Em Special Characters
 241 subsection of the
 242 .Xr mandoc_roff 5
 243 manual.
 244 .Pp
 245 Spacing:
 246 .Bl -column "Input" "Description" -offset indent -compact
 247 .It Em Input Ta Em Description
 248 .It Sq \e\ \& Ta unpaddable non-breaking space
 249 .It \e\(ti   Ta paddable non-breaking space
 250 .It \e0      Ta unpaddable, breaking digit-width space
 251 .It \e|      Ta one-sixth \e(em narrow space, zero width in nroff mode
 252 .It \e^      Ta one-twelfth \e(em half-narrow space, zero width in nroff
 253 .It \e&      Ta zero-width space
 254 .It \e%      Ta zero-width space allowing hyphenation
 255 .El
 256 .Pp
 257 Lines:
 258 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 259 .It Em Input Ta Em Rendered Ta Em Description
 260 .It \e(ba    Ta \(ba        Ta bar
 261 .It \e(br    Ta \(br        Ta box rule
 262 .It \e(ul    Ta \(ul        Ta underscore
 263 .It \e(ru    Ta \(ru        Ta underscore (width 0.5m)
 264 .It \e(rn    Ta \(rn        Ta overline
 265 .It \e(bb    Ta \(bb        Ta broken bar
 266 .It \e(sl    Ta \(sl        Ta forward slash
 267 .It \e(rs    Ta \(rs        Ta backward slash
 268 .El
 269 .Pp
 270 Text markers:
 271 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 272 .It Em Input Ta Em Rendered Ta Em Description
 273 .It \e(ci    Ta \(ci        Ta circle
 274 .It \e(bu    Ta \(bu        Ta bullet
 275 .It \e(dd    Ta \(dd        Ta double dagger
 276 .It \e(dg    Ta \(dg        Ta dagger
 277 .It \e(lz    Ta \(lz        Ta lozenge
 278 .It \e(sq    Ta \(sq        Ta white square
 279 .It \e(ps    Ta \(ps        Ta paragraph
 280 .It \e(sc    Ta \(sc        Ta section
 281 .It \e(lh    Ta \(lh        Ta left hand
 282 .It \e(rh    Ta \(rh        Ta right hand
 283 .It \e(at    Ta \(at        Ta at
 284 .It \e(sh    Ta \(sh        Ta hash (pound)
 285 .It \e(CR    Ta \(CR        Ta carriage return
 286 .It \e(OK    Ta \(OK        Ta check mark
 287 .It \e(CL    Ta \(CL        Ta club suit
 288 .It \e(SP    Ta \(SP        Ta spade suit
 289 .It \e(HE    Ta \(HE        Ta heart suit
 290 .It \e(DI    Ta \(DI        Ta diamond suit
 291 .El
 292 .Pp
 293 Legal symbols:
 294 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 295 .It Em Input Ta Em Rendered Ta Em Description
 296 .It \e(co    Ta \(co        Ta copyright
 297 .It \e(rg    Ta \(rg        Ta registered
 298 .It \e(tm    Ta \(tm        Ta trademarked
 299 .El
 300 .Pp
 301 Punctuation:
 302 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 303 .It Em Input Ta Em Rendered Ta Em Description
 304 .It \e(em    Ta \(em        Ta em-dash
 305 .It \e(en    Ta \(en        Ta en-dash
 306 .It \e(hy    Ta \(hy        Ta hyphen
 307 .It \ee      Ta \e          Ta back-slash
 308 .It \e.      Ta \.          Ta period
 309 .It \e(r!    Ta \(r!        Ta upside-down exclamation
 310 .It \e(r?    Ta \(r?        Ta upside-down question
 311 .El
 312 .Pp
 313 Quotes:
 314 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 315 .It Em Input Ta Em Rendered Ta Em Description
 316 .It \e(Bq    Ta \(Bq        Ta right low double-quote
 317 .It \e(bq    Ta \(bq        Ta right low single-quote
 318 .It \e(lq    Ta \(lq        Ta left double-quote
 319 .It \e(rq    Ta \(rq        Ta right double-quote
 320 .It \e(oq    Ta \(oq        Ta left single-quote
 321 .It \e(cq    Ta \(cq        Ta right single-quote
 322 .It \e(aq    Ta \(aq        Ta apostrophe quote (text)
 323 .It \e(dq    Ta \(dq        Ta double quote (text)
 324 .It \e(Fo    Ta \(Fo        Ta left guillemet
 325 .It \e(Fc    Ta \(Fc        Ta right guillemet
 326 .It \e(fo    Ta \(fo        Ta left single guillemet
 327 .It \e(fc    Ta \(fc        Ta right single guillemet
 328 .El
 329 .Pp
 330 Brackets:
 331 .Bl -column "xxbracketrightbtx" Rendered Description -offset indent -compact
 332 .It Em Input Ta Em Rendered Ta Em Description
 333 .It \e(lB    Ta \(lB        Ta left bracket
 334 .It \e(rB    Ta \(rB        Ta right bracket
 335 .It \e(lC    Ta \(lC        Ta left brace
 336 .It \e(rC    Ta \(rC        Ta right brace
 337 .It \e(la    Ta \(la        Ta left angle
 338 .It \e(ra    Ta \(ra        Ta right angle
 339 .It \e(bv    Ta \(bv        Ta brace extension
 340 .It \e[braceex] Ta \[braceex] Ta brace extension
 341 .It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket
 342 .It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket
 343 .It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension
 344 .It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket
 345 .It \e[bracketrightbt] Ta \[bracketrightbt] Ta bottom-right hooked bracket
 346 .It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension
 347 .It \e(lt    Ta \(lt        Ta top-left hooked brace
 348 .It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace
 349 .It \e(lk    Ta \(lk        Ta mid-left hooked brace
 350 .It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace
 351 .It \e(lb    Ta \(lb        Ta bottom-left hooked brace
 352 .It \e[braceleftbt] Ta \[braceleftbt] Ta bottom-left hooked brace
 353 .It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension
 354 .It \e(rt    Ta \(rt        Ta top-left hooked brace
 355 .It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace
 356 .It \e(rk    Ta \(rk        Ta mid-right hooked brace
 357 .It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace
 358 .It \e(rb    Ta \(rb        Ta bottom-right hooked brace
 359 .It \e[bracerightbt] Ta \[bracerightbt] Ta bottom-right hooked brace
 360 .It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension
 361 .It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis
 362 .It \e[parenleftbt] Ta \[parenleftbt] Ta bottom-left hooked parenthesis
 363 .It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension
 364 .It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis
 365 .It \e[parenrightbt] Ta \[parenrightbt] Ta bottom-right hooked parenthesis
 366 .It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension
 367 .El
 368 .Pp
 369 Arrows:
 370 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 371 .It Em Input Ta Em Rendered Ta Em Description
 372 .It \e(<-    Ta \(<-        Ta left arrow
 373 .It \e(->    Ta \(->        Ta right arrow
 374 .It \e(<>    Ta \(<>        Ta left-right arrow
 375 .It \e(da    Ta \(da        Ta down arrow
 376 .It \e(ua    Ta \(ua        Ta up arrow
 377 .It \e(va    Ta \(va        Ta up-down arrow
 378 .It \e(lA    Ta \(lA        Ta left double-arrow
 379 .It \e(rA    Ta \(rA        Ta right double-arrow
 380 .It \e(hA    Ta \(hA        Ta left-right double-arrow
 381 .It \e(uA    Ta \(uA        Ta up double-arrow
 382 .It \e(dA    Ta \(dA        Ta down double-arrow
 383 .It \e(vA    Ta \(vA        Ta up-down double-arrow
 384 .It \e(an    Ta \(an        Ta horizontal arrow extension
 385 .El
 386 .Pp
 387 Logical:
 388 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 389 .It Em Input Ta Em Rendered Ta Em Description
 390 .It \e(AN    Ta \(AN        Ta logical and
 391 .It \e(OR    Ta \(OR        Ta logical or
 392 .It \e(no    Ta \(no        Ta logical not
 393 .It \e[tno]  Ta \[tno]      Ta logical not (text)
 394 .It \e(te    Ta \(te        Ta existential quantifier
 395 .It \e(fa    Ta \(fa        Ta universal quantifier
 396 .It \e(st    Ta \(st        Ta such that
 397 .It \e(tf    Ta \(tf        Ta therefore
 398 .It \e(3d    Ta \(3d        Ta therefore
 399 .It \e(or    Ta \(or        Ta bitwise or
 400 .El
 401 .Pp
 402 Mathematical:
 403 .Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact
 404 .It Em Input Ta Em Rendered Ta Em Description
 405 .It \e(pl    Ta \(pl        Ta plus
 406 .It \e(mi    Ta \(mi        Ta minus
 407 .It \e-      Ta \-          Ta minus (text)
 408 .It \e(-+    Ta \(-+        Ta minus-plus
 409 .It \e(+-    Ta \(+-        Ta plus-minus
 410 .It \e[t+-]  Ta \[t+-]      Ta plus-minus (text)
 411 .It \e(pc    Ta \(pc        Ta center-dot
 412 .It \e(mu    Ta \(mu        Ta multiply
 413 .It \e[tmu]  Ta \[tmu]      Ta multiply (text)
 414 .It \e(c*    Ta \(c*        Ta circle-multiply
 415 .It \e(c+    Ta \(c+        Ta circle-plus
 416 .It \e(di    Ta \(di        Ta divide
 417 .It \e[tdi]  Ta \[tdi]      Ta divide (text)
 418 .It \e(f/    Ta \(f/        Ta fraction
 419 .It \e(**    Ta \(**        Ta asterisk
 420 .It \e(<=    Ta \(<=        Ta less-than-equal
 421 .It \e(>=    Ta \(>=        Ta greater-than-equal
 422 .It \e(<<    Ta \(<<        Ta much less
 423 .It \e(>>    Ta \(>>        Ta much greater
 424 .It \e(eq    Ta \(eq        Ta equal
 425 .It \e(!=    Ta \(!=        Ta not equal
 426 .It \e(==    Ta \(==        Ta equivalent
 427 .It \e(ne    Ta \(ne        Ta not equivalent
 428 .It \e(ap    Ta \(ap        Ta tilde operator
 429 .It \e(|=    Ta \(|=        Ta asymptotically equal
 430 .It \e(=\(ti Ta \(=~        Ta approximately equal
 431 .It \e(\(ti\(ti Ta \(~~        Ta almost equal
 432 .It \e(\(ti= Ta \(~=        Ta almost equal
 433 .It \e(pt    Ta \(pt        Ta proportionate
 434 .It \e(es    Ta \(es        Ta empty set
 435 .It \e(mo    Ta \(mo        Ta element
 436 .It \e(nm    Ta \(nm        Ta not element
 437 .It \e(sb    Ta \(sb        Ta proper subset
 438 .It \e(nb    Ta \(nb        Ta not subset
 439 .It \e(sp    Ta \(sp        Ta proper superset
 440 .It \e(nc    Ta \(nc        Ta not superset
 441 .It \e(ib    Ta \(ib        Ta reflexive subset
 442 .It \e(ip    Ta \(ip        Ta reflexive superset
 443 .It \e(ca    Ta \(ca        Ta intersection
 444 .It \e(cu    Ta \(cu        Ta union
 445 .It \e(/_    Ta \(/_        Ta angle
 446 .It \e(pp    Ta \(pp        Ta perpendicular
 447 .It \e(is    Ta \(is        Ta integral
 448 .It \e[integral] Ta \[integral] Ta integral
 449 .It \e[sum]    Ta \[sum]   Ta summation
 450 .It \e[product] Ta \[product] Ta product
 451 .It \e[coproduct] Ta \[coproduct] Ta coproduct
 452 .It \e(gr    Ta \(gr        Ta gradient
 453 .It \e(sr    Ta \(sr        Ta square root
 454 .It \e[sqrt] Ta \[sqrt]     Ta square root
 455 .It \e(lc    Ta \(lc        Ta left-ceiling
 456 .It \e(rc    Ta \(rc        Ta right-ceiling
 457 .It \e(lf    Ta \(lf        Ta left-floor
 458 .It \e(rf    Ta \(rf        Ta right-floor
 459 .It \e(if    Ta \(if        Ta infinity
 460 .It \e(Ah    Ta \(Ah        Ta aleph
 461 .It \e(Im    Ta \(Im        Ta imaginary
 462 .It \e(Re    Ta \(Re        Ta real
 463 .It \e(wp    Ta \(wp        Ta Weierstrass p
 464 .It \e(pd    Ta \(pd        Ta partial differential
 465 .It \e(-h    Ta \(-h        Ta Planck constant over 2\(*p
 466 .It \e[hbar] Ta \[hbar]     Ta Planck constant over 2\(*p
 467 .It \e(12    Ta \(12        Ta one-half
 468 .It \e(14    Ta \(14        Ta one-fourth
 469 .It \e(34    Ta \(34        Ta three-fourths
 470 .It \e(18    Ta \(18        Ta one-eighth
 471 .It \e(38    Ta \(38        Ta three-eighths
 472 .It \e(58    Ta \(58        Ta five-eighths
 473 .It \e(78    Ta \(78        Ta seven-eighths
 474 .It \e(S1    Ta \(S1        Ta superscript 1
 475 .It \e(S2    Ta \(S2        Ta superscript 2
 476 .It \e(S3    Ta \(S3        Ta superscript 3
 477 .El
 478 .Pp
 479 Ligatures:
 480 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 481 .It Em Input Ta Em Rendered Ta Em Description
 482 .It \e(ff    Ta \(ff        Ta ff ligature
 483 .It \e(fi    Ta \(fi        Ta fi ligature
 484 .It \e(fl    Ta \(fl        Ta fl ligature
 485 .It \e(Fi    Ta \(Fi        Ta ffi ligature
 486 .It \e(Fl    Ta \(Fl        Ta ffl ligature
 487 .It \e(AE    Ta \(AE        Ta AE
 488 .It \e(ae    Ta \(ae        Ta ae
 489 .It \e(OE    Ta \(OE        Ta OE
 490 .It \e(oe    Ta \(oe        Ta oe
 491 .It \e(ss    Ta \(ss        Ta German eszett
 492 .It \e(IJ    Ta \(IJ        Ta IJ ligature
 493 .It \e(ij    Ta \(ij        Ta ij ligature
 494 .El
 495 .Pp
 496 Accents:
 497 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 498 .It Em Input Ta Em Rendered Ta Em Description
 499 .It \e(a"    Ta \(a"        Ta Hungarian umlaut
 500 .It \e(a-    Ta \(a-        Ta macron
 501 .It \e(a.    Ta \(a.        Ta dotted
 502 .It \e(a^    Ta \(a^        Ta circumflex
 503 .It \e(aa    Ta \(aa        Ta acute
 504 .It \e\(aq   Ta \'          Ta acute
 505 .It \e(ga    Ta \(ga        Ta grave
 506 .It \e\(ga   Ta \`          Ta grave
 507 .It \e(ab    Ta \(ab        Ta breve
 508 .It \e(ac    Ta \(ac        Ta cedilla
 509 .It \e(ad    Ta \(ad        Ta dieresis
 510 .It \e(ah    Ta \(ah        Ta caron
 511 .It \e(ao    Ta \(ao        Ta ring
 512 .It \e(a\(ti Ta \(a~        Ta tilde
 513 .It \e(ho    Ta \(ho        Ta ogonek
 514 .It \e(ha    Ta \(ha        Ta hat (text)
 515 .It \e(ti    Ta \(ti        Ta tilde (text)
 516 .El
 517 .Pp
 518 Accented letters:
 519 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 520 .It Em Input Ta Em Rendered Ta Em Description
 521 .It \e(\(aqA Ta \('A        Ta acute A
 522 .It \e(\(aqE Ta \('E        Ta acute E
 523 .It \e(\(aqI Ta \('I        Ta acute I
 524 .It \e(\(aqO Ta \('O        Ta acute O
 525 .It \e(\(aqU Ta \('U        Ta acute U
 526 .It \e(\(aqa Ta \('a        Ta acute a
 527 .It \e(\(aqe Ta \('e        Ta acute e
 528 .It \e(\(aqi Ta \('i        Ta acute i
 529 .It \e(\(aqo Ta \('o        Ta acute o
 530 .It \e(\(aqu Ta \('u        Ta acute u
 531 .It \e(\(gaA Ta \(`A        Ta grave A
 532 .It \e(\(gaE Ta \(`E        Ta grave E
 533 .It \e(\(gaI Ta \(`I        Ta grave I
 534 .It \e(\(gaO Ta \(`O        Ta grave O
 535 .It \e(\(gaU Ta \(`U        Ta grave U
 536 .It \e(\(gaa Ta \(`a        Ta grave a
 537 .It \e(\(gae Ta \(`e        Ta grave e
 538 .It \e(\(gai Ta \(`i        Ta grave i
 539 .It \e(\(gao Ta \(`i        Ta grave o
 540 .It \e(\(gau Ta \(`u        Ta grave u
 541 .It \e(\(tiA Ta \(~A        Ta tilde A
 542 .It \e(\(tiN Ta \(~N        Ta tilde N
 543 .It \e(\(tiO Ta \(~O        Ta tilde O
 544 .It \e(\(tia Ta \(~a        Ta tilde a
 545 .It \e(\(tin Ta \(~n        Ta tilde n
 546 .It \e(\(tio Ta \(~o        Ta tilde o
 547 .It \e(:A    Ta \(:A        Ta dieresis A
 548 .It \e(:E    Ta \(:E        Ta dieresis E
 549 .It \e(:I    Ta \(:I        Ta dieresis I
 550 .It \e(:O    Ta \(:O        Ta dieresis O
 551 .It \e(:U    Ta \(:U        Ta dieresis U
 552 .It \e(:a    Ta \(:a        Ta dieresis a
 553 .It \e(:e    Ta \(:e        Ta dieresis e
 554 .It \e(:i    Ta \(:i        Ta dieresis i
 555 .It \e(:o    Ta \(:o        Ta dieresis o
 556 .It \e(:u    Ta \(:u        Ta dieresis u
 557 .It \e(:y    Ta \(:y        Ta dieresis y
 558 .It \e(^A    Ta \(^A        Ta circumflex A
 559 .It \e(^E    Ta \(^E        Ta circumflex E
 560 .It \e(^I    Ta \(^I        Ta circumflex I
 561 .It \e(^O    Ta \(^O        Ta circumflex O
 562 .It \e(^U    Ta \(^U        Ta circumflex U
 563 .It \e(^a    Ta \(^a        Ta circumflex a
 564 .It \e(^e    Ta \(^e        Ta circumflex e
 565 .It \e(^i    Ta \(^i        Ta circumflex i
 566 .It \e(^o    Ta \(^o        Ta circumflex o
 567 .It \e(^u    Ta \(^u        Ta circumflex u
 568 .It \e(,C    Ta \(,C        Ta cedilla C
 569 .It \e(,c    Ta \(,c        Ta cedilla c
 570 .It \e(/L    Ta \(/L        Ta stroke L
 571 .It \e(/l    Ta \(/l        Ta stroke l
 572 .It \e(/O    Ta \(/O        Ta stroke O
 573 .It \e(/o    Ta \(/o        Ta stroke o
 574 .It \e(oA    Ta \(oA        Ta ring A
 575 .It \e(oa    Ta \(oa        Ta ring a
 576 .El
 577 .Pp
 578 Special letters:
 579 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 580 .It Em Input Ta Em Rendered Ta Em Description
 581 .It \e(-D    Ta \(-D        Ta Eth
 582 .It \e(Sd    Ta \(Sd        Ta eth
 583 .It \e(TP    Ta \(TP        Ta Thorn
 584 .It \e(Tp    Ta \(Tp        Ta thorn
 585 .It \e(.i    Ta \(.i        Ta dotless i
 586 .It \e(.j    Ta \(.j        Ta dotless j
 587 .El
 588 .Pp
 589 Currency:
 590 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 591 .It Em Input Ta Em Rendered Ta Em Description
 592 .It \e(Do    Ta \(Do        Ta dollar
 593 .It \e(ct    Ta \(ct        Ta cent
 594 .It \e(Eu    Ta \(Eu        Ta Euro symbol
 595 .It \e(eu    Ta \(eu        Ta Euro symbol
 596 .It \e(Ye    Ta \(Ye        Ta yen
 597 .It \e(Po    Ta \(Po        Ta pound
 598 .It \e(Cs    Ta \(Cs        Ta Scandinavian
 599 .It \e(Fn    Ta \(Fn        Ta florin
 600 .El
 601 .Pp
 602 Units:
 603 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 604 .It Em Input Ta Em Rendered Ta Em Description
 605 .It \e(de    Ta \(de        Ta degree
 606 .It \e(%0    Ta \(%0        Ta per-thousand
 607 .It \e(fm    Ta \(fm        Ta minute
 608 .It \e(sd    Ta \(sd        Ta second
 609 .It \e(mc    Ta \(mc        Ta micro
 610 .It \e(Of    Ta \(Of        Ta Spanish female ordinal
 611 .It \e(Om    Ta \(Om        Ta Spanish masculine ordinal
 612 .El
 613 .Pp
 614 Greek letters:
 615 .Bl -column "Input" "Rendered" "Description" -offset indent -compact
 616 .It Em Input Ta Em Rendered Ta Em Description
 617 .It \e(*A    Ta \(*A        Ta Alpha
 618 .It \e(*B    Ta \(*B        Ta Beta
 619 .It \e(*G    Ta \(*G        Ta Gamma
 620 .It \e(*D    Ta \(*D        Ta Delta
 621 .It \e(*E    Ta \(*E        Ta Epsilon
 622 .It \e(*Z    Ta \(*Z        Ta Zeta
 623 .It \e(*Y    Ta \(*Y        Ta Eta
 624 .It \e(*H    Ta \(*H        Ta Theta
 625 .It \e(*I    Ta \(*I        Ta Iota
 626 .It \e(*K    Ta \(*K        Ta Kappa
 627 .It \e(*L    Ta \(*L        Ta Lambda
 628 .It \e(*M    Ta \(*M        Ta Mu
 629 .It \e(*N    Ta \(*N        Ta Nu
 630 .It \e(*C    Ta \(*C        Ta Xi
 631 .It \e(*O    Ta \(*O        Ta Omicron
 632 .It \e(*P    Ta \(*P        Ta Pi
 633 .It \e(*R    Ta \(*R        Ta Rho
 634 .It \e(*S    Ta \(*S        Ta Sigma
 635 .It \e(*T    Ta \(*T        Ta Tau
 636 .It \e(*U    Ta \(*U        Ta Upsilon
 637 .It \e(*F    Ta \(*F        Ta Phi
 638 .It \e(*X    Ta \(*X        Ta Chi
 639 .It \e(*Q    Ta \(*Q        Ta Psi
 640 .It \e(*W    Ta \(*W        Ta Omega
 641 .It \e(*a    Ta \(*a        Ta alpha
 642 .It \e(*b    Ta \(*b        Ta beta
 643 .It \e(*g    Ta \(*g        Ta gamma
 644 .It \e(*d    Ta \(*d        Ta delta
 645 .It \e(*e    Ta \(*e        Ta epsilon
 646 .It \e(*z    Ta \(*z        Ta zeta
 647 .It \e(*y    Ta \(*y        Ta eta
 648 .It \e(*h    Ta \(*h        Ta theta
 649 .It \e(*i    Ta \(*i        Ta iota
 650 .It \e(*k    Ta \(*k        Ta kappa
 651 .It \e(*l    Ta \(*l        Ta lambda
 652 .It \e(*m    Ta \(*m        Ta mu
 653 .It \e(*n    Ta \(*n        Ta nu
 654 .It \e(*c    Ta \(*c        Ta xi
 655 .It \e(*o    Ta \(*o        Ta omicron
 656 .It \e(*p    Ta \(*p        Ta pi
 657 .It \e(*r    Ta \(*r        Ta rho
 658 .It \e(*s    Ta \(*s        Ta sigma
 659 .It \e(*t    Ta \(*t        Ta tau
 660 .It \e(*u    Ta \(*u        Ta upsilon
 661 .It \e(*f    Ta \(*f        Ta phi
 662 .It \e(*x    Ta \(*x        Ta chi
 663 .It \e(*q    Ta \(*q        Ta psi
 664 .It \e(*w    Ta \(*w        Ta omega
 665 .It \e(+h    Ta \(+h        Ta theta variant
 666 .It \e(+f    Ta \(+f        Ta phi variant
 667 .It \e(+p    Ta \(+p        Ta pi variant
 668 .It \e(+e    Ta \(+e        Ta epsilon variant
 669 .It \e(ts    Ta \(ts        Ta sigma terminal
 670 .El
 671 .Sh PREDEFINED STRINGS
 672 Predefined strings are inherited from the macro packages of historical
 673 troff implementations.
 674 They are
 675 .Em not recommended
 676 for use, as they differ across implementations.
 677 Manuals using these predefined strings are almost certainly not
 678 portable.
 679 .Pp
 680 Their syntax is similar to special characters, using
 681 .Sq \e*X
 682 .Pq for a one-character escape ,
 683 .Sq \e*(XX
 684 .Pq two-character ,
 685 and
 686 .Sq \e*[N]
 687 .Pq N-character .
 688 For details, see the
 689 .Em Predefined Strings
 690 subsection of the
 691 .Xr mandoc_roff 5
 692 manual.
 693 .Bl -column "Input" "Rendered" "Description" -offset indent
 694 .It Em Input Ta Em Rendered Ta Em Description
 695 .It \e*(Ba   Ta \*(Ba       Ta vertical bar
 696 .It \e*(Ne   Ta \*(Ne       Ta not equal
 697 .It \e*(Ge   Ta \*(Ge       Ta greater-than-equal
 698 .It \e*(Le   Ta \*(Le       Ta less-than-equal
 699 .It \e*(Gt   Ta \*(Gt       Ta greater-than
 700 .It \e*(Lt   Ta \*(Lt       Ta less-than
 701 .It \e*(Pm   Ta \*(Pm       Ta plus-minus
 702 .It \e*(If   Ta \*(If       Ta infinity
 703 .It \e*(Pi   Ta \*(Pi       Ta pi
 704 .It \e*(Na   Ta \*(Na       Ta NaN
 705 .It \e*(Am   Ta \*(Am       Ta ampersand
 706 .It \e*R     Ta \*R         Ta restricted mark
 707 .It \e*(Tm   Ta \*(Tm       Ta trade mark
 708 .It \e*q     Ta \*q         Ta double-quote
 709 .It \e*(Rq   Ta \*(Rq       Ta right-double-quote
 710 .It \e*(Lq   Ta \*(Lq       Ta left-double-quote
 711 .It \e*(lp   Ta \*(lp       Ta right-parenthesis
 712 .It \e*(rp   Ta \*(rp       Ta left-parenthesis
 713 .It \e*(lq   Ta \*(lq       Ta left double-quote
 714 .It \e*(rq   Ta \*(rq       Ta right double-quote
 715 .It \e*(ua   Ta \*(ua       Ta up arrow
 716 .It \e*(va   Ta \*(va       Ta up-down arrow
 717 .It \e*(<=   Ta \*(<=       Ta less-than-equal
 718 .It \e*(>=   Ta \*(>=       Ta greater-than-equal
 719 .It \e*(aa   Ta \*(aa       Ta acute
 720 .It \e*(ga   Ta \*(ga       Ta grave
 721 .It \e*(Px   Ta \*(Px       Ta POSIX standard name
 722 .It \e*(Ai   Ta \*(Ai       Ta ANSI standard name
 723 .El
 724 .Sh UNICODE CHARACTERS
 725 The escape sequences
 726 .Pp
 727 .Dl \e[uXXXX] and \eC\(aquXXXX\(aq
 728 .Pp
 729 are interpreted as Unicode codepoints.
 730 The codepoint must be in the range above U+0080 and less than U+10FFFF.
 731 For compatibility, the hexadecimal digits
 732 .Sq A
 733 to
 734 .Sq F
 735 must be given as uppercase characters,
 736 and points must be zero-padded to four characters; if
 737 greater than four characters, no zero padding is allowed.
 738 Unicode surrogates are not allowed.
 739 .Sh NUMBERED CHARACTERS
 740 For backward compatibility with existing manuals,
 741 .Xr mandoc 1
 742 also supports the
 743 .Pp
 744 .Dl \eN\(aq Ns Ar number Ns \(aq
 745 .Pp
 746 escape sequence, inserting the character
 747 .Ar number
 748 from the current character set into the output.
 749 Of course, this is inherently non-portable and is already marked
 750 as deprecated in the Heirloom roff manual.
 751 For example, do not use \eN\(aq34\(aq, use \e(dq, or even the plain
 752 .Sq \(dq
 753 character where possible.
 754 .Sh COMPATIBILITY
 755 This section documents compatibility between mandoc and other
 756 troff implementations, at this time limited to GNU troff
 757 .Pq Qq groff .
 758 .Pp
 759 .Bl -dash -compact
 760 .It
 761 The \eN\(aq\(aq escape sequence is limited to printable characters; in
 762 groff, it accepts arbitrary character numbers.
 763 .It
 764 In
 765 .Fl T Ns Cm ascii ,
 766 the
 767 \e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product],
 768 \e[coproduct], \e(gr, \e(-h, and \e(a. special characters render
 769 differently between mandoc and groff.
 770 .It
 771 In
 772 .Fl T Ns Cm html ,
 773 the \e(\(ti=, \e(nb, and \e(nc special characters render differently
 774 between mandoc and groff.
 775 .It
 776 The
 777 .Fl T Ns Cm ps
 778 and
 779 .Fl T Ns Cm pdf
 780 modes format like
 781 .Fl T Ns Cm ascii
 782 instead of rendering glyphs as in groff.
 783 .It
 784 The \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted
 785 from mandoc either because they are poorly documented or they have no
 786 known representation.
 787 .El
 788 .Sh SEE ALSO
 789 .Xr mandoc 1 ,
 790 .Xr man 5 ,
 791 .Xr mandoc_roff 5 ,
 792 .Xr mdoc 5
 793 .Sh AUTHORS
 794 The
 795 .Nm
 796 manual page was written by
 797 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
 798 .Sh CAVEATS
 799 The predefined string
 800 .Sq \e*(Ba
 801 mimics the behaviour of the
 802 .Sq \&|
 803 character in
 804 .Xr mdoc 5 ;
 805 thus, if you wish to render a vertical bar with no side effects, use
 806 the
 807 .Sq \e(ba
 808 escape.