gnuplotで日本語をラベルに使う (cairolatex terminalを使う)

2017年8月18日

gnuplotで日本語を使うためにterminalにcairolatexを使うメモです。(2016-12-05にタイトルを変更しました。)

cairolatexは、グラフの出力をlatex形式にして、それをlatexで処理して最終的にpdf等にするterminalです。グラフそのものはpdfファイルになっていて、テキストをlatexのpicuture環境で処理するものです。

gnuplot.cfg

下記のようなgnuplot.cfgをlatexが見つけられる場所に置きます。私のLinuxマシンの場合は~/texmf/tex/latex/gnuplotに置きました。

% LaTeX configuration file for usage with gnuplot-generated LaTeX files
% (epslatex terminal with standalone option).
% Here, used by epslatex.dem.
%% A configuration file for the epslatex terminal by Harald Harders.
%% This file is part of Gnuplot.
%%
\usepackage[T1]{fontenc}
\usepackage{exscale}
\usepackage[scaled]{helvet}
\usepackage{sfmath}
\renewcommand{\kanjifamilydefault}{\gtdefault}
\renewcommand{\familydefault}{\sfdefault}
\endinput
%%
%% End of file `gnuplot.cfg'.

gpファイル

下のようなgpファイルを使っています。 残念ながら、いくつか問題がありますので。出力されたlatexファイルを編集する必要があります:

  • gpファイルに日本語を入れても文字化けしてしまいます。最初はasciiで入れて、latexファイルの方を編集します。
  • 出力されたlatexファイルには\usepackage{graphicx}が行がありますが、platex + dvipdfmxでは上手く処理できません。\usepackage[dvipdfmx]{graphicx}に修正します。
  • includeするpdfファイルは拡張子が付いていません。\includegraphics{hoge-inc}ではplatexは処理できないようです( LaTeX入門/図表 によれば、拡張子がなくても処理できるとありますが、理由は分かりません…。) 拡張子を追加します。
unset grid
set terminal cairolatex pdf standalone color font "phv,m,n" 

set output "cairolatex-sample.tex"

set xlabel 'x label' font "phv,m,n" offset 0,-0.5
set ylabel 'y label' font "phv,m,n" offset -3,0
set size ratio 0.8
set tics font "phv,m,n"
set xrange [0:3.2]
set yrange [-1.5:1.5]
set xtics 0.5
set key right bottom
set key invert
set pointsize 0.5

set style data  point

plot sin(x) title "sine curve" with  lines lc rgb "blue" lt 1 lw 2

unset output

gnuplotソースの修正

毎回上記の\usepackage{graphicx}の修正するのは面倒なので、ソースを修正しました。修正するのはpslatex.trmです。

gnuplot

Posted by Gordius