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