[BACK]Return to roff.7 CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/roff.7 between version 1.47 and 1.53

version 1.47, 2014/02/14 23:50:57 version 1.53, 2014/04/07 15:07:13
Line 659  This line-scoped request is intended to have one argum
Line 659  This line-scoped request is intended to have one argum
 the font family to be selected.  the font family to be selected.
 It is a groff extension, and currently, it is ignored including its  It is a groff extension, and currently, it is ignored including its
 arguments, and the number of arguments is not checked.  arguments, and the number of arguments is not checked.
   .Ss \&ft
   Change the font.
   Its syntax is as follows:
   .Pp
   .D1 Pf . Cm \&ft Op Ar font
   .Pp
   The following
   .Ar font
   arguments are supported:
   .Bl -tag -width 4n -offset indent
   .It Cm B , BI , 3 , 4
   switches to
   .Sy bold
   font
   .It Cm I , 2
   switches to
   .Em underlined
   font
   .It Cm R , CW , 1
   switches to normal font
   .It Cm P No "or no argument"
   switches back to the previous font
   .El
   .Pp
   This request takes effect only locally, may be overridden by macros
   and escape sequences, and is only supported in
   .Xr man 7
   for now.
 .Ss \&hw  .Ss \&hw
 Specify hyphenation points in words.  Specify hyphenation points in words.
 This line-scoped request is currently ignored.  This line-scoped request is currently ignored.
Line 677  Its syntax is equivalent to
Line 705  Its syntax is equivalent to
 .Sx \&if .  .Sx \&if .
 .Ss \&if  .Ss \&if
 Begins a conditional.  Begins a conditional.
 Right now, the conditional evaluates to true  This request has the following syntax:
 if and only if it starts with the letter  .Bd -literal -offset indent
 .Sy n ,  \&.if COND BODY
 indicating processing in nroff style as opposed to troff style.  .Ed
   .Bd -literal -offset indent
   \&.if COND \e{BODY
   BODY...\e}
   .Ed
   .Bd -literal -offset indent
   \&.if COND \e{\e
   BODY...
   \&.\e}
   .Ed
   .Pp
   COND is a conditional statement.
   Currently,
   .Xr mandoc 1
   supports the following subset of roff conditionals:
   .Bl -bullet
   .It
   If
   .Sq \&!
   is prefixed to COND, the condition is logically inverted.
   .It
   If the first character of COND is
   .Sq n
   .Pq nroff mode
   or
   .Sq o
   .Pq odd page ,
   COND evaluates to true.
   .It
   If the first character of COND is
   .Sq c
   .Pq character available ,
   .Sq d
   .Pq string defined ,
   .Sq e
   .Pq even page ,
   .Sq r
   .Pq register accessed ,
   or
   .Sq t
   .Pq troff mode ,
   COND evaluates to false.
   .It
   If COND starts with a parenthesis or with an optionally signed
   integer number, it is evaluated according to the rules of
   .Sx Numerical expressions
   explained below.
   It evaluates to true if the the result is positive,
   or to false if the result is zero or negative.
   .It
   Otherwise, the first character of COND is regarded as a delimiter
   and COND evaluates to true if the string extending from its first
   to its second occurrence is equal to the string extending from its
   second to its third occurrence.
   .It
   If COND cannot be parsed, it evaluates to false.
   .El
   .Pp
 If a conditional is false, its children are not processed, but are  If a conditional is false, its children are not processed, but are
 syntactically interpreted to preserve the integrity of the input  syntactically interpreted to preserve the integrity of the input
 document.  document.
Line 698  will continue to syntactically interpret to the block 
Line 783  will continue to syntactically interpret to the block 
 conditional.  conditional.
 Sub-conditionals, in this case, obviously inherit the truth value of  Sub-conditionals, in this case, obviously inherit the truth value of
 the parent.  the parent.
 This request has the following syntax:  
 .Bd -literal -offset indent  
 \&.if COND \e{\e  
 BODY...  
 \&.\e}  
 .Ed  
 .Bd -literal -offset indent  
 \&.if COND \e{ BODY  
 BODY... \e}  
 .Ed  
 .Bd -literal -offset indent  
 \&.if COND \e{ BODY  
 BODY...  
 \&.\e}  
 .Ed  
 .Bd -literal -offset indent  
 \&.if COND \e  
 BODY  
 .Ed  
 .Pp  .Pp
 COND is a conditional statement.  
 roff allows for complicated conditionals; mandoc is much simpler.  
 At this time, mandoc supports only  
 .Sq n ,  
 evaluating to true;  
 and  
 .Sq t ,  
 .Sq e ,  
 and  
 .Sq o ,  
 evaluating to false.  
 All other invocations are read up to the next end of line or space and  
 evaluate as false.  
 .Pp  
 If the BODY section is begun by an escaped brace  If the BODY section is begun by an escaped brace
 .Sq \e{ ,  .Sq \e{ ,
 scope continues until a closing-brace escape sequence  scope continues until the end of the input line containing the
 .Sq \.\e} .  matching closing-brace escape sequence
   .Sq \e} .
 If the BODY is not enclosed in braces, scope continues until  If the BODY is not enclosed in braces, scope continues until
 the end of the line.  the end of the line.
 If the COND is followed by a BODY on the same line, whether after a  If the COND is followed by a BODY on the same line, whether after a
