1

I know that with images, you should never use floats if you don't want them to float. Therefore, I use minipages when I want my images to be in an exact location. However, I have not found an example regarding tables. Here is a MWE of what I am trying to achieve, but failing to do so. Can someone provide me with a working solution.

Minimal Working Example:

\documentclass[12pt]{article}
\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam elementum fermentum quam, vel scelerisque orci elementum condimentum. Morbi lacus mi, auctor varius quam non, ornare auctor ipsum. Suspendisse a metus mattis, laoreet velit eget, laoreet erat. Etiam bibendum nisl in urna laoreet feugiat. Etiam tincidunt fringilla purus, sit amet egestas ligula tincidunt in. Duis velit velit, elementum sit amet maximus id, vestibulum eu justo. Vivamus volutpat at turpis a mattis.

Praesent sagittis justo sit amet leo facilisis, sit amet faucibus magna faucibus. Sed varius sodales quam. Maecenas id pretium odio, eu finibus mauris. Etiam a velit a dui maximus accumsan at vitae mauris. Aliquam tristique sapien sagittis arcu scelerisque, quis rhoncus metus tincidunt. Praesent ullamcorper elit non tincidunt pharetra. Praesent leo purus, hendrerit sit amet ligula eu, dignissim malesuada dolor. Interdum et malesuada fames ac ante ipsum primis in faucibus. In eu malesuada ipsum. Vestibulum ante quam, facilisis non leo in, lacinia faucibus metus. Vestibulum elit nisl, dictum id nunc quis, accumsan eleifend magna.

Etiam ut tempor ex. Morbi sed scelerisque augue, at sollicitudin est. Integer fringilla, felis id egestas auctor, ligula lorem fringilla dolor, a ultricies tellus nisl quis felis. Vestibulum mollis nibh eu enim varius, a gravida orci sollicitudin. Nulla mollis massa sed finibus ornare. Phasellus tincidunt neque nec justo placerat, eu ornare mi egestas. Suspendisse vehicula efficitur orci, sed aliquam sapien. Morbi placerat finibus enim id euismod. Cras pellentesque sapien eget ex posuere tincidunt. Nunc a varius ipsum. Suspendisse in urna quis est porta faucibus ac ac nulla. Pellentesque finibus, lacus ut efficitur scelerisque, lorem nisi laoreet ante, eu semper est mauris sed ligula.

Duis sed ante ac felis consectetur ultricies vitae a turpis. In egestas lacus sit amet lorem mattis, at rhoncus nisl volutpat. Mauris ullamcorper, libero nec mattis tristique, neque nisi tincidunt libero, sit amet tincidunt ex nibh vel tortor. Mauris et blandit nisi. Donec et purus quis neque varius finibus. Sed aliquam, enim quis pretium euismod, erat ante hendrerit ligula, a pulvinar ipsum augue eget mi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean urna quam, cursus quis felis sed, aliquet blandit justo.

Nullam venenatis quam a sapien dapibus, nec hendrerit lacus sollicitudin. Sed vestibulum sodales tortor. Suspendisse pulvinar sapien sed congue commodo. Donec maximus lacus a sapien rhoncus elementum. Quisque sed nulla tempus, convallis neque non, pretium nibh. Fusce ultrices tempus magna at consequat. Suspendisse varius sed felis sed sagittis. 

BELOW HERE

\begin{table}
   \footnotesize
   \makebox[\linewidth]{%        to center the image
      \begin{minipage}{\linewidth}
         \centering
         \begin{tabular}{| l|l}
            \hline  First Name& Last Name\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline
         \end{tabular}
         \caption{xxx}
         \label{tab:singlebest}
      \end{minipage}
   }
\end{table}

ABOVE HERE

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam elementum fermentum quam, vel scelerisque orci elementum condimentum. Morbi lacus mi, auctor varius quam non, ornare auctor ipsum. Suspendisse a metus mattis, laoreet velit eget, laoreet erat. Etiam bibendum nisl in urna laoreet feugiat. Etiam tincidunt fringilla purus, sit amet egestas ligula tincidunt in. Duis velit velit, elementum sit amet maximus id, vestibulum eu justo. Vivamus volutpat at turpis a mattis.

