eqn(1) FreeBSD 一般コマンドマニュアル

eqn

前のページ 上に戻る 次のページ

eqn



書式

       eqn [ -rvCNR ] [ -dcc ] [ -Tname ] [ -Mdir ] [ -fF ]
           [ -sn ] [ -pn ] [ -mn ] [ files... ]

       コマンドラインオプションとパラメータの間に、空白を置くこと
       が可能です。


解説

       本マニュアルでは、groff ドキュメントフォーマットシステムの
       一部である GNU バージョンの eqn について記述しま す。  eqn
       は、  troff への入力ファイルに埋め込まれている数式に関する
       記述をコンパイルし、 troff が解釈できる命令列に変 換 し ま
       す。 通常、 groff-e オプションを指定することで、本プロ
       グラムは実行されます。文法は UNIX の eqn ととても似か よっ
       て います。GNU eqn の出力は UNIX の troff で処理できないの
       で、 GNU troff を用いる必要があります。コマンドラ イ ン に
       ファイル名が指定されなかった場合は、標準入力から読み込みま
       す。ファイル名として - を指定した場合も標準入力から読み 込
       みます。

       eqn は、まず -M オプションで指定されたディレクトリを、次に
       /usr/share/tmac, /usr/share/tmac を、最後に標準マクロ ディ
       レクトリ /usr/share/tmac (訳注: 重複していますが原文通りで
       す) から eqnrc を検索し、もし存在すれば入力ファイルの処 理
       に先がけて読み込みを行います。 -R オプションを使うことによ
       り、この動作を禁止できます。

       GNU eqn は neqn の機能のすべてを提供するものではあり ま せ
       ん。低解像度のタイプライタのような機器を (単純な入力に対し
       ては十分であるのですが) サポートしません。


オプション

       -C     直後に空白文字や改行ではない文字が続く .EQ.EN
              を解釈します。

       -N      区切り文字から次の区切り文字までの間に改行がくるこ
              とを禁止します。誤って閉じる方の区切り文字をつけ 忘
              れ た場合も、以降の処理が正しく行われる可能性が高く
              なります。

       -v     バージョン番号を表示します。

       -r     サイズを 1 つだけ縮小します。

       -mn    最低のポイントサイズを n とします。 eqn は下付 き、
              上付き文字を n より小さなサイズにしません。

       -Tname name   で指定された機器用の出力を行います。実際は、
              name という値 1 のマクロが定義されるだけです。普 通
              は eqnrc でこの定義されたマクロによって出力機器にふ
              さわしい設定がなされます。デフォルトの出力機器は ps
              です。
              はありません。通常 eqn は隣接するテキストの 70%  の
              サイズになるように調節します。


