diff options
-rw-r--r-- | arabluatex.dtx | 102 |
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 |