I am trying to make a recipe book. I want to have a pagebreak before each new recipe except it can fit on the remaining space of the page.
I first try to include my recipe in minipage, but recipes longer than a page are displayed on one page (and or cutted).
The I try Needspace package which does not seem to be what I want, because I do not want to loose space if a short recipe can fit in the remaining space of the page.
Here is a non-working example : I would like section2 on a new page.
\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}
EDIT
@David Calisle : Thanks for help. Perhaps I misuse needspace : if I would like section 2 on new page (because it does not fit on the remaining space) I need to use \needspace{.7\textheight} (0.6 is not enough). But now Section4 is sent to a new page while it could fit below the section3 (on the same page).
Here is an overleaf link of the code below : 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}
\filbreak
before each\section
.