aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/ogl-sample/main/doc/man/mangl/README
blob: 3a49cdc14b8e58499b802c9a87352dc130d12ba1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
This directory has GL man pages.

./style		gives some style guidelines.

./template	is a template that can be used as a starting point
		when writing new man pages.

./standard	contains man page source and a Makefile for making
		various targets using nroff and troff.  The suffix
		for man page source in this directory is '.gl'.

Two awk scripts and m4 are run over GL man page source before it is
processed in the same way that standard man pages are.  This allows
a writer to avoid most annoying troff'isms.
  Several macros are provided to simplify man page writing.  These
are:

_header(name,desc)
		Gives the name of the command to be used at the
		top and bottom of the man page and in the _cmnd macro
		(below).  Also give the one line description of the
		command.

_names(base,regexp)
_names(base,regexp,noheader)
		Generates the 'C SPECIFICATIONS' for all forms of
		a command with the indicated base name and an
		extension matching the given regular expression.
		This is done by using the name and expression to search the
		known GL commands.  A function header is generated for
		each matching command.  The second form of the command,
		with a third argument (any argument will do) suppresses
		the generation of the 'C SPECIFICATION' section heading
		for the matched names (useful when a single man page
		describes diverse commands).

_cmnd		Without an argument, generates the correctly prefixed and
_cmnd(arg)	capitalized base command name.  Use \& (troff zero-width
		space) to separate it from immediately following letters,
		digits, underscores or parentheses.  With an argument, it
		generates the prefixed command name (currently the argument
		is not matched against the known GL commands).
		The command is automatically emboldened.

_param<i>	Generates the italicized <i>th parameter to the command.
_param<i>(n)	Without an argument, it gets the <i>th argument to forms
		of the command matching the last _names() invocation.
		With an argument, gives the <i>th argument to forms of
		the command matching the nth _names() invocation.

_eqnparam<i>	Same as _param, but does not italicize, and can therefore
_eqnparam<i>(n) be used in equations.

_phead(param)	Used when generating a parameter description of 'param'.
		Parameter description immediately follows.

_const(arg)	Generates a prefixed and emboldened GL constant 'arg'.
_econst(arg)	Same as _const but for use inside equations.

_hex(arg)	Generates "0x'arg'".

_C_		Comment; everything following up to and including the next
		newline is ignored

_define		define an M4 macro.  See the M4 man page.  Most of the
		M4 macros having common names that could clash with words
		in the text have been undefined or redefined to have
		underscores preceeding their names.  Be sure to use _C_
		(or M4's 'dnl') at the end of a macro definition to
		avoid extraneous newlines in the troff source.

If '_filters' is defined before the use of '_header' (see the template
for an example that is commented out) then the processed text is run
through the shell commands given in '_filters' just before being sent to
troff.  Useful when tables or equations appear in the text.

Two standard macros may be redefined in special situations.  '_basename'
is the base command name.  Normally it is set to the filename of the
man page being generated, sans suffix, and appears in the banner on
every page of the man page.  'gl' is automatically prepended to this
name.  '_samething' is the message to be printed when there are
multiple commands under the same heading. See the template for
commented out examples.

Troff macro names .BR and .BP appear in various manpages.  These are
placeholders for .br and .bp macros that were added for the Addison
Wesley publication, but are not valid for other printings.  Since these
macros are not defined anywhere, they are ignored by troff/nroff.

A final and important note:  the file MUST begin with an '_'
(probably as in '_header' or '_define(_filters,...)_C_) or
the aforementioned processing will not be applied and you will
be obliged to use the frightful standard man page troff constructs.