我想要一个表格,其中一个单元格中包含图像,而其他单元格中包含文本。
我知道单元格中心对齐的问题。所以我使用了以下技巧
\raisebox{-.5\height}{\includegraphics[...]`
但这并没有达到我想要的效果。表格中其他单元格中的文本都从单元格中间开始,上面留有大量空白。
我想让文本从其他单元格的顶部开始。但不知道该怎么做。也就是说,我想让文本和图像都从单元格的顶部开始。
一张图片胜过千言万语,因此这里是 MWE
\documentclass[12pt]{article}%
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|p{1.5in}|p{3in}|p{1.5in}|}\hline
{AAAAAAAAAAAA AAAAAAAAA}&
\raisebox{-.5\height}{\includegraphics[width=3in]{example-image-a}}&
BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB\\\hline
AAAAAAAAAAAA AAAAAAAAA&
\raisebox{-.5\height}{\includegraphics[width=3in]{example-image-a}}&
BBBBBBBBBBB BBBBBB BBBBBBBBB BBBBBBB\\\hline
\end{tabular}
\end{document}
如果我不使用\raisebox
那么它看起来像这样
\documentclass[12pt]{article}%
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|p{1.5in}|p{3in}|p{1.5in}|}\hline
{AAAAAAAAAAAA AAAAAAAAA}&
\includegraphics[width=3in]{example-image-a}&
BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB\\\hline
AAAAAAAAAAAA AAAAAAAAA&
\includegraphics[width=3in]{example-image-a}&
BBBBBBBBBBB BBBBBB BBBBBBBBB BBBBBBB\\\hline
\end{tabular}
\end{document}
这是最糟糕的。
关于如何做到这一点有什么建议吗?
更新
我尝试了评论中的建议,使用\vspace{0pt}
之前\includegraphics
有效的,但仅适用于tabular
。我需要它也能用于longtable
。我不认为这会有什么不同,所以我的 MWE 只使用了tabular
。
以下是 MWElongtable
\documentclass[12pt]{article}%
\usepackage{graphicx}
\usepackage{longtable}
\begin{document}
\begin{longtable}{|p{1.5in}|p{3in}|p{1.5in}|}\hline
AAAAAAAAAAAA AAAAAAAAA&
\vspace{0pt}\includegraphics[width=3in]{example-image-a}&
BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB\\\hline
AAAAAAAAAAAA AAAAAAAAA&
\vspace{0pt}\includegraphics[width=3in]{example-image-a}&
BBBBBBBBBBB BBBBBB BBBBBBBBB BBBBBBB\\\hline
\end{longtable}
这使
但它对于表格来说工作正常。
\documentclass[12pt]{article}%
\usepackage{graphicx}
\usepackage{longtable}
\begin{document}
\begin{tabular}{|p{1.5in}|p{3in}|p{1.5in}|}\hline
AAAAAAAAAAAA AAAAAAAAA&
\vspace{0pt}\includegraphics[width=3in]{example-image-a}&
BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB\\\hline
AAAAAAAAAAAA AAAAAAAAA&
\vspace{0pt}\includegraphics[width=3in]{example-image-a}&
BBBBBBBBBBB BBBBBB BBBBBBBBB BBBBBBB\\\hline
\end{tabular}
\end{document}
所以我需要一个可行的解决方案长桌而不只是表格,因为我使用得longtable
更多。
2019 年
答案1
利用valign=t
选项(从adjustbox
包中),您还可以在以下环境中实现所需的布局longtable
:
\documentclass[12pt]{article}%
\usepackage{graphicx}
\usepackage{longtable}
\usepackage[export]{adjustbox}
\begin{document}
\begin{longtable}{|p{1.5in}|p{3in}|p{1.5in}|}\hline
AAAAAAAAAAAA AAAAAAAAA&
\vspace{0pt}\includegraphics[width=3in,valign=t]{example-image-a}&
BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB\\\hline
AAAAAAAAAAAA AAAAAAAAA&
\vspace{0pt}\includegraphics[width=3in,valign=t]{example-image-a}&
BBBBBBBBBBB BBBBBB BBBBBBBBB BBBBBBB\\\hline
\end{longtable}
\end{document}
答案2
作为@leandris 答案的补充,并附上一些题外的建议(可能会有所帮助):
\documentclass[12pt]{article}%
\usepackage{longtable}
\usepackage[export]{adjustbox} % it load graphicx too
\usepackage{etoolbox} % for Gin's key patches
\begin{document}
\begingroup
\expandafter\patchcmd\csname Gin@ii\endcsname % needed etoolbox
{\setkeys {Gin}{#1}}
{\setkeys {Gin}
{width=\dimexpr\linewidth-\tabcolsep, % standard graphicx settings
valign=t, margin=0pt 6pt 0pt 6pt} % settings from adjustbox
}{}{}
\begin{longtable}{|p{1.5in}|p{3in}|p{1.5in}|}
\hline
AAAA AAA AA AAA AA AAAAA AA
& \includegraphics{example-image-a}
& BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB \\
\hline
AAAA AAA AA AAA AA AAAAA AA
& \includegraphics{example-image-b}
& BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB \\
\hline
AAAA AAA AA AAA AA AAAAA AA
& \includegraphics{example-image-c}
& BBBBBBBBBBB BBBB BBBBBBBBB BBBBBBBBB \\
\hline
\end{longtable}
\endgroup
\end{document}
注意:您的表格比文本宽度宽!