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}
7
  • 2
    Table environments float, tabular environments don't. Assuming you don't need a caption, why not remove the table environment surrounding everything? Commented Aug 10, 2015 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
    Commented Aug 10, 2015 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. Commented Aug 10, 2015 at 7:44
  • 1
    Related Keeping tables/figures close to where they are mentioned
    – Johannes_B
    Commented Aug 10, 2015 at 7:53
  • 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
    Commented Aug 10, 2015 at 8:06

1 Answer 1

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}
2
  • You may also use [H] specifier from the float package.
    – cacamailg
    Commented Aug 10, 2015 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
    Commented Aug 10, 2015 at 15:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .