=================================================================== RCS file: /cvs/mandoc/roff.7,v retrieving revision 1.94 retrieving revision 1.100 diff -u -p -r1.94 -r1.100 --- mandoc/roff.7 2017/07/05 12:25:17 1.94 +++ mandoc/roff.7 2018/08/18 21:37:01 1.100 @@ -1,7 +1,7 @@ -.\" $Id: roff.7,v 1.94 2017/07/05 12:25:17 schwarze Exp $ +.\" $Id: roff.7,v 1.100 2018/08/18 21:37:01 schwarze Exp $ .\" .\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons -.\" Copyright (c) 2010,2011,2013-2015,2017 Ingo Schwarze +.\" Copyright (c) 2010-2018 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: July 5 2017 $ +.Dd $Mdocdate: August 18 2018 $ .Dt ROFF 7 .Os .Sh NAME @@ -86,13 +86,9 @@ character, and, in certain circumstances, the tab char The backslash character .Sq \e indicates the start of an escape sequence, used for example for -.Sx Comments , -.Sx Special Characters , -.Sx Predefined Strings , +.Sx Comments and -user-defined strings defined using the -.Sx ds -request. +.Sx Special Characters . For a listing of escape sequences, consult the .Sx ESCAPE SEQUENCE REFERENCE below. @@ -169,34 +165,6 @@ Text decoration is recommended for .Xr mdoc 7 , which encourages semantic annotation. -.Ss Predefined Strings -Predefined strings, like -.Sx Special Characters , -mark special output glyphs. -Predefined strings are escaped with the slash-asterisk, -.Sq \e* : -single-character -.Sq \e*X , -two-character -.Sq \e*(XX , -and N-character -.Sq \e* Ns Bq N . -.Pp -Examples: -.Bl -tag -width Ds -offset indent -compact -.It Li \e*(Am -Two-letter ampersand predefined string. -.It Li \e*q -One-letter double-quote predefined string. -.El -.Pp -Predefined strings are not recommended for use, -as they differ across implementations. -Those supported by -.Xr mandoc 1 -are listed in -.Xr mandoc_char 7 . -Manuals using these predefined strings are almost certainly not portable. .Ss Whitespace Whitespace consists of the space character. In text lines, whitespace is preserved within a line. @@ -206,7 +174,7 @@ Unescaped trailing spaces are stripped from text line literal context. In general, trailing whitespace on any input line is discouraged for reasons of portability. -In the rare case that a blank character is needed at the end of an +In the rare case that a space character is needed at the end of an input line, it may be forced by .Sq \e\ \e& . .Pp @@ -665,7 +633,7 @@ produces .Pp in the input stream, and thus in the output: \fI\^XtFree\^\fP. Each occurrence of \e\e$* is replaced with all the arguments, -joined together with single blank characters. +joined together with single space characters. .Pp Since macros and user-defined strings share a common string table, defining a macro @@ -922,15 +890,15 @@ The following .Ar font arguments are supported: .Bl -tag -width 4n -offset indent -.It Cm B , BI , 3 , 4 +.It Cm B , BI , CB , 3 , 4 switches to .Sy bold font -.It Cm I , 2 +.It Cm I , CI , 2 switches to .Em underlined font -.It Cm R , CW , 1 +.It Cm R , CR , CW , 1 switches to normal font .It Cm P No "or no argument" switches back to the previous font @@ -1346,9 +1314,12 @@ Currently unsupported. Temporarily turn off line numbering. Currently unsupported. .It Ic \&nop Ar body -Execute the rest of the input line as a request or macro line. -Currently unsupported. -.It Ic \&nr Ar register Oo Cm + Ns | Ns Cm - Oc Ns Ar expression +Execute the rest of the input line as a request, macro, or text line, +skipping the +.Ic \&nop +request and any space characters immediately following it. +This is mostly used to indent text lines inside macro definitions. +.It Ic \&nr Ar register Oo Cm + Ns | Ns Cm - Oc Ns Ar expression Op Ar stepsize Define or change a register. A register is an arbitrary string value that defines some sort of state, which influences parsing and/or formatting. @@ -1360,6 +1331,14 @@ below. If it is prefixed by a sign, the register will be incremented or decremented instead of assigned to. .Pp +The +.Ar stepsize +is used by the +.Ic \en+ +auto-increment feature. +It remains unchanged when omitted while changing an existing register, +and it defaults to 0 when defining a new register. +.Pp The following .Ar register is handled specially: @@ -1471,7 +1450,7 @@ This is a groff extension and currently ignored. .It Ic \&rchar Ar glyph ... Remove glyph definitions. Currently unsupported. -.It Ic \&rd Op Ar prompt Op Ar agument ... +.It Ic \&rd Op Ar prompt Op Ar argument ... Read from standard input. Currently ignored. .It Ic \&recursionlimit Ar maxrec maxtail @@ -1840,6 +1819,12 @@ is an unpaddable space-sized non-breaking space charac .Ss \e\(dq The rest of the input line is treated as .Sx Comments . +.Ss \e# +Line continuation with comment. +Discard the rest of the physical input line and continue the logical +input line on the next physical input line, joining the text on +both lines together as if it were on a single input line. +This is a groff extension. .Ss \e% Hyphenation allowed at this point of the word; ignored by .Xr mandoc 1 . @@ -1856,15 +1841,30 @@ with two-letter names, see .Xr mandoc_char 7 . .Ss \e* Ns Bq Ar name Interpolate the string with the -.Ar name ; -see -.Sx Predefined Strings -and -.Sx ds . +.Ar name . For short names, there are variants .No \e* Ns Ar c and .No \e*( Ns Ar cc . +.Pp +One string is predefined on the +.Nm +language level: \e*(.T expands to the name of the output device, +for example ascii, utf8, ps, pdf, html, or markdown. +.Pp +Macro sets traditionally predefine additional strings which are not +portable and differ across implementations. +Those supported by +.Xr mandoc 1 +are listed in +.Xr mandoc_char 7 . +.Pp +Strings can be defined, changed, and deleted with the +.Ic \&ds , +.Ic \&as , +and +.Ic \&rm +requests. .Ss \e, Left italic correction (groff extension); ignored by .Xr mandoc 1 . @@ -1996,13 +1996,19 @@ and Character .Ar number on the current font. -.Ss \en Ns Bq Ar name +.Ss \en Ns Oo +|- Oc Ns Bq Ar name Interpolate the number register .Ar name . For short names, there are variants .No \en Ns Ar c and .No \en( Ns Ar cc . +If the optional sign is specified, +the register is first incremented or decremented by the +.Ar stepsize +that was specified in the relevant +.Ic \&nr +request, and the changed value is interpolated. .Ss \eo\(aq Ns Ar string Ns \(aq Overstrike, writing all the characters contained in the .Ar string