\minipage
works well when used in conjunction with the line width. To prevent overfull hbox's you need to use:
\noindent\begin{minipage}{\linewidth}
content on same page
\end{minipage}
The key is \linewidth
. \linewidth
is equivalent to the text width (\textwidth
) when not in a list. When in a list, \linewidth
accounts for the indentation of the list. One other item that may or may not be so obvious is you should have a blank line before the minipage block. If you don't the minipage block will become part of the text it's attached to and cause the overfull hbox. Example:
content 1
\noindent\begin{minipage}{\linewidth}
content on same page
\end{minipage}
content 2
In How make sure two elements stay on the same page? the suggestion was to use \textwidth but that doesn't work when in a list.