Taking ienissei's hint I tried to do this with komascript
s \ifthispageodd
command and encountered something interesting: As my MWE shows this doesn't produce stable results – each time I typeset the MWE the footnotes are broken differently:
\documentclass[twoside]{scrartcl}
\usepackage{bigfoot}
\interfootnotelinepenalty=8000
\newcommand*{\smartfootnote}[1]{\ifthispageodd{\interfootnotelinepenalty=10000}{\interfootnotelinepenalty=8000}\footnote{#1}\interfootnotelinepenalty=9000}
\usepackage{blindtext}
\begin{document}
\blindtext
\blindtext
\blindtext
\blindtext\smartfootnote{\blindtext}
\blindtext\smartfootnote{\blindtext}
\blindtext
\blindtext\smartfootnote{\blindtext\blindtext} \blindtext
\blindtext\blindtext\blindtext\smartfootnote{\blindtext} \blindtext
\end{document}
After the first run footnote 3 is broken across pages 2 and 3 as it should be, while footnote 4 is unbroken on page 4. After the second run, footnote 4 is broken across pages 3 and 4 which is wrong, after the third run, we're again correct. And so on and so on …
While I understand why this is happening, this is definitely not the last word on this.
chngpage
package (unless you are usingmemoir
, which implements it) to test whether the page is odd or even, and then something like\interfootnotelinepenalty=10000
(not sure how it interacts withbigfoot
).