在表格中的文本旁边添加图像

在表格中的文本旁边添加图像

我在三行表中有一个文本,如下所示

\begin{wrapfigure}{r}{3in}
\centering 
\includegraphics{style3color.png}
\end{wrapfigure}
\begin{tabular*}{7in}{l@{\extracolsep{\fill}}r}
a \\
b \\
c  \\
\end{tabular*}

我想插入一张横跨第二列所有行的图片。最好的方法是什么?

从上面可以看出,我使用wrapfig包将这张表包裹在图像周围。它起作用了,但图像没有移到中心。它从 b 开始,一直到 c 下方。

答案1

为了将表格和图形并排放置(顺便说一下,也可以将两个对象并排放置),一个简单的解决方案是将每个对象放入给定宽度的迷你页面中,\hfill如果希望对象“完全对齐”(即与页边距对齐),则将其放在迷你页面之间。为每个迷你页面提供[c]垂直对齐它们的选项。

在你的情况下(我\fbox仅包括使每个小页面的大小可见,而\hrulefill不是\hfill使垂直居中可见):

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{center}
\fbox{
  \begin{minipage}[c]{4cm}
    \begin{tabular}{l}
    a \\
    b \\
    c  \\
    \end{tabular}
  \end{minipage}
}\hrulefill
\fbox{
  \begin{minipage}[c]{2cm}
    \includegraphics[width=\textwidth]{star.mps}
  \end{minipage}
}
\end{center}
\end{document}

结果

答案2

您可以使用tabularx包裹插入tabularx适合线(或7in,取决于您的要求)的 ,以及\smash图像内容,使其垂直符合您的参数。下面是一个简单的例子,说明我的意思:

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx,tabularx}% http://ctan.org/pkg/{graphicx,tabularx}
\begin{document}
\noindent\begin{tabularx}{\linewidth}{lX}
  a \\ b \\
  c & \hfill
    \smash{\raisebox{-.3\normalbaselineskip}{%
      \includegraphics[height=3\normalbaselineskip]{example-image-a}}}
\end{tabularx}
\end{document}

\hfill将 -column的内容推X到右侧(因为看起来您似乎想要一个r-column,但可能没有必要)。图像高度被强制为,3\normalbaselineskip使其适合表格的 3 行。但是,它略微向下移动( )以适应它实际上放置在基线上的事实,这不会使其在.3\normalbaselineskip三行中垂直居中。\smash删除所有垂直高度,使其跨越多行(类似于\multirowmultirow包裹会做)。

tabularx不是必需的,但它可能会在这些情况下有所帮助,具体取决于您的实际应用/用途。

相关内容