如何让大单元格中的文本出现在顶部而不是底部

如何让大单元格中的文本出现在顶部而不是底部
\begin{table}

    \begin{tabular}{|l| 
Formation & \raisebox{0mm}[42mm][1mm] {\includegraphics[width=0.3\textwidth, height=40mm]{Horns_rev_1.png}}
    & {\includegraphics[width=0.3\textwidth, height=40mm]{Horns_rev_2.png}}  &
    {\includegraphics[width=0.3\textwidth, height=40mm]{Anholt.png}}  \\ \hline
    \end{tabular}

由于单元格太大,文本出现在单元格的底部

答案1

一个快速技巧:将文本放在一个框内。由于您知道图片的高度,因此您可以将框的高度设置为该值。

\documentclass{article}

\usepackage{graphicx}



\begin{document}
\begin{table}
    \begin{tabular}{|l|l|l|l}
    \setlength{\unitlength}{1mm}
        \makebox(16,40)[c]{Formation} & \includegraphics[width=0.3\textwidth, height=40mm]{example-image}
    & \includegraphics[width=0.3\textwidth, height=40mm]{example-image}  &
    \includegraphics[width=0.3\textwidth, height=40mm]{example-image}  \\ \hline
    \end{tabular}
 \end{table}


\end{document}

在此处输入图片描述

答案2

有很多方法。其中之一是使用adjustbox提供valign键值选项:

在此处输入图片描述

\documentclass{article}

\usepackage[export]{adjustbox}

\begin{document}

\begin{tabular}{ l l }
  \hline
  Text & \includegraphics[width=0.25\textwidth,valign=t]{example-image-a} \\
  \hline
  Text & \includegraphics[width=0.25\textwidth,valign=T]{example-image-b} \\
  \hline
\end{tabular}

\end{document}

注意选项的使用,它允许将的键值export用作的一部分。adjustbox\includegraphics

您还可以手动将内容提升到位:

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\begin{tabular}{ l l }
  \hline
  Text & \raisebox{\dimexpr-\height+\normalbaselineskip}{\includegraphics[width=0.25\textwidth]{example-image-a}} \\
  \hline
  Text & \raisebox{-\height}{\includegraphics[width=0.25\textwidth]{example-image-b}} \\
  \hline
\end{tabular}

\end{document}

在 中,需要使用\normalbaselineskip(而不是) ,因为默认设置为。\baselineskiptabular\baselineskip0pt

你可能会问:“为什么要移动图片向上/向下,而不仅仅是文本(在第一栏)?”原因有二:

  1. 如果将文本向上移动,则不知道将其移动到多高。当然,除非您知道图像的高度。移动图像更容易,因为您在处理图像时知道它的高度(固定值或)\height

  2. 您感兴趣的实际上是更改行元素的垂直锚点。更改锚点Text可能仍会使图像对齐在底部。

相关内容