سلام
ابتدا تشکر میکنم از اینکه قوانین سایت را رعایت کرده و فایل کمینهی مناسب را قرار دادهاید.+1
توجه شما را به تصویر زیر از راهنمای بستهی bidi
جلب میکنم:
همانطور که در توضیحات جناب خلیقی در بالا قید شده است، شما باید از گزینهی captiondirection
جهت انجام اینکار و مطابق زیر بهره بگیرید:
\lstdefinestyle{MADAD}{%
captiondirection=RTL,language=Matlab
}
در ساختار بالا در واقع استایلی جدید معرفی کردهایم که دارای کپشن سازگار با زبان فارسی و با زبان کد متلب است.
از ساختار زیر جهت تغییر نام listing
به زبان فارسی و دلخواه کاربر استفاده کردهام:
\def\lstlistingname{کد}
در کدهای فایل شما تعداد زیادی بسته که مرتبط با این درس نبودند نیز موجود است که من آنها را تغییری ندادهام; اما برای این درس نیاز نبودند.
با این توضیحات کد شما به صورت زیر است:
\documentclass[12pt,a4paper]{report}
\usepackage{xcolor,colortbl}
\usepackage{graphicx}
\usepackage{fixltx2e}
\usepackage{caption}
\usepackage{amsmath,amssymb,mathtools}
\usepackage{MnSymbol}
\usepackage[pagebackref=false,colorlinks,linkcolor=blue,citecolor=magenta]{hyperref}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{float}
\usepackage{ulem}
\usepackage{multirow}
\usepackage{pgfplots}
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
\usepackage[logo=on,pdfinfo=on
]{xepersian}
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\settextfont{XB Zar}
\setdigitfont{XB Zar}
\definecolor{a}{RGB}{84,109,204}
\defpersianfont\myfont{IranNastaliq}
\newcommand{\myhyperref}[2]{\hyperref[#1]{#2\ref*{#1}}}
\hyphenation{MATLAB}
\linespread{1.5}
\usepackage{listings}
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
\usepackage{xepersian}
\settextfont{Yas}%{PakType Naqsh}
\lstdefinestyle{MADAD}{%
captiondirection=RTL,language=Matlab
}
\def\lstlistingname{کد}
\begin{document}
\lstlistoflistings
\begin{LTR}
\lstinputlisting[caption={\rl{کد دلخواه من}},label=4,style=MADAD]{program4.m}
\end{LTR}
\end{document}
خروجی شما با نسخهی اولیه از تکلایو 2018 مطابق زیر است:
کاربران بهتر است در این زمینه این درس و همچنین این درس را نیز ملاحظه کنند.
ویرایش دوم در راستای سوال شما در قسمت نظرات برای لاتین شدن شماره ی خطوط:
برای اینکه شمارههای شما لاتین باشند کافی است ویژگی شمارهها را به صورت زیر تغییر دهید:
\lstset{numberstyle=\tiny\lr}
و یا میتوانید این ویژگی را مطابق زیر به استایل خود اضافه کنید:
\lstdefinestyle{MADAD}{%
captiondirection=RTL,language=Matlab,numberstyle=\tiny\lr}
اینم خروجی شما:
ویرایش سوم: لاتین شدن شمارهی خطوط و اعداد درون کد
برای اینکار کافیه استایل تعریف شده را به صورت زیر تغییر دهید:
\lstdefinestyle{MADAD}{%
captiondirection=RTL,language=Matlab,basicstyle=\tiny\ttfamily,numberstyle=\tiny\lr}
که خروجی زیر را دریافت میکنید:
و یا از خانوادهی \ttfamily
برای نمایش محتوای کد به صورت زیر بهره بگیریم:
\lstdefinestyle{MADAD}{%
captiondirection=RTL,language=Matlab,basicstyle=\ttfamily\lr,numberstyle=\ttfamily\lr}
که خروجی زیر را دریافت میکنیم:
موفق باشید.