[[LaTeX入門]] /
[[最初の例>LaTeX入門/最初の例]] /
[[簡単な数式 (1)>LaTeX入門/簡単な数式(1)]] /
[[簡単な数式 (2)>LaTeX入門/簡単な数式(2)]] /
[[各種パッケージの利用>LaTeX入門/各種パッケージの利用]] /
[[レポート>LaTeX入門/レポート]] /
[[HTML と LaTeX の比較>LaTeX入門/HTMLとLaTeXの比較]] /
[[複雑な数式>LaTeX入門/複雑な数式]] /
図表 /
[[文献引用]] /
[[索引作成]] /
[[LaTeX マクロの作成>LaTeX入門/LaTeXマクロの作成]] /
[[スライドの作り方(jsarticle 編)>LaTeX入門/スライドの作り方(jsarticle編)]] /
[[応用的な使い方>LaTeX入門/応用的な使い方]]

----


* 図表 [#y0bb1fde]

LaTeX における図表の取り扱いにはワードプロセッサなどの文書作成ツールと異なる特徴があり,注意が必要です。
ここでは,実習をとおして LaTeX における図表の扱い方を理解していきましょう。

#contents

** 簡単な例 [#m13909a4]

まずは簡単な実習として,PNG 形式の図を挿入してみましょう。

例えば [[apple.png:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.png]] (426x496)
を挿入するには次のようにします。

 \documentclass{jsarticle}
 \usepackage[dvipdfmx]{graphicx}
 \begin{document}
 
 まだあげ初めし前髮の/林檎のもとに見えしとき/前にさしたる花櫛の/花ある君と思ひけり
 
 \includegraphics[width=5cm]{apple.png}
 
 \end{document}

** 解説 [#o46fb7de]

図を入れるには,まずプリアンブル (\documentclass と \begin{document} に囲まれた部分) に

 \usepackage[dvipdfmx]{graphicx}

を付け加え,図を入れたい箇所に

 \includegraphics[width=幅]{ファイル名}

を挿入します。
TeX ファイルを保存し,[[ptex2pdf]] コマンドなどで処理して PDF にします。
図のファイルも文書ファイルと同じところに保存しておかなければなりません。

** 中央揃え [#mdc5ba95]

このままでは図は文字と同じように左から全角1文字下がったところに入ります。
図を中央揃えしたい場合は,

 \begin{center}
   \includegraphics[width=5cm]{apple.png}
 \end{center}

のようにします。すぐ下に文字を入れる場合は

 \begin{center}
   \includegraphics[width=5cm]{apple.png} \\
   林檎の図
 \end{center}

のようにします。

上の例は PNG 形式の図を挿入しましたが,JPEG 形式や PDF 形式の図も同じようにして挿入できます。
PDF 形式の図を挿入する際には,図の作成の際に余白が入らないように注意する必要があります。
PDF ファイルの余白は TeX Live, W32TeX に収録されている [[pdfcrop]] で削除できます。

** 論文やレポートの場合 [#k8cca142]

実際の論文やレポートでは,図にキャプションや図番号を入れるために,次のようにします。

 \begin{figure}
   \centering
   \includegraphics[width=5cm]{apple.png}
   \caption{林檎の図}
 \end{figure}

なお,上の \begin{figure} 〜 \end{figure} の中の \centering の代わりに \begin{center} 〜  \end{center} で囲む方法でも同様の効果が得られます.
その場合にはいくらかの間隔が自動的に挿入されますが,これを余分と判断なさる方は \centering の方を使ってください.
なお,上の \begin{figure} 〜 \end{figure} の中の \centering の代わりに \begin{center} 〜  \end{center} で囲む方法でも同様の効果が得られます。
その場合にはいくらかの間隔が自動的に挿入されますが,これを余分と判断なさる方は \centering の方を使ってください。

-参考意見:[[center vs. \centering:http://texblog.net/latex-archive/uncategorized/center-centering/]]

ただし,論文中の図の位置はコンピュータが決めますので,必ずしもこのように書いた位置に入るとは限りません。
// もっとも,キャプションをつけ,かつ,図表にはその番号で言及するのであれば,
// “その場”配置にこだわる必要はありません。
これが嫌なときは,プリアンブルで

 \usepackage{float}

と宣言しておき,図を入れるところでは

 \begin{figure}[H]

のように大文字の [H] を付けておきます。

// float マクロを読み込まなくても,[h] のかわりに [!h] を使うと,より
// here に近い位置に埋め込もうとします?
// float の配置に ! 指定を行った場合には,\textfraction 等の
// float 配置パラメータを無視して単に float を収める余地があるか否かしか
// チェックしません(したがって,! と h を併用した場合には,概ね“その場”
// 配置となります)。ただし,\intextsep(h 配置の float とその前後の本文との
// 間の空白の大きさ)は考慮されますので,float の大きさが微妙な場合には
// やはり次ページ送りになることもあります。
// もっとも,!h 指定の場合は,現在のページにその float を収める余地がない
// 場合には自動的に !ht 指定として扱う(つまり,現在のページの残りは
// テキストで埋めて,float は次ページの上部に置く)ので(その旨の警告も
// 現れます),float パッケージでの H 指定よりも都合がよいことも多いでしょう。


* 図表の取り扱いの概要 [#qa85d325]

LaTeX では文書中に図表を配置することができます。
一口に“図表"といってもその内容や形式はさまざまです。
たとえば

-グラフ・写真・イラスト等々を画像ファイルにしたもの
-罫線とデータを並べた表を LaTeX で直接記述したもの
-同じく表であっても他のソフトウェアなどを利用して画像ファイルとしたもの

などがありますが,LaTeX では文書に挿入する図表の中身やファイル形式などは設定しだいでさまざまなものに対応できます。

LaTeX としては,''その図表を版面(紙面)に配置するためにどれくらいの幅と高さを確保するか''だけを問題としています。
LaTeX は

-その図表がどんなファイル形式か
-その図表が実際に視覚的なデザインとしての図であるのか,罫線や言語的な要素で作られた表であるのか

などには頓着しません。
ファイル形式などが問題となるのは,LaTeX で処理した組版結果を実際に表示したり印刷したりするソフトウェアにおいてです。
LaTeX における画像の扱いについてはこのページのほかにも

-[http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1326 inclusion of images and dvipdfmx]
-[[TeX と「TeX 以外」]]
-[http://qiita.com/zr_tex8r/items/5413a29d5276acac3771 日本人のための LaTeX タブー集 ~画像読込編~ - Qiita [キータ]]
-[http://qiita.com/zr_tex8r/items/089b56291588f7b05b02 LaTeX+dvipdfmx でEPS画像がずれる場合の対策 - Qiita [キータ]]
-[http://qiita.com/zr_tex8r/items/442b75b452b11bee8049 LaTeX: graphicx と color の危険な関係 - Qiita]
-[http://d.hatena.ne.jp/zrbabbler/20140121/1390313675 dvipdfmx での EPS 画像挿入が最近アレな話]
-[https://gist.github.com/zr-tex8r/defe33d8bbee8af447ad LaTeX: to create xbb files (for use with dvipdfmx) only using pdfLaTeX]
-[https://gist.github.com/zr-tex8r/2920ecc94a5c478aafb6 LaTeX: What kind of bounding boxes do dvipdfmx use in including PDF image files?]

などに解説があります。


* 図の配置 [#i209eceb]

さて LaTeX で文書中に図表を配置するには,いろいろな状況があります。
+ 文書中の,まさにその位置に配置したい
+ 図表番号とキャプションをつけた上で,文書中のまさにその位置に配置したい
+ 図表番号とキャプションが付いていればよく,配置場所はどこでもよい

** 1. 文書中の,まさにその位置に配置したい場合 [#b09fae11]

図表を配置したい場所で \includegraphics 命令を使用します。

 ---- ソースファイル例 ----
 ここで次の図を見てください。
 \includegraphics{図のファイル.png}
 図で赤く示されているのが…

実際にこれで図を取り込むには図のファイル形式に応じた適切な設定が必要となります。
このページの後のほうの説明を参照してください。
画像ファイルを用いるのではなく,図や表を直接 LaTeX で記述するには,picture 環境や tabular 環境を利用します。
picture 環境は簡単な図形を描画できますし,tabular 環境は表を作成できます。

 ---- ソースファイル例 ----
 ここで次の図を見てください。
 \begin{picture}
  ... 描画命令など
 \end{picture}
 図で赤く示されているのが...

 ---- ソースファイル例 ----
 ここで次の表を見てください。
 \begin{tabular}{|r||c|l}
  ... 表の要素など
 \end{tabular}
 図で赤く示されているのが...

** 2. 図表番号とキャプションをつけた上で,文書中のまさにその位置に配置したい [#y7adf341]

LaTeX はデフォルトでは対応していません。
これをしたい場合はちょっとしたテクニックが必要です。→ [[TeX フォーラム:http://oku.edu.mie-u.ac.jp/tex/]]などで検索してみてください。

// ポスタークラスでは,figure が再定義されて,2番目の状況になっていると思います。

** 3. 図表番号とキャプションが付いていればよく,配置場所はどこでもよい [#n82e2ad9]

figure 環境や table 環境を利用します。
'''キャプションを“図**”としたければ figure 環境を,“表**”としたければ table 環境を使います'''。
LaTeX は,環境の中身が実際に図なのか表なのかは判断しません。

 ---- ソースファイル例 ----
 \begin{figure}
   \includegraphics{図のファイル.png}
   \caption{度数分布図}
   \label{figA}
 \end{figure}
 ここで図\ref{figA}を見てください。
 図で赤く示されているのが…

figure 環境で図に番号が自動的に付けられて,キャプションと一緒に「図3:度数分布図」のように図に添えられます。
この図番号は \label と \ref を用いて参照されて,本文中で「ここで図3を見てください」のようになるわけです。
番号が付いていますので,図そのものは紙面のどこに配置されても(次のページに飛んでいってしまっても)本文の意味は通ります。
LaTeX は,改段落や改ページの具合を見ながら適切な位置を選んで配置します。
figure 環境の中で図を取り込んでいる部分については1番目の状況と同じです。

表組みを画像ファイルとして用意したものを取り込みたい場合は,図の取り込みと同様に \includegraphics 命令を使います。
ただキャプションを“表**”とするために figure 環境に代えて table 環境を使用すればよいわけです。
画像ファイルとしてではなく,直接 LaTeX で表を記述する場合は,table 環境の中で tabular 環境を用いればよいでしょう。


* 図のファイル形式に応じた記述法・設定法 [#o967961d]

図の作り方については [[PDFの作り方#図の描き方>PDFの作り方#yca8607c]] を参照してください。

** PDF 形式の図の挿入 [#a58e4bcb]

最終的に PDF 形式で出力したい場合は,図も PDF 形式で用意しておくのが便利です。
PDF 形式を使えば,[[Ghostscript]] が呼び出されることがないので,処理が速くなります。

たとえば [[apple.pdf:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.pdf]]
という PDF 形式の図があった場合,次のようにすれば図が挿入できます。 

 \documentclass{jsarticle}
 \usepackage[dvipdfmx]{graphicx}
 \begin{document}
 
 まだあげ初めし前髮の/林檎のもとに見えしとき/前にさしたる花櫛の/花ある君と思ひけり
 
 \includegraphics[width=5cm,clip]{apple.pdf}
 
 \end{document}

\usepackage[dvipdfmx]{graphicx} の dvipdfmx と書いたところは使用するドライバ(出力ソフト)の名前です。
[[dvipdfmx]] を使用する場合は dvipdfmx とします。
これを ptex2pdf で処理すると,全体が PDF 形式になります。

PDF ファイルの余白は TeX Live, W32TeX に収録されている [[pdfcrop]] で削除できます。

PDF と PostScript の両方を出力する必要がある場合は,apple.pdf と apple.eps
を両方用意しておいて,
 \includegraphics[width=5cm,clip]{apple}
のように拡張子なしでインクルードします。
拡張子なしの場合は,\usepackage[オプション]{graphicx}
のオプション次第で,適当なほうがインクルードされます。

*** PDF ファイルの bounding box 情報に関する注意点 [#tc030150]

詳しくは [[PDFの作り方]] の[[挿入図ファイルについて>PDFの作り方#n20e1824]]をご参照願います。

** EPS 形式の図の挿入 → 処理に時間がかかるなどの問題が発生する場合は PDF 形式を使用する [#v4efe6a4]

PDF ファイルに出力するのが前提なら dvipdfmx では PDF, PNG, JPEG がそのまま使えます。
EPS ファイルよりも PDF ファイルを使用するほうが処理が速くなり,Ghostscript も不要になります。
''PDF ファイルで問題がなければ EPS にこだわる必要はない''でしょう。
EPS ファイルは epstopdf で PDF ファイルに変換できます。
PDF 形式でうまくいかない場合や [[dvips]] を使用する場合に EPS 形式を使用すればいいでしょう。

例えば [[apple.eps:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.eps]]
という EPS 形式の図があったとします.
このとき,次のようにすれば図(と[[詩:http://www.aozora.gr.jp/cards/000158/files/18352_15628.html]] :) )が挿入できます。

 \documentclass{jsarticle}
 \usepackage[dvipdfmx]{graphicx}
 \begin{document}
 
 まだあげ初めし前髮の/林檎のもとに見えしとき/前にさしたる花櫛の/花ある君と思ひけり
 
 \includegraphics[width=5cm,clip]{apple.eps}
 
 \end{document}

これでエラーになる場合は TeX Live または W32TeX または Ghostscript のインストールがうまくいっていないかあるいは非常に古いのでしょう。
[[インストールガイド>TeX入手法]]をよく読んで最新の TeX Live または W32TeX をインストールしましょう。
[[Ghostscript]] が古い場合は Ghostscript の最新版をダウンロードしてインストールしましょう。

** PNG 形式の図の挿入 [#s7e8e2f8]

例えば [[apple.png:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.png]] (426x496)
を使うにはプリアンブルに

 \usepackage[dvipdfmx]{graphicx}

を記述すれば OK です。


* 図と文字の重ね打ち [#rc7de959]

図中に TeX で組んだ文字を入れる方法はいろいろあります。
ここでは overpic.sty による方法を説明します。

 \documentclass{jsarticle}
 \usepackage[dvipdfmx]{graphicx}
 \usepackage[abs]{overpic} % この行を追加
 \usepackage[dvipdfmx]{pict2e}  % 後で矢印をきれいに出すため。なければ不要
 \begin{document}
 
 % \includegraphics[width=5cm,clip]{apple.pdf} を次のように書き換える
 \begin{overpic}[width=5cm,clip,grid]{apple.pdf}
 \end{overpic}
 
 \end{document}

こうすると,図の上にグラフ用紙がオーバーレイされます。
これを見ながら,挿入したい文字と矢印を座標で指定します。
文法は picture 環境と同じです。
pict2e.sty を使えば picture 環境がさらに強力になるのでお薦めします。

 \begin{overpic}[width=5cm,clip,grid]{apple.pdf}
   \linethickness{3pt}  % pict2e.styがなければ\thicklinesにする
   \put(150,80){\vector(-1,0){25}}
   \put(155,75){\Huge\sffamily Byte!}
 \end{overpic}

多少試行錯誤が必要ですが,これでよければ grid を外します。

overpic.sty, pict2e.sty は TeX Live, W32TeX に含まれています。

** 2色刷り [#s5ccf134]

最近の本は黒とあと1色の2色刷りにすることが多くなりました。
プロセスカラーは CMYK で行いますが,このような2色刷りには,黒を K,もう一つの色(特色,スポットカラー)を例えば C に当てておいて,印刷時に C の色を指定します。

例えば上の例で図中の文字と矢印だけ特色にするには,次のようにします。

 \documentclass{jsarticle}
 \usepackage[dvipdfmx]{graphicx,color}
 \usepackage[abs]{overpic}
 \usepackage[dvipdfmx]{pict2e}
 \definecolor{spot}{cmyk}{1,0,0,0}
 \begin{document}
 
 \begin{overpic}[width=5cm,clip]{apple.pdf}
   \color{spot}\linethickness{3pt}
   \put(150,80){\vector(-1,0){25}}
   \put(155,75){\Huge\sffamily Byte!}
 \end{overpic}
 
 \end{document}

この場合,文字と矢印の色がシアンになります。