-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathglossaries.tex
More file actions
200 lines (178 loc) · 11.6 KB
/
glossaries.tex
File metadata and controls
200 lines (178 loc) · 11.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
%\documentclass{report}
\usepackage{dblfnote}
%%% وارد کردن بستههای مورد نیاز
% بسته ای برای رنگی کردن لینک ها و فعال سازی لینک ها در یک نوشتار، بسته hyperref باید جزو آخرین بستههایی باشد که فراخوانی میشود.
%\usepackage{hyperref}
% بستهای برای وارد کردن واژه نامه در متن، این بسته باید بعد از hyperref حتما صدا زده شود.
\usepackage[xindy,acronym,nonumberlist=true]{glossaries}
\usepackage[pagebackref=false,colorlinks,linkcolor=blue,citecolor=magenta]{hyperref}
% در مورد تقدم و تاخر وارد کردن بسته ها تنها باید به چند نکته دقت کرد:
% الف) بسته xepersian حتما حتما باید آخرین بسته ای باشد که فراخوانی می شود
% ب) بسته hyperref جزو آخرین بسته هایی باید باشد که فراخوانی می شود.
% ج) بسته glossaries حتما باید بعد از hyperref فراخوانی شود.
%\usepackage{xepersian}
%\settextfont{XB Niloofar}
%\setdigitfont[Scale=1.3]{PGaramond}
%\setlatintextfont[Scale=1.2]{Times New Roman}
%%%%%% ============================================================================================================
%%% تنظیمات مربوط به بسته glossaries
%%% تعریف استایل برای واژه نامه فارسی به انگلیسی، در این استایل واژههای فارسی در سمت راست و واژههای انگلیسی در سمت چپ خواهند آمد. از حالت گروه بندی استفاده میکنیم،
%%% یعنی واژهها در گروههایی به ترتیب حروف الفبا مرتب میشوند، مثلا:
%%% الف
%%% افتصاد ................................... Economy
%%% اشکال ........................................ Failure
%%% ش
%%% شبکه ...................................... Network
\newglossarystyle{myFaToEn}{%
\renewenvironment{theglossary}{}{}
\renewcommand*{\glsgroupskip}{\vskip 10mm}
\renewcommand*{\glsgroupheading}[1]{\subsection*{\glsgetgrouptitle{##1}}}
\renewcommand*{\glossentry}[2]{\noindent\glsentryname{##1}\dotfill\space \glsentrytext{##1}
}
}
%% % تعریف استایل برای واژه نامه انگلیسی به فارسی، در این استایل واژههای فارسی در سمت راست و واژههای انگلیسی در سمت چپ خواهند آمد. از حالت گروه بندی استفاده میکنیم،
%% % یعنی واژهها در گروههایی به ترتیب حروف الفبا مرتب میشوند، مثلا:
%% % E
%%% Economy ............................... اقتصاد
%% % F
%% % Failure................................... اشکال
%% %N
%% % Network ................................. شبکه
\newglossarystyle{myEntoFa}{%
%%% این دستور در حقیقت عملیات گروهبندی را انجام میدهد. بدین صورت که واژهها در بخشهای جداگانه گروهبندی میشوند،
%%% عنوان بخش همان نام حرفی است که هر واژه در آن گروه با آن شروع شده است.
\renewenvironment{theglossary}{}{}
\renewcommand*{\glsgroupskip}{\vskip 10mm}
\renewcommand*{\glsgroupheading}[1]{\begin{LTR} \subsection*{\glsgetgrouptitle{##1}} \end{LTR}}
%%% در این دستور نحوه نمایش واژهها میآید. در این جا واژه فارسی در سمت راست و واژه انگلیسی در سمت چپ قرار داده شده است، و بین آن با نقطه پر میشود.
\renewcommand*{\glossentry}[2]{\noindent\glsentrytext{##1}\dotfill\space \glsentryname{##1}
}
}
%%% تعیین استایل برای فهرست اختصارات
\newglossarystyle{myAbbrlist}{%
%%% این دستور در حقیقت عملیات گروهبندی را انجام میدهد. بدین صورت که اختصارات در بخشهای جداگانه گروهبندی میشوند،
%%% عنوان بخش همان نام حرفی است که هر اختصار در آن گروه با آن شروع شده است.
\renewenvironment{theglossary}{}{}
\renewcommand*{\glsgroupskip}{\vskip 10mm}
\renewcommand*{\glsgroupheading}[1]{\begin{LTR} \subsection*{\glsgetgrouptitle{##1}} \end{LTR}}
%%% در این دستور نحوه نمایش اختصارات میآید. در این جا حالت کوچک اختصار در سمت چپ و حالت بزرگ در سمت راست قرار داده شده است، و بین آن با نقطه پر میشود.
\renewcommand*{\glossentry}[2]{\noindent\glsentrytext{##1}\dotfill\space \Glsentrylong{##1}
}
%فهرست اختصارات
%%% تغییر نام محیط abbreviation به
\renewcommand*{\acronymname}{\rl{فهرست اختصارات
}}
}
%%% برای اجرا xindy بر روی فایل .tex و تولید واژهنامهها و فهرست اختصارات و فهرست نمادها یکسری فایل تعریف شده است. Latex داده های مربوط به واژه نامه و .. را در این
%%% فایلها نگهداری میکند. مهمترین option این قسمت این است که
%%% عنوان واژهنامهها و یا فهرست اختصارات و یا فهرست نمادها را میتوانید در اینجا مشخص کنید.
%%% در این جا عباراتی مثل glg، gls، glo و ... پسوند فایلهایی است که برای xindy بکار میروند.
\newglossary[glg]{english}{gls}{glo}{واژهنامه انگلیسی به فارسی}
\newglossary[blg]{persian}{bls}{blo}{واژهنامه فارسی به انگلیسی}
\makeglossaries
\glsdisablehyper
%%% تعاریف مربوط به تولید واژه نامه و فهرست اختصارات و فهرست نمادها
%%% در این فایل یکسری دستورات عمومی برای وارد کردن واژهنامه آمده است.
%%% به دلیل اینکه قرار است این دستورات پایهای را بازنویسی کنیم در اینجا تعریف میکنیم.
\let\oldgls\gls
\let\oldglspl\glspl
\makeatletter
\renewrobustcmd*{\gls}{\@ifstar\@msgls\@mgls}
\newcommand*{\@mgls}[1] {\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\oldgls{#1}\glsuseri{f-#1}}{\oldgls{#1}}}
\newcommand*{\@msgls}[1]{\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\glstext{#1}\glsuseri{f-#1}}{\oldgls{#1}}}
\renewrobustcmd*{\glspl}{\@ifstar\@msglspl\@mglspl}
\newcommand*{\@mglspl}[1] {\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\oldglspl{#1}\glsuseri{f-#1}}{\oldglspl{#1}}}
\newcommand*{\@msglspl}[1]{\ifthenelse{\equal{\glsentrytype{#1}}{english}}{\glsplural{#1}\glsuseri{f-#1}}{\oldglspl{#1}}}
\makeatother
\newcommand{\newword}[4]{
\newglossaryentry{#1} {type={english},name={\lr{#2}},plural={#4},text={#3},description={}}
\newglossaryentry{f-#1} {type={persian},name={#3},text={\lr{#2}},description={}}
}
%+++++++++++++++++++++++++++++++++++++
%%% بر طبق این دستور، در اولین باری که واژه مورد نظر از واژهنامه وارد شود، پاورقی زده میشود.
\defglsentryfmt[english]{\glsgenentryfmt\ifglsused{\glslabel}{}{\LTRfootnote{\glsentryname{\glslabel}}}}
%%% بر طبق این دستور، در اولین باری که واژه مورد نظر از فهرست اختصارات وارد شود، پاورقی زده میشود.
\defglsentryfmt[acronym]{\glsentryname{\glslabel}\ifglsused{\glslabel}{}{\LTRfootnote{\glsentrydesc{\glslabel}}}}
%+++++++++++++++++++++++++++++++++++++
%%%%%% ============================================================================================================
%%============================ دستور برای قرار دادن فهرست اختصارات
\newcommand{\printabbreviation}{
\cleardoublepage
\phantomsection
\baselineskip=.75cm
%% با این دستور عنوان فهرست اختصارات به فهرست مطالب اضافه میشود.
\addcontentsline{toc}{chapter}{فهرست اختصارات}
\setglossarystyle{myAbbrlist}
\begin{RTL}
\Oldprintglossary[type=acronym]
\end{RTL}
\clearpage
}%
\newcommand{\printacronyms}{\printabbreviation}
%%% در این جا محیط هر دو واژه نامه را باز تعریف کرده ایم، تا اولا مشکل قرار دادن صفحه اضافی را حل کنیم، ثانیا عنوان واژه نامه ها را با دستور addcontentlist وارد فهرست مطالب کرده ایم.
\let\Oldprintglossary\printglossary
\renewcommand{\printglossary}{
\let\appendix\relax
%% تنظیم کننده فاصله بین خطوط در این قسمت
\clearpage
\phantomsection
%% این دستور موجب این میشود که واژهنامهها در حالت دو ستونی نوشته شود.
\twocolumn{}
%% با این دستور عنوان واژهنامه به فهرست مطالب اضافه میشود.
\addcontentsline{toc}{chapter}{واژه نامه انگلیسی به فارسی}
\setglossarystyle{myEntoFa}
\Oldprintglossary[type=english]
\clearpage
\phantomsection
%% با این دستور عنوان واژهنامه به فهرست مطالب اضافه میشود.
\addcontentsline{toc}{chapter}{واژه نامه فارسی به انگلیسی}
\setglossarystyle{myFaToEn}
\Oldprintglossary[type=persian]
\onecolumn{}
}%
%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%واژگان جدید را اینجا و مطابق نمونه وارد کنید.
%%% نحوه تعریف واژگان
%فرم کلی:
%\newword{arg1}{arg2}{arg3}{arg4}
%آرگومان اول برچسب جهت فراخوانی و آرگومان دوم معادل انگلیسی واژه و آرگومان سوم کلمهای است که میخواهیم در متن ظاهر شود و آرگومان چهارم کلمهای است که میخواهیم در پانویس و واژهنامهها ظاهر شود میباشد.
%مثال:
%\newword{HAU}{Hausdorff Space}{فضای هاسدورف}{هاسدورف}
%\newword{TOS}{Topology Space}{فضای توپولوژی}{فضای توپولوژی}
%%%%%% ============================================================================================================
%%% نحوه تعریف اختصارات
%اختصارات را در اینجا تعریف کنید به فرم کلی زیر
%\newacronym{label}{short}{long}
%که در واقع label {برچسب} و short {مختصر شدهی واژه} و long {واژهی کامل} است.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\newacronym{WL}{w.l.o.g}{\lr{
% Without Loss of Generality}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
%رسم خط کامل برای پاورقی به کمک دستور زیر بعد از زیپرشین
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
% =============================================================================
\iffalse
\begin{document}
مثال برای دیگشنریها و پانویس:
\\
یک
\glspl{TOS}
را
\glspl{HAU}
گویند هرگاه ...
\vspace*{3cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%مثال برای اختصارات:
در این پایاننامه
\gls{WL}
تمام فضاها را در نظر میگیریم.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5555
دستور قرار دادن دیکشنریها
\printglossary
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
دستور قرار دادن فهرست اختصارات
\printabbreviation
به امید موفقیت. مددپور
\end{document}
\fi
% =============================================================================