xref: /netbsd-src/external/bsd/mdocml/dist/mandoc_char.7 (revision 544c191c349c1704c9d5e679d12ec15cff579663)
1*544c191cSchristos.\"	Id: mandoc_char.7,v 1.75 2018/12/15 19:30:26 schwarze Exp
24154958bSjoerg.\"
394561435Sjoerg.\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org>
494561435Sjoerg.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
5*544c191cSchristos.\" Copyright (c) 2011,2013,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org>
64154958bSjoerg.\"
74154958bSjoerg.\" Permission to use, copy, modify, and distribute this software for any
84154958bSjoerg.\" purpose with or without fee is hereby granted, provided that the above
94154958bSjoerg.\" copyright notice and this permission notice appear in all copies.
104154958bSjoerg.\"
114154958bSjoerg.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
124154958bSjoerg.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
134154958bSjoerg.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
144154958bSjoerg.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
154154958bSjoerg.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
164154958bSjoerg.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
174154958bSjoerg.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
184154958bSjoerg.\"
19*544c191cSchristos.Dd December 15, 2018
204154958bSjoerg.Dt MANDOC_CHAR 7
214154958bSjoerg.Os
224154958bSjoerg.Sh NAME
234154958bSjoerg.Nm mandoc_char
244154958bSjoerg.Nd mandoc special characters
254154958bSjoerg.Sh DESCRIPTION
2694561435SjoergThis page documents the
2794561435Sjoerg.Xr roff 7
2894561435Sjoergescape sequences accepted by
294154958bSjoerg.Xr mandoc 1
3094561435Sjoergto represent special characters in
314154958bSjoerg.Xr mdoc 7
324154958bSjoergand
334154958bSjoerg.Xr man 7
344154958bSjoergdocuments.
354154958bSjoerg.Pp
3694561435SjoergThe rendering depends on the
3794561435Sjoerg.Xr mandoc 1
38c9bcef03Schristosoutput mode; it can be inspected by calling
39c9bcef03Schristos.Xr man 1
40c9bcef03Schristoson the
41c9bcef03Schristos.Nm
42c9bcef03Schristosmanual page with different
43c9bcef03Schristos.Fl T
44c9bcef03Schristosarguments.
45c9bcef03SchristosIn ASCII output, the rendering of some characters may be hard
46c9bcef03Schristosto interpret for the reader.
47c9bcef03SchristosMany are rendered as descriptive strings like
48c9bcef03Schristos.Qq <integral> ,
49c9bcef03Schristos.Qq <degree> ,
50c9bcef03Schristosor
51c9bcef03Schristos.Qq <Gamma> ,
52c9bcef03Schristoswhich may look ugly, and many are replaced by similar ASCII characters.
53c9bcef03SchristosIn particular, accented characters are usually shown without the accent.
54c9bcef03SchristosFor that reason, try to avoid using any of the special characters
55c9bcef03Schristosdocumented here except those discussed in the
5694561435Sjoerg.Sx DESCRIPTION ,
57c9bcef03Schristosunless they are essential for explaining the subject matter at hand,
58c9bcef03Schristosfor example when documenting complicated mathematical functions.
5994561435Sjoerg.Pp
6094561435SjoergIn particular, in English manual pages, do not use special-character
6194561435Sjoergescape sequences to represent national language characters in author
6294561435Sjoergnames; instead, provide ASCII transcriptions of the names.
6394561435Sjoerg.Ss Dashes and Hyphens
6494561435SjoergIn typography there are different types of dashes of various width:
65c9bcef03Schristosthe hyphen (\(hy),
6694561435Sjoergthe en-dash (\(en),
67c9bcef03Schristosthe em-dash (\(em),
68c9bcef03Schristosand the mathematical minus sign (\(mi).
6994561435Sjoerg.Pp
7094561435SjoergHyphens are used for adjectives;
7194561435Sjoergto separate the two parts of a compound word;
7294561435Sjoergor to separate a word across two successive lines of text.
7394561435SjoergThe hyphen does not need to be escaped:
7494561435Sjoerg.Bd -unfilled -offset indent
7594561435Sjoergblue-eyed
7694561435Sjoerglorry-driver
7794561435Sjoerg.Ed
7894561435Sjoerg.Pp
79c9bcef03SchristosThe en-dash is used to separate the two elements of a range,
80c9bcef03Schristosor can be used the same way as an em-dash.
81c9bcef03SchristosIt should be written as
82c9bcef03Schristos.Sq \e(en :
83c9bcef03Schristos.Bd -unfilled -offset indent
84c9bcef03Schristospp. 95\e(en97.
85c9bcef03SchristosGo away \e(en or else!
86c9bcef03Schristos.Ed
87c9bcef03Schristos.Pp
88c9bcef03SchristosThe em-dash can be used to show an interruption
89c9bcef03Schristosor can be used the same way as colons, semi-colons, or parentheses.
90c9bcef03SchristosIt should be written as
91c9bcef03Schristos.Sq \e(em :
92c9bcef03Schristos.Bd -unfilled -offset indent
93c9bcef03SchristosThree things \e(em apples, oranges, and bananas.
94c9bcef03SchristosThis is not that \e(em rather, this is that.
95c9bcef03Schristos.Ed
96c9bcef03Schristos.Pp
97c9bcef03SchristosIn
98c9bcef03Schristos.Xr roff 7
99c9bcef03Schristosdocuments, the minus sign is normally written as
100c9bcef03Schristos.Sq \e- .
101c9bcef03SchristosIn manual pages, some style guides recommend to also use
102c9bcef03Schristos.Sq \e-
103c9bcef03Schristosif an ASCII 0x2d
104c9bcef03Schristos.Dq hyphen-minus
105c9bcef03Schristosoutput glyph that can be copied and pasted is desired in output modes
106c9bcef03Schristossupporting it, for example in
107c9bcef03Schristos.Fl T Cm utf8
108c9bcef03Schristosand
109c9bcef03Schristos.Fl T Cm html .
110c9bcef03SchristosBut currently, no practically relevant manual page formatter actually
111c9bcef03Schristosrequires that subtlety, so in manual pages just write plain
112c9bcef03Schristos.Sq -
113c9bcef03Schristosto represent hyphen, minus, and hyphen-minus.
114c9bcef03Schristos.Pp
1159508192eSchristosIf a word on a text input line contains a hyphen, a formatter may decide
1169508192eSchristosto insert an output line break after the hyphen if that helps filling
1179508192eSchristosthe current output line, but the whole word would overflow the line.
1189508192eSchristosIf it is important that the word is not broken across lines in this
1199508192eSchristosway, a zero-width space
1209508192eSchristos.Pq Sq \e&
1219508192eSchristoscan be inserted before or after the hyphen.
1229508192eSchristosWhile
1239508192eSchristos.Xr mandoc 1
1249508192eSchristosnever breaks the output line after hyphens adjacent to a zero-width
1259508192eSchristosspace, after any of the other dash- or hyphen-like characters
1269508192eSchristosrepresented by escape sequences, or after hyphens inside words in
1279508192eSchristosmacro arguments, other software may not respect these rules and may
1289508192eSchristosbreak the line even in such cases.
1299508192eSchristos.Pp
1309508192eSchristosSome
1319508192eSchristos.Xr roff 7
1329508192eSchristosimplementations contains dictionaries allowing to break the line
1339508192eSchristosat syllable boundaries even inside words that contain no hyphens.
1349508192eSchristosSuch automatic hyphenation is not supported by
1359508192eSchristos.Xr mandoc 1 ,
1369508192eSchristoswhich only breaks the line at whitespace, and inside words only
1379508192eSchristosafter existing hyphens.
13894561435Sjoerg.Ss Spaces
13994561435SjoergTo separate words in normal text, for indenting and alignment
14094561435Sjoergin literal context, and when none of the following special cases apply,
14194561435Sjoergjust use the normal space character
14294561435Sjoerg.Pq Sq \  .
14394561435Sjoerg.Pp
14470f041f9SjoergWhen filling text, output lines may be broken between words, i.e. at space
14594561435Sjoergcharacters.
14694561435SjoergTo prevent a line break between two particular words,
14770f041f9Sjoerguse the unpaddable non-breaking space escape sequence
14870f041f9Sjoerg.Pq Sq \e\ \&
14994561435Sjoerginstead of the normal space character.
15094561435SjoergFor example, the input string
15170f041f9Sjoerg.Dq number\e\ 1
15294561435Sjoergwill be kept together as
15370f041f9Sjoerg.Dq number\ 1
15494561435Sjoergon the same output line.
15594561435Sjoerg.Pp
15694561435SjoergOn request and macro lines, the normal space character serves as an
15794561435Sjoergargument delimiter.
15870f041f9SjoergTo include whitespace into arguments, quoting is usually the best choice;
15970f041f9Sjoergsee the MACRO SYNTAX section in
16070f041f9Sjoerg.Xr roff 7 .
16170f041f9SjoergIn some cases, using the non-breaking space escape sequence
16294561435Sjoerg.Pq Sq \e\ \&
16370f041f9Sjoergmay be preferable.
16470f041f9Sjoerg.Pp
16594561435SjoergTo escape macro names and to protect whitespace at the end
16694561435Sjoergof input lines, the zero-width space
16794561435Sjoerg.Pq Sq \e&
16894561435Sjoergis often useful.
16994561435SjoergFor example, in
17094561435Sjoerg.Xr mdoc 7 ,
17194561435Sjoerga normal space character can be displayed in single quotes in either
17294561435Sjoergof the following ways:
17394561435Sjoerg.Pp
17494561435Sjoerg.Dl .Sq \(dq \(dq
17594561435Sjoerg.Dl .Sq \e \e&
17694561435Sjoerg.Ss Quotes
17794561435SjoergOn request and macro lines, the double-quote character
17894561435Sjoerg.Pq Sq \(dq
17994561435Sjoergis handled specially to allow quoting.
18094561435SjoergOne way to prevent this special handling is by using the
18194561435Sjoerg.Sq \e(dq
18294561435Sjoergescape sequence.
18394561435Sjoerg.Pp
18494561435SjoergNote that on text lines, literal double-quote characters can be used
18594561435Sjoergverbatim.
18694561435SjoergAll other quote-like characters can be used verbatim as well,
18794561435Sjoergeven on request and macro lines.
1889ff1f2acSchristos.Ss Accents
1899ff1f2acSchristosIn output modes supporting such special output characters, for example
1909ff1f2acSchristos.Fl T Cm pdf ,
191c9bcef03Schristosand sometimes less consistently in
192c9bcef03Schristos.Fl T Cm utf8 ,
1939ff1f2acSchristossome
1949ff1f2acSchristos.Xr roff 7
1959ff1f2acSchristosformatters convert the following ASCII input characters to the
1969ff1f2acSchristosfollowing Unicode special output characters:
1979ff1f2acSchristos.Bl -column x(ga U+2018 -offset indent
1989ff1f2acSchristos.It \(ga Ta U+2018 Ta left single quotation mark
1999ff1f2acSchristos.It \(aq Ta U+2019 Ta right single quotation mark
2009ff1f2acSchristos.It \(ti Ta U+02DC Ta small tilde
201c9bcef03Schristos.It \(ha Ta U+02C6 Ta modifier letter circumflex
2029ff1f2acSchristos.El
2039ff1f2acSchristos.Pp
2049ff1f2acSchristosIn prose, this automatic substitution is often desirable;
2059ff1f2acSchristosbut when these characters have to be displayed as plain ASCII
2069ff1f2acSchristoscharacters, for example in source code samples, they require
2079ff1f2acSchristosescaping to render as follows:
2089ff1f2acSchristos.Bl -column x(ga U+2018 -offset indent
2099ff1f2acSchristos.It \e(ga Ta U+0060 Ta grave accent
2109ff1f2acSchristos.It \e(aq Ta U+0027 Ta apostrophe
2119ff1f2acSchristos.It \e(ti Ta U+007E Ta tilde
212c9bcef03Schristos.It \e(ha Ta U+005E Ta circumflex accent
2139ff1f2acSchristos.El
21494561435Sjoerg.Ss Periods
21594561435SjoergThe period
21694561435Sjoerg.Pq Sq \&.
21794561435Sjoergis handled specially at the beginning of an input line,
21894561435Sjoergwhere it introduces a
21994561435Sjoerg.Xr roff 7
22094561435Sjoergrequest or a macro, and when appearing alone as a macro argument in
22194561435Sjoerg.Xr mdoc 7 .
22294561435SjoergIn such situations, prepend a zero-width space
22394561435Sjoerg.Pq Sq \e&.
22494561435Sjoergto make it behave like normal text.
22594561435Sjoerg.Pp
22694561435SjoergDo not use the
22794561435Sjoerg.Sq \e.
22894561435Sjoergescape sequence.
22994561435SjoergIt does not prevent special handling of the period.
23094561435Sjoerg.Ss Backslashes
23194561435SjoergTo include a literal backslash
23294561435Sjoerg.Pq Sq \e
23394561435Sjoerginto the output, use the
23494561435Sjoerg.Pq Sq \ee
23594561435Sjoergescape sequence.
23694561435Sjoerg.Pp
23794561435SjoergNote that doubling it
23894561435Sjoerg.Pq Sq \e\e
23994561435Sjoergis not the right way to output a backslash.
24094561435SjoergBecause
24194561435Sjoerg.Xr mandoc 1
24294561435Sjoergdoes not implement full
24394561435Sjoerg.Xr roff 7
24494561435Sjoergfunctionality, it may work with
24594561435Sjoerg.Xr mandoc 1 ,
24694561435Sjoergbut it may have weird effects on complete
24794561435Sjoerg.Xr roff 7
24894561435Sjoergimplementations.
24994561435Sjoerg.Sh SPECIAL CHARACTERS
25094561435SjoergSpecial characters are encoded as
2514154958bSjoerg.Sq \eX
2524154958bSjoerg.Pq for a one-character escape ,
2534154958bSjoerg.Sq \e(XX
2544154958bSjoerg.Pq two-character ,
2554154958bSjoergand
2564154958bSjoerg.Sq \e[N]
2574154958bSjoerg.Pq N-character .
25894561435SjoergFor details, see the
25994561435Sjoerg.Em Special Characters
26094561435Sjoergsubsection of the
26194561435Sjoerg.Xr roff 7
26294561435Sjoergmanual.
2634154958bSjoerg.Pp
2644154958bSjoergSpacing:
265c5f73b34Sjoerg.Bl -column "Input" "Description" -offset indent -compact
2664154958bSjoerg.It Em Input Ta Em Description
26770f041f9Sjoerg.It Sq \e\ \& Ta unpaddable non-breaking space
2689ff1f2acSchristos.It \e\(ti   Ta paddable non-breaking space
269*544c191cSchristos.It \e0      Ta digit-width space allowing line break
27070f041f9Sjoerg.It \e|      Ta one-sixth \e(em narrow space, zero width in nroff mode
27170f041f9Sjoerg.It \e^      Ta one-twelfth \e(em half-narrow space, zero width in nroff
272*544c191cSchristos.It \e&      Ta zero-width non-breaking space
273*544c191cSchristos.It \e)      Ta zero-width space transparent to end-of-sentence detection
27470f041f9Sjoerg.It \e%      Ta zero-width space allowing hyphenation
275*544c191cSchristos.It \e:      Ta zero-width space allowing line break
2764154958bSjoerg.El
2774154958bSjoerg.Pp
2784154958bSjoergLines:
279c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
2804154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
2814154958bSjoerg.It \e(ba    Ta \(ba        Ta bar
2824154958bSjoerg.It \e(br    Ta \(br        Ta box rule
2834154958bSjoerg.It \e(ul    Ta \(ul        Ta underscore
284c9bcef03Schristos.It \e(ru    Ta \(ru        Ta underscore (width 0.5m)
285fec65c98Schristos.It \e(rn    Ta \(rn        Ta overline
2864154958bSjoerg.It \e(bb    Ta \(bb        Ta broken bar
2874154958bSjoerg.It \e(sl    Ta \(sl        Ta forward slash
2884154958bSjoerg.It \e(rs    Ta \(rs        Ta backward slash
2894154958bSjoerg.El
2904154958bSjoerg.Pp
2914154958bSjoergText markers:
292c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
2934154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
2944154958bSjoerg.It \e(ci    Ta \(ci        Ta circle
2954154958bSjoerg.It \e(bu    Ta \(bu        Ta bullet
2964154958bSjoerg.It \e(dd    Ta \(dd        Ta double dagger
2974154958bSjoerg.It \e(dg    Ta \(dg        Ta dagger
2984154958bSjoerg.It \e(lz    Ta \(lz        Ta lozenge
2994154958bSjoerg.It \e(sq    Ta \(sq        Ta white square
3004154958bSjoerg.It \e(ps    Ta \(ps        Ta paragraph
3014154958bSjoerg.It \e(sc    Ta \(sc        Ta section
3024154958bSjoerg.It \e(lh    Ta \(lh        Ta left hand
3034154958bSjoerg.It \e(rh    Ta \(rh        Ta right hand
3044154958bSjoerg.It \e(at    Ta \(at        Ta at
3054154958bSjoerg.It \e(sh    Ta \(sh        Ta hash (pound)
3064154958bSjoerg.It \e(CR    Ta \(CR        Ta carriage return
3074154958bSjoerg.It \e(OK    Ta \(OK        Ta check mark
308c9bcef03Schristos.It \e(CL    Ta \(CL        Ta club suit
309c9bcef03Schristos.It \e(SP    Ta \(SP        Ta spade suit
310c9bcef03Schristos.It \e(HE    Ta \(HE        Ta heart suit
311c9bcef03Schristos.It \e(DI    Ta \(DI        Ta diamond suit
3124154958bSjoerg.El
3134154958bSjoerg.Pp
3144154958bSjoergLegal symbols:
315c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
3164154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
3174154958bSjoerg.It \e(co    Ta \(co        Ta copyright
3184154958bSjoerg.It \e(rg    Ta \(rg        Ta registered
3194154958bSjoerg.It \e(tm    Ta \(tm        Ta trademarked
3204154958bSjoerg.El
3214154958bSjoerg.Pp
3224154958bSjoergPunctuation:
323c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
3244154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
3254154958bSjoerg.It \e(em    Ta \(em        Ta em-dash
3264154958bSjoerg.It \e(en    Ta \(en        Ta en-dash
3274154958bSjoerg.It \e(hy    Ta \(hy        Ta hyphen
3284154958bSjoerg.It \ee      Ta \e          Ta back-slash
3294154958bSjoerg.It \e.      Ta \.          Ta period
3304154958bSjoerg.It \e(r!    Ta \(r!        Ta upside-down exclamation
3314154958bSjoerg.It \e(r?    Ta \(r?        Ta upside-down question
3324154958bSjoerg.El
3334154958bSjoerg.Pp
3344154958bSjoergQuotes:
335c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
3364154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
3374154958bSjoerg.It \e(Bq    Ta \(Bq        Ta right low double-quote
3384154958bSjoerg.It \e(bq    Ta \(bq        Ta right low single-quote
3394154958bSjoerg.It \e(lq    Ta \(lq        Ta left double-quote
3404154958bSjoerg.It \e(rq    Ta \(rq        Ta right double-quote
3414154958bSjoerg.It \e(oq    Ta \(oq        Ta left single-quote
3424154958bSjoerg.It \e(cq    Ta \(cq        Ta right single-quote
343c9bcef03Schristos.It \e(aq    Ta \(aq        Ta apostrophe quote (ASCII character)
344c9bcef03Schristos.It \e(dq    Ta \(dq        Ta double quote (ASCII character)
3454154958bSjoerg.It \e(Fo    Ta \(Fo        Ta left guillemet
3464154958bSjoerg.It \e(Fc    Ta \(Fc        Ta right guillemet
3474154958bSjoerg.It \e(fo    Ta \(fo        Ta left single guillemet
3484154958bSjoerg.It \e(fc    Ta \(fc        Ta right single guillemet
3494154958bSjoerg.El
3504154958bSjoerg.Pp
3514154958bSjoergBrackets:
352fec65c98Schristos.Bl -column "xxbracketrightbtx" Rendered Description -offset indent -compact
3534154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
3544154958bSjoerg.It \e(lB    Ta \(lB        Ta left bracket
3554154958bSjoerg.It \e(rB    Ta \(rB        Ta right bracket
3564154958bSjoerg.It \e(lC    Ta \(lC        Ta left brace
3574154958bSjoerg.It \e(rC    Ta \(rC        Ta right brace
3584154958bSjoerg.It \e(la    Ta \(la        Ta left angle
3594154958bSjoerg.It \e(ra    Ta \(ra        Ta right angle
360c9bcef03Schristos.It \e(bv    Ta \(bv        Ta brace extension (special font)
3614154958bSjoerg.It \e[braceex] Ta \[braceex] Ta brace extension
3624154958bSjoerg.It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket
363fec65c98Schristos.It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket
3644154958bSjoerg.It \e[bracketleftex] Ta \[bracketleftex] Ta left hooked bracket extension
3654154958bSjoerg.It \e[bracketrighttp] Ta \[bracketrighttp] Ta top-right hooked bracket
366fec65c98Schristos.It \e[bracketrightbt] Ta \[bracketrightbt] Ta bottom-right hooked bracket
3674154958bSjoerg.It \e[bracketrightex] Ta \[bracketrightex] Ta right hooked bracket extension
3684154958bSjoerg.It \e(lt    Ta \(lt        Ta top-left hooked brace
3694154958bSjoerg.It \e[bracelefttp] Ta \[bracelefttp] Ta top-left hooked brace
3704154958bSjoerg.It \e(lk    Ta \(lk        Ta mid-left hooked brace
3714154958bSjoerg.It \e[braceleftmid] Ta \[braceleftmid] Ta mid-left hooked brace
3724154958bSjoerg.It \e(lb    Ta \(lb        Ta bottom-left hooked brace
373fec65c98Schristos.It \e[braceleftbt] Ta \[braceleftbt] Ta bottom-left hooked brace
3744154958bSjoerg.It \e[braceleftex] Ta \[braceleftex] Ta left hooked brace extension
3754154958bSjoerg.It \e(rt    Ta \(rt        Ta top-left hooked brace
3764154958bSjoerg.It \e[bracerighttp] Ta \[bracerighttp] Ta top-right hooked brace
3774154958bSjoerg.It \e(rk    Ta \(rk        Ta mid-right hooked brace
3784154958bSjoerg.It \e[bracerightmid] Ta \[bracerightmid] Ta mid-right hooked brace
3794154958bSjoerg.It \e(rb    Ta \(rb        Ta bottom-right hooked brace
380fec65c98Schristos.It \e[bracerightbt] Ta \[bracerightbt] Ta bottom-right hooked brace
3814154958bSjoerg.It \e[bracerightex] Ta \[bracerightex] Ta right hooked brace extension
3824154958bSjoerg.It \e[parenlefttp] Ta \[parenlefttp] Ta top-left hooked parenthesis
383fec65c98Schristos.It \e[parenleftbt] Ta \[parenleftbt] Ta bottom-left hooked parenthesis
3844154958bSjoerg.It \e[parenleftex] Ta \[parenleftex] Ta left hooked parenthesis extension
3854154958bSjoerg.It \e[parenrighttp] Ta \[parenrighttp] Ta top-right hooked parenthesis
386fec65c98Schristos.It \e[parenrightbt] Ta \[parenrightbt] Ta bottom-right hooked parenthesis
3874154958bSjoerg.It \e[parenrightex] Ta \[parenrightex] Ta right hooked parenthesis extension
3884154958bSjoerg.El
3894154958bSjoerg.Pp
3904154958bSjoergArrows:
391c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
3924154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
3934154958bSjoerg.It \e(<-    Ta \(<-        Ta left arrow
3944154958bSjoerg.It \e(->    Ta \(->        Ta right arrow
3954154958bSjoerg.It \e(<>    Ta \(<>        Ta left-right arrow
3964154958bSjoerg.It \e(da    Ta \(da        Ta down arrow
3974154958bSjoerg.It \e(ua    Ta \(ua        Ta up arrow
3984154958bSjoerg.It \e(va    Ta \(va        Ta up-down arrow
3994154958bSjoerg.It \e(lA    Ta \(lA        Ta left double-arrow
4004154958bSjoerg.It \e(rA    Ta \(rA        Ta right double-arrow
4014154958bSjoerg.It \e(hA    Ta \(hA        Ta left-right double-arrow
4024154958bSjoerg.It \e(uA    Ta \(uA        Ta up double-arrow
4034154958bSjoerg.It \e(dA    Ta \(dA        Ta down double-arrow
4044154958bSjoerg.It \e(vA    Ta \(vA        Ta up-down double-arrow
405c9bcef03Schristos.It \e(an    Ta \(an        Ta horizontal arrow extension
4064154958bSjoerg.El
4074154958bSjoerg.Pp
4084154958bSjoergLogical:
409c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
4104154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
4114154958bSjoerg.It \e(AN    Ta \(AN        Ta logical and
4124154958bSjoerg.It \e(OR    Ta \(OR        Ta logical or
413c9bcef03Schristos.It \e[tno]  Ta \[tno]      Ta logical not (text font)
414c9bcef03Schristos.It \e(no    Ta \(no        Ta logical not (special font)
4154154958bSjoerg.It \e(te    Ta \(te        Ta existential quantifier
4164154958bSjoerg.It \e(fa    Ta \(fa        Ta universal quantifier
4174154958bSjoerg.It \e(st    Ta \(st        Ta such that
4184154958bSjoerg.It \e(tf    Ta \(tf        Ta therefore
4194154958bSjoerg.It \e(3d    Ta \(3d        Ta therefore
4204154958bSjoerg.It \e(or    Ta \(or        Ta bitwise or
4214154958bSjoerg.El
4224154958bSjoerg.Pp
4234154958bSjoergMathematical:
424c5f73b34Sjoerg.Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact
4254154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
426c9bcef03Schristos.It \e-      Ta \-          Ta minus (text font)
427c9bcef03Schristos.It \e(mi    Ta \(mi        Ta minus (special font)
428c9bcef03Schristos.It +        Ta +           Ta plus (text font)
429c9bcef03Schristos.It \e(pl    Ta \(pl        Ta plus (special font)
4304154958bSjoerg.It \e(-+    Ta \(-+        Ta minus-plus
431c9bcef03Schristos.It \e[t+-]  Ta \[t+-]      Ta plus-minus (text font)
432c9bcef03Schristos.It \e(+-    Ta \(+-        Ta plus-minus (special font)
433fec65c98Schristos.It \e(pc    Ta \(pc        Ta center-dot
434c9bcef03Schristos.It \e[tmu]  Ta \[tmu]      Ta multiply (text font)
435c9bcef03Schristos.It \e(mu    Ta \(mu        Ta multiply (special font)
4364154958bSjoerg.It \e(c*    Ta \(c*        Ta circle-multiply
4374154958bSjoerg.It \e(c+    Ta \(c+        Ta circle-plus
438c9bcef03Schristos.It \e[tdi]  Ta \[tdi]      Ta divide (text font)
439c9bcef03Schristos.It \e(di    Ta \(di        Ta divide (special font)
4404154958bSjoerg.It \e(f/    Ta \(f/        Ta fraction
4414154958bSjoerg.It \e(**    Ta \(**        Ta asterisk
4424154958bSjoerg.It \e(<=    Ta \(<=        Ta less-than-equal
4434154958bSjoerg.It \e(>=    Ta \(>=        Ta greater-than-equal
4444154958bSjoerg.It \e(<<    Ta \(<<        Ta much less
4454154958bSjoerg.It \e(>>    Ta \(>>        Ta much greater
4464154958bSjoerg.It \e(eq    Ta \(eq        Ta equal
4474154958bSjoerg.It \e(!=    Ta \(!=        Ta not equal
4484154958bSjoerg.It \e(==    Ta \(==        Ta equivalent
4494154958bSjoerg.It \e(ne    Ta \(ne        Ta not equivalent
450fec65c98Schristos.It \e(ap    Ta \(ap        Ta tilde operator
451fec65c98Schristos.It \e(|=    Ta \(|=        Ta asymptotically equal
4529ff1f2acSchristos.It \e(=\(ti Ta \(=~        Ta approximately equal
4539ff1f2acSchristos.It \e(\(ti\(ti Ta \(~~        Ta almost equal
4549ff1f2acSchristos.It \e(\(ti= Ta \(~=        Ta almost equal
4554154958bSjoerg.It \e(pt    Ta \(pt        Ta proportionate
4564154958bSjoerg.It \e(es    Ta \(es        Ta empty set
4574154958bSjoerg.It \e(mo    Ta \(mo        Ta element
4584154958bSjoerg.It \e(nm    Ta \(nm        Ta not element
4594154958bSjoerg.It \e(sb    Ta \(sb        Ta proper subset
4604154958bSjoerg.It \e(nb    Ta \(nb        Ta not subset
4614154958bSjoerg.It \e(sp    Ta \(sp        Ta proper superset
4624154958bSjoerg.It \e(nc    Ta \(nc        Ta not superset
4634154958bSjoerg.It \e(ib    Ta \(ib        Ta reflexive subset
4644154958bSjoerg.It \e(ip    Ta \(ip        Ta reflexive superset
4654154958bSjoerg.It \e(ca    Ta \(ca        Ta intersection
4664154958bSjoerg.It \e(cu    Ta \(cu        Ta union
4674154958bSjoerg.It \e(/_    Ta \(/_        Ta angle
4684154958bSjoerg.It \e(pp    Ta \(pp        Ta perpendicular
4694154958bSjoerg.It \e(is    Ta \(is        Ta integral
4704154958bSjoerg.It \e[integral] Ta \[integral] Ta integral
4714154958bSjoerg.It \e[sum]    Ta \[sum]   Ta summation
4724154958bSjoerg.It \e[product] Ta \[product] Ta product
4734154958bSjoerg.It \e[coproduct] Ta \[coproduct] Ta coproduct
4744154958bSjoerg.It \e(gr    Ta \(gr        Ta gradient
4754154958bSjoerg.It \e(sr    Ta \(sr        Ta square root
4764154958bSjoerg.It \e[sqrt] Ta \[sqrt]     Ta square root
4774154958bSjoerg.It \e(lc    Ta \(lc        Ta left-ceiling
4784154958bSjoerg.It \e(rc    Ta \(rc        Ta right-ceiling
4794154958bSjoerg.It \e(lf    Ta \(lf        Ta left-floor
4804154958bSjoerg.It \e(rf    Ta \(rf        Ta right-floor
4814154958bSjoerg.It \e(if    Ta \(if        Ta infinity
4824154958bSjoerg.It \e(Ah    Ta \(Ah        Ta aleph
4834154958bSjoerg.It \e(Im    Ta \(Im        Ta imaginary
4844154958bSjoerg.It \e(Re    Ta \(Re        Ta real
485c9bcef03Schristos.It \e(wp    Ta \(wp        Ta Weierstrass p
4864154958bSjoerg.It \e(pd    Ta \(pd        Ta partial differential
4874154958bSjoerg.It \e(-h    Ta \(-h        Ta Planck constant over 2\(*p
488c9bcef03Schristos.It \e[hbar] Ta \[hbar]     Ta Planck constant over 2\(*p
489c9bcef03Schristos.It \e(12    Ta \(12        Ta one-half
490c9bcef03Schristos.It \e(14    Ta \(14        Ta one-fourth
491c9bcef03Schristos.It \e(34    Ta \(34        Ta three-fourths
492c9bcef03Schristos.It \e(18    Ta \(18        Ta one-eighth
493c9bcef03Schristos.It \e(38    Ta \(38        Ta three-eighths
494c9bcef03Schristos.It \e(58    Ta \(58        Ta five-eighths
495c9bcef03Schristos.It \e(78    Ta \(78        Ta seven-eighths
496c9bcef03Schristos.It \e(S1    Ta \(S1        Ta superscript 1
497c9bcef03Schristos.It \e(S2    Ta \(S2        Ta superscript 2
498c9bcef03Schristos.It \e(S3    Ta \(S3        Ta superscript 3
4994154958bSjoerg.El
5004154958bSjoerg.Pp
5014154958bSjoergLigatures:
502c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
5034154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
5044154958bSjoerg.It \e(ff    Ta \(ff        Ta ff ligature
5054154958bSjoerg.It \e(fi    Ta \(fi        Ta fi ligature
5064154958bSjoerg.It \e(fl    Ta \(fl        Ta fl ligature
5074154958bSjoerg.It \e(Fi    Ta \(Fi        Ta ffi ligature
5084154958bSjoerg.It \e(Fl    Ta \(Fl        Ta ffl ligature
5094154958bSjoerg.It \e(AE    Ta \(AE        Ta AE
5104154958bSjoerg.It \e(ae    Ta \(ae        Ta ae
5114154958bSjoerg.It \e(OE    Ta \(OE        Ta OE
5124154958bSjoerg.It \e(oe    Ta \(oe        Ta oe
5134154958bSjoerg.It \e(ss    Ta \(ss        Ta German eszett
5144154958bSjoerg.It \e(IJ    Ta \(IJ        Ta IJ ligature
5154154958bSjoerg.It \e(ij    Ta \(ij        Ta ij ligature
5164154958bSjoerg.El
5174154958bSjoerg.Pp
5184154958bSjoergAccents:
519c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
5204154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
5214154958bSjoerg.It \e(a"    Ta \(a"        Ta Hungarian umlaut
5224154958bSjoerg.It \e(a-    Ta \(a-        Ta macron
5234154958bSjoerg.It \e(a.    Ta \(a.        Ta dotted
5244154958bSjoerg.It \e(a^    Ta \(a^        Ta circumflex
5254154958bSjoerg.It \e(aa    Ta \(aa        Ta acute
5269ff1f2acSchristos.It \e\(aq   Ta \'          Ta acute
5274154958bSjoerg.It \e(ga    Ta \(ga        Ta grave
5289ff1f2acSchristos.It \e\(ga   Ta \`          Ta grave
5294154958bSjoerg.It \e(ab    Ta \(ab        Ta breve
5304154958bSjoerg.It \e(ac    Ta \(ac        Ta cedilla
5314154958bSjoerg.It \e(ad    Ta \(ad        Ta dieresis
5324154958bSjoerg.It \e(ah    Ta \(ah        Ta caron
5334154958bSjoerg.It \e(ao    Ta \(ao        Ta ring
5349ff1f2acSchristos.It \e(a\(ti Ta \(a~        Ta tilde
5354154958bSjoerg.It \e(ho    Ta \(ho        Ta ogonek
536c9bcef03Schristos.It \e(ha    Ta \(ha        Ta hat (ASCII character)
537c9bcef03Schristos.It \e(ti    Ta \(ti        Ta tilde (ASCII character)
5384154958bSjoerg.El
5394154958bSjoerg.Pp
5404154958bSjoergAccented letters:
541c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
5424154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
5439ff1f2acSchristos.It \e(\(aqA Ta \('A        Ta acute A
5449ff1f2acSchristos.It \e(\(aqE Ta \('E        Ta acute E
5459ff1f2acSchristos.It \e(\(aqI Ta \('I        Ta acute I
5469ff1f2acSchristos.It \e(\(aqO Ta \('O        Ta acute O
5479ff1f2acSchristos.It \e(\(aqU Ta \('U        Ta acute U
548*544c191cSchristos.It \e(\(aqY Ta \('Y        Ta acute Y
5499ff1f2acSchristos.It \e(\(aqa Ta \('a        Ta acute a
5509ff1f2acSchristos.It \e(\(aqe Ta \('e        Ta acute e
5519ff1f2acSchristos.It \e(\(aqi Ta \('i        Ta acute i
5529ff1f2acSchristos.It \e(\(aqo Ta \('o        Ta acute o
5539ff1f2acSchristos.It \e(\(aqu Ta \('u        Ta acute u
554*544c191cSchristos.It \e(\(aqy Ta \('y        Ta acute y
5559ff1f2acSchristos.It \e(\(gaA Ta \(`A        Ta grave A
5569ff1f2acSchristos.It \e(\(gaE Ta \(`E        Ta grave E
5579ff1f2acSchristos.It \e(\(gaI Ta \(`I        Ta grave I
5589ff1f2acSchristos.It \e(\(gaO Ta \(`O        Ta grave O
5599ff1f2acSchristos.It \e(\(gaU Ta \(`U        Ta grave U
5609ff1f2acSchristos.It \e(\(gaa Ta \(`a        Ta grave a
5619ff1f2acSchristos.It \e(\(gae Ta \(`e        Ta grave e
5629ff1f2acSchristos.It \e(\(gai Ta \(`i        Ta grave i
5639ff1f2acSchristos.It \e(\(gao Ta \(`i        Ta grave o
5649ff1f2acSchristos.It \e(\(gau Ta \(`u        Ta grave u
5659ff1f2acSchristos.It \e(\(tiA Ta \(~A        Ta tilde A
5669ff1f2acSchristos.It \e(\(tiN Ta \(~N        Ta tilde N
5679ff1f2acSchristos.It \e(\(tiO Ta \(~O        Ta tilde O
5689ff1f2acSchristos.It \e(\(tia Ta \(~a        Ta tilde a
5699ff1f2acSchristos.It \e(\(tin Ta \(~n        Ta tilde n
5709ff1f2acSchristos.It \e(\(tio Ta \(~o        Ta tilde o
5714154958bSjoerg.It \e(:A    Ta \(:A        Ta dieresis A
5724154958bSjoerg.It \e(:E    Ta \(:E        Ta dieresis E
5734154958bSjoerg.It \e(:I    Ta \(:I        Ta dieresis I
5744154958bSjoerg.It \e(:O    Ta \(:O        Ta dieresis O
5754154958bSjoerg.It \e(:U    Ta \(:U        Ta dieresis U
5764154958bSjoerg.It \e(:a    Ta \(:a        Ta dieresis a
5774154958bSjoerg.It \e(:e    Ta \(:e        Ta dieresis e
5784154958bSjoerg.It \e(:i    Ta \(:i        Ta dieresis i
5794154958bSjoerg.It \e(:o    Ta \(:o        Ta dieresis o
5804154958bSjoerg.It \e(:u    Ta \(:u        Ta dieresis u
5814154958bSjoerg.It \e(:y    Ta \(:y        Ta dieresis y
5824154958bSjoerg.It \e(^A    Ta \(^A        Ta circumflex A
5834154958bSjoerg.It \e(^E    Ta \(^E        Ta circumflex E
5844154958bSjoerg.It \e(^I    Ta \(^I        Ta circumflex I
5854154958bSjoerg.It \e(^O    Ta \(^O        Ta circumflex O
5864154958bSjoerg.It \e(^U    Ta \(^U        Ta circumflex U
5874154958bSjoerg.It \e(^a    Ta \(^a        Ta circumflex a
5884154958bSjoerg.It \e(^e    Ta \(^e        Ta circumflex e
5894154958bSjoerg.It \e(^i    Ta \(^i        Ta circumflex i
5904154958bSjoerg.It \e(^o    Ta \(^o        Ta circumflex o
5914154958bSjoerg.It \e(^u    Ta \(^u        Ta circumflex u
5924154958bSjoerg.It \e(,C    Ta \(,C        Ta cedilla C
5934154958bSjoerg.It \e(,c    Ta \(,c        Ta cedilla c
5944154958bSjoerg.It \e(/L    Ta \(/L        Ta stroke L
5954154958bSjoerg.It \e(/l    Ta \(/l        Ta stroke l
5964154958bSjoerg.It \e(/O    Ta \(/O        Ta stroke O
5974154958bSjoerg.It \e(/o    Ta \(/o        Ta stroke o
5984154958bSjoerg.It \e(oA    Ta \(oA        Ta ring A
5994154958bSjoerg.It \e(oa    Ta \(oa        Ta ring a
6004154958bSjoerg.El
6014154958bSjoerg.Pp
6024154958bSjoergSpecial letters:
603c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
6044154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
6054154958bSjoerg.It \e(-D    Ta \(-D        Ta Eth
6064154958bSjoerg.It \e(Sd    Ta \(Sd        Ta eth
6074154958bSjoerg.It \e(TP    Ta \(TP        Ta Thorn
6084154958bSjoerg.It \e(Tp    Ta \(Tp        Ta thorn
6094154958bSjoerg.It \e(.i    Ta \(.i        Ta dotless i
6104154958bSjoerg.It \e(.j    Ta \(.j        Ta dotless j
6114154958bSjoerg.El
6124154958bSjoerg.Pp
6134154958bSjoergCurrency:
614c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
6154154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
6164154958bSjoerg.It \e(Do    Ta \(Do        Ta dollar
6174154958bSjoerg.It \e(ct    Ta \(ct        Ta cent
6184154958bSjoerg.It \e(Eu    Ta \(Eu        Ta Euro symbol
6194154958bSjoerg.It \e(eu    Ta \(eu        Ta Euro symbol
6204154958bSjoerg.It \e(Ye    Ta \(Ye        Ta yen
6214154958bSjoerg.It \e(Po    Ta \(Po        Ta pound
6224154958bSjoerg.It \e(Cs    Ta \(Cs        Ta Scandinavian
6234154958bSjoerg.It \e(Fn    Ta \(Fn        Ta florin
6244154958bSjoerg.El
6254154958bSjoerg.Pp
6264154958bSjoergUnits:
627c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
6284154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
6294154958bSjoerg.It \e(de    Ta \(de        Ta degree
6304154958bSjoerg.It \e(%0    Ta \(%0        Ta per-thousand
6314154958bSjoerg.It \e(fm    Ta \(fm        Ta minute
6324154958bSjoerg.It \e(sd    Ta \(sd        Ta second
6334154958bSjoerg.It \e(mc    Ta \(mc        Ta micro
634c9bcef03Schristos.It \e(Of    Ta \(Of        Ta Spanish female ordinal
635c9bcef03Schristos.It \e(Om    Ta \(Om        Ta Spanish masculine ordinal
6364154958bSjoerg.El
6374154958bSjoerg.Pp
6384154958bSjoergGreek letters:
639c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent -compact
6404154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
6414154958bSjoerg.It \e(*A    Ta \(*A        Ta Alpha
6424154958bSjoerg.It \e(*B    Ta \(*B        Ta Beta
6434154958bSjoerg.It \e(*G    Ta \(*G        Ta Gamma
6444154958bSjoerg.It \e(*D    Ta \(*D        Ta Delta
6454154958bSjoerg.It \e(*E    Ta \(*E        Ta Epsilon
6464154958bSjoerg.It \e(*Z    Ta \(*Z        Ta Zeta
6474154958bSjoerg.It \e(*Y    Ta \(*Y        Ta Eta
6484154958bSjoerg.It \e(*H    Ta \(*H        Ta Theta
6494154958bSjoerg.It \e(*I    Ta \(*I        Ta Iota
6504154958bSjoerg.It \e(*K    Ta \(*K        Ta Kappa
6514154958bSjoerg.It \e(*L    Ta \(*L        Ta Lambda
6524154958bSjoerg.It \e(*M    Ta \(*M        Ta Mu
6534154958bSjoerg.It \e(*N    Ta \(*N        Ta Nu
6544154958bSjoerg.It \e(*C    Ta \(*C        Ta Xi
6554154958bSjoerg.It \e(*O    Ta \(*O        Ta Omicron
6564154958bSjoerg.It \e(*P    Ta \(*P        Ta Pi
6574154958bSjoerg.It \e(*R    Ta \(*R        Ta Rho
6584154958bSjoerg.It \e(*S    Ta \(*S        Ta Sigma
6594154958bSjoerg.It \e(*T    Ta \(*T        Ta Tau
6604154958bSjoerg.It \e(*U    Ta \(*U        Ta Upsilon
6614154958bSjoerg.It \e(*F    Ta \(*F        Ta Phi
6624154958bSjoerg.It \e(*X    Ta \(*X        Ta Chi
6634154958bSjoerg.It \e(*Q    Ta \(*Q        Ta Psi
6644154958bSjoerg.It \e(*W    Ta \(*W        Ta Omega
6654154958bSjoerg.It \e(*a    Ta \(*a        Ta alpha
6664154958bSjoerg.It \e(*b    Ta \(*b        Ta beta
6674154958bSjoerg.It \e(*g    Ta \(*g        Ta gamma
6684154958bSjoerg.It \e(*d    Ta \(*d        Ta delta
6694154958bSjoerg.It \e(*e    Ta \(*e        Ta epsilon
6704154958bSjoerg.It \e(*z    Ta \(*z        Ta zeta
6714154958bSjoerg.It \e(*y    Ta \(*y        Ta eta
6724154958bSjoerg.It \e(*h    Ta \(*h        Ta theta
6734154958bSjoerg.It \e(*i    Ta \(*i        Ta iota
6744154958bSjoerg.It \e(*k    Ta \(*k        Ta kappa
6754154958bSjoerg.It \e(*l    Ta \(*l        Ta lambda
6764154958bSjoerg.It \e(*m    Ta \(*m        Ta mu
6774154958bSjoerg.It \e(*n    Ta \(*n        Ta nu
6784154958bSjoerg.It \e(*c    Ta \(*c        Ta xi
6794154958bSjoerg.It \e(*o    Ta \(*o        Ta omicron
6804154958bSjoerg.It \e(*p    Ta \(*p        Ta pi
6814154958bSjoerg.It \e(*r    Ta \(*r        Ta rho
6824154958bSjoerg.It \e(*s    Ta \(*s        Ta sigma
6834154958bSjoerg.It \e(*t    Ta \(*t        Ta tau
6844154958bSjoerg.It \e(*u    Ta \(*u        Ta upsilon
6854154958bSjoerg.It \e(*f    Ta \(*f        Ta phi
6864154958bSjoerg.It \e(*x    Ta \(*x        Ta chi
6874154958bSjoerg.It \e(*q    Ta \(*q        Ta psi
6884154958bSjoerg.It \e(*w    Ta \(*w        Ta omega
6894154958bSjoerg.It \e(+h    Ta \(+h        Ta theta variant
6904154958bSjoerg.It \e(+f    Ta \(+f        Ta phi variant
6914154958bSjoerg.It \e(+p    Ta \(+p        Ta pi variant
6924154958bSjoerg.It \e(+e    Ta \(+e        Ta epsilon variant
6934154958bSjoerg.It \e(ts    Ta \(ts        Ta sigma terminal
6944154958bSjoerg.El
6954154958bSjoerg.Sh PREDEFINED STRINGS
696c5f73b34SjoergPredefined strings are inherited from the macro packages of historical
697c5f73b34Sjoergtroff implementations.
698c5f73b34SjoergThey are
699c5f73b34Sjoerg.Em not recommended
700c5f73b34Sjoergfor use, as they differ across implementations.
701c5f73b34SjoergManuals using these predefined strings are almost certainly not
702c5f73b34Sjoergportable.
70394561435Sjoerg.Pp
70494561435SjoergTheir syntax is similar to special characters, using
70594561435Sjoerg.Sq \e*X
70694561435Sjoerg.Pq for a one-character escape ,
70794561435Sjoerg.Sq \e*(XX
70894561435Sjoerg.Pq two-character ,
70994561435Sjoergand
71094561435Sjoerg.Sq \e*[N]
71194561435Sjoerg.Pq N-character .
71294561435SjoergFor details, see the
71394561435Sjoerg.Em Predefined Strings
71494561435Sjoergsubsection of the
71594561435Sjoerg.Xr roff 7
71694561435Sjoergmanual.
717c5f73b34Sjoerg.Bl -column "Input" "Rendered" "Description" -offset indent
7184154958bSjoerg.It Em Input Ta Em Rendered Ta Em Description
7194154958bSjoerg.It \e*(Ba   Ta \*(Ba       Ta vertical bar
7204154958bSjoerg.It \e*(Ne   Ta \*(Ne       Ta not equal
7214154958bSjoerg.It \e*(Ge   Ta \*(Ge       Ta greater-than-equal
7224154958bSjoerg.It \e*(Le   Ta \*(Le       Ta less-than-equal
7234154958bSjoerg.It \e*(Gt   Ta \*(Gt       Ta greater-than
7244154958bSjoerg.It \e*(Lt   Ta \*(Lt       Ta less-than
7254154958bSjoerg.It \e*(Pm   Ta \*(Pm       Ta plus-minus
7264154958bSjoerg.It \e*(If   Ta \*(If       Ta infinity
7274154958bSjoerg.It \e*(Pi   Ta \*(Pi       Ta pi
7284154958bSjoerg.It \e*(Na   Ta \*(Na       Ta NaN
7294154958bSjoerg.It \e*(Am   Ta \*(Am       Ta ampersand
7304154958bSjoerg.It \e*R     Ta \*R         Ta restricted mark
7314154958bSjoerg.It \e*(Tm   Ta \*(Tm       Ta trade mark
7324154958bSjoerg.It \e*q     Ta \*q         Ta double-quote
7334154958bSjoerg.It \e*(Rq   Ta \*(Rq       Ta right-double-quote
7344154958bSjoerg.It \e*(Lq   Ta \*(Lq       Ta left-double-quote
7354154958bSjoerg.It \e*(lp   Ta \*(lp       Ta right-parenthesis
7364154958bSjoerg.It \e*(rp   Ta \*(rp       Ta left-parenthesis
7374154958bSjoerg.It \e*(lq   Ta \*(lq       Ta left double-quote
7384154958bSjoerg.It \e*(rq   Ta \*(rq       Ta right double-quote
7394154958bSjoerg.It \e*(ua   Ta \*(ua       Ta up arrow
7404154958bSjoerg.It \e*(va   Ta \*(va       Ta up-down arrow
7414154958bSjoerg.It \e*(<=   Ta \*(<=       Ta less-than-equal
7424154958bSjoerg.It \e*(>=   Ta \*(>=       Ta greater-than-equal
7434154958bSjoerg.It \e*(aa   Ta \*(aa       Ta acute
7444154958bSjoerg.It \e*(ga   Ta \*(ga       Ta grave
745c5f73b34Sjoerg.It \e*(Px   Ta \*(Px       Ta POSIX standard name
746c5f73b34Sjoerg.It \e*(Ai   Ta \*(Ai       Ta ANSI standard name
7474154958bSjoerg.El
748c5f73b34Sjoerg.Sh UNICODE CHARACTERS
74970f041f9SjoergThe escape sequences
750c5f73b34Sjoerg.Pp
7519ff1f2acSchristos.Dl \e[uXXXX] and \eC\(aquXXXX\(aq
752c5f73b34Sjoerg.Pp
75370f041f9Sjoergare interpreted as Unicode codepoints.
754c5f73b34SjoergThe codepoint must be in the range above U+0080 and less than U+10FFFF.
75570f041f9SjoergFor compatibility, the hexadecimal digits
75670f041f9Sjoerg.Sq A
75770f041f9Sjoergto
75870f041f9Sjoerg.Sq F
75970f041f9Sjoergmust be given as uppercase characters,
76070f041f9Sjoergand points must be zero-padded to four characters; if
761c5f73b34Sjoerggreater than four characters, no zero padding is allowed.
762c5f73b34SjoergUnicode surrogates are not allowed.
76348741257Sjoerg.Sh NUMBERED CHARACTERS
76448741257SjoergFor backward compatibility with existing manuals,
76548741257Sjoerg.Xr mandoc 1
76648741257Sjoergalso supports the
76748741257Sjoerg.Pp
768*544c191cSchristos.Dl \eN\(aq Ns Ar number Ns \(aq and \e[ Ns Cm char Ns Ar number ]
76948741257Sjoerg.Pp
770*544c191cSchristosescape sequences, inserting the character
77148741257Sjoerg.Ar number
77248741257Sjoergfrom the current character set into the output.
77348741257SjoergOf course, this is inherently non-portable and is already marked
774*544c191cSchristosas deprecated in the Heirloom roff manual;
775*544c191cSchristoson top of that, the second form is a GNU extension.
776*544c191cSchristosFor example, do not use \eN\(aq34\(aq or \e[char34], use \e(dq,
777*544c191cSchristosor even the plain
77848741257Sjoerg.Sq \(dq
77948741257Sjoergcharacter where possible.
7804154958bSjoerg.Sh COMPATIBILITY
78170f041f9SjoergThis section documents compatibility between mandoc and other
78248741257Sjoergtroff implementations, at this time limited to GNU troff
78348741257Sjoerg.Pq Qq groff .
7844154958bSjoerg.Pp
78548741257Sjoerg.Bl -dash -compact
78648741257Sjoerg.It
787c5f73b34SjoergThe \eN\(aq\(aq escape sequence is limited to printable characters; in
788c5f73b34Sjoerggroff, it accepts arbitrary character numbers.
789c5f73b34Sjoerg.It
79048741257SjoergIn
79148741257Sjoerg.Fl T Ns Cm ascii ,
79248741257Sjoergthe
7934154958bSjoerg\e(ss, \e(nm, \e(nb, \e(nc, \e(ib, \e(ip, \e(pp, \e[sum], \e[product],
7949ff1f2acSchristos\e[coproduct], \e(gr, \e(-h, and \e(a. special characters render
79548741257Sjoergdifferently between mandoc and groff.
79648741257Sjoerg.It
79748741257SjoergIn
798c9bcef03Schristos.Fl T Ns Cm html ,
7999ff1f2acSchristosthe \e(\(ti=, \e(nb, and \e(nc special characters render differently
80048741257Sjoergbetween mandoc and groff.
80148741257Sjoerg.It
80248741257SjoergThe
80348741257Sjoerg.Fl T Ns Cm ps
80448741257Sjoergand
80548741257Sjoerg.Fl T Ns Cm pdf
80648741257Sjoergmodes format like
80748741257Sjoerg.Fl T Ns Cm ascii
80848741257Sjoerginstead of rendering glyphs as in groff.
80948741257Sjoerg.It
81048741257SjoergThe \e[radicalex], \e[sqrtex], and \e(ru special characters have been omitted
81148741257Sjoergfrom mandoc either because they are poorly documented or they have no
81248741257Sjoergknown representation.
81348741257Sjoerg.El
8144154958bSjoerg.Sh SEE ALSO
81594561435Sjoerg.Xr mandoc 1 ,
81694561435Sjoerg.Xr man 7 ,
81794561435Sjoerg.Xr mdoc 7 ,
81894561435Sjoerg.Xr roff 7
8194154958bSjoerg.Sh AUTHORS
8204154958bSjoergThe
8214154958bSjoerg.Nm
822d5e63c8dSjoergmanual page was written by
82370f041f9Sjoerg.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
8240a84adc5Sjoerg.Sh CAVEATS
82570f041f9SjoergThe predefined string
8260a84adc5Sjoerg.Sq \e*(Ba
82770f041f9Sjoergmimics the behaviour of the
8280a84adc5Sjoerg.Sq \&|
8290a84adc5Sjoergcharacter in
8300a84adc5Sjoerg.Xr mdoc 7 ;
8310a84adc5Sjoergthus, if you wish to render a vertical bar with no side effects, use
8320a84adc5Sjoergthe
8330a84adc5Sjoerg.Sq \e(ba
8340a84adc5Sjoergescape.
835