126.3 Cairolatex

出力形式 cairolatex は、cairo と pango の補助ライブラリを使って、EPS (Encapsulated PostScript), PDF, PNG 出力を生成しますが、文字列出力には 出力形式 epslatex と同じやり方で LaTeX を使用します。

書式:


     set terminal cairolatex
                    {eps | pdf | png}
                    {standalone | input}
                    {blacktext | colortext | colourtext}
                    {header <header> | noheader}
                    {mono|color}
                    {{no}transparent} {{no}crop} {background <rgbcolor>}
                    {font <font>} {fontscale <scale>}
                    {linewidth <lw>} {rounded|butt|square} {dashlength <dl>}
                    {size <XX>{unit},<YY>{unit}}
                    {resolution <dpi>}

cairolatex 出力形式は、epscairo 出力形式 (termnal epscairo) や pdfcairo 出力形式 (terminal pdfcairo) と同等のグラフを出力しますが、 テキスト文字列はグラフの中に入れるのではなく、LaTeX に渡します。以下で 触れないオプションについては、以下参照: pdfcairo (126.23)

eps, pdf, png は、グラフ出力の形式を選択します。latex/dvips 用に は eps を、pdflatex 用には pdf を使用してください。もしあなたのグラ フが大量の点数を持つ場合は、ファイルサイズを減らすために png を使用し てください。オプション png を使用した場合、追加オプション resolution も受け付け、結果の PNG のピクセル密度を制御できます。resolution の引 数は整数で、DPI の暗黙の単位で与えます。

blacktext は、カラーモードでもすべての文字列を黒で書くようにします。

cairolatex 出力ドライバは、文字列の位置の特別な制御方法を提供します: (a) '{' で始まるすべての文字列は、'}' もその文字列の最後に必要ですが、 その文字列全体を LaTeX で横にも縦にもセンタリングします。 (b) '[' で始まる文字列は、その次に位置指定文字 (t,b,l,r,c のうち 2 つま で)、']{'、対象文字列、と続き最後に '}' で閉じますが、この文字列は、 LaTeX が LR-box として処理できるものならなんでも構いません。位置合わせ を完全に行うには、 \rule{}{} も有用でしょう。以下も参照: pslatex (126.28)。 複数行に渡るラベルを生成する場合、 \shortstack を使用してください。例:


  set ylabel '[r]{\shortstack{first line \\ second line}}'

コマンド set label のオプション back は、他の出力形式とはやや異なる 方法で処理します。back を使用したラベルは、他のすべての描画要素の後ろ に印字し、front を使用したラベルは、他のすべての上に印字します。

このドライバは 2 つの異なるファイルを作成します。一つは図の eps か pdf か png 部分で、もう一つは LaTeX 部分です。その LaTeX ファイルの名前は、 コマンド set output のものを使用し、eps/pdf/png ファイルの名前は、そ の拡張子 (通常は '.tex') を '.eps'/'.pdf'/'.png' に置き換えたものを使用 します。出力ファイルを指定しなかった場合は、LaTeX 出力はしません。 multiplot モード以外では、次の plot を行う前に出力ファイルを閉じるの を忘れないでください。

この画像をあなたの LaTeX 文書に取り込むには、' \input{filename}' を使用 してください。'.eps'/'.pdf'/'.png' ファイルは、 \includegraphics{...} で取り込むので、LaTeX 文書のプリアンブルに \usepackage{graphicx} を入 れる必要があります。色付きの文字 (オプション colourtext) を使用する場 合は、プリアンブルに \usepackage{color} も入れる必要があります。

フォント選択に関する挙動は、ヘッダーモードに依存します。いずれの場合で も、与えられたフォントサイズは適切な大きさを計算するのに使われます。 standalone モードを使っていない場合は、それを読みこんだところで実際に LaTeX が使用しているフォントとフォントサイズが使われるので、フォントを 変更するには LaTeX のコマンドを使用してください。LaTeX 文書の方で 12pt のフォントサイズを使っていれば、オプションとして '", 12"' を指定して ください。フォント名は無視されます。'standalone' の場合は、与えられたフ ォントとフォントサイズを使用します。詳細は以下を参照してください。

文字列を色付けして印字するかどうかは、TeX のブール変数 \ifGPcolor と \ifGPblacktext で制御できます。 \ifGPcolor が true で \ifGPblacktext が false のときのみ文字列が色付けされます。これらの変更は、生成された TeX ファイル中で行うか、または大域的にあなたの TeX ファイルのプリアンブ ルで、例えば以下のようにして設定できます:


  \newif\ifGPblacktext
  \GPblacktexttrue

