![脚注のためのスペースを作るために下余白を移動する](https://rvso.com/image/472307/%E8%84%9A%E6%B3%A8%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%B8%8B%E4%BD%99%E7%99%BD%E3%82%92%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B.png)
同様の質問をたくさん見ましたが、回答はありませんでした。本文のサイズを変えずに、本文の下に脚注を表示したいです。脚注が大きすぎる場合(脚注には本文の余白よりも低い独自の下余白が必要です)にのみ、本文を上に移動させたいと思います。私が求めているもののおおよそのアイデアは次のとおりです(ペイントスキルが下手で申し訳ありません)
これまでで一番近かったのがこれ
\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}%
}
つまり、それほど遠くはありません。変位距離が正しくなく、脚注の行数、最初の脚注とテキスト間の間隔、および脚注自体の間隔が考慮されていません。詳細を追加しようとすると、エラー メッセージが表示されます。memoir クラスを使用しています。これを実現する方法はありますか?
UPD: 私は他の場所ではLuaを使用していないので、XeLaTexに解決策があればそれを使用できます
UPD2: 私が探しているロジックは、おおよそ次のとおりです。
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.
すべての脚注の余白を下げることができたことを考えると、これは Lua で可能であるはずだと私は思います。