第 6 章 L A TEX 126
6.14 図
これまでは文字列を扱う記述について紹介してきましたが,本節ではレポートでは必須の画像の 取り扱い方法を紹介します.
6.14.1 graphicx パッケージ
画 像 を 挿 入 す る に あ た り ,\documentclassコ マ ン ド と\begin{ documnet }の 間20 に\usepackage[ dvipdfmx ]{ graphicx }と 記 述 し ,graphicx パ ッ ケ ー ジ21を 読 み 込 ん で い ま す.graphicxパッケージは画像をLATEXで使うために必要なパッケージです.このパッケージ は画像の他にも,図形などに関する様々な機能を提供しますが本章では解説しません.詳細を知 りたい方は脚注21のURLを参照してください.
このgraphicxパッケージによって,画像を表示するための\includegraphicsコマンドが使える ようになります.
6.14.2 バウンディングボックス
LATEXで画像を用いる前に,バウンディングボックスという用語について理解する必要がありま す.LATEXにおけるバウンディングボックスとは画像の大きさ示すものです.画像の大きさとは縦 と横の長さ(距離)になります.これがなければ,LATEXは画像の大きさが分からず画像を文書に 埋め込めません.
残念なことにTEXはPNGやJPEGといったバイナリファイルから画像のバウンディングボッ クスを取得することができません22.そこでPNGやJPEGといったバイナリファイルの画像を文 書で用いる場合,次の2つの方法のうちいずれかを用いてバウンディングボックスをTEXへ渡す 必要があります.
• \includegraphicsコマンドのbbオプションを用いる
• extractbbというプログラムで生成する
bbオプションは非推奨
LATEX に つ い て Web の 資 料 な ど を 調 べ た こ と が あ る 方 は ,bb オ プ シ ョ ン を 用 い
て\includegraphicsコマンドへ直接バウンディングボックスを指定する方法を知っているか
もしれません.
ですが,この方法は画像の“物理的な長さ”を手動で計測する必要があります.例えば皆さんが 画像の情報としてよく用いるピクセルという単位は,実は物理的な長さではありません.ピクセル という言葉は正確に言えば,画素が何個という数の単位です.これは化学の世界でよく用いられる モル(mol)という単位に似ています.
例えば,鉄の原子1mol(6.022×1023個)による鉄棒があったとしても,この鉄棒の長さは密 度などによって異なるので一概には定まりません.これと同様にピクセルというのは数の単位なの で,それだけでは物理的な長さを得ることはできません.
20このことをプリアンブルといいます.
21http://ctan.org/pkg/graphicx
22反対に,テキストファイルで記述されているEPSであれば,ファイルの先頭に書かれているバウンディングボックス の情報を読み込んで使うことができます.
bbオプションを用いる場合,ピクセルといった数の情報と,解像度という画像の密度を表す情 報を用いて物理的な長さを計算する必要があり,この作業は大変な労力でかつ人間の計算ミスもあ りえます.従って,次に説明するextractbbというプログラムによって算出する方が,手作業に よるミスもなく簡単でよいとされています.
extractbbによるバウンディングボックスの生成
PNG画像やJPEG画像を貼る場合は,extractbbコマンドを用いて次のようにすることでバウ ンディングボックス情報ファイルが生成されます.例えばexample.pngのバウンディングボック スを生成する際は,ターミナルで次のようにします.
$ extractbb example . png
$
すると,画像と同じディレクトリにexample.xbbというファイルが生成されます.このファイ ルにバウンディングボックスが記述されています.\includegraphicsコマンドを用いると,画像 の名前と同じxbbファイルを検索して,xbbファイルがあれば利用するので,PNG画像やJPEG 画像を用いる際はあらかじめextractbbコマンドを使ってバウンディングボックスを生成してお きましょう.
6.14.3 画像の表示
\includegraphicsコマンドを用いた例を以下のソースコード6.4に示します.
Listing 6.4: 画像の挿入
1 \documentclass[a4j ]{ jsarticle }
2 \usepackage[ dvipdfmx ]{ graphicx }
3 \usepackage{ float }
4
5 \begin{ document }
6
7 \begin{ figure }[ H]
8 \centering
9 \includegraphics[ width =5 cm ]{ example - image -a. png }
10 \caption{画像の挿入}
11 \label{ fig : testpicture }
12 \end{ figure }
13
14 \end{ document }
実行結果は図6.7のようになります.
A
図 6.7: 画像の挿入
floatパッケージ
まず3行目にて,floatパッケージを読み込んでいます.このパッケージは画像を配置を直感的 にするものですので,導入をお勧めします.
figure環境
figure 環 境 は 環 境 内 に あ る も の が 図 で あ る と い う こ と を 示 す 環 境 で す .
\begin{figure }[H]の[H]の部分は表示位置に関する設定を表わしています.H は float パッ ケージによって提供されるものですが,LATEXの標準では次のような指定ができます.
表 6.5: figure環境などで使える位置指定子 位置指定子 意味
h 環境が使用された位置に出力します t 環境が現れるページの上端に出力します b 環境が現れるページの下端に出力します
p 表や図からなるページを作成しそこに出力します
これらは[htbp]といった具合に併記することもでき,そうした場合は書かれた順に優先度を持ち
ます.例えば[htbp]の場合はまず,“h”に従い環境が使用された位置に出力しようとします.しか しそれが何らかの理由によってできない場合,TEX処理系は次に“t”に従い,ページの上端に表 示しようとします.というように,最終的に可能なものを用います.
ただ,多くの場合はfloatパッケージを用いてHのみを指定すればよいので,これらを覚える 必要はあまりないでしょう.
\centeringコマンド
これはその名の通り,\centeringコマンド以降の文章や画像などを中央寄せにします.このコ マンドは現在の環境,あるいはグループの中で終了します.
\includegraphicsコマンド
ま た 9 行 目 で は[width=5cm]に て ,画 像 の 大 き さ を 5cm と 指 定 し て い ま す .そ し て , example -image-a.pngという画像を読み込んでいます23.実際に使うときは,LATEXファイルか らの相対パス名で画像を指定します.
\captionコマンド
そのあとに来る\captionコマンドは画像に対する簡単な説明(キャプション)を書きます.一般 的に図のキャプションは図の下に記述します.このコマンドは省略することができます.
\labelコマンド
\labelコマンドは,画像に本文などから参照するためのラベルを付加します.このコマンドは省
略することができます.このラベルの使用目的,方法は後述の参照(6.17節)にて紹介します.