version 1.69, 2018/08/08 13:54:05 |
version 1.73, 2018/08/10 22:12:44 |
Line 62 escape sequences to represent national language charac |
|
Line 62 escape sequences to represent national language charac |
|
names; instead, provide ASCII transcriptions of the names. |
names; instead, provide ASCII transcriptions of the names. |
.Ss Dashes and Hyphens |
.Ss Dashes and Hyphens |
In typography there are different types of dashes of various width: |
In typography there are different types of dashes of various width: |
the hyphen (-), |
the hyphen (\(hy), |
the en-dash (\(en), |
the en-dash (\(en), |
the em-dash (\(em), |
the em-dash (\(em), |
and the mathematical minus sign (\(mi). |
and the mathematical minus sign (\(mi). |
|
|
lorry-driver |
lorry-driver |
.Ed |
.Ed |
.Pp |
.Pp |
If a word on a text input line contains a hyphen, a formatter may decide |
|
to insert an output line break after the hyphen if that helps filling |
|
the current output line, but the whole word would overflow the line. |
|
If it is important that the word is not broken across lines in this |
|
way, a zero-width space |
|
.Pq Sq \e& |
|
can be inserted before or after the hyphen. |
|
While |
|
.Xr mandoc 1 |
|
never breaks the output line after hyphens adjacent to a zero-width |
|
space, after any of the other dash- or hyphen-like characters |
|
represented by escape sequences, or after hyphens inside words in |
|
macro arguments, other software may not respect these rules and may |
|
break the line even in such cases. |
|
.Pp |
|
Some |
|
.Xr roff 7 |
|
implementations contains dictionaries allowing to break the line |
|
at syllable boundaries even inside words that contain no hyphens. |
|
Such automatic hyphenation is not supported by |
|
.Xr mandoc 1 , |
|
which only breaks the line at whitespace, and inside words only |
|
after existing hyphens. |
|
.Pp |
|
The en-dash is used to separate the two elements of a range, |
The en-dash is used to separate the two elements of a range, |
or can be used the same way as an em-dash. |
or can be used the same way as an em-dash. |
It should be written as |
It should be written as |
Line 135 But currently, no practically relevant manual page for |
|
Line 111 But currently, no practically relevant manual page for |
|
requires that subtlety, so in manual pages just write plain |
requires that subtlety, so in manual pages just write plain |
.Sq - |
.Sq - |
to represent hyphen, minus, and hyphen-minus. |
to represent hyphen, minus, and hyphen-minus. |
|
.Pp |
|
If a word on a text input line contains a hyphen, a formatter may decide |
|
to insert an output line break after the hyphen if that helps filling |
|
the current output line, but the whole word would overflow the line. |
|
If it is important that the word is not broken across lines in this |
|
way, a zero-width space |
|
.Pq Sq \e& |
|
can be inserted before or after the hyphen. |
|
While |
|
.Xr mandoc 1 |
|
never breaks the output line after hyphens adjacent to a zero-width |
|
space, after any of the other dash- or hyphen-like characters |
|
represented by escape sequences, or after hyphens inside words in |
|
macro arguments, other software may not respect these rules and may |
|
break the line even in such cases. |
|
.Pp |
|
Some |
|
.Xr roff 7 |
|
implementations contains dictionaries allowing to break the line |
|
at syllable boundaries even inside words that contain no hyphens. |
|
Such automatic hyphenation is not supported by |
|
.Xr mandoc 1 , |
|
which only breaks the line at whitespace, and inside words only |
|
after existing hyphens. |
.Ss Spaces |
.Ss Spaces |
To separate words in normal text, for indenting and alignment |
To separate words in normal text, for indenting and alignment |
in literal context, and when none of the following special cases apply, |
in literal context, and when none of the following special cases apply, |
|
|
.It \e(rq Ta \(rq Ta right double-quote |
.It \e(rq Ta \(rq Ta right double-quote |
.It \e(oq Ta \(oq Ta left single-quote |
.It \e(oq Ta \(oq Ta left single-quote |
.It \e(cq Ta \(cq Ta right single-quote |
.It \e(cq Ta \(cq Ta right single-quote |
.It \e(aq Ta \(aq Ta apostrophe quote (text) |
.It \e(aq Ta \(aq Ta apostrophe quote (ASCII character) |
.It \e(dq Ta \(dq Ta double quote (text) |
.It \e(dq Ta \(dq Ta double quote (ASCII character) |
.It \e(Fo Ta \(Fo Ta left guillemet |
.It \e(Fo Ta \(Fo Ta left guillemet |
.It \e(Fc Ta \(Fc Ta right guillemet |
.It \e(Fc Ta \(Fc Ta right guillemet |
.It \e(fo Ta \(fo Ta left single guillemet |
.It \e(fo Ta \(fo Ta left single guillemet |
|
|
.It \e(rC Ta \(rC Ta right brace |
.It \e(rC Ta \(rC Ta right brace |
.It \e(la Ta \(la Ta left angle |
.It \e(la Ta \(la Ta left angle |
.It \e(ra Ta \(ra Ta right angle |
.It \e(ra Ta \(ra Ta right angle |
.It \e(bv Ta \(bv Ta brace extension |
.It \e(bv Ta \(bv Ta brace extension (special font) |
.It \e[braceex] Ta \[braceex] Ta brace extension |
.It \e[braceex] Ta \[braceex] Ta brace extension |
.It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket |
.It \e[bracketlefttp] Ta \[bracketlefttp] Ta top-left hooked bracket |
.It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket |
.It \e[bracketleftbt] Ta \[bracketleftbt] Ta bottom-left hooked bracket |
|
|
.It Em Input Ta Em Rendered Ta Em Description |
.It Em Input Ta Em Rendered Ta Em Description |
.It \e(AN Ta \(AN Ta logical and |
.It \e(AN Ta \(AN Ta logical and |
.It \e(OR Ta \(OR Ta logical or |
.It \e(OR Ta \(OR Ta logical or |
.It \e(no Ta \(no Ta logical not |
.It \e[tno] Ta \[tno] Ta logical not (text font) |
.It \e[tno] Ta \[tno] Ta logical not (text) |
.It \e(no Ta \(no Ta logical not (special font) |
.It \e(te Ta \(te Ta existential quantifier |
.It \e(te Ta \(te Ta existential quantifier |
.It \e(fa Ta \(fa Ta universal quantifier |
.It \e(fa Ta \(fa Ta universal quantifier |
.It \e(st Ta \(st Ta such that |
.It \e(st Ta \(st Ta such that |
|
|
Mathematical: |
Mathematical: |
.Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact |
.Bl -column "xxcoproductxx" "Rendered" "Description" -offset indent -compact |
.It Em Input Ta Em Rendered Ta Em Description |
.It Em Input Ta Em Rendered Ta Em Description |
.It \e(pl Ta \(pl Ta plus |
.It \e- Ta \- Ta minus (text font) |
.It \e(mi Ta \(mi Ta minus |
.It \e(mi Ta \(mi Ta minus (special font) |
.It \e- Ta \- Ta minus (text) |
.It + Ta + Ta plus (text font) |
|
.It \e(pl Ta \(pl Ta plus (special font) |
.It \e(-+ Ta \(-+ Ta minus-plus |
.It \e(-+ Ta \(-+ Ta minus-plus |
.It \e(+- Ta \(+- Ta plus-minus |
.It \e[t+-] Ta \[t+-] Ta plus-minus (text font) |
.It \e[t+-] Ta \[t+-] Ta plus-minus (text) |
.It \e(+- Ta \(+- Ta plus-minus (special font) |
.It \e(pc Ta \(pc Ta center-dot |
.It \e(pc Ta \(pc Ta center-dot |
.It \e(mu Ta \(mu Ta multiply |
.It \e[tmu] Ta \[tmu] Ta multiply (text font) |
.It \e[tmu] Ta \[tmu] Ta multiply (text) |
.It \e(mu Ta \(mu Ta multiply (special font) |
.It \e(c* Ta \(c* Ta circle-multiply |
.It \e(c* Ta \(c* Ta circle-multiply |
.It \e(c+ Ta \(c+ Ta circle-plus |
.It \e(c+ Ta \(c+ Ta circle-plus |
.It \e(di Ta \(di Ta divide |
.It \e[tdi] Ta \[tdi] Ta divide (text font) |
.It \e[tdi] Ta \[tdi] Ta divide (text) |
.It \e(di Ta \(di Ta divide (special font) |
.It \e(f/ Ta \(f/ Ta fraction |
.It \e(f/ Ta \(f/ Ta fraction |
.It \e(** Ta \(** Ta asterisk |
.It \e(** Ta \(** Ta asterisk |
.It \e(<= Ta \(<= Ta less-than-equal |
.It \e(<= Ta \(<= Ta less-than-equal |
|
|
.It \e(ao Ta \(ao Ta ring |
.It \e(ao Ta \(ao Ta ring |
.It \e(a\(ti Ta \(a~ Ta tilde |
.It \e(a\(ti Ta \(a~ Ta tilde |
.It \e(ho Ta \(ho Ta ogonek |
.It \e(ho Ta \(ho Ta ogonek |
.It \e(ha Ta \(ha Ta hat (text) |
.It \e(ha Ta \(ha Ta hat (ASCII character) |
.It \e(ti Ta \(ti Ta tilde (text) |
.It \e(ti Ta \(ti Ta tilde (ASCII character) |
.El |
.El |
.Pp |
.Pp |
Accented letters: |
Accented letters: |
Line 760 For backward compatibility with existing manuals, |
|
Line 761 For backward compatibility with existing manuals, |
|
.Xr mandoc 1 |
.Xr mandoc 1 |
also supports the |
also supports the |
.Pp |
.Pp |
.Dl \eN\(aq Ns Ar number Ns \(aq |
.Dl \eN\(aq Ns Ar number Ns \(aq and \e[ Ns Cm char Ns Ar number ] |
.Pp |
.Pp |
escape sequence, inserting the character |
escape sequences, inserting the character |
.Ar number |
.Ar number |
from the current character set into the output. |
from the current character set into the output. |
Of course, this is inherently non-portable and is already marked |
Of course, this is inherently non-portable and is already marked |
as deprecated in the Heirloom roff manual. |
as deprecated in the Heirloom roff manual; |
For example, do not use \eN\(aq34\(aq, use \e(dq, or even the plain |
on top of that, the second form is a GNU extension. |
|
For example, do not use \eN\(aq34\(aq or \e[char34], use \e(dq, |
|
or even the plain |
.Sq \(dq |
.Sq \(dq |
character where possible. |
character where possible. |
.Sh COMPATIBILITY |
.Sh COMPATIBILITY |