I have a custom heading with dynamic content. My content is composed with tabulars, itemize and paragraphs. I am using the environment (samepage
) with severals \nopagebreak
in each part of the content to ensure that the content between two \nopagebreak
will be on a new page or at least will stay together on two pages.
The content is correctly seperated. The problem is the header of the whole content doesn't follow the start of the content. The header stays in page 2 and the content starts at page 3. Here's the code that I use for the header.
\documentclass[12pt]{article}
\usepackage{lipsum}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{framed}
\usepackage[parfill]{parskip}
\definecolor{shadecolor}{RGB}{217,217,217}
\usepackage[left=0.75in,top=1.5in,right=0.75in,bottom=1in]{geometry}
\begin{document}
\lipsum[1]
\lipsum[2]
\lipsum[3]
\begin{samepage}
\nopagebreak
\begin{snugshade*}{\fontsize{13}{6}\selectfont\textbf{Testing}}\end{snugshade*}
\nopagebreak
\lipsum[4]
\nopagebreak
\lipsum[5]
\nopagebreak
\lipsum[6]
\end{samepage}
\end{document}
I saw that there's the minipage and needspace that I can use for undestructible blocks but the problem is that I have dynamic content so I do not know the lenght of it.
I also try to put \nopagebreak
after or before the header but it doesn't work.
My header and the dynamic content are inside one samepage
block.
Any ideas how to fix this?
snugshade*
is.snugshade
makes a colored rectangle under the text.snugshade*
is the same except that the left margin is aligned with the text below. Thesnugshade
is aligned to the document margin.snugshade*
that would do the work I want.