summaryrefslogtreecommitdiff
path: root/macros/unicodetex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-28 03:01:13 +0000
committerNorbert Preining <norbert@preining.info>2023-06-28 03:01:13 +0000
commitb5165768775a2cbc0577b7f8c532cc33d301c28f (patch)
treecbd889d0de6f6224cb5485c03afde29a2f5eaf89 /macros/unicodetex
parenta0b68c12d9e67182560eb31f202f3e86f0e4a5de (diff)
CTAN sync 202306280301
Diffstat (limited to 'macros/unicodetex')
-rw-r--r--macros/unicodetex/latex/quran/README10
-rw-r--r--macros/unicodetex/latex/quran/doc/quran-doc.pdfbin342560 -> 349063 bytes
-rw-r--r--macros/unicodetex/latex/quran/doc/quran-doc.tex70
-rw-r--r--macros/unicodetex/latex/quran/doc/quran-test.pdfbin34028 -> 33997 bytes
-rw-r--r--macros/unicodetex/latex/quran/doc/quran-test1.pdfbin56685 -> 56876 bytes
-rw-r--r--macros/unicodetex/latex/quran/doc/quran-test2.pdfbin63296 -> 63708 bytes
-rw-r--r--macros/unicodetex/latex/quran/tex/quran.sty85
7 files changed, 93 insertions, 72 deletions
diff --git a/macros/unicodetex/latex/quran/README b/macros/unicodetex/latex/quran/README
index 24b147769b..8b219632f2 100644
--- a/macros/unicodetex/latex/quran/README
+++ b/macros/unicodetex/latex/quran/README
@@ -1,19 +1,19 @@
_____________________
The quran package
-v1.81
+v1.9
-The package is prepared for typesetting the holy Quran.
-This work provides several macros for typesetting the whole or
+The package is prepared for typesetting the holy Quran.
+This work provides several macros for typesetting the whole or
any parts of the holy Quran based on its popular divisions.
For more information, please see the documentation.
-Current version release date: 2021/02/02
+Current version release date: 2023/06/28
___________________
Seiied-Mohammad-Javad Razvian
javadr@gmail.com
-Copyright © 2015-2021
+Copyright © 2015-2023
It may be distributed and/or modified under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
this license is at: http://www.latex-project.org/lppl.txt
diff --git a/macros/unicodetex/latex/quran/doc/quran-doc.pdf b/macros/unicodetex/latex/quran/doc/quran-doc.pdf
index ead5f4864a..4ee81accee 100644
--- a/macros/unicodetex/latex/quran/doc/quran-doc.pdf
+++ b/macros/unicodetex/latex/quran/doc/quran-doc.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/quran/doc/quran-doc.tex b/macros/unicodetex/latex/quran/doc/quran-doc.tex
index 54ba392e35..65ecc5f342 100644
--- a/macros/unicodetex/latex/quran/doc/quran-doc.tex
+++ b/macros/unicodetex/latex/quran/doc/quran-doc.tex
@@ -1,6 +1,6 @@
%% This is file `quran-doc.tex',
%%
-%% Copyright © 2015-2021
+%% Copyright © 2015-2023
%% Seiied-Mohammad-Javad Razavian <javadr@gmail.com>
%%
%% This work may be distributed and/or modified under the
@@ -91,7 +91,7 @@
\def\*{\unskip\,\texttt{*}}%
\begin{tabular}{@{}l@{}}%
\toprule
- \expandafter\SpecialUsageIndex\csname #1\endcsname
+% \expandafter\SpecialUsageIndex\csname #1\endcsname
\cs{#1}%
}{%
\\%
@@ -115,7 +115,8 @@
The \xpackage{quran} Package\thanks{To one having devoted his life to the Holy Quran}}
\author{Seiied Mohammad Javad Razavian\\\xemail{javadr@gmail.com}}
-\date{\qurandate,\space version \quranversion\footnote{First release: June 1st, 2015}}
+\date{\qurandate,\space version \quranversion\footnote{First release: June 1st, 2015}\\
+Eid al-Adha 1444 AH}
\parindent=0pt
@@ -133,10 +134,10 @@ Four translations of the Holy Quran in German, English, French, and Persian in a
\footnote{There are three packages, \xpackage{quran-de}, \xpackage{quran-ur}, and \xpackage{quran-bn} in companion with, which provide several other translations in Deutsch, Urdu and Bengali, respectively.}
Please, report any issues including bugs, typos in the documentation
or feature requests on \url{https://github.com/javadr/quran/issues}.
- }
+}
- \null\vfill
- \pagebreak
+\null\vfill
+\pagebreak
\setlength{\columnseprule}{0.5pt}
\tableofcontents
@@ -487,7 +488,7 @@ of surah number \the\surahcount\ (=\surahname[\the\surahcount]).
\end{SaveVerbatim}
-\centerline{\mybox*{indexconvert}{
+\centerline{\mybox*{\ttfamily\textbackslash{}indexconvert}{
\UseVerbatim{VerbEnv}
\newcount\index \index=5678
\indexconvert{\index}{\surahcount}{\ayahcount}
@@ -508,9 +509,9 @@ All surahs of the Holy Quran are divided by ayahs which have their own indexes.
By default, these numbers are typeset with text of each ayah. The \xmgpar{nonumber} option
causes none of these numbers will be printed with ayahs.
-\begin{declcs}{ToggleAyahNumber}
+\begin{declcs}{ToggleAyahNumber}{}
\end{declcs}
-This macro change the default behaviour of the package in typesetting of the index of ayahs whereever it called.
+This macro change the default behaviour of the package in typesetting of the index of ayahs wherever it called.
It means that the macro can enable/disable the ayahs' index in output text.
\centerline{\mxf{ToggleAyahNumber\textbackslash{}quransurah*[89]}
@@ -518,6 +519,17 @@ It means that the macro can enable/disable the ayahs' index in output text.
\medskip
+Version 1.9 introduces a new option called `\xmgpar{ornbraces}`.
+This option allows users to include ornamental braces around the Quran text,
+similar to the ones used around the Ayah numbers.
+To customize the ornamental braces, the `\cs{SetOrnamentalBraces}' macro can be utilized.
+This command takes two arguments: the starting brace and the ending brace.
+By leveraging the flexibility of `\cs{SetOrnamentalBraces}',
+users can personalize the appearance of the ornamental braces according to their preferences.
+
+\begin{declcs}{SetOrnamentalBraces}\marg{starting brace}\marg{ending brace}
+\end{declcs}
+
Version 1.6 comes wtih the \xmgpar{wordwise} option
which makes the package capable of outputing any chunks of an ayah.
See section~\ref{chunk} for more details.
@@ -1053,15 +1065,20 @@ fontspec{,} and bidi"]
\item New option `\xoption{uthmani-min}'; same behavior like `\xoption{uthmani}' option prior to this release.
\item Now, the `\xoption{uthmani}' option typesets the text of the Holy Quran with more diacritical marks; requested on \href{https://github.com/javadr/quran/issues/4}{this issue}.
\end{Version}
-
+
\begin{Version}{2021/02/01}
\item \xpackage{quran-bn} package is released adding 2 translations of the Bengali language; requested on \href{https://github.com/javadr/quran/issues/2}{this issue}.
- \end{Version}
+ \end{Version}
\begin{Version}{2021/02/02 v1.81}
\item Documentation update in compliance with the first release of the \xpackage{quran-bn} package.
- \end{Version}
-
+ \end{Version}
+
+ \begin{Version}{2023/06/28 v1.9; Eid al-Adha 1444 AH}
+ \item New option `\xoption{ornbraces}: adds ornamental braces around the Quran text.
+ \item \cs{SetOrnamentalBraces} personalizes the ornamental braces surrounding the Quran text.
+ \end{Version}
+
\def\cb{{\tiny$\bullet$\space}}
\def\mrule{\leaders\vrule height 2.5pt depth -1.5pt \hfill}
@@ -1078,11 +1095,11 @@ fontspec{,} and bidi"]
\caption{Brief History of the \xpackage{quran} Development}
\endlastfoot
2015/06/01 & 0.1 & \cb Initial release in Parsi\LaTeX, named \xpackage{qurantext} \par
- \cb \cs{qurantext} \\
+ \cb \cs{qurantext} \\
2015/06/02 & 0.2 & \cb Implementation of \cs{do@qt} in a nonrecursive style \\
2015/06/02 & 0.3 & \cb Provision of ayah's number.\\
2015/06/04 & 0.4 & \cb \cs{surahname} outputing the arabic/anglicized title of a surah\par
- \cb package renamed to \xpackage{quran}\\
+ \cb package renamed to \xpackage{quran}\\
2015/06/24 & 0.5 & \cb \cs{quranayah} and \cs{quransurah} \\
2015/06/28 & 0.6 & \cb \cs{quranjuz} \\
2015/06/30 & 0.7 & \cb \cs{quranpage} \\
@@ -1090,32 +1107,32 @@ fontspec{,} and bidi"]
2015/07/02 & 0.72 & \cb \cs{basmalah} -- \hboxR{\Basmalah} \\
2015/07/04 & 0.8 & \cb \cs{quranquarter} and \cs{quranruku} \\
2015/07/07 & 0.9 & \cb \cs{quranhizb} and \cs{quranmanzil}\par
- \cb The package was uploaded to CTAN. \\
+ \cb The package was uploaded to CTAN. \\
2015/07/10 & 0.91 & \cb ``Al-Ikhlas'' as a default parameter for \cs{quransurah} \\
2015/07/11 & 0.94 & \cb \cs{ChangeAyahNumber} and\cs{ChangeBasmalah} \par Resolving a minor bug \\
2015/07/11 & 0.941 & \cb Improvement in \cs{qurantext} \\
2016/02/05 & 1.0 & \cb \cs{quransurah} and \cs{quranayah} support anglicized title of surahs \\
2016/02/09 & 1.05 & \cb \cs{ChangeBasmalah} and \cs{ChangeAyahNumber} renamed to
- \cs{ToggleBasmalah} and \cs{ToggleAyahNumber}\par
- \cb A minor bug in \cs{quransurah*} fixed\\
+ \cs{ToggleBasmalah} and \cs{ToggleAyahNumber}\par
+ \cb A minor bug in \cs{quransurah*} fixed\\
2016/04/21 & 1.1 & \cb \cs{indexconvert} \\
2016/05/15 & 1.14 & \cb Documentation updates \\
2016/10/05 & 1.2 & \cb \xoption{uthmani} option supporting Uthmani script \\
2016/11/07 & 1.21 & \cb Some minor bugs \\
2016/11/08 & 1.22 & \cb Documentation updates \\
2016/11/12 & 1.24 & \cb Documentation updates\par
- \cb Pause marks (waqf symbols) were missed from uthmani script\\
+ \cb Pause marks (waqf symbols) were missed from uthmani script\\
2016/11/15 & 1.241 & \cb Documentation updates \\
2016/12/25 & 1.25 & \cb Documentation updates \\
2016/12/25 & 1.251 & \cb Documentation updates \\
2017/02/28 & 1.252 & \cb Minor improvements \\
2017/08/22 & 1.26 & \cb Minor improvements\par
- \cb Bug fix in \cs{quranayah[x][y]}\par
- \cb Documentation updates \\
+ \cb Bug fix in \cs{quranayah[x][y]}\par
+ \cb Documentation updates \\
2016/08/22 & 1.261 & \cb Documentation updates \\
2017/10/22 & 1.3 & \cb Transliteration supported via \xoption{translt} option \\
2017/10/28 & 1.4 & \cb Persian, English, and Deutsch translations via \xoption{transfa}, \xoption{transen}, and \xoption{transde} options\par
- \cb \xoption{trans} option with `lt', `en', `de', and `fa' values \\
+ \cb \xoption{trans} option with `lt', `en', `de', and `fa' values \\
2017/12/22 & 1.41 & \cb case-insensitive \cs{quransurah} and \cs{quranayah} \\
2017/12/22 & 1.42 & \cb case-insensitive \cs{quransurahX} and \cs{quranayahX} \par\tt{X} $\in$ \{`en', `de', `fa', `lt'\} \\
2017/12/22 & 1.42a & \cb Documentation updates \\
@@ -1125,18 +1142,19 @@ fontspec{,} and bidi"]
2019/05/03 & \multicolumn{2}{c|}{ \null \mrule {\space}First release of the \xpackage{quran-ur} package \mrule \space\null}\\
2019/05/04 & 1.51 & \cb A typo in \tt{quran-transde.def}\\
2020/03/07 & 1.6 & \cb \cs{qurantext} and \cs{quranayah} support any chunks of an ayah\par
- \cb \cs{Basmalah} \hfil \cb Documentation revision\\
+ \cb \cs{Basmalah} \hfil \cb Documentation revision\\
2020/03/09 & 1.61 & \cb Minor update in \cs{quranayah} and \cs{qurantext} \\
2020/03/12 & 1.62 & \cb License update to LPPL Version 1.3c \\
2020/03/14 & 1.63 & \cb Removing pause marks with \meta{chunk range} optional parameter\\
2020/06/10 & 1.7 & \cb French translation available via
- \xoption{transfr} option, or
- \xoption{trans} option with ‘\xoption{fr}’ value\\
+ \xoption{transfr} option, or
+ \xoption{trans} option with ‘\xoption{fr}’ value\\
2020/06/12 & 1.7a & \cb CTAN upload correction. \\
2020/10/14 & 1.8 & \cb `\xoption{uthmani}' is renamed to `\xoption{uthmani-min}' \par
\cb `\xoption{uthmani}' typesets text of the Holy Quran with more diacritical marks.\\
- 2021/02/01 & \multicolumn{2}{c|}{ \null \mrule {\space}First release of the \xpackage{quran-bn} package \mrule \space\null}\\
+ 2021/02/01 & \multicolumn{2}{c|}{ \null \mrule {\space}First release of the \xpackage{quran-bn} package \mrule \space\null}\\
2021/02/02 & 1.81 & \cb Documentation updates \\
+ 2023/06/28 & 1.9 & \cb `\xoption{ornbraces}' option \par\cb \cs{SetOrnamentalBraces} to customize the ornamental braces. \\
\bottomrule
\end{longtable}
\end{small}
diff --git a/macros/unicodetex/latex/quran/doc/quran-test.pdf b/macros/unicodetex/latex/quran/doc/quran-test.pdf
index c845d51aca..279ad01de6 100644
--- a/macros/unicodetex/latex/quran/doc/quran-test.pdf
+++ b/macros/unicodetex/latex/quran/doc/quran-test.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/quran/doc/quran-test1.pdf b/macros/unicodetex/latex/quran/doc/quran-test1.pdf
index 5332e8eeea..e5185cd431 100644
--- a/macros/unicodetex/latex/quran/doc/quran-test1.pdf
+++ b/macros/unicodetex/latex/quran/doc/quran-test1.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/quran/doc/quran-test2.pdf b/macros/unicodetex/latex/quran/doc/quran-test2.pdf
index 8087c37e67..ac0ef6fa70 100644
--- a/macros/unicodetex/latex/quran/doc/quran-test2.pdf
+++ b/macros/unicodetex/latex/quran/doc/quran-test2.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/quran/tex/quran.sty b/macros/unicodetex/latex/quran/tex/quran.sty
index 4347d62a42..982c230cf6 100644
--- a/macros/unicodetex/latex/quran/tex/quran.sty
+++ b/macros/unicodetex/latex/quran/tex/quran.sty
@@ -1,6 +1,6 @@
%% This is file `quran.sty',
%%
-%% Copyright © 2015-2021
+%% Copyright © 2015-2023
%% Seiied-Mohammad-Javad Razavian <javadr@gmail.com>
%%
%% This work may be distributed and/or modified under the
@@ -20,8 +20,8 @@
%% to one who has devoted his life to Quran
%%
\NeedsTeXFormat{LaTeX2e}
-\def\qurandate{2021/02/02}
-\def\quranversion{1.81}
+\def\qurandate{2023/06/28}
+\def\quranversion{1.9}
\ProvidesPackage{quran}[\qurandate\space v\quranversion^^JAn easy way to typeset the whole or any parts of the holy Quran]
\RequirePackage{ifxetex}
\RequirePackage{biditools}
@@ -54,6 +54,7 @@
\newcommand*\qt@debug[1]{\typeout{debuging ==::>>> #1 <<<::==}}%
\def\qt@showitems#1{\footnote{#1}}%
\def\qt@no#1{ #1}%
+\def\qt@begin{\relax}\def\qt@end{\relax}%
%
\DeclareOptionX{nopar}{\let\qt@par\relax}
\DeclareOptionX{nonumber}{\def\qt@no##1{\relax}}
@@ -72,6 +73,8 @@
\IfSubStr{#1}{fr}{\qt@transfrtrue}{}%
}%
\DeclareOptionX{wordwise}{\qt@wordwisetrue}
+\newcommand*\SetOrnamentalBraces[2]{\def\qt@begin{#1}\def\qt@end{#2}}%
+\DeclareOptionX{ornbraces}{\SetOrnamentalBraces{﴿}{﴾}}%
\DeclareOptionX*{\PackageWarning{quran}{Unknown option ‘\CurrentOption’}}
\ProcessOptionsX\relax
%\ProcessOptions\relax
@@ -82,7 +85,7 @@
\let\qt@newcmd\bidi@newrobustcmd%
\fi
\bidi@newrobustcmd\surahname{%
- \@ifstar\@@surahname\@surahname
+ \@ifstar\@@surahname\@surahname
}%
%
\def\@@surahname[#1]{%
@@ -133,22 +136,22 @@
\hskip0.25em\relax%
}%
%
-\DeclareDocumentCommand{\qt@doqt}{ o o }{%
+\DeclareDocumentCommand{\qt@doqt}{ o o }{\qt@begin%
\addtocounter{qt@count}{1}%
\def\@qtexp{}%
\loop%
- \global\xdef\@qtexp{\@qtexp\csname qurantext@\roman{qt@count}\endcsname\ifnum\value{qt@count}=\qt@max\else\space\fi\qt@par}%
+ \global\xdef\@qtexp{\@qtexp\csname qurantext@\roman{qt@count}\endcsname\ifnum\value{qt@count}=\qt@max\else\space\fi}%
\ifnum\value{qt@count}<\qt@max\relax%
\addtocounter{qt@count}{1}%
\repeat%
\IfNoValueTF{#1}%
- {\@qtexp}%true
+ {\@qtexp\qt@end\qt@par}%true
{\qt@WordCount=0\relax\c@qt@start=\numexpr#1-1\relax%
\readlist*\qt@words{\@qtexp}%
\IfNoValueTF{#2}%
{\c@qt@end=\numexpr\qt@wordslen+1\relax}{\c@qt@end=\numexpr#2+1\relax}%
\foreachitem\qt@word\in\qt@words{%
- \ifnum\qt@wordcnt>\c@qt@start\ifnum\qt@wordcnt<\c@qt@end\qt@word\ifnum\qt@wordcnt=\numexpr\c@qt@end-1\relax\else\xspace\fi\fi\fi%
+ \ifnum\qt@wordcnt>\c@qt@start\ifnum\qt@wordcnt<\c@qt@end\qt@word\ifnum\qt@wordcnt=\numexpr\c@qt@end-1\qt@end\qt@par\relax\else\xspace\fi\fi\fi%
}%
\global\edef\qt@currentfont{\the\font}%
\qt@showitems{\qt@currentfont\showitems\qt@words}%
@@ -156,19 +159,19 @@
}%
%
\bidi@newrobustcmd\ChangeQtPar{%
- \ifx\qt@par\relax%
- \def\qt@par{\par}%
- \else%
- \let\qt@par\relax%
- \fi%
+ \ifx\qt@par\relax%
+ \def\qt@par{\par}%
+ \else%
+ \let\qt@par\relax%
+ \fi%
}%
%
\bidi@newrobustcmd\ToggleAyahNumber{%
- \expandafter\ifx\qt@no{0}\relax%
- \def\qt@no##1{ ##1}%
- \else%
- \def\qt@no##1{\relax}%
- \fi%
+ \expandafter\ifx\qt@no{0}\relax%
+ \def\qt@no##1{ ##1}%
+ \else%
+ \def\qt@no##1{\relax}%
+ \fi%
}%
\DeclareDocumentCommand{\qurantext}{ s O{\qt@default} o t{+} }{%
\IfBooleanTF{#4}{\def\qt@showitems##1{\footnote{##1}}}{\def\qt@showitems##1{\relax}}%
@@ -183,25 +186,25 @@
}%
%
\def\@qurantext[#1][#2]{%
- \expandafter\qt@minmax\expandafter{#1}%
- \setcounter{qt@count}{\qt@min}%
- \addtocounter{qt@count}{-1}%
- \IfNoValueTF{#2}{\qt@doqt}{%
- \IfSubStr{#2}{-}{\StrCut{#2}{-}\qt@@start\qt@@end\relax%
- \qt@doqt[\qt@@start][\qt@@end]%
- }%
- {\qt@doqt[#2]}%
+ \expandafter\qt@minmax\expandafter{#1}%
+ \setcounter{qt@count}{\qt@min}%
+ \addtocounter{qt@count}{-1}%
+ \IfNoValueTF{#2}{\qt@doqt}{%
+ \IfSubStr{#2}{-}{\StrCut{#2}{-}\qt@@start\qt@@end\relax%
+ \qt@doqt[\qt@@start][\qt@@end]%
+ }%
+ {\qt@doqt[#2]}%
}%
}%
%
\def\qt@get#1-#2;{\edef\qt@min{#1}\edef\qt@max{#2}}%
\def\qt@stripmax#1-{\edef\qt@max{#1}}%
\def\qt@minmax#1{%
- \qt@get#1-\relax;%
- \edef\qt@tmpa{\qt@max}%
- \edef\qt@relax{\relax}%
- \ifx\qt@tmpa\qt@relax\edef\qt@max{\qt@min}%
- \else\expandafter\qt@stripmax\qt@max\fi%
+ \qt@get#1-\relax;%
+ \edef\qt@tmpa{\qt@max}%
+ \edef\qt@relax{\relax}%
+ \ifx\qt@tmpa\qt@relax\edef\qt@max{\qt@min}%
+ \else\expandafter\qt@stripmax\qt@max\fi%
}%
%
\def\qt@getrange#1--#2;{\def\qt@min{#1}\def\qt@max{#2}}%
@@ -523,16 +526,16 @@
}%
%
\bidi@newrobustcmd\ToggleBasmalah{%
- \ifqt@basmalah\qt@basmalahfalse\else\qt@basmalahtrue\fi
- \ifx\basmalah\relax%
- \def\basmalah{بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ\qt@par\space}%
- \else%
- \let\basmalah\relax%
- \fi%
- \ifqt@translt\ToggleBasmalahlt\fi%
- \ifqt@transen\ToggleBasmalahen\fi%
- \ifqt@transde\ToggleBasmalahde\fi%
- \ifqt@transfa\ToggleBasmalahfa\fi%
+ \ifqt@basmalah\qt@basmalahfalse\else\qt@basmalahtrue\fi
+ \ifx\basmalah\relax%
+ \def\basmalah{بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ\qt@par\space}%
+ \else%
+ \let\basmalah\relax%
+ \fi%
+ \ifqt@translt\ToggleBasmalahlt\fi%
+ \ifqt@transen\ToggleBasmalahen\fi%
+ \ifqt@transde\ToggleBasmalahde\fi%
+ \ifqt@transfa\ToggleBasmalahfa\fi%
}%
\ifqt@uthmani%
\input{qurantext-uthmani.def}%