diff options
Diffstat (limited to 'arabluatex.dtx')
-rw-r--r-- | arabluatex.dtx | 88 |
1 files changed, 47 insertions, 41 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx index e6b6e87..bb4658b 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx | |||
@@ -4081,6 +4081,7 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
4081 | \RequirePackage{xparse} | 4081 | \RequirePackage{xparse} |
4082 | \RequirePackage{environ} | 4082 | \RequirePackage{environ} |
4083 | \RequirePackage{adjustbox} | 4083 | \RequirePackage{adjustbox} |
4084 | \RequirePackage{xstring} | ||
4084 | % \end{macrocode} | 4085 | % \end{macrocode} |
4085 | % The following boolean will be set to |true| in |RL| mode: | 4086 | % The following boolean will be set to |true| in |RL| mode: |
4086 | % \begin{macrocode} | 4087 | % \begin{macrocode} |
@@ -4471,20 +4472,26 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
4471 | {\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, | 4472 | {\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, |
4472 | metre]{#1}% | 4473 | metre]{#1}% |
4473 | \if@pkg@export\ifal@verse@export% | 4474 | \if@pkg@export\ifal@verse@export% |
4474 | \ArbOutFile{\begin{arabverse}}% | 4475 | \ArbOutFile{\begin{arabverse}}% |
4475 | \luadirect{tooutfile(\luastringN{[#1]})}% | 4476 | \IfSubStr[1]{#1}{utf}% |
4476 | \else\fi\else\fi\egroup% | 4477 | {\luadirect{tooutfile(\luastringN{[#1]})}}% |
4478 | {\luadirect{tooutfile(\luastringN{[#1, utf]})}}% | ||
4479 | \else\fi\else\fi\egroup% | ||
4477 | \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% | 4480 | \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% |
4478 | \ifx\al@mode\al@mode@trans% | 4481 | \ifx\al@mode\al@mode@trans% |
4479 | \ifal@verse@utf\setRL\else\setLR\fi% | 4482 | \ifal@verse@utf\setRL\else\setLR\fi% |
4480 | \else\setRL\fi}% | 4483 | \else\setRL\fi% |
4481 | {\hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, | 4484 | \arab@v@export{#1} |
4482 | export]{#1}% | 4485 | }% |
4483 | \egroup\par% | 4486 | {\endarab@v@export |
4484 | \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, | 4487 | \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, |
4485 | metre]{#1}% | 4488 | export]{#1}% |
4486 | \if@pkg@export\ifal@verse@export% | 4489 | \egroup\par% |
4487 | \ArbOutFile{\end{arabverse}}\else\fi\else\fi\egroup} | 4490 | \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, |
4491 | metre]{#1}% | ||
4492 | \if@pkg@export\ifal@verse@export% | ||
4493 | \ArbOutFile{\end{arabverse}} | ||
4494 | \else\fi\else\fi\egroup} | ||
4488 | % \end{macrocode} | 4495 | % \end{macrocode} |
4489 | % \begin{macro}{\bayt} | 4496 | % \begin{macro}{\bayt} |
4490 | % \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting | 4497 | % \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting |
@@ -4510,25 +4517,20 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
4510 | \def\al@hemistich@delim{*} | 4517 | \def\al@hemistich@delim{*} |
4511 | \NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}} | 4518 | \NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}} |
4512 | \def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} | 4519 | \def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} |
4513 | \NewDocumentCommand{\bayt}{m o m}{% | 4520 | \NewDocumentCommand{\bayt}{s m o m}{% |
4514 | \if@pkg@export\ifal@verse@export% | 4521 | \IfBooleanTF{#1}{\relax}{\relax}% |
4515 | \luadirect{al_doexport("arabverse")}\else\fi\else\fi% | ||
4516 | {^^^^200b}% quick fix to a bug (or a missing feature) in either | 4522 | {^^^^200b}% quick fix to a bug (or a missing feature) in either |
4517 | % luacolor or adjustbox | 4523 | % luacolor or adjustbox |
4518 | \ifdefined\savenotes\savenotes\else\fi% | 4524 | \ifdefined\savenotes\savenotes\else\fi% |
4519 | \edef\al@tatweel{--}% | 4525 | \edef\al@tatweel{--}% |
4520 | \if@pkg@export\ifal@verse@export% | 4526 | \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}% |
4521 | \ArbOutFile{\bayt\@al@ob}\else\fi\else\fi% | 4527 | \IfNoValueTF{#3}{% |
4522 | \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#1}}% | ||
4523 | \if@pkg@export\ifal@verse@export% | ||
4524 | \ArbOutFile{\@al@cb}\else\fi\else\fi% | ||
4525 | \IfNoValueTF{#2}{% | ||
4526 | \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}% | 4528 | \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}% |
4527 | \else% | 4529 | \else% |
4528 | \hspace{\al@gutter@width}% | 4530 | \hspace{\al@gutter@width}% |
4529 | \fi | 4531 | \fi |
4530 | }{% | 4532 | }{% |
4531 | \edef\@tempa{#2}% | 4533 | \edef\@tempa{#3}% |
4532 | \ifx\@tempa\al@tatweel% | 4534 | \ifx\@tempa\al@tatweel% |
4533 | \ifx\al@mode\al@mode@trans% | 4535 | \ifx\al@mode\al@mode@trans% |
4534 | \hspace{\al@gutter@width}% | 4536 | \hspace{\al@gutter@width}% |
@@ -4537,29 +4539,15 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
4537 | \fi% | 4539 | \fi% |
4538 | \else% | 4540 | \else% |
4539 | \ifx\al@mode\al@mode@trans% | 4541 | \ifx\al@mode\al@mode@trans% |
4540 | \if@pkg@export\ifal@verse@export% | 4542 | \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#3}}% |
4541 | \ArbOutFile{[}\else\fi\else\fi% | ||
4542 | \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#2}}% | ||
4543 | \if@pkg@export\ifal@verse@export% | ||
4544 | \ArbOutFile{]}\else\fi\else\fi% | ||
4545 | \else% | 4543 | \else% |
4546 | \if@pkg@export\ifal@verse@export% | 4544 | \makebox[\al@gutter@width][s]{\arb@utf{#3}}% |
4547 | \ArbOutFile{[}\else\fi\else\fi% | ||
4548 | \makebox[\al@gutter@width][s]{\arb@utf{#2}}% | ||
4549 | \if@pkg@export\ifal@verse@export% | ||
4550 | \ArbOutFile{]}\else\fi\else\fi% | ||
4551 | \fi\fi}% | 4545 | \fi\fi}% |
4552 | \if@pkg@export\ifal@verse@export% | 4546 | \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#4}}% |
4553 | \ArbOutFile{\@al@ob}\else\fi\else\fi% | ||
4554 | \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#3}}% | ||
4555 | \if@pkg@export\ifal@verse@export% | ||
4556 | \ArbOutFile{\@al@cb\\ }\else\fi\else\fi% | ||
4557 | \ifdefined\spewnotes\spewnotes\else\fi% | 4547 | \ifdefined\spewnotes\spewnotes\else\fi% |
4558 | \if@pkg@export\ifal@verse@export% | ||
4559 | \luadirect{al_doexport("no")}\else\fi\else\fi% | ||
4560 | } | 4548 | } |
4561 | % \end{macrocode} | 4549 | % \end{macrocode} |
4562 | % \end{macro} | 4550 | % \end{macro} |
4563 | % \end{environment} | 4551 | % \end{environment} |
4564 | % \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument | 4552 | % \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument |
4565 | % in Arabic letters in accordance with the \arb[trans]{'abjad} | 4553 | % in Arabic letters in accordance with the \arb[trans]{'abjad} |
@@ -4691,8 +4679,26 @@ wa-ya.sIru ta.hta 'l-jild-i | |||
4691 | \BODY | 4679 | \BODY |
4692 | \luadirect{al_doexport("yes")} | 4680 | \luadirect{al_doexport("yes")} |
4693 | \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} | 4681 | \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} |
4682 | \luadirect{al_doexport("no")} | ||
4694 | \else\par\BODY\fi | 4683 | \else\par\BODY\fi |
4695 | }[\if@pkg@export\par\luadirect{al_doexport("no")}\else\par\fi] | 4684 | }[\par] |
4685 | % \end{macrocode} | ||
4686 | % \end{environment} | ||
4687 | % \begin{environment}{arab@v@export} The |arab@v@export| environment | ||
4688 | % does for |arabverse| the same as |arabexport|. It is used | ||
4689 | % internally by |arabverse|. | ||
4690 | % \begin{macrocode} | ||
4691 | \NewEnviron{arab@v@export}[1]{% | ||
4692 | \setkeys[al]{verse}[width, gutter, color, utf, delim, mode, | ||
4693 | metre]{#1} | ||
4694 | \if@pkg@export\ifal@verse@export% | ||
4695 | \par | ||
4696 | \BODY | ||
4697 | \luadirect{al_doexport("arabverse")} | ||
4698 | \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} | ||
4699 | \luadirect{al_doexport("no")} | ||
4700 | \else\par\BODY\fi\else\par\BODY\fi | ||
4701 | }[\par] | ||
4696 | % \end{macrocode} | 4702 | % \end{macrocode} |
4697 | % \end{environment} | 4703 | % \end{environment} |
4698 | % \begin{macro}{\arbpardir} | 4704 | % \begin{macro}{\arbpardir} |