おもこん

おもこんは「思いつくままにコンピュターの話し」の省略形です

Vine Linux の gnuplot を Latex に応用する

Vine Linux の gnuplot を Latex に応用する

どのような方法があるか

gnuplot で図を作り、LaTeXに埋め込む方法をいろいろ研究してみました。
 1. epslatex で出力して、LaTeX のソースで取り込む。
 2. eepic で出力して、LaTeX のソースで取り込む。
 3. 画像(jpeg, png, eps)で出力して、LaTeX のソースで取り込む。
この他にも、Tgif, Pstricks, pslatex, svg などの出力をLaTeXに結びつけることができるようです。しかし、それらすべてを検証する時間はありませんでした。先ほどの3つの方法のどれが一番良いかというと、私は1番の epslatex で出力する方法を挙げたいと思います。

epslatex の出力を LaTeX に結びつけるにはどうしたらよいか

まず、gnuplot のコマンドをテキストファイルにしておきます。次のようなサンプルを「sample.gnu」という名前のテキストファイルで保存します。以下のファイルの詳細は省きます。gnuplot のマニュアルを参考にしてください。
#
# gnuplot のサンプル
#

set terminal epslatex
set output "sample.tex"

#外側の座標軸は表示しない
unset border
unset tics

#x軸、y軸、原点
set arrow 1 from -1,0 to 4,0 linestyle -1
set arrow 2 from 0,-1 to 0,20 linestyle -1
set label 1 "$x$" at 3.7,-1
set label 2 "$y$" at -0.3,19
set label 3 "O" at -0.2,-1

#y切片
set label 4 "4" at -0.2,4

#極小値(x軸上)
set label 5 "2" at 2,-1

#出力の縦横比
set size ratio 0.7

#3次関数をプロット
f(x)=x>0 ? x**3-3*x**2+4 : 1/0
plot [-1:4] [-1:20] f(x) notitle

#ファイルのクローズ
set output
端末から、gnuplot を立ち上げ、
gnuplot > load "sample.gnu"
と入力すると、「sample.tex」というLaTeXのソースファイルと、「sample.eps」という画像のepsファイルが出力されます。epslatexの出力では、文字と画像が分かれて、それぞれ tex ファイルと eps ファイルに書き込まれます。そこで、文字の部分には、LaTeX の数式などを書き込むことができます。
次に、このファイルを取り込む LaTeX のソースファイル「main.tex」を作ります。
\documentclass[papersize,a4paper,fleqn]{jsarticle}
\usepackage[dvips]{graphicx}
\pagestyle{empty}

\begin{document}

\begin{center}
 \Large\textbf{関数グラフのサンプル}
\end{center}

関数$y=x^3-3x^2+4\quad (x>0)$のグラフ

\begin{center}
\input{sample.tex}
\end{center}

\end{document}
14行目の「\input{sample.tex}」で tex ファイルを取り込んでいます。また、eps 画像は、sample.tex の中で「\includegraphics」で取り込まれています。そのため、main.tex のプリアンブル部で、graphicx パッケージを取り込むことを忘れないようにしなければなりません。
次に、このLaTeXのファイルをコンパイルして、文書にします。最近は PDF ファイルにするのが一般的になってきています。そこで、ここでも PDF にしますが、dvipdfmx は、eps 画像を扱えませんので、一旦 pdvips で ps ファイルにして、その後 ps2pdf (あるいは、adobe Distillerなど)のソフトで PDF にします。一連の操作をスクリプトにした、「psplatex」を作りました。
#!/bin/bash
eplatex -kanji=utf8 $1 || exit 1
pdvips $1 || exit 1
ps2pdf $1.ps || exit1
これで一気にコンパイルできます。また、これを Texworks のタイプセットに登録しておくと便利です。
最後に、できあがった PDF ファイルのスクリーンショットを示します。
イメージ 1