من xepersian-multiplechoice.sty را دیدم. درش از minipage و multicol استفاده شده است.
مشکلش این است که وقتی یکی از گزینهها بلندتر میشه، تراز گزینهها به هم میخوره. راهی نداره که گزینهها را به صورت دو ستونی یا یک ستونی درآورد؟
پرونده ضمیمه یک نمونه است که با ماکرونویسی بسیار سادهای انجام شده است. دو ماکرو در اختیار شما قرار میدهد:
\question که یک آرگومان دارد
و \answer که ۴ آرگومان دارد. من در حالت پیشفرض اندازههای پیشفرض طبقه article را پیشفرض دانستم
اگر تمام آرگومانهای ۱ تا ۴، طولی کمتر از 0.165\textwidth داشته باشند، جوابهای چهارگزینهای در یک خط چیده میشوند در غیر اینصورت اگر یکی از آرگومانها طولی کمتر از 0.4\textwidth داشته باشد و مشخصاً بیشتر از 0.165\textwidth و هیچکدام از آرگومانها، طولی بیشتر از 0.4\textwidth نداشته باشند، جوابهای چهارگزینهای در دو خط چیده میشوند و در غیر اینصورت و حالت آخر اگر هر یک از آرگومانهای ۱ تا ۴ طولی بیشتر از 0.4\textwidth داشته باشند، جوابهای چهارگزینهای در ۴ خط چیده میشوند.
توجه کنید که تغییر اندازه بسیار مهم است برای مثال اگر از سبک geometry استفاده کنید و \textwidth پیشفرض را افزایش دهید، جواب چهرگزینهای که با \textwidth کمتر در دو خط چیده شده بود، حالا که \textwidth را افزایش دادهاید، ممکن است در یک خط چیده شود.
پرونده ضمیمه ممکن است ایراداتی هم داشته باشد در صورتی که مشکل داشت یا طبق الگوریتم بالا کار نکرد، میتوانیم آن را به راحتی درست کنیم.