在下一个例子中,我有一个段落和一些代码,它们应该放在同一页面上:
In the following example we show something:
\begin{minipage}{\linewidth}
\begin{lstlisting}
this
is
a
few
lines
of code
\end{lstlisting}
\end{minipage}
问题是 LaTeX 会在此位置插入换行符。相反,我更希望它在此段落开始之前分页。我试过\\
、\\*
等\nopagebreak
,但没成功。它要么将小页面置于内联(以便它浮动在页面中间),要么将其放在下一页。
编辑:更完整的例子:
\documentclass[paper=a4, fontsize=11pt,twoside]{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus velit mauris, mattis eget vehicula et, blandit scelerisque augue. Curabitur porttitor scelerisque consequat. Sed convallis in dui in elementum. Donec mollis tristique nisi vitae lacinia. Cras ullamcorper dolor urna, id lacinia augue euismod ut. Nam nec accumsan dolor. Etiam non ornare nisl, non consequat risus. Morbi sodales ornare magna at consequat. Aliquam feugiat suscipit egestas.
Aenean a leo ante. Nulla luctus interdum suscipit. Maecenas eu pharetra dolor. Vestibulum molestie in nibh non bibendum. In hac habitasse platea dictumst. Fusce at metus ac nisi rutrum accumsan et ac sem. Pellentesque pulvinar quis arcu id volutpat.
Aenean quis erat fermentum augue feugiat viverra. Etiam auctor arcu non massa condimentum porta. Nam vitae vulputate massa. Etiam consectetur, risus ac dignissim efficitur, nulla mauris mollis mi, a lobortis lacus nisi ac leo. Sed quis tempor nibh. Vestibulum id porta libero. Curabitur et lobortis dolor, a pharetra erat. Ut et ligula ultrices, ultricies dolor vel, molestie dui. Fusce iaculis at nisi a tincidunt. Aliquam tristique condimentum justo in pellentesque. Pellentesque euismod augue ut justo ultricies sodales. Pellentesque viverra convallis tellus egestas vestibulum. Curabitur feugiat imperdiet ante nec ultrices. Ut et posuere lorem. Ut pretium libero a varius dictum.
Nam vitae tellus malesuada orci lobortis laoreet. Etiam semper sem vel ex vestibulum accumsan. Phasellus vel gravida nibh. Cras quis nisi at ligula hendrerit euismod porttitor sed lorem. Donec eu cursus nisl. Morbi consequat orci vel tortor dictum, vel efficitur est maximus. Integer consectetur dui vitae nulla mollis egestas. Aliquam a augue in nibh iaculis volutpat. Sed a egestas neque, ac varius elit. Vestibulum malesuada ante ipsum, vel imperdiet nibh facilisis quis. Cras tristique enim vitae augue elementum, rutrum suscipit dui fringilla. Etiam pellentesque nisi at dolor ornare efficitur. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget velit nec massa suscipit ultrices. Integer et sagittis enim.
Ut tellus mi, viverra eget iaculis nec, sagittis at felis. Etiam non est quam. Praesent pulvinar varius egestas. Aenean ut odio ac mi sagittis rutrum. Nam volutpat, velit sed tempus mollis, augue nibh scelerisque dui, eget semper ex neque vel augue. Nulla posuere faucibus lorem, at ultricies nisl placerat non. Fusce cursus pellentesque porta. Curabitur sit amet ultricies nulla. Curabitur vitae congue enim. Suspendisse potenti. In nulla erat, porttitor vel dolor at, finibus malesuada turpis.
Pellentesque quis neque efficitur, egestas ex ut, cursus ante. Ut fermentum turpis at mi feugiat, nec blandit neque egestas. Nam viverra leo turpis. Vestibulum et malesuada diam. Quisque at posuere metus. Praesent quis elit ac enim tincidunt finibus. Curabitur sit amet metus diam. Sed sit amet nibh ac elit consequat ultricies sed at lorem.
Pellentesque a libero lectus. Ut neque velit, elementum et est ut, tincidunt venenatis nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla eleifend, erat et vulputate congue, tortor tortor hendrerit nulla, vulputate hendrerit massa ligula sit amet augue.
Maecenas rhoncus nec eros sit amet sodales. Vestibulum a gravida neque. Nunc. \\*
\begin{minipage}{\linewidth}
\begin{lstlisting}
this
is
a
few
lines
of code
\end{lstlisting}
\end{minipage}
\end{document}
问题是最后一段 (Maecenas rhoncus) 和小页面之间有一个新页面。我希望将最后一段移到下一页。
答案1
也许最简单的方法是使用\nopagebreak
\documentclass[paper=a4, fontsize=11pt,twoside]{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus velit mauris, mattis eget vehicula et, blandit scelerisque augue. Curabitur porttitor scelerisque consequat. Sed convallis in dui in elementum. Donec mollis tristique nisi vitae lacinia. Cras ullamcorper dolor urna, id lacinia augue euismod ut. Nam nec accumsan dolor. Etiam non ornare nisl, non consequat risus. Morbi sodales ornare magna at consequat. Aliquam feugiat suscipit egestas.
Aenean a leo ante. Nulla luctus interdum suscipit. Maecenas eu pharetra dolor. Vestibulum molestie in nibh non bibendum. In hac habitasse platea dictumst. Fusce at metus ac nisi rutrum accumsan et ac sem. Pellentesque pulvinar quis arcu id volutpat.
Aenean quis erat fermentum augue feugiat viverra. Etiam auctor arcu non massa condimentum porta. Nam vitae vulputate massa. Etiam consectetur, risus ac dignissim efficitur, nulla mauris mollis mi, a lobortis lacus nisi ac leo. Sed quis tempor nibh. Vestibulum id porta libero. Curabitur et lobortis dolor, a pharetra erat. Ut et ligula ultrices, ultricies dolor vel, molestie dui. Fusce iaculis at nisi a tincidunt. Aliquam tristique condimentum justo in pellentesque. Pellentesque euismod augue ut justo ultricies sodales. Pellentesque viverra convallis tellus egestas vestibulum. Curabitur feugiat imperdiet ante nec ultrices. Ut et posuere lorem. Ut pretium libero a varius dictum.
Nam vitae tellus malesuada orci lobortis laoreet. Etiam semper sem vel ex vestibulum accumsan. Phasellus vel gravida nibh. Cras quis nisi at ligula hendrerit euismod porttitor sed lorem. Donec eu cursus nisl. Morbi consequat orci vel tortor dictum, vel efficitur est maximus. Integer consectetur dui vitae nulla mollis egestas. Aliquam a augue in nibh iaculis volutpat. Sed a egestas neque, ac varius elit. Vestibulum malesuada ante ipsum, vel imperdiet nibh facilisis quis. Cras tristique enim vitae augue elementum, rutrum suscipit dui fringilla. Etiam pellentesque nisi at dolor ornare efficitur. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec eget velit nec massa suscipit ultrices. Integer et sagittis enim.
Ut tellus mi, viverra eget iaculis nec, sagittis at felis. Etiam non est quam. Praesent pulvinar varius egestas. Aenean ut odio ac mi sagittis rutrum. Nam volutpat, velit sed tempus mollis, augue nibh scelerisque dui, eget semper ex neque vel augue. Nulla posuere faucibus lorem, at ultricies nisl placerat non. Fusce cursus pellentesque porta. Curabitur sit amet ultricies nulla. Curabitur vitae congue enim. Suspendisse potenti. In nulla erat, porttitor vel dolor at, finibus malesuada turpis.
Pellentesque quis neque efficitur, egestas ex ut, cursus ante. Ut fermentum turpis at mi feugiat, nec blandit neque egestas. Nam viverra leo turpis. Vestibulum et malesuada diam. Quisque at posuere metus. Praesent quis elit ac enim tincidunt finibus. Curabitur sit amet metus diam. Sed sit amet nibh ac elit consequat ultricies sed at lorem.
Pellentesque a libero lectus. Ut neque velit, elementum et est ut, tincidunt venenatis nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla eleifend, erat et vulputate congue, tortor tortor hendrerit nulla, vulputate hendrerit massa ligula sit amet augue.
Maecenas rhoncus nec eros sit amet sodales. Vestibulum a gravida neque. Nunc.
\nopagebreak
\noindent\begin{minipage}[t]{\linewidth}
\begin{lstlisting}
this
is
a
few
lines
of code
\end{lstlisting}
\end{minipage}
\end{document}