

%%%================%%%
%============
%============
%%%================%%%	
 % بسته زی‌پرشین و تعریف قلم فارسی و انگلیسی
%\usepackage{xepersian}
\settextfont[Scale=1.]{Persian Modern}
\setdigitfont[Scale=1.]{Persian Modern}

%\settextfont{B Nazanin}
%\settextfont{Yas}
%\settextfont{XB Niloofar}
%============
% چنانچه می‌خواهید اعداد در فرمول‌ها، انگلیسی باشد، خط زیر را غیرفعال کنید
%\setdigitfont[Scale=1]{Times New Roman}
%\setdigitfont{Yas}

%============
% تعریف قلم‌های فارسی و انگلیسی اضافی برای استفاده در بعضی از قسمت‌های متن

\newfontfamily\shadowfont[Scale=1.2]{Persian Modern Shadow}
\newfontfamily\outlinefont[Scale=1.2]{Persian Modern Outline}

%\defpersianfont\Nazanin[Scale=1]{B Nazanin}
%\defpersianfont\Niloofar[Scale=1]{XB Niloofar}

%\captionsetup[figure]{labelfont={bf}}
%\captionsetup[table]{labelfont={bf}}

%============
	%	تنطیم حاشیه‌های بالا، پایین، چپ و راست صفحه
\newgeometry{
	top = 30mm,        % حاشیه بالا
	bottom = 30mm,     % حاشیه پایین
	left = 30mm,     % حاشیه چپ
	right = 30mm,     % حاشیه راست
	footskip = 13mm
	}

%============
% تعیین فاصله خطوط و فشردگی عمودی جدول‌ها و روابط ریاضی
\renewcommand{\baselinestretch}{1.6}
\renewcommand{\arraystretch}{1.4}
\setlength{\tabcolsep}{14pt}

%============

\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
\newcolumntype{C}[1]{>{\PreserveBackslash\centering}p{#1}}
\newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}}
\newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}}

%============
%============
% تعریف رنگ ها
\definecolor{Gray}{gray}{0.9}
\definecolor{Blue}{rgb}{0.1,0.1,0.4}
\definecolor{Red}{rgb}{0.4,0.1,0.1}
%\definecolor{Blue}{rgb}{0.9,0.9,1}
\definecolor{Green}{rgb}{0.9,1,0.9}
\definecolor{Yellow}{rgb}{1,1,0.9}

%============
 % تعریف توابع ریاضی
 \DeclareMathOperator*{\argmin}{argmin}
 \DeclareMathOperator*{\esssup}{ess\, sup}
 
\DeclareMathOperator{\arcsinh}{arcsinh}
\DeclareMathOperator{\arctanh}{arctanh}
\DeclareMathOperator{\arcsech}{arcsech}
\DeclareMathOperator{\arccsch}{arcCsch}
\DeclareMathOperator{\sech}{sech}
\DeclareMathOperator{\arccoth}{arccoth}
\DeclareMathOperator{\arccot}{arccot}

%============

