[Tex/LaTex] Figure in Revtex4

floatsrevtextwo-column

I'm using MiKTeX2.9 for writing paper:

\documentclass[twocolumn,aps,showpacs,prl,superscriptaddress]{revtex4}
....
\usepackage{epsfig}
\usepackage{graphicx}

and I'm trying to place an eps figure left, so that the matching second column contains text.
If I use:

\begin{widetext}
.....
\end{widetext}

I get blank matching right hand side.
When using:

\begin{figure*}
\begin{minipage}{\textwidth}
\begin{flushleft}
\epsfig{file=figure1.eps,width=0.4\textwidth}
\caption{mycaption}
\label{fig1}
\end{flushleft}
\end{minipage}
\end{figure*}

I get figure flush left, but centered label, and no text in matching second column.
Also, having problem with floating,i.e. placing figure on the right spot. Help, please.

Best Answer

If I understand your problem correctly, you're just trying to get a figure into a single column in the text. There's a few issues with your code: The \widetext environment is only intended for placing full width equations into the middle of two column text. Using figure* creates full width figures in two column documents which can only be placed at the top or bottom of a page or on a float page, which is probably what's causing your figure placement issues. Enclosing the figure in a minipage with width=\textwidth creates a minipage the width of both columns that text outside of the minipage cannot enter.

If your intent is to simply have a figure in a single column embedded in the text, all you need to do is use the normal figure environment (no star), no minipage, and no flushleft:

\begin{figure}
    \includegraphics[width=\columnwidth]{image}
    \caption{mycaption}
    \label{fig1}
\end{figure}

Note, the \textwidth in the width option of your figure command means something different now that it's out of the minipage. The minipage was a single column and \textwidth referred to the width of the entire minipage, but in this case, \textwidth is the width of both columns. You can use \columnwidth to refer to the width of a single column, if it's easier.

If you meant that you want a separate block of text that follows the figure in the right column, all you need to do is create two minipages inside the figure environment:

\begin{figure*}
    \begin{minipage}[b]{\columnwidth}
        \includegraphics[width=\textwidth]{image}
        \caption{mycaption}
        \label{fig1}
    \end{minipage}
    \hfill
    \begin{minipage}[b]{\columnwidth}
        Text here goes in the next column.
    \end{minipage}
\end{figure*}

Note the use of figure* to get the full text width for the environment and that each minipage is \columnwidth wide. The [b] argument for the minipage aligns the text contents to the bottom of each minipage and \hfill fills up the space in between the two minipages so they line up with the columns.

Related Question