![将一列中的图像与另一列中的文本对齐](https://linux22.com/image/467977/%E5%B0%86%E4%B8%80%E5%88%97%E4%B8%AD%E7%9A%84%E5%9B%BE%E5%83%8F%E4%B8%8E%E5%8F%A6%E4%B8%80%E5%88%97%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E5%AF%B9%E9%BD%90.png)
我正在尝试在表格环境中将一列中的图像与另一列中的文本对齐。
我找到了如何获取文本高度并相应地调整图像大小的方法。然后我用 提升图像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}