将公式作为段落的一部分放在同一页上

将公式作为段落的一部分放在同一页上

我希望将带有项目列表的方程式作为段落的一部分,使得方程式和项目列表之间没有分页符,但段落中间可以有分页符。

目前我正在使用:

\def\formula#1#2{
\begin{samepage}
    \begin{align} 
    #1 
    \end{align}  where 
    \begin{itemize}
    #2
    \end{itemize}
\end{samepage}
}

例如像 那样使用The formula is given by: \formula{f(x)=x^2}{\item $x$ is some variable}

然而,这似乎导致它所用的整个段落没有分页符。

我尝试使用minipage环境,但这会导致小页面从行结束的地方开始;它向右移动,因此公式开始后的句子部分被打印到其左侧。在句子\\*和公式之间引入换行符 ( ) 会导致错误,因为我有时确实将命令用作单独的段落,在这种情况下没有行可以结束。

我也尝试过\nopagebreak[4],但似乎没有任何作用。

我怎样才能将等式和项目放在同一页上,而不必将整个段落也放在该页面上?

答案1

\documentclass[a5paper]{article}
\usepackage{amsmath}
\def\formula#1#2{\par\noindent%
   \minipage{\linewidth}\noindent
    \belowdisplayskip=0pt
    \belowdisplayshortskip=0pt
    \begin{align} 
    #1 
    \intertext{%
      \parbox[t]{\linewidth}{%
      where  \\[-\normalbaselineskip]
      \begin{itemize}
      #2
      \end{itemize}\vspace{-\normalbaselineskip}}}\nonumber
    \end{align}
   \endminipage
}

\begin{document}
Lorem ipsum dolorsitamet, consecteturadipisicingelit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minimveniam, exercitationullamcolaborisnisi ut aliquipexeacommodoconsequat. Duisautereprehenderit in voluptatevelit esse cillumdolore eu fugiatnullapariatur. Occaecatcupidatat non proident, sunt in culpa quiofficiadeseruntmollit. 
\formula{f(x) &= x^2}{\item $x$ is some variable}
Lorem ipsum dolorsitamet, consecteturadipisicingelit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minimveniam, exercitationullamcolaborisnisi ut aliquipexeacommodoconsequat. Duisautereprehenderit in voluptatevelit esse cillumdolore eu fugiatnullapariatur. Occaecatcupidatat non proident, sunt in culpa quiofficiadeseruntmollit. 

\end{document}

相关内容