% تعریف شمارنده‌های قضیه و تعریف و...
\newtheoremstyle{definition}
{.5cm}{.5cm}%                                 margin top and bottom
{}%                                  text layout
{0cm}%                                        indention of header
{\bf}{ }%                               header font and text after
{0.2cm}%                                        space after header
{\thmname{#1}\thmnumber{ #2}.\thmnote{ #3}}%  header


\theoremstyle{definition}
\newtheorem{definition}{تعریف}[chapter]
\newtheorem{theorem}[definition]{قضیه}
\newtheorem{lemma}[definition]{لم}
\newtheorem{proposition}[definition]{گزاره}
\newtheorem{corollary}[definition]{نتیجه}
\newtheorem{property}[definition]{خاصیت}
\newtheorem{remark}[definition]{تذکر}
\newtheorem{example}[definition]{مثال}

\newtheoremstyle{es}
{.5cm}{.5cm}%                                 margin top and bottom
{}%                                  text layout
{0cm}%                                        indention of header
{\bf}{ }%                               header font and text after
{0.2cm}%                                        space after header
{\thmname{#1}.\thmnote{ #3}}%  header
\theoremstyle{es}
\newtheorem{es}{اثبات}

%\newcommand{proof}[1]{	#1	}

%============

% مثالی از تعریف دستور جدید 
% «\پ» برای خلاصه‌نویسی 
% جهت نوشتن عبارت «پروژه/پایان‌نامه/رساله»
\newcommand{\پ}{پروژه/پایان‌نامه/رساله }


%============
% تنظیم شماره‌گذاری: الگوریتم شماره-فصل
%\renewcommand{\thealgorithm}{\arabic{chapter}--\arabic{algorithm}}

% تعریف فرمت نمایش عنوان الگوریتم با نقطه
%\makeatletter
%\renewcommand{\fnum@algorithm}{الگوریتم \thealgorithm.} % نقطه فقط در عنوان
%\makeatother

%  با بسته caption
\captionsetup[algorithm]{name=الگوریتم, labelformat=simple, labelsep=period}
\renewcommand{\thealgorithm}{\arabic{chapter}--\arabic{algorithm}}

% تنظیم عنوان فارسی (در صورت نیاز)
\renewcommand{\algorithmicrequire}{\textbf{ورودی:}}
\renewcommand{\algorithmicensure}{\textbf{خروجی:}}
\renewcommand{\algorithmicif}{\textbf{اگر}}
\renewcommand{\algorithmicthen}{\textbf{آنگاه}}
\renewcommand{\algorithmicelse}{\textbf{در غیر این صورت}}
\renewcommand{\algorithmicfor}{\textbf{برای}}
\renewcommand{\algorithmicwhile}{\textbf{تا وقتی که}}
\renewcommand{\algorithmicdo}{\textbf{انجام بده}}
\renewcommand{\algorithmicend}{\textbf{پایان}}

%============

\captionsetup[figure]{name=شکل, labelformat=simple, labelsep=period}
\captionsetup[table]{name=جدول, labelformat=simple, labelsep=period}

%============

%%% امکان درج کد در سند

\definecolor{matlabgreen}{RGB}{28,172,0}
\definecolor{matlablilas}{RGB}{170,55,241}
\definecolor{matlabblue}{RGB}{0,0,255}
%  در این قسمت تمام ابزارهای مورد نیاز در نوشتن برنامه ها اورده شده 
%  است. با استفاده از این ابزارهای می‌توان برنامه های مورد نیاز را در مستند جای داد.
%\lstset{% general command to set parameter(s) 
%	basicstyle=\small, % print whole listing small
%	keywordstyle=\color{blue}\bfseries,
%	% underlined bold black keywords
%	identifierstyle=, % nothing happens
%	stringstyle=\ttfamily\color{red},
%	commentstyle=\color{LimeGreen}, % white comments
%	stringstyle=\ttfamily\color{red}, % typewriter type for strings
%	showstringspaces=false,
%	xleftmargin=0pt,     % حاشیه چپ صفر
%	resetmargins=true } % no special string spaces

\lstset{
	language=Matlab,
	basicstyle=\ttfamily\small,
	commentstyle=\color{matlabgreen},
	keywordstyle=\color{blue},
	stringstyle=\color{matlablilas},
	numbers=left,
	numberstyle=\tiny\color{gray},
	stepnumber=1,
	numbersep=5pt,
	backgroundcolor=\color{white},
	showspaces=false,
	showstringspaces=false,
	showtabs=false,
	tabsize=4,
	captionpos=b,
	breaklines=true,
	breakatwhitespace=false,
	% تنظیمات برای چپ‌چین کامل
	xleftmargin=0pt,
	framexleftmargin=0pt,
	linewidth=\textwidth,  % عرض خط برابر با عرض متن
	basewidth=0.5em,       % عرض کاراکترهای پایه
}


