From 1866893238afb5431339c6bde5f1055ddeff8093 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 29 Oct 2017 21:22:48 +0000 Subject: quran (28oct17) git-svn-id: svn://tug.org/texlive/trunk@45636 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xelatex/quran/README | 4 +- Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf | Bin 263306 -> 274364 bytes Master/texmf-dist/doc/xelatex/quran/quran-doc.tex | 109 ++++++++++++++++++--- Master/texmf-dist/doc/xelatex/quran/quran-test.pdf | Bin 56483 -> 34368 bytes Master/texmf-dist/doc/xelatex/quran/quran-test.tex | 98 +++--------------- .../texmf-dist/doc/xelatex/quran/quran-test1.pdf | Bin 32279 -> 32278 bytes .../texmf-dist/doc/xelatex/quran/quran-test2.pdf | Bin 16969 -> 56482 bytes .../texmf-dist/doc/xelatex/quran/quran-test2.tex | 88 +++++++++++++++-- 8 files changed, 195 insertions(+), 104 deletions(-) (limited to 'Master/texmf-dist/doc/xelatex/quran') diff --git a/Master/texmf-dist/doc/xelatex/quran/README b/Master/texmf-dist/doc/xelatex/quran/README index fefa7780cd6..8e08073923e 100644 --- a/Master/texmf-dist/doc/xelatex/quran/README +++ b/Master/texmf-dist/doc/xelatex/quran/README @@ -1,6 +1,6 @@ _____________________ The quran package -v1.3 +v1.4 The package is prepared for typesetting the Holy Quran. This work is inspired by lipsum and ptext packages, provides several macros for typesetting the whole or @@ -8,7 +8,7 @@ any parts of The Holy Quran based on its popular divisions. For more information, please see the documentation. -Current version release date: 2017/10/22 +Current version release date: 2017/10/28 ___________________ Seiied-Mohammad-Javad Razvian javadr@gmail.com diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf b/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf index 9b2699b9666..27d95b91610 100644 Binary files a/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf and b/Master/texmf-dist/doc/xelatex/quran/quran-doc.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex b/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex index 970019cc3ab..6d859fd7ee9 100644 --- a/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex +++ b/Master/texmf-dist/doc/xelatex/quran/quran-doc.tex @@ -5,7 +5,8 @@ \usepackage{framed} \usepackage{holtxdoc} \usepackage{url} -\usepackage[translt]{quran} +\usepackage{addlines} +\usepackage[trans={lt, de, en, fa}]{quran} \usepackage{listings} \usepackage{tikz} \usetikzlibrary{calc} @@ -27,6 +28,8 @@ \usepackage{bidi} \makeatletter \bidi@preto\qurantext{\quran} +\bidi@BeforeBeginEnvironment{declcs}{\vspace*{-4mm}} +%\bidi@AfterEndEnvironment{declcs}{\vspace{-2mm}} \makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -94,9 +97,14 @@ This manual is incomplete and the package is under development. \par \newpage \section{Introduction} -This package is prepared for typesetting the Holy Quran. This work is inspired by \xpackage{lipsum} and -\xpackage{ptext} packages, provides several macros for -typesetting the whole or any parts of the Holy Quran based on its popular division. +This package is prepared for typesetting The Holy Quran%. +, provides several macros for +typesetting the whole or any parts of The Holy Quran based on its popular division.\footnote{This work is inspired by \xpackage{lipsum} and +\xpackage{ptext} packages.} +%\footnote{ +By recent versions, the package can typeset the translation of The Holy Quran in +german, english, and persian. It also can typeset quarn transliteration. +%}\addlines[1] \section{Loading Package} You can load the package in the ordinary way @@ -104,8 +112,8 @@ You can load the package in the ordinary way After loading the package, it writes some information about itself to the terminal and to the log file, too. The information is something like: -\begin{lstlisting}[style=BashInputStyle, language=tex] -Package: quran 2017/08/22 v1.261 An easy way to typeset the whole or any part of The Holy Quran +\begin{lstlisting}[style=BashInputStyle, language=tex, escapechar={|}] +Package: quran |\qurandate| |\quranversion| An easy way to typeset the whole or any part of The Holy Quran \end{lstlisting} \section{Typesetting The Holy Quran}\label{sec:qurantypesetting} @@ -224,31 +232,36 @@ The numbers should be between $1$ to $604$, based on Uthmani text. \centerline{\mxf{quranpage*[1-3]}{\quranpage*[1-3]}} \subsection{Juz/Ajza} +%\vspace{-6mm} \begin{declcs}{quranjuz}\oarg{n} \end{declcs} Above macro typesets the \textit{n}$^{th}$ juz of Quran and below macro typesets m$^{th}$ to n$^{th}$ juzzes of Quran. + \begin{declcs}{quranjuz}\oarg{m-n} \end{declcs} +%\vspace{-6mm} The numbers should be between $1$ to $30$. \subsection{Hizb/Ahzab} Each juz of Quran is devided into two ahzab (group), so there are 60 ahzab. Following macros typeset hizb/ahzab of Quran. +%\vspace{-6mm} \begin{declcs}{quranhizb}\oarg{n} \end{declcs} -\vspace{-12mm} +%\vspace{-14mm} \begin{declcs}{quranhizb}\oarg{m-n} \end{declcs} + \subsection{Quarter/Quarters} Eash hizb of Quran is devided into four quarters, making eight quarters per juz, called maqra. There are 240 of these quarters (of hizb) in the Quran. These maqra are often used as sections for revision when memorizing the Quran.\footnote{\url{https://en.wikipedia.org/wiki/Juz'}} + +%\vspace{-6mm} \begin{declcs}{quranquarter}\oarg{n} \end{declcs} - -\vspace{-12mm} - +%\vspace{-14mm} \begin{declcs}{quranquarter}\oarg{m-n} \end{declcs} @@ -291,7 +304,7 @@ Following macros typeset manzil/manazil of Quran. \begin{declcs}{quranmanzil}\oarg{n} \end{declcs} -\vspace{-12mm} +%\vspace{-12mm} \begin{declcs}{quranmanzil}\oarg{m-n} \end{declcs} @@ -314,11 +327,12 @@ Typesets any range of Ayat from the \textit{m}$^{th}$ to \textit{n}$^{th}$ Ayah. Using \cs{qurantext} without its optional argument typeset [1-7] --Al-Hamd. To change the default text use \cs{setqurantextdefault\{m-n\}} \marginpar{\cs{qurantext}} -\marginpar{\cs{setqurantextdefault\{m-n\}}} + \centerline{\mx{qurantext}{\qurantext}} - below, the default is changed to \cs{setqurantextdefault\{4128-4147\}}: + \noindent below, the default is changed to \cs{setqurantextdefault\{4128-4147\}}: + \marginpar{\cs{setqurantextdefault\{m-n\}}} \setqurantextdefault{4128-4147} \centerline{\mxf{qurantext*}{\qurantext*}} @@ -415,6 +429,75 @@ this will add the following macros: \centerline{\mx{quransurahlt[108]}{\setLTR\quransurahlt[108]} \hfill \mx{quransurah[108]}{\quransurah[108]}} + + + +By version 1.4, the package can typeset the translation of The Holy Quran in germany, english, and persian. +\marginpar{transde}\marginpar{transen}\marginpar{transfa}% +These options added because of some requests from users who need the translation of The Holy Quran in their languages. +By loading \texttt{transde}, \texttt{transen}, and \texttt{transfa} the package can typeset the translation in + germany, english, and persian, respectively. + +By loading echo of these options, all macros that defined in section~\ref{sec:qurantypesetting} will have +a ``\texttt{de}"/``\texttt{en}"/``\texttt{fa}" version. In other words, +thsee will add the following macros: + + +\begin{multicols}{3} +\texttt{transde} option: +\begin{itemize} + \item \cs{quransurahde} + \item \cs{quranayahde} + \item \cs{quranpagede} + \item \cs{quranjuzde} + \item \cs{quranhizbde} + \item \cs{quranquarterde} + \item \cs{quranrukude} + \item \cs{quranmanzilde} + \item \cs{qurantextde} +\end{itemize} + +\texttt{transen} option: +\begin{itemize} + \item \cs{quransurahen} + \item \cs{quranayahen} + \item \cs{quranpageen} + \item \cs{quranjuzen} + \item \cs{quranhizben} + \item \cs{quranquarteren} + \item \cs{quranrukuen} + \item \cs{quranmanzilen} + \item \cs{qurantexten} +\end{itemize} + +\texttt{transfa} option: +\begin{itemize} + \item \cs{quransurahfa} + \item \cs{quranayahfa} + \item \cs{quranpagefa} + \item \cs{quranjuzfa} + \item \cs{quranhizbfa} + \item \cs{quranquarterfa} + \item \cs{quranrukufa} + \item \cs{quranmanzilfa} + \item \cs{qurantextfa} +\end{itemize} +\end{multicols} + + All translations are from \url{tanzil.net}. For germen, english, and persian languages the ``Abu Rida Muhammad ibn Ahmad ibn Rassoul", ``Ahmed Ali", ``Mohammad Mahdi Fooladvand" is choosen respectively, by suggestion of the package's users. + + Another option is defined that simplifies the usage of mutiple translations simultaneously. The \texttt{trans} option can get + any permutation of ``\texttt{lt}", ``\texttt{de}", ``\texttt{en}", and ``\texttt{fa}". e.g. this document loads the \texttt{quran} + package with ``\texttt{trans=\{lt, de, en, fa\}}" option. + \marginpar{trans} + + \centerline{\mx{quransurahfa[108]}{\quransurahfa[108]} + \hfill + \mx{quransurah[108]}{\quransurah[108]}} + \centerline{\mx{quransurahen[108]}{\setLTR\small\quransurahen[108]} + \hfill + \mx{quransurahde[108]}{\setLTR\small\quransurahde[108]}} + \section{Acknowledgment} At first, I should appreciate Vafa Khaligi by preparing such adorable packages --\xpackage{bidi} and diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf b/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf index 2c7a06680b2..e6f0bb2f497 100644 Binary files a/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf and b/Master/texmf-dist/doc/xelatex/quran/quran-test.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test.tex b/Master/texmf-dist/doc/xelatex/quran/quran-test.tex index 20d1c0d876c..3d1d5ae13da 100644 --- a/Master/texmf-dist/doc/xelatex/quran/quran-test.tex +++ b/Master/texmf-dist/doc/xelatex/quran/quran-test.tex @@ -1,88 +1,22 @@ -%This document wants to the explain the quran package with some examples. -\documentclass{article} +\documentclass[twocolumn]{article} +\usepackage{arabxetex} % for typesetting Arabic text in Rigth−To−Left direction +\usepackage[trans={en, lt, de, fa}, uthmani]{quran} -\usepackage{forloop} -\usepackage{quran} -%The xepersian package automatically load bidi, and I've loaded it because I want to set a font that supports Arabic letters -\usepackage{xepersian} - -% This macro set the main text font for non-latin letter, and it can scale font. -\settextfont[Scale=1.1]{Scheherazade} - -\def\surna[#1]{\centerline{\hss\surahname*[#1]\hss\surahname[#1]\hss}} -\def\test#1{ - \par - \surna[#1] - \quransurah*[#1] - \bigskip -} +\def\titlerule#1{\hrulefill #1: \par} \begin{document} -% For typesetting بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ use below macro -%\centerline{\basmalah} - -\quransurah[108] % Surah Al-Kauther - -%%\surna[110]\quransurah*[110] % Surah Al-Nasr - -%The below typeset 104th surah through 113th surah. -%%\quransurah*[104-113] - -\makeatletter -\surna[\qt@surah@default]\quransurah* % Surah Al-Ikhlas -\makeatother - -\quranayah[33][33] -\quranayah*[76][1-22] - -%%You can typeset whole of Holy Quran with below commands. -%%\newcounter{ct} -%%\forloop{ct}{1}{\value{ct} < 115} {\test{\value{ct}}} - -%%You can typeset whole of Holy Quran with below commands. -%%\newcounter{jz} -%%\forloop{jz}{1}{\value{jz} < 31} {\quranjuz[\value{jz}]} - -%%\quranjuz*[28-30] - -%\quranpage*[256] -%\quranpage*[3-4] - -%%You can typeset whole of Holy Quran with below commands, just replace 8 with 605. -\newcounter{pg} -\forloop{pg}{1}{\value{pg} < 8} { -\hfill صفحة \arabic{pg} \par -\quranpage*[\value{pg}]\vfill} - -%\quranhizb*[117-120] - -%\quranquarter*[1-4] -%\quranquarter*[239-240] - -%\quranruku[313] -%\quranruku[556] - -%\quranmanzil*[2] - - -%%\surna[1]\qurantext % Surah Al-Hamd - -%%\surna[1]\qurantext* % Surah Al-Hamd - -%%\surna[114]\qurantext[6231-6236] % Surah Al-Nas - -%%\surna[114]\qurantext*[6231-6236] % Surah Al-Nas - -%%%\surna[2]\qurantext*[8-293] % Surah Al-Baqara - -%\qurantext[1-6236] % The whole of Holy Quran - - -\newcount\mysurah -\newcount\myayah -\indexconvert{1436}{\mysurah}{\myayah} -سوره \the\mysurah +\begin{arab}[utf] +\qurantext\par +\titlerule{\beginL Persian Translation\endL} +\qurantextfa\par +\end{arab} +\newpage +\titlerule{Transliteration} +\qurantextlt\par +\titlerule{German Traslation} +\qurantextde\par +\titlerule{English Translation} +\qurantexten\par -آیه \the\myayah \end{document} diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test1.pdf b/Master/texmf-dist/doc/xelatex/quran/quran-test1.pdf index 9c57f7ddbd3..b8890b11f85 100644 Binary files a/Master/texmf-dist/doc/xelatex/quran/quran-test1.pdf and b/Master/texmf-dist/doc/xelatex/quran/quran-test1.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test2.pdf b/Master/texmf-dist/doc/xelatex/quran/quran-test2.pdf index 6388fdd3e14..73078108165 100644 Binary files a/Master/texmf-dist/doc/xelatex/quran/quran-test2.pdf and b/Master/texmf-dist/doc/xelatex/quran/quran-test2.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/quran/quran-test2.tex b/Master/texmf-dist/doc/xelatex/quran/quran-test2.tex index b70ab1391a6..20d1c0d876c 100644 --- a/Master/texmf-dist/doc/xelatex/quran/quran-test2.tex +++ b/Master/texmf-dist/doc/xelatex/quran/quran-test2.tex @@ -1,14 +1,88 @@ -\documentclass[12pt]{article} +%This document wants to the explain the quran package with some examples. +\documentclass{article} -\usepackage{arabxetex} % for typesetting Arabic text in Rigth−To−Left direction -\usepackage[translt,]{quran} +\usepackage{forloop} +\usepackage{quran} +%The xepersian package automatically load bidi, and I've loaded it because I want to set a font that supports Arabic letters +\usepackage{xepersian} + +% This macro set the main text font for non-latin letter, and it can scale font. +\settextfont[Scale=1.1]{Scheherazade} + +\def\surna[#1]{\centerline{\hss\surahname*[#1]\hss\surahname[#1]\hss}} +\def\test#1{ + \par + \surna[#1] + \quransurah*[#1] + \bigskip +} \begin{document} -\begin{arab}[utf] -\quransurah -\end{arab} +% For typesetting بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ use below macro +%\centerline{\basmalah} + +\quransurah[108] % Surah Al-Kauther + +%%\surna[110]\quransurah*[110] % Surah Al-Nasr + +%The below typeset 104th surah through 113th surah. +%%\quransurah*[104-113] + +\makeatletter +\surna[\qt@surah@default]\quransurah* % Surah Al-Ikhlas +\makeatother + +\quranayah[33][33] +\quranayah*[76][1-22] + +%%You can typeset whole of Holy Quran with below commands. +%%\newcounter{ct} +%%\forloop{ct}{1}{\value{ct} < 115} {\test{\value{ct}}} + +%%You can typeset whole of Holy Quran with below commands. +%%\newcounter{jz} +%%\forloop{jz}{1}{\value{jz} < 31} {\quranjuz[\value{jz}]} + +%%\quranjuz*[28-30] + +%\quranpage*[256] +%\quranpage*[3-4] + +%%You can typeset whole of Holy Quran with below commands, just replace 8 with 605. +\newcounter{pg} +\forloop{pg}{1}{\value{pg} < 8} { +\hfill صفحة \arabic{pg} \par +\quranpage*[\value{pg}]\vfill} + +%\quranhizb*[117-120] + +%\quranquarter*[1-4] +%\quranquarter*[239-240] + +%\quranruku[313] +%\quranruku[556] + +%\quranmanzil*[2] + + +%%\surna[1]\qurantext % Surah Al-Hamd + +%%\surna[1]\qurantext* % Surah Al-Hamd + +%%\surna[114]\qurantext[6231-6236] % Surah Al-Nas + +%%\surna[114]\qurantext*[6231-6236] % Surah Al-Nas + +%%%\surna[2]\qurantext*[8-293] % Surah Al-Baqara + +%\qurantext[1-6236] % The whole of Holy Quran + -\quransurahlt +\newcount\mysurah +\newcount\myayah +\indexconvert{1436}{\mysurah}{\myayah} +سوره \the\mysurah +آیه \the\myayah \end{document} -- cgit v1.2.3