垂直对齐图中的单元格表格

垂直对齐图中的单元格表格

我有下图:

\begin{figure}[ht!]
    \centering
    \begin{tabular}{|c|c|}
        \includegraphics{combo} & \includegraphics{combomenu}
    \end{tabular}
\caption{A combo box with and without showing the menu.}
\label{fig:combos}
\end{figure}

生成结果:

在此处输入图片描述

左侧图片明显比右侧图片短。如何将左侧图片垂直对齐到单元格顶部?

如果可能的话,我早就在 Google 上搜索如何做到这一点了。我所做的一切似乎都没有任何效果:

  • \includegraphics{combo}\hfill什么也没做
  • \begin{tabular}{|p{3cm}|c|}除了设置列宽外什么也不做
  • \raisebox{4.5\height}{\includegraphics{combo}}确实可以上下移动图像,但我似乎无法正确设置参数。似乎介于 5.5 和 6 之间。但这真的不是我想要的,如果我决定更改第二幅图像,我将不得不再次经历艰苦的对齐过程。
  • 使用 minipages 可将图像与顶部对齐,但也会在两个图像的右侧增加更多空间,并且可能会将图像推得太靠上,以至于垂直线会稍微偏离:

在此处输入图片描述

我以像素为单位指定了图像的宽度,它们都是 82 像素宽。

答案1

最简单的方法是使用adjustbox包:

\documentclass{article}
\usepackage[demo]{graphicx} % just to provide mock figures
\usepackage{adjustbox}

\begin{document}

\begin{tabular}{|c|c|}
\adjustbox{valign=t}{\includegraphics[width=1cm,height=.5cm]{x}} &
\adjustbox{valign=t}{\includegraphics[width=1cm,height=3cm]{x}} \\
\end{tabular}

\end{document}

在此处输入图片描述

无需任何包装,

\begin{tabular}{|c|c|}
\raisebox{\dimexpr-\height+\ht\strutbox}{\includegraphics[width=1cm,height=.5cm]{x}} &
\raisebox{\dimexpr-\height+\ht\strutbox}{\includegraphics[width=1cm,height=3cm]{x}} \\
\end{tabular}

也会做同样的事。

答案2

另一个带有更多可选参数的小型页面解决方案。

\documentclass{article}
\usepackage{graphicx}
\usepackage{mwe} %< -- For dummy images

\begin{document}%
\begin{figure}
    \centering
    \begin{tabular}{|c|c|}
        \begin{minipage}[b][6cm][t]{2cm} %[minipage place][height][content align]{width}
        \includegraphics[width=2cm,height=1cm]{example-image-a}%
        \end{minipage}
            & \includegraphics[width=2cm,height=6cm]{example-image-b}
    \end{tabular}
\caption{A combo box with and without showing the menu.}
\label{fig:combos}
\end{figure}
\end{document}

在此处输入图片描述

答案3

我会将这两个\includegraphics命令放入 minipages 中,如下所示:

\begin{minipage}[t]{<width-of-image>}
    \vspace{-\baselineskip}\par
    \includegraphics{combo}
\end{minipage}
&
\begin{minipage}[t]{<width-of-image>}
    \vspace{-\baselineskip}\par
    \includegraphics{combomenu}
\end{minipage}

尽管我可能错了。

答案4

egreg 答案的变体:

\documentclass{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}% tested with version 1.0

\begin{document}%
    \begin{figure}
\centering
    \begin{tabular}{cc}
\includegraphics[width=2cm,height=1cm,valign=t]{example-image-a}%
    &   \includegraphics[width=2cm,height=6cm,valign=t]{example-image-b}
    \end{tabular}
\caption{A combo box with and without showing the menu.}
\label{fig:combos}
    \end{figure}
\end{document}

得到的结果与所示相同埃格尔回答

相关内容