Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MANDOC_CHAR(7)	   FreeBSD Miscellaneous Information Manual	MANDOC_CHAR(7)

NAME
     mandoc_char -- mandoc special characters

DESCRIPTION
     This page documents the roff(7) escape sequences accepted by mandoc(1) to
     represent special characters in mdoc(7) and man(7)	documents.

     The rendering depends on the mandoc(1) output mode; in ASCII output, most
     characters	are completely unintelligible.	For that reason, using any of
     the special characters documented here, except those discussed in the
     DESCRIPTION, is strongly discouraged; they	are supported merely for back-
     wards compatibility with existing documents.

     In	particular, in English manual pages, do	not use	special-character
     escape sequences to represent national language characters	in author
     names; instead, provide ASCII transcriptions of the names.

   Dashes and Hyphens
     In	typography there are different types of	dashes of various width: the
     hyphen (-), the minus sign	(-), the en-dash (-), and the em-dash (--).

     Hyphens are used for adjectives; to separate the two parts	of a compound
     word; or to separate a word across	two successive lines of	text.  The
     hyphen does not need to be	escaped:

	   blue-eyed
	   lorry-driver

     The mathematical minus sign is used for negative numbers or subtraction.
     It	should be written as `\(mi':

	   a = 3 \(mi 1;
	   b = \(mi2;

     The en-dash is used to separate the two elements of a range, or can be
     used the same way as an em-dash.  It should be written as `\(en':

	   pp. 95\(en97.
	   Go away \(en	or else!

     The em-dash can be	used to	show an	interruption or	can be used the	same
     way as colons, semi-colons, or parentheses.  It should be written as
     `\(em':

	   Three things	\(em apples, oranges, and bananas.
	   This	is not that \(em rather, this is that.

     Note: hyphens, minus signs, and en-dashes look identical under normal
     ASCII output.  Other formats, such	as PostScript, render them correctly,
     with differing widths.

   Spaces
     To	separate words in normal text, for indenting and alignment in literal
     context, and when none of the following special cases apply, just use the
     normal space character (` ').

     When filling text,	output lines may be broken between words, i.e. at
     space characters.	To prevent a line break	between	two particular words,
     use the unpaddable	non-breaking space escape sequence (`\ ') instead of
     the normal	space character.  For example, the input string	``number\ 1''
     will be kept together as ``number 1'' on the same output line.

     On	request	and macro lines, the normal space character serves as an argu-
     ment delimiter.  To include whitespace into arguments, quoting is usually
     the best choice; see the MACRO SYNTAX section in roff(7).	In some	cases,
     using the non-breaking space escape sequence (`\ ') may be	preferable.

     To	escape macro names and to protect whitespace at	the end	of input
     lines, the	zero-width space (`\&')	is often useful.  For example, in
     mdoc(7), a	normal space character can be displayed	in single quotes in
     either of the following ways:

	   .Sq " "
	   .Sq \ \&

   Quotes
     On	request	and macro lines, the double-quote character (`"') is handled
     specially to allow	quoting.  One way to prevent this special handling is
     by	using the `\(dq' escape	sequence.

     Note that on text lines, literal double-quote characters can be used ver-
     batim.  All other quote-like characters can be used verbatim as well,
     even on request and macro lines.

   Accents
     In	output modes supporting	such special output characters,	for example -T
     pdf, some roff(7) formatters convert the following	ASCII input characters
     to	the following Unicode special output characters:

	   `	   U+2018    left single quotation mark
	   '	   U+2019    right single quotation mark
	   ~	   U+02DC    small tilde

     In	prose, this automatic substitution is often desirable; but when	these
     characters	have to	be displayed as	plain ASCII characters,	for example in
     source code samples, they require escaping	to render as follows:

	   \(ga	   U+0060    grave accent
	   \(aq	   U+0027    apostrophe
	   \(ti	   U+007E    tilde

   Periods
     The period	(`.') is handled specially at the beginning of an input	line,
     where it introduces a roff(7) request or a	macro, and when	appearing
     alone as a	macro argument in mdoc(7).  In such situations,	prepend	a
     zero-width	space (`\&.') to make it behave	like normal text.

     Do	not use	the `\.' escape	sequence.  It does not prevent special han-
     dling of the period.

   Backslashes
     To	include	a literal backslash (`\') into the output, use the (`\e')
     escape sequence.

     Note that doubling	it (`\\') is not the right way to output a backslash.
     Because mandoc(1) does not	implement full roff(7) functionality, it may
     work with mandoc(1), but it may have weird	effects	on complete roff(7)
     implementations.

SPECIAL	CHARACTERS
     Special characters	are encoded as `\X' (for a one-character escape),
     `\(XX' (two-character), and `\[N]'	(N-character).	For details, see the
     Special Characters	subsection of the roff(7) manual.

     Spacing:
	   Input    Description
	   `\	    unpaddable non-breaking space'
	   \~	    paddable non-breaking space
	   \0	    unpaddable,	breaking digit-width space
	   \|	    one-sixth \(em narrow space, zero width in nroff mode
	   \^	    one-twelfth	\(em half-narrow space,	zero width in nroff
	   \&	    zero-width space
	   \%	    zero-width space allowing hyphenation

     Lines:
	   Input    Rendered	Description
	   \(ba	    |		bar
	   \(br	    |		box rule
	   \(ul	    _		underscore
	   \(rn			overline
	   \(bb	    |		broken bar
	   \(sl	    /		forward	slash
	   \(rs	    \		backward slash

     Text markers:
	   Input    Rendered	Description
	   \(ci	    O		circle
	   \(bu	    o		bullet
	   \(dd	    =		double dagger
	   \(dg	    -		dagger
	   \(lz	    <>		lozenge
	   \(sq	    []		white square
	   \(ps	    9|		paragraph
	   \(sc	    S		section
	   \(lh	    <=		left hand
	   \(rh	    =>		right hand
	   \(at	    @		at
	   \(sh	    #		hash (pound)
	   \(CR	    _|		carriage return
	   \(OK			check mark

     Legal symbols:
	   Input    Rendered	Description
	   \(co	    (C)		copyright
	   \(rg	    (R)		registered
	   \(tm	    tm		trademarked

     Punctuation:
	   Input    Rendered	Description
	   \(em	    --		em-dash
	   \(en	    -		en-dash
	   \(hy	    -		hyphen
	   \e	    \		back-slash
	   \.	    .		period
	   \(r!	    i		upside-down exclamation
	   \(r?	    c		upside-down question

     Quotes:
	   Input    Rendered	Description
	   \(Bq	    ,,		right low double-quote
	   \(bq	    ,		right low single-quote
	   \(lq	    "		left double-quote
	   \(rq	    "		right double-quote
	   \(oq	    `		left single-quote
	   \(cq	    '		right single-quote
	   \(aq	    '		apostrophe quote (text)
	   \(dq	    "		double quote (text)
	   \(Fo	    <<		left guillemet
	   \(Fc	    >>		right guillemet
	   \(fo	    <		left single guillemet
	   \(fc	    >		right single guillemet

     Brackets:
	   Input		Rendered    Description
	   \(lB			[	    left bracket
	   \(rB			]	    right bracket
	   \(lC			{	    left brace
	   \(rC			}	    right brace
	   \(la			<	    left angle
	   \(ra			>	    right angle
	   \(bv			|	    brace extension
	   \[braceex]			    brace extension
	   \[bracketlefttp]		    top-left hooked bracket
	   \[bracketleftbt]		    bottom-left	hooked bracket
	   \[bracketleftex]		    left hooked	bracket	extension
	   \[bracketrighttp]		    top-right hooked bracket
	   \[bracketrightbt]		    bottom-right hooked	bracket
	   \[bracketrightex]		    right hooked bracket extension
	   \(lt			,-	    top-left hooked brace
	   \[bracelefttp]		    top-left hooked brace
	   \(lk			{	    mid-left hooked brace
	   \[braceleftmid]		    mid-left hooked brace
	   \(lb			`-	    bottom-left	hooked brace
	   \[braceleftbt]		    bottom-left	hooked brace
	   \[braceleftex]		    left hooked	brace extension
	   \(rt			-.	    top-left hooked brace
	   \[bracerighttp]		    top-right hooked brace
	   \(rk			}	    mid-right hooked brace
	   \[bracerightmid]		    mid-right hooked brace
	   \(rb			-'	    bottom-right hooked	brace
	   \[bracerightbt]		    bottom-right hooked	brace
	   \[bracerightex]		    right hooked brace extension
	   \[parenlefttp]		    top-left hooked parenthesis
	   \[parenleftbt]		    bottom-left	hooked parenthesis
	   \[parenleftex]		    left hooked	parenthesis extension
	   \[parenrighttp]		    top-right hooked parenthesis
	   \[parenrightbt]		    bottom-right hooked	parenthesis
	   \[parenrightex]		    right hooked parenthesis extension

     Arrows:
	   Input    Rendered	Description
	   \(<-	    <-		left arrow
	   \(->	    ->		right arrow
	   \(<>	    <->		left-right arrow
	   \(da	    v		down arrow
	   \(ua	    ^		up arrow
	   \(va			up-down	arrow
	   \(lA	    <=		left double-arrow
	   \(rA	    =>		right double-arrow
	   \(hA	    <=>		left-right double-arrow
	   \(uA	    ^		up double-arrow
	   \(dA	    v		down double-arrow
	   \(vA			up-down	double-arrow

     Logical:
	   Input    Rendered	Description
	   \(AN	    ^		logical	and
	   \(OR	    v		logical	or
	   \(no	    ~		logical	not
	   \[tno]   ~		logical	not (text)
	   \(te	    3		existential quantifier
	   \(fa	    V		universal quantifier
	   \(st	    -)		such that
	   \(tf	    .:.		therefore
	   \(3d	    .:.		therefore
	   \(or	    |		bitwise	or

     Mathematical:
	   Input	    Rendered	Description
	   \(pl		    +		plus
	   \(mi		    -		minus
	   \-		    -		minus (text)
	   \(-+		    -+		minus-plus
	   \(+-		    +-		plus-minus
	   \[t+-]	    +-		plus-minus (text)
	   \(pc		    .		center-dot
	   \(mu		    x		multiply
	   \[tmu]	    x		multiply (text)
	   \(c*		    x		circle-multiply
	   \(c+		    +		circle-plus
	   \(di		    -:-		divide
	   \[tdi]	    -:-		divide (text)
	   \(f/		    /		fraction
	   \(**		    *		asterisk
	   \(<=		    <=		less-than-equal
	   \(>=		    >=		greater-than-equal
	   \(<<		    <<		much less
	   \(>>		    >>		much greater
	   \(eq		    =		equal
	   \(!=		    !=		not equal
	   \(==		    ==		equivalent
	   \(ne		    !==		not equivalent
	   \(ap		    ~		tilde operator
	   \(|=		    -~		asymptotically equal
	   \(=~		    =~		approximately equal
	   \(~~		    ~~		almost equal
	   \(~=		    ~=		almost equal
	   \(pt		    oc		proportionate
	   \(es		    {}		empty set
	   \(mo		    E		element
	   \(nm		    E		not element
	   \(sb		    (=		proper subset
	   \(nb				not subset
	   \(sp		    =)		proper superset
	   \(nc				not superset
	   \(ib		    (_		reflexive subset
	   \(ip		    _)		reflexive superset
	   \(ca		    (^)		intersection
	   \(cu		    U		union
	   \(/_		    /		angle
	   \(pp		    |		perpendicular
	   \(is		    ,n
	   \[12]	    1/2		one-half
	   \[14]	    1/4		one-fourth
	   \[34]	    3/4		three-fourths

     Ligatures:
	   Input    Rendered	Description
	   \(ff	    ff		ff ligature
	   \(fi	    fi		fi ligature
	   \(fl	    fl		fl ligature
	   \(Fi	    ffi		ffi ligature
	   \(Fl	    ffl		ffl ligature
	   \(AE	    AE		AE
	   \(ae	    ae		ae
	   \(OE	    OE		OE
	   \(oe	    oe		oe
	   \(ss	    B		German eszett
	   \(IJ	    IJ		IJ ligature
	   \(ij	    ij		ij ligature

     Accents:
	   Input    Rendered	Description
	   \(a"	    _		Hungarian umlaut
	   \(a-			macron
	   \(a.			dotted
	   \(a^	    ^		circumflex
	   \(aa	    '		acute
	   \'	    '		acute
	   \(ga	    `		grave
	   \`	    `		grave
	   \(ab	    `		breve
	   \(ac	    ,		cedilla
	   \(ad	    "		dieresis
	   \(ah	    v		caron
	   \(ao	    o		ring
	   \(a~	    ~		tilde
	   \(ho	    ,		ogonek
	   \(ha	    ^		hat (text)
	   \(ti	    ~		tilde (text)

     Accented letters:
	   Input    Rendered	Description
	   \('A	    A		acute A
	   \('E	    E		acute E
	   \('I	    I		acute I
	   \('O	    O		acute O
	   \('U	    U		acute U
	   \('a	    a		acute a
	   \('e	    e		acute e
	   \('i	    i		acute i
	   \('o	    o		acute o
	   \('u	    u		acute u
	   \(`A	    A		grave A
	   \(`E	    E		grave E
	   \(`I	    I		grave I
	   \(`O	    O		grave O
	   \(`U	    U		grave U
	   \(`a	    a		grave a
	   \(`e	    e		grave e
	   \(`i	    i		grave i
	   \(`o	    i		grave o
	   \(`u	    u		grave u
	   \(~A	    A		tilde A
	   \(~N	    N		tilde N
	   \(~O	    O		tilde O
	   \(~a	    a		tilde a
	   \(~n	    n		tilde n
	   \(~o	    o		tilde o
	   \(:A	    A		dieresis A
	   \(:E	    E		dieresis E
	   \(:I	    I		dieresis I
	   \(:O	    O		dieresis O
	   \(:U	    U		dieresis U
	   \(:a	    a		dieresis a
	   \(:e	    e		dieresis e
	   \(:i	    i		dieresis i
	   \(:o	    o		dieresis o
	   \(:u	    u		dieresis u
	   \(:y	    y		dieresis y
	   \(^A	    A		circumflex A
	   \(^E	    E		circumflex E
	   \(^I	    I		circumflex I
	   \(^O	    O		circumflex O
	   \(^U	    U		circumflex U
	   \(^a	    a		circumflex a
	   \(^e	    e		circumflex e
	   \(^i	    i		circumflex i
	   \(^o	    o		circumflex o
	   \(^u	    u		circumflex u
	   \(,C	    C		cedilla	C
	   \(,c	    c		cedilla	c
	   \(/L	    L		stroke L
	   \(/l	    l		stroke l
	   \(/O	    O		stroke O
	   \(/o	    o		stroke o
	   \(oA	    A		ring A
	   \(oa	    a		ring a

     Special letters:
	   Input    Rendered	Description
	   \(-D	    D		Eth
	   \(Sd	    'b		Thorn
	   \(Tp	    b		thorn
	   \(.i	    i		dotless	i
	   \(.j			dotless	j

     Currency:
	   Input    Rendered	Description
	   \(Do	    $		dollar
	   \(ct	    c		cent
	   \(Eu	    EUR		Euro symbol
	   \(eu	    EUR		Euro symbol
	   \(Ye	    Y		yen
	   \(Po	    L		pound
	   \(Cs	    x		Scandinavian
	   \(Fn	    f		florin

     Units:
	   Input    Rendered	Description
	   \(de	    o		degree
	   \(%0	    %o		per-thousand
	   \(fm	    '		minute
	   \(sd	    ''		second
	   \(mc	    u		micro

     Greek letters:
	   Input    Rendered	Description
	   \(*A	    A		Alpha
	   \(*B	    B_		Beta
	   \(*G	    |		Gamma
	   \(*D	    /\		Delta
	   \(*E	    E		Epsilon
	   \(*Z	    Z		Zeta
	   \(*Y	    H		Eta
	   \(*H	    O		Theta
	   \(*I	    I		Iota
	   \(*K	    K		Kappa
	   \(*L	    /\		Lambda
	   \(*M	    M		Mu
	   \(*N	    N		Nu
	   \(*C	    H		Xi
	   \(*O	    O		Omicron
	   \(*P	    TT		Pi
	   \(*R	    _		Rho
	   \(*S	    _		Sigma
	   \(*T	    T		Tau
	   \(*U	    Y		Upsilon
	   \(*F	    O		Phi
	   \(*X	    X		Chi
	   \(*Q	    Y		Psi
	   \(*W	    O		Omega
	   \(*a	    a		alpha
	   \(*b	    B		beta
	   \(*g	    y		gamma
	   \(*d	    d		delta
	   \(*e	    e		epsilon
	   \(*z	    C		zeta
	   \(*y	    n		eta
	   \(*h	    0		theta
	   \(*i	    i		iota
	   \(*k	    k		kappa
	   \(*l	    >\		lambda
	   \(*m	    u		mu
	   \(*n	    v		nu
	   \(*c	    E		xi
	   \(*o	    o		omicron
	   \(*p	    n		pi
	   \(*r	    p		rho
	   \(*s	    o		sigma
	   \(*t	    t		tau
	   \(*u	    u		upsilon
	   \(*f	    o		phi
	   \(*x	    x		chi
	   \(*q	    u		psi
	   \(*w	    w		omega
	   \(+h	    0		theta variant
	   \(+f	    o		phi variant
	   \(+p	    w		pi variant
	   \(+e	    e		epsilon	variant
	   \(ts	    s		sigma terminal

PREDEFINED STRINGS
     Predefined	strings	are inherited from the macro packages of historical
     troff implementations.  They are not recommended for use, as they differ
     across implementations.  Manuals using these predefined strings are
     almost certainly not portable.

     Their syntax is similar to	special	characters, using `\*X'	(for a
     one-character escape), `\*(XX' (two-character), and `\*[N]'
     (N-character).  For details, see the Predefined Strings subsection	of the
     roff(7) manual.

	   Input    Rendered	Description
	   \*(Ba    |		vertical bar
	   \*(Ne    !=		not equal
	   \*(Ge    >=		greater-than-equal
	   \*(Le    <=		less-than-equal
	   \*(Gt    >		greater-than
	   \*(Lt    <		less-than
	   \*(Pm    +-		plus-minus
	   \*(If    infinity	infinity
	   \*(Pi    pi		pi
	   \*(Na    NaN		NaN
	   \*(Am    &		ampersand
	   \*R			restricted mark
	   \*(Tm		trade mark
	   \*q	    "		double-quote
	   \*(Rq    ''		right-double-quote
	   \*(Lq    ``		left-double-quote
	   \*(lp    (		right-parenthesis
	   \*(rp    )		left-parenthesis
	   \*(lq		left double-quote
	   \*(rq		right double-quote
	   \*(ua    ^		up arrow
	   \*(va		up-down	arrow
	   \*(<=    <=		less-than-equal
	   \*(>=    >=		greater-than-equal
	   \*(aa    '		acute
	   \*(ga    `		grave
	   \*(Px    POSIX	POSIX standard name
	   \*(Ai    ANSI	ANSI standard name

UNICODE	CHARACTERS
     The escape	sequences

	   \[uXXXX] and	\C'uXXXX'

     are interpreted as	Unicode	codepoints.  The codepoint must	be in the
     range above U+0080	and less than U+10FFFF.	 For compatibility, the	hexa-
     decimal digits `A'	to `F' must be given as	uppercase characters, and
     points must be zero-padded	to four	characters; if greater than four char-
     acters, no	zero padding is	allowed.  Unicode surrogates are not allowed.

NUMBERED CHARACTERS
     For backward compatibility	with existing manuals, mandoc(1) also supports
     the

	   \N'number'

     escape sequence, inserting	the character number from the current charac-
     ter set into the output.  Of course, this is inherently non-portable and
     is	already	marked as deprecated in	the Heirloom roff manual.  For exam-
     ple, do not use \N'34', use \(dq, or even the plain `"' character where
     possible.

COMPATIBILITY
     This section documents compatibility between mandoc and other troff
     implementations, at this time limited to GNU troff	("groff").

     -	 The \N'' escape sequence is limited to	printable characters; in
	 groff,	it accepts arbitrary character numbers.
     -	 In -Tascii, the \(ss, \(nm, \(nb, \(nc, \(ib, \(ip, \(pp, \[sum],
	 \[product], \[coproduct], \(gr, \(-h, and \(a.	special	characters
	 render	differently between mandoc and groff.
     -	 In -Thtml and -Txhtml,	the \(~=, \(nb,	and \(nc special characters
	 render	differently between mandoc and groff.
     -	 The -Tps and -Tpdf modes format like -Tascii instead of rendering
	 glyphs	as in groff.
     -	 The \[radicalex], \[sqrtex], and \(ru special characters have been
	 omitted from mandoc either because they are poorly documented or they
	 have no known representation.

SEE ALSO
     mandoc(1),	man(7),	mdoc(7), roff(7)

AUTHORS
     The mandoc_char manual page was written by	Kristaps Dzonsons
     <kristaps@bsd.lv>.

CAVEATS
     The predefined string `\*(Ba' mimics the behaviour	of the `|' character
     in	mdoc(7); thus, if you wish to render a vertical	bar with no side
     effects, use the `\(ba' escape.

FreeBSD	11.1		       February	22, 2018		  FreeBSD 11.1

NAME | DESCRIPTION | SPECIAL CHARACTERS | PREDEFINED STRINGS | UNICODE CHARACTERS | NUMBERED CHARACTERS | COMPATIBILITY | SEE ALSO | AUTHORS | CAVEATS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mandoc_char&sektion=7&manpath=FreeBSD+11.1-RELEASE+and+Ports>

home | help