pic コマンド
目的
描画するために troff コマンドの入力のプリプロセスをします。
構文
説明
pic コマンドは、組版システムで簡単な図を描くための troff コマンド・プリプロセッサーです。基本的なオブジェクトは、ボックス、円、楕円、直線、スプライン、矢印、弧、および Text 変数で指定したテキストです。 最高レベルのオブジェクトが、ピクチャーです。
項目 | 説明 |
---|---|
File | 描画するために pic コマンドが処理する troff コマンドからの出力を指定します。 |
ピクチャー
pic コマンド内の最上位のオブジェクトがピクチャーです。
.PS OptionalWidth OptionalHeight
ElementList
.PE
.PF マクロを .PE の代わりに使用した場合、表示後の位置が入力時の状態に復元されます。
項目 | 説明 |
---|---|
OptionalWidth | ピクチャーがあれば、内部で使用される寸法に関係なく、その幅をインチ単位で指定します。最大値は 8.5 です。 |
OptionalHeight | 同じ比率にスケールされる高さの値をインチ単位で指定します。この値は、デフォルトとは異なります。最大値は 14 です。 |
ElementList | 以下のようなエレメントのリストを表示します。
|
変数名は、小文字で始まり、ゼロか複数の文字または数字が続きます。 位置名は大文字で始まり、ゼロまたは複数の文字か数字が続きます。 位置名と変数名は、1 つのピクチャーから次のピクチャーへと、その値を保存します。
リスト内のエレメントは、改行文字か、; (セミコロン) で区切る必要があります。長いエレメントを続けるには、行を ¥ (円記号) で終了します。 コメントは、# 文字で始め、改行文字で終了します。
- 図形エレメント
- 図形エレメント・オブジェクトは、以下のとおりです。
box
circle
ellipse
arc
line
arrow
spline
move
Text-List
arrow オブジェクトは、 -> 属性を持つ line オブジェクトと同じです。
- 属性
- AttributeList エレメントは、ゼロ個またはそれ以上の属性を順に並べたものです。各属性は、値が続く場合もあるキーワードで構成されます。
属性 属性 h(eigh)t Expression wid(th) Expression rad(ius) Expression diam(eter) Expression up OptionalExpression down OptionalExpression right OptionalExpression left OptionalExpression from Position to Position at Position with Corner by Expression, Expression then dotted OptionalExpression dashed OptionalExpression chop OptionalExpression -> <- <-> invis same Text-list
存在しない属性と値は、デフォルトから充てんされます。すべての属性がすべての図形エレメントについて意味があるわけではありません。無関係な属性は処理されません。 現在、意味のある属性は以下のとおりです。
項目 | 説明 |
---|---|
図形エレメント | 属性 |
box | h(eigh)t, wid(th), at, same, dotted, dashed, invis, Text |
circle, ellipse | rad(ius), diam(eter), h(eigh)t, wid(th), at, same, invis, Text |
arc | up, down, left, right, h(eigh)t, wid(th), from, to, at, rad(ius), invis, ccw, cw, <-, ->, <->, Text |
line, arrow | up, down, left, right, h(eigh)t, wid(th), from, to, by, then, at, same, dotted, dashed, invis, <-, ->, <->, Text |
spline | up, down, left, right, h(eigh)t, wid(th), from, to, by, then, at, same, invis, <-, ->, <->, Text |
move | up, down, left, right, to, by, same, Text |
Text-list | at, Text-item |
at 属性は、指定位置に図形の中心を置くことを意味します。 行、スプライン、および弧の場合、h(eigh)t および wid(th) 属性が矢印の先頭のサイズを示します。
Text-item 変数は、通常、何らかの図形エレメントの属性です。デフォルトでは、その変数はオブジェクトの図形の中心に置かれます。スタンドアロン・テキストのみでも受け入れられます。 Text-list の図形エレメントは、テキスト・エントリーのリストです。テキスト・エントリーは、以下のようにオプションとして位置決め要求が続く引用符で囲まれた文字列です。
"..."
"..." center
"..." ljust
"..." rjust
"..." above
"..." below
一部の図形エレメントに複数のテキスト・エントリーがあると、修飾されている場合を除いて、垂直に中央揃えされます。位置決め要求は各エントリーに独自に適用されます。
テキスト・エントリーには、サイズおよびフォントの変更やローカルの動作などを管理する troff コマンドが含まれています。これらのコマンドのバランスをとって、入力状態が終了前の状態に復元されることを確認します。
項目 | 説明 |
---|---|
位置/ロケーション | 1 つの位置は最終的には X,Y の座標対ですが、以下のような方法で指定することもできます。
Place (Position) Expression, Expression (Position) [+/- (Expression, Expression)] (Position) [+/- Expression, Expression] (Place1, Place2) (Place1.X, Place2.Y) Expression < Position, Position > Expression [of the way] between Position and Position Placename [Corner] Corner Placename Here Corner of Nth Shape Nth shape [Corner] 注: Corner 変数は
、以下のように 8 つのコンパス・ポイントのうちのいずれか、または図形エレメントの中心、始まり、終わりを指定します。
.n .e .w .s .ne .se .nw .sw .t .b .r .l c .start .end |
ピクチャーの各オブジェクトは、序数を持ちます。Nth は、以下のように参照します。
- Nth
- Nth last
pic コマンドは、1th や 3th などのような名前を受け入れられるほど柔軟なものです。 1st や 3st も同様に使用されます。
変数
組み込み変数およびそのデフォルト値は、以下のとおりです。
項目 | 説明 |
---|---|
boxwid | 0.75 |
boxht | 0.5 |
circlerad | 0.25 |
arcrad | 0.25 |
ellipsewid | 0.75 |
ellipseht | 0.5 |
linewid | 0.5 |
lineht | 0.5 |
movewid | 0.5 |
moveht | 0.5 |
arrowwid | 0.05 |
arrowht | 0.1 |
textwid | 0 |
textht | 0 |
dashwid | 0.5 |
scale | 1 |
これらのデフォルト値は、いつでも変更できます。また、新しい値は、もう一度変更されるまで、ピクチャー間でそのまま有効です。
式
以下の pic コマンドの式は、浮動小数点で評価されます。 寸法を表す数字はすべて、インチ単位になります。
Expression + Expression
Expression - Expression
Expression * Expression
Expression / Expression
Expression % Expression (modulus)
- Expression
(Expression)
variable
number
Place .x
Place .y
Place .ht
Place .wid
Place .rad
sin(Expression) cos(Expression) atan2(Expression, Expression) log(Expression) sqrt(Expression) int(Expression) max(Expression, Expression) min(Expression,Expression) rand(Expression)
論理演算子
pic コマンドは、論理計算用に以下の演算子を提供します。
項目 | 説明 |
---|---|
! | 否定 (ではない) |
> | よりも大きい |
< | よりも小さい |
>/= | よりも大きいか等しい |
</= | よりも小さいか等しい |
&& | And |
| | または |
== | 等しい |
!= | 等しくない |
定義
以下の define ステートメントは、文法の一部ではありません。
define Name X Replacement text X
Replacement text変数での $1 や $2 のような値のオカレンスは、Name 変数が呼び出された場合、次のように対応するオプションで置き換えられます。
Name(Option1, Option2, ...)
存在しないオプションは、ヌル・ストリングで置き換えられます。 Replacement text 変数には、改行文字が使えます。
copy および copy thru ステートメント
copy ステートメントには、以下のように直後に続くファイルまたは値からのデータが含まれています。
copy File
copy thru Macro
copy File thru Macro
copy File thru Macro until String
Macro パラメーター値には、定義済みマクロ名か、内容の一部でない何らかの文字で囲まれたマクロの内容が使えます。 ファイル名を指定しないと、copy ステートメントは、次の .PE マクロ行までの入力をコピーします。
for ループと if ステートメント
for ステートメントと if ステートメントは、以下のようにループと意思決定を規定します。
Variable=Expression to Expression by Expression do X anything X
if Expression then X anything X else X anything X
by と else 節は、オプションです。 if ステートメントの Expression 変数は、通常の関係演算子または String1 == (または !=) String2 文字列検査を使用できます。
その他の情報
sh コマンドは以下のようにコマンド・ラインを実行します。
sh X Commandline X
式の値を以下のようにプロットできます。
plot Expression OptionalFormat Attributes
Expression 変数値は、評価されて文字列に変換されます (提供されている場合、フォーマット指定を使用します)。
充てんモードまたは非充てんモードの状態は、ピクチャーについて保存されます。
入力番号は E (指数) 表記で表すことができます。
フラグ
項目 | 説明 |
---|---|
-TName | 指定された印刷装置の出力を作成します。Name には、以下の値を使用できます。
デフォルトは ibm3816 です。 注: troff コマンドの -T Name フラグを使用する代わりに、TYPESETTER 環境変数を上記のいずれかの値に設定してもかまいません。
|
- | 標準入力に逆変換します。 |