beamer の表で縦方向に中央揃えしたい

latex を使ってスライドを作ることができる beamer という仕組みがあるのですが、 スライドの中で表を出そうとすると文字が若干上にずれることがあります。 そこで、縦方向の中央揃えをするために parbox というコマンドを使うとうまくいくようです。parbox には追加パッケージは必要ありません。

parbox は以下のようにして使います。

\parbox[縦方向の上
・中央・下揃え][行の縦幅][box の中での配置]{テキストの幅}{表示したいテキスト}

[] で囲まれたオプションはなくても動きます。{}で囲まれたオプションは必ず書いてください。

  • 「縦方向の上・中央・下揃え」には、それぞれtcb と指定します。デフォルトは t です。
  • 「box の中での配置」 は、何も指定しなければ「縦方向の上・中央・下揃え」と同じオプションが指定されます。

また、parbox のページにも書いてありますが、 parbox コマンドの引数の「表示したいテキスト」の中にはあまり複雑なコマンドなどは書かない方がいいみたいです。

例えば、こんな感じで使えます。 ちなみに、zh は「現在の全角漢字の縦幅」、zw は「現在の全角漢字の横幅」を表すコマンドです。

\begin{frame}
  \begin{itemize}
  \item parbox を使ってみる
  \begin{table}[]
    \begin{tabular}{|l|l|l|}\hline
      \parbox[c][1zh]{6zw}{parbox を使う} & parbox を使わない \\ \hline
      \parbox[c][1zh]{2zw}{中央} & ちょっと上 \\ \hline
      \parbox[c][3zh]{6zw}{縦方向の中央} & 真ん中のちょっと上 \\ \hline
    \end{tabular}
  \end{table}
  \end{itemize}
\end{frame}

組版すると、このようになります。太い縦幅の表に 1 行だけ書いて中央揃え、ということもできていますね! f:id:saphir_jaune:20200126214544p:plain