今回の演習では gnuplot でグラフを作成して LaTeX での文書作成にそれを取り込みます。 それを印刷して時間内に提出してもらいます。
gnuplot (前回の復習) は関数のグラフや、データ点のプロットなどのできる
アプリケーションでした。最初の gnuplot の演習では、単に画面に出力しただけでしたが、
これを別に作った文書などに組み込むことができれば、グラフ入りの文書を作ることができて
いっそう有用です。
画像のデータを他のアプリケーションで利用可能な形式にするために、 gnuplot
の画像出力を eps
(Encapsulated Post Script)形式のファイルとして出力することが必要になります。
gnuplot の準備運動
少し思い出すために、gnuplot で sin(x) と x-x3/6 のグラフを書きましょう
% gnuplot gnuplot> plot [-pi:pi] sin(x),x-x*x*x/6
座標軸を表示させてみましょう。
gnuplot> set zeroaxis gnuplot> replot
(set は一般に、gnuplot に対して、さまざまな動作モードを変更するときに用います。)
gnuplotで eps 形式のファイルを作る方法
gnuplot> set term postscript eps 22 ・・・画像データの出力形式を eps に変更
で gnuplot の出力形式が postscript eps 形式に変更されます(最後の 22 は文字サイズを 22 にするということです。)。
以降、グラフは「絵」としては出力されず eps 形式データ(文字によって絵を表す形式の一つ)として出力されます。
つづいて
gnuplot> set output "taylor.eps" ・・・画像データの出力先をファイル taylor.eps に変更
で出力結果をファイル taylor.eps に出力するようになります。
これ以降画像データは画面に出力されないで、代わりにファイル taylor.eps として作成されます。
つづいて plotコマンドを用いてグラフを描きましょう。
gnuplot> plot [-pi:pi] sin(x),x,x-x*x*x/6,x-x*x*x/6+x*x*x*x*x/120
これで4つの関数のグラフを描きましたが、それはファイル taylor.eps に eps 形式で出力されています(画面には出力されません)。
gnuplot を quit で終了します。
gnuplot> quit %
ls コマンドを実行してみれば、新たに taylor.eps が作成されているのが確認できるはずです
出力された EPS ファイルの内容は gv コマンドで確認できます(gv は ps, eps 形式のファイルを画面に出力するアプリケーションです)。
% gv taylor.eps ・・・ファイル taylor.eps の内容を画像として表示
上の操作どおりできていれば、4つの関数のグラフが描けているはずです
下の LaTeX ファイルは、先ほど作成したグラフを LaTeX 文章の中に取り込んだ文章の例です。
各自入力しましょう。ただし、著者名 学生番号とあるところは、各自の名前、学生番号をタイプすること。
ファイル名は taylor.tex としましょう。
\documentclass[12pt]{jsarticle} \usepackage{amsmath,amssymb} \usepackage{graphicx} \begin{document} \title{テーラー展開} \author{著者名 学生番号} \maketitle 関数$f(x)$ を$x$のベキ関数で展開すると以下のようになる。 \begin{equation} f(x) = f(x_0) + \frac{d f}{dx}(x_0) (x-x_0) + \frac{1}{2!} \frac{d^2 f}{dx^2}(x_0) (x-x_0)^2 + \frac{1}{3!} \frac{d^3 f}{dx^3}(x_0) (x-x_0)^3 + \cdots \end{equation} 例えば、 $\sin(x)$ を $x=0$ の周りで展開すると \begin{equation} \sin(x) = x - \frac{1}{3!}x^3 + \frac{1}{5!}x^5 + \cdots \end{equation} となる。 図\ref{fig:taylor}は、$\sin(x)$に関するテイラー展開の様子を表したものである。 \begin{figure}[hb] \centering \includegraphics[width=8cm]{taylor.eps} \caption{関数 $\sin(x)$ とその$1$次、$3$次、$5$次までの taylor 展開のグラフ} \label{fig:taylor} \end{figure} 展開式の次数が増えるにしたがって、$\sin(x)$ への近似が良くなっていることがわかる。 \end{document}
上のファイルを保存したあと、 platex でコンパイルし xdvi によって閲覧してみてください。
% platex taylor.tex % xdvi taylor.dvi
gnuplot で作成した図が組み込まれて出力されていると思います。ですが出力をじっくり読んでみると、??となっているところがあると思います。
これは図番号の参照がうまくいっていないことを表しています。
もう一度 platex でコンパイルしてください。参照番号がちゃんと更新されるはずです。
プリンタへの出力
ps ファイルを作成します。
% dvips taylor.dvi % lp taylor.ps
(おまけ)PDFファイルとして作成するには、
% dvipdfmx taylor.dvi
\documentclass[12pt]{jsarticle}
フォントサイズ 12、スタイル jsarticle を用いることの指定。
\usepackage{amsmath,amssymb} \usepackage{graphicx}
追加パッケージ(追加機能)を読み込む。amsmath,amssymb は数学記号処理のパッケージ、 graphicx はグラフィック(図)を使うためのパッケージです。
\title{テーラー展開} \author{著者名 学生番号} \maketitle
論文タイトルと著者を指定して、\maketitle で表題を作成します。
\begin{figure}[hb] \centering \includegraphics[width=8cm]{taylor.eps} \caption{関数 $\sin(x)$ とその$1$次、$3$次、$5$次までの taylor 展開のグラフ} \label{fig:taylor} \end{figure}
図を挿入します。
\begin{figure}~\end{figure}で、図を描くスペースを確保し、
\includegraphics[width=8cm]{taylor.eps}で、taylor.epsを組み込み、
\caption で、図の説明を書き、
\label{fig:taylor}で、図番号を fig:taylorという名前で参照できるようにする。図番号を参照するには:
\ref{fig:taylor}
のようにすれば、fig:taylorが参照する番号を表示する。