Mover el margen inferior para dejar espacio para notas a pie de página

Mover el margen inferior para dejar espacio para notas a pie de página

Vi muchas preguntas similares, pero no vi ninguna respuesta. Quiero que las notas a pie de página aparezcan debajo del cuerpo principal del texto, sin cambiar el tamaño del cuerpo principal. Sólo en el caso de una nota al pie que sea demasiado grande (debe tener su propio margen inferior, más bajo que el margen del texto principal), quiero que mueva el cuerpo principal del texto hacia arriba. Aquí tienes una idea aproximada de lo que estoy buscando (perdón por mis habilidades con la pintura)El diseño de la página

Esto es lo más cerca que he estado hasta ahora.

\begin{luacode}
function enlarge_page()
  tex.print("\\enlargethispage{\\custom_distance}")
end
\end{luacode}

\let\oldfootnote\footnote
\renewcommand{\footnote}[1]{%
  \directlua{enlarge_page()} % Call the Lua function to enlarge the page
  \oldfootnote{#1}%
}

es decir, no muy lejos: la distancia de desplazamiento es incorrecta, no tiene en cuenta el número de líneas de una nota al pie, la diferente separación entre la primera nota al pie y el texto, y entre las propias notas al pie. Cualquier intento de incluir más detalles generó un mensaje de error. Estoy usando la clase de memorias. ¿Hay alguna manera de lograr esto?

UPD: No uso Lua en ningún otro lugar, así que si hay una solución en XeLaTex, puedo usarla.

UPD2: Esta es aproximadamente la lógica que estoy buscando:

if footnote in page : lower bottom margin by a specific constant amount
for every footnote in page : lower bottom margin by distance between footnotes + (footnote length/55)* line height 
% There are roughly 55 characters per line in the footnotes
if bottom margin < the lowest possible point: bottom margin = the lowest possible point.

Creo que esto debería ser posible en Lua, considerando que logré reducir el margen para cada nota al pie.

información relacionada