summaryrefslogtreecommitdiffstats
path: root/scripts/LinuxManBook/an-ext.tmac
blob: e2f5c48f9878377efc3b24f155aebf72fc5d6d13 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
.\" groff extension macros for man(7) package
.\"
.\" Copyright (C) 2007-2022 Free Software Foundation, Inc.
.\"
.\" Written by Eric S. Raymond <esr@thyrsus.com>
.\"            Werner Lemberg <wl@gnu.org>
.\"            G. Branden Robinson <g.branden.robinson@gmail.com>
.\"
.\" You may freely use, modify and/or distribute this file.
.\"
.\" The code below provides extension macros for the 'man' macro
.\" package.  Care has been taken to make the code portable; groff
.\" extensions are properly hidden so that all troff implementations can
.\" use it without changes.
.\"
.\" With groff, this file is sourced by the 'man' macro package itself.
.\" Man page authors who are concerned about portability might add the
.\" used macros directly to the prologue of the man page(s).
.
.
.\" Convention: Auxiliary macros and registers start with 'm' followed
.\"             by an uppercase letter or digit.
.
.
.\" Protect against being sourced twice.
.nr mZ +1
.if \n(mZ>1 \
.  nx
.
.\" Define this to your implementation's constant-width typeface.
.ds mC CW
.
.\" In AT&T troff, there was no register exposing the hyphenation mode,
.\" and no way to save and restore it.  Set this to a reasonable value
.\" for your implementation and preference.
.ie !\n(.g \
.  nr mJ 1
.el \
.  do nr mJ \n[.hy]
.
.\" Check if we're using grohtml or grotty, and therefore support URIs.
.nr mH 0
.nr mY 0
.nr mU 0
.if \n(.g \{\
.  if '\*(.T'html' \
.    nr mH 1
.  if '\*(.T'ascii' \
.    nr mY 1
.  if '\*(.T'cp1047' \
.    nr mY 1
.  if '\*(.T'latin1' \
.    nr mY 1
.  if '\*(.T'utf8' \
.    nr mY 1
.  nr mU \n(mH+\n(mY
.\}
.
.
.\" groff has glyph entities for angle brackets.
.ie \n(.g \{\
.  ds mL \(la\"
.  ds mR \(ra\"
.\}
.el \{\
.  ds mL <\"
.  ds mR >\"
.\}
.
.nr mS 0
.
.
.\" Declare start of command synopsis.  Sets up hanging indentation.
.de SY
.  ie !\\n(mS \{\
.    nh
.    nr mS 1
.    nr mA \\n(.j
.    ad l
.    nr mI \\n(.i
.  \}
.  el \{\
.    br
.    ns
.  \}
.
.  nr mT \w'\fB\\$1\fP\ '
.  HP \\n(mTu
.  B "\\$1"
..
.
.
.\" End of command synopsis.  Restores adjustment.
.de YS
.  in \\n(mIu
.  ad \\n(mA
.  hy \\n(mJ
.  nr mS 0
..
.
.\" Prepare link text for mail/web hyperlinks.  `MT` and `UR` call this.
.de mV
.  ds m1 \\$1\"
.  \" Save the indentation and line length.  We want the diversion to
.  \" format as if it has an indentation of zero (that comes for free
.  \" when we switch environments), but we want the line length reduced
.  \" by the amount of indentation that obtains when we output it.
.  nr mK \\n(.l
.  nr mI \\n(.i
.  \" We can only hyperlink if we're not in a diversion.
.  nr mD 0
.  if '\\n(.z'' .nr mD 1
.  if \\n(mD&\\nU&\\n(mU \{\
.    \" Start diversion in a new environment.
.    do ev link-text-env
.    do di link-text-div
.    ll (\\n(mKu-\\n(mIu)
.  \}
.  rr mK
..
.
.\" Start URL.
.de UR
.  mV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.
.
.\" End URL.
.de UE
.  ie \\n(mD&\\nU&\\n(mU \{\
.    br
.    di
.    ev
.
.    \" Has there been at least one input line of hyperlinked text?
.    ie \\n(dn \{\
.      if \\n(mH \
\X^html:<a href="\\*(m1">^\c
.      if \\n(mY \
\X^tty: link \\*(m1^\c
.      \" Strip off the final newline of the diversion and emit it.
.      do chop link-text-div
.      do link-text-div
\c
.      if \\n(mH \
\X^html:</a>^\c
.      if \\n(mY \
\X^tty: link^\c
.    \}
.    el \{\
.      if \\n(mH \
\X^html:<a href="\\*(m1">\\*(m1</a>^\c
.      if \\n(mY \
\X^tty: link \\*(m1^\\*(m1\X^tty: link^\c
.    \}
\&\\$*\"
.  \}
.  el \{\
.    nh
\\*(mL\\*(m1\\*(mR\\$1
.    do shift
.    ie \n(.g .if \\n(.$ \&\\$*\"
.    el .if \\n(.$>1 \&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9\"
.    hy \\n(mJ
.  \}
.  rr mD
..
.
.
.\" Start email address.
.de MT
.  mV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.
.
.\" End email address.
.de ME
.  ie \\n(mD&\\nU&\\n(mU \{\
.    br
.    di
.    ev
.
.    \" Has there been at least one input line of hyperlinked text?
.    ie \\n(dn \{\
.      if \\n(mH \
\X^html:<a href="mailto:\\*(m1">^\c
.      if \\n(mY \
\X^tty: link mailto:\\*(m1^\c
.      \" Strip off the final newline of the diversion and emit it.
.      do chop link-text-div
.      do link-text-div
\c
.      if \\n(mH \
\X^html:</a>^\c
.      if \\n(mY \
\X^tty: link^\c
.    \}
.    el \{\
.      if \\n(mH \
\X^html:<a href="mailto:\\*(m1">\\*(m1</a>^\c
.      if \\n(mY \
\X^tty: link mailto:\\*(m1^\\*(m1\X^tty: link^\c
.    \}
\&\\$*\"
.  \}
.  el \{\
.    nh
\\*(mL\\*(m1\\*(mR\\$1
.    do shift
.    ie \n(.g .if \\n(.$ \&\\$*\"
.    el .if \\n(.$>1 \&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9\"
.    hy \\n(mJ
.  \}
.  rr mD
..
.
.
.\" Set a man page cross reference.
.\" .MR page-topic page-section [trailing-text]
.if \n(.g .ig
.de MR
.  nh
.  ie \\n(.$=1 \
.    I \\$1
.  el \
.    IR \\$1 (\\$2)\\$3
.  hy \\n(mJ
..
.
.
.\" Continuation line for .TP header.
.de TQ
.  br
.  ns
.  TP \\$1\" no doublequotes around argument!
..
.
.
.\" Start example.
.if \n(.g .ig
.de EX
.  br
.  if !\\n(mX \{\
.    nr mF \\n(.f
.    nr mP \\n(PD
.    nr PD 1v
.    nf
.    ft \\*(mC
.    nr mX 1
.  \}
..
.
.
.\" End example.
.if \n(.g .ig
.de EE
.  br
.  if \\n(mX \{\
.    ft \\n(mF
.    nr PD \\n(mP
.    fi
.    nr mX 0
.  \}
..
.
.
.\" Start display.
.de DS
.  \" XXX to be written
..
.
.
.\" End display.
.de DE
.  \" XXX to be written
..
.
.\" Local Variables:
.\" mode: nroff
.\" fill-column: 72
.\" End:
.\" vim: set filetype=groff textwidth=72: