gnuplotでグラフをpdfで作成したい。直接pdfに出力できるが、LaTeX(TikZ環境)を介した方法があったのでメモ。
環境:Mac, texlive 2016.
gnuplotの出力切り替え
gnuplotを起動して、set terminal (または set term)と打つと、出力先の一覧が出る。
set terminal ◯◯ で切り替えられる。
例えばこんな感じ:
gnuplot > set terminal pdf gnuplot > set output "graph.pdf" gnuplot > plot sin(x)
TikZ形式で出力
直接pdfを作るのではなく、LaTeX (TikZ環境)を経由することでより美しいグラフのpdfを作ることにする。
出力先をtikzにしてプロットすると、tikz環境の形式でtexファイルが出力される。
gnuplot > set terminal tikz gnuplot > set output "graph.tex" gnuplot > plot sin(x)
gnuplot-lua-tikz.sty の生成
これでできたtexファイルを読み込んでタイプセットすればpdfが作られるのだが、それにはスタイルファイル gnuplot-lua-tikz.sty が必要。インストールしたgnuplotのパッケージ内にも存在すると思うが、探すのが面倒なので然るべき場所に新しく生成することにする。
ターミナルで
texlive/texmx-local/tex/latex/gnuplot
gnuplotを起動して、以下のコマンドを入力。
gnuplot > set terminal tikz createstyle
すると以下の4つのファイル
が生成されるはず。
最後にターミナルから sudo mktexlsr を実行してls-Rファイルを更新。(多分 sudo 必要)
タイプセット
あとはgnuplotで出力したgraph.texを以下のようなtexファイルで読み込み、タイプセットすればpdfが生成される。
\documentclass[dvipdfmx]{standalone} \usepackage{gnuplot-lua-tikz} \usepackage{tikz} \begin{document} \input{graph.tex} \end{document}
参考