این مشکل از آن مشکلی که در راهنمای بسته bidi به آن اشاره شده است، متفاوت است هر چند هر دو یک پیام خطا را تولید میکنند.
چرا این مشکل رخ میدهد؟
دستور \paragraphfootnotes مقداری محاسبات انجام میدهد. یکی از این محاسبات این است که \baselineskip را تقسیم بر \hsize میکند. در کلاس imsproc تعدادی از بستههای ams فراخوانی میشود و کاری که این بستهها انجام میدهند این است که در پیشدرآمد مقدار \hsize صفر است اما بعد از شروع نوشتار، مقدارش برابر با \textwidth است. این مطلب رو میتونید خیلی راحت خودتون امتحان کنید:
\documentclass{imsproc}
\usepackage[extrafootnotefeatures]{xepersian}
\settextfont{XB Niloofar}
\showthe\hsize
\paragraphfootnotes
\begin{document}
مقداری متن نمونه\LTRfootnote{A footnote!}
\end{document}
و مقداری که در console به شما نمایش داده میشه اینه:
> 0.0pt.
در صورتی که اگر مقدار \hsize رو بخواهید بعد از شروع نوشتار بدونید:
\documentclass{imsproc}
\usepackage[extrafootnotefeatures]{xepersian}
\settextfont{XB Niloofar}
%\paragraphfootnotes
\begin{document}
\showthe\hsize
مقداری متن نمونه\LTRfootnote{A footnote!}
\end{document}
و حالا مقدار زیر رو بهتون نشون میده:
> 360.0pt.
خوب حالا توی فایل شما اتفاقی که میافته اینه که شما دستور \paragraphfootnotes را در پیشدرآمد فایلتون قرار میدهید. در این مکان مقدار \hsize صفر هست و شما دارید \baselineskip رو تقسیم بر صفر میکنید. بنابراین این خطا رخ میدهد.
چگونه مشکل را حل کنید؟
دو راهحل برای مشکل وجود دارد:
دستور \paragraphfootnotes را از پیشدرآمد (جایی که مقدار \hsize صفر است) به بعد از شروع نوشتار (جایی که مقدار \hsize برابر است با \textwidth) انتقال دهید:
\documentclass{imsproc}
\usepackage[extrafootnotefeatures]{xepersian}
\settextfont{XB Niloofar}
%\paragraphfootnotes
\begin{document}
\paragraphfootnotes
مقداری متن نمونه\LTRfootnote{A footnote!}
\end{document}
در پیشدرآمد و قبل از دستور \paragraphfootnotes خودتان مقدار \hsize را مساوی \textwidth نمایید:
\documentclass{imsproc}
\usepackage[extrafootnotefeatures]{xepersian}
\settextfont{XB Niloofar}
\setlength{\hsize}{\textwidth}
\paragraphfootnotes
\begin{document}
مقداری متن نمونه\LTRfootnote{A footnote!}
\end{document}