aboutsummaryrefslogtreecommitdiff
path: root/arabluatex.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'arabluatex.dtx')
-rw-r--r--arabluatex.dtx1389
1 files changed, 918 insertions, 471 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index 71dfd1d..3b2f4c2 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -1,23 +1,22 @@
1% \iffalse meta-comment 1% \iffalse meta-comment
2% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX 2% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
3% Copyright (C) 2016--2019 Robert Alesssi 3% Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Robert
4%
5% Please send error reports and suggestions for improvements to Robert
6% Alessi <alessi@robertalessi.net> 4% Alessi <alessi@robertalessi.net>
7% 5%
8% This program is free software: you can redistribute it and/or modify 6% Permission to use, copy, modify, and distribute this software for any
9% it under the terms of the GNU General Public License as published by 7% purpose with or without fee is hereby granted, provided that the above
10% the Free Software Foundation, either version 3 of the License, or 8% copyright notice and this permission notice appear in all copies.
11% (at your option) any later version. 9%
12% 10% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13% This program is distributed in the hope that it will be useful, but 11% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14% WITHOUT ANY WARRANTY; without even the implied warranty of 12% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16% General Public License for more details. 14% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17% 17%
18% You should have received a copy of the GNU General Public License 18% Please send error reports and suggestions for improvements to Robert
19% along with this program. If not, see 19% Alessi <alessi@robertalessi.net>
20% <http://www.gnu.org/licenses/>.
21% \fi 20% \fi
22% 21%
23% \iffalse 22% \iffalse
@@ -27,7 +26,7 @@
27%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] 26%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
28%<package>\ProvidesPackage{arabluatex} 27%<package>\ProvidesPackage{arabluatex}
29%<*package> 28%<*package>
30 [2019/03/24 v1.17 An ArabTeX-like interface for LuaLaTeX] 29 [2023/05/21 v1.21-dev ArabTeX for LuaLaTeX]
31%</package> 30%</package>
32% 31%
33%<*driver> 32%<*driver>
@@ -37,24 +36,24 @@
37% This file is part of the `arabluatex' package 36% This file is part of the `arabluatex' package
38% 37%
39% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX 38% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
40% Copyright (C) 2016--2019 Robert Alessi
41% 39%
42% Please send error reports and suggestions for improvements to Robert 40% Copyright (C) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
43% Alessi <alessi@robertalessi.net> 41% Robert Alessi <alessi@robertalessi.net>
44%
45% This program is free software: you can redistribute it and/or modify
46% it under the terms of the GNU General Public License as published by
47% the Free Software Foundation, either version 3 of the License, or
48% (at your option) any later version.
49% 42%
50% This program is distributed in the hope that it will be useful, but 43% Permission to use, copy, modify, and distribute this software for any
51% WITHOUT ANY WARRANTY; without even the implied warranty of 44% purpose with or without fee is hereby granted, provided that the above
52% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 45% copyright notice and this permission notice appear in all copies.
53% General Public License for more details. 46%
47% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
48% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
49% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
50% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
51% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
52% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
53% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
54% 54%
55% You should have received a copy of the GNU General Public License 55% Please send error reports and suggestions for improvements to Robert
56% along with this program. If not, see 56% Alessi <alessi@robertalessi.net>
57% <http://www.gnu.org/licenses/>.
58 57
59@software{pkg:arabtex, 58@software{pkg:arabtex,
60 author = {Lagally, Klaus}, 59 author = {Lagally, Klaus},
@@ -78,6 +77,15 @@
78 url = {http://www.amirifont.org/} 77 url = {http://www.amirifont.org/}
79} 78}
80 79
80@software{pkg:ekdosis,
81 title = {The Ekdosis package},
82 subtitle = {Typesetting TEI-xml compliant Critical Editions},
83 author = {Alessi, Robert},
84 url = {http://www.ekdosis.org},
85 date = {2021-11-21},
86 version = {1.4}
87}
88
81@Book{Habash, 89@Book{Habash,
82 author = {Habash, Nizar Y.}, 90 author = {Habash, Nizar Y.},
83 title = {Introduction to Arabic Natural Language Processing}, 91 title = {Introduction to Arabic Natural Language Processing},
@@ -88,6 +96,16 @@
88 location = {Toronto} 96 location = {Toronto}
89} 97}
90 98
99@software{pkg:lua-ul,
100 title = {The Lua-ul package},
101 subtitle = {Underlining for LuaLaTeX},
102 author = {Krüger, Marcel},
103 maintainer = {Krüger, Marcel},
104 url = {http://www.ctan.org/pkg/lua-ul},
105 date = {2020-03-12},
106 version = {0.0.1}
107}
108
91@MVBook{Wright, 109@MVBook{Wright,
92 author = {Wright, W. LL.D}, 110 author = {Wright, W. LL.D},
93 title = {A Grammar of the Arabic Language}, 111 title = {A Grammar of the Arabic Language},
@@ -147,40 +165,105 @@
147 location = {London -- Edinburgh} 165 location = {London -- Edinburgh}
148} 166}
149\end{filecontents} 167\end{filecontents}
150\usepackage[english]{babel} 168\usepackage[letterpaper,margin=1.25in,left=50mm,nohead]{geometry}
151\usepackage{dox}
152\doxitem{Option}{option}{options}
153\usepackage{fontspec} 169\usepackage{fontspec}
170\defaultfontfeatures{Renderer=Harfbuzz}
171\usepackage[english]{babel}
172%^^A dox does not work with the latest latex-dev:
173\ifdefined\SpecialMacroIndex
174 \NewDocElement{Option}{option}
175\else
176 \usepackage{dox}
177 \doxitem{Option}{option}{options}
178\fi
154\usepackage{microtype} 179\usepackage{microtype}
155\babelfont{rm}{Old Standard} 180\babelfont{rm}[RawFeature=onum]{Old Standard}
181\babelfont{sf}{NewComputerModernSans10}
182\babelfont{tt}{NewComputerModernMono10}
183\usepackage{manfnt}
184\usepackage{lettrine}
185\newcommand\danger{\lettrine[loversize=-.5]{\textdbend}{\hskip6pt}}
156\usepackage{metalogox} 186\usepackage{metalogox}
157\usepackage{arabluatex}[2019/03/24] 187\usepackage{arabluatex}[2023/05/21]
188\SetTranslitConvention{dmg+}
158\SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this 189\SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this
159\usepackage[nopar]{quran} 190\usepackage[nopar]{quran}
160\usepackage[noindex]{nameauth} 191\usepackage[noindex]{nameauth}
161\usepackage{varioref} 192\usepackage{varioref}
162\usepackage{hyperxmp} 193\usepackage{latexcolors}
163\PassOptionsToPackage{pdfa}{hyperref} 194\PassOptionsToPackage{bookmarks=true}{hyperref}
164\usepackage{hypdoc} 195\usepackage[numbered]{hypdoc}
165\usepackage{uri} 196\newcommand{\phts}{\phantomsection}
197\usepackage[loadlang=en]{metastr}
198\hypersetup{
199 colorlinks,
200 allcolors=cinnamon,
201 linktocpage=true,
202 pdftype={Text}
203}
204\labelformat{section}{sect.~#1}
205\labelformat{subsection}{sect.~#1}
206\labelformat{subsubsection}{sect.~#1}
207\labelformat{figure}{fig.~#1}
208\labelformat{table}{table~#1}
209\metaset{titletext}{%
210 \metapick[#1]{title}%
211 \metacompose[#1]{subtitle}{\metaget[sep]{subtitle}}{}{}}
212\metaset[print]{titletext}{%
213 \metatitleline[print]{title}%
214 \metatitleline[print]{subtitle}%
215 \metatitleline[print]{author}%
216 \metatitleline[print]{contactemail}%
217 \metatitlelinetwo[print]{date}[print]{draft}}
218\metaset[skip]{subtitle}{\vspace{1ex}}
219\metaset[skip]{author}{\vspace{2ex}}
220\metaset[skip]{date}{\vspace{1ex}}
221\metaset[style]{title}{\LARGE}
222\metaset[style]{author}{\large}
223\metaset[sep]{draft}{ -- }
224\metasetlang{en-US}
225\metaset{title}{arabluatex}
226\metaset[print]{title}{\textsf{arabluatex}}
227\metaset{date}{\filedate}
228\metaset{draft}{\fileversion}
229\metaset{subject}{ArabTeX}
230\metaset{subtitle}{ArabTeX for LuaLaTeX}
231\metaset[print]{subtitle}{Arab\TeX\ for Lua\LaTeX}
232\metaset{author}{Robert Alessi}
233\metaset{keywords}{Arabic language, Arabic,
234 arabtex, luatex}
235\metaset{contactemail}{alessi@roberalessi.net}
236\metaset[print]{contactemail}{\mailto[arabluatex]{alessi@robertalessi.net}}
237\metaset{contacturl}{http://www.roberalessi.net}
238\metaset{partof}{The arabluatex Package}
239\metaset[print]{partof}{The \textsf{arabluatex} Package}
240\metaset{copyrightowner}{\metapick[#1]{author}}
241\metaset{copyrightdate}{2016, 2017, 2018, 2019, 2020, 2021, 2022,
242 2023}
243\metaset{licensemessage}{Permission to use, copy, modify, and
244 distribute this software for any purpose with or without fee is
245 hereby granted, provided that the above copyright notice and this
246 permission notice appear in all copies.
247 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
248 WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
249 WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
250 AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
251 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
252 OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
253 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
254 PERFORMANCE OF THIS SOFTWARE.}
255\metaset{licenseurl}{%
256 https://cvsweb.openbsd.org/src/share/misc/license.template?rev=HEAD}
257\metaset[print]{licenseurl}{%
258 \url{https://cvsweb.openbsd.org/src/share/misc/license.template?rev=HEAD}}
259\metawritepdfinfo
260\metawritepdfaux
261\metawritepdfpreamble
262\metawritepdfcontact
263\metawritepdfrights
166\usepackage{bookmark} 264\usepackage{bookmark}
167\usepackage{authblk} 265\usepackage{authblk}
168\usepackage{latexcolors}
169\hypersetup{unicode=true, colorlinks, allcolors=cinnamon,
170 linktocpage=true, pdfauthor={Robert Alessi}, pdftitle={The
171 arabluatex package}, pdfcontactemail={alessi@robertalessi.net},
172 pdfcontacturl={http://www.robertalessi.net/arabluatex},
173 pdfcopyright={Copyright (C) 2016--2019 Robert Alessi
174 <alessi@robertalessi.net>. This document is licensed under the
175 Creative Commons Attribution-ShareAlike 4.0 International
176 License. To view a copy of this license, visit
177 http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
178 Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.},
179 pdflicenseurl={https://creativecommons.org/licenses/by-sa/4.0/legalcode},
180 pdfmetalang={en-US}, pdftype={Text}, pdfkeywords={Arabic language,
181 arabtex, luatex}}
182\usepackage[scale=1.5]{ccicons} 266\usepackage[scale=1.5]{ccicons}
183\usepackage[lot]{multitoc}
184\usepackage{enumitem} 267\usepackage{enumitem}
185\setlist{nosep} 268\setlist{nosep}
186\setlist[itemize]{label=\textendash} 269\setlist[itemize]{label=\textendash}
@@ -188,9 +271,11 @@
188\setlist[enumerate,2]{label=\roman*.} 271\setlist[enumerate,2]{label=\roman*.}
189\newlist{enumabjad}{enumerate}{10} 272\newlist{enumabjad}{enumerate}{10}
190\setlist[enumabjad]{label={\abjad{\arabic*}}} 273\setlist[enumabjad]{label={\abjad{\arabic*}}}
191\usepackage{multicol} 274\newlist{remarks}{enumerate}{10}
192\usepackage{cleveref} 275\setlist[remarks]{
193\crefname{footnote}{note}{notes} 276 label*=\textsc{Rem.} \emph{\alph*},
277 left=0.25in,
278 before=\smaller}
194\usepackage{quoting} 279\usepackage{quoting}
195\quotingsetup{noorphans, rightmargin=0pt} 280\quotingsetup{noorphans, rightmargin=0pt}
196\renewcommand*{\quotingfont}{\footnotesize} 281\renewcommand*{\quotingfont}{\footnotesize}
@@ -210,49 +295,66 @@
210 bottom=0mm} 295 bottom=0mm}
211\newtcblisting{example}{minted options={linenos, numbersep=0mm, 296\newtcblisting{example}{minted options={linenos, numbersep=0mm,
212 fontsize=\smaller}} 297 fontsize=\smaller}}
213\newtcblisting{code}{minted options={linenos, numbersep=0mm, 298\newtcblisting{alcode}{minted options={linenos, numbersep=0mm,
214 fontsize=\smaller}, listing only} 299 fontsize=\smaller}, listing only}
300\VerbatimFootnotes
215\newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}} 301\newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}}
216\usepackage[contents]{colordoc} 302\usepackage[contents]{colordoc}
217\usepackage{csquotes} 303\usepackage{csquotes}
218\DeclareQuoteStyle{arabic} 304\DeclareQuoteStyle{arabic}
219{\rmfamily\textquotedblright}{\rmfamily\textquotedblleft} 305{\rmfamily\textquotedblright}{\rmfamily\textquotedblleft}
220{\rmfamily\textquoteright}{\rmfamily\textquoteleft} 306{\rmfamily\textquoteright}{\rmfamily\textquoteleft}
221\usepackage[style=authoryear, indexing=cite]{biblatex} 307\usepackage[style=oxnotes-inote,indexing=cite]{biblatex}
222\DeclareIndexFieldFormat{indextitle}{\index{#1=\emph{#1}}} 308\DeclareIndexFieldFormat{indextitle}{\index{#1=\emph{#1}}}
223\addbibresource{arabluatex.bib} 309\addbibresource{arabluatex.bib}
310\NewDocumentCommand{\newfeature}{o}{%
311 \leavevmode
312 \IfNoValueTF{#1}
313 {\marginpar{\hfill\emph{New feature}}}
314 {\marginpar{\hfill\emph{New feature} #1}}%
315 \ignorespaces
316}
317\usepackage{uri}
318\usepackage[obeyspaces]{xurl}
319\usepackage{multicol}
320\usepackage{tocloft}
321\renewcommand\cftlotprehook{\begin{multicols}{2}}
322\renewcommand\cftlotposthook{\end{multicols}}
323\renewcommand\cftlottitlefont{\Large\bfseries}
224\usepackage{etoc} 324\usepackage{etoc}
225\etocsettocdepth{paragraph} 325\etocsettocdepth{paragraph}
326\makeatletter
226\newcommand{\altableofcontents}{% 327\newcommand{\altableofcontents}{%
227 \begingroup 328 \begingroup
228 \etocsetstyle{section}{}{} 329 \etocsetstyle{section}{}{}
229 {\etocsavedsectiontocline{% 330 {\l@section{%
230 \numberline{\etocnumber}\etocname}{\etocpage}}{} 331 \numberline{\etocnumber}\etocname}{\etocpage}}{}
231 \etocsetstyle{subsection}{}{} 332 \etocsetstyle{subsection}{}{}
232 {\etocsavedsubsectiontocline{% 333 {\l@subsection{%
233 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 334 \numberline{\etocnumber}\etocname}{\etocpage}}{}%
234 \etocsetstyle{subsubsection}{}{} 335 \etocsetstyle{subsubsection}{}{}
235 {\etocsavedsubsubsectiontocline{% 336 {\l@subsubsection{%
236 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 337 \numberline{\etocnumber}\etocname}{\etocpage}}{}%
237 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip 338 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip
238 0pt plus 1fil\relax \nobreak} 339 0pt plus 1fil\relax \nobreak}
239 {\noindent\etocname{} \etocpage{} }{\par}% 340 {\noindent\etocname{} \etocpage{} }{\par}%
240 \etocmulticolstyle[2]{\section*{Contents}} 341 \etocmulticolstyle[2]{\section*{Contents}}
241 \pdfbookmark[1]{Contents}{toc} 342 \pdfbookmark[1]{Contents}{toc}
242 \tableofcontents 343 \etoctoclines
344 \localtableofcontents
243 \endgroup} 345 \endgroup}
346\makeatother
347\setlength\IndexMin{100pt}
244\EnableCrossrefs 348\EnableCrossrefs
245\RecordChanges 349\RecordChanges
246\CodelineIndex 350\CodelineIndex
247\begin{document} 351\begin{document}
248 \DocInput{arabluatex.dtx} 352 \DocInput{arabluatex.dtx}
249 \printbibliography[heading=bibintoc] 353 \printbibliography[heading=bibnumbered]
250 \phantomsection 354 \phantomsection
251 \addcontentsline{toc}{section}{Change History}
252 \PrintChanges 355 \PrintChanges
253 \phantomsection 356 \phantomsection
254 \addcontentsline{toc}{section}{Index} 357 \PrintIndex
255 \PrintIndex
256\end{document} 358\end{document}
257%</driver> 359%</driver>
258% \fi 360% \fi
@@ -304,28 +406,26 @@
304% \DoNotIndex{\relax,\RenewDocumentCommand,\string,\verb,\let} 406% \DoNotIndex{\relax,\RenewDocumentCommand,\string,\verb,\let}
305% \DoNotIndex{\enskip} 407% \DoNotIndex{\enskip}
306% 408%
307% \providecommand*{\url}{\texttt}
308% \GetFileInfo{arabluatex.dtx} 409% \GetFileInfo{arabluatex.dtx}
309% 410%
310% \newcommand*{\NEWfeature}[1]{% 411% \pdfbookmark[1]{\metaterm{title}}{title}
311% \hskip 1sp \marginpar{\small\sffamily\raggedright 412% \begin{tcolorbox}[
312% New feature\\#1}} 413% colframe=black,
313% 414% enhanced,
314% \title{\tcbox[colframe=black, enhanced, tikznode, drop lifted 415% drop lifted shadow,
315% shadow, colback=white, boxrule=.25mm]% 416% colback=white,
316% {The \textsf{arabluatex} package\\ 417% boxrule=.25mm,
317% \fileversion\ -- \filedate}} 418% halign=center,
318% 419% center
319% \author{Robert Alessi \\ 420% ]
320% \href{mailto:alessi@robertalessi.net?Subject=arabluatex package}% 421% \metapick[print]{titletext}
321% {\texttt{alessi@robertalessi.net}}} 422% \end{tcolorbox}
322% \date{}
323% 423%
324% \maketitle
325% \footnotesize 424% \footnotesize
326% \altableofcontents 425% \altableofcontents
327% \listoftables 426% \listoftables
328% \normalsize 427% \normalsize
428% \VerbatimFootnotes
329% 429%
330% \begin{abstract} 430% \begin{abstract}
331% This package provides for {\LuaLaTeX} an Arab{\TeX}-like interface 431% This package provides for {\LuaLaTeX} an Arab{\TeX}-like interface
@@ -337,46 +437,59 @@
337% input notation. Its output can be set in the same modes of 437% input notation. Its output can be set in the same modes of
338% vocalization as Arab\TeX, or in different roman 438% vocalization as Arab\TeX, or in different roman
339% transliterations. It further allows many typographical 439% transliterations. It further allows many typographical
340% refinements. It will eventually interact with some other packages 440% refinements. Furthermore, it can interact with the \pkg{ekdosis}
341% yet to come to produce from \verb|.tex| source files, in addition 441% package to produce from \verb|.tex| source files, in addition to
342% to printed books, \texttt{TEI xml} compliant critical editions 442% printed books, \texttt{TEI xml} compliant critical editions and/or
343% and/or lexicons that can be searched, analyzed and correlated in 443% lexicons that can be searched, analyzed and correlated in various
344% various ways. 444% ways.
345% \end{abstract} 445% \end{abstract}
346% 446%
347% \section*{License and disclamer} 447% \section*{License and Disclaimer}
348% \addcontentsline{toc}{section}{License and disclamer} 448% \addcontentsline{toc}{section}{License and disclamer}
349% \subsection*{License applicable to the software} 449% \leavevmode\marginpar{\hfill\texttt{OpenBSD}} \pkg{arabluatex} is
350% \label{sec:license-software} 450% licensed under the terms of the so-called OpenBSD license, as it is
451% modelled after the ISC copyright, which is functionally equivalent
452% to a two-term BSD copyright with language removed that is made
453% unnecessary by the Berne convention.\footnote{More information about
454% the OpenBSD policy to which \pkg{arabluatex} adheres:
455% \url{https://www.openbsd.org/policy.html}.}
351% 456%
352% \package{arabluatex} --- Processing Arab\TeX\ notation under Lua\LaTeX.\\ 457% \iffalse
353% Copyright \textcopyright\ 2016--2019 Robert Alessi 458%<*example>
459% \fi
460\begin{minted}[linenos=false]{text}
461arabluatex -- ArabTeX for LuaLaTeX
462----------------------------------------------------------
463
464Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
465Robert Alessi <alessi@robertalessi.net>
466
467Permission to use, copy, modify, and distribute this software for any
468purpose with or without fee is hereby granted, provided that the above
469copyright notice and this permission notice appear in all copies.
470
471THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
472WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
473MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
474ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
475WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
476ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
477OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
478\end{minted}
479% \iffalse
480%</example>
481% \fi
354% 482%
355% Please send error reports and suggestions for improvements to Robert 483% Please send error reports and suggestions for improvements to Robert
356% Alessi: 484% Alessi:
357% \begin{itemize} 485% \begin{itemize}
358% \item email: \mailto[arabluatex package]{alessi@roberalessi.net} 486% \item email: \mailto[arabluatex package]{alessi@roberalessi.net}
359% \item website: \url{http://www.robertalessi.net/arabluatex} 487% \item website: \url{https://sr.ht/~ralessi/arabluatex/}
360% \item development: \url{http://git.robertalessi.net/arabluatex} 488% \item development: \url{http://git.robertalessi.net/arabluatex}
361% \item comments, feature requests, bug reports: 489% \item comments, feature requests, bug reports:
362% \url{https://gitlab.com/ralessi/arabluatex/issues} 490% \url{https://todo.sr.ht/~ralessi/arabluatex}
363% \end{itemize} 491% \end{itemize}
364% 492%
365% \marginpar{\texttt{gpl3+}}
366% This program is free software: you can redistribute it and/or modify
367% it under the terms of the GNU General Public License as published by
368% the Free Software Foundation, either version 3 of the License, or
369% (at your option) any later version.
370%
371% This program is distributed in the hope that it will be useful, but
372% WITHOUT ANY WARRANTY; without even the implied warranty of
373% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
374% General Public License for more details.
375%
376% You should have received a copy of the GNU General Public License
377% along with this program. If not, see
378% <http://www.gnu.org/licenses/>.
379%
380% This release of \package{arabluatex} consists of the following 493% This release of \package{arabluatex} consists of the following
381% source files: 494% source files:
382% \begin{itemize} 495% \begin{itemize}
@@ -389,21 +502,9 @@
389% \item |arabluatex_trans.lua| 502% \item |arabluatex_trans.lua|
390% \item |arabluatex.el| 503% \item |arabluatex.el|
391% \end{itemize} 504% \end{itemize}
392%
393% \subsection*{License applicable to this document}
394% \label{sec:documentation-license}
395% Copyright \textcopyright\ 2016--2019 Robert Alessi
396%
397% \ccbysa\marginpar{\texttt{CC BY-SA 4.0}}
398% This document is licensed under the Creative Commons
399% Attribution-ShareAlike 4.0 International License. To view a copy of
400% this license, visit
401% \url{http://creativecommons.org/licenses/by-sa/4.0/} or send a
402% letter to Creative Commons, PO Box 1866, Mountain View, CA 94042,
403% USA.
404% 505%
405% \section{Introduction} 506% \section{Introduction}
406% In comparison to Prof. Lagally's outstanding Arab\TeX,\footnote{See 507% In comparison to Prof.\ Lagally's outstanding Arab\TeX,\footnote{See
407% \url{http://ctan.org/pkg/arabtex}} Arab{\LuaTeX} is at present 508% \url{http://ctan.org/pkg/arabtex}} Arab{\LuaTeX} is at present
408% nothing more than a modest piece of software. Hopefully---if I may 509% nothing more than a modest piece of software. Hopefully---if I may
409% say so---it will eventually provide all of its valuable qualities to 510% say so---it will eventually provide all of its valuable qualities to
@@ -520,21 +621,25 @@
520% issue a warning message and attempt to load the Amiri 621% issue a warning message and attempt to load the Amiri
521% font\footnote{\textcite{pkg:amiri}.} like so:---\\ 622% font\footnote{\textcite{pkg:amiri}.} like so:---\\
522% \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic]} 623% \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic]}
523% \begin{quoting} 624% \begin{remarks}
524% \textsc{Rem.} By default Amiri places the \arb[trans]{kasraT} in 625% \item By default Amiri places the \arb[trans]{kasraT} in combination
525% combination with the \arb[trans]{ta^sdId} below the consonant, 626% with the \arb[trans]{ta^sdId} below the consonant, like so:
526% like so: \arb{BBi}\,. That is correct, as at least in the oldest 627% \arb{BBi}\,. That is correct, as at least in the oldest
527% manuscripts {\renewfontfamily\arabicfont{Amiri}[Script=Arabic, 628% manuscripts {\renewfontfamily\arabicfont{Amiri}[Script=Arabic,
528% RawFeature={+ss05}]\arb{BBi}} may stand for \arb{BBa} as 629% RawFeature={+ss05}]\arb{BBi}} may stand for \arb{BBa} as well as
529% well as \arb{BBi}\,. See \textcite[i. 14 C--D]{Wright}. The placement 630% \arb{BBi}\,. See \textcite[i. 14 C--D]{Wright}. The placement of
530% of the \arb[trans]{kasraT} above the consonant may be obtained by 631% the \arb[trans]{kasraT} above the consonant may be obtained by
531% selecting the |ss05| feature of the Amiri font, like 632% selecting the |ss05| feature of the Amiri font, like
532% so:---\footnote{See the documentation of \package{amiri}, 633% so:---\footnote{See the documentation of \package{amiri},
533% \textcite[6]{pkg:amiri}.}\\ 634% \textcite[6]{pkg:amiri}.}\\
534% \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic,RawFeature={+ss05}]} 635% \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic,RawFeature={+ss05}]}
535% 636%
536% Other Arabic fonts may behave differently. 637% Other Arabic fonts may behave differently.
537% \end{quoting} 638%
639% \item \cs{newfontfamily} can be used to have
640% either Indian of Arabic numbers printed. See
641% \vpageref{ref:arabic-numbers} for more information.
642% \end{remarks}
538% 643%
539% \subsection{Options} 644% \subsection{Options}
540% \label{sec:options} 645% \label{sec:options}
@@ -568,8 +673,8 @@
568% standards. At present, three standards are supported (see below 673% standards. At present, three standards are supported (see below
569% \vref{sec:transliteration} for more details): 674% \vref{sec:transliteration} for more details):
570% \begin{description} 675% \begin{description}
571% \item[dmg] \emph{Deutsche Morgenländische Gesellschaft}, which is 676% \item[dmg/dmg+] \emph{Deutsche Morgenländische Gesellschaft} |dmg|
572% selected by default; 677% is selected by default;
573% \item[loc] \emph{Library of Congress}; 678% \item[loc] \emph{Library of Congress};
574% \item[arabica] \emph{Arabica}. 679% \item[arabica] \emph{Arabica}.
575% \end{description} 680% \end{description}
@@ -579,7 +684,7 @@
579% \label{ref:export-global-opt} 684% \label{ref:export-global-opt}
580% \DescribeOption{export} |export|$=$|true|\verb+|+|false| 685% \DescribeOption{export} |export|$=$|true|\verb+|+|false|
581% \hfill\tcboxverb{Default: false}\\ \label{export-mode} 686% \hfill\tcboxverb{Default: false}\\ \label{export-mode}
582% \NEWfeature{v.1.13} This option acts as a named argument and does 687% \newfeature[v.1.13] This option acts as a named argument and does
583% not need a value as it defaults to |true| if it is used. It enables 688% not need a value as it defaults to |true| if it is used. It enables
584% \package{arabluatex} to produce a duplicate of the original |.tex| 689% \package{arabluatex} to produce a duplicate of the original |.tex|
585% source file in which all \textsc{ascii} strings are replaced with 690% source file in which all \textsc{ascii} strings are replaced with
@@ -588,7 +693,7 @@
588% 693%
589% \subsubsection{Classic contrasted with modern typesetting of Arabic} 694% \subsubsection{Classic contrasted with modern typesetting of Arabic}
590% \label{sec:classic-modern-typesetting} 695% \label{sec:classic-modern-typesetting}
591% \NEWfeature{v.1.2} By default, \package{arabluatex} typesets Arabic 696% \newfeature[v.1.2] By default, \package{arabluatex} typesets Arabic
592% in a classic, traditional style the most prominent features of which 697% in a classic, traditional style the most prominent features of which
593% are the following: 698% are the following:
594% \begin{itemize} 699% \begin{itemize}
@@ -627,7 +732,7 @@
627% \fi 732% \fi
628% \end{itemize} 733% \end{itemize}
629% 734%
630% \DescribeMacro{\SetArbEasy} \NEWfeature{v1.4.4} Such refinements as 735% \DescribeMacro{\SetArbEasy} \newfeature[v1.4.4] Such refinements as
631% \enquote*{classic} \arb[trans]{maddaT} may be discarded by the 736% \enquote*{classic} \arb[trans]{maddaT} may be discarded by the
632% \cs{SetArbEasy} command, either globally in the preamble or locally 737% \cs{SetArbEasy} command, either globally in the preamble or locally
633% at any point of the document. The difference between \cs{SetArbEasy} 738% at any point of the document. The difference between \cs{SetArbEasy}
@@ -637,7 +742,7 @@
637% mode, while the latter further takes it away. Default 742% mode, while the latter further takes it away. Default
638% \enquote*{classic} rules may be set back at any point of the 743% \enquote*{classic} rules may be set back at any point of the
639% document with the \DescribeMacro{\SetArbDflt}\cs{SetArbDflt} 744% document with the \DescribeMacro{\SetArbDflt}\cs{SetArbDflt}
640% command. \NEWfeature{v1.6} \DescribeMacro{\SetArbDflt*}Assimilation 745% command. \newfeature[v1.6] \DescribeMacro{\SetArbDflt*}Assimilation
641% rules laid on \vref{ref:assimilation} may also be applied by the 746% rules laid on \vref{ref:assimilation} may also be applied by the
642% \enquote*{starred} version of this command \cs{SetArbDflt*} either 747% \enquote*{starred} version of this command \cs{SetArbDflt*} either
643% in the preamble or at any point of the document.\footnote{For an 748% in the preamble or at any point of the document.\footnote{For an
@@ -712,25 +817,16 @@
712%</example> 817%</example>
713% \fi 818% \fi
714% 819%
715% \paragraph{Caveat} 820% The following example comes from \textcite[i. 213
716% For some reason, left-to-right paragraphs that start with Arabic
717% words lose their indentation. For the time being, this can be
718% circumvented by appending the \cs{indent} command at the
719% commencement of such paragraphs.
720%
721% \label{ref:ltr-lists}%
722% The same remark applies to left-to-right list environments: when
723% items start with Arabic words, the \cs{arb} command must be prefixed
724% with \cs{indent}. The following example comes from \textcite[i. 213
725% C]{Wright}:--- % 821% C]{Wright}:--- %
726% \iffalse 822% \iffalse
727%<*example> 823%<*example>
728% \fi 824% \fi
729\begin{example} 825\begin{example}
730 \begin{enumerate}[label=\Roman*., start=16] 826 \begin{enumerate}[label=\Roman*., start=16]
731 \item \indent\arb{fawA`ilu}*. 827 \item \arb{fawA`ilu}*.
732 \begin{enumerate}[label=\arabic*.] 828 \begin{enumerate}[label=\arabic*.]
733 \item \indent\arb{fA`aluN}; as \arb{_hAtamuN} \emph{a 829 \item \arb{fA`aluN}; as \arb{_hAtamuN} \emph{a
734 signet-ring}, ... 830 signet-ring}, ...
735 \end{enumerate} 831 \end{enumerate}
736 \end{enumerate} 832 \end{enumerate}
@@ -745,11 +841,11 @@
745% \iffalse 841% \iffalse
746%<*example> 842%<*example>
747% \fi 843% \fi
748\begin{code} 844\begin{alcode}
749 \begin{arab} 845 \begin{arab}
750 [...] 846 [...]
751 \end{arab} 847 \end{arab}
752\end{code} 848\end{alcode}
753% \iffalse 849% \iffalse
754%</example> 850%</example>
755% \fi 851% \fi
@@ -800,43 +896,41 @@
800% where \meta{mode} may be any of |voc|, |fullvoc|, |novoc| or 896% where \meta{mode} may be any of |voc|, |fullvoc|, |novoc| or
801% |trans|. 897% |trans|.
802% 898%
803%\section{Standard Arab\TeX\ input} 899% \section{Standard Arab\TeX\ input}
804%\subsection{Consonants} 900% \subsection{Consonants}
805% \Cref{tab:arabtex-consonants} gives the Arab\TeX\ equivalents for 901% \Vref{tab:arabtex-consonants} gives the Arab\TeX\ equivalents for
806% all of the Arabic consonants. 902% all of the Arabic consonants.
807% 903%
808% \addlines[2]
809% \newcommand{\dmg}[1]{% 904% \newcommand{\dmg}[1]{%
810% \SetTranslitConvention{dmg}% 905% \SetTranslitConvention{dmg+}%
811% \arb[trans]{#1}} 906% \arb[trans]{#1}}
812% \newcommand{\loc}[1]{% 907% \newcommand{\loc}[1]{%
813% \SetTranslitConvention{loc}% 908% \SetTranslitConvention{loc}%
814% \arb[trans]{#1}\SetTranslitConvention{dmg}} 909% \arb[trans]{#1}\SetTranslitConvention{dmg+}}
815% \newcommand{\brill}[1]{% 910% \newcommand{\brill}[1]{%
816% \SetTranslitConvention{arabica}% 911% \SetTranslitConvention{arabica}%
817% \arb[trans]{#1}\SetTranslitConvention{dmg}} 912% \arb[trans]{#1}\SetTranslitConvention{dmg+}}
818% \begin{longtable}{lllll} 913% \begin{longtable}{lllll}
819% \bottomrule 914% \bottomrule
820% \caption*{\Cref*{tab:arabtex-consonants}: Standard Arab\TeX\ 915% \caption[]{Standard Arab\TeX\ (consonants)}
821% (consonants)}
822% \endfoot 916% \endfoot
823% \captionlistentry{Arab\TeX\ consonants}\\[-1em]
824% \toprule 917% \toprule
918% \captionlistentry{Standard Arab\TeX\ (consonants)}
825% Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 919% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
826% & Arab\TeX\ notation \\ 920% & Arab\TeX\ notation \\
827% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 921% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
828% \endfirsthead 922% \endfirsthead
829% \toprule 923% \toprule
830% Letter & \multicolumn{3}{l}{Transliteration} 924% Letter & \multicolumn{3}{l}{Transliteration}
831% & Arab\TeX\ notation \\ 925% & Arab\TeX\ notation \\
832% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 926% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
833% \endhead \footnotetext{See below \vref{sec:transliteration}.} 927% \endhead \footnotetext{See below \vref{sec:transliteration}.}
834% \label{tab:arabtex-consonants} 928% \label{tab:arabtex-consonants}
835% \arb[voc]{'i 'a 'u}\footnote{See below, \emph{Rem{.} a.} For 929% \arb[voc]{'i 'a 'u}\footnote{See below, \emph{Rem{.} a.} For
836% \arb[trans]{'alif} as a consonant, see \textcite[i. 16 930% \arb[trans]{'alif} as a consonant, see \textcite[i. 16
837% D]{Wright}. The \arb[trans]{hamzaT} itself is encoded \texttt{<'>} 931% D]{Wright}. The \arb[trans]{hamzaT} itself is encoded \texttt{<'>}
838% and may be followed by either \meta{u, a} or \meta{i}. See below 932% and may be followed by either \meta{u, a} or \meta{i}. See below
839% \vref{ref:hamza}.} & \dmg{'u 'a 'i} & 933% \vref{ref:hamza}.} & \dmg{|'u, |'a, |'i} &
840% \loc{|'u, |'a, |'i} & \brill{|'u, |'a, |'i} & |'u| or |'a| or |'i| \\ 934% \loc{|'u, |'a, |'i} & \brill{|'u, |'a, |'i} & |'u| or |'a| or |'i| \\
841% \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| \\ 935% \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| \\
842% \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| \\ 936% \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| \\
@@ -849,6 +943,7 @@
849% \arb[novoc]{r} & \dmg{r} & \loc{r} & \brill{r} & |r| \\ 943% \arb[novoc]{r} & \dmg{r} & \loc{r} & \brill{r} & |r| \\
850% \arb[novoc]{z} & \dmg{z} & \loc{z} & \brill{z} & |z| \\ 944% \arb[novoc]{z} & \dmg{z} & \loc{z} & \brill{z} & |z| \\
851% \arb[novoc]{s} & \dmg{s} & \loc{s} & \brill{s} & |s| \\ 945% \arb[novoc]{s} & \dmg{s} & \loc{s} & \brill{s} & |s| \\
946% \pagebreak[1]
852% \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & \brill{^s} & |^s| \\ 947% \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & \brill{^s} & |^s| \\
853% \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & \brill{.s} & |.s| \\ 948% \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & \brill{.s} & |.s| \\
854% \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & \brill{.d} & |.d| \\ 949% \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & \brill{.d} & |.d| \\
@@ -866,14 +961,14 @@
866% \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| \\ 961% \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| \\
867% \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y|\footnote{For 962% \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y|\footnote{For
868% the letter \arb[novoc]{.y} with no diacritical points below, see 963% the letter \arb[novoc]{.y} with no diacritical points below, see
869% \emph{Rem{.} b.} below.} \\ 964% \vref{ref:dotless-ya} below.} \\
870% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |T| \\ 965% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |T| \\
871% \end{longtable} 966% \end{longtable}
872% \begin{quoting} 967% \begin{remarks}
873% \textsc{Rem.}~\emph{a.} Please note that in all cases of elision, 968% \item Please note that in all cases of elision, the
874% the \arb[trans]{'alifu 'l-wa.sli} is expressed only by the vowel 969% \arb[trans]{'alifu 'l-wa.sli} is expressed only by the vowel that
875% that accompanies the omitted \arb[trans]{hamzaT}: \meta{u, a, i} 970% accompanies the omitted \arb[trans]{hamzaT}: \meta{u, a, i} as in
876% as in |wa-inhazama| \arb[fullvoc]{wa-inhazama} 971% |wa-inhazama| \arb[fullvoc]{wa-inhazama}
877% \arb[trans]{wa-inhazama}. For more details on the definite article 972% \arb[trans]{wa-inhazama}. For more details on the definite article
878% and the \arb[trans]{'alifu 'l-wa.sli} see 973% and the \arb[trans]{'alifu 'l-wa.sli} see
879% \vref{ref:definite-article}. 974% \vref{ref:definite-article}.
@@ -887,10 +982,10 @@
887% absence of vowel), |wa-.Aan| \arb{wa-.Aan} \arb[trans]{wa-.Aan}, 982% absence of vowel), |wa-.Aan| \arb{wa-.Aan} \arb[trans]{wa-.Aan},
888% |wa-.Ain| \arb{wa-.Ain} \arb[trans]{wa-.Ain}. 983% |wa-.Ain| \arb{wa-.Ain} \arb[trans]{wa-.Ain}.
889% 984%
890% \textsc{Rem.}~\emph{b.} The letter \arb[novoc]{y} with two points 985% \item \label{ref:dotless-ya}The letter \arb[novoc]{y} with two
891% below, \arb{al-yA'u 'l-mu_tannATu min ta.hti-hA}, may also be 986% points below, \arb{al-yA'u 'l-mu_tannATu min ta.hti-hA}, may also
892% written without diacritical points as \arb[novoc]{Y}. When it is 987% be written without diacritical points as \arb[novoc]{Y}. When it
893% used as a consonant, it is encoded |aY|, where |a| recalls the 988% is used as a consonant, it is encoded |aY|, where |a| recalls the
894% \arb[trans]{fat.haT} placed above the preceding letter in 989% \arb[trans]{fat.haT} placed above the preceding letter in
895% vocalized Arabic, like so: |qaY'uN| \arb{qaY'uN} 990% vocalized Arabic, like so: |qaY'uN| \arb{qaY'uN}
896% \arb[trans]{qaY'uN}, |^saY'uN| \arb{^saY'uN} \arb[trans]{^saY'uN}, 991% \arb[trans]{qaY'uN}, |^saY'uN| \arb{^saY'uN} \arb[trans]{^saY'uN},
@@ -900,30 +995,30 @@
900% like so: |qa.y'uN| \arb{qa.y'uN} \arb[trans]{qa.y'uN}, |^sa.y'uN| 995% like so: |qa.y'uN| \arb{qa.y'uN} \arb[trans]{qa.y'uN}, |^sa.y'uN|
901% \arb{^sa.y'uN} \arb[trans]{^sa.y'uN}, |^sa.y'aN| 996% \arb{^sa.y'uN} \arb[trans]{^sa.y'uN}, |^sa.y'aN|
902% \arb[trans]{^sa.y'aN} \arb{^sa.y'aN}. 997% \arb[trans]{^sa.y'aN} \arb{^sa.y'aN}.
903% \end{quoting} 998% \end{remarks}
904% 999%
905% \subsection{Additional characters} 1000% \subsection{Additional characters}
906% \changes{v1.8.5}{2017/06/20}{Six additional Persian characters are 1001% \changes{v1.8.5}{2017/06/20}{Six additional Persian characters are
907% now available} 1002% now available}
908% \NEWfeature{v1.8.5}\Cref{tab:arabtex-additional-characters} gives 1003% \newfeature[v1.8.5]\Vref{tab:arabtex-additional-characters} gives
909% the Arab\TeX\ equivalents for some additional Persian characters. 1004% the Arab\TeX\ equivalents for some additional Persian characters.
910% 1005%
1006% \enlargethispage{2\baselineskip}
911% \begin{longtable}{lllll} 1007% \begin{longtable}{lllll}
912% \bottomrule 1008% \bottomrule
913% \caption*{\Cref*{tab:arabtex-additional-characters}: Standard 1009% \caption[]{Standard Arab\TeX\ (additional characters)}
914% Arab\TeX\ (additional characters)}
915% \endfoot 1010% \endfoot
916% \captionlistentry{Arab\TeX\ additional characters}\\[-1em]
917% \toprule 1011% \toprule
1012% \captionlistentry{Standard Arab\TeX\ (additional characters)}
918% Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 1013% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
919% & Arab\TeX\ notation \\ 1014% & Arab\TeX\ notation \\
920% & \texttt{dmg} & \texttt{loc} & \texttt{arabica}\footnotemark 1015% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica}\footnotemark
921% & \\ \midrule 1016% & \\ \midrule
922% \endfirsthead 1017% \endfirsthead
923% \toprule 1018% \toprule
924% Letter & \multicolumn{3}{l}{Transliteration} 1019% Letter & \multicolumn{3}{l}{Transliteration}
925% & Arab\TeX\ notation \\ 1020% & Arab\TeX\ notation \\
926% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1021% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
927% \endhead 1022% \endhead
928% \addtocounter{footnote}{-1} 1023% \addtocounter{footnote}{-1}
929% \footnotetext{See below \vref{sec:transliteration}.} 1024% \footnotetext{See below \vref{sec:transliteration}.}
@@ -934,40 +1029,40 @@
934% \label{tab:arabtex-additional-characters} 1029% \label{tab:arabtex-additional-characters}
935% \hskip-1em\arb[novoc]{p} & \dmg{p} & \loc{p} & \brill{p} & \verb|p| \\ 1030% \hskip-1em\arb[novoc]{p} & \dmg{p} & \loc{p} & \brill{p} & \verb|p| \\
936% \arb[novoc]{^c} & \dmg{^c} & \loc{^c} & \brill{^c} & \verb|^c| \\ 1031% \arb[novoc]{^c} & \dmg{^c} & \loc{^c} & \brill{^c} & \verb|^c| \\
1032% \pagebreak[1]
937% \arb[novoc]{^z} & \dmg{^z} & \loc{^z} & \brill{^z} & \verb|^z| \\ 1033% \arb[novoc]{^z} & \dmg{^z} & \loc{^z} & \brill{^z} & \verb|^z| \\
938% \arb[novoc]{v}\footnote{\label{fn:not-in-dmg}This character is not found in 1034% \arb[novoc]{v}\footnote{\label{fn:not-in-dmg}This character is not found in
939% \textcite[2]{dmg}. It is taken from the \textcite{din31635} standard.} & 1035% \textcite[2]{dmg}. It is taken from the \textcite{din31635} standard.} &
940% \dmg{v} & \loc{v} & \brill{v} & \verb|v| \\ 1036% \dmg{v} & \loc{v} & \brill{v} & \verb|v| \\
941% \arb[novoc]{g} & \dmg{g} & \loc{g} & \brill{g} & \verb|g| \\ 1037% \arb[novoc]{g} & \dmg{g} & \loc{g} & \brill{g} & \verb|g| \\
942% \arb[novoc]{^n}\footnote{See \cref{fn:not-in-dmg}.} & \dmg{^n} & 1038% \arb[novoc]{^n}\footnote{See \vref{fn:not-in-dmg}.} & \dmg{^n} &
943% \loc{^n} & \brill{^n} & \verb|^n| \\ 1039% \loc{^n} & \brill{^n} & \verb|^n| \\
944% \end{longtable} 1040% \end{longtable}
945% \begin{quoting} 1041% \begin{remarks}
946% \textsc{Rem.} The alveolar consonants \arb[novoc]{^c} and 1042% \item[\textsc{Rem.}] The alveolar consonants \arb[novoc]{^c} and
947% \arb[novoc]{^z} are processed as solar letters by 1043% \arb[novoc]{^z} are processed as solar letters by
948% \package{arabluatex}. 1044% \package{arabluatex}.
949% \end{quoting} 1045% \end{remarks}
950% 1046%
951% \subsection{Vowels} 1047% \subsection{Vowels}
952% \subsubsection{Long vowels} 1048% \subsubsection{Long vowels}
953% \Cref{tab:arabtex-long-vowels} gives the Arab\TeX\ equivalents for 1049% \Vref{tab:arabtex-long-vowels} gives the Arab\TeX\ equivalents for
954% the Arabic long vowels. 1050% the Arabic long vowels.
955% 1051%
956% \begin{longtable}{lllll} 1052% \begin{longtable}{lllll}
957% \bottomrule 1053% \bottomrule
958% \caption*{\Cref*{tab:arabtex-long-vowels}: Standard Arab\TeX\ (long 1054% \caption[]{Standard Arab\TeX\ (long vowels)}
959% vowels)}
960% \endfoot 1055% \endfoot
961% \captionlistentry{Arab\TeX\ long vowels}\\[-1em]
962% \toprule 1056% \toprule
1057% \captionlistentry{Standard Arab\TeX\ (long vowels)}
963% Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 1058% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
964% & Arab\TeX\ notation \\ 1059% & Arab\TeX\ notation \\
965% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1060% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
966% \endfirsthead 1061% \endfirsthead
967% \toprule 1062% \toprule
968% Letter & \multicolumn{3}{l}{Transliteration} 1063% Letter & \multicolumn{3}{l}{Transliteration}
969% & Arab\TeX\ notation \\ 1064% & Arab\TeX\ notation \\
970% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1065% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
971% \endhead \footnotetext{See below \vref{sec:transliteration}.} 1066% \endhead \footnotetext{See below \vref{sec:transliteration}.}
972% \label{tab:arabtex-long-vowels} 1067% \label{tab:arabtex-long-vowels}
973% \arb[novoc]{A} & \dmg{A} & \loc{A} & \brill{A} & \verb|A| \\ 1068% \arb[novoc]{A} & \dmg{A} & \loc{A} & \brill{A} & \verb|A| \\
@@ -982,10 +1077,10 @@
982% \arb[novoc]{B_i} & \dmg{B_i} & \loc{B_i} & \brill{B_i} & \verb|_i| \\ 1077% \arb[novoc]{B_i} & \dmg{B_i} & \loc{B_i} & \brill{B_i} & \verb|_i| \\
983% \end{longtable} 1078% \end{longtable}
984% 1079%
985% \begin{quoting} 1080% \begin{remarks}
986% \textsc{Rem.}~\emph{a.} The long vowels \arb[trans]{A, U, I}, 1081% \item The long vowels \arb[trans]{A, U, I}, otherwise called
987% otherwise called \arb[trans]{.hurUf-u 'l-madd-i}, \emph{the 1082% \arb[trans]{.hurUf-u 'l-madd-i}, \emph{the letters of
988% letters of prolongation}, involve the placing of the short vowels 1083% prolongation}, involve the placing of the short vowels
989% \arb[trans]{Ba, Bu, Bi} before the letters \arb[novoc]{A}, 1084% \arb[trans]{Ba, Bu, Bi} before the letters \arb[novoc]{A},
990% \arb[novoc]{U}, \arb[novoc]{I} respectively. \package{arabluatex} 1085% \arb[novoc]{U}, \arb[novoc]{I} respectively. \package{arabluatex}
991% does that automatically in case any from |voc|, |fullvoc| or 1086% does that automatically in case any from |voc|, |fullvoc| or
@@ -993,43 +1088,42 @@
993% \arb[voc]{qIla} \arb[trans]{qIla}, \arb[voc]{yaqUlu} 1088% \arb[voc]{qIla} \arb[trans]{qIla}, \arb[voc]{yaqUlu}
994% \arb[trans]{yaqUlu}. 1089% \arb[trans]{yaqUlu}.
995% 1090%
996% \textsc{Rem.}~\emph{b.} Defective writings, such as 1091% \item Defective writings, such as \arb[novoc]{B_a},
997% \arb[novoc]{B_a}, \arb[trans]{al-'alif-u 'l-ma.h_dUfaT-u}, or 1092% \arb[trans]{al-'alif-u 'l-ma.h_dUfaT-u}, or defective writings of
998% defective writings of \arb[trans]{B_u} and \arb[trans]{B_i} are 1093% \arb[trans]{B_u} and \arb[trans]{B_i} are encoded |_a| |_u| and
999% encoded |_a| |_u| and |_i| respectively, e.g. |_d_alika| 1094% |_i| respectively, e.g. |_d_alika| \arb[voc]{_d_alika},
1000% \arb[voc]{_d_alika}, |al-mal_a'ikaT-u| |'l-ra.hm_an-u| 1095% |al-mal_a'ikaT-u| |'l-ra.hm_an-u| \arb[voc]{al-mal_a'ikaT-u
1001% \arb[voc]{al-mal_a'ikaT-u 'l-ra.hm_an-u}, |.hu_dayfaT-u| |bn-u| 1096% 'l-ra.hm_an-u}, |.hu_dayfaT-u| |bn-u| |'l-yamAn_i|
1002% |'l-yamAn_i| \arb[fullvoc]{.hu_dayfaT-u bn-u 'l-yamAn_i} for 1097% \arb[fullvoc]{.hu_dayfaT-u bn-u 'l-yamAn_i} for
1003% \arb[trans]{\uc{.hu_dayfaT-u} bn-u 'l-\uc{yamAn_i}}, etc. 1098% \arb[trans]{\uc{.hu_dayfaT-u} bn-u 'l-\uc{yamAn_i}}, etc.
1004% 1099%
1005% \textsc{Rem.}~\emph{c.} The letter \arb[novoc]{y} with two points 1100% \item The letter \arb[novoc]{y} with two points below, \arb{al-yA'u
1006% below, \arb{al-yA'u 'l-mu_tannATu min ta.hti-hA}, may also be 1101% 'l-mu_tannATu min ta.hti-hA}, may also be written without
1007% written without diacritical points as \arb[novoc]{Y}. When it is 1102% diacritical points as \arb[novoc]{Y}. When it is used as a long
1008% used as a long vowel, it is encoded |iY|, where |i| recalls the 1103% vowel, it is encoded |iY|, where |i| recalls the
1009% \arb[trans]{kasraT} placed below the preceding letter in vocalized 1104% \arb[trans]{kasraT} placed below the preceding letter in vocalized
1010% Arabic, like so: |liY| \arb{liY} \arb[trans]{liY}, |yam^siY| 1105% Arabic, like so: |liY| \arb{liY} \arb[trans]{liY}, |yam^siY|
1011% \arb{yam^siY} \arb[trans]{yam^siY}. 1106% \arb{yam^siY} \arb[trans]{yam^siY}.
1012% \end{quoting} 1107% \end{remarks}
1013% 1108%
1014% \subsubsection{Short vowels} 1109% \subsubsection{Short vowels}
1015% \Cref{tab:arabtex-short-vowels} gives the Arab\TeX\ equivalents for 1110% \Vref{tab:arabtex-short-vowels} gives the Arab\TeX\ equivalents for
1016% the Arabic short vowels. 1111% the Arabic short vowels.
1017% 1112%
1018% \begin{longtable}{lllll} 1113% \begin{longtable}{lllll}
1019% \bottomrule 1114% \bottomrule
1020% \caption*{\Cref*{tab:arabtex-short-vowels}: Standard Arab\TeX\ 1115% \caption[]{Standard Arab\TeX\ (short vowels)}
1021% (short vowels)}
1022% \endfoot 1116% \endfoot
1023% \captionlistentry{Arab\TeX\ short vowels}\\[-1em]
1024% \toprule 1117% \toprule
1118% \captionlistentry{Standard Arab\TeX\ (short vowels)}
1025% Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 1119% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
1026% & Arab\TeX\ notation \\ 1120% & Arab\TeX\ notation \\
1027% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1121% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
1028% \endfirsthead 1122% \endfirsthead
1029% \toprule 1123% \toprule
1030% Letter & \multicolumn{3}{l}{Transliteration} 1124% Letter & \multicolumn{3}{l}{Transliteration}
1031% & Arab\TeX\ notation \\ 1125% & Arab\TeX\ notation \\
1032% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1126% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
1033% \endhead \footnotetext{See below \vref{sec:transliteration}.} 1127% \endhead \footnotetext{See below \vref{sec:transliteration}.}
1034% \label{tab:arabtex-short-vowels} 1128% \label{tab:arabtex-short-vowels}
1035% \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \brill{Ba} & \verb|a| \\ 1129% \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \brill{Ba} & \verb|a| \\
@@ -1478,7 +1572,7 @@
1478% |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i} 1572% |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i}
1479% \arb[trans]{al-.hamd-u li-l-l_ah-i}. 1573% \arb[trans]{al-.hamd-u li-l-l_ah-i}.
1480% \end{quote} 1574% \end{quote}
1481% As said above on \cpageref{fullvoc-mode}, |fullvoc| is the mode 1575% As said above on \vpageref{fullvoc-mode}, |fullvoc| is the mode
1482% in which \package{arabluatex} expresses the \arb[trans]{sukUn} and 1576% in which \package{arabluatex} expresses the \arb[trans]{sukUn} and
1483% the \arb[trans]{wa.slaT}. \package{arabluatex} will take care of 1577% the \arb[trans]{wa.slaT}. \package{arabluatex} will take care of
1484% doing that automatically provided that the vowel which is to be 1578% doing that automatically provided that the vowel which is to be
@@ -1660,7 +1754,7 @@
1660% \enquote{pipe} and \vref{sec:transliteration} on |dmg| mode.} 1754% \enquote{pipe} and \vref{sec:transliteration} on |dmg| mode.}
1661% |al-l_ah-u| \arb[fullvoc]{yA| al-l_ah-u} \arb[trans]{yA| 1755% |al-l_ah-u| \arb[fullvoc]{yA| al-l_ah-u} \arb[trans]{yA|
1662% al-l_ah-u}, \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See 1756% al-l_ah-u}, \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See
1663% \cref{fn:pipe-allah-01}.}|-al-|\allowbreak|l_ah-i| 1757% \vref{fn:pipe-allah-01}.}|-al-|\allowbreak|l_ah-i|
1664% |la-ta.g`alanna| \arb[fullvoc]{'a-fa|-al-l_ah-i la-ta.g`alanna} 1758% |la-ta.g`alanna| \arb[fullvoc]{'a-fa|-al-l_ah-i la-ta.g`alanna}
1665% \arb[trans]{'a-fa|-al-l_ah-i la-ta.g`alanna}, 1759% \arb[trans]{'a-fa|-al-l_ah-i la-ta.g`alanna},
1666% |bi-'l-|\allowbreak|l_ah-i| \arb[fullvoc]{bi-'l-l_ah-i} 1760% |bi-'l-|\allowbreak|l_ah-i| \arb[fullvoc]{bi-'l-l_ah-i}
@@ -1852,27 +1946,26 @@
1852% analysis. \enquote{Quoting} that straight single quote character 1946% analysis. \enquote{Quoting} that straight single quote character
1853% like so: \meta{\texttt{"'}} allows to determine the carrier of the 1947% like so: \meta{\texttt{"'}} allows to determine the carrier of the
1854% \arb[trans]{hamzaT} freely, without any consideration for the 1948% \arb[trans]{hamzaT} freely, without any consideration for the
1855% context. \Cref{tab:quoted-hamza} gives the equivalents for all the 1949% context. \Vref{tab:quoted-hamza} gives the equivalents for all the
1856% possible carriers the \arb[trans]{hamzaT} may take. 1950% possible carriers the \arb[trans]{hamzaT} may take.
1857% 1951%
1858% \begin{longtable}{lllll} 1952% \begin{longtable}{lllll}
1859% \bottomrule 1953% \bottomrule
1860% \caption*{\Cref*{tab:quoted-hamza}: \enquote{Quoted} 1954% \caption[]{\enquote{Quoted} \arb[trans]{hamzaT}}
1861% \arb[trans]{hamzaT}}
1862% \endfoot 1955% \endfoot
1863% \captionlistentry{\enquote{Quoted} \arb[trans]{hamzaT}}\\[-1em] 1956% \toprule
1864% \toprule Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 1957% \captionlistentry{\enquote{Quoted} \arb[trans]{hamzaT}}
1958% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
1865% & Arab\TeX\ notation \\ 1959% & Arab\TeX\ notation \\
1866% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1960% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
1867% \endfirsthead 1961% \endfirsthead
1868% \toprule Letter & \multicolumn{3}{l}{Transliteration} 1962% \toprule Letter & \multicolumn{3}{l}{Transliteration}
1869% & Arab\TeX\ notation \\ 1963% & Arab\TeX\ notation \\
1870% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 1964% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
1871% \endhead 1965% \endhead
1872% \footnotetext{See below \vref{sec:transliteration}.} 1966% \footnotetext{See below \vref{sec:transliteration}.}
1873% \label{tab:quoted-hamza} 1967% \label{tab:quoted-hamza}
1874% \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \brill{|"'} & \verb+|"'+ \\ 1968% \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \brill{|"'} & \verb+|"'+ \\
1875% \pagebreak[1]
1876% \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \brill{A"'} & \verb|A"'| \\ 1969% \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \brill{A"'} & \verb|A"'| \\
1877% \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \brill{a"'} & \verb|a"'| \\ 1970% \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \brill{a"'} & \verb|a"'| \\
1878% \arb[novoc]{u"'} & \dmg{u"'} & \loc{u"'} & \brill{u"'} & \verb|u"'| \\ 1971% \arb[novoc]{u"'} & \dmg{u"'} & \loc{u"'} & \brill{u"'} & \verb|u"'| \\
@@ -1900,7 +1993,7 @@
1900% \arb[fullvoc]{'a`daA"'|"'ikum} \arb[trans]{'a`dA|"'ikum}. 1993% \arb[fullvoc]{'a`daA"'|"'ikum} \arb[trans]{'a`dA|"'ikum}.
1901% \end{quote} 1994% \end{quote}
1902% 1995%
1903% \subsection{\texorpdfstring{The \enquote{pipe} character 1996% \subsection{\texorpdfstring{The \enquote*{pipe} character
1904% (\textbar)}{The ‘pipe’ character (\textbar)}} 1997% (\textbar)}{The ‘pipe’ character (\textbar)}}
1905% \label{sec:pipe} 1998% \label{sec:pipe}
1906% In the terminology of Arab\TeX, the \enquote{pipe} character 1999% In the terminology of Arab\TeX, the \enquote{pipe} character
@@ -1923,11 +2016,11 @@
1923% \end{quote} 2016% \end{quote}
1924% As one can see, the \enquote{pipe} character between the two 2017% As one can see, the \enquote{pipe} character between the two
1925% \meta{n} prevents the necessary \arb[trans]{ta^sdId} rule 2018% \meta{n} prevents the necessary \arb[trans]{ta^sdId} rule
1926% (\cpageref{ref:necessary-tashdid}) from being applied. 2019% (\vpageref{ref:necessary-tashdid}) from being applied.
1927% 2020%
1928% \subsection{Putting back on broken contextual analysis rules} 2021% \subsection{Putting back on broken contextual analysis rules}
1929% \label{sec:arbnull} 2022% \label{sec:arbnull}
1930% \NEWfeature{v1.7} In complex documents such as critical editions 2023% \newfeature[v1.7] In complex documents such as critical editions
1931% where footnotes and other kind of annotations can be particularly 2024% where footnotes and other kind of annotations can be particularly
1932% abundant, the contextual analysis rules that are described above may 2025% abundant, the contextual analysis rules that are described above may
1933% be broken by \LaTeX\ commands. To take an example, consider the 2026% be broken by \LaTeX\ commands. To take an example, consider the
@@ -2023,6 +2116,34 @@
2023% |sanaT-i| |1024| \arb[voc]{fI sanaT-i 1024} 2116% |sanaT-i| |1024| \arb[voc]{fI sanaT-i 1024}
2024% \end{quote} 2117% \end{quote}
2025% 2118%
2119% \needspace{2\baselineskip}
2120% \DescribeMacro{\SetArbNumbers}\newfeature[v1.21]
2121% \phts\label{ref:arabic-numbers}
2122% \cs{SetArbNumbers}\verb+{Indian|Arabic}+ %
2123% \hfill\tcboxverb{Default: Indian}\\
2124% As described above, \package{arabluatex} prints Indian numbers by
2125% default. \cs{SetArbNumbers}|{Arabic}| can be used at any point of
2126% the document to have Arabic numbers printed. Furthermore,
2127% \cs{SetArbNumbers}|{Arabic}| gives control over the way numbers are
2128% to be printed by means of the |anum| font feature, like so:---
2129%
2130% \iffalse
2131%<*example>
2132% \fi
2133\begin{alcode}
2134 \usepackage{arabluatex}
2135 \SetArbNumbers{Arabic}
2136 % use '+anum' for Arabic numbers or '-anum' for Indian numbers:
2137 \newfontfamily\arabicfont{Amiri}[Script=Arabic, RawFeature={+anum}]
2138\end{alcode}
2139% \iffalse
2140%</example>
2141% \fi
2142%
2143% \danger \cs{SetArbNumbers} must be used \emph{outside} Arabic
2144% environments. Once used, this commands operates on subsequent Arabic
2145% environments.
2146%
2026% \subsubsection{The \emph{abjad}} 2147% \subsubsection{The \emph{abjad}}
2027% \label{sec:abjad} 2148% \label{sec:abjad}
2028% The numbers may also be expressed with letters from right to left 2149% The numbers may also be expressed with letters from right to left
@@ -2031,7 +2152,7 @@
2031% \arb[trans]{'abjad} numbers are usually distinguished from the 2152% \arb[trans]{'abjad} numbers are usually distinguished from the
2032% surrounding words by a stroke placed over them. 2153% surrounding words by a stroke placed over them.
2033% 2154%
2034% \DescribeMacro{\abjad} \NEWfeature{v.1.1} \arb[trans]{'abjad} 2155% \DescribeMacro{\abjad} \newfeature[v.1.1] \arb[trans]{'abjad}
2035% numbers are inserted with the \cs{abjad}\marg{number} command in any 2156% numbers are inserted with the \cs{abjad}\marg{number} command in any
2036% of the |voc|, |fullvoc| and |novoc| modes, where \meta{number} may 2157% of the |voc|, |fullvoc| and |novoc| modes, where \meta{number} may
2037% be any number between 1 and 1999, like so:--- 2158% be any number between 1 and 1999, like so:---
@@ -2040,35 +2161,35 @@
2040% kitAbu-hu fI 'l-`AdAt-i} \arb[trans]{\abjad{45} kitAbu-hu fI 2161% kitAbu-hu fI 'l-`AdAt-i} \arb[trans]{\abjad{45} kitAbu-hu fI
2041% 'l-`AdAt-i}. 2162% 'l-`AdAt-i}.
2042% \end{quote} 2163% \end{quote}
2043% \begin{quoting} 2164% \begin{remarks}
2044% \textsc{Rem.}~\emph{a.} As can be seen in the above given example, 2165% \item As can be seen in the above given example,
2045% \package{arabluatex} expresses the \arb[trans]{'abjad} numbers in 2166% \package{arabluatex} expresses the \arb[trans]{'abjad} numbers in
2046% Roman numerals if it finds the \cs{abjad} command in any of the 2167% Roman numerals if it finds the \cs{abjad} command in any of the
2047% transliteration modes. 2168% transliteration modes.
2048% 2169%
2049% \textsc{Rem.}~\emph{b.} \cs{abjad} may also be found outside 2170% \item \cs{abjad} may also be found outside Arabic environments. In
2050% Arabic environments. In that case, \package{arabluatex} does not 2171% that case, \package{arabluatex} does not print the stroke as a
2051% print the stroke as a distinctive mark over the number for it is 2172% distinctive mark over the number for it is not surrounded by other
2052% not surrounded by other Arabic words. In case one nonetheless 2173% Arabic words. In case one nonetheless wishes to print the stroke,
2053% wishes to print the stroke, he can either use the \cs{aemph} 2174% he can either use the \cs{aoline*} command that is described below
2054% command that is described below in \vref{sec:emphasis} or insert 2175% in \vref{sec:underlining} or insert the \arb[trans]{'ab^gad}
2055% the \arb[trans]{'ab^gad} number in |\arb[novoc]{}|:--- 2176% number in |\arb[novoc]{}|:---
2056% \begin{quote} 2177% \begin{quote}
2057% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is| 2178% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
2058% |\abjad{1874}| The \arb[trans]{'abjad} number for 1874 is 2179% |\abjad{1874}| The \arb[trans]{'abjad} number for 1874 is
2059% \abjad{1874}. 2180% \abjad{1874}.
2060% 2181%
2061% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is| 2182% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
2062% |\aemph*{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874 2183% |\aoline*{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874
2063% is \aemph*{\abjad{1874}}. 2184% is \aoline*{\abjad{1874}}.
2064% 2185%
2065% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is| 2186% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
2066% |\arb[novoc]{\abjad{1874}}| The \arb[trans]{'abjad} number for 2187% |\arb[novoc]{\abjad{1874}}| The \arb[trans]{'abjad} number for
2067% 1874 is \arb[novoc]{\abjad{1874}}. 2188% 1874 is \arb[novoc]{\abjad{1874}}.
2068% \end{quote} 2189% \end{quote}
2069% \end{quoting} 2190% \end{remarks}
2070% 2191%
2071% \NEWfeature{v1.12}\cs{abjad} may also be used to convert values of 2192% \newfeature[v1.12]\cs{abjad} may also be used to convert values of
2072% counters into \arb[trans]{'ab^gad} numbers, like so:--- % 2193% counters into \arb[trans]{'ab^gad} numbers, like so:--- %
2073% \changes{v1.12}{2018/06/24}{\cs{abjad} can now process \LaTeX\ 2194% \changes{v1.12}{2018/06/24}{\cs{abjad} can now process \LaTeX\
2074% counters}% 2195% counters}%
@@ -2100,19 +2221,18 @@
2100% For the time being, the following is included:--- 2221% For the time being, the following is included:---
2101% \begin{longtable}{lllll} 2222% \begin{longtable}{lllll}
2102% \bottomrule 2223% \bottomrule
2103% \caption*{\Cref*{tab:additional-arabic-codings}: Additional Arabic 2224% \caption[]{Additional Arabic codings}
2104% codings}
2105% \endfoot 2225% \endfoot
2106% \captionlistentry{Additional Arabic codings}\\[-1em]
2107% \toprule 2226% \toprule
2227% \captionlistentry{Additional Arabic codings}
2108% Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 2228% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
2109% & Arab\TeX\ notation \\ 2229% & Arab\TeX\ notation \\
2110% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 2230% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
2111% \endfirsthead 2231% \endfirsthead
2112% \toprule 2232% \toprule
2113% Letter & \multicolumn{3}{l}{Transliteration} 2233% Letter & \multicolumn{3}{l}{Transliteration}
2114% & Arab\TeX\ notation \\ 2234% & Arab\TeX\ notation \\
2115% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} \\ \midrule 2235% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} \\ \midrule
2116% \endhead \footnotetext{See below \vref{sec:transliteration}.} 2236% \endhead \footnotetext{See below \vref{sec:transliteration}.}
2117% \label{tab:additional-arabic-codings} 2237% \label{tab:additional-arabic-codings}
2118% \arb[novoc]{.b} & \dmg{.b} & \loc{.b} & \brill{.b} & |.b| \\ 2238% \arb[novoc]{.b} & \dmg{.b} & \loc{.b} & \brill{.b} & |.b| \\
@@ -2120,8 +2240,16 @@
2120% \arb[novoc]{.f} & \dmg{.f} & \loc{.f} & \brill{.f} & |.f| \\ 2240% \arb[novoc]{.f} & \dmg{.f} & \loc{.f} & \brill{.f} & |.f| \\
2121% \arb[novoc]{.q} & \dmg{.q} & \loc{.q} & \brill{.q} & |.q| \\ 2241% \arb[novoc]{.q} & \dmg{.q} & \loc{.q} & \brill{.q} & |.q| \\
2122% \arb[novoc]{.k} & \dmg{.k} & \loc{.k} & \brill{.k} & |.k| \\ 2242% \arb[novoc]{.k} & \dmg{.k} & \loc{.k} & \brill{.k} & |.k| \\
2123% \pagebreak[1]
2124% \arb[novoc]{.n} & \dmg{.n} & \loc{.n} & \brill{.n} & |.n| \\ 2243% \arb[novoc]{.n} & \dmg{.n} & \loc{.n} & \brill{.n} & |.n| \\
2244% \arb[novoc]{H} & \dmg{aH} & \loc{aH} & \brill{aH} &
2245% |H|\footnote{This letter can be used to encode the \arb[trans]{tA'
2246% marbUtaT} devoid of diacritical points as it is found in some
2247% manuscripts, with the same \arb[trans]{tanwIn} and the same
2248% short vowels as the standard \arb[trans]{tA' marbUtaT} with two
2249% points above, e. g. |al-madInaHa|, |madInaHaN|, \arb{al-madInaHa},
2250% \arb{madInaHaN}.} \\
2251% \arb[novoc]{.y} & \dmg{.y} & \loc{.y} & \brill{.y} &
2252% |.y|\footnote{See above \vref{ref:dotless-ya}.} \\
2125% \arb[novoc]{((} & \dmg{((} & \loc{((} & \brill{((} & |((| \\ 2253% \arb[novoc]{((} & \dmg{((} & \loc{((} & \brill{((} & |((| \\
2126% \arb[novoc]{))} & \dmg{))} & \loc{))} & \brill{))} & |))| \\ 2254% \arb[novoc]{))} & \dmg{))} & \loc{))} & \brill{))} & |))| \\
2127% \end{longtable} 2255% \end{longtable}
@@ -2148,36 +2276,52 @@
2148% \arb[trans]{\abjad{45}: kitAbu-hu \aemph{fI 'l-\uc{`AdAt-i}}}. 2276% \arb[trans]{\abjad{45}: kitAbu-hu \aemph{fI 'l-\uc{`AdAt-i}}}.
2149% \end{quote} 2277% \end{quote}
2150% 2278%
2151% \begin{quoting} 2279% \begin{remarks}
2152% \textsc{Rem.}~\emph{a.} As the above example shows, 2280% \item As the above example shows, \package{arabluatex} places the
2153% \package{arabluatex} places the horizontal stroke \emph{under} the 2281% horizontal stroke \emph{under} the emphasized words in any of the
2154% emphasized words in any of the transliteration modes. 2282% transliteration modes.
2155% 2283%
2156% \textsc{Rem.}~\emph{b.} \NEWfeature{v1.9.2}\DescribeMacro{\aemph*} 2284% \item \newfeature[v1.9.2]\DescribeMacro{\aemph*} \cs{aemph*} is also
2157% \cs{aemph*} is also provided should one wish to always have the 2285% provided should one wish to always have the horizontal stroke
2158% horizontal stroke printed over the emphasized words, like so: 2286% printed over the emphasized words, like so: |\abjad{45}:|
2159% |\abjad{45}:| |kitAbu-hu| |\aemph*{fI| |'l-`AdAt-i}| 2287% |kitAbu-hu| |\aemph*{fI| |'l-`AdAt-i}| \arb[voc]{\abjad{45}:
2160% \arb[voc]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-`AdAt-i}} 2288% kitAbu-hu \aemph*{fI 'l-`AdAt-i}} \arb[trans]{\abjad{45}:
2161% \arb[trans]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-\uc{`AdAt-i}}}. 2289% kitAbu-hu \aemph*{fI 'l-\uc{`AdAt-i}}}.
2162% \end{quoting} 2290% \end{remarks}
2163% 2291%
2292% \subsubsection{Underlining words or numbers}
2293% \label{sec:underlining}
2294% \DescribeMacro{\aoline}%
2295% \DescribeMacro{\aoline*}%
2296% \DescribeMacro{\auline}%
2297% \newfeature[v1.19]Three additional, non context-sensitive commands
2298% are provided to distinguish words or numbers:---
2299% \begin{enumerate}
2300% \item \cs{aoline}, which is equivalent to \cs{aemph*} described
2301% above.
2302% \item \cs{aoline*}, which is the same as \cs{aoline}, but better
2303% suited for \arb[trans]{'ab^gad} numbers.\footnote{See the example
2304% provided above \vref{sec:abjad}.}
2305% \item \cs{auline}, which can be used to underline Arabic words.
2306% \end{enumerate}
2307%
2164% \section{Arabic poetry} 2308% \section{Arabic poetry}
2165% \label{sec:poetry} 2309% \label{sec:poetry}
2166% \NEWfeature{v1.6} \package{arabluatex} provides a special 2310% \newfeature[v1.6] \package{arabluatex} provides a special
2167% environment for typesetting Arabic poetry. Every line in this 2311% environment for typesetting Arabic poetry. Every line in this
2168% environment must end with |\\|. 2312% environment must end with |\\|.
2169% 2313%
2170% \DescribeEnv{arabverse} The |arabverse| environment may take up to 2314% \DescribeEnv{arabverse} The |arabverse| environment may take up to
2171% six optional \enquote*{named arguments} each of which is set using 2315% eight optional \enquote*{named arguments} each of which is set using
2172% the syntax \meta{key}$=$\meta{value}, like so:---% 2316% the syntax \meta{key}$=$\meta{value}, like so:---%
2173% \iffalse 2317% \iffalse
2174%<*example> 2318%<*example>
2175% \fi 2319% \fi
2176\begin{code} 2320\begin{alcode}
2177 \begin{arabverse}[key1=value1, key2=value2, ...] 2321 \begin{arabverse}[key1=value1, key2=value2, ...]
2178 <verses> 2322 <verses>
2179 \end{arabverse} 2323 \end{arabverse}
2180\end{code} 2324\end{alcode}
2181% \iffalse 2325% \iffalse
2182%</example> 2326%</example>
2183% \fi 2327% \fi
@@ -2226,13 +2370,13 @@
2226% 2370%
2227% \DescribeOption{color} |color|$=$\meta{color name} 2371% \DescribeOption{color} |color|$=$\meta{color name}
2228% \hfill\tcboxverb{Default: not set}\\ 2372% \hfill\tcboxverb{Default: not set}\\
2229% \NEWfeature{v1.13} The color in which lines of poetry are to be 2373% \newfeature[v1.13] The color in which lines of poetry are to be
2230% rendered. 2374% rendered.
2231% 2375%
2232% \label{ref:poetry-export} 2376% \label{ref:poetry-export}
2233% \DescribeOption{export} |export|$=$|true|\verb+|+|false| 2377% \DescribeOption{export} |export|$=$|true|\verb+|+|false|
2234% \hfill\tcboxverb{Default: false}\\ 2378% \hfill\tcboxverb{Default: false}\\
2235% \NEWfeature{v.1.13} This named argument does not need a value as it 2379% \newfeature[v.1.13] This named argument does not need a value as it
2236% defaults to |true| if it is used. If |export| is set as a global 2380% defaults to |true| if it is used. If |export| is set as a global
2237% option as well (see above \vpageref{export-mode}), all the lines 2381% option as well (see above \vpageref{export-mode}), all the lines
2238% will be converted to Unicode and exported to the external selected 2382% will be converted to Unicode and exported to the external selected
@@ -2246,8 +2390,9 @@
2246% when \texttt{export} is set to \texttt{true} to instruct some Lua 2390% when \texttt{export} is set to \texttt{true} to instruct some Lua
2247% functions that lines of poetry have already been processed. That 2391% functions that lines of poetry have already been processed. That
2248% aside, \cs{bayt} and \cs{bayt*} do the same, and only \cs{bayt} 2392% aside, \cs{bayt} and \cs{bayt*} do the same, and only \cs{bayt}
2249% should be used.} Additionally, every \cs{bayt} command \emph{must} 2393% should be used.} Additionally, every \cs{bayt} command \emph{must}
2250% be followed with |\\| like so:---% 2394% be followed with |\\| like so:---
2395%
2251% \iffalse 2396% \iffalse
2252%<*example> 2397%<*example>
2253% \fi 2398% \fi
@@ -2350,6 +2495,20 @@
2350% warping may be even more perceptible in Roman than in Arabic 2495% warping may be even more perceptible in Roman than in Arabic
2351% characters. 2496% characters.
2352% 2497%
2498% \DescribeMacro{\StretchBayt} \cs{StretchBayt}\verb+[true|false]+
2499% \hfill\tcboxverb{Default: true}\\
2500% \newfeature[v1.20] \cs{StretchBayt} takes one optional argument,
2501% either |true| or |false| and can be used to remove the stretching
2502% form lines of Arabic poetry. As a side effect, there will be more
2503% space between words, but this can be compensated by inserting double
2504% hyphens between letters (on this technique, see
2505% \vref{sec:tatwil}). Should it be desired to extend further the
2506% strokes, four hyphens may be inserted (|----|), viz. a multiple of
2507% two. \cs{StretchBayt} may be used at any point of the document, even
2508% between two subsequent lines of poetry. Note that
2509% \cs{StretchBayt}|[false]| may require to carefully adjust the width
2510% of the hemistichs to avoid overlapping.
2511%
2353% \paragraph{Footnotes} 2512% \paragraph{Footnotes}
2354% Footnotes are not set by default inside the \cs{bayt} command, but 2513% Footnotes are not set by default inside the \cs{bayt} command, but
2355% there are two easy ways to have them printed. 2514% there are two easy ways to have them printed.
@@ -2368,6 +2527,16 @@
2368% package can also be used for the same effect. However, it must be 2527% package can also be used for the same effect. However, it must be
2369% loaded \emph{after} \package{arabluatex}.} 2528% loaded \emph{after} \package{arabluatex}.}
2370% 2529%
2530% \needspace{3\baselineskip}
2531% \paragraph{Critical Notes}
2532% \DescribeMacro{\bayt+} \newfeature[v1.21] If the \pkg{ekdosis}
2533% package be loaded,\footcite{pkg:ekdosis} the \cs{bayt} command also
2534% accepts a |+| optional argument that can be used to let critical
2535% notes be inserted in lines of poetry. Details on how to use this
2536% command are provided in the relevant section of the documentation of
2537% the \pkg{ekdosis} package.\footcite[\nopp see \enquote{Arabic
2538% Poetry}]{pkg:ekdosis}
2539%
2371% \paragraph{Line numbering} 2540% \paragraph{Line numbering}
2372% Inside the |arabverse| environment, the |linenumbers| environment of 2541% Inside the |arabverse| environment, the |linenumbers| environment of
2373% the \package{lineno} package can be used to have the lines of 2542% the \package{lineno} package can be used to have the lines of
@@ -2390,7 +2559,7 @@
2390% \iffalse 2559% \iffalse
2391%<*example> 2560%<*example>
2392% \fi 2561% \fi
2393\begin{code} 2562\begin{alcode}
2394 \begin{arab}[fullvoc] 2563 \begin{arab}[fullvoc]
2395 qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: 2564 qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
2396 \end{arab} 2565 \end{arab}
@@ -2399,7 +2568,7 @@
2399 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}] 2568 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}]
2400 \SetArbDflt* 2569 \SetArbDflt*
2401 \begin{linenumbers*} 2570 \begin{linenumbers*}
2402 \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti 2571 \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-siq.ti
2403 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\ 2572 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
2404 \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu 2573 \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
2405 rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\ 2574 rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
@@ -2410,13 +2579,16 @@
2410 \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna 2579 \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna
2411 lA tahlik 'asaN_A wa-ta^gammali}\\ 2580 lA tahlik 'asaN_A wa-ta^gammali}\\
2412 \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda 2581 \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda
2413 rasmiN dAsiriN min mu`awwali}\\ 2582 rasmiN dArisiN min mu`awwali}\\
2414 \end{linenumbers*} 2583 \end{linenumbers*}
2415 \end{arabverse} 2584 \end{arabverse}
2416\end{code} 2585\end{alcode}
2417% \iffalse 2586% \iffalse
2418%</example> 2587%</example>
2419% \fi% 2588% \fi%
2589%
2590% \medskip
2591% \noindent\textbf{\cs{StretchBayt}|[true]| (Default)}:---
2420% \begin{arab}[fullvoc] 2592% \begin{arab}[fullvoc]
2421% qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: 2593% qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
2422% \end{arab} 2594% \end{arab}
@@ -2425,19 +2597,18 @@
2425% 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.25\linewidth] 2597% 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.25\linewidth]
2426% \SetArbDflt* 2598% \SetArbDflt*
2427% \begin{linenumbers*} 2599% \begin{linenumbers*}
2428% \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti 2600% \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-siq.ti
2429% 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\ 2601% 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
2430% \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu 2602% \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
2431% rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\ 2603% rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
2432% \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA 2604% \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
2433% ka-'anna-hu .habbu fulfuli}\\ 2605% ka-'anna-hu .habbu fulfuli}\\
2434% \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A 2606% \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
2435% samurAti 2607% samurAti 'l-.hayyi nAqifu .han.zali}\\
2436% 'l-.hayyi nAqifu .han.zali}\\
2437% \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA 2608% \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA
2438% tahlik 'asaN_A wa-ta^gammali}\\ 2609% tahlik 'asaN_A wa-ta^gammali}\\
2439% \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN 2610% \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN
2440% dAsiriN min mu`awwali}\\ 2611% dArisiN min mu`awwali}\\
2441% \end{linenumbers*} 2612% \end{linenumbers*}
2442% \end{arabverse} 2613% \end{arabverse}
2443% 2614%
@@ -2451,22 +2622,79 @@
2451% 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.4\linewidth] 2622% 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.4\linewidth]
2452% \SetArbDflt* 2623% \SetArbDflt*
2453% \begin{linenumbers*} 2624% \begin{linenumbers*}
2454% \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti 2625% \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-siq.ti
2455% 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\ 2626% 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
2456% \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu 2627% \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
2457% rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\ 2628% rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
2458% \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA 2629% \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
2459% ka-'anna-hu .habbu fulfuli}\\ 2630% ka-'anna-hu .habbu fulfuli}\\
2460% \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A 2631% \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
2461% samurAti 2632% samurAti 'l-.hayyi nAqifu .han.zali}\\
2462% 'l-.hayyi nAqifu .han.zali}\\
2463% \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA 2633% \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA
2464% tahlik 'asaN_A wa-ta^gammali}\\ 2634% tahlik 'asaN_A wa-ta^gammali}\\
2465% \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN 2635% \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN
2466% dAsiriN min mu`awwali}\\ 2636% dArisiN min mu`awwali}\\
2467% \end{linenumbers*} 2637% \end{linenumbers*}
2468% \end{arabverse} 2638% \end{arabverse}
2469% 2639%
2640% \medskip
2641% \noindent\textbf{\cs{StretchBayt}|[false]|}:---
2642% \StretchBayt[false]\\
2643% In what follows, |width| has been set to |0.3\linewidth| and double
2644% hyphens have been inserted between some letters to prolong their
2645% horizontal strokes.
2646% \begin{arab}[fullvoc]
2647% qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
2648% \end{arab}
2649%
2650% \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina
2651% 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.3\linewidth]
2652% \SetArbDflt*
2653% \begin{linenumbers*}
2654% \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-siq.ti
2655% 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
2656% \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`--fu
2657% rasmu---hA}{limA nasa^gat-hA mi--n ^gan----UbiN wa-^sam'ali}\\
2658% \bayt{ta--r_A ba--`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI--`Ani-hA
2659% ka-'anna---hu .ha----bbu fu--{l}--fu----li}\\
2660% \bayt{ka-'annI .ga--dATa 'l-bay--ni ya--wma ta.hammalUA}{lad_A
2661% samurAti 'l-.hayyi nAqifu .han.zali}\\
2662% \bayt{wuq--UfaN bi-hA .sa.hbI `a--layya ma--.tiyya---hu--m}
2663% {ya--q--Ul--Una lA tahli--k 'asaN_A wa-ta^gamma----li}\\
2664% \bayt{wa-'inna ^si----f----A'I `a--{b}----raTuN muharAqa----TuN}
2665% {fa---ha--l `inda rasmiN dArisiN min mu`awwali}\\
2666% \end{linenumbers*}
2667% \end{arabverse}
2668%
2669% \medskip
2670%
2671% In what follows, |width| has been set to |0.375\linewidth| and
2672% |\scriptsize| has been used so as to avoid overlapping.
2673% \begin{arab}[trans]
2674% qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
2675% \end{arab}
2676%
2677% \begin{arabverse}[mode=trans, metre={(al-.darbu 'l-_tAnI mina
2678% 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.375\linewidth]
2679% \SetArbDflt*
2680% \scriptsize
2681% \begin{linenumbers*}
2682% \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-siq.ti
2683% 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
2684% \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
2685% rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
2686% \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
2687% ka-'anna-hu .habbu fulfuli}\\
2688% \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
2689% samurAti 'l-.hayyi nAqifu .han.zali}\\
2690% \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA
2691% tahlik 'asaN_A wa-ta^gammali}\\
2692% \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN
2693% dArisiN min mu`awwali}\\
2694% \end{linenumbers*}
2695% \end{arabverse}
2696% \StretchBayt[true]
2697%
2470% \section{Special applications} 2698% \section{Special applications}
2471% \label{sec:special-applications} 2699% \label{sec:special-applications}
2472% \phantomsection 2700% \phantomsection
@@ -2484,7 +2712,7 @@
2484% 2712%
2485% \paragraph{Brackets} 2713% \paragraph{Brackets}
2486% \phantomsection 2714% \phantomsection
2487% \NEWfeature{v1.4.3} The various bracket symbols are useful in 2715% \newfeature[v1.4.3] The various bracket symbols are useful in
2488% technical documents such as critical editions for indicating that 2716% technical documents such as critical editions for indicating that
2489% some words or some letters must be added or 2717% some words or some letters must be added or
2490% removed. \package{arabluatex} will automatically fit those symbols 2718% removed. \package{arabluatex} will automatically fit those symbols
@@ -2522,18 +2750,18 @@
2522% \arb[trans]{\uc{qur'An}} or in classical poetry. 2750% \arb[trans]{\uc{qur'An}} or in classical poetry.
2523% 2751%
2524% \DescribeMacro{\arbmark} 2752% \DescribeMacro{\arbmark}
2525% \NEWfeature{v1.11}\cs{arbmark}\oarg{rl\textbar{}lr}\marg{shorthand} 2753% \newfeature[v1.11]\cs{arbmark}\oarg{rl\textbar{}lr}\marg{shorthand}
2526% can be used to insert such characters either in Unicode or in 2754% can be used to insert such characters either in Unicode or in
2527% romanized Arabic environments. It takes as argument a shorthand 2755% romanized Arabic environments. It takes as argument a shorthand
2528% defined beforehand in a default list which consists of the following 2756% defined beforehand in a default list which consists of the following
2529% at the time of writing:---\\ 2757% at the time of writing:---
2758%
2530% \begin{longtable}{llp{.3\linewidth}p{.3\linewidth}} 2759% \begin{longtable}{llp{.3\linewidth}p{.3\linewidth}}
2531% \bottomrule 2760% \bottomrule
2532% \caption*{\Cref*{tab:arabtex-additional-marks}: Additional Arabic 2761% \caption[]{Additional Arabic marks}
2533% marks}
2534% \endfoot 2762% \endfoot
2535% \captionlistentry{Additional Arabic marks}\\[-1em]
2536% \toprule 2763% \toprule
2764% \captionlistentry{Additional Arabic marks}
2537% Codepoint & Shorthand & Glyph & Transliteration \\ \midrule 2765% Codepoint & Shorthand & Glyph & Transliteration \\ \midrule
2538% \endfirsthead 2766% \endfirsthead
2539% \toprule 2767% \toprule
@@ -2546,12 +2774,12 @@
2546% |FDFB| & |jalla| & \arb{\arbmark{jalla}} & \arbmark{jalla} \\ 2774% |FDFB| & |jalla| & \arb{\arbmark{jalla}} & \arbmark{jalla} \\
2547% \end{longtable} 2775% \end{longtable}
2548% 2776%
2549% \NEWfeature{v1.13} 2777% \newfeature[v1.13]
2550% The mark to be inserted is determined by contextual analysis, or by 2778% The mark to be inserted is determined by contextual analysis, or by
2551% an optional argument, either |rl| to have the Arabic glyph printed, 2779% an optional argument, either |rl| to have the Arabic glyph printed,
2552% or |lr| to print the tranliterated equivalent. 2780% or |lr| to print the tranliterated equivalent.
2553% 2781%
2554% \DescribeMacro{\newarbmark} \NEWfeature{v1.11} \cs{newarbmark} is 2782% \DescribeMacro{\newarbmark} \newfeature[v1.11] \cs{newarbmark} is
2555% also provided should one wish to define new marks in addition to the 2783% also provided should one wish to define new marks in addition to the
2556% marks defined above. This command takes three arguments, like so:--- 2784% marks defined above. This command takes three arguments, like so:---
2557% \arabluabox{\cs{newarbmark}\marg{shorthand}\marg{RTL 2785% \arabluabox{\cs{newarbmark}\marg{shorthand}\marg{RTL
@@ -2615,6 +2843,44 @@
2615%</example> 2843%</example>
2616% \fi 2844% \fi
2617% 2845%
2846% \paragraph{\texorpdfstring{The \enquote*{Zero width joiner}
2847% character (\texttt{U+200D})}%
2848% {The ‘Zero width joiner’ character (\texttt{U+200D})}}
2849% \phantomsection%
2850% \newfeature[v1.18]%
2851% The \enquote*{Zero width joiner} character (|U+200D|) belongs to the
2852% \enquote*{General Punctuation} block (range |2000|--|206F|) of the
2853% Unicode standard. It is a non-printing character which, when it is
2854% placed between two characters that would for some reason not be
2855% connected, causes them to be printed in their connected forms.
2856%
2857% It is encoded |&| in Arab\TeX\ scheme.
2858%
2859% In elegantly printed books where many of the letters are interwoven
2860% with one another so as to form ligatures, it may be convenient to
2861% bring the letters into line in some instances. In the following
2862% example, the \enquote*{zero width joiner} is used to prevent two
2863% adjacent letters, viz.\ \arb[novoc]{s} and \arb[novoc]{.h}, from
2864% standing one above the other in the name of \prname{'is.h_aq}
2865% (\arb[fullvoc]{'is.h_aq"}):\footnote{\cs{underLine} and
2866% \cs{highLight} are taken from the \package{lua-ul} package which is
2867% loaded by \package{arabluatex}. See \textcite{pkg:lua-ul}.}---
2868% \iffalse
2869%<*example>
2870% \fi
2871\begin{example}
2872 \begin{arab}[fullvoc]
2873 huwa 'abU zaydiN .hunaynu bnu 'is&\underLine{&.h_a}qa
2874 'l-`a\underLine{bA}diyyu bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
2875
2876 huwa 'abU zaydiN .hunaynu bnu 'is&\highLight{&.h_a}qa
2877 'l-`a\highLight{bA}diyyu bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
2878 \end{arab}
2879\end{example}
2880% \iffalse
2881%</example>
2882% \fi
2883%
2618% \subsection{\texorpdfstring{The \prname{qur'An}}{The Qurʾān}} 2884% \subsection{\texorpdfstring{The \prname{qur'An}}{The Qurʾān}}
2619% \label{sec:the-quran} 2885% \label{sec:the-quran}
2620% This sub-part is destined to become a part of its own, as fine 2886% This sub-part is destined to become a part of its own, as fine
@@ -2623,7 +2889,7 @@
2623% new Arabic modes will be available as \package{arabluatex} will 2889% new Arabic modes will be available as \package{arabluatex} will
2624% mature. 2890% mature.
2625% 2891%
2626% \DescribeMacro{\ayah}\NEWfeature{v1.15}For the time being, 2892% \DescribeMacro{\ayah}\newfeature[v1.15]For the time being,
2627% \cs{ayah}\marg{3-digit number} is provided so as to typeset the 2893% \cs{ayah}\marg{3-digit number} is provided so as to typeset the
2628% number of the \arb[trans]{'AyaT} that it is referred to inside the 2894% number of the \arb[trans]{'AyaT} that it is referred to inside the
2629% dedicated mark---Unicode |U+06DD|: \txarb{^^^^06dd}---in Arabic 2895% dedicated mark---Unicode |U+06DD|: \txarb{^^^^06dd}---in Arabic
@@ -2679,7 +2945,7 @@
2679% 2945%
2680% \section{Color} 2946% \section{Color}
2681% \label{sec:color} 2947% \label{sec:color}
2682% \NEWfeature{v1.12}\package{arabluatex} is able to render in color 2948% \newfeature[v1.12]\package{arabluatex} is able to render in color
2683% either words, parts of words or diacritics. As the techniques 2949% either words, parts of words or diacritics. As the techniques
2684% implemented in this section may lead to some complexity, the reader 2950% implemented in this section may lead to some complexity, the reader
2685% should first become well acquainted with the following 2951% should first become well acquainted with the following
@@ -2730,6 +2996,7 @@
2730% shape of the letters while coloring them:--- 2996% shape of the letters while coloring them:---
2731% \begin{quote}\textbf{\enquote*{voc} mode}:\\ 2997% \begin{quote}\textbf{\enquote*{voc} mode}:\\
2732% |i^stara\arbcolor[brown]{y}tu-hu| |bi-_tama\arbcolor[red]{niN}| 2998% |i^stara\arbcolor[brown]{y}tu-hu| |bi-_tama\arbcolor[red]{niN}|
2999% \\
2733% |'a`\arbcolor[blue]{^ga}ba-ka| 3000% |'a`\arbcolor[blue]{^ga}ba-ka|
2734% \arb{i^stara\arbcolor[brown]{y}tu-hu bi-_tama\arbcolor[red]{niN} 3001% \arb{i^stara\arbcolor[brown]{y}tu-hu bi-_tama\arbcolor[red]{niN}
2735% 'a`\arbcolor[blue]{^ga}ba-ka} 3002% 'a`\arbcolor[blue]{^ga}ba-ka}
@@ -2738,6 +3005,7 @@
2738% \end{quote} 3005% \end{quote}
2739% \begin{quote}\textbf{\enquote*{fullvoc} mode}:\\ 3006% \begin{quote}\textbf{\enquote*{fullvoc} mode}:\\
2740% |i^stara\arbcolor[brown]{y}tu-hu| |bi-_tama\arbcolor[red]{niN}| 3007% |i^stara\arbcolor[brown]{y}tu-hu| |bi-_tama\arbcolor[red]{niN}|
3008% \\
2741% |'a`\arbcolor[blue]{^ga}ba-ka| 3009% |'a`\arbcolor[blue]{^ga}ba-ka|
2742% \arb[fullvoc]{i^stara\arbcolor[brown]{y}tu-hu 3010% \arb[fullvoc]{i^stara\arbcolor[brown]{y}tu-hu
2743% bi-_tama\arbcolor[red]{niN} 'a`\arbcolor[blue]{^ga}ba-ka} 3011% bi-_tama\arbcolor[red]{niN} 'a`\arbcolor[blue]{^ga}ba-ka}
@@ -2760,29 +3028,26 @@
2760% applying colors to bare diacritics requires them to have specific 3028% applying colors to bare diacritics requires them to have specific
2761% encodings. 3029% encodings.
2762% 3030%
2763% \Cref{tab:arbcolor-diacritics} gives the Arab\TeX\ equivalents for 3031% \Vref{tab:arbcolor-diacritics} gives the Arab\TeX\ equivalents for
2764% the diacritics to be printed inside or just after \cs{arbcolor}. 3032% the diacritics to be printed inside or just after \cs{arbcolor}.
2765% 3033%
2766% \needspace{7\baselineskip}
2767% \begin{longtable}{lllll} 3034% \begin{longtable}{lllll}
2768% \bottomrule 3035% \bottomrule
2769% \caption*{\Cref*{tab:arbcolor-diacritics}: Arab\TeX\ diacritics 3036% \caption[]{Arab\TeX\ diacritics for \cs{arbcolor}}
2770% for \cs{arbcolor}}
2771% \endfoot 3037% \endfoot
2772% \captionlistentry{Arab\TeX\ diacritics for \cs{arbcolor}}\\[-1em]
2773% \toprule 3038% \toprule
3039% \captionlistentry{Arab\TeX\ diacritics for \cs{arbcolor}}
2774% Diacritic & \multicolumn{3}{l}{Transliteration\footnotemark} 3040% Diacritic & \multicolumn{3}{l}{Transliteration\footnotemark}
2775% & Arab\TeX\ notation \\ 3041% & Arab\TeX\ notation \\
2776% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 3042% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
2777% \endfirsthead 3043% \endfirsthead
2778% \toprule 3044% \toprule
2779% Diacritic & \multicolumn{3}{l}{Transliteration} 3045% Diacritic & \multicolumn{3}{l}{Transliteration}
2780% & Arab\TeX\ notation \\ 3046% & Arab\TeX\ notation \\
2781% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule 3047% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & \\ \midrule
2782% \endhead \footnotetext{See below \vref{sec:transliteration}.} 3048% \endhead \footnotetext{See below \vref{sec:transliteration}.}
2783% \label{tab:arbcolor-diacritics} 3049% \label{tab:arbcolor-diacritics}
2784% \arb{B.a} & \dmg{.a} & \loc{.a} & \brill{.a} & \verb|.a| \\ 3050% \arb{B.a} & \dmg{.a} & \loc{.a} & \brill{.a} & \verb|.a| \\
2785% \pagebreak[1]
2786% \arb{B.u} & \dmg{.u} & \loc{.u} & \brill{.u} & \verb|.u| \\ 3051% \arb{B.u} & \dmg{.u} & \loc{.u} & \brill{.u} & \verb|.u| \\
2787% \arb{B.i} & \dmg{.i} & \loc{.i} & \brill{.i} & \verb|.i| \\ \midrule 3052% \arb{B.i} & \dmg{.i} & \loc{.i} & \brill{.i} & \verb|.i| \\ \midrule
2788% \arb{Bo} & \dmg{o} & \loc{o} & \brill{o} & \verb|o| \\ 3053% \arb{Bo} & \dmg{o} & \loc{o} & \brill{o} & \verb|o| \\
@@ -2807,7 +3072,7 @@
2807% 'a`\arbcolor[red]{^g}.aba-ka}. 3072% 'a`\arbcolor[red]{^g}.aba-ka}.
2808% 3073%
2809% |i^staraytu-hu| |bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}| 3074% |i^staraytu-hu| |bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}|
2810% \allowbreak 3075% \\
2811% |'a`\arbcolor[red]|\allowbreak|{^g}\arbcolor[blue]{.a}ba-ka| 3076% |'a`\arbcolor[red]|\allowbreak|{^g}\arbcolor[blue]{.a}ba-ka|
2812% \arb{i^staraytu-hu bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN} 3077% \arb{i^staraytu-hu bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}
2813% 'a`\arbcolor[red]{^g}\arbcolor[blue]{.a}ba-ka} \linebreak 3078% 'a`\arbcolor[red]{^g}\arbcolor[blue]{.a}ba-ka} \linebreak
@@ -2818,14 +3083,15 @@
2818% 3083%
2819% \begin{quote}\textbf{\enquote*{fullvoc} mode}:\\ 3084% \begin{quote}\textbf{\enquote*{fullvoc} mode}:\\
2820% |i^staray"\arbcolor[red]{o}tu-hu| |bi-_taman"\arbcolor[red]{iN}| 3085% |i^staray"\arbcolor[red]{o}tu-hu| |bi-_taman"\arbcolor[red]{iN}|
3086% \\
2821% |'a`^g"\arbcolor[red]{.a}ba-ka| 3087% |'a`^g"\arbcolor[red]{.a}ba-ka|
2822% \arb[fullvoc]{i^staray"\arbcolor[red]{o}tu-hu 3088% \arb[fullvoc]{i^staray"\arbcolor[red]{o}tu-hu
2823% bi-_taman"\arbcolor[red]{iN} 'a`^g"\arbcolor[red]{.a}ba-ka} 3089% bi-_taman"\arbcolor[red]{iN} 'a`^g"\arbcolor[red]{.a}ba-ka}
2824% \arb[trans]{i^staray"\arbcolor[red]{o}tu-hu 3090% \arb[trans]{i^staray"\arbcolor[red]{o}tu-hu
2825% bi-_taman"\arbcolor[red]{iN} 3091% bi-_taman"\arbcolor[red]{iN} 'a`^g"\arbcolor[red]{.a}ba-ka}.
2826% \linebreak 'a`^g"\arbcolor[red]{.a}ba-ka}.
2827% 3092%
2828% |i^stara\arbcolor[red]{y"}otu-hu| |bi-_tama\arbcolor[red]{n"}iN| 3093% |i^stara\arbcolor[red]{y"}otu-hu| |bi-_tama\arbcolor[red]{n"}iN|
3094% \\
2829% |'a`\arbcolor[red]|\allowbreak|{^g"}.aba-ka| 3095% |'a`\arbcolor[red]|\allowbreak|{^g"}.aba-ka|
2830% \arb[fullvoc]{i^stara\arbcolor[red]{y"}otu-hu 3096% \arb[fullvoc]{i^stara\arbcolor[red]{y"}otu-hu
2831% bi-_tama\arbcolor[red]{n"}iN 'a`\arbcolor[red]{^g"}.aba-ka} 3097% bi-_tama\arbcolor[red]{n"}iN 'a`\arbcolor[red]{^g"}.aba-ka}
@@ -2833,8 +3099,9 @@
2833% bi-_tama\arbcolor[red]{n"}iN 'a`\arbcolor[red]{^g"}.aba-ka}. 3099% bi-_tama\arbcolor[red]{n"}iN 'a`\arbcolor[red]{^g"}.aba-ka}.
2834% 3100%
2835% |i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu| 3101% |i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu|
3102% \\
2836% |bi-_tama\arb|\allowbreak|color[red]{n"}\arbcolor[blue]{iN}| 3103% |bi-_tama\arb|\allowbreak|color[red]{n"}\arbcolor[blue]{iN}|
2837% |'a`\arbcolor[red]|\allowbreak|{^g"}\arb|\allowbreak% 3104% |'a`\arbcolor[red]|\\|{^g"}\arb|
2838% |color[blue]{.a}ba-ka| 3105% |color[blue]{.a}ba-ka|
2839% \arb[fullvoc]{i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu 3106% \arb[fullvoc]{i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu
2840% bi-_tama\arbcolor[red]{n"}\arbcolor[blue]{iN} 3107% bi-_tama\arbcolor[red]{n"}\arbcolor[blue]{iN}
@@ -2866,8 +3133,8 @@
2866% \arb{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}} 3133% \arb{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}
2867% \arb[trans]{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}. 3134% \arb[trans]{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}.
2868% \end{quote} 3135% \end{quote}
2869% \begin{quoting} 3136% \begin{remarks}
2870% \textsc{Rem.} Note that in the last example 3137% \item[\textsc{Rem.}] Note that in the last example
2871% (\arb[trans]{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}), the 3138% (\arb[trans]{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}), the
2872% \enquote*{pipe} character has been inserted before 3139% \enquote*{pipe} character has been inserted before
2873% \cs{arbcolor}. Otherwise, the |dmg| mode of the transliteration 3140% \cs{arbcolor}. Otherwise, the |dmg| mode of the transliteration
@@ -2876,7 +3143,7 @@
2876% \txtrans{t}).\footnote{See also \vpageref{ref:ta-marbutah-pipe} 3143% \txtrans{t}).\footnote{See also \vpageref{ref:ta-marbutah-pipe}
2877% \enquote{Discarding the \arb[trans]{'i`rAb}} for more 3144% \enquote{Discarding the \arb[trans]{'i`rAb}} for more
2878% information.} 3145% information.}
2879% \end{quoting} 3146% \end{remarks}
2880% 3147%
2881% The \arb[trans]{tanwIn} preceding a \arb[novoc]{_A} conveys even 3148% The \arb[trans]{tanwIn} preceding a \arb[novoc]{_A} conveys even
2882% more intricate business to the rendering with the utmost accuracy in 3149% more intricate business to the rendering with the utmost accuracy in
@@ -2906,9 +3173,8 @@
2906% the knowledge of the writer, the \arb[trans]{wa.slaT} alone is not 3173% the knowledge of the writer, the \arb[trans]{wa.slaT} alone is not
2907% part of the Arabic Unicode block.}. 3174% part of the Arabic Unicode block.}.
2908% 3175%
2909% |fI| |"al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i| 3176% |fI| |"al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i|\\
2910% \arb[fullvoc]{fI "al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i} 3177% \arb[fullvoc]{fI "al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i}
2911% \linebreak
2912% \arb[trans]{fI "al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i}. 3178% \arb[trans]{fI "al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i}.
2913% 3179%
2914% |\arbcolor[red]{'a'\arbnull{k}}kulu| 3180% |\arbcolor[red]{'a'\arbnull{k}}kulu|
@@ -2934,10 +3200,10 @@
2934%</example> 3200%</example>
2935% \fi% 3201% \fi%
2936% 3202%
2937% \begin{quoting} 3203% \begin{remarks}
2938% \textsc{Rem.} In the preceding example, any consonant could have 3204% \item[\textsc{Rem.}] In the preceding example, any consonant could
2939% been passed as argument to the \cs{arbnull} command. 3205% have been passed as argument to the \cs{arbnull} command.
2940% \end{quoting} 3206% \end{remarks}
2941% 3207%
2942% \paragraph{\texorpdfstring{\arb[trans]{^sad\-daT}}{šaddah}} 3208% \paragraph{\texorpdfstring{\arb[trans]{^sad\-daT}}{šaddah}}
2943% In the following example, it is assumed that the 3209% In the following example, it is assumed that the
@@ -2991,18 +3257,19 @@
2991% \paragraph{\texorpdfstring{\arb[trans]{hamzaT}}{hamzah}} 3257% \paragraph{\texorpdfstring{\arb[trans]{hamzaT}}{hamzah}}
2992% The \enquote*{quoting} technique provides an easy way to determine 3258% The \enquote*{quoting} technique provides an easy way to determine
2993% the carrier of the \arb[trans]{hamzaT}, as shown in 3259% the carrier of the \arb[trans]{hamzaT}, as shown in
2994% \vref{tab:quoted-hamza}---: 3260% \vref{tab:quoted-hamza}:---
2995% \begin{quote} 3261% \begin{quote}
2996% \verb+yatasA\arbnull{'a}\arbcolor[red]{|"'}.alUna+ 3262% \verb+yatasA\arbnull{'a}\arbcolor[red]{|"'}.alUna+
2997% \arb{yatasA\arbnull{'a}\arbcolor[red]{|"'}.alUna} 3263% \arb{yatasA\arbnull{'a}\arbcolor[red]{|"'}.alUna}
2998% \arb[trans]{yatasA\arbnull{'a}\-\arbcolor[red]{|"'}.a\-lUna}, 3264% \arb[trans]{yatasA\arbnull{'a}\-\arbcolor[red]{|"'}.a\-lUna},
3265% \\
2999% \verb+^say\arbcolor[red]{|"'}\arbnull{'}aN+ 3266% \verb+^say\arbcolor[red]{|"'}\arbnull{'}aN+
3000% \arb{^say\arbcolor[red]{|"'}\arbnull{'}aN} 3267% \arb{^say\arbcolor[red]{|"'}\arbnull{'}aN}
3001% \arb[trans]{^say\arbcolor[red]{|"'}\arbnull{'}aN}, 3268% \arb[trans]{^say\arbcolor[red]{|"'}\arbnull{'}aN},
3002% \verb+^say\ar+\allowbreak\verb+bcolor[red]{|"'}iN+ 3269% \verb+^say\arbcolor[red]+\\\verb+{|"'}iN+
3003% \arb{^say\arbcolor[red]{|"'}iN} 3270% \arb{^say\arbcolor[red]{|"'}iN}
3004% \arb[trans]{^say\arbcolor[red]{|"'}iN}, 3271% \arb[trans]{^say\arbcolor[red]{|"'}iN},
3005% |\arbcolor[red]{a"'}.as\arbcolor|\allowbreak|[red]{y"'}.ilaTuN| 3272% |\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN|
3006% \arb{\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN} 3273% \arb{\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN}
3007% \arb[trans]{\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN}. 3274% \arb[trans]{\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN}.
3008% \end{quote} 3275% \end{quote}
@@ -3012,7 +3279,7 @@
3012% \label{sec:transliteration} 3279% \label{sec:transliteration}
3013% It may be more appropriate to speak of \enquote{romanization} than 3280% It may be more appropriate to speak of \enquote{romanization} than
3014% \enquote{transliteration} of Arabic. As seen above in 3281% \enquote{transliteration} of Arabic. As seen above in
3015% \cref{sec:options} \vpagerefrange{sec:options}{sec:local-options}, 3282% \vref{sec:options} \vpagerefrange{sec:options}{sec:local-options},
3016% the \enquote{transliteration mode} may be selected globally or locally. 3283% the \enquote{transliteration mode} may be selected globally or locally.
3017% 3284%
3018% This mode transliterates the Arab\TeX\ input into one of the 3285% This mode transliterates the Arab\TeX\ input into one of the
@@ -3023,6 +3290,9 @@
3023% adopted by the International Convention of Orientalist Scholars in 3290% adopted by the International Convention of Orientalist Scholars in
3024% Rome in 1935.\footnote{See \textcite{dmg}.} |dmg| transliteration 3291% Rome in 1935.\footnote{See \textcite{dmg}.} |dmg| transliteration
3025% convention is selected by default; 3292% convention is selected by default;
3293% \item[dmg+] This is the same as above, with the difference that the
3294% hamza is always printed, even in words preceded by the definite
3295% article, as in \arb[trans]{al-'asadu}.
3026% \item[loc] \emph{Library of Congress}: this standard is part of a 3296% \item[loc] \emph{Library of Congress}: this standard is part of a
3027% large set of standards for romanization of non-roman scripts 3297% large set of standards for romanization of non-roman scripts
3028% adopted by the American Library Association and the Library of 3298% adopted by the American Library Association and the Library of
@@ -3030,7 +3300,7 @@
3030% \url{http://www.loc.gov/catdir/cpso/roman.html} for the 3300% \url{http://www.loc.gov/catdir/cpso/roman.html} for the
3031% \href{http://www.loc.gov/catdir/cpso/romanization/arabic.pdf}{source 3301% \href{http://www.loc.gov/catdir/cpso/romanization/arabic.pdf}{source
3032% document concerning Arabic language}.} 3302% document concerning Arabic language}.}
3033% \item[arabica] \NEWfeature{v1.8} 3303% \item[arabica] \newfeature[v1.8]
3034% \changes{v1.8}{2017/03/30}{\texttt{arabica} transliteration 3304% \changes{v1.8}{2017/03/30}{\texttt{arabica} transliteration
3035% standard is now supported} \emph{Journal of Arabic and Islamic 3305% standard is now supported} \emph{Journal of Arabic and Islamic
3036% Studies}/\emph{Revue d'études arabes et islamiques}: this standard 3306% Studies}/\emph{Revue d'études arabes et islamiques}: this standard
@@ -3045,16 +3315,16 @@
3045% transliteration mode, which is set to |dmg| by default, may be 3315% transliteration mode, which is set to |dmg| by default, may be
3046% changed at any point of the document by the 3316% changed at any point of the document by the
3047% \cs{SetTranslitConvention}\marg{mode} command , where \meta{mode} 3317% \cs{SetTranslitConvention}\marg{mode} command , where \meta{mode}
3048% may be either |dmg|, |loc| or |arabica|. This command is also 3318% may be either |dmg|, |dmg+|, |loc| or |arabica|. This command is also
3049% accepted in the preamble should one wish to set the transliteration 3319% accepted in the preamble should one wish to set the transliteration
3050% mode globally, e.g.:---% 3320% mode globally, e.g.:---%
3051% \iffalse 3321% \iffalse
3052%<*example> 3322%<*example>
3053% \fi 3323% \fi
3054\begin{code} 3324\begin{alcode}
3055 \usepackage{arabluatex} 3325 \usepackage{arabluatex}
3056 \SetTranslitConvention{loc} 3326 \SetTranslitConvention{loc}
3057\end{code} 3327\end{alcode}
3058% \iffalse 3328% \iffalse
3059%</example> 3329%</example>
3060% \fi 3330% \fi
@@ -3066,7 +3336,7 @@
3066% command, where \meta{style} may be any font shape selection 3336% command, where \meta{style} may be any font shape selection
3067% command, e.g. \cs{upshape}, \cs{itshape}, \cs{slshape}, and so forth. 3337% command, e.g. \cs{upshape}, \cs{itshape}, \cs{slshape}, and so forth.
3068% 3338%
3069% \paragraph{Font} \NEWfeature{v1.4} \DescribeMacro{\SetTranslitFont} 3339% \paragraph{Font} \newfeature[v1.4] \DescribeMacro{\SetTranslitFont}
3070% \cs{SetTranslitFont}\marg{font selection command} allows any 3340% \cs{SetTranslitFont}\marg{font selection command} allows any
3071% specific font to be selected for rendering transliterated text with 3341% specific font to be selected for rendering transliterated text with
3072% the font-selecting commands of the \package{fontspec} or 3342% the font-selecting commands of the \package{fontspec} or
@@ -3076,10 +3346,10 @@
3076% \iffalse 3346% \iffalse
3077%<*example> 3347%<*example>
3078% \fi 3348% \fi
3079\begin{code} 3349\begin{alcode}
3080 \newfontfamily\translitfont{Gentium Plus}[Ligatures=TeX] 3350 \newfontfamily\translitfont{Gentium Plus}[Ligatures=TeX]
3081 \SetTranslitFont{\translitfont} 3351 \SetTranslitFont{\translitfont}
3082\end{code} 3352\end{alcode}
3083% \iffalse 3353% \iffalse
3084%</example> 3354%</example>
3085% \fi 3355% \fi
@@ -3138,7 +3408,7 @@
3138% 3408%
3139% \paragraph{\texorpdfstring{\enquote*{Long} pro\-per 3409% \paragraph{\texorpdfstring{\enquote*{Long} pro\-per
3140% names}{‘Long’ proper names}} 3410% names}{‘Long’ proper names}}
3141% \NEWfeature{v1.10} \cs{uc} is also able to process proper names 3411% \newfeature[v1.10] \cs{uc} is also able to process proper names
3142% consisting of several subsequent words:--- 3412% consisting of several subsequent words:---
3143% \begin{quote} 3413% \begin{quote}
3144% |\arb[trans]{\uc{'abU| |zaydiN| |.hunaynu| |bnu| |'is.h_aqa| 3414% |\arb[trans]{\uc{'abU| |zaydiN| |.hunaynu| |bnu| |'is.h_aqa|
@@ -3148,7 +3418,7 @@
3148% 3418%
3149% \paragraph{Proper names outside Arabic environments} 3419% \paragraph{Proper names outside Arabic environments}
3150% \changes{v1.10}{2018/01/03}{\cs{uc} supersedes \cs{cap}} 3420% \changes{v1.10}{2018/01/03}{\cs{uc} supersedes \cs{cap}}
3151% \DescribeMacro{\prname}\NEWfeature{v1.10} Transliterated proper 3421% \DescribeMacro{\prname}\newfeature[v1.10] Transliterated proper
3152% names inserted in paragraphs of English text should be printed in 3422% names inserted in paragraphs of English text should be printed in
3153% the same typeface as the surrounding text. \cs{prname}\marg{Arabic 3423% the same typeface as the surrounding text. \cs{prname}\marg{Arabic
3154% proper name} is provided to that effect:\footnote{Just as \cs{uc}, 3424% proper name} is provided to that effect:\footnote{Just as \cs{uc},
@@ -3192,18 +3462,19 @@
3192%</example> 3462%</example>
3193% \fi 3463% \fi
3194% 3464%
3195% \begin{quoting}\label{ref:prname-star} 3465% \begin{remarks}
3196% \textsc{Rem.} \DescribeMacro{\prname*} \package{arabluatex} also 3466% \item[\textsc{Rem.}] \label{ref:prname-star}
3197% provides \cs{prname*} which only renders in upright roman style 3467% \DescribeMacro{\prname*} \package{arabluatex} also provides
3198% already transliterated proper names without applying any further 3468% \cs{prname*} which only renders in upright roman style already
3469% transliterated proper names without applying any further
3199% processing. It is mostly used internally and applied to proper 3470% processing. It is mostly used internally and applied to proper
3200% names exported in Unicode to an external selected 3471% names exported in Unicode to an external selected
3201% file.\footnote{See below \vref{sec:arabtex2utf} for more details.} 3472% file.\footnote{See below \vref{sec:arabtex2utf} for more details.}
3202% \end{quoting} 3473% \end{remarks}
3203% 3474%
3204% \subsection{Additional note on \texttt{dmg} convention} 3475% \subsection{Additional note on \texttt{dmg} convention}
3205% \label{sec:additional-note-dmg} 3476% \label{sec:additional-note-dmg}
3206% \NEWfeature{v1.3} According to \textcite[6]{dmg}, Arabic 3477% \newfeature[v1.3] According to \textcite[6]{dmg}, Arabic
3207% \arb[trans]{'i`rAb} may be rendered into |dmg| in three different 3478% \arb[trans]{'i`rAb} may be rendered into |dmg| in three different
3208% ways: 3479% ways:
3209% \begin{enumerate} 3480% \begin{enumerate}
@@ -3270,29 +3541,29 @@
3270% \arb[voc]{al-.zulm-Atu} \arb[trans]{al-.zulm-Atu}. 3541% \arb[voc]{al-.zulm-Atu} \arb[trans]{al-.zulm-Atu}.
3271% \end{quote} 3542% \end{quote}
3272% 3543%
3273% \begin{quoting} 3544% \begin{remarks}
3274% \textsc{Rem.}~\emph{a.} As the \arb[trans]{tanwIn} is passed over 3545% \item As the \arb[trans]{tanwIn} is passed over in pronunciation
3275% in pronunciation when it is followed by the letters 3546% when it is followed by the letters \arb[novoc]{r}, \arb[novoc]{l},
3276% \arb[novoc]{r}, \arb[novoc]{l}, \arb[novoc]{m}, \arb[novoc]{w}, 3547% \arb[novoc]{m}, \arb[novoc]{w}, \arb[novoc]{y} (see
3277% \arb[novoc]{y} (see \vref{ref:assimilation}), it may be desirable 3548% \vref{ref:assimilation}), it may be desirable to further
3278% to further distinguish it by putting it above the line, but not to 3549% distinguish it by putting it above the line, but not to do the
3279% do the same for \arb[trans]{.gayr mun.sarif} terminations. This 3550% same for \arb[trans]{.gayr mun.sarif} terminations. This can be
3280% can be achieved by simply omitting the hyphen before any 3551% achieved by simply omitting the hyphen before any
3281% \arb[trans]{.gayr mun.sarif} termination:---\\ 3552% \arb[trans]{.gayr mun.sarif} termination:---\\
3282% |kAna| |.ganiyyaN| |l_akinna-hu| |labisa| |^gubbaTaN| |mumazzaqaN| 3553% |kAna| |.ganiyyaN| |l_akinna-hu| |labisa| |^gubbaTaN| |mumazzaqaN|
3283% |'aydu-hA| \arb[voc]{kAna .ganiyyaN l_akinna-hu labisa ^gubbaTaN 3554% |'aydu-hA| \arb[voc]{kAna .ganiyyaN l_akinna-hu labisa ^gubbaTaN
3284% mumazzaqaN 'aydu-hA} \arb[trans]{kAna .ganiyyaN l_akinna-hu labisa 3555% mumazzaqaN 'aydu-hA} \arb[trans]{kAna .ganiyyaN l_akinna-hu labisa
3285% ^gubbaTaN mumazzaqaN 'aydu-hA}. 3556% ^gubbaTaN mumazzaqaN 'aydu-hA}.
3286% 3557%
3287% \textsc{Rem.}~\emph{b.} Although the hyphen before the 3558% \item Although the hyphen before the \arb[trans]{tanwIn} is optional
3288% \arb[trans]{tanwIn} is optional as \package{arabluatex} always 3559% as \package{arabluatex} always parses nouns with such termination,
3289% parses nouns with such termination, it may also be used to mark 3560% it may also be used to mark
3290% better the inflectional endings:---\\ 3561% better the inflectional endings:---\\
3291% |mana`a| |'l-nAs-a| |kAffaT-aN| |min| |mu_hA.tabati-hi| 3562% |mana`a| |'l-nAs-a| |kAffaT-aN| |min| |mu_hA.tabati-hi|
3292% |'a.had-uN| |bi-sayyidi-nA| \arb[voc]{mana`a 'l-nAs-a kAffaT-aN 3563% |'a.had-uN| |bi-sayyidi-nA| \arb[voc]{mana`a 'l-nAs-a kAffaT-aN
3293% min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA} \arb[trans]{mana`a 3564% min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA} \arb[trans]{mana`a
3294% 'l-nAs-a kAffaT-aN min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA}. 3565% 'l-nAs-a kAffaT-aN min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA}.
3295% \end{quoting} 3566% \end{remarks}
3296% 3567%
3297% \paragraph{\texorpdfstring{Discar\-ding the 3568% \paragraph{\texorpdfstring{Discar\-ding the
3298% \arb[trans]{'i`rAb}}{Discarding the ʾiʿrāb}} 3569% \arb[trans]{'i`rAb}}{Discarding the ʾiʿrāb}}
@@ -3310,17 +3581,17 @@
3310% state): |.hikmaT| |al-l_ah| \arb[trans]{.hikmaT| \uc{al-l_ah}}, 3581% state): |.hikmaT| |al-l_ah| \arb[trans]{.hikmaT| \uc{al-l_ah}},
3311% |fi.d.daT| |al-darAhim| \arb[trans]{fi.d.daT al-darAhim}. 3582% |fi.d.daT| |al-darAhim| \arb[trans]{fi.d.daT al-darAhim}.
3312% \end{enumerate} 3583% \end{enumerate}
3313% \begin{quoting} 3584% \begin{remarks}
3314% \textsc{Rem.} It may so happen, as in the absence of the article 3585% \item[\textsc{Rem.}] It may so happen, as in the absence of the
3315% before the annexed word, that \package{arabluatex} be unable to 3586% article before the annexed word, that \package{arabluatex} be
3316% determine which of the above two cases the word ending with 3587% unable to determine which of the above two cases the word ending
3317% \arb[trans]{tA' marbU.taT} falls into. The \enquote*{pipe} 3588% with \arb[trans]{tA' marbU.taT} falls into. The \enquote*{pipe}
3318% character (see \vref{sec:pipe}) may be appended to that word to 3589% character (see \vref{sec:pipe}) may be appended to that word to
3319% indicate that what follows is in the construct state: 3590% indicate that what follows is in the construct state:
3320% |\uc{r}isAlaT| |fI| |tartIb| \verb+qirA'aT|+ |kutub| 3591% |\uc{r}isAlaT| |fI| |tartIb| \verb+qirA'aT|+ |kutub|
3321% |\uc{^g}AlInUs| \arb[trans]{\uc{r}isAlaT fI tartIb qirA'aT| 3592% |\uc{^g}AlInUs| \arb[trans]{\uc{r}isAlaT fI tartIb qirA'aT| kutub
3322% kutub \uc{^g}AlInUs}. 3593% \uc{^g}AlInUs}.
3323% \end{quoting} 3594% \end{remarks}
3324% 3595%
3325% 3596%
3326% \paragraph{Uncertain short vowels} 3597% \paragraph{Uncertain short vowels}
@@ -3337,9 +3608,9 @@
3337% \arb[trans]{\uc{ju.hA}} and his donkey (\arb[voc]{\uc{ju.hA 3608% \arb[trans]{\uc{ju.hA}} and his donkey (\arb[voc]{\uc{ju.hA
3338% wa-.himAru-hu}}). See the code \vpageref{ref:juha-code}:--- 3609% wa-.himAru-hu}}). See the code \vpageref{ref:juha-code}:---
3339% 3610%
3340% \SetTranslitConvention{dmg} 3611% \SetTranslitConvention{dmg+}
3341% \begin{arab}[trans] 3612% \begin{arab}[trans]
3342% \LR{\textbf{\emph{\enquote*{dmg}} standard:}} 'at_A .sadIquN 'il_A 3613% \LR{\textbf{\emph{\enquote*{dmg+}} standard:}} 'at_A .sadIquN 'il_A
3343% \uc{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN 3614% \uc{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN
3344% qa.sIraTiN fa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI 3615% qa.sIraTiN fa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI
3345% 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \uc{ju.hA}: 3616% 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \uc{ju.hA}:
@@ -3366,7 +3637,7 @@
3366% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a 3637% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a
3367% wa-tuka_d_diba-nI?} 3638% wa-tuka_d_diba-nI?}
3368% \end{arab} 3639% \end{arab}
3369% \SetTranslitConvention{dmg} 3640% \SetTranslitConvention{dmg+}
3370% 3641%
3371% \SetTranslitConvention{arabica} 3642% \SetTranslitConvention{arabica}
3372% \begin{arab}[trans] 3643% \begin{arab}[trans]
@@ -3382,11 +3653,11 @@
3382% \uc{ju.hA}: \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 3653% \uc{ju.hA}: \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu
3383% 'l-.himAr-a wa-tuka_d_diba-nI?} 3654% 'l-.himAr-a wa-tuka_d_diba-nI?}
3384% \end{arab} 3655% \end{arab}
3385% \SetTranslitConvention{dmg} 3656% \SetTranslitConvention{dmg+}
3386% 3657%
3387% \section{Buckwalter input scheme} 3658% \section{Buckwalter input scheme}
3388% \label{sec:buckwalter-scheme} 3659% \label{sec:buckwalter-scheme}
3389% \NEWfeature{v1.4} Even though \package{arabluatex} is primarily 3660% \newfeature[v1.4] Even though \package{arabluatex} is primarily
3390% designed to process the Arab\TeX\ notation, it can also process the 3661% designed to process the Arab\TeX\ notation, it can also process the
3391% Buckwalter input scheme to a large extent.\footnote{See 3662% Buckwalter input scheme to a large extent.\footnote{See
3392% \url{http://www.qamus.org/transliteration.htm}} The Buckwalter 3663% \url{http://www.qamus.org/transliteration.htm}} The Buckwalter
@@ -3406,10 +3677,10 @@
3406% \iffalse 3677% \iffalse
3407%<*example> 3678%<*example>
3408% \fi 3679% \fi
3409\begin{code} 3680\begin{alcode}
3410 \usepackage{arabluatex} 3681 \usepackage{arabluatex}
3411 \SetInputScheme{buckwalter} 3682 \SetInputScheme{buckwalter}
3412\end{code} 3683\end{alcode}
3413% \iffalse 3684% \iffalse
3414%</example> 3685%</example>
3415% \fi 3686% \fi
@@ -3429,32 +3700,30 @@
3429% It is therefore recommended to use the Buckwalter \enquote*{safe} 3700% It is therefore recommended to use the Buckwalter \enquote*{safe}
3430% scheme. 3701% scheme.
3431% 3702%
3432% \Cref{tab:buckwalter-scheme} gives the Buckwalter equivalents that 3703% \Vref{tab:buckwalter-scheme} gives the Buckwalter equivalents that
3433% are currently used by \package{arabluatex}. The additional 3704% are currently used by \package{arabluatex}. The additional
3434% characters that are defined in \vref{tab:additional-arabic-codings} 3705% characters that are defined in \vref{tab:additional-arabic-codings}
3435% are also available. 3706% are also available.
3436% 3707%
3437% \enlargethispage{\baselineskip}
3438% \begin{longtable}{llllll} 3708% \begin{longtable}{llllll}
3439% \bottomrule 3709% \bottomrule
3440% \caption*{\Cref*{tab:buckwalter-scheme}: Buckwalter scheme} 3710% \caption[]{Buckwalter input scheme}
3441% \endfoot 3711% \endfoot
3442% \captionlistentry{Buckwalter scheme}\\[-1em]
3443% \toprule 3712% \toprule
3713% \captionlistentry{Buckwalter input scheme}
3444% Letter & \multicolumn{3}{l}{Transliteration\footnotemark} 3714% Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
3445% & \multicolumn{2}{l}{Buckwalter notation} \\ 3715% & \multicolumn{2}{l}{Buckwalter notation} \\
3446% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & |base/xml| & 3716% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & |base/xml| &
3447% |safe| \\ \midrule 3717% |safe| \\ \midrule
3448% \endfirsthead 3718% \endfirsthead
3449% \toprule 3719% \toprule
3450% Letter & \multicolumn{3}{l}{Transliteration} 3720% Letter & \multicolumn{3}{l}{Transliteration}
3451% & \multicolumn{2}{l}{Buckwalter notation} \\ 3721% & \multicolumn{2}{l}{Buckwalter notation} \\
3452% & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & |base/xml| & 3722% & \texttt{dmg+} & \texttt{loc} & \texttt{arabica} & |base/xml| &
3453% |safe| \\ \midrule 3723% |safe| \\ \midrule
3454% \endhead \footnotetext{See \vref{sec:transliteration}.} 3724% \endhead \footnotetext{See \vref{sec:transliteration}.}
3455% \label{tab:buckwalter-scheme} 3725% \label{tab:buckwalter-scheme}
3456% \arb[novoc]{a} & \dmg{a} & \loc{a} & \brill{a} & |A| & |A| \\ 3726% \arb[novoc]{a} & \dmg{a} & \loc{a} & \brill{a} & |A| & |A| \\
3457% \pagebreak[1]
3458% \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| & |b| \\ 3727% \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| & |b| \\
3459% \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| & |t| \\ 3728% \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| & |t| \\
3460% \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |v| & |v| \\ 3729% \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |v| & |v| \\
@@ -3546,7 +3815,7 @@
3546% 3815%
3547% \section{Unicode Arabic input} 3816% \section{Unicode Arabic input}
3548% \label{sec:unicode-input} 3817% \label{sec:unicode-input}
3549% \NEWfeature{v1.5} As said above in \vref{sec:buckwalter-scheme} 3818% \newfeature[v1.5] As said above in \vref{sec:buckwalter-scheme}
3550% about the Buckwalter input scheme, even though \package{arabluatex} 3819% about the Buckwalter input scheme, even though \package{arabluatex}
3551% is primarily designed to process the Arab\TeX\ notation, it also 3820% is primarily designed to process the Arab\TeX\ notation, it also
3552% accepts Unicode Arabic input. It should be noted that 3821% accepts Unicode Arabic input. It should be noted that
@@ -3564,17 +3833,16 @@
3564% \iffalse 3833% \iffalse
3565%<*example> 3834%<*example>
3566% \fi 3835% \fi
3567\begin{code} 3836\begin{alcode}
3568 \begin{txarab} 3837 \begin{txarab}
3569 <Unicode Arabic text> 3838 <Unicode Arabic text>
3570 \end{txarab} 3839 \end{txarab}
3571\end{code} 3840\end{alcode}
3572% \iffalse 3841% \iffalse
3573%</example> 3842%</example>
3574% \fi 3843% \fi
3575% \end{enumerate} 3844% \end{enumerate}
3576% 3845%
3577% \needspace{4\baselineskip}
3578% \section{\LaTeX\ Commands in Arabic environments} 3846% \section{\LaTeX\ Commands in Arabic environments}
3579% \label{sec:commands-in-arb} 3847% \label{sec:commands-in-arb}
3580% \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\ 3848% \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\
@@ -3668,6 +3936,7 @@
3668% for that, but should it happen, it may be necessary to redefine in 3936% for that, but should it happen, it may be necessary to redefine in
3669% the preamble the \LaTeX\ macro \cs{thefootnote} like so:---\\ 3937% the preamble the \LaTeX\ macro \cs{thefootnote} like so:---\\
3670% \tcboxverb{\renewcommand*{\thefootnote}{\textsuperscript{\LR{\arabic{footnote}}}}} 3938% \tcboxverb{\renewcommand*{\thefootnote}{\textsuperscript{\LR{\arabic{footnote}}}}}
3939%
3671% \DescribeMacro{\FixArbFtnmk} Another solution is to put in the 3940% \DescribeMacro{\FixArbFtnmk} Another solution is to put in the
3672% preamble, below the line that loads \package{arabluatex}, the 3941% preamble, below the line that loads \package{arabluatex}, the
3673% \cs{FixArbFtnmk} command. However, for more control over the layout 3942% \cs{FixArbFtnmk} command. However, for more control over the layout
@@ -3706,7 +3975,7 @@
3706% 3975%
3707% \subsection{New commands} 3976% \subsection{New commands}
3708% \label{sec:declare-new-commands} 3977% \label{sec:declare-new-commands}
3709% \NEWfeature{v1.9}% 3978% \newfeature[v1.9]%
3710% In some particular cases, it may be useful to define new commands to 3979% In some particular cases, it may be useful to define new commands to
3711% be inserted in Arabic environments. From the general principle laid 3980% be inserted in Arabic environments. From the general principle laid
3712% \vpageref{ref:cmd-inside-arabic}, it follows that any command that 3981% \vpageref{ref:cmd-inside-arabic}, it follows that any command that
@@ -3752,7 +4021,7 @@
3752% of commands declared with \cs{MkArbBreak} are not to be processed by 4021% of commands declared with \cs{MkArbBreak} are not to be processed by
3753% \package{arabluatex}. Therefore, as in the previous example, any of 4022% \package{arabluatex}. Therefore, as in the previous example, any of
3754% their argument to be rendered in Arabic must be inserted again in 4023% their argument to be rendered in Arabic must be inserted again in
3755% \cs{arb}. \NEWfeature{v1.12}These commands themselves may have up to 4024% \cs{arb}. \newfeature[v1.12]These commands themselves may have up to
3756% two optional and/or mandatory arguments followed by one optional 4025% two optional and/or mandatory arguments followed by one optional
3757% argument, like so:--- 4026% argument, like so:---
3758% \begin{enumerate} 4027% \begin{enumerate}
@@ -3768,7 +4037,7 @@
3768% (uppermost combination) 4037% (uppermost combination)
3769% \end{enumerate} 4038% \end{enumerate}
3770% 4039%
3771% \DescribeMacro{\MkArbBreak*}\NEWfeature{v1.12} As said above, 4040% \DescribeMacro{\MkArbBreak*}\newfeature[v1.12] As said above,
3772% \cs{MkArbBreak} prevents \package{arabluatex} from processing the 4041% \cs{MkArbBreak} prevents \package{arabluatex} from processing the
3773% arguments of \enquote*{declared} commands as Arabic text. This 4042% arguments of \enquote*{declared} commands as Arabic text. This
3774% technique proves sufficient in most cases. However, a 4043% technique proves sufficient in most cases. However, a
@@ -3795,20 +4064,20 @@
3795% \label{sec:environments} 4064% \label{sec:environments}
3796% \changes{v1.5}{2016/11/14}{Environments may be nested inside the 4065% \changes{v1.5}{2016/11/14}{Environments may be nested inside the
3797% \texttt{arab} environment} 4066% \texttt{arab} environment}
3798% \NEWfeature{v1.5} Environments such as 4067% \newfeature[v1.5] Environments such as
3799% \tcboxverb{\begin{quote} ... \end{quote}} may be nested inside the 4068% \tcboxverb{\begin{quote} ... \end{quote}} may be nested inside the
3800% |arab| environment. Up to one optional argument may be passed to 4069% |arab| environment. Up to one optional argument may be passed to
3801% each nested environment, like so:--- 4070% each nested environment, like so:---
3802% \iffalse 4071% \iffalse
3803%<*example> 4072%<*example>
3804% \fi 4073% \fi
3805\begin{code} 4074\begin{alcode}
3806 \begin{arab} 4075 \begin{arab}
3807 \begin{<environment>}[<options>] 4076 \begin{<environment>}[<options>]
3808 <Arabic text> 4077 <Arabic text>
3809 \end{<environment>} 4078 \end{<environment>}
3810 \end{arab} 4079 \end{arab}
3811\end{code} 4080\end{alcode}
3812% \iffalse 4081% \iffalse
3813%</example> 4082%</example>
3814% \fi 4083% \fi
@@ -3905,13 +4174,13 @@
3905% \iffalse 4174% \iffalse
3906%<*example> 4175%<*example>
3907% \fi 4176% \fi
3908\begin{code} 4177\begin{alcode}
3909 % preamble:--- 4178 % preamble:---
3910 \usepackage{enumitem} 4179 \usepackage{enumitem}
3911 \newlist{enumabjad}{enumerate}{10} 4180 \newlist{enumabjad}{enumerate}{10}
3912 \setlist[enumabjad]{nosep, label={\abjad{\arabic*}}} 4181 \setlist[enumabjad]{nosep, label={\abjad{\arabic*}}}
3913 \usepackage{multicol} 4182 \usepackage{multicol}
3914\end{code} 4183\end{alcode}
3915\begin{example} 4184\begin{example}
3916 From \textcite[i. 29 B--C]{Wright}:--- The derived forms of the 4185 From \textcite[i. 29 B--C]{Wright}:--- The derived forms of the
3917 triliteral verb are usually reckoned fifteen in number, but the 4186 triliteral verb are usually reckoned fifteen in number, but the
@@ -3954,10 +4223,10 @@
3954% \iffalse 4223% \iffalse
3955%<*example> 4224%<*example>
3956% \fi 4225% \fi
3957\begin{code} 4226\begin{alcode}
3958 \usepackage[french]{babel} 4227 \usepackage[french]{babel}
3959 \frenchsetup{StandardLists=true} 4228 \frenchsetup{StandardLists=true}
3960\end{code} 4229\end{alcode}
3961% \iffalse 4230% \iffalse
3962%</example> 4231%</example>
3963% \fi% 4232% \fi%
@@ -3975,12 +4244,12 @@
3975% \iffalse 4244% \iffalse
3976%<*example> 4245%<*example>
3977% \fi 4246% \fi
3978\begin{code} 4247\begin{alcode}
3979 \usepackage{csquotes} 4248 \usepackage{csquotes}
3980 \DeclareQuoteStyle{arabic} 4249 \DeclareQuoteStyle{arabic}
3981 {\textquotedblright}{\textquotedblleft} 4250 {\textquotedblright}{\textquotedblleft}
3982 {\textquoteright}{\textquoteleft} 4251 {\textquoteright}{\textquoteleft}
3983\end{code} 4252\end{alcode}
3984% \iffalse 4253% \iffalse
3985%</example> 4254%</example>
3986% \fi 4255% \fi
@@ -3999,11 +4268,11 @@
3999% \iffalse 4268% \iffalse
4000%</example> 4269%</example>
4001% \fi 4270% \fi
4002% \begin{quoting} 4271% \begin{remarks}
4003% \textsc{Rem.} Do not forget to set back the quoting style to its 4272% \item[\textsc{Rem.}] Do not forget to set back the quoting style to
4004% initial state once the Arabic environment is closed. See the last 4273% its initial state once the Arabic environment is closed. See the
4005% line in the code above. 4274% last line in the code above.
4006% \end{quoting} 4275% \end{remarks}
4007% 4276%
4008% \subsection{Two-argument special commands} 4277% \subsection{Two-argument special commands}
4009% \label{sec:two-arg-cmds} 4278% \label{sec:two-arg-cmds}
@@ -4052,7 +4321,7 @@
4052% \iffalse 4321% \iffalse
4053%<*example> 4322%<*example>
4054% \fi 4323% \fi
4055\begin{code} 4324\begin{alcode}
4056 \beginnumbering 4325 \beginnumbering
4057 \pstart 4326 \pstart
4058 \begin{arab} 4327 \begin{arab}
@@ -4061,7 +4330,7 @@
4061 \end{arab} 4330 \end{arab}
4062 \pend 4331 \pend
4063 \endnumbering 4332 \endnumbering
4064\end{code} 4333\end{alcode}
4065% \iffalse 4334% \iffalse
4066%</example> 4335%</example>
4067% \fi 4336% \fi
@@ -4086,10 +4355,10 @@
4086% \iffalse 4355% \iffalse
4087%<*example> 4356%<*example>
4088% \fi 4357% \fi
4089\begin{code} 4358\begin{alcode}
4090 \usepackage{arabluatex} 4359 \usepackage{arabluatex}
4091 \usepackage[nopar]{quran} 4360 \usepackage[nopar]{quran}
4092\end{code} 4361\end{alcode}
4093% \iffalse 4362% \iffalse
4094%</example> 4363%</example>
4095% \fi 4364% \fi
@@ -4110,7 +4379,7 @@
4110% 4379%
4111% \section{Exporting Unicode Arabic to an external file} 4380% \section{Exporting Unicode Arabic to an external file}
4112% \label{sec:arabtex2utf} 4381% \label{sec:arabtex2utf}
4113% \NEWfeature{v.1.13}\package{arabluatex} is able to produce a 4382% \newfeature[v.1.13]\package{arabluatex} is able to produce a
4114% duplicate of the original |.tex| source file in which all |arabtex| 4383% duplicate of the original |.tex| source file in which all |arabtex|
4115% or |buckwalter| strings will have been replaced with Unicode 4384% or |buckwalter| strings will have been replaced with Unicode
4116% equivalents, either in Arabic script or in any accepted standard of 4385% equivalents, either in Arabic script or in any accepted standard of
@@ -4128,12 +4397,12 @@
4128% \iffalse 4397% \iffalse
4129%<*example> 4398%<*example>
4130% \fi 4399% \fi
4131\begin{code} 4400\begin{alcode}
4132 % preamble 4401 % preamble
4133 \usepackage[export]{arabluatex} 4402 \usepackage[export]{arabluatex}
4134 % or: 4403 % or:
4135 \usepackage[export=true]{arabluatex} 4404 \usepackage[export=true]{arabluatex}
4136\end{code} 4405\end{alcode}
4137% \iffalse 4406% \iffalse
4138%</example> 4407%</example>
4139% \fi 4408% \fi
@@ -4153,11 +4422,11 @@
4153% \iffalse 4422% \iffalse
4154%<*example> 4423%<*example>
4155% \fi 4424% \fi
4156\begin{code} 4425\begin{alcode}
4157 \begin{arabexport} 4426 \begin{arabexport}
4158 <Running paragraphs of either Arabic or non-Arabic text> 4427 <Running paragraphs of either Arabic or non-Arabic text>
4159 \end{arabexport} 4428 \end{arabexport}
4160\end{code} 4429\end{alcode}
4161% \iffalse 4430% \iffalse
4162%</example> 4431%</example>
4163% \fi 4432% \fi
@@ -4215,11 +4484,11 @@
4215% \iffalse 4484% \iffalse
4216%<*example> 4485%<*example>
4217% \fi 4486% \fi
4218\begin{code} 4487\begin{alcode}
4219 Package arabluatex Warning: There are still 'arabtex' strings 4488 Package arabluatex Warning: There are still 'arabtex' strings
4220 to be converted. Please open <jobname><suffix>.tex and compile 4489 to be converted. Please open <jobname><suffix>.tex and compile
4221 it one more time. 4490 it one more time.
4222\end{code} 4491\end{alcode}
4223% \iffalse 4492% \iffalse
4224%</example> 4493%</example>
4225% \fi 4494% \fi
@@ -4237,9 +4506,9 @@
4237% \iffalse 4506% \iffalse
4238%<*example> 4507%<*example>
4239% \fi 4508% \fi
4240\begin{code} 4509\begin{alcode}
4241 pandoc file_out.tex -s -o file_out.odt 4510 pandoc file_out.tex -s -o file_out.odt
4242\end{code} 4511\end{alcode}
4243% \iffalse 4512% \iffalse
4244%</example> 4513%</example>
4245% \fi 4514% \fi
@@ -4251,7 +4520,7 @@
4251% \iffalse 4520% \iffalse
4252%<*example> 4521%<*example>
4253% \fi 4522% \fi
4254\begin{code} 4523\begin{alcode}
4255 % preamble: 4524 % preamble:
4256 \usepackage{arabluatex} % note that 'export' has been removed 4525 \usepackage{arabluatex} % note that 'export' has been removed
4257 \renewcommand{\txarb}[1]{#1} 4526 \renewcommand{\txarb}[1]{#1}
@@ -4261,7 +4530,7 @@
4261 % be safe to say: 4530 % be safe to say:
4262 \renewcommand{\prname}[2]{#2} 4531 \renewcommand{\prname}[2]{#2}
4263 % &c 4532 % &c
4264\end{code} 4533\end{alcode}
4265% \iffalse 4534% \iffalse
4266%</example> 4535%</example>
4267% \fi 4536% \fi
@@ -4302,18 +4571,12 @@
4302% functions and tables. Read the |.lua| files that accompany 4571% functions and tables. Read the |.lua| files that accompany
4303% \package{arabluatex} for more information. 4572% \package{arabluatex} for more information.
4304% \begin{macrocode} 4573% \begin{macrocode}
4305\RequirePackage{ifluatex} 4574\RequirePackage{iftex}
4306% \end{macrocode} 4575% \end{macrocode}
4307% \package{arabluatex} requires {\LuaLaTeX} of course. Issue a warning 4576% \package{arabluatex} requires {\LuaLaTeX} of course. Issue a warning
4308% if the document is processed with another engine. 4577% if the document is processed with another engine.
4309% \begin{macrocode} 4578% \begin{macrocode}
4310\ifluatex\else 4579\RequireLuaTeX
4311 \PackageError{arabluatex}{lualatex needed}{%
4312 Package `arabluatex' needs LuaTeX.\MessageBreak
4313 So you should use `lualatex' to process your document.\MessageBreak
4314 See documentation of `arabluatex' for further information.}%
4315 \expandafter\expandafter\expandafter\csname endinput\endcsname
4316\fi
4317% \end{macrocode} 4580% \end{macrocode}
4318% Declare the global options, and define them: 4581% Declare the global options, and define them:
4319% \begin{macrocode} 4582% \begin{macrocode}
@@ -4346,8 +4609,7 @@
4346\RequirePackage{xparse} 4609\RequirePackage{xparse}
4347\RequirePackage{adjustbox} 4610\RequirePackage{adjustbox}
4348\RequirePackage{xstring} 4611\RequirePackage{xstring}
4349\PassOptionsToPackage{normalem}{ulem} 4612\RequirePackage{lua-ul}
4350\RequirePackage{ulem}
4351% \end{macrocode} 4613% \end{macrocode}
4352% The following boolean will be set to |true| in |RL| mode: 4614% The following boolean will be set to |true| in |RL| mode:
4353% \begin{macrocode} 4615% \begin{macrocode}
@@ -4361,9 +4623,10 @@
4361% and attempt to load the Amiri font which is included in \TeX{}live: 4623% and attempt to load the Amiri font which is included in \TeX{}live:
4362% \begin{macrocode} 4624% \begin{macrocode}
4363\AtBeginDocument{\ifdefined\arabicfont\relax\else 4625\AtBeginDocument{\ifdefined\arabicfont\relax\else
4364\PackageWarning{arabluatex}{\string\arabicfont\ is not defined.^^J 4626 \PackageInfo{arabluatex}{%
4365 I will try to load Amiri}% 4627 \string\arabicfont\ is not defined.\MessageBreak
4366\newfontfamily\arabicfont[Script=Arabic]{Amiri}\fi}% 4628 arabluatex will try to load Amiri}%
4629 \newfontfamily\arabicfont{Amiri}[Script=Arabic]\fi}%
4367% \end{macrocode} 4630% \end{macrocode}
4368% \begin{macro}{\setRL} 4631% \begin{macro}{\setRL}
4369% This neutralizes what may be defined by other packages: 4632% This neutralizes what may be defined by other packages:
@@ -4384,8 +4647,16 @@
4384% it to suit our purpose: 4647% it to suit our purpose:
4385% \begin{macrocode} 4648% \begin{macrocode}
4386\AtBeginDocument{\ifdef{\LR}% 4649\AtBeginDocument{\ifdef{\LR}%
4387 {\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}} 4650 {\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\reset@font#1\egroup}}
4388 {\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}} 4651 {\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\reset@font#1\egroup}}}
4652% \end{macrocode}
4653% \end{macro}
4654% \begin{macro}{\SetArbNumbers}
4655% \changes{v1.21}{2023/05/21}{selects Indian or Arabic numbers}
4656% \begin{macrocode}
4657\NewDocumentCommand{\SetArbNumbers}{m}{%
4658 \luadirect{arabluatex.setnums(\luastringN{#1})}%
4659}
4389% \end{macrocode} 4660% \end{macrocode}
4390% \end{macro} 4661% \end{macro}
4391% \begin{macro}{\RL} This one typesets its argument from right to 4662% \begin{macro}{\RL} This one typesets its argument from right to
@@ -4422,16 +4693,28 @@
4422% \begin{macro}{\aemph} Arabic emphasis. Needs to be redefined as 4693% \begin{macro}{\aemph} Arabic emphasis. Needs to be redefined as
4423% well. The function is actually coded in Lua. 4694% well. The function is actually coded in Lua.
4424% \changes{v1.16}{2018/11/06}{Now uses \textsf{ulem}} 4695% \changes{v1.16}{2018/11/06}{Now uses \textsf{ulem}}
4696% \changes{v1.19}{2020/03/15}{Now uses \textsf{lua-ul}}
4425% \begin{macro}{\aemph*} The \enquote*{starred} version of this 4697% \begin{macro}{\aemph*} The \enquote*{starred} version of this
4426% command alway puts the stroke over its argument. 4698% command alway puts the stroke over its argument.
4427% \changes{v1.9.2}{2017/10/24}{Starred version which always puts the 4699% \changes{v1.9.2}{2017/10/24}{Starred version which always puts the
4428% stroke over its argument}As of v1.16 \package{arabluatex} uses 4700% stroke over its argument}As of v1.19, \package{arabluatex} uses
4429% \package{ulem} to render the strokes, thus allowing line breaks 4701% \package{lua-ul} to render the strokes, thus allowing line breaks
4430% and manual hyphenation for transliterated Arabic. 4702% and manual hyphenation for transliterated Arabic.
4703% \begin{macro}{\aoline}
4704% \begin{macro}{\aoline*}
4705% \begin{macro}{\auline}
4706% \changes{v1.19}{2020/03/15}{Non context-sensitive command to
4707% underline Arabic words is provided}\cs{aoline} and \cs{auline}
4708% derive from \cs{newunderlinetype} provided by the \package{lua-ul}
4709% package whereas \cs{aoline*}, which uses \cs{overline} in math-mode,
4710% is better suited for so-called \arb[trans]{'ab^gad} numbers.
4431% \begin{macrocode} 4711% \begin{macrocode}
4432\def\oline{\@ifstar\@oline\@@oline} 4712\newunderlinetype\@aoverLine{\leaders\vrule height 3ex depth -2.9ex}
4433\def\@oline#1{\ensuremath{\overline{\mbox{#1}}}} 4713\def\aoline{\@ifstar\@aoline\@@aoline}
4434\def\@@oline{\bgroup \ULdepth=-3ex \ULset} 4714\def\@aoline#1{\ensuremath{\overline{\mbox{#1}}}}
4715\def\@@aoline#1{{\@aoverLine#1}}
4716\newunderlinetype\@aunderLine{\leaders\vrule height -.65ex depth .75ex}
4717\def\auline#1{{\@aunderLine#1}}
4435\AtBeginDocument{\ifdef{\aemph}% 4718\AtBeginDocument{\ifdef{\aemph}%
4436 {\RenewDocumentCommand{\aemph}{s m}{% 4719 {\RenewDocumentCommand{\aemph}{s m}{%
4437 \IfBooleanTF{#1}{% 4720 \IfBooleanTF{#1}{%
@@ -4448,6 +4731,9 @@
4448% \end{macrocode} 4731% \end{macrocode}
4449% \end{macro} 4732% \end{macro}
4450% \end{macro} 4733% \end{macro}
4734% \end{macro}
4735% \end{macro}
4736% \end{macro}
4451% \begin{macro}{\arbcolor}\changes{v1.12}{2018/06/24}{Standard color 4737% \begin{macro}{\arbcolor}\changes{v1.12}{2018/06/24}{Standard color
4452% command for Arabic environments} 4738% command for Arabic environments}
4453% \cs{arbcolor}\oarg{color}\marg{Arabic text} takes the Arabic text to 4739% \cs{arbcolor}\oarg{color}\marg{Arabic text} takes the Arabic text to
@@ -4528,6 +4814,16 @@
4528\NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}} 4814\NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}}
4529% \end{macrocode} 4815% \end{macrocode}
4530% \end{macro} 4816% \end{macro}
4817% \begin{macro}{\altrfont}
4818% \changes{v1.21}{2023/05/21}{new command \cs{altrfont} to store
4819% font and shape information (trans mode)} Finally \cs{altrfont}
4820% is used internally by \package{arabluatex} to store family and
4821% shape information about the font to be used for transliterated
4822% Arabic.
4823% \begin{macrocode}
4824\def\altrfont{\al@trans@font\al@trans@style}
4825% \end{macrocode}
4826% \end{macro}
4531% \begin{macro}{\SetTranslitConvention} 4827% \begin{macro}{\SetTranslitConvention}
4532% \cs{SetTranslitConvention}\marg{convention} can be used to change 4828% \cs{SetTranslitConvention}\marg{convention} can be used to change
4533% the transliteration convention, which is |dmg| by default: 4829% the transliteration convention, which is |dmg| by default:
@@ -4618,7 +4914,7 @@
4618 \ifvmode\leavevmode\fi% 4914 \ifvmode\leavevmode\fi%
4619 \bgroup\textdir TRT\arabicfont#1\egroup} 4915 \bgroup\textdir TRT\arabicfont#1\egroup}
4620\NewDocumentCommand{\txtrans}{+m}{% 4916\NewDocumentCommand{\txtrans}{+m}{%
4621 \bgroup\textdir TLT\al@trans@font\al@trans@style#1\egroup} 4917 \bgroup\textdir TLT\altrfont#1\egroup}
4622% \end{macrocode} 4918% \end{macrocode}
4623% \end{macro} 4919% \end{macro}
4624% \end{macro} 4920% \end{macro}
@@ -4642,7 +4938,7 @@
4642\NewDocumentEnvironment{txarabtr}{}{% 4938\NewDocumentEnvironment{txarabtr}{}{%
4643 \par% 4939 \par%
4644 \pardir TLT\textdir TLT% 4940 \pardir TLT\textdir TLT%
4645 \al@trans@font\al@trans@style}{\par} 4941 \altrfont}{\par}
4646% \end{macrocode} 4942% \end{macrocode}
4647% \end{environment} 4943% \end{environment}
4648% \begin{macro}{\arb} 4944% \begin{macro}{\arb}
@@ -4671,7 +4967,7 @@
4671 \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% 4967 \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
4672 \else% 4968 \else%
4673 \ifx\@tempa\al@mode@trans% 4969 \ifx\@tempa\al@mode@trans%
4674 \bgroup\textdir TLT\al@trans@font\al@trans@style% 4970 \bgroup\textdir TLT%
4675 \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2}, 4971 \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2},
4676 \luastringO{\al@trans@convention}, 4972 \luastringO{\al@trans@convention},
4677 \luastringO{\al@arb@rules}, 4973 \luastringO{\al@arb@rules},
@@ -4715,7 +5011,7 @@
4715% The |arab| environment does for paragraphs the same as \cs{arb} does 5011% The |arab| environment does for paragraphs the same as \cs{arb} does
4716% for short insertions of Arabic text. 5012% for short insertions of Arabic text.
4717% \begin{macrocode} 5013% \begin{macrocode}
4718\NewDocumentEnvironment{arab}{O{\al@mode} +b}% 5014\NewDocumentEnvironment{arab}{!O{\al@mode} +b}%
4719{\par\edef\@tempa{#1}% 5015{\par\edef\@tempa{#1}%
4720 \ifx\@tempa\al@mode@voc% 5016 \ifx\@tempa\al@mode@voc%
4721 \booltrue{al@rlmode}% 5017 \booltrue{al@rlmode}%
@@ -4736,7 +5032,7 @@
4736 \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% 5032 \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
4737 \else% 5033 \else%
4738 \ifx\@tempa\al@mode@trans% 5034 \ifx\@tempa\al@mode@trans%
4739 \bgroup\pardir TLT\textdir TLT\al@trans@font\al@trans@style% 5035 \bgroup\pardir TLT\textdir TLT%
4740 \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2}, 5036 \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2},
4741 \luastringO{\al@trans@convention}, 5037 \luastringO{\al@trans@convention},
4742 \luastringO{\al@arb@rules}, 5038 \luastringO{\al@arb@rules},
@@ -4756,55 +5052,63 @@
4756% \begin{macrocode} 5052% \begin{macrocode}
4757\newlength{\al@bayt@width} 5053\newlength{\al@bayt@width}
4758\newlength{\al@gutter@width} 5054\newlength{\al@gutter@width}
5055\newlength{\al@verse@twidth}
4759\setlength{\al@bayt@width}{.3\textwidth} 5056\setlength{\al@bayt@width}{.3\textwidth}
4760\setlength{\al@gutter@width}{.15\al@bayt@width} 5057\setlength{\al@gutter@width}{.15\al@bayt@width}
4761\define@key[al]{verse}{width}{\setlength{\al@bayt@width}{#1}} 5058\define@key[al]{verse}{width}{\setlength{\al@bayt@width}{#1}}
4762\define@key[al]{verse}{gutter}{\setlength{\al@gutter@width}{#1}} 5059\define@key[al]{verse}{gutter}{\setlength{\al@gutter@width}{#1}}
4763\define@key[al]{verse}{metre}{\arb{#1}} 5060\define@key[al]{verse}{metre}{\def\al@verse@metre@value{\arb{#1}}}
4764\define@key[al]{verse}{color}[]{\color{#1}} 5061\define@key[al]{verse}{color}[]{\color{#1}}
4765\define@boolkey[al]{verse}{utf}[true]{} 5062\define@boolkey[al]{verse}{utf}[true]{}
4766\define@boolkey[al]{verse}{delim}[true]{} 5063\define@boolkey[al]{verse}{delim}[true]{}
4767\define@boolkey[al]{verse}{export}[true]{} 5064\define@boolkey[al]{verse}{export}[true]{}
4768\define@choicekey[al]{verse}{mode}{fullvoc, voc, novoc, 5065\define@choicekey[al]{verse}{mode}{fullvoc, voc, novoc,
4769 trans}{\def\al@mode{#1}} 5066 trans}{\def\al@mode{#1}}
4770\presetkeys[al]{verse}{metre={}, utf=false, 5067\presetkeys[al]{verse}{utf=false, delim=false}{}
4771 delim=false}{}
4772% \end{macrocode} 5068% \end{macrocode}
4773% Then follows the environment itself: 5069% Then follows the environment itself:
4774% \begin{macrocode} 5070% \begin{macrocode}
4775\NewDocumentEnvironment{arabverse}{O{}}% 5071\NewDocumentEnvironment{arabverse}{!O{}}%
4776{\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, 5072{\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim,
4777 metre]{#1}% 5073 metre]{#1}%
4778 \if@pkg@export\ifal@verse@export% 5074 \if@pkg@export
4779 \ArbOutFile{\begin{arabverse}}% 5075 \ifal@verse@export
4780 % \ifx\al@mode\al@mode@trans% 5076 \ArbOutFile{\begin{arabverse}}%
4781 % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}% 5077 % \ifx\al@mode\al@mode@trans%
4782 % \else% 5078 % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}%
4783 \IfSubStr[1]{#1}{utf}% 5079 % \else%
5080 \IfSubStr[1]{#1}{utf}%
4784 {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}% 5081 {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}%
4785 {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}% 5082 {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}%
4786 % \fi 5083 % \fi
4787 \else\fi\else\fi\egroup% 5084 \else
4788 \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% 5085 \fi
4789 % \ifx\al@mode\al@mode@trans% 5086 \else
4790 % \ifal@verse@utf\setRL\else\setLR\fi% 5087 \fi
4791 % \else\setRL\fi% 5088 \egroup
4792 \ifal@verse@utf% 5089 \centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}%
4793 \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% 5090 % \ifx\al@mode\al@mode@trans%
4794 \else% 5091 % \ifal@verse@utf\setRL\else\setLR\fi%
4795 \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% 5092 % \else\setRL\fi%
4796 \fi% 5093 \ifal@verse@utf
4797 \arab@v@export[#1] 5094 \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi
5095 \else
5096 \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi
5097 \fi
5098 \addtolength{\al@verse@twidth}{2\al@bayt@width}%
5099 \addtolength{\al@verse@twidth}{\al@gutter@width}%
5100 \arab@v@export[#1]
4798 }% 5101 }%
4799 {\endarab@v@export 5102 {\endarab@v@export
4800 \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 5103 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
4801 export]{#1}% 5104 export]{#1}%
4802 \egroup\par% 5105 \ifdefined\al@verse@metre@value\hfill\al@verse@metre@value\fi
5106 \egroup
4803 \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 5107 \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
4804 metre]{#1}% 5108 metre]{#1}%
4805 \if@pkg@export\ifal@verse@export% 5109 \if@pkg@export\ifal@verse@export
4806 \ArbOutFile{\end{arabverse}} 5110 \ArbOutFile{\end{arabverse}}%
4807 \else\fi\else\fi\egroup} 5111 \else\fi\else\fi\egroup}
4808% \end{macrocode} 5112% \end{macrocode}
4809% \begin{macro}{\bayt} 5113% \begin{macro}{\bayt}
4810% \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting 5114% \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting
@@ -4816,6 +5120,14 @@
4816% \arb[trans]{tadwIr}. In some of these cases, the hemistichs may be 5120% \arb[trans]{tadwIr}. In some of these cases, the hemistichs may be
4817% connected by a prominent horizontal flexible stroke which is drawn 5121% connected by a prominent horizontal flexible stroke which is drawn
4818% by the \cs{al@verse@stroke} command. 5122% by the \cs{al@verse@stroke} command.
5123% \begin{macro}{\StretchBayt}
5124% \changes{v1.20}{2020/03/23}{Optionally removes stretching from lines
5125% of poetry} \cs{StretchBayt}\oarg{true\textbar false} Allows to
5126% remove stretching and undesirable warping effect from Arabic lines of
5127% poetry. This command accepts one fixed optional argument, either
5128% |true| or |false|, and may be used either in the preamble or at any
5129% point of the document. By default, it is set to |true|.
5130% \end{macro}
4819% \begin{macro}{\SetHemistichDelim} 5131% \begin{macro}{\SetHemistichDelim}
4820% \changes{v1.6}{2016/12/17}{New \cs{SetHemistichDelim} command for 5132% \changes{v1.6}{2016/12/17}{New \cs{SetHemistichDelim} command for
4821% changing the default delimiter between hemistichs} A hemistich 5133% changing the default delimiter between hemistichs} A hemistich
@@ -4825,23 +5137,53 @@
4825% point of the document to change this default setting. 5137% point of the document to change this default setting.
4826% \end{macro} 5138% \end{macro}
4827% \begin{macrocode} 5139% \begin{macrocode}
5140\newif\ifal@warp@bayt
5141\al@warp@bayttrue
5142\NewDocumentCommand{\StretchBayt}{O{true}}{
5143 \edef\oarg@true{true}
5144 \edef\oarg@false{false}
5145 \edef\@tempa{#1}
5146 \ifx\@tempa\oarg@true\al@warp@bayttrue
5147 \else
5148 \ifx\@tempa\oarg@false\al@warp@baytfalse
5149 \else
5150 \PackageError{arabluatex}{\string\StretchBayt\space must be
5151 either 'true' or 'false'}{}
5152 \fi
5153 \fi
5154}
4828\NewDocumentCommand{\arb@utf}{m}{% 5155\NewDocumentCommand{\arb@utf}{m}{%
4829 \ifal@verse@utf\txarb{#1}\else\arb{#1}\fi} 5156 \ifal@verse@utf\txarb{#1}\else\arb{#1}\fi}
4830\def\al@hemistich@delim{*} 5157\def\al@hemistich@delim{*}
4831\NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}} 5158\NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}}
4832\def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} 5159\def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt}
4833\NewDocumentCommand{\bayt}{s m o m}{% 5160\providebool{ekd@state}
4834 \IfBooleanTF{#1}{\relax}{\relax}% 5161\NewDocumentCommand{\bayt}{t+ s m o m}{%
5162 \IfBooleanTF{#1}{%
5163 \ifekd@state
5164 \leavevmode
5165 \stepcounter{ekd@lab}%
5166 \zlabel{ekd:\theekd@lab}%
5167 \luadirect{ekdosis.storeabspg(
5168 \luastring{\zref@extract{ekd:\theekd@lab}{abspage}})}%
5169 \add@apparatus
5170 \fi
5171 }{\relax}%
5172 \IfBooleanTF{#2}{\relax}{\relax}%
4835 \ifdefined\savenotes\savenotes\else\fi% 5173 \ifdefined\savenotes\savenotes\else\fi%
4836 \edef\al@tatweel{--}% 5174 \edef\al@tatweel{--}%
4837 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}% 5175 \ifal@warp@bayt%
4838 \IfNoValueTF{#3}{% 5176 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#3}}%
5177 \else%
5178 \makebox[\al@bayt@width][s]{\arb@utf{#3}}%
5179 \fi%
5180 \IfNoValueTF{#4}{%
4839 \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}% 5181 \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}%
4840 \else% 5182 \else%
4841 \hspace{\al@gutter@width}% 5183 \hspace{\al@gutter@width}%
4842 \fi 5184 \fi
4843 }{% 5185 }{%
4844 \edef\@tempa{#3}% 5186 \edef\@tempa{#4}%
4845 \ifx\@tempa\al@tatweel% 5187 \ifx\@tempa\al@tatweel%
4846 \ifx\al@mode\al@mode@trans% 5188 \ifx\al@mode\al@mode@trans%
4847 \hspace{\al@gutter@width}% 5189 \hspace{\al@gutter@width}%
@@ -4850,16 +5192,98 @@
4850 \fi% 5192 \fi%
4851 \else% 5193 \else%
4852 \ifx\al@mode\al@mode@trans% 5194 \ifx\al@mode\al@mode@trans%
4853 \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#3}}% 5195 \ifal@warp@bayt%
5196 \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#4}}%
4854 \else% 5197 \else%
4855 \makebox[\al@gutter@width][s]{\arb@utf{#3}}% 5198 \makebox[\al@gutter@width][s]{\arb@utf{#4}}%
5199 \fi%
5200 \else%
5201 \makebox[\al@gutter@width][s]{\arb@utf{#4}}%
4856 \fi\fi}% 5202 \fi\fi}%
4857 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#4}}% 5203 \ifal@warp@bayt%
5204 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#5}}%
5205 \else%
5206 \makebox[\al@bayt@width][s]{\arb@utf{#5}}%
5207 \fi%
4858 \ifdefined\spewnotes\spewnotes\else\fi% 5208 \ifdefined\spewnotes\spewnotes\else\fi%
4859} 5209}
4860% \end{macrocode} 5210% \end{macrocode}
4861% \end{macro} 5211% \end{macro}
4862% \end{environment} 5212% \end{environment}
5213% \begin{macro}{\arind}
5214% \changes{v1.18}{2020/02/29}{New command \cs{arind} for building
5215% indexes}
5216% \cs{arind}\marg{root} is a command specialized in the contruction of
5217% indexes. As a mandadory argument, it takes the Arabic root under
5218% which a given word is to be indexed. Additionally, it may receive
5219% three optional \enquote*{named} arguments: |index|, |root| and
5220% |form|.
5221% \begin{macrocode}
5222\NewDocumentCommand{\SetDefaultIndex}{m}{
5223 \edef\@tempa{#1}
5224 \ifx\@tempa\empty
5225 \def\al@default@index{\jobname}
5226 \else
5227 \def\al@default@index{#1}
5228 \fi
5229}
5230% \end{macrocode}
5231% \begin{macrocode}
5232\def\al@index@mode{\al@mode}
5233\NewDocumentCommand{\SetIndexMode}{m}{
5234 \def\al@index@mode{#1}
5235}
5236% \end{macrocode}
5237% \begin{macrocode}
5238\define@cmdkeys[al]{index}[alind@]{index,root,form,pipe}
5239\NewDocumentCommand{\arind}{o m}{%
5240 \IfNoValueTF{#1}{%
5241 \ifdefined\al@default@index%
5242 \csname index\endcsname[\al@default@index]{#2}%
5243 \else%
5244 \csname index\endcsname{#2}%
5245 \fi%
5246 }{%
5247 \bgroup
5248 \setkeys[al]{index}{#1}%
5249 \def\al@one{%
5250 \ifdefined\alind@root
5251 \ifnum\alind@root < 10%
5252 !\LR{0\alind@root}%
5253 \else
5254 !\LR{\alind@root}%
5255 \fi
5256 \else
5257 !\LR{01}%
5258 \fi}%
5259 \def\al@two{%
5260 \ifdefined\alind@form @\arb[\al@index@mode]{\alind@form}\else\fi}%
5261 \ifdefined\alind@index%
5262 \ifdefined\alind@pipe
5263 \csname index\endcsname[\alind@index]{#2\al@one\al@two|\alind@pipe}%
5264 \else
5265 \csname index\endcsname[\alind@index]{#2\al@one\al@two}%
5266 \fi
5267 \else%
5268 \ifdefined\al@default@index%
5269 \ifdefined\alind@pipe
5270 \csname index\endcsname[\al@default@index]{%
5271 #2\al@one\al@two|\alind@pipe}%
5272 \else
5273 \csname index\endcsname[\al@default@index]{%
5274 #2\al@one\al@two}%
5275 \fi
5276 \else%
5277 \ifdefined\alind@pipe
5278 \csname index\endcsname{#2\al@one\al@two|\alind@pipe}%
5279 \else
5280 \csname index\endcsname{#2\al@one\al@two}%
5281 \fi
5282 \fi%
5283 \fi%
5284 \egroup}}
5285% \end{macrocode}
5286% \end{macro}
4863% \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument 5287% \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument
4864% in Arabic letters in accordance with the \arb[trans]{'abjad} 5288% in Arabic letters in accordance with the \arb[trans]{'abjad}
4865% arrangement of the alphabet. \meta{number} must be between 1 and 5289% arrangement of the alphabet. \meta{number} must be between 1 and
@@ -4872,13 +5296,13 @@
4872 \ifdefined\abjad% 5296 \ifdefined\abjad%
4873 \RenewDocumentCommand{\abjad}{m}% 5297 \RenewDocumentCommand{\abjad}{m}%
4874 {\ifbool{al@rlmode}% 5298 {\ifbool{al@rlmode}%
4875 {\oline*{% 5299 {\aoline*{%
4876 \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} 5300 \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
4877 {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} 5301 {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
4878 \else% 5302 \else%
4879 \NewDocumentCommand{\abjad}{m}% 5303 \NewDocumentCommand{\abjad}{m}%
4880 {\ifbool{al@rlmode}% 5304 {\ifbool{al@rlmode}%
4881 {\oline*{% 5305 {\aoline*{%
4882 \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} 5306 \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
4883 {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}} 5307 {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
4884 \fi} 5308 \fi}
@@ -5016,14 +5440,37 @@
5016\NewDocumentEnvironment{arab@v@export}{O{} +b}{% 5440\NewDocumentEnvironment{arab@v@export}{O{} +b}{%
5017 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 5441 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
5018 metre]{#1} 5442 metre]{#1}
5019 \if@pkg@export\ifal@verse@export% 5443 \if@pkg@export
5020 \par 5444 \ifal@verse@export
5021 #2 5445 \ifekd@state
5022 \luadirect{arabluatex.doexport("arabverse")} 5446 \begin{ekdverse}[width=\al@verse@twidth]
5023 \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))} 5447 #2
5024 \luadirect{arabluatex.doexport("no")} 5448 \end{ekdverse}
5025 \else\par#2\fi\else\par#2\fi 5449 \else
5026}{\par} 5450 #2
5451 \fi
5452 \luadirect{arabluatex.doexport("arabverse")}%
5453 \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))}%
5454 \luadirect{arabluatex.doexport("no")}%
5455 \else
5456 \ifekd@state
5457 \begin{ekdverse}[width=\al@verse@twidth]
5458 #2
5459 \end{ekdverse}
5460 \else
5461 #2
5462 \fi
5463 \fi
5464 \else
5465 \ifekd@state
5466 \begin{ekdverse}[width=\al@verse@twidth]
5467 #2
5468 \end{ekdverse}
5469 \else
5470 #2
5471 \fi
5472 \fi
5473}{}
5027% \end{macrocode} 5474% \end{macrocode}
5028% \end{environment} 5475% \end{environment}
5029% \begin{macro}{\arbpardir} 5476% \begin{macro}{\arbpardir}