BELOW HERE

\begin{table}
   \footnotesize
   \makebox[\linewidth]{%        to center the image
      \begin{minipage}{\linewidth}
         \centering
         \begin{tabular}{| l|l}
            \hline  First Name& Last Name\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline
         \end{tabular}
         \caption{xxx}
         \label{tab:singlebest}
      \end{minipage}
   }
\end{table}

ABOVE HERE

Praesent sagittis justo sit amet leo facilisis, sit amet faucibus magna faucibus. Sed varius sodales quam. Maecenas id pretium odio, eu finibus mauris. Etiam a velit a dui maximus accumsan at vitae mauris. Aliquam tristique sapien sagittis arcu scelerisque, quis rhoncus metus tincidunt. Praesent ullamcorper elit non tincidunt pharetra. Praesent leo purus, hendrerit sit amet ligula eu, dignissim malesuada dolor. Interdum et malesuada fames ac ante ipsum primis in faucibus. In eu malesuada ipsum. Vestibulum ante quam, facilisis non leo in, lacinia faucibus metus. Vestibulum elit nisl, dictum id nunc quis, accumsan eleifend magna.

Etiam ut tempor ex. Morbi sed scelerisque augue, at sollicitudin est. Integer fringilla, felis id egestas auctor, ligula lorem fringilla dolor, a ultricies tellus nisl quis felis. Vestibulum mollis nibh eu enim varius, a gravida orci sollicitudin. Nulla mollis massa sed finibus ornare. Phasellus tincidunt neque nec justo placerat, eu ornare mi egestas. Suspendisse vehicula efficitur orci, sed aliquam sapien. Morbi placerat finibus enim id euismod. Cras pellentesque sapien eget ex posuere tincidunt. Nunc a varius ipsum. Suspendisse in urna quis est porta faucibus ac ac nulla. Pellentesque finibus, lacus ut efficitur scelerisque, lorem nisi laoreet ante, eu semper est mauris sed ligula.

Duis sed ante ac felis consectetur ultricies vitae a turpis. In egestas lacus sit amet lorem mattis, at rhoncus nisl volutpat. Mauris ullamcorper, libero nec mattis tristique, neque nisi tincidunt libero, sit amet tincidunt ex nibh vel tortor. Mauris et blandit nisi. Donec et purus quis neque varius finibus. Sed aliquam, enim quis pretium euismod, erat ante hendrerit ligula, a pulvinar ipsum augue eget mi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean urna quam, cursus quis felis sed, aliquet blandit justo.

Nullam venenatis quam a sapien dapibus, nec hendrerit lacus sollicitudin. Sed vestibulum sodales tortor. Suspendisse pulvinar sapien sed congue commodo. Donec maximus lacus a sapien rhoncus elementum. Quisque sed nulla tempus, convallis neque non, pretium nibh. Fusce ultrices tempus magna at consequat. Suspendisse varius sed felis sed sagittis. 
\end{document}
  • 2
    Table environments float, tabular environments don't. Assuming you don't need a caption, why not remove the table environment surrounding everything? – Mike Renfro Aug 10 '15 at 7:36
  • @MikeRenfro to be perfectly honest, I have no idea what I am doing. I want it to to have table rows, a table number, a caption and a label, but I don't want it to float off the face of the planet – puk Aug 10 '15 at 7:37
  • See this answer for some tips. They won't float off too far if you use the placeins package, or if the floats are small enough to work into the text. A common issue is people writing a large number of page-size floats and forcing LaTeX to choose from many bad options. – Mike Renfro Aug 10 '15 at 7:44
  • 1
  • table is like figure. It exists to make the content float. If you don't want the tabular to float, don't use table. Then you can use the \captionof command from caption or capt-of to create a caption. Basically, it is the same principle as for images and diagrams you don't want to float away. – cfr Aug 10 '15 at 8:06
