TeX 図表整理
TeXの利点は図表の配置が楽であることが個人的には挙げられる。
なので、ちょっとした図表の整理整頓の方法を紹介する。
figure環境、table環境
- オプション
h | here | その場所 |
---|---|---|
t | top | ページの上部 |
b | bottom | ページの下部 |
p | page | 1ページを割り当てる |
! | オプションの強制 |
-
- !を使うことにより、多少無理強いでもオプションで設定したhtbpに従うようになる。
- figure, table環境はminipage環境などの浮動環境の中には基本的に設置することができない。
- figure*, table*環境はminipage環境などの浮動環境の中に設置することができるが、captionの番号などがおかしくなる可能性がある。また、multicol環境等、多段組の中で使用するとぶち抜きの図表を設置できるはず。たしか。要確認。
図と図、あるいは表と表を平行に並べる
minipage環境のなかにfigure, table環境は入れられない。
ので、figure, table環境の中にminipage環境をいれこむことで整理整頓が可能。
また、figure環境の中にtabular環境を用いて図を整理することも可能。
表もその方法で整理することが可能か、表の入れ子は可能なのかは未確認。
\begin{figure} \centering \begin{minipage}{.45\textwidth} \includegraphics[width = .4\textwidth]{img/img1.eps} \caption{image1} \label{fig:image1} \end{minipage} \hfill \begin{minipage}{.45\textwidth} \includegraphics[width = .4\textwidth]{img/img2.eps} \caption{image2} \label{fig:image2} \end{minipage} \end{figure}
このとき、minipageの横幅は\textwidthや\linewidthの1倍を超えないように設定する。
例えば上記の例で\begin{minipage}{.5\textwidth} × 2 にすると、長さをオーバーしたと判断されて改行される。
図と表を平行に並べる
上記の方法を使えば図と表を平行に並べることは可能であるが、captionは環境に依存するため適切なcaptionが選択されない。
そこで\@captypeを使う。
@が入っているのでstyファイルでマクロを組んでしまうか、\makeatletterと\makeatotherで囲むことによって使用する。
\@captypeによってcaptionのタイプを変更できるため、
\begin{figure} \makeatletter \def\@captype{table} \makeatother \caption{table} \label{tbl:table} \begin{tabular} .... \end{tabular} \end{figure}
このように変更したいcaptionの直前に\@captypeでcaptionの種類を指定する。