texlive[75018] Master/texmf-dist: quran (25apr25)

commits+karl at tug.org commits+karl at tug.org
Fri Apr 25 23:15:19 CEST 2025


Revision: 75018
          https://tug.org/svn/texlive?view=revision&revision=75018
Author:   karl
Date:     2025-04-25 23:15:19 +0200 (Fri, 25 Apr 2025)
Log Message:
-----------
quran (25apr25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/quran/README
    trunk/Master/texmf-dist/doc/latex/quran/quran-doc.pdf
    trunk/Master/texmf-dist/doc/latex/quran/quran-doc.tex
    trunk/Master/texmf-dist/doc/latex/quran/quran-test.pdf
    trunk/Master/texmf-dist/doc/latex/quran/quran-test1.pdf
    trunk/Master/texmf-dist/doc/latex/quran/quran-test1.tex
    trunk/Master/texmf-dist/doc/latex/quran/quran-test2.pdf
    trunk/Master/texmf-dist/tex/latex/quran/quran-transde.def
    trunk/Master/texmf-dist/tex/latex/quran/quran.sty

Modified: trunk/Master/texmf-dist/doc/latex/quran/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/quran/README	2025-04-25 21:14:22 UTC (rev 75017)
+++ trunk/Master/texmf-dist/doc/latex/quran/README	2025-04-25 21:15:19 UTC (rev 75018)
@@ -1,6 +1,6 @@
 _____________________
 The quran package
-v2.31
+v2.4
 
 The package is designed for typesetting the Holy Quran.
 It offers several macros for typesetting the entire text 
@@ -8,7 +8,7 @@
 
 For further details, please refer to the documentation.
 
-Release Date of the Current Version: 2025/03/31
+Release Date of the Current Version: 2025/04/25
 ___________________
 Seiied-Mohammad-Javad Razvian
 javadr at gmail.com

Modified: trunk/Master/texmf-dist/doc/latex/quran/quran-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/quran/quran-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/quran/quran-doc.tex	2025-04-25 21:14:22 UTC (rev 75017)
+++ trunk/Master/texmf-dist/doc/latex/quran/quran-doc.tex	2025-04-25 21:15:19 UTC (rev 75018)
@@ -34,7 +34,7 @@
 \usepackage[toc]{multitoc}
 \usepackage{manfnt}
 
-\usepackage[trans={lt, de, en, fa, fr}, wordwise, uthmani]{quran}
+\usepackage[trans={lt, de, en, fa, fr}, wordwise, uthmani, ornbraces]{quran}
 \newfontfamily\quran[Script=Arabic]{Scheherazade}
 \newfontfamily\amiri[Script=Arabic]{Amiri}
 \hypersetup{%
@@ -118,6 +118,9 @@
 \date{\qurandate,\space version \quranversion\footnote{Initial release: June 1st, 2015}}
 
 \parindent=0pt
+\SetAyahMarkerStyle%
+{\textcolor{green!35!black}﴿\textcolor{red!75!black}\bgroup}%
+{\egroup\textcolor{green!35!black}﴾}
 
 \begin{document}
 
@@ -407,7 +410,7 @@
     \centerline{\mxf{qurantext*}{\qurantext*}}
 
     \noindent In the following example, \cs{setqurantextdefault\{4128-4137\}} has changed the default to index $4128$ to $4137$.
-    \mgpar{setqurantextdefault\{m-n\}}
+    \mgpar{setqurantextdefault}
 
     \setqurantextdefault{4128-4137}
     \centerline{\mxf{qurantext*}{\qurantext*}}
@@ -579,18 +582,36 @@
     {\ToggleAyahNumber\quransurah*[89]}}
 
 \medskip
+Version 1.9 introduces the \xmgpar{ornbraces} package option, 
+enabling the addition of ornamental braces around Quranic text. 
+These ornamental elements can be fully customized to match specific stylistic preferences.
 
-Version 1.9 introduces a new option, \xmgpar{ornbraces},
-which allows users to add ornamental braces around the Quranic text,
-similar to those surrounding the Ayah numbers.
-To customize these ornamental braces, the \cs{SetOrnamentalBraces} macro can be employed.
-This command accepts two arguments: the opening brace and the closing brace.
-By utilizing the flexibility of the \cs{SetOrnamentalBraces} macro,
-users can tailor the appearance of the ornamental braces to suit their preferences.
+To define custom ornamental braces, use the following macro:
 
-\begin{declcs}{SetOrnamentalBraces}\marg{starting brace}\marg{ending brace}
+\begin{declcs}{SetOrnamentalBraces}\marg{opening brace}\marg{closing brace}
 \end{declcs}
 
+The \cs{SetOrnamentalBraces} macro accepts two mandatory arguments: 
+the opening brace, and the closing brace.
+This provides users with the flexibility to harmonize the visual presentation 
+of Quranic verses with other typographic elements in their document.
+
+Starting from version 2.4, two additional macros allow fine-tuned control over Ayah markers:
+\begin{declcs}{SetAyahMarkerStyle}\marg{begin marker}\marg{end marker}\\
+    \cs{ResetAyahMarkerStyle}
+    \end{declcs}
+
+\begin{itemize}
+    \item \cs{SetAyahMarkerStyle} sets the symbols or characters that enclose Ayah numbers.
+    \item \cs{ResetAyahMarkerStyle} restores the default Ayah marker style used by the package.
+\end{itemize}
+
+By default, Ayah markers are rendered using {\amiri\char"FD3F} and {\amiri\char"FD3E}.
+These correspond to traditional Arabic decorative glyphs used in Quranic typesetting.
+
+\centerline{\mxf{SetOrnamentalBraces\{[\}\{]\}\textbackslash{}SetAyahMarkerStyle\{(\}\{)\}\textbackslash{}quransurah*}
+{\SetOrnamentalBraces{[}{]}\SetAyahMarkerStyle{(}{)}\quransurah*}}
+
 The \xmgpar{wordwise} option enables the package to output specific portions of an ayah.
 For further details, please refer to Section~\ref{chunk}.
 
@@ -902,6 +923,23 @@
 \mxf{quransurah* «\{\textbackslash{}ToggleAyahNumber\textbackslash{}quransurah*\}» \textbackslash{}quransurah*}
 {\quransurah* »{\ToggleAyahNumber\quransurah*}« \quransurah*}
 
+
+    \subsection{Customizing the Ayah Marker Style}
+    The \cs{SetAyahMarkerStyle} macro allows you to customize the symbols 
+    or formatting that appear before and after each Ayah number.
+    The two arguments of the macro will appear immediately before and after of the Ayah number.
+
+    For example, to use ornamental braces around the number, you may write:
+
+    \begin{quote}
+        \begin{lstlisting}[style=BashInputStyle, escapechar={!}]
+\SetAyahMarkerStyle{!{\amiri﴿}!\textcolor{red}\bgroup}{\egroup!{\amiri﴾}!}
+        \end{lstlisting}
+    \end{quote}
+
+    This configuration will render the Ayah number enclosed in traditional Quranic markers.
+
+
     \subsection{Why Do I Get the ``\tt{! TeX capacity exceeded}'' Error?}
    \label{sec:texcapacity}
 
@@ -1189,44 +1227,7 @@
         \item Fixed the issue with dropping \cs{par} introduced in version 1.9.
     \end{Version}
 
-    \begin{Version}{2023/08/01 v2.2}
-        \item Added support for old Anglicized names of Quran surahs,
-        ensuring backward compatibility with previous versions of the package.
-    \end{Version}
-
-    \begin{Version}{2023/11/01}
-        \item \href{https://github.com/javadr/quran-id}{\xpackage{quran-id}}
-        package is released, adding three translations in Indonesian
-        as requested on \href{https://github.com/javadr/quran/issues/11}{this issue}.
-    \end{Version}
-
-    \begin{Version}{2023/11/04}
-        \item \href{https://github.com/javadr/quran-en}{\xpackage{quran-en}}
-        package is released, adding three translations in English
-        as requested on \href{https://github.com/javadr/quran/issues/7}{this issue}.
-    \end{Version}
-
-    \begin{Version}{2023/12/21}
-        \item \href{https://github.com/javadr/gedit-quran}{Quran Plugin} for \href{https://gedit-text-editor.org/}{gedit text editor} 
-            released to typeset Quranic Ayat, including full scripts and companion Quran package macros
-    \end{Version}
-
-    \begin{Version}{2024/09/05}
-        \item \href{https://github.com/javadr/quran-es}{\xpackage{quran-es}}
-        package is released, adding three translations in Spanish
-        as requested on \href{https://github.com/javadr/quran/issues/12}{this issue}.
-    \end{Version}
-
-    \begin{Version}{2024/09/07 v2.3}
-        \item Documentation update with the release of \href{https://github.com/javadr/quran-es}{\xpackage{quran-es}}.
-    \end{Version}
-
-    \begin{Version}{2025/03/31 v2.31}
-        \item New implementation of the \cs{qt at no} macro in quran.sty to optimize space usage in Quran text scripts.
-        \item In compliance with the new implementation, all other Quran packages have been updated accordingly.
-    \end{Version}
-
-    \begin{table}[!htbp]
+    \begin{table}[!htb]
         \ttfamily\small
         \begin{tabular}{|c|l|l||c|l|l|}
             \hline
@@ -1269,7 +1270,50 @@
         \end{table}
 
 
-    \newpage 
+    \begin{Version}{2023/08/01 v2.2}
+        \item Added support for old Anglicized names of Quran surahs,
+        ensuring backward compatibility with previous versions of the package.
+    \end{Version}
+
+    \begin{Version}{2023/11/01}
+        \item \href{https://github.com/javadr/quran-id}{\xpackage{quran-id}}
+        package is released, adding three translations in Indonesian
+        as requested on \href{https://github.com/javadr/quran/issues/11}{this issue}.
+    \end{Version}
+
+    \begin{Version}{2023/11/04}
+        \item \href{https://github.com/javadr/quran-en}{\xpackage{quran-en}}
+        package is released, adding three translations in English
+        as requested on \href{https://github.com/javadr/quran/issues/7}{this issue}.
+    \end{Version}
+
+    \begin{Version}{2023/12/21}
+        \item \href{https://github.com/javadr/gedit-quran}{Quran Plugin} for \href{https://gedit-text-editor.org/}{gedit text editor} 
+            released to typeset Quranic Ayat, including full scripts and companion Quran package macros
+    \end{Version}
+
+    \begin{Version}{2024/09/05}
+        \item \href{https://github.com/javadr/quran-es}{\xpackage{quran-es}}
+        package is released, adding three translations in Spanish
+        as requested on \href{https://github.com/javadr/quran/issues/12}{this issue}.
+    \end{Version}
+
+    \begin{Version}{2024/09/07 v2.3}
+        \item Documentation update with the release of \href{https://github.com/javadr/quran-es}{\xpackage{quran-es}}.
+    \end{Version}
+
+    \begin{Version}{2025/03/31 v2.31}
+        \item New implementation of the \cs{qt at no} macro in quran.sty to optimize space usage in Quran text scripts.
+        \item In compliance with the new implementation, all other Quran packages have been updated accordingly.
+    \end{Version}
+
+    \begin{Version}{2025/04/25 v2.4}
+        \item \cs{SetAyahMarkerStyle} allows users to customize the visual style of Ayah markers, including the symbols that surround the verse numbers.
+        \item \cs{ResetAyahMarkerStyle} restores the Ayah marker style to the package's default setting, using {\amiri\char"FD3F} and {\amiri\char"FD3E}.
+    \end{Version}
+
+
+    % \newpage 
     
     \def\cb{{\tiny$\bullet$\space}}
     \def\mrule{\leaders\vrule height 2.5pt depth -1.5pt \hfill}
@@ -1285,74 +1329,74 @@
         \multicolumn{3}{c}{}\\
         \caption{Brief History of the \xpackage{quran} Development}
         \endlastfoot
-        2015/06/01 & 0.1 &  \cb Initial release in Parsi\LaTeX, named \xpackage{qurantext} \par
+        2015/06/01 & 0.1 &  \cb Initial release in Parsi\LaTeX, named \xpackage{qurantext}. \par
                             \cb \cs{qurantext}         \\
-        2015/06/02 & 0.2 &  \cb Implementation of \cs{do at qt} in a non-recursive style  \\
+        2015/06/02 & 0.2 &  \cb Implementation of \cs{do at qt} in a non-recursive style.  \\
         2015/06/02 & 0.3 &  \cb Ayah's number has been appended to each verse.\\
-        2015/06/04 & 0.4 &  \cb \cs{surahname}  outputs the Arabic/Anglicized title of a surah\par
-                            \cb The package renamed to \xpackage{quran}\\
+        2015/06/04 & 0.4 &  \cb \cs{surahname}  outputs the Arabic/Anglicized title of a surah.\par
+                            \cb The 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} \\
-        2015/07/02 & 0.71 &  \cb Basmalah was followed by a \cs{par}\\
-        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
+        2015/07/02 & 0.71 &  \cb Basmalah was followed by a \cs{par}.\\
+        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 Initial release of the package in CTAN. \\
-        2015/07/10 & 0.91 & \cb ``Al-Ikhlaas'' as a default parameter for \cs{quransurah}  \\
-        2015/07/11 & 0.94 &   \cb \cs{ChangeAyahNumber} and\cs{ChangeBasmalah} \par
-                            \cb Resolved 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 \\
+        2015/07/10 & 0.91 & \cb ``Al-Ikhlaas'' as a default parameter for \cs{quransurah}.  \\
+        2015/07/11 & 0.94 &   \cb \cs{ChangeAyahNumber} and\cs{ChangeBasmalah}. \par
+                            \cb Resolved 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 Fixed a minor bug in \cs{quransurah*}\\
+                                \cs{ToggleBasmalah} and \cs{ToggleAyahNumber}.\par
+                                \cb Fixed a minor bug in \cs{quransurah*}.\\
         2016/04/21 & 1.1 &   \cb \cs{indexconvert} \\
-        2016/05/15 & 1.14 &  \cb Documentation updates \\
-        2016/10/05 & 1.2 &  \cb Added \xoption{uthmani} option supporting Uthmani script  \\
-        2016/11/07 & 1.21 &  \cb Fixed 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\\
-        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 \\
-        2016/08/22 & 1.261 &  \cb Documentation updates \\
-        2017/10/22 & 1.3 &  \cb Added support for transliteration 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 \\
-        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 \\
-        2018/11/29 & 1.42b &  \cb Fixed a typo in \tt{quran-transde.def}\\
+        2016/05/15 & 1.14 &  \cb Documentation updates. \\
+        2016/10/05 & 1.2 &  \cb Added \xoption{uthmani} option supporting Uthmani script.  \\
+        2016/11/07 & 1.21 &  \cb Fixed 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.\\
+        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. \\
+        2016/08/22 & 1.261 &  \cb Documentation updates. \\
+        2017/10/22 & 1.3 &  \cb Added support for transliteration 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. \\
+        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. \\
+        2018/11/29 & 1.42b &  \cb Fixed a typo in \tt{quran-transde.def}.\\
         2018/12/01 & \multicolumn{2}{c|}{ \null \mrule {\space}Initial release of the
         \href{https://github.com/javadr/quran-de}{\xpackage{quran-de}} package \mrule \space\null}\\
-        2018/12/31 & 1.5 &  \cb Bug fix in \cs{ToggleBasmalah} and \cs{quransurah}  \\
+        2018/12/31 & 1.5 &  \cb Bug fix in \cs{ToggleBasmalah} and \cs{quransurah}.  \\
         2019/05/03 & \multicolumn{2}{c|}{ \null \mrule {\space}Initial release of the
             \href{https://github.com/javadr/quran-ur}{\xpackage{quran-ur}} package \mrule \space\null}\\
-        2019/05/04 & 1.51 &  \cb Fixed 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\\
-        2020/03/09 & 1.61 &  \cb Minor update in \cs{quranayah} and \cs{qurantext} \\
-        2020/03/12 & 1.62 &  \cb License updated to LPPL Version 1.3c \\
-        2020/03/14 & 1.63 &  \cb Removed pause marks with \meta{chunk range} optional parameter\\
+        2019/05/04 & 1.51 &  \cb Fixed 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.\\
+        2020/03/09 & 1.61 &  \cb Minor update in \cs{quranayah} and \cs{qurantext}. \\
+        2020/03/12 & 1.62 &  \cb License updated to LPPL Version 1.3c. \\
+        2020/03/14 & 1.63 &  \cb Removed 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{trans} option with ‘\xoption{fr}’ value.\\
         2020/06/12 & 1.7a &  \cb CTAN upload correction. \\
-        2020/10/14 & 1.8 &  \cb Renamed `\xoption{uthmani}' to `\xoption{uthmani-min}' \par
+        2020/10/14 & 1.8 &  \cb Renamed `\xoption{uthmani}' to `\xoption{uthmani-min}'. \par
                             \cb `\xoption{uthmani}' now typesets text of the Holy Quran with more diacritical marks.\\
         2021/02/01 & \multicolumn{2}{c|}{ \null \mrule {\space}Initial release of the
             \href{https://github.com/javadr/quran-bn}{\xpackage{quran-bn}} package \mrule \space\null}\\
-        2021/02/02 & 1.81 &  \cb  Documentation updates \\
-        2023/06/28 & 1.9 &  \cb  Added `\xoption{ornbraces}' option \par\cb \cs{SetOrnamentalBraces} to customize the ornamental braces. \\
+        2021/02/02 & 1.81 &  \cb  Documentation updates. \\
+        2023/06/28 & 1.9 &  \cb  Added `\xoption{ornbraces}' option. \par\cb \cs{SetOrnamentalBraces} to customize the ornamental braces. \\
         2023/07/10 & 2.0 &  \cb  Quran text update in compliance with tanzil version 1.1. \\
-        2023/07/27 & 2.1 &  \cb  Revised Anglicized names of Quran surahs \\
-        2023/08/01 & 2.2 &  \cb  Added support for old Anglicized names of Quran surahs \\
+        2023/07/27 & 2.1 &  \cb  Revised Anglicized names of Quran surahs. \\
+        2023/08/01 & 2.2 &  \cb  Added support for old Anglicized names of Quran surahs. \\
         2023/11/01 & \multicolumn{2}{c|}{ \null \mrule {\space}Initial release of the
             \href{https://github.com/javadr/quran-id}{\xpackage{quran-id}} package \mrule \space\null}\\
         2023/11/04 & \multicolumn{2}{c|}{ \null \mrule {\space}Initial release of the
@@ -1361,8 +1405,10 @@
                         for \href{https://gedit-text-editor.org/}{gedit Text Editor} \mrule \space\null}\\
         2024/09/05 & \multicolumn{2}{c|}{ \null \mrule {\space}Initial release of the
             \href{https://github.com/javadr/quran-es}{\xpackage{quran-es}} package \mrule \space\null}\\
-        2024/09/07 & 2.3 &  \cb  Documentation retouching \\
-        2025/03/31 & 2.31 &  \cb New implementation of the \cs{qt at no} macro\\
+        2024/09/07 & 2.3 &  \cb  Documentation retouching. \\
+        2025/03/31 & 2.31 &  \cb New implementation of the \cs{qt at no} macro.\\
+        2025/04/25 & 2.4 &  \cb \cs{SetAyahMarkerStyle} macro to customize Ayah number style.\par
+                            \cb \cs{ResetAyahMarkerStyle} macro to reset to default behavior.\\
         \bottomrule
     \end{longtable}
     \end{small}

Modified: trunk/Master/texmf-dist/doc/latex/quran/quran-test.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/quran/quran-test1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/quran/quran-test1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/quran/quran-test1.tex	2025-04-25 21:14:22 UTC (rev 75017)
+++ trunk/Master/texmf-dist/doc/latex/quran/quran-test1.tex	2025-04-25 21:15:19 UTC (rev 75018)
@@ -1,5 +1,6 @@
 \documentclass[12pt]{article}
 
+\usepackage{xcolor}
 %%% for typesetting arabic text
 \usepackage{polyglossia}
 \setotherlanguage{arabic}
@@ -13,24 +14,41 @@
 
 \parindent=0pt
 \pagestyle{empty}
+
 \begin{document}
 \setRTL
 
 \section{\LRE{Getting a Portion of an Ayah/Ayat}}
+
 \textarabic{\quranayah[92][1-21][22-32]+}
 \textarabic{\quranayah[92][1-21][73]}
 
+
 \section{\LRE{Changing the Ornamental Braces}}
 
 \SetOrnamentalBraces{[[}{]]}
 \textarabic{\quranayah*[2][286][5-24]+}
 
+\ToggleAyahNumber
+
+
 \section{\LRE{Toggling the Effect of Ayah Number}}
-\ToggleAyahNumber
+
 \textarabic{\qurantext*[1-7][28]+}
 
+
+\section{\LRE{Customizing the Ayah Number Style}}
+
+\SetAyahMarkerStyle{(\textcolor{red}}{)}
+\textarabic{\quranayah*[1][1-5]}
+\ResetAyahMarkerStyle
+\textarabic{\quranayah*[1][6-7]}
+
+\ToggleBasmalah
+
+
 \section{\LRE{Toggling the Effect of Basmalah}}
-\ToggleBasmalah
+
 \textarabic{\quransurah*[110-114]}
 
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex/quran/quran-test2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/quran/quran-transde.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/quran/quran-transde.def	2025-04-25 21:14:22 UTC (rev 75017)
+++ trunk/Master/texmf-dist/tex/latex/quran/quran-transde.def	2025-04-25 21:15:19 UTC (rev 75018)
@@ -31,108 +31,108 @@
   \fi%
 }%
 \def\Basmalahde{%
-        \begingroup%
-        \let\par\relax%
-        \def\qt at no##1{\relax}%
-        \quranayahde[1][1][1]%
-        \endgroup%
+  \begingroup%
+  \let\par\relax%
+  \def\qt at no##1{\relax}%
+  \quranayahde[1][1][1]%
+  \endgroup%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand\qt at dode{ o o }{%
+  \addtocounter{qt at count}{1}%
+  \def\@qtexp{}%
+  \loop%
+    \global\xdef\@qtexp{\@qtexp\csname qurantrans at de@\roman{qt at count}\endcsname\ifnum\value{qt at count}=\qt at max\else\space\fi%
+    \ifnum\value{qt at count}<\qt at max\relax\qt at par\fi}%
+    \ifnum\value{qt at count}<\qt at max\relax%
     \addtocounter{qt at count}{1}%
-    \def\@qtexp{}%
-    \loop%
-        \global\xdef\@qtexp{\@qtexp\csname qurantrans at de@\roman{qt at count}\endcsname\ifnum\value{qt at count}=\qt at max\else\space\fi%
-        \ifnum\value{qt at count}<\qt at max\relax\qt at par\fi}%
-        \ifnum\value{qt at count}<\qt at max\relax%
-        \addtocounter{qt at count}{1}%
-    \repeat%
-    \IfNoValueTF{#1}%
-    {\@qtexp\qt at par}%true
-    {\qt at WordCount=0\relax\c at qt@start=\numexpr#1-1\relax%
-    \readlist*\qt at words{\@qtexp}%
-        \IfNoValueTF{#2}%
-        {\c at qt@end=\numexpr\qt at wordslen+1\relax}{\c at qt@end=\numexpr#2+1\relax}%
-        \foreachitem\qt at word\in\qt at words{%
-            \ifnum\qt at wordcnt>\c at qt@start\ifnum\qt at wordcnt<\c at qt@end\qt at word\ifnum\qt at wordcnt=\numexpr\c at qt@end-1\relax\else\xspace\fi\fi\fi%
-        }%
-        \qt at showitems{\ifdefined\arabicfont\arabicfont\fi\showitems\qt at words}%
-    \qt at par}%false
+  \repeat%
+  \IfNoValueTF{#1}%
+  {\@qtexp\qt at par}%true
+  {\qt at WordCount=0\relax\c at qt@start=\numexpr#1-1\relax%
+  \readlist*\qt at words{\@qtexp}%
+    \IfNoValueTF{#2}%
+    {\c at qt@end=\numexpr\qt at wordslen+1\relax}{\c at qt@end=\numexpr#2+1\relax}%
+    \foreachitem\qt at word\in\qt at words{%
+      \ifnum\qt at wordcnt>\c at qt@start\ifnum\qt at wordcnt<\c at qt@end\qt at word\ifnum\qt at wordcnt=\numexpr\c at qt@end-1\relax\else\xspace\fi\fi\fi%
+    }%
+    \qt at showitems{\ifdefined\arabicfont\arabicfont\fi\showitems\qt at words}%
+  \qt at par}%false
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\qurantextde}{ s O{\qt at default} o t{+} }{%
-    \IfBooleanTF{#4}{\def\qt at showitems##1{\footnote{##1}}}{\def\qt at showitems##1{\relax}}%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\IfBooleanTF{#4}{\qurantext*[#2][#3]+}{\qurantext*[#2][#3]}}%
-    {\IfBooleanTF{#4}{\qurantext[#2][#3]+}{\qurantext[#2][#3]}}%
-    \let\qt at doqt\qt at doqt@orig%
-    \def\qt at showitems##1{\relax}%
+  \IfBooleanTF{#4}{\def\qt at showitems##1{\footnote{##1}}}{\def\qt at showitems##1{\relax}}%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\IfBooleanTF{#4}{\qurantext*[#2][#3]+}{\qurantext*[#2][#3]}}%
+  {\IfBooleanTF{#4}{\qurantext[#2][#3]+}{\qurantext[#2][#3]}}%
+  \let\qt at doqt\qt at doqt@orig%
+  \def\qt at showitems##1{\relax}%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand\quransurahde{ s O{\qt at surah@default} }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quransurah*[#2]}%
-    {\quransurah[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quransurah*[#2]}%
+  {\quransurah[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranayahde}{ s o o o t{+} }{%
-    \let\qt at doqt\qt at dode%
-    \let\ToggleBasmalah\ToggleBasmalahde%
-    \IfBooleanTF{#1}%
-    {\IfBooleanTF{#5}{\quranayah*[#2][#3][#4]+}{\quranayah*[#2][#3][#4]}}%
-    {\IfBooleanTF{#5}{\quranayah[#2][#3][#4]+}{\quranayah[#2][#3][#4]}}%
-    \let\qt at doqt\qt at doqt@orig%
-    \let\ToggleBasmalah\ToggleBasmalah at orig%
+  \let\qt at doqt\qt at dode%
+  \let\ToggleBasmalah\ToggleBasmalahde%
+  \IfBooleanTF{#1}%
+  {\IfBooleanTF{#5}{\quranayah*[#2][#3][#4]+}{\quranayah*[#2][#3][#4]}}%
+  {\IfBooleanTF{#5}{\quranayah[#2][#3][#4]+}{\quranayah[#2][#3][#4]}}%
+  \let\qt at doqt\qt at doqt@orig%
+  \let\ToggleBasmalah\ToggleBasmalah at orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranjuzde}{ s o }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quranjuz*[#2]}%
-    {\quranjuz[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quranjuz*[#2]}%
+  {\quranjuz[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranpagede}{ s o }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quranpage*[#2]}%
-    {\quranpage[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quranpage*[#2]}%
+  {\quranpage[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranquarterde}{ s o }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quranquarter*[#2]}%
-    {\quranquarter[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quranquarter*[#2]}%
+  {\quranquarter[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranrukude}{ s o }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quranruku*[#2]}%
-    {\quranruku[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quranruku*[#2]}%
+  {\quranruku[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranhizbde}{ s o }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quranhizb*[#2]}%
-    {\quranhizb[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quranhizb*[#2]}%
+  {\quranhizb[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%
 \DeclareDocumentCommand{\quranmanzilde}{ s o }{%
-    \let\qt at doqt\qt at dode%
-    \IfBooleanTF{#1}%
-    {\quranmanzil*[#2]}%
-    {\quranmanzil[#2]}%
-    \let\qt at doqt\qt at doqt@orig%
+  \let\qt at doqt\qt at dode%
+  \IfBooleanTF{#1}%
+  {\quranmanzil*[#2]}%
+  {\quranmanzil[#2]}%
+  \let\qt at doqt\qt at doqt@orig%
 }%
 %%%%%%%%%%%%%%%%%%%%%%%%%%

Modified: trunk/Master/texmf-dist/tex/latex/quran/quran.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/quran/quran.sty	2025-04-25 21:14:22 UTC (rev 75017)
+++ trunk/Master/texmf-dist/tex/latex/quran/quran.sty	2025-04-25 21:15:19 UTC (rev 75018)
@@ -20,8 +20,8 @@
 %% To one who has devoted his life to Quran
 %%
 \NeedsTeXFormat{LaTeX2e}
-\def\qurandate{2025/03/31}
-\def\quranversion{2.31}
+\def\qurandate{2025/04/25}
+\def\quranversion{2.4}
 \ProvidesPackage{quran}[\qurandate\space v\quranversion^^JAn easy way to typeset the whole or any parts of the holy Quran]
 \RequirePackage{ifxetex}
 \RequirePackage{biditools}
@@ -42,21 +42,23 @@
 \newif\ifqt at transde%
 \newif\ifqt at transfa%
 \newif\ifqt at transfr%
-\newif\ifqt at wordwise
+\newif\ifqt at wordwise%
 \def\qt at par{\par}%
 \def\basmalah{بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ\qt at par\space}%
 \def\Basmalah{%
-        \begingroup%
-        \let\par\relax%
-        \def\qt at no##1{\relax}%
-        \quranayah[1][1][1]%
-        \endgroup%
+  \begingroup%
+    \let\par\relax%
+    \def\qt at no##1{\relax}%
+    \quranayah[1][1][1]%
+  \endgroup%
 }%
 \newcommand*\qt at debug[1]{\typeout{debuging ==::>>> #1 <<<::==}}%
 \def\qt at showitems#1{\footnote{#1}}%
 % \def\qt at no#1{ #1}%
-\def\qt at no#1{ \ifqt at qurantext﴿#1﴾\else(#1)\fi}%
+\def\qt at no#1{ \ifqt at qurantext\qt at no@ob at begin#1\qt at no@ob at end\else(#1)\fi}%
 \def\qt at ob@begin{\relax}\def\qt at ob@end{\relax}%
+\def\qt at no@ob at begin{﴿}%
+\def\qt at no@ob at end{﴾}%
 %
 \DeclareOptionX{nopar}{\let\qt at par\relax}
 \DeclareOptionX{nonumber}{\def\qt at no##1{\relax}}
@@ -68,26 +70,29 @@
 \DeclareOptionX{transfa}{\qt at transfatrue}
 \DeclareOptionX{transfr}{\qt at transfrtrue}
 \DeclareOptionX{trans}[lt]{%
-    \IfSubStr{#1}{lt}{\qt at translttrue}{}%
-    \IfSubStr{#1}{de}{\qt at transdetrue}{}%
-    \IfSubStr{#1}{en}{\qt at transentrue}{}%
-    \IfSubStr{#1}{fa}{\qt at transfatrue}{}%
-    \IfSubStr{#1}{fr}{\qt at transfrtrue}{}%
+  \IfSubStr{#1}{lt}{\qt at translttrue}{}%
+  \IfSubStr{#1}{de}{\qt at transdetrue}{}%
+  \IfSubStr{#1}{en}{\qt at transentrue}{}%
+  \IfSubStr{#1}{fa}{\qt at transfatrue}{}%
+  \IfSubStr{#1}{fr}{\qt at transfrtrue}{}%
 }%
-\DeclareOptionX{wordwise}{\qt at wordwisetrue}
-\newcommand*\SetOrnamentalBraces[2]{\def\qt at ob@begin{#1}\def\qt at ob@end{#2}}%
-\DeclareOptionX{ornbraces}{\SetOrnamentalBraces{﴿}{﴾}}%
+\DeclareOptionX{wordwise}{\qt at wordwisetrue}%
+\DeclareOptionX{ornbraces}{%
+  \newcommand*\SetAyahMarkerStyle[2]{\def\qt at no@ob at begin{##1}\def\qt at no@ob at end{##2}}%
+  \newcommand*\ResetAyahMarkerStyle{\def\qt at no@ob at begin{﴿}\def\qt at no@ob at end{﴾}}%
+  \newcommand*\SetOrnamentalBraces[2]{\def\qt at ob@begin{##1}\def\qt at ob@end{##2}}%
+}%
 \DeclareOptionX*{\PackageWarning{quran}{Unknown option ‘\CurrentOption’}}
 \ProcessOptionsX\relax
 %\ProcessOptions\relax
 %
 \ifqt at wordwise
-    \let\qt at newcmd\newcommand%
+  \let\qt at newcmd\newcommand%
 \else
-    \let\qt at newcmd\bidi at newrobustcmd%
+  \let\qt at newcmd\bidi at newrobustcmd%
 \fi
 \bidi at newrobustcmd\surahname{%
-    \@ifstar\@@surahname\@surahname
+  \@ifstar\@@surahname\@surahname
 }%
 % surah name taken from http://tanzil.net/res/text/metadata/quran-data.xml
 \def\@@surahname[#1]{%
@@ -99,33 +104,33 @@
 }
 %
 %% makes some macros for surah name to convert them to their original number in surah list.
-    \newcount\qt at tempcount \qt at tempcount=1%
-    \loop%
-        % support for Anglicized name pior to ver 2.1
-        \edef\qt at tmp@old{\lowercase{\edef\noexpand\qt at surah@name at old{\@surahname at old[\qt at tempcount]}}}%
-        \qt at tmp@old%
-        \expandafter\xdef\csname qt at surah@\qt at surah@name at old\endcsname{\the\qt at tempcount}%
-        % new Anglicized name of Quran surahs
-        \edef\qt at tmp{\lowercase{\edef\noexpand\qt at surah@name{\@surahname[\qt at tempcount]}}}%
-        \qt at tmp%
-        \expandafter\xdef\csname qt at surah@\qt at surah@name\endcsname{\the\qt at tempcount}%
-    \ifnum\qt at tempcount<114%
-        \advance\qt at tempcount by 1\relax%
-    \repeat%
+\newcount\qt at tempcount \qt at tempcount=1%
+\loop%
+  % support for Anglicized name pior to ver 2.1
+  \edef\qt at tmp@old{\lowercase{\edef\noexpand\qt at surah@name at old{\@surahname at old[\qt at tempcount]}}}%
+  \qt at tmp@old%
+  \expandafter\xdef\csname qt at surah@\qt at surah@name at old\endcsname{\the\qt at tempcount}%
+  % new Anglicized name of Quran surahs
+  \edef\qt at tmp{\lowercase{\edef\noexpand\qt at surah@name{\@surahname[\qt at tempcount]}}}%
+  \qt at tmp%
+  \expandafter\xdef\csname qt at surah@\qt at surah@name\endcsname{\the\qt at tempcount}%
+\ifnum\qt at tempcount<114%
+  \advance\qt at tempcount by 1\relax%
+\repeat%
 %
 \newcount\surahcount%
 \newcount\ayahcount%
 %
 \def\indexconvert#1#2#3{%
-    \surahcount=1%
-    \ayahcount=#1%
-    \loop
-    \ifnum\ayahcount>\qt at getversenum\surahcount%
-        \advance\ayahcount by -\qt at getversenum\surahcount\relax%
-        \advance\surahcount by 1\relax%
-    \repeat
-    \ifdefined#2\else\newcount#2\fi#2=\surahcount%
-    \ifdefined#3\else\newcount#3\fi#3=\ayahcount%
+  \surahcount=1%
+  \ayahcount=#1%
+  \loop
+  \ifnum\ayahcount>\qt at getversenum\surahcount%
+    \advance\ayahcount by -\qt at getversenum\surahcount\relax%
+    \advance\surahcount by 1\relax%
+  \repeat
+  \ifdefined#2\else\newcount#2\fi#2=\surahcount%
+  \ifdefined#3\else\newcount#3\fi#3=\ayahcount%
 }%
 %
 \bidi at newrobustcmd\qt at default{1-7}% Surah Al-hamd
@@ -137,88 +142,88 @@
 \newcommand*{\qt at PrintWordCount}{\leavevmode\raise-.6\baselineskip%
 \clap{\tiny\global\advance\qt at WordCount\@ne{\the\qt at WordCount}}}%
 \def\showitemsmacro#1{%
-    \begingroup\fboxsep=0.25pt \fboxrule=0.5pt%
-    {\ifxetex\beginL\special{color push rgb 1 0 0}\ttfamily\fi%
-    \ifluatex\addfontfeature{Color=FF0000BB}\fi%
-    \qt at PrintWordCount%
-    \ifxetex\special{color pop}\endL\fi}%
-    \mbox{\strut#1}\endgroup%
-    \hskip0.25em\relax%
+  \begingroup\fboxsep=0.25pt \fboxrule=0.5pt%
+  {\ifxetex\beginL\special{color push rgb 1 0 0}\ttfamily\fi%
+  \ifluatex\addfontfeature{Color=FF0000BB}\fi%
+  \qt at PrintWordCount%
+  \ifxetex\special{color pop}\endL\fi}%
+  \mbox{\strut#1}\endgroup%
+  \hskip0.25em\relax%
 }%
 %
 \DeclareDocumentCommand{\qt at doqt}{ o o }{\qt at qurantexttrue\qt at ob@begin%
+  \addtocounter{qt at count}{1}%
+  \def\@qtexp{}%
+  \loop%
+    \global\xdef\@qtexp{\@qtexp\csname qurantext@\roman{qt at count}\endcsname\ifnum\value{qt at count}=\qt at max\else\space\fi%
+    \ifnum\value{qt at count}<\qt at max\relax\qt at par\fi}%
+    \ifnum\value{qt at count}<\qt at max\relax%
     \addtocounter{qt at count}{1}%
-    \def\@qtexp{}%
-    \loop%
-        \global\xdef\@qtexp{\@qtexp\csname qurantext@\roman{qt at count}\endcsname\ifnum\value{qt at count}=\qt at max\else\space\fi%
-        \ifnum\value{qt at count}<\qt at max\relax\qt at par\fi}%
-        \ifnum\value{qt at count}<\qt at max\relax%
-        \addtocounter{qt at count}{1}%
-    \repeat%
-    \IfNoValueTF{#1}%
-    {\@qtexp\qt at ob@end\qt at par}%true
-    {\qt at WordCount=0\relax\c at qt@start=\numexpr#1-1\relax%
-    \readlist*\qt at words{\@qtexp}%
-        \IfNoValueTF{#2}%
-        {\c at qt@end=\numexpr\qt at wordslen+1\relax}{\c at qt@end=\numexpr#2+1\relax}%
-        \foreachitem\qt at word\in\qt at words{%
-            \ifnum\qt at wordcnt>\c at qt@start\ifnum\qt at wordcnt<\c at qt@end\qt at word\ifnum\qt at wordcnt=\numexpr\c at qt@end-1\qt at ob@end\relax\else\xspace\fi\fi\fi%
-        }%
-        \global\edef\qt at currentfont{\the\font}%
-        \qt at showitems{\qt at currentfont\showitems\qt at words}%
-    \qt at par}%false
-    \qt at qurantextfalse%
+  \repeat%
+  \IfNoValueTF{#1}%
+  {\@qtexp\qt at ob@end\qt at par}%true
+  {\qt at WordCount=0\relax\c at qt@start=\numexpr#1-1\relax%
+  \readlist*\qt at words{\@qtexp}%
+    \IfNoValueTF{#2}%
+    {\c at qt@end=\numexpr\qt at wordslen+1\relax}{\c at qt@end=\numexpr#2+1\relax}%
+    \foreachitem\qt at word\in\qt at words{%
+      \ifnum\qt at wordcnt>\c at qt@start\ifnum\qt at wordcnt<\c at qt@end\qt at word\ifnum\qt at wordcnt=\numexpr\c at qt@end-1\qt at ob@end\relax\else\xspace\fi\fi\fi%
+    }%
+    \global\edef\qt at currentfont{\the\font}%
+    \qt at showitems{\qt at currentfont\showitems\qt at words}%
+  \qt at par}%false
+  \qt at qurantextfalse%
 }%
 %
 \bidi at newrobustcmd\ChangeQtPar{%
-    \ifx\qt at par\relax%
-        \def\qt at par{\par}%
-    \else%
-        \let\qt at par\relax%
-    \fi%
+  \ifx\qt at par\relax%
+    \def\qt at par{\par}%
+  \else%
+    \let\qt at par\relax%
+  \fi%
 }%
 %
 \bidi at newrobustcmd\ToggleAyahNumber{%
-    \edef\qt at no@string{\detokenize\expandafter{\qt at no{0}}}% Fully expand \qt at no{0} and convert to a string
-    \edef\qt at relax@string{\detokenize{\relax}}% Store "relax" as a string
-    \ifx\qt at no@string\qt at relax@string%
-        \def\qt at no##1{ \ifqt at qurantext﴿##1﴾\else(##1)\fi}%
-    \else%
-        \def\qt at no##1{\relax}%
-    \fi%
+  \edef\qt at no@string{\detokenize\expandafter{\qt at no{0}}}% Fully expand \qt at no{0} and convert to a string
+  \edef\qt at relax@string{\detokenize{\relax}}% Store "relax" as a string
+  \ifx\qt at no@string\qt at relax@string%
+    \def\qt at no##1{ \ifqt at qurantext\qt at no@ob at begin##1\qt at no@ob at end\else(##1)\fi}%
+  \else%
+    \def\qt at no##1{\relax}%
+  \fi%
 }%
 \DeclareDocumentCommand{\qurantext}{ s O{\qt at default} o t{+} }{%
-    \IfBooleanTF{#4}{\def\qt at showitems##1{\footnote{##1}}}{\def\qt at showitems##1{\relax}}%
-    \IfBooleanTF{#1}{%
-        \begingroup%
-        \ChangeQtPar%
-        \@qurantext[#2][#3]%
-        \endgroup%
-    }%
-    {\@qurantext[#2][#3]}%
-    \def\qt at showitems##1{\relax}%
+  \IfBooleanTF{#4}{\def\qt at showitems##1{\footnote{##1}}}{\def\qt at showitems##1{\relax}}%
+  \IfBooleanTF{#1}{%
+    \begingroup%
+    \ChangeQtPar%
+    \@qurantext[#2][#3]%
+    \endgroup%
+  }%
+  {\@qurantext[#2][#3]}%
+  \def\qt at showitems##1{\relax}%
 }%
 %
 \def\@qurantext[#1][#2]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \setcounter{qt at count}{\qt at min}%
-    \addtocounter{qt at count}{-1}%
-    \IfNoValueTF{#2}{\qt at doqt}{%
-        \IfSubStr{#2}{-}{\StrCut{#2}{-}\qt@@start\qt@@end\relax%
-        \qt at doqt[\qt@@start][\qt@@end]%
-        }%
-        {\qt at doqt[#2]}%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \setcounter{qt at count}{\qt at min}%
+  \addtocounter{qt at count}{-1}%
+  \IfNoValueTF{#2}{\qt at doqt}{%
+    \IfSubStr{#2}{-}{\StrCut{#2}{-}\qt@@start\qt@@end\relax%
+    \qt at doqt[\qt@@start][\qt@@end]%
     }%
+    {\qt at doqt[#2]}%
+  }%
 }%
 %
 \def\qt at get#1-#2;{\edef\qt at min{#1}\edef\qt at max{#2}}%
 \def\qt at stripmax#1-{\edef\qt at max{#1}}%
 \def\qt at minmax#1{%
-    \qt at get#1-\relax;%
-    \edef\qt at tmpa{\qt at max}%
-    \edef\qt at relax{\relax}%
-    \ifx\qt at tmpa\qt at relax\edef\qt at max{\qt at min}%
-    \else\expandafter\qt at stripmax\qt at max\fi%
+  \qt at get#1-\relax;%
+  \edef\qt at tmpa{\qt at max}%
+  \edef\qt at relax{\relax}%
+  \ifx\qt at tmpa\qt at relax\edef\qt at max{\qt at min}%
+  \else\expandafter\qt at stripmax\qt at max\fi%
 }%
 %
 \def\qt at getrange#1--#2;{\def\qt at min{#1}\def\qt at max{#2}}%
@@ -232,290 +237,291 @@
 \bidi at renewrobustcmd{\qt at surah@default}{#1}}%
 %
 \DeclareDocumentCommand\quransurah{ s O{\qt at surah@default} }{%
-    \lowercase{\edef\qt at arglc{#2}}%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quransurah[\qt at arglc]%
-        \endgroup%
-    }%
-    {\@quransurah[\qt at arglc]}%
+  \lowercase{\edef\qt at arglc{#2}}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quransurah[\qt at arglc]%
+    \endgroup%
+  }%
+  {\@quransurah[\qt at arglc]}%
 }%
 %
 \bidi at newrobustcmd\@quransurah[1][\qt at surah@default]{%
-    \setcounter{qt at i}{1}%
-    \setcounter{qt at start}{1}%
+  \setcounter{qt at i}{1}%
+  \setcounter{qt at start}{1}%
 %
-    \IfSubStr{#1}{--}{% case of surahname range, e.g. An-Nasr--An-Nas
-        \expandafter\qt at getrange#1;%
-        \edef\qt at min{\csname qt at surah@\qt at min\endcsname}%
-        \edef\qt at max{\csname qt at surah@\qt at max\endcsname}%
-        \setcounter{qt at end}{\qt at getversenum\qt at max}%
-    }%
-    {%
-        \expandafter\qt at minmax\expandafter{#1}%
-        \if!\ifnum9<1\qt at min!\fi% \qt at min is a number.
-            \ifx\qt at min\qt at max%
-                \setcounter{qt at end}{\qt at getversenum{\qt at min}}%
-            \else%
-                \setcounter{qt at end}{\qt at getversenum{\qt at max}}%
-            \fi%
-        \else% in this case the argument is tranliteration of surahname
-                \edef\qt at min{\csname qt at surah@#1\endcsname}%
-                \edef\qt at max{\qt at min}%
-                \setcounter{qt at end}{\qt at getversenum\qt at min}%
-        \fi%
-    }%
+  \IfSubStr{#1}{--}{% case of surahname range, e.g. An-Nasr--An-Nas
+    \expandafter\qt at getrange#1;%
+    \edef\qt at min{\csname qt at surah@\qt at min\endcsname}%
+    \edef\qt at max{\csname qt at surah@\qt at max\endcsname}%
+    \setcounter{qt at end}{\qt at getversenum\qt at max}%
+  }%
+  {%
+    \expandafter\qt at minmax\expandafter{#1}%
+    \if!\ifnum9<1\qt at min!\fi% \qt at min is a number.
+      \ifx\qt at min\qt at max%
+        \setcounter{qt at end}{\qt at getversenum{\qt at min}}%
+      \else%
+        \setcounter{qt at end}{\qt at getversenum{\qt at max}}%
+      \fi%
+    \else% in this case the argument is tranliteration of surahname
+      \edef\qt at min{\csname qt at surah@#1\endcsname}%
+      \edef\qt at max{\qt at min}%
+      \setcounter{qt at end}{\qt at getversenum\qt at min}%
+    \fi%
+  }%
+  \loop%
+  \ifnum\value{qt at i}<\qt at min%
+    \addtocounter{qt at start}{\qt at getversenum{\value{qt at i}}}%
+    \addtocounter{qt at i}{1}%
+  \repeat%
+%
+  \ifx\qt at min\qt at max\relax%
+  \else%
     \loop%
-    \ifnum\value{qt at i}<\qt at min%
-        \addtocounter{qt at start}{\qt at getversenum{\value{qt at i}}}%
-        \addtocounter{qt at i}{1}%
+    \ifnum\value{qt at i}<\qt at max%
+      \addtocounter{qt at end}{\qt at getversenum{\value{qt at i}}}%
+      \addtocounter{qt at i}{1}%
     \repeat%
-%
-    \ifx\qt at min\qt at max\relax%
-    \else%
-        \loop%
-        \ifnum\value{qt at i}<\qt at max%
-            \addtocounter{qt at end}{\qt at getversenum{\value{qt at i}}}%
-            \addtocounter{qt at i}{1}%
-        \repeat%
-    \fi%
-    \addtocounter{qt at end}{\value{qt at start}}%
-    \addtocounter{qt at end}{-1}%
-    \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
+  \fi%
+  \addtocounter{qt at end}{\value{qt at start}}%
+  \addtocounter{qt at end}{-1}%
+  \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
 }%
 %
 \DeclareDocumentCommand{\quranayah}{ s o o o t{+} }{%
 %    \IfBooleanTF{#5}{\let\showitems\showitems at Orig}{\def\showitems##1{\relax}}%
-    \IfBooleanTF{#5}{\def\qt at showitems##1{\footnote{##1}}}{\def\qt at showitems##1{\relax}}%
-    \lowercase{\edef\qt at arglc{#2}}%
-    \IfBooleanTF {#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranayah[\qt at arglc][#3][#4]#5%
-        \endgroup%
-    }%
-    {%
-        \@quranayah[\qt at arglc][#3][#4]#5%
-    }%
-    \def\qt at showitems##1{\relax}%
+  \IfBooleanTF{#5}{\def\qt at showitems##1{\footnote{##1}}}{\def\qt at showitems##1{\relax}}%
+  \lowercase{\edef\qt at arglc{#2}}%
+  \IfBooleanTF {#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quranayah[\qt at arglc][#3][#4]#5%
+    \endgroup%
+  }%
+  {%
+    \@quranayah[\qt at arglc][#3][#4]#5%
+  }%
+  \def\qt at showitems##1{\relax}%
 }%
 %
 \def\@quranayah[#1][#2][#3]#4{% #1->Surah, #2->Ayah, #3->specific part
-    \if!\ifnum9<1#1!\fi% #1 is a number.
-        \def\qt at surahnumber{#1}%
+  \if!\ifnum9<1#1!\fi% #1 is a number.
+    \def\qt at surahnumber{#1}%
+  \else%
+    \def\qt at surahnumber{\csname qt at surah@#1\endcsname}%
+  \fi%
+  \setcounter{qt at i}{1}%
+  \expandafter\qt at minmax\expandafter{#2}%
+  \setcounter{qt at start}{\qt at min}%
+  \setcounter{qt at end}{\qt at max}%
+%
+  \ifnum\qt at max>\qt at getversenum{\qt at surahnumber}\relax%
+    \ifx\qt at max\qt at min%
+      \relax%
     \else%
-        \def\qt at surahnumber{\csname qt at surah@#1\endcsname}%
+      \def\qt at max{\qt at getversenum{\qt at surahnumber}}%
+      \setcounter{qt at end}{\qt at max}%
     \fi%
-    \setcounter{qt at i}{1}%
-    \expandafter\qt at minmax\expandafter{#2}%
-    \setcounter{qt at start}{\qt at min}%
-    \setcounter{qt at end}{\qt at max}%
+  \fi%
+  \ifnum\qt at min>\qt at getversenum{\qt at surahnumber}%
+    \relax%
+  \else%
+    \loop%
+    \ifnum\value{qt at i}<\qt at surahnumber%
+      \addtocounter{qt at start}{\qt at getversenum{\value{qt at i}}}%
+      \addtocounter{qt at i}{1}%
+    \repeat%
 %
-    \ifnum\qt at max>\qt at getversenum{\qt at surahnumber}\relax%
-        \ifx\qt at max\qt at min%
-            \relax%
-        \else%
-            \def\qt at max{\qt at getversenum{\qt at surahnumber}}%
-            \setcounter{qt at end}{\qt at max}%
-        \fi%
-    \fi%
-    \ifnum\qt at min>\qt at getversenum{\qt at surahnumber}%
-        \relax%
+    \ifx\qt at max\qt at min%
+      %omitting basmalah when only first ayah is requested
+      \ifnum\qt at max=1 \ifqt at basmalah\ToggleBasmalah\fi\fi%
+      \IfBooleanTF{#4}%
+      {\begingroup\qurantext[\value{qt at start}][#3]+\endgroup}%
+      {\begingroup\qurantext[\value{qt at start}][#3]\endgroup}%
+      \ifnum\qt at max=1 \ifqt at basmalah\ToggleBasmalah\fi\fi%
     \else%
-        \loop%
-        \ifnum\value{qt at i}<\qt at surahnumber%
-            \addtocounter{qt at start}{\qt at getversenum{\value{qt at i}}}%
-            \addtocounter{qt at i}{1}%
-        \repeat%
-%
-        \ifx\qt at max\qt at min%
-            %omitting basmalah when only first ayah is requested
-            \ifnum\qt at max=1 \ifqt at basmalah\ToggleBasmalah\fi\fi%
-            \IfBooleanTF{#4}%
-            {\begingroup\qurantext[\value{qt at start}][#3]+\endgroup}%
-            {\begingroup\qurantext[\value{qt at start}][#3]\endgroup}%
-            \ifnum\qt at max=1 \ifqt at basmalah\ToggleBasmalah\fi\fi%
-        \else%
-            \addtocounter{qt at end}{\value{qt at start}}%
-            \addtocounter{qt at end}{-\qt at min}%
-            \IfBooleanTF{#4}%
-            {\begingroup\qurantext[\value{qt at start}-\value{qt at end}][#3]+\endgroup}%
-            {\begingroup\qurantext[\value{qt at start}-\value{qt at end}][#3]\endgroup}%
-        \fi%
+      \addtocounter{qt at end}{\value{qt at start}}%
+      \addtocounter{qt at end}{-\qt at min}%
+      \IfBooleanTF{#4}%
+      {\begingroup\qurantext[\value{qt at start}-\value{qt at end}][#3]+\endgroup}%
+      {\begingroup\qurantext[\value{qt at start}-\value{qt at end}][#3]\endgroup}%
     \fi%
+  \fi%
 }%
 %
 \DeclareDocumentCommand\quranjuz{ s o }{%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranjuz[#2]%
-        \endgroup%
-    }%
-    {\@quranjuz[#2]}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quranjuz[#2]%
+    \endgroup%
+  }%
+  {\@quranjuz[#2]}%
 }%
 %
 \def\@quranjuz[#1]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \ifx\qt at max\qt at min%
-        \edef\qt at juz{\qt at getjuzdomain{\qt at min}}%
-        \begingroup\qurantext[\qt at juz]\endgroup%
-    \else%
-        \edef\qt at juz@start{\qt at getjuzdomain{\qt at min}}%
-        \edef\qt at juz@end{\qt at getjuzdomain{\qt at max}}%
-        \expandafter\qt at minmax\expandafter{\qt at juz@start}%
-        \setcounter{qt at start}{\qt at min}% start ayah
-        \expandafter\qt at minmax\expandafter{\qt at juz@end}%
-        \setcounter{qt at end}{\qt at max}% end ayah
-        \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
-    \fi%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \ifx\qt at max\qt at min%
+    \edef\qt at juz{\qt at getjuzdomain{\qt at min}}%
+    \begingroup\qurantext[\qt at juz]\endgroup%
+  \else%
+    \edef\qt at juz@start{\qt at getjuzdomain{\qt at min}}%
+    \edef\qt at juz@end{\qt at getjuzdomain{\qt at max}}%
+    \expandafter\qt at minmax\expandafter{\qt at juz@start}%
+    \setcounter{qt at start}{\qt at min}% start ayah
+    \expandafter\qt at minmax\expandafter{\qt at juz@end}%
+    \setcounter{qt at end}{\qt at max}% end ayah
+    \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
+  \fi%
 }%
 %
 \DeclareDocumentCommand\quranpage{ s o }{%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranpage[#2]%
-        \endgroup%
-    }%
-    {\@quranpage[#2]}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+      \ChangeQtPar%
+      \@quranpage[#2]%
+    \endgroup%
+  }%
+  {\@quranpage[#2]}%
 }%
 %
 \def\@quranpage[#1]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \ifx\qt at max\qt at min%
-        \edef\qt at page{\qt at getpagedomain{\qt at min}}%
-        \begingroup\qurantext[\qt at page]\endgroup%
-    \else%
-        \edef\qt at page@start{\expandafter\qt at getpagedomain{\qt at min}}%
-        \edef\qt at page@end{\expandafter\qt at getpagedomain{\qt at max}}%
-        \expandafter\qt at minmax\expandafter{\qt at page@start}%
-        \setcounter{qt at start}{\qt at min}% start ayah
-        \expandafter\qt at minmax\expandafter{\qt at page@end}%
-        \setcounter{qt at end}{\qt at max}% end ayah
-        \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
-    \fi%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \ifx\qt at max\qt at min%
+    \edef\qt at page{\qt at getpagedomain{\qt at min}}%
+    \begingroup\qurantext[\qt at page]\endgroup%
+  \else%
+    \edef\qt at page@start{\expandafter\qt at getpagedomain{\qt at min}}%
+    \edef\qt at page@end{\expandafter\qt at getpagedomain{\qt at max}}%
+    \expandafter\qt at minmax\expandafter{\qt at page@start}%
+    \setcounter{qt at start}{\qt at min}% start ayah
+    \expandafter\qt at minmax\expandafter{\qt at page@end}%
+    \setcounter{qt at end}{\qt at max}% end ayah
+    \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
+  \fi%
 }%
 %
 \DeclareDocumentCommand\quranquarter{ s o }{%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranquarter[#2]%
-        \endgroup%
-    }%
-    {\@quranquarter[#2]}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quranquarter[#2]%
+    \endgroup%
+  }%
+  {\@quranquarter[#2]}%
 }%
 %
 \def\@quranquarter[#1]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \ifx\qt at max\qt at min%
-        \edef\qt at page{\qt at getquarterdomain{\qt at min}}
-        \begingroup\qurantext[\qt at page]\endgroup%
-    \else%
-        \edef\qt at page@start{\expandafter\qt at getquarterdomain{\qt at min}}%
-        \edef\qt at page@end{\expandafter\qt at getquarterdomain{\qt at max}}%
-        \expandafter\qt at minmax\expandafter{\qt at page@start}%
-        \setcounter{qt at start}{\qt at min}% start ayah
-        \expandafter\qt at minmax\expandafter{\qt at page@end}%
-        \setcounter{qt at end}{\qt at max}% end ayah
-        \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
-    \fi%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \ifx\qt at max\qt at min%
+    \edef\qt at page{\qt at getquarterdomain{\qt at min}}
+    \begingroup\qurantext[\qt at page]\endgroup%
+  \else%
+    \edef\qt at page@start{\expandafter\qt at getquarterdomain{\qt at min}}%
+    \edef\qt at page@end{\expandafter\qt at getquarterdomain{\qt at max}}%
+    \expandafter\qt at minmax\expandafter{\qt at page@start}%
+    \setcounter{qt at start}{\qt at min}% start ayah
+    \expandafter\qt at minmax\expandafter{\qt at page@end}%
+    \setcounter{qt at end}{\qt at max}% end ayah
+    \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
+  \fi%
 }%
 %
 \DeclareDocumentCommand\quranruku{ s o }{%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranruku[#2]%
-        \endgroup%
-    }%
-    {\@quranruku[#2]}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quranruku[#2]%
+    \endgroup%
+  }%
+  {\@quranruku[#2]}%
 }%
 %
 \def\@quranruku[#1]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \ifx\qt at max\qt at min%
-        \edef\qt at page{\qt at getrukudomain{\qt at min}}%
-        \begingroup\qurantext[\qt at page]\endgroup%
-    \else%
-        \edef\qt at page@start{\expandafter\qt at getrukudomain{\qt at min}}%
-        \edef\qt at page@end{\expandafter\qt at getrukudomain{\qt at max}}%
-        \expandafter\qt at minmax\expandafter{\qt at page@start}%
-        \setcounter{qt at start}{\qt at min}% start ayah
-        \expandafter\qt at minmax\expandafter{\qt at page@end}%
-        \setcounter{qt at end}{\qt at max}% end ayah
-        \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
-    \fi%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \ifx\qt at max\qt at min%
+    \edef\qt at page{\qt at getrukudomain{\qt at min}}%
+    \begingroup\qurantext[\qt at page]\endgroup%
+  \else%
+    \edef\qt at page@start{\expandafter\qt at getrukudomain{\qt at min}}%
+    \edef\qt at page@end{\expandafter\qt at getrukudomain{\qt at max}}%
+    \expandafter\qt at minmax\expandafter{\qt at page@start}%
+    \setcounter{qt at start}{\qt at min}% start ayah
+    \expandafter\qt at minmax\expandafter{\qt at page@end}%
+    \setcounter{qt at end}{\qt at max}% end ayah
+    \begingroup\qurantext[\value{qt at start}-\value{qt at end}]\endgroup%
+  \fi%
 }%
 %
 \DeclareDocumentCommand\quranhizb{ s o }{%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranhizb[#2]%
-        \endgroup%
-    }%
-    {\@quranhizb[#2]}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quranhizb[#2]%
+    \endgroup%
+  }%
+  {\@quranhizb[#2]}%
 }%
 %
 \def\@quranhizb[#1]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \ifx\qt at max\qt at min%
-        \c at qt@start=#1%
-        \c at qt@end=#1%
-    \else%
-        \c at qt@start=\qt at min%
-        \c at qt@end=\qt at max%
-    \fi%
-    \multiply\c at qt@start by 4%
-    \advance\c at qt@start by -3%
-    \multiply\c at qt@end by 4%
-    \quranquarter[\c at qt@start-\c at qt@end]%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \ifx\qt at max\qt at min%
+    \c at qt@start=#1%
+    \c at qt@end=#1%
+  \else%
+    \c at qt@start=\qt at min%
+    \c at qt@end=\qt at max%
+  \fi%
+  \multiply\c at qt@start by 4%
+  \advance\c at qt@start by -3%
+  \multiply\c at qt@end by 4%
+  \quranquarter[\c at qt@start-\c at qt@end]%
 }%
 %
 \DeclareDocumentCommand\quranmanzil{ s o }{%
-    \IfBooleanTF{#1}%
-    {%
-        \begingroup%
-        \ChangeQtPar%
-        \@quranmanzil[#2]%
-        \endgroup%
-    }%
-    {\@quranmanzil[#2]}%
+  \IfBooleanTF{#1}%
+  {%
+    \begingroup%
+    \ChangeQtPar%
+    \@quranmanzil[#2]%
+    \endgroup%
+  }%
+  {\@quranmanzil[#2]}%
 }%
 %
 \def\@quranmanzil[#1]{%
-    \expandafter\qt at minmax\expandafter{#1}%
-    \ifx\qt at max\qt at min%
-        \edef\qt at surah{\expandafter\qt at getmanzildomain{\qt at max}}%
-        \expandafter\quransurah[\qt at surah]%
-    \else%
-        \edef\qt at surah@start{\expandafter\qt at getmanzildomain{\qt at min}}%
-        \edef\qt at surah@end{\expandafter\qt at getmanzildomain{\qt at max}}%
-        \expandafter\qt at minmax\expandafter{\qt at surah@start}%
-        \setcounter{qt at start}{\qt at min}% start surah
-        \expandafter\qt at minmax\expandafter{\qt at surah@end}%
-        \setcounter{qt at end}{\qt at max}% end surah
-        \quransurah[\the\c at qt@start-\the\c at qt@end]%
-    \fi%
+  \expandafter\qt at minmax\expandafter{#1}%
+  \ifx\qt at max\qt at min%
+    \edef\qt at surah{\expandafter\qt at getmanzildomain{\qt at max}}%
+    \expandafter\quransurah[\qt at surah]%
+  \else%
+    \edef\qt at surah@start{\expandafter\qt at getmanzildomain{\qt at min}}%
+    \edef\qt at surah@end{\expandafter\qt at getmanzildomain{\qt at max}}%
+    \expandafter\qt at minmax\expandafter{\qt at surah@start}%
+    \setcounter{qt at start}{\qt at min}% start surah
+    \expandafter\qt at minmax\expandafter{\qt at surah@end}%
+    \setcounter{qt at end}{\qt at max}% end surah
+    \quransurah[\the\c at qt@start-\the\c at qt@end]%
+  \fi%
 }%
 %
-\def\qt at getmanzildomain#1{\ifcase#1\or1-4%Al-Hamd to An-Nisa
-    \or5-9%Al-Maeda through At-Taubah%
-    \or10-16%Yunus through An-Nahl%
-    \or17-25%Al-Isra through Al-Furqan%
-    \or26-36%Ash-Shuara through Ya seen%
-    \or37-49%As-Saaffat through Al-Hujraat%
-    \or50-114%Qaf through An-Nas%
+\def\qt at getmanzildomain#1{\ifcase#1%
+  \or1-4%Al-Hamd to An-Nisa
+  \or5-9%Al-Maeda through At-Taubah%
+  \or10-16%Yunus through An-Nahl%
+  \or17-25%Al-Isra through Al-Furqan%
+  \or26-36%Ash-Shuara through Ya seen%
+  \or37-49%As-Saaffat through Al-Hujraat%
+  \or50-114%Qaf through An-Nas%
 \else\relax\fi}%
 %
 \def\qt at getversenum#1{%
@@ -540,45 +546,45 @@
 }%
 %
 \bidi at newrobustcmd\ToggleBasmalah{%
-    \ifqt at basmalah\qt at basmalahfalse\else\qt at basmalahtrue\fi
-    \ifx\basmalah\relax%
-        \def\basmalah{بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ\qt at par\space}%
-    \else%
-        \let\basmalah\relax%
-    \fi%
-    \ifqt at translt\ToggleBasmalahlt\fi%
-    \ifqt at transen\ToggleBasmalahen\fi%
-    \ifqt at transde\ToggleBasmalahde\fi%
-    \ifqt at transfa\ToggleBasmalahfa\fi%
+  \ifqt at basmalah\qt at basmalahfalse\else\qt at basmalahtrue\fi
+  \ifx\basmalah\relax%
+    \def\basmalah{بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ\qt at par\space}%
+  \else%
+    \let\basmalah\relax%
+  \fi%
+  \ifqt at translt\ToggleBasmalahlt\fi%
+  \ifqt at transen\ToggleBasmalahen\fi%
+  \ifqt at transde\ToggleBasmalahde\fi%
+  \ifqt at transfa\ToggleBasmalahfa\fi%
 }%
 \ifqt at uthmani%
-    \input{qurantext-uthmani.def}%
+  \input{qurantext-uthmani.def}%
 \else%
-    \ifqt at uthmanimin%
-        \input{qurantext-uthmani-min.def}%
-    \else%
-        \input{qurantext-simple.def}%
-    \fi%
+  \ifqt at uthmanimin%
+    \input{qurantext-uthmani-min.def}%
+  \else%
+    \input{qurantext-simple.def}%
+  \fi%
 \fi%
 %%
 \ifqt at translt%
-    \input{qurantext-en.transliteration.def}%
-    \input{quran-translt.def}%
+  \input{qurantext-en.transliteration.def}%
+  \input{quran-translt.def}%
 \fi%
 \ifqt at transen%
-    \input{qurantext-en.translation.def}%
-    \input{quran-transen.def}%
+  \input{qurantext-en.translation.def}%
+  \input{quran-transen.def}%
 \fi%
 \ifqt at transde%
-    \input{qurantext-de.translation.def}%
-    \input{quran-transde.def}%
+  \input{qurantext-de.translation.def}%
+  \input{quran-transde.def}%
 \fi%
 \ifqt at transfa%
-    \input{qurantext-fa.translation.def}%
-    \input{quran-transfa.def}%
+  \input{qurantext-fa.translation.def}%
+  \input{quran-transfa.def}%
 \fi%
 \ifqt at transfr%
-    \input{qurantext-fr.translation.def}%
-    \input{quran-transfr.def}%
+  \input{qurantext-fr.translation.def}%
+  \input{quran-transfr.def}%
 \fi%
 %% End of file `quran.sty'.



More information about the tex-live-commits mailing list.