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

Diff for /mandoc/mdoc.7 between version 1.16 and 1.27

version 1.16, 2009/03/26 16:23:22 version 1.27, 2009/06/12 09:18:00
Line 1 
Line 1 
 .\" $Id$  .\"     $Id$
 .\"  .\"
 .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@openbsd.org>  .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
 .\"  .\"
 .\" 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  .\" purpose with or without fee is hereby granted, provided that the above
 .\" above copyright notice and this permission notice appear in all  .\" copyright notice and this permission notice appear in all copies.
 .\" copies.  
 .\"  .\"
 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL  .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 .\" WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED  .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE  .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 .\" AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL  .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR  .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER  .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR  .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\" PERFORMANCE OF THIS SOFTWARE.  
 .\"  .\"
 .Dd $Mdocdate$  .Dd $Mdocdate$
 .Dt mdoc 7  .Dt MDOC 7
 .Os  .Os
 .\" SECTION  .\" SECTION
 .Sh NAME  .Sh NAME
Line 47  prior macros:
Line 45  prior macros:
 \&.Sh Macro lines change control state.  \&.Sh Macro lines change control state.
 Other lines are interpreted within the current state.  Other lines are interpreted within the current state.
 .Ed  .Ed
 .\" PARAGRAPH  
 .Pp  
 Macros are two- or three-character sequences whose scope rules, rules  
 that dictate handling of subsequent-line or same-line arguments, are  
 governed by one of five classifications described in this document.  
 .\" SECTION  .\" SECTION
 .Sh INPUT ENCODING  .Sh INPUT ENCODING
 .Nm  .Nm