2

In the case of the example code you've posted, all you need to do is to add the placement specifier [h!] to each begin{table} specifier. I would also omit the \makebox and minipage wrappers, as they seem to be doing nothing (except provide code clutter).

More generally, if you don't want tabular material to "float" (in the LaTeX sense of the word), don't encase it in a table environment. If the tabular-like material must be centered, encase it in a center environment. If you need a caption, load either the caption or the capt-of package and write

\captionof{table}{<text string>}

where <text string> should consist of the caption's text.


The following screenshot, which shows most of the contents of page two generated by your code, shows that the [h!] location specifier succeeded in both cases.

enter image description here

\documentclass[12pt]{article}
\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam elementum fermentum quam, vel scelerisque orci elementum condimentum. Morbi lacus mi, auctor varius quam non, ornare auctor ipsum. Suspendisse a metus mattis, laoreet velit eget, laoreet erat. Etiam bibendum nisl in urna laoreet feugiat. Etiam tincidunt fringilla purus, sit amet egestas ligula tincidunt in. Duis velit velit, elementum sit amet maximus id, vestibulum eu justo. Vivamus volutpat at turpis a mattis.

Praesent sagittis justo sit amet leo facilisis, sit amet faucibus magna faucibus. Sed varius sodales quam. Maecenas id pretium odio, eu finibus mauris. Etiam a velit a dui maximus accumsan at vitae mauris. Aliquam tristique sapien sagittis arcu scelerisque, quis rhoncus metus tincidunt. Praesent ullamcorper elit non tincidunt pharetra. Praesent leo purus, hendrerit sit amet ligula eu, dignissim malesuada dolor. Interdum et malesuada fames ac ante ipsum primis in faucibus. In eu malesuada ipsum. Vestibulum ante quam, facilisis non leo in, lacinia faucibus metus. Vestibulum elit nisl, dictum id nunc quis, accumsan eleifend magna.

Etiam ut tempor ex. Morbi sed scelerisque augue, at sollicitudin est. Integer fringilla, felis id egestas auctor, ligula lorem fringilla dolor, a ultricies tellus nisl quis felis. Vestibulum mollis nibh eu enim varius, a gravida orci sollicitudin. Nulla mollis massa sed finibus ornare. Phasellus tincidunt neque nec justo placerat, eu ornare mi egestas. Suspendisse vehicula efficitur orci, sed aliquam sapien. Morbi placerat finibus enim id euismod. Cras pellentesque sapien eget ex posuere tincidunt. Nunc a varius ipsum. Suspendisse in urna quis est porta faucibus ac ac nulla. Pellentesque finibus, lacus ut efficitur scelerisque, lorem nisi laoreet ante, eu semper est mauris sed ligula.

Duis sed ante ac felis consectetur ultricies vitae a turpis. In egestas lacus sit amet lorem mattis, at rhoncus nisl volutpat. Mauris ullamcorper, libero nec mattis tristique, neque nisi tincidunt libero, sit amet tincidunt ex nibh vel tortor. Mauris et blandit nisi. Donec et purus quis neque varius finibus. Sed aliquam, enim quis pretium euismod, erat ante hendrerit ligula, a pulvinar ipsum augue eget mi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean urna quam, cursus quis felis sed, aliquet blandit justo.

Nullam venenatis quam a sapien dapibus, nec hendrerit lacus sollicitudin. Sed vestibulum sodales tortor. Suspendisse pulvinar sapien sed congue commodo. Donec maximus lacus a sapien rhoncus elementum. Quisque sed nulla tempus, convallis neque non, pretium nibh. Fusce ultrices tempus magna at consequat. Suspendisse varius sed felis sed sagittis. 

BELOW HERE

\begin{table}[h!]
   \footnotesize  %% is this necessary?
   %%\makebox[\linewidth]{%        to center the image
      %%\begin{minipage}{\linewidth}
         \centering
         \begin{tabular}{| l|l|}
            \hline  First Name& Last Name\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline
         \end{tabular}
         \caption{xxx}
         \label{tab:singlebestxxx}
      %%\end{minipage}
   %%}
