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

''目次''
#contents

* まずは実習 [#y0bb1fde]

以下に詳しい説明がありますが,まずは簡単な実習として,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}

つまり,図を入れるには,まず2行目に

 \usepackage[dvipdfmx]{graphicx}

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

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


を挿入します。~

これを保存し,まず platex コマンドで処理し,次に dvipdfmx コマンドで処理してPDFにします。
図のファイルも文書ファイルと同じところに保存しておかなければなりません。

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

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

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

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

のようにします。

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

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

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

なお,上の \begin{figure} 〜 \end{figure} の中の \centering の代わりに \begin{center} 〜  \end{center} で囲む方法でも同様の効果が得られます.その場合にはいくらかの間隔が自動的に挿入されますが,これを余分と判断なさる方は \centering の方を使ってください.参考意見:[[center vs. \centering:http://texblog.net/latex-archive/layout/center-centering/]]

* 図表の取り扱いの概要 [#qa85d325]
LaTeX では文書中に図表を配置することができます。一口に“図表"といってもその内容や形式はさまざまです。たとえば、グラフ・写真・イラスト等々を画像ファイルにしたものや、罫線とデータを並べた表をLaTeXで直接記述したもの、同じく表であっても他のソフトウェアなどを利用して画像ファイルとしたものなどです。LaTeX においては、文書に挿入する図表の中身やファイル形式などは設定しだいでさまざまなものに対応できます。LaTeXとしては、その図表を版面(紙面)に配置するためにどれくらいの幅と高さを確保するかだけを問題としていて、その図表がどんなファイル形式を持つのかや、その図表が実際に視覚的なデザインとしての図であるのか、罫線や言語的な要素で作られた表であるのかなどには頓着しません。ファイル形式などが問題となるのは、LaTeXで処理した組版結果を実際に表示したり印刷したりするソフトウェアにおいてです。(このページのほか、[[TeX と「TeX 以外」]]にも解説があります。)

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

*** 1番目の状況では、 [#b09fae11]
図表を配置したい場所で \includegraphics 命令を使用します。
 ---- ソースファイル例 ----
 ここで次の図を見てください。
 \includegraphics{図のファイル.png}
 図で赤く示されているのが...
実際にこれで図を取り込むには図のファイル形式に応じた適切な設定が必要となります。このページの後のほうの説明を参照してください。画像ファイルを用いるのではなく、図や表を直接 LaTeX で記述するには、picture 環境や tabular 環境を利用します。picture 環境は簡単な図形を描画できますし、tabular 環境は表を作成できます。
 ---- ソースファイル例 ----
 ここで次の図を見てください。
 \begin{picture}
  ... 描画命令など
 \end{picture}
 図で赤く示されているのが...

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

*** 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 環境を用いればよいでしょう。

*** 2番目の状況については、 [#y7adf341]
LaTeX はデフォルトでは対応していません。これをしたい場合はちょっとしたテクニックが必要です。→TeXQ&Aなどで検索してみてください。

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

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

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

RIGHT:cf.) [[PDFの作り方#図の描き方>PDFの作り方#yca8607c]]

最終的にPDF形式で出力したい場合は,図もPDF形式で用意しておくのが便利です。 

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

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

この dvipdfmx と書いたところは使用するドライバ(出力ソフト)の名前です。 dvipdfmx を使用する場合は dvipdfmx とします。 ~

TeX Live または W32TeX で環境を構築した場合,dvipdfmx 用の BoundingBox を作成する extractbb というツールが付属しています。~

 extractbb apple.pdf

とすると apple.xbb というファイルが生成されます。

TeX Live (OS X の MacTeX を含む)で extractbb を自動的に実行したい場合は

-Windows の場合は C:\texlive\texmf-local\web2c\texmf.cnf
-OS X, Linux の場合は /usr/local/texlive/texmf-local/web2c/texmf.cnf

に
 shell_escape_commands = \
 bibtex,bibtex8,bibtexu,pbibtex,upbibtex,biber,\
 kpsewhich,\
 makeindex,mendex,texindy,\
 mpost,pmpost,upmpost,\
 repstopdf,epspdf,extractbb,
を追加してください。

W32TeX では texmf.cnf で

 shell_escape_commands = \
 bibtex,pbibtex,jbibtex,repstopdf,epspdf,extractbb,\
 makeindex,mendex,mpost,pmpost,upmpost,kpsewhich

と定義されているので特に明示的に extractbb を行わなくても自動的に extractbb を実行して .xbb ファイルを作成します。([[qa:56046]])

これを platex で処理し,続いて dvipdfmx で処理すると,全体がPDF形式になります。

このようにPDFを使えば,Ghostscriptが呼び出されることがないので,処理も速くなります。

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

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

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


*** pdfLaTeX/LuaLaTeX/LuaJITLaTeX [#zed83e69]

pdfLaTeX/LuaLaTeX/LuaJITLaTeX を利用しているときは、graphicx パッケージのオプションを指定する必要はありません.~

 \usepackage{graphicx}

指定しないとうまく動作しない場合は次のように設定すればいいようです。

 \usepackage[pdftex]{graphicx}


*** XeLaTeX [#n0ec9a44]

XeLaTeX を利用しているときは、graphicx パッケージのオプションを
次のように設定すればいいようです。

 \usepackage[xetex]{graphicx}

**EPS形式の図の挿入 [#v4efe6a4]

たとえば [[apple.eps:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.eps]]
というEPS形式の図があったとします.(現在ではPDFにするのが前提なら dvipdfmx ではPDF、PNG、JPEGがそのまま使えるので特にEPSにこだわる必要はないでしょう.EPSファイルはepstopdfでPDFファイルに変換できます.)~
このとき,次のようにすれば図(と
[[詩:http://www.aozora.gr.jp/cards/000158/files/18352_15628.html]] :) )が挿入できます。 

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

これでエラーになる場合は pLaTeX または dvipdfmx または Ghostscript のインストールがうまくいっていないのでしょう(あるいは非常に古いのでしょう)。 ~
インストールガイドをよく読んでネットから最新版をダウンロードしてインストールしましょう。 

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

例えば [[apple.png:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.png]] (426x496)
を使うには,PDFの場合と同様にすればいいです。~

TeX Live または W32TeX で環境を構築した場合,dvipdfmx 用の BoundingBox を作成する extractbb というツールが付属しています。

 extractbb apple.png

とすると apple.xbb というファイルが生成されます。


* 図と文字の重ね打ち [#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は [[CTAN:macros/latex/contrib/overpic/]] にあります。~
W32TeX には

-C:\w32tex\share\texmf\tex\latex\overpic\overpic.sty

にインストールされています.

pict2e.styは [[CTAN:macros/latex/contrib/pict2e/]] にあります。~
W32TeX には

-C:\w32tex\share\texmf\tex\latex\pict2e\pict2e.sty

にインストールされています.

-C:\w32tex\share\texmf\tex\latex\pict2e\p2e-dvipdfmx.def
-C:\w32tex\share\texmf\tex\latex\pict2e\p2e-dvips.def
-C:\w32tex\share\texmf\tex\latex\pict2e\p2e-pdftex.def
-C:\w32tex\share\texmf\tex\latex\pict2e\p2e-xetex.def

も用意されています.

//展開したものを [[ここ:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/archive/pict2e/]] に置いておきます。

** 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}

* 図の配置 [#i209eceb]

図を適当な場所に配置してキャプションを付けるには,次のようにします。

 \begin{figure}
   \centering  % 中央揃えするなら
   \includegraphics[...]{...}
   \caption{林檎とバイトの関係}
 \end{figure}

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

 \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 指定よりも都合がよいことも多いでしょう.

* BoundingBox の指定 [#ce0207d9]

手動で BoundingBox を直接指定することも可能です。~

BoundingBox を直接指定する場合は

 \includegraphics[bb=0 0 横ピクセル数 縦ピクセル数,width=幅]{ファイル名}

を挿入します。

なお “bb” とは “bounding box” を意味しています。~

bb で直接指定する方法は面倒な上に,間違った値を指定してしまうと適切に表示されなくなるので,なるべく使用しないほうがいいでしょう。~