diff options
author | Karl Berry <karl@freefriends.org> | 2019-03-24 21:12:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-03-24 21:12:01 +0000 |
commit | 78db05a5b839a72cb42fced13a31ff781776001a (patch) | |
tree | 3499f8472f405fbf52a04e5b3f63750729391d1a | |
parent | 6973e20e83544bed3652e7b57886f39a8ab60e23 (diff) |
arabluatex (24mar19)
git-svn-id: svn://tug.org/texlive/trunk@50571 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf | bin | 666259 -> 685259 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf | bin | 114255 -> 114234 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf | bin | 59687 -> 59687 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf | bin | 65223 -> 65289 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx | 750 | ||||
-rw-r--r-- | Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua | 64 | ||||
-rw-r--r-- | Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty | 126 |
7 files changed, 483 insertions, 457 deletions
diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf Binary files differindex 0001a5502ca..5374b0aef22 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf Binary files differindex f1695b85bcc..b12a86dd1c5 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf Binary files differindex ecfd20a2e9c..aff9bb76e24 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf Binary files differindex ca5411f9b93..b72fa710082 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx index 959266f8f75..001f962c700 100644 --- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx +++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx @@ -27,7 +27,7 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{arabluatex} %<*package> - [2019/03/22 v1.16 An ArabTeX-like interface for LuaLaTeX] + [2019/03/24 v1.17 An ArabTeX-like interface for LuaLaTeX] %</package> % %<*driver> @@ -151,7 +151,6 @@ \usepackage{dox} \doxitem{Option}{option}{options} \usepackage{fontspec} -\usepackage{realscripts} \usepackage{microtype} \defaultfontfeatures{RawFeature={+liga}} \setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps}, @@ -160,7 +159,8 @@ \newunicodechar{ǧ}{ǧ} % Old Standard does not include ǧ/Ǧ \newunicodechar{Ǧ}{Ǧ} % \usepackage{metalogox} -\usepackage{arabluatex}[2019/03/22] +\usepackage{arabluatex}[2019/03/24] +\SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this \usepackage[nopar]{quran} \usepackage[noindex]{nameauth} \usepackage{varioref} @@ -204,20 +204,19 @@ \usepackage{booktabs} \usepackage[defaultlines=3,all]{nowidow} \usepackage{needspace} +\usepackage{addlines} \usepackage{relsize} \usepackage{tikz} \usepackage[breakable, skins, xparse, minted]{tcolorbox} -\tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, left=6mm, +\tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, breakable} -\DeclareTCBListing{arabluacode}{s O{}}{listing engine=minted, minted - language=latex, minted options={linenos, fontsize=\relsize{-0.5}}, - IfBooleanTF={#1}{listing side text}{#2}} -\DeclareTCBListing{arabluaverbatim}{}{listing engine=minted, minted - language=latex, minted options={linenos, fontsize=\relsize{-0.5}}, - listing only} -\DeclareTotalTCBox{\arabluaverb}{v}{verbatim}{#1} -\DeclareTotalTCBox{\arabluabox}{m}{left=0mm, right=0mm, top=0mm, - bottom=0mm}{#1} +\newtcbox{\arabluabox}{boxrule=.3mm, left=0mm, right=0mm, top=0mm, + bottom=0mm} +\newtcblisting{example}{minted options={linenos, numbersep=0mm, + fontsize=\smaller}} +\newtcblisting{code}{minted options={linenos, numbersep=0mm, + fontsize=\smaller}, listing + only} \newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}} \usepackage[contents]{colordoc} \usepackage{csquotes} @@ -263,7 +262,7 @@ %</driver> % \fi % -% \CheckSum{932} +% \CheckSum{919} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -506,7 +505,7 @@ % \section{The basics of \package{arabluatex}} % \subsection{Activating \package{arabluatex}} % \package{arabluatex} is loaded the usual way:\\ -% \arabluaverb{\usepackage{arabluatex}}\\ +% \tcboxverb{\usepackage{arabluatex}}\\ % The only requirement of \package{arabluatex} is {\LuaLaTeX}; % it will complain if the document is compiled with another % engine. That aside, \package{arabluatex} does not load packages such @@ -525,7 +524,7 @@ % By default, if no Arabic font is selected, \package{arabluatex} will % issue a warning message and attempt to load the Amiri % font\footnote{\textcite{pkg:amiri}.} like so:---\\ -% \arabluaverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic]} +% \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic]} % \begin{quoting} % \textsc{Rem.} By default Amiri places the \arb[trans]{kasraT} in % combination with the \arb[trans]{ta^sdId} below the consonant, @@ -537,7 +536,7 @@ % selecting the |ss05| feature of the Amiri font, like % so:---\footnote{See the documentation of \package{amiri}, % \textcite[6]{pkg:amiri}.}\\ -% \arabluaverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic,RawFeature={+ss05}]} +% \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic,RawFeature={+ss05}]} % % Other Arabic fonts may behave differently. % \end{quoting} @@ -548,7 +547,7 @@ % first four of which are mutually exclusive and may be overriden at % any point of the document (see below \vref{sec:local-options}): % -% \DescribeOption{voc}\hfill\arabluaverb{Default}\\ In this mode, +% \DescribeOption{voc}\hfill\tcboxverb{Default}\\ In this mode, % which is the one selected by default, every short vowel written % generates its corresponding diacritical mark: \arb[trans]{.dammaT} % (\arb{Bu}), \arb[trans]{fat.haT} (\arb{Ba}) and \arb[trans]{kasraT} @@ -584,7 +583,7 @@ % % \label{ref:export-global-opt} % \DescribeOption{export} |export|$=$|true|\verb+|+|false| -% \hfill\arabluaverb{Default: false}\\ \label{export-mode} +% \hfill\tcboxverb{Default: false}\\ \label{export-mode} % \NEWfeature{v.1.13} This option acts as a named argument and does % not need a value as it defaults to |true| if it is used. It enables % \package{arabluatex} to produce a duplicate of the original |.tex| @@ -623,11 +622,11 @@ % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] -Please note that only few Arabic fonts provide such contrivances. In -case this feature is not supported by some Arabic font, it is -advisable to use \cs{SetArbEasy}. -\end{arabluacode} +\begin{tcblisting}{text only} + Please note that only few Arabic fonts provide such contrivances. In + case this feature is not supported by some Arabic font, it is + advisable to use \cs{SetArbEasy}. +\end{tcblisting} % \iffalse %</example> % \fi @@ -690,9 +689,10 @@ advisable to use \cs{SetArbEasy}. % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] -Please note that this document is typeset with \cs{SetArbDflt} throughout. -\end{arabluacode} +\begin{tcblisting}{text only} + Please note that this document is typeset with \cs{SetArbDflt} + throughout. +\end{tcblisting} % \iffalse %</example> % \fi @@ -704,15 +704,15 @@ Please note that this document is typeset with \cs{SetArbDflt} throughout. % \iffalse %<*example> % \fi -\begin{arabluacode} -From \textcite[i. 1 A]{Wright}:--- Arabic, like Hebrew and -Syriac, is written and read from right to left. The letters -of the alphabet (\arb{.hurUf-u 'l-hijA'-i}, \arb{.hurUf-u -'l-tahajjI}, \arb{al-.hurUf-u 'l-hijA'iyyaT-u}, or -\arb{.hurUf-u 'l-mu`jam-i}) are twenty-eight in number and -are all consonants, though three of them are also used as -vowels (see §~3). -\end{arabluacode} +\begin{example} + From \textcite[i. 1 A]{Wright}:--- Arabic, like Hebrew and + Syriac, is written and read from right to left. The letters + of the alphabet (\arb{.hurUf-u 'l-hijA'-i}, \arb{.hurUf-u + 'l-tahajjI}, \arb{al-.hurUf-u 'l-hijA'iyyaT-u}, or + \arb{.hurUf-u 'l-mu`jam-i}) are twenty-eight in number and + are all consonants, though three of them are also used as + vowels (see §~3). +\end{example} % \iffalse %</example> % \fi @@ -731,7 +731,7 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{enumerate}[label=\Roman*., start=16] \item \indent\arb{fawA`ilu}*. \begin{enumerate}[label=\arabic*.] @@ -739,7 +739,7 @@ vowels (see §~3). signet-ring}, ... \end{enumerate} \end{enumerate} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -750,11 +750,11 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} \begin{arab} [...] \end{arab} -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -763,7 +763,7 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{arab} 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN qa.sIraTiN fa-qAla la-hu: @@ -778,7 +778,7 @@ vowels (see §~3). 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_diba-nI?} \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -810,7 +810,7 @@ vowels (see §~3). % \Cref{tab:arabtex-consonants} gives the Arab\TeX\ equivalents for % all of the Arabic consonants. % -% \needspace{7\baselineskip} +% \addlines[2] % \newcommand{\dmg}[1]{% % \SetTranslitConvention{dmg}% % \arb[trans]{#1}} @@ -844,7 +844,6 @@ vowels (see §~3). % \vref{ref:hamza}.} & \dmg{'u 'a 'i} & % \loc{|'u, |'a, |'i} & \brill{|'u, |'a, |'i} & |'u| or |'a| or |'i| \\ % \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| \\ -% \pagebreak[1] % \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| \\ % \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |_t| \\ % \arb[novoc]{j} & \dmg{j} & \loc{j} & \brill{j} & |^g| or |j| \\ @@ -959,7 +958,6 @@ vowels (see §~3). % \Cref{tab:arabtex-long-vowels} gives the Arab\TeX\ equivalents for % the Arabic long vowels. % -% \needspace{8\baselineskip} % \begin{longtable}{lllll} % \bottomrule % \caption*{\Cref*{tab:arabtex-long-vowels}: Standard Arab\TeX\ (long @@ -1057,11 +1055,11 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} However, it may be wise to always write the vowels, leaving to the various modes provided by \package{arabluatex} to take care of showing or not showing the vowels. -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi @@ -1363,11 +1361,11 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} Hence one should keep to this distinction and encode |'a'kulu| \arb[voc]{'a'kulu} \arb[trans]{'a'kulu} and |'AkiluN| \arb[voc]{'AkiluN} \arb[trans]{'AkiluN} respectively. -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi @@ -1415,7 +1413,7 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} Unlike \package{arabtex} and \package{arabxetex}, \package{arabluatex} \emph{never requires the solar letter to be written twice}, as it automatically generates the euphonic @@ -1423,7 +1421,7 @@ vowels (see §~3). article be written in the assimilated form or not, e.g. |al-^sams-u| \arb[voc]{al-^sams-u} \arb[trans]{al-^sams-u}, or |a^s-^sams-u| \arb[voc]{a^s-^sams-u} \arb[trans]{a^s-^sams-u}. -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi @@ -1452,14 +1450,14 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} \textsc{Rem.} This particular feature must be put into operation by the \cs{SetArbDflt*} command explicitly. See above \vref{sec:classic-modern-typesetting} for further details. Other kinds of assimilations, including the various cases of \arb[trans]{'id.gAm}, will be included in \package{arabluatex} gradually. -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi @@ -1493,11 +1491,11 @@ vowels (see §~3). % encoded, like so:--- % \begin{enumerate} % \item Definite article at the beginning of a sentence is encoded\\ -% \arabluaverb{al-}, or \arabluaverb{a<solar letter>-}\\ if one +% \tcboxverb{al-}, or \tcboxverb{a<solar letter>-}\\ if one % wishes to mark the assimilation---which is in no way required, as % \package{arabulatex} will detect all cases of assimilation. -% \item Definite article inside sentences is encoded\\ \arabluaverb{'l-} -% or \arabluaverb{'<solar letter>-}. +% \item Definite article inside sentences is encoded\\ \tcboxverb{'l-} +% or \tcboxverb{'<solar letter>-}. % \item In all remaining cases of elision, the \arb[trans]{'alifu % 'l-wa.sli} is expressed by the vowel that accompanies the omitted % \arb[trans]{hamzaT}: \meta{u, a, i}. @@ -1941,13 +1939,13 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} This is wrong: \begin{arab}[fullvoc] - fa-lammA ra'aW\LRfootnote{A footnote which interferes with the - contextual analysis.} 'l-na^gma... + fa-lammA ra'aW\LRfootnote{A footnote which interferes with + the contextual analysis.} 'l-na^gma... \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi% @@ -1965,10 +1963,10 @@ vowels (see §~3). % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] -In any case, \emph{no space must be left} after or before the Arabic -word that \cs{arbnull} is applied to. -\end{arabluacode} +\begin{tcblisting}{text only} + In any case, \emph{no space must be left} after or before the Arabic + word that \cs{arbnull} is applied to. +\end{tcblisting} % \iffalse %</example> % \fi% @@ -1978,13 +1976,14 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{arab}[fullvoc] - fa-lammA ra'aW\arbnull{'l-na^gma}\LRfootnote{A footnote which - interferes with the contextual analysis.} 'l-na^gma... + fa-lammA ra'aW\arbnull{'l-na^gma}\LRfootnote{A footnote + which interferes with the contextual analysis.} + 'l-na^gma... - qAla\LRfootnote{A footnote which interferes with the contextual - analysis.} \arbnull{qAla}uhrub fa-lan tuqtala. + qAla\LRfootnote{A footnote which interferes with the + contextual analysis.} \arbnull{qAla}uhrub fa-lan tuqtala. \uc{z}ayduN\arbnull{ibnu}\LRfootnote{A footnote which interferes with the contextual analysis.} @@ -1998,7 +1997,7 @@ word that \cs{arbnull} is applied to. \arbnull{zayduN}ibn-u \uc{`a}mriNU.\LRfootnote{See \vref{fn:zayd-is-son}.} \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi% @@ -2080,10 +2079,10 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} The \arb[trans]{'ab^gad} number for the current page (\thepage) is \abjad{\thepage}. -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi% @@ -2093,8 +2092,8 @@ word that \cs{arbnull} is applied to. % % \subsection{Additional characters} % \label{sec:additional-characters} -% In the manuscripts, the unpointed letters, \arb[trans]{al-.hurUfu -% 'l-muhmalaTu}, are sometimes further distinguished from the pointed +% In the manuscripts, the unpointed letters, \arb[trans]{al-.hurUf-u +% 'l-muhmalaT-u}, are sometimes further distinguished from the pointed % by various contrivances, as explained in \textcite[i. 4 % B--C]{Wright}. One may find these letters written in a smaller size % below the line, or with a dot or another mark below. As representing @@ -2125,9 +2124,9 @@ word that \cs{arbnull} is applied to. % \arb[novoc]{.f} & \dmg{.f} & \loc{.f} & \brill{.f} & |.f| \\ % \arb[novoc]{.q} & \dmg{.q} & \loc{.q} & \brill{.q} & |.q| \\ % \arb[novoc]{.k} & \dmg{.k} & \loc{.k} & \brill{.k} & |.k| \\ +% \pagebreak[1] % \arb[novoc]{.n} & \dmg{.n} & \loc{.n} & \brill{.n} & |.n| \\ % \arb[novoc]{((} & \dmg{((} & \loc{((} & \brill{((} & |((| \\ -% \pagebreak[1] % \arb[novoc]{))} & \dmg{))} & \loc{))} & \brill{))} & |))| \\ % \end{longtable} % @@ -2178,11 +2177,11 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} \begin{arabverse}[key1=value1, key2=value2, ...] <verses> \end{arabverse} -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -2194,7 +2193,7 @@ word that \cs{arbnull} is applied to. % time as already seen \vref{sec:options}. % % \DescribeOption{width} |width|$=$\meta{length} -% \hfill\arabluaverb{Default: 0.3\linewidth}\\ The default width of +% \hfill\tcboxverb{Default: 0.3\linewidth}\\ The default width of % each hemistich that the verse consists of. It may be expressed in % any accepted unit of measurement, such as |4cm| or |2in|. However, % one must keep in mind that the total length of the two hemistichs @@ -2203,18 +2202,18 @@ word that \cs{arbnull} is applied to. % hemistichs distributed on subsequent lines. % % \DescribeOption{gutter} |gutter|$=$\meta{width} -% \hfill\arabluaverb{Default: 0.15 x (hemistich width)}\\ The gutter +% \hfill\tcboxverb{Default: 0.15 x (hemistich width)}\\ The gutter % consists of the blank space that is between the two hemistichs. By % default, it is commensurate with the width of the hemistich, but it % may be expressed in any accepted unit of measurement as well. % % \DescribeOption{metre} |metre|$=$\meta{name} -% \hfill\arabluaverb{Default: none}\\ If the name of the metre is +% \hfill\tcboxverb{Default: none}\\ If the name of the metre is % expressed, it is printed after the lines and set flush left in % |voc|, |fullvoc| and |novoc| modes or flush right in |trans| mode. % % \DescribeOption{delim} |delim|$=$|true|\verb+|+|false| -% \hfill\arabluaverb{Default: false}\\ This named argument does not +% \hfill\tcboxverb{Default: false}\\ This named argument does not % need a value as it defaults to |true| if it is used. If so, a % delimiter is printed between each of the hemistichs. By default, it % is set to the \enquote*{star} character \enquote*{*}. The @@ -2223,20 +2222,20 @@ word that \cs{arbnull} is applied to. % default setting. % % \DescribeOption{utf} |utf|$=$|true|\verb+|+|false| -% \hfill\arabluaverb{Default: false}\\ As the preceding one, this +% \hfill\tcboxverb{Default: false}\\ As the preceding one, this % named argument does not need a value as it defaults to |true| if it % is used. If so, Unicode Arabic input is expected in the |arabverse| % environment instead of \textsc{ascii} Arab\TeX\ or Buckwalter input % schemes. See \vref{sec:unicode-input} for more details. % % \DescribeOption{color} |color|$=$\meta{color name} -% \hfill\arabluaverb{Default: not set}\\ +% \hfill\tcboxverb{Default: not set}\\ % \NEWfeature{v1.13} The color in which lines of poetry are to be % rendered. % % \label{ref:poetry-export} % \DescribeOption{export} |export|$=$|true|\verb+|+|false| -% \hfill\arabluaverb{Default: false}\\ +% \hfill\tcboxverb{Default: false}\\ % \NEWfeature{v.1.13} This named argument does not need a value as it % defaults to |true| if it is used. If |export| is set as a global % option as well (see above \vpageref{export-mode}), all the lines @@ -2256,10 +2255,10 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} \cs{bayt}\marg{\arb[trans]{.sadr}}\oarg{\arb[trans]{tadwIr}}% \marg{\arb[trans]{`ajuz}}|\\| -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi @@ -2282,12 +2281,12 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} -\begin{arabverse}[mode=fullvoc, width=.3\linewidth] - \bayt{lA 'ar_A man `ahidtu fI-hA fa-'abkI 'l---}[--]{---yawma - dalhaN wa-mA yaruddu 'l-bukA'u}\\ -\end{arabverse} -\end{arabluacode} +\begin{example} + \begin{arabverse}[mode=fullvoc, width=.3\linewidth] + \bayt{lA 'ar_A man `ahidtu fI-hA fa-'abkI 'l---}[--]{---yawma + dalhaN wa-mA yaruddu 'l-bukA'u}\\ + \end{arabverse} +\end{example} % \iffalse %</example> % \fi% @@ -2304,12 +2303,12 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} -\begin{arabverse}[mode=trans, width=.4\linewidth] - \bayt{lA 'ar_A man `ahidtu fI-hA fa-'abkI 'l---}[--]{---yawma - dalhaN wa-mA yaruddu 'l-bukA'u}\\ -\end{arabverse} -\end{arabluacode} +\begin{example} + \begin{arabverse}[mode=trans, width=.4\linewidth] + \bayt{lA 'ar_A man `ahidtu fI-hA fa-'abkI 'l---}[--]{---yawma + dalhaN wa-mA yaruddu 'l-bukA'u}\\ + \end{arabverse} +\end{example} % \iffalse %</example> % \fi% @@ -2320,14 +2319,15 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} -\begin{arabverse}[mode=fullvoc, width=.25\linewidth, gutter=1cm] - \bayt{.gayra 'annI qad 'asta`Inu `al_A 'l-ha--}[--mmi ]{'i_dA - _haffa bi-'l-_tawiyyi 'l-na^gA'u}\\ - \bayt{bi-zaf--UfiN ka-'anna-hA hiq--laTuN}[ 'ummu ]{ri'AliN - dawwiyyaTuN saqfA'u}\\ -\end{arabverse} -\end{arabluacode} +\begin{example} + \begin{arabverse}[mode=fullvoc, width=.25\linewidth, + gutter=1cm] + \bayt{.gayra 'annI qad 'asta`Inu `al_A 'l-ha--}[--mmi ]{'i_dA + _haffa bi-'l-_tawiyyi 'l-na^gA'u}\\ + \bayt{bi-zaf--UfiN ka-'anna-hA hiq--laTuN}[ 'ummu ]{ri'AliN + dawwiyyaTuN saqfA'u}\\ + \end{arabverse} +\end{example} % \iffalse %</example> % \fi% @@ -2394,30 +2394,30 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\begin{arab}[fullvoc] - qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: -\end{arab} +\begin{code} + \begin{arab}[fullvoc] + qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: + \end{arab} -\begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina - 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}] - \SetArbDflt* - \begin{linenumbers*} - \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti - 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\ - \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu - rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\ - \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA - ka-'anna-hu .habbu fulfuli}\\ - \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A - samurAti 'l-.hayyi nAqifu .han.zali}\\ - \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA - tahlik 'asaN_A wa-ta^gammali}\\ - \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN - dAsiriN min mu`awwali}\\ - \end{linenumbers*} -\end{arabverse} -\end{arabluaverbatim} + \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina + 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}] + \SetArbDflt* + \begin{linenumbers*} + \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti + 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\ + \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu + rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\ + \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA + ka-'anna-hu .habbu fulfuli}\\ + \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A + samurAti 'l-.hayyi nAqifu .han.zali}\\ + \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna + lA tahlik 'asaN_A wa-ta^gammali}\\ + \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda + rasmiN dAsiriN min mu`awwali}\\ + \end{linenumbers*} + \end{arabverse} +\end{code} % \iffalse %</example> % \fi% @@ -2508,12 +2508,12 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{arab} \abraces{wa-qAla} 'inna 'abI kAna mina 'l-muqAtilaTi wa-kAna--<--t> 'ummI min `u.zamA'i buyUti 'l-zamAzimaTi. \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -2563,12 +2563,12 @@ word that \cs{arbnull} is applied to. % % As regards the right-to-left codepoint, it may be either typed in % Unicode or selected as Unicode codepoint. To that end, the \LaTeX\ -% command \arabluaverb{\symbol{"XYZT}} or its plain \TeX\ variant -% \arabluaverb{\char"XYZT\relax} may be used, where |XYZT| are +% command \tcboxverb{\symbol{"XYZT}} or its plain \TeX\ variant +% \tcboxverb{\char"XYZT\relax} may be used, where |XYZT| are % uppercase hex digits (|0| to |9| or |A| to |F|). % % It is also possible to use the so-called `|^^^^| notation' like so: -% \arabluaverb{^^^^xyzt}, where |xyzt| are lowercase hex digits (|0| +% \tcboxverb{^^^^xyzt}, where |xyzt| are lowercase hex digits (|0| % to |9| or |a| to |f|). % % As regards the third argument (left-to-right rendition), it may be @@ -2578,11 +2578,11 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} It must be noted that \cs{newarbmark} expects Arab\TeX\ input scheme inside \cs{arb}|[trans]{}| to the exclusion of \textsf{buckwalter} input scheme. -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi% @@ -2593,7 +2593,7 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \SetArbDflt* \newarbmark{sly}{\arbcolor[red]{^^^^06d6}}{} \newarbmark{jim}{\arbcolor[red]{^^^^06da}}{} @@ -2614,7 +2614,7 @@ word that \cs{arbnull} is applied to. 'an takrahUA ^say'aN wa-ya^g`ala 'l-l_ahu fI-hi _hayraN ka_tIraN ((19)) \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -2640,7 +2640,7 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \SetArbDflt* \newarbmark{alifsp}{^^^^0627}{\arb[trans]{'alif} } \newarbmark{lamsp}{^^^^0644^^^^0653}{\arb[trans]{lAm} } @@ -2655,8 +2655,8 @@ word that \cs{arbnull} is applied to. wa-yuqImUna 'l-.sal_aUTa wa-mimmA razaqn_a-hum yunfiqUna~\ayah{3} \end{arab} -\end{arabluacode} -\begin{arabluacode}[text only] +\end{example} +\begin{tcblisting}{text only} \SetArbDflt* \begin{arab}[trans] min ((sUraTi \uc{'l-b}aqaraTi)): @@ -2668,7 +2668,7 @@ word that \cs{arbnull} is applied to. wa-yuqImUna 'l-.sal_aUTa wa-mimmA razaqn_a-hum yunfiqUna~\ayah{3} \end{arab} -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi @@ -2707,7 +2707,7 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{arab} \arbcolor[red]{al-bAbu 'l-_hAmisu} fI .tabaqAti 'l-'a.tibbA'i 'lla_dIna kAnUA mun_du zamAni \uc{^gAlInUsa} wa-qarIbaN @@ -2722,7 +2722,7 @@ word that \cs{arbnull} is applied to. kalAmaN kulliyyaN fI 'a_hbAri \uc{^gAlInUsa} wa-mA kAna `alay-hi... \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -2891,11 +2891,11 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \newarbmark{Y}{^^^^0649}{} \arb{hud\arbcolor[red]{aN\arbnull{_A}}\arbmark{Y}} \arb[trans]{hud\arbcolor[red]{aN\arbnull{_A}}\arbmark{Y}} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi% @@ -2928,12 +2928,12 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \newarbmark{alifmaddahred}{^^^^0627\arbcolor[red]{^^^^0653}}% {\arb[trans]{\arbcolor[red]{'a'\arbnull{k}}}} \arb{\arbmark{alifmaddahred}kulu} \arb[trans]{\arbmark{alifmaddahred}kulu}. -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi% @@ -2954,11 +2954,11 @@ word that \cs{arbnull} is applied to. %\iffalse %<*example> % \fi -\begin{arabluacode} -\newarbmark{lamshaddah}{^^^^0651}{l} -\arb[fullvoc]{al-mu`al"\arbcolor[red]{\arbmark{lamshaddah}}.imUna} -\arb[trans]{al-mu`al"\arbcolor[red]{\arbmark{lamshaddah}}.imUna}. -\end{arabluacode} +\begin{example} + \newarbmark{lamshaddah}{^^^^0651}{l} + \arb[fullvoc]{al-mu`al"\arbcolor[red]{\arbmark{lamshaddah}}.imUna} + \arb[trans]{al-mu`al"\arbcolor[red]{\arbmark{lamshaddah}}.imUna}. +\end{example} % \iffalse %</example> % \fi% @@ -2981,13 +2981,13 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \newarbmark{lnn}{^^^^0644^^^^0646^^^^0651}{n-n} \arb[fullvoc]{fI\arbnull{al-} \arbcolor[red]{\arbnull{al-}a}\arbmark{lnn}Asi} \arb[trans]{fI\arbnull{al-} \arbcolor[red]{\arbnull{al-}a}\arbmark{lnn}Asi}. -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi% @@ -3055,10 +3055,10 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\usepackage{arabluatex} -\SetTranslitConvention{loc} -\end{arabluaverbatim} +\begin{code} + \usepackage{arabluatex} + \SetTranslitConvention{loc} +\end{code} % \iffalse %</example> % \fi @@ -3080,10 +3080,10 @@ word that \cs{arbnull} is applied to. % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\newfontfamily\translitfont{Gentium Plus}[Ligatures=TeX] -\SetTranslitFont{\translitfont} -\end{arabluaverbatim} +\begin{code} + \newfontfamily\translitfont{Gentium Plus}[Ligatures=TeX] + \SetTranslitFont{\translitfont} +\end{code} % \iffalse %</example> % \fi @@ -3160,14 +3160,14 @@ word that \cs{arbnull} is applied to. %\iffalse %<*example> % \fi -\begin{arabluacode} -From \textcite[i. 23 C]{Wright}:--- If the name following -\arb[fullvoc]{ibnuN} be that of the mother or the grandfather, the -\arb[fullvoc]{"a} is retained; as \arb[fullvoc]{`Is_A ibnu maryama}, +\begin{example} + From \textcite[i. 23 C]{Wright}:--- If the name following + \arb[fullvoc]{ibnuN} be that of the mother or the grandfather, the + \arb[fullvoc]{"a} is retained; as \arb[fullvoc]{`Is_A ibnu maryama}, \enquote{Jesus the son of Mary}; \arb[fullvoc]{`ammAru ibnu man.sUriN}, \enquote{\prname{`ammAr} the (grand)son of \prname{man.sUr}}. -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -3180,17 +3180,17 @@ From \textcite[i. 23 C]{Wright}:--- If the name following %\iffalse %<*example> % \fi -\begin{arabluacode} -\begin{nameauth} - \< Hunayn & \prname{'abU zayd} & \prname{.hunayn}, \prname{{i}bn - 'is.h_aq al-`ibAdiyy} & > % - \< Razi & \prname{'abU bakr mu.hammad ibn zakariyyA'} & - \prname{al-rAziyy} & > % -\end{nameauth} +\begin{example} + \begin{nameauth} + \< Hunayn & \prname{'abU zayd} & \prname{.hunayn}, \prname{{i}bn + 'is.h_aq al-`ibAdiyy} & > % + \< Razi & \prname{'abU bakr mu.hammad ibn zakariyyA'} & + \prname{al-rAziyy} & > % + \end{nameauth} -On first occurrence, proper names are printed as \Hunayn, \Razi. -Then as \Hunayn, \Razi. -\end{arabluacode} + On first occurrence, proper names are printed as \Hunayn, \Razi. + Then as \Hunayn, \Razi. +\end{example} % \iffalse %</example> % \fi @@ -3234,12 +3234,12 @@ Then as \Hunayn, \Razi. % \iffalse %<*example> % \fi -\begin{arabluacode} -\SetArbUp{\textsubscript{#1}} -Arabic |dmg| transliteration for \arb{ra'aytu ^gAmi`aN -muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu -^gAmi`aN muhaddamaTaN mi'_danatu-hu.} -\end{arabluacode} +\begin{example} + \SetArbUp{\textsubscript{#1}} + Arabic |dmg| transliteration for \arb{ra'aytu ^gAmi`aN + muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu + ^gAmi`aN muhaddamaTaN mi'_danatu-hu.} +\end{example} % \iffalse %</example> % \fi @@ -3409,10 +3409,10 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\usepackage{arabluatex} -\SetInputScheme{buckwalter} -\end{arabluaverbatim} +\begin{code} + \usepackage{arabluatex} + \SetInputScheme{buckwalter} +\end{code} % \iffalse %</example> % \fi @@ -3436,7 +3436,8 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % are currently used by \package{arabluatex}. The additional % characters that are defined in \vref{tab:additional-arabic-codings} % are also available. -% +% +% \enlargethispage{\baselineskip} % \begin{longtable}{llllll} % \bottomrule % \caption*{\Cref*{tab:buckwalter-scheme}: Buckwalter scheme} @@ -3456,6 +3457,7 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \endhead \footnotetext{See \vref{sec:transliteration}.} % \label{tab:buckwalter-scheme} % \arb[novoc]{a} & \dmg{a} & \loc{a} & \brill{a} & |A| & |A| \\ +% \pagebreak[1] % \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| & |b| \\ % \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| & |t| \\ % \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |v| & |v| \\ @@ -3483,7 +3485,6 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \arb[novoc]{h} & \dmg{h} & \loc{h} & \brill{h} & |h| & |h| \\ % \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| & |w| \\ % \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y| & |y| \\ -% \pagebreak % \arb[novoc]{Y} & \dmg{Y} & \loc{Y} & \brill{Y} & |Y| & |Y| \\ % \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |p| & |p| \\ % \midrule @@ -3566,11 +3567,11 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} \begin{txarab} <Unicode Arabic text> \end{txarab} -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -3608,16 +3609,16 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \iffalse %<*example> % \fi -\begin{arabluacode} -\renewcommand{\footnoterule}% - {\hfill\noindent\rule[1mm]{.4\textwidth}{.15mm}} -\begin{arab} -'inna 'abI kAna mina 'l-muqAtilaT-i\footnote{al-muqAtilaT-i: -al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i -'l-zamAzimaT-i\footnote{al-zamAzimaT-u: .tA'ifaT-u mina -'l-furs-i.}. -\end{arab} -\end{arabluacode} +\begin{example} + \renewcommand{\footnoterule}% + {\hfill\noindent\rule[1mm]{.4\textwidth}{.15mm}} + \begin{arab} + 'inna 'abI kAna mina 'l-muqAtilaT-i\footnote{al-muqAtilaT-i: + al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i + 'l-zamAzimaT-i\footnote{al-zamAzimaT-u: .tA'ifaT-u mina + 'l-furs-i.}. + \end{arab} +\end{example} % \iffalse %</example> % \fi @@ -3650,7 +3651,7 @@ al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{arab}[fullvoc] \uc{z}ayd-uN\arbnull{ibnu}\LRfootnote{% \enquote{\arb[trans]{\uc{z}ayd} is the son of @@ -3658,7 +3659,7 @@ al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i apposition to the first, but forms part of the predicate\ldots} \arbnull{zayduN}ibn-u \uc{`a}mr-iNU \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -3669,7 +3670,7 @@ al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i % number 18, one may get 81. \package{arabluatex} is not responsible % for that, but should it happen, it may be necessary to redefine in % the preamble the \LaTeX\ macro \cs{thefootnote} like so:---\\ -% \arabluaverb{\renewcommand*{\thefootnote}{\textsuperscript{\LR{\arabic{footnote}}}}} +% \tcboxverb{\renewcommand*{\thefootnote}{\textsuperscript{\LR{\arabic{footnote}}}}} % \DescribeMacro{\FixArbFtnmk} Another solution is to put in the % preamble, below the line that loads \package{arabluatex}, the % \cs{FixArbFtnmk} command. However, for more control over the layout @@ -3694,14 +3695,14 @@ al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i % \iffalse %<*example> % \fi -\begin{arabluacode} -\setRL -\section*{\arb{barzawayhi li-buzurjumihra bn-i 'l-buxtikAni}} -\setLR -\begin{arab} -qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... -\end{arab} -\end{arabluacode} +\begin{example} + \setRL + \section*{\arb{barzawayhi li-buzurjumihra bn-i 'l-buxtikAni}} + \setLR + \begin{arab} + qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... + \end{arab} +\end{example} % \iffalse %</example> % \fi @@ -3716,7 +3717,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % in its argument which \package{arabluatex} will process as such % before passing it on to the command itself for any further % processing. As a result of this feature, such a command as:\\ -% \arabluaverb{\newcommand{\fvarabic}[1]{\arb[fullvoc]{#1}}}\\ +% \tcboxverb{\newcommand{\fvarabic}[1]{\arb[fullvoc]{#1}}}\\ % will work as expected, but will always output non-vocalized Arabic % if it is inserted in a |novoc| Arabic environment because its % argument will have been processed by the |novoc| rules before the @@ -3729,7 +3730,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % argument a comma-separated list of commands each of which must be % stripped of its leading character % |\|, like so:---\\ -% \arabluaverb{\MkArbBreak{onecmd, anothercmd, yetanothercmd, ...}} +% \tcboxverb{\MkArbBreak{onecmd, anothercmd, yetanothercmd, ...}} % % For example, here follows a way to define a new command |\fvred| to % distinguish words with a different color and always print them in @@ -3737,15 +3738,15 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \MkArbBreak{fvred} \newcommand{\fvred}[1]{\arbcolor[red]{\arb[fullvoc]{#1}}} -\begin{arab}[voc] - _tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI - \fvred{((ma.tli`-i 'l-^sams-i))} wa-lA binA'-a la-hum - yu'amminu-hum mina 'l-^sams-i. -\end{arab} -\end{arabluacode} + \begin{arab}[voc] + _tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI + \fvred{((ma.tli`-i 'l-^sams-i))} wa-lA binA'-a la-hum + yu'amminu-hum mina 'l-^sams-i. + \end{arab} +\end{example} % \iffalse %</example> % \fi @@ -3783,35 +3784,34 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode}[text only] +\begin{tcblisting}{text only} It must be noted that \cs{MkArbBreak*} must be used with the utmost care and \emph{should never be used} if \cs{MkArbBreak} gives satisfaction. At any rate, the latter must always be tested before the former. -\end{arabluacode} +\end{tcblisting} % \iffalse %</example> % \fi% -% % % \subsection{Environments} % \label{sec:environments} % \changes{v1.5}{2016/11/14}{Environments may be nested inside the % \texttt{arab} environment} % \NEWfeature{v1.5} Environments such as -% \arabluaverb{\begin{quote}... \end{quote}} may be nested inside the +% \tcboxverb{\begin{quote} ... \end{quote}} may be nested inside the % |arab| environment. Up to one optional argument may be passed to % each nested environment, like so:--- % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\begin{arab} - \begin{<environment>}[<options>] - <Arabic text> - \end{<environment>} -\end{arab} -\end{arabluaverbatim} +\begin{code} + \begin{arab} + \begin{<environment>}[<options>] + <Arabic text> + \end{<environment>} + \end{arab} +\end{code} % \iffalse %</example> % \fi @@ -3820,7 +3820,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \setquotestyle{arabic} \begin{arab}[fullvoc] kAna \uc{'abU} \uc{'l-hu_dayli} 'ahd_A 'il_A \uc{muwaysiN} @@ -3841,7 +3841,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... fa-lA yazAlu fI h_a_dA wa-'l-'A_haru ya.d.haku .da.hkaN na`rifu-hu na.hnu wa-lA ya`rifu-hu \uc{'abU} \uc{'l-hu_dayli}. \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -3859,18 +3859,18 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode} - \setRL\paragraph{\arb[novoc]{rumUzi 'l-kitAbi}}\setLR - \begin{arab}[novoc] - \begin{description} - \item[b] max.tU.tu 'l-maktabaTi 'l-'ahliyyaTi bi-\uc{bArIs} 2860 - `arabiyyuN. - \item[s] max.tU.tu 'l-maktabaTi 'l-'ahliyyaTi bi-\uc{bArIs} 2859 - `arabiyyuN. - \item[m] max.tU.tu majlisi \arb[novoc]{^sUrAY malY} .tahrAna 521. - \end{description} - \end{arab} -\end{arabluacode} +\begin{example} + \setRL\paragraph{\arb[novoc]{rumUzi 'l-kitAbi}}\setLR + \begin{arab}[novoc] + \begin{description} + \item[b] max.tU.tu 'l-maktabaTi 'l-'ahliyyaTi bi-\uc{bArIs} 2860 + `arabiyyuN. + \item[s] max.tU.tu 'l-maktabaTi 'l-'ahliyyaTi bi-\uc{bArIs} 2859 + `arabiyyuN. + \item[m] max.tU.tu majlisi \arb[novoc]{^sUrAY malY} .tahrAna 521. + \end{description} + \end{arab} +\end{example} % \iffalse %</example> % \fi @@ -3880,7 +3880,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \setRL\centerline{\arb{\textbf{al-qAnUnu fI 'l-.tibbi}}}\setLR \begin{arab} \begin{itemize} @@ -3895,7 +3895,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... \end{itemize} \end{itemize} \end{arab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -3908,14 +3908,14 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} % preamble:--- \usepackage{enumitem} \newlist{enumabjad}{enumerate}{10} \setlist[enumabjad]{nosep, label={\abjad{\arabic*}}} \usepackage{multicol} -\end{arabluaverbatim} -\begin{arabluacode} +\end{code} +\begin{example} From \textcite[i. 29 B--C]{Wright}:--- The derived forms of the triliteral verb are usually reckoned fifteen in number, but the learner may pass over the last four, because (with the exception @@ -3942,7 +3942,7 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... \end{enumabjad} \end{arab} \end{multicols} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -3957,10 +3957,10 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\usepackage[french]{babel} -\frenchsetup{StandardLists=true} -\end{arabluaverbatim} +\begin{code} + \usepackage[french]{babel} + \frenchsetup{StandardLists=true} +\end{code} % \iffalse %</example> % \fi% @@ -3978,12 +3978,12 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\usepackage{csquotes} -\DeclareQuoteStyle{arabic} -{\textquotedblright}{\textquotedblleft} -{\textquoteright}{\textquoteleft} -\end{arabluaverbatim} +\begin{code} + \usepackage{csquotes} + \DeclareQuoteStyle{arabic} + {\textquotedblright}{\textquotedblleft} + {\textquoteright}{\textquoteleft} +\end{code} % \iffalse %</example> % \fi @@ -3991,14 +3991,14 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode} -\setquotestyle{arabic} -\begin{arab} - fa-qAla la-hu ju.hA: \enquote{.garIb-uN 'amru-ka yA .sadIqI - 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_diba-nI?} -\end{arab} -\setquotestyle{english} -\end{arabluacode} +\begin{example} + \setquotestyle{arabic} + \begin{arab} + fa-qAla la-hu ju.hA: \enquote{.garIb-uN 'amru-ka yA .sadIqI + 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_diba-nI?} + \end{arab} + \setquotestyle{english} +\end{example} % \iffalse %</example> % \fi @@ -4022,24 +4022,24 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluacode} -\begin{arab} - \textcolor{red}{\uc{m}uha_d_dabu \uc{'l-d}Ini \uc{`a}bdu - \uc{'l-r}a.hImi bnu \uc{`a}liyyiN} huwa ^say_hu-nA 'l-'imAmu - 'l-.sadru 'l-kabIru 'l-`Alimu 'l-fA.dilu \uc{m}uha_d_dabu - \uc{'l-d}Ini \uc{'a}bU \uc{m}u.hammadiN \uc{`a}bdu - \uc{'l-r}a.hImi bnu \uc{`a}liyyi bni \uc{.h}AmidiN wa-yu`rafu - bi-\uc{'l-d}a_hwari. -\end{arab} -\begin{arab}[trans] - \textcolor{red}{\uc{m}uha_d_dabu \uc{'l-d}Ini \uc{`a}bdu - \uc{'l-r}a.hImi bnu \uc{`a}liyyiN} huwa ^say_hu-nA 'l-'imAmu - 'l-.sadru 'l-kabIru 'l-`Alimu 'l-fA.dilu \uc{m}uha_d_dabu - \uc{'l-d}Ini \uc{'a}bU \uc{m}u.hammadiN \uc{`a}bdu - \uc{'l-r}a.hImi bnu \uc{`a}liyyi bni \uc{.h}AmidiN wa-yu`rafu - bi-\uc{'l-d}a_hwari. -\end{arab} -\end{arabluacode} +\begin{example} + \begin{arab} + \textcolor{red}{\uc{m}uha_d_dabu \uc{'l-d}Ini \uc{`a}bdu + \uc{'l-r}a.hImi bnu \uc{`a}liyyiN} huwa ^say_hu-nA 'l-'imAmu + 'l-.sadru 'l-kabIru 'l-`Alimu 'l-fA.dilu \uc{m}uha_d_dabu + \uc{'l-d}Ini \uc{'a}bU \uc{m}u.hammadiN \uc{`a}bdu + \uc{'l-r}a.hImi bnu \uc{`a}liyyi bni \uc{.h}AmidiN wa-yu`rafu + bi-\uc{'l-d}a_hwari. + \end{arab} + \begin{arab}[trans] + \textcolor{red}{\uc{m}uha_d_dabu \uc{'l-d}Ini \uc{`a}bdu + \uc{'l-r}a.hImi bnu \uc{`a}liyyiN} huwa ^say_hu-nA 'l-'imAmu + 'l-.sadru 'l-kabIru 'l-`Alimu 'l-fA.dilu \uc{m}uha_d_dabu + \uc{'l-d}Ini \uc{'a}bU \uc{m}u.hammadiN \uc{`a}bdu + \uc{'l-r}a.hImi bnu \uc{`a}liyyi bni \uc{.h}AmidiN wa-yu`rafu + bi-\uc{'l-d}a_hwari. + \end{arab} +\end{example} % \iffalse %</example> % \fi @@ -4055,16 +4055,16 @@ qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... % \iffalse %<*example> % \fi -\begin{arabluaverbatim} -\beginnumbering -\pstart -\begin{arab} -wa-ya.sIru ta.hta 'l-jild-i -\edtext{\arb{.sadId-uN}}{\Afootnote{M: \arb{.sadId-aN} E1}} -\end{arab} -\pend -\endnumbering -\end{arabluaverbatim} +\begin{code} + \beginnumbering + \pstart + \begin{arab} + wa-ya.sIru ta.hta 'l-jild-i + \edtext{\arb{.sadId-uN}}{\Afootnote{M: \arb{.sadId-aN} E1}} + \end{arab} + \pend + \endnumbering +\end{code} % \iffalse %</example> % \fi @@ -4089,10 +4089,10 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} \usepackage{arabluatex} \usepackage[nopar]{quran} -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -4102,11 +4102,11 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluacode} +\begin{example} \begin{txarab} \quransurah[1] \end{txarab} -\end{arabluacode} +\end{example} % \iffalse %</example> % \fi @@ -4131,12 +4131,12 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} % preamble \usepackage[export]{arabluatex} % or: \usepackage[export=true]{arabluatex} -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -4156,11 +4156,11 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} \begin{arabexport} <Running paragraphs of either Arabic or non-Arabic text> \end{arabexport} -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -4218,11 +4218,11 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} Package arabluatex Warning: There are still 'arabtex' strings to be converted. Please open <jobname><suffix>.tex and compile it one more time. -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -4240,9 +4240,9 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} pandoc file_out.tex -s -o file_out.odt -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -4254,7 +4254,7 @@ wa-ya.sIru ta.hta 'l-jild-i % \iffalse %<*example> % \fi -\begin{arabluaverbatim} +\begin{code} % preamble: \usepackage{arabluatex} % note that 'export' has been removed \renewcommand{\txarb}[1]{#1} @@ -4264,7 +4264,7 @@ wa-ya.sIru ta.hta 'l-jild-i % be safe to say: \renewcommand{\prname}[2]{#2} % &c -\end{arabluaverbatim} +\end{code} % \iffalse %</example> % \fi @@ -4327,9 +4327,9 @@ wa-ya.sIru ta.hta 'l-jild-i \DeclareOptionX{trans}{\def\al@mode{trans}} \define@boolkey{arabluatex.sty}[@pkg@]{export}[true]{% \if@pkg@export% - \AtBeginDocument{\luadirect{al_openstream()}% + \AtBeginDocument{\luadirect{arabluatex.openstream()}% \MkArbBreak{@al@ob,@al@cb,@al@cb@sp}} - \AtEndDocument{\luadirect{al_closestream()}} + \AtEndDocument{\luadirect{arabluatex.closestream()}} \else\fi} \ExecuteOptionsX{voc} \ProcessOptionsX\relax @@ -4347,7 +4347,6 @@ wa-ya.sIru ta.hta 'l-jild-i \RequirePackage{fontspec} \RequirePackage{luacode} \RequirePackage{xparse} -\RequirePackage{environ} \RequirePackage{adjustbox} \RequirePackage{xstring} \PassOptionsToPackage{normalem}{ulem} @@ -4372,13 +4371,15 @@ wa-ya.sIru ta.hta 'l-jild-i % \begin{macro}{\setRL} % This neutralizes what may be defined by other packages: % \begin{macrocode} -\AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT\textdir TRT}} +\AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT% + \textdir TRT}} % \end{macrocode} % \end{macro} % \begin{macro}{\setLR} % The same applies to \cs{setLR}: % \begin{macrocode} -\AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT\textdir TLT}} +\AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT% + \textdir TLT}} % \end{macrocode} % \end{macro} % \begin{macro}{\LR} This command typesets its argument from left to @@ -4415,8 +4416,8 @@ wa-ya.sIru ta.hta 'l-jild-i % \begin{macrocode} \NewDocumentCommand{\MkArbBreak}{s m}{% \IfBooleanTF{#1} - {\luadirect{mkarbbreak(\luastringN{#2}, "out")}} - {\luadirect{mkarbbreak(\luastringN{#2}, "dflt")}} + {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "out")}} + {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "dflt")}} } % \end{macrocode} % \end{macro} @@ -4437,12 +4438,16 @@ wa-ya.sIru ta.hta 'l-jild-i \AtBeginDocument{\ifdef{\aemph}% {\RenewDocumentCommand{\aemph}{s m}{% \IfBooleanTF{#1}{% - \luadirect{tex.sprint(aemph(\luastringN{#2}, "over"))}} - {\luadirect{tex.sprint(aemph(\luastringN{#2}, "dflt"))}}}} + \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "over"))}} + {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "dflt"))}}}} {\NewDocumentCommand{\aemph}{s m}{% \IfBooleanTF{#1}{% - \luadirect{tex.sprint(aemph(\luastringN{#2}, "over"))}} - {\luadirect{tex.sprint(aemph(\luastringN{#2}, "dflt"))}}}}} + \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "over"))}} + {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "dflt"))}}}}} % \end{macrocode} % \end{macro} % \end{macro} @@ -4531,7 +4536,8 @@ wa-ya.sIru ta.hta 'l-jild-i % the transliteration convention, which is |dmg| by default: % \begin{macrocode} \def\al@trans@convention{dmg} -\NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}} +\NewDocumentCommand{\SetTranslitConvention}{m}{% + \def\al@trans@convention{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\arbup} @@ -4551,12 +4557,13 @@ wa-ya.sIru ta.hta 'l-jild-i % formatting directives as argument, like so: % \cs{SetArbUp}\marg{code}. % \begin{macrocode} -\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{\thinspace#1}}% +\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{#1}}% \NewDocumentCommand{\al@arbup}{m}{\al@arbup@dflt{#1}} \NewDocumentCommand{\arbup}{m}{\al@arbup{#1}} \NewDocumentCommand{\ArbUpDflt}{}{\let\al@arbup=\al@arbup@dflt} \NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al@arbup}{m}{##1}} -\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al@arbup}{m}{#1}} +\NewDocumentCommand{\SetArbUp}{m}{% + \RenewDocumentCommand{\al@arbup}{m}{#1}} % \end{macrocode} % \end{macro} % \end{macro} @@ -4567,7 +4574,7 @@ wa-ya.sIru ta.hta 'l-jild-i % uppercased. \cs{uc} is actually coded in Lua. % \begin{macrocode} \NewDocumentCommand{\uc}{m}% - {\luadirect{tex.sprint(uc(\luastringN{#1}))}} + {\luadirect{tex.sprint(arabluatex.uc(\luastringN{#1}))}} % \end{macrocode} % \end{macro} % \begin{macro}{\Uc} \cs{uc} can be used safely in all of the modes @@ -4638,22 +4645,22 @@ wa-ya.sIru ta.hta 'l-jild-i {\edef\@tempa{#1}% \ifx\@tempa\al@mode@voc% \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont% - \luadirect{tex.sprint(processvoc(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@fullvoc% \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont% - \luadirect{tex.sprint(processfullvoc(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@novoc% \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\textdir TLT\al@trans@font\al@trans@style% - \luadirect{tex.sprint(processtrans(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% @@ -4674,7 +4681,7 @@ wa-ya.sIru ta.hta 'l-jild-i \NewDocumentCommand{\arbmark}{O{} m}{% \bgroup% \SetInputScheme{arabtex}% - \luadirect{tex.sprint(processarbmarks(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processarbmarks(\luastringN{#2}, \luastringN{#1}))}% \egroup} % \end{macrocode} @@ -4688,40 +4695,41 @@ wa-ya.sIru ta.hta 'l-jild-i % romanized Arabic. % \begin{macrocode} \NewDocumentCommand{\newarbmark}{m m m}{% - \luadirect{newarbmark(\luastringN{#1}, \luastringN{#2}, \luastringN{#3})}} + \luadirect{arabluatex.newarbmark(\luastringN{#1}, \luastringN{#2}, + \luastringN{#3})}} % \end{macrocode} % \end{macro} % \begin{environment}{arab} % The |arab| environment does for paragraphs the same as \cs{arb} does % for short insertions of Arabic text. % \begin{macrocode} -\NewEnviron{arab}[1][\al@mode]% +\NewDocumentEnvironment{arab}{O{\al@mode} +b}% {\par\edef\@tempa{#1}% \ifx\@tempa\al@mode@voc% \booltrue{al@rlmode}% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processvoc(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@fullvoc% \booltrue{al@rlmode}% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processfullvoc(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@novoc% \booltrue{al@rlmode}% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\pardir TLT\textdir TLT\al@trans@font\al@trans@style% - \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% - \else \fi\fi\fi\fi}[\par] + \else \fi\fi\fi\fi}{\par} % \end{macrocode} % \end{environment} % \begin{environment}{arabverse} @@ -4758,11 +4766,11 @@ wa-ya.sIru ta.hta 'l-jild-i \if@pkg@export\ifal@verse@export% \ArbOutFile{\begin{arabverse}}% % \ifx\al@mode\al@mode@trans% - % \luadirect{tooutfile(\luastringN{[#1]})}% + % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}% % \else% \IfSubStr[1]{#1}{utf}% - {\luadirect{tooutfile(\luastringN{[#1]})}}% - {\luadirect{tooutfile(\luastringN{[#1, utf]})}}% + {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}% + {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}% % \fi \else\fi\else\fi\egroup% \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% @@ -4774,7 +4782,7 @@ wa-ya.sIru ta.hta 'l-jild-i \else% \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% \fi% - \arab@v@export{#1} + \arab@v@export[#1] }% {\endarab@v@export \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, @@ -4852,13 +4860,15 @@ wa-ya.sIru ta.hta 'l-jild-i \ifdefined\abjad% \RenewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} - {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{% + \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} + {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} \else% \NewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} - {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{% + \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} + {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} \fi} % \end{macrocode} % \end{macro} @@ -4868,7 +4878,7 @@ wa-ya.sIru ta.hta 'l-jild-i % depending on the mode which is selected. % \begin{macrocode} \NewDocumentCommand{\ayah}{m}{% - \luadirect{tex.sprint(ayah(\luastringN{#1}))}} + \luadirect{tex.sprint(arabluatex.ayah(\luastringN{#1}))}} % \end{macrocode} % \end{macro} % @@ -4890,7 +4900,7 @@ wa-ya.sIru ta.hta 'l-jild-i % expresses its argument between braces.} % \begin{macrocode} \NewDocumentCommand{\abraces}{+m}{% - \luadirect{tex.sprint(abraces(\luastringN{#1}))}} + \luadirect{tex.sprint(arabluatex.abraces(\luastringN{#1}))}} % \end{macrocode} % \end{macro} % \begin{macro}{\LRmarginpar} \cs{LRmarginpar} is supposed to be @@ -4924,9 +4934,11 @@ wa-ya.sIru ta.hta 'l-jild-i % \begin{macrocode} \NewDocumentCommand{\FixArbFtnmk}{}{% \@ifpackageloaded{scrextend}% - {\AtBeginDocument{\deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}% + {\AtBeginDocument{% + \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}% {\RequirePackage{scrextend} - \AtBeginDocument{\deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}} + \AtBeginDocument{% + \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}} % \end{macrocode} % \end{macro} % @@ -4940,7 +4952,7 @@ wa-ya.sIru ta.hta 'l-jild-i % set with \cs{SetArbOutSuffix}\marg{suffix}. % \begin{macrocode} \NewDocumentCommand{\SetArbOutSuffix}{m}{ - \luadirect{al_utffilesuffix(\luastringN{#1})}} + \luadirect{arabluatex.utffilesuffix(\luastringN{#1})}} % \end{macrocode} % \end{macro} % \begin{macro}{\ArbOutFile} @@ -4958,8 +4970,8 @@ wa-ya.sIru ta.hta 'l-jild-i \NewDocumentCommand{\ArbOutFile}{s O{no} +m}{% \if@pkg@export% \IfBooleanTF{#1}{% - #3\luadirect{tooutfile(\luastringN{#3}, "#2")}}{% - \luadirect{tooutfile(\luastringN{#3}, "#2")}}% + #3\luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}{% + \luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}% \else\IfBooleanTF{#1}{#3}{}\fi} % \end{macrocode} % \end{macro} @@ -4974,32 +4986,32 @@ wa-ya.sIru ta.hta 'l-jild-i % selected |.tex| file with Unicode in place of the original % |arabtex| or |buckwalter| strings. % \begin{macrocode} -\NewEnviron{arabexport}{% +\NewDocumentEnvironment{arabexport}{+b}{% \if@pkg@export% \par - \BODY - \luadirect{al_doexport("yes")} - \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} - \luadirect{al_doexport("no")} - \else\par\BODY\fi - }[\par] + #1 + \luadirect{arabluatex.doexport("yes")} + \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#1}))} + \luadirect{arabluatex.doexport("no")} + \else\par#1\fi + }{\par} % \end{macrocode} % \end{environment} % \begin{environment}{arab@v@export} The |arab@v@export| environment % does for |arabverse| the same as |arabexport|. It is used % internally by |arabverse|. % \begin{macrocode} -\NewEnviron{arab@v@export}[1]{% +\NewDocumentEnvironment{arab@v@export}{O{} +b}{% \setkeys[al]{verse}[width, gutter, color, utf, delim, mode, metre]{#1} \if@pkg@export\ifal@verse@export% \par - \BODY - \luadirect{al_doexport("arabverse")} - \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} - \luadirect{al_doexport("no")} - \else\par\BODY\fi\else\par\BODY\fi -}[\par] + #2 + \luadirect{arabluatex.doexport("arabverse")} + \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))} + \luadirect{arabluatex.doexport("no")} + \else\par#2\fi\else\par#2\fi +}{\par} % \end{macrocode} % \end{environment} % \begin{macro}{\arbpardir} diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua index 9d8343810f6..df031569c01 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua @@ -22,6 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. --]] +arabluatex = {} + require("arabluatex_voc") require("arabluatex_fullvoc") require("arabluatex_novoc") @@ -95,7 +97,7 @@ local albrkcmds = { } local brkcmds = {} -function mkarbbreak(str, opt) +function arabluatex.mkarbbreak(str, opt) str = str .."," str = string.gsub(str, "%s+", "") local fieldstart = 1 @@ -659,17 +661,17 @@ end local utffilesuffix = "_out" local export_utf = "no" -function al_utffilesuffix(str) +function arabluatex.utffilesuffix(str) utffilesuffix = str return true end -function al_doexport(str) +function arabluatex.doexport(str) export_utf = str return true end -function al_openstream() +function arabluatex.openstream() local f = io.open(tex.jobname..utffilesuffix.."_tmp.tex", "a+") local preamble = io.open(tex.jobname..".tex", "r") for line in preamble:lines() do @@ -706,7 +708,7 @@ local function processarbtoutf(str) body = string.gsub(body, "(\\abjad%s?)(%b{})", function(btag, bbody) bbody = string.sub(bbody, 2, -2) if tonumber(bbody) ~= nil then - bbody = abjadify(bbody) + bbody = arabluatex.abjadify(bbody) return string.format("\\oline*{\\arb[novoc]{%s}}", bbody) else return string.format("%s{%s}", btag, bbody) @@ -793,7 +795,7 @@ local function processarbtoutf(str) return str end -function arbtoutf(str) +function arabluatex.arbtoutf(str) str = processarbtoutf(str) str = "\\ArbOutFile{"..str.."}" str = string.gsub(str, "(\\ArbOutFile)%s?(%b{})", function(tag, body) @@ -814,7 +816,7 @@ function arbtoutf(str) return str end -function tooutfile(str, nl) +function arabluatex.tooutfile(str, nl) local f = io.open(tex.jobname..utffilesuffix.."_tmp.tex", "a+") if nl == "newline" then f:write(str, "\n\n") @@ -825,7 +827,7 @@ function tooutfile(str, nl) return str end -function al_closestream() +function arabluatex.closestream() local f = io.open(tex.jobname..utffilesuffix.."_tmp.tex", "r") local o = io.open(tex.jobname..utffilesuffix..".tex", "w") local t = f:read("*a") @@ -883,7 +885,7 @@ function al_closestream() end -- Process standard arabluatex modes: -function processvoc(str, rules, scheme) +function arabluatex.processvoc(str, rules, scheme) str = takeoutarb(str) str = processarbnull(str, scheme) str = takeoutcapetc(str) @@ -901,17 +903,17 @@ function processvoc(str, rules, scheme) str = unprotectarb(str) if export_utf == "yes" then tofile = "\\txarb{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) elseif export_utf == "arabverse" then tofile = "\\txarb{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) else return str end return "" end -function processfullvoc(str, rules, scheme) +function arabluatex.processfullvoc(str, rules, scheme) str = takeoutarb(str) str = processarbnull(str, scheme) str = takeoutcapetc(str) @@ -931,17 +933,17 @@ function processfullvoc(str, rules, scheme) str = unprotectarb(str) if export_utf == "yes" then tofile = "\\txarb{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) elseif export_utf == "arabverse" then tofile = "\\txarb{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) else return str end return "" end -function processnovoc(str, rules, scheme) +function arabluatex.processnovoc(str, rules, scheme) str = takeoutarb(str) str = processarbnull(str, scheme) str = takeoutcapetc(str) @@ -959,17 +961,17 @@ function processnovoc(str, rules, scheme) str = unprotectarb(str) if export_utf == "yes" then tofile = "\\txarb{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) elseif export_utf == "arabverse" then tofile = "\\txarb{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) else return str end return "" end -function processtrans(str, mode, rules, scheme) +function arabluatex.processtrans(str, mode, rules, scheme) str = takeoutarb(str) str = processdiscretionary(str) str = processarbnull(str, scheme) @@ -990,17 +992,17 @@ function processtrans(str, mode, rules, scheme) str = unprotectarb(str) if export_utf == "yes" then tofile = "\\txtrans{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) elseif export_utf == "arabverse" then tofile = "\\txtrans{"..str.."}" - tooutfile(tofile) + arabluatex.tooutfile(tofile) else return str end return "" end -function newarbmark(abbr, rtlmk, ltrmk) +function arabluatex.newarbmark(abbr, rtlmk, ltrmk) abbr = "@"..abbr rtlmk = "\\arabicfont{}"..rtlmk table.insert(arbmarks, {a = abbr, b = rtlmk, c = ltrmk}) @@ -1017,7 +1019,7 @@ local function isintable(table, element) return false end -function processarbmarks(str, dir) +function arabluatex.processarbmarks(str, dir) str = "@"..str if not isintable(arbmarks, str) then str = "\\LR{<??>}"..atletter.."\\al@wrong@mark{}"..atother @@ -1042,17 +1044,17 @@ function processarbmarks(str, dir) end if export_utf == "yes" then tofile = str - tooutfile(tofile) + arabluatex.tooutfile(tofile) elseif export_utf == "arabverse" then tofile = str - tooutfile(tofile) + arabluatex.tooutfile(tofile) else return str end return "" end -function uc(str) +function arabluatex.uc(str) str = string.gsub(str, "(\\txtrans.?)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("%s", body) @@ -1113,10 +1115,10 @@ function uc(str) str = string.gsub(str, "\\@al@cb", "}") if export_utf == "yes" then tofile = str - tooutfile(tofile) + arabluatex.tooutfile(tofile) elseif export_utf == "arabverse" then tofile = str - tooutfile(tofile) + arabluatex.tooutfile(tofile) else return str end @@ -1126,7 +1128,7 @@ end -- this function is adapted from an 'obsolete project' of Khaled -- Hosny's that dates back to 2010. Thanks to him. -- See https://github.com/khaledhosny/lualatex-arabic -function abjadify(n) +function arabluatex.abjadify(n) local abjadnum = "" n = tonumber(n) if n >= 1000 then @@ -1149,7 +1151,7 @@ function abjadify(n) return "\\arb[novoc]{"..abjadnum.."}" end -function abraces(str) +function arabluatex.abraces(str) if tex.textdir == "TRT" then str = "\\}"..str.."\\{" elseif tex.textdir == "TLT" then @@ -1158,7 +1160,7 @@ function abraces(str) return str end -function aemph(str, opt) +function arabluatex.aemph(str, opt) if tex.textdir == "TRT" then str = "\\oline{\\textdir TRT{}"..str.."}" elseif tex.textdir == "TLT" then @@ -1171,7 +1173,7 @@ function aemph(str, opt) return str end -function ayah(str) +function arabluatex.ayah(str) if tonumber(str) ~= nil and str.len(str) < 4 then if tex.textdir == "TRT" then str = indnum(str).."^^^^06dd" diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty index ebe1ff2a831..f5d9d08fbe6 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty @@ -41,7 +41,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{arabluatex} - [2019/03/22 v1.16 An ArabTeX-like interface for LuaLaTeX] + [2019/03/24 v1.17 An ArabTeX-like interface for LuaLaTeX] \RequirePackage{ifluatex} \ifluatex\else \PackageError{arabluatex}{lualatex needed}{% @@ -57,9 +57,9 @@ \DeclareOptionX{trans}{\def\al@mode{trans}} \define@boolkey{arabluatex.sty}[@pkg@]{export}[true]{% \if@pkg@export% - \AtBeginDocument{\luadirect{al_openstream()}% + \AtBeginDocument{\luadirect{arabluatex.openstream()}% \MkArbBreak{@al@ob,@al@cb,@al@cb@sp}} - \AtEndDocument{\luadirect{al_closestream()}} + \AtEndDocument{\luadirect{arabluatex.closestream()}} \else\fi} \ExecuteOptionsX{voc} \ProcessOptionsX\relax @@ -74,7 +74,6 @@ \RequirePackage{fontspec} \RequirePackage{luacode} \RequirePackage{xparse} -\RequirePackage{environ} \RequirePackage{adjustbox} \RequirePackage{xstring} \PassOptionsToPackage{normalem}{ulem} @@ -85,8 +84,10 @@ \PackageWarning{arabluatex}{\string\arabicfont\ is not defined.^^J I will try to load Amiri}% \newfontfamily\arabicfont[Script=Arabic]{Amiri}\fi}% -\AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT\textdir TRT}} -\AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT\textdir TLT}} +\AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT% + \textdir TRT}} +\AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT% + \textdir TLT}} \AtBeginDocument{\ifdef{\LR}% {\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}} {\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}} @@ -95,8 +96,8 @@ {\NewDocumentCommand{\RL}{m}{\bgroup\textdir TRT#1\rmfamily\egroup}}} \NewDocumentCommand{\MkArbBreak}{s m}{% \IfBooleanTF{#1} - {\luadirect{mkarbbreak(\luastringN{#2}, "out")}} - {\luadirect{mkarbbreak(\luastringN{#2}, "dflt")}} + {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "out")}} + {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "dflt")}} } \def\oline{\@ifstar\@oline\@@oline} \def\@oline#1{\ensuremath{\overline{\mbox{#1}}}} @@ -104,12 +105,16 @@ \AtBeginDocument{\ifdef{\aemph}% {\RenewDocumentCommand{\aemph}{s m}{% \IfBooleanTF{#1}{% - \luadirect{tex.sprint(aemph(\luastringN{#2}, "over"))}} - {\luadirect{tex.sprint(aemph(\luastringN{#2}, "dflt"))}}}} + \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "over"))}} + {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "dflt"))}}}} {\NewDocumentCommand{\aemph}{s m}{% \IfBooleanTF{#1}{% - \luadirect{tex.sprint(aemph(\luastringN{#2}, "over"))}} - {\luadirect{tex.sprint(aemph(\luastringN{#2}, "dflt"))}}}}} + \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "over"))}} + {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2}, + "dflt"))}}}}} \NewDocumentCommand{\arbcolor}{o m}{% \IfNoValueTF{#1}{#2}{\textcolor{#1}{#2}}} \def\al@input@scheme{arabtex} @@ -128,15 +133,17 @@ \def\al@trans@style{\itshape}% \NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}} \def\al@trans@convention{dmg} -\NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}} -\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{\thinspace#1}}% +\NewDocumentCommand{\SetTranslitConvention}{m}{% + \def\al@trans@convention{#1}} +\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{#1}}% \NewDocumentCommand{\al@arbup}{m}{\al@arbup@dflt{#1}} \NewDocumentCommand{\arbup}{m}{\al@arbup{#1}} \NewDocumentCommand{\ArbUpDflt}{}{\let\al@arbup=\al@arbup@dflt} \NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al@arbup}{m}{##1}} -\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al@arbup}{m}{#1}} +\NewDocumentCommand{\SetArbUp}{m}{% + \RenewDocumentCommand{\al@arbup}{m}{#1}} \NewDocumentCommand{\uc}{m}% - {\luadirect{tex.sprint(uc(\luastringN{#1}))}} + {\luadirect{tex.sprint(arabluatex.uc(\luastringN{#1}))}} \let\Uc\uc \NewDocumentCommand{\prname}{s m}{% \bgroup\SetTranslitStyle{\relax}% @@ -153,22 +160,22 @@ {\edef\@tempa{#1}% \ifx\@tempa\al@mode@voc% \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont% - \luadirect{tex.sprint(processvoc(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@fullvoc% \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont% - \luadirect{tex.sprint(processfullvoc(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@novoc% \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\textdir TLT\al@trans@font\al@trans@style% - \luadirect{tex.sprint(processtrans(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% @@ -177,38 +184,39 @@ \NewDocumentCommand{\arbmark}{O{} m}{% \bgroup% \SetInputScheme{arabtex}% - \luadirect{tex.sprint(processarbmarks(\luastringN{#2}, + \luadirect{tex.sprint(arabluatex.processarbmarks(\luastringN{#2}, \luastringN{#1}))}% \egroup} \NewDocumentCommand{\newarbmark}{m m m}{% - \luadirect{newarbmark(\luastringN{#1}, \luastringN{#2}, \luastringN{#3})}} -\NewEnviron{arab}[1][\al@mode]% + \luadirect{arabluatex.newarbmark(\luastringN{#1}, \luastringN{#2}, + \luastringN{#3})}} +\NewDocumentEnvironment{arab}{O{\al@mode} +b}% {\par\edef\@tempa{#1}% \ifx\@tempa\al@mode@voc% \booltrue{al@rlmode}% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processvoc(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@fullvoc% \booltrue{al@rlmode}% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processfullvoc(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@novoc% \booltrue{al@rlmode}% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\pardir TLT\textdir TLT\al@trans@font\al@trans@style% - \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, + \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% - \else \fi\fi\fi\fi}[\par] + \else \fi\fi\fi\fi}{\par} \newlength{\al@bayt@width} \newlength{\al@gutter@width} \setlength{\al@bayt@width}{.3\textwidth} @@ -230,11 +238,11 @@ \if@pkg@export\ifal@verse@export% \ArbOutFile{\begin{arabverse}}% % \ifx\al@mode\al@mode@trans% - % \luadirect{tooutfile(\luastringN{[#1]})}% + % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}% % \else% \IfSubStr[1]{#1}{utf}% - {\luadirect{tooutfile(\luastringN{[#1]})}}% - {\luadirect{tooutfile(\luastringN{[#1, utf]})}}% + {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}% + {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}% % \fi \else\fi\else\fi\egroup% \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% @@ -246,7 +254,7 @@ \else% \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% \fi% - \arab@v@export{#1} + \arab@v@export[#1] }% {\endarab@v@export \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, @@ -293,19 +301,21 @@ \ifdefined\abjad% \RenewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} - {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{% + \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} + {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} \else% \NewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} - {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{% + \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} + {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} \fi} \NewDocumentCommand{\ayah}{m}{% - \luadirect{tex.sprint(ayah(\luastringN{#1}))}} + \luadirect{tex.sprint(arabluatex.ayah(\luastringN{#1}))}} \NewDocumentCommand{\arbnull}{m}{\relax} \NewDocumentCommand{\abraces}{+m}{% - \luadirect{tex.sprint(abraces(\luastringN{#1}))}} + \luadirect{tex.sprint(arabluatex.abraces(\luastringN{#1}))}} \DeclareDocumentCommand{\LRmarginpar}{o m}{% \IfNoValueTF{#1} {\marginpar{\textdir TLT #2}} @@ -316,37 +326,39 @@ TRT\textdir TRT\footnote{#1}\egroup} \NewDocumentCommand{\FixArbFtnmk}{}{% \@ifpackageloaded{scrextend}% - {\AtBeginDocument{\deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}% + {\AtBeginDocument{% + \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}% {\RequirePackage{scrextend} - \AtBeginDocument{\deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}} + \AtBeginDocument{% + \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}} \NewDocumentCommand{\SetArbOutSuffix}{m}{ - \luadirect{al_utffilesuffix(\luastringN{#1})}} + \luadirect{arabluatex.utffilesuffix(\luastringN{#1})}} \NewDocumentCommand{\ArbOutFile}{s O{no} +m}{% \if@pkg@export% \IfBooleanTF{#1}{% - #3\luadirect{tooutfile(\luastringN{#3}, "#2")}}{% - \luadirect{tooutfile(\luastringN{#3}, "#2")}}% + #3\luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}{% + \luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}% \else\IfBooleanTF{#1}{#3}{}\fi} -\NewEnviron{arabexport}{% +\NewDocumentEnvironment{arabexport}{+b}{% \if@pkg@export% \par - \BODY - \luadirect{al_doexport("yes")} - \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} - \luadirect{al_doexport("no")} - \else\par\BODY\fi - }[\par] -\NewEnviron{arab@v@export}[1]{% + #1 + \luadirect{arabluatex.doexport("yes")} + \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#1}))} + \luadirect{arabluatex.doexport("no")} + \else\par#1\fi + }{\par} +\NewDocumentEnvironment{arab@v@export}{O{} +b}{% \setkeys[al]{verse}[width, gutter, color, utf, delim, mode, metre]{#1} \if@pkg@export\ifal@verse@export% \par - \BODY - \luadirect{al_doexport("arabverse")} - \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} - \luadirect{al_doexport("no")} - \else\par\BODY\fi\else\par\BODY\fi -}[\par] + #2 + \luadirect{arabluatex.doexport("arabverse")} + \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))} + \luadirect{arabluatex.doexport("no")} + \else\par#2\fi\else\par#2\fi +}{\par} \NewDocumentCommand{\arbpardir}{}{% \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi} \newcommand{\al@warning}[1]{\PackageWarning{arabluatex}{#1}} |