我有 3 段代码,我用lstlistings
它在我的文章中展示。
第三个清单的标题是上一页,环境的内容在新页面中。
如何纠正这个错误?
由于我不知道如何产生这种情况,因此我没有给出 MWE。
我正在提供我在环境中使用的选项。
\begin{lstlisting}[caption={This Captions should stick with the below code and should not be in the previous page}\label{lst:somefunction}, mathescape]
def somefunction(A,beta, epsilon, d, NIter, realPrec):
code ....
return X
\end{lstlisting}
答案1
自动阻止分页并不容易——必须先确定所有可能的分页点。但您可以使用 needspace 包:
\documentclass{article}
\usepackage{listings}
\usepackage{needspace}
\begin{document}
\vspace*{41\baselineskip}
abc
\Needspace*{4\baselineskip}
\begin{lstlisting}[caption={This Captions should stick with the below code and should not be in the previous page}\label{lst:somefunction}, mathescape]
def somefunction(A,beta, epsilon, d, NIter, realPrec):
code ....
return X
\end{lstlisting}
\end{document}
答案2
假设您正在使用“listings”包,该\lstlistings
命令可以采用可选参数float
(除了caption
)。例如
\begin{lstlisting}[float=tp,%
caption={This Captions should stick with the below code and should not be in the previous page}\label{lst:somefunction},%
mathescape]
def somefunction(A,beta, epsilon, d, NIter, realPrec):
/*code ....*/
return X
\end{lstlisting}