version 1.69, 2018/08/08 13:54:05 |
version 1.76, 2019/03/31 19:17:26 |
|
|
.\" |
.\" |
.\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org> |
.\" Copyright (c) 2003 Jason McIntyre <jmc@openbsd.org> |
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2011, 2013, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org> |
.\" Copyright (c) 2011,2013,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org> |
.\" |
.\" |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" Permission to use, copy, modify, and distribute this software for any |
.\" purpose with or without fee is hereby granted, provided that the above |
.\" purpose with or without fee is hereby granted, provided that the above |
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 131 supporting it, for example in |
|
Line 107 supporting it, for example in |
|
.Fl T Cm utf8 |
.Fl T Cm utf8 |
and |
and |
.Fl T Cm html . |
.Fl T Cm html . |
But currently, no practically relevant manual page formatter actually |
But currently, no practically relevant manual page formatter requires |
requires that subtlety, so in manual pages just write plain |
that subtlety, so in manual pages, it is sufficient to 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 Em Input Ta Em Description |
.It Em Input Ta Em Description |
.It Sq \e\ \& Ta unpaddable non-breaking space |
.It Sq \e\ \& Ta unpaddable non-breaking space |
.It \e\(ti Ta paddable non-breaking space |
.It \e\(ti Ta paddable non-breaking space |
.It \e0 Ta unpaddable, breaking digit-width space |
.It \e0 Ta digit-width space allowing line break |
.It \e| Ta one-sixth \e(em narrow space, zero width in nroff mode |
.It \e| Ta one-sixth \e(em narrow space, zero width in nroff mode |
.It \e^ Ta one-twelfth \e(em half-narrow space, zero width in nroff |
.It \e^ Ta one-twelfth \e(em half-narrow space, zero width in nroff |
.It \e& Ta zero-width space |
.It \e& Ta zero-width non-breaking space |
|
.It \e) Ta zero-width space transparent to end-of-sentence detection |
.It \e% Ta zero-width space allowing hyphenation |
.It \e% Ta zero-width space allowing hyphenation |
|
.It \e: Ta zero-width space allowing line break |
.El |
.El |
.Pp |
.Pp |
Lines: |
Lines: |
|
|
.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 542 Accented letters: |
|
Line 545 Accented letters: |
|
.It \e(\(aqI Ta \('I Ta acute I |
.It \e(\(aqI Ta \('I Ta acute I |
.It \e(\(aqO Ta \('O Ta acute O |
.It \e(\(aqO Ta \('O Ta acute O |
.It \e(\(aqU Ta \('U Ta acute U |
.It \e(\(aqU Ta \('U Ta acute U |
|
.It \e(\(aqY Ta \('Y Ta acute Y |
.It \e(\(aqa Ta \('a Ta acute a |
.It \e(\(aqa Ta \('a Ta acute a |
.It \e(\(aqe Ta \('e Ta acute e |
.It \e(\(aqe Ta \('e Ta acute e |
.It \e(\(aqi Ta \('i Ta acute i |
.It \e(\(aqi Ta \('i Ta acute i |
.It \e(\(aqo Ta \('o Ta acute o |
.It \e(\(aqo Ta \('o Ta acute o |
.It \e(\(aqu Ta \('u Ta acute u |
.It \e(\(aqu Ta \('u Ta acute u |
|
.It \e(\(aqy Ta \('y Ta acute y |
.It \e(\(gaA Ta \(`A Ta grave A |
.It \e(\(gaA Ta \(`A Ta grave A |
.It \e(\(gaE Ta \(`E Ta grave E |
.It \e(\(gaE Ta \(`E Ta grave E |
.It \e(\(gaI Ta \(`I Ta grave I |
.It \e(\(gaI Ta \(`I Ta grave I |
Line 760 For backward compatibility with existing manuals, |
|
Line 765 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 |