1 |
.ig |
.ig |
2 |
Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc. |
Copyright (C) 1989-2000, 2001, 2004 Free Software Foundation, Inc. |
3 |
|
|
4 |
Permission is granted to make and distribute verbatim copies of |
Permission is granted to make and distribute verbatim copies of |
5 |
this manual provided the copyright notice and this permission notice |
this manual provided the copyright notice and this permission notice |
16 |
translations approved by the Free Software Foundation instead of in |
translations approved by the Free Software Foundation instead of in |
17 |
the original English. |
the original English. |
18 |
.. |
.. |
19 |
.ie \n(.V<\n(.v .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X |
. |
20 |
.el .ds tx TeX |
. |
21 |
|
.ie \n(.V<\n(.v \ |
22 |
|
. ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X |
23 |
|
.el \ |
24 |
|
. ds tx TeX |
25 |
|
. |
26 |
|
. |
27 |
.\" Like TP, but if specified indent is more than half |
.\" Like TP, but if specified indent is more than half |
28 |
.\" the current line-length - indent, use the default indent. |
.\" the current line-length - indent, use the default indent. |
29 |
.de Tp |
.de Tp |
30 |
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP |
. ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP |
31 |
.el .TP "\\$1" |
. el .TP "\\$1" |
32 |
.. |
.. |
33 |
|
. |
34 |
|
. |
35 |
.\" The BSD man macros can't handle " in arguments to font change macros, |
.\" The BSD man macros can't handle " in arguments to font change macros, |
36 |
.\" so use \(ts instead of ". |
.\" so use \(ts instead of ". |
37 |
.tr \(ts" |
.tr \(ts" |
38 |
|
. |
39 |
|
. |
40 |
.TH @G@EQN @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" |
.TH @G@EQN @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@" |
41 |
|
. |
42 |
|
. |
43 |
.SH NAME |
.SH NAME |
44 |
@g@eqn \- format equations for troff |
@g@eqn \- format equations for troff |
45 |
|
. |
46 |
|
. |
47 |
.SH SYNOPSIS |
.SH SYNOPSIS |
48 |
.nr a \n(.j |
.nr a \n(.j |
49 |
.ad l |
.ad l |
52 |
.ti \niu |
.ti \niu |
53 |
.B @g@eqn |
.B @g@eqn |
54 |
.de OP |
.de OP |
55 |
.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" |
. ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" |
56 |
.el .RB "[\ " "\\$1" "\ ]" |
. el .RB "[\ " "\\$1" "\ ]" |
57 |
.. |
.. |
58 |
.OP \-rvCNR |
.OP \-rvCNR |
59 |
.OP \-d xy |
.OP \-d xy |
66 |
.RI "[\ " files\|.\|.\|. "\ ]" |
.RI "[\ " files\|.\|.\|. "\ ]" |
67 |
.br |
.br |
68 |
.ad \na |
.ad \na |
69 |
.PP |
. |
70 |
|
.LP |
71 |
It is possible to have whitespace between a command line option and its |
It is possible to have whitespace between a command line option and its |
72 |
parameter. |
parameter. |
73 |
|
. |
74 |
|
. |
75 |
.SH DESCRIPTION |
.SH DESCRIPTION |
76 |
This manual page describes the GNU version of |
This manual page describes the GNU version of |
77 |
.BR eqn , |
.BR eqn , |
86 |
option of |
option of |
87 |
.BR groff . |
.BR groff . |
88 |
The syntax is quite compatible with Unix eqn. |
The syntax is quite compatible with Unix eqn. |
89 |
The output of GNU eqn cannot be processed with Unix troff; |
The output of GNU |
90 |
|
.B eqn |
91 |
|
cannot be processed with Unix troff; |
92 |
it must be processed with GNU troff. |
it must be processed with GNU troff. |
93 |
If no files are given on the command line, the standard input |
If no files are given on the command line, the standard input |
94 |
will be read. |
will be read. |
95 |
A filename of |
A filename of |
96 |
.B \- |
.B \- |
97 |
will cause the standard input to be read. |
will cause the standard input to be read. |
98 |
|
. |
99 |
.LP |
.LP |
100 |
.B eqn |
.B eqn |
101 |
searches for the file |
searches for the file |
107 |
.BR @LOCALMACRODIR@ , |
.BR @LOCALMACRODIR@ , |
108 |
and finally in the standard macro directory |
and finally in the standard macro directory |
109 |
.BR @MACRODIR@ . |
.BR @MACRODIR@ . |
110 |
If it exists, eqn will process it before the other input files. |
If it exists, |
111 |
|
.B eqn |
112 |
|
will process it before the other input files. |
113 |
The |
The |
114 |
.B \-R |
.B \-R |
115 |
option prevents this. |
option prevents this. |
116 |
|
. |
117 |
.LP |
.LP |
118 |
GNU eqn does not provide the functionality of neqn: |
GNU |
119 |
|
.B eqn |
120 |
|
does not provide the functionality of neqn: |
121 |
it does not support low-resolution, typewriter-like devices |
it does not support low-resolution, typewriter-like devices |
122 |
(although it may work adequately for very simple input). |
(although it may work adequately for very simple input). |
123 |
|
. |
124 |
|
. |
125 |
.SH OPTIONS |
.SH OPTIONS |
126 |
.TP |
.TP |
127 |
.BI \-d xy |
.BI \-d xy |
128 |
Specify delimiters |
Specify delimiters |
129 |
.I x |
.I x |
130 |
and |
and\~\c |
131 |
.I y |
.I y |
132 |
for the left and right end, respectively, of in-line equations. |
for the left and right end, respectively, of in-line equations. |
133 |
Any |
Any |
134 |
.B delim |
.B delim |
135 |
statements in the source file overrides this. |
statements in the source file overrides this. |
136 |
|
. |
137 |
.TP |
.TP |
138 |
.B \-C |
.B \-C |
139 |
Recognize |
Recognize |
147 |
This option allows |
This option allows |
148 |
.B eqn |
.B eqn |
149 |
to recover better from missing closing delimiters. |
to recover better from missing closing delimiters. |
150 |
|
. |
151 |
.TP |
.TP |
152 |
.B \-v |
.B \-v |
153 |
Print the version number. |
Print the version number. |
154 |
|
. |
155 |
.TP |
.TP |
156 |
.B \-r |
.B \-r |
157 |
Only one size reduction. |
Only one size reduction. |
158 |
|
. |
159 |
.TP |
.TP |
160 |
.BI \-m n |
.BI \-m n |
161 |
The minimum point-size is |
The minimum point-size is\~\c |
162 |
.IR n . |
.IR n . |
163 |
eqn will not reduce the size of subscripts or superscripts to |
.B eqn |
164 |
a smaller size than |
will not reduce the size of subscripts or superscripts to |
165 |
|
a smaller size than\~\c |
166 |
.IR n . |
.IR n . |
167 |
|
. |
168 |
.TP |
.TP |
169 |
.BI \-T name |
.BI \-T name |
170 |
The output is for device |
The output is for device |
171 |
.IR name . |
.IR name . |
172 |
The only effect of this is to define a macro |
The only effect of this is to define a macro |
173 |
.I name |
.I name |
174 |
with a value of |
with a value of\~\c |
175 |
.BR 1 . |
.BR 1 . |
176 |
Typically |
Typically |
177 |
.B eqnrc |
.B eqnrc |
178 |
will use this to provide definitions appropriate for the output device. |
will use this to provide definitions appropriate for the output device. |
179 |
The default output device is |
The default output device is |
180 |
.BR @DEVICE@ . |
.BR @DEVICE@ . |
181 |
|
. |
182 |
.TP |
.TP |
183 |
.BI \-M dir |
.BI \-M dir |
184 |
Search |
Search |
186 |
for |
for |
187 |
.B eqnrc |
.B eqnrc |
188 |
before the default directories. |
before the default directories. |
189 |
|
. |
190 |
.TP |
.TP |
191 |
.B \-R |
.B \-R |
192 |
Don't load |
Don't load |
193 |
.BR eqnrc . |
.BR eqnrc . |
194 |
|
. |
195 |
.TP |
.TP |
196 |
.BI \-f F |
.BI \-f F |
197 |
This is equivalent to a |
This is equivalent to a |
198 |
.BI gfont\ F |
.BI gfont\ F |
199 |
command. |
command. |
200 |
|
. |
201 |
.TP |
.TP |
202 |
.BI \-s n |
.BI \-s n |
203 |
This is equivalent to a |
This is equivalent to a |
204 |
.BI gsize\ n |
.BI gsize\ n |
205 |
command. |
command. |
206 |
This option is deprecated. |
This option is deprecated. |
207 |
eqn will normally set equations at whatever the current point size |
.B eqn |
208 |
|
will normally set equations at whatever the current point size |
209 |
is when the equation is encountered. |
is when the equation is encountered. |
210 |
|
. |
211 |
.TP |
.TP |
212 |
.BI \-p n |
.BI \-p n |
213 |
This says that subscripts and superscripts should be |
This says that subscripts and superscripts should be |
214 |
.I n |
.I n\~\c |
215 |
points smaller than the surrounding text. |
points smaller than the surrounding text. |
216 |
This option is deprecated. |
This option is deprecated. |
217 |
Normally eqn makes sets subscripts and superscripts at 70% |
Normally |
218 |
|
.B eqn |
219 |
|
makes sets subscripts and superscripts at 70% |
220 |
of the size of the surrounding text. |
of the size of the surrounding text. |
221 |
|
. |
222 |
|
. |
223 |
.SH USAGE |
.SH USAGE |
224 |
Only the differences between GNU eqn and Unix eqn are described here. |
Only the differences between GNU |
225 |
|
.B eqn |
226 |
|
and Unix eqn are described here. |
227 |
|
. |
228 |
.LP |
.LP |
229 |
Most of the new features of GNU eqn |
Most of the new features of GNU |
230 |
|
.B eqn |
231 |
are based on \*(tx. |
are based on \*(tx. |
232 |
There are some references to the differences between \*(tx and GNU eqn below; |
There are some references to the differences between \*(tx and GNU |
233 |
|
.B eqn |
234 |
|
below; |
235 |
these may safely be ignored if you do not know \*(tx. |
these may safely be ignored if you do not know \*(tx. |
236 |
|
. |
237 |
.SS Automatic spacing |
.SS Automatic spacing |
|
.LP |
|
238 |
.B eqn |
.B eqn |
239 |
gives each component of an equation a type, and adjusts the spacing |
gives each component of an equation a type, and adjusts the spacing |
240 |
between components using that type. |
between components using that type. |
241 |
Possible types are: |
Possible types are: |
242 |
|
. |
243 |
|
.RS |
244 |
.TP \w'punctuation'u+2n |
.TP \w'punctuation'u+2n |
245 |
ordinary |
ordinary |
246 |
an ordinary character such as 1 or |
an ordinary character such as `1' or `\c |
247 |
.IR x ; |
.IR x '; |
248 |
|
. |
249 |
.TP |
.TP |
250 |
operator |
operator |
251 |
a large operator such as |
a large operator such as |
252 |
.ds Su \s+5\(*S\s0 |
.ds Su `\s+5\(*S\s0' |
253 |
.if \n(.g .if !c\(*S .ds Su the summation operator |
.if \n(.g .if !c\(*S .ds Su the summation operator |
254 |
\*(Su; |
\*(Su; |
255 |
|
. |
256 |
.TP |
.TP |
257 |
binary |
binary |
258 |
a binary operator such as +; |
a binary operator such as `\(pl'; |
259 |
|
. |
260 |
.TP |
.TP |
261 |
relation |
relation |
262 |
a relation such as =; |
a relation such as `='; |
263 |
|
. |
264 |
.TP |
.TP |
265 |
opening |
opening |
266 |
a opening bracket such as (; |
a opening bracket such as `('; |
267 |
|
. |
268 |
.TP |
.TP |
269 |
closing |
closing |
270 |
a closing bracket such as ); |
a closing bracket such as `)'; |
271 |
|
. |
272 |
.TP |
.TP |
273 |
punctuation |
punctuation |
274 |
a punctuation character such as ,; |
a punctuation character such as `,'; |
275 |
|
. |
276 |
.TP |
.TP |
277 |
inner |
inner |
278 |
a subformula contained within brackets; |
a subformula contained within brackets; |
279 |
.TP |
.TP |
280 |
suppress |
suppress |
281 |
spacing that suppresses automatic spacing adjustment. |
spacing that suppresses automatic spacing adjustment. |
282 |
|
.RE |
283 |
|
. |
284 |
.LP |
.LP |
285 |
Components of an equation get a type in one of two ways. |
Components of an equation get a type in one of two ways. |
286 |
|
. |
287 |
.TP |
.TP |
288 |
.BI type\ t\ e |
.BI type\ t\ e |
289 |
This yields an equation component that contains |
This yields an equation component that contains\~\c |
290 |
.I e |
.I e |
291 |
but that has type |
but that has type\~\c |
292 |
.IR t , |
.IR t , |
293 |
where |
where |
294 |
.I t |
.I t |
296 |
For example, |
For example, |
297 |
.B times |
.B times |
298 |
is defined as |
is defined as |
299 |
|
. |
300 |
.RS |
.RS |
301 |
.IP |
.IP |
302 |
.B |
.B |
303 |
type "binary" \e(mu |
type "binary" \e(mu |
304 |
.RE |
.RE |
305 |
|
. |
306 |
.IP |
.IP |
307 |
The name of the type doesn't have to be quoted, but quoting protects |
The name of the type doesn't have to be quoted, but quoting protects |
308 |
from macro expansion. |
from macro expansion. |
309 |
|
. |
310 |
.TP |
.TP |
311 |
.BI chartype\ t\ text |
.BI chartype\ t\ text |
312 |
Unquoted groups of characters are split up into individual characters, |
Unquoted groups of characters are split up into individual characters, |
314 |
this changes the type that is stored for each character; |
this changes the type that is stored for each character; |
315 |
it says that the characters in |
it says that the characters in |
316 |
.I text |
.I text |
317 |
from now on have type |
from now on have type\~\c |
318 |
.IR t . |
.IR t . |
319 |
For example, |
For example, |
320 |
|
. |
321 |
.RS |
.RS |
322 |
.IP |
.IP |
323 |
.B |
.B |
324 |
chartype "punctuation" .,;: |
chartype "punctuation" .,;: |
325 |
.RE |
.RE |
326 |
|
. |
327 |
.IP |
.IP |
328 |
would make the characters |
would make the characters `.,;:' have type punctuation |
|
.B .,;: |
|
|
have type punctuation |
|
329 |
whenever they subsequently appeared in an equation. |
whenever they subsequently appeared in an equation. |
330 |
The type |
The type\~\c |
331 |
.I t |
.I t |
332 |
can also be |
can also be |
333 |
.B letter |
.B letter |
336 |
in these cases |
in these cases |
337 |
.B chartype |
.B chartype |
338 |
changes the font type of the characters. |
changes the font type of the characters. |
339 |
See the Fonts subsection. |
See the |
340 |
|
.B Fonts |
341 |
|
subsection. |
342 |
|
. |
343 |
.SS New primitives |
.SS New primitives |
344 |
.TP |
.TP |
345 |
.IB e1\ smallover\ e2 |
.IB e1\ smallover\ e2 |
364 |
corresponds to |
corresponds to |
365 |
.B \eover |
.B \eover |
366 |
in non-display styles. |
in non-display styles. |
367 |
|
. |
368 |
.TP |
.TP |
369 |
.BI vcenter\ e |
.BI vcenter\ e |
370 |
This vertically centers |
This vertically centers |
371 |
.I e |
.I e |
372 |
about the math axis. |
about the math axis. |
373 |
The math axis is the vertical position about which characters |
The math axis is the vertical position about which characters |
374 |
such as + and - are centered; also it is the vertical position |
such as `\(pl' and `\(mi' are centered; also it is the vertical position |
375 |
used for the bar of fractions. |
used for the bar of fractions. |
376 |
For example, |
For example, |
377 |
.B sum |
.B sum |
378 |
is defined as |
is defined as |
379 |
|
. |
380 |
.RS |
.RS |
381 |
.IP |
.IP |
382 |
.B |
.B |
383 |
{ type "operator" vcenter size +5 \e(*S } |
{ type "operator" vcenter size +5 \e(*S } |
384 |
.RE |
.RE |
385 |
|
. |
386 |
.TP |
.TP |
387 |
.IB e1\ accent\ e2 |
.IB e1\ accent\ e2 |
388 |
This sets |
This sets |
398 |
For example, |
For example, |
399 |
.B hat |
.B hat |
400 |
is defined as |
is defined as |
401 |
|
. |
402 |
.RS |
.RS |
403 |
.IP |
.IP |
404 |
.B |
.B |
405 |
accent { "^" } |
accent { "^" } |
406 |
.RE |
.RE |
407 |
|
. |
408 |
.IP |
.IP |
409 |
.BR dotdot , |
.BR dotdot , |
410 |
.BR dot , |
.BR dot , |
411 |
.BR tilde , |
.BR tilde , |
412 |
.B vec |
.BR vec , |
413 |
and |
and |
414 |
.B dyad |
.B dyad |
415 |
are also defined using the |
are also defined using the |
416 |
.B accent |
.B accent |
417 |
primitive. |
primitive. |
418 |
|
. |
419 |
.TP |
.TP |
420 |
.IB e1\ uaccent\ e2 |
.IB e1\ uaccent\ e2 |
421 |
This sets |
This sets |
432 |
is pre-defined using |
is pre-defined using |
433 |
.B uaccent |
.B uaccent |
434 |
as a tilde accent below the baseline. |
as a tilde accent below the baseline. |
435 |
|
. |
436 |
.TP |
.TP |
437 |
.BI split\ \(ts text \(ts |
.BI split\ \(ts text \(ts |
438 |
This has the same effect as simply |
This has the same effect as simply |
439 |
|
. |
440 |
.RS |
.RS |
441 |
.IP |
.IP |
442 |
.I text |
.I text |
443 |
.RE |
.RE |
444 |
|
. |
445 |
.IP |
.IP |
446 |
but |
but |
447 |
.I text |
.I text |
449 |
.I text |
.I text |
450 |
will be split up and the spacing between individual characters |
will be split up and the spacing between individual characters |
451 |
will be adjusted. |
will be adjusted. |
452 |
|
. |
453 |
.TP |
.TP |
454 |
.BI nosplit\ text |
.BI nosplit\ text |
455 |
This has the same effect as |
This has the same effect as |
456 |
|
. |
457 |
.RS |
.RS |
458 |
.IP |
.IP |
459 |
.BI \(ts text \(ts |
.BI \(ts text \(ts |
460 |
.RE |
.RE |
461 |
|
. |
462 |
.IP |
.IP |
463 |
but because |
but because |
464 |
.I text |
.I text |
466 |
.I text |
.I text |
467 |
will not be split up |
will not be split up |
468 |
and the spacing between individual characters will not be adjusted. |
and the spacing between individual characters will not be adjusted. |
469 |
|
. |
470 |
.TP |
.TP |
471 |
.IB e\ opprime |
.IB e\ opprime |
472 |
This is a variant of |
This is a variant of |
473 |
.B prime |
.B prime |
474 |
that acts as an operator on |
that acts as an operator on\~\c |
475 |
.IR e . |
.IR e . |
476 |
It produces a different result from |
It produces a different result from |
477 |
.B prime |
.B prime |
479 |
.BR A\ opprime\ sub\ 1 : |
.BR A\ opprime\ sub\ 1 : |
480 |
with |
with |
481 |
.B opprime |
.B opprime |
482 |
the |
the\~\c |
483 |
.B 1 |
.B 1 |
484 |
will be tucked under the prime as a subscript to the |
will be tucked under the prime as a subscript to the\~\c |
485 |
.B A |
.B A |
486 |
(as is conventional in mathematical typesetting), |
(as is conventional in mathematical typesetting), |
487 |
whereas with |
whereas with |
488 |
.B prime |
.B prime |
489 |
the |
the\~\c |
490 |
.B 1 |
.B 1 |
491 |
will be a subscript to the prime character. |
will be a subscript to the prime character. |
492 |
The precedence of |
The precedence of |
499 |
.B accent |
.B accent |
500 |
and |
and |
501 |
.BR uaccent . |
.BR uaccent . |
502 |
In unquoted text a |
In unquoted text a\~\c |
503 |
.B ' |
.B ' |
504 |
that is not the first character will be treated like |
that is not the first character will be treated like |
505 |
.BR opprime . |
.BR opprime . |
506 |
|
. |
507 |
.TP |
.TP |
508 |
.BI special\ text\ e |
.BI special\ text\ e |
509 |
This constructs a new object from |
This constructs a new object from\~\c |
510 |
.I e |
.I e |
511 |
using a |
using a |
512 |
.BR @g@troff (@MAN1EXT@) |
.BR @g@troff (@MAN1EXT@) |
513 |
macro named |
macro named |
514 |
.IR text . |
.IR text . |
515 |
When the macro is called, |
When the macro is called, |
516 |
the string |
the string |
517 |
.B 0s |
.B 0s |
518 |
will contain the output for |
will contain the output for\~\c |
519 |
.IR e , |
.IR e , |
520 |
and the number registers |
and the number registers |
521 |
.BR 0w , |
.BR 0w , |
522 |
.BR 0h , |
.BR 0h , |
523 |
.BR 0d , |
.BR 0d , |
524 |
.BR 0skern |
.BR 0skern , |
525 |
and |
and |
526 |
.BR 0skew |
.BR 0skew |
527 |
will contain the width, height, depth, subscript kern, and skew of |
will contain the width, height, depth, subscript kern, and skew of\~\c |
528 |
.IR e . |
.IR e . |
529 |
(The |
(The |
530 |
.I "subscript kern" |
.I "subscript kern" |
540 |
of the object. |
of the object. |
541 |
The number registers must also be modified so that they correspond to the |
The number registers must also be modified so that they correspond to the |
542 |
result. |
result. |
543 |
.RS |
. |
544 |
.LP |
.IP |
545 |
For example, suppose you wanted a construct that `cancels' an expression |
For example, suppose you wanted a construct that `cancels' an expression |
546 |
by drawing a diagonal line through it. |
by drawing a diagonal line through it. |
547 |
|
. |
548 |
|
.RS |
549 |
.IP |
.IP |
|
.nf |
|
550 |
.ft B |
.ft B |
551 |
.if t .ne 6+\n(.Vu |
.if t .ne 6+\n(.Vu |
552 |
|
.br |
553 |
\&.EQ |
\&.EQ |
554 |
|
.br |
555 |
define cancel 'special Ca' |
define cancel 'special Ca' |
556 |
|
.br |
557 |
\&.EN |
\&.EN |
558 |
|
.br |
559 |
\&.de Ca |
\&.de Ca |
560 |
\&.ds 0s \eZ'\e\e*(0s'\ev'\e\en(0du'\eD'l \e\en(0wu -\e\en(0hu-\e\en(0du'\ev'\e\en(0hu' |
.br |
561 |
|
\&.\ \ ds 0s \e |
562 |
|
.br |
563 |
|
\eZ'\e\e*(0s'\e |
564 |
|
.br |
565 |
|
\ev'\e\en(0du'\e |
566 |
|
.br |
567 |
|
\eD'l \e\en(0wu -\e\en(0hu-\e\en(0du'\e |
568 |
|
.br |
569 |
|
\ev'\e\en(0hu' |
570 |
|
.br |
571 |
\&.. |
\&.. |
572 |
.ft |
.ft |
573 |
.fi |
.RE |
574 |
.LP |
. |
575 |
Then you could cancel an expression |
.IP |
576 |
|
Then you could cancel an expression\~\c |
577 |
.I e |
.I e |
578 |
with |
with |
579 |
.BI cancel\ {\ e\ } |
.BI \%cancel\ {\ e\ } |
580 |
.LP |
. |
581 |
|
.IP |
582 |
Here's a more complicated construct that draws a box round an expression: |
Here's a more complicated construct that draws a box round an expression: |
583 |
|
. |
584 |
|
.RS |
585 |
.IP |
.IP |
|
.nf |
|
586 |
.ft B |
.ft B |
587 |
.if t .ne 11+\n(.Vu |
.if t .ne 11+\n(.Vu |
588 |
\&.EQ |
\&.EQ |
589 |
|
.br |
590 |
define box 'special Bx' |
define box 'special Bx' |
591 |
|
.br |
592 |
\&.EN |
\&.EN |
593 |
|
.br |
594 |
\&.de Bx |
\&.de Bx |
595 |
\&.ds 0s \eZ'\eh'1n'\e\e*(0s'\e |
.br |
596 |
\eZ'\ev'\e\en(0du+1n'\eD'l \e\en(0wu+2n 0'\eD'l 0 -\e\en(0hu-\e\en(0du-2n'\e |
\&.\ \ ds 0s \e |
597 |
\eD'l -\e\en(0wu-2n 0'\eD'l 0 \e\en(0hu+\e\en(0du+2n''\eh'\e\en(0wu+2n' |
.br |
598 |
\&.nr 0w +2n |
\eZ'\eh'1n'\e\e*(0s'\e |
599 |
\&.nr 0d +1n |
.br |
600 |
\&.nr 0h +1n |
\eZ'\e |
601 |
|
.br |
602 |
|
\ev'\e\en(0du+1n'\e |
603 |
|
.br |
604 |
|
\eD'l \e\en(0wu+2n 0'\e |
605 |
|
.br |
606 |
|
\eD'l 0 -\e\en(0hu-\e\en(0du-2n'\e |
607 |
|
.br |
608 |
|
\eD'l -\e\en(0wu-2n 0'\e |
609 |
|
.br |
610 |
|
\eD'l 0 \e\en(0hu+\e\en(0du+2n'\e |
611 |
|
.br |
612 |
|
\&'\e |
613 |
|
.br |
614 |
|
\eh'\e\en(0wu+2n' |
615 |
|
.br |
616 |
|
\&.\ \ nr 0w +2n |
617 |
|
.br |
618 |
|
\&.\ \ nr 0d +1n |
619 |
|
.br |
620 |
|
\&.\ \ nr 0h +1n |
621 |
|
.br |
622 |
\&.. |
\&.. |
623 |
.ft |
.ft |
|
.fi |
|
624 |
.RE |
.RE |
625 |
|
. |
626 |
.SS Customization |
.SS Customization |
627 |
The appearance of equations is controlled by |
The appearance of equations is controlled by a large number of parameters. |
628 |
a large number of parameters. These can be set using |
These can be set using |
629 |
the |
the |
630 |
.B set |
.B set |
631 |
command. |
command. |
632 |
|
. |
633 |
.TP |
.TP |
634 |
.BI set\ p\ n |
.BI set\ p\ n |
635 |
This sets parameter |
This sets parameter\~\c |
636 |
.I p |
.I p |
637 |
to value |
to value\~\c |
638 |
.I n ; |
.IR n ; |
639 |
.I n |
.I n\~\c |
640 |
is an integer. |
is an integer. |
641 |
For example, |
For example, |
642 |
|
. |
643 |
.RS |
.RS |
644 |
.IP |
.IP |
645 |
.B |
.B |
646 |
set x_height 45 |
set x_height 45 |
647 |
.RE |
.RE |
648 |
|
. |
649 |
.IP |
.IP |
650 |
says that |
says that |
651 |
.B eqn |
.B eqn |
652 |
should assume an x height of 0.45 ems. |
should assume an x\~height of 0.45\~ems. |
653 |
|
. |
654 |
.RS |
.RS |
655 |
.LP |
.LP |
656 |
Possible parameters are as follows. |
Possible parameters are as follows. |
657 |
Values are in units of hundredths of an em unless otherwise stated. |
Values are in units of hundredths of an em unless otherwise stated. |
658 |
These descriptions are intended to be expository rather than |
These descriptions are intended to be expository rather than |
659 |
definitive. |
definitive. |
660 |
.TP \w'\fBdefault_rule_thickness'u+2n |
. |
661 |
|
.ie t \ |
662 |
|
. TP \w'\fBdefault_rule_thickness'u+2n |
663 |
|
.el \ |
664 |
|
. TP |
665 |
.B minimum_size |
.B minimum_size |
666 |
.B eqn |
.B eqn |
667 |
will not set anything at a smaller point-size than this. |
will not set anything at a smaller point-size than this. |
668 |
The value is in points. |
The value is in points. |
669 |
|
. |
670 |
.TP |
.TP |
671 |
.B fat_offset |
.B fat_offset |
672 |
The |
The |
674 |
primitive emboldens an equation |
primitive emboldens an equation |
675 |
by overprinting two copies of the equation |
by overprinting two copies of the equation |
676 |
horizontally offset by this amount. |
horizontally offset by this amount. |
677 |
|
. |
678 |
.TP |
.TP |
679 |
.B over_hang |
.B over_hang |
680 |
A fraction bar will be longer by twice this amount than |
A fraction bar will be longer by twice this amount than |
681 |
the maximum of the widths of the numerator and denominator; |
the maximum of the widths of the numerator and denominator; |
682 |
in other words, it will overhang the numerator and |
in other words, it will overhang the numerator and |
683 |
denominator by at least this amount. |
denominator by at least this amount. |
684 |
|
. |
685 |
.TP |
.TP |
686 |
.B accent_width |
.B accent_width |
687 |
When |
When |
697 |
produces a line whose length is the width of the object to which it applies; |
produces a line whose length is the width of the object to which it applies; |
698 |
in the case of a single character, |
in the case of a single character, |
699 |
this tends to produce a line that looks too long. |
this tends to produce a line that looks too long. |
700 |
|
. |
701 |
.TP |
.TP |
702 |
.B delimiter_factor |
.B delimiter_factor |
703 |
Extensible delimiters produced with the |
Extensible delimiters produced with the |
707 |
primitives will have a combined height and depth of at least this many |
primitives will have a combined height and depth of at least this many |
708 |
thousandths of twice the maximum amount by which the sub-equation that |
thousandths of twice the maximum amount by which the sub-equation that |
709 |
the delimiters enclose extends away from the axis. |
the delimiters enclose extends away from the axis. |
710 |
|
. |
711 |
.TP |
.TP |
712 |
.B delimiter_shortfall |
.B delimiter_shortfall |
713 |
Extensible delimiters produced with the |
Extensible delimiters produced with the |
719 |
twice the maximum amount by which the sub-equation that |
twice the maximum amount by which the sub-equation that |
720 |
the delimiters enclose extends away from the axis |
the delimiters enclose extends away from the axis |
721 |
and this amount. |
and this amount. |
722 |
|
. |
723 |
.TP |
.TP |
724 |
.B null_delimiter_space |
.B null_delimiter_space |
725 |
This much horizontal space is inserted |
This much horizontal space is inserted |
726 |
on each side of a fraction. |
on each side of a fraction. |
727 |
|
. |
728 |
.TP |
.TP |
729 |
.B script_space |
.B script_space |
730 |
The width of subscripts and superscripts is increased by this amount. |
The width of subscripts and superscripts is increased by this amount. |
731 |
|
. |
732 |
.TP |
.TP |
733 |
.B thin_space |
.B thin_space |
734 |
This amount of space is automatically inserted after punctuation |
This amount of space is automatically inserted after punctuation |
735 |
characters. |
characters. |
736 |
|
. |
737 |
.TP |
.TP |
738 |
.B medium_space |
.B medium_space |
739 |
This amount of space is automatically inserted on either side |
This amount of space is automatically inserted on either side |
740 |
of binary operators. |
of binary operators. |
741 |
|
. |
742 |
.TP |
.TP |
743 |
.B thick_space |
.B thick_space |
744 |
This amount of space is automatically inserted on either side of |
This amount of space is automatically inserted on either side of |
745 |
relations. |
relations. |
746 |
|
. |
747 |
.TP |
.TP |
748 |
.B x_height |
.B x_height |
749 |
The height of lowercase letters without ascenders such as x. |
The height of lowercase letters without ascenders such as `x'. |
750 |
|
. |
751 |
.TP |
.TP |
752 |
.B axis_height |
.B axis_height |
753 |
The height above the baseline of the center of characters |
The height above the baseline of the center of characters |
754 |
such as \(pl and \(mi. |
such as `\(pl' and `\(mi'. |
755 |
It is important that this value is correct for the font |
It is important that this value is correct for the font |
756 |
you are using. |
you are using. |
757 |
|
. |
758 |
.TP |
.TP |
759 |
.B default_rule_thickness |
.B default_rule_thickness |
760 |
This should set to the thickness of the |
This should set to the thickness of the |
762 |
character, or the thickness of horizontal lines produced with the |
character, or the thickness of horizontal lines produced with the |
763 |
.B \eD |
.B \eD |
764 |
escape sequence. |
escape sequence. |
765 |
|
. |
766 |
.TP |
.TP |
767 |
.B num1 |
.B num1 |
768 |
The |
The |
769 |
.B over |
.B over |
770 |
command will shift up the numerator by at least this amount. |
command will shift up the numerator by at least this amount. |
771 |
|
. |
772 |
.TP |
.TP |
773 |
.B num2 |
.B num2 |
774 |
The |
The |
775 |
.B smallover |
.B smallover |
776 |
command will shift up the numerator by at least this amount. |
command will shift up the numerator by at least this amount. |
777 |
|
. |
778 |
.TP |
.TP |
779 |
.B denom1 |
.B denom1 |
780 |
The |
The |
781 |
.B over |
.B over |
782 |
command will shift down the denominator by at least this amount. |
command will shift down the denominator by at least this amount. |
783 |
|
. |
784 |
.TP |
.TP |
785 |
.B denom2 |
.B denom2 |
786 |
The |
The |
787 |
.B smallover |
.B smallover |
788 |
command will shift down the denominator by at least this amount. |
command will shift down the denominator by at least this amount. |
789 |
|
. |
790 |
.TP |
.TP |
791 |
.B sup1 |
.B sup1 |
792 |
Normally superscripts will be shifted up by at least this amount. |
Normally superscripts will be shifted up by at least this amount. |
793 |
|
. |
794 |
.TP |
.TP |
795 |
.B sup2 |
.B sup2 |
796 |
Superscripts within superscripts or upper limits |
Superscripts within superscripts or upper limits |
799 |
fractions |
fractions |
800 |
will be shifted up by at least this amount. |
will be shifted up by at least this amount. |
801 |
This is usually less than sup1. |
This is usually less than sup1. |
802 |
|
. |
803 |
.TP |
.TP |
804 |
.B sup3 |
.B sup3 |
805 |
Superscripts within denominators or square roots |
Superscripts within denominators or square roots |
806 |
or subscripts or lower limits will be shifted up by at least |
or subscripts or lower limits will be shifted up by at least |
807 |
this amount. |
this amount. |
808 |
This is usually less than sup2. |
This is usually less than sup2. |
809 |
|
. |
810 |
.TP |
.TP |
811 |
.B sub1 |
.B sub1 |
812 |
Subscripts will normally be shifted down by at least this amount. |
Subscripts will normally be shifted down by at least this amount. |
813 |
|
. |
814 |
.TP |
.TP |
815 |
.B sub2 |
.B sub2 |
816 |
When there is both a subscript and a superscript, the subscript |
When there is both a subscript and a superscript, the subscript |
817 |
will be shifted down by at least this amount. |
will be shifted down by at least this amount. |
818 |
|
. |
819 |
.TP |
.TP |
820 |
.B sup_drop |
.B sup_drop |
821 |
The baseline of a superscript will be no more |
The baseline of a superscript will be no more |
822 |
than this much amount below the top of the object on |
than this much amount below the top of the object on |
823 |
which the superscript is set. |
which the superscript is set. |
824 |
|
. |
825 |
.TP |
.TP |
826 |
.B sub_drop |
.B sub_drop |
827 |
The baseline of a subscript will be at least this much below |
The baseline of a subscript will be at least this much below |
828 |
the bottom of the object on which the subscript is set. |
the bottom of the object on which the subscript is set. |
829 |
|
. |
830 |
.TP |
.TP |
831 |
.B big_op_spacing1 |
.B big_op_spacing1 |
832 |
The baseline of an upper limit will be at least this |
The baseline of an upper limit will be at least this |
833 |
much above the top of the object on which the limit is set. |
much above the top of the object on which the limit is set. |
834 |
|
. |
835 |
.TP |
.TP |
836 |
.B big_op_spacing2 |
.B big_op_spacing2 |
837 |
The baseline of a lower limit will be at least this |
The baseline of a lower limit will be at least this |
838 |
much below the bottom of the object on which the limit is set. |
much below the bottom of the object on which the limit is set. |
839 |
|
. |
840 |
.TP |
.TP |
841 |
.B big_op_spacing3 |
.B big_op_spacing3 |
842 |
The bottom of an upper limit will be at least this much above the |
The bottom of an upper limit will be at least this much above the |
843 |
top of the object on which the limit is set. |
top of the object on which the limit is set. |
844 |
|
. |
845 |
.TP |
.TP |
846 |
.B big_op_spacing4 |
.B big_op_spacing4 |
847 |
The top of a lower limit will be at least this much below |
The top of a lower limit will be at least this much below |
848 |
the bottom of the object on which the limit is set. |
the bottom of the object on which the limit is set. |
849 |
|
. |
850 |
.TP |
.TP |
851 |
.B big_op_spacing5 |
.B big_op_spacing5 |
852 |
This much vertical space will be added above and below limits. |
This much vertical space will be added above and below limits. |
853 |
|
. |
854 |
.TP |
.TP |
855 |
.B baseline_sep |
.B baseline_sep |
856 |
The baselines of the rows in a pile or matrix will normally be |
The baselines of the rows in a pile or matrix will normally be |
859 |
.B num1 |
.B num1 |
860 |
and |
and |
861 |
.BR denom1 . |
.BR denom1 . |
862 |
|
. |
863 |
.TP |
.TP |
864 |
.B shift_down |
.B shift_down |
865 |
The midpoint between the top baseline and the bottom baseline |
The midpoint between the top baseline and the bottom baseline |
866 |
in a matrix or pile will be shifted down by this much from the axis. |
in a matrix or pile will be shifted down by this much from the axis. |
867 |
In most cases this should be equal to |
In most cases this should be equal to |
868 |
.BR axis_height . |
.BR axis_height . |
869 |
|
. |
870 |
.TP |
.TP |
871 |
.B column_sep |
.B column_sep |
872 |
This much space will be added between columns in a matrix. |
This much space will be added between columns in a matrix. |
873 |
|
. |
874 |
.TP |
.TP |
875 |
.B matrix_side_sep |
.B matrix_side_sep |
876 |
This much space will be added at each side of a matrix. |
This much space will be added at each side of a matrix. |
877 |
|
. |
878 |
.TP |
.TP |
879 |
.B draw_lines |
.B draw_lines |
880 |
If this is non-zero, lines will be drawn using the |
If this is non-zero, lines will be drawn using the |
884 |
escape sequence and the |
escape sequence and the |
885 |
.B \e(ru |
.B \e(ru |
886 |
character. |
character. |
887 |
|
. |
888 |
.TP |
.TP |
889 |
.B body_height |
.B body_height |
890 |
The amount by which the height of the equation exceeds this |
The amount by which the height of the equation exceeds this |
891 |
will be added as extra space before the line containing the equation |
will be added as extra space before the line containing the equation |
892 |
(using |
(using |
893 |
.BR \ex .) |
.BR \ex ). |
894 |
The default value is 85. |
The default value is 85. |
895 |
|
. |
896 |
.TP |
.TP |
897 |
.B body_depth |
.B body_depth |
898 |
The amount by which the depth of the equation exceeds this |
The amount by which the depth of the equation exceeds this |
899 |
will be added as extra space after the line containing the equation |
will be added as extra space after the line containing the equation |
900 |
(using |
(using |
901 |
.BR \ex .) |
.BR \ex ). |
902 |
The default value is 35. |
The default value is 35. |
903 |
|
. |
904 |
.TP |
.TP |
905 |
.B nroff |
.B nroff |
906 |
If this is non-zero, |
If this is non-zero, |
918 |
and |
and |
919 |
.B ndefine |
.B ndefine |
920 |
will be ignored. |
will be ignored. |
921 |
The default value is 0 |
The default value is\~0 |
922 |
(This is typically changed to 1 by the |
(This is typically changed to\~1 by the |
923 |
.B eqnrc |
.B eqnrc |
924 |
file for the |
file for the |
925 |
.BR ascii , |
.BR ascii , |
928 |
and |
and |
929 |
.B cp1047 |
.B cp1047 |
930 |
devices.) |
devices.) |
931 |
|
. |
932 |
.LP |
.LP |
933 |
A more precise description of the role of many of these |
A more precise description of the role of many of these |
934 |
parameters can be found in Appendix H of |
parameters can be found in Appendix\~H of |
935 |
.IR The\ \*(txbook . |
.IR "The \*(txbook" . |
936 |
.RE |
.RE |
937 |
|
. |
938 |
.SS Macros |
.SS Macros |
939 |
Macros can take arguments. |
Macros can take arguments. |
940 |
In a macro body, |
In a macro body, |
941 |
.BI $ n |
.BI $ n |
942 |
where |
where |
943 |
.I n |
.I n |
944 |
is between 1 and 9, |
is between 1 and\~9, |
945 |
will be replaced by the |
will be replaced by the |
946 |
.IR n-th |
.IR n-th |
947 |
argument if the macro is called with arguments; |
argument if the macro is called with arguments; |
948 |
if there are fewer than |
if there are fewer than |
949 |
.I n |
.I n\~\c |
950 |
arguments, it will be replaced by nothing. |
arguments, it will be replaced by nothing. |
951 |
A word containing a left parenthesis where the part of the word |
A word containing a left parenthesis where the part of the word |
952 |
before the left parenthesis has been defined using the |
before the left parenthesis has been defined using the |
957 |
up to a matching right parenthesis will be treated as comma-separated |
up to a matching right parenthesis will be treated as comma-separated |
958 |
arguments; |
arguments; |
959 |
commas inside nested parentheses do not terminate an argument. |
commas inside nested parentheses do not terminate an argument. |
960 |
|
. |
961 |
.TP |
.TP |
962 |
.BI sdefine\ name\ X\ anything\ X |
.BI sdefine\ name\ X\ anything\ X |
963 |
This is like the |
This is like the |
965 |
command, but |
command, but |
966 |
.I name |
.I name |
967 |
will not be recognized if called with arguments. |
will not be recognized if called with arguments. |
968 |
|
. |
969 |
.TP |
.TP |
970 |
.BI include\ \(ts file \(ts |
.BI include\ \(ts file \(ts |
971 |
Include the contents of |
Include the contents of |
977 |
or |
or |
978 |
.B .EN |
.B .EN |
979 |
will be ignored. |
will be ignored. |
980 |
|
. |
981 |
.TP |
.TP |
982 |
.BI ifdef\ name\ X\ anything\ X |
.BI ifdef\ name\ X\ anything\ X |
983 |
If |
If |
994 |
.I X |
.I X |
995 |
can be any character not appearing in |
can be any character not appearing in |
996 |
.IR anything . |
.IR anything . |
997 |
|
. |
998 |
.SS Fonts |
.SS Fonts |
999 |
.B eqn |
.B eqn |
1000 |
normally uses at least two fonts to set an equation: |
normally uses at least two fonts to set an equation: |
1004 |
.B gfont |
.B gfont |
1005 |
command |
command |
1006 |
changes the font that is used as the italic font. |
changes the font that is used as the italic font. |
1007 |
By default this is |
By default this is\~\c |
1008 |
.BR I . |
.BR I . |
1009 |
The font that is used as the roman font can be changed |
The font that is used as the roman font can be changed |
1010 |
using the new |
using the new |
1011 |
.B grfont |
.B grfont |
1012 |
command. |
command. |
1013 |
|
. |
1014 |
.TP |
.TP |
1015 |
.BI grfont\ f |
.BI grfont\ f |
1016 |
Set the roman font to |
Set the roman font to\~\c |
1017 |
.IR f . |
.IR f . |
1018 |
|
. |
1019 |
.LP |
.LP |
1020 |
The |
The |
1021 |
.B italic |
.B italic |
1043 |
and |
and |
1044 |
.B gbfont |
.B gbfont |
1045 |
commands. |
commands. |
1046 |
|
. |
1047 |
.LP |
.LP |
1048 |
You can control which characters are treated as letters |
You can control which characters are treated as letters |
1049 |
(and therefore set in italics) by using the |
(and therefore set in italics) by using the |
1055 |
A type of |
A type of |
1056 |
.B digit |
.B digit |
1057 |
will cause a character to be set in roman type. |
will cause a character to be set in roman type. |
1058 |
|
. |
1059 |
|
. |
1060 |
.SH FILES |
.SH FILES |
1061 |
.Tp \w'\fB@MACRODIR@/eqnrc'u+2n |
.Tp \w'\fB@MACRODIR@/eqnrc'u+2n |
1062 |
.B @MACRODIR@/eqnrc |
.B @MACRODIR@/eqnrc |
1063 |
Initialization file. |
Initialization file. |
1064 |
|
. |
1065 |
|
. |
1066 |
.SH BUGS |
.SH BUGS |
1067 |
Inline equations will be set at the point size that is current at the |
Inline equations will be set at the point size that is current at the |
1068 |
beginning of the input line. |
beginning of the input line. |
1069 |
|
. |
1070 |
|
. |
1071 |
.SH "SEE ALSO" |
.SH "SEE ALSO" |
1072 |
.BR groff (@MAN1EXT@), |
.BR groff (@MAN1EXT@), |
1073 |
.BR @g@troff (@MAN1EXT@), |
.BR @g@troff (@MAN1EXT@), |