将一列中的图像与另一列中的文本对齐

将一列中的图像与另一列中的文本对齐

我正在尝试在表格环境中将一列中的图像与另一列中的文本对齐。

我找到了如何获取文本高度并相应地调整图像大小的方法。然后我用 提升图像raisebox

但文本下方和图像上方仍保留有边距。

梅威瑟:

\documentclass{standalone}

\usepackage{graphicx}
\usepackage{calc}

\newcommand{\mytable}{
    \begin{tabular}{l l}
        A1 & B1 \\
        A2 & B2 \\
        A3 & B3
    \end{tabular}
}

\begin{document}

\newlength{\mytableh}
\setlength{\mytableh}{\totalheightof{\mytable}}

\begin{tabular}{l l}
    \raisebox{-0.5\mytableh}{\includegraphics[height=\mytableh]{example-image-a}}
    & \mytable \\
\end{tabular}
    
\end{document}

在此处输入图片描述

答案1

我认为你把事情复杂化了。使用[b]环境选项{tabular}将表格与基线对齐,而不是围绕数学轴居中。由于基线上的对齐也是 的默认设置\includegraphics,因此你不需要垂直移动任何东西。

\documentclass{article}

\usepackage{graphicx}
%\usepackage{calc} % not really needed here

\newcommand{\mytable}{%
    \begin{tabular}[b]{l l}
        A1 & B1 \\
        A2 & B2 \\
        A3 & B3
    \end{tabular}%
}

\begin{document}

\newlength{\mytableh}
\settoheight{\mytableh}{\mytable}

\begin{tabular}{l l}
\includegraphics[height=\mytableh]{example-image-a}
    & \mytable
\end{tabular}

\end{document}

在此处输入图片描述

相关内容