%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%  This is file `ABThesis.cls',                                                   %%
%%  The original file was xepersian-thesis.cls by Vafa Khalighi       %%
%%  The secondary file was VThesis.cls Vahid Damanafshan         %%
%%                                                                                         %%
%% _____________________________________________       %%
%%   Copyright © 2011-2012 Abolvafa Buzjani Student's Groups  %%
%%  																		   		        %%
%%   xepersian@mail.com											                %%
%%   texfum@gmail.com                                                           %%
%%   http://forum.parsilatex.com 									  	        %%
%% 																					        %%
%% 																						    %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


























%                      						      Set Class

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ABThesis}
              [13/9/2012 v1
 Persian thesis document class in XeLaTeX for University of Mashhad theses/dissertations]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessOptions
\LoadClass{book}








%													 Option





%
\newif\if@arthesis
\@arthesisfalse
\DeclareOption{arshad}{\@arthesistrue}



\newif\if@ABgraph
\@ABgraphfalse
\DeclareOption{ABgraph}{\@ABgraphtrue}


\newif\if@ABfig
\@ABfigfalse
\DeclareOption{ABfig}{\@ABfigtrue}


\newif\if@ABdiag
\@ABdiagfalse
\DeclareOption{ABdiag}{\@ABdiagtrue}


\newif\if@ABprog
\@ABprogfalse
\DeclareOption{ABprog}{\@ABprogtrue}


\newif\if@ABalg
\@ABalgfalse
\DeclareOption{ABalg}{\@ABalgtrue}


\newif\if@ABtab
\@ABtabfalse
\DeclareOption{ABtab}{\@ABtabtrue}


\newif\ifABpages
\ABpagesfalse
\DeclareOption{ABpages}{\ABpagestrue}


\newif\ifABproject
\ABprojectfalse
\DeclareOption{ABproject}{\ABprojecttrue}

\ProcessOptions









%                                                Definition's
\def\TSupervisor#1{\gdef\@TSupervisor{#1}}
\def\TOArbiter#1{\gdef\@TOArbiter{#1}}
\def\TTArbiter#1{\gdef\@TTArbiter{#1}}
\def\TAdvisor#1{\gdef\@TAdvisor{#1}}
\def\university#1{\gdef\@university{#1}}
\def\department#1{\gdef\@department{#1}}
\def\degree#1{\gdef\@degree{#1}}
\def\thesisdate#1{\gdef\@thesisdate{#1}}
\def\okdate#1{\gdef\@okdate{#1}}
\def\defencedate#1{\gdef\@defencedate{#1}}
\newcommand{\firstsupervisor}[1]{\def\@firstsupervisor{#1}}
\newcommand{\secondsupervisor}[1]{\def\@secondsupervisor{#1}}
\newcommand{\firstadvisor}[1]{\def\@firstadvisor{#1}}
\newcommand{\secondadvisor}[1]{\def\@secondadvisor{#1}}
\def\name#1{\gdef\@name{#1}}
\def\surname#1{\gdef\@surname{#1}}
\def\keywords#1{\gdef\@keywords{#1}}
\def\fa-abstract#1{\gdef\@fa-abstract{#1}}
\def\faculty#1{\gdef\@faculty{#1}}
\def\subject#1{\gdef\@subject{#1}}
\def\field#1{\gdef\@field{#1}}
\def\department#1{\gdef\@department{#1}}
\def\latintitle#1{\gdef\@latintitle{#1}}
\def\latinauthor#1{\gdef\@latinauthor{#1}}
\def\latindegree#1{\gdef\@latindegree{#1}}
\def\latinfaculty#1{\gdef\@latinfaculty{#1}}
\def\latinthesisdate#1{\gdef\@latinthesisdate{#1}}
\def\latinsubject#1{\gdef\@latinsubject{#1}}
\def\latinfield#1{\gdef\@latinfield{#1}}
\def\firstlatinsupervisor#1{\gdef\@firstlatinsupervisor{#1}}
\def\secondlatinsupervisor#1{\gdef\@secondlatinsupervisor{#1}}
\def\firstlatinadvisor#1{\gdef\@firstlatinadvisor{#1}}
\def\secondlatinadvisor#1{\gdef\@secondlatinadvisor{#1}}
\def\latinname#1{\gdef\@latinname{#1}}
\def\latinsurname#1{\gdef\@latinsurname{#1}}
\def\en-abstract#1{\gdef\@en-abstract{#1}}
\def\latinkeywords#1{\gdef\@latinkeywords{#1}}
\def\latinuniversity#1{\gdef\@latinuniversity{#1}}
\def\latinokdate#1{\gdef\@latinokdate{#1}}
\def\latindefencedate#1{\gdef\@latindefencedate{#1}}



\def\onvan{عنوان}
\def\writtenfor{برای دریافت درجه }
\def\by{نگارنده}
\def\latinby{by}



\def\frame{\newpage \thispagestyle{empty} \begin{framed}\thispagestyle{empty}} \def\endframe{\thispagestyle{empty} \end{framed}\thispagestyle{empty}\KashidaOn}



\def\abstractpage{\newpage
\thispagestyle{empty}
\vskip 15mm
\par
\begin{abstract}}
\def\endabstractpage{\end{abstract}
\newpage
}












\def\acknowledgementpage{\newpage \thispagestyle{empty}\vspace{1cm}\par\noindent}

\def\endacknowledgementpage{\newpage}

\def\titlepage{\newpage\centering  \thispagestyle{empty}  \parindent 0pt \parskip 10pt plus 1fil minus 1fil
\def\baselinestretch{1.5}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup}

\def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage}

\def\signature{\vspace{1cm}\begin{flushleft}{\nastaliq\scriptsize \@name\ \@surname \\ \@thesisdate} \end{flushleft}}

\def\abstract{\subsection*{\abstractname} \small\@normalsize} \def\endabstract{\par}


\long\def\tos#1#2#3{\centerline{\large #1}\ifnum#3=2\let\srow\bsrow\begin{table}[!h]\centering\begin{tabular}{p{4cm}l} نام & نماد\\[.2cm] \hline & \\#2\end{tabular}\end{table}\else\ifnum#3=3\let\srow\csrow\begin{table}[!h]\centering\begin{tabular}{p{2cm}p{4cm}l}صفحه  & نام & نماد\\[.2cm] \hline & & \\#2\end{tabular}\end{table}\fi\fi}
\def\bsrow#1#2{#1 & #2\\[2mm]}
\def\csrow#1#2#3{\pageref{#3} & #2 & #1\\[2mm]}










\def\code#1#2{
\begin{latin}
\lstinputlisting[lineskip=0.001cm,breaklines=true,numbers=left,language=#1, basicstyle=\ttfamily\small, numberstyle=\footnotesize , numbersep=10pt, captionpos=b, frame=single, breakatwhitespace=false]{#2}
\end{latin}
}






\let\mc=\m
\def\mc#1#2{#1 #2}

\def\a{new}
\let\b=\a




\def\iq{\item[\textcolor{red}{سوال}]}
\def\ia{\item[\textcolor{green}{جواب}]}





\def\error{\ifmmode%
\colorbox{red}{error in math}%
\else%
\colorbox{green}{اشکال در متن}%
\fi}



\def\certificate#1#2#3#4{\pagebreak\count1=\thepage\advance\count1 by -1\setcounter{page}{\count1}\thispagestyle{empty}\fbox{\colorbox{blue}{\small\begin{minipage}[c]{\textwidth}مشتری محترم نگران وجود این صفحه نباشید، این صفحه فقط جهت سهولت اجرا ایجاد شده و در شماره صفحات سند شما تاثیر ندارد و پرینت گرفتن آن ضرورتی ندارد.\end{minipage}}}\par\vspace*{.5cm}\fbox{\colorbox{green}{\Huge\begin{minipage}{\textwidth}\centerline{\bf #1}\par #2 \end{minipage}}}\par\vspace*{.5cm}\fbox{\colorbox{red}{\Huge\begin{minipage}[c]{\textwidth}اشکالات کار مطرح شده از طرف تایپیست:\\ #3\end{minipage}}}\par\vspace*{.5cm}\fbox{\colorbox{yellow}{\Huge\begin{minipage}[c]{\textwidth}\centerline{\bf #4}\end{minipage}}}\clearpage\pagebreak}



\font\titlefont=cmssbx10 scaled 2074
\font\supervisorfont=cmbxti10




\newenvironment{preface}[1][پیش‌گفتار]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}\rhead{#1} \KashidaOff}{\pagebreak\rhead{\small\leftmark}\KashidaOn}



































%										besm








\def\besm#1{
\pagestyle{empty}
\begin{center}
\includegraphics[scale=1]{#1}
\end{center}
}

%












%										persian title









\newcommand{\ftitle}{\KashidaOff\begin{titlepage}\thispagestyle{empty}
%\topmargin=-30pt
\vspace{-2cm}\centerline{{\includegraphics[height=4.3cm]{logo}}}
\ifABproject
\relax
\else
\vspace{-.2cm}
{\large%\@university\\\vspace{.25cm}
دانشکده
\@faculty\par

\vspace{-.4cm}
گروه
\@department}
\vskip .5cm
 \if@arthesis
{\large\bfseries پایان‌نامه}
\else
{\large\bfseries رساله}
\fi
\vskip .1cm
{\large\bfseries\writtenfor
 \if@arthesis
کارشناسی ارشد
\else
دکتری
\fi
}
{\large\bfseries{در رشته}}
\vskip .2cm
\if@arthesis
\centerline{\large \bfseries\@subject}
\else
\centerline{\large \bfseries\@subject
، گرایش
\@field}
\fi
\fi
\vskip 1cm
%\baselineskip=.750cm
\centerline{\Large \bfseries\onvan}
\vskip .2cm
 {\Huge\bfseries {\titr\baselineskip=1cm \@title}}\baselineskip=1.5cm\par
\vskip .8cm
 \baselineskip=.5cm
\large
{\ifx\@firstsupervisor\undefined%
\ifx\@secondsupervisor\undefined%
\else\fi
\else
\ifx\@secondsupervisor\undefined%
استاد راهنما
{\Large\bfseries\par
\@firstsupervisor}
\else
\large
اساتید راهنما
\par
{\Large\bfseries \@firstsupervisor{} و \@secondsupervisor}
\fi\fi}
\par\large
{\ifx\@firstadvisor\undefined%
\ifx\@secondadvisor\undefined%
\else\fi
\else
\ifx\@secondadvisor\undefined%
استاد مشاور
{\Large\bfseries\par
\@firstadvisor}
\else
\large
اساتید مشاور
\par
{\Large\bfseries\@firstadvisor{} و \@secondadvisor}
\fi\fi}

{\large%
  \by}\par
\par
{\bfseries{\nastaliq\large\bfseries   \@name\ \ \@surname}}\par
\vskip 5mm
\vfill
{\large \@thesisdate}
\vfill
\end{titlepage}\KashidaOn%
}








%                                                    specifications






\newcommand{\specifications}{
\KashidaOff\pagebreak
\baselineskip=.7cm
\begin{frame}
{\hspace*{\fill}\includegraphics[height=2.5cm]{logo}}
\vspace*{-3.5cm}
\noindent{\centerline{}}
\noindent{\centerline{بسمه تعالی}}
\noindent{\centerline{مشخصات \if@arthesis پایان‌نامه \else رساله \fi تحصیلی دانشجویان}
\noindent{\centerline{دانشگاه \@university}\hspace*{\fill}}}
\hrule
\vspace{3mm}
\noindent
 عنوان:
\@title\\
\hrule
\vspace{3mm}
\noindent
نام نویسنده: 
\@name~\@surname
\hspace*{\fill}
{\ifx\@firstsupervisor\undefined%
\ifx\@secondsupervisor\undefined%
\else\fi
\else
\ifx\@secondsupervisor\undefined\par\noindent%
استاد راهنما:
{
\@firstsupervisor}
\else
\large
اساتید راهنما:
{\@firstsupervisor{} و \@secondsupervisor}
\fi\fi}%\par
\noindent
{\ifx\@firstadvisor\undefined%
\ifx\@secondadvisor\undefined%
\else\fi
\else
\ifx\@secondadvisor\undefined%
\par\noindent
استاد مشاور:
{
\@firstadvisor}
\else\\
\large
اساتید مشاور:
{\@firstadvisor{} و \@secondadvisor}
\fi\fi}
\\ \hrule
\vspace{1mm}
\noindent 
دانشکده:
\@faculty\hspace{.5cm}
گروه:
\@department\hspace*{\fill}
رشته تحصیلی:
\@subject\hspace*{\fill}
\vspace{1mm}
\hrule
\vspace{1mm}
\noindent
تاریخ تصویب:
\@okdate\hspace*{\fill}
تاریخ دفاع:
\@defencedate\hspace*{\fill}
\vspace*{1mm}
\hrule
\vspace*{1mm}\noindent
مقطع تحصیلی:
 \if@arthesis
کارشناسی ارشد
\else
دکتری
\fi
 \hspace*{\fill}
 تعداد صفحات: 
\pageref{lastpage} \hspace*{\fill}\vspace*{1mm}
\hrule
 \vspace{1mm}
 \noindent
{
\parbox[t][9cm][t]{14cm}{
چکیده \if@arthesis پایان‌نامه \else رساله \fi:
\@fa-abstract}
}
\hrule
\par
\vspace*{1mm}
\noindent
واژگان کلیدی:
\@keywords
\vspace*{3mm} \hrule
\vspace*{3mm}\noindent
امضای استاد راهنما:
\hspace*{\fill}
تاریخ:
\hspace*{\fill}
\end{frame}
\pagebreak\thispagestyle{empty}
}

















%                                             presentation









\def\presentation#1#2{
\ifnum#1=1
\KashidaOff
\begin{acknowledgementpage}
\thispagestyle{empty}
\vspace{4cm}

{\nastaliq
{\LARGE
تقدیم به

\vspace{1.5cm}
آن‌ها که بی‌دریغ کوشیدند

\vspace{1.5cm}
تا امروز سر بر اوج ساییدن را تجربه کنم.
}}
\end{acknowledgementpage}
\newpage
\else
#2
\fi
\KashidaOn
}






%	                                                   praise









\def\praise#1#2{
\ifnum#1=1
\baselineskip=.750cm
\thispagestyle{empty}
\KashidaOff
{\nastaliq
هو العلیم
}\\
\\
زیباترین نام را بر زبان جاری می کنم ... که هر کس زبان به حمد تو گشود بی‌تردید نگاه تو بر او افتاده. پس بر قلبم آن جاری کن که خود می‌پسندی در ثنایت لب گشایم.\\
  در وادی معرفت نگنجد، سرچشمه هدایت نجوشد، سر بر قامت بندگی فرو نیافتد ...، گر گنجینه‌ای را که مقدسش خواندی و به آن قسم یاد کردی\RTLfootnote{ن و القلمِ و ما یَسطُرونَ}، کوچک شمرده شود و تنها خاطره جوهر خشک شده‌ای از آن بر برگ برگِ صفحات زندگی باقی ماند.\\
  تو علم را روشنی قرار دادی و فانوسی در بیغوله راه که مسیر را، راه نماید و تزکیه را مقدم بر آن دانستی تا نگاهبانش باشد که تزکیه و تعلیم در معیت هم گوهر وجودی انسان را به نور تو منور کند، پرده از واقعیات کنار زند. آن جاست که حقیقت رخ نمایاند، نظر فراتر افتد، خوان گنجینه‌های دانش رنگین شود و ... آری آنجاست که آدمی معنا یابد.\\
  من اگر وعده‌هایم با تو زیر خروار‌ها  تل فراموشی و غفلت مدفون گردیده، اگر زشتی طغیان در نظرم زیبا جلوه‌گری می‌کند و چشمانم خشک‌تر از آن است که در مقام توبه اشکی بر آن جاری شود، بدان از سر جهل است و نسیان...اما بار الها چشمِ طمع بر رحمتت دوخته‌ام و در تمنای رهایی از ظلمت ضلالت، ترنم باران معرفتت را می‌طلبم، امید آنکه جوانه‌های حقیقت را در وجودم برویاند و انعکاس آن چشمانم را روشن کند.\\
  اکنون چهره بر چهره خاک می‌سایم و تو را به حبیبت قسم می‌دهم که..." هر آن خصلت ناپسند که در من می‌بینی به  لطف واسع خویش اصلاحش فرمای تا پسندیده شود و هر آن عیب که نفسم را به فساد بیالاید از من بازگیر  و هر آن نقص که جانم را از کمال باز دارد برطرفش فرمای!"\\
  و در آن روز که نوبت زندگانی به سر رسد و پیک مرگ حلقه بر در خانه تن بکوبد و دعوت واجب الاجابه تو از آسمان‌ها به گوش آید...پروردگارا! بر محمد (ص) و آل پاکش درود فرست و به حق ایشان عمر ما را با رستگاری به پایان آور و عاقبتمان را ختم به خیر فرمای...!\\
{\nastaliq
 {\small
 \hspace{2cm}
 
 زبان قاصر است \, و \, مجال کوتاه...
\vspace{1cm}

\hspace{2cm}
  تو خود  قصیده‌ی مهر را از لوح نانوشته‌ی قلبم بخوان...!
}}
\else
#2
\fi
\KashidaOn
}










%                                                     thanks









\def\thanks#1#2{
\ifnum#1=1
\KashidaOff
\newpage\thispagestyle{empty}
% سپاس‌گزاری
{\nastaliq
سپاس‌گزاری...
}
\\[2cm]
سپاس خداوندگار حکیم را که با لطف بی‌کران خود، آدمی را زیور عقل آراست.

در آغاز وظیفه‌‌ی  خود  می‌دانم از زحمات بی‌دریغ استاد راهنمای خود، {\@TSupervisor}  صمیمانه تشکر
و  قدردانی کنم  که از 
راهنمایی‌های ارزنده‌  ایشان در راستای پیشبرد پژوهش حاصل فراوان بردم و همواره شاگرد مکتب علم و انسانیت و منش والای ایشان هستم.

از {\@TAdvisor} که زحمت  مطالعه و مشاوره‌  این پایان‌نامه
را تقبل  فرمودند و
در آماده سازی  این پایان‌نامه به نحو احسن اینجانب را مورد راهنمایی قرار دادند، کمال امتنان را دارم.

همچنین لازم می‌دانم از اساتید فرهیخته {\@TOArbiter} و {\@TTArbiter} که داوری این پایان‌نامه را به عهده گرفتند با تمام وجود تشکر و قدردانی نمایم.

در پایان، بوسه می‌زنم بر دستان خداوندگاران مهر و مهربانی، پدر و مادر عزیزم و بعد از خدا، ستایش می‌کنم وجود مقدس‌شان را و تشکر می‌کنم از برادر و خواهران عزیزم به پاس عاطفه سرشار و گرمای امیدبخش وجودشان، که در این سردترین روزگاران، بهترین پشتیبان من بودند.
% با استفاده از دستور زیر، امضای شما، به طور خودکار، درج می‌شود
\signature
\else
#2
\fi
\KashidaOn
}











%                                                 declartion









\def\declaration{\thispagestyle{plain}\par\vspace{-2cm}
\begin{frame}
\parbox[t][15cm][t]{14cm}{
\centerline{\textbf{اظهارنامه}}
\hspace{-.7cm} عنوان \if@arthesis
پایان‌نامه
\else
رساله
\fi
: 
\@title

\vspace*{.5cm}
\hspace{-.6cm}اینجانب \@name \ \@surname\ دانشجوی دوره  \if@arthesis
کارشناسی ارشد
\else
دکتری
\fi
دانشکده\ \@faculty\ دانشگاه \@university\ نویسنده \if@arthesis
پایان‌نامه 
\else
رساله
\fi
تحت راهنمایی\ \@firstsupervisor\  متعهد می‌شوم:
\begin{enumerate}[a.]
\item
تحقیقات در این رساله توسط اینجانب انجام شده و از صحت و اصالت برخوردار است.
\item
در استفاده از نتایج پژوهش‌های محققان دیگر به مرجع مورد استفاده استناد شده است.
\item
مطالب مندرج در این \if@arthesis
پایان‌نامه 
\else
رساله
\fi
تاکنون توسط خود یا فرد دیگری برای دریافت هیچ نوع مدرک یا امتیازی به جایی ارائه نشده است.
\item
کلیه حقوق این اثر متعلق به دانشگاه \@university\ است و مقالات مستخرج با نام "دانشگاه \@university\ " و یا 
\LRE{"\@latinuniversity"}
به چاپ خواهد رسید.
\item
حقوق معنوی تمام افرادی که در به دست آمدن نتایج اصلی رساله تاثیرگذار بوده‌اند در مقالات مستخرج از آن رعایت شده است.
\item
در کلیه مراحل انجام این رساله، در مواردی که از موجود زنده(یا بافت‌های آن‌ها) استفاده شده، ضوابط و اصول اخلاقی رعایت شده است.
\item
در کلیه مراحل انجام این رساله، در مواردی که به حوزه اطلاعات شخصی افراد دسترسی یافته یا استفاده شده، اصل رازداری، ضوابط و اصول اخلاقی انسانی رعایت شده است.
\end{enumerate}
}
\vspace*{-2cm}\par\hfill\parbox[t][2cm][t]{3cm}{\begin{center}
\textbf{تاریخ \\امضای دانشجو}
\end{center}}
\begin{frame}
\centerline{\textbf{مالکیت نتایج و حق نشر}}
{\bf\footnotesize
\begin{itemize}
\item
کلیه حقوق این اثر و محصولات آن(مقالات مستخرج، برنامه‌های رایانه‌ای، نرم‌افزارها و تجهیزات ساخته شده) متعلق به دانشگاه \@university\ است. این مطلب بایستی به نحو مقتضی در تولیدات علمی مربوطه ذکر شود.
\item
استفاده از اطلاعات و نتایج این رساله بدون ذکر مرجع مجاز نیست.
\end{itemize}}
\end{frame}
\end{frame}
}







%  											lSpecifications









\newcommand{\lSpecifications}{\begin{latin}%
\begin{frame}
\clearpage\thispagestyle{empty}
\includegraphics[height=2cm]{logo}\hspace*{\fill}\\
\vspace*{-2.5cm}
\noindent{\centerline{}}
\noindent{\centerline{In the name of God}}
\noindent{\centerline{Graduate Studies\if@arthesis Thesis \else Dissertation \fi Information}
\noindent{\centerline{\@latinuniversity}\hspace*{\fill}}}
\vspace*{8mm}
\hrule
\vspace{3mm}
\noindent
%Title of
\@latintitle\\ 
\hrule
\vspace{2mm}
\noindent
Author:
\@latinname \; \@latinsurname
\hspace*{\fill}
{\ifx\@firstlatinsupervisor\undefined%
\ifx\@secondlatinsupervisor\undefined%
\else\fi
\else
\ifx\@secondlatnsupervisor\undefined\par\noindent%
Supervisor:
{
\@firstlatinsupervisor}
\else
\large
Supervisors:
{\@firstlatinsupervisor{}, \@secondlatinsupervisor}
\fi\fi}%\par
\noindent
{\ifx\@firstlatinadvisor\undefined%
\ifx\@secondlatinadvisor\undefined%
\else\fi
\else
\ifx\@secondlatinadvisor\undefined%
\par\noindent
Advisor:
{
\@firstlatinadvisor}
\else\\
\large
Advisors:
{\@firstlatinadvisor{} and \@secondlatinadvisor}
\fi\fi} \vspace{2mm}\hrule
\vspace{2mm}
\noindent 
Faculty:
\@latinfaculty\hspace{.5cm}
Department:
\@latinsubject\hspace*{\fill}
Specialization:
\@latinfield\hspace*{\fill}
\vspace{1mm}
\hrule
\vspace{1mm}
\noindent
Approval Date:
\@latinokdate\hspace*{\fill}
Defence Date:
\@latindefencedate\hspace*{\fill}
\vspace*{1mm}
\hrule
\vspace*{2mm}\noindent
 \if@arthesis
M.Sc.
\else
Ph.D.
\fi
 \hspace*{\fill}
Number of Pages:
\pageref{lastpage} \hspace*{\fill}\vspace*{1mm}
\hrule
 \vspace{2mm}
 \noindent\parbox[t][9cm][t]{14.3cm}{
% 
{Abstract \if@arthesis Thesis \else Dissertation \fi:}
\@en-abstract}
\vspace*{3mm}
\hrule
\par
\vspace*{2mm}
\noindent
Key Words:
\@latinkeywords
\vspace*{1mm} \hrule
\vspace*{3mm}\noindent
Signature of Supervisor:
\hspace*{\fill}
Date:
\hspace*{\fill}
\end{frame}
\end{latin}}













%     													lTitle









\newcommand{\lTitle}{\begin{latin}
\begin{titlepage}\thispagestyle{empty}
\vspace{-1.5cm}{\includegraphics[height=4.3cm]{logo}}
\centerline{\bf \@latinuniversity} 
\large\bfseries
\@latinfaculty\space 
\vskip 5mm
%{
 \if@arthesis
Dissertation Submitted in Partial 
\\[.2cm]
 Fulfillment of the Requirements for the
\\[.2cm]
Degree of Master of Science in\par
\else
Doctoral Thesis Submitted in Partial 
\\[.2cm]
Fulfillment of the  Requirements for the
\\[.2cm]
Degree of Doctor of Science in \par
\fi
{\large\bfseries \@latinsubject}
\vskip 1cm
\baselineskip=.750cm
{\titlefont \@latintitle}
\baselineskip=.750cm \par
%\addtolength{\baselineskip}{-5mm}
\vskip 1.5cm
\large
{\ifx\@firstlatinsupervisor\undefined%
\ifx\@secondlatinsupervisor\undefined%
\else\fi
\else
\ifx\@secondlatinsupervisor\undefined%
Supervisor
{\Large\bfseries\par
\@firstlatinsupervisor}
\else
\large
Supervisors
\par
{\Large\bfseries \@firstlatinsupervisor{} and \@secondlatinsupervisor}
\fi\fi}
\par
\large
{\ifx\@firstlatinadvisor\undefined%
\ifx\@secondlatinadvisor\undefined%
\else\fi
\else
\ifx\@secondlatinadvisor\undefined%
Advisor
{\Large\bfseries\par
\@firstlatinadvisor}
\else

\large
Advisors
\par
{\Large\bfseries\@firstlatinadvisor{} and \@secondlatinadvisor}
\fi\fi}
\vskip 5mm
{\bfseries\latinby}\par
{\large %\supervisorfont
\rm\@latinname \; \@latinsurname}\par
\vskip 5mm
\par
\vskip 1cm
{\@latinthesisdate}
\par
\vskip 1cm
\par
\vfill
\end{titlepage}\end{latin}%
}






















%Document Preamble of Buzjani's group for Ferdowsi univercity of mashhad
%-------------------------------------------------------------------------------------------------------------------
%  دستوری تولید نمایه
%\immediate\write18{xindy -L persian -C utf8 -M texindy \jobname.idx}
%  تعریف کلاس سند
%  Kashida: برای تنظیم کشیدگی خودکار متن(این بسته باعث اختلال در خط نستعلیق می‌شود، openany: برای عدم شروع از صفحات فرد، ar: برای تنظیم پایان‌نامه، phd: برای تنظیم رساله، fleqn: برای چپ‌چین شدن فرمول‌ها


%%
%% بسته‌ای برای رسم کادر
\usepackage{amsthm, amssymb, amsmath, dsfont, bigdelim}
\allowdisplaybreaks[1]



% بسته‌‌هایی برای ظاهر شدن شکل‌ها و تصاویر متن
\usepackage{graphicx}
\graphicspath{{fig/}}



% بسته‌ای برای آوردن چند شکل با هم
\usepackage{subfig}



% بسته‌ای برای تنطیم حاشیه‌های بالا، پایین، چپ و راست صفحه
\usepackage[top=40mm, bottom=40mm, left=25mm, right=35mm]{geometry}



% بسته‌ای که باعث ریست شدن شماره پانوشت‌ها در هر صفحه می‌شود
\usepackage{perpage}
\MakePerPage{footnote}



% بسته‌ای برای نوشتن پانوشت‌ها به صورت سطری
\usepackage{bidiftnxtra}
\RequirePackage[para*,perpage]{ednotes}
\SetFootnoteHook{\setLTR} 
\DeclareNewFootnote[para]{C}
\renewcommand{\extrafootnoterule}{}
\SelectFootnoteRule[0]{extra}



% بسته‌ و دستوراتی برای ایجاد لینک‌های رنگی با امکان جهش
\usepackage[pagebackref=false, colorlinks, linkcolor=blue, citecolor=magenta]{hyperref}
\hypersetup{pdfmenubar=true, pdfstartview=FitH, pdfpagemode=FullScreen,colorlinks=true,linkcolor=blue, anchorcolor=green, citecolor=magenta, urlcolor=cyan, filecolor=magenta, pdftoolbar=true, pdfpagemode=UseOutlines,}



% بسته‌ لازم برای تنظیم سربرگ‌ها
\usepackage{fancyhdr}



% بسته‌ای برای ظاهر شدن «مراجع» و «نمایه» در فهرست مطالب
%\usepackage[nottoc]{tocbibind}



% دستورات مربوط به ایجاد نمایه
%\usepackage{makeidx}
%\makeindex



% بسته‌ای برای سروسامان دادن به مراجع (در نوشتن چند مرجع، خط فاصله را استفاده می‌کند.)
\usepackage{cite}



% بسته‌ای برای چندستونی نوشتن
\usepackage{multicol}



\usepackage{enumerate}



% بسته‌ای برای ارجاع دادن در سرفصل‌ها
%\usepackage{bidiftnxtra}



% بسته‌ای برای اضافه کردن نمایه و واژه‌نامه
\usepackage[xindy]{glossaries}



% بسته‌ای برای حذف بخشی از سند
\usepackage{comment}



% بسته‌ای برای کشیدن قاب
\usepackage{framed} 



\usepackage[all]{xy}



\usepackage{mathrsfs, setspace, fancybox}
%\usepackage{ulem}
\usepackage{picinpar}
\usepackage{shapepar}



%

\if@ABtab
%\usepackage{tabvar}
%بسته tabvar با cases مشکل دارد.
\usepackage{longtable}
\usepackage{array}
\usepackage{multirow}
\else\relax\fi





\if@ABfig
% بسته‌هایی برای رسم شکل
\usepackage[usenames,dvipsnames]{pstricks}
\usepackage{epsfig}
\usepackage{pst-grad} % For gradients
\usepackage{pst-plot} % For axes
\usepackage{pst-node}
% بسته‌ای برای رسم فلوچارت و شکل‌های ریاضی
\usepackage{tikz}
\usetikzlibrary{shapes, arrows}
% بسته‌هایی برای رسم گراف
\usepackage{tkz-graph}
\usepackage{tkz-berge}
%\usepackage{tikz}
%\usetikzlibrary{decorations.pathmorphing} % noisy shapes
%\usetikzlibrary{fit}					% fitting shapes to coordinates
%\usetikzlibrary{backgrounds}	% drawing the background after the foreground
\else\relax\fi





%\if@ABdiag
%% بسته‌هایی برای رسم دیاگرام
%\usepackage[usenames,dvipsnames]{pstricks}
%\usepackage{pst-node}
%\else\relax\fi





\if@ABprog
% بسته‌ای برای نوشتن کدهای برنامه‌نویسی
\usepackage{listings}
\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{green}, % white comments
stringstyle=\ttfamily\color{red}, % typewriter type for strings
showstringspaces=false} % no special string spaces
%\setlatintextfont[Scale=0.1]{Century}
%\baselineskip = .9cm
\else\relax\fi





\if@ABalg
% بسته‌هایی برای الگوریتم
% این بسته منحصرا نام‌ها را به فارسی تغییر خواهد داد.
\usepackage{algorithm}
\usepackage{algorithmic}

% دستوری برای تغییرات فارسی محیط الگوریتم
\renewcommand{\listalgorithmname}{فهرست الگوریتم‌ها}
\else\relax\fi















%, breqn
% بسته breqn با بسته xy مشکل داره باید بسته pb-diagram رو چک کنم.
%%%%%%%%%%%%%%%%%%%%%%%%%%
% فراخوانی بسته زی‌پرشین و تعریف قلم فارسی و انگلیسی
\usepackage[Kashida]{xepersian}
%آن‌چه در مورد انتخاب فونت برای ما اهمیت دارد زیبایی تو خالی بودن صفرها و پشتیبانی از تنظیم کشیده‌گی خودکار خطوط است، که همه در فونت یاس \lr{Yas} جمع‌اند.
\settextfont[Scale=1.1]{Yas}%Persian Modern
% از revision 118 زی‌پرشین به بعد، وارد کردن دستور زیر لازم نیست. توجه داشته باشید که در صورت  غیرفعال کردن این دستور،
% از فونت پیش‌فرض لاتک برای کلمات انگلیسی استفاده خواهد شد.
%\setlatintextfont[ExternalLocation,BoldFont={lmroman10-bold},BoldItalicFont={lmroman10-bolditalic},ItalicFont={lmroman10-italic}]{lmroman10-regular}
%%%%%%%%%%%%%%%%%%%%%%%%%%
% چنانچه می‌خواهید اعداد در فرمول‌ها، انگلیسی باشد، خط زیر را غیرفعال کنید
\setdigitfont[Scale=1.1]{Parsi Digits}
%%%%%%%%%%%%%%%%%%%%%%%%%%
% تعریف قلم‌های فارسی و انگلیسی اضافی برای استفاده در بعضی از قسمت‌های متن
\defpersianfont\nastaliq[Scale=2]{IranNastaliq}
\defpersianfont\sols[Scale=1.5]{XB Sols}
\defpersianfont\chapternumber[Scale=3]{XB Niloofar}
\defpersianfont\titr[Scale=1]{XB Titre}
%%%%%%%%%%%%%%%%%%%%%%%%%%
% دستوری برای حذف کلمه «چکیده»
%\renewcommand{\abstractname}{}
% دستوری برای حذف کلمه «abstract»
%\renewcommand{\latinabstract}{}
% دستوری برای تغییر نام کلمه «اثبات» به «برهان»
\renewcommand\proofname{\textbf{برهان}}

% دستوری برای تغییر نام کلمه «کتاب‌نامه» به «مراجع»
\renewcommand{\bibname}{مراجع}
\renewcommand{\listfigurename}{فهرست شکل‌ها}
\renewcommand{\listtablename}{فهرست جدول‌ها}

% دستوری برای تعریف واژه‌نامه انگلیسی به فارسی
\newcommand\persiangloss[2]{#1\dotfill\lr{#2}\\}
 %دستوری برای تعریف واژه‌نامه فارسی به انگلیسی 
\newcommand\englishgloss[2]{#2\dotfill\lr{#1}\\}
%%%%%%%%%%%%%%%%%%%%%%%%%
% تعریف و نحوه ظاهر شدن عنوان قضیه‌ها، تعریف‌ها، مثال‌ها و ...
\theoremstyle{definition}
\newtheorem{theorem}{قضیه}[chapter]
\newtheorem{definition}{تعریف}[chapter]
\newtheorem{example}{مثال}[chapter]
\newtheorem{lemma}{لم}[chapter]
\newtheorem{proposition}{گزاره}[chapter]
\newtheorem{corollary}{نتیجه}[chapter]
\newtheorem{remark}{ملاحظه}[chapter]
\newtheorem{treaty}{قرارداد}[chapter]
\newtheorem{rema}{تبصره}[chapter]
\newtheorem{notice}{توجه}[chapter]
\newtheorem{hint}{تذکر}[chapter]
\newtheorem{point}{نکته}[chapter]
\newtheorem{problem}{مساله}[chapter]
\newtheorem{rem}{یادآوری}[chapter]
\newtheorem{hads}{حدس}[chapter]
\newtheorem{notation}{نمادگذاری}[chapter]
\newtheorem{x}{}[chapter]
\newenvironment{solution}{{\bf \noindent \\ حل. } \rm } 
% محیط‌های آزاد با و بدون شماره

\newcommand{\nameB}{}
\newtheorem*{envB}{\nameB}
\newenvironment{fenv}[1][پیش‌فرض]
{\renewcommand{\nameB}{#1}\begin{envB}}{\end{envB}}

\newcommand{\nameA}{}
\newtheorem{envA}{\nameA}
\newenvironment{fcenv}[1][پیش‌فرض]
{\renewcommand{\nameA}{#1}\begin{envA}}{\end{envA}}

%%%%%%%%%%%%%%%%%%%%%%%%%%
% تعریف دستورات جدید برای خلاصه نویسی و راحتی کا در هنگام تایپ فرمول‌های ریاضی
\newcommand{\op}[1]{\mathop{#1}\limits}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% دستورهایی برای سفارشی کردن سربرگ صفحات
%\csname@twosidetrue\endcsname
\pagestyle{fancy}
\fancyhf{} 
%\fancyhead[OL,EL]{\thepage}
%\fancyhead[OR,ER]{\small\leftmark}
\fancyhead[OL]{\thepage}
\fancyhead[OR]{\small\leftmark}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{\thepage}}
%\markboth{\thechapter.\ #1}{}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% دستورهایی برای سفارشی کردن صفحات اول فصل‌ها
%\makeatletter
\newcommand\mycustomraggedright{%
 \if@RTL\raggedleft%
 \else\raggedright%
 \fi}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\ifnum \c@secnumdepth >-2\relax
 \huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 40\p@
\fi
\Huge\bfseries #2\par}%
\@endpart}
\def\@makechapterhead#1{%
\vspace*{80\p@}%
{\parindent \z@ \mycustomraggedright %\@mycustomfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
% این دو جفت محیط center باعث وسط چین شدن عنوان فصل می‌شوند.
%\begin{center}
\huge\bfseries\@chapapp\space {\chapternumber\thechapter}
%\end{center}
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M 
%\begin{center}
\Huge \bfseries #1\par\nobreak
%\end{center}
\vskip 50\p@
}}
\makeatother
% دستوراتی برای تنظیم شماره لاتین برای پانوشت‌ها
\makeatletter
\def\@makeLTRfnmark{\hbox{\@textsuperscript{\latinfont\@thefnmark}}}
\renewcommand\@makefntext[1]{%
    \parindent 1em%
    \noindent
    \hb@xt@1.8em{\hss\if@RTL\@makefnmark\else\@makeLTRfnmark\fi}#1}
\makeatother
% دستوری برای تنظیم فرمول‌ها در حالت نمایشی
\everymath\expandafter{\the\everymath \displaystyle}



% دستوراتی برای تنظیم و تولید واژه‌نامه به صورت خودکار
% %style=listgroup,nonumberlist
\newglossarystyle{mylistFa}{
\glossarystyle{list}\addcontentsline{toc}{chapter}{واژه‌نامه فارسی به انگلیسی}
\renewenvironment{theglossary}{}{}
\renewcommand*{\glossaryheader}{}
\renewcommand*{\glsgroupheading}[1]{\section*{\glsgetgrouptitle{##1}}}
\renewcommand*{\glsgroupskip}{}
\renewcommand*{\glossaryentryfield}[5]     {\noindent\glstarget{##1}{##2}\dotfill \space ##3 \\}
\renewcommand*{\glossarysubentryfield}[6]{\glossaryentryfield{##2}{##3}{##4}{##5}{##6}}
}


\newglossarystyle{mylistEn}{
\glossarystyle{list}\addcontentsline{toc}{chapter}{واژه‌نامه انگلیسی به فارسی}
\renewenvironment{theglossary}{}{}
\renewcommand*{\glossaryheader}{}
\renewcommand*{\glsgroupheading}[1]{\begin{LTR} \section*{\lr{\glsgetgrouptitle{##1}}} \end{LTR}}
\renewcommand*{\glsgroupskip}{}
\renewcommand*{\glossaryentryfield}[5]     {\noindent\glstarget{##1}{##3}\dotfill \space ##2 \\}
\renewcommand*{\glossarysubentryfield}[6]{\glossaryentryfield{##2}{##3}{##4}{##5}{##6}}
}

% تعریف دو نمونه واژه نامه
\newglossary[glg]{english}{gls}{glo}{واژه‌نامه انگلیسی به فارسی}
\newglossary[blg]{persian}{bls}{blo}{واژه‌نامه فارسی به انگلیسی}

% توسط این دستور واژه مورد نظر در متن، هر دو واژه نامه و پاورقی می آید.
\newcommand{\inpdic}[2]{
	\newglossaryentry{fa-#1}{type=persian,name={#1}, sort={#1},description={\lr{#2}}}\gls{fa-#1}\LTRfootnote{#2}
	\newglossaryentry{en-#1}{type=english,name={\lr{#2}}, sort={#2},description={#1}}\glsuseri{en-#1}
}

% توسط این دستور واژه مورد نظر در متن، هر دو واژه نامه  می آید.
\newcommand{\indic}[2]{
	\newglossaryentry{fa-#1}{type=persian,name={#1}, sort={#1},description={\lr{#2}}}\gls{fa-#1}
	\newglossaryentry{en-#1}{type=english,name={\lr{#2}}, sort={#2},description={#1}}\glsuseri{en-#1}
}

% توسط این دستور واژه مورد نظر فقط در هر دو واژه نامه  می آید.
\newcommand{\ingls}[2]{
	\newglossaryentry{fa-#1}{type=persian,name={#1}, sort={#1},description={\lr{#2}}}\glsuseri{fa-#1}
	\newglossaryentry{en-#1}{type=english,name={\lr{#2}}, sort={#2},description={#1}}\glsuseri{en-#1}
}

\makeglossaries
\glsdisablehyper

% دستوراتی برای دست‌کاری تعریف bordermatrix
\makeatletter
\newif\if@borderstar
\def\bordermatrix{\@ifnextchar*{%
\@borderstartrue\@bordermatrix@i}{\@borderstarfalse\@bordermatrix@i*}%
}
\def\@bordermatrix@i*{\@ifnextchar[{\@bordermatrix@ii}{\@bordermatrix@ii[()]}}
\def\@bordermatrix@ii[#1]#2{%
\begingroup
\m@th\@tempdima8.75\p@\setbox\z@\vbox{%
\def\cr{\crcr\noalign{\kern 2\p@\global\let\cr\endline }}%
\ialign {$##$\hfil\kern 2\p@\kern\@tempdima & \thinspace %
\hfil $##$\hfil && \quad\hfil $##$\hfil\crcr\omit\strut %
\hfil\crcr\noalign{\kern -\baselineskip}#2\crcr\omit %
\strut\cr}}%
\setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
\setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
\setbox\tw@\hbox{%
$\kern\wd\@ne\kern -\@tempdima\left\@firstoftwo#1%
\if@borderstar\kern2pt\else\kern -\wd\@ne\fi%
\global\setbox\@ne\vbox{\box\@ne\if@borderstar\else\kern 2\p@\fi}%
\vcenter{\if@borderstar\else\kern -\ht\@ne\fi%
\unvbox\z@\kern-\if@borderstar2\fi\baselineskip}%
\if@borderstar\kern-2\@tempdima\kern2\p@\else\,\fi\right\@secondoftwo#1 $%
}\null \;\vbox{\kern\ht\@ne\box\tw@}%
\endgroup
}

%\makeatother







% دستوراتی برای تنظیم شمارنده‌ها‮
\numberwithin{equation}{chapter}
\numberwithin{table}{chapter}
\numberwithin{figure}{chapter}
%\renewcommand\theequation{\arabic{equation}}
%\renewcommand\thefigure{\arabic{figure}}
%\renewcommand\thetable{\arabic{table}}







