106.38.1 Lua tikz

TikZ ドライバは、汎用 Lua 出力形式の出力モードの一つです。

書式:

   set terminal lua tikz


    {latex | tex | context}
    {color | monochrome}
    {dashed | solid}
    {nooriginreset | originreset}
    {nogparrows | gparrows}
    {nogppoints | gppoints}
    {picenvironment | nopicenvironment}
    {noclip | clip}
    {notightboundingbox | tightboundingbox}
    {background "<colorpec>"}
    {size <x>{unit},<y>{unit}}
    {scale <x>,<y>}
    {plotsize <x>{unit},<y>{unit}}
    {charsize <x>{unit},<y>{unit}}
    {font "<fontdesc>"}
    {{fontscale | textscale} <scale>}
    {nofulldoc | nostandalone | fulldoc | standalone}
    {{preamble | header} "<preamble_string>"}
    {tikzplot <ltn>,...}
    {notikzarrows | tikzarrows}
    {rgbimages | cmykimages}
    {noexternalimages|externalimages}
    {bitmap | nobitmap}
    {providevars <var name>,...}
    {createstyle}
    {help}

引数として長さを必要とするオプションについては、単位が指定されていなけ ればそのデフォルトは 'cm' となります。すべての長さには、以下の単位を使用できます: 'cm', 'mm', 'in' または 'inch', 'pt', 'pc', 'bp', 'dd','cc' (訳注: in はインチ (1in=2.54cm), pt はポイント (72.27pt=1in), pc はパイカ (1pc=12pt), bp はビッグポイント (72bp=1in), dd は Didot ポイ ント (26.6dd=1cm), cc は Cicero (1cc=12dd))。数値と単位の間に空白を入 れてはいけません。

'monochrome' は、線の色付けを無効にし、塗り潰しを灰色階調に切り替えま す。

'solid' は、実線のみを使用します。

'originreset' は、TikZ 画の原点を、描画の左下角へ移動します。これはい くつかの描画を一つの tikzpicture 環境内に整列するのに使用できます。こ れは、multiplot、pm3d 描画では十分にはテストされていません。

'gparrows' は、TikZ が提供する矢 (arrow) の代わりに、gnuplot 内部の矢 (arrow) の描画関数を使用します。

'gppoints' は、TikZ が提供する描画記号の代わりに、gnuplot 内部の記号描 画関数を使用します。

'nopicenvironment' は、'tikzpicture' 環境の宣言を手動で行うようにする ためにそれを省略します。これにより、描画の前後に、ある PGF/TikZ コード を直接入れることができます。

'clip' は、描画を定義されたキャンバスサイズでクリッピングします。デフォ ルトは 'noclip' で、これはキャンバスサイズを含む最小の矩形外枠のみを設 定します。オプション 'plotsize' か 'tightboundingbox' を使用した場合は 矩形外枠もクリッピングの箱もいずれも設定しません。

'tightboundingbox' を設定すると、オプション 'clip' は無視され、最終的な 矩形外枠は tikz が計算する自然な外枠になります。

'background' は、背景色を引数 <colorspec> で指定した値に設定します。 <colorspec> は有効な色名か、'#' の後に 16 進数を置く 3 バイトの RGB コ ード (例えば '#ff0000' は真赤) のいずれかでなければいけません。省略した 場合は背景は透明になります。

オプション 'size' は、キャンバスサイズの 2 つの長さ <x>, <y> を必要と します。デフォルトのキャンバスサイズは 12.5cm x 8.75cm です。

オプション 'scale' は、オプション 'size' と同等の機能ですが、この <x>, <y> は長さではなく、拡大率になります。

オプション 'plotsize' は、キャンバスサイズの代わりに描画領域のサイズの 設定を行いますが、それが通常の gnuplot の挙動です。このオプションを使 用すると、わずかに非対称な刻み幅を作るかもしれません。'originreset' の ように、このオプションを multiplot や pm3d 描画で使用すると、不都合な 結果を招く恐れがあります。それに代わる方法として、すべての margin を 0 と設定した上でオプション 'noclip' を使用する、という手もあります。この 場合は、描画領域は与えたキャンバスサイズの大きさになります。

オプション 'charsize' は、使用するフォントの水平サイズと垂直サイズの平 均値を必要とします。あなたの TeX 文書内でこれをどのように使用するかに ついては、サンプルとして生成されるスタイルファイルを見てください。

オプション 'fontscale', 'textscale' には、縮尺比パラメータが必要です。 グラフ内のすべての文字列がその縮尺比で伸縮されます。

