第 6 章 TEX 113
6.3 基本記法
6.3.7 図表
これまでは文字列を扱う記述について紹介してきましたが,本節ではレポートでは必須 の画像や表の取り扱い方法を紹介します.
図
図は ”figure”と訳されるようにTEXにおいては”figure” を用います.使い方は基本通 りですが,画像を挿入するにあたりプリアンブル5に以下を記述しなければなりません.
¶ ³
\usepackage[dvipdfm]{graphicx}
µ ´
これを記述することで画像が使用できるようになります.ここでは使えるようになるこ とが第一目的なので,詳しい説明は省略しますのが,知りたい方はTEXの本を探してみ るか,Webで検索してみてください.
実際の使い方は以下のように使用します.
¶ ソース ³
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=5cm]{test.jpg}
\caption{テスト画像}
\label{testPict}
\end{center}
\end{figure}
µ ´
実行結果は図6.1のようになります.
図 6.1: テスト画像
\begin{figure}の直後に記述されている[htbp]は画像の位置を決めるオプションです.
配置したい場合は場所を以下に従って記述します.各々は以下のような意味を持ちます.
5プリアンブル:\documentclass と\begin{documnet}の間の場所のことで,マクロや変数を定義した り,パッケージを読み込んだりします.
• hは”here”を意味し,table環境が使用された位置に出力します.
• tは”top”を意味し,table環境が現れるページの上端に出力します.
• bは”bottom”を意味し,table環境が現れるページの下端に出力します.
• pは”page”を意味し,表や図からなるページを作成しそこに出力します.
なお,これらは書かれた順に優先度を持ちます.例えば[tbhp]と書かれていた場合は”t”に 従い,まずページの上端に表示しようとします.しかし,何らかの理由で不可能な場合は 次の”b”が適用され,ページ下端に表示しようとします.もし,これも不可能な場合は”h”
に従い,...というようになります.
\begin{figure}と\end{figure}で画像環境を記述します.その中に書いてある”center”
環境については後で説明します.\includegraphicsの一文で画像を挿入します.そのあと
に来る\captionは画像に対する簡単な説明を書きます.一般的に図のキャプションは図
の下に記述します.続く\labelでは画像にラベルを付加します.このラベルの使用目的,
方法は後述の「参照方法」にて紹介します.
次に図を横に並べる方法を紹介したいと思います.
¶ ソース ³
\begin{figure}
\begin{minipage}[t]{0.47\textwidth}
\begin{center}
\includegraphics[width=5cm]{left.jpg}
\end{center}
\caption{左の図}
\label{leftPict}
\end{minipage}
\hfill
\begin{minipage}[t]{0.47\textwidth}
\begin{center}
\includegraphics[width=5cm]{right.jpg}
\end{center}
\caption{右の図}
\label{rightPict}
\end{minipage}
\caption{2枚の画像}
\label{rightleft}
\end{figure}
µ ´
図6.2: 左の図 図6.3: 右の図 図6.4: 2枚の画像
図6.4に上記ソースの結果を示しました.ここでは例示的に各画像にもキャプションと ラベルを付加してあります.(図6.2と図6.3) 画像サイズの許すかぎり何枚でも並べられ ますが,もし収まらなければ意図しない改行をされてしまうので注意しましょう.
表
表は英訳すると ”table” と訳されるようにTEXにおいても環境として ”table” を用い ます.表は図とは異なり,プリアンブルには何も追記する必要はありません.実際に利用 する際には以下のように記述します.
¶ ソース ³
\begin{table}[htbp]
\caption{25マス計算(掛け算)}
\label{tableExample}
\begin{center}
\begin{tabular}{|r||c|c|c|c|c|}
\hline
掛け算 & 2 & 3 & 5 & 7 & 1\\ \hline \hline 1 & 2 & 3 & 5 & 7 & 1\\ \hline
4 & 8 & 12 & 20 & 28 & 4\\ \hline 9 & 18 & 27 & 45 & 63 & 9\\ \hline 3 & 6 & 9 & 15 & 21 & 3\\ \hline 8 & 16 & 24 & 40 & 56 & 8\\ \hline
\end{tabular}
\end{center}
\end{table}
µ ´
表6.3: 25マス計算(掛け算)
掛け算 2 3 5 7 1
1 2 3 5 7 1
4 8 12 20 28 4
9 18 27 45 63 9
3 6 9 15 21 3
8 16 24 40 56 8
表6.3にはその出力結果を示しました.図同様に\begin{table}の直後に[htbp]があ り,配置場所を指定することができます.”table”環境を記述し,その中ににキャプション (\caption{}),ラベル(\label{}) ,表(\tabular{})と書きます.表は図とは異なり,一般 的にはキャプションを表の上に記述します.図のソースと表のソースを見比べてもらえば わかりますが,それぞれのキャプションの位置の違いはソース上のその位置と同じです.
つまり,これらを逆にすることも可能ということです.ですが,一般的に決まっているこ とには従っておいた方がいいので,このまま使うことをお勧めします.加えて,図6.1と 表6.3のキャプションを見ると番号が振られていることが分かります.これがTEXを使う 利点の一つです.また,参照する際にもTEXの効能を得られるのですが,詳細は後ほど 記述します.
\tabularの直後に{|r||c|c|c|c|c|}という記述がありますが,これは表の線と内容の配置 を示しています.各アルファベット(l, c, r)は各列の文字の配置を示し,一列につき一つ しか指定できません.それぞれの意味は以下のようになります.
• lは”left”を意味し,文字を左寄せにします.
• cは”center”を意味し.文字を中央寄せにします.
• rは”right”を意味し,文字を右寄せにします.
また,各々の間に書かれている”|”は表の列間の線を表しており,これは書いた本数分だ け線が引かれます.ここでの例では,一列目と二列目の間には二本の線が引かれています が,それ以外の場所は一本です.
続いて”tabular”環境の中身を見てみます.各列は”&”によって分けられます.また,各 列は\\によって行の終わりを表現します.ここで出てくる\hlineとは水平線を引くため のものです.例のように二つを連続で記述することにより二重線を記述します.
図同様に表も複数並べることができます.ソースは省略しますが,結果は以下の表6.4 のようになります.図と同様に”minipage”環境を用いることで実現できます.今回は各々 の表に対するキャプションは省略しています.
表6.4: 二つの25マス計算 足し算 2 3 5 7 1
1 3 4 6 8 2
4 6 7 9 11 5
9 11 12 14 16 10
3 5 6 8 10 4
8 10 11 13 15 9
引き算 2 3 5 7 1
1 1 2 4 6 0
4 -2 -1 1 3 -3
9 -7 -6 -4 -2 -8
3 -1 0 2 4 -2
8 -6 -5 -3 -1 -7
また,表を利用する際には二つ以上のセルにまたがる表を作成したい,ということがあ ります.このような書き方は以下のようにすることで可能になります.実行結果は表6.5 のようになります.(説明のためにわざと多少変わった形の表にしてあります.)ここで用 いているのは\multicolumnです.これは直後のオプションで記述した数の列をまとめて 一つの列とし,その次のオプションで当該セル内の配置を指定し,最後の{}にセル内に 入るコンテンツを記述します.
ここまでは複数の列にまたがるセルが対象でしたが,次に見るのは複数の行にまたがる セルです.これは\clineを用いることで表現できます.表の二行目,三行目を見てみると 二列目と三列目に上下を分けるような線が入っています.これは\clineの直後の{}のに よって範囲を指定できます.二行目,三行目同様四行目,五行目も以下のように記述する ことで,三列目と四列目に上下を分けるような線が引かれています.これを用いることで,
上下を分けるような線の引かれていない場所を結合セルといて取り扱うことができます.
¶ ソース ³
\begin{table}[htbp]
\caption{複数セルにまたがる表}
\label{multicolumn}
\begin{center}
\begin{tabular}{|l|c|r|r|}
\hline
\multicolumn{4}{|c|}{メンバ}\\ \hline \hline 主戦力 & Aさん & Bさん & Cさん \\ \cline{2-3}
& Dさん & Eさん & Fさん \\ \hline
副戦力 & Gさん & Fさん & Gさん \\ \cline{3-4}
& Hさん & Iさん & Jさん \\ \hline
補欠 & \multicolumn{3}{|c|}{新人}\\ \hline
\end{tabular}
\end{center}
\end{table}
µ ´
表6.5: 複数セルにまたがる表 メンバ
主戦力 Aさん Bさん Cさん
Dさん Eさん Fさん
副戦力 Gさん Fさん Gさん
Hさん Iさん Jさん
補欠 新人
参照方法
論文やレポートにおいて画像や表を挿入した場合,必ず参照を付けなければなりません.
ここでは,その参照に用いるTEXの便利な点である図表の参照方法について述べます.
通常,MS Wordやその他のアプリケーションでは図表の番号は自分で付け,それへの
参照は自分でつけた番号を基に手動で行います.しかし,このやり方ではすでに番号付け を行ってしまった図表よりも前に新たに図表を挿入しようとする際にそれ以降の番号を書 き換えなければならないという手間がかかります.しかも,この作業を手でやると参照し ている文をすべて探し出し,その番号も書き換えなければなりません.文を探す際に見落 としがよくあるというのは想像に難くないと思います.
参照の仕方ですが,\ref{}を用いることで参照することができます.先ほどの図と表を 例としますと以下のように書くことができます.
¶ ソース ³
図\ref{testPict}と表\ref{tableExample}
µ ´
¶ 結果 ³
図6.1と表6.3
µ ´
このように\ref{}の中にラベルとして記述した文字列を入力することで参照できます.注 意していただきたいのは,別な図表に同じラベルを付けると後に出てきたラベルの方が優 先されてしまいます.基本的にはラベルは重複させてはいけません.
これまでの書き方では図表にしか使えないように書いていますが,実は章節にも用いる ことができます.
¶ 参照先 ³
\subsection{図表}
\label{figtable}
µ ´
¶ 参照 ³
第\ref{figtable}節
µ ´
¶ 結果 ³
第6.3.7節
µ ´
上記のようにすることで以前の章節で述べる際の参照やこれから述べることの紹介として の参照として利用することができます.