日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
EQN(1) EQN(1) 名称 eqn - troff 用の数式フォーマッタ 書式 eqn [ -rvCNR ] [ -dxy ] [ -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 を検索 します。存在するなら、eqn は、他の入力ファイルの前にそれを処理します。 -R オプションを使うことにより、この動作を禁止できます。 GNU eqn は neqn の機能のすべてを提供するものではありません。低解像度の タイプライタのような機器を (単純な入力に対しては十分であるのですが) サ ポートしません。 オプション -dxy インライン式の左右のデリミタを、それぞれ x と y と指定します。 ソースファイル中の delim 文が優先します。 -C 直後に空白文字や改行ではない文字が続く .EQ と .EN を解釈します。 -N 区切り文字から次の区切り文字までの間に改行がくることを禁止しま す。誤って閉じる方の区切り文字をつけ忘れた場合も、eqn は以降の処 理が正しく行われる可能性が高くなります。 -v バージョン番号を表示します。 -r サイズを 1 つだけ縮小します。 -mn 最低のポイントサイズを n とします。eqn は下付き、上付き文字を n より小さなサイズにしません。 -Tname name で指定された機器用の出力を行います。実際は、name という値 1 のマクロが定義されるだけです。普通は eqnrc でこの定義されたマク ロによって出力機器にふさわしい設定がなされます。デフォルトの出力 機器は ps です。 -Mdir デフォルトのディレクトリ (/usr/share/tmac) よりも先に指定した ディレクトリ dir の eqnrc を探します。 -R eqnrc ファイルを読み込みません。 -fF gfont F コマンドと等価です。 -sn gsize n コマンドと等価です。このオプションは使うべきではありませ ん。eqn は、通常、数式が登場した位置のポイントサイズに数式のサイ ズをあわせます。 -pn 上付き、下付き文字が隣接するテキストより n ポイント小さくなるよ うにします。このオプションは使うべきではありません。通常 eqn は 隣接するテキストの 70% のサイズになるように調節します。 使用法 ここでは、GNU eqn と Unix eqn の違いのみを解説します。 GNU eqn の新しい特徴のほとんどは、TeX に基づいています。以下には、いく つかの TeX と GNU eqn の違いを記述してあります。もし、あなたが TeX を知 らないならば、無視しても差し支えありません。 自動スペーシング eqn は、数式の中の部分それぞれに対して型を与えて、その型を用いて数式の 中の部分の間の間隔をそろえます。利用できる型は次の通りです: ordinary '1' や x のような通常の文字 _ operator `>' のような大きな演算記号 binary `+' のような、2 項演算子 relation `=' のような関係記号 opening `(' のような括弧開始記号 closing `)' のような括弧終了記号 punctuation `,' のような句読点記号 inner 括弧内部に含まれた部分式 suppress オートマチックスペーシングによる位置補正を抑制する 式の中の項の型は、以下に示す 2 つの方法のどちらかで指定されます。 type t e 式の中の項で e を含むものを、型 t であると指定します。t は、上述 の型の中から指定します。たとえば、times は type "binary" \(mu と定義されます。マクロ展開を防ぐためにクォーティングする以外は、 型の名前はクォートする必要はありません。 chartype t text クォートされていない文字のグループは、個々の文字に分割され、それ ぞれの文字の型が検索されます。この変更で、各文字について、それぞ れ格納されている文字の型が変更されます。この指定方法では、text にある文字は、型 t を持つようになります。例えば chartype "punctuation" .,;: という指定は、`.,;:' という文字が、それぞれに句読点記号型を持つ ことを指定します。以後、式の中にこれらの文字が出現した場合は、句 読点記号として処理されます。型 t は、letter や digit という指定 も可能です。この場合 chartype は、文字のフォントの型を変更しま す。詳細は、フォントサブセクションを参照してください。 新しいプリミティブ e1 smallover e2 これは over と似ています。smallover は e1 および e2 のサイズを小 さくします。また e1 および e2 と分数の線との間の垂直幅も小さくな ります。over プリミティブは TeX のディスプレイスタイルの \over プリミティブに対応します。smallover は非ディスプレイスタイルの \over に対応します。 vcenter e e を数式軸 (math axis) にあわせて垂直方向にセンタリングします。 数式軸は垂直位置であり、これにあわせて `+' や `-' といった文字は センタリングされます。また分数の線の垂直位置にもなります。例え ば、sum はこのように定義されています。 { type "operator" vcenter size +5 \(*S } e1 accent e2 e2 を e1 上のアクセントとします。e2 は小文字のレターに対して適正 な高さにあると仮定します。e2 は、e1 が小文字のレターよりも文字の 高さが高かったり低かったりする場合には、必要に応じて下方に移動さ れます。例えば hat はこのように定義されています。 accent { "^" } dotdot, dot, tilde, vec と dyad も accent プリミティブを用いて定 義されています。 e1 uaccent e2 e2 を e1 下のアクセントとします。e2 は下に突き出ていない小文字に 対して適正な高さにあると仮定します。e2 は、e1 が下に突き出してい る場合、下方に移動されます。utilde は uaccent を使用して定義され ており、ベースライン下の tilde アクセントとなります。 split "text" 単なる text と同じ効果ですが、text はクォートされているためマクロ展開の対象 となりません。text は個々の文字に分割され、それぞれの文字の間隔 が調整されます。 nosplit text "text" と同じですが、text はクォートされていないためマクロ展開の対象と なります。text は個々の文字に分割されず、それぞれの文字の間隔も 調整されません。 e opprime prime の変形であり、e のオペレータとして作用します。 A opprime sub 1 のような場合、opprime は prime とは異なる結果と なります: opprime では 1 は prime 文字の真下に挿入され、A の下付 き文字となります (数式版組の形式のように)。一方、prime では 1 は prime 文字の下付き文字となります。opprime が前に付くという事は、 bar と under が前に付くのと同じ事ですが、後者は accent と uaccent 以外の他の全ての文字よりも高くなります。クォートされてい ないテキスト中では、最初の文字ではない ' は opprime として扱われ ます。 special text e troff(1) マクロ text を使用して、e から新しいオブジェクトを生成 します。マクロが呼び出されると、文字列 0s は e の出力を保持しま す。また数字レジスタ 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' .. 以上の結果から、式 e を cancel { 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 .. space n (em の 100 分の 1 単位の) 整数 n の正の値は、数式の前に行送りを 設定し、負の値は、デフォルト値を置き換えて、数式の後に間隔 (ス ペーシング) を設定します。このプリミティブは、groff の \x エス ケープ (しかし符号が逆で) へのインタフェースを提供します。 このキーワードは、数式が pic 画像の一部であるなら効果はありませ ん。 拡張プリミティブ col n { ... } ccol n { ... } lcol n { ... } rcol n { ... } pile n { ... } cpile n { ... } lpile n { ... } rpile n { ... } (em の 100 分の 1 単位の) 整数値 n は、groff の \x エスケープを 使用して、行間の行送りを増加します。負の値は指定可能ですが、効果 はありません。行列で与えられた 1 つより大きい値があるなら、最も 大きいものが使用されます。 カスタマイズ 数式の外見は多くのパラメータにより制御します。これらのパラメータは set コマンドで設定します。 set p n パラメータ p を値 n に設定します。n は整数です。例えば、 set x_height 45 は、eqn に対して x の高さは 0.45 em であると指示します。 パラメータを以下に示します。特に記述が無い場合は、値は em の 100 分の 1 を意味します。以下の記述は定義的ではなく説明的になるよう に意図しています。 minimum_size eqn はこれよりも小さいポイントサイズのセッティングを行い ません。値はポイントで指定します。 fat_offset fat プリミティブは数式をボールドにするために、数式のコ ピーを 2 回重ね打ちします。重ね打ちする時にずらす水平幅が この値です。 over_hang 分数の線の長さは、分子もしくは分母の広い方の幅にこの値を 2 倍した長さを加えた長さとなります。言い替えると、分子と 分母は少なくともこの値だけオーバハングします。 accent_width bar か under が単一文字に対して適用された場合、線の長さは この値となります。通常、bar および under は適用対象のオブ ジェクトの幅に等しい長さの線を生成します。しかし単一文字 の場合、これでは大抵の場合線が長すぎるように見えてしまい ます。 delimiter_factor left および right プリミティブにより生成される伸長性のあ るデリミタは高さと深さを持ちます。デリミタが括っている部 分式が軸に対して最大限伸長する長さの 2000 分の 1 を単位と するこのパラメータで表した値は、デリミタの高さと深さの最 低値を与えます。 delimiter_shortfall left および right プリミティブにより生成される伸長性のあ るデリミタは高さと深さを持ちます。デリミタが括っている部 分式が軸に対して最大限伸長する長さの 2000 分の 1 を単位と するこのパラメータで表した値は、デリミタの高さと深さの差 の最低値となります。 null_delimiter_space 分数の前後にこれだけの水平空白が挿入されます。 script_space 下付き文字、上付き文字の幅がこれだけ増やされます。 thin_space 句読点記号の後にこれだけの空白が自動的に挿入されます。 medium_space 2 項演算子の前後にこれだけの空白が自動的に挿入されます。 thick_space 関係演算子の前後にこれだけの空白が自動的に挿入されます。 x_height `x' のように上に突き出た部分の無いレターの高さ。 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 上付き文字のベースラインは、上付き文字がセットされるオブ ジェクトの上部に対して、この値よりも下になることはありま せん。 sub_drop 下付き文字のベースラインは、下付き文字がセットされるオブ ジェクトの下部に対して、少なくともこの値よりも下になりま す。 big_op_spacing1 上限のベースラインは、上限がセットされるオブジェクトの上 部に対して少なくともこの値よりも上になります。 big_op_spacing2 下限のベースラインは、下限がセットされるオブジェクトの下 部に対して少なくともこの値よりも下になります。 big_op_spacing3 上限の下部は、上限がセットされるオブジェクトの上部に対し て少なくともこの値よりも上になります。 big_op_spacing4 下限の上部は、下限がセットされるオブジェクトの下部に対し て少なくともこの値よりも下になります。 big_op_spacing5 これで指定される空白が上限上および下限下に付加されます。 baseline_sep 列ベクトルまたは行列の各行のベースラインがどれだけ離れて いるかを指定します。大抵の場合、この値は num1 と denom1 の和に等しいです。 shift_down 列ベクトルまたは行列の一番上のベースラインおよび一番下の ベースラインの中間点が、軸からどれだけ下がっているかを指 定します。大抵の場合、この値は axis_height に等しいです。 column_sep 行列の列間に加えられる空白の長さを指定します。 matrix_side_sep 行列の両端に加えられる空白の長さを指定します。 draw_lines この値が非0の場合、線を引く場合に \D エスケープシーケンス を使用し、\l エスケープシーケンスと \(ru 文字は使用しなく なります。 body_height この値を式の高さが越えた分だけ、当該式を含む行の前の空白 に加えられます (\x を使用します)。デフォルト値は 85 で す。 body_depth この値を式の深さが越えた分だけ、当該式を含む行の後の空白 に加えられます (\x を使用します)。デフォルト値は 35 で す。 nroff この値が非 0 の場合には、ndefine は define のように振舞 い、tdefine は無視されます。この値が 0 の場合は tdefine は define のように振舞い、ndefine は無視されます。デフォ ルト値は 0 です (典型的には eqnrc ファイルによって、 ascii, latin1, utf8, cp1047 デバイスの場合、この値は 1 に 変更されます)。 これらのパラメータの役割に関するより正確な記述は The TeXbook の Appendix H に記載されています。 マクロ マクロは引数を取ることができます。マクロが引数付きで呼ばれた場合、マク ロボディでは、$n ただし n は 1 から 9 は、n 番目の引数に置き換えられま す。引数が n より少ない場合、無と置き換えられます。左括弧を含む語で、左 括弧より前の語の部分が define コマンドで定義されている語は、引数付きの マクロ呼び出しとして認識されます。左括弧に続く複数の文字は、対応する右 括弧の範囲まで、コンマで区切られた引数として扱われます。ネストした括弧 内のコンマでは引数は区切られません。 sdefine name X anything X define コマンドに似ていますが、引数付きで呼ばれた場合 name は認 識されません。 include "file" copy "file" file の内容をインクルードします (include と copy は同義語です)。 file 中の行で、.EQ または .EN で始まる行は無視されます。 ifdef name X anything X name が define で定義されている場合 (または name が出力デバイス であるために自動的に定義されている場合)、anything を処理します。 そうでない場合は anything を無視します。X は anything に含まれな い文字であれば何でも構いません。 undef name name を未定義にして、その定義を削除します。 上記のマクロに加えて、次の定義が利用可能です: Alpha, Beta, ..., Omega (これは ALPHA, BETA, ..., OMEGA と同じです), ldots (ベースラインの 3 つ のドット) と dollar。 フォント eqn は通常少なくとも 2 つのフォントを式のセットに使用します: すなわち、 レターにはイタリックを、その他にはローマンを使用します。既存の gfont コ マンドは、イタリックフォントとして使用されるフォントを変更します。デ フォルト値は I です。ローマンフォントとして使用されるフォントは新しい grfont コマンドで変更します。 grfont f ローマンフォントを f に設定します。 italic プリミティブは gfont によってセットされた現在のイタリックフォン トを使用します。roman プリミティブは grfont によってセットされた現在の ローマンフォントを使用します。また gbfont コマンドという新しいコマンド もあり、bold プリミティブで使用されるフォントを変更します。式中でフォン トを変更するのに roman, italic と bold プリミティブしか使用しない場合、 全ての式中のフォントを変更するのには gfont, grfont と gbfont コマンドを 使用するだけで済みます。 どの文字をレター (イタリックでセットされるもの) として扱うのかを、既に 示した chartype コマンドで指定できます。letter タイプは文字をイタリック タイプでセットされるようにします。digit タイプは文字をローマンタイプで セットされるようにします。 関連ファイル /usr/share/tmac/eqnrc 初期化ファイル バグ 文中に出現する式は、行の先頭での文字サイズに設定されます。 関連項目 groff(1), troff(1), pic(1), groff_font(5), The TeXbook Groff Version 1.19.2 4 September 2005 EQN(1)