Line 815  Otherwise, it only terminates the
Line 868  Otherwise, it only terminates the
 and arguments following it or the  and arguments following it or the
 .Sq \&..  .Sq \&..
 request are discarded.  request are discarded.
   .Ss \&ll
   Change the output line length.
   Its syntax is as follows:
   .Pp
   .D1 Pf . Cm \&ll Op Oo +|- Oc Ns Ar width
   .Pp
   If the
   .Ar width
   argument is omitted, the line length is reset to its previous value.
   The default setting for terminal output is 78n.
   If a sign is given, the line length is added to or subtracted from;
   otherwise, it is set to the provided value.
   Using this request in new manuals is discouraged for several reasons,
   among others because it overrides the
   .Xr mandoc 1
   .Fl O Cm width
   command line option.
 .Ss \&ne  .Ss \&ne
 Declare the need for the specified minimum vertical space  Declare the need for the specified minimum vertical space
 before the next trap or the bottom of the page.  before the next trap or the bottom of the page.
Line 822  This line-scoped request is currently ignored.
Line 892  This line-scoped request is currently ignored.
 .Ss \&nh  .Ss \&nh
 Turn off automatic hyphenation mode.  Turn off automatic hyphenation mode.
 This line-scoped request is currently ignored.  This line-scoped request is currently ignored.
 .Ss \&rm  
 Remove a request, macro or string.  
 This request is intended to have one argument,  
 the name of the request, macro or string to be undefined.  
 Currently, it is ignored including its arguments,  
 and the number of arguments is not checked.  
 .Ss \&nr  .Ss \&nr
 Define or change a register.  Define or change a register.
 A register is an arbitrary string value that defines some sort of state,  A register is an arbitrary string value that defines some sort of state,
 which influences parsing and/or formatting.  which influences parsing and/or formatting.
 Its syntax is as follows:  Its syntax is as follows:
 .Pp  .Pp
 .D1 Pf \. Cm \&nr Ar name Oo +|- Oc Ns Ar value  .D1 Pf \. Cm \&nr Ar name Oo +|- Oc Ns Ar expression
 .Pp  .Pp
 The  For the syntax of
 .Ar value  .Ar expression ,
 may, at the moment, only be an integer.  see
   .Sx Numerical expressions
   below.
 If it is prefixed by a sign, the register will be  If it is prefixed by a sign, the register will be
 incremented or decremented instead of assigned to.  incremented or decremented instead of assigned to.
 .Pp  .Pp
Line 873  Change point size.
Line 939  Change point size.
 This line-scoped request is intended to take one numerical argument.  This line-scoped request is intended to take one numerical argument.
 Currently, it is ignored including its arguments,  Currently, it is ignored including its arguments,
 and the number of arguments is not checked.  and the number of arguments is not checked.
   .Ss \&rm
   Remove a request, macro or string.
   Its syntax is as follows:
   .Pp
   .D1 Pf \. Cm \&rm Ar name
   .Ss \&rr
   Remove a register.
   Its syntax is as follows:
   .Pp
   .D1 Pf \. Cm \&rr Ar name
 .Ss \&so  .Ss \&so
 Include a source file.  Include a source file.
 Its syntax is as follows:  Its syntax is as follows:
Line 941  Begin a table, which formats input in aligned rows and
Line 1017  Begin a table, which formats input in aligned rows and
 See  See
 .Xr tbl 7  .Xr tbl 7
 for a description of the tbl language.  for a description of the tbl language.
   .Ss Numerical expressions
   The
   .Sx \&nr ,
   .Sx \&if ,
   and
   .Sx \&ie
   requests accept integer numerical expressions as arguments.
   These are always evaluated using the C
   .Vt int
   type; integer overflow works the same way as in the C language.
   Numbers consist of an arbitrary number of digits
   .Sq 0
   to
   .Sq 9
   prefixed by an optional sign
   .Sq +
   or
   .Sq - .
   .Pp
   The following binary operators are implemented.
   Unless otherwise stated, they behave as in the C language:
   .Pp
   .Bl -tag -width 2n -compact
   .It Ic +
   addition
   .It Ic -
   subtraction
   .It Ic *
   multiplication
   .It Ic /
   division
   .It Ic %
   remainder of division
   .It Ic <
   less than
   .It Ic >
   greater than
   .It Ic ==
   equal to
   .It Ic =
   equal to, same effect as
   .Ic ==
   (this differs from C)
   .It Ic <=
   less than or equal to
   .It Ic >=
   greater than or equal to
   .It Ic <>
   not equal to (corresponds to C
   .Ic != ;
   this one is of limited portability, it is supported by Heirloom roff,
   but not by groff)
   .It Ic &
   logical and (corresponds to C
   .Ic && )
   .It Ic \&:
   logical or (corresponds to C
   .Ic \&|| )
   .It Ic <?
   minimum (not available in C)
   .It Ic >?
   maximum (not available in C)
   .El
   .Pp
   There is no concept of precendence; evaluation proceeds from left to right,
   except when subexpressions are enclosed in parantheses.
   Inside parentheses, whitespace is ignored.
 .Sh ESCAPE SEQUENCE REFERENCE  .Sh ESCAPE SEQUENCE REFERENCE
 The  The
 .Xr mandoc 1  .Xr mandoc 1

Legend:
Removed from v.1.47  
changed lines
  Added in v.1.53

CVSweb