
Estoy intentando hacer un libro de recetas. Quiero tener un salto de página antes de cada nueva receta, excepto que quepa en el espacio restante de la página.
Primero intento incluir mi receta en una minipágina, pero las recetas de más de una página se muestran en una sola página (o se cortan).
Probé el paquete Needspace, que no parece ser lo que quiero, porque no quiero perder espacio si una receta corta cabe en el espacio restante de la página.
Aquí hay un ejemplo que no funciona: me gustaría que la sección 2 estuviera en una página nueva.
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[a6paper]{geometry}
\usepackage[french]{babel}
\usepackage{lipsum}
\linespread{1.5}
\newenvironment{env1}{\vspace{-1em}\begin{flushright} \itshape }{\end{flushright}\vspace{-1em}}
\title{Test2}
\begin{document}
\section*{section 1}
\begin{env1}
env1 text
\end{env1}
\lipsum[1][1-4]
\section*{section 2}
\begin{env1}
env1 text
\end{env1}
\begin{enumerate}
\item item1
\item item2
\item item3
\end{enumerate}
\lipsum[1][1-4]
\section*{section 3}
\begin{env1}
env1 text
\end{env1}
\lipsum[1][1-4]
\begin{enumerate}
\item item1
\item item2
\item item3
\item item4
\item item5
\item item6
\end{enumerate}
\section*{section 4}
\begin{env1}
env1 text
\end{env1}
\lipsum[1][1-3]
\end{document}
EDITAR
@David Calisle: Gracias por la ayuda. Quizás hago un mal uso de needspace: si quiero la sección 2 en una página nueva (porque no cabe en el espacio restante), necesito usar \needspace{.7\textheight} (0,6 no es suficiente). Pero ahora la Sección 4 se envía a una página nueva, aunque podría caber debajo de la Sección 3 (en la misma página).
Aquí hay un enlace al dorso del código siguiente:https://www.overleaf.com/read/mdstfpxpwwsp
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{needspace}
\usepackage[a6paper]{geometry}
\usepackage[french]{babel}
\usepackage{lipsum}
\usepackage{titlesec}
\linespread{1.5}
\let\LaTeXStandardSection\section
\makeatletter
\renewcommand{\section}[1]{\needspace{0.7\textheight}\LaTeXStandardSection{#1} }
\makeatother
\newenvironment{env1}{\vspace{-1em}\begin{flushright} \itshape }{\end{flushright}\vspace{-1em}}
\title{Test2}
\begin{document}
\section{section 1}
\begin{env1}
env1 text
\end{env1}
\lipsum[1][1-2]
\section{section 2}
\begin{env1}
env1 text
\end{env1}
\begin{enumerate}
\item item1
\item item2
\item item3
\end{enumerate}
\lipsum[1][1-4]
\section{section 3}
\begin{env1}
env1 text
\end{env1}
\lipsum[1][1-2]
\begin{enumerate}
\item item1
\item item2
\end{enumerate}
\section{section 4}
\begin{env1}
env1 text
\end{env1}
\lipsum[1][1-2]
\end{document}
Respuesta1
Donals Arseneau dame la respuesta que necesito. Pero no puedo elegir esta respuesta porque es un comentario. Al agregar \filbreak antes de todas las secciones, lo que necesito es el comportamiento del salto de página.
\let\LaTeXStandardSubsection\subsection
\makeatletter
\renewcommand{\subsection}[1]{\filbreak\LaTeXStandardSubsection{#1}}
\makeatother
Gracias por toda tu ayuda.