aboutsummaryrefslogtreecommitdiff
path: root/arabluatex.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'arabluatex.dtx')
-rw-r--r--arabluatex.dtx891
1 files changed, 212 insertions, 679 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index 9c2edbb..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--2022 Robert Alessi 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 [2022/06/15 v1.21-dev ArabTeX 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--2022 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% 42%
45% This program is free software: you can redistribute it and/or modify 43% Permission to use, copy, modify, and distribute this software for any
46% it under the terms of the GNU General Public License as published by 44% purpose with or without fee is hereby granted, provided that the above
47% the Free Software Foundation, either version 3 of the License, or 45% copyright notice and this permission notice appear in all copies.
48% (at your option) any later version. 46%
49% 47% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
50% This program is distributed in the hope that it will be useful, but 48% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
51% WITHOUT ANY WARRANTY; without even the implied warranty of 49% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
52% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 50% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
53% General Public License for more details. 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},
@@ -158,7 +166,7 @@
158} 166}
159\end{filecontents} 167\end{filecontents}
160\usepackage[letterpaper,margin=1.25in,left=50mm,nohead]{geometry} 168\usepackage[letterpaper,margin=1.25in,left=50mm,nohead]{geometry}
161\usepackage[no-math]{fontspec} 169\usepackage{fontspec}
162\defaultfontfeatures{Renderer=Harfbuzz} 170\defaultfontfeatures{Renderer=Harfbuzz}
163\usepackage[english]{babel} 171\usepackage[english]{babel}
164%^^A dox does not work with the latest latex-dev: 172%^^A dox does not work with the latest latex-dev:
@@ -169,15 +177,14 @@
169 \doxitem{Option}{option}{options} 177 \doxitem{Option}{option}{options}
170\fi 178\fi
171\usepackage{microtype} 179\usepackage{microtype}
172\babelfont{rm}{Old Standard} 180\babelfont{rm}[RawFeature=onum]{Old Standard}
173\babelfont{sf}{NewComputerModernSans10} 181\babelfont{sf}{NewComputerModernSans10}
174\babelfont{tt}{NewComputerModernMono10} 182\babelfont{tt}{NewComputerModernMono10}
175\usepackage[Old Standard]{mathfont}
176\usepackage{manfnt} 183\usepackage{manfnt}
177\usepackage{lettrine} 184\usepackage{lettrine}
178\newcommand\danger{\lettrine[loversize=-.5]{\textdbend}{\hskip6pt}} 185\newcommand\danger{\lettrine[loversize=-.5]{\textdbend}{\hskip6pt}}
179\usepackage{metalogox} 186\usepackage{metalogox}
180\usepackage{arabluatex}[2022/06/15] 187\usepackage{arabluatex}[2023/05/21]
181\SetTranslitConvention{dmg+} 188\SetTranslitConvention{dmg+}
182\SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this 189\SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this
183\usepackage[nopar]{quran} 190\usepackage[nopar]{quran}
@@ -187,8 +194,6 @@
187\PassOptionsToPackage{bookmarks=true}{hyperref} 194\PassOptionsToPackage{bookmarks=true}{hyperref}
188\usepackage[numbered]{hypdoc} 195\usepackage[numbered]{hypdoc}
189\newcommand{\phts}{\phantomsection} 196\newcommand{\phts}{\phantomsection}
190\usepackage{uri}
191\usepackage[obeyspaces]{xurl}
192\usepackage[loadlang=en]{metastr} 197\usepackage[loadlang=en]{metastr}
193\hypersetup{ 198\hypersetup{
194 colorlinks, 199 colorlinks,
@@ -233,18 +238,24 @@
233\metaset{partof}{The arabluatex Package} 238\metaset{partof}{The arabluatex Package}
234\metaset[print]{partof}{The \textsf{arabluatex} Package} 239\metaset[print]{partof}{The \textsf{arabluatex} Package}
235\metaset{copyrightowner}{\metapick[#1]{author}} 240\metaset{copyrightowner}{\metapick[#1]{author}}
236\metaset{copyrightdate}{2016--2022} 241\metaset{copyrightdate}{2016, 2017, 2018, 2019, 2020, 2021, 2022,
237\metaset{licensemessage}{Permission is granted to copy, distribute 242 2023}
238 and/or modify this document under the terms of the GNU Free 243\metaset{licensemessage}{Permission to use, copy, modify, and
239 Documentation License, Version 1.3 or any later version published by 244 distribute this software for any purpose with or without fee is
240 the Free Software Foundation; with no Invariant Sections, no 245 hereby granted, provided that the above copyright notice and this
241 Front-Cover Texts, and no Back-Cover Texts. A copy of the license 246 permission notice appear in all copies.
242 is included in the section entitled ``GNU Free Documentation 247 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
243 License''.} 248 WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
244\metaset{licenseurl}{https://www.gnu.org/licenses/fdl-1.3.html} 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}
245\metaset[print]{licenseurl}{% 257\metaset[print]{licenseurl}{%
246 \url{https://www.gnu.org/licenses/fdl-1.3.html}} 258 \url{https://cvsweb.openbsd.org/src/share/misc/license.template?rev=HEAD}}
247\metaset[cmd]{licenselogo}{\includegraphics[scale=0.75]{#1}}
248\metawritepdfinfo 259\metawritepdfinfo
249\metawritepdfaux 260\metawritepdfaux
250\metawritepdfpreamble 261\metawritepdfpreamble
@@ -265,8 +276,6 @@
265 label*=\textsc{Rem.} \emph{\alph*}, 276 label*=\textsc{Rem.} \emph{\alph*},
266 left=0.25in, 277 left=0.25in,
267 before=\smaller} 278 before=\smaller}
268\usepackage{multicol}
269\setlength\IndexMin{100pt}
270\usepackage{quoting} 279\usepackage{quoting}
271\quotingsetup{noorphans, rightmargin=0pt} 280\quotingsetup{noorphans, rightmargin=0pt}
272\renewcommand*{\quotingfont}{\footnotesize} 281\renewcommand*{\quotingfont}{\footnotesize}
@@ -295,7 +304,7 @@
295\DeclareQuoteStyle{arabic} 304\DeclareQuoteStyle{arabic}
296{\rmfamily\textquotedblright}{\rmfamily\textquotedblleft} 305{\rmfamily\textquotedblright}{\rmfamily\textquotedblleft}
297{\rmfamily\textquoteright}{\rmfamily\textquoteleft} 306{\rmfamily\textquoteright}{\rmfamily\textquoteleft}
298\usepackage[style=authoryear, indexing=cite]{biblatex} 307\usepackage[style=oxnotes-inote,indexing=cite]{biblatex}
299\DeclareIndexFieldFormat{indextitle}{\index{#1=\emph{#1}}} 308\DeclareIndexFieldFormat{indextitle}{\index{#1=\emph{#1}}}
300\addbibresource{arabluatex.bib} 309\addbibresource{arabluatex.bib}
301\NewDocumentCommand{\newfeature}{o}{% 310\NewDocumentCommand{\newfeature}{o}{%
@@ -305,6 +314,8 @@
305 {\marginpar{\hfill\emph{New feature} #1}}% 314 {\marginpar{\hfill\emph{New feature} #1}}%
306 \ignorespaces 315 \ignorespaces
307} 316}
317\usepackage{uri}
318\usepackage[obeyspaces]{xurl}
308\usepackage{multicol} 319\usepackage{multicol}
309\usepackage{tocloft} 320\usepackage{tocloft}
310\renewcommand\cftlotprehook{\begin{multicols}{2}} 321\renewcommand\cftlotprehook{\begin{multicols}{2}}
@@ -312,24 +323,27 @@
312\renewcommand\cftlottitlefont{\Large\bfseries} 323\renewcommand\cftlottitlefont{\Large\bfseries}
313\usepackage{etoc} 324\usepackage{etoc}
314\etocsettocdepth{paragraph} 325\etocsettocdepth{paragraph}
326\makeatletter
315\newcommand{\altableofcontents}{% 327\newcommand{\altableofcontents}{%
316 \begingroup 328 \begingroup
317 \etocsetstyle{section}{}{} 329 \etocsetstyle{section}{}{}
318 {\etocsavedsectiontocline{% 330 {\l@section{%
319 \numberline{\etocnumber}\etocname}{\etocpage}}{} 331 \numberline{\etocnumber}\etocname}{\etocpage}}{}
320 \etocsetstyle{subsection}{}{} 332 \etocsetstyle{subsection}{}{}
321 {\etocsavedsubsectiontocline{% 333 {\l@subsection{%
322 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 334 \numberline{\etocnumber}\etocname}{\etocpage}}{}%
323 \etocsetstyle{subsubsection}{}{} 335 \etocsetstyle{subsubsection}{}{}
324 {\etocsavedsubsubsectiontocline{% 336 {\l@subsubsection{%
325 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 337 \numberline{\etocnumber}\etocname}{\etocpage}}{}%
326 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip 338 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip
327 0pt plus 1fil\relax \nobreak} 339 0pt plus 1fil\relax \nobreak}
328 {\noindent\etocname{} \etocpage{} }{\par}% 340 {\noindent\etocname{} \etocpage{} }{\par}%
329 \etocmulticolstyle[2]{\section*{Contents}} 341 \etocmulticolstyle[2]{\section*{Contents}}
330 \pdfbookmark[1]{Contents}{toc} 342 \pdfbookmark[1]{Contents}{toc}
331 \tableofcontents 343 \etoctoclines
344 \localtableofcontents
332 \endgroup} 345 \endgroup}
346\makeatother
333\setlength\IndexMin{100pt} 347\setlength\IndexMin{100pt}
334\EnableCrossrefs 348\EnableCrossrefs
335\RecordChanges 349\RecordChanges
@@ -423,53 +437,59 @@
423% 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
424% vocalization as Arab\TeX, or in different roman 438% vocalization as Arab\TeX, or in different roman
425% transliterations. It further allows many typographical 439% transliterations. It further allows many typographical
426% refinements. It will eventually interact with some other packages 440% refinements. Furthermore, it can interact with the \pkg{ekdosis}
427% yet to come to produce from \verb|.tex| source files, in addition 441% package to produce from \verb|.tex| source files, in addition to
428% to printed books, \texttt{TEI xml} compliant critical editions 442% printed books, \texttt{TEI xml} compliant critical editions and/or
429% and/or lexicons that can be searched, analyzed and correlated in 443% lexicons that can be searched, analyzed and correlated in various
430% various ways. 444% ways.
431% \end{abstract} 445% \end{abstract}
432% 446%
433% \section*{License and Disclaimer} 447% \section*{License and Disclaimer}
434% \addcontentsline{toc}{section}{License and disclamer} 448% \addcontentsline{toc}{section}{License and disclamer}
435% \subsection*{License Applicable to this Document} 449% \leavevmode\marginpar{\hfill\texttt{OpenBSD}} \pkg{arabluatex} is
436% \pdfbookmark[2]{Licence applicable to this document}{copyright-doc} 450% licensed under the terms of the so-called OpenBSD license, as it is
437% \leavevmode\marginpar{\hfill\texttt{fdl1.3}} 451% modelled after the ISC copyright, which is functionally equivalent
438% \metapick[print]{rightstext} (See below \vref{sec:fdl}.) 452% to a two-term BSD copyright with language removed that is made
439% 453% unnecessary by the Berne convention.\footnote{More information about
440% \subsection*{License Applicable to the Software} 454% the OpenBSD policy to which \pkg{arabluatex} adheres:
441% \pdfbookmark[2]{Licence applicable to the software}{copyright-soft} 455% \url{https://www.openbsd.org/policy.html}.}
442% \label{sec:license-software}
443% 456%
444% \package{arabluatex} --- \metapick[print]{subtitle} 457% \iffalse
445% \metapick[print]{copyrightstatement} 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
446% 482%
447% Please send error reports and suggestions for improvements to Robert 483% Please send error reports and suggestions for improvements to Robert
448% Alessi: 484% Alessi:
449% \begin{itemize} 485% \begin{itemize}
450% \item email: \mailto[arabluatex package]{alessi@roberalessi.net} 486% \item email: \mailto[arabluatex package]{alessi@roberalessi.net}
451% \item website: \url{http://www.robertalessi.net/arabluatex} 487% \item website: \url{https://sr.ht/~ralessi/arabluatex/}
452% \item development: \url{http://git.robertalessi.net/arabluatex} 488% \item development: \url{http://git.robertalessi.net/arabluatex}
453% \item comments, feature requests, bug reports: 489% \item comments, feature requests, bug reports:
454% \url{https://gitlab.com/ralessi/arabluatex/issues} 490% \url{https://todo.sr.ht/~ralessi/arabluatex}
455% \end{itemize} 491% \end{itemize}
456% 492%
457% \leavevmode\marginpar{\hfill\texttt{gpl3+}}
458% This program is free software: you can redistribute it and/or modify
459% it under the terms of the GNU General Public License as published by
460% the Free Software Foundation, either version 3 of the License, or
461% (at your option) any later version.
462%
463% This program is distributed in the hope that it will be useful, but
464% WITHOUT ANY WARRANTY; without even the implied warranty of
465% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
466% General Public License for more details.
467%
468% You should have received a copy of the GNU General Public License
469% along with this program. If not, see
470% \href{http://www.gnu.org/licenses}%
471% {\texttt{<http://www.gnu.org/licenses/>}}.
472%
473% This release of \package{arabluatex} consists of the following 493% This release of \package{arabluatex} consists of the following
474% source files: 494% source files:
475% \begin{itemize} 495% \begin{itemize}
@@ -2370,8 +2390,9 @@
2370% 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
2371% functions that lines of poetry have already been processed. That 2391% functions that lines of poetry have already been processed. That
2372% 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}
2373% should be used.} Additionally, every \cs{bayt} command \emph{must} 2393% should be used.} Additionally, every \cs{bayt} command \emph{must}
2374% be followed with |\\| like so:---% 2394% be followed with |\\| like so:---
2395%
2375% \iffalse 2396% \iffalse
2376%<*example> 2397%<*example>
2377% \fi 2398% \fi
@@ -2506,6 +2527,16 @@
2506% 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
2507% loaded \emph{after} \package{arabluatex}.} 2528% loaded \emph{after} \package{arabluatex}.}
2508% 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%
2509% \paragraph{Line numbering} 2540% \paragraph{Line numbering}
2510% Inside the |arabverse| environment, the |linenumbers| environment of 2541% Inside the |arabverse| environment, the |linenumbers| environment of
2511% 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
@@ -4528,546 +4559,6 @@
4528% \end{enumerate} 4559% \end{enumerate}
4529% \end{enumerate} 4560% \end{enumerate}
4530% 4561%
4531% \section{GNU Free Documentation License}
4532% \label{sec:fdl}
4533% \textbf{Version 1.3, 3 November 2008}
4534%
4535% \begin{center}
4536% Version 1.3, 3 November 2008
4537%
4538% Copyright \copyright{} 2000, 2001, 2002, 2007, 2008 Free
4539% Software Foundation, Inc.
4540%
4541% \bigskip
4542%
4543% \url{https://fsf.org/}
4544%
4545% \bigskip
4546%
4547% Everyone is permitted to copy and distribute verbatim copies
4548% of this license document, but changing it is not allowed.
4549% \end{center}
4550%
4551% \needspace{3\baselineskip}
4552% \begin{center}
4553% {\bf\large Preamble}
4554% \end{center}
4555%
4556% The purpose of this License is to make a manual, textbook, or other
4557% functional and useful document \enquote{free} in the sense of
4558% freedom: to assure everyone the effective freedom to copy and
4559% redistribute it, with or without modifying it, either commercially
4560% or noncommercially. Secondarily, this License preserves for the
4561% author and publisher a way to get credit for their work, while not
4562% being considered responsible for modifications made by others.
4563%
4564% This License is a kind of \enquote{copyleft}, which means that
4565% derivative works of the document must themselves be free in the same
4566% sense. It complements the GNU General Public License, which is a
4567% copyleft license designed for free software.
4568%
4569% We have designed this License in order to use it for manuals for
4570% free software, because free software needs free documentation: a
4571% free program should come with manuals providing the same freedoms
4572% that the software does. But this License is not limited to software
4573% manuals; it can be used for any textual work, regardless of subject
4574% matter or whether it is published as a printed book. We recommend
4575% this License principally for works whose purpose is instruction or
4576% reference.
4577%
4578% \needspace{3\baselineskip}
4579% \begin{center}
4580% {\large\bf 1. APPLICABILITY AND DEFINITIONS\par}
4581% \end{center}
4582%
4583% This License applies to any manual or other work, in any medium,
4584% that contains a notice placed by the copyright holder saying it can
4585% be distributed under the terms of this License. Such a notice
4586% grants a world-wide, royalty-free license, unlimited in duration, to
4587% use that work under the conditions stated herein. The
4588% \enquote{\textbf{Document}}, below, refers to any such manual or
4589% work. Any member of the public is a licensee, and is addressed as
4590% \enquote{\textbf{you}}. You accept the license if you copy, modify
4591% or distribute the work in a way requiring permission under copyright
4592% law.
4593%
4594% A \enquote{\textbf{Modified Version}} of the Document means any work
4595% containing the Document or a portion of it, either copied verbatim,
4596% or with modifications and/or translated into another language.
4597%
4598% A \enquote{\textbf{Secondary Section}} is a named appendix or a
4599% front-matter section of the Document that deals exclusively with the
4600% relationship of the publishers or authors of the Document to the
4601% Document's overall subject (or to related matters) and contains
4602% nothing that could fall directly within that overall subject.
4603% (Thus, if the Document is in part a textbook of mathematics, a
4604% Secondary Section may not explain any mathematics.) The
4605% relationship could be a matter of historical connection with the
4606% subject or with related matters, or of legal, commercial,
4607% philosophical, ethical or political position regarding them.
4608%
4609% The \enquote{\textbf{Invariant Sections}} are certain Secondary
4610% Sections whose titles are designated, as being those of Invariant
4611% Sections, in the notice that says that the Document is released
4612% under this License. If a section does not fit the above definition
4613% of Secondary then it is not allowed to be designated as Invariant.
4614% The Document may contain zero Invariant Sections. If the Document
4615% does not identify any Invariant Sections then there are none.
4616%
4617% The \enquote{\textbf{Cover Texts}} are certain short passages of
4618% text that are listed, as Front-Cover Texts or Back-Cover Texts, in
4619% the notice that says that the Document is released under this
4620% License. A Front-Cover Text may be at most 5 words, and a
4621% Back-Cover Text may be at most 25 words.
4622%
4623% A \enquote{\textbf{Transparent}} copy of the Document means a
4624% machine-readable copy, represented in a format whose specification
4625% is available to the general public, that is suitable for revising
4626% the document straightforwardly with generic text editors or (for
4627% images composed of pixels) generic paint programs or (for drawings)
4628% some widely available drawing editor, and that is suitable for input
4629% to text formatters or for automatic translation to a variety of
4630% formats suitable for input to text formatters. A copy made in an
4631% otherwise Transparent file format whose markup, or absence of
4632% markup, has been arranged to thwart or discourage subsequent
4633% modification by readers is not Transparent. An image format is not
4634% Transparent if used for any substantial amount of text. A copy that
4635% is not \enquote{Transparent} is called \enquote{\textbf{Opaque}}.
4636%
4637% Examples of suitable formats for Transparent copies include plain
4638% ASCII without markup, Texinfo input format, LaTeX input format, SGML
4639% or XML using a publicly available DTD, and standard-conforming
4640% simple HTML, PostScript or PDF designed for human modification.
4641% Examples of transparent image formats include PNG, XCF and JPG.
4642% Opaque formats include proprietary formats that can be read and
4643% edited only by proprietary word processors, SGML or XML for which
4644% the DTD and/or processing tools are not generally available, and the
4645% machine-generated HTML, PostScript or PDF produced by some word
4646% processors for output purposes only.
4647%
4648% The \enquote{\textbf{Title Page}} means, for a printed book, the
4649% title page itself, plus such following pages as are needed to hold,
4650% legibly, the material this License requires to appear in the title
4651% page. For works in formats which do not have any title page as
4652% such, \enquote{Title Page} means the text near the most prominent
4653% appearance of the work's title, preceding the beginning of the body
4654% of the text.
4655%
4656% The \enquote{\textbf{publisher}} means any person or entity that
4657% distributes copies of the Document to the public.
4658%
4659% A section \enquote{\textbf{Entitled XYZ}} means a named subunit of
4660% the Document whose title either is precisely XYZ or contains XYZ in
4661% parentheses following text that translates XYZ in another language.
4662% (Here XYZ stands for a specific section name mentioned below, such
4663% as \enquote{\textbf{Acknowledgements}},
4664% \enquote{\textbf{Dedications}}, \enquote{\textbf{Endorsements}}, or
4665% \enquote{\textbf{History}}.) To \enquote{\textbf{Preserve the
4666% Title}} of such a section when you modify the Document means that it
4667% remains a section \enquote{Entitled XYZ} according to this
4668% definition.
4669%
4670% The Document may include Warranty Disclaimers next to the notice
4671% which states that this License applies to the Document. These
4672% Warranty Disclaimers are considered to be included by reference in
4673% this License, but only as regards disclaiming warranties: any other
4674% implication that these Warranty Disclaimers may have is void and has
4675% no effect on the meaning of this License.
4676%
4677% \needspace{3\baselineskip}
4678% \begin{center}
4679% {\large\bf 2. VERBATIM COPYING\par}
4680% \end{center}
4681%
4682% You may copy and distribute the Document in any medium, either
4683% commercially or noncommercially, provided that this License, the
4684% copyright notices, and the license notice saying this License
4685% applies to the Document are reproduced in all copies, and that you
4686% add no other conditions whatsoever to those of this License. You
4687% may not use technical measures to obstruct or control the reading or
4688% further copying of the copies you make or distribute. However, you
4689% may accept compensation in exchange for copies. If you distribute a
4690% large enough number of copies you must also follow the conditions in
4691% section~3.
4692%
4693% You may also lend copies, under the same conditions stated above,
4694% and you may publicly display copies.
4695%
4696% \needspace{3\baselineskip}
4697% \begin{center}
4698% {\large\bf 3. COPYING IN QUANTITY\par}
4699% \end{center}
4700%
4701% If you publish printed copies (or copies in media that commonly have
4702% printed covers) of the Document, numbering more than 100, and the
4703% Document's license notice requires Cover Texts, you must enclose the
4704% copies in covers that carry, clearly and legibly, all these Cover
4705% Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
4706% the back cover. Both covers must also clearly and legibly identify
4707% you as the publisher of these copies. The front cover must present
4708% the full title with all words of the title equally prominent and
4709% visible. You may add other material on the covers in addition.
4710% Copying with changes limited to the covers, as long as they preserve
4711% the title of the Document and satisfy these conditions, can be
4712% treated as verbatim copying in other respects.
4713%
4714% If the required texts for either cover are too voluminous to fit
4715% legibly, you should put the first ones listed (as many as fit
4716% reasonably) on the actual cover, and continue the rest onto adjacent
4717% pages.
4718%
4719% If you publish or distribute Opaque copies of the Document numbering
4720% more than 100, you must either include a machine-readable
4721% Transparent copy along with each Opaque copy, or state in or with
4722% each Opaque copy a computer-network location from which the general
4723% network-using public has access to download using public-standard
4724% network protocols a complete Transparent copy of the Document, free
4725% of added material. If you use the latter option, you must take
4726% reasonably prudent steps, when you begin distribution of Opaque
4727% copies in quantity, to ensure that this Transparent copy will remain
4728% thus accessible at the stated location until at least one year after
4729% the last time you distribute an Opaque copy (directly or through
4730% your agents or retailers) of that edition to the public.
4731%
4732% It is requested, but not required, that you contact the authors of
4733% the Document well before redistributing any large number of copies,
4734% to give them a chance to provide you with an updated version of the
4735% Document.
4736%
4737% \needspace{3\baselineskip}
4738% \begin{center}
4739% {\large\bf 4. MODIFICATIONS\par}
4740% \end{center}
4741%
4742% You may copy and distribute a Modified Version of the Document under
4743% the conditions of sections 2 and 3 above, provided that you release
4744% the Modified Version under precisely this License, with the Modified
4745% Version filling the role of the Document, thus licensing
4746% distribution and modification of the Modified Version to whoever
4747% possesses a copy of it. In addition, you must do these things in
4748% the Modified Version:
4749%
4750% \begin{itemize}
4751% \item[A.] Use in the Title Page (and on the covers, if any) a title
4752% distinct from that of the Document, and from those of previous
4753% versions (which should, if there were any, be listed in the
4754% History section of the Document). You may use the same title as a
4755% previous version if the original publisher of that version gives
4756% permission.
4757%
4758% \item[B.] List on the Title Page, as authors, one or more persons
4759% or entities responsible for authorship of the modifications in
4760% the Modified Version, together with at least five of the
4761% principal authors of the Document (all of its principal authors,
4762% if it has fewer than five), unless they release you from this
4763% requirement.
4764%
4765% \item[C.] State on the Title page the name of the publisher of the
4766% Modified Version, as the publisher.
4767%
4768% \item[D.] Preserve all the copyright notices of the Document.
4769%
4770% \item[E.] Add an appropriate copyright notice for your
4771% modifications adjacent to the other copyright notices.
4772%
4773% \item[F.] Include, immediately after the copyright notices, a
4774% license notice giving the public permission to use the Modified
4775% Version under the terms of this License, in the form shown in the
4776% Addendum below.
4777%
4778% \item[G.] Preserve in that license notice the full lists of
4779% Invariant Sections and required Cover Texts given in the
4780% Document's license notice.
4781%
4782% \item[H.] Include an unaltered copy of this License.
4783%
4784% \item[I.] Preserve the section Entitled \enquote{History},
4785% Preserve its Title, and add to it an item stating at least the
4786% title, year, new authors, and publisher of the Modified Version
4787% as given on the Title Page. If there is no section Entitled
4788% \enquote{History} in the Document, create one stating the title,
4789% year, authors, and publisher of the Document as given on its
4790% Title Page, then add an item describing the Modified Version as
4791% stated in the previous sentence.
4792%
4793% \item[J.] Preserve the network location, if any, given in the
4794% Document for public access to a Transparent copy of the Document,
4795% and likewise the network locations given in the Document for
4796% previous versions it was based on. These may be placed in the
4797% \enquote{History} section. You may omit a network location for a
4798% work that was published at least four years before the Document
4799% itself, or if the original publisher of the version it refers to
4800% gives permission.
4801%
4802% \item[K.] For any section Entitled \enquote{Acknowledgements} or
4803% \enquote{Dedications}, Preserve the Title of the section, and
4804% preserve in the section all the substance and tone of each of the
4805% contributor acknowledgements and/or dedications given therein.
4806%
4807% \item[L.] Preserve all the Invariant Sections of the Document,
4808% unaltered in their text and in their titles. Section numbers or
4809% the equivalent are not considered part of the section titles.
4810%
4811% \item[M.] Delete any section Entitled \enquote{Endorsements}.
4812% Such a section may not be included in the Modified Version.
4813%
4814% \item[N.] Do not retitle any existing section to be Entitled
4815% \enquote{Endorsements} or to conflict in title with any Invariant
4816% Section.
4817%
4818% \item[O.] Preserve any Warranty Disclaimers.
4819% \end{itemize}
4820%
4821% If the Modified Version includes new front-matter sections or
4822% appendices that qualify as Secondary Sections and contain no
4823% material copied from the Document, you may at your option designate
4824% some or all of these sections as invariant. To do this, add their
4825% titles to the list of Invariant Sections in the Modified Version's
4826% license notice. These titles must be distinct from any other
4827% section titles.
4828%
4829% You may add a section Entitled \enquote{Endorsements}, provided it
4830% contains nothing but endorsements of your Modified Version by
4831% various parties---for example, statements of peer review or that the
4832% text has been approved by an organization as the authoritative
4833% definition of a standard.
4834%
4835% You may add a passage of up to five words as a Front-Cover Text, and
4836% a passage of up to 25 words as a Back-Cover Text, to the end of the
4837% list of Cover Texts in the Modified Version. Only one passage of
4838% Front-Cover Text and one of Back-Cover Text may be added by (or
4839% through arrangements made by) any one entity. If the Document
4840% already includes a cover text for the same cover, previously added
4841% by you or by arrangement made by the same entity you are acting on
4842% behalf of, you may not add another; but you may replace the old one,
4843% on explicit permission from the previous publisher that added the
4844% old one.
4845%
4846% The author(s) and publisher(s) of the Document do not by this
4847% License give permission to use their names for publicity for or to
4848% assert or imply endorsement of any Modified Version.
4849%
4850% \needspace{3\baselineskip}
4851% \begin{center}
4852% {\large\bf 5. COMBINING DOCUMENTS\par}
4853% \end{center}
4854%
4855% You may combine the Document with other documents released under
4856% this License, under the terms defined in section~4 above for
4857% modified versions, provided that you include in the combination all
4858% of the Invariant Sections of all of the original documents,
4859% unmodified, and list them all as Invariant Sections of your combined
4860% work in its license notice, and that you preserve all their Warranty
4861% Disclaimers.
4862%
4863% The combined work need only contain one copy of this License, and
4864% multiple identical Invariant Sections may be replaced with a single
4865% copy. If there are multiple Invariant Sections with the same name
4866% but different contents, make the title of each such section unique
4867% by adding at the end of it, in parentheses, the name of the original
4868% author or publisher of that section if known, or else a unique
4869% number. Make the same adjustment to the section titles in the list
4870% of Invariant Sections in the license notice of the combined work.
4871%
4872% In the combination, you must combine any sections Entitled
4873% \enquote{History} in the various original documents, forming one
4874% section Entitled \enquote{History}; likewise combine any sections
4875% Entitled \enquote{Acknowledgements}, and any sections Entitled
4876% \enquote{Dedications}. You must delete all sections Entitled
4877% \enquote{Endorsements}.
4878%
4879% \needspace{3\baselineskip}
4880% \begin{center}
4881% {\large\bf 6. COLLECTIONS OF DOCUMENTS\par}
4882% \end{center}
4883%
4884% You may make a collection consisting of the Document and other
4885% documents released under this License, and replace the individual
4886% copies of this License in the various documents with a single copy
4887% that is included in the collection, provided that you follow the
4888% rules of this License for verbatim copying of each of the documents
4889% in all other respects.
4890%
4891% You may extract a single document from such a collection, and
4892% distribute it individually under this License, provided you insert a
4893% copy of this License into the extracted document, and follow this
4894% License in all other respects regarding verbatim copying of that
4895% document.
4896%
4897% \needspace{3\baselineskip}
4898% \begin{center}
4899% {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par}
4900% \end{center}
4901%
4902% A compilation of the Document or its derivatives with other separate
4903% and independent documents or works, in or on a volume of a storage
4904% or distribution medium, is called an \enquote{aggregate} if the
4905% copyright resulting from the compilation is not used to limit the
4906% legal rights of the compilation's users beyond what the individual
4907% works permit. When the Document is included in an aggregate, this
4908% License does not apply to the other works in the aggregate which are
4909% not themselves derivative works of the Document.
4910%
4911% If the Cover Text requirement of section~3 is applicable to these
4912% copies of the Document, then if the Document is less than one half
4913% of the entire aggregate, the Document's Cover Texts may be placed on
4914% covers that bracket the Document within the aggregate, or the
4915% electronic equivalent of covers if the Document is in electronic
4916% form. Otherwise they must appear on printed covers that bracket the
4917% whole aggregate.
4918%
4919% \needspace{3\baselineskip}
4920% \begin{center}
4921% {\large\bf 8. TRANSLATION\par}
4922% \end{center}
4923%
4924% Translation is considered a kind of modification, so you may
4925% distribute translations of the Document under the terms of
4926% section~4. Replacing Invariant Sections with translations requires
4927% special permission from their copyright holders, but you may include
4928% translations of some or all Invariant Sections in addition to the
4929% original versions of these Invariant Sections. You may include a
4930% translation of this License, and all the license notices in the
4931% Document, and any Warranty Disclaimers, provided that you also
4932% include the original English version of this License and the
4933% original versions of those notices and disclaimers. In case of a
4934% disagreement between the translation and the original version of
4935% this License or a notice or disclaimer, the original version will
4936% prevail.
4937%
4938% If a section in the Document is Entitled \enquote{Acknowledgements},
4939% \enquote{Dedications}, or \enquote{History}, the requirement
4940% (section~4) to Preserve its Title (section~1) will typically require
4941% changing the actual title.
4942%
4943% \needspace{3\baselineskip}
4944% \begin{center}
4945% {\large\bf 9. TERMINATION\par}
4946% \end{center}
4947%
4948% You may not copy, modify, sublicense, or distribute the Document
4949% except as expressly provided under this License. Any attempt
4950% otherwise to copy, modify, sublicense, or distribute it is void, and
4951% will automatically terminate your rights under this License.
4952%
4953% However, if you cease all violation of this License, then your
4954% license from a particular copyright holder is reinstated (a)
4955% provisionally, unless and until the copyright holder explicitly and
4956% finally terminates your license, and (b) permanently, if the
4957% copyright holder fails to notify you of the violation by some
4958% reasonable means prior to 60 days after the cessation.
4959%
4960% Moreover, your license from a particular copyright holder is
4961% reinstated permanently if the copyright holder notifies you of the
4962% violation by some reasonable means, this is the first time you have
4963% received notice of violation of this License (for any work) from
4964% that copyright holder, and you cure the violation prior to 30 days
4965% after your receipt of the notice.
4966%
4967% Termination of your rights under this section does not terminate the
4968% licenses of parties who have received copies or rights from you
4969% under this License. If your rights have been terminated and not
4970% permanently reinstated, receipt of a copy of some or all of the same
4971% material does not give you any rights to use it.
4972%
4973% \needspace{3\baselineskip}
4974% \begin{center}
4975% {\large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par}
4976% \end{center}
4977%
4978% The Free Software Foundation may publish new, revised versions of
4979% the GNU Free Documentation License from time to time. Such new
4980% versions will be similar in spirit to the present version, but may
4981% differ in detail to address new problems or concerns. See
4982% \url{https://www.gnu.org/licenses/}.
4983%
4984% Each version of the License is given a distinguishing version
4985% number. If the Document specifies that a particular numbered
4986% version of this License \enquote{or any later version} applies to
4987% it, you have the option of following the terms and conditions either
4988% of that specified version or of any later version that has been
4989% published (not as a draft) by the Free Software Foundation. If the
4990% Document does not specify a version number of this License, you may
4991% choose any version ever published (not as a draft) by the Free
4992% Software Foundation. If the Document specifies that a proxy can
4993% decide which future versions of this License can be used, that
4994% proxy's public statement of acceptance of a version permanently
4995% authorizes you to choose that version for the Document.
4996%
4997% \needspace{3\baselineskip}
4998% \begin{center}
4999% {\large\bf 11. RELICENSING\par}
5000% \end{center}
5001%
5002% \enquote{Massive Multiauthor Collaboration Site} (or \enquote{MMC
5003% Site}) means any World Wide Web server that publishes copyrightable
5004% works and also provides prominent facilities for anybody to edit
5005% those works. A public wiki that anybody can edit is an example of
5006% such a server. A \enquote{Massive Multiauthor Collaboration} (or
5007% \enquote{MMC}) contained in the site means any set of copyrightable
5008% works thus published on the MMC site.
5009%
5010% \enquote{CC-BY-SA} means the Creative Commons Attribution-Share
5011% Alike 3.0 license published by Creative Commons Corporation, a
5012% not-for-profit corporation with a principal place of business in San
5013% Francisco, California, as well as future copyleft versions of that
5014% license published by that same organization.
5015%
5016% \enquote{Incorporate} means to publish or republish a Document, in
5017% whole or in part, as part of another Document.
5018%
5019% An MMC is \enquote{eligible for relicensing} if it is licensed under
5020% this License, and if all works that were first published under this
5021% License somewhere other than this MMC, and subsequently incorporated
5022% in whole or in part into the MMC, (1) had no cover texts or
5023% invariant sections, and (2) were thus incorporated prior to November
5024% 1, 2008.
5025%
5026% The operator of an MMC Site may republish an MMC contained in the
5027% site under CC-BY-SA on the same site at any time before August 1,
5028% 2009, provided the MMC is eligible for relicensing.
5029%
5030% \needspace{3\baselineskip}
5031% \begin{center}
5032% {\large\bf ADDENDUM: How to use this License for your documents\par}
5033% \end{center}
5034%
5035% To use this License in a document you have written, include a copy
5036% of the License in the document and put the following copyright and
5037% license notices just after the title page:
5038%
5039% \bigskip
5040% \begin{quote}
5041% Copyright \copyright{} YEAR YOUR NAME. Permission is granted to
5042% copy, distribute and/or modify this document under the terms of
5043% the GNU Free Documentation License, Version 1.3 or any later
5044% version published by the Free Software Foundation; with no
5045% Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
5046% A copy of the license is included in the section entitled
5047% \enquote{GNU Free Documentation License}.
5048% \end{quote}
5049% \bigskip
5050%
5051% If you have Invariant Sections, Front-Cover Texts and Back-Cover
5052% Texts, replace the \enquote{with \dots\ Texts.}\ line with this:
5053%
5054% \bigskip
5055% \begin{quote}
5056% with the Invariant Sections being LIST THEIR TITLES, with the
5057% Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
5058% \end{quote}
5059% \bigskip
5060%
5061% If you have Invariant Sections without Cover Texts, or some other
5062% combination of the three, merge those two alternatives to suit the
5063% situation.
5064%
5065% If your document contains nontrivial examples of program code, we
5066% recommend releasing these examples in parallel under your choice of
5067% free software license, such as the GNU General Public License,
5068% to permit their use in free software.
5069%
5070%
5071% \StopEventually{} 4562% \StopEventually{}
5072% 4563%
5073% \section{Implementation} 4564% \section{Implementation}
@@ -5156,12 +4647,12 @@
5156% it to suit our purpose: 4647% it to suit our purpose:
5157% \begin{macrocode} 4648% \begin{macrocode}
5158\AtBeginDocument{\ifdef{\LR}% 4649\AtBeginDocument{\ifdef{\LR}%
5159 {\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}} 4650 {\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\reset@font#1\egroup}}
5160 {\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}} 4651 {\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\reset@font#1\egroup}}}
5161% \end{macrocode} 4652% \end{macrocode}
5162% \end{macro} 4653% \end{macro}
5163% \begin{macro}{\SetArbNumbers} 4654% \begin{macro}{\SetArbNumbers}
5164% \changes{v1.21}{2022/06/15}{selects Indian or Arabic numbers} 4655% \changes{v1.21}{2023/05/21}{selects Indian or Arabic numbers}
5165% \begin{macrocode} 4656% \begin{macrocode}
5166\NewDocumentCommand{\SetArbNumbers}{m}{% 4657\NewDocumentCommand{\SetArbNumbers}{m}{%
5167 \luadirect{arabluatex.setnums(\luastringN{#1})}% 4658 \luadirect{arabluatex.setnums(\luastringN{#1})}%
@@ -5324,7 +4815,7 @@
5324% \end{macrocode} 4815% \end{macrocode}
5325% \end{macro} 4816% \end{macro}
5326% \begin{macro}{\altrfont} 4817% \begin{macro}{\altrfont}
5327% \changes{v1.21}{2022/06/15}{new command \cs{altrfont} to store 4818% \changes{v1.21}{2023/05/21}{new command \cs{altrfont} to store
5328% font and shape information (trans mode)} Finally \cs{altrfont} 4819% font and shape information (trans mode)} Finally \cs{altrfont}
5329% is used internally by \package{arabluatex} to store family and 4820% is used internally by \package{arabluatex} to store family and
5330% shape information about the font to be used for transliterated 4821% shape information about the font to be used for transliterated
@@ -5561,55 +5052,63 @@
5561% \begin{macrocode} 5052% \begin{macrocode}
5562\newlength{\al@bayt@width} 5053\newlength{\al@bayt@width}
5563\newlength{\al@gutter@width} 5054\newlength{\al@gutter@width}
5055\newlength{\al@verse@twidth}
5564\setlength{\al@bayt@width}{.3\textwidth} 5056\setlength{\al@bayt@width}{.3\textwidth}
5565\setlength{\al@gutter@width}{.15\al@bayt@width} 5057\setlength{\al@gutter@width}{.15\al@bayt@width}
5566\define@key[al]{verse}{width}{\setlength{\al@bayt@width}{#1}} 5058\define@key[al]{verse}{width}{\setlength{\al@bayt@width}{#1}}
5567\define@key[al]{verse}{gutter}{\setlength{\al@gutter@width}{#1}} 5059\define@key[al]{verse}{gutter}{\setlength{\al@gutter@width}{#1}}
5568\define@key[al]{verse}{metre}{\arb{#1}} 5060\define@key[al]{verse}{metre}{\def\al@verse@metre@value{\arb{#1}}}
5569\define@key[al]{verse}{color}[]{\color{#1}} 5061\define@key[al]{verse}{color}[]{\color{#1}}
5570\define@boolkey[al]{verse}{utf}[true]{} 5062\define@boolkey[al]{verse}{utf}[true]{}
5571\define@boolkey[al]{verse}{delim}[true]{} 5063\define@boolkey[al]{verse}{delim}[true]{}
5572\define@boolkey[al]{verse}{export}[true]{} 5064\define@boolkey[al]{verse}{export}[true]{}
5573\define@choicekey[al]{verse}{mode}{fullvoc, voc, novoc, 5065\define@choicekey[al]{verse}{mode}{fullvoc, voc, novoc,
5574 trans}{\def\al@mode{#1}} 5066 trans}{\def\al@mode{#1}}
5575\presetkeys[al]{verse}{metre={}, utf=false, 5067\presetkeys[al]{verse}{utf=false, delim=false}{}
5576 delim=false}{}
5577% \end{macrocode} 5068% \end{macrocode}
5578% Then follows the environment itself: 5069% Then follows the environment itself:
5579% \begin{macrocode} 5070% \begin{macrocode}
5580\NewDocumentEnvironment{arabverse}{!O{}}% 5071\NewDocumentEnvironment{arabverse}{!O{}}%
5581{\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, 5072{\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim,
5582 metre]{#1}% 5073 metre]{#1}%
5583 \if@pkg@export\ifal@verse@export% 5074 \if@pkg@export
5584 \ArbOutFile{\begin{arabverse}}% 5075 \ifal@verse@export
5585 % \ifx\al@mode\al@mode@trans% 5076 \ArbOutFile{\begin{arabverse}}%
5586 % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}% 5077 % \ifx\al@mode\al@mode@trans%
5587 % \else% 5078 % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}%
5588 \IfSubStr[1]{#1}{utf}% 5079 % \else%
5080 \IfSubStr[1]{#1}{utf}%
5589 {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}% 5081 {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}%
5590 {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}% 5082 {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}%
5591 % \fi 5083 % \fi
5592 \else\fi\else\fi\egroup% 5084 \else
5593 \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% 5085 \fi
5594 % \ifx\al@mode\al@mode@trans% 5086 \else
5595 % \ifal@verse@utf\setRL\else\setLR\fi% 5087 \fi
5596 % \else\setRL\fi% 5088 \egroup
5597 \ifal@verse@utf% 5089 \centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}%
5598 \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% 5090 % \ifx\al@mode\al@mode@trans%
5599 \else% 5091 % \ifal@verse@utf\setRL\else\setLR\fi%
5600 \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% 5092 % \else\setRL\fi%
5601 \fi% 5093 \ifal@verse@utf
5602 \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]
5603 }% 5101 }%
5604 {\endarab@v@export 5102 {\endarab@v@export
5605 \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 5103 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
5606 export]{#1}% 5104 export]{#1}%
5607 \egroup\par% 5105 \ifdefined\al@verse@metre@value\hfill\al@verse@metre@value\fi
5106 \egroup
5608 \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 5107 \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
5609 metre]{#1}% 5108 metre]{#1}%
5610 \if@pkg@export\ifal@verse@export% 5109 \if@pkg@export\ifal@verse@export
5611 \ArbOutFile{\end{arabverse}} 5110 \ArbOutFile{\end{arabverse}}%
5612 \else\fi\else\fi\egroup} 5111 \else\fi\else\fi\egroup}
5613% \end{macrocode} 5112% \end{macrocode}
5614% \begin{macro}{\bayt} 5113% \begin{macro}{\bayt}
5615% \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
@@ -5658,22 +5157,33 @@
5658\def\al@hemistich@delim{*} 5157\def\al@hemistich@delim{*}
5659\NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}} 5158\NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}}
5660\def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} 5159\def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt}
5661\NewDocumentCommand{\bayt}{s m o m}{% 5160\providebool{ekd@state}
5662 \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}%
5663 \ifdefined\savenotes\savenotes\else\fi% 5173 \ifdefined\savenotes\savenotes\else\fi%
5664 \edef\al@tatweel{--}% 5174 \edef\al@tatweel{--}%
5665 \ifal@warp@bayt% 5175 \ifal@warp@bayt%
5666 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}% 5176 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#3}}%
5667 \else% 5177 \else%
5668 \makebox[\al@bayt@width][s]{\arb@utf{#2}}% 5178 \makebox[\al@bayt@width][s]{\arb@utf{#3}}%
5669 \fi% 5179 \fi%
5670 \IfNoValueTF{#3}{% 5180 \IfNoValueTF{#4}{%
5671 \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}% 5181 \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}%
5672 \else% 5182 \else%
5673 \hspace{\al@gutter@width}% 5183 \hspace{\al@gutter@width}%
5674 \fi 5184 \fi
5675 }{% 5185 }{%
5676 \edef\@tempa{#3}% 5186 \edef\@tempa{#4}%
5677 \ifx\@tempa\al@tatweel% 5187 \ifx\@tempa\al@tatweel%
5678 \ifx\al@mode\al@mode@trans% 5188 \ifx\al@mode\al@mode@trans%
5679 \hspace{\al@gutter@width}% 5189 \hspace{\al@gutter@width}%
@@ -5683,17 +5193,17 @@
5683 \else% 5193 \else%
5684 \ifx\al@mode\al@mode@trans% 5194 \ifx\al@mode\al@mode@trans%
5685 \ifal@warp@bayt% 5195 \ifal@warp@bayt%
5686 \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#3}}% 5196 \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#4}}%
5687 \else% 5197 \else%
5688 \makebox[\al@gutter@width][s]{\arb@utf{#3}}% 5198 \makebox[\al@gutter@width][s]{\arb@utf{#4}}%
5689 \fi% 5199 \fi%
5690 \else% 5200 \else%
5691 \makebox[\al@gutter@width][s]{\arb@utf{#3}}% 5201 \makebox[\al@gutter@width][s]{\arb@utf{#4}}%
5692 \fi\fi}% 5202 \fi\fi}%
5693 \ifal@warp@bayt% 5203 \ifal@warp@bayt%
5694 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#4}}% 5204 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#5}}%
5695 \else% 5205 \else%
5696 \makebox[\al@bayt@width][s]{\arb@utf{#4}}% 5206 \makebox[\al@bayt@width][s]{\arb@utf{#5}}%
5697 \fi% 5207 \fi%
5698 \ifdefined\spewnotes\spewnotes\else\fi% 5208 \ifdefined\spewnotes\spewnotes\else\fi%
5699} 5209}
@@ -5930,14 +5440,37 @@
5930\NewDocumentEnvironment{arab@v@export}{O{} +b}{% 5440\NewDocumentEnvironment{arab@v@export}{O{} +b}{%
5931 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 5441 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
5932 metre]{#1} 5442 metre]{#1}
5933 \if@pkg@export\ifal@verse@export% 5443 \if@pkg@export
5934 \par 5444 \ifal@verse@export
5935 #2 5445 \ifekd@state
5936 \luadirect{arabluatex.doexport("arabverse")} 5446 \begin{ekdverse}[width=\al@verse@twidth]
5937 \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))} 5447 #2
5938 \luadirect{arabluatex.doexport("no")} 5448 \end{ekdverse}
5939 \else\par#2\fi\else\par#2\fi 5449 \else
5940}{\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}{}
5941% \end{macrocode} 5474% \end{macrocode}
5942% \end{environment} 5475% \end{environment}
5943% \begin{macro}{\arbpardir} 5476% \begin{macro}{\arbpardir}