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
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
\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:
Text here goes in the next column.
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.