diff options
Diffstat (limited to 'arabluatex.dtx')
-rw-r--r-- | arabluatex.dtx | 1389 |
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} | ||
461 | arabluatex -- ArabTeX for LuaLaTeX | ||
462 | ---------------------------------------------------------- | ||
463 | |||
464 | Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 | ||
465 | Robert Alessi <alessi@robertalessi.net> | ||
466 | |||
467 | Permission to use, copy, modify, and distribute this software for any | ||
468 | purpose with or without fee is hereby granted, provided that the above | ||
469 | copyright notice and this permission notice appear in all copies. | ||
470 | |||
471 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
472 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
473 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
474 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
475 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
476 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
477 | OR 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} |