grap コマンド

目的

pic コマンドで処理するグラフをタイプセットします。

構文

グラップ [ - ] [ -T (T) 名前 ] [ ] [ ファイル ... ]

説明

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 グラフを囲むフレームを定義します。 構文は、次のとおりです。
frame [ht Expression] [wid Expression] [[Side] LineDescription]

属性は次のように定義されます。

  • サイド:top,bot,left, right
  • LineDescriptionsolid,invis,dotted [Expression], dashed [Expression]

高さのデフォルト値は 2 インチ、幅のデフォルト値は 3 インチ、側面のデフォルト値は実線です。 指定する場合は、side省略すると、 linedesc はフレーム全体に適用されます。

項目 説明
ラベル グラフの指定した側にラベルを付けます。 構文は、次のとおりです。
label Side StringList ... Shift

属性は次のように定義されます。

  • シフト:left,right,up、またはdown
  • StringList: str ...rjust,ljust,above, below [size (+)Expression] ...
  • ストリング: "..."
項目 説明
coord (コーディネーター) 指定変更するシステムを定義します。 構文は、次のとおりです。
coord [Name] [x Expression,Expression] [y  Expression,Expression] [[log x] [log y] [log log]]
ティック フレームの一方の側にティック・マークを付けます。 構文は、次のとおりです。
ticks side [[in] [out] [Expression]] [Shift] [TickLocations]

属性は次のように定義されます。

  • シフト:left,right,up, down Expression
  • TickLocations: at[Name]Expression[String],Expression[String], ... [名前] から [by [操作] ] ストリング

ティックが指定されていない場合は、自動的に提供されます。ticks off自動ティックを抑止します。

項目 説明
格子 指定した側面に沿って (つまり、垂直に) 格子線を作成します。 構文は、次のとおりです。
grid Side [LineDescription] [Shift] [TickLocations]

格子にはティック・マークと同様の方法でラベルが付けられます。

項目 説明
プロット ポイントにテキストを配置します。 構文は、次のとおりです。
StartList at Point plot Expression [Start] at Point

属性は次のように定義されます。

  • StringList: str ...rjust,ljust,above, below [size +)Expression] ...
  • :[Name] Expression Expression
項目 説明
ある点から他の点に直線または矢印を引きます。 構文は、次のとおりです。
{line | arrow} from Point to Point [LineDescription]

属性 linedesc は次のように定義されます。

  • : [名前]
  • LineDescriptionsolid,invis,dotted [Expression], dashed Expression]
項目 説明
circle 円を描きます。 構文は、次のとおりです。
circle at Point [radius Expression]

半径の単位はインチで、デフォルトのサイズは small です。

項目 説明
DRAW 行のシーケンスを定義します。 構文は、次のとおりです。
draw [Name] at Point[LineDescription]
次へ シーケンスを続行します。 構文は、次のとおりです。
next [Name] at Point [LineDescription]
NEW 新しいシーケンスを開始します。 構文は、次のとおりです。
new [Name] at Point [LineDescription]
番号リスト 任意の数値群から直線を作成します。 数値は点 x, y1, y2 などのように扱われます。つまり、x の値を持つ一点にプロットされます。 構文は、次のとおりです。
number x, y1, y2 ...
FOR ループを作成します。 構文は、次のとおりです。
for Variable {from | =} Expression to Expression \
[by [arithmetic or multiplicative operator] Expression] do X Anything X

X は文字列中にはない 1 つの文字です。 指定する場合は、X左中括弧 {, then the string may contain internally balanced braces followed by a right brace}を含めることができます。 テキストAnything以下のように繰り返されます。Variable最初の値から値を取得しますExpression2 番目のExpression.

の場合 条件評価を作成します。 構文は、次のとおりです。
if Expression then X Anything X [else X Anything X]
define 優先割り込みコントローラー (PIC) と同じマクロ・プロセッサーを提供します。 構文は、次のとおりです。
define MacroName X Anything X
コピー 現行ファイルの内容を含め、ファイルをコピーします。 構文は、次のとおりです。
copy Filename
コピースルー (copy-thru) 次のように、マクロを介してファイルをコピーします。
copy Filename thru MacroName

各数値または引用される文字列は、引数として扱われます。 コピーは、ファイルの終わりまで、または次のファイルの終わりまで続行されます。.G2. オプションの文節until String1 番目のフィールドが 1 番目のフィールドである場合に, コピーを停止します。String試みます。

次のステートメントでは、マクロを介してその後ろの行がコピーされます。

copy thru MacroName

どの場合にも、次のように名前でなくインラインでマクロを指定できます。

copy thru x MacroBody x
sh テキストを UNIX シェルに渡します。 構文は、次のとおりです。
sh x Anything x

変数Anythingマクロがスキャンされます。 pid マクロは組み込み式です。 プロセス識別番号からなる文字列であり、固有のファイル名を生成するために使用できます。

pic 以下を使用してテキストを pic に渡します。picは除去されます。 変数とマクロは評価されません。 (数字ではなく) ピリオドで始まる行は、troff コマンドであるという想定のもとに、文字どおりの内容が渡されます。
グラフ Picname という名前の新しいグラフを定義し、すべての座標系をリセットします。 構文は、次のとおりです。
graph Picname [pic-text]

graph コマンドが grap プログラムで使用される場合、以下のステートメントが.G1graph コマンドでなければなりません。 以下を使用できます。pic-text次の例のようにフレームを参照することにより、このグラフを前のグラフに対して相対的に配置します。

graph First
 ...
graph Second with .Frames.w at First.Frame.e + [0.1,0]

マクロと式pic-textは評価されません。Picnamesは、 pic 構文に従って大文字で始まらなければなりません。

印刷 書き込みstderrgrap はその入力を処理します。 このステートメントはデバッグに役立ちます。 構文は、次のとおりです。
print [Expression | String]

grap 言語規則

次の規則が適用されます。

  • #(ポンド記号) はコメントを示します。 コメントは行の終わりで自動的に終了します。
  • 複数行に継続するステートメントの前には、各改行の先頭に ¥ (バックスラッシュ文字) を付ける必要があります。
  • 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 ライブラリー・ファイルを探すのを停止させます。
-T名前 Name 変数の値を grap コマンドの出力デバイスとして指定します。 デフォルト値は、-Tibm3816 です。
- - (二重ダッシュ) フラグの終わりを示します。

ファイル

項目 説明
/usr/lib/dwb/grap.defines 標準プロット文字の定義が入っています。