[[LaTeX入門]] / [[最初の例>LaTeX入門/最初の例]] / [[簡単な数式 (1)>LaTeX入門/簡単な数式(1)]] / [[簡単な数式 (2)>LaTeX入門/簡単な数式(2)]] / [[各種パッケージの利用>LaTeX入門/各種パッケージの利用]] / [[レポート>LaTeX入門/レポート]] / [[HTML と LaTeX の比較>LaTeX入門/HTMLとLaTeXの比較]] / [[複雑な数式>LaTeX入門/複雑な数式]] / 図表 / [[図表の配置>LaTeX入門/図表の配置]] / [[相互参照とリンク>LaTeX入門/相互参照とリンク]] / [[文献引用]] / [[索引作成]] / [[LaTeX マクロの作成>LaTeX入門/LaTeXマクロの作成]] / [[スライドの作り方(jsarticle 編)>LaTeX入門/スライドの作り方(jsarticle編)]] / [[応用的な使い方>LaTeX入門/応用的な使い方]] / [[発展編>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} これで apple.png が PDF ファイルの中に挿入されます。 ※仮にここでエラーが出た場合は,「[[extractbb の自動実行許可の設定]]」の内容を参照してください。 > エラー例 1 : // TeX Live 2014 で extractbb 自動実行を設定していない場合 ! LaTeX Error: Cannot run pipe command. Try --shell-escape (--enable-pipes in MikTeX) option. > エラー例 2 : // TeX Live 2012 で extractbb 自動実行を設定していない場合 ! LaTeX Error: File `apple.xbb' not found. Use -shell-escape option to generate automatically. 上の例は PNG 形式の図を挿入しましたが,JPEG 形式や PDF 形式の図も同じようにして挿入できます。 ** 解説 [#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} のようにします。 ** 論文やレポートの場合 [#k8cca142] 実際の論文やレポートでは,図にキャプションや図番号を入れるために,次のようにします。 \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/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 指定よりも都合がよいことも多いでしょう。 このような図表の配置については[[次節>LaTeX入門/図表の配置]]で説明します。 * 図表の取り扱いの概要 [#qa85d325] LaTeX では文書中に図表を配置することができます。 一口に“図表"といってもその内容や形式はさまざまです。 たとえば -グラフ・写真・イラスト等々を画像ファイルにしたもの -罫線とデータを並べた表を LaTeX で直接記述したもの -同じく表であっても他のソフトウェアなどを利用して画像ファイルとしたもの などがありますが,LaTeX では文書に挿入する図表の中身やファイル形式などは設定しだいでさまざまなものに対応できます。 ここで,心に留めておくべき点があります。 それは > 画像の取り込みという処理は TeX 自身ではなく,“dvi ファイルの中に書き込まれた画像の取り扱いに関する指示”を [[dvipdfmx]] などの dvi 処理ソフトウェアが解釈する,という仕組みになっている < ということです。 LaTeX としては,''その図表を版面(紙面)に配置するためにどれくらいの幅と高さを確保するか''だけを問題としています。 LaTeX は -その図表がどんなファイル形式か -その図表が実際に視覚的なデザインとしての図であるのか,罫線や言語的な要素で作られた表であるのか などには頓着しません。 ファイル形式などが問題となるのは,LaTeX で処理した組版結果を実際に表示したり印刷したりするソフトウェアにおいてです。 先ほどの例で \usepackage[dvipdfmx]{graphicx} と書きましたが,この“dvipdfmx”というオプションこそが「dvipdfmx に解釈してもらえるように画像取り込みの指示を書き込んでね」と指定しているわけです。 この指定は (u)pLaTeX + dvipdfmx でタイプセットする場合(またはこれらを一気に実行する [[ptex2pdf]] を使う場合)に必須です。 ほかにも (u)pLaTeX + [[dvips]] でタイプセットする場合には \usepackage[dvips]{graphicx} と書くことで,画像取り込みの指示が dvips に正しく伝わります。 このように,LaTeX では「TeX 自身にできないことを,ほかのソフトウェアの拡張機能に頼って実現する」ということがよくあります。 いま出てきた graphicx パッケージのほかにも,後の[[相互参照とリンク>LaTeX入門/相互参照とリンク]]で取り上げるハイパーリンク([[hyperref]] パッケージ)や,文字や図に色をつける color パッケージや xcolor パッケージもそうした例の一つです。 このようなパッケージを利用する際には,出力ソフト(ドライバ)の名前を指定することを忘れないようにしましょう。より詳しくは [[TeX と「TeX 以外」]]を参照してください。 LaTeX における画像の扱いについてはこのページのほかにも -[http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1326 inclusion of images and dvipdfmx] -[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?] などに解説があります。 ** 図のファイル形式に応じた記述法・設定法 [#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} 挿入したい図の PDF ファイルに余白がある場合は,TeX Live, W32TeX に収録されている [[pdfcrop]] で削除できます。 PDF ファイルの bounding box 情報に関する注意点など,詳しくは [[PDFの作り方]] の[[挿入図ファイルについて>PDFの作り方#n20e1824]]を参照してください。 *** PNG / JPEG 形式の図の挿入 [#s7e8e2f8] 例えば [[apple.png:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/dtp/apple.png]] (426x496) を使うには,プリアンブルに \usepackage[dvipdfmx]{graphicx} を記述すれば OK です。 PNG / JPEG 形式の画像はそれぞれ \includegraphics[width=5cm]{apple.png} \includegraphics[width=5cm]{apple.jpg} のようにして挿入できます。 *** EPS 形式の図の挿入 → 処理に時間がかかるなどの問題が発生する場合は PDF 形式を使用する [#v4efe6a4] PDF ファイルに出力するのが前提なら dvipdfmx では PDF, PNG, JPEG がそのまま使えます。 dvipdfmx は EPS ファイルそのものを自分で扱えないので [[Ghostscript]] を内部で呼び出して変換し,処理に若干時間がかかります。 ''PDF ファイルで問題がなければ EPS にこだわる必要はない''でしょう。 EPS ファイルは epstopdf で PDF ファイルに変換できます。 それでもなんらかの理由で EPS ファイルを dvipdfmx で挿入したい場合は次のようにします。 例えば [[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 の最新版をダウンロードしてインストールしましょう。 % 以下,敢えて入門に載せる必要がないので移転予定。 EPS 形式を使用する必要がある場合としては,PDF 形式でうまくいかない場合や [[dvips]] を使用する場合が挙げられます。 たとえば,最終的に PDF ファイルと PostScript ファイルの両方を出力する必要がある場合は,apple.pdf と apple.eps を両方用意しておいて, \includegraphics[width=5cm,clip]{apple} のように拡張子なしでインクルードします。 拡張子なしの場合は,\usepackage[オプション]{graphicx} のオプション次第で,適当なほうがインクルードされます。 これにより,dvipdfmx を使って PDF を出力する際には PDF 形式の図が,dvips を使って PostScript ファイルを出力する際には EPS 形式の図が使われます。