\end{table}

ABOVE HERE

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam elementum fermentum quam, vel scelerisque orci elementum condimentum. Morbi lacus mi, auctor varius quam non, ornare auctor ipsum. Suspendisse a metus mattis, laoreet velit eget, laoreet erat. Etiam bibendum nisl in urna laoreet feugiat. Etiam tincidunt fringilla purus, sit amet egestas ligula tincidunt in. Duis velit velit, elementum sit amet maximus id, vestibulum eu justo. Vivamus volutpat at turpis a mattis.

BELOW HERE

\begin{table}[h!]
   \footnotesize  %% is this necessary?
   %%\makebox[\linewidth]{%        to center the image
      %%\begin{minipage}{\linewidth}
         \centering
         \begin{tabular}{| l|l |}
            \hline  First Name& Last Name\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline  Jon& Smith\\
            \hline
         \end{tabular}
         \caption{yyy}
         \label{tab:singlebestyyy}
      %%\end{minipage}
   %%}
\end{table}

ABOVE HERE

Praesent sagittis justo sit amet leo facilisis, sit amet faucibus magna faucibus. Sed varius sodales quam. Maecenas id pretium odio, eu finibus mauris. Etiam a velit a dui maximus accumsan at vitae mauris. Aliquam tristique sapien sagittis arcu scelerisque, quis rhoncus metus tincidunt. Praesent ullamcorper elit non tincidunt pharetra. Praesent leo purus, hendrerit sit amet ligula eu, dignissim malesuada dolor. Interdum et malesuada fames ac ante ipsum primis in faucibus. In eu malesuada ipsum. Vestibulum ante quam, facilisis non leo in, lacinia faucibus metus. Vestibulum elit nisl, dictum id nunc quis, accumsan eleifend magna.

Etiam ut tempor ex. Morbi sed scelerisque augue, at sollicitudin est. Integer fringilla, felis id egestas auctor, ligula lorem fringilla dolor, a ultricies tellus nisl quis felis. Vestibulum mollis nibh eu enim varius, a gravida orci sollicitudin. Nulla mollis massa sed finibus ornare. Phasellus tincidunt neque nec justo placerat, eu ornare mi egestas. Suspendisse vehicula efficitur orci, sed aliquam sapien. Morbi placerat finibus enim id euismod. Cras pellentesque sapien eget ex posuere tincidunt. Nunc a varius ipsum. Suspendisse in urna quis est porta faucibus ac ac nulla. Pellentesque finibus, lacus ut efficitur scelerisque, lorem nisi laoreet ante, eu semper est mauris sed ligula.

Duis sed ante ac felis consectetur ultricies vitae a turpis. In egestas lacus sit amet lorem mattis, at rhoncus nisl volutpat. Mauris ullamcorper, libero nec mattis tristique, neque nisi tincidunt libero, sit amet tincidunt ex nibh vel tortor. Mauris et blandit nisi. Donec et purus quis neque varius finibus. Sed aliquam, enim quis pretium euismod, erat ante hendrerit ligula, a pulvinar ipsum augue eget mi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean urna quam, cursus quis felis sed, aliquet blandit justo.

Nullam venenatis quam a sapien dapibus, nec hendrerit lacus sollicitudin. Sed vestibulum sodales tortor. Suspendisse pulvinar sapien sed congue commodo. Donec maximus lacus a sapien rhoncus elementum. Quisque sed nulla tempus, convallis neque non, pretium nibh. Fusce ultrices tempus magna at consequat. Suspendisse varius sed felis sed sagittis. 
\end{document}
  • You may also use [H] specifier from the float package. – cacamailg Aug 10 '15 at 14:26
  • @cacamailg - I deliberately did not mention the [H} placement specifier in my answer, as I believe it does its job too well: If it's encountered while there isn't enough space left on the page to fit the float, LaTeX will create a huge gap and place the float at the top of the next page. This can't happen with [h!]. – Mico Aug 10 '15 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.