EQN(1) — NEWS-OS Programmer’s Manual
名称
eqn, neqn, checkeq − 数式のタイプセッティングを行う
形式
eqn [ −dxy ] [ −pn ] [ −sn ] [ −fn ] [ file ] ...
checkeq [ file ] ...
解説
eqn は、グラフィックシステムフォトタイプセッタでの数式のタイプセッティング用の troff(1) プリプロセッサであり、 neqn は、 nroff(1) プリプロセッサで、 eqn と同じ機能を持っています。一般的な使い方は、次のようになります。
eqn file ... | troff
neqn file ... | nroff
ファイルが指定されない場合には、これらのプログラムは標準入力から 読取りを行います。 .EQ で始まる行は、数式の始まりをマークします。 数式の終りは、 .EN で始まる行をマークします。 これらの行は、いずれも変更されないので、センタリング、 ナンバリングなどを行うためのマクロパッケージ内で定義することができます。 また、2 つのキャラクタを「セパレータ」としてセットすることも可能であり、 その場合、セパレータの間のテキストも eqn の入力として扱われます。 セパレータは、コマンド行引数 −dxy を用いて、または (より一般的には) .EQ と .EN との間に delim xy を用いてキャラクタ x および y にセットすることができます。 左と右のセパレータは同じでも構いません。 セパレータは、 delim off でセットを解除されます。 セパレータの間または .EQ と .EN との間にないテキストは、 すべてそのままの形で標準出力に渡されます。
プログラム checkeq は、欠如しているまたはバランスのとれていないセパレータおよび .EQ/.EN のペアを報告します。
eqn のトークンは、スペース、またはタブ、復帰改行、中かっこ、二重引用符、 チルダ、サーカムフレックスで区切られます。中かっこ { } はグルーピングのために使用され、一般的に言えば、 x のような単一のキャラクタが使用できる箇所であれば、 どこにでも、その代わりに複雑な構造を中かっこ { } で囲んで使用することができます。 チルダ ~ は出力での一文字分のスペースを表し、サーカムフレックス ^ は半分の幅のスペースを表します。
サブスクリプトとスーパースクリプトは、キーワード sub および sup で作られます。例えば、 x sub i はxi を、 a sub i sup 2 はai2 を、そして e sup {x sup 2 + y sup 2} は、ex2+y2 を作ります。
分数は、 over を用いて作られます。 a over b はa over b を作ります。
sqrt は、平方根を作ります。 1 over sqrt {ax sup 2 +bx+c} は、1 over √ax2+bx+c を作ります。
キーワード from と to は、任意のものに対する下限および上限値を導きます。 limn→∞n∑0xi は、 lim from {n−> inf } sum from 0 to n x sub i から作られます。
正しい大きさの左右の大かっこ [ ] や中かっこ などは、 left と right を用いて作られます。 left [x sup 2 + y sup 2 over alpha right] ~=~1 は、
⎡
⎢
⎣x2+y2 over α
⎤
⎥
⎦ = 1 を作ります。 right 節はオプションです。 left と right の直後に使用できるキャラクタは、 大かっこ [ ]、 中かっこ { }、 縦棒、シーリングとフロアを表す c、 f、 まったく何もないことを表す "" (右大かっこ ] に有用)です。
垂直方向への積み重ねは、 pile、lpile、cpile、 rpile を用いて作られます。 pile {a above b above c} は、a
b
c を作ります。1 個の積重ねの中には、 任意の数の要素を含めることができます。 lpile は左寄せし、 pile と cpile は (異なる垂直方向へのスペーシングで)センタリングを行い、 rpile は右寄せします。
行列は、 matrix を用いて作られます。 matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 } } は、xi
y21
2 を作ります。このほかに、右寄せされるコラムを表す rcol があります。
分音符は、 dot、dotdot、hat、 tilde、bar、vec、 dyad、under を用いて作られます。 x dot = f(t) bar はẋ=f(t)、 y dotdot bar ~=~ n under はÿ = n、 そして x vec ~=~ y dyad はx⃗ = y⃡ になります。
サイズとフォントは、size n または size ±n、 roman、italic、bold、 および font n を用いて変更することができます。 gsize n と gfont n またはコマンド行引数 −sn と −fn を使用することによって、 サイズとフォントをドキュメント内でグローバルに変更することができます。
通常、サブスクリプトとスーパースクリプトは、 直前のサイズから 3 ポイントだけ小さくなります。 これは、コマンド行引数 −pn によって変更することができます。
連続した表示引数をラインアップすることができます。 最初の数式内の希望するラインアップポイントの前に mark を置き、 それ以降の数式内で垂直方向へラインアップする場所に lineup を置きます。
define を用いて省略記法を定義したり、 既存のキーワードを再定義することができます。 define thing % replacement % は、それ以降に現れるものはすべて replacement によって置き換えられる thing と呼ばれる新しいトークンを定義します。 % は replacement 内にはない任意のキャラクタでも構いません。
sum (∑) int (∫) inf (∞) のようなキーワード、および >= (≥) −> (→) や != (≠) のような省略記法が認識されます。 ギリシャ文字は、 alpha や GAMMA のように、大文字または小文字のいずれでも記述することができます。 sin、cos、log のような数学のワードは、自動的にローマン体にされます。 \(bs ()のような troff(1) の 4 キャラクタエスケープは、 どこにでも使用することができます。 二重引用符で囲まれた文字列 "..." は、そのまま渡されます。 これによって、キーワードをテキストとして入力でき、 他のすべてのものが失敗した場合に troff とコミュニケーションをはかるために使用することができます。
関連事項
troff(1), tbl(1), ms(7), eqnchar(7)
B. W. Kernighan and L. L. Cherry, Typesetting Mathematics—User’s Guide
J. F. Ossanna, NROFF/TROFF User’s Manual
バグ
数字、パーレン ( ) などを太字にするためには、 bold "12.3" のように、引用符で囲む必要があります。
このマニュアルを正しく出力するためには、 −t オプションを使わなければなりません。
例:
画面出力:man −t eqn | xprev
プリンタ出力:man −t eqn | lpr −n
NEWS-OSRelease 4.2.1R