オプション 'tex', 'latex', 'context' は、TeX 出力形式の選択です。デフォ ルトは LaTeX です。そのスタイルファイルを読み込むには、あなたの文書ファ イルの先頭に対応する行を入れてください:

 \input gnuplot-lua-tikz.tex    % (plain TeX の場合)
 \usepackage{gnuplot-lua-tikz}  % (LaTeX の場合)
 \usemodule[gnuplot-lua-tikz]   % (ConTeXt の場合)

'createstyle' は、そのスクリプトから TeX/LaTeX/ConTeXt スタイルファイル を導き出し、それらを適切なファイルに書き出します。

'fulldoc' または 'standalone' は、そのままコンパイルできるような完全な LaTeX 文書を生成します。

'preamble' または 'header' は、standalone モードのドキュメントのプリア ンブルに追加 LaTeX コードを出力するのに使います。

オプション 'tikzplot' では、コマンド ' \path' の代わりに ' \path plot' を使用します。それに続く線種 (linetype) の数値のリスト (<ltn>,...) は それに影響される描画線を定義します。すべての線種に対し、一つの描画スタ イルが存在します。1 以上のすべての線種に対して、デフォルトの描画スタイルは 'smooth' です。

オプション 'tikzarrows' を使用すると、ユーザの定義した gnuplot の矢 (arrow) のスタイルを TikZ の矢のスタイルに割り当てます。これは、矢の定 義の角の値を '誤って使用する' ことでなされています。例えば、角 '7' に よる矢のスタイルは TikZ スタイル 'gp arrow 7' に割り当てられ、他に与え られた値はすべて無視されます。デフォルトでは、TikZ 出力形式はすべての 矢に対してステルス形の矢先を使用します。デフォルトの gnuplot のように するには、オプション 'gparrows' を使用してください。

'cmykimages' では、インライン画像データに対して RGB カラーモデルの代わ りに CMYK モデルを使用しますが、他のすべての色 (線の色など) は、それら が、例えば xcolors パッケージで処理されるので、このオプションの影響を受 けません。このオプションは、画像がインライン画像でなく外部データである 場合は無視されます。

オプション 'externalimages' を使用すると、すべてのビットマップ画像を外 部の PNG 画像として書き出し、それらが文書のコンパイル時に読み込まれるよ うになります。DVI ファイル、およびその後の PostScript ファイルを生成す るには、PNG ファイルを EPS ファイルに、別に変換する必要があります。これ は例えば ImageMagick の convert で行えます。透明化ビットマップ画像は 常に外部 PNG 画像として生成します。

オプション 'nobitmap' は、ネイティブの PS, PDF インライン画像形式の代 わりに、画像を塗り潰された長方形としてレンダリングします。このオプショ ンは、画像がインライン画像でなく外部データである場合は無視されます。

オプション 'providevars' は、gnuplot の内部変数、ユーザ変数を、TeX ス クリプト内でもコマンド ' \gpgetvar{<var name>}' を使用することで利用可 能にさせます。利用できる変数の一覧を見るには、'show variables all' コ マンドを使用してください。

文字列 <fontdesc> には、例えば ' \small' のような TeX/LaTeX/ConTeXt で 有効なフォントコマンドを入れることもでき、それは、"font=<fontdesc>" の形式のノードパラメータとして直接渡されます。これは、あるノードにコー ドを追加するのに「わざと間違えて」使えます。例えば ' \small,yshift=1ex' も有効ですが、',yshift=1ex' も有効で、こちらは現在のフォント設定を変更 しません。しかしリストの第 2 引数は例外です。それが <数値>{単位} の形式 の数値の場合、それは他の出力形式でそうであるようにフォントサイズと解釈 され、第 1 引数に追加されてしまいます。単位が省略された値は 'pt' 単位と 解釈されます。例えば、' \sffamily,12,fill=red' は、背景色が赤で 12pt の LaTeX sans serif フォントを設定します。 同じことが ConTeXt にも言えます。例えば、' \switchtobodyfont[iwona],10' はフォントを 10pt サイズの Iwona に変更します。 Plain TeX ユーザは、フォントサイズの変更は最初の引数で明示的に行わなけ ればいけません。テキストボックスの縮尺を正しく取得するよう、2 つ目も同 じ値に設定すべきです。

文字列は単一、あるいは二重引用符内に入れる必要があります。二重引用符で くくられた文字列には、改行の ' \n' などの特別な文字を入れることができ ます。

竹野茂治@新潟工科大学
2019-01-08