この記事では、図・画像の挿入方法について解説します。
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環境を使います。
\begin{figure}[位置]
\includepraphic[オプション]{ファイル名}
\end{figure}
位置には[h] [ht] [htbp]などを指定します:
図にキャプション(説明・見出しなど)をつける場合は、\caption
コマンドを使います。
\begin{figure}[位置]
\includepraphic[オプション]{ファイル名}
\caption{キャプション名}
\end{figure}
独立な図を左右に並べるには, 次のように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 右の図 |
図や表のまわりに文章を回りこませるためのパッケージはいくつかありますが、ここでは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
だけ戻るとほぼ段落の上端と一致します。
回り込みの位置でちょうどページが分割されたときはうまくいきません。また、箇条書きなどの環境と重なるとうまくいきません。