名 称
pic − troff と TeX で 用 い る ピ ク チ ャ コ ン パ イ ラ
書 式
pic [
−nvCSU ] [ filename ... ]
pic −t [ −cvzCSU ] [ filename
... ]
解 説
本 マ ニ ュ ア ル で は 、 groff ド キ ュ メ ン ト フ ォ ー マ ッ ト シ ス テ ム の 一 部 で あ る GNU バ ー ジ ョ ン の pic に つ い て 記 述 し ま す 。 pic は 、 troff か TeX の 入 力 フ ァ イ ル に 埋 め 込 ま れ た ピ ク チ ャ の 記 述 を troff か TeX が 解 釈 で き る コ マ ン ド に 変 換 し ま す 。 ピ ク チ ャ は .PS で 始 ま る 行 か ら 開 始 さ れ 、 .PE で 始 ま る 行 で 終 了 し ま す 。 .PS と .PE に 狭 ま れ た 領 域 以 外 は 、 変 更 せ ず に 素 通 し し ま す 。
.PS と .PE マ ク ロ の 適 切 な 定 義 は ユ ー ザ に 任 さ れ て い ま す 。 使 用 し て い る マ ク ロ パ ッ ケ ー ジ が 適 当 な 定 義 を 提 供 し な い 場 合 (た と え ば 、 古 い バ ー ジ ョ ン の −ms マ ク ロ の 場 合 )、 −mpic マ ク ロ か ら 取 り 出 す こ と が で き ま す 。 −mpic マ ク ロ で は ピ ク チ ャ は 中 央 寄 せ に な り ま す 。
オ プ シ ョ ン
引 数 を 伴 わ な い オ プ シ ョ ン は − の あ と に ま と め て 続 け る こ と が で き ま す 。 特 別 な オ プ シ ョ ン −− は 、 オ プ シ ョ ン の 最 後 を 意 味 し ま す 。 フ ァ イ ル 名 の か わ り に 用 い ら れ る − は 、 標 準 入 力 を 意 味 し ま す 。
−C |
.PS や .PE の あ と に 空 白 や 改 行 以 外 の 文 字 が き て も 、 そ れ を .PS や .PE で あ る と 解 釈 し ま す 。
よ り 安 全 な モ ー ド ; sh コ マ ン ド を 実 行 し ま せ ん 。 信 用 で き な い 入 力 を 処 理 す る 場 合 に 便 利 で す 。 (デ フ ォ ル ト で 有 効 で す )
安 全 で
な い モ ー ド ; デ
フ ォ ル ト オ プ
シ ョ ン −S を 打
ち 消 し ま す 。
groff の troff に 対 す る 独 自 拡 張 を 用 い ま せ ん 。 後 処 理 に 独 自 拡 張 を 解 釈 で き な い も の を 用 い る と き に 、 こ の オ プ シ ョ ン を 指 定 し ま す 。 拡 張 に つ い て は 、 groff_out(5) に 記 述 さ れ て い ま す 。 −n オ プ シ ョ ン は ま た 、 troff モ ー ド に お い て 、 点 を 打 つ た め に pic が 長 さ 0 の 直 線 を 使 わ な い よ う に し ま す 。 −t TeX モ ー ド で す 。
よ り tpic
と の 互 換 性 が
高 い 処 理 を 行
い ま す 。 本 オ
プ シ ョ ン は 自
動 的 に -t オ プ シ
ョ ン も 設 定 し
ま す 。 \ で 始
ま る 行 が 透 過
的 に 出 力 さ れ
る こ と が な く
な り ま す 。 .
で 始 ま る 行 は
先 頭 の . を \
に 置 き 換 え ま
す 。 .ps で 始 ま
る 行 は 、 特 別
な 扱 い を 受 け
ま す 。 す な わ
ち 、 整 数 の オ
プ シ ョ ン を 続
け る こ と が で
き 、 そ れ は 直
線 の 太 さ (ペ ン
の サ イ ズ ) を 1000 分
の 1 イ ン チ で 示
し ま す 。 オ プ
シ ョ ン が 省 略
さ れ た 場 合 は
、 直 前 の 直 線
の 太 さ に 戻 し
ま す 。 直 線 の
太 さ の 初 期 値
は 1000 分 の 8 イ ン チ
で す 。 こ の よ
う に 指 定 さ れ
た 直 線 の 太 さ
は 、 thickness 属 性
、 ま た は 、
linethick 変 数 に よ
っ て 負 で な い
値 が 設 定 さ れ
て い な い 場 合
に の み 有 効 で
す 。 バ ー ジ ョ ン 番 号 を 表 示 し ま す 。
他 の バ ー ジ ョ ン の pic で サ ポ ー ト さ れ て い る 以 下 の オ プ シ ョ ン は 無 視 さ れ ま す 。
は 、 つ ね に こ の 動 作 を 行 い ま す 。
使 用 法本 節 で は GNU pic と オ リ ジ ナ ル バ ー ジ ョ ン の pic と の 違 い の み を 説 明 し ま す 。 こ れ ら の 違 い の 多 く は 新 し い バ ー ジ ョ ン の Unix pic に も あ て は ま り ま す 。 TeX モ
ー ド \centerline{\box\graph} 実 際 、 vbox は 高 さ が 0 で す か ら 、 こ の 表 現 で は ピ ク チ ャ の 上 の 空 間 が ピ ク チ ャ の 下 の 空 間 よ り も 若 干 大 き く な り ま す 。 \centerline{\raise 1em\box\graph} は こ の 問 題 を 避 け ま す 。 TeX ド ラ イ バ で tpic ス ペ シ ャ ル バ ー ジ ョ ン 2 を サ ポ ー ト す る も の を 使 用 す る 必 要 が 有 り ま す 。 \
で 始 ま る 行 は
透 過 的 に 通 さ
れ ま す ; 単 一 の
% が 行 末 に 追
加 さ れ 、 望 ま
れ な い 空 白 が
出 る の を 防 ぎ
ま す 。 こ の 機
能 を 使 用 し て
、 安 全 に フ ォ
ン ト を 変 更 し
た り \baselineskip の 値
を 変 更 で き ま
す 。 こ の 方 法
以 外 で 実 行 す
る と 、 望 ま し
く な い 結 果 と
な る で し ょ う ;
各 自 の リ ス ク
で 実 行 し て 下
さ い 。 ピ リ オ
ド で 始 ま る 行
は 特 別 に は 扱
わ れ ま せ ん 。
コ マ ン ド variable を expr1 に 設 定 し ま す 。 variable の 値 が expr2 以 下 の 間 、 body を 実 行 し て variable を expr3 だ け 増 加 さ せ ま す ; も し by が 指 定 さ れ な い 場 合 、 variable の 増 分 は 1 で す 。 も し expr3 の 前 に * が 指 定 さ れ た 場 合 、 variable に は expr3 が 掛 け ら れ ま す 。 X は body に 存 在 し な い 任 意 の 文 字 を 使 用 し て 構 い ま せ ん 。 if expr then X if-true X [else Y if-false Y] expr を 評 価 し ま す ; も し 非 0 な ら ば 、 if-true を 実 行 し ま す 、 そ う で な い な ら if-false を 実 行 し ま す 。 X は if-true に 存 在 し な い 任 意 の 文 字 で あ り 、 Y は if-false に 存 在 し な い 任 意 の 文 字 で す 。 print arg...
引 数 を 結 合 し
、 標 準 エ ラ ー
出 力 に 1 行 で 出
力 し ま す 。 各
arg は 式 、 位 置
、 テ キ ス ト の
い ず れ か で あ
る 必 要 が 有 り
ま す 。 デ バ ッ
グ に 有 効 で す
。 command を シ ェ ル に 渡 し ま す 。 X は command 中 に 存 在 し な い 任 意 の 文 字 で す 。 copy "filename" filename を フ ァ イ ル の こ の 位 置 に 埋 め 込 み ま す 。 copy
["filename"] thru X
body X [until "word"]
.PS .PS reset X anything X と い う 形 式 に 対 し て は { anything } も 許 さ れ ま す 。 こ の 場 合 、 anything に は { と } が バ ラ ン ス し て 登 場 す る 必 要 が 有 り ま す 。 文 字 列 に X が 含 ま れ る 場 合 、 { と } の バ ラ ン ス が 悪 い 場 合 に 対 応 し ま す 。 式 式 の 文 法 が 少 し 拡 張 さ れ ま し た : x ^ y
(指 数 ) line 2i
は 2 イ ン チ の 長
さ の 線 を 現 在
の 方 向 へ 描 き
ま す 。 ピ ク チ
ャ の 最 大 の 幅
と 高 さ は 変 数
maxpswid, maxpsht に よ り
指 定 さ れ ま す
。 初 期 値 は 8.5 お
よ び 11 で す 。 数
を 表 す の に 科
学 技 術 的 表 記
が 可 能 で す 。
例 え ば .PS 行 は 2 番 目 の 引 数 と し て ピ ク チ ャ の 最 大 の 高 さ を 指 定 で き ま す 。 幅 と し て 0 が 指 定 さ れ た 場 合 に は 、 ピ ク チ ャ の ス ケ ー リ ン グ フ ァ ク タ の 計 算 に お い て は 幅 は 無 視 さ れ ま す 。 GNU pic は 常 に 水 平 方 向 と 垂 直 方 向 と も に 同 じ 縮 尺 で ス ケ ー リ ン グ し て い る こ と に 注 意 し て 下 さ い 。 こ れ は 高 さ が 指 定 さ れ た 場 合 に 水 平 方 向 と 垂 直 方 向 を 同 じ 縮 尺 で ス ケ ー リ ン グ し な い DWB 2.0 pic と 異 な り ま す 。 テ キ ス ト オ ブ ジ ェ ク ト は そ れ ぞ れ に 関 連 づ け ら れ た 見 え な い ボ ッ ク ス を 持 っ て い ま す 。 テ キ ス ト オ ブ ジ ェ ク ト の コ ン パ ス ポ イ ン ト は こ の ボ ッ ク ス に よ っ て 決 定 さ れ ま す 。 オ ブ ジ ェ ク ト に 関 連 づ け ら れ た 暗 示 的 な 動 き も こ の ボ ッ ク ス に よ っ て 決 定 さ れ ま す 。 こ の ボ ッ ク ス の 寸 法 は width, height 属 性 か ら 定 ま り ま す ; も し width 属 性 が 与 え ら れ て い な い 場 合 は 幅 は textwid と な り ま す ; も し height 属 性 が 与 え ら れ て い な い 場 合 は 高 さ は textht と な り ま す 。 初 期 値 で は textwid, textht は 値 0 で す 。 ク オ ー ト さ れ さ れ た テ キ ス ト が 使 用 さ れ る 場 合 、 sprintf("format", arg,...) と い う 形 式 の 式 を 使 用 可 能 で す ; こ れ は 引 数 を format に 従 い 整 形 し た も の を 出 力 し ま す 。 format は printf(3) に 記 述 さ れ て い る 文 字 列 で あ り 、 与 え ら れ る 数 及 び 引 数 に 適 切 な も の で あ る 必 要 が 有 り ま す 。 e, f, g, % フ ォ ー マ ッ ト 文 字 の み 使 用 可 能 で す 。 オ ブ ジ ェ ク ト を 描 画 す る 時 に 使 用 す る 線 の 太 さ は linethick 変 数 で 制 御 可 能 で す 。 こ れ は 線 の 太 さ を ポ イ ン ト で 指 定 し ま す 。 負 の 値 は デ フ ォ ル ト の 太 さ を 使 用 す る こ と を 意 味 し ま す : TeX 出 力 モ ー ド で は 、 8 ミ リ イ ン チ を 使 用 す る こ と を 意 味 し ま す ; TeX 出 力 モ ー ド で -c オ プ シ ョ ン 使 用 時 に は 、 線 の 太 さ に は .ps 行 で 指 定 さ れ る も の を 使 用 こ と を 意 味 し ま す ; troff 出 力 モ ー ド で は 、 ポ イ ン ト サ イ ズ に 比 例 す る 太 さ を 使 用 す る こ と を 意 味 し ま す 。 値 0 で は デ バ イ ス が サ ポ ー ト す る も っ と も 細 い 線 で 描 画 し ま す 。 初 期 値 は -1 で す 。 ま た 、 thick[ness] 属 性 が 有 り ま す 。 例 え ば circle thickness 1.5 は 1.5 ポ イ ン ト の 太 さ の 円 を 描 画 し ま す 。 線 の 太 さ は scale 変 数 の 値 の 影 響 も .PS 行 に お け る 高 さ の 影 響 も 受 け ま せ ん 。 ボ ッ ク ス (角 の 丸 い ボ ッ ク ス を 含 み ま す )、 円 、 楕 円 は 塗 り つ ぶ す こ と が 可 能 で あ り 、 属 性 fill[ed] で 指 定 し ま す 。 こ れ は 値 が 0 か ら 1 の 式 を オ プ シ ョ ン で 引 数 と し て 取 り ま す ; 0 は 白 で 塗 り つ ぶ し 、 1 は 黒 で 塗 り つ ぶ し 、 そ の 間 の 値 で は 適 切 な 灰 色 で 塗 り つ ぶ し ま す 。 1 よ り 大 き い 値 も 使 用 可 能 で す : こ の 場 合 、 現 在 の テ キ ス ト 及 び 線 に 使 用 し て い る 灰 色 で 塗 り つ ぶ し ま す 。 通 常 こ れ は 黒 で す が 、 出 力 デ バ イ ス が 変 更 す る 機 構 を 持 っ て い る か も 知 れ ま せ ん 。 引 数 を 取 ら な い 場 合 、 fillval 変 数 の 値 が 使 用 さ れ ま す 。 初 期 値 で は 0.5 で す 。 invisible 属 性 は オ ブ ジ ェ ク ト の 塗 り つ ぶ し に は 影 響 し ま せ ん 。 塗 り つ ぶ さ れ た オ ブ ジ ェ ク ト に 関 連 づ け ら れ た テ キ ス ト は 、 塗 り つ ぶ し 後 に 追 加 さ れ ま す 。 こ の た め 、 塗 り つ ぶ し に よ っ て テ キ ス ト が 隠 さ れ る こ と は 有 り ま せ ん 。 変 数 arrowhead が 非 0 で あ り か つ TeX モ ー ド が 有 効 も し く は −x オ プ シ ョ ン が 与 え ら れ て い る 場 合 に は 、 矢 印 の 頭 を 実 線 の 三 角 形 で 描 画 し ま す 。 初 期 値 で は arrowhead は 1 で す 。 pic の troff 出 力 は デ バ イ ス 独 立 で す 。 そ れ ゆ え −T オ プ シ ョ ン は 冗 長 で す 。 全 て の 数 値 は イ ン チ と し て 扱 わ れ ま す ; 数 値 は troff マ シ ン 単 位 と し て は 解 釈 さ れ ま せ ん 。 オ ブ ジ ェ ク ト は aligned 属 性 を 取 り え ま す 。 こ れ は 後 処 理 が grops で 実 行 さ れ る 場 合 の み 機 能 し ま す 。 オ ブ ジ ェ ク ト に 関 連 づ け ら れ た テ キ ス ト で aligned 属 性 を 持 つ も の は 全 て オ ブ ジ ェ ク ト の 中 央 に お い て 回 転 さ れ ま す 。 そ れ ゆ え 、 オ ブ ジ ェ ク ト の 始 点 か ら 終 点 へ の 方 向 に あ わ せ ら れ ま す 。 こ の 属 性 は 始 点 と 終 点 が 同 じ オ ブ ジ ェ ク ト に 関 し て は 効 果 が 有 り ま せ ん 。 nth と 言 う 表 現 が 許 さ れ て い る 場 所 で は ’expr’th と い う 表 現 も 許 さ れ ま す 。 ’th は 単 一 の ト ー ク ン で あ る こ と に 注 意 し て 下 さ い : ’ と th の 間 に は 空 白 を 入 れ て は な り ま せ ん 。 使 用 例 は 以 下 で す 。 for i = 1 to
4 do { 変 換ス タ ン ド ア ロ ン の ピ ク チ ャ を pic フ ァ イ ル か ら 得 る に は 、 pic コ ー ド を .PS と .PE の リ ク エ ス ト で 囲 み ま す 。 roff 設 定 コ マ ン ド を フ ァ イ ル の 先 頭 に 追 加 し て も 良 い で す が 、 roff テ キ ス ト は 追 加 し ま せ ん 。 ペ ー ジ 情 報 を な に も 加 え ず に 、 こ の フ ァ イ ル を groff に 喰 わ せ る こ と が 必 要 で す 。 ど の .PS と .PE の リ ク エ ス ト が 実 際 に 呼 ば れ た の か を 確 認 し て く だ さ い 。 例 え ば 、 mm マ ク ロ パ ッ ケ ー ジ は ペ ー ジ 番 号 を 追 加 し ま す が 、 こ れ は 非 常 に 迷 惑 で す 。 当 面 、 標 準 の groff を 、 ど の マ ク ロ パ ッ ケ ー ジ も 働 か な い よ う に し て 呼 び 出 し ま す 。 ま た は 、 独 自 の リ ク エ ス ト を 定 義 し ま す 。 例 え ば 、 な に も し な い よ う に す る に は 次 の よ う に し ま す : .de PS groff 自 身 は 、 他 の グ ラ フ ィ ッ ク ス フ ァ イ ル 書 式 へ の 直 接 変 換 は で き ま せ ん 。 し か し 、 groff オ プ シ ョ ン -Tps の 使 用 に よ り 、 ピ ク チ ャ を 最 初 に PostScript® 書 式 へ 変 換 す れ ば 、 多 く の 可 能 性 が あ り ま す 。 こ の ps フ ァ イ ル は 、 BoundingBox 情 報 が 無 い の で 、 そ れ 自 身 は 非 常 に 使 用 し 易 い と い う も の で は な い の で 、 他 の 変 換 プ ロ グ ラ ム 、 通 常 は ps2other や pstoother と い っ た 名 前 の も の に 喰 わ せ ま す 。 さ ら に 、 PostScript イ ン タ プ リ タ ghostscript (gs) は 、 次 の オ プ シ ョ ン で 呼 び 出 し 可 能 な 組 み 込 み の グ ラ フ ィ ッ ク ス 変 換 デ バ イ ス を 持 ち ま す : gs
-sDEVICE=<devname> 使 用
可 能 な デ バ イ
ス 一 覧 を 得 る
に は 、 次 の よ
う に 呼 び 出 し
ま す : Encapsulated PostScript フ ァ イ ル 書 式 EPS が よ り 重 要 に な っ て お り 、 ま た 変 換 が 過 去 の よ う に は 簡 単 で は な い の で 、 正 し い 仕 事 を 行 う ps2eps と い う 名 前 の 変 換 ツ ー ル の 存 在 を 知 っ て い る と 良 い で し ょ う 。 こ れ は 、 gs に パ ッ ケ ー ジ さ れ て い る ツ ー ル ps2epsi よ り も 良 い も の で す 。 ビ ッ ト マ ッ プ グ ラ フ ィ ッ ク ス 書 式 用 に は 、 pstopnm を 使 用 し ま す 。 結 果 の (中 間 出 力 の ) PNM フ ァ イ ル は 、 netpbm パ ッ ケ ー ジ を 使 用 す る こ と に よ り 、 実 質 的 に 任 意 の グ ラ フ ィ ッ ク ス 書 式 に 変 換 可 能 で す 。 関 連 フ ァ イ ル
関 連 項 目troff(1), groff_out(5), tex(1), gs(1), ps2eps(1), pstopnm(1), ps2epsi(1), pnm(5) Tpic: Pic for
TeX ps2eps
は CTAN ミ ラ ー で 入
手 可 能 で あ り
、 例 え ば 次 の
と こ ろ か ら 入
手 可 能 で す : W. Richard
Stevens - Turning PIC Into HTML W. Richard
Stevens - Examples of picMacros バ グgroff に と っ て 不 正 な 文 字 (例 え ば ASCII code 0 や 8 進 で 013〜 037、 0200〜 0237) は TeX モ ー ド で あ っ て も 拒 否 さ れ ま す 。 fillval の 解 釈 は 10th edition Unix と 互 換 性 が あ り ま せ ん 。 10th edition Unix は 0 を 黒 、 1 を 白 と 解 釈 し ま す 。 PostScript® は 、 Adobe Systems Incorporation の 登 録 商 標 で す 。 |