pdflatex
正在运行
\documentclass{article}
\usepackage{listings}
\begin{document}
\vspace*{121ex}% writing 122ex instead of 121ex leads to breaking just after the upper bar.
\begin{lstlisting}[frame=tb]
a single code line
\end{lstlisting}
\end{document}
在下方栏之前产生分页符:
我们的非最小示例也是一行代码,因此它是有意义的
A. 将代码与上下分隔线完全放在一页上,
或者——这是一个略有不同的目标,但对我们来说也可以——
乙. 避免在刚好在上方栏之后和刚好在下方栏之前出现分页符。
实现这两个目标的方法可能有很多种,那么最好的或最标准的方法是什么呢?据我所知,列表文档中没有提到分页符。(目标的解决方案乙比目标更受欢迎A。我们的环境:在我们的非最小示例中,我们使用 Springer 的 svmono.cls 和 NewTX 字体。)
为了A,我们尝试了 minipage,但不知道如何垂直正确地将代码与上面的文本分开:
\documentclass{article}
\usepackage{listings,lipsum}
\begin{document}
\vspace*{88ex}
\lipsum[1]
\smallskip% not sure about the standard vertical skip above the lstlistings.
\begin{minipage}{\linewidth}% causes too small vertical spacing above. Adding \smallskip increases the space below. (Why?)
\begin{lstlisting}[frame=tb]
a single code line
\end{lstlisting}%
\end{minipage}\par
\lipsum[2]
\end{document}
产量
为了乙,我们没有解决方案。因此乙非常受欢迎。
已通知维护者。