我想要includegraphics
在multirow
表格单元格中放置一张图片tabularx
,并且它应与单元格顶部垂直对齐。
rule
用代替图像的示例:
\documentclass[11pt, a4paper]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[TS1, T1]{fontenc}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}
\begin{tabularx}{\textwidth}{@{}p{3cm} X r} \hline
\multicolumn{2}{@{}l}{{\huge{}My Beautiful Text}} &
\multirow{4}{*}{\rule{4cm}{6.5cm}%\includegraphics[height=6.5cm]{../../../2012_Bewerbungsfotos/2012-01_MB_Bewerbungsfoto_col.jpg}
}\\[24pt]
a & b\\[6pt]
a & b\\[6pt]
a & b\\[6pt]
a & b\\[6pt]
a & b
\end{tabularx}
\end{document}
PDF截图:
我怎样才能将图像直接放置在\hline
(与定义多行的行顶部相同)?
编辑解释一下我的“真正”目的:
hline
在实际文档中,顶部没有tabularx
(我仅添加了hline
以便更好地查看单元格的顶部),
但我希望插入的图像与文本的顶部对齐,因为如果跨越整个表格高度的图像从文本下方开始,在我看来它看起来并不好。
(原始文档包含个人数据,因此我试图构建一个人工的最小示例。)- 表格的第一行是唯一具有
huge
字体大小(标题)的行,其他所有行都是正常大小。
*
答案1
该\huge
命令会增加行高,但\multirow
并不尊重行高。如果您将其放在\huge
表格环境之前,它就会起作用。这会影响单元格,但您可以将其用作>{\normalsize}
列说明符。然而,行会更高。
\begingroup
\huge
\begin{tabularx}{\textwidth}{@{}>{\normalsize}p{3cm}>{\normalsize}X>{\normalsize}r@{}}\hline
\multicolumn{2}{@{}l}{{\huge{}My Beautiful Text}} &
\multirow{4}{*}{\rule{4cm}{6.5cm}%\includegraphics[height=6.5cm]{../..
...
\end{tabularx}
\endgroup
或者,使用可选的fixup
高度参数来提升图像:
\multirow{nrows}[bigstruts]{width}[fixup]{text}
您可以使用高度来fixup
补偿您实际使用的不同行高。
答案2
另一种方法是将图像外部表格。我们将图像的高度减去支柱的高度\huge
。tabularx
“顶部对齐”,因此图像将与第一行对齐;框的深度稍长(1ex)以帮助下面的间距。
\newcommand{\foto}{%
{\huge
\raisebox{\dimexpr-\height+\ht\strutbox\relax}[0pt][\dimexpr\height-\ht\strutbox+1ex\relax]%
{%
\rule{4cm}{6.5cm}% put the image here
}}%
}
\begin{document}
\noindent\begin{tabularx}{\dimexpr\textwidth-6.5cm\relax}[t]{@{}p{3cm} X}
\multicolumn{2}{@{}l}{\huge\strut My Beautiful Text} \\[24pt]
a & b\\[6pt]
a & b\\[6pt]
a & b\\[6pt]
a & b\\[6pt]
a & b
\end{tabularx}\foto