لطفاً همیشه یک فایل کمینه که مشکل شما را نشان میدهد بفرستید، اینجوری من باید حدس بزنم فایل کمینه شما چه شکلیه. احتمالاً منظور شما چیزی مانند این هست:
\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\footnote{%
این زیرنویس پارسی است که داری متن لاتین هم هست.
\begin{latin}
This is a latin paragraph typeset inside a right to left footnote
\end{latin}
}
\footnote{%
این زیرنویس دوم راست به چپ است.
}
\footnote{%
این زیرنویس سوم راست به چپ است.
}
\end{document}
گذاشتن محیط لاتین یا اصلاً ایده حروفچینی پاراگراف لاتین داخل زیرنویس راست به چپ ایده درستی نیست. محیط LTR
همیشه در آغازش و انتهاش یک \par
وارد میکنه بنابراین این دلیل فاصلهای رو که میبینید توضیح میده. برای حل شدن مشکل به جای محیط LTR
از دستور \setLTR
و \resetlatinfont
استفاده کنید. دستور \setLTR
باعث میشه تا جهت پاراگراف چپ به راست بشه و دستور \resetlatinfont
قلم فعلی، را به قلم لاتین تغییر میدهد:
\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\footnote{%
این زیرنویس پارسی است که داری متن لاتین هم هست.
\setLTR
\resetlatinfont
This is a latin paragraph typeset inside a right to left footnote
}
\footnote{%
این زیرنویس دوم راست به چپ است.
}
\footnote{%
این زیرنویس سوم راست به چپ است.
}
\end{document}
توجه کنید که همیشه هنگامی که از دستور \setLTR
استفاده میکنید برای اینکه جهت پاراگراف از راست به چپ، به چپ به راست تغییر کند، باید قبل از دستور \setLTR
یک سطر خالی وجود داشته باشد بنابراین سطر خالی که من در زیرنویس اول قبل از دستور \setLTR
گذاشتم، بیعلت نیست.