diff options
author | Robert Alessi <alessi@robertalessi.net> | 2017-06-24 21:16:22 +0200 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2017-06-24 21:16:22 +0200 |
commit | db5c8d1fcfcd1b4398719c6de1e6cd78ab62c5f8 (patch) | |
tree | 2f4ef4c6e77f5c5f51834fe9c58f5b1236a4ea95 | |
parent | f573b41e7bf05c8ae3e3b28de9ad2af75b72e923 (diff) | |
download | arabluatex-db5c8d1fcfcd1b4398719c6de1e6cd78ab62c5f8.tar.gz |
new command \arbcolor which does the same as \textcolor in Arabic environments
-rw-r--r-- | arabluatex.dtx | 53 | ||||
-rw-r--r-- | arabluatex.lua | 6 |
2 files changed, 38 insertions, 21 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx index 4da2745..b323ada 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx | |||
@@ -227,7 +227,7 @@ | |||
227 | %</driver> | 227 | %</driver> |
228 | % \fi | 228 | % \fi |
229 | % | 229 | % |
230 | % \CheckSum{700} | 230 | % \CheckSum{0} |
231 | % | 231 | % |
232 | % \CharacterTable | 232 | % \CharacterTable |
233 | % {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 | 233 | % {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 |
@@ -2282,6 +2282,24 @@ word that \cs{arbnull} is applied to. | |||
2282 | %</example> | 2282 | %</example> |
2283 | % \fi | 2283 | % \fi |
2284 | % | 2284 | % |
2285 | % \paragraph{Color} | ||
2286 | % Here comes the example: | ||
2287 | % For example, to distinguish words with a different color, one may | ||
2288 | % proceed like so:--- | ||
2289 | % \iffalse | ||
2290 | %<*example> | ||
2291 | % \fi | ||
2292 | \begin{arabluacode} | ||
2293 | \begin{arab} | ||
2294 | _tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI | ||
2295 | \arbcolor{red}{\arb[fullvoc]{((ma.tli`-i 'l-^sams-i))}} | ||
2296 | wa-lA binA'-a la-hum yu'amminu-hum mina 'l-^sams-i. | ||
2297 | \end{arab} | ||
2298 | \end{arabluacode} | ||
2299 | % \iffalse | ||
2300 | %</example> | ||
2301 | % \fi | ||
2302 | % | ||
2285 | % \section{Transliteration} | 2303 | % \section{Transliteration} |
2286 | % \label{sec:transliteration} | 2304 | % \label{sec:transliteration} |
2287 | % It may be more appropriate to speak of \enquote{romanization} than | 2305 | % It may be more appropriate to speak of \enquote{romanization} than |
@@ -2794,23 +2812,7 @@ al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i | |||
2794 | % \DescribeMacro{\RL} \cs{RL}\marg{arg} does the same as | 2812 | % \DescribeMacro{\RL} \cs{RL}\marg{arg} does the same as |
2795 | % \cs{LR}\marg{arg}, but typesets its argument from right to left. Even | 2813 | % \cs{LR}\marg{arg}, but typesets its argument from right to left. Even |
2796 | % in an Arabic environment, this command may be useful. | 2814 | % in an Arabic environment, this command may be useful. |
2797 | % | 2815 | % |
2798 | % For example, to distinguish words with a different color, one may | ||
2799 | % proceed like so:--- | ||
2800 | % \iffalse | ||
2801 | %<*example> | ||
2802 | % \fi | ||
2803 | \begin{arabluacode} | ||
2804 | \begin{arab} | ||
2805 | _tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI | ||
2806 | \LR{\textcolor{red}{\arb[fullvoc]{((ma.tli`-i 'l-^sams-i))}}} | ||
2807 | wa-lA binA'-a la-hum yu'amminu-hum mina 'l-^sams-i. | ||
2808 | \end{arab} | ||
2809 | \end{arabluacode} | ||
2810 | % \iffalse | ||
2811 | %</example> | ||
2812 | % \fi | ||
2813 | % | ||
2814 | % \DescribeMacro{\LRfootnote} \DescribeMacro{\RLfootnote} | 2816 | % \DescribeMacro{\LRfootnote} \DescribeMacro{\RLfootnote} |
2815 | % \cs{LRfootnote}\marg{text} and \cs{RLfootnote}\marg{text} typeset | 2817 | % \cs{LRfootnote}\marg{text} and \cs{RLfootnote}\marg{text} typeset |
2816 | % left-to-right and right-to-left footnotes respectively in Arabic | 2818 | % left-to-right and right-to-left footnotes respectively in Arabic |
@@ -3461,6 +3463,21 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
3461 | \else \fi\fi\fi\fi}[\par] | 3463 | \else \fi\fi\fi\fi}[\par] |
3462 | % \end{macrocode} | 3464 | % \end{macrocode} |
3463 | % \end{environment} | 3465 | % \end{environment} |
3466 | % \begin{macro}{\arbcolor} | ||
3467 | % \changes{v1.8.6}{2017/06/25}{New \cs{arbcolor} command} | ||
3468 | % \cs{arbcolor} is the equivalent for the \cs{textcolor} command. Just | ||
3469 | % as the latter, it takes two mandatory arguments. Of course, | ||
3470 | % \cs{textcolor} must be defined for \cs{arbcolor} to work. | ||
3471 | % takes two mandatory arguments. | ||
3472 | % \begin{macrocode} | ||
3473 | \NewDocumentCommand{\arbcolor}{m m}{% | ||
3474 | \ifdefined\textcolor% | ||
3475 | \textcolor{#1}{#2}% | ||
3476 | \else\@gobble#1% | ||
3477 | \arb{#2} | ||
3478 | \fi} | ||
3479 | % \end{macrocode} | ||
3480 | % \end{macro} | ||
3464 | % \begin{environment}{arabverse} | 3481 | % \begin{environment}{arabverse} |
3465 | % \changes{v1.6}{2016/12/17}{New environment \texttt{arabverse} for | 3482 | % \changes{v1.6}{2016/12/17}{New environment \texttt{arabverse} for |
3466 | % typesetting Arabic poetry} The |arabverse| environment may receive | 3483 | % typesetting Arabic poetry} The |arabverse| environment may receive |
diff --git a/arabluatex.lua b/arabluatex.lua index ffdc7c7..c8011b1 100644 --- a/arabluatex.lua +++ b/arabluatex.lua | |||
@@ -73,12 +73,12 @@ local function breakcmd(str) | |||
73 | body = string.sub(body, 2, -2) | 73 | body = string.sub(body, 2, -2) |
74 | return string.format("}\\%s{%s}\\arb{", tag, body) | 74 | return string.format("}\\%s{%s}\\arb{", tag, body) |
75 | end) | 75 | end) |
76 | -- \textcolor | 76 | -- \arbcolor |
77 | str = string.gsub(str, "\\(textcolor.-)(%b{})(%b{})", | 77 | str = string.gsub(str, "\\(arbcolor.-)(%b{})(%b{})", |
78 | function(tag, bodycolor, bodytext) | 78 | function(tag, bodycolor, bodytext) |
79 | bodycolor = string.sub(bodycolor, 2, -2) | 79 | bodycolor = string.sub(bodycolor, 2, -2) |
80 | bodytext = string.sub(bodytext, 2, -2) | 80 | bodytext = string.sub(bodytext, 2, -2) |
81 | return string.format("}\\%s{%s}{\\arb{%s}}\\arb{", tag, bodycolor, bodytext) | 81 | return string.format("}\\textcolor{%s}{\\arb{%s}}\\arb{", bodycolor, bodytext) |
82 | end) | 82 | end) |
83 | -- Footnote | 83 | -- Footnote |
84 | str = string.gsub(str, "\\(Footnote.-)(%b{})", | 84 | str = string.gsub(str, "\\(Footnote.-)(%b{})", |