From fa7cc6d43746db5802a4d63d29cff6ee619656be Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 21 Apr 2016 20:57:56 +0000 Subject: quran (21apr16) git-svn-id: svn://tug.org/texlive/trunk@40660 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/quran/README | 4 +- Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf | Bin 62708 -> 65649 bytes Master/texmf-dist/doc/xelatex/quran/quran-doc.tex | 16 ++++- Master/texmf-dist/doc/xelatex/quran/quran-test.pdf | Bin 0 -> 49514 bytes Master/texmf-dist/doc/xelatex/quran/quran-test.tex | 80 +++++++++++++++++++++ Master/texmf-dist/tex/xelatex/quran/quran.sty | 18 ++++- 6 files changed, 112 insertions(+), 6 deletions(-) create mode 100644 Master/texmf-dist/doc/xelatex/quran/quran-test.pdf create mode 100644 Master/texmf-dist/doc/xelatex/quran/quran-test.tex (limited to 'Master') diff --git a/Master/texmf-dist/doc/xelatex/quran/README b/Master/texmf-dist/doc/xelatex/quran/README index beb0f06147b..b35166ab81e 100644 --- a/Master/texmf-dist/doc/xelatex/quran/README +++ b/Master/texmf-dist/doc/xelatex/quran/README @@ -1,6 +1,6 @@ _____________________ The quran package -v1.05 +v1.1 The package is prepared for typesetting the Holy Quran. This work is inspired by lipsum and ptext packages, provides several macros for typesetting the whole or @@ -8,7 +8,7 @@ any parts of The Holy Quran based on its popular divisions. For more information, please see the documentation. -Current version release date: 2016/02/09 +Current version release date: 2016/04/21 ___________________ Seiied-Mohammad-Javad Razvian javadr@gmail.com diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf b/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf index 6c6ba3609a5..b538b0ee372 100644 Binary files a/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf and b/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex b/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex index 14a89bf892d..6394bb556e4 100644 --- a/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex +++ b/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex @@ -2,7 +2,7 @@ %\usepackage{pgffor} \usepackage{forloop} \usepackage{pgf} -\usepackage{pgfcalendar} +%\usepackage{pgfcalendar} \usepackage{framed} \usepackage{holtxdoc} \usepackage{url} @@ -12,12 +12,12 @@ \title{The \xpackage{quran} Package\footnote{to one who has devoted his life to Quran}} \author{Seiied Mohammad Javad Razavian\\\xemail{javadr@gmail.com}} -\date{Feb 9, 2016} +\date{Apr 21, 2016} \maketitle \begin{framed} This manual is incomplete and the package is under development. \par -\centerline{ver 1.05} +\centerline{ver 1.1} \end{framed} \tableofcontents @@ -202,6 +202,8 @@ The following macros can typeset whole of The Holy Quran: \item \cs{quranmanzil[1-7]} \end{itemize} +\section{Miscellaneous} + \subsection{Name of Surah} \begin{declcs}{surahname}\oarg{m} \end{declcs} @@ -216,6 +218,14 @@ This macro returns the arabic name of \textit{m}$^{th}$ Surah. \end{declcs} It provides the basmalah in arabic text which every Surah is started by that. +\subsection{Index Converting} +\begin{declcs}{indexconvert}\marg{index}\marg{surah macro}\marg{ayah macro} +\end{declcs} +This command converts an index number between 1 to 6236 +to its exact surah's index and ayah's index. The index must be a number or +\TeX{} counter, the surah macro and ayah macro must be \TeX{} macro names. They +will be set to numbers representing the surah and ayah of the given index in whole of Quran. + \section{Options to The Package} All text generated by macros of this package will be separated by the macro \cs{par}. Sometimes, a version of text without \cs{par} is desired. Therefore the package provides the option diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf b/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf new file mode 100644 index 00000000000..2b250a03d41 Binary files /dev/null and b/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test.tex b/Master/texmf-dist/doc/xelatex/quran/quran-test.tex new file mode 100644 index 00000000000..71e26f0387b --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/quran/quran-test.tex @@ -0,0 +1,80 @@ +%This document wants to the explain the quran package with some examples. +\documentclass{article} + +\usepackage{forloop} +\usepackage{quran} +%The xepersian package automatically load bidi, and I've loaded it because I want to set a font that supports Arabic letters +\usepackage{xepersian} + +% This macro set the main text font for non-latin letter, and it can scale font. +\settextfont[Scale=1.1]{Scheherazade} + +\def\surna[#1]{\centerline{\hss\surahname*[#1]\hss\surahname[#1]\hss}} +\def\test#1{ + \par + \surna[#1] + \quransurah*[#1] + \bigskip +} + +\begin{document} + +% For typesetting بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ use below macro +%\centerline{\basmalah} + +\quransurah[108] % Surah Al-Kauther + +%%\surna[110]\quransurah*[110] % Surah Al-Nasr + +%The below typeset 104th surah through 113th surah. +%%\quransurah*[104-113] + +\makeatletter +\surna[\qt@surah@default]\quransurah* % Surah Al-Ikhlas +\makeatother + +\quranayah[33][33] +\quranayah*[76][1-22] + +%%You can typeset whole of Holy Quran with below commands. +%%\newcounter{ct} +%%\forloop{ct}{1}{\value{ct} < 115} {\test{\value{ct}}} + +%%You can typeset whole of Holy Quran with below commands. +%%\newcounter{jz} +%%\forloop{jz}{1}{\value{jz} < 31} {\quranjuz[\value{jz}]} + +%%\quranjuz*[28-30] + +%\quranpage*[256] +%\quranpage*[3-4] + +%%You can typeset whole of Holy Quran with below commands, just replace 8 with 605. +\newcounter{pg} +\forloop{pg}{1}{\value{pg} < 8} { +\hfill صفحة \arabic{pg} \par +\quranpage*[\value{pg}]\vfill} + +%\quranhizb*[117-120] + +%\quranquarter*[1-4] +%\quranquarter*[239-240] + +%\quranruku[313] +%\quranruku[556] + +%\quranmanzil*[2] + + +%%\surna[1]\qurantext % Surah Al-Hamd + +%%\surna[1]\qurantext* % Surah Al-Hamd + +%%\surna[114]\qurantext[6231-6236] % Surah Al-Nas + +%%\surna[114]\qurantext*[6231-6236] % Surah Al-Nas + +%%%\surna[2]\qurantext*[8-293] % Surah Al-Baqara + +%\qurantext[1-6236] % The whole of Holy Quran +\end{document} diff --git a/Master/texmf-dist/tex/xelatex/quran/quran.sty b/Master/texmf-dist/tex/xelatex/quran/quran.sty index 513ea2ed433..a3088592cea 100644 --- a/Master/texmf-dist/tex/xelatex/quran/quran.sty +++ b/Master/texmf-dist/tex/xelatex/quran/quran.sty @@ -23,6 +23,9 @@ %% to one who has devoted his life to Quran %% %% Change Log +%% ver 1.1 ## Apr 21st, 2016 +%% \indexconvert macro converts a number between 1 to 6236 to its exact surah and ayah number in +%% the whole text of Quran. %% ver 1.05 ## Feb 9th, 2016 %% \ChangeBasmalah and \ChangeAyahNumber are converted to \ToggleBasmalah and \ToggleAyahNumber respectively. %% a minor bug in \quransurah* macro has fixed, this bug caused extra space in the text. @@ -66,7 +69,7 @@ % #1\else 1\fi} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{quran}[2016/02/09 v1.05 An easy way to typeset the whole or any part of The Holy Quran] +\ProvidesPackage{quran}[2016/04/21 v1.1 An easy way to typeset the whole or any part of The Holy Quran] \RequirePackage{biditools} \newcounter{qt@count} \setcounter{qt@count}{0} @@ -95,6 +98,19 @@ \ifnum\qt@tempcount<114% \advance\qt@tempcount by 1\relax% \repeat% +% +% +\def\indexconvert#1#2#3{ + \newcount\surahcount \surahcount=1% + \newcount\ayahcount \ayahcount=#1% + \loop + \ifnum\ayahcount>\qt@getversenum\surahcount% + \advance\ayahcount by -\qt@getversenum\surahcount\relax% + \advance\surahcount by 1\relax% + \repeat + #2=\surahcount% + #3=\ayahcount% +}% \bidi@newrobustcmd\qt@default{1-7}% Surah Al-hamd \bidi@newrobustcmd\setqurantextdefault[1]{% -- cgit v1.2.3