diff options
author | Karl Berry <karl@freefriends.org> | 2008-09-20 00:32:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-09-20 00:32:46 +0000 |
commit | 89d1e010eb673d8f40f47b75386c3027bb328dfa (patch) | |
tree | 60621e9aabc36f12a2a04035f9e72ccda3c8c6e2 | |
parent | eb648c633a632c6e4555894f3ca0ce6230e6410a (diff) |
xepersian 0.161111111 (17sep08)
git-svn-id: svn://tug.org/texlive/trunk@10646 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian/README | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.pdf | bin | 18422 -> 21295 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.pdf | bin | 28393 -> 31364 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf | bin | 62169 -> 76974 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex | 56 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.map | 27 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.tec | bin | 0 -> 374 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty | 223 | ||||
-rwxr-xr-x | Master/tlpkg/bin/ctan2tds | 4 |
9 files changed, 270 insertions, 48 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian/README b/Master/texmf-dist/doc/xelatex/xepersian/README index 7cb69e263bd..ebb63a6a0c5 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.16111111 +The XePersian Package v0.161111111 -Updates: Changed \LR and \RL commands to \lr and \rl respectively. +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. XePersian is a package written for XeLaTeX that allows users to typeset -Persian/Arabic properly. The current version is 0.16111111 and it will be +Persian/Arabic properly. The current version is 0.161111111 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 @@ -33,4 +33,4 @@ Please report any bugs to the author (vafa.khalighi@students.mq.edu.au). ------------------------------- Vafa Khalighi -2008/07/17 +2008/09/17 diff --git a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.pdf b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.pdf Binary files differindex 055cd3d3070..b27f1474368 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.pdf +++ b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example1.pdf diff --git a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.pdf b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.pdf Binary files differindex 73d6248dfdd..17404c82399 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.pdf +++ b/Master/texmf-dist/doc/xelatex/xepersian/beamer-example2.pdf diff --git a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf b/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf Binary files differindex ba7f5c272de..0e6f33e8cce 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf +++ b/Master/texmf-dist/doc/xelatex/xepersian/user-guide.pdf diff --git a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex b/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex index 78f799d9d05..7e522958d8f 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex +++ b/Master/texmf-dist/doc/xelatex/xepersian/user-guide.tex @@ -1,14 +1,14 @@ -\documentclass[a4paper,11pt]{refrep} +\documentclass[a4paper,11pt]{report} \usepackage{xepersian} -\pagestyle{headings} \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}}} +\title{حروفچینی فارسی در \lr{\XePersian}\\[0.2cm]نسخهٔ ۰/۱۶۱۱۱۱۱۱۱} +\author{وفا خلیقی\thanks{پست الکترونیک: \lr{vafa.khalighi@students.mq.edu.au}}} +\setlength\columnseprule{0.4pt} \begin{document} \maketitle -\tableofcontents +\twocolumnstableofcontents \chapter{مقدمه} -به حروفچینی فارسی با \lr{\XePersian} خوش آمدید. هدف \lr{\XePersian} ارائه یک بستهٔ کاملاً کامل و پایدار برای حروفچینی است. لطفاً به خاطر داشته باشید که \lr{\XePersian} هنوز در حالت آزمایش است و این نسخهٔ ۰/۱۶۱۱۱۱۱۱ از آن است. من سعی کردهام، میکنم و خواهم کرد تا تمام امکانات حروفچینی فارسی را در \lr{\XePersian} جمع کنم. اما این خود نیاز به آزمایش و امتحان دارد تا اشکالات پیدا و رفع شود. +به حروفچینی فارسی با \lr{\XePersian} خوش آمدید. هدف \lr{\XePersian} ارائه یک بستهٔ کاملاً کامل و پایدار برای حروفچینی است. لطفاً به خاطر داشته باشید که \lr{\XePersian} هنوز در حالت آزمایش است و این نسخهٔ ۰/۱۶۱۱۱۱۱۱۱ از آن است. من سعی کردهام، میکنم و خواهم کرد تا تمام امکانات حروفچینی فارسی را در \lr{\XePersian} جمع کنم. اما این خود نیاز به آزمایش و امتحان دارد تا اشکالات پیدا و رفع شود. لطفاً قبل از استفاده از \lr{\XePersian} این سند را بدقت بخوانید تا با دستورات و امکانات \lr{\XePersian} آشنا شوید. @@ -24,7 +24,7 @@ فلسفهٔ \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} قرار دارند. لطفاً قبل از انجام هر کاری این قلمها را روی سیستم خود نصب کنید. +تعدادی قلمهای فارسی مناسب با \lr{\XePersian} عرضه میشوند. این قلمها در پوشهٔ \lr{True Type Fonts} قرار دارند. لطفاً قبل از انجام هر کاری این قلمها را روی سیستم خود نصب کنید. \section{اسکلت یک متن فارسی ساده } \subsection{طبقات \lr{article} و \lr{amsart}} \setLR @@ -106,10 +106,10 @@ $\vdots$ \section{نکات} \begin{itemize} \item \lr{\XePersian} -قلم نازلی را برای قلم فارسی به عنوان پیشفرض استفاده میکند لذا باید این قلم را روی سیستم خود نصب کرده باشید. اگر میخواهید از قلم دیگری به عنوان قلم فارسی استفاده کنید، میتوانید دستور زیر را در پیشدرآمد فایل خود قرار دهید: +قلم زر را برای قلم فارسی به عنوان پیشفرض استفاده میکند لذا باید این قلم را روی سیستم خود نصب کرده باشید. اگر میخواهید از قلم دیگری به عنوان قلم فارسی استفاده کنید، میتوانید دستور زیر را بعد از \verb|\usepackage{xepersian}| در پیشدرآمد فایل خود قرار دهید: \setLR -\verb|\newfontfamily\farsifont[Script=Arabic,Scale=1.2,Mapping=farsidigits]{name of your font}| +\verb|\newfontfamily\farsifont[Script=Arabic,Scale=1.2,Mapping=parsidigits]{name of your font}| \setRL @@ -125,6 +125,15 @@ $\vdots$ \setRL +\item +دستور \verb|\setparsimathsdigitsfont| امکان انتخاب فونت اعداد فارسی را در محیط ریاضی به شما میدهد. اگر اصلاً از این فرمان استفاده نکنید، اعداد به صورت لاتین در محیط ریاضی درج میشوند. لطفاً توجه داشته باشید که این فرمان را باید بعد از \verb|\begin{document}| قرار دهید. شکل کلی این دستور به شکل زیر است: + + +\setLR +\verb|\setparsimathsdigitsfont{name of your font}| +\setRL + + \item \lr{\XePersian} بصورت پیشفرض بستههای \lr{amsmath, amssymb, amsthm} و دیگر بستههای مربوط را فراخوانی میکند لذا شما نباید این بستهها را دوباره در پیشدرآمد فایل خود فراخوانی کنید. @@ -164,7 +173,7 @@ $\vdots$ برای قرار دادن زیرنویس انگلیسی. متن انگلیسی را درون \verb|{}| قرار میدهیم. \vspace{.5cm} -\verb|\pagenumbering{farsi}|: +\verb|\pagenumbering{harfi}|: برای تبدیل شمارهٔ صفحات از عددی به حروف الفبای فارسی. \vspace{.5cm} @@ -172,6 +181,15 @@ $\vdots$ \verb|\pagenumbering{arabic}|: برای تبدیل شمارهٔ صفحات از حروفی به عددی. +\vspace{.5cm} + +\verb|\pagenumbering{adadi}|: +برای تبدیل شماره صفحات به عددی که با حروف نوشته میشود، مانند یک، دو، سه و ... + +\vspace{.5cm} + +\verb|\twocolumnstableofcontents|: +برای حروفچینی فهرست مطالب در دو ستون. مانند فهرست مطالب این سند. \newpage @@ -181,7 +199,7 @@ $\vdots$ \vspace{0.5cm} -لطفاً به خاطر داشته باشید که برای حروفچینی شعر نیازی به قراردادن بستهای خاص ندارید؛ \lr{\XePersian} این کار را بصورت خودکار انجام میدهد. +لطفاً به خاطر داشته باشید که برای حروفچینی شعر نیازی به قراردادن بستهای خاص ندارید؛ \lr{\XePersian} این کار را بصورت خودکار انجام میدهد. هدف ما در اینجا فقط معرفی این محیط میباشد، اگر قصد دارید این محیط را به طور کامل فرا گیرید، لطفاً به آخرین راهنمای فارسیتک مراجعه فرمائید. \subsection{حروفچینی شعر سنتی} حروفچینی شعر سنتی در محیطی به نام \lr{oldpoem} انجام میگیرد. این محیط دو حالت دارد: \subsubsection{حالت معمولی} @@ -305,6 +323,18 @@ $\vdots$ \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}} نباشد. @@ -319,7 +349,7 @@ $\vdots$ \item تغییر نوع شمارهگذاری صفحه، بخش، فصل، قسمت، زیرقسمت و زیر زیر قسمت برای سازگاری کامل با سایر بستهها. \item -اضافه کردن امکان داشتن شماره صفحه به ترتیب حروف الفبای فارسی، برای عوض کردن شماره صفحه از عددی به حروفی کافی است فرمان \verb|\pagenumbering{farsi}| را به کار ببرید و اگر دوباره دوست داشتید شمارهٔ صفحه را از حروفی به عددی تغییر دهید کافی است از فرمان \verb|\pagenumbering{arabic}| استفاده کنید. +اضافه کردن امکان داشتن شماره صفحه به ترتیب حروف الفبای فارسی، برای عوض کردن شماره صفحه از عددی به حروفی کافی است فرمان \verb|\pagenumbering{harfi}| را به کار ببرید و اگر دوباره دوست داشتید شمارهٔ صفحه را از حروفی به عددی تغییر دهید کافی است از فرمان \verb|\pagenumbering{arabic}| استفاده کنید. \item امکان داشتن جدولی که در بعضی از خانههای آن بتوان به راحتی انگلیسی نوشت. لطفاً به مثال زیر توجه کنید: \begin{center} @@ -347,4 +377,6 @@ $\vdots$ امکان داشتن شماره پیوست بر حسب حروف الفبا. \end{enumerate} +\chapter{تشکر و قدردانی ویژه} +بستهٔ \lr{\XePersian} نشانهٔ تلاش و زحمت بسیار آقایان مصطفی واحدی و مهدی امیدعلی است. بسیاری از کدهای اصلی توسط این دو دوست عزیزم نوشته شده است. در نسخهٔ کنونی نیز بیشتر تغییرات و اصلاحات توسط آقای مهدی امیدعلی صورت گرفته است. در اینجا لازم میدانم تشکر ویژهای از آقایان مصطفی واحدی و مهدی امیدعلی نمایم. \end{document} diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.map b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.map new file mode 100644 index 00000000000..9fa70566075 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.map @@ -0,0 +1,27 @@ +; FC ... +LHSName "Digits" +RHSName "FarsiDigits" + +pass(Unicode) +U+0030 <> U+06F0 ; +U+0031 <> U+06F1 ; +U+0032 <> U+06F2 ; +U+0033 <> U+06F3 ; +U+0034 <> U+06F4 ; +U+0035 <> U+06F5 ; +U+0036 <> U+06F6 ; +U+0037 <> U+06F7 ; +U+0038 <> U+06F8 ; +U+0039 <> U+06F9 ; + +U+0644 U+0651 U+064E U+0627 <> U+0644 U+0627 U+0651 U+064E ; lam shadda fatha alif -> lam alif shadda fatha +U+0644 U+0651 U+0627 <> U+0644 U+0627 U+0651 ; lam shadda alif -> lam alif shadda +U+0644 U+0652 U+0622 <> U+0644 U+0622 U+0652 ; lam sukun alifmadda -> lam alifmadda sukun +U+0644 U+0652 U+0623 <> U+0644 U+0623 U+0652 ; lam sukun alifhamzaabove -> lam alifhamzaabove sukun +U+0644 U+0652 U+0625 <> U+0644 U+0625 U+0652 ; lam sukun alifhamzabelow -> lam alifhamzabelow sukun +U+0644 U+0651 U+064B U+0627 <> U+0644 U+0627 U+0651 U+064b ; lam shadda fathatan alif -> lam alif shadda fathatan +U+0644 U+064B U+0627 <> U+0644 U+0627 U+064B ; lam fathatan alif -> lam alif fathatan + +U+002C <> U+060C ; comma > arabic comma +U+003F <> U+061F ; question mark -> arabic qm +U+003B <> U+061B ; semicolon -> arabic semicolon diff --git a/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.tec b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.tec Binary files differnew file mode 100644 index 00000000000..d9ebe2b1b48 --- /dev/null +++ b/Master/texmf-dist/fonts/misc/xetex/fontmapping/xepersian/parsidigits.tec diff --git a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty index 959b6f1e9e1..f3651751538 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty +++ b/Master/texmf-dist/tex/xelatex/xepersian/xepersian.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xepersian}[2008/07/17 v0.16111111 +\ProvidesPackage{xepersian}[2008/09/17 v0.161111111 Typesetting Persian with XeTeX] \RequirePackage{graphicx} \RequirePackage{amssymb} @@ -12,21 +12,25 @@ \RequirePackage{etoolbox} \RequirePackage{persianpoem,fmultico} \AtBeginDocument{\ifdefined\farsifont\relax\else% -\PackageWarning{XePersian}{\string\farsifont\ is not defined! XePersian will try to load Nazli}% -\newfontfamily\farsifont[Script=Arabic,Scale=1.2,Mapping=farsidigits]{Nazli}\fi +\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 }% -\renewcommand{\thepage}{\rl{\the\c@page}} +\def\ps@plain{\ps@empty + \def\@oddfoot{\hfil\farsifont\thepage\hfil}% + \let\@evenfoot\@oddfoot + \let\@oddhead\@empty\let\@evenhead\@empty +} %to make the digits in math formula persian -\font\tenrgm="Nazli" at 12pt -\font\sevrgm="Nazli" at 10pt -\font\fivrgm="Nazli" at 7pt +\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 -\def\maths{ \XeTeXmathcode`0="7 \fardig "06F0% \XeTeXmathcode`1="7 \fardig "06F1% \XeTeXmathcode`2="7 \fardig "06F2% @@ -38,20 +42,20 @@ \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{\maths\setRL\farsifont} + \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}} %To convert the MILADI date to SHAMSI date, taken from farsitex @@ -277,23 +281,110 @@ \@ifclassloaded{article}{% + \def\ps@plain{\ps@empty + \def\@oddfoot{\hfil\rl\thepage\hfil}% + \let\@evenfoot\@oddfoot +} + +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\rl\leftmark\hfil\rl\thepage}% + \def\@oddhead{\rl\thepage\hfil\rl\rightmark}% + \let\@mkboth\markboth + \def\sectionmark##1{% + \markboth {\MakeUppercase{% + \ifnum \c@secnumdepth >\z@ + \thesection\quad + \fi + \rl{##1}}}{}}% + \def\subsectionmark##1{% + \markright {% + \ifnum \c@secnumdepth >\@ne + \rl{\thesubsection\quad} + \fi + \rl{##1}}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{\rl\thepage\hfil\rl\rightmark}% + \let\@mkboth\markboth + \def\sectionmark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \rl{\thesection\quad} + \fi + \rl{##1}}}}} +\fi +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\rl\thepage\hfil\rl\leftmark}% + \def\@oddhead{\rl\rightmark\hfil\rl\thepage}% + \let\@mkboth\@gobbletwo + \let\sectionmark\@gobble + \let\subsectionmark\@gobble + } +\pagestyle{plain} \renewcommand{\refname}{مراجع} \renewcommand{\abstractname}{چکیده} \renewcommand\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% - \gdef\thesection{\@farsi\c@section}} + \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}{}} +\renewcommand{\datename}{\rl{تاریخ:}} \renewcommand{\refname}{مراجع} \renewcommand{\abstractname}{چکیده} \renewcommand\appendix{\par \setcounter{section}{0}% \setcounter{subsection}{0}% - \gdef\thesection{\@farsi\c@section}} + \gdef\thesection{\@harfi\c@section}} }{} \@ifclassloaded{report}{% -\renewcommand{\bibname}{کتابنامه} + +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\rl\thepage\hfil\rl\leftmark}% + \def\@oddhead{\rl\rightmark\hfil\rl\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \rl{\@chapapp\ \thechapter. \ }% + \fi + \rl{##1}}}{}}% + \def\sectionmark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\z@ + \rl{\thesection. \ }% + \fi + \rl{##1}}}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{\rl\rightmark\hfil\rl\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \rl{\@chapapp\ \thechapter. \ }% + \fi + \rl{##1}}}}} +\fi +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\rl\thepage\hfil\rl\leftmark}% + \def\@oddhead{rl\rightmark\hfil\rl\thepage}% + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble + } +\pagestyle{plain} +\renewcommand{\bibname}{مراجع} \renewcommand{\abstractname}{چکیده} \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} @@ -302,10 +393,12 @@ \setcounter{chapter}{0}% \setcounter{section}{0}% \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@farsi\c@chapter} + \gdef\thechapter{\@harfi\c@chapter} }%end appendix }{} \@ifclassloaded{amsbook}{% +\def\l@section{\@tocline{1}{0pt}{.5pc}{2.7pc}{}} +\def\frontmatter{\cleardoublepage\pagenumbering{harfi}} \renewcommand{\bibname}{کتابنامه} \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} @@ -314,7 +407,7 @@ \setcounter{chapter}{0}% \setcounter{section}{0}% \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@farsi\c@chapter} + \gdef\thechapter{\@harfi\c@chapter} }%end appendix }{} \@ifclassloaded{bookest}{% @@ -327,10 +420,70 @@ \setcounter{chapter}{0}% \setcounter{section}{0}% \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@farsi\c@chapter} + \gdef\thechapter{\@harfi\c@chapter} }%end appendix }{} \@ifclassloaded{book}{% +\renewcommand\frontmatter{% + \cleardoublepage + \@mainmatterfalse + \pagenumbering{harfi}} +\renewcommand\mainmatter{% + \cleardoublepage + \@mainmattertrue + \pagenumbering{farsi}} +\renewcommand\backmatter{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \@mainmatterfalse} + +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\rl\rightmark\hfil\rl\thepage}% + \def\@oddhead{\rl\thepage\hfil\rl\leftmark}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {\MakeUppercase{% + \rl{\@chapapp\ \thechapter.\,\,}% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \rl{##1} + \fi + \fi + }}{}}% + \def\ps@plain{\ps@empty + \def\@oddfoot{\hfil\rl\thepage\hfil}% + \let\@evenfoot\@oddfoot +} + \def\sectionmark##1{% + \markright {\MakeUppercase{% + \rl{\thesection}\, + \ifnum \c@secnumdepth >\z@ + \rl{##1} \ % + \fi + }}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{\rl\thepage\hfil\rl\rightmark}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markright {\MakeUppercase{% + \rl{\@chapapp\ \thechapter. } % + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \rl{##1} + \fi + \fi + }}}} + +\fi +\pagestyle{headings} + \renewcommand{\bibname}{کتابنامه} \renewcommand{\chaptername}{فصل} \renewcommand{\partname}{بخش} @@ -339,7 +492,7 @@ \setcounter{chapter}{0}% \setcounter{section}{0}% \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@farsi\c@chapter} + \gdef\thechapter{\@harfi\c@chapter} }%end appendix }{} \@ifclassloaded{refrep}{% @@ -351,7 +504,7 @@ \setcounter{chapter}{0}% \setcounter{section}{0}% \gdef\@chapapp{\appendixname}% - \gdef\thechapter{\@farsi\c@chapter} + \gdef\thechapter{\@harfi\c@chapter} }%end appendix }{} @@ -378,8 +531,10 @@ \x} \def\@character#1{\ifcase#1\or الف\or ب\or پ\or ت\or ث\or ج\or چ\or ح\or خ\or د\or ذ\or ر\or ز\or س\or ش\or ص\or ض\or ع\or غ\or ف\or ق\or ک\or گ\or ل\or م\or ن\or ه\or و\or ی\fi} -\def\@farsi#1{\farsifont\@character{\@@arabic#1}} +\def\@harfi#1{\farsifont\@character{\@@arabic#1}} +\def\@numeric#1{\ifcase#1 \or یک\or دو\or سه\or چهار\or پنج\or شش\or هفت\or هشت\or نه\or ده\or یازده\or دوازده\or سیزده\or چهارده\or پانزده\or شانزده\or هفده\or هجده\or نوزده\or بیست\fi} +\def\@adadi#1{\farsifont\@numeric{\@@arabic#1}} %The figure or table caption \newsavebox\@Arabitempboxa @@ -415,6 +570,7 @@ } + %For Right-to-Left two column command, I guess taken from rlbabel \makeatletter \let\@old@outputdblcol\@outputdblcol @@ -576,4 +732,11 @@ \AtBeginDocument{\farsi@numbers} +\newcommand\twocolumnstableofcontents{% + \begin{multicols}{2}[\section*{\contentsname}]% + \small + \@starttoc{toc}% + \end{multicols}} + + \endinput diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 5d899acbcec..fcc3665833f 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -1191,15 +1191,15 @@ $standardpro='\.pro$'; 'zefonts', 'slantcm.cfg', ); -$standardmap='\.map'; +$standardmap='\.(map|tec)$'; %specialmap = ( - 'arabxetex' => '\.(map|tec)$', 'kerntest' => 'NULL', # skip test map file 'ibygrk' => 'iby\.map', # not ibycus4.map, which is tex|mf ); $standardmapdest = "fonts/map/dvips"; %specialmapdest = ( 'arabxetex' => "fonts/misc/xetex/fontmapping", + 'xepersian' => "fonts/misc/xetex/fontmapping", ); $standardvmap='\.ali$'; |