I'm writing a two sided LaTeX document and would like tables / figures (floats) to be depicted
) in the best case, immediately after the end of the sentence in which the float is referred to with \ref{...} for the first time and
) in the worst case, still on either the current even (left) or odd (right) page.
To elaborate,
) if the float is referred to on the even (left) page number x, the float is to be depicted on that even (left) page with number x or on the odd (right) page with number x+1 and
) if the float is referred to on the odd (right) page number x+1, the float is to be depicted on that odd (right) page with number x+1 or on the even (left) page with number x.
How do I achieve this? Is there perhaps a way to put \FloatBarriers just before the next even (left) page?
Minimum working example:
\documentclass{book}
\usepackage{lipsum}
\usepackage{showframe}
\usepackage{tikz}
\begin{document}
\lipsum[1-6]
Figure~\ref{float1}. \lipsum[1]
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}[scale=1]
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{center}
\caption{Test picture 1.}
\label{float1}
\end{figure}
Figure~\ref{float2}. \lipsum[2]
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}[scale=1]
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{center}
\caption{Test picture 2.}
\label{float2}
\end{figure}
Figure~\ref{float3}. \lipsum[3]
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}[scale=1]
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{center}
\caption{Test picture 3.}
\label{float3}
\end{figure}
Figure~\ref{float4}. \lipsum[4]
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}[scale=1]
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{center}
\caption{Test picture 4.}
\label{float4}
\end{figure}
Figure~\ref{float5}. \lipsum[5]
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}[scale=1]
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{center}
\caption{Test picture 5.}
\label{float5}
\end{figure}
Figure~\ref{float6}. \lipsum[6]
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}[scale=1]
\fill (0,0) rectangle (1,1);
\end{tikzpicture}
\end{center}
\caption{Test picture 6.}
\label{float6}
\end{figure}
\end{document}
Here, float 6 is referred to on the odd (right) page 3 but placed on the even (left) page 4. It should be restricted to being placed no later than the odd-even page set 2-3.
\ref{...}occurs, which is usually when the float is introduced ;). – Adriaan Apr 28 '15 at 19:16