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