如何垂直对齐表格中的单元格?

如何垂直对齐表格中的单元格?

我有一张我定义的表

\begin{tabular}{lllllllllllll}
\includegraphics[width=7.3in]{img1.pdf} &
\includegraphics[width=7.3in]{img2.pdf} &
\includegraphics[width=7.3in]{img3.pdf} & 
\includegraphics[width=7.3in]{img4.pdf} &
\includegraphics[width=7.3in]{img5.pdf} &
\includegraphics[width=7.3in]{img6.pdf} \\
\includegraphics[width=7.3in]{img7.pdf} &
\includegraphics[width=7.3in]{img8.pdf} &
\includegraphics[width=7.3in]{img9.pdf} &
\includegraphics[width=7.3in]{img10.pdf} &
\includegraphics[width=7.3in]{img11.pdf} &
\includegraphics[width=7.3in]{img12.pdf} \\
\includegraphics[width=7.3in]{img13.pdf} & \multicolumn{12}{|c}{
\hspace{3cm} \includegraphics[width=92cm]{i3} }
\end{tabular}

并非所有图像的高度都相同。我希望所有图像都与表格单元格的顶部对齐,而不是底部(现在似乎就是这种情况)。我该怎么做?

答案1

如果单元格中只有图像,则可以使用\raisebox垂直移动所有图像到基线以下,以便它们全部顶部对齐

\raisebox{-\height}{\includegraphics[width=7.3in]{imgX.pdf}}

但是,如果同一行中有文本,它将被放置在图像正上方(基线位于顶角)。在这种更复杂的情况下,请参见如何使单元格文本垂直居中?

答案2

使用\topincludegraphics定义如下

\newcommand{\topincludegraphics}[2][]{%
  \raisebox{\dimexpr-\height+\ht\strutbox\relax}{\includegraphics[#1]{#2}}}

而不是\includegraphics;没有的话\ht\strutbox就会有间隙,因为每个表行总是至少与支柱一样高。

答案3

\documentclass{article}
\usepackage{array}

\newsavebox\topalignbox
\newcolumntype{T}{%
  >{\begin{lrbox}\topalignbox
    \rule{0pt}{\ht\strutbox}}
  c
  <{\end{lrbox}%
    \raisebox{\dimexpr-\height+\ht\strutbox\relax}%
      {\usebox\topalignbox}}}

%%% or
%\newcolumntype{T}{%
%  >{\vtop\bgroup\vspace*{-\ht\strutbox}%
%    \hbox\bgroup\rule{0pt}{\ht\strutbox}}
%  c
%  <{\egroup\egroup}}

\begin{document}    

\begin{tabular}{|T|T|} \hline
  \rule{2cm}{3cm} & \rule{3cm}{4cm} \\ \hline
  \rule{4cm}{5cm} & \rule{2cm}{2cm} \\ \hline
  aabb & ccdd \\ \hline
\end{tabular}

\end{document}

在此处输入图片描述

这有点复杂。它不同于xport 的解决方案因为它简化了宽度计算。核心代码与 egreg 的相同。


对于垂直居中,最好使用原始 TeX \vcenter

\documentclass{article}
\usepackage{array}
\newcolumntype{M}{>{$\vcenter\bgroup\hbox\bgroup}c<{\egroup\egroup$}}
\begin{document}
\begin{tabular}{|M|M|} \hline
\rule{2cm}{3cm} & \rule{3cm}{4cm} \\ \hline
\rule{4cm}{5cm} & \rule{2cm}{2cm} \\ \hline
\end{tabular}
\end{document}

在此处输入图片描述

相关内容