سلام
اگه به تعریف محیط traditionalpoem
مراجعه کنیم، میبینیم که از دستور poemskip
معادل با \medskip
، در انتهای این محیط استفاده شده است. دستور medskip
فاصلهٔ عمودی اضافه میکند؛ پس میتونیم این دستور رو از این محیط برداریم. کافیه بعد از بستهٔ xepersian
از این کدها استفاده کنیم:
\makeatletter
\bidi@patchcmd{\@endtraditionalpoem}{\poemskip}{\relax}{}{}
\makeatother
اگه هم بخواهید این فاصله رو کمتر کنید (صفر نکنید)، بهجای \relax
بنویسید \smallskip
.
ایجاد محیط جدید که فاصله ندارد
اگه قصد استفادهٔ محلی از حالت بدون فضای اضافه دارید، میتونید محیط جدید تعریف کنید:
\makeatletter
\newenvironment{mypoem}%
{\bidi@patchcmd{\@endtraditionalpoem}{\poemskip}{\relax}{}{}
\@traditionalpoem}%
{\@endtraditionalpoem}
\makeatother
و در متن، بهجای traditionalpoem
از mypoem
استفاده کنید.
جلوگیری از تداخل با پاورقی
در کلاسهایی که پاورقی ممکنه در پایینترین قسمت صفحه قرار نگیره، میتونیم از دستور زیر استفاده کنیم:
\bidi@pretocmd{\footnoterule}{\vfill}{}{}
یا
\AddToHook{cmd/footnoterule/before}{\vfill}
✨