\documentclass{report}
% محمود امین‌طوسی , http://webpages.iust.ac.ir/mamintoosi
% http://www.parsilatex.com
\usepackage{algorithm}
\usepackage{algorithmic}

\usepackage{xepersian}
\settextfont[Scale=1]{XB Niloofar}
\setlatintextfont[Scale=1]{Linux Libertine}
\setdigitfont{XB Niloofar}

\title{نحوه‌ی استفاده از بسته‌ی \lr{algorithm} برای نوشتن الگوریتم‌های یک‌دست در یک سند زی‌پرشین }
\author{محمود امین‌طوسی}


\begin{document}
\maketitle
\listofalgorithms

\chapter{مزایای استفاده از بسته‌ی \lr{algorithm}}
در این مثال نحوه‌ی استفاده از بسته‌ی \lr{algorithm} برای نوشتن الگوریتم‌های یک‌دست در یک سند زی‌پرشین نشان داده شده است.
به این منظور کافیست بسته‌های \lr{algorithm} و \lr{algorithmic} را در آغاز سند خود قرار داده و به صورتی که در فایل سورس این مثال
آمده است از آن استفاده نمایید.

از مزایای این بسته می‌توان موارد زیر را برشمرد:
\begin{itemize}
\item داشتن الگوریتم‌های یک‌دست و زیبا در اسناد خود،
\item امکان دادن برچسب به هر الگوریتم و ارجاع به آنها همانند \lr{figure}،
\item امکان دادن اختیار به لاتک جهت تعیین بهترین محل قرارگیری آنها در سند، به عنوان مثال بالای صفحه (برای آشنایی با پارامترهای مربوطه 
به مراجع لاتک و قسمت مربوط به \lr{figure} مراجعه نمایید). 
\item شماره‌گذاری خودکار دستورات.
\item امکان داشتن لیست (فهرست) الگوریتم‌ها، همچون لیست شکل‌ها یا جداول
\end{itemize}

برای اطلاعات بیشتر در مورد نحوه‌ی استفاده از بسته‌ی \lr{algorithm} به راهنمای آن فایل \lr{algorithms.dvi} که همراه با خود بسته می‌باشد مراجعه نمایید. 

\chapter{نحوه‌ی استفاده}
الگوریتم \ref{alg:multibandblending} یک نمونه الگوریتم تولید شده با بسته‌ی \lr{algorithm} است.
همانگونه که در این مثال مشاهده می‌نمایید الگوریتم با توجه به پارامتر \lr{h} استفاده شده،
در همان محلی که در سورس آمده است قرار گرفته است.

%\renewcommand{\algorithmicif}{\textbf{اگر}}
%\renewcommand{\algorithmicthen}{\textbf{آنگاه}}
\renewcommand{\algorithmicelse}{\textbf{وگرنه}}
\renewcommand{\algorithmicprint}{\textbf{چاپ کن}}
\begin{algorithm}[h]
\caption{الگوریتم هم‌رنگ‌سازی چندبانده.} \label{alg:multibandblending}
\begin{algorithmic}[1]
\REQUIRE تصاویر $A$ و $B$.\\
\ENSURE تصویر $S$ حاصل از  نیمه‌ی سمت چپ $A$ و نیمه‌ی سمت راست $B$
  \STATE هرمهای لاپلاسین $LA,LB$ از تصاویر $A,B$ ساخته می‌شوند.
  \STATE هرم لاپلاسین سومی به نام $LS$ با کپی کردن نیمه‌های سمت چپ $LA$ و سمت راست $LB$ ساخته می‌شود.
  \STATE تصویر نهایی $S$ با گسترش هر سطح هرم $LS$ و جمع آن با سطح بعدی حاصل خواهد شد.   
%  \IF{$mod(a,2)==0$}
  \PRINT $a$ زوج است.
%  \ELSE 
  \PRINT $a$ فرد است.  
\end{algorithmic}
\end{algorithm}

\end{document}