我有一个带有动态内容的自定义标题。我的内容由表格、条目和段落组成。我在内容的每个部分中使用samepage
带有多个的环境 ( ) ,以确保两者之间的内容将位于新页面上,或者至少将保留在两页上。\nopagebreak
\nopagebreak
内容已正确分隔。问题是整个内容的标题没有跟随内容的开头。标题停留在第 2 页,内容从第 3 页开始。这是我用于标题的代码。
\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}
我看到有 minipage 和 needspace 可用于不可破坏的块,但问题是我有动态内容,所以我不知道它的长度。我也尝试将其放在\nopagebreak
标题之后或之前,但它不起作用。
我的标题和动态内容位于一个samepage
块内。
任何想法如何解决这一问题?
答案1
我在文档中看到过snugshade
(这里) 它使用了一种colorbox
已定义颜色的名为 shadecolor 的控件。当我使用提供的代码中的颜色框时,内容被正确分离。因此,我尝试使用如下表格重新创建 snugshade:
\colorbox{shadecolor}{
\begin{tabular}{@{}>{}p{\linewidth}@{}}
\fontsize{13}{6}\selectfont\textbf{Testing}
\end{tabular}}\\