aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arabluatex.dtx102
1 files changed, 83 insertions, 19 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index 7bb8c5a..4b88bf9 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -27,7 +27,7 @@
27%<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01] 27%<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
28%<package-info>\ProvidesPackage{arabluatex} 28%<package-info>\ProvidesPackage{arabluatex}
29%<*package-info> 29%<*package-info>
30 [2018/02/12 v1.10.3 An ArabTeX-like interface for LuaLaTeX] 30 [2018/03/31 v1.11 An ArabTeX-like interface for LuaLaTeX]
31%</package-info> 31%</package-info>
32% 32%
33%<*driver> 33%<*driver>
@@ -155,7 +155,7 @@
155\defaultfontfeatures{RawFeature={+liga}} 155\defaultfontfeatures{RawFeature={+liga}}
156\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps}, 156\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps},
157 RawFeature={+mark;+ccmp;+ss05;+ss06}] 157 RawFeature={+mark;+ccmp;+ss05;+ss06}]
158\usepackage{arabluatex}[2018/02/12] 158\usepackage{arabluatex}[2018/03/31]
159\usepackage[nopar]{quran} 159\usepackage[nopar]{quran}
160\usepackage[noindex]{nameauth} 160\usepackage[noindex]{nameauth}
161\usepackage{varioref} 161\usepackage{varioref}
@@ -229,7 +229,7 @@
229%</driver> 229%</driver>
230% \fi 230% \fi
231% 231%
232% \CheckSum{0} 232% \CheckSum{728}
233% 233%
234% \CharacterTable 234% \CharacterTable
235% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z 235% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -2141,7 +2141,7 @@ word that \cs{arbnull} is applied to.
2141% \DescribeOption{utf} |utf|$=$|true|\verb+|+|false| 2141% \DescribeOption{utf} |utf|$=$|true|\verb+|+|false|
2142% \hfill\arabluaverb{Default: false}\\ As the preceding one, this 2142% \hfill\arabluaverb{Default: false}\\ As the preceding one, this
2143% named argument does not need a value as it defaults to |true| if it 2143% named argument does not need a value as it defaults to |true| if it
2144% is used. If so, unicode Arabic input is expected in the |arabverse| 2144% is used. If so, Unicode Arabic input is expected in the |arabverse|
2145% environment instead of \textsc{ascii} Arab\TeX\ or Buckwalter input 2145% environment instead of \textsc{ascii} Arab\TeX\ or Buckwalter input
2146% schemes. See \vref{sec:unicode-input} for more details. 2146% schemes. See \vref{sec:unicode-input} for more details.
2147% 2147%
@@ -2413,16 +2413,16 @@ word that \cs{arbnull} is applied to.
2413% 2413%
2414% \paragraph{Additional Arabic marks} 2414% \paragraph{Additional Arabic marks}
2415% In addition to common letters, many symbols and ligatures are 2415% In addition to common letters, many symbols and ligatures are
2416% encoded in the Arabic Unicode standard, such as honorifics 2416% encoded in Arabic Unicode standard, such as honorifics consisting of
2417% consisting of complex ligatures, and annotation signs used in the 2417% complex ligatures, and annotation signs used in the
2418% \arb[trans]{\uc{qur'An}} or in classical poetry. 2418% \arb[trans]{\uc{qur'An}} or in classical poetry.
2419% 2419%
2420% \DescribeMacro{\arbmark} 2420% \DescribeMacro{\arbmark}
2421% \NEWfeature{v1.11}\cs{arbmark}\marg{shorthand} can be used to insert 2421% \NEWfeature{v1.11}\cs{arbmark}\marg{shorthand} can be used to insert
2422% such characters either in unicode or in romanized Arabic 2422% such characters either in Unicode or in romanized Arabic
2423% environments. It takes as argument a shorthand defined beforehand in 2423% environments. It takes as argument a shorthand defined beforehand in
2424% a default list which consists of the following 2424% a default list which consists of the following
2425% at the time of writing:\\ 2425% at the time of writing:---\\
2426% \begin{longtable}{llp{.3\linewidth}p{.3\linewidth}} 2426% \begin{longtable}{llp{.3\linewidth}p{.3\linewidth}}
2427% \captionlistentry{Additional Arabic marks}\\[-1em] 2427% \captionlistentry{Additional Arabic marks}\\[-1em]
2428% \toprule 2428% \toprule
@@ -2441,6 +2441,70 @@ word that \cs{arbnull} is applied to.
2441% marks} 2441% marks}
2442% \end{longtable} 2442% \end{longtable}
2443% 2443%
2444% \DescribeMacro{\newarbmark} \NEWfeature{v1.11} \cs{newarbmark} is
2445% also provided should one wish to define new marks in addition to the
2446% marks defined above. This command takes three arguments, like so:---
2447% \arabluabox{\cs{newarbmark}\marg{shorthand}\marg{RTL
2448% codepoint}\marg{LTR rendition}}.
2449%
2450% As regards the right-to-left codepoint, it may be either typed in
2451% Unicode or selected as Unicode codepoint. To that end, the \LaTeX\
2452% command \arabluaverb{\symbol{"XYZT}} or its plain \TeX\ variant
2453% \arabluaverb{\char"XYZT\relax} may be used, where |XYZT| are
2454% uppercase hex digits (|0| to |9| or |A| to |F|).
2455%
2456% It is also possible to use the so-called `|^^^^| notation' like so:
2457% \arabluaverb{^^^^xyzt}, where |xyzt| are lowercase hex digits (|0|
2458% to |9| or |a| to |f|).
2459%
2460% As regards the third argument (left-to-right rendition), it may be
2461% either left empty or typed by means of
2462% \cs{arb}|[trans]|\marg{arabtex code} so as to have it printed in
2463% romanized Arabic.%
2464% \iffalse
2465%<*example>
2466% \fi
2467\begin{arabluacode}[text only]
2468 It must be noted that \cs{newarbmark} expects Arab\TeX\ input scheme
2469 inside \cs{arb}|[trans]{}| to the exclusion of \textsf{buckwalter}
2470 input scheme.
2471\end{arabluacode}
2472% \iffalse
2473%</example>
2474% \fi%
2475%
2476% The example below provides an implementation of this technique. It
2477% may be observed that \cs{textcolor} is used so as to have the marks
2478% printed in red:---%
2479% \iffalse
2480%<*example>
2481% \fi
2482\begin{arabluacode}
2483 \SetArbDflt*
2484 \newarbmark{sly}{\textcolor{red}{^^^^06d6}}{}
2485 \newarbmark{jim}{\textcolor{red}{^^^^06da}}{}
2486 \begin{arab}
2487 sUraTu 'l-nisA'i, 19:
2488 \end{arab}
2489 \begin{center}
2490 \begin{arab}
2491 \arbmark{bismillah}
2492 \end{arab}
2493 \end{center}
2494 \begin{arab}[fullvoc]
2495 y_a'ayyuhA 'lla_dIna 'a'manUA lA ya.hillu la-kum 'an tari_tUA
2496 'l-nisA'a karhaN\arbmark{sly} wa-lA ta`.dulU-hunna li-ta_dhabUA
2497 bi-ba`.di mA 'a'taytumU-hunna 'illA 'an ya'tIna bi-fA.hi^saTiN
2498 mubayyinaTiN\arbmark{jim} wa-`A^sirU-hunna
2499 bi-'l-ma`rUfi\arbmark{jim} fa-'in karihtumU-hunna fa-`as_A_a
2500 'an takrahUA ^say'aN wa-ya^g`ala 'l-l_ahu fI-hi _hayraN
2501 ka_tIraN ((19))
2502 \end{arab}
2503\end{arabluacode}
2504% \iffalse
2505%</example>
2506% \fi
2507%
2444% \section{Transliteration} 2508% \section{Transliteration}
2445% \label{sec:transliteration} 2509% \label{sec:transliteration}
2446% It may be more appropriate to speak of \enquote{romanization} than 2510% It may be more appropriate to speak of \enquote{romanization} than
@@ -2966,16 +3030,16 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
2966% \NEWfeature{v1.5} As said above in \vref{sec:buckwalter-scheme} 3030% \NEWfeature{v1.5} As said above in \vref{sec:buckwalter-scheme}
2967% about the Buckwalter input scheme, even though \package{arabluatex} 3031% about the Buckwalter input scheme, even though \package{arabluatex}
2968% is primarily designed to process the Arab\TeX\ notation, it also 3032% is primarily designed to process the Arab\TeX\ notation, it also
2969% accepts unicode Arabic input. It should be noted that 3033% accepts Unicode Arabic input. It should be noted that
2970% \package{arabluatex} does in no way interfere with unicode Arabic 3034% \package{arabluatex} does in no way interfere with Unicode Arabic
2971% input: none of the |voc|, |fullvoc|, |novoc| or |trans| options will 3035% input: none of the |voc|, |fullvoc|, |novoc| or |trans| options will
2972% have any effect on plain unicode Arabic for the time being. 3036% have any effect on plain Unicode Arabic for the time being.
2973% 3037%
2974% That said, there are two ways of inserting unicode 3038% That said, there are two ways of inserting Unicode
2975% Arabic: 3039% Arabic:
2976% \begin{compactenum}[(a)] 3040% \begin{compactenum}[(a)]
2977% \item \DescribeMacro{\txarb} The \cs{txarb}\marg{unicode Arabic} 3041% \item \DescribeMacro{\txarb} The \cs{txarb}\marg{Unicode Arabic}
2978% command for inserting unicode Arabic text in paragraphs; 3042% command for inserting Unicode Arabic text in paragraphs;
2979% \item The \DescribeEnv{txarab} |txarab| environment for inserting 3043% \item The \DescribeEnv{txarab} |txarab| environment for inserting
2980% running paragraphs of Arabic text, like so:---\\% 3044% running paragraphs of Arabic text, like so:---\\%
2981% \iffalse 3045% \iffalse
@@ -3379,7 +3443,7 @@ wa-ya.sIru ta.hta 'l-jild-i
3379% package} \package{arabluatex} is compatible with the \package{quran} 3443% package} \package{arabluatex} is compatible with the \package{quran}
3380% package so that both can be used in conjunction with one another for 3444% package so that both can be used in conjunction with one another for
3381% typesetting the \arb[trans]{\uc{qur'An}}. As \package{quran} draws 3445% typesetting the \arb[trans]{\uc{qur'An}}. As \package{quran} draws
3382% the text of the \arb[trans]{\uc{qur'An}} from a unicode encoded 3446% the text of the \arb[trans]{\uc{qur'An}} from a Unicode encoded
3383% database, its commands have to be passed as arguments to the 3447% database, its commands have to be passed as arguments to the
3384% \cs{txarb} command for short insertions in left-to-right paragraphs, 3448% \cs{txarb} command for short insertions in left-to-right paragraphs,
3385% or inserted inside the \index{txarab=txarab (environment)}|txarab| 3449% or inserted inside the \index{txarab=txarab (environment)}|txarab|
@@ -3453,7 +3517,7 @@ wa-ya.sIru ta.hta 'l-jild-i
3453% \begin{macrocode} 3517% \begin{macrocode}
3454\NeedsTeXFormat{LaTeX2e} 3518\NeedsTeXFormat{LaTeX2e}
3455\ProvidesPackage{arabluatex}% 3519\ProvidesPackage{arabluatex}%
3456[2018/02/12 v1.10.3 An ArabTeX-like interface for LuaLaTeX] 3520[2018/03/31 v1.11 An ArabTeX-like interface for LuaLaTeX]
3457\RequirePackage{ifluatex} 3521\RequirePackage{ifluatex}
3458% \end{macrocode} 3522% \end{macrocode}
3459% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning 3523% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning
@@ -3731,7 +3795,7 @@ wa-ya.sIru ta.hta 'l-jild-i
3731% \end{macro} 3795% \end{macro}
3732% \begin{environment}{txarab} 3796% \begin{environment}{txarab}
3733% \changes{v1.5}{2016/11/14}{New \texttt{txarab} environment for 3797% \changes{v1.5}{2016/11/14}{New \texttt{txarab} environment for
3734% typesetting running paragraphs in unicode Arabic} The |txarab| 3798% typesetting running paragraphs in Unicode Arabic} The |txarab|
3735% environment does for paragraphs the same as \cs{txarb} does for 3799% environment does for paragraphs the same as \cs{txarb} does for
3736% short insertions of |utf8| Arabic text. 3800% short insertions of |utf8| Arabic text.
3737% \begin{macrocode} 3801% \begin{macrocode}
@@ -3774,7 +3838,7 @@ wa-ya.sIru ta.hta 'l-jild-i
3774% \end{macrocode} 3838% \end{macrocode}
3775% \end{macro} 3839% \end{macro}
3776% \begin{macro}{\arbmark} 3840% \begin{macro}{\arbmark}
3777% \changes{v1.11}{2018/03/29}{New command for inserting additional 3841% \changes{v1.11}{2018/03/31}{New command for inserting additional
3778% marks in Arabic environments} \cs{arbmark} takes one argument from a 3842% marks in Arabic environments} \cs{arbmark} takes one argument from a
3779% list of defined elements. This command is coded in Lua. 3843% list of defined elements. This command is coded in Lua.
3780% \begin{macrocode} 3844% \begin{macrocode}
@@ -3786,7 +3850,7 @@ wa-ya.sIru ta.hta 'l-jild-i
3786% \end{macrocode} 3850% \end{macrocode}
3787% \end{macro} 3851% \end{macro}
3788% \begin{macro}{\newarbmark} 3852% \begin{macro}{\newarbmark}
3789% \changes{v1.11}{2018/03/29}{Allows defining additional sets of Arabic 3853% \changes{v1.11}{2018/03/31}{Allows defining additional sets of Arabic
3790% marks} \cs{newarbmark} lets the user define additional Arabic 3854% marks} \cs{newarbmark} lets the user define additional Arabic
3791% marks. As \cs{arbmark}, this command is coded in Lua. It takes 3855% marks. As \cs{arbmark}, this command is coded in Lua. It takes
3792% three arguments: the abbreviated form to be used as argument of 3856% three arguments: the abbreviated form to be used as argument of