今回は図の挿入、つまり画像ファイルを文書に埋め込む方法を扱います。

ベクターイメージとラスターイメージ

画像ファイルは大まかに分けて2種類あります。それが、ベクターイメージとラスターイメージです。詳しい説明はWikipediaで分かりやすくまとまっているので、そちらを見てください。

ベクターイメージ – Wikipedia
http://ja.wikipedia.org/wiki/ベクターイメージ

簡単に言うと、拡大しても画像が劣化しないのがベクターイメージです。例えばpdfファイルは画像ファイルではないですがベクター形式なので、正式な手順で作られたものはいくら拡大しても文字が潰れません。

ベクターイメージを作成できるソフトウェアでは、AdobeのIllustratorなどが有名ですね。フリーソフトだと、Inkscapeがメジャーなようです。

Inkscape
http://www.inkscape.org/index.php?lang=jp

LaTeXに対応する画像形式

LaTeXで画像を埋め込むときに最も親和性が高いのは、eps画像です。これはベクターイメージで、IllustratorInkscapeで作れます。

もちろん、普通のjpg画像やpng画像を挿入することも出来ます。実験器具から画像データが出力される場合などはこちらの方が便利ですね。

ここで、LaTeXによる画像の扱い方を見てみましょう。LaTeXではコンパイルしたときに出来るdviファイルは、device-independent(デバイスに依存しない)の略です。実は、LaTeXでコンパイルが成功したからといってdviファイルがうまく表示出来るかどうかはわかない ということに注意が必要です。dvioutやdvipdfmxが画像形式に対応していないと、表示出来なかったりpdfに埋め込めなかったりします。つまり、dviファイルを表示・変換するソフトウェアの方が扱いたい画像形式に対応しているか も大事なのです。

ちなみに、dvioutはデフォルトでepsを、プラグインを導入すればjpgやpng、tiff形式の画像を表示することが出来ます。dvipdfmxコマンドはepsやpng,jpg,pdfといった形式に対応しています。

レポートを書く程度だったら、おそらくjpgやpng画像で埋め込むのが一番楽です。ちょっとこだわってベクターイメージを入れたいのなら、eps画像を使うのも良いでしょう。gnuplotなどのグラフ作成ソフトではeps形式で画像を出力できるものもあります。

dvioutのプラグインの導入の仕方は以下が参考になります。

Windows95/98/Me/NT/2000/XP におけるdviout のインストール
http://akagi.ms.u-tokyo.ac.jp/tex_dvioutw.html

Windows Vista,Windows 7でも同様の方法で導入可能です。

下準備

実際に画像を挿入してコンパイルする前に、ひとつ下準備が必要です。画像のboundingbox というものを設定しなければいけません。これは、画像ファイルのサイズのようなものだと思って下さい。通常は画象ファイルごとにbbファイルに保存されます。

まずはtexファイルと同じフォルダに画像ファイルを入れます。例えばfig1.pngというファイルだったとしましょう。そして、コマンドプロンプトから

ebb fig1.png

というコマンドを実行してください。そうすると、fig1.bbというファイルが出来ているはずです。これに、fig1.pngのboundingboxが記述されます。この作業は、eps画像の場合には必要がない場合があります。

埋め込み

では、実際に書いていきましょう。どのフォーマットの画像を挿入するにしても、graphicxパッケージが必要です。レポートを書くのであればpdfにして印刷・保存する人が殆どだと思われるので、dvipdfmオプションも付けておきましょう。(dvipdfmxではない)

\usepackeag[dvipdfm]{graphicx}

そして、画像を挿入したい場所で \includegraphics命令 を使います。

\includegraphics[width=8cm]{fig1.png}

このとき、オプションで横幅を指定できます。縦幅は画像の比率に従って適当な長さになります。元画像の比率を変えてもかまわないという人は、縦の幅も変えることが出来ます。その場合は、カンマで区切って指定してください。

\includegraphics[width=8cm,height=8cm]{fig1.png}

画像にキャプションを入れたり図番号を付けたりしたい場合には、figure環境 に入れます。

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=8cm]{fig1.png}
\end{center}
\caption{サンプル画像}
\label{fig:サンプル}
\end{figure}

位置オプションや、caption、labelの付け方は表と同じです。


ためしに、画像を挿入したpdfを作ってみたのでコードの例と照らし合わせて参考にしてみてください。左のような画像をeps形式で埋め込みました。アップロードしておくので、興味のある人はダウンロードして使ってみて下さい.
texファイル+画象ファイル(eps)

\documentclass[a4j,11pt]{jsarticle}
% amsfontsは下の方で使うmathbbに必要なパッケージ
\usepackage{amsmath,amsfonts}
\usepackage{graphicx}
% タイトル設定する
\title{mandelbrot集合の紹介}
\date{}
% ページ番号を出さない
\pagestyle{empty}
% topmarginを削る
\setlength{\topmargin}{-2cm}
\begin{document}
% タイトルを表示するコマンド
\maketitle
% 空白の調整 \vspaceは縦方向の余白、\hspaceは横方向の余白を調整できる
\vspace{-1cm}
% mathbbは白抜きの文字を描くための命令
以下のように定義される複素数列 $z_n$ を考える.ただし, $c \in \mathbb{C}$ である.
\begin{align*}
z_{n+1} &= z_n^2 + c \\
z_0 &= 0
\end{align*}
これが $n \rightarrow \infty$で発散しないという条件を満たす複素数 $c$ 全体が作る集合をmandelbrot集合と言う.

この集合を複素平面上に描画すると,フラクタル図形になることが知られており, CGアートではその黎明期から題材になってきた.今回はgnuplotを利用して3次元図形として描画させてみたものを図 \ref{mandelbrot集合} に示す.

mandelbrot集合は,色を付けて描写すると大変美しい図形が出来るので、リアルタイムで描画してくれるフリーソフトも多い.一度試してみると良いだろう.
% 今回は貼り付ける画像の大きさを見て、bottomに配置することにした.
\begin{figure}[b]
% width を \textwidth にすることで、横の長さを文書領域目一杯に設定する
\includegraphics[width=\textwidth]{mandelbrot.eps}
\caption{mandelbrot集合のgnuplotによる描画例}
\label{mandelbrot集合}
\end{figure}
\end{document}

ベクターイメージであるeps画像を挿入したので、拡大しても画像が劣化しないことを確認してください.

知らない命令もあるかと思いますが、コメントで解説を入れておきました. 興味のある人は、ぐぐってください。


これで一連のLaTeX入門シリーズは終わりです。是非LaTeXを身につけて常用するようになってください。

,
Trackback

only 1 comment untill now

  1. モンブラン ボールペン スターウォーカー

    その間違いなく 良いの面でYouTubeのビデオ品質、本当に 気難しい、その品質は真にかなりの 大学学部生のためのLaTeXによるレポート作成入門 その8 図の挿入 | inashiro’s blog 。

Add your comment now

You must be logged in to post a comment.