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