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.