diff options
19 files changed, 1091 insertions, 452 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README index ebb63a6a0c5..68c9d74e0f1 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/README +++ b/Master/texmf-dist/doc/xelatex/xepersian/README @@ -1,10 +1,10 @@ ------------------------------- -The XePersian Package v0.161111111 +The XePersian Package v0.162 -Updates: Huge Improvements: introducing \twocolumnstableofcontents, \setparsimathsdigitsfont, \pagenumbering{adadi}. Changed \pagenumbering{farsi} to \pagenumbering{harfi}. Corrected the table of contents problem in amsart and amsbook classes. Corrected the header problems in all classes. +Updates: Huge Improvements: written a new package for unicode farsi maths digits, updated the user-guide. XePersian is a package written for XeLaTeX that allows users to typeset -Persian/Arabic properly. The current version is 0.161111111 and it will be +Persian properly. The current version is 0.162 and it will be developed to meet the needs of Persian typesetting properly. In order to use XePersian without getting any problem, the users are @@ -29,8 +29,8 @@ from http://wiki.irmug.org/index.php/X_Series_2#Download_fonts and http://wiki.irmug.org/index.php/XWZar -Please report any bugs to the author (vafa.khalighi@students.mq.edu.au). +Please report any bugs to the authors (mostafa.vahedi@gmail.com,vafa.khalighi@students.mq.edu.au,mehdioa@gmail.com). ------------------------------- -Vafa Khalighi -2008/09/17 +FarsiLaTeX Group +2008/09/27 diff --git a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.tex b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.tex index 3b564e025ae..9964a2bba7f 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.tex +++ b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.tex @@ -1,5 +1,6 @@ \documentclass[hyperref=xetex]{beamer} \usepackage{xepersian} +\newfontfamily\farsifont[Script=Arabic,Scle=1.2,Mapping=parsidigits]{XB Zar} \title{نمونه اسلاید توسط \lr{\XePersian}} \author{وفا خلیقی} \begin{document} diff --git a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.tex b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.tex index 483a9faba99..5418651514a 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.tex +++ b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.tex @@ -1,5 +1,6 @@ \documentclass{beamer} \usepackage{xepersian} +\newfontfamily\farsifont[Script=Arabic,Scle=1.2,Mapping=parsidigits]{XB Zar} \mode<presentation> { \usetheme{Warsaw} diff --git a/Master/texmf-dist/doc/xelatex/xepersian/farsi.xdy b/Master/texmf-dist/doc/xelatex/xepersian/farsi.xdy new file mode 100644 index 00000000000..548d939286d --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/farsi.xdy @@ -0,0 +1,118 @@ +;; $Id: makeidx.xdy,v 1.1 1997/02/07 14:17:31 kehr Exp $ +;; +;; This file implements the Output Style Specifiers for plain +;; makeindex (see manpage of makeindex 2.x) in conjuction with +;; TeX/LaTeX. +;; +;; The Input Style Specifiers of makeindex cannot de defined in a +;; `xindy' style file. Use an appropriate version of the program +;; `tex2xindy' which should be included with this distribution. +;; +;; Since `xindy' uses a different specification language than +;; makeindex and some of the command-line options of makeindex are now +;; only available as style-file commands, this file can only serve as +;; a template that produces the default-markup of makeindex. However, +;; it may be used as a starting point for further modification and +;; specialization. +;; +;; The following values are taken from the source of the makeindex +;; distribution (see file scanst.h and the manpage) for further +;; details. +;; + +;; Define all attributes appearing in your document. Your attributes +;; are all encapsulators you use in your \index commands following the +;; vertical bar sign `|'. For example `foo' is the attribute in the +;; command \index{...|foo}. Here you specify the set of attributes +;; that appear in your document, the order in which they appear in the +;; index and which one superdes the other. +;; +;; Example: a) (define-attibutes (("default") ("bf") ("it"))) +;; b) (define-attibutes (("bf" "default"))) +;; +;; The initial command is (change it accordingly): + +(define-attributes ("default")) + +;; The description of the location-classes. +;; Add more location classes as needed. + +(define-location-class "arabic-page-numbers" ("arabic-numbers")) +(define-location-class "roman-page-numbers" ("roman-numbers-lowercase")) +(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase")) +(define-location-class "alpha-page-numbers" ("alpha")) +(define-location-class "Alpha-page-numbers" ("ALPHA")) + +;; The most frequently used cross reference class "see". Add more, if +;; necessary. + +(define-crossref-class "see") +(markup-crossref-list :open "\see{" :close "}{}" :class "see") + +;; In makeindex: page_precedence <string> "rnaRA" +;; List all location classes appearing in your document. + +(define-location-class-order ("roman-page-numbers" + "arabic-page-numbers" + "alpha-page-numbers" + "Roman-page-numbers" + "Alpha-page-numbers" + "see")) + + +;; preamble <string> "\\begin{theindex}\n" +;; postamble <string> "\n\n\\end{theindex}\n" + +(markup-index :open "\begin{theindex}~n" + :close "~n~n\end{theindex}~n" + :tree) + +;; These specifiers are not directly supported via a command-line +;; switch as in makeindex. Add the appropriate markup-commands into +;; the preamble. + +;; setpage_prefix <string> "~n \setcounter{page}{" +;; setpage_suffix <string> "}~n" + +;; group_skip <string> "~n~n \indexspace~n" + +(markup-letter-group-list :sep "~n~n \indexspace~n") + +;; The indexentries (item_<..> specifiers) + +(markup-indexentry :open "~n \item " :depth 0) +(markup-indexentry :open "~n \subitem " :depth 1) +(markup-indexentry :open "~n \subsubitem " :depth 2) + +;; Location-references + +;; delim_0 <string> ", " +;; delim_1 <string> ", " +;; delim_2 <string> ", " + +(markup-locclass-list :open ", " :sep ", ") + +;; delim_n <string> ", " + +(markup-locref-list :sep ", ") + +;; delim_r <string> "--" + +(markup-range :sep "--") + +;; Here follow all letter-groups. The short-cut notation is used here. + +(define-letter-groups + ("آ" "ا" "ب" "پ" "ت" "ث" "ج" "چ" "ح" "خ" "د" "ذ" "ر" "ز" + "ژ" "س" "ش" "ص" "ض" "ط" "ظ" "ع" "غ" "ف" "ق" "ک" "گ" "ل" "م" "ن" "ه" "و" "ی")) + +;; +;; The sort-rules map all letters to their lowercase counterpart. +;; + + +;; End + +;; Local Variables: +;; mode: lisp +;; End: diff --git a/Master/texmf-dist/doc/xelatex/xepersian/notepad0.PNG b/Master/texmf-dist/doc/xelatex/xepersian/notepad0.PNG Binary files differnew file mode 100644 index 00000000000..b8058e379d7 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/notepad0.PNG diff --git a/Master/texmf-dist/doc/xelatex/xepersian/notepad1.PNG b/Master/texmf-dist/doc/xelatex/xepersian/notepad1.PNG Binary files differnew file mode 100644 index 00000000000..09cd1992404 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/notepad1.PNG diff --git a/Master/texmf-dist/doc/xelatex/xepersian/notepad2.PNG b/Master/texmf-dist/doc/xelatex/xepersian/notepad2.PNG Binary files differnew file mode 100644 index 00000000000..296bf2b7e4d --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/notepad2.PNG diff --git a/Master/texmf-dist/doc/xelatex/xepersian/notepad3.PNG b/Master/texmf-dist/doc/xelatex/xepersian/notepad3.PNG Binary files differnew file mode 100644 index 00000000000..be72edccb8a --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/notepad3.PNG diff --git a/Master/texmf-dist/doc/xelatex/xepersian/notepad4.PNG b/Master/texmf-dist/doc/xelatex/xepersian/notepad4.PNG Binary files differnew file mode 100644 index 00000000000..95cf788b955 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/notepad4.PNG diff --git a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf b/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf Binary files differdeleted file mode 100644 index 0e6f33e8cce..00000000000 --- a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex b/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex deleted file mode 100644 index 7e522958d8f..00000000000 --- a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex +++ /dev/null @@ -1,382 +0,0 @@ -\documentclass[a4paper,11pt]{report} -\usepackage{xepersian} -\usepackage[top=2.5cm,right=2.5cm,bottom=2.5cm,left=2.5cm]{geometry} -\title{حروفچینی فارسی در \lr{\XePersian}\\[0.2cm]نسخهٔ ۰/۱۶۱۱۱۱۱۱۱} -\author{وفا خلیقی\thanks{پست الکترونیک: \lr{vafa.khalighi@students.mq.edu.au}}} -\setlength\columnseprule{0.4pt} -\begin{document} -\maketitle -\twocolumnstableofcontents -\chapter{مقدمه} -به حروفچینی فارسی با \lr{\XePersian} خوش آمدید. هدف \lr{\XePersian} ارائه یک بستهٔ کاملاً کامل و پایدار برای حروفچینی است. لطفاً به خاطر داشته باشید که \lr{\XePersian} هنوز در حالت آزمایش است و این نسخهٔ ۰/۱۶۱۱۱۱۱۱۱ از آن است. من سعی کردهام، میکنم و خواهم کرد تا تمام امکانات حروفچینی فارسی را در \lr{\XePersian} جمع کنم. اما این خود نیاز به آزمایش و امتحان دارد تا اشکالات پیدا و رفع شود. - - -لطفاً قبل از استفاده از \lr{\XePersian} این سند را بدقت بخوانید تا با دستورات و امکانات \lr{\XePersian} آشنا شوید. - -همچنین اگر اشکالی، پیشنهادی و یا سؤالی دارید، میتوانید آن را به نویسندهٔ \lr{\XePersian} گزارش دهید تا مؤلف \lr{\XePersian} بتواند نسخهٔ بعدی کاملتری را ارائه دهد. - -دوست دارم از صمیم قلب از آقای \lr{Jonathan Kew } برای پشتیبانیها و اعتمادشان به من تشکر کنم. - -در اینجا نیز دوست دارم از مسئولان پروژههای تکپارسی و فارسیتک تشکر و قدردانی کنم به این خاطر که نوشتن \lr{\XePersian} ممکن نبود مگر با مطالعهٔ کدهای این دو پروژه. همچنین تعدادی از امکانات فارسیتک و تکپارسی در \lr{\XePersian} گنجانده شده است. - -در پایان نیز دوست دارم صمیمانه از دوستان خوب و نازنینم در وبلاگ فارسیلاتک، آقایان مصطفی واحدی، مهدی امیدعلی، مرتضی خدادادیان، وحید قاسمیان و بسیاری از دوستان دیگر تشکر کنم. بدون نظرات و پشتیبانیهای این دوستان، من نمیتوانستم انگیزهٔ لازم را در انجام این کار پیدا کنم. -\chapter{فلسفه و دستورات} -فلسفهٔ \lr{\XePersian} این است که یک استفاده کنندهٔ معمولی باید قادر باشد به راحتی به حروفچینی فارسی بپردازد. در حال حاضر \lr{\XePersian} با کلاسهای \lr{article, amsart, amsbook, report, book, bookest, refrep} و \lr{beamer} به زیبایی و آسانی کار میکند. در هر نسخه از \lr{\XePersian} تلاش بر این است تا حداقل سه کلاس دیگر نیز به آن اضافه شود. همچنین در هر نسخه بستههای زیادی نیز به \lr{\XePersian} اضافه خواهند شد تا کاربران آزادی کامل در حروفچینی فارسی داشته باشند. - -\section{قلمهای فارسی} -تعدادی قلمهای فارسی مناسب با \lr{\XePersian} عرضه میشوند. این قلمها در پوشهٔ \lr{True Type Fonts} قرار دارند. لطفاً قبل از انجام هر کاری این قلمها را روی سیستم خود نصب کنید. -\section{اسکلت یک متن فارسی ساده } -\subsection{طبقات \lr{article} و \lr{amsart}} -\setLR -\verb|\documentclass{article}|\\ -\verb|\usepackage{xepersian}|\\ -\verb|\title{|\rl{عنوان مطلب}\verb|}|\\ -\verb|\author{|\rl{نام نویسنده}\verb|}|\\ -\verb|\begin{document}|\\ -\verb|\maketitle|\\ -\verb|\tableofcontents|\\ -\verb|\section{|\rl{یک قسمت}\verb|}| - -$\vdots$ - -\verb|\subsection{|\rl{یک زیر قسمت}\verb|}| - -$\vdots$ - -\verb|\subsubsection{|\rl{یک زیر زیر قسمت}\verb|}| - -$\vdots$ - - -\verb|\end{document}| -\setRL - -\newpage -\subsection{طبقهٔ \lr{beamer}} -\setLR -\verb|\documentclass[hyperref=xetex]{beamer}|\\ -\verb|\usepackage{xepersian}|\\ -\verb|\title{|\rl{عنوان مطلب}\verb|}|\\ -\verb|\author{|\rl{نام نویسنده}\verb|}|\\ -\verb|\begin{document}|\\ -\verb|\frame{\maketitle}|\\ -\verb|\section{|\rl{یک قسمت}\verb|}|\\ -\verb|\frametitle{|\rl{مطلب}\verb|}|\\ -\verb|\framesubtitle{|\rl{زیر مطلب}\verb|}| - -$\vdots$ - -\verb|\end{frame}| - -$\vdots$ - - -\verb|\end{document}| -\setRL - -\subsection{سایر طبقات} -\setLR -\verb|\documentclass{book}|\\ -\verb|\usepackage{xepersian}|\\ -\verb|\title{|\rl{عنوان مطلب}\verb|}|\\ -\verb|\author{|\rl{نام نویسنده}\verb|}|\\ -\verb|\begin{document}|\\ -\verb|\maketitle|\\ -\verb|\tableofcontents|\\ -\verb|\chapter{|\rl{یک فصل}\verb|}| - -$\vdots$ - -\verb|\section{|\rl{یک قسمت}\verb|}| - -$\vdots$ - -\verb|\subsection{|\rl{یک زیر قسمت}\verb|}| - -$\vdots$ - -\verb|\subsubsection{|\rl{یک زیر زیر قسمت}\verb|}| - -$\vdots$ - - -\verb|\end{document}| -\setRL -\newpage -\section{نکات} -\begin{itemize} -\item \lr{\XePersian} -قلم زر را برای قلم فارسی به عنوان پیشفرض استفاده میکند لذا باید این قلم را روی سیستم خود نصب کرده باشید. اگر میخواهید از قلم دیگری به عنوان قلم فارسی استفاده کنید، میتوانید دستور زیر را بعد از \verb|\usepackage{xepersian}| در پیشدرآمد فایل خود قرار دهید: - -\setLR -\verb|\newfontfamily\farsifont[Script=Arabic,Scale=1.2,Mapping=parsidigits]{name of your font}| -\setRL - - -\item -اگر میخواهید پاراگرافی انگلیسی بنویسید باید آن پاراگراف را در محیط \lr{\texttt{english}} قرار دهید: - -\setLR -\verb|\begin{english}| - -$\vdots$ - -\verb|\end{english}| -\setRL - - -\item -دستور \verb|\setparsimathsdigitsfont| امکان انتخاب فونت اعداد فارسی را در محیط ریاضی به شما میدهد. اگر اصلاً از این فرمان استفاده نکنید، اعداد به صورت لاتین در محیط ریاضی درج میشوند. لطفاً توجه داشته باشید که این فرمان را باید بعد از \verb|\begin{document}| قرار دهید. شکل کلی این دستور به شکل زیر است: - - -\setLR -\verb|\setparsimathsdigitsfont{name of your font}| -\setRL - - - -\item \lr{\XePersian} -بصورت پیشفرض بستههای \lr{amsmath, amssymb, amsthm} و دیگر بستههای مربوط را فراخوانی میکند لذا شما نباید این بستهها را دوباره در پیشدرآمد فایل خود فراخوانی کنید. -\item \lr{\XePersian} -بصورت خودکار بستهٔ \lr{graphicx} را فراخوانی میکند لذا شما نباید این بسته را در پیشدرآمد فایل خود فراخوانی کنید. - -\end{itemize} -\newpage -\section{دستورات کلیدی } -\verb|\XePersian|: -برای قرار دادن نماد \lr{\XePersian}. البته اگر در محیط \lr{\texttt{english}} نیستید باید از شکل -\verb|\lr{\XePersian}| -این دستور استفاده کنید. - -\vspace{0.5cm} - -\verb|\rl{}|: -برای قرار دادن کلمه/کلمات و یا جملهای فارسی زمانی که در محیط \lr{\texttt{english}} هستیم. کلمه/کلمات و یا جمله فارسی درون \verb|{}| قرار میگیرد. - -\vspace{0.5cm} - -\verb|\lr{}|: -برای قرار دادن کلمه/کلمات و یا جملهای انگلیسی زمانی که در محیط \lr{\texttt{english}} نیستیم. کلمه/کلمات و یا جمله انگلیسی درون \verb|{}| قرار میگیرد. - - - - - -\vspace{0.5cm} - -\verb|\footnote{}|: -برای قرار دادن زیرنویس فارسی. متن فارسی را درون \verb|{}| قرار میدهیم. - -\vspace{0.5cm} - -\verb|\Footnote{}|: -برای قرار دادن زیرنویس انگلیسی. متن انگلیسی را درون \verb|{}| قرار میدهیم. -\vspace{.5cm} - -\verb|\pagenumbering{harfi}|: -برای تبدیل شمارهٔ صفحات از عددی به حروف الفبای فارسی. - -\vspace{.5cm} - -\verb|\pagenumbering{arabic}|: -برای تبدیل شمارهٔ صفحات از حروفی به عددی. - -\vspace{.5cm} - -\verb|\pagenumbering{adadi}|: -برای تبدیل شماره صفحات به عددی که با حروف نوشته میشود، مانند یک، دو، سه و ... - -\vspace{.5cm} - -\verb|\twocolumnstableofcontents|: -برای حروفچینی فهرست مطالب در دو ستون. مانند فهرست مطالب این سند. - - -\newpage -\chapter{امکانات حروفچینی فارسی } -\section{حروفچینی شعر} -حروفچینی شعر از فارسیتک به \lr{\XePersian} اضافه شده است. در اینجا لازم میدانم از آقای بهداد اسفهبد که مؤلف اصلی آن هستند تشکر کنم. - -\vspace{0.5cm} - -لطفاً به خاطر داشته باشید که برای حروفچینی شعر نیازی به قراردادن بستهای خاص ندارید؛ \lr{\XePersian} این کار را بصورت خودکار انجام میدهد. هدف ما در اینجا فقط معرفی این محیط میباشد، اگر قصد دارید این محیط را به طور کامل فرا گیرید، لطفاً به آخرین راهنمای فارسیتک مراجعه فرمائید. -\subsection{حروفچینی شعر سنتی} -حروفچینی شعر سنتی در محیطی به نام \lr{oldpoem} انجام میگیرد. این محیط دو حالت دارد: -\subsubsection{حالت معمولی} -\begin{oldpoem} -هله رفتیم و گرانی ز جمالت بردیم& -جهت توشهٔ ره ذکر وصالت بردیم\\ -تا که ما را و ترا تذکرهٔ خوش باشد& -دل خسته بتو دادیم و خیالت بردیم\\ -آن خیال رُخ خوبت که قمر بندهٔ اوست& -وان خَم ابروی مانند هلالت بردیم\\ -و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست& -ز شکر خانهٔ مجموع خصالت بردیم\\ -چون کبوتر چو بپریم بتو بازآییم& -زانکه ما این پَر و بال از پَر و بالت بردیم\\ -هر کجا پرد فرعی، بسوی اصل آید& -هر چه داریم هم از عزّ و جلالت بردیم\\ -شمس تبریز شنو خدمت ما را زصبا& -گر شمالست و صبا هم ز شمالت بردیم - -\end{oldpoem} -شعر بالا با کد زیر تولید شده است: - -\setLR -\verb|\documentclass{article}|\\ -\verb|\usepackage{xepersian}|\\ -\verb|\begin{document}|\\ -\verb|\begin{oldpoem}|\\ -\rl{هله رفتیم و گرانی ز جمالت بردیم}\verb|&|\\ -\rl{جهت توشهٔ ره ذکر وصالت بردیم}\verb|\\|\\ -\rl{تا که ما را و ترا تذکرهٔ خوش باشد}\verb|&|\\ -\rl{دل خسته بتو دادیم و خیالت بردیم}\verb|\\|\\ -\rl{آن خیال رُخ خوبت که قمر بندهٔ اوست}\verb|&|\\ -\rl{وان خَم ابروی مانند هلالت بردیم}\verb|\\|\\ -\rl{و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست}\verb|&|\\ -\rl{ز شکر خانهٔ مجموع خصالت بردیم}\verb|\\|\\ -\rl{چون کبوتر چو بپریم بتو بازآییم}\verb|&|\\ -\rl{زانکه ما این پَر و بال از پَر و بالت بردیم}\verb|\\|\\ -\rl{هر کجا پرد فرعی، بسوی اصل آید}\verb|&|\\ -\rl{هر چه داریم هم از عزّ و جلالت بردیم}\verb|\\|\\ -\rl{شمس تبریز شنو خدمت ما را زصبا}\verb|&|\\ -\rl{گر شمالست و صبا هم ز شمالت بردیم}\\ -\verb|\end{oldpoem}|\\ -\verb|\end{document}| -\setRL -\subsubsection{حالت ستارهدار} -\begin{oldpoem*} -هله رفتیم و گرانی ز جمالت بردیم& -جهت توشهٔ ره ذکر وصالت بردیم\\ -تا که ما را و ترا تذکرهٔ خوش باشد& -دل خسته بتو دادیم و خیالت بردیم\\ -آن خیال رُخ خوبت که قمر بندهٔ اوست& -وان خَم ابروی مانند هلالت بردیم\\ -و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست& -ز شکر خانهٔ مجموع خصالت بردیم\\ -چون کبوتر چو بپریم بتو بازآییم& -زانکه ما این پَر و بال از پَر و بالت بردیم\\ -هر کجا پرد فرعی، بسوی اصل آید& -هر چه داریم هم از عزّ و جلالت بردیم\\ -شمس تبریز شنو خدمت ما را زصبا& -گر شمالست و صبا هم ز شمالت بردیم - -\end{oldpoem*} -شعر بالا با کد زیر تولید شده است: - -\setLR -\verb|\documentclass{article}|\\ -\verb|\usepackage{xepersian}|\\ -\verb|\begin{document}|\\ -\verb|\begin{oldpoem*}|\\ -\rl{هله رفتیم و گرانی ز جمالت بردیم}\verb|&|\\ -\rl{جهت توشهٔ ره ذکر وصالت بردیم}\verb|\\|\\ -\rl{تا که ما را و ترا تذکرهٔ خوش باشد}\verb|&|\\ -\rl{دل خسته بتو دادیم و خیالت بردیم}\verb|\\|\\ -\rl{آن خیال رُخ خوبت که قمر بندهٔ اوست}\verb|&|\\ -\rl{وان خَم ابروی مانند هلالت بردیم}\verb|\\|\\ -\rl{و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست}\verb|&|\\ -\rl{ز شکر خانهٔ مجموع خصالت بردیم}\verb|\\|\\ -\rl{چون کبوتر چو بپریم بتو بازآییم}\verb|&|\\ -\rl{زانکه ما این پَر و بال از پَر و بالت بردیم}\verb|\\|\\ -\rl{هر کجا پرد فرعی، بسوی اصل آید}\verb|&|\\ -\rl{هر چه داریم هم از عزّ و جلالت بردیم}\verb|\\|\\ -\rl{شمس تبریز شنو خدمت ما را زصبا}\verb|&|\\ -\rl{گر شمالست و صبا هم ز شمالت بردیم}\\ -\verb|\end{oldpoem*}|\\ -\verb|\end{document}| -\setRL -\subsection{حروفچینی شعر نو} -حروفچینی شعر نو نیز در محیطی به نام \lr{newpoem} امکان پذیر است. این محیط دارای دو حالت معمولی و ستارهدار میباشد. -\section{تهیه اسلاید} -به آسانی میتوانید اسلایدهای زیبایی را با کلاس \lr{beamer} در \lr{\XePersian} درست کنید. دو مثال نیز در پوشهٔ \lr{doc} موجود میباشد. در نسخههای بعدی تلاش خواهد شد تا کلاسها و بستههای مختلف و متنوع دیگری را برای تهیه اسلاید در \lr{\XePersian} فراهم آورد. -\section{نوشتهٔ سرصفحه} -برای فعال کردن نوشتهٔ سر صفحه سه راه وجود دارد: -\begin{itemize} -\item -در پیشدرآمد فایل خود دستور \verb|\pagestyle{headings}| را قرار دهید. -\item -در پیشدرآمد فایل خود دستور \verb|\pagestyle{myheadings}| را قرار دهید و سپس \lr{\texttt{myheadings}} را تعریف کنید. -\item -از بستهٔ \lr{\texttt{fancyhdr}} استفاده کنید که کاملاً با \lr{\XePersian} سازگار است. -\end{itemize} -\section{قرار دادن عکس} -قرار دادن عکس نیز به آسانی امکان پذیر است. هر چند که میتوانید از دستورات -\lr{\XeTeX} - استفاده کنید اما دستور -\verb|\includegraphics| - پیشنهاد میشود. -\section{جدول} -به آسانی میتوانید جدول خود را در -\lr{\XePersian} - تولید کنید. -\section{حروفچینی یک متن در چند ستون} -میتوانید تا ۵ ستون داشته باشید. برای حروفچینی یک متن در چند ستون از محیط زیر استفاده میکنیم: - -\setLR -\verb|\begin{multicols}{number of columns}| - -$\vdots$ - -\verb|\end{multicols}| -\setRL -\chapter{تغییرات جدید} -\begin{enumerate} -\item -تغییر \lr{Mapping} از \lr{farsidigits} به \lr{parsidigits}. -\item -معرفی دستور جدید \verb|\setparsimathsdigitsfont|. -\item -تغییر \verb|\pagenumbering{farsi}| به \verb|\pagenumbering{harfi}|. -\item -معرفی \verb|\pagenumbering{adadi}|. -\item -معرفی \verb|\twocolumntableofcontents|. -\item -اصلاح مشکلات موجود در فهرست مطالب بستههای \lr{amsart} و \lr{amsbook} و همچنین اصلاح مشکلات موجود در سربرگ و شماره صفحه تمام بستههای موجود. -\item -مستقل سازی \lr{\XePersian} از \lr{Arab\XeTeX}. -\item -ساختن فارسی به عنوان زبان اصلی تا دیگر نیازی به محیط آزاردهنده \lr{\texttt{farsi}} نباشد. -\item -معرفی محیط جدید و مفید \lr{\texttt{english}}. -\item -اصلاح چند باگ بزرگ. -\item -اصلاح عدم سازگاری \lr{xepersian} با نسخهٔ جدید \lr{bidi} -\item -درست چاپ شدن شماره بخشها، فصلها، قسمتها، زیرقسمتها و زیر زیر قسمتها (در نسخهٔ قبلی این شمارهها از سمت مخالف (چپ) شروع میشدند). -\item -تغییر نوع شمارهگذاری صفحه، بخش، فصل، قسمت، زیرقسمت و زیر زیر قسمت برای سازگاری کامل با سایر بستهها. -\item -اضافه کردن امکان داشتن شماره صفحه به ترتیب حروف الفبای فارسی، برای عوض کردن شماره صفحه از عددی به حروفی کافی است فرمان \verb|\pagenumbering{harfi}| را به کار ببرید و اگر دوباره دوست داشتید شمارهٔ صفحه را از حروفی به عددی تغییر دهید کافی است از فرمان \verb|\pagenumbering{arabic}| استفاده کنید. -\item -امکان داشتن جدولی که در بعضی از خانههای آن بتوان به راحتی انگلیسی نوشت. لطفاً به مثال زیر توجه کنید: -\begin{center} -\begin{tabular}{|r|r|}\hline -من و تو&تو و من\\ \hline -\lr{me and you}&\lr{you and me}\\ \hline -\end{tabular} -\end{center} -جدول بالا با کد زیر تولید شده است: - -\setLR -\verb|\documentclass{article}|\\ -\verb|\usepackage{xepersian}|\\ -\verb|\begin{document}|\\ -\verb|\begin{center}|\\ -\verb|\begin{tabular}|\LR{\texttt{\{|r|r|\}}}\verb|\hline|\\ -\rl{من و تو}\verb|&|\rl{تو و من}\verb|\\ \hline|\\ -\verb|\lr{me and you}&\lr{you and me}\\ \hline|\\ -\verb|\end{tabular}|\\ -\verb|\end{center}|\\ -\verb|\end{document}| -\setRL - -\item -امکان داشتن شماره پیوست بر حسب حروف الفبا. - -\end{enumerate} -\chapter{تشکر و قدردانی ویژه} -بستهٔ \lr{\XePersian} نشانهٔ تلاش و زحمت بسیار آقایان مصطفی واحدی و مهدی امیدعلی است. بسیاری از کدهای اصلی توسط این دو دوست عزیزم نوشته شده است. در نسخهٔ کنونی نیز بیشتر تغییرات و اصلاحات توسط آقای مهدی امیدعلی صورت گرفته است. در اینجا لازم میدانم تشکر ویژهای از آقایان مصطفی واحدی و مهدی امیدعلی نمایم. -\end{document} diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-mathsdigitspec.tex b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-mathsdigitspec.tex new file mode 100644 index 00000000000..345dcdc7766 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-mathsdigitspec.tex @@ -0,0 +1,50 @@ +\UnicodeMathSymbol{"1D7CE}{\mbfzero }{\mathord}{mathematical bold digit 0}% +\UnicodeMathSymbol{"1D7CF}{\mbfone }{\mathord}{mathematical bold digit 1}% +\UnicodeMathSymbol{"1D7D0}{\mbftwo }{\mathord}{mathematical bold digit 2}% +\UnicodeMathSymbol{"1D7D1}{\mbfthree }{\mathord}{mathematical bold digit 3}% +\UnicodeMathSymbol{"1D7D2}{\mbffour }{\mathord}{mathematical bold digit 4}% +\UnicodeMathSymbol{"1D7D3}{\mbffive }{\mathord}{mathematical bold digit 5}% +\UnicodeMathSymbol{"1D7D4}{\mbfsix }{\mathord}{mathematical bold digit 6}% +\UnicodeMathSymbol{"1D7D5}{\mbfseven }{\mathord}{mathematical bold digit 7}% +\UnicodeMathSymbol{"1D7D6}{\mbfeight }{\mathord}{mathematical bold digit 8}% +\UnicodeMathSymbol{"1D7D7}{\mbfnine }{\mathord}{mathematical bold digit 9}% +\UnicodeMathSymbol{"1D7D8}{\Bbbzero }{\mathord}{mathematical double-struck digit 0}% +\UnicodeMathSymbol{"1D7D9}{\Bbbone }{\mathord}{mathematical double-struck digit 1}% +\UnicodeMathSymbol{"1D7DA}{\Bbbtwo }{\mathord}{mathematical double-struck digit 2}% +\UnicodeMathSymbol{"1D7DB}{\Bbbthree }{\mathord}{mathematical double-struck digit 3}% +\UnicodeMathSymbol{"1D7DC}{\Bbbfour }{\mathord}{mathematical double-struck digit 4}% +\UnicodeMathSymbol{"1D7DD}{\Bbbfive }{\mathord}{mathematical double-struck digit 5}% +\UnicodeMathSymbol{"1D7DE}{\Bbbsix }{\mathord}{mathematical double-struck digit 6}% +\UnicodeMathSymbol{"1D7DF}{\Bbbseven }{\mathord}{mathematical double-struck digit 7}% +\UnicodeMathSymbol{"1D7E0}{\Bbbeight }{\mathord}{mathematical double-struck digit 8}% +\UnicodeMathSymbol{"1D7E1}{\Bbbnine }{\mathord}{mathematical double-struck digit 9}% +\UnicodeMathSymbol{"1D7E2}{\msanszero }{\mathord}{mathematical sans-serif digit 0}% +\UnicodeMathSymbol{"1D7E3}{\msansone }{\mathord}{mathematical sans-serif digit 1}% +\UnicodeMathSymbol{"1D7E4}{\msanstwo }{\mathord}{mathematical sans-serif digit 2}% +\UnicodeMathSymbol{"1D7E5}{\msansthree }{\mathord}{mathematical sans-serif digit 3}% +\UnicodeMathSymbol{"1D7E6}{\msansfour }{\mathord}{mathematical sans-serif digit 4}% +\UnicodeMathSymbol{"1D7E7}{\msansfive }{\mathord}{mathematical sans-serif digit 5}% +\UnicodeMathSymbol{"1D7E8}{\msanssix }{\mathord}{mathematical sans-serif digit 6}% +\UnicodeMathSymbol{"1D7E9}{\msansseven }{\mathord}{mathematical sans-serif digit 7}% +\UnicodeMathSymbol{"1D7EA}{\msanseight }{\mathord}{mathematical sans-serif digit 8}% +\UnicodeMathSymbol{"1D7EB}{\msansnine }{\mathord}{mathematical sans-serif digit 9}% +\UnicodeMathSymbol{"1D7EC}{\mbfsanszero }{\mathord}{mathematical sans-serif bold digit 0}% +\UnicodeMathSymbol{"1D7ED}{\mbfsansone }{\mathord}{mathematical sans-serif bold digit 1}% +\UnicodeMathSymbol{"1D7EE}{\mbfsanstwo }{\mathord}{mathematical sans-serif bold digit 2}% +\UnicodeMathSymbol{"1D7EF}{\mbfsansthree }{\mathord}{mathematical sans-serif bold digit 3}% +\UnicodeMathSymbol{"1D7F0}{\mbfsansfour }{\mathord}{mathematical sans-serif bold digit 4}% +\UnicodeMathSymbol{"1D7F1}{\mbfsansfive }{\mathord}{mathematical sans-serif bold digit 5}% +\UnicodeMathSymbol{"1D7F2}{\mbfsanssix }{\mathord}{mathematical sans-serif bold digit 6}% +\UnicodeMathSymbol{"1D7F3}{\mbfsansseven }{\mathord}{mathematical sans-serif bold digit 7}% +\UnicodeMathSymbol{"1D7F4}{\mbfsanseight }{\mathord}{mathematical sans-serif bold digit 8}% +\UnicodeMathSymbol{"1D7F5}{\mbfsansnine }{\mathord}{mathematical sans-serif bold digit 9}% +\UnicodeMathSymbol{"1D7F6}{\mttzero }{\mathord}{mathematical monospace digit 0}% +\UnicodeMathSymbol{"1D7F7}{\mttone }{\mathord}{mathematical monospace digit 1}% +\UnicodeMathSymbol{"1D7F8}{\mtttwo }{\mathord}{mathematical monospace digit 2}% +\UnicodeMathSymbol{"1D7F9}{\mttthree }{\mathord}{mathematical monospace digit 3}% +\UnicodeMathSymbol{"1D7FA}{\mttfour }{\mathord}{mathematical monospace digit 4}% +\UnicodeMathSymbol{"1D7FB}{\mttfive }{\mathord}{mathematical monospace digit 5}% +\UnicodeMathSymbol{"1D7FC}{\mttsix }{\mathord}{mathematical monospace digit 6}% +\UnicodeMathSymbol{"1D7FD}{\mttseven }{\mathord}{mathematical monospace digit 7}% +\UnicodeMathSymbol{"1D7FE}{\mtteight }{\mathord}{mathematical monospace digit 8}% +\UnicodeMathSymbol{"1D7FF}{\mttnine }{\mathord}{mathematical monospace digit 9}% diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-userguide.pdf b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-userguide.pdf Binary files differnew file mode 100644 index 00000000000..2d53b6c5d76 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-userguide.pdf diff --git a/Master/texmf-dist/doc/xelatex/xepersian/xepersian-userguide.tex b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-userguide.tex new file mode 100644 index 00000000000..204b9df9c1a --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/xepersian/xepersian-userguide.tex @@ -0,0 +1,411 @@ +\documentclass{article} +\usepackage{makeidx} +\makeindex +\usepackage{pstricks} +\usepackage{pst-func} +\usepackage{pstricks-add} +\usepackage{xepersian} +\usepackage{persianpoem,fmultico} +\newfontinstance\farsifont[Script=Arabic,Scale=1,Mapping=parsidigits]{XB Zar} +\newfontinstance\nastaliq[Script=Arabic,Scale=1,Mapping=parsidigits]{IranNastaliq} +\setdigitfont[Scale=1, Mapping=parsidigits]{XB Zar} +\addtolength{\hoffset}{-2cm} +\addtolength{\textwidth}{3cm} +\newcommand{\textblue}[1]{{\addfontfeature{Color=0000FF}#1}} +\usepackage{setspace} +\usepackage{perpage} +\numberwithin{equation}{section} +\numberwithin{table}{section} +\onehalfspacing +\newcommand\femph[1]{\lr{''}#1\lr{``}} +\frenchspacing +\title{راهنمای بستهٔ \lr{\XePersian}} +\author{گروه فارسی-لاتک\footnote{مصطفی واحدی \texttt{mostafa.vahedi@gmail.com}، وفا خلیقی \texttt{vafa.khalighi@students.mq.edu.au}، و مهدی امیدعلی \texttt{mehdioa@gmail.com}}} +\begin{document} +\maketitle +\twocolumnstableofcontents +\pagenumbering{farsi} +\begin{abstract} +\lr{\XePersian} +یک بسته برای نگارش مستندات فارسی در +\lr{\XeLaTeX} +است. +هدف \lr{\XePersian} این است که یک استفاده کنندهٔ معمولی قادر باشد به راحتی به حروفچینی فارسی بپردازد. در + حال حاضر \lr{\XePersian} با کلاسهای \lr{article, amsart, amsbook, report, book, bookest, refrep} و \lr{beamer} به زیبایی و آسانی کار میکند. + \end{abstract} +\section{موارد مورد نیاز} +برای استفاده از \lr{\XePersian} باید \lr{\XeTeX} روی سیستم شما نصب باشد. اگر از \lr{MikTex 2.7} یا بالاتر، و یا از \lr{TeXLive 2008} +و یا بالاتر استفاده میکنید، \lr{\XeTeX} به طور خودکار روی سیستم شما نصب شده است. تنها کاری که باید در این صورت انجام دهید نصب و +تنظیم یک ویرایشگر مناسب برای کار است. لیست کنترل زیر ابزارهای لازم را برای کار با این بسته به شما نشان میدهد. +\begin{enumerate} +\item توزیع مناسبی از تک مانند تکلایو یا میکتک. +\item نرمافزار مناسب ویرایش متنهای یونیکد (در ویندوز \lr{notepad++}\footnote{قابل دریافت از \LR{\texttt{http://notepad-plus.sourceforge.net/}}} و در لینوکس \lr{gedit}). +\item نرمافزار مناسب نمایش فایلهای پی.دی.اف (در ویندوز توصیه میشود از \lr{foxit reader}\footnote{قابل دریافت از \lr{\texttt{http://www.foxitsoftware.com/}}} به جای آکروبات ریدر استفاده شود). +\end{enumerate} +از آنجا که کاربران ایرانی معمولا از ویندوز استفاده میکنند و با توجه به اینکه یک ویرایشگر مناسب زندگی را برای کاربر بسیار راحت میکند، در ادامه +روش نصب و تنظیم ویرایشگر مناسب را در ویندوز به طور کامل شرح میدهیم. توجه داشته باشید که فرض بر این است یک توزیع مناسب از تک (مانند تکلایو یا میکتک) + و همچنین فاکسیت ریدر روی سیستم شما نصب است. + +فایل نصبکنندهٔ \lr{notepad++} را اجرا کنید ( توجه داشته باشید که جدیدترین نسخه این فایل را از صفحهٔ خانگی این نرمافزار دریافت کرده باشید). +سپس به صورتی که در شکلهای زیر نشان داده شده است نرمافزار را نصب و تنظیم کنید. + +\centerline{\XeTeXpicfile "notepad1.PNG" height 7cm} +\centerline{\XeTeXpicfile "notepad2.PNG" height 5cm} +\centerline{\XeTeXpicfile "notepad3.PNG" height 5cm} + +بعد از آخرین شکل، گزینهٔ \lr{save} را فشار دهید و فرمان را با نام \lr{xelatex} ذخیره کنید. از این به بعد با فشردن کلید \lr{F6} میتوانید به راحتی +فایل خود را پردازش کنید. بعد از یک بار پردازش، میتوانید به راحتی با فشردن \lr{CTRL+F6} فایل خود را مستقیماً پردازش کنید. + +برای استفادهٔ بهینه از این ویرایشگر، بهتر است راهنمای آنرا مطالعه کنید. فقط به عنوان یک مطلب که ممکن است برای شما مفید باشد، هنگام ویرایش متنهای فارسی، +با فشردن \lr{ALT+CTRL+R} صفحه نمایش از راست به چپ قرار میگیرد و بنابراین کار شما راحتتر میشود. برای برگشتن به حالت چپبهراست کافی است +\lr{ALT+CTRL+L} را فشار دهید. +\section{نمونهٔ فایل ورودی} +یک نمونه فایل ورودی میتواند به صورت زیر باشد. + +\setLR +\noindent\verb+\documentclass{book}+\\ +\verb+\usepackage{xepersian}+\\ +\verb+\newfontinstance\farsifont[Script=Arabic,Scale=1,Mapping=parsidigits]{XB Zar}+\\ +\verb+\setdigitfont[Script=Arabic,Mapping=farsidigits]{XB Zar}+\\ +\verb+\title{+\rl{عنوان }\verb+}+\\ +\verb+\author{+\rl{نام نویسنده}\verb+}+\\ +\verb+\begin{document}+\\ +\verb+\maketitle+\\ +\verb+\tableofcontents+\\ +\verb+\chapter{+\rl{فصل اول}\verb+}+\\ +\verb+\section{+\rl{بخش اول}\verb+}+\\ +\vdots\\ +\verb+\end{document}+ +\setRL + +همانطور که میبینید شکل فایل ورودی هیچگونه تفاوتی با یک فایل استاندارد لاتک ندارد. تنها ممکن است فرمانهای خط سوم و چهارم این فایل نمونه برای شما +نا آشنا باشند که در قسمتهای بعد به توضیح آنها میپردازیم. به طور کلی در استفاده از طبقههای استاندارد لاتک به جز فراخوانی بستهٔ \lr{\XePersian} هیچ +کار اضافهای لازم نیست که انجام دهید. تنها به عنوان یک توصیه، سعی کنید {\Large\nastaliq\textblue{ این بسته آخرین بستهای باشد که فراخوانی میکنید.}} همچنین توجه داشته باشید که +بستههای زیر به طور خودکار فراخوانی میشوند و شما نباید آنها را مستقیماً در فایل فراخوانی کنید. + +\begin{center}\lr{amsmath, amssymb, amsthm, graphicx.}\end{center} + +همچنین بسته \lr{\XePersian} هنوز قابلیت استفاده از طبقهٔ \lr{memoir} را ندارد، ولی در آینده این امکان نیز افزوده خواهد شد. +\section{فرمانهای بسته} +در این قسمت تعدادی از فرمانهای مفید را که لازم است بدانید شرح میدهیم. تعدادی از این فرمانها مربوط به خود بستهٔ \lr{\XePersian} است و تعدادی هم مربوط +به بستههایی است که این بسته به طور خودکار فراخوانی میکند، ولی لازم است که این فرمانها را بدانید. در جدول \ref{commands} فرمانهای بسته را مشاهده +میکنید. همچنین در بسته چند نوع شمارنده تعریف شده است که در جدول \ref{counters} مشاهده میکنید. + + + +\begin{table}[hbp] +\begin{center} +\begin{tabular}{|r|l|} +\hline + فرمان & شرح\\ + \hline + \verb+\farsifont+& قلم فارسی را برای حروفچینی به کار میبندد (پیشفرض)\\ +\hline +\verb+\setRL+&جهت پاراگرافها را راست به چپ میکند (پیشفرض) \\ +\hline + \verb+\setLR+&جهت پاراگرافها را چپ به راست میکند\\ +\hline +\verb+\footnote{...}+&برای درج یک پانوشت فارسی \\ +\hline +\verb+\Footnote{...}+&برای درج یک پانوشت انگلیسی \\ +\hline +\verb+\today+&درج تاریخ جاری خورشیدی\\ +\hline +\verb+\rldblcolumn+&ترتیب ستونها را در یک متن چندستونی از راست به چپ میکند (پیشفرض)\\ +\hline +\verb+\lrdblcolumn+&ترتیب ستونها را در یک متن چندستونی از چپ به راست میکند \\ +\hline +\verb+\twocolumnstableofcontents+ & فهرست مطالب را در دو ستون میچیند (نیاز به فراخوانی \verb+fmultico+ دارد)\\ +\hline +\verb+\lr{...}+&یک متن کوتاه انگلیسی را در یک پاراگراف فارسی قرار میدهد\\ +\hline + \verb+\rl{...}+&یک متن کوتاه فارسی را در یک پاراگراف انگلیسی قرار میدهد\\ +\hline +\verb+\begin{english}+&شروع محیط انگلیسی \\ + \verb+\end{english}+&پایان محیط انگلیسی\\ +\hline +\end{tabular} +\end{center} +\caption{فرمانها}\label{commands} +\end{table} + +\begin{table}[hbp] +\begin{center} +\begin{tabular}{|r|l|} +\hline + شمارنده & شرح\\ +\hline +\verb+arabic+&شمارندهٔ عربی اصلی لاتک برای سازگاری با بسته از نو تعریف شده است. \\ +\hline + \verb+farsi+&همان اثر شمارنده \verb+arabic+ اصلی لاتک را دارد.\\ +\hline +\verb+adadi+& شمارنده را به صورت یک، دو، سه، \ldots تغییر میدهد. \\ +\hline +\verb+harfi+&شمارنده را به صورت ا، ب، پ، \ldots تغییر میدهد.\\ +\hline +\end{tabular} +\end{center} +\caption{شمارندهها}\label{counters} +\end{table} + +\section{استفاده از قلمهای مختلف} +بستهٔ \lr{fontspec}، که به صورت خودکار فراخوانی میشود، امکان استفاده از قلمهای موجود در سیستم را فراهم میکند. برای استفاده از \lr{\XePersian} +لازم است که حداقل یک قلم با نام \lr{farsifont} را تعریف کنید که به صورت زیر انجام میشود: + +\begin{english}\verb+\newfontinstance\farsifont[Script=Arabic,Scale=1,Mapping=parsidigits]{XB Zar}+\end{english} + +این فرمان، قلم \lr{XB Zar} را به عنوان قلم فارسی معرفی میکند. گزینهٔ \verb+Scale=Arabic+ ضروری است تا حروف فارسی به هم بچسبند. گزینهٔ +\verb+Scale=1+ اندازهٔ قلم را یک برابر اندازهٔ نرمال آن تعریف میکند که مقدار ۱ قابل تغییر است. گزینهٔ \verb+Mapping=parsidigits+ اعداد را در محیط فارسی +با ارقام فارسی نمایش میدهد. + +به همین ترتیب میتوانید هر تعداد از قلمهایی را که مایل هستید، با نامهای مختلف تعریف کنید. مثلا فرمان + +\begin{english}\verb+\newfontinstance\nastaliq[Script=Arabic,Scale=2]{IranNastaliq}+\end{english} + +قلم نستعلیق را معرفی میکند که میتوانید از آن به صورت زیر استفاده کنید: + +\setLR\begin{center}\verb+{\nastaliq+ \rl{نمونهٔ متن با قلم نستعلیق} \verb+}+\end{center}\setRL + +که اثر آن همانند متن زیر است: + +\begin{center}{\Large\nastaliq نمونهٔ متن با قلم نستعلیق}\end{center} + +قلمی را که اعداد در محیط ریاضی با آن نگارش میشوند میتوانید به دلخواه انتخاب کنید. برای این کار، فرمان زیر را در سرآغاز فایل خود قرار دهید. + +\begin{english} +\verb|\setdigitfont[|Scale=1, Mapping=parsidigits\verb|]{|XB Zar\verb|}| +\end{english} + +به این ترتیب قلم \lr{XB Zar} را برای نمایش اعداد در فرمولها انتخاب میکنید. اگر قلم اعداد را مشخص نکنید، قلم پیشفرض مورد استفاده قرار میگیرد. + +همچنین میتوانید قلمی را که با آن متنهای انگلیسی نگارش میشوند با فرمان زیر تعیین کنید. + +\begin{english} +\verb|\setromanfont[|Scale=1, Mapping=tex-text\verb|]{|Times New Roman\verb|}| +\end{english} + +\textblue{توجه داشته باشید که قلم انگلیسی باید بعد از قلم ریاضی تعریف شود.} + اگر قلم انگلیسی معرفی نشود، قلم استاندارد تک مورد استفاده قرار +میگیرد. + +در آخر لازم است که بیان شود قلمهای \lr{farsiweb} به همراه این بسته ارائه شده است. همچنین قلمهای مفید و مجانی سری ایکس ۲ را میتوانید +از \texttt{http://wiki.irmug.org/index.php/X\_Series\_2} تهیه کنید. +\section{حروفچینی شعر} +برای حروفچینی شعر باید فرمان زیر را در سرآغاز فایل خود قرار دهید: + +\begin{english} +\verb+\usepackage{+persianpoem,fmultico\verb+}+ +\end{english} +بعد از این کار به راحتی میتوانید شعر را حروفچینی کنید. +{\nastaliq\doublespacing +\begin{oldpoem} + +هله رفتیم و گرانی ز جمالت بردیم& +جهت توشهٔ ره ذکر وصالت بردیم\\ +تا که ما را و ترا تذکرهٔ خوش باشد& +دل خسته بتو دادیم و خیالت بردیم\\ +آن خیال رُخ خوبت که قمر بندهٔ اوست& +وان خَم ابروی مانند هلالت بردیم\\ +و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست& +ز شکر خانهٔ مجموع خصالت بردیم\\ +چون کبوتر چو بپریم بتو بازآییم& +زانکه ما این پَر و بال از پَر و بالت بردیم\\ +هر کجا پرد فرعی، بسوی اصل آید& +هر چه داریم هم از عزّ و جلالت بردیم\\ +شمس تبریز شنو خدمت ما را زصبا& +گر شمالست و صبا هم ز شمالت بردیم + +\end{oldpoem} +} +شعر بالا با کد زیر تولید شده است: + +\setLR +\noindent\verb|\begin{oldpoem}|\\ +\rl{هله رفتیم و گرانی ز جمالت بردیم}\verb|&|\\ +\rl{جهت توشهٔ ره ذکر وصالت بردیم}\verb|\\|\\ +\rl{تا که ما را و ترا تذکرهٔ خوش باشد}\verb|&|\\ +\rl{دل خسته بتو دادیم و خیالت بردیم}\verb|\\|\\ +\rl{آن خیال رُخ خوبت که قمر بندهٔ اوست}\verb|&|\\ +\rl{وان خَم ابروی مانند هلالت بردیم}\verb|\\|\\ +\rl{و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست}\verb|&|\\ +\rl{ز شکر خانهٔ مجموع خصالت بردیم}\verb|\\|\\ +\rl{چون کبوتر چو بپریم بتو بازآییم}\verb|&|\\ +\rl{زانکه ما این پَر و بال از پَر و بالت بردیم}\verb|\\|\\ +\rl{هر کجا پرد فرعی، بسوی اصل آید}\verb|&|\\ +\rl{هر چه داریم هم از عزّ و جلالت بردیم}\verb|\\|\\ +\rl{شمس تبریز شنو خدمت ما را زصبا}\verb|&|\\ +\rl{گر شمالست و صبا هم ز شمالت بردیم}\\ +\verb|\end{oldpoem}|\\ +\setRL + +این محیط دارای حالت ستارهدار نیز میباشد که اثر آن به صورت زیر است. +\begin{oldpoem*} +هله رفتیم و گرانی ز جمالت بردیم& +جهت توشهٔ ره ذکر وصالت بردیم\\ +تا که ما را و ترا تذکرهٔ خوش باشد& +دل خسته بتو دادیم و خیالت بردیم\\ +آن خیال رُخ خوبت که قمر بندهٔ اوست& +وان خَم ابروی مانند هلالت بردیم\\ +و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست& +ز شکر خانهٔ مجموع خصالت بردیم\\ +چون کبوتر چو بپریم بتو بازآییم& +زانکه ما این پَر و بال از پَر و بالت بردیم\\ +هر کجا پرد فرعی، بسوی اصل آید& +هر چه داریم هم از عزّ و جلالت بردیم\\ +شمس تبریز شنو خدمت ما را زصبا& +گر شمالست و صبا هم ز شمالت بردیم +\end{oldpoem*} +شعر بالا با کد زیر تولید شده است: + +\setLR +\noindent\verb|\begin{oldpoem*}|\\ +\rl{هله رفتیم و گرانی ز جمالت بردیم}\verb|&|\\ +\rl{جهت توشهٔ ره ذکر وصالت بردیم}\verb|\\|\\ +\rl{تا که ما را و ترا تذکرهٔ خوش باشد}\verb|&|\\ +\rl{دل خسته بتو دادیم و خیالت بردیم}\verb|\\|\\ +\rl{آن خیال رُخ خوبت که قمر بندهٔ اوست}\verb|&|\\ +\rl{وان خَم ابروی مانند هلالت بردیم}\verb|\\|\\ +\rl{و آن شکرخندهٔ خوبت که شکر تشنهٔ اوست}\verb|&|\\ +\rl{ز شکر خانهٔ مجموع خصالت بردیم}\verb|\\|\\ +\rl{چون کبوتر چو بپریم بتو بازآییم}\verb|&|\\ +\rl{زانکه ما این پَر و بال از پَر و بالت بردیم}\verb|\\|\\ +\rl{هر کجا پرد فرعی، بسوی اصل آید}\verb|&|\\ +\rl{هر چه داریم هم از عزّ و جلالت بردیم}\verb|\\|\\ +\rl{شمس تبریز شنو خدمت ما را زصبا}\verb|&|\\ +\rl{گر شمالست و صبا هم ز شمالت بردیم}\\ +\verb|\end{oldpoem*}|\\ +\setRL +\section{حروفچینی چندستونی} +برای حروفچینی یک متن در چند ستون از محیط زیر استفاده کنید. حداکثر تعداد ستونها ۵ است. + +\setLR +\verb|\begin{multicols}{|\rl{تعداد ستونهای}\verb|}| + +$\vdots$ + +\verb|\end{multicols}| +\setRL + +\section{محیط مورد فارسی} +محیط مورد برای استفاده در فارسی نیز تعریف شده است که در زیر مثال آنرا میبنید: + +$$ +\rcases{\mbox{مرد}\cr\mbox{زن}}\mbox{آدم} +$$ + +طرح بالا با کد زیر نوشته شده است. + +\setLR\verb|$$\rcases{\mbox{|\rl{مرد}\verb|}\cr\mbox{|\rl{زن}\verb|}}\mbox{|\rl{آدم}\verb|}$$|\setRL + + +\section{تولید نمایه} +به همراه این بسته، فایلی ارائه شده است که شما را قادر میسازد به راحتی نمایه برای مستندتان فراهم کنید. خود بسته هیچگونه محدودیتی با نمایهسازی ندارد، +ولی نرمافزار +\lr{makeindex} هنگام مرتب کردن فایل نمایه، ترتیب بعضی از حروف را به درستی رعایت نمیکند. +برای رفع این مشکل، استفاده از \lr{xindy} بجای \lr{makeindex} توصیه میشود. + +اگر از تکلایو ۲۰۰۸ استفاده میکنید \lr{xindy} به طور خودکار روی سیستم شما نصب است. کافی است فایل \lr{farsi.xdy} را که همراه این بسته +ارائه شده است در دایرکتوری جاری قرار دهید و فرمانهای زیر را در خط فرمان اجرا کنید: + +\begin{english} +\noindent\verb|tex2xindy <| filename.idx \verb|>| filename.raw\\ +\verb|xindy -I xindy -M| farsi.xdy filename.raw +\end{english} + +\noindent بعد از انجام این کار، نمایهٔ مرتب شدهٔ شما آمادهٔ تزریق به مستند میشود. + +توجه داشته باشید که اگر میخواهید از نمایه استفاده کنید، باید شمارندهٔ صفحه را در حالت \lr{\texttt{farsi}} قرار دهید. البته شمارندهٔ صفحه به صورت +پیشفرض در این حالت قرار دارد. +\section{فرمولهای ریاضی} +بسته با حروفچینی فرمولهای ریاضی هیچگونه مشکلی ندارد و از آنجا که بستههای \lr{amsmath,amsthm,} و \lr{amssymb} به طور خودکار فراخوانی میشوند، +اکیداً توصیه میشود از فرمانهای کلاف \lr{AMSLatex} استفاده کنید. توجه داشته باشید که محیط \texttt{eqnarray} کلا با بستهٔ \lr{amsmath} +مشکل دارد و به خصوص شمارهٔ فرمول نوشته شده با این محیط ناپایدار است. به جای این محیط، از محیط \texttt{align} استفاده کنید که +حروفچینی آن از \texttt{eqnarray} بهتر است و شمارهٔ آن نیز بدون مشکل قابل ارجاع است. +\begin{align} +a^2+b^2&=\sin x\label{eq1}\\ +10a+b&=\cos y\label{eq2} +\end{align} + +فرمولهای بالا با کد زیر تولید شدهاند. + +\begin{english} +\begin{verbatim} +\begin{align} +a^2+b^2&=\sin x\label{eq1}\\ +1a+b&=\cos y\label{eq2} +\end{align} +\end{verbatim} +\end{english} +ارجاع به فرمول \eqref{eq1} به صورت طبیعی امکان پذیر است. برای اطلاعات بیشتر به \femph{مقدمهای نهچندان کوتاه بر \lr{\LaTeXe}} +%\footnote{قابل دسترسی از\texttt{http://www.ctan.org}} +مراجعه کنید. +\section{تهیهٔ اسلاید} +برای تهیهٔ اسلاید، بسته به طور کامل با طبقهٔ \texttt{beamer} سازگار است. یک فایل نمونه برای استفاده از این بسته میتواند به صورت زیر باشد: + +\setLR +\noindent\verb|\documentclass[hyperref=xetex]{beamer}|\\ +\verb|\usepackage{xepersian}|\\ +\verb|\title{|\rl{عنوان مطلب}\verb|}|\\ +\verb|\author{|\rl{نام نویسنده}\verb|}|\\ +\verb|\begin{document}|\\ +\verb|\frame{\maketitle}|\\ +\verb|\section{|\rl{یک قسمت}\verb|}|\\ +\verb|\frametitle{|\rl{مطلب}\verb|}|\\ +\verb|\framesubtitle{|\rl{زیر مطلب}\verb|}| + +$\vdots$ + +\noindent\verb|\end{frame}| + +$\vdots$ + + +\noindent\verb|\end{document}| +\setRL + +\section{استفاده از \lr{PSTricks}} +تمامی امکانات استفاده از \lr{PSTricks} در بسته موجود است. + +\setLR + \psset{yunit=0.5cm,xunit=2cm} + \begin{pspicture*}(-3,-5)(3,10) + \psaxes[Dy=2]{->}(0,0)(-3,-5)(3,10) + \psset{linewidth=1.5pt} + \psPolynomial[coeff=0 0 0 1,linecolor=blue]{-2}{4} + \psPolynomial[coeff=0 0 0 1,linecolor=red,% + linestyle=dashed,Derivation=2]{-2}{4} + \psPolynomial[coeff=0 0 0 1,linecolor=cyan,% + linestyle=dotted,Derivation=3]{-2}{4} + \rput[lb](1.8,4){\textcolor{blue}{$f(x)=x^3$}} + \rput[lb](0.2,8){\textcolor{red}{$f^{\prime\prime}(x)=6x$}} + \rput[lb](-2,5){\textcolor{cyan}{$f^{\prime\prime\prime}(x)=6$}} + \end{pspicture*} +\setRL + +شکل بالا با کد زیر تولید شده است. +\begin{english} +\begin{verbatim} +\setLR + \psset{yunit=0.5cm,xunit=2cm} + \begin{pspicture*}(-3,-5)(3,10) + \psaxes[Dy=2]{->}(0,0)(-3,-5)(3,10) + \psset{linewidth=1.5pt} + \psPolynomial[coeff=0 0 0 1,linecolor=blue]{-2}{4} + \psPolynomial[coeff=0 0 0 1,linecolor=red,% + linestyle=dashed,Derivation=2]{-2}{4} + \psPolynomial[coeff=0 0 0 1,linecolor=cyan,% + linestyle=dotted,Derivation=3]{-2}{4} + \rput[lb](1.8,4){\textcolor{blue}{$f(x)=x^3$}} + \rput[lb](0.2,8){\textcolor{red}{$f^{\prime\prime}(x)=6x$}} + \rput[lb](-2,5){\textcolor{cyan}{$f^{\prime\prime\prime}(x)=6$}} + \end{pspicture*} +\setRL +\end{verbatim} +\end{english} + +\section{امکانات آینده} +در نظر است الگوی کاملی برای شکستن کلمات فارسی تهیه شود تا قابل استفاده با این بسته باشد. همچنین در نظر است برای نگارش پایاننامه، بستهٔ مجزایی +بر اساس این بسته تهیه شود. اگر امکانی خاص مد نظر شماست که این بسته از آن بیبهره است، لطفاً اطلاع دهید تا در ویرایشهای آیندهٔ +این بسته مورد نظر قرار بگیرد. +\end{document} + diff --git a/Master/texmf-dist/tex/xelatex/xepersian/persianpoem.sty b/Master/texmf-dist/tex/xelatex/xepersian/persianpoem.sty index 8aed77da7b5..43de9c1be5c 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/persianpoem.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/persianpoem.sty @@ -1,5 +1,3 @@ -%% -%% This is file `poem.sty', %% Copyright(C) 2002, 2004 Behdad Esfahbod <behdad@farsitex.org> %% %% It may be distributed and/or modified under the @@ -215,6 +213,5 @@ \endinput -%% -%% End of file `poem.sty'. + diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty new file mode 100644 index 00000000000..9317c8dccc5 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian-mathsdigitspec.sty @@ -0,0 +1,383 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xepersian-mathsdigitspec} + [2008/09/27 v0.1 Unicode Farsi maths digits in XeLaTeX] + +\begingroup + \def\notXeLaTeXformat{% + \@latex@error{*** this package currently works only with XeLaTeX ***^^J + You are not using XeLaTeX, so we are exiting cleanly!^^J + Continuing may lead to 'unavailable font metrics' errors!^^J}\@ehc + \endgroup\endinput} +\expandafter\ifx\csname XeTeXpicfile\endcsname\relax\expandafter\notXeLaTeXformat\fi +\endgroup + +\RequirePackage[quiet]{fontspec} +\@ifpackageloaded{xepersian-mathsdigitspec}{\@zf@mathfalse}{} +\newcounter{um@fam} +\newif\if@um@fontspec@feature +\newif\if@um@ot@math@ +\newif\if@um@init +\providecommand\def@cn[2]{% + \expandafter\def\csname#1\endcsname{#2}} +\def\um@Loop#1\um@Pool{#1\um@Loop#1\um@Pool} +\def\um@Break#1\um@Pool{} +\long\def\um@FOR#1=[#2:#3]\do#4{% + #1=#2\relax + \um@Loop #4% + \advance#1\@ne + \ifnum#1>#3\relax + \expandafter\um@Break + \fi + \um@Pool} +\newcommand\um@PackageError[2]{\PackageError{xepersian-mathsdigitspec}{#1}{#2}} +\newcommand\um@PackageWarning[1]{\PackageWarning{xepersian-mathsdigitspec}{#1}} +\newcommand\um@PackageInfo[1]{\PackageInfo{xepersian-mathsdigitspec}{#1}} +\def\um@usv@num{`\0} +\def\um@usv@bbnum{"1D7D8} +\def\um@usv@sfnum{"1D7E2} +\def\um@usv@ttnum{"1D7F6} + +\def\um@usv@bfnum{"1D7CE} + +\def\um@usv@bfsfnum{"1D7EC} +\define@choicekey*{xepersian-mathsdigitspec.sty} + {math-style}[\@tempa\@tempb]{iso,tex,french,literal}{% + \ifcase\@tempb\relax + \or + \@um@literaltrue + \fi} +\define@choicekey*{xepersian-mathsdigitspec.sty}{bold-style}[\@tempa\@tempb]{iso,tex,french,literal}{% + \ifcase\@tempb\relax + \or + \@um@bfliteraltrue + \fi} +\ExecuteOptionsX{math-style=iso} +\ProcessOptionsX +\def\@preamblecmds{} + +\newcommand\not@onlypreamble[1]{{% + \def\do##1{\ifx#1##1\else\noexpand\do\noexpand##1\fi}% + \xdef\@preamblecmds{\@preamblecmds}}} +\def\gm@notprerr{ can be used only in preamble (\on@line)} +\AtBeginDocument{% + \def\do#1{\noexpand\do\noexpand#1}% + \edef\@preamblecmds{% + \def\noexpand\do##1{% + \def##1{\noexpand\PackageError{gmutils/LaTeX}% + {\noexpand\string##1 \noexpand\gm@notprerr}\noexpand\@eha}}% + \@preamblecmds}} +\def\nocite#1{% + \@bsphack{\setbox0=\hbox{\cite{#1}}}\@esphack} + +\def\um@fontdimen@percent#1#2{% + 0.\strip@pt\dimexpr\fontdimen#1#2 *65536\relax} +\def\um@scaled@apply#1#2#3{% + \ifx#1\scriptstyle + #2\um@fontdimen@percent{10}\um@font#3% + \else + \ifx#1\scriptscriptstyle + #2\um@fontdimen@percent{11}\um@font#3% + \else + #2#3% + \fi + \fi} +\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi} +\let\newfam\new@mathgroup +\def\um@mathsymbol#1#2#3#4{% + \expandafter\um@set@mathsymbol\csname sym#3\endcsname#1#2{#4}} +\def\um@set@mathsymbol#1#2#3#4{% + \ifx\mathop#3\relax + \begingroup + \catcode#4=\active + \global\mathcode#4="8000\relax + \um@scanactivedef#4\@nil{\csname\string#2@op\endcsname}% + \endgroup + \expandafter\global\expandafter\XeTeXmathchardef + \csname\string#2@sym\endcsname + ="\mathchar@type#3 #1 #4\relax + \expandafter\gdef\csname\string#2@op\endcsname{% + \csname\string#2@sym\endcsname + \expandafter\in@\expandafter#2\expandafter{\um@nolimits}% + \ifin@ + \expandafter\nolimits + \fi}% + \else + \expandafter\in@\expandafter#2\expandafter{\um@radicals,}% + \ifin@ + \expandafter\gdef\csname + \expandafter\@gobble\string#2sign\endcsname + {\XeTeXradical#1 #4\relax}% + \else + \ifx\mathopen#3\relax + \gdef#2{\XeTeXdelimiter "\mathchar@type#3 #1 #4}% + \global\XeTeXdelcode#4=#1 #4\relax + \global\XeTeXmathcode#4="\mathchar@type#3 #1 #4\relax + \else + \ifx\mathclose#3\relax + \gdef#2{\XeTeXdelimiter "\mathchar@type#3 #1 #4}% + \global\XeTeXdelcode#4=#1 #4\relax + \global\XeTeXmathcode#4="\mathchar@type#3 #1 #4\relax + \else + \ifx\mathaccent#3\relax + \xdef#2{\XeTeXmathaccent "\mathchar@type#3 #1 #4\relax}% + \else + \global\XeTeXmathcode#4="\mathchar@type#3 #1 #4\relax + \fi + \fi + \fi + \fi + \fi} +\newcommand\SetMathCode[4]{% + \XeTeXmathcode#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} +\newcommand\SetMathCharDef[4]{% + \XeTeXmathchardef#1="\mathchar@type#2 \csname sym#3\endcsname #4\relax} +\newcommand\setdigitfont[2][]{% + \let\glb@currsize\relax + \let\um@char@range\@empty + \let\um@char@num@range\@empty + \@um@initfalse + \@um@fontspec@featuretrue + \csname S@\f@size\endcsname + \def\um@mversion{normal}% + \DeclareMathVersion{\um@mversion}% + \def\um@ScriptFeatures{ScriptStyle}% + \def\um@ScriptScriptFeatures{ScriptScriptStyle}% + \def\um@ScriptFont{#2}% + \def\um@ScriptScriptFont{#2}% + \setkeys*[um]{options}{#1}% + \edef\@tempa{\noexpand\zf@fontspec{% + Script=Math,SizeFeatures={% + {Size=\tf@size-},% + {Size=\sf@size-\tf@size,% + Font=\um@ScriptFont,% + \um@ScriptFeatures},% + {Size=-\sf@size,% + Font=\um@ScriptScriptFont,% + \um@ScriptScriptFeatures}},% + \XKV@rm}{#2}}\@tempa + \font\um@font="#2"\relax + \ifdim \dimexpr\fontdimen9\um@font*65536\relax =65pt + \@um@ot@math@true + \fi + \ifx\um@char@range\@empty + \def\um@symfont{um@allsym}% + \um@PackageInfo{Defining the default maths font as '#2'}% + \let\UnicodeMathSymbol\um@mathsymbol@noparse + \DeclareSymbolFont{momayez}{EU1}{\zf@family}{m}{n}% + \SetMathCharDef{\momayez}{\mathpunct}{momayez}{"066B}% + \else + \stepcounter{um@fam}% + \edef\um@symfont{um@fam\theum@fam}% + \let\UnicodeMathSymbol\um@mathsymbol@parse + \fi + \DeclareSymbolFont{\um@symfont} + {\encodingdefault}{\zf@family}{\mddefault}{\updefault}% + \if@um@init + \input xepersian-mathsdigitspec.tex\relax + \else + \unless\ifx\um@char@range\@empty + \input xepersian-mathsdigitspec.tex\relax + \fi + \fi + \ifx\um@char@range\@empty + \um@def@numbers + \fi +} +\newcommand\um@mathsymbol@noparse[4]{% + \um@mathsymbol{#2}{#3}{\um@symfont}{#1}} +\newcommand\um@mathsymbol@parse[4]{% + \um@parse@term{#1}{#2}{#3}{% + \um@mathsymbol{#2}{#3}{\um@symfont}{#1}}} +\newcommand\um@mk@math[1]{% + \expandafter\def\csname math#1\endcsname##1{% + \begingroup + \csname um@math#1\endcsname + ##1 + \endgroup}} +\newcommand\um@mathmap@noparse[3]{% + \@for\@ii:=#2\do{% + \expandafter\expandafter + \expandafter\um@addto@mathmap + \expandafter\expandafter + \expandafter{% + \expandafter\um@symfont + \expandafter}% + \expandafter{\@ii}{#1}{#3}% + }}% +\newcommand\um@mathmap@parse[3]{% + \@for\@ii:=\um@char@num@range\do{% + \ifnum\@ii=#3\relax + \@for\@jj:=#2\do{% + \expandafter\expandafter + \expandafter\um@addto@mathmap + \expandafter\expandafter + \expandafter{% + \expandafter\um@symfont + \expandafter}% + \expandafter{\@jj}{#1}{#3}}% + \fi}}% +\newcommand\um@addto@mathmap[4]{% + \expandafter\g@addto@macro + \csname um@\expandafter\@gobble\string#3\endcsname{% + \SetMathCode{#2}{\mathalpha}{#1}{#4}}} +\def\um@nolimits{% + \@elt\int\@elt\iint\@elt\iiint\@elt\iiiint\@elt\oint\@elt\oiint\@elt\oiiint + \@elt\intclockwise\@elt\varointclockwise\@elt\ointctrclockwise\@elt\sumint + \@elt\intbar\@elt\intBar\@elt\fint\@elt\cirfnint\@elt\awint\@elt\rppolint + \@elt\scpolint\@elt\npolint\@elt\pointint\@elt\sqint\@elt\intlarhk\@elt\intx + \@elt\intcap\@elt\intcup\@elt\upint\@elt\lowint} +\newcommand\addnolimits[1]{% + \expandafter\def + \expandafter\um@nolimits + \expandafter{\um@nolimits\@elt#1}} +\def\removenolimits#1{% + \begingroup + \def\@elt##1{% + \ifx##1#1\else + \noexpand\@elt\noexpand##1 + \fi} + \xdef\um@nolimits{\um@nolimits}% + \endgroup} +\def\um@radicals{\sqrt} +\def\r@@t#1#2{% + \setbox\z@\hbox{$\m@th #1\sqrtsign{#2}$}% + \um@scaled@apply{#1}{\kern}{\fontdimen63\um@font}% + \raise \dimexpr( + \um@fontdimen@percent{65}{\um@font}\ht\z@- + \um@fontdimen@percent{65}{\um@font}\dp\z@ + )\relax + \copy \rootbox% + \um@scaled@apply{#1}{\kern}{\fontdimen64\um@font}% + \box \z@} +\let\left@primitive\left +\def\left{\mathopen{}\left@primitive} +\newcommand\um@zf@feature[2]{% + \define@key[zf]{options}{#1}[]{% + \if@um@fontspec@feature + #2 + \fi}} +\um@zf@feature{ScriptStyle}{% + \zf@update@ff{+ssty=0}} +\um@zf@feature{ScriptScriptStyle}{% + \zf@update@ff{+ssty=1}} +\define@cmdkey[um]{options}[um@]{ScriptFeatures}{} +\define@cmdkey[um]{options}[um@]{ScriptScriptFeatures}{} +\define@cmdkey[um]{options}[um@]{ScriptFont}{} +\define@cmdkey[um]{options}[um@]{ScriptScriptFont}{} +\define@choicekey+[um]{options}{Range}[\@tempa\@tempb]{ALL}{% + \ifcase\@tempb\relax + \@um@inittrue + \fi}{% else: + \xdef\um@char@range{\zap@space#1 \@empty}} +\newcommand\um@parse@term[4]{% + \@for\@ii:=\um@char@range\do{% + \unless\ifx\@ii\@empty + \@tempswafalse + \expandafter\um@firstchar\expandafter{\@ii}% + \ifx\@tempa\um@backslash + \expandafter\ifx\@ii#2\relax + \@tempswatrue + \else + \expandafter\ifx\@ii#3\relax + \@tempswatrue + \fi + \fi + \else + \expandafter\um@parse@range\@ii-\@marker-\@nil#1\@nil + \fi + \if@tempswa + \ifx\um@char@num@range\@empty + \g@addto@macro\um@char@num@range{#1}% + \else + \g@addto@macro\um@char@num@range{,#1}% + \fi + #4% + \fi + \fi}} +\def\um@firstof#1#2\@nil{#1} +\edef\um@backslash{\expandafter\um@firstof\string\string\@nil} +\def\um@firstchar#1{\edef\@tempa{\expandafter\um@firstof\string#1\@nil}} +\def\um@parse@range#1-#2-#3\@nil#4\@nil{% + \def\@tempa{#1}% + \def\@tempb{#2}% + \expandafter\ifx\expandafter\@marker\@tempb\relax + \ifnum#4=#1\relax + \@tempswatrue + \fi + \else + \ifx\@empty\@tempb + \ifnum#4>\numexpr#1-1\relax + \@tempswatrue + \fi + \else + \ifx\@empty\@tempa + \ifnum#4<\numexpr#2+1\relax + \@tempswatrue + \fi + \else + \ifnum#4>\numexpr#1-1\relax + \ifnum#4<\numexpr#2+1\relax + \@tempswatrue + \fi\fi\fi\fi\fi} +\newcommand\um@setmathcode[3][1]{% + \@for\um@inp:=#2\do{% + \um@FOR\@tempcnta=[1:#1]\do{% + \SetMathCode{\numexpr\um@inp+\@tempcnta-1\relax} + {\mathalpha}{\um@symfont}{\numexpr#3+\@tempcnta-1\relax}}}} +\newcommand\um@setmathalph[4][1]{% + \@for\um@inp:=#3\do{% + \um@FOR\@tempcnta=[1:#1]\do{% + \edef\@tempa{% + \noexpand\um@setsinglemathalph + {\noexpand#2} + {\number\numexpr \um@inp+\@tempcnta-1 \relax} + {\number\numexpr #4+\@tempcnta-1 \relax}}\@tempa}}} +\newcommand\um@def@numbers{% + \um@setmathcode[10]{\um@usv@num}{\um@usv@num}} +\begingroup + \catcode`\^=12\relax + \gdef\um@scancharlet#1="#2\@nil{% + \lowercase{\scantokens{\global\let#1=^^^^^#2}}} + \catcode`\^=12\relax + \gdef\um@scanactivedef"#1\@nil#2{% + \lowercase{\scantokens{\global\def^^^^^#1{#2}}}} +\endgroup +\let\unicodemathgobble\@gobble +\begingroup + \def\UnicodeMathSymbol#1#2#3#4{% + \um@scancharlet#2=#1\@nil} + \input xepersian-mathsdigitspec.tex\relax +\endgroup +\DeclareRobustCommand\sqrt{\@ifnextchar[\@sqrt\sqrtsign} +\ifx\newcommand\undefined\else + \newcommand{\ZifferAn}{} +\fi +\mathchardef\ziffer@DotOri="013A +{\ZifferAn + \catcode`\.=\active\gdef.{\begingroup\obeyspaces\futurelet\n\ziffer@dcheck}} +\def\ziffer@dcheck{\ziffer@check\ZifferLeer\ziffer@DotOri} +\def\ziffer@check#1#2{% + \ifx\n1\endgroup#1\else + \ifx\n2\endgroup#1\else + \ifx\n3\endgroup#1\else + \ifx\n4\endgroup#1\else + \ifx\n5\endgroup#1\else + \ifx\n6\endgroup#1\else + \ifx\n7\endgroup#1\else + \ifx\n8\endgroup#1\else + \ifx\n9\endgroup#1\else + \ifx\n0\endgroup#1\else + \endgroup#2% + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi} +\mathcode`.="8000\relax +\def\ZifferLeer{\ifx\momayez\undefied .\else \momayez\fi} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty index f3651751538..1c608d4bc46 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty @@ -1,20 +1,27 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xepersian}[2008/09/17 v0.161111111 - Typesetting Persian with XeTeX] +\ProvidesPackage{xepersian}[2008/09/27 v0.162 + Persian typesetting in XeLaTeX] + +\begingroup + \def\notXeLaTeXformat{% + \@latex@error{*** this package currently works only with XeLaTeX ***^^J + You are not using XeLaTeX, so we are exiting cleanly!^^J + Continuing may lead to 'unavailable font metrics' errors!^^J}\@ehc + \endgroup\endinput} +\expandafter\ifx\csname XeTeXpicfile\endcsname\relax\expandafter\notXeLaTeXformat\fi +\endgroup + \RequirePackage{graphicx} \RequirePackage{amssymb} \RequirePackage{amsmath} \RequirePackage{amsthm} -\RequirePackage{fontspec} +\RequirePackage[quiet]{fontspec} \RequirePackage{bidi} \RequirePackage{xltxtra} \RequirePackage{xunicode} \RequirePackage{etoolbox} -\RequirePackage{persianpoem,fmultico} -\AtBeginDocument{\ifdefined\farsifont\relax\else% -\PackageWarning{XePersian}{\string\farsifont\ is not defined! XePersian will try to load ``XB Zar''}% -\newfontfamily\farsifont[Script=Arabic,Scale=1.2,Mapping=parsidigits]{XB Zar}\fi -}% +\RequirePackage{xepersian-mathsdigitspec} + \def\ps@plain{\ps@empty \def\@oddfoot{\hfil\farsifont\thepage\hfil}% @@ -22,39 +29,7 @@ \let\@oddhead\@empty\let\@evenhead\@empty } -%to make the digits in math formula persian -\def\setparsimathsdigitsfont#1{ -\font\tenrgm="#1" at 12pt -\font\sevrgm="#1" at 10pt -\font\fivrgm="#1" at 7pt -\newfam\fardig -\textfont\fardig=\tenrgm -\scriptfont\fardig=\sevrgm -\scriptscriptfont\fardig=\fivrgm - \XeTeXmathcode`0="7 \fardig "06F0% - \XeTeXmathcode`1="7 \fardig "06F1% - \XeTeXmathcode`2="7 \fardig "06F2% - \XeTeXmathcode`3="7 \fardig "06F3% - \XeTeXmathcode`4="7 \fardig "06F4% - \XeTeXmathcode`5="7 \fardig "06F5% - \XeTeXmathcode`6="7 \fardig "06F6% - \XeTeXmathcode`7="7 \fardig "06F7% - \XeTeXmathcode`8="7 \fardig "06F8% - \XeTeXmathcode`9="7 \fardig "06F9% - \XeTeXmathcode`.="7 \fardig "066B%decimal point - - \XeTeXmathcode`٫="7 \fardig "066B%decimal point - \XeTeXmathcode`۰="7 \fardig "06F0% - \XeTeXmathcode`۱="7 \fardig "06F1% - \XeTeXmathcode`۲="7 \fardig "06F2% - \XeTeXmathcode`۳="7 \fardig "06F3% - \XeTeXmathcode`۴="7 \fardig "06F4% - \XeTeXmathcode`۵="7 \fardig "06F5% - \XeTeXmathcode`۶="7 \fardig "06F6% - \XeTeXmathcode`۷="7 \fardig "06F7% - \XeTeXmathcode`۸="7 \fardig "06F8% - \XeTeXmathcode`۹="7 \fardig "06F9% -} + \AtBeginDocument{\setRL\farsifont\addfontfeature{Mapping=parsidigits}} @@ -285,7 +260,24 @@ \def\@oddfoot{\hfil\rl\thepage\hfil}% \let\@evenfoot\@oddfoot } - +\renewenvironment{thebibliography}[1] + {\section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \rightmargin\labelwidth \advance\rightmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty @@ -333,8 +325,23 @@ \gdef\thesection{\@harfi\c@section}} }{} \@ifclassloaded{amsart}{% -\def\l@section{\@tocline{1}{0pt}{.5pc}{2.7pc}{}} -\def\l@subsection{\@tocline{2}{0pt}{.5pc}{2.7pc}{}} +\let\oldleftskip=\leftskip +\let\leftskip=\rightskip +\let\rightskip=\oldleftskip +\renewenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \rightmargin\labelwidth \advance\rightmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} \renewcommand{\datename}{\rl{تاریخ:}} \renewcommand{\refname}{مراجع} \renewcommand{\abstractname}{چکیده} @@ -344,7 +351,25 @@ \gdef\thesection{\@harfi\c@section}} }{} \@ifclassloaded{report}{% - +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \rightmargin\labelwidth + \advance\rightmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty @@ -397,9 +422,25 @@ }%end appendix }{} \@ifclassloaded{amsbook}{% -\def\l@section{\@tocline{1}{0pt}{.5pc}{2.7pc}{}} +\renewenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \rightmargin\labelwidth \advance\rightmargin\labelsep + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +\let\oldleftskip=\leftskip +\let\leftskip=\rightskip +\let\rightskip=\oldleftskip \def\frontmatter{\cleardoublepage\pagenumbering{harfi}} -\renewcommand{\bibname}{کتابنامه} +\renewcommand{\bibname}{کتابنامه } \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} %to make appendix numbering farsi @@ -412,7 +453,7 @@ }{} \@ifclassloaded{bookest}{% \NoHyper -\renewcommand{\bibname}{کتابنامه} +\renewcommand{\bibname}{کتابنامه } \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} %to make appendix numbering farsi @@ -424,6 +465,25 @@ }%end appendix }{} \@ifclassloaded{book}{% +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \rightmargin\labelwidth + \advance\rightmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} \renewcommand\frontmatter{% \cleardoublepage \@mainmatterfalse @@ -484,7 +544,7 @@ \fi \pagestyle{headings} -\renewcommand{\bibname}{کتابنامه} +\renewcommand{\bibname}{کتابنامه } \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} %to make appendix numbering farsi @@ -496,7 +556,7 @@ }%end appendix }{} \@ifclassloaded{refrep}{% -\renewcommand{\bibname}{کتابنامه} +\renewcommand{\bibname}{کتابنامه } \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} %to make appendix numbering farsi @@ -511,7 +571,7 @@ %We redefine arabic counter style -\def\@@number#1{\ifmmode\else\beginL\fi{#1}\ifmmode\else\endL\fi} +\def\@@number#1{\ifmmode\else\beginL\fi{\farsifont #1}\ifmmode\else\endL\fi} \def\@@latin#1{\@@number{{\@fromrl#1}}} \def\@number{\protect\@@number} \def\@latin{\protect\@@latin} @@ -560,7 +620,7 @@ %a command to put a footnote from left to right %while in a right to left context -\newcommand{\Footnote}[1]{% +\providerobustcmd{\Footnote}[1]{% \bgroup% To make the scope of the change local \footnotemark% \renewcommand{\thefootnote}{\arabic{footnote}}% @@ -663,20 +723,18 @@ \renewcommand{\eqref}[1]{(\ref{#1})} %To fix equation numbers. taken from amsmath -{\renewenvironment{equation}{% - \unsetRL +\renewenvironment{equation}{% +\par\unsetRL \incr@eqnum \mathdisplay@push \st@rredfalse \global\@eqnswtrue \mathdisplay{equation}% -\setRL }{% -\unsetRL \endmathdisplay{equation}% \mathdisplay@pop \ignorespacesafterend -\setRL -}} +\par\setRL\noindent +} %almost taken verbatim from polyglossia for making abjad numbering in enumerate environment @@ -737,6 +795,6 @@ \small \@starttoc{toc}% \end{multicols}} - - +\def\rcases#1{\left.\vcenter{\normalbaselines\m@th + \ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\,\right\}} \endinput diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 244080ceebc..8a0e6e9ae3b 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -294,6 +294,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'niceframe', "die 'skipping, nosell license'", 'nohyph', "die 'skipping, nohyph must be done by hand'", 'notes', "&MAKEnotes", + 'occam', "die 'skipping, too old and strange'", 'ocherokee', "&MAKEflatten", 'ocr-a', "die 'skipping, nosell license'", 'oesch', "die 'skipping, nosell license'", diff --git a/Master/tlpkg/tlpsrc/lh.tlpsrc b/Master/tlpkg/tlpsrc/lh.tlpsrc index 665317b9a9d..3ceb8df661a 100644 --- a/Master/tlpkg/tlpsrc/lh.tlpsrc +++ b/Master/tlpkg/tlpsrc/lh.tlpsrc @@ -1,2 +1,3 @@ name lh category Package +depend ec |