Line 127  or a single one-character sequence.
Line 120  or a single one-character sequence.
 Characters may alternatively be escaped by a slash-asterisk,  Characters may alternatively be escaped by a slash-asterisk,
 .Sq \e* ,  .Sq \e* ,
 with the same combinations as described above.  This form is deprecated.  with the same combinations as described above.  This form is deprecated.
 .Pp  
 The following is a table of all available escapes.  
 .Pp  
 Grammatic:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(em  
 .Pq em-dash  
 .It \e(en  
 .Pq en-dash  
 .It \e-  
 .Pq hyphen  
 .It \e\e  
 .Pq back-slash  
 .It \e'  
 .Pq apostrophe  
 .It \e`  
 .Pq back-tick  
 .It \e  
 .Pq space  
 .It \e.  
 .Pq period  
 .It \e(r!  
 .Pq upside-down exclamation  
 .It \e(r?  
 .Pq upside-down question  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Enclosures:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(lh  
 .Pq left hand  
 .It \e(rh  
 .Pq right hand  
 .It \e(Fo  
 .Pq left guillemet  
 .It \e(Fc  
 .Pq right guillemet  
 .It \e(fo  
 .Pq left guilsing  
 .It \e(fc  
 .Pq right guilsing  
 .It \e(rC  
 .Pq right brace  
 .It \e(lC  
 .Pq left brace  
 .It \e(ra  
 .Pq right angle  
 .It \e(la  
 .Pq left angle  
 .It \e(rB  
 .Pq right bracket  
 .It \e(lB  
 .Pq left bracket  
 .It \eq  
 .Pq double-quote  
 .It \e(lq  
 .Pq left double-quote  
 .It \e(Lq  
 .Pq left double-quote, deprecated  
 .It \e(rq  
 .Pq right double-quote  
 .It \e(Rq  
 .Pq right double-quote, deprecated  
 .It \e(oq  
 .Pq left single-quote  
 .It \e(aq  
 .Pq right single-quote  
 .It \e(Bq  
 .Pq right low double-quote  
 .It \e(bq  
 .Pq right low single-quote  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Indicatives:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(<-  
 .Pq left arrow  
 .It \e(->  
 .Pq right arrow  
 .It \e(ua  
 .Pq up arrow  
 .It \e(da  
 .Pq down arrow  
 .It \e(<>  
 .Pq left-right arrow  
 .It \e(lA  
 .Pq left double-arrow  
 .It \e(rA  
 .Pq right double-arrow  
 .It \e(uA  
 .Pq up double-arrow  
 .It \e(dA  
 .Pq down double-arrow  
 .It \e(hA  
 .Pq left-right double-arrow  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Mathematical:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(es  
 .Pq empty set  
 .It \e(ca  
 .Pq intersection  
 .It \e(cu  
 .Pq union  
 .It \e(gr  
 .Pq gradient  
 .It \e(pd  
 .Pq partial differential  
 .It \e(ap  
 .Pq similarity  
 .It \e(=)  
 .Pq proper superset  
 .It \e((=  
 .Pq proper subset  
 .It \e(eq  
 .Pq equals  
 .It \e(di  
 .Pq division  
 .It \e(mu  
 .Pq multiplication  
 .It \e(pl  
 .Pq addition  
 .It \e(nm  
 .Pq not element  
 .It \e(mo  
 .Pq element  
 .It \e(Im  
 .Pq imaginary  
 .It \e(Re  
 .Pq real  
 .It \e(Ah  
 .Pq aleph  
 .It \e(te  
 .Pq existential quantifier  
 .It \e(fa  
 .Pq universal quantifier  
 .It \e(AN  
 .Pq logical AND  
 .It \e(OR  
 .Pq logical OR  
 .It \e(no  
 .Pq logical NOT  
 .It \e(st  
 .Pq such that  
 .It \e(tf  
 .Pq therefore  
 .It \e(~~  
 .Pq approximate  
 .It \e(~=  
 .Pq approximately equals  
 .It \e(=~  
 .Pq congruent  
 .It \e(Gt  
 .Pq greater-than, deprecated  
 .It \e(Lt  
 .Pq less-than, deprecated  
 .It \e(<=  
 .Pq less-than-equal  
 .It \e(Le  
 .Pq less-than-equal, deprecated  
 .It \e(>=  
 .Pq greater-than-equal  
 .It \e(Ge  
 .Pq greater-than-equal  
 .It \e(==  
 .Pq equal  
 .It \e(!=  
 .Pq not equal  
 .It \e(Ne  
 .Pq not equal, deprecated  
 .It \e(if  
 .Pq infinity  
 .It \e(If  
 .Pq infinity, deprecated  
 .It \e(na  
 .Pq NaN , an extension  
 .It \e(Na  
 .Pq NaN, deprecated  
 .It \e(+-  
 .Pq plus-minus  
 .It \e(Pm  
 .Pq plus-minus, deprecated  
 .It \e(**  
 .Pq asterisk  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Ligatures:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(ss  
 .Pq German eszett  
 .It \e(AE  
 .Pq upper-case AE  
 .It \e(ae  
 .Pq lower-case AE  
 .It \e(OE  
 .Pq upper-case OE  
 .It \e(oe  
 .Pq lower-case OE  
 .It \e(ff  
 .Pq ff ligature  
 .It \e(fi  
 .Pq fi ligature  
 .It \e(fl  
 .Pq fl ligature  
 .It \e(Fi  
 .Pq ffi ligature  
 .It \e(Fl  
 .Pq ffl ligature  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Diacritics and letters:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(ga  
 .Pq grave accent  
 .It \e(aa  
 .Pq accute accent  
 .It \e(a"  
 .Pq umlaut accent  
 .It \e(ad  
 .Pq dieresis accent  
 .It \e(a~  
 .Pq tilde accent  
 .It \e(a^  
 .Pq circumflex accent  
 .It \e(ac  
 .Pq cedilla accent  
 .It \e(ad  
 .Pq dieresis accent  
 .It \e(ah  
 .Pq caron accent  
 .It \e(ao  
 .Pq ring accent  
 .It \e(ho  
 .Pq hook accent  
 .It \e(ab  
 .Pq breve accent  
 .It \e(a-  
 .Pq macron accent  
 .It \e(-D  
 .Pq upper-case eth  
 .It \e(Sd  
 .Pq lower-case eth  
 .It \e(TP  
 .Pq upper-case thorn  
 .It \e(Tp  
 .Pq lower-case thorn  
 .It \e('A  
 .Pq upper-case acute A  
 .It \e('E  
 .Pq upper-case acute E  
 .It \e('I  
 .Pq upper-case acute I  
 .It \e('O  
 .Pq upper-case acute O  
 .It \e('U  
 .Pq upper-case acute U  
 .It \e('a  
 .Pq lower-case acute a  
 .It \e('e  
 .Pq lower-case acute e  
 .It \e('i  
 .Pq lower-case acute i  
 .It \e('o  
 .Pq lower-case acute o  
 .It \e('u  
 .Pq lower-case acute u  
 .It \e(`A  
 .Pq upper-case grave A  
 .It \e(`E  
 .Pq upper-case grave E  
 .It \e(`I  
 .Pq upper-case grave I  
 .It \e(`O  
 .Pq upper-case grave O  
 .It \e(`U  
 .Pq upper-case grave U  
 .It \e(`a  
 .Pq lower-case grave a  
 .It \e(`e  
 .Pq lower-case grave e  
 .It \e(`i  
 .Pq lower-case grave i  
 .It \e(`o  
 .Pq lower-case grave o  
 .It \e(`u  
 .Pq lower-case grave u  
 .It \e(~A  
 .Pq upper-case tilde A  
 .It \e(~N  
 .Pq upper-case tilde N  
 .It \e(~O  
 .Pq upper-case tilde O  
 .It \e(~a  
 .Pq lower-case tilde a  
 .It \e(~n  
 .Pq lower-case tilde n  
 .It \e(~o  
 .Pq lower-case tilde o  
 .It \e(:A  
 .Pq upper-case dieresis A  
 .It \e(:E  
 .Pq upper-case dieresis E  
 .It \e(:I  
 .Pq upper-case dieresis I  
 .It \e(:O  
 .Pq upper-case dieresis O  
 .It \e(:U  
 .Pq upper-case dieresis U  
 .It \e(:a  
 .Pq lower-case dieresis a  
 .It \e(:e  
 .Pq lower-case dieresis e  
 .It \e(:i  
 .Pq lower-case dieresis i  
 .It \e(:o  
 .Pq lower-case dieresis o  
 .It \e(:u  
 .Pq lower-case dieresis u  
 .It \e(:y  
 .Pq lower-case dieresis y  
 .It \e(^A  
 .Pq upper-case circumflex A  
 .It \e(^E  
 .Pq upper-case circumflex E  
 .It \e(^I  
 .Pq upper-case circumflex I  
 .It \e(^O  
 .Pq upper-case circumflex O  
 .It \e(^U  
 .Pq upper-case circumflex U  
 .It \e(^a  
 .Pq lower-case circumflex a  
 .It \e(^e  
 .Pq lower-case circumflex e  
 .It \e(^i  
 .Pq lower-case circumflex i  
 .It \e(^o  
 .Pq lower-case circumflex o  
 .It \e(^u  
 .Pq lower-case circumflex u  
 .It \e(,C  
 .Pq upper-case cedilla C  
 .It \e(,c  
 .Pq lower-case cedilla c  
 .It \e(/L  
 .Pq upper-case stroke L  
 .It \e(/l  
 .Pq lower-case stroke l  
 .It \e(/O  
 .Pq upper-case stroke O  
 .It \e(/o  
 .Pq lower-case stroke o  
 .It \e(oA  
 .Pq upper-case ring A  
 .It \e(oa  
 .Pq lower-case ring a  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Monetary:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(Cs  
 .Pq Scandinavian  
 .It \e(Do  
 .Pq dollar  
 .It \e(Po  
 .Pq pound  
 .It \e(Ye  
 .Pq yen  
 .It \e(Fn  
 .Pq florin  
 .It \e(ct  
 .Pq cent  
 .El  
 .\" PARAGRAPH  
 .Pp  
 Special symbols:  
 .Bl -tag -width 12n -offset "XXXX" -compact  
 .It \e(de  
 .Pq degree  
 .It \e(ps  
 .Pq paragraph  
 .It \e(sc  
 .Pq section  
 .It \e(dg  
 .Pq dagger  
 .It \e(dd  
 .Pq double dagger  
 .It \e(ci  
 .Pq circle  
 .It \e(ba  
 .Pq bar  
 .It \e(bb  
 .Pq broken bar  
 .It \e(Ba  
 .Pq bar, deprecated  
 .It \e(co  
 .Pq copyright  
 .It \e(rg  
 .Pq registered  
 .It \e(tm  
 .Pq trademarked  
 .It \e&  
 .Pq non-breaking space  
 .It \ee  
 .Pq escape  
 .It \e(Am  
 .Pq ampersand, deprecated  
 .El  
 .\" SECTION  .\" SECTION
 .Sh ONTOLOGY  .Sh STRUCTURE
 Macros are classified in an ontology described by their scope rules.  Macros are classified in an ontology described by their scope rules.
 Some macros are allowed to deviate from their classifications to  Some macros are allowed to deviate from their classifications to
 preserve backward-compatibility with old macro combinations still found  preserve backward-compatibility with old macro combinations still found
Line 630  subsequent tokens are interpreted as if the scope had 
Line 208  subsequent tokens are interpreted as if the scope had 
 In other circumstances, scope is simply closed out.  In other circumstances, scope is simply closed out.
 .\" SECTION  .\" SECTION
 .Sh SYNTAX  .Sh SYNTAX
 Macros are generally two and at times three characters in length.  The  Macros are two or three characters in length.  The syntax of macro
 syntax of macro invocation depends on its classification.  invocation depends on its classification.
 .Qq \-arg  .Qq \-arg
 refers to the macro arguments (which may contain zero or more values).  refers to the macro arguments (which may contain zero or more values).
 In these illustrations,  In these illustrations,
Line 689  This section contains a complete list of all 
Line 267  This section contains a complete list of all 
 .Nm  .Nm
 macros, arranged ontologically.  A  macros, arranged ontologically.  A
 .Qq callable  .Qq callable
 macro is may be invoked subsequent to the initial macro-line macro.  A  macro is invoked subsequent to the initial macro-line macro.  A
 .Qq parsable  .Qq parsable
 macro may be followed by further (ostensibly callable) macros.  macro may be followed by further (ostensibly callable) macros.
 .\" SUB-SECTION  .\" SUB-SECTION
Line 815  then the macro accepts an arbitrary number of argument
Line 393  then the macro accepts an arbitrary number of argument
 .It \&.Os    Ta    \&No  Ta    \&No    Ta    n  .It \&.Os    Ta    \&No  Ta    \&No    Ta    n
 .It \&.Pp    Ta    \&No  Ta    \&No    Ta    0  .It \&.Pp    Ta    \&No  Ta    \&No    Ta    0
 .It \&.Ad    Ta    Yes   Ta    Yes     Ta    n  .It \&.Ad    Ta    Yes   Ta    Yes     Ta    n
 .It \&.An    Ta    \&No  Ta    Yes     Ta    n  .It \&.An    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Ar    Ta    Yes   Ta    Yes     Ta    n  .It \&.Ar    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Cd    Ta    Yes   Ta    \&No    Ta    >0  .It \&.Cd    Ta    Yes   Ta    \&No    Ta    >0
 .It \&.Cm    Ta    Yes   Ta    Yes     Ta    n  .It \&.Cm    Ta    Yes   Ta    Yes     Ta    n
Line 827  then the macro accepts an arbitrary number of argument
Line 405  then the macro accepts an arbitrary number of argument
 .It \&.Fd    Ta    \&No  Ta    \&No    Ta    >0  .It \&.Fd    Ta    \&No  Ta    \&No    Ta    >0
 .It \&.Fl    Ta    Yes   Ta    Yes     Ta    n  .It \&.Fl    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Fn    Ta    Yes   Ta    Yes     Ta    >0  .It \&.Fn    Ta    Yes   Ta    Yes     Ta    >0
 .It \&.Ft    Ta    \&No  Ta    Yes     Ta    n  .It \&.Ft    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Ic    Ta    Yes   Ta    Yes     Ta    >0  .It \&.Ic    Ta    Yes   Ta    Yes     Ta    >0
 .It \&.In    Ta    \&No  Ta    \&No    Ta    n  .It \&.In    Ta    \&No  Ta    \&No    Ta    n
 .It \&.Li    Ta    Yes   Ta    Yes     Ta    n  .It \&.Li    Ta    Yes   Ta    Yes     Ta    n
Line 856  then the macro accepts an arbitrary number of argument
Line 434  then the macro accepts an arbitrary number of argument
 .It \&.Bsx   Ta    Yes   Ta    Yes     Ta    n  .It \&.Bsx   Ta    Yes   Ta    Yes     Ta    n
 .It \&.Bx    Ta    Yes   Ta    Yes     Ta    n  .It \&.Bx    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Db    Ta    \&No  Ta    \&No    Ta    1  .It \&.Db    Ta    \&No  Ta    \&No    Ta    1
 .It \&.Em    Ta    Yes   Ta    Yes     Ta    n  .It \&.Em    Ta    Yes   Ta    Yes     Ta    >0
 .It \&.Fx    Ta    Yes   Ta    Yes     Ta    n  .It \&.Fx    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Ms    Ta    \&No  Ta    Yes     Ta    >0  .It \&.Ms    Ta    Yes   Ta    Yes     Ta    >0
 .It \&.No    Ta    Yes   Ta    Yes     Ta    0  .It \&.No    Ta    Yes   Ta    Yes     Ta    0
 .It \&.Ns    Ta    Yes   Ta    Yes     Ta    0  .It \&.Ns    Ta    Yes   Ta    Yes     Ta    0
 .It \&.Nx    Ta    Yes   Ta    Yes     Ta    n  .It \&.Nx    Ta    Yes   Ta    Yes     Ta    n
Line 877  then the macro accepts an arbitrary number of argument
Line 455  then the macro accepts an arbitrary number of argument
 .It \&.Lb    Ta    \&No  Ta    \&No    Ta    1  .It \&.Lb    Ta    \&No  Ta    \&No    Ta    1
 .It \&.Ap    Ta    Yes   Ta    Yes     Ta    0  .It \&.Ap    Ta    Yes   Ta    Yes     Ta    0
 .It \&.Lp    Ta    \&No  Ta    \&No    Ta    0  .It \&.Lp    Ta    \&No  Ta    \&No    Ta    0
 .It \&.Lk    Ta    \&No  Ta    Yes     Ta    >0  .It \&.Lk    Ta    Yes   Ta    Yes     Ta    n
 .It \&.Mt    Ta    \&No  Ta    Yes     Ta    >0  .It \&.Mt    Ta    Yes   Ta    Yes     Ta    >0
 .It \&.Es    Ta    \&No  Ta    \&No    Ta    0  .It \&.Es    Ta    \&No  Ta    \&No    Ta    0
 .It \&.En    Ta    \&No  Ta    \&No    Ta    0  .It \&.En    Ta    \&No  Ta    \&No    Ta    0
 .El  .El
Line 901  compatibility with these systems.
Line 479  compatibility with these systems.
 .Bl -dash -compact  .Bl -dash -compact
 .\" LIST-ITEM  .\" LIST-ITEM
 .It  .It
 .Sq \&.Fo  .Sq \&.An ,
   .Sq \&.Fo ,
   .Sq \&.Lk ,
   .Sq \&.Ms ,
   .Sq \&.Mt ,
 and  and
 .Sq \&.St  .Sq \&.St
 historically weren't always callable.  Both are now correctly callable.  historically weren't callable.
 .\" LIST-ITEM  .\" LIST-ITEM
 .It  .It
 .Sq \&.It \-nested  .Sq \&.It \-nested
Line 914  lists will restart the sequence only for the sub-list.
Line 496  lists will restart the sequence only for the sub-list.
 .\" LIST-ITEM  .\" LIST-ITEM
 .It  .It
 .Sq \&.It \-column  .Sq \&.It \-column
 syntax where column widths may be preceeded by other arguments (instead  syntax where column widths may be preceded by other arguments (instead
 of proceeded) is not supported.  of proceeded) is not supported.
 .\" LIST-ITEM  .\" LIST-ITEM
 .It  .It
Line 946  is callable.
Line 528  is callable.
 .El  .El
 .\" SECTION  .\" SECTION
 .Sh SEE ALSO  .Sh SEE ALSO
 .Xr mandoc 1  .Xr mandoc 1 ,
   .Xr mandoc_char 7
 .\" SECTION  .\" SECTION
 .Sh AUTHORS  .Sh AUTHORS
 The  The
 .Nm  .Nm
 utility was written by  utility was written by
 .An Kristaps Dzonsons Aq kristaps@openbsd.org .  .An Kristaps Dzonsons Aq kristaps@kth.se .
 .\" SECTION  .\" SECTION
 .Sh CAVEATS  .Sh CAVEATS
 There are several ambiguous parts of mdoc.  There are several ambiguous parts of mdoc.
Line 979  which ostensibly follows it, should follow the same co
Line 562  which ostensibly follows it, should follow the same co
 .It  .It
 .Sq \&.Va  .Sq \&.Va
 should formalise that only one or two arguments are acceptable: a  should formalise that only one or two arguments are acceptable: a
 variable name and optional, preceeding type.  variable name and optional, preceding type.
 .\" LIST-ITEM  .\" LIST-ITEM
 .It  .It
 .Sq \&.Fd  .Sq \&.Fd

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.27

CVSweb