~ubuntu-branches/ubuntu/dapper/groff/dapper

« back to all changes in this revision

Viewing changes to src/preproc/eqn/eqn.man

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2002-03-17 04:11:50 UTC
  • Revision ID: james.westby@ubuntu.com-20020317041150-wkgfawjc3gxlk0o5
Tags: upstream-1.17.2
ImportĀ upstreamĀ versionĀ 1.17.2

Show diffs side-by-side

added added

removed removed

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