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の種類を指定する。