局所的な設定は、大域的な値がない場合にのみ効力を持ちます。

出力形式 cairolatex を使う場合は、コマンド set output で TeX ファイル 設定する際にファイルの拡張子 (通常は ",tex") をつけてください。 グラフのファイル名は、その拡張子を置きかえることで作られます。

standalone モードを使う場合、LaTeX ファイルに完全な LaTeX のヘッダが 追加され、グラフファイルのファイル名には "-inc" が追加されます。 standalone モードは、dvips, pdfTeX, VTeX を使う場合に正しいサイズの出 力を作る TeX ファイルを生成します。デフォルトでは input で、これは LaTeX 文書から \input コマンドで取り込まれる必要があるファイルを生成し ます。

"""default" 以外のフォントを与えた場合、それは LaTeX のフォント 名であるとみなされます。それは ',' 区切りで最大 3 つの部分からなる、 'fontname,fontseries,fontshape' の形式です。デフォルトの fontshape や fontseries を使いたい場合は、それらは省略できます。よって、フォント名の 実際の書式は、'{fontname}{,fontseries}{,fontshape}' となります。(訳注: より gnuplot 風に言えば '{<fontname>}{,{<fontseries>}{,<fontshape>}}') 名前の各部分の指定法は、LaTeX のフォント系の慣習に従う必要があります。 フォント名 (fontname) は 3 から 4 文字の長さで、以下のようになっていま す: 最初の文字はフォントの供給者、次の 2 つの文字はフォント名用、オプシ ョンとして特別なフォント用に 1 文字追加できます。例えば、'j' は古いスタ イルの数字用のフォント、'x' はエキスパートフォント用です。多くのフォン ト名が以下に記述されています: http://www.tug.org/fontname/fontname.pdf

例えば、'cmr' は Computer Modern Roman を、'ptm' は Times-Roman, 'phv' は Helvetica を意味しています。font series は、グリフの太さを表し、多く の場合は、'm' が標準 ("medium")、'bx' か 'b' が太字 (bold) のフォント を意味します。font shape は、一般的には 'n' が立体 (upright)、'it' がイ タリック (italic)、'sl' が斜体 (slanted)、'sc' がスモールキャピタル (small caps) を意味します。異なる series や shapes を提供するフォントも あります。

例:

Times-Roman のボールド体 (周りの文字列と同じ形状) を使うには:


     set terminal cairolatex font 'ptm,bx'

Helvetica, ボールド体、イタリックを使うには:


     set terminal cairolatex font 'phv,bx,it'

周りと同じで斜体の形状のフォントを使うには:


     set terminal cairolatex font ',,sl'

スモールキャピタルを使うには


     set terminal cairolatex font ',,sc'

この方法では、テキストフォントだけが変更されます。数式フォントも変更し たい場合は、ファイル "gnuplot.cfg" か、または以下で説明するオプション header を使う必要があります。

standalone モードでは、フォントサイズはコマンド set terminal で指定 したフォントサイズを取ります。指定したフォントサイズを使うためにはファ イル "size<size>.clo" が LaTeX の検索パスにある必要があります。デフォ ルトでは 10pt, 11pt, 12pt をサポートしています。パッケージ "extsizes" がインストールされていれば、8pt, 9pt, 14pt, 17pt, 20pt も追加されます。

オプション header は一つの文字列を引数として取り、その文字列を生成す る LaTeX ファイルに書き出します。standalone モードでは、それはプリア ンブルの \begin{document} の直前に書きますが、input モードでは、それ はグラフに関するすべての設定を局所化するための \begingroup コマンドの の直後に書きます。

例:

T1 フォントエンコーディングを使い、テキストフォントと数式フォントを Times-Roman に、sans-serif フォントを Helvetica に変えるには:


   set terminal cairolatex standalone header \
   "\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepackage{helvet}"

グラフ内では太字 (bold) を使うが、グラフ外のテキストはそうしない:


   set terminal cairolatex input header "\\bfseries"

LaTeX がファイル "gnuplot.cfg" を見つけると、standalone モードでは それをプリアンブルに取り込みます。これは、さらに設定を追加するのに使え ます。例: 文書のフォントを、数式フォント ("mathptmx.sty" が処理) も合 わせて Times-Roman, Helvetica, Courier にするには:


     \usepackage{mathptmx}
     \usepackage[scaled=0.92]{helvet}
     \usepackage{courier}

ファイル "gnuplot.cfg" は、コマンド header で設定するヘッダー情報よ りも前に読み込みますので、"gnuplot.cfg" で設定するものを header を 使って上書きすることができます。

竹野茂治@新潟工科大学
2024-02-19