PAW fig
メモ
- set hcol 1 でヒストグラムの外枠のみ表示、色は黒。set hcol 2 で赤。
- 凡例 : legend
参考 : PAW - PAW Tutorial - Use of Ntuple masks and loops
EPS ファイル を 直接編集
- EPS ファイルは postscript 言語(?)で書かれているため Emacs などで直接編集が可能。特に PAW が出力する EPS ファイルは比較的読み易く、編集も容易。
- 以下の赤で示した部分を編集する。
→
背景の白を消す
- 背景の白い部分は、白い BOX で埋め尽くされている。このため、無駄にファイルサイズが大きくなる。白い BOX は "1 1 1 c" という色指定のコマンドに続く、"数字 数字 数字 数字 bf"というコマンドで書かれている(下記参照)。
1 1 1 c 2 2 193 147 bf 2 2 195 147 bf 3 2 197 147 bf 2 2 200 147 bf 2 2 202 147 bf 0 0.58182 0.8 c
- よって、 "1 1 1 c" から 他の色が指定されるまでにある "数字 数字 数字 数字 bf" を消せば良い。
- perl でこれを実現するには、以下の様なコマンドを端末上で打てば良い。置換は 's/(1\s+){3}c((\s+\d+){4}\s+bf)+//sg' としている(河田くん Thanks!)。p オプションで perl に sed のような動作をさせる(ワンライナーで良く使う)。 0 オプションで入力レコードセパレータを NULL にする。これで、改行をまたぐ正規表現のマッチが可能になる。e オプションで後に続くコマンドを perl に実行させる。 i オプションをつければ、入力ファイルを直接書き換えることもできる。バックアップを残すには、-i.org などとする。これで、in.eps.org というバックアップが作成される。
$ perl -p0e 's/(1\s+){3}c((\s+\d+){4}\s+bf)+//sg' in.eps > out.eps
- ただし、perl のバージョンによってはセグメントエラーを起こす。v5.8.8, v5.6.1 だと駄目だった。v5.8.8 だと「セグメントエラー」、v5.6.1 だと「セグメンテーション違反です」と出る。v5.10.0 だとうまくいった。
カラーマップの 1 未満の目盛を消す
- lw は線の太さを指定するコマンドであり、この部分参考にして該当部分を探す。具体的には "1 lw" を "5 lw" などに変更し gv などで画像を確認して探す。
gr 885 613 193 147 C 1248 794 0 0 C 1 lw 0 0.29091 0.8 c 23 51 1089 199 bf 0 0.58182 0.8 c 23 51 1089 250 bf 0 0.8 0.72727 c 23 51 1089 301 bf 0 0.8 0.43636 c 23 51 1089 352 bf 0 0.8 0.14545 c 23 51 1089 403 bf 0.14545 0.8 0 c 23 51 1089 454 bf 0.43636 0.8 0 c 23 51 1089 505 bf 0.72727 0.8 0 c 23 51 1089 556 bf 0.8 0.58182 0 c 23 51 1089 607 bf 0.8 0.29091 0 c 23 51 1089 658 bf black 23 51 1089 709 bf 2 lw black 23 613 1089 147 bl NC 1 lw 1112 147 m 613 Y s 2 lw 1101 158 m 11 X s 1101 175 m 11 X s 1101 188 m 11 X s 1101 199 m 11 X s 1101 208 m 11 X s 1101 216 m 11 X s 1101 223 m 11 X s 1089 229 m 23 X s
- の最後部付近を消す。
gr 885 613 193 147 C 1248 794 0 0 C 1 lw 0 0.29091 0.8 c 23 51 1089 199 bf 0 0.58182 0.8 c 23 51 1089 250 bf 0 0.8 0.72727 c 23 51 1089 301 bf 0 0.8 0.43636 c 23 51 1089 352 bf 0 0.8 0.14545 c 23 51 1089 403 bf 0.14545 0.8 0 c 23 51 1089 454 bf 0.43636 0.8 0 c 23 51 1089 505 bf 0.72727 0.8 0 c 23 51 1089 556 bf 0.8 0.58182 0 c 23 51 1089 607 bf 0.8 0.29091 0 c 23 51 1089 658 bf black 23 51 1089 709 bf 2 lw black 23 613 1089 147 bl NC 1 lw 1112 147 m 613 Y s 2 lw 1089 229 m 23 X s
下付きと上付きの文字を左右同じ場所に書く
- "currentpoint pop 0 t" の部分が テキストの終わりの部分を基準点にセットするコマンドのようなので、これを使って編集する。
t 0 r 0 0 m /Times-Roman findfont 48 sf 0 34 m (37) show currentpoint pop 0 t /Times-Roman findfont 68 sf 0 0 m (\040) show currentpoint pop 0 t /Times-Roman findfont 48 sf 0 -23 m (12) show currentpoint pop 0 t /Times-Roman findfont 68 sf 0 0 m (Mg) show currentpoint pop 0 t /Times-Roman findfont 48 sf 0 -23 m (25) show
- を以下の様に変更。
t 0 r 0 0 m /Times-Roman findfont 48 sf 0 34 m (37) show /Times-Roman findfont 48 sf 0 -23 m (12) show currentpoint pop 0 t /Times-Roman findfont 68 sf 0 0 m (Mg) show currentpoint pop 0 t /Times-Roman findfont 48 sf 0 -23 m (25) show
テキストの途中でイタリックにする
- "currentpoint pop 0 t" の部分が テキストの終わりの部分を基準点にセットするコマンドのようなので、これを使って編集する。
/Times-Roman findfont 68 sf 0 0 m (Mass number/atomic number \(A/Z\)) show
- を以下のように変更。
/Times-Roman findfont 68 sf 0 0 m (Mass number/atomic number \() show currentpoint pop 0 t /Times-Italic findfont 68 sf 0 0 m (A/Z) show currentpoint pop 0 t /Times-Roman findfont 68 sf 0 0 m (\)) show
図を真似る
CERN Program Library Long Writeup Q121 PAW Physics Analysis Workstation An Introductory Tutorial の図を真似したり、しなかったりする。
A graphical view of the Set parameters
上図のような、PAW Tutorial p.111 の Figure 7.3: A graphical view of the Set parameters と似た図を描くには、以下のような手順を実行する。まず、端末にて htest.f をコンパイルし実行する。これで、htest.hbook という HBOOK ファイルができる。さらに PAW を起動し set_par.kumac を実行すると、上のような図が描ける。実際の手順は以下の通り。
$ g77 -o htest htest.f -L/cern/pro/lib -lpacklib $ ./htest $ ls htest htest.f htest.hbook htest.o set_par.kuamc $ paw PAW > exe set_par.kuamc PAW > exit
Usage of fill area types in HPLOT
上図のような、PAW Tutorial p.116 の Figure 7.6: Usage of fill area types in HPLOT と似た図を描くには、xtyp.kumac を実行する。ただし、上で作成した htest.hbook がすでにあるとする。実際の手順は以下の通り。
$ ls htest.hbook xtyp.kuamc $ paw PAW > exe xtyp.kuamc PAW > exit
PostScript text fonts
上図のような、PAW Tutorial p.125 の Figure 7.15: PostScript text fonts と似た図を描くには、fonts.kumac を実行する。実際の手順は以下の通り。
$ paw PAW > exe fonts.kuamc PAW > exit
List of escape characters and their meaning
- software character
List of escape characters and their meaning
<
go to lower case
>
go to upper case (default)
[
go to greek (Roman = default)
]
end of greek
"
go to special symbols
#
end of special symbols
^
go to superscript
?
go to subscript
!
go to normal level of script
&
backspace one character
$
termination character (optional)
PostScript text fonts
List of escape characters and their meaning
<
go to lower case (optional)
>
go to upper case (optional)
[
go to greek (Roman = default)
]
end of greek
"
go to special symbols
#
end of special symbols
~
go to ZapfDingbats
#
end of ZapfDingbats
^
go to superscript
?
go to subscript
!
go to normal level of script
&
backspace one character
$
termination character (optional)
Characters available in IGTEXT
上図のような、PAW Tutorial p.123 の Figure 7.12: Characters available in IGTEXT と似た図を描くには、igtext.kumac を実行する。実際の手順は以下の通り。
$ paw PAW > exe igtext.kuamc PAW > exit
PostScript characters (1)
上図のような、PAW Tutorial p.126 の Figure 7.16: PostScript characters (1) と似た図を描くには、pschar1.kumac を実行する。実際の手順は以下の通り。
$ paw PAW > exe pschar1.kuamc PAW > exit
PostScript characters (2)
上図のような、PAW Tutorial p.127 の Figure 7.17: PostScript characters (2) と似た図を描くには、pschar2.kumac を実行する。実際の手順は以下の通り。
$ paw PAW > exe pschar2.kuamc PAW > exit
Text alignment
上図のような PAW Tutorial p.120 の Figure 7.11: Text alignment と似た図を描くには、PAW で talign.kumac を実行する。実際の手順は以下の通り。
$ ls talign.kumac $ paw PAW > exe talign PAW > exit
設定の仕方は以下の通り。set txal 23 | 横方向: 中心を基準, 縦方向: 中心を基準 set txal 30 | 横方向: 右を基準, 縦方向: 下を基準 set txal 11 | 横方向: 左を基準, 縦方向: 上を基準
Marker
上図のような PAW Tutorial p.117 の Figure 7.8: HIGZ portable marker types と似た図を描くには、PAW で marker.kumac を実行する。実際の手順は以下の通り。
$ ls marker.kumac $ paw PAW > exe marker PAW > exit
Line type
上図のような PAW Tutorial p.117 の Figure 7.9: HIGZ portable line types と似た図を描くには、PAW で line.kumac を実行する。実際の手順は以下の通り。
$ ls line.kumac $ paw PAW > exe line PAW > exit
Color index
Color index を図に描くには、PAW で color.kumac を実行する。ただし、インデックスの数を 58 とした (set ncol 58) 。59 以上にすると、エラーとなった。実際の手順は以下の通り。
$ ls color.kumac $ paw PAW > exe color PAW > exit
- fit のときに表示される線の色を変えるには、set fcol color_index とする。set fcol 2 とすれば、赤になる。
- 普通の線の色を変えるには、set plci color_index とする。
Grey index
Grey index を図に描くには、PAW で grey.kumac を実行。ただし、インデックスの数を 99 とした (set ncol 99) 。実際の手順は以下の通り。
$ ls grey.kumac $ paw PAW > exe grey PAW > exit
Hatch index
上図のような PAW Tutorial p.116 の Figure 7.7: HIGZ portable hatch types と同様の図を描くには、PAW で hatch.kumac を実行。実際の手順は以下の通り。
$ ls hatch.kumac $ paw PAW > exe hatch PAW > exit
Style index
Style index を図に描く。PAW で style.kumac を実行。ただし、EPS 形式で保存すると、style が gv などで見れなくなってしまうため、PICTURE/PRINT コマンドで gif 形式で保存した。実際の手順は以下の通り。
$ ls grey.kumac $ paw PAW > exe grey PAW > pic/pri style.gif PAW > exit $ convert style.gif style.png