99.49 Pslatex and pstex

pslatex ドライバは LaTeX で後処理される出力を生成し、pstex ドライ バは TeX で後処理される出力を生成します。pslatex は dvips と xdvi で 認識可能な \ special 命令を使用します。pstex で生成される図は、任意 の plain-TeX ベースの TeX (LaTeX もそうです) で取り込むことができます。

書式:

     set terminal [pslatex | pstex] {default}
     set terminal [pslatex | pstex]
                             {rotate | norotate}
                             {oldstyle | newstyle}
                             {auxfile | noauxfile}
                             {level1 | leveldefault | level3}
                             {color | colour | monochrome}
                             {background <rgbcolor> | nobackground}
                             {dashlength | dl <DL>}
                             {linewidth | lw <LW>}
                             {rounded | butt}
                             {clip | noclip}
                             {palfuncparam <samples>{,<maxdeviation>}}
                             {size <XX>{unit},<YY>{unit}}
                             {<font_size>}

以下のようなエラーメッセージが出た場合:

     "Can't find PostScript prologue file ... "

以下参照: postscript prologue (99.48.3)。そしてその指示に従ってください。

オプション color はカラーを有効にし、monochrome は各要素を黒と白 描画します。さらに、monochrome は灰色の palette も使用しますが、 これは、明示的に colorspec で指定された部品の色を変更しません。

dashlength または dl は点線の線分の長さを < DL> (0 より大きい実数) に設定し、 linewidth または lw は全ての線の幅を < LW> に設定します。

デフォルトでは、生成される PostScript コードは、特にフィルタリングや filledcurves のようなでこぼこな領域のパターン塗りつぶしにおいて、 PostScript Level 2 として紹介されている言語機能を使います。PostScript Level 2 の機能は条件的に保護されていて、PostScript Level 1 のインター プリタがエラーを出さず、むしろメッセージか PostScript Level 1 による 近似であることを表示するようになっています。level1 オプションは、こ れらの機能を近似する PostScript Level1 で代用し、PostScript Level 2 コードを一切使用しません。これは古いプリンタや、Adobe Illustrator の 古いバージョンなどで必要になるかもしれません。このフラグ level1 は 出力された PostScript ファイルのある一行を手で編集することで、後から 強制的に PostScript Level 1 機能を ON/OFF にすることもできます。level 2 のコードが含まれている場合、上の機能は現われないか、このフラグがセ ットされた場合、あるいは PostScript インタプリタプログラムが level 2 以上の PostScript を解釈するとは言わなかった場合に警告文に置き換わります。level3 オプションは、ビットマップ画像の PNG 化の機能を有効に します。それにより出力サイズをかなり削減できます。

rounded は、線の端や接合部を丸くし、デフォルトの butt は尖った端と 角張った接合部を使用します。

clip は、PostScript にすべての出力を BoundingBox (PostScript の外枠) でクリップすることを指示します; デフォルトは noclip です。

palfuncparamset palette functions から出力の傾きをどのようにコ ード化するかを制御します。解析的な色の成分関数 (set palatte functions で設定される) は、postscript 出力では傾きの線形補完を用いてコード化さ れます: まず色の成分関数が < samples> 個の点で標本化され、そしてそれら の点は、結果として線形補完との偏差が < maxdeviation> 以内に収まるように削除されます。ほとんど全ての有効なパレットで、デフォルトの < samples> =2000 と < maxdeviation> =0.003 の値をそのまま使うのが良いでしょう。

PostScript 出力のデフォルトの大きさは 10 インチ x 7 インチです。EPS 出力のデフォルトの大きさは 5 x 3.5 インチです。オプション size は これらをユーザが指定したものに変更します。デフォルトでは X と Y のサ イズの単位はインチとみなされますが、他の単位 (現在は cm のみ) も使う ことはできます。描画の BoundingBox (PostScript ファイルの外枠) は、 サイズが変更された画像を丁度含むように正しく設定されます。 スクリーン座標は、オプション size で指定された描画枠の全体が 0.0 から 1.0 になります。 注意: これは、以前は、出力形式での設定よりも、コマンド set size で設定した方がいい、と言っていたことの変更を意味します。以前の方法では BoundingBox は変更されずに残ってしまい、スクリーン座標が実際の描画の限界に対応していませんでした。

rotate が指定されると y 軸の見出しが回転されます。 < font_size> は希望するフォントの (ポイント単位での) 大きさです。

auxfile が指定されると、ドライバは PostScript コマンドを、LaTeX ファ イルに直接出力する代わりに、補助ファイルに書き出すようになります。これ は、dvips がそれを扱えないくらい大きいグラフである場合に有用です。補助 PostScript ファイルの名前は、set output コマンドで与えられる TeX フ ァイルの名前から導かれるもので、それはその最後の .tex の部分 (実際の ファイル名の最後の拡張子の部分) を .ps で置き換えたもの、または、TeX ファイルに拡張子がないならば .ps を最後に付け足したものになります。 .ps ファイルは \ special{psfile=...} という命令で .tex ファイルに 取り込まれます。multiplot モード以外では、次の描画を行なう前にその出力ファイルをクローズするのを忘れないでください。

version 4.2 より前の gnuplot は ps(la)tex 出力形式では 5 x 3 インチの 出力でしたが、現在では 5 x 3.5 インチになっています。これは postscript eps 出力形式に合わせた変更です。加えて、文字幅は、以前の epslatex 出力形式はフォントサイズの 50% と見なしましたが、現在は 60% と評価しています。従来の形式に戻すには、オプション oldstyle を指定してください。

pslatex ドライバは文字列の配置の制御に特別な方法を提供します: (a) '{' で始まる文字列は、'}' で閉じる必要がありますが、その文字列全体 が LaTeX によって水平方向にも垂直方向にもセンタリングされます。 (b) '[' で始まる文字列の場合は、位置の指定をする文字列 (t,b,l,r のうち 2 つまで) が続き、次に ']{'、文字列本体、で最後に '}' としますが、この 文字列は LaTeX が LR-box として整形します。 \ rule{}{} を使えばさらに良 い位置合わせが可能でしょう。

ここに記述されていないオプションは Postscript terminal のものと同一で すので、それらが何を行なうのかを知りたければそちらを参照してください。

例:

     set term pslatex monochrome rotate       # デフォルトに設定

PostScript コマンドを "foo.ps" に書き出す:
     set term pslatex auxfile
     set output "foo.tex"; plot ...; set output

見出しの位置合わせに関して: gnuplot のデフォルト (大抵それなりになるが、そうでないこともある):
      set title '\LaTeX\ -- $ \gamma $'

水平方向にも垂直方向にもセンタリング:
      set label '{\LaTeX\ -- $ \gamma $}' at 0,0

位置を明示的に指定 (上に合わせる):
      set xlabel '[t]{\LaTeX\ -- $ \gamma $}'

他の見出し - 目盛りの長い見出しに対する見積り:
      set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}}'

線幅と点の大きさは set style line で変更できます。

竹野茂治@新潟工科大学
2016年10月12日