قبل از هر چیز، در خصوص بسته todonotes باید عرض کنم که تلاش ها و پیگیری های مجدّانه آقای وفا خلیقی باعث گشته که این بسته سازگاری بسیار خوبی با بسته های xepersian و bidi بدست بیاورد (کافیست گذری بر پرسش و پاسخ های مربوط به تغییرات نسخه های 16، 16.1، 16.2 و 20.3 داشت تا لزوم قدردانی از ساعت ها تلاش و مجاهدت ایشان را بهتر درک نمود). در مورد تاریخچه کار روی زوایای مختلف همانگ نمودن بیشتر بسته todonotes و بسته های xepersian و bidi نیز پیشنهاد می کنم نگاهی به پرسش و پاسخ های زیر انداخته شود:
هایلایت کردن بخشی از پاراگراف متن فارسی
ایجاد کنارنویس در لاتک با چه دستوری امکان پذیر است؟
مشکل در استفاده از بستهی todonotes
آیا حتماً باید دستور presetkeys را بعد از فراخوانی بسته xepersian استفاده کنیم؟ چرا؟
امروز آخرین نسخه از بسته bidi که روی ctan قرارگرفته بود را دانلود و نصب کردم. به سراغ کد کمینه مربوط به todonotes رفته و سعی نمودم تا از دستورات listoftodos و missingfigure به صورت بهینه ای استفاده نمایم.
این کد تک می باشد:
\documentclass{article}
\usepackage[nopar]{ptext}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\presetkeys{todonotes}{align=justify,textdirection=righttoleft}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% کدی برای تغییر کلمات پیش فرض دستور missingfigure از کلمات انگلیسی به فارسی
\makeatletter
\renewcommand{\@todonotes@MissingFigureUp}{\rl{شکل}}
\renewcommand{\@todonotes@MissingFigureDown}{\rl{جا افتاده}}
\renewcommand{\@todonotes@todolistname}{\rl{لیست کارها}}
\renewcommand{\@todonotes@MissingFigureText}{\rl{شکل}}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\listoftodos[لیست کارها]
چند کلمه همین جوری می نویسیم تا خط پر شود و به انتها برسد و بقیه متن که در حال نوشتن آن هستیم و کمی متن بیشتری مینویسیم چند کلمه
\todo[inline]{
این یک متن دراز است که من در حال نوشتنش هستم و از نوشنش لذت میبرم و نمیدانم که شما هم این چنین احساسی دارید یا نه. در این قسمت چند فرمول هم اضافه می کنم به صورت زیر $sin(x)=0$. باید این را هم امتحان نمود.
}
همین جوری می نویسیم تا خط پر شود و به چند کلمه همین جوری می نویسیم تا خط پر شود
\todo{
این یک متن دراز است که من در حال نوشتنش هستم و از نوشنش لذت میبرم و نمیدانم که شما هم این چنین احساسی دارید یا نه
}
\ptext[1-2]
\lr{
\missingfigure[figposition=right]{\rl{سلام ... همیشه شاداب و سلامت باشید.}}
}
\end{document}
و این هم خروجی:
همانطور که مشاهده می شود پنجره شناور مربوط به دستور todo برخلاف حالات عادی در سمت راست قرار گرفته است که این مسئله موجب گشته که خط مربوط به این پنجره از روی کلمات موجود در آن رد شده و خوانایی آنها را پایین آورد:
یادآور می شوم که در حاشیه سمت راست قرار گرفتن این پنجره شناور در مواقعی که به عنوان مثال از بسته showlabels برای مشاهده برچسب های موجود در متن استفاده می شود می تواند باعث اختلال در نظم ظاهری و یا تداخل برخی اشیاء (مثلاً برچسب و پنجره شناور) در حاشیه سمت راست خروجی شود.
البته به نظر می آید که این اتفاق تنها در مواردی بسیار خاص اتفاق می افتد. به عنوان مثال اگر دستورات مربوط به missingfigure در همین کد کمینه را حذف یا جابجا نماییم، شاهد این خواهیم بود که پنجره شناور دستور todo در حاشیه سمت چپ قرار می گیرد.
سوال این است که آیا در حاشیه سمت راست قرار گرفتن پنجره شناور امری طبیعی در بسته todonotes است یا این مورد از تغییرات درون بسته bidi نشأت گرفته است؟
در انتها چنانچه در ابتدا نیز عرض کردم، بر خود لازم می دانم که از زحمات آقا وفا تشکر و قدردانی نمایم.