# Adding image next to text in table

I have a text in a 3 row table like as follows

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

I want to insert an image that spans across all the rows in the 2nd column. What's the best way to do it?

As you can see from above I have used wrapfig package to wrap this table around the image. It works but the image does not come to the center. It starts from b to end way below c.

-
Welcome to TeX.sx! Please add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find a solution when we see compilable code, starting with \documentclass{...} and ending with \end{document}. –  Stephen Dec 7 '12 at 20:21

In order to put a table and a figure side to side (or two any objects, by the way) an easy solution is to enclose each one into a minipage of given widths, and put \hfill between minipages if you want the objects be "full justified" (i.e: aligned with page margins). Give each minipage [c] option to vertically align them.

In your case (I included \fbox only to make visible the size of each minipage and \hrulefill instead of \hfill to make visible the vertical centering):

\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}

-

You can use the tabularx package to insert a tabularx that fits within the line (or 7in, depending on your requirement) and \smash the contents of your image to make it fit within your parameters vertically. Here's a quick example of what I mean:

\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 pushes the contents of the X-column to the right (as it seems like you're after an r-column, but it may not be necessary). The image height is forced to 3\normalbaselineskip which makes it fit within 3 lines of the table. However, it's moved down slightly (.3\normalbaselineskip) to accommodate for the fact that it's actually placed on the baseline, which doesn't center it vertically across the three rows. \smash removes all vertical height, making it span more than one row (similar to what \multirow from the multirow package would do).

tabularx is not necessary, but it may help in these situations, depending on your actual application/usage.

-