1

I have a figure (in a rectangular frame), with blank space on the top two thirds of the left half of the image. I want to let paragraph text continue through this blank area (as if the figure didn't exist). How can I allow my text to continue on the figure?

\begin{tabular}{ccc}

\begin{minipage}{.3\linewidth}
\begin{itemize}
\item I want to continue this on the figure,
\item overwriting whatever is on the figure under the text. 
\item The reason is that the figure has lots of blank space here
\item though the figure not rectangular; 
\item part of the image will be right  below this bullet point
\end{itemize}
\end{minipage}

\begin{minipage}{.3\linewidth}
\begin{figure}  
\hspace*{-3cm}
\centering
\includegraphics[scale=0.25]{figure.pdf}
\end{figure}
\vspace*{-1cm}
\end{minipage}

\begin{minipage}{.3\linewidth}
\begin{itemize}
\item I will put some more text here
\item but I am more concerned about the one on the left. 
\end{itemize}
\end{minipage}

\end{tabular}

With \hspace*{-3cm}, the figure is given priority over the text and so it overwrites and hides the text, while I want to achieve the opposite effect.

  • Do you mean figure (floating object) or just an image? In this second case I think you could use shapepar. In any case a complete and compilable example would be better than just a code fragment. – Ignasi Oct 22 '15 at 08:48
  • Or maybe you are looking for a way to trim the image's white space? – Bordaigorl Oct 22 '15 at 08:52
  • I usually just edit my figures in Paint to remove all excess white space. – BenneB Oct 22 '15 at 09:19
  • Apparently, my question has already been answered here: [http://tex.stackexchange.com/questions/133955/beamer-how-to-place-images-behind-text-z-order]. – XymatrixUser Oct 22 '15 at 13:07
  • Thanks for the suggestions; I wasn't able to remove the white space, since to achieve this, I would need a non-rectangular image at the end, which I was told is not possible. As for shapepar, it seemed quite complicated, compared to the answer given in the link above. – XymatrixUser Oct 22 '15 at 13:13
  • If I understood correctly, I think this is the same question than this another – JLDiaz Oct 22 '15 at 17:25

1 Answers1

2

This looks like a job for \tikzmark!

Specifically, you need to print the image BEFORE the text, and therefore before you know where to text is going to be. \tikzmark saves the location on the aux file to be used the next time LaTeX runs. The [inner sep=0pt] in only important if you decide to align the edges rather than the center.

BTW, your tabular is wider than \textwidth. There are better ways to align minipages horizontally.

\documentclass{article}
\usepackage{showframe}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node[inner sep=0pt, xshift=-2cm, yshift=-1cm] at (pic cs:stickit) 
  {\includegraphics[scale=0.4]{example-image}};
\end{tikzpicture}

\noindent\begin{tabular}{ccc}
\begin{minipage}{.3\linewidth}
\begin{itemize}
\item I want to continue this on the figure,
\item overwriting whatever is on the figure under the text. 
\item The reason is that the figure has lots of blank space here
\item though the figure not rectangular; 
\item part of the image will be right  below this bullet point
\end{itemize}
\end{minipage}
&
\begin{minipage}{.3\linewidth}
\centering\tikzmark{stickit}
\end{minipage}
&
\begin{minipage}{.3\linewidth}
\begin{itemize}
\item I will put some more text here
\item but I am more concerned about the one on the left. 
\end{itemize}
\end{minipage}
\end{tabular}
\end{document}

overlay image first

Don't forget to run it twice.

John Kormylo
  • 79,712
  • 3
  • 50
  • 120