使用法

       ここでは、GNU eqn と Unix eqn の違いのみを解説します。

       GNU eqn の新しい特徴のほとんどは、TeX に基づいています。以
       下には、いくつかの TeX と GNU eqn の違いを記述してあ り ま
       す。 もし、あなたが TeX を知らないならば、無視した方が安全
       でしょう。

   B>自B>動B>スB>ペB>ーB>シB>ンB>グ
       eqn は、数式の中の部分それぞれに対して型を与えて、その型を
       用いて数式の中の部分の間の間隔をそろえます。利用できる型に
       は以下のものがあります。

       ordinary     1や x のような通常の文字
                    _
       operator     > のような大きな演算記号

       binary       + のような、2 項演算子

       relation     = のような関係記号

       opening      ( のような括弧開始記号

       closing      )のような括弧終了記号

       punctuation  , のような句読点記号

       inner        括弧内部に含まれた部分式

       suppress     オートマチックスペーシングによる位置補正を 抑
                    制する

       式 の中の項の型は、以下に示す 2 つの方法のどちらかで指定さ
       れます。

       type t e
              式の中の項で e を含むものを、型 t であると指定し ま
              す。  t  は、上述の型の中から指定します。たとえば、
              timestype "binary" \(mu

              と定義されます。マクロ展開を防ぐためにクォーティ ン
              グ する以外は、型の名前はクォートする必要はありませ
              ん。

       chartype t text
              クォートされていない文字のグループは、個々の文字 に
              分 割され、それぞれの文字の型が検索されます。この変

   B>新B>しB>いB>プB>リB>ミB>テB>ィB>ブ
       e1 smallover e2
              これは over と似ています; smallovere1 および e2
              の サイズを小さくします; また e1 および e2 と分数の
              線との間の垂直幅も小さくなります。 over プリミ ティ
              ブ は TeX のディスプレイスタイルの \over プリミティ
              ブに対応します; smallover は非ディスプレイスタイ ル
              の \over に対応します。

       vcenter e
              e を数式軸 (math axis) にあわせて垂直方向にセンタリ
              ングします。数式軸は垂直位置であり、これにあわせ て
              + や - といった文字はセンタリングされます; また分数
              の線の垂直位置にもなります。例えば、 sum はこのよう
              に定義されています。

                     { type "operator" vcenter size +5 \(*S }

       e1 accent e2
              e2e1 上のアクセントとします。 e2 は小文字のレタ
              ーに対して適正な高さにあると仮定します; e2 は、  e1
              が 小文字のレターよりも文字の高さが高かったり低かっ
              たりする場合には、必要に応じて下方に移動されま す。
              例えば hat はこのように定義されています。

                     accent { "^" }

              dotdot,  dot, tilde, vec, dyadaccent プリミティ
              ブを用いて定義されています。

       e1 uaccent e2
              e2e1 下のアクセントとします。 e2 は下に突き出て
              い な い小文字に対して適正な高さにあると仮定します;
              e2 は、 e1 が下に突き出している場合、下方に移動され
              ます。 utildeuaccent を使用して定義されており、
              ベースライン下の tilde アクセントとなります。

       split "text"
              単なる

                     text

              と同じ効果ですが、 text はクォートされているため マ
              クロ展開の対象となりません; text は個々の文字に分割
              され、それぞれの文字の間に空白が調整されます。

       nosplit text

                     "text"

              と同じですが、 text はクォートされていないためマ ク
              ロ展開の対象となります; text は個々の文字に分割され

       special text e
              troff(1) マクロ text を使用して、 e から新しいオ ブ
              ジェ クトを生成します。マクロが呼び出されると、文字
              列 0se の出力を保持します。また数字レジスタ 0w,
              0h,  0d,  0skern, 0skew はそれぞれ e の幅、高さ、深
              さ、下付き文字のカーニング、スキューを保持します  (
              オ ブジェクトの subscript kern とは、オブジェクト中
              の下付き文字がどの程度挿入されるかを表します; オ ブ
              ジェ クトの skew とは、オブジェクト上のアクセントが
              オブジェクトの中央から右側に向けてどの程度離れて 配
              置されるかを表します)。マクロは 0s を修正することに
              より、現在位置における望ましい結果を出力し、この オ
              ブ ジェ ク トの幅の分だけ現在の水平位置を増加させま
              す。数字レジスタは、結果に対応するように修正され て
              いる必要があります。

              例 えば、数式を `打ち消す' 構造を、斜め線を数式上に
              描く事によって実現する場合を考えて見ましょう。

                     .EQ
                     define cancel 'special Ca'
                     .EN
                     .de Ca
                     .ds 0s \Z'\\*(0s'\v'\\n(0du'\D'l \\n(0wu -\\n(0hu-\\n(0du'\v'\\n(0hu'
                     ..

              以上の結果から、式 ecancel { e } によって打ち消
              すことができます。

              次はより複雑な構造により、式の周りに箱を描きます:

                     .EQ
                     define box 'special Bx'
                     .EN
                     .de Bx
                     .ds 0s \Z'\h'1n'\\*(0s'\
                     \Z'\v'\\n(0du+1n'\D'l \\n(0wu+2n 0'\D'l 0 -\\n(0hu-\\n(0du-2n'\
                     \D'l -\\n(0wu-2n 0'\D'l 0 \\n(0hu+\\n(0du+2n''\h'\\n(0wu+2n'
                     .nr 0w +2n
                     .nr 0d +1n
                     .nr 0h +1n
                     ..

   B>カB>スB>タB>マB>イB>ズ
       数式の外見は多くのパラメータにより制御します。これらのパラ
       メータは set コマンドで設定します。

       set p n
              パラメータ p を値 n に設定します; n は整数です。 例
              えば、

              fat_offset              fat  プリミティブは数式をボ
                                      ールドにするために、数式 の
                                      コ ピ ーを 2 回重ね打ちしま
                                      す。重ね打ちする時にずら す
                                      水平幅がこの値です。

              over_hang                分数の線の長さは、分子もし
                                      くは分母の広い方の幅にこ の
                                      値を 2 倍した長さを加えた長
                                      さとなります; 言い 替 え る
                                      と、 分子と分母は少なくとも
                                      この値だけオーバハングし ま
                                      す。

              accent_width            barunder が単一文字に対
                                      して適用された場合、線の 長
                                      さ は こ の値となります。通
                                      常、 bar および under は 適
                                      用 対象のオブジェクトの幅に
                                      等しい長さの線を生成します;
                                      し かし単一文字の場合、これ
                                      では大抵の場合線が長すぎ る
                                      ように見えてしまいます。

              delimiter_factor        left   お よび right プリミ
                                      ティブにより生成される伸 長
                                      性 のあるデリミタは高さと深
                                      さを持ちます。デリ ミ タ が
                                      括っ ている部分式が軸に対し
                                      て最大限伸長する長さの 2000
                                      分の 1 を単位とするこのパラ
                                      メータで表した値は、デリ ミ
                                      タ の高さと深さの最低値を与
                                      えます。

              delimiter_shortfall     left および right  プ リ ミ
                                      ティ ブにより生成される伸長
                                      性のあるデリミタは高さと 深
                                      さ を 持 ちます。デリミタが
                                      括っている部分式が軸に対 し
                                      て最大限伸長する長さの 2000
                                      分の 1 を単位とするこのパラ
                                      メ ータで表した値は、デリミ
                                      タの高さと深さの差の最低 値
                                      となります。

              null_delimiter_space     分数の前後にこれだけの水平
                                      空白が挿入されます。

              script_space            下付き文字、上付き文字の 幅
                                      がこれだけ増やされます。


              axis_height             + や - といった文字のセンタ
                                      位 置がベースラインに対して
                                      どれくらい高いかを 表 し ま
                                      す。 使用しているフォントに
                                      対して適切な値を使用する 事
                                      が重要です。

              default_rule_thickness  \(ru 文字の太さ、 \D エスケ
                                      ープシーケンスにより生成 さ
                                      れ る水平線の太さを指定しま
                                      す。

              num1                    over コマンドは分子を最低こ
                                      の値だけ上に移動します。

              num2                    smallover  コマンドは分子を
                                      最低この値だけ上に移動し ま
                                      す。

              denom1                  over コマンドは分母を最低こ
                                      の値だけ下に移動します。

              denom2                  smallover コマンドは分母 を
                                      最 低この値だけ下に移動しま
                                      す。

              sup1                    通常上付き文字は最低この 値
                                      だけ上に移動します。

              sup2                     上付き文字中もしくは上限中
                                      の上付き文 字、 も し く は
                                      smallover  における分子は、
                                      最低この値だけ上に移動し ま
                                      す。 この値は通常 sup1 より
                                      小さいです。

              sup3                    分母中もしくは平方根中の 上
                                      付 き文字、もしくは下付き文
                                      字もしくは下限は、最低こ の
                                      値 だけ上に移動します。通常
                                      sup2 より小さいです。

              sub1                    通常下付き文字は最低この 値
                                      だけ下に移動します。

              sub2                     下付き文字と上付き文字の両
                                      方がある場合、下付き文字 は
                                      最 低この値だけ下に移動しま
                                      す。

              sup_drop                上付き文字のベース ラ イ ン
                                      の値よりも上になります。

              big_op_spacing2          下限のベースラインは、下限
                                      がセットされるオブジェク ト
                                      の 下部に対して少なくともこ
                                      の値よりも下になります。

              big_op_spacing3         上限の下部は、上限がセッ ト
                                      さ れるオブジェクトの上部に
                                      対して少なくともこの値よ り
                                      も上になります。

              big_op_spacing4          下限の上部は、下限がセット
                                      されるオブジェクトの下部 に
                                      対 して少なくともこの値より
                                      も下になります。

              big_op_spacing5         これで指定される空白が上 限
                                      上 および下限下に付加されま
                                      す。

              baseline_sep            列ベクトルまたは行列の各 行
                                      の ベースラインがどれだけ離
                                      れているかを指定します。 大
                                      抵 の場合、この値は num1denom1 の和に等しいです。

              shift_down              列ベクトルまたは行列の一 番
                                      上 のベースラインおよび一番
                                      下のベースラインの 中 間 点
                                      が、 軸からどれだけ下がって
                                      いるかを指定します。大抵 の
                                      場 合、この値は axis_height
                                      に等しいです。

              column_sep              行列の列間に加えられる空 白
                                      の長さを指定します。

              matrix_side_sep          行列の両端に加えられる空白
                                      の長さを指定します。

              draw_lines              この値が非0の場合、線を引く
                                      場 合に \D エスケープシーケ
                                      ンスを使用し、 \l エスケ ー
                                      プ シーケンスと \(ru 文字は
                                      使用しなくなります。

              body_height             この値を式の高さが越えた 分
                                      だ け、当該式を含む行の前の
                                      空白に加えられます ( \xを使
                                      用 し ます)。デフォルト値は
                                      85 です。
                                      ( 典型的には eqnrc ファイル
                                      によって、  ascii,  latin1,
                                      utf8,  cp1047  デバイスの場
                                      合、この値は 1 に変更されま
                                      す)。

              こ れ ら のパラメータの役割に関するより正確な記述は
              The TeXbook の Appendix H に記載されています。

   B>マB>クB>ロ
       マクロは引数を取ることができます。マクロが引数付きで呼ばれ
       た 場合、マクロボディでは、 $n ただし n は 1 から 9 は、 n
       番目の引数に置き換えられます; 引数が n より少ない場合、 無
       と置き換えられます。左括弧を含む語で、左括弧より前の語の部
       分が define コマンドで定義されている語は、引数付きのマクロ
       呼び出しとして認識されます; 左括弧に続く複数の文字は、対応
       する右括弧の範囲まで、コンマで区切られた引数として扱われま
       す; ネストした括弧内のコンマでは引数は区切られません。

       sdefine name X anything X
              define コマンドに似ていますが、引数付きで呼ばれた場
              合 name は認識されません。

       include "file"
              file の内容を組み込みます。 file 中の行で、 .EQ  も
              しくは .EN で始まる行は無視されます。

       ifdef name X anything X
              namedefine で定義されている場合 (または name が
              出力デバイスであるために自動的に定義されて い る 場
              合)、  anything を処理します; そうでない場合は any-
              thing を無視します。 Xanything に含まれない文字
              であれば何でも構いません。

   B>フB>ォB>ンB>ト
       eqn  は通常少なくとも 2 つのフォントを式のセットに使用しま
       す: すなわち、レターにはイタリックを、その他にはローマンを
       使 用します。既存の gfont コマンドは、イタリックフォントと
       して使用されるフォントを変更します。デフォルト値は  I   で
       す。 ロ ー マ ン フォ ントとして使用されるフォントは新しい
       grfont コマンドで変更します。

       grfont f
              ローマンフォントを f に設定します。

       italic プリミティブは gfont によってセットされた現在のイタ
       リックフォントを使用します; roman プリミティブは grfont に
       よってセットされた現在のローマンフォントを使用します。また
       gbfont   コ マンドという新しいコマンドもあり、 bold プリミ
       ティブで使用されるフォントを変更します。式中でフォントを変
       更 するのに roman, italic, bold プリミティブしか使用しない
       場合、全ての式中のフォントを変更するのには gfont,  grfont,


関連項目

       groff(1), troff(1), groff_font(5), The TeXbook



Groff Version 1.17.2      6 August 2001                    EQN(1)

ABELNET VPSサービス