xref: /386bsd/usr/share/man/cat1/eqn.0 (revision a2142627)
1
2
3
4GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
5
6
7NNAAMMEE
8       geqn - groff equation formatter
9
10SSYYNNOOPPSSIISS
11       ggeeqqnn [ --CC ] [ --DD ] [ --NN ] [ --dd_c_c ] [ --TT_d_e_v ] [ --rr ] [ --vv ]
12       [ --ff_F ] [ --ss_n ] [ --pp_n ] [ --mm_n ] [ _f_i_l_e_s...  ]
13
14DDEESSCCRRIIPPTTIIOONN
15       ggeeqqnn is a preprocessor for ggrrooffff for formatting equations.
16       Normally,  it  should  be  invoked  using the --ee option of
17       ggrrooffff.  The syntax is quite compatible with eeqqnn.  The out-
18       put  of  ggeeqqnn cannot be processed with ddiittrrooffff; it must be
19       processed with ggttrrooffff.  If no files are given on the  com-
20       mand line, the standard input will be read.  A filename of
21       -- will cause the standard input to be read.
22
23OOPPTTIIOONNSS
24       --CC     Recognize ..EEQQ and ..EENN even when followed by a char-
25              acter other than space or newline.
26
27       --DD     Draw  fraction  bars  using the \\DD escape sequence,
28              rather than with the \\ll  escape  sequence  and  the
29              \\((rruu character.
30
31       --NN     Don't   allow  newlines  within  delimiters.   This
32              option allows ggeeqqnn to recover better  from  missing
33              closing delimiters.
34
35       --vv     Print the version number.
36
37       --rr     Only one size reduction.
38
39       --mm_n    The  minimum point-size is _n.  Geqn will not reduce
40              the size of subscripts or superscripts to a smaller
41              size than _n.
42
43       --TT_d_e_v  The  output  is for device _d_e_v.  A macro whose name
44              is the name of the output device  is  automatically
45              defined with a value of 11.  Nothing else depends on
46              what the output device is;  geqn  does  not  itself
47              read font or device description files.  The default
48              output device is @@DDEEVVIICCEE@@.
49
50       --ff_F    This is equivalent to a ggffoonntt _F command.
51
52       --ss_n    This is equivalent  to  a  ggssiizzee _n  command.   This
53              option is deprecated.  Geqn will normally set equa-
54              tions at whatever the current point  size  is  when
55              the equation is encountered.
56
57       --pp_n    This  says  that subscripts and superscripts should
58              be _n points  smaller  than  the  surrounding  text.
59              This option is deprecated.  Normally eqn makes sets
60              subscripts and superscripts at 70% of the  size  of
61
62
63
64May                             1                               1
65
66
67
68
69
70GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
71
72
73              the surrounding text.
74
75UUSSAAGGEE
76       Only  the  differences  between geqn and eqn are described
77       here.
78
79       Most of the new features of ggeeqqnn are based on TeX.   There
80       are  some  references  to  the differences between TeX and
81       ggeeqqnn below; these may safely be ignored if you do not know
82       TeX.
83
84   AAuuttoommaattiicc ssppaacciinngg
85       ggeeqqnn  gives  each  component  of  an  equation a type, and
86       adjusts the spacing between components  using  that  type.
87       Possible types are:
88
89       ordinary     an ordinary character such as 1 or _x;
90
91       operator     a large operator such as the summation opera-
92                    tor;
93
94       binary       a binary operator such as +;
95
96       relation     a relation such as =;
97
98       opening      a opening bracket such as (;
99
100       closing      a closing bracket such as );
101
102       punctuation  a punctutation character such as ,;
103
104       inner        a subformula contained within brackets;
105
106       suppress     spacing  that  suppresses  automatic  spacing
107                    adjustment.
108
109       Components of an equation get a type in one of two ways.
110
111       ttyyppee _t _e
112              This  yields  an equation component that contains _e
113              but that has type _t, where _t is one  of  the  types
114              mentioned above.  For example, ttiimmeess is defined as
115
116                     ttyyppee ""bbiinnaarryy"" \\((mmuu
117
118              The name of the type doesn't have to be quoted, but
119              quoting protects from macro expansion.
120
121       cchhaarrttyyppee _t _t_e_x_t
122              Unquoted groups of characters  are  split  up  into
123              individual characters, and the type of each charac-
124              ter is looked up; this changes  the  type  that  is
125              stored for each character; it says that the charac-
126              ters in _t_e_x_t from now on have type _t.  For example,
127
128
129
130May                             1                               2
131
132
133
134
135
136GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
137
138
139                     cchhaarrttyyppee ""ppuunnccttuuaattiioonn"" ..,,;;::
140
141              would  make  the characters ..,,;;:: have type punctua-
142              tion whenever  they  subsequently  appeared  in  an
143              equation.   The type _t can also be lleetttteerr or ddiiggiitt;
144              in these cases cchhaarrttyyppee changes the  font  type  of
145              the characters.  See the Fonts subsection.
146
147   NNeeww pprriimmiittiivveess
148       _e_1 ssmmaalllloovveerr _e_2
149              This is similar to oovveerr; ssmmaalllloovveerr reduces the size
150              of _e_1 and _e_2; it  also  puts  less  vertical  space
151              between  _e_1  or  _e_2 and the fraction bar.  The oovveerr
152              primitive corresponds to the TeX \\oovveerr primitive in
153              display  styles;  ssmmaalllloovveerr corresponds to \\oovveerr in
154              non-display styles.
155
156       vvcceenntteerr _e
157              This vertically centers _e about the math axis.  The
158              math  axis  is  the  vertical  position about which
159              characters such as + and - are centered; also it is
160              the  vertical  position  used  for the bar of frac-
161              tions.  For example, ssuumm is defined as
162
163                     {{ ttyyppee ""ooppeerraattoorr"" vvcceenntteerr ssiizzee ++55 \\((**SS }}
164
165       _e_1 aacccceenntt _e_2
166              This sets _e_2 as an accent over _e_1.  _e_2  is  assumed
167              to be at the correct height for a lowercase letter;
168              _e_2 will be moved down according if _e_1 is taller  or
169              shorter  than a lowercase letter.  For example, hhaatt
170              is defined as
171
172                     aacccceenntt {{ ""^^"" }}
173
174              ddoottddoott, ddoott, ttiillddee, vveecc and ddyyaadd are  also  defined
175              using the aacccceenntt primitive.
176
177       _e_1 uuaacccceenntt _e_2
178              This  sets _e_2 as an accent under _e_1.  _e_2 is assumed
179              to be at the correct height for a character without
180              a  descender;  _e_2  will  be  moved down if _e_1 has a
181              descender.  uuttiillddee is pre-defined using uuaacccceenntt  as
182              a tilde accent below the baseline.
183
184       sspplliitt ""_t_e_x_t""
185              This has the same effect as simply
186
187                     _t_e_x_t
188
189              but  _t_e_x_t is not subject to macro expansion because
190              it is quoted; _t_e_x_t will be split up and the spacing
191              between individual characters will be adjusted.
192
193
194
195
196May                             1                               3
197
198
199
200
201
202GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
203
204
205       nnoosspplliitt _t_e_x_t
206              This has the same effect as
207
208                     ""_t_e_x_t""
209
210              but  because  _t_e_x_t is not quoted it will be subject
211              to macro expansion; _t_e_x_t will not be split  up  and
212              the  spacing between individual characters will not
213              be adjusted.
214
215       _e oopppprriimmee
216              This is a variant of pprriimmee that acts as an operator
217              on _e.  It produces a different result from pprriimmee in
218              a case such as AA oopppprriimmee ssuubb 11: with oopppprriimmee the  11
219              will  be  tucked  under the prime as a subscript to
220              the AA (as is conventional in mathematical  typeset-
221              ting), whereas with pprriimmee the 11 will be a subscript
222              to the prime character.  The prcedence  of  oopppprriimmee
223              is  the  same  as  that  of bbaarr and uunnddeerr, which is
224              higher than that of everything  except  aacccceenntt  and
225              uuaacccceenntt.   In  unquoted  text  a  '' that is not the
226              first character will be treated like oopppprriimmee.
227
228   CCuussttoommiizzaattiioonn
229       The appearance of equations is controlled by a large  num-
230       ber of parameters. These can be set using the sseett command.
231
232       sseett _p _n
233              This sets parameter _p to value _n ; _n is an integer.
234              For example,
235
236                     sseett xx__hheeiigghhtt 4455
237
238              says  that  ggeeqqnn  should assume an x height of 0.45
239              ems.
240
241              Possible parameters are as follows.  Values are  in
242              units  of  hundreths  of  an  em  unless  otherwise
243              stated.  These  descriptions  are  intended  to  be
244              expository rather than definitive.
245
246              mmiinniimmuumm__ssiizzee            ggeeqqnn  will not set anything
247                                      at  a  smaller   point-size
248                                      than this.  The value is in
249                                      points.
250
251              ffaatt__ooffffsseett              The ffaatt primitive emboldens
252                                      an equation by overprinting
253                                      two copies of the  equation
254                                      horizontally offset by this
255                                      amount.
256
257              oovveerr__hhaanngg               A  fraction  bar  will   be
258                                      longer by twice this amount
259
260
261
262May                             1                               4
263
264
265
266
267
268GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
269
270
271                                      than  the  maximum  of  the
272                                      widths of the numerator and
273                                      denominator;    in    other
274                                      words, it will overhang the
275                                      numerator  and  denominator
276                                      by at least this amount.
277
278              aacccceenntt__wwiiddtthh            When   bbaarr   or   uunnddeerr  is
279                                      applied to a single charac-
280                                      ter,  the line will be this
281                                      long.   Normally,  bbaarr   or
282                                      uunnddeerr produces a line whose
283                                      length is the width of  the
284                                      object to which it applies;
285                                      in the  case  of  a  single
286                                      character,  this  tends  to
287                                      produce a line  that  looks
288                                      too long.
289
290              ddeelliimmiitteerr__ffaaccttoorr        Extensible  delimiters pro-
291                                      duced  with  the  lleefftt  and
292                                      rriigghhtt  primitives will have
293                                      a combined height and depth
294                                      of at least this many thou-
295                                      sandths of twice the  maxi-
296                                      mum  amount  by  which  the
297                                      sub-equation    that    the
298                                      delimiters  enclose extends
299                                      away from the axis.
300
301              ddeelliimmiitteerr__sshhoorrttffaallll     Extensible delimiters  pro-
302                                      duced  with  the  lleefftt  and
303                                      rriigghhtt primitives will  have
304                                      a combined height and depth
305                                      not less than  the  differ-
306                                      ence  of  twice the maximum
307                                      amount by  which  the  sub-
308                                      equation  that  the  delim-
309                                      iters enclose extends  away
310                                      from   the  axis  and  this
311                                      amount.
312
313              nnuullll__ddeelliimmiitteerr__ssppaaccee    This much horizontal  space
314                                      is inserted on each side of
315                                      a fraction.
316
317              ssccrriipptt__ssppaaccee            The width of subscripts and
318                                      superscripts  is  increased
319                                      by this amount.
320
321              tthhiinn__ssppaaccee              This  amount  of  space  is
322                                      automatically      inserted
323                                      after  punctuation  charac-
324                                      ters.
325
326
327
328May                             1                               5
329
330
331
332
333
334GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
335
336
337              mmeeddiiuumm__ssppaaccee            This  amount  of  space  is
338                                      automatically  inserted  on
339                                      either side of binary oper-
340                                      ators.
341
342              tthhiicckk__ssppaaccee             This  amount  of  space  is
343                                      automatically  inserted  on
344                                      either side of relations.
345
346              xx__hheeiigghhtt                The  height  of   lowercase
347                                      letters  without  ascenders
348                                      such as x.
349
350              aaxxiiss__hheeiigghhtt             The height above the  base-
351                                      line of the center of char-
352                                      acters such as + and -.  It
353                                      is   important   that  this
354                                      value is  correct  for  the
355                                      font you are using.
356
357              ddeeffaauulltt__rruullee__tthhiicckknneessss  This   should  set  to  the
358                                      thickness of the \\((rruu char-
359                                      acter,  or the thickness of
360                                      horizontal  lines  produced
361                                      with    the    \\DD    escape
362                                      sequence.
363
364              nnuumm11                    The oovveerr command will shift
365                                      up   the  numerator  by  at
366                                      least this amount.
367
368              nnuumm22                    The ssmmaalllloovveerr command  will
369                                      shift  up  the numerator by
370                                      at least this amount.
371
372              ddeennoomm11                  The oovveerr command will shift
373                                      down  the denominator by at
374                                      least this amount.
375
376              ddeennoomm22                  The ssmmaalllloovveerr command  will
377                                      shift  down the denominator
378                                      by at least this amount.
379
380              ssuupp11                    Normally superscripts  will
381                                      be  shifted  up by at least
382                                      this amount.
383
384              ssuupp22                    Superscripts within  super-
385                                      scripts  or upper limits or
386                                      numerators   of   ssmmaalllloovveerr
387                                      fractions  will  be shifted
388                                      up by at least this amount.
389                                      This  is  usually less than
390                                      sup1.
391
392
393
394May                             1                               6
395
396
397
398
399
400GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
401
402
403              ssuupp33                    Superscripts within denomi-
404                                      nators  or  square roots or
405                                      subscripts or lower  limits
406                                      will  be  shifted  up by at
407                                      least this amount.  This is
408                                      usually less than sup2.
409
410              ssuubb11                    Subscripts will normally be
411                                      shifted down  by  at  least
412                                      this amount.
413
414              ssuubb22                    When  there  is both a sub-
415                                      script and  a  superscript,
416                                      the   subscript   will   be
417                                      shifted down  by  at  least
418                                      this amount.
419
420              ssuupp__ddrroopp                The  baseline  of  a super-
421                                      script will be no more than
422                                      this  much amount below the
423                                      top of the object on  which
424                                      the superscript is set.
425
426              ssuubb__ddrroopp                The baseline of a subscript
427                                      will be at least this  much
428                                      below  the  bottom  of  the
429                                      object on  which  the  sub-
430                                      script is set.
431
432              bbiigg__oopp__ssppaacciinngg11         The  baseline  of  an upper
433                                      limit will be at least this
434                                      much  above  the top of the
435                                      object on which  the  limit
436                                      is set.
437
438              bbiigg__oopp__ssppaacciinngg22         The  baseline  of  a  lower
439                                      limit will be at least this
440                                      much  below  the  bottom of
441                                      the  object  on  which  the
442                                      limit is set.
443
444              bbiigg__oopp__ssppaacciinngg33         The   bottom  of  an  upper
445                                      limit will be at least this
446                                      much  above  the top of the
447                                      object on which  the  limit
448                                      is set.
449
450              bbiigg__oopp__ssppaacciinngg44         The  top  of  a lower limit
451                                      will be at least this  much
452                                      below  the  bottom  of  the
453                                      object on which  the  limit
454                                      is set.
455
456              bbiigg__oopp__ssppaacciinngg55         This  much  vertical  space
457
458
459
460May                             1                               7
461
462
463
464
465
466GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
467
468
469                                      will  be  added  above  and
470                                      below limits.
471
472              bbaasseelliinnee__sseepp            The  baselines  of the rows
473                                      in a pile  or  matrix  will
474                                      normally be this far apart.
475                                      In most cases  this  should
476                                      be equal to the sum of nnuumm11
477                                      and ddeennoomm11.
478
479              sshhiifftt__ddoowwnn              The  midpoint  between  the
480                                      top baseline and the bottom
481                                      baseline  in  a  matrix  or
482                                      pile  will  be shifted down
483                                      by this much from the axis.
484                                      In  most  cases this should
485                                      be equal to aaxxiiss__hheeiigghhtt.
486
487              ccoolluummnn__sseepp              This  much  space  will  be
488                                      added  between columns in a
489                                      matrix.
490
491              mmaattrriixx__ssiiddee__sseepp         This  much  space  will  be
492                                      added  at  each  side  of a
493                                      matrix.
494
495              A more precise description of the role of  many  of
496              these  parameters  can  be  found  in Appendix H of
497              _T_h_e _T_e_X_b_o_o_k.
498
499   MMaaccrrooss
500       Macros can take arguments.  In a macro body, $$_n where _n is
501       between  1 and 9, will be replaced by the _n-_t_h argument if
502       the macro is called with arguments;  if  there  are  fewer
503       than  _n arguments, it will be replaced by nothing.  A word
504       containing a left parenthesis where the part of  the  word
505       before  the  left  parenthesis  has been defined using the
506       ddeeffiinnee command will be recognized as  a  macro  call  with
507       arguments; characters following the left parenthesis up to
508       a matching right parenthesis will  be  treated  as  comma-
509       separated  arguments;  commas inside nested parentheses do
510       not terminate an argument.
511
512       ssddeeffiinnee _n_a_m_e _X _a_n_y_t_h_i_n_g _X
513              This is like the ddeeffiinnee command, but _n_a_m_e will  not
514              be recognized if called with argumenta.
515
516       iinncclluuddee ""_f_i_l_e""
517              Include the contents of _f_i_l_e.  Lines of _f_i_l_e begin-
518              ning with ..EEQQ or ..EENN will be ignored.
519
520       iiffddeeff _n_a_m_e _X _a_n_y_t_h_i_n_g _X
521              If _n_a_m_e has been defined by  ddeeffiinnee  (or  has  been
522              automatically  defined  because  _n_a_m_e is the output
523
524
525
526May                             1                               8
527
528
529
530
531
532GEQN(@MAN1EXT@)                1990               GEQN(@MAN1EXT@)
533
534
535              device) process  _a_n_y_t_h_i_n_g;  otherwise  ignore  _a_n_y-
536              _t_h_i_n_g.   _X  can  be  any character not appearing in
537              _a_n_y_t_h_i_n_g.
538
539   FFoonnttss
540       ggeeqqnn normally uses at least two fonts to set an  equation:
541       an  italic  font  for letters, and a roman font for every-
542       thing else.  The existing ggffoonntt command changes  the  font
543       that  is  used  as the italic font.  By default this is II.
544       The font that is used as the roman  font  can  be  changed
545       using the new ggrrffoonntt command.
546
547       ggrrffoonntt _f
548              Set the roman font to _f.
549
550       The  iittaalliicc  primitive uses the current italic font set by
551       ggffoonntt; the rroommaann primitive uses the current roman font set
552       by  ggrrffoonntt.   There  is  also  a new ggbbffoonntt command, which
553       changes the font used by the bboolldd primitive.  If you  only
554       use the rroommaann, iittaalliicc and bboolldd primitives to changes fonts
555       within an equation, you can change all the fonts  used  by
556       your equations just by using ggffoonntt, ggrrffoonntt and ggbbffoonntt com-
557       mands.
558
559       You can control which characters are  treated  as  letters
560       (and  therefore set in italics) by using the cchhaarrttyyppee com-
561       mand described above.  A type of lleetttteerr will cause a char-
562       acter  to  be  set  in  italic type.  A type of ddiiggiitt will
563       cause a character to be set in roman type.
564
565SSEEEE AALLSSOO
566       ggrrooffff(@MAN1EXT@),                       ggttrrooffff(@MAN1EXT@),
567       ggrrooffff__ffoonntt(@MAN5EXT@), _T_h_e _T_e_X_b_o_o_k
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592May                             1                               9
593
594
595