با سلام و احترام
به دلایلی قصد دارم که کلاسی بنویسم که در آن، بسته زیپرشین فراخوانی میشود.
بنابراین کاربر نیازی به فراخوانی مجدد آن ندارد.
اما مشکل اینجاست که اگر بستهای را بخواهد فراخوانی کند که باید قبل از بسته زیپرشین استفاده شود (مثل geometry)، خطا ایجاد میشود.
هدف من این است که بدون اینکه کلاس اصلی دست بخورد و تغییری در آن ایجاد شود، راه حلی پیداکنم که به صورت خودکار بتواند فراخوانی بسته را به گونهای قبل از زیپرشین انجام دهد (مثلا با استفاده از یک آپشن خاص!)
فعلا چیزی که به ذهنم رسیده این است که آپشنی تحت عنوان NoXepersian برای کلاس تعریف کنم که در این صورت فراخوانی این بسته توسط کلاس مربوطه غیر فعال شود و کاربر بتواند بسته مورد نظر خود را اضافه کرده و پس از آن مجدد بسته زیپرشین را فراخوانی کند.
این روش هم چند محدودیت ایجاد میکند!
یعنی کد زیر منجر به خطا میشود:
\documentclass[]{SecondReport}
\usepackage{geometry}
\begin{document}
یک متن آزمایشی
\end{document}
زیرا بسته geometry بعد از زیپرشین فراخوانی شده.
کد زیر اما خطا نمیدهد چون زیپرشین غیر فعال شدهاست:
\documentclass[NoXepersian]{SecondReport}
\usepackage{geometry}
\begin{document}
یک متن آزمایشی
\end{document}
سپس کاربر میتواند بسته زیپرشین را فراخوانی کند.
اما تا آنجا که میدانم گاهی اوقات باید بستهای را بعد از زیپرشین اضافه نمود. بنابراین من در کلاس مورد نظر باید این پکیجها را نیز فراخوانی کنم و با آپشن noXepersian همه چیز به هم میریزد!
آیا روشی وجود دارد که این مشکل را حل کند(مثلا یک آپشن قرار بدهیم و در صورت استفاده از آن آپشن، بسته زیپرشین الزاما آخرین بسته فراخوانی شده بشود یا ... ؟!)
با تشکر