منظور من این بود که به این صورت بشه:کد: [انتخاب]\begin{listings}
\begin{LTR}
... write code here....
\end{LTR}
\end{listings}
خیلی ممنون. اینو از کجا پیدا کردین؟به کدهای آقای کارنپهلو میماند.
در واقع مشکل اصلی به این دلیل بوجود میآمد که محیط لیستینگ را داخل محیطهای چپچین قرار میدهیم.
ضمنا در نسخه زیپرشینی که من دارم دستور تعریف معادل برای lstlistingname در کد اصلی زیپرشین ایراد دارد و خطا میگیرد که برای کارهای خودم آنرا در ابتدای سند خودم اصلاح میکردم. رفع این اشکال هم در کد داده شده هست:
باید این کد رو هم اضافه کنیم :و نمیدانم که آیا این مشکل در نسخههای جدید زیپرشین برطرف شده است یا خیر. دوستانی که از نسخههایی از زیپرشین استفاده میکنند که این دستورش مشکل دارد، دستور فوق را بعد از فراخوانی بسته زیپرشین قرار دهند تا مشکلشان برطرف شود.کد: [انتخاب]\makeatletter
\renewcommand\lstlistingname{\if@RTLmain برنامه\else Listings\fi}
\makeatothe
قبل از اطلاع از شیوهای که ایشان ارائه کردند من برای حل مشکل از captionof استفاده میکردم.
مثال پیوست هم راه حل قبلی من و هم راه حل درست جدید را به همراه مثالهایی با شماره خط فارسی و لاتین و عنوان در بالا و پایین نشان میدهد.
دقت فرمایید که تعویض قلم سند و استیل کد خروجی را تحت تاثیر قرار خواهد داد.