grap コマンド
目的
pic コマンドで処理するグラフをタイプセットします。
構文
説明
grap コマンドは、grap 言語入力ファイルを処理し、pic コマンドに対する入力を生成します。grap 言語とは、グラフのタイプ・セット用の言語です。典型的なコマンド・ラインは次のとおりです。
grap File | pic | troff | Typesetter
グラフは、.G1 と .G2 troff のコマンド要求で囲みます。これらの要求で囲まれたデータは、自動的に指定されるティック・マークを使ってスケーリングされ、プロットされます。コマンドにはフレーム変更コマンド、ラベル追加コマンド、デフォルトの目盛りを指定変更するコマンド、プロット・スタイル変更コマンド、座標範囲と変形を定義するコマンド、ファイルからのデータを指定するコマンドがあります。さらに、grap コマンドは、pic コマンドと同じループ、条件付き処理、マクロ処理を提供します。
Grap 言語ファイルには grap プログラムが定義されています。grap プログラムは次の構文で書かれています。
.G1
grap Statement
grap Statement
grap Statement
.G2
パラメーター
項目 | 説明 |
---|---|
File | grap コマンドが処理して、pic コマンドへ入力する grap 言語ファイル (grap プログラム) を指定します。 |
grap ステートメントの要約
以下に、grap プログラムの作成時に使用できる grap ステートメントをまとめます。
項目 | 説明 |
---|---|
frame | グラフを囲むフレームを定義します。構文は次のとおりです。
|
属性は次のように定義されます。
- Side: top, bot, left, right
- LineDescription: solid, invis, dotted [Expression], dashed [Expression]
高さのデフォルト値は 2 インチ、幅のデフォルト値は 3 インチ、側面のデフォルト値は実線です。side を省略した場合は、linedesc がフレーム全体に適用されます。
項目 | 説明 |
---|---|
label | グラフの指定した側にラベルを付けます。構文は次のとおりです。
|
属性は次のように定義されます。
- Shift: left, right, up, down expression
- StringList: str ... rjust, ljust, above, below [size (+)Expression] ...
- String: "..."
項目 | 説明 |
---|---|
coord | 指定変更するシステムを定義します。構文は次のとおりです。
|
ticks | フレームの一方の側にティック・マークを付けます。構文は次のとおりです。
|
属性は次のように定義されます。
- Shift: left, right, up, down Expression
- TickLocations: at [Name] Expression [String], Expression [String], ... from [Name] Expression to Expression [by [Operation] Expression] String
ティック・マークが指定されていない場合は、自動的に付加されます。ticks off を指定した場合は、ティック・マークが自動的に付加されるのを抑止します。
項目 | 説明 |
---|---|
grid | 指定した側面に沿って (つまり、垂直に) 格子線を作成します。構文は次のとおりです。
|
格子にはティック・マークと同様の方法でラベルが付けられます。
項目 | 説明 |
---|---|
plot | ポイントにテキストを配置します。構文は次のとおりです。
|
属性は次のように定義されます。
- StringList: str ... rjust, ljust, above, below [size +)Expression] ...
- Point: [Name] Expression Expression
項目 | 説明 |
---|---|
line | ある点から他の点に直線または矢印を引きます。構文は次のとおりです。
|
属性 linedesc は次のように定義されます。
- Point: [Name] Expression Expression
- LineDescription: solid, invis, dotted [Expression], dashed Expression]
項目 | 説明 |
---|---|
circle | 円を描きます。構文は次のとおりです。
|
半径の単位はインチで、デフォルトのサイズは small です。
項目 | 説明 |
---|---|
draw | 行のシーケンスを定義します。構文は次のとおりです。
|
next | シーケンスを続行します。構文は次のとおりです。
|
new | 新しいシーケンスを開始します。構文は次のとおりです。
|
numberlist | 任意の数値群から直線を作成します。数値は点 x, y1, y2 などのように扱われます。つまり、x の値を持つ一点にプロットされます。構文は次のとおりです。
|
for | ループを作成します。構文は次のとおりです。
X は文字列中にはない 1 つの文字です。X が左中括弧 { の場合は、文字列の中に対になる中括弧が含まれてその後ろに右中括弧 } が続く場合もあります。Variable が第 1 の Expression から第 2 の Expression までの値を継続して読み取るとき、テキスト Anything は反復されます。 |
if | 条件評価を作成します。構文は次のとおりです。
|
define | 優先割り込みコントローラー (PIC) と同じマクロ・プロセッサーを提供します。構文は次のとおりです。
|
copy | 現行ファイルの内容を含め、ファイルをコピーします。
構文は次のとおりです。
|
copy-thru | 次のように、マクロを介してファイルをコピーします。
各数値または引用される文字列は、引数として扱われます。コピーは、ファイルの終わりか次の .G2 まで続行されます。untilString 節を任意選択すると、最初のフィールドが String になっている行がきたとき、コピーは中止されます。 次のステートメントでは、マクロを介してその後ろの行がコピーされます。
どの場合にも、次のように名前でなくインラインでマクロを指定できます。
|
sh | テキストを UNIX シェルに渡します。構文は次のとおりです。
変数 Anything はマクロを探してスキャンされます。pid マクロは組み込み式です。プロセス識別番号からなる文字列であり、固有のファイル名を生成するために使用できます。 |
pic | テキストを pic に渡し、pic を除去します。 変数とマクロは評価されません。(数字ではなく) ピリオドで始まる行は、troff コマンドであるという想定のもとに、文字どおりの内容が渡されます。 |
graph | Picname という名前の新しいグラフを定義し、すべての座標系をリセットします。構文は次のとおりです。
graph プログラムで graph コマンドを使用する場合、.G1 の後ろのステートメントは graph コマンドにしなくてはなりません。次の例にあるように、pic-text を使用して、以前のグラフの Frames を参照することにより、前のグラフを基準にしてこのグラフの位置を決めることができます。
pic-text 内のマクロと式は評価されません。Picnames は、pic 構文に従って大文字で始まらなければなりません。 |
印刷 | grap が入力を処理しているときに、stderr に書き出します。このステートメントはデバッグに役立ちます。構文は次のとおりです。
|
grap 言語規則
次の規則が適用されます。
- コメントの先頭には、 # (ポンド記号) が付きます。コメントは行の終わりで自動的に終了します。
- 2 行以上に渡るステートメントでは、改行した行頭すべてに ¥ (円記号) を付けなければなりません。
- 1 行に複数のステートメントがある場合は、 セミコロンで区切らなければなりません。
- grap 言語はブランク行を無視します。
- bullet、plus、box、 star、dot、times、htick、vtick、square、および delta は、事前定義済み文字列です。
- grap で使用できる組み込み関数には、 log (基数 10)、exp (基数 10)、 int、sin、 cos、atan2、 sqrt、min、 max、および rand が定義されています。
フラグ
項目 | 説明 |
---|---|
-l | grap コマンドがマクロ定義の /usr/lib/dwb/grap.defines ライブラリー・ファイルを探すのを停止させます。 |
-TName | Name 変数の値を grap コマンドの出力デバイスとして指定します。デフォルト値は、-Tibm3816 です。 |
- - | (二重ダッシュ) フラグの終わりを示します。 |
ファイル
項目 | 説明 |
---|---|
/usr/lib/dwb/grap.defines | 標準プロット文字の定義が入っています。 |