Takatani Note

【LaTeX】図・画像の挿入

この記事では、図・画像の挿入方法について解説します。

図・画像の挿入

LaTeXでグラフィックを扱うためには、プリアンブルで次のようにgraphicxパッケージを読み込みます。

\usepackage[dvipdfmx]{graphicx}

※graphicxの綴りに注意してください。昔graphicsというパッケージがあったのですが、それが拡張(extend)されて、名前の最後がxになりました。

本文中では\includegraphicsコマンドを使って図を挿入します。

\includegraphics[オプション]{ファイル名}

\includegraphicsコマンドのオプションには[height=5cm][width=30mm][height=25mm, width=30mm]、ファイル名には「gazo.eps」「picture.jpg」などが入ります。

オプション説明
height画像の高さ [height=5cm]
高さ 5cmに指定
width画像の幅 [width=30mm]
幅 30mmに指定
scale画像のスケール [scale=0.6]
標準サイズの0.6倍
angle画像の角度 [anble=60]
画像を60°回転

\includegraphicsの詳細

たとえば、sphere.pngという画像ファイルを文書ファイルと同じフォルダに置いてから次のように入力します。

例:
\documentclass[12pt]{jsarticle}
\usepackage[dvipdfmx]{graphicx}

\begin{document}

\includegraphics[width=3cm]{sphere.png}

\end{document}

このようにsphere.pngという画像を3cm幅で取り込んでその場所に出力します。

画像は一つの大きな文字として扱われますので、必要に応じてcenter環境などに入れておきます。

画像ファイルの配置場所

画像ファイルは通常は文書ファイルと同じフォルダに置いておきますが、例えばサブフォルダsub1,sub2の中の図も探させたい場合は、プリアンブルに

\graphicspath{{sub1/}{sub2/}}

と書いておきます。そのほか、LaTeXの入力ファイルを見つけられるところなら、どこに図を置いてもかまいません。

次のようにパスを指定することもできます。

\includegraphics[width=5cm]{C:/pictures/flowers.jpg}

図の配置場所を指定 figure環境

図を配置場所を指定するにはfigure環境を使います。

構文:
\begin{figure}[位置]
\includepraphic[オプション]{ファイル名}
\end{figure}

位置には[h] [ht] [htbp]などを指定します:

図にキャプションをつける

図にキャプション(説明・見出しなど)をつける場合は、\captionコマンドを使います。

構文:
\begin{figure}[位置]
\includepraphic[オプション]{ファイル名}
\caption{キャプション名}
\end{figure}

左右に並べる配置 minipage環境

独立な図を左右に並べるには, 次のようにminipage環境を使うのが簡単です。

例:
\begin{figure}
  \centering
  \begin{minipage}{0.4\columnwidth}
     \centering
     \includegraphics[width=\columnwidth]{fig1.jpg}
     \caption{左の図}
     \label{fig:hidari}
  \end{minipage}
%
  \begin{minipage}{0.4\columnwidth}
     \centering
     \includegraphics[width=\columnwidth]{fig2.jpg}
     \caption{右の図}
     \label{fig:migi}
  \end{minipage}
\end{figure}
画像 fig1.jpg 画像 fig2.jpg
図1   左の図 図2   右の図

図の回り込み wrapfigure環境

図や表のまわりに文章を回りこませるためのパッケージはいくつかありますが、ここではwrapfigパッケージについて説明します。まず、プリアンブルに次のコマンドを入力します。

\usepackage[dvipdfmx]{graphicx}
\usepackage{wrapfig}

※floatパッケージと併用する場合は、floatの後にwrapfigを読み込んでください。

図を配置するのにwrapfigure環境を用います。この環境の書式は以下のとおりです。

構文:
\begin{wrapfigure}[行数]{lまたはr}{幅}
    ~
\end{wrapfigure}

※表の場合はwrapfigure環境の代わりにwraptable環境が用意されています。

lで左、r右に図が配置されます。

例:
\begin{wrapfigure}{r}{2cm}
\includegraphics[width=2cm]{sphere.png}
\end{wrapfigure}

AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA  
BBB BBB BBB BBB BBB BBB BBB BBB BBB BBB  
CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC  
DDD DDD DDD DDD DDD DDD DDD DDD DDD DDD  
EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE 

AAA AAA AAA AAA AAA AAA AAA AAA AAA AAA BBB BBB BBB BBB BBB BBB BBB BBB BBB BBB CCC CCC CCC CCC CCC CCC CCC CCC CCC CCC DDD DDD DDD DDD DDD DDD DDD DDD DDD DDD EEE EEE EEE EEE EEE EEE EEE EEE EEE EEE

このように右に画像が出て、文章が回りこみます。 行数は指定しなくとも自動で計算してくれます。 文章と図との水平距離は\columnsep(段組のときの段間のアキ)と同じになります。 jsarticle, jsbookでは段間のアキは全角の整数倍になっていますので、図の幅も全角の整数倍にしておくほうが本文の余計な伸び縮みが起きないでよいでしょう。

また、垂直方向には\intextsep(図と本文の垂直方向のアキ、標準では12pt $\pm$ 2pt)だけアキが入りますので、段落の切れ目に置いた場合、先ほどの例のように\intextsepだけ戻るとほぼ段落の上端と一致します。

回り込みの位置でちょうどページが分割されたときはうまくいきません。また、箇条書きなどの環境と重なるとうまくいきません。