\documentclass{report}

% بسته ای برای تنظیم حاشیه صفحات
\usepackage[top=3cm, bottom=2.5cm, left=2cm, right=2.5cm]{geometry}

% بسته ای برای تولید bookmark‌ در فایل pdf‌ و hyperlink کردن لینک های موجود در متن
\usepackage{hyperref}
\usepackage[xindy]{glossaries} 
\usepackage[extrafootnotefeatures]{xepersian}

\hypersetup{ 
pdfmenubar=false, pdfstartview=FitH, pdfpagemode=FullScreen,colorlinks=true,linkcolor=blue, anchorcolor=green, citecolor=magenta, urlcolor=cyan, filecolor=magenta, pdftoolbar=true, pdfpagemode=UseOutlines,
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\twocolumnfootnotes
\usepackage{perpage}
\MakePerPage{LTRfootnote}
\MakePerPage{footnote}%
\MakePerPage{RTLfootnote}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%style=listgroup,nonumberlist
\newglossarystyle{mylistFa}{
\glossarystyle{tree}
\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{tree}
\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

\pagenumbering{harfi}
\begin{document}
\baselineskip = .9 cm

در ابتدا بسته {\lr{glossaries}} را با {\lr{option}}، {\lr{Xindy}} فراخوانی کنید. در مرحله بعد دو استایل برای واژه نامه ها با دستور {\lr{newglossarystyle}} تعریف نموده ایم. یکی برای واژه نامه فارسی به انگلیسی یکی هم برای انگلیسی به فارسی. 

در مرحله سوم دو نوع واژه نامه بادستور {\lr{newglossary}} تعریف می کنیم. دقت کنید با این کار ۵ فایل با پسوند {\lr{blo,glo,gls,glo,glg}} تولید می شود. من سه حالت برای وارد کردن واژه ها در واژه نامه تعریف کردم.
\begin{itemize}
\item {\lr{inpdic}}:
این دستور واژه ها را هم در واژه نامه وارد می کند و هم در پاورقی می‌آورد و خود واژه را در متن نیز قرار می دهد. مثل: {\inpdic{همتافتن}{Multiplex}}

\item {\lr{indic}}:
همانند {\lr{inpdic}} است، تنها ترجمه واژه در پاورقی نمی آید. مثل: {\indic{همتافتگر}{Multiplexer}}
\item {\lr{ingls}}:
این دستور باعث می‌شود تنها واژه در واژه نامه ظاهر شود و اصلا در متن ظاهر نمی شود. مثل: {\ingls{همتافتگری}{Multiplexing}}. همان طور که می بینید در این مثال کلمه (همتافتگری) تنها در واژه نامه آمده است و اصلا در متن ظاهر نشده است. 
\end{itemize}

مهم ترین مرحله کامپایل برنامه است که باید به صورت دنباله زیر باشد: (این تنظیمات برای {\lr{texmaker}} است.)
\begin{itemize}
\begin{LTRitems}
\item
\verb+ xelatex -interaction=nonstopmode -synctex=-1 %.tex+
\item
\verb+ xindy -L persian -C utf8 -I xindy -M %.xdy -t %.glg -o %.gls %.glo +
\item
\verb+ xindy -L persian -C utf8 -I xindy -M %.xdy -t %.blg -o %.bls %.blo +
\item
\verb+ xelatex -interaction=nonstopmode -synctex=-1 %.tex+
\end{LTRitems}
\end{itemize}
دقت کنید که مورد دوم در {\lr{Bidi Texmaker}}  آمده است، ولی مورد سوم وجود ندارد، و باید به صورت دستی وارد کنید. یعنی در  {\lr{User Command}} آن را تعریف کنیم. دقت کنید اگر مورد سوم را انجام ندهید یکی از واژه نامه ها اصلا تولید نمی شود. 

مثال‌هایی دیگر:


\inpdic{دسترسی چندگانه}{Multiple Access}
\inpdic{فراگردی}{Roaming}
\inpdic{واگذاری}{Handover}% FA: , واگذاری Comm: دگرسپاری
\inpdic{جایگشت}{Handoff}
\ingls{هزینه}{Charging}
\ingls{افزونگی}{Redundancy}
\ingls{شیار زمانی}{Time Slot}
\ingls{گذردهی}{Throughput}
\ingls{اشتراک زمانی}{Time Sharing}
\ingls{زمان‌بندی}{Timing}
\ingls{نمونه}{Sample}
\ingls{نمونه‌برداری}{Sampling}
\ingls{درهم‌ساختن}{Scramble}
\ingls{درهم‌ساز}{Scrambler}
\indic{کددرهم‌ساز}{Srambling Code}
\indic{خدمت}{Service}
\indic{پهنای باند}{Bandwidth}
\indic{باند‌پایه}{Base Band}
\indic{دودویی}{Binary}



%%%%%%%%%%%%%%%%%%%%%%%%%

\baselineskip=.75cm
\onecolumn{$ $}
\glossarystyle{mylistEn}
\printglossary[type=english]

\clearpage
\phantomsection
\glossarystyle{mylistFa}
\printglossary[type=persian]

\end{document}


