اگر کد
\documentclass[a4paper]{book}
\usepackage{ptext}
\usepackage{adjmulticol}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\begin{adjmulticols*}{2}{}{}
مقداری متن نمونه%
\RTLfootnote{یک پانویس فارسی}
\LTRfootnote{An english footnote}
\ptext[2-6]
\end{adjmulticols*}
\end{document}
رو اجرا کنید، میبینید که دو تا مشکل داره:
- محل قرارگیری پانویسهای فارسی و انگلیسی اشتباه چاپ شده.
- جای ستون اول و دوم جابجا شده.
با بررسی فایل multicol-xetex-bidi.def
تونستم مشکل اول رو با قرار دادن کد زیر حل کنم:
\makeatletter
\def\adjmulticols#1#2#3{\col@number#1\relax
\def\@tempa{#2}%
\ifx\@tempa\@empty\adjmc@inner\z@\else\adjmc@inner#2\fi
\def\@tempa{#3}%
\ifx\@tempa\@empty\adjmc@outer\z@\else\adjmc@outer#3\fi
\ifnum\col@number<\@ne
\PackageWarning{adjmulticol}%
{Using `\number\col@number'
columns doesn't seem a good idea.^^J
I therefore use one columns instead}%
\col@number\@ne\fi
\ifnum\col@number>10
\PackageError{adjmulticol}%
{Too many columns}%
{Current implementation doesn't
support more than 10 columns.%
\MessageBreak
I therefore use 10 columns instead}%
\col@number10 \fi
\ifx\@footnotetext\mult@footnotetext\else
\let\orig@footnotetext\@footnotetext
\let\@footnotetext\mult@footnotetext
\fi
\ifx\@LTRfootnotetext\mult@LTRfootnotetext\else
\let\orig@LTRfootnotetext\@LTRfootnotetext
\let\@LTRfootnotetext\mult@LTRfootnotetext
\fi
\ifx\@RTLfootnotetext\mult@RTLfootnotetext\else
\let\orig@RTLfootnotetext\@RTLfootnotetext
\let\@RTLfootnotetext\mult@RTLfootnotetext
\fi
\@ifnextchar[\adjmult@cols{\adjmult@cols[]}}
\makeatother
اما متاسفانه هر چقدر فایل multicol-xetex-bidi.def
رو با فایل adjmulticol.sty
مقایسه میکنم، نمیتونم مشکل شماره ۲ رو حل کنم. برای نوشتن یک قالب، شدیداً به این بسته نیاز دارم. کسی از دوستان میتونه در این زمینه بهم کمک کنه؟
لازم به ذکره که بسته adjmulticol
حدوداً فقط ۸۰ خط کد داره؛ پس لطفاً دوستان هم یک نگاهی بهش بندازن؛ شاید با کمک هم تونستیم مشکل شماره ۲ رو هم حل کنیم. بدیهیه که میدونیم این بسته جزو بستههای پشتیبانیشده توسط زیپرشین نیست.