version 1.111, 2019/01/01 03:45:29 |
version 1.119, 2022/05/31 18:09:57 |
|
|
.\" $Id$ |
.\" $Id$ |
.\" |
.\" |
|
.\" Copyright (c) 2010-2019, 2022 Ingo Schwarze <schwarze@openbsd.org> |
.\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
.\" Copyright (c) 2010-2019 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 |
|
|
The proper spacing is also intelligently preserved if a sentence ends at |
The proper spacing is also intelligently preserved if a sentence ends at |
the boundary of a macro line. |
the boundary of a macro line. |
.Pp |
.Pp |
|
If an input line happens to end with a period, exclamation or question |
|
mark that isn't the end of a sentence, append a zero-width space |
|
.Pq Sq \e& . |
|
.Pp |
Examples: |
Examples: |
.Bd -literal -offset indent -compact |
.Bd -literal -offset indent -compact |
Do not end sentences mid-line like this. Instead, |
Do not end sentences mid-line like this. Instead, |
end a sentence like this. |
end a sentence like this. |
A macro would end like this: |
A macro would end like this: |
\&.Xr mandoc 1 \&. |
\&.Xr mandoc 1 \&. |
|
An abbreviation at the end of an input line needs escaping, e.g.\e& |
|
like this. |
.Ed |
.Ed |
.Sh REQUEST SYNTAX |
.Sh REQUEST SYNTAX |
A request or macro line consists of: |
A request or macro line consists of: |
Line 503 This is a Heirloom extension and currently unsupported |
|
Line 509 This is a Heirloom extension and currently unsupported |
|
.It Ic \&br |
.It Ic \&br |
Break the output line. |
Break the output line. |
.It Ic \&break |
.It Ic \&break |
Break out of a |
Break out of the innermost |
.Ic \&while |
.Ic \&while |
loop. |
loop. |
Currently unsupported. |
|
.It Ic \&breakchar Ar char ... |
.It Ic \&breakchar Ar char ... |
Optional line break characters. |
Optional line break characters. |
This is a Heirloom extension and currently ignored. |
This is a Heirloom extension and currently ignored. |
Line 619 Its syntax can be either |
|
Line 624 Its syntax can be either |
|
.Pp |
.Pp |
or |
or |
.Bd -literal -offset indent |
.Bd -literal -offset indent |
.Pf . Ic \&de Ar macroname Ar endmacro |
.Pf . Ic \&de Ar macroname endmacro |
.Ar definition |
.Ar definition |
.Pf . Ar endmacro |
.Pf . Ar endmacro |
.Ed |
.Ed |
|
|
.Ic \efP . |
.Ic \efP . |
.It Ic \eg[ Ns Ar name Ns Ic \&] |
.It Ic \eg[ Ns Ar name Ns Ic \&] |
Interpolate the format of a number register; ignored by |
Interpolate the format of a number register; ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 , |
|
which interpolates an empty string instead. |
For short names, there are variants |
For short names, there are variants |
.Ic \eg Ns Ar c |
.Ic \eg Ns Ar c |
and |
and |
Line 2161 Break the output line at the end of the current word. |
|
Line 2167 Break the output line at the end of the current word. |
|
Set number register; ignored by |
Set number register; ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.It Ic \er |
.It Ic \er |
Move up by one line; ignored by |
Reverse line feed: move up by one output line. |
.Xr mandoc 1 . |
Currently unsupported. |
.It Ic \eS\(aq Ns Ar number Ns Ic \(aq |
.It Ic \eS\(aq Ns Ar number Ns Ic \(aq |
Slant output; ignored by |
Slant output; ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
Line 2183 Horizontal tab; ignored by |
|
Line 2189 Horizontal tab; ignored by |
|
Move up by half a line; ignored by |
Move up by half a line; ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
.It Ic \eV[ Ns Ar name Ns Ic \&] |
.It Ic \eV[ Ns Ar name Ns Ic \&] |
Interpolate an environment variable; ignored by |
Interpolate an environment variable. |
.Xr mandoc 1 . |
|
For short names, there are variants |
For short names, there are variants |
.Ic \eV Ns Ar c |
.Ic \eV Ns Ar c |
and |
and |
.Ic \eV( Ns Ar cc . |
.Ic \eV( Ns Ar cc . |
|
This escape sequence is intentionally unsupported; |
|
.Xr mandoc 1 |
|
prints the string |
|
.Dq Pf $ Brq Ar name |
|
instead of inspecting the environment. |
.It Ic \ev\(aq Ns Ar number Ns Ic \(aq |
.It Ic \ev\(aq Ns Ar number Ns Ic \(aq |
Vertical motion; ignored by |
Vertical motion; ignored by |
.Xr mandoc 1 . |
.Xr mandoc 1 . |
|
|
.Pp |
.Pp |
The special semantics of the |
The special semantics of the |
.Cm nS |
.Cm nS |
number register is an idiosyncracy of |
number register is an idiosyncrasy of |
.Ox |
.Ox |
manuals and not supported by other |
manuals and not supported by other |
.Xr mdoc 7 |
.Xr mdoc 7 |
|
|
.At v2 , |
.At v2 , |
then ported nroff to C as troff, which Brian W. Kernighan released with |
then ported nroff to C as troff, which Brian W. Kernighan released with |
.At v7 . |
.At v7 . |
In 1989, James Clarke re-implemented troff in C++, naming it groff. |
In 1989, James Clark re-implemented troff in C++, naming it groff. |
.Sh AUTHORS |
.Sh AUTHORS |
.An -nosplit |
.An -nosplit |
This |
This |